Source

cpython / configure.in

Full commit
Guido van Rossum 07cf3b3 


Guido van Rossum 19fa01c 
Guido van Rossum 07cf3b3 
Guido van Rossum d773a5f 

Guido van Rossum ccc279f 
Guido van Rossum 07cf3b3 
Guido van Rossum 8286a66 
Guido van Rossum ccc279f 








Guido van Rossum 47cc53a 






Guido van Rossum d773a5f 

Guido van Rossum 8286a66 
Guido van Rossum 07cf3b3 
Guido van Rossum fafa5dc 
Guido van Rossum 1c012d8 

Guido van Rossum fafa5dc 

Guido van Rossum 1c012d8 






Guido van Rossum fafa5dc 





Guido van Rossum d773a5f 




Guido van Rossum ccc279f 

Guido van Rossum 07cf3b3 
Guido van Rossum 8286a66 


Guido van Rossum 1b262d1 

Guido van Rossum ccc279f 

Guido van Rossum d773a5f 

Guido van Rossum 07cf3b3 


Guido van Rossum d773a5f 

Guido van Rossum ccc279f 




Guido van Rossum 07cf3b3 





Guido van Rossum d773a5f 
Guido van Rossum 3a70e9c 

Guido van Rossum 07cf3b3 
Guido van Rossum 3a70e9c 

Guido van Rossum 07cf3b3 


Guido van Rossum 3a70e9c 



Guido van Rossum 07cf3b3 
Guido van Rossum 3a70e9c 






Guido van Rossum 07cf3b3 

Guido van Rossum 3a70e9c 

Guido van Rossum 07cf3b3 
Guido van Rossum 3a70e9c 

Guido van Rossum 07cf3b3 
Guido van Rossum 3a70e9c 



Guido van Rossum 07cf3b3 
Guido van Rossum 3a70e9c 

Guido van Rossum 07cf3b3 
Guido van Rossum 3a70e9c 

Guido van Rossum 07cf3b3 
Guido van Rossum 3a70e9c 



Guido van Rossum 7fa48ab 
Guido van Rossum 1c012d8 
Guido van Rossum 3a70e9c 


Guido van Rossum 07cf3b3 
Guido van Rossum 3a70e9c 

Guido van Rossum 07cf3b3 
Guido van Rossum 3a70e9c 

Guido van Rossum 07cf3b3 
Guido van Rossum 1b262d1 



Guido van Rossum 3a70e9c 

Guido van Rossum 07cf3b3 
Guido van Rossum 3a70e9c 

Guido van Rossum 07cf3b3 
Guido van Rossum 3a70e9c 

Guido van Rossum 07cf3b3 
Guido van Rossum 3a70e9c 


Guido van Rossum 07cf3b3 
Guido van Rossum 3a70e9c 
Guido van Rossum d773a5f 
Guido van Rossum 07cf3b3 


Guido van Rossum 7fa48ab 







Guido van Rossum f06222e 


Guido van Rossum 7fa48ab 
Guido van Rossum 8286a66 
Guido van Rossum ccc279f 
Guido van Rossum 07cf3b3 
Guido van Rossum ccc279f 
Guido van Rossum 07cf3b3 
Guido van Rossum fafa5dc 

Guido van Rossum d773a5f 
Guido van Rossum 8286a66 
Guido van Rossum 07cf3b3 

Guido van Rossum 8286a66 
Guido van Rossum fafa5dc 
Guido van Rossum 8286a66 






Guido van Rossum ccc279f 
Guido van Rossum d773a5f 
Guido van Rossum ccc279f 
Guido van Rossum 07cf3b3 
Guido van Rossum ccc279f 
Guido van Rossum 8286a66 

Guido van Rossum d773a5f 
Guido van Rossum 07cf3b3 
Guido van Rossum 8286a66 


Guido van Rossum 07cf3b3 
Guido van Rossum 8286a66 

Guido van Rossum 07cf3b3 
Guido van Rossum 8286a66 

