summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrett Cannon <bcannon@gmail.com>2005-04-24 22:26:38 +0000
committerBrett Cannon <bcannon@gmail.com>2005-04-24 22:26:38 +0000
commit08cd598c2145d00f1517c93cabf80a5d7d2a4bc0 (patch)
treeff364e13d14455f5850f7af139bd721a1c371ddd
parent43148c84136697b56cdd9327a64ac3225fe48651 (diff)
downloadcpython-git-08cd598c2145d00f1517c93cabf80a5d7d2a4bc0.tar.gz
Introduced EXTRA_CFLAGS as an environment variable used by the Makefile. Meant
to be used for flags that change binary compatibility. Distutils was tweaked to also use the variable if used during compilation of the interpreter.
-rw-r--r--Lib/distutils/sysconfig.py7
-rw-r--r--Makefile.pre.in2
-rw-r--r--Misc/NEWS5
-rw-r--r--Misc/SpecialBuilds.txt5
-rw-r--r--README3
5 files changed, 15 insertions, 7 deletions
diff --git a/Lib/distutils/sysconfig.py b/Lib/distutils/sysconfig.py
index aae0f27cb5..1bd62097f0 100644
--- a/Lib/distutils/sysconfig.py
+++ b/Lib/distutils/sysconfig.py
@@ -146,8 +146,9 @@ def customize_compiler(compiler):
varies across Unices and is stored in Python's Makefile.
"""
if compiler.compiler_type == "unix":
- (cc, cxx, opt, basecflags, ccshared, ldshared, so_ext) = \
- get_config_vars('CC', 'CXX', 'OPT', 'BASECFLAGS', 'CCSHARED', 'LDSHARED', 'SO')
+ (cc, cxx, opt, extra_cflags, basecflags, ccshared, ldshared, so_ext) = \
+ get_config_vars('CC', 'CXX', 'OPT', 'EXTRA_CFLAGS', 'BASECFLAGS',
+ 'CCSHARED', 'LDSHARED', 'SO')
if os.environ.has_key('CC'):
cc = os.environ['CC']
@@ -171,7 +172,7 @@ def customize_compiler(compiler):
opt = opt + ' ' + os.environ['CPPFLAGS']
ldshared = ldshared + ' ' + os.environ['CPPFLAGS']
- cc_cmd = cc + ' ' + opt
+ cc_cmd = ' '.join(str(x) for x in (cc, opt, extra_cflags) if x)
compiler.set_executables(
preprocessor=cpp,
compiler=cc_cmd,
diff --git a/Makefile.pre.in b/Makefile.pre.in
index e4d9008d50..7b440f3118 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -55,7 +55,7 @@ MAKESETUP= $(srcdir)/Modules/makesetup
# Compiler options
OPT= @OPT@
BASECFLAGS= @BASECFLAGS@
-CFLAGS= $(BASECFLAGS) $(OPT)
+CFLAGS= $(BASECFLAGS) $(OPT) $(EXTRA_CFLAGS)
# Both CPPFLAGS and LDFLAGS need to contain the shell's value for setup.py to
# be able to build extension modules using the directories specified in the
# environment variables
diff --git a/Misc/NEWS b/Misc/NEWS
index 23f760b774..1557a46ce1 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -276,6 +276,11 @@ Library
Build
-----
+- EXTRA_CFLAGS has been introduced as an environment variable to hold compiler
+ flags that change binary compatibility. Changes were also made to
+ distutils.sysconfig to also use the environment variable when used during
+ compilation of the interpreter.
+
- SF patch 1171735: Darwin 8's headers are anal about POSIX compliance,
and linking has changed (prebinding is now deprecated, and libcc_dynamic
no longer exists). This configure patch makes things right.
diff --git a/Misc/SpecialBuilds.txt b/Misc/SpecialBuilds.txt
index feff20e5cd..811147668f 100644
--- a/Misc/SpecialBuilds.txt
+++ b/Misc/SpecialBuilds.txt
@@ -1,9 +1,8 @@
This file describes some special Python build types enabled via
compile-time preprocessor defines.
-It is best to define these options in the OPT environment variable;
-``OPT="-DPy_REF_DEBUG" ./configure``. If you want the default values of
-OPT to also be included you will need to add them in yourself manually.
+It is best to define these options in the EXTRA_FLAGS environment variable;
+``EXTRA_CFLAGS="-DPy_REF_DEBUG" ./configure``.
---------------------------------------------------------------------------
Py_REF_DEBUG introduced in 1.4
diff --git a/README b/README
index dedd3bd2e4..f1c3a890ea 100644
--- a/README
+++ b/README
@@ -827,6 +827,9 @@ the -Wall and -Wstrict-prototypes options.
Additional debugging code to help debug memory management problems can
be enabled by using the --with-pydebug option to the configure script.
+For flags that change binary compatibility, use the EXTRA_CFLAGS
+variable.
+
Profiling
---------