Merged revisions 8245-8298 via svnmerge from
[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 8248 2007-07-31 12:47:11Z 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=CLASSPATH_PREFIX/{share/classpath/glibj.zip,classes}]])],
84             [CLASSPATH_CLASSES=${withval}],
85             [case "${WITH_CLASSPATH}" in
86                  gnu)
87                      CLASSPATH_CLASSES=${CLASSPATH_PREFIX}/share/classpath/glibj.zip
88                      ;;
89                  sun)
90                      CLASSPATH_CLASSES=${CLASSPATH_PREFIX}/classes
91                      ;;
92                  *)
93                      CLASSPATH_CLASSES=${CLASSPATH_PREFIX}
94                      ;;
95              esac])
96 AC_MSG_RESULT(${CLASSPATH_CLASSES})
97 AC_DEFINE_UNQUOTED([CLASSPATH_CLASSES], "${CLASSPATH_CLASSES}", [Java core library classes])
98 AC_SUBST(CLASSPATH_CLASSES)
99 ])
100
101
102 dnl where are Java core library native libraries installed
103
104 AC_DEFUN([AC_CHECK_WITH_CLASSPATH_LIBDIR],[
105 AC_MSG_CHECKING(where Java core library native libraries are installed)
106 AC_ARG_WITH([classpath-libdir],
107             [AS_HELP_STRING(--with-classpath-libdir=<dir>,installation directory of Java core library native libraries [[default=CLASSPATH_PREFIX/lib]])],
108             [CLASSPATH_LIBDIR=${withval}],
109             [CLASSPATH_LIBDIR=${CLASSPATH_PREFIX}/lib])
110 AC_MSG_RESULT(${CLASSPATH_LIBDIR})
111
112 dnl expand CLASSPATH_LIBDIR to something that is usable in C code
113 AS_AC_EXPAND([CLASSPATH_LIBDIR], ${CLASSPATH_LIBDIR})
114 AC_DEFINE_UNQUOTED([CLASSPATH_LIBDIR], "${CLASSPATH_LIBDIR}", [Java core library native libraries installation directory])
115 AC_SUBST(CLASSPATH_LIBDIR)
116 ])
117
118
119 dnl where are Java core library headers installed
120
121 AC_DEFUN([AC_CHECK_WITH_CLASSPATH_INCLUDEDIR],[
122 AC_MSG_CHECKING(where Java core library headers are installed)
123 AC_ARG_WITH([classpath-includedir],
124             [AS_HELP_STRING(--with-classpath-includedir=<dir>,installation directory of Java core library headers [[default=/usr/local/classpath/include]])],
125             [CLASSPATH_INCLUDEDIR=${withval}],
126             [CLASSPATH_INCLUDEDIR=${CLASSPATH_PREFIX}/include])
127 AC_MSG_RESULT(${CLASSPATH_INCLUDEDIR})
128
129 if test x"${WITH_CLASSPATH}" = "xsun"; then
130     AC_CHECK_HEADER([${CLASSPATH_INCLUDEDIR}/${OS_DIR}/jni_md.h],
131                     [AC_DEFINE_UNQUOTED([CLASSPATH_JNI_MD_H], "${CLASSPATH_INCLUDEDIR}/${OS_DIR}/jni_md.h", [Java core library jni_md.h header])],
132                     [AC_MSG_ERROR(cannot find jni_md.h)])
133 else
134     AC_CHECK_HEADER([${CLASSPATH_INCLUDEDIR}/jni_md.h],
135                     [AC_DEFINE_UNQUOTED([CLASSPATH_JNI_MD_H], "${CLASSPATH_INCLUDEDIR}/jni_md.h", [Java core library jni_md.h header])],
136                     [AC_MSG_ERROR(cannot find jni_md.h)])
137 fi
138
139 AC_CHECK_HEADER([${CLASSPATH_INCLUDEDIR}/jni.h],
140                 [AC_DEFINE_UNQUOTED([CLASSPATH_JNI_H], "${CLASSPATH_INCLUDEDIR}/jni.h", [Java core library jni.h header])],
141                 [AC_MSG_ERROR(cannot find jni.h)],
142                 [#define __GCJ_JNI_MD_H__
143                  #include CLASSPATH_JNI_MD_H])
144 ])