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 core library should we use
26 AC_DEFUN([AC_CHECK_WITH_CLASSPATH],[
27 AC_MSG_CHECKING(which Java core library to use)
28 AC_ARG_WITH([classpath],
29 [AS_HELP_STRING(--with-classpath=<type>,specifies which type of classpath to use as Java core library (cldc1.1,gnu,sun) [[default=gnu]])],
32 WITH_CLASSPATH=cldc1.1
33 AC_DEFINE([WITH_CLASSPATH_CLDC1_1], 1, [use Sun's CLDC1.1 classes])
34 AC_SUBST(WITH_CLASSPATH_CLDC1_1)
38 AC_DEFINE([WITH_CLASSPATH_GNU], 1, [use GNU Classpath])
39 AC_SUBST(WITH_CLASSPATH_GNU)
43 AC_DEFINE([WITH_CLASSPATH_SUN], 1, [use Sun's Java SE classes])
44 AC_SUBST(WITH_CLASSPATH_SUN)
47 AC_MSG_ERROR(unknown classpath ${withval})
51 AC_DEFINE([WITH_CLASSPATH_GNU], 1, [use GNU Classpath])
52 AC_SUBST(WITH_CLASSPATH_GNU)])
53 AC_MSG_RESULT(${WITH_CLASSPATH})
54 AM_CONDITIONAL([WITH_CLASSPATH_CLDC1_1], test x"${WITH_CLASSPATH}" = "xcldc1.1")
55 AM_CONDITIONAL([WITH_CLASSPATH_GNU], test x"${WITH_CLASSPATH}" = "xgnu")
56 AM_CONDITIONAL([WITH_CLASSPATH_SUN], test x"${WITH_CLASSPATH}" = "xsun")
60 dnl where is Java core library installed
62 AC_DEFUN([AC_CHECK_WITH_CLASSPATH_PREFIX],[
63 AC_MSG_CHECKING(where Java core library is installed)
64 AC_ARG_WITH([classpath-prefix],
65 [AS_HELP_STRING(--with-classpath-prefix=<dir>,installation directory of Java core library [[default=/usr/local/classpath]])],
66 [CLASSPATH_PREFIX=${withval}],
67 [CLASSPATH_PREFIX=/usr/local/classpath])
68 AC_MSG_RESULT(${CLASSPATH_PREFIX})
69 AC_DEFINE_UNQUOTED([CLASSPATH_PREFIX], "${CLASSPATH_PREFIX}", [Java core library installation directory])
70 AC_SUBST(CLASSPATH_PREFIX)
74 dnl where are Java core library classes installed
76 AC_DEFUN([AC_CHECK_WITH_CLASSPATH_CLASSES],[
77 AC_MSG_CHECKING(where Java core library classes are installed)
78 AC_ARG_WITH([classpath-classes],
79 [AS_HELP_STRING(--with-classpath-classes=<path>,path to Java core library classes (includes the name of the file and may be flat) [[default=(gnu:${CLASSPATH_PREFIX}/share/classpath/glibj.zip,sun:${CLASSPATH_PREFIX}/control/build/${OS_DIR}-${JAVA_ARCH}/classes,*:${CLASSPATH_PREFIX})]])],
80 [CLASSPATH_CLASSES=${withval}],
81 [case "${WITH_CLASSPATH}" in
83 CLASSPATH_CLASSES=${CLASSPATH_PREFIX}/share/classpath/glibj.zip
86 CLASSPATH_CLASSES=${CLASSPATH_PREFIX}/control/build/${OS_DIR}-${JAVA_ARCH}/classes
89 CLASSPATH_CLASSES=${CLASSPATH_PREFIX}
92 AC_MSG_RESULT(${CLASSPATH_CLASSES})
93 AC_DEFINE_UNQUOTED([CLASSPATH_CLASSES], "${CLASSPATH_CLASSES}", [Java core library classes])
94 AC_SUBST(CLASSPATH_CLASSES)
96 dnl define BOOTCLASSPATH for Makefiles
97 case "${WITH_CLASSPATH}" in
99 BOOTCLASSPATH="\$(top_builddir)/src/classes/classes:\$(CLASSPATH_CLASSES)"
102 BOOTCLASSPATH="\$(CLASSPATH_CLASSES)"
105 AC_SUBST(BOOTCLASSPATH)
109 dnl where are Java core library native libraries installed
111 AC_DEFUN([AC_CHECK_WITH_CLASSPATH_LIBDIR],[
112 AC_MSG_CHECKING(where Java core library native libraries are installed)
113 AC_ARG_WITH([classpath-libdir],
114 [AS_HELP_STRING(--with-classpath-libdir=<dir>,installation directory of Java core library native libraries [[default=(gnu:${CLASSPATH_PREFIX}/lib,sun:${CLASSPATH_PREFIX}/control/build/${OS_DIR}-${JAVA_ARCH}/lib/${JAVA_ARCH},*:${CLASSPATH_PREFIX})]])],
115 [CLASSPATH_LIBDIR=${withval}],
116 [case "${WITH_CLASSPATH}" in
118 CLASSPATH_LIBDIR=${CLASSPATH_PREFIX}/lib
121 CLASSPATH_LIBDIR=${CLASSPATH_PREFIX}/control/build/${OS_DIR}-${JAVA_ARCH}/lib/${JAVA_ARCH}
124 CLASSPATH_LIBDIR=${CLASSPATH_PREFIX}
127 AC_MSG_RESULT(${CLASSPATH_LIBDIR})
129 dnl expand CLASSPATH_LIBDIR to something that is usable in C code
130 AS_AC_EXPAND([CLASSPATH_LIBDIR], ${CLASSPATH_LIBDIR})
131 AC_DEFINE_UNQUOTED([CLASSPATH_LIBDIR], "${CLASSPATH_LIBDIR}", [Java core library native libraries installation directory])
132 AC_SUBST(CLASSPATH_LIBDIR)
136 dnl where jni_md.h is installed
138 AC_DEFUN([AC_CHECK_WITH_JNI_MD_H],[
139 AC_MSG_CHECKING(where jni_md.h is installed)
140 AC_ARG_WITH([jni_md_h],
141 [AS_HELP_STRING(--with-jni_md_h=<dir>,path to jni_md.h [[default=(sun:${CLASSPATH_PREFIX}/jdk/src/solaris/javavm/export,*:${CLASSPATH_PREFIX}/include)]])],
142 [WITH_JNI_MD_H=${withval}],
143 [case "${WITH_CLASSPATH}" in
145 WITH_JNI_MD_H=${CLASSPATH_PREFIX}/jdk/src/solaris/javavm/export
148 WITH_JNI_MD_H=${CLASSPATH_PREFIX}/include
151 AC_MSG_RESULT(${WITH_JNI_MD_H})
153 dnl We use CPPFLAGS so jni.h can find jni_md.h
154 CPPFLAGS="${CPPFLAGS} -I${WITH_JNI_MD_H}"
156 AC_CHECK_HEADER([${WITH_JNI_MD_H}/jni_md.h],
157 [AC_DEFINE_UNQUOTED([INCLUDE_JNI_MD_H], "${WITH_JNI_MD_H}/jni_md.h", [Java core library jni_md.h header])],
158 [AC_MSG_ERROR(cannot find jni_md.h)])
162 dnl where jni.h is installed
164 AC_DEFUN([AC_CHECK_WITH_JNI_H],[
165 AC_MSG_CHECKING(where jni.h is installed)
167 [AS_HELP_STRING(--with-jni_h=<dir>,path to jni.h [[default=(sun:${CLASSPATH_PREFIX}/jdk/src/share/javavm/export,*:${CLASSPATH_PREFIX}/include)]])],
168 [WITH_JNI_H=${withval}],
169 [case "${WITH_CLASSPATH}" in
171 WITH_JNI_H=${CLASSPATH_PREFIX}/jdk/src/share/javavm/export
174 WITH_JNI_H=${CLASSPATH_PREFIX}/include
177 AC_MSG_RESULT(${WITH_JNI_H})
179 dnl We use CPPFLAGS so jni.h can find jni_md.h
180 CPPFLAGS="${CPPFLAGS} -I${WITH_JNI_H}"
182 AC_CHECK_HEADER([${WITH_JNI_H}/jni.h],
183 [AC_DEFINE_UNQUOTED([INCLUDE_JNI_H], "${WITH_JNI_H}/jni.h", [Java core library jni.h header])],
184 [AC_MSG_ERROR(cannot find jni.h)],
185 [#include INCLUDE_JNI_MD_H])