2017-09-19 1 views
0

Ich habe ein Projekt mit zwei Modulen (Client und Server). Jedes Modul befindet sich in einem eigenen Unterordner mit einer eigenen Make-Datei. Ich habe einzelne configure.ac-Datei im Stammverzeichnis des Projekts.So definieren Sie eine separate Konfiguration für Teilprojekt

Wir verwenden AC_SEARCH_LIBS, um Kompilierungsflags für das Projekt festzulegen. Das Problem ist, dass beide Module unterschiedliche Bibliotheken verwenden müssen (Server benötigt Pthread, Client nicht).

Wie ist es möglich, verschiedene Kompilierungsmerker für die verschiedenen Module zu setzen?

Was ist die beste Vorgehensweise?

Muss ich configure.ac aufteilen? (Wenn ja, wie sollte es richtig gemacht werden)

Antwort

0

Es besteht keine Notwendigkeit, in mehrere configure.ac zu teilen.

Der Trick ist, verschiedene Substitutionsvariablen für jede Bibliothek zu erstellen, die Sie dann unabhängig

s in Ihrem Makefile.am können

configure.ac (Auszug):

AC_SEARCH_LIBS([fooFun], [foo], [FOO_LIBS="-lfoo"]) 
AC_SEARCH_LIBS([barFun], [bar], [BAR_LIBS="-lbar"]) 
AC_SEARCH_LIBS([bazFun], [baz], [BAZ_LIBS="-lbaz"]) 
AC_SUBST([FOO_LIBS]) 
AC_SUBST([BAR_LIBS]) 
AC_SUBST([BAZ_LIBS]) 

und Server/Makefile. bin (Auszug):

server_LDADD = @[email protected] @[email protected] 

resp. Client/Makefile.am (Auszug):

client_LDADD = @[email protected] 
Verwandte Themen