cpython/Lib/distutils/command
Gustavo Niemeyer 6b016852f8 This patch fixes the following bugs:
[#413582] g++ must be called for c++ extensions
[#454030] distutils cannot link C++ code with GCC

topdir = "Lib/distutils"

* bcppcompiler.py
  (BCPPCompiler.create_static_lib): Fixed prototype, removing extra_preargs
  and extra_postargs parameters. Included target_lang parameter.
  (BCPPCompiler.link): Included target_lang parameter.

* msvccompiler.py
  (MSVCCompiler.create_static_lib): Fixed prototype, removing extra_preargs
  and extra_postargs parameters. Included target_lang parameter.
  (MSVCCompiler.link): Included target_lang parameter.

* ccompiler.py
  (CCompiler): New language_map and language_order attributes, used by
  CCompiler.detect_language().

  (CCompiler.detect_language): New method, will return the language of
  a given source, or list of sources. Individual source language is
  detected using the language_map dict. When mixed sources are used,
  language_order will stablish the language precedence.

  (CCompiler.create_static_lib, CCompiler.link, CCompiler.link_executable,
   CCompiler.link_shared_object, CCompiler.link_shared_lib):
  Inlcuded target_lang parameter.

* cygwinccompiler.py
  (CygwinCCompiler.link): Included target_lang parameter.

* emxccompiler.py
  (EMXCCompiler.link): Included target_lang parameter.

* mwerkscompiler.py
  (MWerksCompiler.link): Included target_lang parameter.

* extension.py
  (Extension.__init__): New 'language' parameter/attribute, initialized
  to None by default. If provided will overlap the automatic detection
  made by CCompiler.detect_language(), in build_ext command.

* sysconfig.py
  (customize_compiler): Check Makefile for CXX option, and also the
  environment variable CXX. Use the resulting value in the 'compiler_cxx'
  parameter of compiler.set_executables().

* unixccompiler.py
  (UnixCCompiler): Included 'compiler_cxx' in executables dict, defaulting
  to 'cc'.
  (UnixCCompiler.create_static_lib): Included target_lang parameter.
  (UnixCCompiler.link): Included target_lang parameter, and made
  linker command use compiler_cxx, if target_lang is 'c++'.

* command/build_ext.py
  (build_ext.build_extension): Pass new ext.language attribute
  to compiler.link_shared_object()'s target_lang parameter. If
  ext.language is not provided, detect language using
  compiler.detect_language(sources) instead.

* command/config.py
  (config._link): Pass already available lang parameter as target_lang
  parameter of compiler.link_executable().
2002-11-05 16:12:02 +00:00
..
__init__.py Pulling Mark Alexander's contribution from CVS. 2002-10-04 09:30:06 +00:00
bdist.py Pulling Mark Alexander's contribution from CVS. 2002-10-04 09:30:06 +00:00
bdist_dumb.py Make setup.py less chatty by default. 2002-06-04 20:14:43 +00:00
bdist_rpm.py [Bug #570655] Fix misleading option text 2002-11-04 13:33:07 +00:00
bdist_wininst.py Must now give the basename - not including directories - of the 2002-11-05 10:06:19 +00:00
build.py Fix for 2001-12-10 15:28:30 +00:00
build_clib.py Make setup.py less chatty by default. 2002-06-04 20:14:43 +00:00
build_ext.py This patch fixes the following bugs: 2002-11-05 16:12:02 +00:00
build_py.py Make None return explicit 2002-06-04 21:00:20 +00:00
build_scripts.py Make setup.py less chatty by default. 2002-06-04 20:14:43 +00:00
clean.py Change warning to debug level; it's a very minor issue. 2002-06-06 14:54:56 +00:00
command_template Cosmetic tweak. 2000-05-30 02:04:54 +00:00
config.py This patch fixes the following bugs: 2002-11-05 16:12:02 +00:00
install.py Use distutils.debug.DEBUG instead of distutils.core.DEBUG. 2002-09-11 16:31:53 +00:00
install_data.py [Bug #444589] Record empty directories in the install_data command 2001-09-04 20:42:08 +00:00
install_headers.py Whitespace normalization. 2001-12-06 21:01:19 +00:00
install_lib.py Make setup.py less chatty by default. 2002-06-04 20:14:43 +00:00
install_scripts.py Fix bug in recent change to logging code. 2002-06-04 20:30:10 +00:00
sdist.py Make setup.py less chatty by default. 2002-06-04 20:14:43 +00:00