source: trunk/j/configure.ac @ 8579

Last change on this file since 8579 was 8579, checked in by piso, 16 years ago

0.21.0.2

File size: 6.1 KB
Line 
1dnl  Process this file with autoconf to produce a configure script.
2dnl
3dnl  Copyright (C) 1998-2004 Peter Graves
4dnl  $Id: configure.ac,v 1.70 2005-02-15 01:45:43 piso Exp $
5dnl
6dnl  This program is free software; you can redistribute it and/or
7dnl  modify it under the terms of the GNU General Public License
8dnl  as published by the Free Software Foundation; either version 2
9dnl  of the License, or (at your option) any later version.
10dnl
11dnl  This program is distributed in the hope that it will be useful,
12dnl  but WITHOUT ANY WARRANTY; without even the implied warranty of
13dnl  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14dnl  GNU General Public License for more details.
15dnl
16dnl  You should have received a copy of the GNU General Public License
17dnl  along with this program; if not, write to the Free Software
18dnl  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
19
20AC_REVISION($Revision: 1.70 $)
21
22BOOTFILE=./configure-options
23
24if test -f "${BOOTFILE}" && test -z "${IN_BOOT}" ; then
25    echo "reading options from ${BOOTFILE}"
26    IN_BOOT=1 $0 `cat ${BOOTFILE}` $*
27    exit $?
28fi
29
30AC_INIT(j.in)
31
32AC_PROG_INSTALL
33
34version=0.21.0.2
35AC_SUBST(version)
36
37if test $OSTYPE = cygwin32 || test $OSTYPE = cygwin ; then
38    CYGWIN=yes
39    PATHSEP=";"
40else
41    PATHSEP=":"
42fi
43AC_SUBST(PATHSEP)
44
45
46dnl  Make srcdir absolute.
47
48case "${srcdir}" in
49    /*)
50        ;;
51    .)
52        unset CDPATH
53        if test "${PWD}" != "" && test "`(cd ${PWD}; sh -c pwd)`" = "`pwd`"; then
54            srcdir="$PWD"
55        else
56            srcdir="`(cd ${srcdir}; pwd)`"
57        fi
58        ;;
59    *)
60        srcdir="`(cd ${srcdir}; pwd)`"
61        ;;
62esac
63
64
65dnl  User -must- specify location of JDK.
66AC_ARG_WITH(jdk,
67[  --with-jdk=DIR          JDK you want to use ],
68[
69    JDK=${with_jdk}
70],
71[
72    AC_MSG_ERROR([no jdk specified; use --with-jdk])
73])
74
75dnl  Remove trailing '/' (if any).
76JDK=`echo $JDK | sed -e 's/\/$//'`
77
78if test -x $JDK/bin/java; then
79    JAVA=$JDK/bin/java;
80elif test -x $JDK/jre/bin/java; then
81    JAVA=$JDK/jre/bin/java;
82elif test -x $JDK/Home/bin/java; then
83    JAVA=$JDK/Home/bin/java;
84else
85    AC_MSG_ERROR(Java not found)
86fi
87AC_SUBST(JDK)
88AC_SUBST(JAVA)
89
90
91dnl  Java version.
92
93AC_MSG_CHECKING(Java version)
94JAVA_VERSION=`$JAVA -version 2>&1`
95
96case "$JAVA_VERSION" in
97    java*1.5*)
98        AC_MSG_RESULT($JAVA_VERSION)
99        ;;
100    java*1.4*)
101        AC_MSG_RESULT($JAVA_VERSION)
102        ;;
103    *)
104        AC_MSG_ERROR(Java 1.4 or later is required)
105        ;;
106esac
107
108
109dnl  jikes/javac
110
111test -z "$JAVAC" && test -x $JDK/Home/bin/javac && JAVAC=$JDK/Home/bin/javac
112test -z "$JAVAC" && JAVAC=$JDK/bin/javac
113AC_SUBST(JAVAC)
114test "$JAVAC" = jikes && JAVACFLAGS="+D +F"
115AC_SUBST(JAVACFLAGS)
116
117dnl javah
118
119JAVAH=$JDK/bin/javah
120AC_SUBST(JAVAH)
121
122
123dnl  fastjar/jar
124
125test -z "$JAR" && AC_CHECK_PROGS(JAR, fastjar)
126test -z "$JAR" && test -x $JDK/Home/bin/jar && JAR=$JDK/Home/bin/jar
127test -z "$JAR" && JAR=$JDK/bin/jar
128AC_SUBST(JAR)
129
130
131dnl  Location of Lisp source files.
132LISP_HOME=$srcdir/src/org/armedbear/lisp
133AC_SUBST(LISP_HOME)
134
135
136dnl  Make prefix explicit.
137test "x$prefix" = xNONE && prefix=/usr/local
138
139dnl  Make prefix explicit.
140test "x$exec_prefix" = xNONE && exec_prefix="${prefix}"
141
142dnl  Make datadir and libdir explicit.
143eval "datadir=$datadir"
144eval "libdir=$libdir"
145
146dnl Library path for libabcl.so.
147ABCL_LIBPATH=$LISP_HOME:$libdir/abcl
148AC_SUBST(ABCL_LIBPATH)
149
150dnl  Java runtime classes and options
151if test -f $JDK/jre/lib/rt.jar ; then
152    # SUN
153    JAVA_RUNTIME=$JDK/jre/lib/rt.jar
154    ABCL_JAVA_OPTIONS="-server -Xmx128M"
155elif test -f $JDK/jre/lib/core.jar ; then
156    # IBM
157    JAVA_RUNTIME=""
158    for i in $JDK/jre/lib/*.jar ; do JAVA_RUNTIME=$JAVA_RUNTIME:$i ; done
159    ABCL_JAVA_OPTIONS="-Xss512K -Xmx128M"
160elif test -d $JDK/Classes ; then
161    # Mac OS X
162    JAVA_RUNTIME=""
163    for i in $JDK/Classes/*.jar ; do JAVA_RUNTIME=$JAVA_RUNTIME:$i ; done
164    ABCL_JAVA_OPTIONS="-server"
165else
166    AC_MSG_ERROR(unable to find Java runtime)
167fi
168if test -f $JDK/lib/tools.jar ; then
169    JAVA_RUNTIME=$JAVA_RUNTIME:$JDK/lib/tools.jar
170fi
171AC_SUBST(JAVA_RUNTIME)
172AC_SUBST(ABCL_JAVA_OPTIONS)
173
174
175dnl  Construct command line for shell script.
176
177dnl  Places to look for j.
178JPATH=$srcdir/src:$datadir/j/j.jar
179
180CP="-cp"
181CLASSPATH="$JPATH:$JDK/lib/tools.jar"
182ABCL_CLASSPATH=$JPATH
183AC_SUBST(CP)
184AC_SUBST(CLASSPATH)
185AC_SUBST(ABCL_CLASSPATH)
186
187COMPILER_CLASSPATH="$srcdir/src:$JAVA_RUNTIME"
188AC_SUBST(COMPILER_CLASSPATH)
189
190dnl  Runtime options to be passed to java
191AC_ARG_WITH(options,
192[  --with-options=OPTIONS  runtime options to be passed to java (e.g. -server) ],
193[
194    JAVA_OPTIONS=${with_options}
195])
196AC_SUBST(JAVA_OPTIONS)
197
198dnl  Extensions (JIMI etc.)
199AC_ARG_WITH(extensions,
200[  --with-extensions=PATH  extensions to CLASSPATH (JIMI, Xerces, etc.) ],
201[
202    EXTENSIONS=${with_extensions}
203])
204
205if test $EXTENSIONS; then
206    CLASSPATH="$CLASSPATH:$EXTENSIONS"
207    COMPILER_CLASSPATH="$COMPILER_CLASSPATH:$EXTENSIONS"
208fi
209
210if test $CYGWIN; then
211    JAVA_RUNTIME=`cygpath -p -w $JAVA_RUNTIME`
212    CLASSPATH=`cygpath -p -w $CLASSPATH`
213    COMPILER_CLASSPATH=`cygpath -p -w $COMPILER_CLASSPATH`
214fi
215
216dnl jpty
217
218AC_ARG_ENABLE(jpty,
219[  --enable-jpty           build and install jpty
220  --disable-jpty          do not build or install jpty (default)])
221
222if test "$enable_jpty" = "yes"; then
223    if test $CYGWIN; then
224        JPTY=jpty.exe
225    else
226        JPTY=jpty
227    fi
228fi
229
230AC_SUBST(JPTY)
231
232dnl libabcl
233
234AC_ARG_ENABLE(libabcl,
235[  --enable-libabcl        build and install libabcl.so
236  --disable-libabcl       do not build or install libabcl.so (default)])
237
238if test "$enable_libabcl" = "yes"; then
239    LIBABCL=libabcl.so
240fi
241
242AC_SUBST(LIBABCL)
243
244dnl debug
245
246AC_ARG_ENABLE(debug,
247[  --enable-debug          enable run-time debugging
248  --disable-debug         disable run-time debugging (default)])
249
250if test "$enable_debug" = "yes"; then
251    JAVACFLAGS="$JAVACFLAGS -g"
252else
253    JAVACFLAGS="$JAVACFLAGS -g:none"
254fi
255
256
257AC_CONFIG_FILES([
258Makefile
259src/Makefile
260src/jpty/Makefile
261src/gnu/regexp/Makefile
262src/org/armedbear/j/Makefile
263src/org/armedbear/j/version
264src/org/armedbear/j/mail/Makefile
265src/org/armedbear/j/jdb/Makefile
266src/org/armedbear/lisp/Makefile
267src/org/armedbear/lisp/java/awt/Makefile
268j
269abcl
270])
271
272AC_CONFIG_COMMANDS([chmod], [chmod 755 j; chmod 755 abcl])
273
274AC_OUTPUT
Note: See TracBrowser for help on using the repository browser.