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