]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/http_getter/configure.in
configuration improvements
[helm.git] / helm / http_getter / configure.in
index 38069607d7f73595b5680873a91ad25a5fce1c6e..7577ae7425e6bade8391864a41215dd5376a4660 100644 (file)
@@ -3,9 +3,18 @@ AC_INIT(http_getter.pl.in)
 PACKAGE=helm_http_getter
 MAJOR_VERSION=0
 MINOR_VERSION=0
-MICRO_VERSION=1
+MICRO_VERSION=2
 VERSION=$MAJOR_VERSION.$MINOR_VERSION.$MICRO_VERSION
 
+DEFAULT_HELM_LIB_DIR=/usr/local/helm/lib
+
+AC_ARG_ENABLE(
+       defaults,
+       [  --enable-defaults[=ARG] if yes then use defaults (don't ask user) [default=auto]],
+       USE_DEFAULTS=$enableval,
+       USE_DEFAULTS=auto
+)
+
 if test "x$prefix" != xNONE; then
   RESOLVED_PREFIX=$prefix
 else
@@ -18,32 +27,66 @@ else
   RESOLVED_EXEC_PREFIX=$RESOLVED_PREFIX
 fi
 
-AC_CHECK_PROG(HAVE_HELM_CONFIG, helm-config, yes, no)
-if test $HAVE_HELM_CONFIG = no; then
-  AC_MSG_ERROR(helm-config not found)
+if test $USE_DEFAULTS = auto; then
+       AC_CHECK_PROG(HAVE_HELM_CONFIG, helm-config, yes, no)
+       if test $HAVE_HELM_CONFIG = yes; then
+               HELM_LIB_DIR=`helm-config --lib-dir`
+       else
+               USE_DEFAULTS=no
+       fi
 fi
 
-dnl MISSING CHECKS:
-dnl perl-libwww-perl, perl-URI, MIME-Base64, perl-HTML-Parser, perl-XML-Parser, more...
-
-DEFAULT_HELM_LIB_DIR=`helm-config --lib-dir`
+if test $USE_DEFAULTS = no; then
+       echo
+       echo "\`helm-config' is not installed (or I can't find it in your path)."
+       echo "Please, insert the lib directory HELM..."
+       echo
+       echo -n "[[$DEFAULT_HELM_LIB_DIR]] ? "
+       read HELM_LIB_DIR
+       if test "x$HELM_LIB_DIR" = "x"; then
+               HELM_LIB_DIR=$DEFAULT_HELM_LIB_DIR
+       fi
+elif test $USE_DEFAULTS = yes; then
+       HELM_LIB_DIR=$DEFAULT_HELM_LIB_DIR
+fi
 
-AC_MSG_CHECKING("for configuration.pl")
-if test ! -f $DEFAULT_HELM_LIB_DIR/configuration.pl; then
-  AC_MSG_ERROR(Could not find configuration.pl in $DEFAULT_HELM_LIB_DIR, please check your installation)
+AC_MSG_CHECKING(for $HELM_LIB_DIR/configuration.pl)
+if test -f $HELM_LIB_DIR/configuration.pl; then
+       AC_MSG_RESULT(ok)
+else
+       AC_MSG_RESULT(no)
+       AC_MSG_ERROR(please check your installation)
 fi
-AC_MSG_RESULT(in $DEFAULT_HELM_LIB_DIR)
 
-AC_PATH_PROG(PERL_BINARY, perl, no)
+AC_PATH_PROG(PERL_BINARY,perl,no)
 if test $PERL_BINARY = no ; then
    AC_MSG_ERROR(Could not find perl)
 fi
 
+dnl Perl modules checks
+PERL_MODS="HTTP::Daemon HTTP::Status HTTP::Request LWP::UserAgent DB_File Compress::Zlib"
+PERL_INC=`perl -e 'print(join(" ",@INC))'`
+for perl_mod in $PERL_MODS; do
+       AC_MSG_CHECKING("for perl module: $perl_mod")
+       perl_mod_file=`echo $perl_mod | sed -e 's/::/\//' -e 's/$/\.pm/'`
+       module_found="false"
+       for perl_lib_dir in $PERL_INC; do
+               if test -f "$perl_lib_dir/$perl_mod_file"; then
+                       module_found="true"
+                       AC_MSG_RESULT("found in $perl_lib_dir")
+                       break
+               fi
+       done
+       if test "$module_found" != "true"; then
+               AC_MSG_ERROR("not found")
+       fi
+done
+
 AC_SUBST(PACKAGE)
 AC_SUBST(VERSION)
 AC_SUBST(RESOLVED_PREFIX)
 AC_SUBST(RESOLVED_EXEC_PREFIX)
-AC_SUBST(DEFAULT_HELM_LIB_DIR)
+AC_SUBST(HELM_LIB_DIR)
 AC_SUBST(PERL_BINARY)
 
 AC_OUTPUT([
@@ -51,3 +94,4 @@ AC_OUTPUT([
   http_getter.pl
   helm_http_getter.spec
 ], chmod +x http_getter.pl)
+