[Python-checkins] r45387 - in python/trunk: Makefile.pre.in Misc/NEWS Modules/ccpython.cc README configure configure.in (original) (raw)
martin.v.loewis python-checkins at python.org
Fri Apr 14 16:34:28 CEST 2006
- Previous message: [Python-checkins] buildbot warnings in x86 XP trunk
- Next message: [Python-checkins] r45388 - python/trunk/Misc/NEWS
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Author: martin.v.loewis Date: Fri Apr 14 16:34:26 2006 New Revision: 45387
Removed: python/trunk/Modules/ccpython.cc Modified: python/trunk/Makefile.pre.in python/trunk/Misc/NEWS python/trunk/README python/trunk/configure python/trunk/configure.in Log: Patch #1324762: Change --with-cxx to --with-cxx-main.
Modified: python/trunk/Makefile.pre.in
--- python/trunk/Makefile.pre.in (original) +++ python/trunk/Makefile.pre.in Fri Apr 14 16:34:26 2006 @@ -30,6 +30,7 @@
CC= @CC@ CXX= @CXX@ +MAINCC= @MAINCC@ LINKCC= @LINKCC@ AR= @AR@ RANLIB= @RANLIB@ @@ -157,7 +158,6 @@ SYSLIBS= (LIBM)(LIBM) (LIBM)(LIBC) SHLIBS= @SHLIBS@
-MAINOBJ= @MAINOBJ@ THREADOBJ= @THREADOBJ@ DLINCLDIR= @DLINCLDIR@ DYNLOADFILE= @DYNLOADFILE@ @@ -326,9 +326,9 @@ all: $(BUILDPYTHON) oldsharedmods sharedmods
Build the interpreter
-$(BUILDPYTHON): Modules/$(MAINOBJ) (LIBRARY)(LIBRARY) (LIBRARY)(LDLIBRARY)
+$(BUILDPYTHON): Modules/python.o (LIBRARY)(LIBRARY) (LIBRARY)(LDLIBRARY)
(LINKCC)(LINKCC) (LINKCC)(LDFLAGS) (LINKFORSHARED)−o(LINKFORSHARED) -o (LINKFORSHARED)−o@
- Modules/$(MAINOBJ)
+ Modules/python.o
(BLDLIBRARY)(BLDLIBRARY) (BLDLIBRARY)(LIBS) (MODLIBS)(MODLIBS) (MODLIBS)(SYSLIBS) $(LDLAST)
platform: $(BUILDPYTHON)
@@ -448,8 +448,8 @@
-DVPATH='"$(VPATH)"'
-o @@ @(srcdir)/Modules/getpath.c
-Modules/ccpython.o: $(srcdir)/Modules/ccpython.cc
- (CXX)−c(CXX) -c (CXX)−c(PY_CFLAGS) -o @@ @(srcdir)/Modules/ccpython.cc +Modules/python.o: $(srcdir)/Modules/python.c
- (MAINCC)−c(MAINCC) -c (MAINCC)−c(PY_CFLAGS) -o @@ @(srcdir)/Modules/python.c
(GRAMMARH)(GRAMMAR_H) (GRAMMARH)(GRAMMAR_C): (PGEN)(PGEN) (PGEN)(GRAMMAR_INPUT)
@@ -537,7 +537,7 @@
Include/weakrefobject.h
pyconfig.h
-$(LIBRARY_OBJS) (MODOBJS)Modules/(MODOBJS) Modules/(MODOBJS)Modules/(MAINOBJ): $(PYTHON_HEADERS) +$(LIBRARY_OBJS) (MODOBJS)Modules/python.o:(MODOBJS) Modules/python.o: (MODOBJS)Modules/python.o:(PYTHON_HEADERS)
######################################################################
@@ -813,7 +813,7 @@
fi;
fi
(INSTALLDATA)Modules/config.c(INSTALL_DATA) Modules/config.c (INSTALLDATA)Modules/config.c(DESTDIR)$(LIBPL)/config.c
- (INSTALLDATA)Modules/(INSTALL_DATA) Modules/(INSTALLDATA)Modules/(MAINOBJ) (DESTDIR)(DESTDIR)(DESTDIR)(LIBPL)/$(MAINOBJ)
- (INSTALLDATA)Modules/python.o(INSTALL_DATA) Modules/python.o (INSTALLDATA)Modules/python.o(DESTDIR)$(LIBPL)/python.o (INSTALLDATA)(INSTALL_DATA) (INSTALLDATA)(srcdir)/Modules/config.c.in (DESTDIR)(DESTDIR)(DESTDIR)(LIBPL)/config.c.in (INSTALLDATA)Makefile(INSTALL_DATA) Makefile (INSTALLDATA)Makefile(DESTDIR)$(LIBPL)/Makefile (INSTALLDATA)Modules/Setup(INSTALL_DATA) Modules/Setup (INSTALLDATA)Modules/Setup(DESTDIR)$(LIBPL)/Setup
Modified: python/trunk/Misc/NEWS
--- python/trunk/Misc/NEWS (original) +++ python/trunk/Misc/NEWS Fri Apr 14 16:34:26 2006 @@ -82,6 +82,11 @@ Build
+- Patch #1324762:Remove ccpython.cc; replace --with-cxx with
--with-cxx-main. Link with C++ compiler only if --with-cxx-main was
specified. (Can be overriden by explicitly setting LINKCC.) Decouple
CXX from --with-cxx-main, see description in README.
- Patch #1429775: Link extension modules with the shared libpython.
C API
Deleted: /python/trunk/Modules/ccpython.cc
--- /python/trunk/Modules/ccpython.cc Fri Apr 14 16:34:26 2006 +++ (empty file) @@ -1,11 +0,0 @@ -/* Minimal main program -- everything is loaded from the library */
-#include "Python.h"
-extern "C" -DL_EXPORT(int) Py_Main( int argc, char *argv[] );
-int main( int argc, char *argv[] ) -{ - return Py_Main(argc, argv); -}
Modified: python/trunk/README
--- python/trunk/README (original) +++ python/trunk/README Fri Apr 14 16:34:26 2006 @@ -1045,13 +1045,35 @@ --with-libs='libs': Add 'libs' to the LIBS that the python interpreter is linked against.
---with-cxx=: Some C++ compilers require that main() is
compiled with the C++ if there is any C++ code in the application.
Specifically, g++ on a.out systems may require that to support
construction of global objects. With this option, the main() function
of Python will be compiled with <compiler>; use that only if you
plan to use C++ extension modules, and if your compiler requires
compilation of main() as a C++ program.
+--with-cxx-main=: If you plan to use C++ extension modules,
then -- on some platforms -- you need to compile python's main()
function with the C++ compiler. With this option, make will use
<compiler> to compile main() *and* to link the python executable.
It is likely that the resulting executable depends on the C++
runtime library of <compiler>. (The default is --without-cxx-main.)
There are platforms that do not require you to build Python
with a C++ compiler in order to use C++ extension modules.
E.g., x86 Linux with ELF shared binaries and GCC 3.x, 4.x is such
a platform. We recommend that you configure Python
--without-cxx-main on those platforms because a mismatch
between the C++ compiler version used to build Python and to
build a C++ extension module is likely to cause a crash at
runtime.
The Python installation also stores the variable CXX that
determines, e.g., the C++ compiler distutils calls by default
to build C++ extensions. If you set CXX on the configure command
line to any string of non-zero length, then configure won't
change CXX. If you do not preset CXX but pass
--with-cxx-main=<compiler>, then configure sets CXX=<compiler>.
In all other cases, configure looks for a C++ compiler by
some common names (c++, g++, gcc, CC, cxx, cc++, cl) and sets
CXX to the first compiler it finds. If it does not find any
C++ compiler, then it sets CXX="".
Similarly, if you want to change the command used to link the
python executable, then set LINKCC on the configure command line.
--with-pydebug: Enable additional debugging code to help track down
Modified: python/trunk/configure
--- python/trunk/configure (original) +++ python/trunk/configure Fri Apr 14 16:34:26 2006 @@ -1,5 +1,5 @@ #! /bin/sh -# From configure.in Revision: 45278 . +# From configure.in Revision: 45328 . # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.59 for python 2.5. # @@ -312,7 +312,7 @@ # include <unistd.h> #endif" -ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS VERSION SOVERSION CONFIG_ARGS PYTHONFRAMEWORK PYTHONFRAMEWORKDIR PYTHONFRAMEWORKPREFIX PYTHONFRAMEWORKINSTALLDIR MACHDEP SGI_ABI EXTRAPLATDIR EXTRAMACHDEPPATH CONFIGURE_MACOSX_DEPLOYMENT_TARGET CXX MAINOBJ EXEEXT CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC OBJEXT CPP EGREP BUILDEXEEXT LIBRARY LDLIBRARY DLLLIBRARY BLDLIBRARY LDLIBRARYDIR INSTSONAME RUNSHARED LINKCC RANLIB ac_ct_RANLIB AR SVNVERSION INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LN OPT BASECFLAGS OTHER_LIBTOOL_OPT LIBTOOL_CRUFT SO LDSHARED BLDSHARED CCSHARED LINKFORSHARED CFLAGSFORSHARED SHLIBS USE_SIGNAL_MODULE SIGNAL_OBJS USE_THREAD_MODULE LDLAST THREADOBJ DLINCLDIR DYNLOADFILE MACHDEP_OBJS TRUE LIBOBJS HAVE_GETHOSTBYNAME_R_6_ARG HAVE_GETHOSTBYNAME_R_5_ARG HAVE_GETHOSTBYNAME_R_3_ARG HAVE_GETHOSTBYNAME_R HAVE_GETHOSTBYNAME LIBM LIBC UNICODE_OBJS THREADHEADERS SRCDIRS LTLIBOBJS' +ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS VERSION SOVERSION CONFIG_ARGS PYTHONFRAMEWORK PYTHONFRAMEWORKDIR PYTHONFRAMEWORKPREFIX PYTHONFRAMEWORKINSTALLDIR MACHDEP SGI_ABI EXTRAPLATDIR EXTRAMACHDEPPATH CONFIGURE_MACOSX_DEPLOYMENT_TARGET CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CXX MAINCC CPP EGREP BUILDEXEEXT LIBRARY LDLIBRARY DLLLIBRARY BLDLIBRARY LDLIBRARYDIR INSTSONAME RUNSHARED LINKCC RANLIB ac_ct_RANLIB AR SVNVERSION INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LN OPT BASECFLAGS OTHER_LIBTOOL_OPT LIBTOOL_CRUFT SO LDSHARED BLDSHARED CCSHARED LINKFORSHARED CFLAGSFORSHARED SHLIBS USE_SIGNAL_MODULE SIGNAL_OBJS USE_THREAD_MODULE LDLAST THREADOBJ DLINCLDIR DYNLOADFILE MACHDEP_OBJS TRUE LIBOBJS HAVE_GETHOSTBYNAME_R_6_ARG HAVE_GETHOSTBYNAME_R_5_ARG HAVE_GETHOSTBYNAME_R_3_ARG HAVE_GETHOSTBYNAME_R HAVE_GETHOSTBYNAME LIBM LIBC UNICODE_OBJS THREADHEADERS SRCDIRS LTLIBOBJS' ac_subst_files='' # Initialize some variables set by options. @@ -859,7 +859,9 @@ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --without-gcc never use gcc - --with-cxx= enable C++ support + --with-cxx-main= + compile main() and link python executable with C++ + compiler --with-suffix=.exe set executable suffix --with-pydebug build with Py_DEBUG defined --with-libs='lib1 ...' link against additional libs @@ -1679,258 +1681,6 @@ echo "$as_me:$LINENO: result: $without_gcc" >&5 echo "${ECHO_T}$without_gcc" >&6
- -MAINOBJ=python.o -echo "$as_me:$LINENO: checking for --with-cxx=" >&5 -echo ECHON"checkingfor−−with−cxx=<compiler>...ECHO_N "checking for --with-cxx=<compiler>... ECHON"checkingfor−−with−cxx=<compiler>...ECHO_C" >&6
- -# Check whether --with-cxx or --without-cxx was given.
-if test "${with_cxx+set}" = set; then - withval="$with_cxx"
- check_cxx=no
- case $withval in
- no) CXX=
with_cxx=no;;
- *) CXX=$withval
MAINOBJ=ccpython.o
with_cxx=$withval;;
- esac -else
- with_cxx=no
- check_cxx=yes
- -fi; -echo "$as_me:$LINENO: result: $with_cxx" >&5 -echo "${ECHO_T}$with_cxx" >&6
- -if test "$with_cxx" = "yes" -then
- { { echo "$as_me:$LINENO: error: must supply a compiler when using --with-cxx" >&5 -echo "$as_me: error: must supply a compiler when using --with-cxx" >&2;}
- { (exit 1); exit 1; }; } -fi
- -if test "$check_cxx" = "yes" -then
- for ac_prog in $CCC c++ g++ gcc CC cxx cc++ cl -do
Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy acprog;acword=ac_prog; ac_word=acprog;acword=2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo ECHON"checkingforECHO_N "checking for ECHON"checkingforac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_CXX+set}" = set; then - echo ECHON"(cached)ECHO_N "(cached) ECHON"(cached)ECHO_C" >&6 -else - if test -n "$CXX"; then - ac_cv_prog_CXX="$CXX" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if asexecutablep"as_executable_p "asexecutablep"as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CXX="$ac_prog" - echo "$as_me:$LINENO: found asdir/as_dir/asdir/ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done
-fi -fi -CXX=$ac_cv_prog_CXX -if test -n "$CXX"; then - echo "$as_me:$LINENO: result: $CXX" >&5 -echo "${ECHO_T}$CXX" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi
- test -n "$CXX" && break -done -test -n "$CXX" || CXX="notfound"
- if test "$CXX" = "notfound"
- then
CXX=
- else
ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c CXXFLAGSCXXFLAGS CXXFLAGSCPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext CXXFLAGSCXXFLAGS CXXFLAGSCPPFLAGS LDFLAGSconftest.LDFLAGS conftest.LDFLAGSconftest.ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. / -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/ end confdefs.h. */
-int -main () -{
- ;
- return 0;
-}
-_ACEOF
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.exe b.out"
-# Try to create an executable without -o first, disregard a.out.
-# It will help us diagnose broken compilers, and finding out an intuition
-# of exeext.
-echo "$as_me:$LINENO: checking for C++ compiler default output file name" >&5
-echo ECHON"checkingforC++compilerdefaultoutputfilename...ECHO_N "checking for C++ compiler default output file name... ECHON"checkingforC++compilerdefaultoutputfilename...ECHO_C" >&6
-ac_link_default=
echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'
-if { (eval echo "$as_me:$LINENO: "$ac_link_default"") >&5 - (eval $ac_link_default) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: $? = $ac_status" >&5
- (exit $ac_status); }; then
Find the output, starting from the most likely. This scheme is
-# not robust to junk in `.', hence go to wildcards (a.*) only as a last -# resort.
-# Be careful to initialize this variable, since it used to be cached.
-# Otherwise an old cache value of no' led to
EXEEXT = no' in a Makefile.
-ac_cv_exeext=
-# b.out is created by i960 compilers.
-for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out
-do
- test -f "$ac_file" || continue
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj )
- ;;
- conftest.$ac_ext )
- # This is the source file.
- ;;
- [ab].out )
- # We found the default executable, but exeext='' is most
- # certainly right.
- break;;
- . )
- ac_cv_exeext=expr "$ac_file" : '[^.]*\(\..*\)'
- # FIXME: I believe we export ac_cv_exeext for Libtool,
- # but it would be cool to find out if it's true. Does anybody
- # maintain Libtool? --akim.
- export ac_cv_exeext
- break;;
- * )
- break;;
- esac
-done
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-{ { echo "$as_me:$LINENO: error: C++ compiler cannot create executables -See `config.log' for more details." >&5 -echo "$as_me: error: C++ compiler cannot create executables -See `config.log' for more details." >&2;} - { (exit 77); exit 77; }; } -fi
-ac_exeext=$ac_cv_exeext -echo "$as_me:$LINENO: result: $ac_file" >&5 -echo "${ECHO_T}$ac_file" >&6
-# Check the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -echo "$as_me:$LINENO: checking whether the C++ compiler works" >&5 -echo ECHON"checkingwhethertheC++compilerworks...ECHO_N "checking whether the C++ compiler works... ECHON"checkingwhethertheC++compilerworks...ECHO_C" >&6 -# FIXME: These cross compiler hacks should be removed for Autoconf 3.0 -# If not cross compiling, check that we can run a simple program. -if test "$cross_compiling" != yes; then - if { ac_try='./$ac_file' - { (eval echo "$as_me:$LINENO: "$ac_try"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: $? = $ac_status" >&5 - (exit $ac_status); }; }; then - cross_compiling=no - else - if test "$cross_compiling" = maybe; then - cross_compiling=yes - else - { { echo "$as_me:$LINENO: error: cannot run C++ compiled programs. -If you meant to cross compile, use `--host'. -See `config.log' for more details." >&5 -echo "$as_me: error: cannot run C++ compiled programs. -If you meant to cross compile, use `--host'. -See `config.log' for more details." >&2;} - { (exit 1); exit 1; }; } - fi - fi -fi -echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6
-rm -f a.out a.exe conftest$ac_cv_exeext b.out -ac_clean_files=$ac_clean_files_save -# Check the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 -echo ECHON"checkingwhetherwearecrosscompiling...ECHO_N "checking whether we are cross compiling... ECHON"checkingwhetherwearecrosscompiling...ECHO_C" >&6 -echo "$as_me:$LINENO: result: $cross_compiling" >&5 -echo "${ECHO_T}$cross_compiling" >&6
-echo "$as_me:$LINENO: checking for suffix of executables" >&5
-echo ECHON"checkingforsuffixofexecutables...ECHO_N "checking for suffix of executables... ECHON"checkingforsuffixofexecutables...ECHO_C" >&6
-if { (eval echo "$as_me:$LINENO: "$ac_link"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: $? = $ac_status" >&5
- (exit $ac_status); }; then
- # If both conftest.exe' and
conftest' are present' (well, observable) -# catch
conftest.exe'. For instance with Cygwin, ls conftest' will -# work properly (i.e., refer to
conftest.exe'), while it won't with
-# rm'. -for ac_file in conftest.exe conftest conftest.*; do - test -f "$ac_file" || continue - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;; - *.* ) ac_cv_exeext=
expr "$ac_file" : '[^.]*(..*)' - export ac_cv_exeext - break;; - * ) break;; - esac -done -else - { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link -See \
config.log' for more details." >&5
-echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
-See `config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
-fi
-rm -f conftest$ac_cv_exeext -echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 -echo "${ECHO_T}$ac_cv_exeext" >&6
-rm -f conftest.$ac_ext -EXEEXT=$ac_cv_exeext -ac_exeext=$EXEEXT
ac_ext=c
-ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c CFLAGSCFLAGS CFLAGSCPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext CFLAGSCFLAGS CFLAGSCPPFLAGS LDFLAGSconftest.LDFLAGS conftest.LDFLAGSconftest.ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu
- fi -fi
if test ! -z "$ac_cv_prog_CC" -a ! -z "$CC" -a "$CC" != "$ac_cv_prog_CC" then @@ -2872,6 +2622,190 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu If the user switches compilers, we can't believe the cache
- +echo "$as_me:$LINENO: checking for --with-cxx-main=" >&5 +echo ECHON"checkingfor−−with−cxx−main=<compiler>...ECHO_N "checking for --with-cxx-main=<compiler>... ECHON"checkingfor−−with−cxx−main=<compiler>...ECHO_C" >&6
- +# Check whether --with-cxx_main or --without-cxx_main was given.
+if test "${with_cxx_main+set}" = set; then
- withval="$with_cxx_main"
- case $withval in
- no) with_cxx_main=no
MAINCC='$(CC)';;
- yes) with_cxx_main=yes
MAINCC='$(CXX)';;
- *) with_cxx_main=yes
MAINCC=$withval
if test -z "$CXX"
then
CXX=$withval
fi;;
- esac +else
- with_cxx_main=no
- MAINCC='$(CC)'
- +fi; +echo "$as_me:$LINENO: result: $with_cxx_main" >&5 +echo "${ECHO_T}$with_cxx_main" >&6
- +preset_cxx="$CXX" +if test -z "$CXX" +then
case "$CC" in
gcc) # Extract the first word of "g++", so it can be a program name with args.
+set dummy g++; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo ECHON"checkingforECHO_N "checking for ECHON"checkingforac_word... $ECHO_C" >&6 +if test "${ac_cv_path_CXX+set}" = set; then
- echo ECHON"(cached)ECHO_N "(cached) ECHON"(cached)ECHO_C" >&6 +else
- case $CXX in
- [\/]* | ?:[\/]*)
- ac_cv_path_CXX="$CXX" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in notfound +do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if asexecutablep"as_executable_p "asexecutablep"as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_path_CXX="$as_dir/$ac_word$ac_exec_ext"
- echo "$as_me:$LINENO: found asdir/as_dir/asdir/ac_word$ac_exec_ext" >&5
- break 2
- fi +done +done
- test -z "$ac_cv_path_CXX" && ac_cv_path_CXX="g++"
- ;; +esac +fi +CXX=$ac_cv_path_CXX
- +if test -n "$CXX"; then
- echo "$as_me:$LINENO: result: $CXX" >&5 +echo "${ECHO_T}$CXX" >&6 +else
- echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi
- ;;
cc) # Extract the first word of "c++", so it can be a program name with args.
+set dummy c++; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo ECHON"checkingforECHO_N "checking for ECHON"checkingforac_word... $ECHO_C" >&6 +if test "${ac_cv_path_CXX+set}" = set; then
- echo ECHON"(cached)ECHO_N "(cached) ECHON"(cached)ECHO_C" >&6 +else
- case $CXX in
- [\/]* | ?:[\/]*)
- ac_cv_path_CXX="$CXX" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in notfound +do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if asexecutablep"as_executable_p "asexecutablep"as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_path_CXX="$as_dir/$ac_word$ac_exec_ext"
- echo "$as_me:$LINENO: found asdir/as_dir/asdir/ac_word$ac_exec_ext" >&5
- break 2
- fi +done +done
- test -z "$ac_cv_path_CXX" && ac_cv_path_CXX="c++"
- ;; +esac +fi +CXX=$ac_cv_path_CXX
- +if test -n "$CXX"; then
- echo "$as_me:$LINENO: result: $CXX" >&5 +echo "${ECHO_T}$CXX" >&6 +else
- echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi
- ;;
esac
- if test "$CXX" = "notfound"
- then
CXX=""
- fi +fi +if test -z "$CXX" +then
- for ac_prog in $CCC c++ g++ gcc CC cxx cc++ cl +do
Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy acprog;acword=ac_prog; ac_word=acprog;acword=2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo ECHON"checkingforECHO_N "checking for ECHON"checkingforac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_CXX+set}" = set; then
- echo ECHON"(cached)ECHO_N "(cached) ECHON"(cached)ECHO_C" >&6 +else
- if test -n "$CXX"; then
- ac_cv_prog_CXX="$CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if asexecutablep"as_executable_p "asexecutablep"as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_CXX="$ac_prog"
- echo "$as_me:$LINENO: found asdir/as_dir/asdir/ac_word$ac_exec_ext" >&5
- break 2
- fi +done +done
- +fi +fi +CXX=$ac_cv_prog_CXX +if test -n "$CXX"; then
- echo "$as_me:$LINENO: result: $CXX" >&5 +echo "${ECHO_T}$CXX" >&6 +else
- echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi
- test -n "$CXX" && break +done +test -n "$CXX" || CXX="notfound"
- if test "$CXX" = "notfound"
- then
CXX=""
- fi +fi +if test "$preset_cxx" != "$CXX" +then
{ echo "$as_me:$LINENO: WARNING:
- By default, distutils will build C++ extension modules with "$CXX".
- If this is not intended, then set CXX on the configure command line.
- " >&5 +echo "$as_me: WARNING:
- By default, distutils will build C++ extension modules with "$CXX".
- If this is not intended, then set CXX on the configure command line.
- " >&2;} +fi
ac_ext=c checks for UNIX variants that set C preprocessor variables
@@ -3274,22 +3208,7 @@ echo ECHON"checkingLINKCC...ECHO_N "checking LINKCC... ECHON"checkingLINKCC...ECHO_C" >&6 if test -z "$LINKCC" then
if test -z "$CXX"; then
LINKCC="\$(PURIFY) \$(CC)"
else
echo 'extern "C" void foo();int main(){foo();}' > conftest_a.cc
$CXX -c conftest_a.cc # 2>&5
echo 'void foo(){}' > conftest_b.$ac_ext
<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>C</mi><mi>C</mi><mo>−</mo><mi>c</mi><mi>c</mi><mi>o</mi><mi>n</mi><mi>f</mi><mi>t</mi><mi>e</mi><mi>s</mi><msub><mi>t</mi><mi>b</mi></msub><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">CC -c conftest_b.</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.7667em;vertical-align:-0.0833em;"></span><span class="mord mathnormal" style="margin-right:0.07153em;">CC</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">−</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:0.8889em;vertical-align:-0.1944em;"></span><span class="mord mathnormal">cco</span><span class="mord mathnormal">n</span><span class="mord mathnormal" style="margin-right:0.10764em;">f</span><span class="mord mathnormal">t</span><span class="mord mathnormal">es</span><span class="mord"><span class="mord mathnormal">t</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3361em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">b</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mord">.</span></span></span></span>ac_ext # 2>&5
if <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>C</mi><mi>C</mi><mo>−</mo><mi>o</mi><mi>c</mi><mi>o</mi><mi>n</mi><mi>f</mi><mi>t</mi><mi>e</mi><mi>s</mi><mi>t</mi></mrow><annotation encoding="application/x-tex">CC -o conftest</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.7667em;vertical-align:-0.0833em;"></span><span class="mord mathnormal" style="margin-right:0.07153em;">CC</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">−</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:0.8889em;vertical-align:-0.1944em;"></span><span class="mord mathnormal">oco</span><span class="mord mathnormal">n</span><span class="mord mathnormal" style="margin-right:0.10764em;">f</span><span class="mord mathnormal">t</span><span class="mord mathnormal">es</span><span class="mord mathnormal">t</span></span></span></span>ac_exeext conftest_a.$ac_objext conftest_b.$ac_objext 2>&5 \
&& test -s conftest$ac_exeext && ./conftest$ac_exeext
then
LINKCC="\$(PURIFY) \$(CC)"
else
LINKCC="\$(PURIFY) \$(CXX)"
fi
rm -fr conftest*
fi
- LINKCC='$(PURIFY) $(MAINCC)' case $ac_sys_system in AIX*) exp_extra=""""
@@ -22485,15 +22404,15 @@ s, at EXTRAPLATDIR@,$EXTRAPLATDIR,;t t s, at EXTRAMACHDEPPATH@,$EXTRAMACHDEPPATH,;t t s, at CONFIGURE_MACOSX_DEPLOYMENT_TARGET@,$CONFIGURE_MACOSX_DEPLOYMENT_TARGET,;t t -s, at CXX@,$CXX,;t t -s, at MAINOBJ@,$MAINOBJ,;t t -s, at EXEEXT@,$EXEEXT,;t t s, at CC@,$CC,;t t s, at CFLAGS@,$CFLAGS,;t t s, at LDFLAGS@,$LDFLAGS,;t t s, at CPPFLAGS@,$CPPFLAGS,;t t s, at ac_ct_CC@,$ac_ct_CC,;t t +s, at EXEEXT@,$EXEEXT,;t t s, at OBJEXT@,$OBJEXT,;t t +s, at CXX@,$CXX,;t t +s, at MAINCC@,$MAINCC,;t t s, at CPP@,$CPP,;t t s, at EGREP@,$EGREP,;t t s, at BUILDEXEEXT@,$BUILDEXEEXT,;t t
Modified: python/trunk/configure.in
--- python/trunk/configure.in (original) +++ python/trunk/configure.in Fri Apr 14 16:34:26 2006 @@ -313,64 +313,69 @@ esac]) 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_MSG_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_SUBST(CXX) -AC_SUBST(MAINOBJ) -MAINOBJ=python.o -AC_MSG_CHECKING(for --with-cxx=) -AC_ARG_WITH(cxx, - AC_HELP_STRING(--with-cxx=, enable C++ support), +AC_SUBST(MAINCC) +AC_MSG_CHECKING(for --with-cxx-main=) +AC_ARG_WITH(cxx_main, + AC_HELP_STRING([--with-cxx-main=], + [compile main() and link python executable with C++ compiler]), [ - check_cxx=no + case $withval in - no) CXX= - with_cxx=no;; - *) CXX=$withval - MAINOBJ=ccpython.o - with_cxx=$withval;; + no) with_cxx_main=no + MAINCC='$(CC)';; + yes) with_cxx_main=yes + MAINCC='$(CXX)';; + *) with_cxx_main=yes + MAINCC=$withval + if test -z "$CXX" + then + CXX=$withval + fi;; esac], [ - with_cxx=no - check_cxx=yes + with_cxx_main=no + MAINCC='$(CC)' ]) -AC_MSG_RESULT($with_cxx) +AC_MSG_RESULT($with_cxx_main) -if test "$with_cxx" = "yes" +preset_cxx="$CXX" +if test -z "$CXX" then - AC_MSG_ERROR([must supply a compiler when using --with-cxx]) + case "$CC" in + gcc) AC_PATH_PROG(CXX, [g++], [g++], [notfound]) ;; + cc) AC_PATH_PROG(CXX, [c++], [c++], [notfound]) ;; + esac + if test "$CXX" = "notfound" + then + CXX="" + fi fi
-dnl The following fragment works similar to AC_PROG_CXX. -dnl It does not fail if CXX is not found, and it is not executed if -dnl --without-cxx was given. -dnl Finally, it does not test whether CXX is g++.
-dnl Autoconf 2.5x does not have AC_PROG_CXX_WORKS anymore -ifdef([AC_PROG_CXX_WORKS],[], - [AC_DEFUN([AC_PROG_CXX_WORKS], - [AC_LANG_PUSH(C++)dnl - _AC_COMPILER_EXEEXT - AC_LANG_POP() - ] -)])
-if test "$check_cxx" = "yes" +if test -z "$CXX" then AC_CHECK_PROGS(CXX, $CCC c++ g++ gcc CC cxx cc++ cl, notfound) if test "$CXX" = "notfound" then - CXX= - else - AC_PROG_CXX_WORKS + CXX="" fi fi
-# 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" +if test "$preset_cxx" != "$CXX" then
- AC_MSG_ERROR([cached CC is different -- throw away $cache_file -(it is also a good idea to do 'make clean' before compiling)])
AC_MSG_WARN([
- By default, distutils will build C++ extension modules with "$CXX".
- If this is not intended, then set CXX on the configure command line.
- ]) fi
-AC_PROG_CC
checks for UNIX variants that set C preprocessor variables
AC_AIX @@ -480,22 +485,7 @@ AC_MSG_CHECKING(LINKCC) if test -z "$LINKCC" then
if test -z "$CXX"; then
LINKCC="\$(PURIFY) \$(CC)"
else
echo 'extern "C" void foo();int main(){foo();}' > conftest_a.cc
$CXX -c conftest_a.cc # 2>&5
echo 'void foo(){}' > conftest_b.$ac_ext
<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>C</mi><mi>C</mi><mo>−</mo><mi>c</mi><mi>c</mi><mi>o</mi><mi>n</mi><mi>f</mi><mi>t</mi><mi>e</mi><mi>s</mi><msub><mi>t</mi><mi>b</mi></msub><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">CC -c conftest_b.</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.7667em;vertical-align:-0.0833em;"></span><span class="mord mathnormal" style="margin-right:0.07153em;">CC</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">−</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:0.8889em;vertical-align:-0.1944em;"></span><span class="mord mathnormal">cco</span><span class="mord mathnormal">n</span><span class="mord mathnormal" style="margin-right:0.10764em;">f</span><span class="mord mathnormal">t</span><span class="mord mathnormal">es</span><span class="mord"><span class="mord mathnormal">t</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3361em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">b</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mord">.</span></span></span></span>ac_ext # 2>&5
if <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>C</mi><mi>C</mi><mo>−</mo><mi>o</mi><mi>c</mi><mi>o</mi><mi>n</mi><mi>f</mi><mi>t</mi><mi>e</mi><mi>s</mi><mi>t</mi></mrow><annotation encoding="application/x-tex">CC -o conftest</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.7667em;vertical-align:-0.0833em;"></span><span class="mord mathnormal" style="margin-right:0.07153em;">CC</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">−</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:0.8889em;vertical-align:-0.1944em;"></span><span class="mord mathnormal">oco</span><span class="mord mathnormal">n</span><span class="mord mathnormal" style="margin-right:0.10764em;">f</span><span class="mord mathnormal">t</span><span class="mord mathnormal">es</span><span class="mord mathnormal">t</span></span></span></span>ac_exeext conftest_a.$ac_objext conftest_b.$ac_objext 2>&5 \
&& test -s conftest$ac_exeext && ./conftest$ac_exeext
then
LINKCC="\$(PURIFY) \$(CC)"
else
LINKCC="\$(PURIFY) \$(CXX)"
fi
rm -fr conftest*
fi
- LINKCC='$(PURIFY) $(MAINCC)' case $ac_sys_system in AIX*) exp_extra=""""
- Previous message: [Python-checkins] buildbot warnings in x86 XP trunk
- Next message: [Python-checkins] r45388 - python/trunk/Misc/NEWS
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]