1 dnl m4/java-runtime-library.m4
3 dnl Copyright (C) 2007, 2008
4 dnl CACAOVM - Verein zur Foerderung der freien virtuellen Maschine CACAO
6 dnl This file is part of CACAO.
8 dnl This program is free software; you can redistribute it and/or
9 dnl modify it under the terms of the GNU General Public License as
10 dnl published by the Free Software Foundation; either version 2, or (at
11 dnl your option) any later version.
13 dnl This program is distributed in the hope that it will be useful, but
14 dnl WITHOUT ANY WARRANTY; without even the implied warranty of
15 dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 dnl General Public License for more details.
18 dnl You should have received a copy of the GNU General Public License
19 dnl along with this program; if not, write to the Free Software
20 dnl Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
24 dnl which Java runtime library should we use
26 AC_DEFUN([AC_CHECK_WITH_JAVA_RUNTIME_LIBRARY],[
27 AC_MSG_CHECKING(which Java runtime library to use)
28 AC_ARG_WITH([java-runtime-library],
29 [AS_HELP_STRING(--with-java-runtime-library=<type>,specifies which type of classpath to use as Java runtime library (cldc1.1,gnuclasspath,openjdk) [[default=gnuclasspath]])],
32 WITH_JAVA_RUNTIME_LIBRARY=cldc1.1
33 AC_DEFINE([WITH_JAVA_RUNTIME_LIBRARY_CLDC1_1], 1, [use Sun's CLDC1.1 classes])
34 AC_SUBST(WITH_JAVA_RUNTIME_LIBRARY_CLDC1_1)
37 WITH_JAVA_RUNTIME_LIBRARY=gnuclasspath
38 AC_DEFINE([WITH_JAVA_RUNTIME_LIBRARY_GNU_CLASSPATH], 1, [use GNU Classpath])
39 AC_SUBST(WITH_JAVA_RUNTIME_LIBRARY_GNU_CLASSPATH)
42 WITH_JAVA_RUNTIME_LIBRARY=openjdk
43 AC_DEFINE([WITH_JAVA_RUNTIME_LIBRARY_OPENJDK], 1, [use OpenJDK's Java SE classes])
44 AC_SUBST(WITH_JAVA_RUNTIME_LIBRARY_OPENJDK)
47 AC_MSG_ERROR(unknown classpath ${withval})
50 [WITH_JAVA_RUNTIME_LIBRARY=gnuclasspath
51 AC_DEFINE([WITH_JAVA_RUNTIME_LIBRARY_GNU_CLASSPATH], 1, [use GNU Classpath])
52 AC_SUBST(WITH_JAVA_RUNTIME_LIBRARY_GNU_CLASSPATH)])
53 AC_MSG_RESULT(${WITH_JAVA_RUNTIME_LIBRARY})
54 AM_CONDITIONAL([WITH_JAVA_RUNTIME_LIBRARY_CLDC1_1], test x"${WITH_JAVA_RUNTIME_LIBRARY}" = "xcldc1.1")
55 AM_CONDITIONAL([WITH_JAVA_RUNTIME_LIBRARY_GNU_CLASSPATH], test x"${WITH_JAVA_RUNTIME_LIBRARY}" = "xgnuclasspath")
56 AM_CONDITIONAL([WITH_JAVA_RUNTIME_LIBRARY_OPENJDK], test x"${WITH_JAVA_RUNTIME_LIBRARY}" = "xopenjdk")
60 dnl where is Java runtime library installed
62 AC_DEFUN([AC_CHECK_WITH_JAVA_RUNTIME_LIBRARY_PREFIX],[
63 AC_MSG_CHECKING(where Java runtime library is installed)
64 AC_ARG_WITH([java-runtime-library-prefix],
65 [AS_HELP_STRING(--with-java-runtime-library-prefix=<dir>,installation directory of Java runtime library [[default=/usr/local/classpath]])],
66 [JAVA_RUNTIME_LIBRARY_PREFIX=${withval}],
67 [JAVA_RUNTIME_LIBRARY_PREFIX=/usr/local/classpath])
68 AC_MSG_RESULT(${JAVA_RUNTIME_LIBRARY_PREFIX})
69 AC_DEFINE_UNQUOTED([JAVA_RUNTIME_LIBRARY_PREFIX], "${JAVA_RUNTIME_LIBRARY_PREFIX}", [Java runtime library installation directory])
70 AC_SUBST(JAVA_RUNTIME_LIBRARY_PREFIX)
74 dnl where are Java runtime library classes installed
76 AC_DEFUN([AC_CHECK_WITH_JAVA_RUNTIME_LIBRARY_CLASSES],[
77 AC_MSG_CHECKING(where Java runtime library classes are installed)
78 AC_ARG_WITH([java-runtime-library-classes],
79 [AS_HELP_STRING(--with-java-runtime-library-classes=<path>,path to Java runtime library classes (includes the name of the file and may be flat) [[default=(gnuclasspath:${JAVA_RUNTIME_LIBRARY_PREFIX}/share/classpath/glibj.zip,openjdk:${JAVA_RUNTIME_LIBRARY_PREFIX}/control/build/${OS_DIR}-${JAVA_ARCH}/classes,*:${JAVA_RUNTIME_LIBRARY_PREFIX})]])],
80 [JAVA_RUNTIME_LIBRARY_CLASSES=${withval}],
81 [case "${WITH_JAVA_RUNTIME_LIBRARY}" in
83 JAVA_RUNTIME_LIBRARY_CLASSES=${JAVA_RUNTIME_LIBRARY_PREFIX}/share/classpath/glibj.zip
86 JAVA_RUNTIME_LIBRARY_CLASSES=${JAVA_RUNTIME_LIBRARY_PREFIX}/control/build/${OS_DIR}-${JAVA_ARCH}/classes
89 JAVA_RUNTIME_LIBRARY_CLASSES=${JAVA_RUNTIME_LIBRARY_PREFIX}
92 AC_MSG_RESULT(${JAVA_RUNTIME_LIBRARY_CLASSES})
93 AC_DEFINE_UNQUOTED([JAVA_RUNTIME_LIBRARY_CLASSES], "${JAVA_RUNTIME_LIBRARY_CLASSES}", [Java runtime library classes])
94 AC_SUBST(JAVA_RUNTIME_LIBRARY_CLASSES)
98 dnl where are Java core library classes located at compilation time
100 AC_DEFUN([AC_CHECK_WITH_BUILD_JAVA_RUNTIME_LIBRARY_CLASSES],[
101 AC_MSG_CHECKING(where Java core library classes are located at compile time)
102 AC_ARG_WITH([build-java-runtime-library-classes],
103 [AS_HELP_STRING(--with-build-java-runtime-library-classes=<path>,path to Java core library classes (includes the name of the file and may be flat) [[default=${JAVA_RUNTIME_LIBRARY_CLASSES}]])],
104 [BUILD_JAVA_RUNTIME_LIBRARY_CLASSES=${withval}],
105 [BUILD_JAVA_RUNTIME_LIBRARY_CLASSES=${JAVA_RUNTIME_LIBRARY_CLASSES}])
106 AC_MSG_RESULT(${BUILD_JAVA_RUNTIME_LIBRARY_CLASSES})
107 AC_DEFINE_UNQUOTED([BUILD_JAVA_RUNTIME_LIBRARY_CLASSES], "${BUILD_JAVA_RUNTIME_LIBRARY_CLASSES}", [Java core library classes at compile time])
108 AC_SUBST(BUILD_JAVA_RUNTIME_LIBRARY_CLASSES)
110 dnl define BOOTCLASSPATH for Makefiles
111 case "${WITH_JAVA_RUNTIME_LIBRARY}" in
112 cldc1.1 | gnuclasspath)
113 BOOTCLASSPATH="\$(top_builddir)/src/classes/classes:${BUILD_JAVA_RUNTIME_LIBRARY_CLASSES}"
116 BOOTCLASSPATH="${BUILD_JAVA_RUNTIME_LIBRARY_CLASSES}"
119 AC_SUBST(BOOTCLASSPATH)
123 dnl where are Java runtime library native libraries installed
125 AC_DEFUN([AC_CHECK_WITH_JAVA_RUNTIME_LIBRARY_LIBDIR],[
126 AC_MSG_CHECKING(where Java runtime library native libraries are installed)
127 AC_ARG_WITH([java-runtime-library-libdir],
128 [AS_HELP_STRING(--with-java-runtime-library-libdir=<dir>,installation directory of Java runtime library native libraries [[default=(gnuclasspath:${JAVA_RUNTIME_LIBRARY_PREFIX}/lib,openjdk:${JAVA_RUNTIME_LIBRARY_PREFIX}/control/build/${OS_DIR}-${JAVA_ARCH}/lib/${JAVA_ARCH},*:${JAVA_RUNTIME_LIBRARY_PREFIX})]])],
129 [JAVA_RUNTIME_LIBRARY_LIBDIR=${withval}],
130 [case "${WITH_JAVA_RUNTIME_LIBRARY}" in
132 JAVA_RUNTIME_LIBRARY_LIBDIR=${JAVA_RUNTIME_LIBRARY_PREFIX}/lib
135 JAVA_RUNTIME_LIBRARY_LIBDIR=${JAVA_RUNTIME_LIBRARY_PREFIX}/control/build/${OS_DIR}-${JAVA_ARCH}/lib/${JAVA_ARCH}
138 JAVA_RUNTIME_LIBRARY_LIBDIR=${JAVA_RUNTIME_LIBRARY_PREFIX}
141 AC_MSG_RESULT(${JAVA_RUNTIME_LIBRARY_LIBDIR})
143 dnl expand JAVA_RUNTIME_LIBRARY_LIBDIR to something that is usable in C code
144 AS_AC_EXPAND([JAVA_RUNTIME_LIBRARY_LIBDIR], ${JAVA_RUNTIME_LIBRARY_LIBDIR})
145 AC_DEFINE_UNQUOTED([JAVA_RUNTIME_LIBRARY_LIBDIR], "${JAVA_RUNTIME_LIBRARY_LIBDIR}", [Java runtime library native libraries installation directory])
146 AC_SUBST(JAVA_RUNTIME_LIBRARY_LIBDIR)
150 dnl where jni_md.h is installed
152 AC_DEFUN([AC_CHECK_WITH_JNI_MD_H],[
153 AC_MSG_CHECKING(where jni_md.h is installed)
154 AC_ARG_WITH([jni_md_h],
155 [AS_HELP_STRING(--with-jni_md_h=<dir>,path to jni_md.h [[default=(openjdk:${JAVA_RUNTIME_LIBRARY_PREFIX}/jdk/src/solaris/javavm/export,*:${JAVA_RUNTIME_LIBRARY_PREFIX}/include)]])],
156 [WITH_JNI_MD_H=${withval}],
157 [case "${WITH_JAVA_RUNTIME_LIBRARY}" in
159 WITH_JNI_MD_H=${JAVA_RUNTIME_LIBRARY_PREFIX}/jdk/src/solaris/javavm/export
162 WITH_JNI_MD_H=${JAVA_RUNTIME_LIBRARY_PREFIX}/include
165 AC_MSG_RESULT(${WITH_JNI_MD_H})
167 dnl We use CPPFLAGS so jni.h can find jni_md.h
168 CPPFLAGS="${CPPFLAGS} -I${WITH_JNI_MD_H}"
170 AC_CHECK_HEADER([${WITH_JNI_MD_H}/jni_md.h],
171 [AC_DEFINE_UNQUOTED([INCLUDE_JNI_MD_H], "${WITH_JNI_MD_H}/jni_md.h", [Java runtime library jni_md.h header])],
172 [AC_MSG_ERROR(cannot find jni_md.h)])
176 dnl where jni.h is installed
178 AC_DEFUN([AC_CHECK_WITH_JNI_H],[
179 AC_MSG_CHECKING(where jni.h is installed)
181 [AS_HELP_STRING(--with-jni_h=<dir>,path to jni.h [[default=(openjdk:${JAVA_RUNTIME_LIBRARY_PREFIX}/jdk/src/share/javavm/export,*:${JAVA_RUNTIME_LIBRARY_PREFIX}/include)]])],
182 [WITH_JNI_H=${withval}],
183 [case "${WITH_JAVA_RUNTIME_LIBRARY}" in
185 WITH_JNI_H=${JAVA_RUNTIME_LIBRARY_PREFIX}/jdk/src/share/javavm/export
188 WITH_JNI_H=${JAVA_RUNTIME_LIBRARY_PREFIX}/include
191 AC_MSG_RESULT(${WITH_JNI_H})
193 dnl We use CPPFLAGS so jni.h can find jni_md.h
194 CPPFLAGS="${CPPFLAGS} -I${WITH_JNI_H}"
196 AC_CHECK_HEADER([${WITH_JNI_H}/jni.h],
197 [AC_DEFINE_UNQUOTED([INCLUDE_JNI_H], "${WITH_JNI_H}/jni.h", [Java runtime library jni.h header])],
198 [AC_MSG_ERROR(cannot find jni.h)],
199 [#include INCLUDE_JNI_MD_H])