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