From 7fd121bb7d6c25c2e0a1c31cf76fb9bd4a9794de Mon Sep 17 00:00:00 2001
From: Markus Lehtonen <markus.lehtonen@linux.intel.com>
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 <markus.lehtonen@linux.intel.com>
---
 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

