X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Finterface%2Fconfigure.in;h=4dc7a6fecda401576f2336567a461b5ea0adb2e9;hb=5a369548a2f04fb59b5cbb94526325aae9bf415a;hp=29f38aa9a2f8642f2bbf8272e4e9546d906f6f06;hpb=7f3a235e11d077b83e0f9293e5e7612db450ae33;p=helm.git diff --git a/helm/interface/configure.in b/helm/interface/configure.in index 29f38aa9a..4dc7a6fec 100644 --- a/helm/interface/configure.in +++ b/helm/interface/configure.in @@ -1,4 +1,19 @@ -AC_INIT(etc/configuration.xml.in) +AC_INIT(configuration.ml.in) + +PACKAGE=helm_gtk_interface +MAJOR_VERSION=0 +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 @@ -12,135 +27,180 @@ else RESOLVED_EXEC_PREFIX=$RESOLVED_PREFIX fi -dnl General -AC_MSG_CHECKING("for the lib/helm dir") -HELM_LIB_DIR=$RESOLVED_EXEC_PREFIX/lib/helm -AC_MSG_RESULT($HELM_LIB_DIR) +dnl The following is the directory where the binary will be installed +BIN_DIR=$RESOLVED_EXEC_PREFIX/bin -AC_MSG_CHECKING("for the etc/helm dir") -HELM_ETC_DIR=$RESOLVED_PREFIX/etc/helm -AC_MSG_RESULT($HELM_ETC_DIR) +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_MSG_CHECKING("for the lib/helm dir") -HELM_SHARE_DIR=$RESOLVED_PREFIX/share/helm -AC_MSG_RESULT($HELM_SHARE_DIR) +AC_PATH_PROG(PERL_BINARY,perl,no) +if test $PERL_BINARY = no ; then + AC_MSG_ERROR(Could not find perl) +fi -dnl Only for GtkMathview XML configuration -HELM_DICTIONARY_PATH=$HELM_ETC_DIR/helm-dictionary.xml +dnl MISSING CHECKS: +dnl ocaml-findlib, ocaml-netstring, ocaml-pxp, ocaml-netclient -AC_CHECK_PROG(HAVE_GTKMATHVIEW_CONFIG,gtkmathview-config,yes,no) -if test $HAVE_GTKMATHVIEW_CONFIG = no ; then - AC_MSG_ERROR(Could not find gtkmathview-config) +dnl Check for Ocaml +AC_CHECK_PROG(HAVE_OCAMLC, ocamlc, yes, no) +if test $HAVE_OCAMLC = "no"; then + AC_MSG_ERROR(could not find ocamlc in PATH, please make sure ocaml is installed) fi -GTKMATHVIEW_PREFIX=`gtkmathview-config --prefix` -AC_MSG_CHECKING("for dictionary.xml") -AC_CACHE_VAL(helm_cv_GTKMATHVIEW_DICTIONARY_PATH, - helm_cv_GTKMATHVIEW_DICTIONARY_PATH=$GTKMATHVIEW_PREFIX/share/gtkmathview/dictionary.xml - if test ! -f $helm_cv_GTKMATHVIEW_DICTIONARY_PATH ; then - echo "" - AC_MSG_WARN(Could not find dictionary.xml. Where is it?) - read helm_cv_GTKMATHVIEW_DICTIONARY_PATH - RES="Asked" - fi -) -GTKMATHVIEW_DICTIONARY_PATH=$helm_cv_GTKMATHVIEW_DICTIONARY_PATH -if test "$RES" != "Asked" ; then - AC_MSG_RESULT($GTKMATHVIEW_DICTIONARY_PATH) -fi -AC_CACHE_SAVE - -AC_MSG_CHECKING("for font-configuration.xml") -RES="" -AC_CACHE_VAL(helm_cv_GTKMATHVIEW_FONT_CONFIGURATION_PATH, - helm_cv_GTKMATHVIEW_FONT_CONFIGURATION_PATH=$GTKMATHVIEW_PREFIX/share/gtkmathview/font-configuration.xml - if test ! -f $helm_cv_GTKMATHVIEW_FONT_CONFIGURATION_PATH ; then - echo "" - AC_MSG_WARN(Could not find font-configuration.xml. Where is it?) - read helm_cv_GTKMATHVIEW_FONT_CONFIGURATION_PATH - RES="Asked" - fi -) -GTKMATHVIEW_FONT_CONFIGURATION_PATH=$helm_cv_GTKMATHVIEW_FONT_CONFIGURATION_PATH -if test "$RES" != "Asked" ; then - AC_MSG_RESULT($GTKMATHVIEW_FONT_CONFIGURATION_PATH) -fi -AC_CACHE_SAVE - -AC_MSG_CHECKING("for t1.config") -RES="" -AC_CACHE_VAL(helm_cv_GTKMATHVIEW_T1_CONFIG_FILE, - helm_cv_GTKMATHVIEW_T1_CONFIG_FILE=$GTKMATHVIEW_PREFIX/share/gtkmathview/t1.config - if test ! -f $helm_cv_GTKMATHVIEW_T1_CONFIG_FILE ; then - echo "" - AC_MSG_WARN(Could not find t1.config. Where is it?) - read helm_cv_GTKMATHVIEW_T1_CONFIG_FILE - RES="Asked" - fi -) -GTKMATHVIEW_T1_CONFIG_FILE=$helm_cv_GTKMATHVIEW_T1_CONFIG_FILE -if test "$RES" != "Asked" ; then - AC_MSG_RESULT($GTKMATHVIEW_T1_CONFIG_FILE) +dnl Check 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 +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 -AC_CACHE_SAVE -HELM_FONT_CONFIGURATION_PATH=$HELM_ETC_DIR/helm-font-configuration.xml +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 -dnl Only for HELM XML configuration +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 +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 -AC_MSG_CHECKING("for the library path") -RES="" -AC_CACHE_VAL(helm_cv_HELM_LIBRARY_DIR, - echo "Where should I put the downloaded library? Note: the \"library\" subdirectory and all the files and subdirectories recursively in it should be world writeable" - read helm_cv_HELM_LIBRARY_DIR - RES="Asked" -) -HELM_LIBRARY_DIR=$helm_cv_HELM_LIBRARY_DIR -if test "$RES" != "Asked" ; then - HELM_LIBRARY_DIR=`eval "echo $HELM_LIBRARY_DIR"` - AC_MSG_RESULT($HELM_LIBRARY_DIR) +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 -AC_CACHE_SAVE +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 +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 -CONFIGURATION_HELM_DIR=$HELM_LIBRARY_DIR/library +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 -dnl CSC: ERROR: getters should download the DTDs -CONFIGURATION_DTD_DIR=$HELM_SHARE_DIR/dtd +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 +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 -CONFIGURATION_SERVERS_FILE=$HELM_LIBRARY_DIR/servers.txt -CONFIGURATION_URIS_DBM=$HELM_LIBRARY_DIR/urls_of_uris +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 -AC_MSG_CHECKING("for the tmp dir") -RES="" -if test -d "/tmp" ; then - CONFIGURATION_TMPDIR=/tmp +AC_MSG_CHECKING(for configuration.xml) +if test -f $HELM_CONFIGURATION_DIR/configuration.xml; then + AC_MSG_RESULT(ok) else - AC_MSG_WARN(Could not find /tmp. What directory could I use instead?) - read $CONFIGURATION_TMPDIR - RES="Asked" -fi -if test "$RES" != "Asked" ; then - AC_MSG_RESULT($CONFIGURATION_TMPDIR) -fi - -AC_SUBST(HELM_LIB_DIR) -AC_SUBST(HELM_ETC_DIR) -AC_SUBST(HELM_LIBRARY_DIR) -AC_SUBST(HELM_DICTIONARY_PATH) -AC_SUBST(GTKMATHVIEW_DICTIONARY_PATH) -AC_SUBST(HELM_FONT_CONFIGURATION_PATH) -AC_SUBST(GTKMATHVIEW_FONT_CONFIGURATION_PATH) -AC_SUBST(GTKMATHVIEW_T1_CONFIG_FILE) -AC_SUBST(CONFIGURATION_HELM_DIR) -AC_SUBST(CONFIGURATION_DTD_DIR) -AC_SUBST(CONFIGURATION_SERVERS_FILE) -AC_SUBST(CONFIGURATION_URIS_DBM) -AC_SUBST(CONFIGURATION_TMPDIR) - -AC_OUTPUT( -[Makefile - lib/configuration.pl - etc/helm-math-engine-configuration.xml - etc/configuration.xml -]) + AC_MSG_RESULT(no) + AC_MSG_ERROR(please check your installation) +fi + +AC_SUBST(PACKAGE) +AC_SUBST(VERSION) +AC_SUBST(OCAML_ROOT) +AC_SUBST(MLMINIDOM_LIB_DIR) +AC_SUBST(LABLGTK_LIB_DIR) +AC_SUBST(LABLGTKMATHVIEW_LIB_DIR) +AC_SUBST(BIN_DIR) +AC_SUBST(HELM_CONFIGURATION_DIR) +AC_SUBST(PERL_BINARY) + +AC_OUTPUT([ + Makefile + configuration.ml + helm_wget + helm_gtk_interface.spec +], + chmod +x helm_wget +)