summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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 aae0f27..1bd6209 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 e4d9008..7b440f3 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 23f760b..1557a46 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 feff20e..8111476 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 dedd3bd..f1c3a89 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
---------