Guido van Rossum ccc279f 
Guido van Rossum d773a5f 
Guido van Rossum 8286a66 



Guido van Rossum ccc279f 
Guido van Rossum 07cf3b3 
Guido van Rossum ccc279f 
Guido van Rossum 07cf3b3 
Guido van Rossum 8286a66 



Guido van Rossum d773a5f 
Guido van Rossum 8286a66 
Guido van Rossum ccc279f 
Guido van Rossum 8286a66 
Guido van Rossum ccc279f 
Guido van Rossum 07cf3b3 
Guido van Rossum ccc279f 
Guido van Rossum 07cf3b3 
Guido van Rossum 8286a66 






Guido van Rossum ccc279f 
Guido van Rossum d773a5f 

Guido van Rossum 07cf3b3 
Guido van Rossum 8286a66 
Guido van Rossum 07cf3b3 


Guido van Rossum d773a5f 

Guido van Rossum 07cf3b3 
Guido van Rossum d773a5f 
Guido van Rossum 07cf3b3 











Guido van Rossum ccc279f 

Guido van Rossum 07cf3b3 
Guido van Rossum 8286a66 


Guido van Rossum ccc279f 

Guido van Rossum d773a5f 

Guido van Rossum 8286a66 
Guido van Rossum 07cf3b3 
Guido van Rossum 8286a66 
Guido van Rossum 07cf3b3 
Guido van Rossum 8286a66 
Guido van Rossum ccc279f 



Guido van Rossum f95c193 
Guido van Rossum ccc279f 



Guido van Rossum 8286a66 
Guido van Rossum ccc279f 

Guido van Rossum 07cf3b3 

Guido van Rossum ccc279f 
Guido van Rossum 8286a66 
Guido van Rossum ccc279f 

Guido van Rossum 07cf3b3 
Guido van Rossum 8286a66 

Guido van Rossum 07cf3b3 
Guido van Rossum ccc279f 

Guido van Rossum 07cf3b3 
Guido van Rossum ccc279f 





Guido van Rossum d773a5f 

Guido van Rossum ccc279f 

Guido van Rossum 07cf3b3 
Guido van Rossum 8286a66 

Guido van Rossum ec05d90 




Guido van Rossum 8286a66 
Guido van Rossum ec05d90 


Guido van Rossum ccc279f 

Guido van Rossum 8286a66 
Guido van Rossum ccc279f 

Guido van Rossum 07cf3b3 





Guido van Rossum ccc279f 


Guido van Rossum 07cf3b3 
Guido van Rossum d773a5f 


Guido van Rossum 07cf3b3 

Guido van Rossum d773a5f 
Guido van Rossum 8286a66 


Guido van Rossum 07cf3b3 

Guido van Rossum 8286a66 





Guido van Rossum 07cf3b3 

Guido van Rossum 8286a66 



Guido van Rossum 79c171f 





Guido van Rossum 1c012d8 















Guido van Rossum d773a5f 
Guido van Rossum 8286a66 
dnl Process this file with autoconf 2.0 or later to make a configure script.
AC_REVISION($Revision$)
AC_PREREQ(2.0)
AC_INIT(Include/object.h)
AC_CONFIG_HEADER(config.h)

# checks for alternative programs
AC_MSG_CHECKING(for --without-gcc)
AC_ARG_WITH(gcc, [--without-gcc             never use gcc], [
	case $withval in
	no)	CC=cc
		without_gcc=yes;;
	yes)	CC=gcc
		without_gcc=no;;
	*)	CC=$withval
		without_gcc=$withval;;
	esac], [without_gcc=no])
AC_MSG_RESULT($without_gcc)

# If the user switches compilers, we can't believe the cache
if test ! -z "$ac_cv_prog_CC" -a ! -z "$CC" -a "$CC" != "$ac_cv_prog_CC"
then
  AC_ERROR(cached CC is different -- throw away $cache_file
(it is also a good idea to do 'make clean' before compiling))
fi

