1dnl ## 2dnl ## configure.in -- GNU autoconf configuration spec 3dnl ## Copyright (c) Ralf S. Engelschall, <rse@engelschall.com> 4dnl ## 5dnl ## Process this file with ``autoconf'' to produce a configure script. 6dnl ## 7 8 9dnl # 10dnl # standard autoconf prolog 11dnl # 12 13AC_PREREQ(2.10)dnl 14AC_REVISION($Revision: 2.0$) 15echo "Configuring for ePerl `./etc/newvers -l c -D eperl_version.c`" 16 17AC_CONFIG_AUX_DIR(etc) 18AC_INIT(README) 19AC_CONFIG_HEADER(config_ac.h)dnl 20AC_PREFIX_DEFAULT(/usr/local) 21 22 23dnl # 24dnl # libdir adjustment 25dnl # 26 27test "x$prefix" = xNONE && prefix=$ac_default_prefix 28eval "dir=$prefix" 29case $dir in 30 *eperl* ) libsubdir= ;; 31 * ) libsubdir="/eperl" ;; 32esac 33AC_SUBST(libsubdir) 34 35 36dnl # 37dnl # latest find Perl interpreter 38dnl # 39 40AC_CONFIGURE_PART(CHECK: Configuration of Perl Language) 41AC_MSG_CHECKING([for Perl language]) 42AC_ARG_WITH(perl,dnl 43[ --with-perl=PATH force the usage of a specific installed Perl], 44perlprog=$with_perl 45perlvers=`$perlprog -v | grep version | sed -e 's/.* version //' -e 's/ built.*//' -e 's/ with.*//'` 46, 47TMPFILE=/tmp/x.$$ 48rm -f $TMPFILE 49touch $TMPFILE 50c=0 51for dir in `echo $PATH | sed -e 's/:/ /g'` /tmp; do 52 for perl in perl5 perl miniperl; do 53 if test -f "$dir/$perl"; then 54 if test -x "$dir/$perl"; then 55 perl="$dir/$perl" 56 version=`$perl -v | grep version | sed -e 's/.* version //' -e 's/ built.*//' -e 's/ with.*//'` 57 versionnum="`echo $version | sed -e 's/\.//g' -e 's/_//g'`" 58 versionnum=`expr $versionnum - $c` 59 echo "$versionnum $version $perl" >>$TMPFILE 60 fi 61 fi 62 done 63 c=`expr $c + 1` 64done 65perlvers="`cat $TMPFILE | sort -u | tail -1 | cut '-d ' -f2`" 66perlprog="`cat $TMPFILE | sort -u | tail -1 | cut '-d ' -f3`" 67rm -f $TMPFILE 68)dnl 69PATH_PERL=$perlprog 70AC_MSG_RESULT([$perlprog v$perlvers]) 71case $perlvers in 72 5.003* | 5.004* | 5.005* | 5.006* ) 73 ;; 74 * ) echo "" 75 echo "Latest Perl found on your system is $perlvers," 76 echo "but at least Perl version 5.003 is required." 77 echo "In case the newer one is not in PATH, just use" 78 echo "the option --with-perl=/path/to/bin/perl to" 79 echo "provide the correct executable." 80 echo "" 81 AC_ERROR([Perl version too old]) 82 ;; 83esac 84case $perlvers in 85 5.00[[3-6]_[0-9][0-9]] ) 86 perlvnum=`echo $perlvers | sed -e 's/\.//' -e 's/_//'` ;; 87 5.00[[3-6]] ) 88 perlvnum=`echo $perlvers | sed -e 's/\.//' -e 's/$/00/'` ;; 89 * ) 90 perlvnum=`echo $perlvers | sed -e 's/\.//' -e 's/_//'` ;; 91esac 92AC_SUBST(PATH_PERL) 93AC_SUBST(perlprog) 94AC_SUBST(perlvers) 95AC_SUBST(perlvnum) 96perl_prog=$perlprog 97perl_vers=$perlvers 98perl_vnum=$perlvnum 99AC_SUBST(perl_prog) 100AC_SUBST(perl_vers) 101AC_SUBST(perl_vnum) 102if test -f $PATH_PERL; then 103 : 104else 105 AC_ERROR([required program ``perl'' not found]) 106fi 107 108 109dnl # 110dnl # determine Perl parameters 111dnl # 112 113AC_MSG_CHECKING([for Perl knowledge of system]) 114perl_osname="`$perl_prog -e 'use Config; print $Config{osname}'`"; 115perl_osvers="`$perl_prog -e 'use Config; print $Config{osvers}'`"; 116perl_os="$perl_osname-$perl_osvers" 117AC_SUBST(perl_osname) 118AC_SUBST(perl_osvers) 119AC_SUBST(perl_os) 120AC_MSG_RESULT([$perl_os]) 121 122AC_MSG_CHECKING([for Perl standard compiler]) 123perl_cc="`$perl_prog -e 'use Config; print $Config{cc}'`"; 124if test ".$CC" = .; then 125 CC=$perl_cc 126 export CC 127 AC_MSG_RESULT([$perl_cc]) 128else 129 perl_cc=$CC 130 AC_MSG_RESULT([$perl_cc (OVERWRITTEN)]) 131fi 132AC_SUBST(perl_cc) 133 134AC_MSG_CHECKING([for Perl standard optimization flags]) 135perl_optimize="`$perl_prog -e 'use Config; print $Config{optimize}'`"; 136AC_MSG_RESULT([$perl_optimize]) 137AC_SUBST(perl_optimize) 138 139AC_MSG_CHECKING([for Perl standard compilation flags]) 140perl_ccflags="`$perl_prog -e 'use Config; print $Config{ccflags}'`"; 141case $perl_os in 142 *hpux* ) perl_ccflags="$perl_ccflags -Wp,-H32768" ;; 143 *irix-5.* ) perl_ccflags="`echo $perl_ccflags | sed -e 's/-D_POSIX_SOURCE//'`" ;; 144esac 145AC_MSG_RESULT([$perl_ccflags]) 146AC_SUBST(perl_ccflags) 147 148AC_MSG_CHECKING([for Perl standard link flags]) 149perl_ldflags="`$perl_prog -e 'use Config; print $Config{ldflags}'`"; 150case $perl_os in 151 *irix-6.* ) perl_ldflags="$perl_ldflags '-Wl,-woff 85'" ;; 152esac 153AC_MSG_RESULT([$perl_ldflags]) 154AC_SUBST(perl_ldflags) 155 156AC_MSG_CHECKING([for Perl library files]) 157perl_libs="`$perl_prog -e 'use Config; print $Config{libs}'`" 158AC_MSG_RESULT([$perl_libs]) 159AC_SUBST(perl_libs) 160 161AC_MSG_CHECKING([for Perl architecture directory]) 162perl_archlib="`$perlprog -e 'use Config; print $Config{archlib}'`"; 163AC_MSG_RESULT([$perl_archlib]) 164AC_SUBST(perl_archlib) 165 166AC_MSG_CHECKING([for Perl dynamic loading support]) 167usedl="`$perlprog -e 'use Config; print $Config{usedl}'`"; 168case $usedl in 169 define ) 170 rc=yes 171 AC_DEFINE(HAVE_PERL_DYNALOADER) 172 perl_dla=$perl_archlib/auto/DynaLoader/DynaLoader.a 173 ;; 174 * ) 175 rc=no 176 perl_dla= 177 ;; 178esac 179AC_SUBST(perl_dla) 180AC_MSG_RESULT([$rc]) 181 182AC_MSG_CHECKING([for Perl dynamic loading compilation flags]) 183perl_cccdlflags="`$perlprog -e 'use Config; print $Config{cccdlflags}'`"; 184case $perl_cccdlflags in 185 " " ) x="none" ;; 186 * ) x="$perl_cccdlflags" ;; 187esac 188AC_MSG_RESULT([$x]) 189AC_SUBST(perl_cccdlflags) 190 191AC_MSG_CHECKING([for Perl dynamic loading link flags]) 192perl_ccdlflags="`$perlprog -e 'use Config; print $Config{ccdlflags}'`"; 193case $perl_os in 194 *aix* ) perl_ccdlflags="`echo $perl_ccdlflags | sed -e 's;-bE:perl.exp;-bE:${perl_archlib}/CORE/perl.exp;'`" ;; 195esac 196case $perl_ccdlflags in 197 " " ) x="none" ;; 198 * ) x="$perl_ccdlflags" ;; 199esac 200AC_MSG_RESULT([$x]) 201AC_SUBST(perl_ccdlflags) 202 203 204dnl # 205dnl # determine build tools and parameters 206dnl # 207 208AC_CONFIGURE_PART(CHECK: System Build Environment) 209AC_BUILD_USER 210AC_BUILD_TIME 211AC_PROG_CC 212AC_PROG_RANLIB 213AC_PROGRAM_CHECK(AR, ar, ar,) 214AC_PROGRAM_CHECK(SIZE, size, size,) 215case $perl_os in 216 *irix* ) SIZE="$SIZE -B" ;; 217esac 218 219AC_MSG_CHECKING(for compilation debug mode) 220AC_ARG_ENABLE(debug,dnl 221[ --enable-debug to enable the debugging options for compilation], 222if test ".$ac_cv_prog_gcc" = ".yes"; then 223 CFLAGS="-Wall -g -ggdb3" 224 LDFLAGS="-g -ggdb3" 225else 226 CFLAGS="-g" 227 LDFLAGS="-g" 228fi 229x="enabled" 230debug=on 231AC_DEFINE(DEBUG_ENABLED) 232, 233CFLAGS="" 234LDFLAGS="" 235x=disabled 236debug=off 237)dnl 238AC_SUBST(debug) 239AC_MSG_RESULT([$x]) 240 241if test "$debug" = "on"; then 242 AC_MSG_CHECKING(for dmalloc library) 243 dmalloc="" 244 x=no 245 if test -f /sw/include/dmalloc.h; then 246 if test -f /sw/shlib/libdmalloc.a; then 247 AC_DEFINE(HAVE_DMALLOC) 248 CFLAGS="$CFLAGS -I/sw/include" 249 LDFLAGS="$LDFLAGS -L/sw/shlib" 250 dmalloc="-ldmalloc" 251 x=yes 252 fi 253 fi 254 AC_SUBST(dmalloc) 255 AC_MSG_RESULT([$x]) 256fi 257 258AC_SET_MAKE 259AC_PROG_INSTALL 260INSTALL_DATA='${INSTALL} -m 644' 261INSTALL_PROGRAM="${INSTALL_PROGRAM} -m 755" 262 263 264dnl # 265dnl # determine system parameters 266dnl # 267 268AC_CONFIGURE_PART(CHECK: Characteristic of System Headers and Libraries) 269AC_CONST 270AC_STDC_HEADERS 271AC_HAVE_HEADERS(stdio.h stdarg.h stdlib.h string.h ctype.h dnl 272 unistd.h time.h signal.h pwd.h grp.h dnl 273 sys/types.h sys/stat.h sys/param.h dnl 274 sys/socket.h netinet/in.h netdb.h) 275AC_CHECK_TYPE(bool, char) 276AC_CHECK_FUNCS(memmove) 277AC_CHECK_FUNCS(seteuid) 278AC_CHECK_FUNCS(setegid) 279AC_CHECK_FUNCS(strdup) 280 281 282dnl # 283dnl # finally: source file substitution... 284dnl # 285 286AC_CONFIGURE_PART(RESULT: Sourcefile Substitution) 287AC_OUTPUT(dnl 288Makefile dnl 289t/Makefile dnl 290config_sc.h dnl 291,dnl 292)dnl 293 294echo "" 295echo "Now please type 'make' to compile. Good luck." 296echo "" 297 298dnl ##EOF## 299