From 08cd598c2145d00f1517c93cabf80a5d7d2a4bc0 Mon Sep 17 00:00:00 2001 From: Brett Cannon Date: Sun, 24 Apr 2005 22:26:38 +0000 Subject: [PATCH] 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. --- Lib/distutils/sysconfig.py | 7 ++++--- Makefile.pre.in | 2 +- Misc/NEWS | 5 +++++ Misc/SpecialBuilds.txt | 5 ++--- README | 3 +++ 5 files changed, 15 insertions(+), 7 deletions(-) diff --git a/Lib/distutils/sysconfig.py b/Lib/distutils/sysconfig.py index aae0f27cb57..1bd62097f04 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 e4d9008d50a..7b440f31188 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 23f760b774b..1557a46ce1b 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 feff20e5cd7..811147668f6 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 dedd3bd2e45..f1c3a890ea1 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 ---------