From 23591404610b1eeffb69712d93c77c2327b9ef7a Mon Sep 17 00:00:00 2001 From: Phillip Mienk Date: Fri, 31 Oct 2014 00:55:35 -0700 Subject: [PATCH] Simply configure.ac to prevent contradictory discovery of libzmq. [Romain: rebase on top of 3.0.0] Signed-off-by: Romain Naour --- Makefile.am | 3 ++- addons/Makefile.am.supplement | 3 ++- configure.ac | 46 ++----------------------------------------- model/build-autoconf.gsl | 28 ++++++++++++++++++++++++++ model/project.xml | 3 +++ src/Makefile.am.supplement | 12 ++++++++++- 6 files changed, 48 insertions(+), 47 deletions(-) diff --git a/Makefile.am b/Makefile.am index 10f21fb..187c62b 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,7 +1,8 @@ ACLOCAL_AMFLAGS = -I config AM_CPPFLAGS = \ - -I$(srcdir)/include + ${zmq_CFLAGS} \ + -I$(srcdir)/include EXTRA_DIST = \ version.sh \ diff --git a/addons/Makefile.am.supplement b/addons/Makefile.am.supplement index 8800db4..74f0c60 100644 --- a/addons/Makefile.am.supplement +++ b/addons/Makefile.am.supplement @@ -4,7 +4,8 @@ EXTRA_DIST += \ bin_PROGRAMS += makecert makecert_LDADD = \ - libczmq.la + libczmq.la \ + ${zmq_LIBS} makecert_SOURCES = \ addons/makecert.c diff --git a/configure.ac b/configure.ac index 1a4667e..1ccae06 100755 --- a/configure.ac +++ b/configure.ac @@ -74,50 +74,8 @@ if test "x${CZMQ_GCOV}" == "xyes"; then fi fi -# Check for libzmq library -libzmq_prefix=detect -AC_ARG_WITH([libzmq], - [AS_HELP_STRING([--with-libzmq=PREFIX], - [build with ZeroMQ library installed in PREFIX [default=autodetect]])], - [case "x$withval" in - xno) - AC_MSG_ERROR([CZMQ requires the ZeroMQ library]) - ;; - xyes|x) - ;; - *) - CPPFLAGS="$CPPFLAGS -I${withval}/include" - LDFLAGS="$LDFLAGS -L${withval}/lib" - zeromq_prefix=${withval} - ;; - esac ] -) -if test "x$libzmq_prefix" = "xdetect"; then - PKG_CHECK_MODULES( - [ZeroMQ], [libzmq], [libzmq_prefix=pkgconfig], [libzmq_prefix=]) - if test "x$libzmq_prefix" = "xpkgconfig"; then - CPPFLAGS="$CPPFLAGS ${ZeroMQ_CFLAGS}" - LDFLAGS="$LDFLAGS ${ZeroMQ_LIBS}" - fi -fi - -if test "x$czmq_search_libzmq" = "xyes"; then - if test -r "${with_libzmq}/include/zmq.h"; then - CFLAGS="-I${with_libzmq}/include ${CFLAGS}" - LDFLAGS="-L${with_libzmq}/lib ${LDFLAGS}" - fi -fi - -AC_CHECK_HEADER([zmq.h], [], [AC_MSG_ERROR([cannot find zmq.h])]) - -AC_CHECK_LIB(zmq, zmq_init, ,[AC_MSG_ERROR([cannot link with -lzmq, install libzmq.])]) - -AC_MSG_CHECKING([whether libzmq installation works]) -AC_LINK_IFELSE([AC_LANG_PROGRAM([#include ], - [zmq_init(1);]) - ], - [AC_MSG_RESULT([yes])], - [AC_MSG_ERROR([no. Please specify libzmq installation prefix using --with-libzmq])]) +# Check for libzmq +PKG_CHECK_MODULES([zmq], [libzmq]) # Platform specific checks czmq_on_mingw32="no" diff --git a/model/build-autoconf.gsl b/model/build-autoconf.gsl index d012a3c..30aff14 100644 --- a/model/build-autoconf.gsl +++ b/model/build-autoconf.gsl @@ -46,12 +46,39 @@ lib$(project.name)_la_SOURCES = \\ bin_PROGRAMS = $(project.name)_selftest +$(project.name)_selftest_CPPFLAGS = \\ +.for package_dependency where defined (package_dependency.for_test) + \${$(package_dependency.name)_CFLAGS} \\ +.endfor + \${lib$(project.name)_la_CFLAGS} + $(project.name)_selftest_LDADD = \\ +.if count (package_dependency, defined (count.for_lib) | defined (count.for_test) | defined (count.for_all)) > 0 + lib$(project.name).la \\ +.else lib$(project.name).la +.endif +.for package_dependency where defined (package_dependency.for_lib) | defined (package_dependency.for_test) | defined (package_dependency.for_all) +. if last() + \${$(package_dependency.name)_LIBS} +. else + \${$(package_dependency.name)_LIBS} \\ +.endif +.endfor $(project.name)_selftest_SOURCES = \\ src/$(project.name)_selftest.c +lib$(project.name)_la_CPPFLAGS = \\ +.for package_dependency where defined (package_dependency.for_lib) +. if last() + \${$(package_dependency.name)_CFLAGS} +. else + \${$(package_dependency.name)_CFLAGS} \\ +. endif +.endfor + ${AM_CPPFLAGS} + lib$(project.name)_la_LDFLAGS = \\ -version-info @LTVER@ @@ -62,6 +89,7 @@ lib$(project.name)_la_LDFLAGS += \\ endif TESTS = $(project.name)_selftest + .for model . if first () diff --git a/model/project.xml b/model/project.xml index 91306cf..b7bab4a 100644 --- a/model/project.xml +++ b/model/project.xml @@ -2,6 +2,9 @@ name = "czmq" script = "project.gsl" > + + +
diff --git a/src/Makefile.am.supplement b/src/Makefile.am.supplement index 91e5b62..929aa07 100644 --- a/src/Makefile.am.supplement +++ b/src/Makefile.am.supplement @@ -95,12 +95,19 @@ libczmq_la_SOURCES = \ bin_PROGRAMS = czmq_selftest +czmq_selftest_CPPFLAGS = \ + ${src_libczmq_la_CFLAGS} + czmq_selftest_LDADD = \ - libczmq.la + libczmq.la \ + ${zmq_LIBS} czmq_selftest_SOURCES = \ src/czmq_selftest.c +libczmq_la_CPPFLAGS = \ + ${AM_CPPFLAGS} + libczmq_la_LDFLAGS = \ -version-info @LTVER@ @@ -112,6 +119,9 @@ endif TESTS = czmq_selftest +# define custom target for all products of /src +src: src/libczmq.la src/czmq_selftest + # Produce generated models; do this manually in src directory code: gsl -q src/sockopts.xml -- 1.9.3