diff options
| author | Gustavo Niemeyer <gustavo@niemeyer.net> | 2002-11-05 16:12:02 +0000 |
|---|---|---|
| committer | Gustavo Niemeyer <gustavo@niemeyer.net> | 2002-11-05 16:12:02 +0000 |
| commit | 47474c30d9a5ba83990c5370f74eba40d166d84c (patch) | |
| tree | c7bab5eb9ded9c04c02f3a6bd564b2b0ac9cc56e /emxccompiler.py | |
| parent | 8c157b7b9e0b11cd6274e6fdbb476e142d61951f (diff) | |
| download | python-setuptools-git-47474c30d9a5ba83990c5370f74eba40d166d84c.tar.gz | |
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().
Diffstat (limited to 'emxccompiler.py')
| -rw-r--r-- | emxccompiler.py | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/emxccompiler.py b/emxccompiler.py index 7c3ad025..624c0fec 100644 --- a/emxccompiler.py +++ b/emxccompiler.py @@ -102,7 +102,8 @@ class EMXCCompiler (UnixCCompiler): debug=0, extra_preargs=None, extra_postargs=None, - build_temp=None): + build_temp=None, + target_lang=None): # use separate copies, so we can modify the lists extra_preargs = copy.copy(extra_preargs or []) @@ -171,7 +172,8 @@ class EMXCCompiler (UnixCCompiler): debug, extra_preargs, extra_postargs, - build_temp) + build_temp, + target_lang) # link () |
