]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/interface/configure.in
Initial revision
[helm.git] / helm / interface / configure.in
index 1b8c3a1bd492daf5861a1e40a26cb83dcfa4a344..4dc7a6fecda401576f2336567a461b5ea0adb2e9 100644 (file)
@@ -6,6 +6,15 @@ MINOR_VERSION=0
 MICRO_VERSION=2
 VERSION=$MAJOR_VERSION.$MINOR_VERSION.$MICRO_VERSION
 
+DEFAULT_HELM_CONFIGURATION_DIR=/usr/local/etc/helm
+
+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
@@ -21,13 +30,18 @@ fi
 dnl The following is the directory where the binary will be installed
 BIN_DIR=$RESOLVED_EXEC_PREFIX/bin
 
+AC_PATH_PROG(WGET_BINARY,wget,no)
+if test $WGET_BINARY = no; then
+       AC_MSG_WARN(wget is required to update the database)
+fi
+
 AC_PATH_PROG(PERL_BINARY,perl,no)
 if test $PERL_BINARY = no ; then
    AC_MSG_ERROR(Could not find perl)
 fi
 
 dnl MISSING CHECKS:
-dnl ocaml-findlib, ocaml-netstring, ocaml-pxp
+dnl ocaml-findlib, ocaml-netstring, ocaml-pxp, ocaml-netclient
 
 dnl Check for Ocaml
 AC_CHECK_PROG(HAVE_OCAMLC, ocamlc, yes, no)
@@ -36,71 +50,141 @@ if test $HAVE_OCAMLC = "no"; then
 fi
 
 dnl Check for the Ocaml library dir
-AC_MSG_CHECKING("for the ocaml library dir")
+AC_MSG_CHECKING(for the ocaml library dir)
 OCAML_ROOT=`ocamlc -v | grep "^Standard" | sed 's/^.*: *//'`
 AC_MSG_RESULT($OCAML_ROOT)
 
+DEFAULT_MLMINIDOM_LIB_DIR=$OCAML_ROOT/mlminidom
+DEFAULT_LABLGTK_LIB_DIR=$OCAML_ROOT/lablgtk
+DEFAULT_LABLGTKMATHVIEW_LIB_DIR=$OCAML_ROOT/lablgtkmathview
+
 dnl Check for mlminidom
-AC_CHECK_FILE($OCAML_ROOT/mlminidom/minidom.mli,
-  RES="yes"
-  MLMINIDOM_LIB_DIR=$OCAML_ROOT/mlminidom,
-  RES="no"
-)
+DEFAULTS=$USE_DEFAULTS
+if test $DEFAULTS = auto; then
+       if test -f $DEFAULT_MLMINIDOM_LIB_DIR/minidom.mli; then
+               MLMINIDOM_LIB_DIR=$DEFAULT_MLMINIDOM_LIB_DIR
+       else
+               DEFAULTS=no
+       fi
+fi
 
-if test $RES = "no"; then
-  echo
-  echo "It seems that mlminidom isn't installed in the default directory"
-  echo "$OCAML_ROOT/mlminidom. Where can I find it?"
-  echo
-  AC_CACHE_VAL(mmlinterface_cv_MLMINIDOM_LIB_DIR,
-    read mmlinterface_cv_MLMINIDOM_LIB_DIR
-  )
-  MLMINIDOM_LIB_DIR=$mmlinterface_cv_MLMINIDOM_LIB_DIR
+if test $DEFAULTS = no; then
+       echo
+       echo "Where can I find the mlminidom library?"
+       echo
+       echo -n "[[$DEFAULT_MLMINIDOM_LIB_DIR]] ? "
+       echo
+       read MLMINIDOM_LIB_DIR
+       if test "x$MLMINIDOM_LIB_DIR" = x; then
+               MLMINIDOM_LIB_DIR=$DEFAULT_MLMINIDOM_LIB_DIR
+       fi
+elif test $DEFAULTS = yes; then
+       MLMINIDOM_LIB_DIR=$DEFAULT_MLMINIDOM_LIB_DIR
 fi
 
+AC_MSG_CHECKING(for $MLMINIDOM_LIB_DIR/minidom.mli)
+if test ! -f $MLMINIDOM_LIB_DIR/minidom.mli; then
+       AC_MSG_RESULT(no)
+       AC_MSG_ERROR(please check your installation)
+fi
+AC_MSG_RESULT(ok)
+
 dnl Check for lablgtk
-AC_CHECK_FILE($OCAML_ROOT/lablgtk/gtk.ml,
-  RES="yes"
-  LABLGTK_LIB_DIR=$OCAML_ROOT/lablgtk,
-  RES="no"
-)
+DEFAULTS=$USE_DEFAULTS
+if test $DEFAULTS = auto; then
+       if test -f $DEFAULT_LABLGTK_LIB_DIR/gtk.ml; then
+               LABLGTK_LIB_DIR=$DEFAULT_LABLGTK_LIB_DIR
+       else
+               DEFAULTS=no
+       fi
+fi
+
+if test $DEFAULTS = no; then
+       echo
+       echo "Where can I find the lablgtk library?"
+       echo
+       echo -n "[[$DEFAULT_LABLGTK_LIB_DIR]] ? "
+       read LABLGTK_LIB_DIR
+       echo
+       if test "x$LABLGTK_LIB_DIR" = x; then
+               LABLGTK_LIB_DIR=$DEFAULT_LABLGTK_LIB_DIR
+       fi
+elif test $DEFAULTS = yes; then
+       LABLGTK_LIB_DIR=$DEFAULT_LABLGTK_LIB_DIR
+fi
 