AC_PROG_CC
AC_PROG_RANLIB
AC_SUBST(AR)
AC_CHECK_PROGS(AR, ar aal, ar)
AC_SUBST(INSTALL)
AC_SUBST(INSTALL_PROGRAM)
AC_SUBST(INSTALL_DATA)
# Install just never works :-(
if test -z "$INSTALL"
then
	INSTALL=cp
	INSTALL_PROGRAM=cp
	INSTALL_DATA=cp
else
	INSTALL_PROGRAM="$INSTALL"
	INSTALL_DATA="$INSTALL -m 644"
fi
AC_SUBST(OPT)
# Optimizer/debugger flags passed between Makefiles
if test -z "$OPT"
then OPT=-O
fi

# checks for UNIX variants that set C preprocessor variables
AC_AIX
AC_ISC_POSIX
AC_MINIX

was_it_defined=no
AC_TRY_RUN([
#ifdef _NEXT_SOURCE
main() { exit(0); }
#endif
], AC_DEFINE(_POSIX_SOURCE)
CC="$CC -posix"; was_it_defined=yes)
AC_MSG_CHECKING(for NeXT)
AC_MSG_RESULT($was_it_defined)

# checks for header files
AC_HEADER_STDC
AC_CHECK_HEADERS(dlfcn.h fcntl.h limits.h signal.h stdarg.h stddef.h stdlib.h thread.h unistd.h utime.h sys/audioio.h sys/param.h sys/select.h sys/time.h sys/times.h sys/un.h sys/utsname.h)
AC_HEADER_DIRENT

# checks for typedefs
was_it_defined=no
AC_MSG_CHECKING(for clock_t in time.h)
AC_EGREP_HEADER(clock_t, time.h, was_it_defined=yes, AC_DEFINE(clock_t, long))
AC_MSG_RESULT($was_it_defined)

AC_TYPE_MODE_T
AC_TYPE_OFF_T
AC_TYPE_PID_T
AC_TYPE_SIGNAL
AC_TYPE_SIZE_T
AC_TYPE_UID_T

# Set name for machine-dependent library files
AC_SUBST(MACHDEP)
AC_MSG_CHECKING(MACHDEP)
if test -z "$MACHDEP"
then
	ac_sys_system=`uname -s | tr -d ' ' | tr '[[A-Z]]' '[[a-z]]'`
	ac_sys_release=`uname -r | tr -d ' ' | sed 's/\..*//'`
	MACHDEP="$ac_sys_system$ac_sys_release"
	case MACHDEP in
	'')	MACHDEP=unknown;;
	esac
fi
AC_MSG_RESULT($MACHDEP)

# Set info about shared libraries.
# XXX This should try things out instead of testing uname!
AC_SUBST(SO)
AC_SUBST(LDSHARED)
AC_SUBST(CCSHARED)
AC_SUBST(LINKFORSHARED)
ac_sys_system=`uname -s`
ac_sys_release=`uname -r`
# SO is the extension of shared libraries `(including the dot!)
# -- usually .so, .sl on HP-UX
AC_MSG_CHECKING(SO)
if test -z "$SO"
then
	case $ac_sys_system in
	hp*|HP*) SO=.sl;;
	*)	SO=.so;;
	esac
fi
AC_MSG_RESULT($SO)
# LDSHARED is the ld *command* used to create shared library
# -- "ld" on SunOS 4.x.x, "ld -G" on SunOS 5.x, "ld -shared" on IRIX 5
AC_MSG_CHECKING(LDSHARED)
if test -z "$LDSHARED"
then
	case $ac_sys_system/$ac_sys_release in
	IRIX*) LDSHARED="ld -shared";;
	SunOS/4*) LDSHARED="ld";;
	SunOS/5*) LDSHARED="ld -G";;
	hp*|HP*) LDSHARED="ld -b";;
	OSF*) LDSHARED="ld -shared -expect_unresolved \"*\"";;
	DYNIX/ptx*) LDSHARED="ld -G";;
	*)	LDSHARED="ld";;
	esac
