The following patch removes all dependencies to libapr when --enable-static-build is used in preparation for removing libapr (version 0.9.7) from srclib.
This allows for cleaner packaging by using the system provided libapr if available or one provided at compile time with --with-libapr that can be linked either statically or dynamically and will allow for the removal of all libapr0 compatibility code. This patch needs to be applied on top of the previous one to remove libconfuse and has been tested to build correctly with and without --enable-static-build in linux and cygwin. Beware that cygwin won't be able to generate working binaries for ganglia because of DSO linking problems in cygwin as reported in : http://www.mail-archive.com/[email protected]/msg03375.html Signed-off-by: Carlo Marcelo Arenas Belon <[EMAIL PROTECTED]> --- trunk/monitor-core/README.WIN | 18 +------ trunk/monitor-core/configure.in | 54 ++++++++----------- trunk/monitor-core/gmetad/Makefile.am | 7 +-- trunk/monitor-core/gmetric/Makefile.am | 6 +- trunk/monitor-core/gmond/Makefile.am | 8 ++-- trunk/monitor-core/gmond/modules/cpu/Makefile.am | 5 +- trunk/monitor-core/gmond/modules/disk/Makefile.am | 4 +- .../monitor-core/gmond/modules/example/Makefile.am | 5 +- .../monitor-core/gmond/modules/memory/Makefile.am | 5 +-- .../monitor-core/gmond/modules/network/Makefile.am | 5 +-- .../monitor-core/gmond/modules/python/Makefile.am | 5 +- .../monitor-core/gmond/modules/status/Makefile.am | 5 +- .../monitor-core/gmond/modules/system/Makefile.am | 4 +- trunk/monitor-core/lib/Makefile.am | 7 +-- trunk/monitor-core/srclib/Makefile.am | 7 +-- 15 files changed, 51 insertions(+), 94 deletions(-) diff --git a/trunk/monitor-core/README.WIN b/trunk/monitor-core/README.WIN index 242e6a8..0dabf27 100644 --- a/trunk/monitor-core/README.WIN +++ b/trunk/monitor-core/README.WIN @@ -10,7 +10,7 @@ instructions as in the UNIX platforms with some work arounds. Prerequisites ------------- -Latest version of Cygwin with the following packages: autoconf, automake, +Latest version of Cygwin with the following packages: apr1, autoconf, automake, bison, expat, diffutils, flex, gcc, libtool, make, sharutils, sunrpc and svn to checkout the source code. @@ -36,20 +36,6 @@ Go to libmetrics directory and type the following commands The steps above generates the configure file for libmetrics. -Download the APR project from http://apr.apache.org/download.cgi. Build -the project with the following commands. - - ./configure - make - make install - this command installs APR in the /usr/local directory. - -There is a older version of APR project in the srclib directory. Building -APR from the srclib would not work. - -copy all the .h files from /usr/lib/apr/include/apr-1 to /usr/local/include -cp /usr/local/apr/lib/libapr-1.a /usr/local/lib/ -cp /usr/local/apr/lib/libapr-1.la /usr/local/lib/ - Download libconfuse, build it and install the libconfuse library. ./configure make @@ -57,7 +43,7 @@ make install Go to the ganglia directory, and run the following command to build Ganglia -./configure --with-libapr=/usr/local/apr --with-libconfuse=/usr/local +./configure --with-libconfuse=/usr/local When the make command is executed, this command will fail at the rpcgen tool not able to generate the src files. This is because the rpcgen tool diff --git a/trunk/monitor-core/configure.in b/trunk/monitor-core/configure.in index 0f6304c..f0086e2 100644 --- a/trunk/monitor-core/configure.in +++ b/trunk/monitor-core/configure.in @@ -140,11 +140,6 @@ cd libmetrics && ./configure --cache-file=$ganglia_popdir/config.cache cd $ganglia_popdir if test x"$enable_static_build" = xyes ; then - - echo $ac_n "${nl}Configuring apr ...${nl}" - cd srclib/apr && ./configure --cache-file=$ganglia_popdir/config.cache --prefix=$prefix - cd $ganglia_popdir - modpathstart="#" fi @@ -277,36 +272,33 @@ dnl AC_CHECK_LIB(python{PyVERSION}, set_python_path, [echo "The ganglia python fi fi -AM_CONDITIONAL(USE_DYNAMIC_APR, test x$libapr = xyes) - if test x"$enable_static_build" = xno ; then + modpathstart="" +fi - echo - echo Checking for apr - if test x"$libaprpath" != x && test x"$libaprpath" != xyes ; then - CFLAGS="$CFLAGS -I$libaprpath/include" - LDFLAGS="$LDFLAGS -L$libaprpath/lib" - echo "Added -I$libaprpath/include to CFLAGS" - echo "Added -I$libaprpath/lib to LDLAGS" - else - AC_PATH_PROG(APR_CONFIG, apr-1-config) - if test -z "$APR_CONFIG"; then - AC_MSG_ERROR(apr-1-config binary not found in path) - fi - APR_INCLUDES=`$APR_CONFIG --includes` - AC_SUBST(APR_INCLUDES) - fi - - AC_CHECK_LIB(apr-1, apr_socket_send,,,[`$APR_CONFIG --link-ld --libs`]) - if test $ac_cv_lib_apr_1_apr_socket_send = yes; then - echo "The ganglia utilities use the Apache Portable Runtime functions (http://www.apache.org/)" - echo "Found a suitable libapr1 library" - else - echo "libapr not found" - exit; +echo +echo Checking for apr +if test x"$libaprpath" != x && test x"$libaprpath" != xyes ; then + CFLAGS="$CFLAGS -I$libaprpath/include" + LDFLAGS="$LDFLAGS -L$libaprpath/lib" + echo "Added -I$libaprpath/include to CFLAGS" + echo "Added -I$libaprpath/lib to LDLAGS" +else + AC_PATH_PROG(APR_CONFIG, apr-1-config) + if test -z "$APR_CONFIG"; then + AC_MSG_ERROR(apr-1-config binary not found in path) fi + APR_INCLUDES=`$APR_CONFIG --includes` + AC_SUBST(APR_INCLUDES) +fi - modpathstart="" +AC_CHECK_LIB(apr-1, apr_socket_send,,,[`$APR_CONFIG --link-ld --libs`]) +if test $ac_cv_lib_apr_1_apr_socket_send = yes; then + echo "The ganglia utilities use the Apache Portable Runtime functions (http://www.apache.org/)" + echo "Found a suitable libapr1 library" +else + echo "libapr not found" + exit; fi echo diff --git a/trunk/monitor-core/gmetad/Makefile.am b/trunk/monitor-core/gmetad/Makefile.am index addeb2c..9a29768 100644 --- a/trunk/monitor-core/gmetad/Makefile.am +++ b/trunk/monitor-core/gmetad/Makefile.am @@ -1,10 +1,9 @@ +GCFLAGS = +GLDADD = + if STATIC_BUILD -GCFLAGS = -I$(top_builddir)/srclib/apr/include/ -GLDADD = $(top_builddir)/srclib/apr/libapr-0.la GLDFLAGS = -static else -GCFLAGS = -GLDADD = GLDFLAGS = endif diff --git a/trunk/monitor-core/gmetric/Makefile.am b/trunk/monitor-core/gmetric/Makefile.am index 2d09965..51e4922 100644 --- a/trunk/monitor-core/gmetric/Makefile.am +++ b/trunk/monitor-core/gmetric/Makefile.am @@ -1,10 +1,10 @@ +GLDADD = + if STATIC_BUILD -GCFLAGS = -I$(top_builddir)/srclib/apr/include/ -GLDADD = $(top_builddir)/srclib/apr/libapr-0.la +GCFLAGS = GLDFLAGS = -static else GCFLAGS = -D_LARGEFILE64_SOURCE -GLDADD = GLDFLAGS = endif diff --git a/trunk/monitor-core/gmond/Makefile.am b/trunk/monitor-core/gmond/Makefile.am index 1def98d..767bcde 100644 --- a/trunk/monitor-core/gmond/Makefile.am +++ b/trunk/monitor-core/gmond/Makefile.am @@ -2,9 +2,9 @@ SUBDIRS = gstat modules python_modules EXTRA_DIST = gmond.aix.init gmond.init gmond.init.SuSE gmond.conf.5 gmond.conf.html conf.pod if STATIC_BUILD -GCFLAGS = -I$(top_builddir)/srclib/apr/include/ -GLDADD = $(top_builddir)/srclib/apr/libapr-0.la \ - modules/disk/mod_disk.lo modules/cpu/mod_cpu.lo modules/cpu/mod_load.lo \ +GCFLAGS = +GLDADD = modules/disk/mod_disk.lo\ + modules/cpu/mod_cpu.lo modules/cpu/mod_load.lo \ modules/memory/mod_mem.lo modules/network/mod_net.lo \ modules/system/mod_proc.lo modules/system/mod_sys.lo GLDFLAGS = -static -export-dynamic @@ -16,8 +16,8 @@ else GCFLAGS = -D_LARGEFILE64_SOURCE GLDADD = GLDFLAGS = -export-dynamic -INCLUDES = @APR_INCLUDES@ endif +INCLUDES = @APR_INCLUDES@ AM_CFLAGS = -I$(top_builddir)/lib -I$(top_builddir)/libmetrics/ $(GCFLAGS) diff --git a/trunk/monitor-core/gmond/modules/cpu/Makefile.am b/trunk/monitor-core/gmond/modules/cpu/Makefile.am index 71a4076..15f389e 100755 --- a/trunk/monitor-core/gmond/modules/cpu/Makefile.am +++ b/trunk/monitor-core/gmond/modules/cpu/Makefile.am @@ -1,7 +1,6 @@ AM_CFLAGS = -D_LARGEFILE64_SOURCE -I$(top_builddir)/gmond -I$(top_builddir)/libmetrics -I$(top_builddir)/lib if STATIC_BUILD -AM_CFLAGS += -I$(top_builddir)/srclib/apr/include/ noinst_LTLIBRARIES = libmodcpu.la libmodcpu_la_SOURCES = mod_cpu.c mod_load.c else @@ -20,6 +19,6 @@ modload_la_LIBADD = $(top_builddir)/libmetrics/libmetrics.la EXTRA_DIST = ../conf.d/multicpu.conf -INCLUDES = @APR_INCLUDES@ - endif + +INCLUDES = @APR_INCLUDES@ diff --git a/trunk/monitor-core/gmond/modules/disk/Makefile.am b/trunk/monitor-core/gmond/modules/disk/Makefile.am index 7b1631c..49e86ab 100755 --- a/trunk/monitor-core/gmond/modules/disk/Makefile.am +++ b/trunk/monitor-core/gmond/modules/disk/Makefile.am @@ -1,7 +1,6 @@ AM_CFLAGS = -D_LARGEFILE64_SOURCE -I$(top_builddir)/gmond -I$(top_builddir)/libmetrics -I$(top_builddir)/lib if STATIC_BUILD -AM_CFLAGS += -I$(top_builddir)/srclib/apr/include/ noinst_LTLIBRARIES = libmoddisk.la libmoddisk_la_SOURCES = mod_disk.c else @@ -9,7 +8,6 @@ pkglib_LTLIBRARIES = moddisk.la moddisk_la_SOURCES = mod_disk.c moddisk_la_LDFLAGS = -module moddisk_la_LIBADD = $(top_builddir)/libmetrics/libmetrics.la +endif INCLUDES = @APR_INCLUDES@ - -endif diff --git a/trunk/monitor-core/gmond/modules/example/Makefile.am b/trunk/monitor-core/gmond/modules/example/Makefile.am index 92b8d49..03c7f39 100755 --- a/trunk/monitor-core/gmond/modules/example/Makefile.am +++ b/trunk/monitor-core/gmond/modules/example/Makefile.am @@ -1,7 +1,6 @@ AM_CFLAGS = -D_LARGEFILE64_SOURCE -I$(top_builddir)/gmond -I$(top_builddir)/libmetrics -I$(top_builddir)/lib if STATIC_BUILD -AM_CFLAGS += -I$(top_builddir)/srclib/apr/include/ noinst_LTLIBRARIES = libmodexample.la libmodexample_la_SOURCES = mod_example.c else @@ -11,10 +10,10 @@ modexample_la_LDFLAGS = -module EXTRA_DIST = ../conf.d/example.conf -INCLUDES = @APR_INCLUDES@ - endif +INCLUDES = @APR_INCLUDES@ + install: echo echo "Examples should be installed manually" diff --git a/trunk/monitor-core/gmond/modules/memory/Makefile.am b/trunk/monitor-core/gmond/modules/memory/Makefile.am index e765d9d..1462f41 100755 --- a/trunk/monitor-core/gmond/modules/memory/Makefile.am +++ b/trunk/monitor-core/gmond/modules/memory/Makefile.am @@ -1,16 +1,13 @@ AM_CFLAGS = -D_LARGEFILE64_SOURCE -I$(top_builddir)/gmond -I$(top_builddir)/libmetrics -I$(top_builddir)/lib if STATIC_BUILD -AM_CFLAGS += -I$(top_builddir)/srclib/apr/include/ noinst_LTLIBRARIES = libmodmem.la libmodmem_la_SOURCES = mod_mem.c else pkglib_LTLIBRARIES = modmem.la - modmem_la_SOURCES = mod_mem.c modmem_la_LDFLAGS = -module modmem_la_LIBADD = $(top_builddir)/libmetrics/libmetrics.la +endif INCLUDES = @APR_INCLUDES@ - -endif diff --git a/trunk/monitor-core/gmond/modules/network/Makefile.am b/trunk/monitor-core/gmond/modules/network/Makefile.am index 998ffff..bd31052 100755 --- a/trunk/monitor-core/gmond/modules/network/Makefile.am +++ b/trunk/monitor-core/gmond/modules/network/Makefile.am @@ -1,16 +1,13 @@ AM_CFLAGS = -D_LARGEFILE64_SOURCE -I$(top_builddir)/gmond -I$(top_builddir)/libmetrics -I$(top_builddir)/lib if STATIC_BUILD -AM_CFLAGS += -I$(top_builddir)/srclib/apr/include/ noinst_LTLIBRARIES = libmodnet.la libmodnet_la_SOURCES = mod_net.c else pkglib_LTLIBRARIES = modnet.la - modnet_la_SOURCES = mod_net.c modnet_la_LDFLAGS = -module modnet_la_LIBADD = $(top_builddir)/libmetrics/libmetrics.la +endif INCLUDES = @APR_INCLUDES@ - -endif diff --git a/trunk/monitor-core/gmond/modules/python/Makefile.am b/trunk/monitor-core/gmond/modules/python/Makefile.am index 27cbc1a..02b7f73 100644 --- a/trunk/monitor-core/gmond/modules/python/Makefile.am +++ b/trunk/monitor-core/gmond/modules/python/Makefile.am @@ -1,7 +1,6 @@ AM_CFLAGS = -D_LARGEFILE64_SOURCE -I$(top_builddir)/gmond -I$(top_builddir)/libmetrics -I$(top_builddir)/lib if STATIC_BUILD -AM_CFLAGS += -I$(top_builddir)/srclib/apr/include/ @PYTHON_INCLUDES@ noinst_LTLIBRARIES = libmodpython.la libmodpython_la_SOURCES = mod_python.c else @@ -11,6 +10,6 @@ modpython_la_LDFLAGS = -module [EMAIL PROTECTED]@ EXTRA_DIST = ../conf.d/modpython.conf -INCLUDES = @APR_INCLUDES@ @PYTHON_INCLUDES@ - endif + +INCLUDES = @APR_INCLUDES@ @PYTHON_INCLUDES@ diff --git a/trunk/monitor-core/gmond/modules/status/Makefile.am b/trunk/monitor-core/gmond/modules/status/Makefile.am index 9bc3fe5..0302abc 100755 --- a/trunk/monitor-core/gmond/modules/status/Makefile.am +++ b/trunk/monitor-core/gmond/modules/status/Makefile.am @@ -1,7 +1,6 @@ AM_CFLAGS = -D_LARGEFILE64_SOURCE -I$(top_builddir)/gmond -I$(top_builddir)/libmetrics -I$(top_builddir)/lib if STATIC_BUILD -AM_CFLAGS += -I$(top_builddir)/srclib/apr/include/ noinst_LTLIBRARIES = libmodstatus.la libmodstatus_la_SOURCES = mod_gstatus.c else @@ -11,6 +10,6 @@ modgstatus_la_LDFLAGS = -module EXTRA_DIST = ../conf.d/modgstatus.conf -INCLUDES = @APR_INCLUDES@ - endif + +INCLUDES = @APR_INCLUDES@ diff --git a/trunk/monitor-core/gmond/modules/system/Makefile.am b/trunk/monitor-core/gmond/modules/system/Makefile.am index 453aa90..9c377af 100755 --- a/trunk/monitor-core/gmond/modules/system/Makefile.am +++ b/trunk/monitor-core/gmond/modules/system/Makefile.am @@ -1,7 +1,6 @@ AM_CFLAGS = -D_LARGEFILE64_SOURCE -I$(top_builddir)/gmond -I$(top_builddir)/libmetrics -I$(top_builddir)/lib if STATIC_BUILD -AM_CFLAGS += -I$(top_builddir)/srclib/apr/include/ noinst_LTLIBRARIES = libmodsys.la libmodsys_la_SOURCES = mod_proc.c mod_sys.c else @@ -14,7 +13,6 @@ modproc_la_LIBADD = $(top_builddir)/libmetrics/libmetrics.la modsys_la_SOURCES = mod_sys.c modsys_la_LDFLAGS = -module modsys_la_LIBADD = $(top_builddir)/libmetrics/libmetrics.la +endif INCLUDES = @APR_INCLUDES@ - -endif diff --git a/trunk/monitor-core/lib/Makefile.am b/trunk/monitor-core/lib/Makefile.am index a00d5b3..9678782 100644 --- a/trunk/monitor-core/lib/Makefile.am +++ b/trunk/monitor-core/lib/Makefile.am @@ -1,16 +1,15 @@ #SUFFIXES=.x #.c.x: rpcgen $< -if STATIC_BUILD -GCFLAGS = -I$(top_builddir)/srclib/apr/include/ -I$(top_builddir)/srclib/apr/include/arch/unix/ GLDADD = +if STATIC_BUILD +GCFLAGS = GLDFLAGS = -static else GCFLAGS = -D_LARGEFILE64_SOURCE -GLDADD = GLDFLAGS = -INCLUDES = @APR_INCLUDES@ endif +INCLUDES = @APR_INCLUDES@ AM_CFLAGS = -I.. -I. -I$(top_builddir)/libmetrics/ $(GCFLAGS) diff --git a/trunk/monitor-core/srclib/Makefile.am b/trunk/monitor-core/srclib/Makefile.am index 37d4f7d..d18006d 100644 --- a/trunk/monitor-core/srclib/Makefile.am +++ b/trunk/monitor-core/srclib/Makefile.am @@ -1,9 +1,4 @@ - -if STATIC_BUILD -SUBDIRS = apr -else -SUBDIRS = -endif +SUBDIRS = test: echo -- 1.5.3.7 ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ Ganglia-developers mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/ganglia-developers
