Merged with cldc-branch
[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 8398 2007-08-22 16:56:45Z 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,lib/${JAVA_ARCH}]])],
108             [CLASSPATH_LIBDIR=${withval}],
109             [case "${WITH_CLASSPATH}" in
110                  gnu)
111                      CLASSPATH_LIBDIR=${CLASSPATH_PREFIX}/lib
112                      ;;
113                  sun)
114                      CLASSPATH_LIBDIR=${CLASSPATH_PREFIX}/lib/${JAVA_ARCH}
115                      ;;
116                  *)
117                      CLASSPATH_LIBDIR=${CLASSPATH_PREFIX}
118                      ;;
119              esac])
120 AC_MSG_RESULT(${CLASSPATH_LIBDIR})
121
122 dnl expand CLASSPATH_LIBDIR to something that is usable in C code
123 AS_AC_EXPAND([CLASSPATH_LIBDIR], ${CLASSPATH_LIBDIR})
124 AC_DEFINE_UNQUOTED([CLASSPATH_LIBDIR], "${CLASSPATH_LIBDIR}", [Java core library native libraries installation directory])
125 AC_SUBST(CLASSPATH_LIBDIR)
126 ])
127
128
129 dnl where are Java core library headers installed
130
131 AC_DEFUN([AC_CHECK_WITH_CLASSPATH_INCLUDEDIR],[
132 AC_MSG_CHECKING(where Java core library headers are installed)
133 AC_ARG_WITH([classpath-includedir],
134             [AS_HELP_STRING(--with-classpath-includedir=<dir>,installation directory of Java core library headers [[default=/usr/local/classpath/include]])],
135             [CLASSPATH_INCLUDEDIR=${withval}],
136             [CLASSPATH_INCLUDEDIR=${CLASSPATH_PREFIX}/include])
137 AC_MSG_RESULT(${CLASSPATH_INCLUDEDIR})
138
139 if test x"${WITH_CLASSPATH}" = "xsun"; then
140     AC_CHECK_HEADER([${CLASSPATH_INCLUDEDIR}/${OS_DIR}/jni_md.h],
141                     [AC_DEFINE_UNQUOTED([CLASSPATH_JNI_MD_H], "${CLASSPATH_INCLUDEDIR}/${OS_DIR}/jni_md.h", [Java core library jni_md.h header])],
142                     [AC_MSG_ERROR(cannot find jni_md.h)])
143 else
144     AC_CHECK_HEADER([${CLASSPATH_INCLUDEDIR}/jni_md.h],
145                     [AC_DEFINE_UNQUOTED([CLASSPATH_JNI_MD_H], "${CLASSPATH_INCLUDEDIR}/jni_md.h", [Java core library jni_md.h header])],
146                     [AC_MSG_ERROR(cannot find jni_md.h)])
147 fi
148
149 AC_CHECK_HEADER([${CLASSPATH_INCLUDEDIR}/jni.h],
150                 [AC_DEFINE_UNQUOTED([CLASSPATH_JNI_H], "${CLASSPATH_INCLUDEDIR}/jni.h", [Java core library jni.h header])],
151                 [AC_MSG_ERROR(cannot find jni.h)],
152                 [#define __GCJ_JNI_MD_H__
153                  #include CLASSPATH_JNI_MD_H])
154 ])