This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author cludwig
Recipients
Date 2005-10-12.11:45:22
SpamBayes Score
Marked as misclassified
Message-id
In-reply-to
Content
The attached patch proposes a resolution to the discussion 
started in 
<url:http://thread.gmane.org/gmane.comp.python.devel/69651> 
regarding the compiler (C vs. C++) used to compile python's 
main() and to link the executable.  
 
The patch contains the following changes: 
 
1) The configure option --with-cxx is renamed 
--with-cxx-main. This was done to avoid surprising the user 
by the changed meaning. Furthermore, it is now possible 
that CXX has a different value than provided by 
--with-cxx-main, so the old name would have been 
confusing. 
 
2) The compiler used to translate python's main() function is 
stored in the configure / Makefile variable MAINCC. By 
default, MAINCC=$(CC). If --with-cxx-main is given (without 
an appended compiler name), then MAINCC=$(CXX). If 
--with-cxx-main=<compiler> is on the configure command 
line, then MAINCC=<compiler>. Additionally, configure sets 
CXX=<compiler> unless CXX was already set on the 
configure command line. 
 
3) The command used to link the python executable is (as 
before) stored in LINKCC. By default, LINKCC='$(PURIFY) 
$(MAINCC)', i.e. the linker front-end is the compiler used to 
translate main(). If necessary, LINKCC can be set on the 
configure command line in which case it won't be altered. 
 
4) If CXX is not set by the user (on the command line or via 
--with-cxx-main), then configure tries several likely C++ 
compiler names. CXX is assigned the first name that refers 
to a callable program in the system. (CXX is set even if 
python is built with a C compiler only, so distutils can build 
C++ extensions.)  
 
5) Modules/ccpython.cc is no longer used and can be 
removed. 
 
 
History
Date User Action Args
2007-08-23 15:44:11adminlinkissue1324762 messages
2007-08-23 15:44:11admincreate