* m4/classpath.m4: Added Id keyword.
[cacao.git] / m4 / classpath.m4
1 dnl m4/classpath.m4
2 dnl
3 dnl Copyright (C) 2007 R. Grafl, A. Krall, C. Kruegel,
4 dnl C. Oates, R. Obermaisser, M. Platter, M. Probst, S. Ring,
5 dnl E. Steiner, C. Thalinger, D. Thuernbeck, P. Tomsich, C. Ullrich,
6 dnl J. Wenninger, Institut f. Computersprachen - TU Wien
7 dnl 
8 dnl This file is part of CACAO.
9 dnl 
10 dnl This program is free software; you can redistribute it and/or
11 dnl modify it under the terms of the GNU General Public License as
12 dnl published by the Free Software Foundation; either version 2, or (at
13 dnl your option) any later version.
14 dnl 
15 dnl This program is distributed in the hope that it will be useful, but
16 dnl WITHOUT ANY WARRANTY; without even the implied warranty of
17 dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
18 dnl General Public License for more details.
19 dnl 
20 dnl You should have received a copy of the GNU General Public License
21 dnl along with this program; if not, write to the Free Software
22 dnl Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
23 dnl 02110-1301, USA.
24 dnl 
25 dnl $Id: classpath.m4 8133 2007-06-22 13:29:38Z twisti $
26
27
28 dnl which Java core library should we use
29
30 AC_DEFUN([AC_CHECK_WITH_CLASSPATH],[
31 AC_MSG_CHECKING(which Java core library to use)
32 AC_ARG_WITH([classpath],
33             [AS_HELP_STRING(--with-classpath=<type>,specifies which type of classpath to use as Java core library (cldc1.1,gnu,sun) [[default=gnu]])],
34             [case "${withval}" in
35                 cldc1.1)
36                     WITH_CLASSPATH=cldc1.1
37                     AC_DEFINE([WITH_CLASSPATH_CLDC1_1], 1, [use Sun's CLDC1.1 classes])
38                     AC_SUBST(WITH_CLASSPATH_CLDC1_1)
39                     ;;
40                 gnu)
41                     WITH_CLASSPATH=gnu
42                     AC_DEFINE([WITH_CLASSPATH_GNU], 1, [use GNU Classpath])
43                     AC_SUBST(WITH_CLASSPATH_GNU)
44                     ;;
45                 sun)
46                     WITH_CLASSPATH=sun
47                     AC_DEFINE([WITH_CLASSPATH_SUN], 1, [use Sun's Java SE classes])
48                     AC_SUBST(WITH_CLASSPATH_SUN)
49                     ;;
50                 *)
51                     AC_MSG_ERROR(unknown classpath ${withval})
52                     ;;
53              esac],
54             [WITH_CLASSPATH=gnu
55              AC_DEFINE([WITH_CLASSPATH_GNU], 1, [use GNU Classpath])
56              AC_SUBST(WITH_CLASSPATH_GNU)])
57 AC_MSG_RESULT(${WITH_CLASSPATH})
58 AM_CONDITIONAL([WITH_CLASSPATH_CLDC1_1], test x"${WITH_CLASSPATH}" = "xcldc1.1")
59 AM_CONDITIONAL([WITH_CLASSPATH_GNU], test x"${WITH_CLASSPATH}" = "xgnu")
60 AM_CONDITIONAL([WITH_CLASSPATH_SUN], test x"${WITH_CLASSPATH}" = "xsun")
61 ])
62
63
64 dnl where is Java core library installed
65
66 AC_DEFUN([AC_CHECK_WITH_CLASSPATH_PREFIX],[
67 AC_MSG_CHECKING(where Java core library is installed)
68 AC_ARG_WITH([classpath-prefix],
69             [AS_HELP_STRING(--with-classpath-prefix=<dir>,installation directory of Java core library [[default=/usr/local/classpath]])],
70             [CLASSPATH_PREFIX=${withval}],
71             [CLASSPATH_PREFIX=/usr/local/classpath])
72 AC_MSG_RESULT(${CLASSPATH_PREFIX})
73 AC_DEFINE_UNQUOTED([CLASSPATH_PREFIX], "${CLASSPATH_PREFIX}", [Java core library installation directory])
74 AC_SUBST(CLASSPATH_PREFIX)
75 ])
76
77
78 dnl where are Java core library classes installed
79
80 AC_DEFUN([AC_CHECK_WITH_CLASSPATH_CLASSES],[
81 AC_MSG_CHECKING(where Java core library classes are installed)
82 AC_ARG_WITH([classpath-classes],
83             [AS_HELP_STRING(--with-classpath-classes=<path>,path to Java core library classes (includes the name of the file and may be flat) [[default=/usr/local/classpath/share/classpath/glibj.zip]])],
84             [CLASSPATH_CLASSES=${withval}],
85             [CLASSPATH_CLASSES=${CLASSPATH_PREFIX}/share/classpath/glibj.zip])
86 AC_MSG_RESULT(${CLASSPATH_CLASSES})
87 AC_DEFINE_UNQUOTED([CLASSPATH_CLASSES], "${CLASSPATH_CLASSES}", [Java core library classes])
88 AC_SUBST(CLASSPATH_CLASSES)
89 ])
90
91
92 dnl where are Java core library native libraries installed
93
94 AC_DEFUN([AC_CHECK_WITH_CLASSPATH_LIBDIR],[
95 AC_MSG_CHECKING(where Java core library native libraries are installed)
96 AC_ARG_WITH([classpath-libdir],
97             [AS_HELP_STRING(--with-classpath-libdir=<dir>,installation directory of Java core library native libraries [[default=/usr/local/classpath/lib]])],
98             [CLASSPATH_LIBDIR=${withval}],
99             [CLASSPATH_LIBDIR=${CLASSPATH_PREFIX}/lib])
100 AC_MSG_RESULT(${CLASSPATH_LIBDIR})
101
102 dnl expand CLASSPATH_LIBDIR to something that is usable in C code
103 AS_AC_EXPAND([CLASSPATH_LIBDIR], ${CLASSPATH_LIBDIR})
104 AC_DEFINE_UNQUOTED([CLASSPATH_LIBDIR], "${CLASSPATH_LIBDIR}", [Java core library native libraries installation directory])
105 AC_SUBST(CLASSPATH_LIBDIR)
106 ])
107
108
109 dnl where are Java core library headers installed
110
111 AC_DEFUN([AC_CHECK_WITH_CLASSPATH_INCLUDEDIR],[
112 AC_MSG_CHECKING(where Java core library headers are installed)
113 AC_ARG_WITH([classpath-includedir],
114             [AS_HELP_STRING(--with-classpath-includedir=<dir>,installation directory of Java core library headers [[default=/usr/local/classpath/include]])],
115             [CLASSPATH_INCLUDEDIR=${withval}],
116             [CLASSPATH_INCLUDEDIR=${CLASSPATH_PREFIX}/include])
117 AC_MSG_RESULT(${CLASSPATH_INCLUDEDIR})
118
119 if test x"${WITH_CLASSPATH}" = "xsun"; then
120     AC_CHECK_HEADER([${CLASSPATH_INCLUDEDIR}/${OS_DIR}/jni_md.h],
121                     [AC_DEFINE_UNQUOTED([CLASSPATH_JNI_MD_H], "${CLASSPATH_INCLUDEDIR}/${OS_DIR}/jni_md.h", [Java core library jni_md.h header])],
122                     [AC_MSG_ERROR(cannot find jni_md.h)])
123 else
124     AC_CHECK_HEADER([${CLASSPATH_INCLUDEDIR}/jni_md.h],
125                     [AC_DEFINE_UNQUOTED([CLASSPATH_JNI_MD_H], "${CLASSPATH_INCLUDEDIR}/jni_md.h", [Java core library jni_md.h header])],
126                     [AC_MSG_ERROR(cannot find jni_md.h)])
127 fi
128
129 AC_CHECK_HEADER([${CLASSPATH_INCLUDEDIR}/jni.h],
130                 [AC_DEFINE_UNQUOTED([CLASSPATH_JNI_H], "${CLASSPATH_INCLUDEDIR}/jni.h", [Java core library jni.h header])],
131                 [AC_MSG_ERROR(cannot find jni.h)],
132                 [#define __GCJ_JNI_MD_H__
133                  #include CLASSPATH_JNI_MD_H])
134 ])