From 0e1250960e51b22b50cde428ea142bb61056dad2 Mon Sep 17 00:00:00 2001 From: oetiker Date: Mon, 16 May 2005 20:55:29 +0000 Subject: [PATCH] redo --disable-* options for python and tcl add some more quotes to protect potentially empty variables in tests which should make configure more robust. git-svn-id: svn://svn.oetiker.ch/rrdtool/branches/1.2/program@570 a5681a0c-68f1-0310-ab6d-d61299d08faa --- bindings/Makefile.am | 2 +- bindings/python/Makefile.am | 4 +++ bindings/tcl/Makefile.am | 2 +- configure.ac | 68 +++++++++++++++++++++++++-------------------- 4 files changed, 44 insertions(+), 32 deletions(-) diff --git a/bindings/Makefile.am b/bindings/Makefile.am index f1af1c5..57773b7 100644 --- a/bindings/Makefile.am +++ b/bindings/Makefile.am @@ -1,4 +1,4 @@ -SUBDIRS = tcl @PYTHON_DIR@ +SUBDIRS = tcl python # the following files are not mentioned in any other Makefile EXTRA_DIST = perl-piped/MANIFEST perl-piped/README perl-piped/Makefile.PL perl-piped/RRDp.pm perl-piped/t/base.t \ perl-shared/ntmake.pl perl-shared/MANIFEST perl-shared/README perl-shared/Makefile.PL perl-shared/RRDs.pm perl-shared/RRDs.xs perl-shared/t/base.t diff --git a/bindings/python/Makefile.am b/bindings/python/Makefile.am index ea62c62..ca6f762 100644 --- a/bindings/python/Makefile.am +++ b/bindings/python/Makefile.am @@ -2,6 +2,8 @@ AM_CPPFLAGS = @CFLAGS@ -I../../src @PYTHON_INCLUDES@ #pythondir = $(pyexecdir)/python@PYTHON_VERSION@/site-packages +if BUILD_PYTHON + python_PROGRAMS = rrdtoolmodule.so rrdtoolmodule_so_LDFLAGS = -module -shared -L../../src @@ -12,3 +14,5 @@ noinst_HEADERS = rrd_extra.h clean: rm -rf build + +endif diff --git a/bindings/tcl/Makefile.am b/bindings/tcl/Makefile.am index 7fd7012..872890e 100644 --- a/bindings/tcl/Makefile.am +++ b/bindings/tcl/Makefile.am @@ -18,7 +18,7 @@ AM_CPPFLAGS = -I$(TCL_PREFIX)/include -I$(SRC_DIR) -I$(GD_LIB_DIR) LIBDIRS = -L$(libdir) -L$(SRC_DIR) -L../src/.libs LIB_RUNTIME_DIR = $(libdir) -if COMP_TCL +if BUILD_TCL tclrrd$(TCL_SHLIB_SUFFIX): tclrrd.o $(TCL_SHLIB_LD) $(LIBDIRS) $< -o $@ -lrrd_private -lm diff --git a/configure.ac b/configure.ac index bab55cb..9f6d8ed 100644 --- a/configure.ac +++ b/configure.ac @@ -299,7 +299,7 @@ AM_CONDITIONAL(BUILD_MULTITHREAD,[test $enable_pthread != no]) dnl Check for Perl. AC_PATH_PROG(PERL, perl, no) -AC_ARG_ENABLE(perl,[ --disable-perl do not build the perl modules], +AC_ARG_ENABLE(perl,[ --disable-perl do not build the perl modules], [],[enable_perl=yes]) @@ -314,8 +314,8 @@ else perlcc=`$PERL -MConfig -e 'print $Config{cc}'` AC_MSG_RESULT($perlcc) if test ! -x "$perlcc"; then - AC_PATH_PROG(PERLCC, ${perlcc}, no) - if test "x$PERLCC" = "xno"; then + AC_PATH_PROG(PERLCC, "${perlcc}", no) + if test "$PERLCC" = "no"; then AC_MSG_WARN([ I would not find the Compiler ($perlcc) that was originally used to compile your perl binary. You should either make sure that this compiler is available on your @@ -332,7 +332,7 @@ AC_MSG_RESULT(${COMP_PERL:-No Perl Modules will be built}) # Options to pass when configuring perl module ppref=$prefix -test "x$ppref" = xNONE && ppref=$ac_default_prefix +test "$ppref" = "NONE" && ppref=$ac_default_prefix PERL_MAKE_OPTIONS="PREFIX=$ppref LIB=$ppref/lib/perl/$PERL_VERSION" @@ -358,29 +358,32 @@ AC_SUBST(PERL) AC_SUBST(COMP_PERL) AC_SUBST(PERL_VERSION) +AC_ARG_ENABLE(tcl,[ --disable-tcl do not build the tcl modules], +[],[enable_tcl=yes]) -dnl Check for Tcl. -withval="" -AC_ARG_WITH(tcllib,[ --with-tcllib=DIR location of the tclConfig.sh]) -found=0 -AC_MSG_CHECKING(for tclConfig.sh in $withval) -if test -f "$withval/tclConfig.sh" ; then +if test "$enable_tcl" = "yes"; then + dnl Check for Tcl. + withval="" + AC_ARG_WITH(tcllib,[ --with-tcllib=DIR location of the tclConfig.sh]) + enable_tcl=no + AC_MSG_CHECKING(for tclConfig.sh in $withval) + if test -f "$withval/tclConfig.sh" ; then tcl_config=$withval/tclConfig.sh - found=1 + enable_tcl=yes AC_MSG_RESULT(yes) break -else + else AC_MSG_RESULT(no) -fi + fi -if test $found -eq 0 ; then + if test "$enable_tcl" = "no"; then AC_MSG_WARN([tclConfig.sh not found - Tcl interface won't be built]) -else + else . $tcl_config + fi fi - -AM_CONDITIONAL(COMP_TCL, test x$found = x1 ) +AM_CONDITIONAL(BUILD_TCL, test "$enable_tcl" = "yes" ) AC_SUBST(TCL_PREFIX) AC_SUBST(TCL_SHLIB_CFLAGS) @@ -389,18 +392,23 @@ AC_SUBST(TCL_SHLIB_SUFFIX) AC_SUBST(TCL_PACKAGE_PATH) AC_SUBST(TCL_LD_SEARCH_FLAGS) +AC_ARG_ENABLE(python,[ --disable-python do not build the python modules], +[],[enable_python=yes]) + +if test "$enable_python" = "yes"; then dnl Check for python -AM_PATH_PYTHON(2.3,[PYTHON_DIR=python],[PYTHON_DIR='']) -AM_CHECK_PYTHON_HEADERS(,[PYTHON_DIR='';AC_MSG_WARN(could not find Python headers)]) -AC_SUBST(PYTHON_DIR) +AM_PATH_PYTHON(2.3,[],[enable_python=no]) +AM_CHECK_PYTHON_HEADERS(,[enable_python=no;AC_MSG_WARN(could not find Python headers)]) +fi +AM_CONDITIONAL(BUILD_PYTHON,[test "$enable_python" = "yes"]) dnl Check for nroff AC_PATH_PROGS(NROFF, gnroff nroff) AC_PATH_PROGS(TROFF, groff troff) dnl Does the compiler like -Wall and -pedantic? -if test "x$GCC" = "xyes"; then +if test "$GCC" = "yes"; then oCFLAGS=$CFLAGS CFLAGS="$CFLAGS -Wall -pedantic -Wshadow -Wpointer-arith -Wcast-align -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -Winline -W" AC_CACHE_CHECK(if we can use GCC-specific compiler options, rd_cv_gcc_opt, @@ -463,15 +471,15 @@ echo echo "----------------------------------------------------------------" echo "Config is DONE!" echo -echo " With MMAP IO: $ac_cv_func_mmap_fixed_mapped" -echo " Perl Modules: $COMP_PERL" -echo " Perl Binary: $PERL" -echo " Perl Version: $PERL_VERSION" -echo " Perl Options: $PERL_MAKE_OPTIONS" -echo " Tcl Config: $tcl_config" -echo " Python Version: $PYTHON_VERSION" -echo " Build rrdcgi: $enable_rrdcgi" -echo " Build librrd MT: $enable_pthread" +echo " With MMAP IO: $ac_cv_func_mmap_fixed_mapped" +echo " Perl Modules: $COMP_PERL" +echo " Perl Binary: $PERL" +echo " Perl Version: $PERL_VERSION" +echo " Perl Options: $PERL_MAKE_OPTIONS" +echo " Build Tcl Bindings: $enable_tcl" +echo " Build Python Bindings: $enable_python" +echo " Build rrdcgi: $enable_rrdcgi" +echo " Build librrd MT: $enable_pthread" echo echo echo "Type 'make' to compile the software and use 'make install' to " -- 2.11.0