From 7fd121bb7d6c25c2e0a1c31cf76fb9bd4a9794de Mon Sep 17 00:00:00 2001 From: Markus Lehtonen Date: Tue, 14 Aug 2018 14:11:35 +0800 Subject: [PATCH 1/2] Use correct CFLAGS for extensions when cross-compiling Take PY_CFLAGS_NODIST into account, like in native build. This is needed in order to to profile-optimized build. Also, pass EXTRA_CFLAGS to profile-optimized build. Upstream-Status: Pending Signed-off-by: Markus Lehtonen --- Makefile.pre.in | 4 ++-- setup.py | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/Makefile.pre.in b/Makefile.pre.in index e2d5d3d..84bc3ff 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in @@ -478,7 +478,7 @@ profile-opt: $(MAKE) profile-removal build_all_generate_profile: - $(MAKE) @DEF_MAKE_RULE@ CFLAGS_NODIST="$(CFLAGS) $(PGO_PROF_GEN_FLAG) @LTOFLAGS@" LDFLAGS="$(LDFLAGS) $(PGO_PROF_GEN_FLAG) @LTOFLAGS@" LIBS="$(LIBS)" + $(MAKE) @DEF_MAKE_RULE@ CFLAGS_NODIST="$(CFLAGS) $(EXTRA_CFLAGS) $(PGO_PROF_GEN_FLAG) @LTOFLAGS@" LDFLAGS="$(LDFLAGS) $(PGO_PROF_GEN_FLAG) @LTOFLAGS@" LIBS="$(LIBS)" run_profile_task: : # FIXME: can't run for a cross build @@ -488,7 +488,7 @@ build_all_merge_profile: $(LLVM_PROF_MERGER) build_all_use_profile: - $(MAKE) @DEF_MAKE_RULE@ CFLAGS_NODIST="$(CFLAGS) $(PGO_PROF_USE_FLAG) @LTOFLAGS@" LDFLAGS="$(LDFLAGS) @LTOFLAGS@" + $(MAKE) @DEF_MAKE_RULE@ CFLAGS_NODIST="$(CFLAGS) $(EXTRA_CFLAGS) $(PGO_PROF_USE_FLAG) @LTOFLAGS@" LDFLAGS="$(LDFLAGS) @LTOFLAGS@" # Compile and run with gcov .PHONY=coverage coverage-lcov coverage-report diff --git a/setup.py b/setup.py index add3346..65e83b1 100644 --- a/setup.py +++ b/setup.py @@ -263,7 +263,8 @@ class PyBuildExt(build_ext): # compilers if compiler is not None: if cross_compiling: - (ccshared,cflags) = (os.environ.get('CCSHARED') or '', os.environ.get('CFLAGS') or '') + (ccshared,cflags) = (os.environ.get('CCSHARED') or '', + (os.environ.get('CFLAGS') or '') + ' ' + sysconfig.get_config_var('PY_CFLAGS_NODIST')) else: (ccshared,cflags) = sysconfig.get_config_vars('CCSHARED','CFLAGS') args['compiler_so'] = compiler + ' ' + ccshared + ' ' + cflags -- 2.17.1