From: Francesco Chemolli Date: Wed, 2 Dec 2009 13:50:58 +0000 (+0100) Subject: Factored out m4 method to look for modules. X-Git-Tag: SQUID_3_2_0_1~310^2~50 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=50fbcbd67157e3f9b672d06ee659d160420e3c17;p=thirdparty%2Fsquid.git Factored out m4 method to look for modules. Added CC and CXX to state save/commit/rollback helper. Removed redundant --enable-async-io configure argument --- diff --git a/acinclude/squid-util.m4 b/acinclude/squid-util.m4 index 0b34c42099..f73a8b146b 100644 --- a/acinclude/squid-util.m4 +++ b/acinclude/squid-util.m4 @@ -37,6 +37,8 @@ $1_CFLAGS="${CFLAGS}" $1_CXXFLAGS="${CXXFLAGS}" $1_LDFLAGS="${LDFLAGS}" $1_LIBS="${LIBS}" +$1_CC="${LIBS}" +$1_CXX="${LIBS}" $1_squid_saved_vars="$2" for squid_util_var_tosave in $2 do @@ -53,6 +55,8 @@ unset $1_CFLAGS unset $1_$CXXFLAGS unset $1_LDFLAGS unset $1_LIBS +unset $1_CC +unset $1_CXX for squid_util_var_tosave in $$1_squid_saved_vars do unset ${squid_util_var_tosave2} @@ -68,6 +72,8 @@ CFLAGS="${$1_CFLAGS}" CXXFLAGS="${$1_CXXFLAGS}" LDFLAGS="${$1_LDFLAGS}" LIBS="${$1_LIBS}" +CC="${$1_CC}" +CXX="${$1_CXX}" for squid_util_var_tosave in $$1_squid_saved_vars do squid_util_var_tosave2="$1_${squid_util_var_tosave}" @@ -76,3 +82,15 @@ done SQUID_STATE_COMMIT($1) ]) + +dnl look for modules in the base-directory supplied as argument. +dnl fill-in the variable pointed-to by the second argument with the space-separated +dnl list of modules +AC_DEFUN([SQUID_LOOK_FOR_MODULES],[ +for dir in $1/*; do + module="`basename $dir`" + if test -d "$dir" && test "$module" != CVS; then + $2="$$2 $module" + fi +done +]) diff --git a/configure.in b/configure.in index 2be89eff11..5aa741e355 100644 --- a/configure.in +++ b/configure.in @@ -453,84 +453,59 @@ AC_ARG_ENABLE(xmalloc-statistics, fi ]) -AC_ARG_ENABLE(async-io, - AS_HELP_STRING([--enable-async-io[=N_THREADS]],[Shorthand for "--with-aufs-threads=N_THREADS --with-pthreads - --enable-storeio=ufs,aufs"]), -[ case $enableval in - yes) - with_pthreads="yes" - STORE_MODULES="ufs aufs" - ;; - no) - ;; - *) - aufs_io_threads=$enableval - with_pthreads="yes" - STORE_MODULES="ufs aufs" - ;; - esac -]) - AC_ARG_WITH(aufs-threads, AS_HELP_STRING([--with-aufs-threads=N_THREADS],[Tune the number of worker threads for the aufs object store.]), [ case $withval in [[0-9]]*) - aufs_io_threads=$withval + squid_opt_aufs_threads=$withval ;; *) AC_MSG_ERROR(--with-aufs-threads expects a numeric argument) ;; esac ]) -if test "$aufs_io_threads"; then - AC_MSG_NOTICE([With $aufs_io_threads aufs threads]) - AC_DEFINE_UNQUOTED(AUFS_IO_THREADS,$aufs_io_threads, +if test "$squid_opt_aufs_threads"; then + AC_MSG_NOTICE([With $squid_opt_aufs_threads aufs threads]) + AC_DEFINE_UNQUOTED(AUFS_IO_THREADS,$squid_opt_aufs_threads, [Defines how many threads aufs uses for I/O]) fi -AC_ARG_WITH(dl, - AS_HELP_STRING([--with-dl],[Use dynamic linking])) +AC_ARG_WITH(dl, AS_HELP_STRING([--with-dl],[Use dynamic linking])) if test "$with_dl" = "yes"; then AC_MSG_NOTICE([With dl]) fi +squid_disk_module_candidates="" +squid_opt_enable_diskio=auto #values: 0(no), 1(yes), "auto"(=yes+detect modules) AC_ARG_ENABLE(disk-io, - AS_HELP_STRING([--enable-disk-io="list of modules"],[Build support for the list of disk I/O modules. - Set without a value or omitted, all available modules will be built. - See src/DiskIO for a list of available modules, or - Programmers Guide section on DiskIO - for details on how to build your custom disk module]), + AS_HELP_STRING([--enable-disk-io="list of modules"], + [Build support for the list of disk I/O modules. + Set without a value or omitted, all available modules will be built. + See src/DiskIO for a list of available modules, or + Programmers Guide section on DiskIO + for details on how to build your custom disk module]), [ case $enableval in yes) - for dir in $srcdir/src/DiskIO/*; do - module="`basename $dir`" - if test -d "$dir" && test "$module" != CVS; then - AC_MSG_NOTICE([Autodetected $module DiskIO module]) - MAYBE_DISK_MODULES="$MAYBE_DISK_MODULES $module" - fi - done - AC_DEFINE(USE_DISKIO,1,[DiskIO modules are expected to be available.]) + #do nothing, "auto" is ok ;; no) - AC_DEFINE(USE_DISKIO,0,[DiskIO modules are expected to be available.]) + squid_opt_enable_diskio=0 ;; *) - MAYBE_DISK_MODULES=" `echo $enableval| sed -e 's/,/ /g;s/ */ /g'` " - AC_DEFINE(USE_DISKIO,1,[DiskIO modules are expected to be available.]) + squid_opt_enable_diskio=1 + squid_disk_module_candidates=" `echo $enableval| sed -e 's/,/ /g;s/ */ /g'` " ;; esac -], -[ if test -z "$MAYBE_DISK_MODULES"; then - AC_MSG_NOTICE([Enabling all available DiskIO modules (default)...]) - for dir in $srcdir/src/DiskIO/*; do - module="`basename $dir`" - if test -d "$dir" && test "$module" != CVS; then - AC_MSG_NOTICE([Autodetected $module DiskIO module]) - MAYBE_DISK_MODULES="$MAYBE_DISK_MODULES $module" - fi - done - AC_DEFINE(USE_DISKIO,1,[DiskIO modules are expected to be available.]) -fi ]) +]) + +if test $squid_opt_enable_diskio = "auto"; then + squid_opt_enable_diskio=1 + AC_MSG_CHECKING([for available DiskIO modules]) + SQUID_LOOK_FOR_MODULES([$srcdir/src/DiskIO],[squid_disk_module_candidates]) + AC_MSG_RESULT([$squid_disk_module_candidates]) +fi +AC_DEFINE_UNQUOTED([USE_DISKIO],[$squid_opt_enable_diskio], + [DiskIO modules are expected to be available.]) dnl Some autoconf.h defines we might enable later... AC_DEFINE(USE_DISKIO_AIO, 0, [Whether POSIX AIO support is needed. Automatic]) @@ -549,7 +524,7 @@ DISK_LIBS= DISK_OS_LIBS= DISK_MODULES= DISK_LINKOBJS= -for module in $MAYBE_DISK_MODULES none; do +for module in $squid_disk_module_candidates none; do if test "$module" = "none"; then continue fi