Makefile cleanups. don't link cec-client and cec-config against libudev and liblockdev
authorLars Op den Kamp <lars@opdenkamp.eu>
Thu, 21 Jun 2012 13:39:08 +0000 (15:39 +0200)
committerLars Op den Kamp <lars@opdenkamp.eu>
Thu, 21 Jun 2012 13:47:22 +0000 (15:47 +0200)
configure.ac
src/cec-config/Makefile.am
src/lib/Makefile.am
src/testclient/Makefile.am

index ba40f03f9443def488fb922592c5ce9e97123da4..3098d003fcf7889fa6758095f2a07c8f61a841c0 100644 (file)
@@ -1,15 +1,44 @@
-AC_INIT([libcec], 1:7:0)
+AC_PREREQ(2.59)
+AC_INIT([libcec], [1:7:0], [http://libcec.pulse-eight.com/])
 AM_INIT_AUTOMAKE(AC_PACKAGE_NAME, AC_PACKAGE_VERSION)
 
 AC_PROG_CXX
 AC_PROG_LIBTOOL
 
+# search for pthread, required by all targets
+AC_SEARCH_LIBS([pthread_create],[pthread],,
+  AC_MSG_ERROR("required library 'pthread' is missing"))
+
+# search for dlopen, required by all targets
+AC_SEARCH_LIBS([dlopen], [dl],
+  [test "$ac_cv_search_dlopen" = "none required" || LIBS_DL=$ac_cv_search_dlopen],
+  AC_MSG_ERROR("required library 'dl' is missing"))
+
+
+# platform specific libs, required by all targets
+case "${host}" in
+  *-*-linux*)
+    LIBS+=" -lrt"
+    ;;
+  *-apple-darwin*)
+    ;;
+  *-freebsd*)
+    ;;
+esac
+
+libs_client=$LIBS
+
+# search for udev and lockdev, only required by libCEC
 has_libudev="yes"
 case "${host}" in
   *-*-linux*)
-    PKG_CHECK_MODULES([UDEV],[libudev],,[has_libudev="no"]; AC_MSG_WARN("library 'udev' is missing - adapter detection will not be available"))
-    AC_CHECK_HEADER(lockdev.h,, AC_MSG_ERROR("required library 'liblockdev' is missing"))
-    LIBS+=" -lrt -llockdev"
+    PKG_CHECK_MODULES([UDEV],[libudev],,
+      [has_libudev="no"]; AC_MSG_WARN("library 'udev' is missing - adapter detection will not be available"))
+
+    AC_CHECK_HEADER(lockdev.h,,
+      AC_MSG_ERROR("required library 'liblockdev' is missing"))
+
+    LIBS+=" -llockdev"
     ;;
   *-apple-darwin*)
     has_libudev="no";
@@ -20,23 +49,20 @@ case "${host}" in
     ;;
 esac
 
+# mark udev as available if it was found, so we can include adapter autodetection code
 if test "x$has_libudev" != "xno"; then
   INCLUDES="$INCLUDES $UDEV_CFLAGS";LIBS="$LIBS $UDEV_LIBS"
   AC_DEFINE([HAVE_LIBUDEV],[1],["Define to 1 if libudev is installed"])
   REQUIRES="udev"
 fi
 
-AC_SEARCH_LIBS([pthread_create],[pthread],, AC_MSG_ERROR("required library 'pthread' is missing"))
-
-libs_pre_dl=$LIBS
-  AC_SEARCH_LIBS(dlopen, [dl],
-    [test "$ac_cv_search_dlopen" = "none required" || LIBS_DL=$ac_cv_search_dlopen],
-    AC_MSG_ERROR("required library 'dl' is missing"))
-  AC_SUBST([LIBS_DL])
-LIBS=$libs_pre_dl
+LIBS_LIBCEC=$LIBS
+LIBS=$libs_client
 
 CXXFLAGS="-fPIC -Wall -Wextra -Wno-missing-field-initializers $CXXFLAGS"
 
-AC_SUBST(REQUIRES)
+AC_SUBST([REQUIRES])
+AC_SUBST([LIBS])
+AC_SUBST([LIBS_LIBCEC])
 AC_CONFIG_FILES([src/lib/libcec.pc])
 AC_OUTPUT([Makefile src/lib/Makefile src/testclient/Makefile src/cec-config/Makefile])
index a6c6c393d13af441e0b61369e86f1c9af59edb9d..da7b89b6e14c9701690b6fe8d094532f7570eb48 100644 (file)
@@ -2,4 +2,4 @@ bin_PROGRAMS = cec-config
 cec_config_SOURCES = cec-config.cpp
 
 cec_config_CPPFLAGS = -I@abs_top_srcdir@/include
-cec_config_LDFLAGS = @LIBS_DL@
\ No newline at end of file
+cec_config_LDFLAGS = @LIBS@
index 30637f2920a091df0e365a4486d8a5fa62906b50..3d34f83c3b035610538198c688b012f81d8f338f 100644 (file)
@@ -35,5 +35,5 @@ libcec_la_SOURCES = CECProcessor.cpp \
                     platform/adl/adl-edid.cpp \
                     platform/nvidia/nv-edid.cpp
  
-libcec_la_LDFLAGS = @LIBS@ -version-info @VERSION@
+libcec_la_LDFLAGS = @LIBS_LIBCEC@ -version-info @VERSION@
 libcec_la_CPPFLAGS = -I@abs_top_srcdir@/include
index 726cf621d352212e7b03306d8d975f1f263387bb..d613d6ddc40262778bf0e0ec8a7f395d36d9289a 100644 (file)
@@ -2,4 +2,4 @@ bin_PROGRAMS = cec-client
 cec_client_SOURCES = main.cpp
 
 cec_client_CPPFLAGS = -I@abs_top_srcdir@/include
-cec_client_LDFLAGS = @LIBS_DL@
\ No newline at end of file
+cec_client_LDFLAGS = @LIBS@