| From 23591404610b1eeffb69712d93c77c2327b9ef7a Mon Sep 17 00:00:00 2001 |
| From: Phillip Mienk <mienkphi@gmail.com> |
| 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 <romain.naour@openwide.fr> |
| --- |
| 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.h>], |
| - [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" |
| > |
| + |
| + <package_dependency name="zmq" pkg_name="libzmq" for_all="1" /> |
| + |
| <header name = "czmq" /> |
| <header name = "czmq_prelude" /> |
| |
| 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 |
| |