"Martin v. Löwis" <[EMAIL PROTECTED]> writes: > David Abrahams wrote: >>>Not entirely. By extending Modules/Setup >> >> >> You mean >> http://cvs.sourceforge.net/viewcvs.py/python/python/dist/src/Modules/Setup.dist?view=markup >> ? > > I mean Modules/Setup. It is generated from Modules/Setup.dist > (plus some additional information) in the build process. > >> I contend that either: >> >> a. Anyone making that sort of extension with a C++ module should >> explicitly request --with-cxx, or >> >> b. The python build system should automatically detect that >> --with-cxx is needed based on the presence of C++ extension >> modules. >> >> Frankly I think b. would require an impractical amount of work and, >> speaking as an author of C++ extension modules, I don't think a. is >> much of a burden to impose. > > It is the burden of change.
Well, as you say: What *has* changed now is that the configure test suddenly determines that you need to link with g++ on Linux if main was compiled with g++. This was not the case before, but now is (since g++ 3.2 or something). > Contributions are welcome. Let me first try to discover what contribution would be acceptable. What if: - we add a configure test that runs after the existing test determines that --with-cxx is needed (but not when --with-cxx is explicitly specified on the command line) - This test runs a 'C' executable that tries to load a C++ dynamic library with dlopen. - The test returns an error code if the the dynamic library's static and dynamic initializers have not been run properly - If the test fails we disable --with-cxx ?? I'm trying to intrude on the existing behavior as little as possible, yet get the semantics we want for ELF/Linux in a way that stands a good chance of generalizing to other platforms. > However, you will find that with a), people will still pass --with-cxx, > because they tend to "enable" all features they can find. That's acceptable to me. We could probably circumvent some of those cases by improving the configure --help text. > I personally could accept --with-cxx and ccpython.cc to be removed > again, but I'm uncertain whether that may break distutils in some > way. Well, that would certainly be an easy "solution," but it would break HP/UX, and it would break anyone that needs to statically link C++ modules on some platforms. It's a much more drastic change than it would be to only have the system use --with-cxx when the person running configure asks for it explicitly. -- Dave Abrahams Boost Consulting www.boost-consulting.com _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com