diff options
Diffstat (limited to 'meta-systemd/recipes-core/systemd')
-rw-r--r-- | meta-systemd/recipes-core/systemd/systemd/use-cross-cpp.patch | 30 | ||||
-rw-r--r-- | meta-systemd/recipes-core/systemd/systemd_git.bb | 2 |
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/ |