fi
AC_MSG_RESULT($LDSHARED)
# CCSHARED are the C *flags* used to create objects to go into a shared
# library -- this is only needed for HP-UX
AC_MSG_CHECKING(CCSHARED)
if test -z "$CCSHARED"
then
	case $ac_sys_system in
	hp*|HP*) if test "$GCC" = yes;
		 then CCSHARED="-fpic";
		 else CCSHARED="+z";
		 fi;;
	esac
fi
AC_MSG_RESULT($CCSHARED)
# LINKFORSHARED are the flags passed to the $(CC) command that links
# the python executable -- this is only needed for HP-UX
AC_MSG_CHECKING(LINKFORSHARED)
if test -z "$LINKFORSHARED"
then
	case $ac_sys_system in
	hp*|HP*) LINKFORSHARED="-Wl,-E";;
	esac
fi
AC_MSG_RESULT($LINKFORSHARED)

# checks for libraries
AC_CHECK_LIB(dl, dlopen)	# Dynamic linking for SunOS/Solaris and SYSV
AC_CHECK_LIB(dld, shl_load)	# Dynamic linking for HP-UX
AC_CHECK_LIB(sun, getpwnam)	# NIS (== YP) interface for IRIX 4
# The following three (nsl,inet,socket) are needed on Sequent;
# the order of checking must be this.  Most SVR4 platforms will
# need -lsocket and -lnsl.  However on SGI IRIX 5, these exist but
# broken.  I see no elegant solution (probably CHECK_LIB should be
# fixed to only add the library if the given entry point is not
# satisfied without it).
if test "`uname -s`" != IRIX
then
AC_CHECK_LIB(nsl, t_open, [LIBS="-lnsl $LIBS"]) # SVR4
AC_CHECK_LIB(inet, gethostbyname, [LIBS="-linet $LIBS"], [], -lnsl) # Sequent
AC_CHECK_LIB(socket, socket, [LIBS="-lsocket $LIBS"], [], $LIBS) # SVR4 sockets
fi

AC_MSG_CHECKING(for --with-readline)
AC_ARG_WITH(readline, [--with-readline=DIRECTORY GNU readline], [
AC_MSG_RESULT($withval)
AC_DEFINE(WITH_READLINE)
if test ! -d "$withval"
then AC_ERROR(proper usage is --with-readline=DIRECTORY)
fi
termcap=
AC_CHECK_LIB(termcap, tgetent, [termcap=termcap], [
AC_CHECK_LIB(termlib, tgetent, [termcap=termlib])])
if test ! -z "$termcap"
then LIBS="$LIBS $withval/libreadline.a"
     # Avoid possible conflict between shared libraries termcap and gl
     # on IRIX 5: both contain a routine called clear.
     if test -f /usr/lib/lib$termcap.a
     then LIBS="$LIBS /usr/lib/lib$termcap.a"
     else LIBS="$LIBS -l$termcap"
     fi
else AC_ERROR(no working termcap/termlib, do not use --with-readline)
fi], AC_MSG_RESULT(no))

AC_MSG_CHECKING(for --with-thread)
AC_ARG_WITH(thread, [--with-thread[=DIRECTORY] make interpreter thread-safe], [
AC_MSG_RESULT($withval)
if test -d "$withval"
then LIBS="$LIBS -L$withval"
fi
AC_CHECK_LIB(pthreads, pthread_create, [AC_DEFINE(WITH_THREAD)
AC_DEFINE(_POSIX_THREADS)
LIBS="$LIBS -lpthreads"
LIBOBJS="$LIBOBJS thread.o"])
AC_CHECK_LIB(mpc, usconfig, [AC_DEFINE(WITH_THREAD)
LIBS="$LIBS -lmpc"
LIBOBJS="$LIBOBJS thread.o"])
AC_CHECK_LIB(thread, thr_create, [AC_DEFINE(WITH_THREAD)
LIBS="$LIBS -lthread"
LIBOBJS="$LIBOBJS thread.o"])
], AC_MSG_RESULT(no))

