* configure.ac (AM_CPPFLAGS): Set to CPPFLAGS.
[cacao.git] / m4 / classpath.m4
1 dnl m4/classpath.m4
2 dnl
3 dnl Copyright (C) 2007, 2008
4 dnl CACAOVM - Verein zur Foerderung der freien virtuellen Maschine CACAO
5 dnl
6 dnl This file is part of CACAO.
7 dnl
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.
12 dnl
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.
17 dnl
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
21 dnl 02110-1301, USA.
22
23
24 dnl which Java core library should we use
25
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]])],
30             [case "${withval}" in
31                 cldc1.1)
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)
35                     ;;
36                 gnu)
37                     WITH_CLASSPATH=gnu
38                     AC_DEFINE([WITH_CLASSPATH_GNU], 1, [use GNU Classpath])
39                     AC_SUBST(WITH_CLASSPATH_GNU)
40                     ;;
41                 sun)
42                     WITH_CLASSPATH=sun
43                     AC_DEFINE([WITH_CLASSPATH_SUN], 1, [use Sun's Java SE classes])
44                     AC_SUBST(WITH_CLASSPATH_SUN)
45                     ;;
46                 *)
47                     AC_MSG_ERROR(unknown classpath ${withval})
48                     ;;
49              esac],
50             [WITH_CLASSPATH=gnu
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")
57 ])
58
59
60 dnl where is Java core library installed
61
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)
71 ])
72
73
74 dnl where are Java core library classes installed
75
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=CLASSPATH_PREFIX/{share/classpath/glibj.zip,classes}]])],
80             [CLASSPATH_CLASSES=${withval}],
81             [case "${WITH_CLASSPATH}" in
82                  gnu)
83                      CLASSPATH_CLASSES=${CLASSPATH_PREFIX}/share/classpath/glibj.zip
84                      ;;
85                  sun)
86                      CLASSPATH_CLASSES=${CLASSPATH_PREFIX}/classes
87                      ;;
88                  *)
89                      CLASSPATH_CLASSES=${CLASSPATH_PREFIX}
90                      ;;
91              esac])
92 AC_MSG_RESULT(${CLASSPATH_CLASSES})
93 AC_DEFINE_UNQUOTED([CLASSPATH_CLASSES], "${CLASSPATH_CLASSES}", [Java core library classes])
94 AC_SUBST(CLASSPATH_CLASSES)
95 ])
96
97
98 dnl where are Java core library native libraries installed
99
100 AC_DEFUN([AC_CHECK_WITH_CLASSPATH_LIBDIR],[
101 AC_MSG_CHECKING(where Java core library native libraries are installed)
102 AC_ARG_WITH([classpath-libdir],
103             [AS_HELP_STRING(--with-classpath-libdir=<dir>,installation directory of Java core library native libraries [[default=CLASSPATH_PREFIX/{lib,lib/${JAVA_ARCH}]])],
104             [CLASSPATH_LIBDIR=${withval}],
105             [case "${WITH_CLASSPATH}" in
106                  gnu)
107                      CLASSPATH_LIBDIR=${CLASSPATH_PREFIX}/lib
108                      ;;
109                  sun)
110                      CLASSPATH_LIBDIR=${CLASSPATH_PREFIX}/lib/${JAVA_ARCH}
111                      ;;
112                  *)
113                      CLASSPATH_LIBDIR=${CLASSPATH_PREFIX}
114                      ;;
115              esac])
116 AC_MSG_RESULT(${CLASSPATH_LIBDIR})
117
118 dnl expand CLASSPATH_LIBDIR to something that is usable in C code
119 AS_AC_EXPAND([CLASSPATH_LIBDIR], ${CLASSPATH_LIBDIR})
120 AC_DEFINE_UNQUOTED([CLASSPATH_LIBDIR], "${CLASSPATH_LIBDIR}", [Java core library native libraries installation directory])
121 AC_SUBST(CLASSPATH_LIBDIR)
122 ])
123
124
125 dnl where jni_md.h is installed
126
127 AC_DEFUN([AC_CHECK_WITH_JNI_MD_H],[
128 AC_MSG_CHECKING(where jni_md.h is installed)
129 AC_ARG_WITH([jni_md_h],
130             [AS_HELP_STRING(--with-jni_md_h=<dir>,path to jni_md.h [[default=(sun:CLASSPATH_PREFIX/include/linux,*:CLASSPATH_PREFIX/include)]])],
131             [WITH_JNI_MD_H=${withval}],
132             [case "${WITH_CLASSPATH}" in
133                  sun)
134                      WITH_JNI_MD_H=${CLASSPATH_PREFIX}/include/linux
135                      ;;
136                  *)
137                      WITH_JNI_MD_H=${CLASSPATH_PREFIX}/include
138                      ;;
139             esac])
140 AC_MSG_RESULT(${WITH_JNI_MD_H})
141
142 dnl We use CPPFLAGS so jni.h can find jni_md.h
143 CPPFLAGS="${CPPFLAGS} -I${WITH_JNI_MD_H}"
144
145 AC_CHECK_HEADER([${WITH_JNI_MD_H}/jni_md.h],
146                 [AC_DEFINE_UNQUOTED([INCLUDE_JNI_MD_H], "${WITH_JNI_MD_H}/jni_md.h", [Java core library jni_md.h header])],
147                 [AC_MSG_ERROR(cannot find jni_md.h)])
148 ])
149
150
151 dnl where jni.h is installed
152
153 AC_DEFUN([AC_CHECK_WITH_JNI_H],[
154 AC_MSG_CHECKING(where jni.h is installed)
155 AC_ARG_WITH([jni_h],
156             [AS_HELP_STRING(--with-jni_h=<dir>,path to jni.h [[default=CLASSPATH_PREFIX/include]])],
157             [WITH_JNI_H=${withval}],
158             [WITH_JNI_H=${CLASSPATH_PREFIX}/include])
159 AC_MSG_RESULT(${WITH_JNI_H})
160
161 dnl We use CPPFLAGS so jni.h can find jni_md.h
162 CPPFLAGS="${CPPFLAGS} -I${WITH_JNI_H}"
163
164 AC_CHECK_HEADER([${WITH_JNI_H}/jni.h],
165                 [AC_DEFINE_UNQUOTED([INCLUDE_JNI_H], "${WITH_JNI_H}/jni.h", [Java core library jni.h header])],
166                 [AC_MSG_ERROR(cannot find jni.h)],
167                 [#include INCLUDE_JNI_MD_H])
168 ])