source: trunk/icedtea-web/acinclude.m4@ 417

Last change on this file since 417 was 348, checked in by dmik, 13 years ago

vendor: Add icedtea-web v1.1.2 to current.

File size: 19.0 KB
Line 
1AC_DEFUN_ONCE([IT_CAN_HARDLINK_TO_SOURCE_TREE],
2[
3 AC_CACHE_CHECK([if we can hard link rather than copy from ${abs_top_srcdir}], it_cv_hardlink_src, [
4 if cp -l ${abs_top_srcdir}/README tmp.$$ >&AS_MESSAGE_LOG_FD 2>&1; then
5 it_cv_hardlink_src=yes;
6 else
7 it_cv_hardlink_src=no;
8 fi
9 rm -f tmp.$$
10 ])
11 AM_CONDITIONAL([SRC_DIR_HARDLINKABLE], test x"${it_cv_hardlink_src}" = "xyes")
12])
13
14AC_DEFUN_ONCE([IT_CP_SUPPORTS_REFLINK],
15[
16 AC_CACHE_CHECK([if cp supports --reflink], it_cv_reflink, [
17 touch tmp.$$
18 if cp --reflink=auto tmp.$$ tmp2.$$ >&AS_MESSAGE_LOG_FD 2>&1; then
19 it_cv_reflink=yes;
20 else
21 it_cv_reflink=no;
22 fi
23 rm -f tmp.$$ tmp2.$$
24 ])
25 AM_CONDITIONAL([CP_SUPPORTS_REFLINK], test x"${it_cv_reflink}" = "xyes")
26])
27
28AC_DEFUN_ONCE([IT_CHECK_FOR_JDK],
29[
30 AC_MSG_CHECKING([for a JDK home directory])
31 AC_ARG_WITH([jdk-home],
32 [AS_HELP_STRING([--with-jdk-home],
33 [jdk home directory \
34 (default is first predefined JDK found)])],
35 [
36 if test "x${withval}" = xyes
37 then
38 SYSTEM_JDK_DIR=
39 elif test "x${withval}" = xno
40 then
41 SYSTEM_JDK_DIR=
42 else
43 SYSTEM_JDK_DIR=${withval}
44 fi
45 ],
46 [
47 SYSTEM_JDK_DIR=
48 ])
49 if test -z "${SYSTEM_JDK_DIR}"; then
50 for dir in /usr/lib/jvm/java-openjdk /usr/lib/jvm/icedtea6 \
51 /usr/lib/jvm/java-6-openjdk /usr/lib/jvm/openjdk \
52 /usr/lib/jvm/java-icedtea /usr/lib/jvm/java-gcj /usr/lib/jvm/gcj-jdk \
53 /usr/lib/jvm/cacao ; do
54 if test -d $dir; then
55 SYSTEM_JDK_DIR=$dir
56 break
57 fi
58 done
59 fi
60 AC_MSG_RESULT(${SYSTEM_JDK_DIR})
61 if ! test -d "${SYSTEM_JDK_DIR}"; then
62 AC_MSG_ERROR("A JDK home directory could not be found.")
63 fi
64 AC_SUBST(SYSTEM_JDK_DIR)
65])
66
67AC_DEFUN_ONCE([IT_CHECK_FOR_JRE],
68[
69 AC_REQUIRE([IT_CHECK_FOR_JDK])
70 AC_MSG_CHECKING([for a JRE home directory])
71 AC_ARG_WITH([jre-home],
72 [AS_HELP_STRING([--with-jre-home],
73 [jre home directory \
74 (default is the JRE under the JDK)])],
75 [
76 SYSTEM_JRE_DIR=${withval}
77 ],
78 [
79 SYSTEM_JRE_DIR=
80 ])
81 if test -z "${SYSTEM_JRE_DIR}" ; then
82 if test -d "${SYSTEM_JDK_DIR}/jre" ; then
83 SYSTEM_JRE_DIR="${SYSTEM_JDK_DIR}/jre"
84 fi
85 fi
86 AC_MSG_RESULT(${SYSTEM_JRE_DIR})
87 if ! test -d "${SYSTEM_JRE_DIR}"; then
88 AC_MSG_ERROR("A JRE home directory could not be found.")
89 fi
90 AC_SUBST(SYSTEM_JRE_DIR)
91])
92
93AC_DEFUN_ONCE([FIND_JAVAC],
94[
95 AC_REQUIRE([IT_CHECK_FOR_JDK])
96 JAVAC=${SYSTEM_JDK_DIR}/bin/javac
97 IT_FIND_JAVAC
98 IT_FIND_ECJ
99 IT_USING_ECJ
100
101 AC_SUBST(JAVAC)
102])
103
104AC_DEFUN([IT_FIND_ECJ],
105[
106 AC_ARG_WITH([ecj],
107 [AS_HELP_STRING(--with-ecj,bytecode compilation with ecj)],
108 [
109 if test "x${withval}" != x && test "x${withval}" != xyes && test "x${withval}" != xno; then
110 IT_CHECK_ECJ(${withval})
111 else
112 if test "x${withval}" != xno; then
113 IT_CHECK_ECJ
114 fi
115 fi
116 ],
117 [
118 IT_CHECK_ECJ
119 ])
120 if test "x${JAVAC}" = "x"; then
121 if test "x{ECJ}" != "x"; then
122 JAVAC="${ECJ} -nowarn"
123 fi
124 fi
125])
126
127AC_DEFUN([IT_CHECK_ECJ],
128[
129 if test "x$1" != x; then
130 if test -f "$1"; then
131 AC_MSG_CHECKING(for ecj)
132 ECJ="$1"
133 AC_MSG_RESULT(${ECJ})
134 else
135 AC_PATH_PROG(ECJ, "$1")
136 fi
137 else
138 AC_PATH_PROG(ECJ, "ecj")
139 if test -z "${ECJ}"; then
140 AC_PATH_PROG(ECJ, "ecj-3.1")
141 fi
142 if test -z "${ECJ}"; then
143 AC_PATH_PROG(ECJ, "ecj-3.2")
144 fi
145 if test -z "${ECJ}"; then
146 AC_PATH_PROG(ECJ, "ecj-3.3")
147 fi
148 fi
149])
150
151AC_DEFUN([IT_FIND_JAVAC],
152[
153 AC_ARG_WITH([javac],
154 [AS_HELP_STRING(--with-javac,bytecode compilation with javac)],
155 [
156 if test "x${withval}" != x && test "x${withval}" != xyes && test "x${withval}" != xno; then
157 IT_CHECK_JAVAC(${withval})
158 else
159 if test "x${withval}" != xno; then
160 IT_CHECK_JAVAC
161 fi
162 fi
163 ],
164 [
165 IT_CHECK_JAVAC
166 ])
167])
168
169AC_DEFUN([IT_CHECK_JAVAC],
170[
171 if test "x$1" != x; then
172 if test -f "$1"; then
173 AC_MSG_CHECKING(for javac)
174 JAVAC="$1"
175 AC_MSG_RESULT(${JAVAC})
176 else
177 AC_PATH_PROG(JAVAC, "$1")
178 fi
179 else
180 AC_PATH_PROG(JAVAC, "javac")
181 fi
182])
183
184AC_DEFUN([FIND_JAR],
185[
186 AC_REQUIRE([IT_CHECK_FOR_JDK])
187 AC_MSG_CHECKING([for jar])
188 AC_ARG_WITH([jar],
189 [AS_HELP_STRING(--with-jar,specify location of Java archive tool (jar))],
190 [
191 JAR="${withval}"
192 ],
193 [
194 JAR=${SYSTEM_JDK_DIR}/bin/jar
195 ])
196 if ! test -f "${JAR}"; then
197 AC_PATH_PROG(JAR, "${JAR}")
198 fi
199 if test -z "${JAR}"; then
200 AC_PATH_PROG(JAR, "gjar")
201 fi
202 if test -z "${JAR}"; then
203 AC_PATH_PROG(JAR, "jar")
204 fi
205 if test -z "${JAR}"; then
206 AC_MSG_ERROR("No Java archive tool was found.")
207 fi
208 AC_MSG_RESULT(${JAR})
209 AC_MSG_CHECKING([whether jar supports @<file> argument])
210 touch _config.txt
211 cat >_config.list <<EOF
212_config.txt
213EOF
214 if $JAR cf _config.jar @_config.list >&AS_MESSAGE_LOG_FD 2>&1; then
215 JAR_KNOWS_ATFILE=1
216 AC_MSG_RESULT(yes)
217 else
218 JAR_KNOWS_ATFILE=
219 AC_MSG_RESULT(no)
220 fi
221 AC_MSG_CHECKING([whether jar supports stdin file arguments])
222 if cat _config.list | $JAR cf@ _config.jar >&AS_MESSAGE_LOG_FD 2>&1; then
223 JAR_ACCEPTS_STDIN_LIST=1
224 AC_MSG_RESULT(yes)
225 else
226 JAR_ACCEPTS_STDIN_LIST=
227 AC_MSG_RESULT(no)
228 fi
229 rm -f _config.list _config.jar
230 AC_MSG_CHECKING([whether jar supports -J options at the end])
231 if $JAR cf _config.jar _config.txt -J-Xmx896m >&AS_MESSAGE_LOG_FD 2>&1; then
232 JAR_KNOWS_J_OPTIONS=1
233 AC_MSG_RESULT(yes)
234 else
235 JAR_KNOWS_J_OPTIONS=
236 AC_MSG_RESULT(no)
237 fi
238 rm -f _config.txt _config.jar
239 AC_SUBST(JAR)
240 AC_SUBST(JAR_KNOWS_ATFILE)
241 AC_SUBST(JAR_ACCEPTS_STDIN_LIST)
242 AC_SUBST(JAR_KNOWS_J_OPTIONS)
243])
244
245AC_DEFUN([FIND_ECJ_JAR],
246[
247 AC_REQUIRE([FIND_JAVAC])
248 AC_MSG_CHECKING([for an ecj JAR file])
249 AC_ARG_WITH([ecj-jar],
250 [AS_HELP_STRING(--with-ecj-jar,specify location of the ECJ jar)],
251 [
252 if test -f "${withval}"; then
253 ECJ_JAR="${withval}"
254 fi
255 ],
256 [
257 ECJ_JAR=
258 ])
259 if test -z "${ECJ_JAR}"; then
260 for jar in /usr/share/java/eclipse-ecj.jar \
261 /usr/share/java/ecj.jar \
262 /usr/share/eclipse-ecj-3.{2,3,4,5}/lib/ecj.jar; do
263 if test -e $jar; then
264 ECJ_JAR=$jar
265 break
266 fi
267 done
268 if test -z "${ECJ_JAR}"; then
269 ECJ_JAR=no
270 fi
271 fi
272 AC_MSG_RESULT(${ECJ_JAR})
273 if test "x${JAVAC}" = x && test "x${ECJ_JAR}" = "xno" ; then
274 AC_MSG_ERROR([cannot find a Java compiler or ecj JAR file, try --with-javac, --with-ecj or --with-ecj-jar])
275 fi
276 AC_SUBST(ECJ_JAR)
277])
278
279#
280# IT_FIND_OPTIONAL_JAR
281# --------------------
282# Find an optional jar required for building and running
283#
284# $1 : jar/feature name
285# $2 : used to set $2_JAR and WITH_$2
286# $3 (optional) : used to specify additional file paths for searching
287#
288# Sets $2_JAR to the jar location (or blank if not found)
289# Defines WITH_$2 if jar is found
290# Sets $2_AVAILABLE to "true" if jar is found (or "false" if not)
291#
292AC_DEFUN([IT_FIND_OPTIONAL_JAR],
293[
294 AC_MSG_CHECKING([for $1 jar])
295 AC_ARG_WITH([$1],
296 [AS_HELP_STRING(--with-$1,specify location of the $1 jar)],
297 [
298 case "${withval}" in
299 yes)
300 $2_JAR=yes
301 ;;
302 no)
303 $2_JAR=no
304 ;;
305 *)
306 if test -f "${withval}"; then
307 $2_JAR="${withval}"
308 elif test -z "${withval}"; then
309 $2_JAR=yes
310 else
311 AC_MSG_RESULT([not found])
312 AC_MSG_ERROR("The $1 jar ${withval} was not found.")
313 fi
314 ;;
315 esac
316 ],
317 [
318 $2_JAR=yes
319 ])
320 it_extra_paths_$1="$3"
321 if test "x${$2_JAR}" = "xyes"; then
322 for path in ${it_extra_paths_$1}; do
323 if test -f ${path}; then
324 $2_JAR=${path}
325 break
326 fi
327 done
328 fi
329 if test x"${$2_JAR}" = "xyes"; then
330 if test -f "/usr/share/java/$1.jar"; then
331 $2_JAR=/usr/share/java/$1.jar
332 fi
333 fi
334 if test x"${$2_JAR}" = "xyes"; then
335 $2_JAR=no
336 fi
337 AC_MSG_RESULT(${$2_JAR})
338 AM_CONDITIONAL(WITH_$2, test x"${$2_JAR}" != "xno")
339 # Clear $2_JAR if it doesn't contain a valid filename
340 if test x"${$2_JAR}" = "xno"; then
341 $2_JAR=
342 fi
343 if test -n "${$2_JAR}" ; then
344 $2_AVAILABLE=true
345 else
346 $2_AVAILABLE=false
347 fi
348 AC_SUBST($2_JAR)
349 AC_SUBST($2_AVAILABLE)
350])
351
352AC_DEFUN_ONCE([IT_CHECK_PLUGIN],
353[
354AC_MSG_CHECKING([whether to build the browser plugin])
355AC_ARG_ENABLE([plugin],
356 [AS_HELP_STRING([--disable-plugin],
357 [Disable compilation of browser plugin])],
358 [enable_plugin="${enableval}"], [enable_plugin="yes"])
359AC_MSG_RESULT(${enable_plugin})
360])
361
362AC_DEFUN_ONCE([IT_CHECK_PLUGIN_DEPENDENCIES],
363[
364dnl Check for plugin support headers and libraries.
365dnl FIXME: use unstable
366AC_REQUIRE([IT_CHECK_PLUGIN])
367if test "x${enable_plugin}" = "xyes" ; then
368 PKG_CHECK_MODULES(GTK, gtk+-2.0)
369 PKG_CHECK_MODULES(GLIB, glib-2.0)
370 AC_SUBST(GLIB_CFLAGS)
371 AC_SUBST(GLIB_LIBS)
372 AC_SUBST(GTK_CFLAGS)
373 AC_SUBST(GTK_LIBS)
374
375 PKG_CHECK_MODULES(MOZILLA, mozilla-plugin)
376
377 AC_SUBST(MOZILLA_CFLAGS)
378 AC_SUBST(MOZILLA_LIBS)
379fi
380AM_CONDITIONAL(ENABLE_PLUGIN, test "x${enable_plugin}" = "xyes")
381])
382
383AC_DEFUN_ONCE([IT_CHECK_XULRUNNER_VERSION],
384[
385AC_REQUIRE([IT_CHECK_PLUGIN_DEPENDENCIES])
386if test "x${enable_plugin}" = "xyes"
387then
388 AC_CACHE_CHECK([for xulrunner version], [xulrunner_cv_collapsed_version],[
389 if pkg-config --modversion libxul >/dev/null 2>&1
390 then
391 xulrunner_cv_collapsed_version=`pkg-config --modversion libxul | awk -F. '{power=6; v=0; for (i=1; i <= NF; i++) {v += $i * 10 ^ power; power -=2}; print v}'`
392 else
393 AC_MSG_FAILURE([cannot determine xulrunner version])
394 fi])
395 AC_SUBST(MOZILLA_VERSION_COLLAPSED, $xulrunner_cv_collapsed_version)
396fi
397])
398
399dnl Generic macro to check for a Java class
400dnl Takes the name of the class as an argument. The macro name
401dnl is usually the name of the class with '.'
402dnl replaced by '_' and all letters capitalised.
403dnl e.g. IT_CHECK_FOR_CLASS([JAVA_UTIL_SCANNER],[java.util.Scanner])
404dnl Test class has to be in sun.applet for some internal classes
405AC_DEFUN([IT_CHECK_FOR_CLASS],[
406AC_REQUIRE([IT_FIND_JAVAC])
407AC_REQUIRE([IT_FIND_JAVA])
408AC_CACHE_CHECK([if $2 is available], it_cv_$1, [
409CLASS=sun/applet/Test.java
410BYTECODE=$(echo $CLASS|sed 's#\.java##')
411mkdir -p tmp.$$/$(dirname $CLASS)
412cd tmp.$$
413cat << \EOF > $CLASS
414[/* [#]line __oline__ "configure" */
415package sun.applet;
416
417import $2;
418
419public class Test
420{
421 public static void main(String[] args)
422 throws Exception
423 {
424 System.out.println(Class.forName("$2"));
425 }
426}
427]
428EOF
429if $JAVAC -cp . $JAVACFLAGS -nowarn $CLASS >&AS_MESSAGE_LOG_FD 2>&1; then
430 if $JAVA -classpath . $BYTECODE >&AS_MESSAGE_LOG_FD 2>&1; then
431 it_cv_$1=yes;
432 else
433 it_cv_$1=no;
434 fi
435else
436 it_cv_$1=no;
437fi
438])
439rm -f $CLASS *.class
440cd ..
441# should be rmdir but has to be rm -rf due to sun.applet usage
442rm -rf tmp.$$
443if test x"${it_cv_$1}" = "xno"; then
444 AC_MSG_ERROR([$2 not found.])
445fi
446AC_PROVIDE([$0])dnl
447])
448
449AC_DEFUN_ONCE([IT_CHECK_FOR_MERCURIAL],
450[
451 AC_PATH_TOOL([HG],[hg])
452 AC_SUBST([HG])
453])
454
455AC_DEFUN_ONCE([IT_OBTAIN_HG_REVISIONS],
456[
457 AC_REQUIRE([IT_CHECK_FOR_MERCURIAL])
458 ICEDTEA_REVISION="none";
459 if which ${HG} >&AS_MESSAGE_LOG_FD 2>&1; then
460 AC_MSG_CHECKING([for IcedTea Mercurial revision ID])
461 if test -e ${abs_top_srcdir}/.hg ; then
462 ICEDTEA_REVISION="r`(cd ${abs_top_srcdir}; ${HG} id -i)`" ;
463 fi ;
464 AC_MSG_RESULT([${ICEDTEA_REVISION}])
465 AC_SUBST([ICEDTEA_REVISION])
466 fi;
467 AM_CONDITIONAL([HAS_ICEDTEA_REVISION], test "x${ICEDTEA_REVISION}" != xnone)
468])
469
470AC_DEFUN_ONCE([IT_GET_PKGVERSION],
471[
472AC_MSG_CHECKING([for distribution package version])
473AC_ARG_WITH([pkgversion],
474 [AS_HELP_STRING([--with-pkgversion=PKG],
475 [Use PKG in the version string in addition to "IcedTea"])],
476 [case "$withval" in
477 yes) AC_MSG_ERROR([package version not specified]) ;;
478 no) PKGVERSION=none ;;
479 *) PKGVERSION="$withval" ;;
480 esac],
481 [PKGVERSION=none])
482AC_MSG_RESULT([${PKGVERSION}])
483AM_CONDITIONAL(HAS_PKGVERSION, test "x${PKGVERSION}" != "xnone")
484AC_SUBST(PKGVERSION)
485])
486
487AC_DEFUN([IT_CHECK_WITH_GCJ],
488[
489 AC_MSG_CHECKING([whether to compile ecj natively])
490 AC_ARG_WITH([gcj],
491 [AS_HELP_STRING(--with-gcj,location of gcj for natively compiling ecj)],
492 [
493 GCJ="${withval}"
494 ],
495 [
496 GCJ="no"
497 ])
498 AC_MSG_RESULT([${GCJ}])
499 if test "x${GCJ}" = xyes; then
500 AC_PATH_TOOL([GCJ],[gcj])
501 fi
502 AC_SUBST([GCJ])
503])
504
505AC_DEFUN([IT_USING_ECJ],[
506AC_CACHE_CHECK([if we are using ecj as javac], it_cv_ecj, [
507if $JAVAC -version 2>&1| grep '^Eclipse' >&AS_MESSAGE_LOG_FD ; then
508 it_cv_ecj=yes;
509else
510 it_cv_ecj=no;
511fi
512])
513USING_ECJ=$it_cv_ecj
514AC_SUBST(USING_ECJ)
515AC_PROVIDE([$0])dnl
516])
517
518AC_DEFUN([FIND_TOOL],
519[AC_PATH_TOOL([$1],[$2])
520 if test x"$$1" = x ; then
521 AC_MSG_ERROR([$2 program not found in PATH])
522 fi
523 AC_SUBST([$1])
524])
525
526AC_DEFUN([IT_SET_ARCH_SETTINGS],
527[
528 case "${host_cpu}" in
529 x86_64)
530 BUILD_ARCH_DIR=amd64
531 INSTALL_ARCH_DIR=amd64
532 JRE_ARCH_DIR=amd64
533 ARCHFLAG="-m64"
534 ;;
535 i?86)
536 BUILD_ARCH_DIR=i586
537 INSTALL_ARCH_DIR=i386
538 JRE_ARCH_DIR=i386
539 ARCH_PREFIX=${LINUX32}
540 ARCHFLAG="-m32"
541 ;;
542 alpha*)
543 BUILD_ARCH_DIR=alpha
544 INSTALL_ARCH_DIR=alpha
545 JRE_ARCH_DIR=alpha
546 ;;
547 arm*)
548 BUILD_ARCH_DIR=arm
549 INSTALL_ARCH_DIR=arm
550 JRE_ARCH_DIR=arm
551 ;;
552 mips)
553 BUILD_ARCH_DIR=mips
554 INSTALL_ARCH_DIR=mips
555 JRE_ARCH_DIR=mips
556 ;;
557 mipsel)
558 BUILD_ARCH_DIR=mipsel
559 INSTALL_ARCH_DIR=mipsel
560 JRE_ARCH_DIR=mipsel
561 ;;
562 powerpc)
563 BUILD_ARCH_DIR=ppc
564 INSTALL_ARCH_DIR=ppc
565 JRE_ARCH_DIR=ppc
566 ARCH_PREFIX=${LINUX32}
567 ARCHFLAG="-m32"
568 ;;
569 powerpc64)
570 BUILD_ARCH_DIR=ppc64
571 INSTALL_ARCH_DIR=ppc64
572 JRE_ARCH_DIR=ppc64
573 ARCHFLAG="-m64"
574 ;;
575 sparc)
576 BUILD_ARCH_DIR=sparc
577 INSTALL_ARCH_DIR=sparc
578 JRE_ARCH_DIR=sparc
579 ARCH_PREFIX=${LINUX32}
580 ARCHFLAG="-m32"
581 ;;
582 sparc64)
583 BUILD_ARCH_DIR=sparcv9
584 INSTALL_ARCH_DIR=sparcv9
585 JRE_ARCH_DIR=sparc64
586 ARCHFLAG="-m64"
587 ;;
588 s390)
589 BUILD_ARCH_DIR=s390
590 INSTALL_ARCH_DIR=s390
591 JRE_ARCH_DIR=s390
592 ARCH_PREFIX=${LINUX32}
593 ARCHFLAG="-m31"
594 ;;
595 s390x)
596 BUILD_ARCH_DIR=s390x
597 INSTALL_ARCH_DIR=s390x
598 JRE_ARCH_DIR=s390x
599 ARCHFLAG="-m64"
600 ;;
601 sh*)
602 BUILD_ARCH_DIR=sh
603 INSTALL_ARCH_DIR=sh
604 JRE_ARCH_DIR=sh
605 ;;
606 *)
607 BUILD_ARCH_DIR=`uname -m`
608 INSTALL_ARCH_DIR=$BUILD_ARCH_DIR
609 JRE_ARCH_DIR=$INSTALL_ARCH_DIR
610 ;;
611 esac
612 AC_SUBST(BUILD_ARCH_DIR)
613 AC_SUBST(INSTALL_ARCH_DIR)
614 AC_SUBST(JRE_ARCH_DIR)
615 AC_SUBST(ARCH_PREFIX)
616 AC_SUBST(ARCHFLAG)
617])
618
619AC_DEFUN_ONCE([IT_FIND_JAVA],
620[
621 AC_REQUIRE([IT_CHECK_FOR_JRE])
622 AC_MSG_CHECKING([for a Java virtual machine])
623 AC_ARG_WITH([java],
624 [AS_HELP_STRING(--with-java,specify location of the 1.5 java vm)],
625 [
626 JAVA="${withval}"
627 ],
628 [
629 JAVA="${SYSTEM_JRE_DIR}/bin/java"
630 ])
631 if ! test -f "${JAVA}"; then
632 AC_PATH_PROG(JAVA, "${JAVA}")
633 fi
634 if test -z "${JAVA}"; then
635 AC_PATH_PROG(JAVA, "java")
636 fi
637 if test -z "${JAVA}"; then
638 AC_PATH_PROG(JAVA, "gij")
639 fi
640 if test -z "${JAVA}"; then
641 AC_MSG_ERROR("A 1.5-compatible Java VM is required.")
642 fi
643 AC_MSG_RESULT(${JAVA})
644 AC_SUBST(JAVA)
645])
646
647AC_DEFUN([IT_FIND_JAVADOC],
648[
649 AC_REQUIRE([IT_CHECK_FOR_JDK])
650 AC_MSG_CHECKING([for javadoc])
651 AC_ARG_WITH([javadoc],
652 [AS_HELP_STRING(--with-javadoc,specify location of Java documentation tool (javadoc))],
653 [
654 JAVADOC="${withval}"
655 ],
656 [
657 JAVADOC=${SYSTEM_JDK_DIR}/bin/javadoc
658 ])
659 if ! test -f "${JAVADOC}"; then
660 AC_PATH_PROG(JAVADOC, "${JAVADOC}")
661 fi
662 if test -z "${JAVADOC}"; then
663 AC_PATH_PROG(JAVADOC, "javadoc")
664 fi
665 if test -z "${JAVADOC}"; then
666 AC_PATH_PROG(JAVADOC, "gjdoc")
667 fi
668 if test -z "${JAVADOC}" && test "x$ENABLE_DOCS" = "xyes"; then
669 AC_MSG_ERROR("No Java documentation tool was found.")
670 fi
671 AC_MSG_RESULT(${JAVADOC})
672 AC_MSG_CHECKING([whether javadoc supports -J options])
673 CLASS=pkg/Test.java
674 mkdir tmp.$$
675 cd tmp.$$
676 mkdir pkg
677 cat << \EOF > $CLASS
678[/* [#]line __oline__ "configure" */
679package pkg;
680
681public class Test
682{
683 /**
684 * Does stuff.
685 *
686 *
687 * @param args arguments from cli.
688 */
689 public static void main(String[] args)
690 {
691 System.out.println("Hello World!");
692 }
693}
694]
695EOF
696 if $JAVADOC -J-Xmx896m pkg >&AS_MESSAGE_LOG_FD 2>&1; then
697 JAVADOC_KNOWS_J_OPTIONS=yes
698 else
699 JAVADOC_KNOWS_J_OPTIONS=no
700 fi
701 cd ..
702 rm -rf tmp.$$
703 AC_MSG_RESULT([${JAVADOC_KNOWS_J_OPTIONS}])
704 AC_SUBST(JAVADOC)
705 AC_SUBST(JAVADOC_KNOWS_J_OPTIONS)
706 AM_CONDITIONAL([JAVADOC_SUPPORTS_J_OPTIONS], test x"${JAVADOC_KNOWS_J_OPTIONS}" = "xyes")
707])
708
709dnl Checks that sun.applet.AppletViewerPanel is available
710dnl and public (via the patch in IcedTea6, applet_hole.patch)
711dnl Can be removed when that is upstream or unneeded
712AC_DEFUN([IT_CHECK_FOR_APPLETVIEWERPANEL_HOLE],[
713AC_REQUIRE([IT_FIND_JAVAC])
714AC_REQUIRE([IT_FIND_JAVA])
715AC_CACHE_CHECK([if sun.applet.AppletViewerPanel is available and public], it_cv_applet_hole, [
716CLASS=TestAppletViewer.java
717BYTECODE=$(echo $CLASS|sed 's#\.java##')
718mkdir -p tmp.$$
719cd tmp.$$
720cat << \EOF > $CLASS
721[/* [#]line __oline__ "configure" */
722import java.lang.reflect.Modifier;
723
724public class TestAppletViewer
725{
726 public static void main(String[] args)
727 {
728 try
729 {
730 Class<?> clazz = Class.forName("sun.applet.AppletViewerPanel");
731 if (Modifier.isPublic(clazz.getModifiers()))
732 {
733 System.err.println("Found public sun.applet.AppletViewerPanel");
734 System.exit(0);
735 }
736 System.err.println("Found non-public sun.applet.AppletViewerPanel");
737 System.exit(2);
738 }
739 catch (ClassNotFoundException e)
740 {
741 System.err.println("Could not find sun.applet.AppletViewerPanel");
742 System.exit(1);
743 }
744 }
745}
746]
747EOF
748if $JAVAC -cp . $JAVACFLAGS -nowarn $CLASS >&AS_MESSAGE_LOG_FD 2>&1; then
749 if $JAVA -classpath . $BYTECODE >&AS_MESSAGE_LOG_FD 2>&1; then
750 it_cv_applet_hole=yes;
751 else
752 it_cv_applet_hole=$?;
753 fi
754else
755 it_cv_applet_hole=3;
756fi
757])
758rm -f $CLASS *.class
759cd ..
760rmdir tmp.$$
761if test x"${it_cv_applet_hole}" = "x1"; then
762 AC_MSG_ERROR([sun.applet.AppletViewerPanel is not available.])
763elif test x"${it_cv_applet_hole}" = "x2"; then
764 AC_MSG_ERROR([sun.applet.AppletViewerPanel is not public.])
765elif test x"${it_cv_applet_hole}" = "x3"; then
766 AC_MSG_ERROR([Compilation failed. See config.log.])
767fi
768AC_PROVIDE([$0])dnl
769])
770
771AC_DEFUN_ONCE([IT_SET_VERSION],
772[
773 AC_REQUIRE([IT_OBTAIN_HG_REVISIONS])
774 AC_REQUIRE([IT_GET_PKGVERSION])
775 AC_MSG_CHECKING([what version string to use])
776 if test "x${ICEDTEA_REVISION}" != xnone; then
777 ICEDTEA_REV="+${ICEDTEA_REVISION}"
778 fi
779 if test "x${PKGVERSION}" != "xnone"; then
780 ICEDTEA_PKG=" (${PKGVERSION})"
781 fi
782 FULL_VERSION="${PACKAGE_VERSION}${ICEDTEA_REV}${ICEDTEA_PKG}"
783 AC_MSG_RESULT([${FULL_VERSION}])
784 AC_SUBST([FULL_VERSION])
785])
Note: See TracBrowser for help on using the repository browser.