I'm pretty new to all of this, so please bear with me. I create a Setup.in that references some .cpp or .cxx files. When I create the Makefile, the command line generated for building these C++ sources is similar to: $(CCC) $(CCSHARE) ... However, CCC is never set anywhere.... Looking at configure.in, there appears to be support for setting this CCC variable. However, it was commented out in revision 1.113 - a checkin by Guido, December 1999, with the comment: """ Patch by Geoff Furnish to make compiling with C++ more gentle. (The configure script is regenerated, not from his patch.) """ Digging a little deeper, I find that config/Makefile.pre.in and config/makesetup both have references to CCC that account for the references in my Makefile. Unfortunately, my knowledge doesnt yet stretch to knowing exactly where these files come from :-) Surely all of this isn't correct. Can anyone tell me what is going on, or what I am doing wrong? Thanks, Mark.
On Tue, Aug 22, 2000 at 12:48:09AM +1000, Mark Hammond wrote:
Digging a little deeper, I find that config/Makefile.pre.in and config/makesetup both have references to CCC that account for the references in my Makefile. Unfortunately, my knowledge doesnt yet stretch to knowing exactly where these files come from :-)
The Makefile.pre.in is probably from Misc/Makefile.pre.in, which has a reference to $(CCC); Modules/Makefile.pre.in is more up to date and uses $(CXX). Modules/makesetup also refers to $(CCC), and probably needs to be changed to use $(CXX), matching Modules/Makefile.pre.in. Given that we want to encourage the use of the Distutils, Misc/Makefile.pre.in should be deleted to avoid having people use it. --amk
[Andrew]
The Makefile.pre.in is probably from Misc/Makefile.pre.in, which has a reference to $(CCC); Modules/Makefile.pre.in is more up to date and uses $(CXX). Modules/makesetup also refers to $(CCC), and probably needs to be changed to use $(CXX), matching Modules/Makefile.pre.in.
This is a bug in the install script then - it installs the CCC version into /usr/local/lib/python2.0/config. Also, the online extending-and-embedding instructions explicitly tell you to use the Misc/ version (http://www.python.org/doc/current/ext/building-on-unix.html)
Given that we want to encourage the use of the Distutils, Misc/Makefile.pre.in should be deleted to avoid having people use it.
That may be a little drastic :-) So, as far as I can tell, we have a problem in that using the most widely available instructions, attempting to build a new C++ extension module on Linux will fail. Can someone confirm it is indeed a bug that I should file? (Or maybe a patch I should submit?) Mark.
participants (2)
-
Andrew Kuchling -
Mark Hammond