perf tools: Fix NO_NEWT=1 python build error
Robert Richter [Tue, 29 Mar 2011 18:02:57 +0000 (20:02 +0200)]
Fix the following build error:

     GEN python/perf.so
 In file included from util/evsel.h:10,
                  from util/python.c:6:
 util/hist.h:106:18: error: newt.h: No such file or directory
 error: command 'x86_64-pc-linux-gnu-gcc' failed with exit status 1
 make: *** [python/perf.so] Error 1

by passing BASIC_CFLAGS to setup.py. BASIC_CFLAGS variable contains
the -DNO_NEWT_SUPPORT switch which prevents building python c
extension with newt.

Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
LKML-Reference: <20110329180236.GA19366@erda.amd.com>
Signed-off-by: Robert Richter <robert.richter@amd.com>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

tools/perf/Makefile
tools/perf/util/setup.py

index 158c30e..207dee5 100644 (file)
@@ -165,8 +165,12 @@ grep-libs = $(filter -l%,$(1))
 strip-libs = $(filter-out -l%,$(1))
 
 $(OUTPUT)python/perf.so: $(PYRF_OBJS)
-       $(QUIET_GEN)python util/setup.py --quiet  build_ext --build-lib='$(OUTPUT)python' \
-                                               --build-temp='$(OUTPUT)python/temp'
+       $(QUIET_GEN)( \
+               export CFLAGS="$(BASIC_CFLAGS)"; \
+               python util/setup.py --quiet  build_ext --build-lib='$(OUTPUT)python' \
+                       --build-temp='$(OUTPUT)python/temp' \
+       )
+
 #
 # No Perl scripts right now:
 #
index e24ffad..bbc982f 100644 (file)
@@ -1,13 +1,18 @@
 #!/usr/bin/python2
 
 from distutils.core import setup, Extension
+from os import getenv
+
+cflags = ['-fno-strict-aliasing', '-Wno-write-strings']
+cflags += getenv('CFLAGS', '').split()
 
 perf = Extension('perf',
                  sources = ['util/python.c', 'util/ctype.c', 'util/evlist.c',
                             'util/evsel.c', 'util/cpumap.c', 'util/thread_map.c',
                             'util/util.c', 'util/xyarray.c', 'util/cgroup.c'],
                  include_dirs = ['util/include'],
-                 extra_compile_args = ['-fno-strict-aliasing', '-Wno-write-strings'])
+                 extra_compile_args = cflags,
+                 )
 
 setup(name='perf',
       version='0.1',