# -I${DLINCLDIR} is added to the compile rule for import.o
AC_SUBST(DLINCLDIR)
DLINCLDIR=/

AC_MSG_CHECKING(for --with-sgi-dl)
AC_ARG_WITH(sgi-dl, [--with-sgi-dl=DIRECTORY   IRIX 4 dynamic linking], [
AC_MSG_RESULT($withval)
AC_DEFINE(WITH_SGI_DL)
dldir=$withval
if test -d "$dldir"
then LIBS="$LIBS -L$dldir"
else AC_ERROR(proper usage is --with-sgi-dl=DIRECTORY)
fi
DLINCLDIR=${dldir}
LIBS="$LIBS -ldl -lmld"], AC_MSG_RESULT(no))

AC_MSG_CHECKING(for --with-dl-dld)
AC_ARG_WITH(dl-dld, [--with-dl-dld=DL_DIR,DLD_DIR  GNU dynamic linking], [
AC_MSG_RESULT($withval)
AC_DEFINE(WITH_DL_DLD)
dldir=`echo "$withval" | sed 's/,.*//'`
dlddir=`echo "$withval" | sed 's/.*,//'`
if test -d "$dldir" -a -d "$dlddir"
then LIBS="$LIBS -L$dldir -L$dlddir"
else AC_ERROR(proper usage is --with-dl-dld=DL_DIRECTORY,DLD_DIRECTORY)
fi
DLINCLDIR=${dldir}
LIBS="$LIBS -ldl -ldld"], AC_MSG_RESULT(no))

