]> matita.cs.unibo.it Git - helm.git/blob - helm/software/configure.ac
This cast now works!
[helm.git] / helm / software / configure.ac
1 AC_INIT(matita/matitaTypes.ml)
2
3 # Distribution settings
4 # (i.e. settings (automatically) manipulated before a release)
5 DEBUG_DEFAULT="true"
6 DEFAULT_DBHOST="mysql://mowgli.cs.unibo.it"
7 RT_BASE_DIR_DEFAULT="`pwd`/matita"
8 MATITA_VERSION="0.2.0"
9 DISTRIBUTED="no"  # "yes" for distributed tarballs
10 # End of distribution settings
11
12 SRCROOT=`pwd`
13 AC_CHECK_PROG(HAVE_OCAMLC, ocamlc, yes, no)
14 if test $HAVE_OCAMLC = "no"; then
15   AC_MSG_ERROR(could not find ocamlc)
16 fi
17 AC_CHECK_PROG(HAVE_OCAMLOPT, ocamlopt, yes, no)
18 if test $HAVE_OCAMLOPT = "no"; then
19   AC_MSG_WARN(could not find ocamlopt: native code compilation disabled)
20 fi
21 AC_CHECK_PROG(HAVE_OCAMLFIND, ocamlfind, yes, no)
22 if test $HAVE_OCAMLFIND = "yes"; then
23   OCAMLFIND="ocamlfind"
24 else
25   AC_MSG_ERROR(could not find ocamlfind)
26 fi
27 AC_CHECK_PROG(HAVE_LABLGLADECC, lablgladecc2, yes, no)
28 if test $HAVE_LABLGLADECC = "yes"; then
29   LABLGLADECC="lablgladecc2"
30 else
31   AC_MSG_ERROR(could not find lablgladecc2)
32 fi
33 AC_CHECK_PROG(HAVE_CAMLP4O, camlp4o, yes, no)
34 if test $HAVE_CAMLP4O = "yes"; then
35   CAMLP4O="camlp4o"
36 else
37   AC_MSG_ERROR(could not find camlp4o)
38 fi
39
40 # look for METAS dir
41
42 LIBSPATH="`pwd`/components"
43 OCAMLPATH="$LIBSPATH/METAS"
44
45 # creating META.*
46
47 echo -n "creating METAs ... "
48 for f in $OCAMLPATH/meta.*.src; do
49   basename=`basename $f`
50   metaname=`echo $basename | sed 's/meta\.\(.*\)\.src/\1/'`
51   dirname=`echo $metaname | sed 's/^helm-//'`
52   metafile="$OCAMLPATH/META.$metaname"
53   cp $f $metafile
54   echo "directory=\"$LIBSPATH/$dirname\"" >> $metafile
55 done
56 echo "done"
57
58 # (libs) findlib requisites
59
60 FINDLIB_LIBSREQUIRES="\
61 expat \
62 gdome2 \
63 http \
64 lablgtk2 \
65 lablgtkmathview \
66 lablgtksourceview \
67 mysql \
68 netstring \
69 ulex \
70 zip \
71 "
72
73 # (Matita) findlib requisites
74
75 FINDLIB_COMREQUIRES="\
76 helm-cic_disambiguation \
77 helm-grafite \
78 helm-grafite_engine \
79 helm-tptp_grafite \
80 helm-grafite_parser \
81 helm-acic_procedural \
82 helm-content_pres \
83 helm-hgdome \
84 helm-tactics \
85 "
86 FINDLIB_CREQUIRES=" \
87 $FINDLIB_COMREQUIRES \
88 "
89 FINDLIB_REQUIRES="\
90 $FINDLIB_CREQUIRES \
91 lablgtk2.glade \
92 lablgtkmathview \
93 lablgtksourceview \
94 helm-xmldiff \
95 "
96 for r in $FINDLIB_LIBSREQUIRES $FINDLIB_REQUIRES
97 do
98   AC_MSG_CHECKING(for $r ocaml library)
99   if OCAMLPATH=$OCAMLPATH $OCAMLFIND query $r &> /dev/null; then
100     AC_MSG_RESULT(yes)
101   else
102     AC_MSG_ERROR(could not find $r ocaml library)
103   fi
104 done
105
106 OCAMLFIND_COMMANDS=""
107 # AC_CHECK_PROG(HAVE_OCAMLC_OPT, ocamlc.opt, yes, no)
108 # if test $HAVE_OCAMLC_OPT = "yes"; then
109 #   if test "$OCAMLFIND_COMMANDS" = ""; then
110 #     OCAMLFIND_COMMANDS="ocamlc=ocamlc.opt"
111 #   else
112 #     OCAMLFIND_COMMANDS="$OCAMLFIND_COMMANDS ocamlc=ocamlc.opt"
113 #   fi
114 # fi
115 # AC_CHECK_PROG(HAVE_OCAMLOPT_OPT, ocamlopt.opt, yes, no)
116 # if test $HAVE_OCAMLOPT_OPT = "yes"; then
117 #   if test "$OCAMLFIND_COMMANDS" = ""; then
118 #     OCAMLFIND_COMMANDS="ocamlopt=ocamlopt.opt"
119 #   else
120 #     OCAMLFIND_COMMANDS="$OCAMLFIND_COMMANDS ocamlopt=ocamlopt.opt"
121 #   fi
122 # fi
123 if test "$OCAMLFIND_COMMANDS" != ""; then
124   OCAMLFIND="OCAMLFIND_COMMANDS='$OCAMLFIND_COMMANDS' $OCAMLFIND"
125 fi
126
127 AC_MSG_CHECKING(--enable-debug argument)
128 AC_ARG_ENABLE(debug,
129   [  --enable-debug       Turn on debugging],
130   [GIVEN="yes";
131    case "${enableval}" in
132    yes) DEBUG=true ;;
133    no)  DEBUG=false ;;
134    *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug) ;;
135   esac],
136   [GIVEN="no"; DEBUG="$DEBUG_DEFAULT"])
137 MSG=$GIVEN
138 if test "$DEBUG" = "true"; then
139   MSG="$MSG, debugging enabled."
140 else
141   MSG="$MSG, debugging disabled."
142 fi
143 AC_MSG_RESULT($MSG)
144
145 AC_MSG_CHECKING(--with-runtime-dir argument)
146 AC_ARG_WITH(runtime-dir,
147   [  --with-runtime-dir      Runtime directory (current working directory if not given)],
148   [ RT_BASE_DIR="${withval}" ],
149   [ RT_BASE_DIR="$RT_BASE_DIR_DEFAULT" ])
150 MSG="$RT_BASE_DIR"
151 if test "yes" = "$RT_BASE_DIR"; then
152   MSG="
153 ** error:                                                                  **
154 **  empty --with-runtime-dir argument, please use --with-runtime-dir=value **"
155 fi
156 AC_MSG_RESULT($MSG)
157
158 AC_MSG_CHECKING(--with-dbhost argument)
159 AC_ARG_WITH(dbhost,
160   [  --with-dbhost           SQL database hostname],
161   [ DBHOST="${withval}" ],
162   [ DBHOST="$DEFAULT_DBHOST" ])
163 MSG="$DBHOST"
164 if test "yes" = "$DBHOST"; then
165   MSG="
166 ** error:                                                                  **
167 **  empty --with-dbhost argument, please use --with-dbhost=value           **"
168 fi
169 AC_MSG_RESULT($MSG)
170
171 AC_SUBST(CAMLP4O)
172 AC_SUBST(DBHOST)
173 AC_SUBST(DEBUG)
174 AC_SUBST(DISTRIBUTED)
175 AC_SUBST(FINDLIB_CREQUIRES)
176 AC_SUBST(FINDLIB_REQUIRES)
177 AC_SUBST(HAVE_OCAMLOPT)
178 AC_SUBST(LABLGLADECC)
179 AC_SUBST(MATITA_VERSION)
180 AC_SUBST(OCAMLFIND)
181 AC_SUBST(OCAMLPATH)
182 AC_SUBST(RT_BASE_DIR)
183 AC_SUBST(SRCROOT)
184 AC_SUBST(TRANSFORMER_MODULE)
185
186 AC_OUTPUT([
187   components/extlib/componentsConf.ml
188   matita/matita.conf.xml
189   matita/buildTimeConf.ml
190   matita/gtkmathview.matita.conf.xml
191   matita/help/C/version.txt
192   Makefile.defs
193 ])