Imported GNU Classpath 0.90
[official-gcc.git] / libjava / classpath / m4 / acinclude.m4
blob1c5f9c70f1ce71e8a3cd2f55aeb8c86f95833aaa
1 dnl Used by aclocal to generate configure
3 dnl -----------------------------------------------------------
4 AC_DEFUN([CLASSPATH_FIND_JAVAC],
6   user_specified_javac=
8   CLASSPATH_WITH_GCJ
9   CLASSPATH_WITH_JIKES
10   CLASSPATH_WITH_KJC
11   CLASSPATH_WITH_GCJX
12   CLASSPATH_WITH_ECJ
14   if test "x${user_specified_javac}" = x; then
15     AM_CONDITIONAL(FOUND_GCJ, test "x${GCJ}" != x)
16     AM_CONDITIONAL(FOUND_JIKES, test "x${JIKES}" != x)
17     AM_CONDITIONAL(FOUND_ECJ, test "x${ECJ}" != x)
18   else
19     AM_CONDITIONAL(FOUND_GCJ, test "x${user_specified_javac}" = xgcj)
20     AM_CONDITIONAL(FOUND_JIKES, test "x${user_specified_javac}" = xjikes)
21     AM_CONDITIONAL(FOUND_ECJ, test "x${user_specified_javac}" = xecj)
22   fi
23   AM_CONDITIONAL(FOUND_KJC, test "x${user_specified_javac}" = xkjc)
24   AM_CONDITIONAL(FOUND_GCJX, test "x${user_specified_javac}" = xgcjx)
26   if test "x${GCJ}" = x && test "x${JIKES}" = x && test "x${user_specified_javac}" != xkjc && test "x${user_specified_javac}" != xgcjx && test "x${user_specified_javac}" != xecj; then
27       # FIXME: use autoconf error function
28       echo "configure: cannot find javac, try --with-gcj, --with-jikes, --with-kjc, --with-ecj, or --with-gcjx" 1>&2
29       exit 1    
30   fi
33 dnl -----------------------------------------------------------
34 AC_DEFUN([CLASSPATH_WITH_GCJ],
36   AC_ARG_WITH([gcj],
37               [AS_HELP_STRING(--with-gcj,bytecode compilation with gcj)],
38   [
39     if test "x${withval}" != x && test "x${withval}" != xyes && test "x${withval}" != xno; then
40       CLASSPATH_CHECK_GCJ(${withval})
41     else
42       if test "x${withval}" != xno; then
43         CLASSPATH_CHECK_GCJ
44       fi
45     fi
46     user_specified_javac=gcj
47   ],
48   [
49     CLASSPATH_CHECK_GCJ
50   ])
51   AC_SUBST(GCJ)
54 dnl -----------------------------------------------------------
55 AC_DEFUN([CLASSPATH_CHECK_GCJ],
57   if test "x$1" != x; then
58     if test -f "$1"; then
59       GCJ="$1"
60     else
61       AC_PATH_PROG(GCJ, "$1")
62     fi
63   else
64     AC_PATH_PROG(GCJ, "gcj")
65   fi  
66   dnl Test the given GCJ, but use it as C (!) compiler to check version
67   if test "x$GCJ" != x; then
68     AC_MSG_CHECKING([gcj version 4.0])
69     AC_LANG_PUSH([C])
70     AC_LANG_CONFTEST(
71     [[#if __GNUC__ <= 3
72     #error GCJ 4.0.0 or higher is required
73     #endif
74     ]])
75     $GCJ -E conftest.c > /dev/null
76     gcj_4_result=$?
77     if test "x$gcj_4_result" = "x0"; then
78       AC_MSG_RESULT([4.0 or higher found])
79     else
80       AC_MSG_WARN([4.0 or higher required])
81     fi
82     AC_LANG_POP
83   fi 
86 dnl -----------------------------------------------------------
87 AC_DEFUN([CLASSPATH_WITH_JIKES],
89   AC_ARG_WITH([jikes],
90               [AS_HELP_STRING(--with-jikes,bytecode compilation with jikes)],
91   [
92     if test "x${withval}" != x && test "x${withval}" != xyes && test "x${withval}" != xno; then
93       CLASSPATH_CHECK_JIKES(${withval})
94     else
95       if test "x${withval}" != xno; then
96         CLASSPATH_CHECK_JIKES
97       fi
98     fi
99     user_specified_javac=jikes
100   ],
101   [ 
102     CLASSPATH_CHECK_JIKES
103   ])
104   AC_SUBST(JIKES)
107 dnl -----------------------------------------------------------
108 AC_DEFUN([CLASSPATH_CHECK_JIKES],
110   if test "x$1" != x; then
111     if test -f "$1"; then
112       JIKES="$1"
113     else
114       AC_PATH_PROG(JIKES, "$1")
115     fi
116   else
117     AC_PATH_PROG(JIKES, "jikes")
118   fi
119   if test "x$JIKES" != "x"; then
120     dnl Require at least version 1.19
121     AC_MSG_CHECKING(jikes version)
122     JIKES_VERSION=`$JIKES --version | awk '/^Jikes Compiler/' | cut -d ' ' -f 5`
123     JIKES_VERSION_MAJOR=`echo "$JIKES_VERSION" | cut -d '.' -f 1`
124     JIKES_VERSION_MINOR=`echo "$JIKES_VERSION" | cut -d '.' -f 2`
125     if expr "$JIKES_VERSION_MAJOR" = 1 > /dev/null; then
126       if expr "$JIKES_VERSION_MINOR" \< 19 > /dev/null; then
127         JIKES=""
128       fi
129     fi
130     if test "x$JIKES" != "x"; then
131       AC_MSG_RESULT($JIKES_VERSION)
132     else
133       AC_MSG_WARN($JIKES_VERSION: jikes 1.19 or higher required)
134     fi
136     JIKESENCODING=
137     if test -n "`$JIKES --help 2>&1 | grep encoding`"; then
138       JIKESENCODING='-encoding UTF-8'
139     fi
140     AC_SUBST(JIKESENCODING)
142     JIKESWARNINGS="+Pno-switchcheck"
143     if test "x$JIKES_VERSION_MAJOR" = x"1" ; then
144       if ! test "x$JIKES_VERSION_MINOR" = x"19"; then
145         JIKESWARNINGS="$JIKESWARNINGS +Pno-shadow"
146       fi
147     fi
148     AC_SUBST(JIKESWARNINGS)
150   fi
153 dnl -----------------------------------------------------------
154 AC_DEFUN([CLASSPATH_WITH_KJC],
156   AC_ARG_WITH([kjc], 
157               [AS_HELP_STRING(--with-kjc,bytecode compilation with kjc)],
158   [
159     if test "x${withval}" != x && test "x${withval}" != xyes && test "x${withval}" != xno; then
160       CLASSPATH_CHECK_KJC(${withval})
161     else
162       if test "x${withval}" != xno; then
163         CLASSPATH_CHECK_KJC
164       fi
165     fi
166     user_specified_javac=kjc
167   ],
168   [ 
169     CLASSPATH_CHECK_KJC
170   ])
171   AC_SUBST(KJC)
174 dnl -----------------------------------------------------------
175 AC_DEFUN([CLASSPATH_CHECK_KJC],
177   if test "x$1" != x; then
178     if test -f "$1"; then
179       KJC="$1"
180     else
181       AC_PATH_PROG(KJC, "$1")
182     fi
183   else
184     AC_PATH_PROG(KJC, "kJC")
185   fi
188 dnl -----------------------------------------------------------
189 AC_DEFUN([CLASSPATH_WITH_GCJX],
191   AC_ARG_WITH([gcjx], 
192               [AS_HELP_STRING(--with-gcjx,bytecode compilation with gcjx)],
193   [
194     if test "x${withval}" != x && test "x${withval}" != xyes && test "x${withval}" != xno; then
195       CLASSPATH_CHECK_GCJX(${withval})
196     else
197       if test "x${withval}" != xno; then
198         CLASSPATH_CHECK_GCJX
199       fi
200     fi
201     user_specified_javac=gcjx
202   ],
203   [ 
204     CLASSPATH_CHECK_GCJX
205   ])
206   AC_SUBST(GCJX)
209 dnl -----------------------------------------------------------
210 AC_DEFUN([CLASSPATH_CHECK_GCJX],
212   if test "x$1" != x; then
213     if test -f "$1"; then
214       GCJX="$1"
215     else
216       AC_PATH_PROG(GCJX, "$1")
217     fi
218   else
219     AC_PATH_PROG(GCJX, "gcjx")
220   fi
223 dnl -----------------------------------------------------------
224 AC_DEFUN([CLASSPATH_WITH_JAVAH],
226   AC_ARG_WITH([javah],
227               [AS_HELP_STRING(--with-javah,specify path or name of a javah-like program)],
228   [
229     if test "x${withval}" != x && test "x${withval}" != xyes && test "x${withval}" != xno; then
230       CLASSPATH_CHECK_JAVAH(${withval})
231     else
232       CLASSPATH_CHECK_JAVAH
233     fi
234   ],
235   [ 
236     CLASSPATH_CHECK_JAVAH
237   ])
238   AM_CONDITIONAL(USER_SPECIFIED_JAVAH, test "x${USER_JAVAH}" != x)
239   AC_SUBST(USER_JAVAH)
242 dnl -----------------------------------------------------------
243 dnl Checking for a javah like program 
244 dnl -----------------------------------------------------------
245 AC_DEFUN([CLASSPATH_CHECK_JAVAH],
247   if test "x$1" != x; then
248     if test -f "$1"; then
249       USER_JAVAH="$1"
250     else
251       AC_PATH_PROG(USER_JAVAH, "$1")
252     fi
253   else
254     for javah_name in gcjh javah; do
255       AC_PATH_PROG(USER_JAVAH, "$javah_name")
256       if test "x${USER_JAVAH}" != x; then
257         break
258       fi
259     done
260   fi
261   
262 #  if test "x${USER_JAVAH}" = x; then
263 #    echo "configure: cannot find javah" 1>&2
264 #    exit 1
265 #  fi
268 dnl -----------------------------------------------------------
269 dnl CLASSPATH_WITH_CLASSLIB - checks for user specified classpath additions
270 dnl -----------------------------------------------------------
271 AC_DEFUN([CLASSPATH_WITH_CLASSLIB],
273   AC_ARG_WITH([classpath],
274               [AS_HELP_STRING(--with-classpath,specify path to a classes.zip like file)],
275   [
276     if test "x${withval}" = xyes; then
277       # set user classpath to CLASSPATH from env
278       AC_MSG_CHECKING(for classlib)
279       USER_CLASSLIB=${CLASSPATH}
280       AC_SUBST(USER_CLASSLIB)
281       AC_MSG_RESULT(${USER_CLASSLIB})
282       conditional_with_classlib=true      
283     elif test "x${withval}" != x && test "x${withval}" != xno; then
284       # set user classpath to specified value
285       AC_MSG_CHECKING(for classlib)
286       USER_CLASSLIB=${withval}
287       AC_SUBST(USER_CLASSLIB)
288       AC_MSG_RESULT(${withval})
289       conditional_with_classlib=true
290     fi
291   ],
292   [ conditional_with_classlib=false ])
293   AM_CONDITIONAL(USER_SPECIFIED_CLASSLIB, test "x${conditional_with_classlib}" = xtrue)
295   AC_ARG_WITH([vm-classes],
296               [AS_HELP_STRING(--with-vm-classes,specify path to VM override source files)], [vm_classes="$with_vm_classes"],
297               [vm_classes='${top_srcdir}/vm/reference'])
298   AC_SUBST(vm_classes)
301 dnl -----------------------------------------------------------
302 dnl CLASSPATH_WITH_GLIBJ - specify what to install
303 dnl -----------------------------------------------------------
304 AC_DEFUN([CLASSPATH_WITH_GLIBJ],
306   AC_PATH_PROG(ZIP, zip)
307   AC_ARG_WITH([fastjar],
308               [AS_HELP_STRING([--with-fastjar=PATH], [define to use a fastjar style tool])],
309               [
310                 AC_MSG_CHECKING([for user supplied fastjar])
311                 FASTJAR=${withval}
312                 AC_MSG_RESULT([${FASTJAR}])
313               ],
314               [AC_PATH_PROG(FASTJAR, fastjar)])
315 dnl We disable ZIP by default if we find fastjar.
316   if test x"${FASTJAR}" != x; then
317     ZIP=""
318   fi
319   
320   AC_ARG_WITH([glibj],
321               [AS_HELP_STRING([--with-glibj],[define what to install (zip|flat|both|none|build) [default=zip]])],
322               [
323                 if test "x${withval}" = xyes || test "x${withval}" = xzip; then
324                   install_class_files=no
325                   build_class_files=yes
326                   use_zip=yes
327                 elif test "x${withval}" = xboth; then
328                   install_class_files=yes
329                   build_class_files=yes
330                   use_zip=yes
331                 elif test "x${withval}" = xflat; then
332                   install_class_files=yes
333                   build_class_files=yes
334                   use_zip=no
335                 elif test "x${withval}" = xno || test "x${withval}" = xnone; then
336                   install_class_files=no
337                   build_class_files=no
338                   use_zip=no
339                 elif test "x${withval}" = xbuild; then
340                   install_class_files=no
341                   build_class_files=yes
342                   use_zip=no
343                 else
344                   AC_MSG_ERROR([unknown value given to --with-glibj])
345                 fi
346               ],
347               [
348                 install_class_files=no
349                 use_zip=yes
350               ])
351   AM_CONDITIONAL(INSTALL_GLIBJ_ZIP, test "x${use_zip}" = xyes)
352   AM_CONDITIONAL(INSTALL_CLASS_FILES, test "x${install_class_files}" = xyes)
353   AM_CONDITIONAL(BUILD_CLASS_FILES, test "x${build_class_files}" = xyes)
355   AC_ARG_ENABLE([examples],
356                 [AS_HELP_STRING(--enable-examples,enable build of the examples [default=yes])],
357                 [case "${enableval}" in
358                   yes) EXAMPLESDIR="examples" ;;
359                   no) EXAMPLESDIR="" ;;
360                   *) AC_MSG_ERROR(bad value ${enableval} for --enable-examples) ;;
361                 esac],
362                 [EXAMPLESDIR="examples"])
363   if test "x${use_zip}" = xno && test "x${install_class_files}" = xno; then
364     EXAMPLESDIR=""
365   fi
366   AC_SUBST(EXAMPLESDIR)
369 dnl -----------------------------------------------------------
370 dnl Enable generation of API documentation, with gjdoc if it
371 dnl has been compiled to an executable (or a suitable script
372 dnl is in your PATH) or using the argument as gjdoc executable.
373 dnl -----------------------------------------------------------
374 AC_DEFUN([CLASSPATH_WITH_GJDOC],
376   AC_ARG_WITH([gjdoc],
377               AS_HELP_STRING([--with-gjdoc],
378                              [generate documentation using gjdoc (default is NO)]),
379               [if test "x${withval}" = xno; then
380                  WITH_GJDOC=no;
381                elif test "x${withval}" = xyes -o "x{withval}" = x; then
382                  WITH_GJDOC=yes;
383                  AC_PATH_PROG(GJDOC, gjdoc, "no")
384                  if test "x${GJDOC}" = xno; then
385                    AC_MSG_ERROR("gjdoc executable not found");
386                  fi
387                else
388                  WITH_GJDOC=yes
389                  GJDOC="${withval}"
390                  AC_CHECK_FILE(${GJDOC}, AC_SUBST(GJDOC),
391                                AC_MSG_ERROR("Cannot use ${withval} as gjdoc executable since it doesn't exist"))
392                fi],
393               [WITH_GJDOC=no])
395   AM_CONDITIONAL(CREATE_API_DOCS, test "x${WITH_GJDOC}" = xyes)
398 dnl -----------------------------------------------------------
399 dnl Enable regeneration of parsers using jay
400 dnl http://www.informatik.uni-osnabrueck.de/alumni/bernd/jay/
401 dnl -----------------------------------------------------------
402 AC_DEFUN([REGEN_WITH_JAY],
404   AC_ARG_WITH([jay],
405               [AS_HELP_STRING(--with-jay,Regenerate the parsers with jay must be given the path to the jay executable)],
406   [
407     if test -d "${withval}"; then
408       JAY_DIR_PATH="${withval}"
409       AC_PATH_PROG(JAY, jay, "no", ${JAY_DIR_PATH})
410       if test "x${JAY}" = xno; then
411         AC_MSG_ERROR("jay executable not found");
412       fi
413     else
414       JAY_DIR_PATH=$(dirname "${withval}")
415       JAY="${withval}"
416       AC_SUBST(JAY)
417     fi
418     JAY_SKELETON="${JAY_DIR_PATH}/skeleton"
419     AC_CHECK_FILE(${JAY_SKELETON}, AC_SUBST(JAY_SKELETON),
420         AC_MSG_ERROR("Expected skeleton file in $(dirname ${withval})"))
421     JAY_FOUND=yes
422   ],
423   [
424     JAY_FOUND=no
425   ])
426   AM_CONDITIONAL(REGEN_PARSERS, test "x${JAY_FOUND}" = xyes)
429 dnl -----------------------------------------------------------
430 AC_DEFUN([CLASSPATH_WITH_ECJ],
432   AC_ARG_WITH([ecj],
433               [AS_HELP_STRING(--with-ecj,bytecode compilation with ecj)],
434   [
435     if test "x${withval}" != x && test "x${withval}" != xyes && test "x${withval}" != xno; then
436       CLASSPATH_CHECK_ECJ(${withval})
437     else
438       if test "x${withval}" != xno; then
439         CLASSPATH_CHECK_ECJ
440       fi
441     fi
442     user_specified_javac=ecj
443   ],
444   [ 
445     CLASSPATH_CHECK_ECJ
446   ])
447   AC_SUBST(ECJ)
450 dnl -----------------------------------------------------------
451 AC_DEFUN([CLASSPATH_CHECK_ECJ],
453   if test "x$1" != x; then
454     if test -f "$1"; then
455       ECJ="$1"
456     else
457       AC_PATH_PROG(ECJ, "$1")
458     fi
459   else
460     AC_PATH_PROG(ECJ, "ecj")
461   fi