summaryrefslogtreecommitdiffstats
path: root/buildrun.cxx
diff options
context:
space:
mode:
authorfche <fche>2007-04-27 13:19:16 +0000
committerfche <fche>2007-04-27 13:19:16 +0000
commit522518f1c5c98325d6d746667ab0183af7922915 (patch)
treeee15bd1c005d2d5e580910a9d03358648cbbf3d5 /buildrun.cxx
parentee6b2f59ef89bebc608f6514de3dc0de179d96d6 (diff)
downloadsystemtap-steved-522518f1c5c98325d6d746667ab0183af7922915.tar.gz
systemtap-steved-522518f1c5c98325d6d746667ab0183af7922915.tar.xz
systemtap-steved-522518f1c5c98325d6d746667ab0183af7922915.zip
2007-04-27 Frank Ch. Eigler <fche@elastic.org>
PR 4432. * buildrun.cxx (compile_pass): Tweak autoconf CFLAGS handling to avoid macro recursion but still get the needed -I directives. Add the inode-private autoconf test. 2007-04-27 Frank Ch. Eigler <fche@elastic.org> * autoconf-inode-private.c: New file from hunt.
Diffstat (limited to 'buildrun.cxx')
-rw-r--r--buildrun.cxx10
1 files changed, 7 insertions, 3 deletions
diff --git a/buildrun.cxx b/buildrun.cxx
index ec633bab..e8bd5855 100644
--- a/buildrun.cxx
+++ b/buildrun.cxx
@@ -42,14 +42,18 @@ compile_pass (systemtap_session& s)
// Clever hacks copied from vmware modules
o << "stap_check_gcc = $(shell if $(CC) $(1) -S -o /dev/null -xc /dev/null > /dev/null 2>&1; then echo \"$(1)\"; else echo \"$(2)\"; fi)" << endl;
- o << "stap_check_build = $(shell " /*<< "set -x; "*/ << " if $(CC) $(CPPFLAGS) $(CFLAGS_KERNEL) $(mflags-y) $(EXTRA_CFLAGS) -DKBUILD_BASENAME=\\\"" << s.module_name << "\\\" -Werror -S -o /dev/null -xc $(1) > /dev/null 2>&1; then echo \"$(2)\"; else echo \"$(3)\"; fi)" << endl;
+ o << "stap_check_build = $(shell " << "set -x; " << " if $(CC) $(CPPFLAGS) $(CFLAGS_KERNEL) $(EXTRA_CFLAGS) $(CFLAGS) -DKBUILD_BASENAME=\\\"" << s.module_name << "\\\" -Werror -S -o /dev/null -xc $(1) > /dev/null ; then echo \"$(2)\"; else echo \"$(3)\"; fi)" << endl;
+
o << "SYSTEMTAP_RUNTIME = \"" << s.runtime_path << "\"" << endl;
// "autoconf" options go here
// enum hrtimer_mode renaming near 2.6.21; see tapsets.cxx hrtimer_derived_probe_group::emit_module_decls
- o << "CFLAGS += $(call stap_check_build, $(SYSTEMTAP_RUNTIME)/autoconf-hrtimer-rel.c, -DSTAPCONF_HRTIMER_REL,)" << endl;
+ string module_cflags = "CFLAGS_" + s.module_name + ".o";
+ o << module_cflags << " :=" << endl;
+ o << module_cflags << " += $(call stap_check_build, $(SYSTEMTAP_RUNTIME)/autoconf-hrtimer-rel.c, -DSTAPCONF_HRTIMER_REL,)" << endl;
+ o << module_cflags << " += $(call stap_check_build, $(SYSTEMTAP_RUNTIME)/autoconf-inode-private.c, -DSTAPCONF_INODE_PRIVATE,)" << endl;
for (unsigned i=0; i<s.macros.size(); i++)
@@ -94,7 +98,7 @@ compile_pass (systemtap_session& s)
string make_cmd = string("make")
+ string (" -C \"") + module_dir + string("\"");
make_cmd += string(" M=\"") + s.tmpdir + string("\" modules");
-
+
if (s.verbose > 1)
make_cmd += " V=1";
else