In order to support Debian's goal to have a common set of default build flags for the distribution (with a particular focus on hardening related changes), I need to pass CPPFLAGS through configure.
I came up with the attached patch for sip4 0.13.3. I'd appreciate a review. It works. I won't say much for it beyond that as I'm not sure I've fully grokked what's going on in siputils.py. If this seams reasonable, I intend to attack PyQt4 and QScintilla2 also. Scott K
Description: Extend configure.py and siputils.py to support external definition of CPPFLAGS Author: Scott Kitterman <sc...@kitterman.com> Origin: vendor Forwarded: no Reviewed-By: Scott Kitterman <sc...@kitterman.com> Last-Update: <2012-06-22> --- sip4-4.13.3.orig/configure.py +++ sip4-4.13.3/configure.py @@ -63,6 +63,7 @@ build_macro_names = [ "CFLAGS_STL_ON", "CFLAGS_STL_OFF", "CFLAGS_WARN_ON", "CFLAGS_WARN_OFF", "CHK_DIR_EXISTS", "COPY", + "CPPFLAGS", "CPPFLAGS_SHLIB", "CPPFLAGS_RELEASE", "CXX", "CXXFLAGS", "CXXFLAGS_RELEASE", "CXXFLAGS_DEBUG", --- sip4-4.13.3.orig/siputils.py +++ sip4-4.13.3/siputils.py @@ -313,6 +313,7 @@ class Makefile: # These are what configuration scripts normally only need to change. self.extra_cflags = [] + self.extra_cppflags = [] self.extra_cxxflags = [] self.extra_defines = [] self.extra_include_dirs = [] @@ -369,6 +370,10 @@ class Makefile: cflags.extend(self.extra_cflags) cflags.extend(self.optional_list("CFLAGS")) + cppflags = _UniqueList() + cppflags.extend(self.extra_cppflags) + cppflags.extend(self.optional_list("CPPFLAGS")) + cxxflags = _UniqueList() cxxflags.extend(self.extra_cxxflags) cxxflags.extend(self.optional_list("CXXFLAGS")) @@ -767,6 +772,7 @@ class Makefile: # Save the transformed values. self.CFLAGS.set(cflags) + self.CPPFLAGS.set(cppflags) self.CXXFLAGS.set(cxxflags) self.DEFINES.set(defines) self.INCDIR.set(incdir) @@ -1098,7 +1104,7 @@ class Makefile: mfile.write("CXX = %s\n" % self.required_string("CXX")) mfile.write("LINK = %s\n" % self.required_string("LINK")) - cppflags = [] + cppflags = [self.optional_string("CPPFLAGS"),] if not self._debug: cppflags.append("-DNDEBUG") @@ -1461,6 +1467,7 @@ class ModuleMakefile(Makefile): self.DEFINES.append("SIP_STATIC_MODULE") else: self.CFLAGS.extend(self.optional_list("CFLAGS_SHLIB")) + self.CPPFLAGS.extend(self.optional_list("CPPFLAGS_SHLIB")) self.CXXFLAGS.extend(self.optional_list("CXXFLAGS_SHLIB")) lflags_dll = self.optional_list("LFLAGS_DLL") @@ -1807,6 +1814,7 @@ class ProgramMakefile(Makefile): build.append("-I" + _quote(f)) build.extend(self.optional_list("CXXFLAGS")) + build.extend(self.optional_list("CPPFLAGS")) # Borland requires all flags to precede all file names. if self.generator != "BMAKE":
_______________________________________________ PyQt mailing list PyQt@riverbankcomputing.com http://www.riverbankcomputing.com/mailman/listinfo/pyqt