-if test $RES = "no"; then
-  echo
-  echo "It seems that lablgtk isn't installed in the default directory"
-  echo "$OCAML_ROOT/lablgtk. Where can I find it?"
-  echo
-  AC_CACHE_VAL(mmlinterface_cv_LABLGTK_LIB_DIR,
-    read mmlinterface_cv_LABLGTK_LIB_DIR
-  )
-  LABLGTK_LIB_DIR=$mmlinterface_cv_LABLGTK_LIB_DIR
+AC_MSG_CHECKING(for $LABLGTK_LIB_DIR/gtk.ml)
+if test ! -f $LABLGTK_LIB_DIR/gtk.ml; then
+       AC_MSG_RESULT(no)
+       AC_MSG_ERROR(please check your installation)
 fi
+AC_MSG_RESULT(ok)
 
 dnl Check for lablgtkmathview
-AC_CHECK_FILE($OCAML_ROOT/lablgtkmathview/gtkMathView.ml,
-  RES="yes"
-  LABLGTKMATHVIEW_LIB_DIR=$OCAML_ROOT/lablgtkmathview,
-  RES="no"
-)
+DEFAULTS=$USE_DEFAULTS
+if test $DEFAULTS = auto; then
+       if test -f $DEFAULT_LABLGTKMATHVIEW_LIB_DIR/gMathView.ml; then
+               LABLGTKMATHVIEW_LIB_DIR=$DEFAULT_LABLGTKMATHVIEW_LIB_DIR
+       else
+               DEFAULTS=no
+       fi
+fi
 
-if test $RES = "no"; then
-  echo
-  echo "It seems that lablgtkmathview isn't installed in the default directory"
-  echo "$OCAML_ROOT/lablgtkmathview. Where can I find it?"
-  echo
-  AC_CACHE_VAL(mmlinterface_cv_LABLGTKMATHVIEW_LIB_DIR,
-    read mmlinterface_cv_LABLGTKMATHVIEW_LIB_DIR
-  )
-  LABLGTKMATHVIEW_LIB_DIR=$mmlinterface_cv_LABLGTKMATHVIEW_LIB_DIR
+if test $DEFAULTS = no; then
+       echo
+       echo "Where can I find the lablgtkmathview library?"
+       echo
+       echo -n "[[$DEFAULT_LABLGTKMATHVIEW_LIB_DIR]] ? "
+       read LABLGTKMATHVIEW_LIB_DIR
+       echo
+       if test "x$LABLGTKMATHVIEW_LIB_DIR" = x; then
+               LABLGTKMATHVIEW_LIB_DIR=$DEFAULT_LABLGTKMATHVIEW_LIB_DIR
+       fi
+elif test $DEFAULTS = yes; then
+       LABLGTKMATHVIEW_LIB_DIR=$DEFAULT_LABLGTKMATHVIEW_LIB_DIR
 fi
 
+AC_MSG_CHECKING(for $LABLGTKMATHVIEW_LIB_DIR/gMathView.ml)
+if test ! -f $LABLGTKMATHVIEW_LIB_DIR/gMathView.ml; then
+       AC_MSG_RESULT(no)
+       AC_MSG_ERROR(please check your installation)
+fi
+AC_MSG_RESULT(ok)
+
 dnl Check for HELM
-AC_CHECK_PROG(HAVE_HELM_CONFIG, helm-config, yes, no)
-if test $HAVE_HELM_CONFIG = "no"; then
-  AC_MSG_ERROR(Could not find helm-config)
+DEFAULTS=$USE_DEFAULTS
+if test $DEFAULTS = auto; then
+       AC_CHECK_PROG(HAVE_HELM_CONFIG, helm-config, yes, no)
+       if test $HAVE_HELM_CONFIG = yes; then
+               HELM_CONFIGURATION_DIR=`helm-config --etc-dir`
+       else
+               DEFAULTS=no
+       fi
+fi
+
+if test $DEFAULTS = no; then
+       echo
+       echo "\`helm-config' is not installed (or I can't find it in your path)."
+       echo "Please, insert the directory where I can find the configuration"
+       echo "files for HELM (configuration.xml in particular)..."
+       echo
+       echo -n "[[$DEFAULT_HELM_CONFIGURATION_DIR]] ? "
+       read HELM_CONFIGURATION_DIR
+       echo
+       if test "x$HELM_CONFIGURATION_DIR" = "x"; then
+               HELM_CONFIGURATION_DIR=$DEFAULT_HELM_CONFIGURATION_DIR
+       fi
+elif test $DEFAULTS = yes; then
+       HELM_CONFIGURATION_DIR=$DEFAULT_HELM_CONFIGURATION_DIR
 fi
 
-HELM_DEFAULT_CONFIGURATION_DIR=`helm-config --etc-dir`
+AC_MSG_CHECKING(for configuration.xml)
+if test -f $HELM_CONFIGURATION_DIR/configuration.xml; then
+       AC_MSG_RESULT(ok)
+else
+       AC_MSG_RESULT(no)
+       AC_MSG_ERROR(please check your installation)
+fi
 
 AC_SUBST(PACKAGE)
 AC_SUBST(VERSION)
@@ -109,7 +193,7 @@ AC_SUBST(MLMINIDOM_LIB_DIR)
 AC_SUBST(LABLGTK_LIB_DIR)
 AC_SUBST(LABLGTKMATHVIEW_LIB_DIR)
 AC_SUBST(BIN_DIR)
-AC_SUBST(HELM_DEFAULT_CONFIGURATION_DIR)
+AC_SUBST(HELM_CONFIGURATION_DIR)
 AC_SUBST(PERL_BINARY)
 
 AC_OUTPUT([