# checks for library functions
AC_CHECK_FUNCS(chown clock dlopen ftime ftruncate gethostname_r gettimeofday getpeername getpgrp getpid getwd link lstat nice readlink select setgid setuid setsid setpgid setpgrp setvbuf siginterrupt symlink tcgetpgrp tcsetpgrp times truncate uname waitpid)
AC_REPLACE_FUNCS(dup2 getcwd strerror memmove)
AC_CHECK_FUNC(getpgrp, AC_TRY_COMPILE([#include <unistd.h>], [getpgrp(0);], AC_DEFINE(GETPGRP_HAVE_ARG)))
AC_CHECK_FUNC(setpgrp, AC_TRY_COMPILE([#include <unistd.h>], [setpgrp(0,0);], AC_DEFINE(SETPGRP_HAVE_ARG)))
AC_CHECK_FUNC(gettimeofday, AC_TRY_COMPILE([#include <sys/time.h>], [gettimeofday((struct timeval*)0,(struct timezone*)0);], ,AC_DEFINE(GETTIMEOFDAY_NO_TZ)))

# checks for structures
AC_HEADER_TIME
AC_STRUCT_TM
AC_STRUCT_TIMEZONE

AC_MSG_CHECKING(for time.h that defines altzone)
AC_CACHE_VAL(ac_cv_header_time_altzone,
[AC_TRY_COMPILE([#include <time.h>], [return altzone;],
  ac_cv_header_time_altzone=yes,
  ac_cv_header_time_altzone=no)])
AC_MSG_RESULT($ac_cv_header_time_altzone)
if test $ac_cv_header_time_altzone = yes; then
  AC_DEFINE(HAVE_ALTZONE)
fi

was_it_defined=no
AC_MSG_CHECKING(whether sys/select.h and sys/time.h may both be included)
AC_TRY_COMPILE([
#include <sys/types.h>
#include <sys/select.h>
#include <sys/time.h>
], [;], [AC_DEFINE(SYS_SELECT_WITH_SYS_TIME) was_it_defined=yes])
AC_MSG_RESULT($was_it_defined)

# checks for compiler characteristics

AC_C_CHAR_UNSIGNED

AC_C_CONST

works=no
AC_MSG_CHECKING(for working volatile)
AC_TRY_COMPILE([],[volatile int x; x = 0;], works=yes, AC_DEFINE(volatile, []))
AC_MSG_RESULT($works)

works=no
AC_MSG_CHECKING(for working signed char)
AC_TRY_COMPILE([], [signed char c;], works=yes, AC_DEFINE(signed, []))
AC_MSG_RESULT($works)

have_prototypes=no
AC_MSG_CHECKING(for prototypes)
AC_TRY_COMPILE([int foo(int x) { return 0; }], [return foo(10);],
AC_DEFINE(HAVE_PROTOTYPES) have_prototypes=yes)
AC_MSG_RESULT($have_prototypes)

works=no
AC_MSG_CHECKING(for variable length prototypes and stdarg.h)
AC_TRY_COMPILE([
#include <stdarg.h>
int foo(int x, ...) { return 0; }
], [return foo(10, 11, 12);],
AC_DEFINE(HAVE_STDARG_PROTOTYPES) works=yes)
AC_MSG_RESULT($works)

if test "$have_prototypes" = yes; then
bad_prototypes=no
AC_MSG_CHECKING(for bad exec* prototypes)
AC_TRY_COMPILE([#include <unistd.h>], [char **t;execve("@",t,t);], ,
	AC_DEFINE(BAD_EXEC_PROTOTYPES) bad_prototypes=yes)
AC_MSG_RESULT($bad_prototypes)
fi

bad_forward=no
AC_MSG_CHECKING(for bad static forward)
AC_TRY_RUN([
struct s { int a; int b; };
static struct s foo;
int foobar() {
 static int random;
 random = (int) &foo;
 return random;
}
static struct s foo = { 1, 2 };
main() {
 exit(!((int)&foo == foobar()));
}
], , AC_DEFINE(BAD_STATIC_FORWARD) bad_forward=yes)
AC_MSG_RESULT($bad_forward)

va_list_is_array=no
AC_MSG_CHECKING(whether va_list is an array)
AC_TRY_COMPILE([
#ifdef HAVE_STDARG_PROTOTYPES
#include <stdarg.h>
#else
#include <varargs.h>
#endif
], [va_list list1, list2; list1 = list2;], , 
AC_DEFINE(VA_LIST_IS_ARRAY) va_list_is_array=yes)
AC_MSG_RESULT($va_list_is_array)

# checks for system services
# (none yet)

# Linux requires this for correct f.p. operations
AC_CHECK_LIB(ieee, __fpu_control)

# check for --with-libm=...
AC_SUBST(LIBM)
LIBM=-lm
AC_ARG_WITH(libm, [--with-libm=STRING        math library], [
if test "$withval" != yes
then LIBM=$withval
else AC_ERROR(proper usage is --with-libm=STRING)
fi])

# check for --with-libc=...
AC_SUBST(LIBC)
AC_ARG_WITH(libc, [--with-libc=STRING        C library], [
if test "$withval" != yes
then LIBC=$withval
else AC_ERROR(proper usage is --with-libc=STRING)
fi])

# check for hypot() in math library
LIBS_SAVE=$LIBS
LIBS="$LIBS $LIBM"
AC_CHECK_FUNCS(hypot)
LIBS=$LIBS_SAVE

# check for getopt
AC_MSG_CHECKING(for genuine getopt)
AC_CACHE_VAL(ac_cv_func_getopt,
[AC_TRY_RUN([#include <stdio.h>
extern int optind, opterr, getopt();
extern char* optarg;
int main() {
	char* av[] = { "testprog", "parameter", "-fFlag", NULL };
	opterr = 0;
	if (getopt(3, av, "f:") == 'f') { exit(1); }
	exit(0);
}], ac_cv_func_getopt=yes, ac_cv_func_getopt=no, ac_cv_func_getopt=no)])dnl
AC_MSG_RESULT($ac_cv_func_getopt)
test $ac_cv_func_getopt = no && LIBOBJS="$LIBOBJS getopt.o"
AC_SUBST(LIBOBJS)dnl

# generate output files
AC_OUTPUT(Makefile Objects/Makefile Parser/Makefile Python/Makefile Modules/Makefile.pre)