aboutsummaryrefslogtreecommitdiffstats
path: root/meta-systemd/recipes-core
diff options
context:
space:
mode:
Diffstat (limited to 'meta-systemd/recipes-core')
-rw-r--r--meta-systemd/recipes-core/systemd/systemd/use-cross-cpp.patch30
-rw-r--r--meta-systemd/recipes-core/systemd/systemd_git.bb2
2 files changed, 32 insertions, 0 deletions
diff --git a/meta-systemd/recipes-core/systemd/systemd/use-cross-cpp.patch b/meta-systemd/recipes-core/systemd/systemd/use-cross-cpp.patch
new file mode 100644
index 0000000000..8a4371ec76
--- /dev/null
+++ b/meta-systemd/recipes-core/systemd/systemd/use-cross-cpp.patch
@@ -0,0 +1,30 @@
+hardcoding cpp does not work when cross compiling systemd.
+since it will use the include headers from host system and
+syscalls are different for different architectures.
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Pending
+
+Index: systemd-187/Makefile.am
+===================================================================
+--- systemd-187.orig/Makefile.am 2012-07-29 16:39:57.628405921 -0700
++++ systemd-187/Makefile.am 2012-07-29 16:40:37.248405921 -0700
+@@ -1026,7 +1026,7 @@
+ src/core/syscall-to-name.h
+
+ src/core/syscall-list.txt: Makefile
+- $(AM_V_GEN)cpp $(AM_CPPFLAGS) $(CPPFLAGS) -dM -include sys/syscall.h < /dev/null | $(AWK) '/^#define[ \t]+__NR_[^ ]+[ \t]+[0-9]/ { sub(/__NR_/, "", $$2); print $$2; }' > $@
++ $(AM_V_GEN)$(CPP) $(AM_CPPFLAGS) $(CPPFLAGS) -dM -include sys/syscall.h < /dev/null | $(AWK) '/^#define[ \t]+__NR_[^ ]+[ \t]+[0-9]/ { sub(/__NR_/, "", $$2); print $$2; }' > $@
+
+ src/core/syscall-from-name.gperf: src/core/syscall-list.txt Makefile
+ $(AM_V_GEN)$(AWK) 'BEGIN{ print "struct syscall_name { const char* name; int id; };"; print "%null-strings"; print "%%";} { printf "%s, __NR_%s\n", $$1, $$1 }' < $< > $@
+@@ -2199,7 +2199,7 @@
+
+ src/udev/keymap/keys.txt: Makefile
+ $(AM_V_at)mkdir -p src/udev/keymap
+- $(AM_V_GEN)cpp $(AM_CPPFLAGS) $(CPPFLAGS) -dM -include linux/input.h < /dev/null | $(AWK) '/^#define[ \t]+KEY_[^ ]+[ \t]+[0-9]/ { if ($$2 != "KEY_MAX") { print $$2 } }' | sed 's/^KEY_COFFEE$$/KEY_SCREENLOCK/' > $@
++ $(AM_V_GEN)$(CPP) $(AM_CPPFLAGS) $(CPPFLAGS) -dM -include linux/input.h < /dev/null | $(AWK) '/^#define[ \t]+KEY_[^ ]+[ \t]+[0-9]/ { if ($$2 != "KEY_MAX") { print $$2 } }' | sed 's/^KEY_COFFEE$$/KEY_SCREENLOCK/' > $@
+
+ src/udev/keymap/keys-from-name.gperf: src/udev/keymap/keys.txt Makefile
+ $(AM_V_GEN)$(AWK) 'BEGIN{ print "struct key { const char* name; unsigned short id; };"; print "%null-strings"; print "%%";} { print $$1 ", " $$1 }' < $< > $@
diff --git a/meta-systemd/recipes-core/systemd/systemd_git.bb b/meta-systemd/recipes-core/systemd/systemd_git.bb
index 5d1c28b319..b1cc9c3941 100644
--- a/meta-systemd/recipes-core/systemd/systemd_git.bb
+++ b/meta-systemd/recipes-core/systemd/systemd_git.bb
@@ -27,6 +27,7 @@ SRCREV = "3fd89536883ea9e24e69f28de0d11cd7cffb42ce"
SRC_URI = "git://anongit.freedesktop.org/systemd/systemd;protocol=git \
file://use-rootlibdir.patch \
+ file://use-cross-cpp.patch \
file://gtk-doc.make \
file://touchscreen.rules \
file://modprobe.rules \
@@ -62,6 +63,7 @@ EXTRA_OECONF = " --with-distro=${SYSTEMDDISTRO} \
# There's no docbook-xsl-native, so for the xsltproc check to false
do_configure_prepend() {
+ export CPP="${HOST_PREFIX}cpp ${TOOLCHAIN_OPTIONS} ${HOST_CC_ARCH}"
sed -i /xsltproc/d configure.ac
cp ${WORKDIR}/gtk-doc.make ${S}/docs/