I think I have everything working now using your patches.  I am just doing 
some final testing before checking everything in and removing /srclib 
completely.  I will also update the README to describe how to build statically.

Brad

>>> On 3/13/2008 at 10:20 AM, in message <[EMAIL PROTECTED]>, Carlo
Marcelo Arenas Belon <[EMAIL PROTECTED]> wrote:
> 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




-------------------------------------------------------------------------
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

Reply via email to