xref: /aosp_15_r20/external/antlr/runtime/C/configure.ac (revision 16467b971bd3e2009fad32dd79016f2c7e421deb)
1*16467b97STreehugger Robot#                                               -*- Autoconf -*-
2*16467b97STreehugger Robot# Process this file with autoconf to produce a configure script.
3*16467b97STreehugger Robot
4*16467b97STreehugger RobotAC_INIT(libantlr3c, 3.4, [email protected])
5*16467b97STreehugger RobotAC_PREREQ(2.60)
6*16467b97STreehugger RobotAC_COPYRIGHT([
7*16467b97STreehugger Robot (The "BSD licence")
8*16467b97STreehugger Robot Copyright (c) 2005-2009 Jim Idle, Temporal Wave LLC
9*16467b97STreehugger Robot http://www.temporal-wave.com
10*16467b97STreehugger Robot http://www.linkedin.com/in/jimidle
11*16467b97STreehugger Robot All rights reserved.
12*16467b97STreehugger Robot
13*16467b97STreehugger Robot Redistribution and use in source and binary forms, with or without
14*16467b97STreehugger Robot modification, are permitted provided that the following conditions
15*16467b97STreehugger Robot are met:
16*16467b97STreehugger Robot 1. Redistributions of source code must retain the above copyright
17*16467b97STreehugger Robot    notice, this list of conditions and the following disclaimer.
18*16467b97STreehugger Robot 2. Redistributions in binary form must reproduce the above copyright
19*16467b97STreehugger Robot    notice, this list of conditions and the following disclaimer in the
20*16467b97STreehugger Robot    documentation and/or other materials provided with the distribution.
21*16467b97STreehugger Robot 3. The name of the author may not be used to endorse or promote products
22*16467b97STreehugger Robot    derived from this software without specific prior written permission.
23*16467b97STreehugger Robot
24*16467b97STreehugger Robot THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
25*16467b97STreehugger Robot IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
26*16467b97STreehugger Robot OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
27*16467b97STreehugger Robot IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
28*16467b97STreehugger Robot INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
29*16467b97STreehugger Robot NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
30*16467b97STreehugger Robot DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
31*16467b97STreehugger Robot THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
32*16467b97STreehugger Robot (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
33*16467b97STreehugger Robot THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34*16467b97STreehugger Robot])
35*16467b97STreehugger RobotAC_CONFIG_SRCDIR(src/antlr3parser.c)
36*16467b97STreehugger Robot
37*16467b97STreehugger Robot
38*16467b97STreehugger RobotAC_ARG_ENABLE([debuginfo],
39*16467b97STreehugger Robot		[AS_HELP_STRING([--enable-debuginfo], [Compiles debug info into the library (default --disable-debuginfo)])],
40*16467b97STreehugger Robot		[], [enable_debuginfo=no])
41*16467b97STreehugger Robot
42*16467b97STreehugger RobotAC_ARG_ENABLE([64bit],
43*16467b97STreehugger Robot		[AS_HELP_STRING([--enable-64bit], [Turns on flags that produce 64 bit object code if any are required (default --disable-64bit)])],
44*16467b97STreehugger Robot		[], [enable_64bit=no])
45*16467b97STreehugger Robot
46*16467b97STreehugger RobotAC_ARG_ENABLE([abiflags],
47*16467b97STreehugger Robot		[AS_HELP_STRING([--disable-abiflags], [Does not add ABI flags -m32 or -m64 for older versions of gcc, such as itanium 3.x (default --enable-abiflags=yes)])],
48*16467b97STreehugger Robot		[], [enable_abiflags=yes])
49*16467b97STreehugger Robot
50*16467b97STreehugger RobotAC_ARG_ENABLE([antlrdebug],
51*16467b97STreehugger Robot		[AS_HELP_STRING([--disable-antlrdebug], [Turns off default flags that include the antlr debugger in the runtime. Specify to remove debugger and the socket dependancies (default --enable-antlrdebug)])],
52*16467b97STreehugger Robot		[], [enable_antlrdebug=yes])
53*16467b97STreehugger Robot
54*16467b97STreehugger RobotAM_INIT_AUTOMAKE(foreign)
55*16467b97STreehugger RobotAC_LANG(C)
56*16467b97STreehugger RobotAC_PROG_CC([xlc aCC gcc cc])
57*16467b97STreehugger RobotAM_MAINTAINER_MODE
58*16467b97STreehugger RobotAM_PROG_LIBTOOL
59*16467b97STreehugger Robot
60*16467b97STreehugger RobotAC_CANONICAL_BUILD
61*16467b97STreehugger RobotAC_CANONICAL_HOST
62*16467b97STreehugger Robot
63*16467b97STreehugger RobotOBJECT_MODE=
64*16467b97STreehugger Robot# Checks for programs.
65*16467b97STreehugger RobotAC_MSG_CHECKING([compiler flags required for compiling ANTLR with $CC C compiler on host $host])
66*16467b97STreehugger RobotWARNFLAGS=
67*16467b97STreehugger Robotcase $CC in
68*16467b97STreehugger Robotxlc*)
69*16467b97STreehugger Robot CPPCMNTFLAGS="-qcpluscmt"
70*16467b97STreehugger Robot if test x"$enable_64bit" = xyes; then
71*16467b97STreehugger Robot  CCFLAGS64="-q64 -Wl,-b64"
72*16467b97STreehugger Robot  OBJECT_MODE="64"
73*16467b97STreehugger Robot else
74*16467b97STreehugger Robot  OBJECT_MODE="32"
75*16467b97STreehugger Robot fi
76*16467b97STreehugger Robot OPTIMFLAGS="-O2"
77*16467b97STreehugger Robot if test x"$enable_debuginfo" = xyes; then
78*16467b97STreehugger Robot  DEBUGFLAGS="-g"
79*16467b97STreehugger Robot fi
80*16467b97STreehugger Robot ;;
81*16467b97STreehugger Robot
82*16467b97STreehugger RobotaCC*)
83*16467b97STreehugger Robot CPPCMNTFLAGS=
84*16467b97STreehugger Robot if test x"$enable_64bit" = xyes; then
85*16467b97STreehugger Robot  CCFLAGS64="+DD64"
86*16467b97STreehugger Robot fi
87*16467b97STreehugger Robot OPTIMFLAGS="-O"
88*16467b97STreehugger Robot if test $DEBUGINF = 1; then
89*16467b97STreehugger Robot  DEBUGFLAGS="-g"
90*16467b97STreehugger Robot fi
91*16467b97STreehugger Robot ;;
92*16467b97STreehugger Robot
93*16467b97STreehugger Robotgcc*)
94*16467b97STreehugger Robot CPPCMNTFLAGS=
95*16467b97STreehugger Robot if test x"$enable_64bit" = xyes; then
96*16467b97STreehugger Robot  GCCABIFLAGS="-m64"
97*16467b97STreehugger Robot else
98*16467b97STreehugger Robot  GCCABIFLAGS="-m32"
99*16467b97STreehugger Robot fi
100*16467b97STreehugger Robot if test x"$enable_abiflags" = xyes; then
101*16467b97STreehugger Robot  CCFLAGS64=$GCCABIFLAGS
102*16467b97STreehugger Robot fi
103*16467b97STreehugger Robot OPTIMFLAGS="-O2"
104*16467b97STreehugger Robot if test x"$enable_debuginfo" = xyes; then
105*16467b97STreehugger Robot  DEBUGFLAGS="-g"
106*16467b97STreehugger Robot fi
107*16467b97STreehugger Robot WARNFLAGS=-Wall
108*16467b97STreehugger Robot ;;
109*16467b97STreehugger Robot
110*16467b97STreehugger Robot*)
111*16467b97STreehugger Robot
112*16467b97STreehugger Robotcase $host in
113*16467b97STreehugger Robotsparc*-*solaris*)
114*16467b97STreehugger Robot CPPCMNTFLAGS=
115*16467b97STreehugger Robot if test x"$enable_64bit" = xyes; then
116*16467b97STreehugger Robot  CCFLAGS64="-fast -xtarget=ultra4 -m64 -xarch=sparcvis"
117*16467b97STreehugger Robot fi
118*16467b97STreehugger Robot OPTIMFLAGS="-O"
119*16467b97STreehugger Robot if test x"$enable_debuginfo" = xyes; then
120*16467b97STreehugger Robot  DEBUGFLAGS='-g'
121*16467b97STreehugger Robot fi
122*16467b97STreehugger Robot ;;
123*16467b97STreehugger Robot
124*16467b97STreehugger Robot*)
125*16467b97STreehugger Robot CPPCMNTFLAGS=
126*16467b97STreehugger Robot CCFLAGS64=
127*16467b97STreehugger Robot OPTIMFLAGS="-O"
128*16467b97STreehugger Robot if test x"$enable_debuginfo" = xyes; then
129*16467b97STreehugger Robot  DEBUGFLAGS='-g'
130*16467b97STreehugger Robot fi
131*16467b97STreehugger Robot ;;
132*16467b97STreehugger Robotesac
133*16467b97STreehugger Robot
134*16467b97STreehugger Robot ;;
135*16467b97STreehugger Robotesac
136*16467b97STreehugger Robot
137*16467b97STreehugger RobotCFLAGS="$CCFLAGS64 $CPPCMNTFLAGS $OPTIMFLAGS $DEBUGFLAGS $WARNFLAGS"
138*16467b97STreehugger RobotAC_MSG_RESULT([$CFLAGS])
139*16467b97STreehugger RobotAC_SUBST([OBJECT_MODE])
140*16467b97STreehugger Robot
141*16467b97STreehugger RobotAS_IF([test "x$enable_antlrdebug" = xno], [AC_DEFINE([ANTLR3_NODEBUGGER], [1], [Define if ANTLR debugger not required])], [])
142*16467b97STreehugger RobotAS_IF([test x"$enable_64bit" = xyes], [AC_DEFINE([ANTLR3_USE_64BIT], [1], [Define if 64 bit mode required])], [])
143*16467b97STreehugger Robot
144*16467b97STreehugger RobotAC_PROG_INSTALL
145*16467b97STreehugger RobotAC_PROG_LN_S
146*16467b97STreehugger RobotAC_PROG_MAKE_SET
147*16467b97STreehugger Robot
148*16467b97STreehugger Robot# Checks for libraries.
149*16467b97STreehugger Robot
150*16467b97STreehugger Robot# Checks for header files.
151*16467b97STreehugger RobotAC_INCLUDES_DEFAULT()
152*16467b97STreehugger RobotAC_HEADER_RESOLV
153*16467b97STreehugger RobotAC_CHECK_HEADERS([sys/malloc.h malloc.h], [], [],
154*16467b97STreehugger Robot[[#ifdef HAVE_SYS_MALLOC_H
155*16467b97STreehugger Robot#include <sys/malloc.h>
156*16467b97STreehugger Robot#endif
157*16467b97STreehugger Robot#ifdef HAVE_MALLOC_H
158*16467b97STreehugger Robot#include <malloc.h>
159*16467b97STreehugger Robot#endif
160*16467b97STreehugger Robot]])
161*16467b97STreehugger RobotAC_CHECK_HEADERS([stdarg.h], [], [],
162*16467b97STreehugger Robot[[#ifdef HAVE_STDARG_H
163*16467b97STreehugger Robot#include <stdarg.h>
164*16467b97STreehugger Robot#endif
165*16467b97STreehugger Robot]])
166*16467b97STreehugger Robot
167*16467b97STreehugger RobotAC_CHECK_HEADERS([sys/stat.h], [], [],
168*16467b97STreehugger Robot[[#ifdef HAVE_SYS_STAT_H
169*16467b97STreehugger Robot#include <sys/stat.h>
170*16467b97STreehugger Robot#endif
171*16467b97STreehugger Robot]])
172*16467b97STreehugger Robot
173*16467b97STreehugger RobotAC_CHECK_HEADERS([ctype.h], [], [],
174*16467b97STreehugger Robot[[#ifdef HAVE_CTYPE_H
175*16467b97STreehugger Robot#include <ctype.h>
176*16467b97STreehugger Robot#endif
177*16467b97STreehugger Robot]])
178*16467b97STreehugger Robot
179*16467b97STreehugger RobotAC_CHECK_HEADERS([netinet/tcp.h], [], [],
180*16467b97STreehugger Robot[[#ifdef HAVE_NETINET_TCP_H
181*16467b97STreehugger Robot#include <netinet/tcp.h>
182*16467b97STreehugger Robot#endif
183*16467b97STreehugger Robot]])
184*16467b97STreehugger Robot
185*16467b97STreehugger RobotAC_CHECK_HEADERS([sys/socket.h socket.h], [], [],
186*16467b97STreehugger Robot[[#ifdef HAVE_SYS_SOCKET_H
187*16467b97STreehugger Robot#include <sys/socket.h>
188*16467b97STreehugger Robot#endif
189*16467b97STreehugger Robot#ifdef HAVE_SOCKET_H
190*16467b97STreehugger Robot#include <socket.h>
191*16467b97STreehugger Robot#endif
192*16467b97STreehugger Robot]])
193*16467b97STreehugger Robot
194*16467b97STreehugger Robot# Checks for typedefs, structures, and compiler characteristics.
195*16467b97STreehugger RobotAC_C_CONST
196*16467b97STreehugger RobotAC_TYPE_SIZE_T
197*16467b97STreehugger RobotAC_TYPE_INT8_T
198*16467b97STreehugger RobotAC_TYPE_INT16_T
199*16467b97STreehugger RobotAC_TYPE_INT32_T
200*16467b97STreehugger RobotAC_TYPE_INT64_T
201*16467b97STreehugger RobotAC_TYPE_INTPTR_T
202*16467b97STreehugger RobotAC_TYPE_UINT8_T
203*16467b97STreehugger RobotAC_TYPE_UINT16_T
204*16467b97STreehugger RobotAC_TYPE_UINT32_T
205*16467b97STreehugger RobotAC_TYPE_UINT64_T
206*16467b97STreehugger RobotAC_TYPE_UINTPTR_T
207*16467b97STreehugger RobotAC_C_INLINE
208*16467b97STreehugger Robot
209*16467b97STreehugger Robot
210*16467b97STreehugger Robot# Checks for library functions.
211*16467b97STreehugger RobotAC_CHECK_FUNCS([memmove memset strdup accept])
212*16467b97STreehugger Robot
213*16467b97STreehugger RobotAC_CONFIG_MACRO_DIR([m4])
214*16467b97STreehugger Robot
215*16467b97STreehugger RobotAC_CONFIG_HEADERS(antlr3config.h)
216*16467b97STreehugger RobotAC_CONFIG_FILES([Makefile])
217*16467b97STreehugger RobotAC_OUTPUT
218