From: Christopher Larson <kergoth@gmail.com>
To: openembedded-devel@lists.openembedded.org
Cc: Christopher Larson <chris_larson@mentor.com>
Subject: [meta-oe][PATCHv2] luajit: fix build issues, obey more vars
Date: Tue, 31 May 2016 10:38:58 -0700 [thread overview]
Message-ID: <1464716338-14365-1-git-send-email-kergoth@gmail.com> (raw)
In-Reply-To: <328bdd83910d94b0c35eaff11abd98838c20493e.1463501350.git.chris_larson@mentor.com>
In-Reply-To: <328bdd83910d94b0c35eaff11abd98838c20493e.1463501350.git.chris_larson@mentor.com>
From: Christopher Larson <chris_larson@mentor.com>
Rework how variables are passed in to ensure that more of our flag vars are
obeyed, make it obey more of our target path vars, and use fewer of its
hardcoded flags. Also add verbosity to the compile output for debugging.
Without this, errors were seen for us:
| In file included from .../lib/gcc/i686-pc-linux-gnu/5.2.0/include-fixed/64/sgxx-glibc/syslimits.h:7:0,
| from .../lib/gcc/i686-pc-linux-gnu/5.2.0/include-fixed/64/sgxx-glibc/limits.h:34,
| from luaconf.h:12,
| from lua.h:16,
| from lj_arch.h:9:
| .../lib/gcc/i686-pc-linux-gnu/5.2.0/include-fixed/64/sgxx-glibc/limits.h:168:61: fatal error: limits.h: No such file or directory
| compilation terminated.
| Makefile:233: *** Unsupported target architecture. Stop.
| make[1]: Leaving directory '.../luajit/2.0.4-r0/LuaJIT-2.0.4/src'
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
---
v2 changes: fixed http://errors.yoctoproject.org/Errors/Details/68382/ by
ensuring LUA_TARGET_OS is correct. The lua buildsystem didn't recognize the os
with the LIBCEXTENSION+ABIEXTENSION.
meta-oe/recipes-devtools/luajit/luajit_2.0.4.bb | 56 +++++++++++++++++++------
1 file changed, 43 insertions(+), 13 deletions(-)
diff --git a/meta-oe/recipes-devtools/luajit/luajit_2.0.4.bb b/meta-oe/recipes-devtools/luajit/luajit_2.0.4.bb
index a0252aa..964dc1d 100644
--- a/meta-oe/recipes-devtools/luajit/luajit_2.0.4.bb
+++ b/meta-oe/recipes-devtools/luajit/luajit_2.0.4.bb
@@ -15,11 +15,6 @@ inherit pkgconfig binconfig
BBCLASSEXTEND = "native"
-do_configure_prepend() {
- sed -i 's:PREFIX= /usr/local:PREFIX= ${prefix}:g' ${S}/Makefile
- sed -i 's:MULTILIB= lib:MULTILIB= ${baselib}:g' ${S}/Makefile
-}
-
# http://luajit.org/install.html#cross
# Host luajit needs to be compiled with the same pointer size
# If you want to cross-compile to any 32 bit target on an x64 OS,
@@ -30,20 +25,52 @@ BUILD_CC_ARCH_append_powerpc = ' -m32'
BUILD_CC_ARCH_append_x86 = ' -m32'
BUILD_CC_ARCH_append_arm = ' -m32'
-EXTRA_OEMAKE_append_class-target = '\
- CROSS=${HOST_PREFIX} \
- HOST_CC="${BUILD_CC} ${BUILD_CC_ARCH}" \
- TARGET_CFLAGS="${TOOLCHAIN_OPTIONS} ${TARGET_CC_ARCH}" \
- TARGET_LDFLAGS="${TOOLCHAIN_OPTIONS}" \
- TARGET_SHLDFLAGS="${TOOLCHAIN_OPTIONS}" \
-'
+# The lua makefiles expect the TARGET_SYS to be from uname -s
+# Values: Windows, Linux, Darwin, iOS, SunOS, PS3, GNU/kFreeBSD
+LUA_TARGET_OS = "Unknown"
+LUA_TARGET_OS_darwin = "Darwin"
+LUA_TARGET_OS_linux = "Linux"
+LUA_TARGET_OS_linux-gnueabi = "Linux"
+LUA_TARGET_OS_mingw32 = "Windows"
+
+# We don't want the lua buildsystem's compiler optimizations, or its
+# stripping, and we don't want it to pick up CFLAGS or LDFLAGS, as those apply
+# to both host and target compiles
+EXTRA_OEMAKE = "\
+ Q= E='@:' \
+ \
+ CCOPT= CCOPT_x86= CFLAGS= LDFLAGS= TARGET_STRIP='@:' \
+ \
+ 'TARGET_SYS=${LUA_TARGET_OS}' \
+ \
+ 'CC=${CC}' \
+ 'TARGET_AR=${AR} rcus' \
+ 'TARGET_CFLAGS=${CFLAGS}' \
+ 'TARGET_LDFLAGS=${LDFLAGS}' \
+ 'TARGET_SHLDFLAGS=${LDFLAGS}' \
+ 'HOST_CC=${BUILD_CC}' \
+ 'HOST_CFLAGS=${BUILD_CFLAGS}' \
+ 'HOST_LDFLAGS=${BUILD_LDFLAGS}' \
+ \
+ 'PREFIX=${prefix}' \
+ 'MULTILIB=${baselib}' \
+"
do_compile () {
oe_runmake
}
+# There's INSTALL_LIB and INSTALL_SHARE also, but the lua binary hardcodes the
+# '/share' and '/' + LUA_MULTILIB paths, so we don't want to break those
+# expectations.
+EXTRA_OEMAKEINST = "\
+ 'DESTDIR=${D}' \
+ 'INSTALL_BIN=${D}${bindir}' \
+ 'INSTALL_INC=${D}${includedir}/luajit-$(MAJVER).$(MINVER)' \
+ 'INSTALL_MAN=${D}${mandir}/man1' \
+"
do_install () {
- oe_runmake 'DESTDIR=${D}' install
+ oe_runmake ${EXTRA_OEMAKEINST} install
rmdir ${D}${datadir}/lua/5.* \
${D}${datadir}/lua \
${D}${libdir}/lua/5.* \
@@ -52,6 +79,9 @@ do_install () {
PACKAGES += 'luajit-common'
+# See the comment for EXTRA_OEMAKEINST. This is needed to ensure the hardcoded
+# paths are packaged regardless of what the libdir and datadir paths are.
+FILES_${PN} += "${prefix}/${baselib} ${prefix}/share"
FILES_${PN} += "${libdir}/libluajit-5.1.so.2 \
${libdir}/libluajit-5.1.so.${PV} \
"
--
2.8.0
next prev parent reply other threads:[~2016-05-31 17:38 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-05-17 16:10 [meta-oe][PATCH 0/6] Various fixes from meta-mentor Christopher Larson
2016-05-17 16:10 ` [meta-oe][PATCH 1/6] mg: stop relying on make -e Christopher Larson
2016-05-17 16:11 ` Christopher Larson
2016-05-17 16:10 ` [meta-oe][PATCH 2/6] luajit: fix build issues, obey more vars Christopher Larson
2016-05-29 3:41 ` Christopher Larson
2016-05-29 3:43 ` Christopher Larson
2016-05-30 9:44 ` Martin Jansa
2016-05-30 10:18 ` Martin Jansa
2016-05-31 17:38 ` Christopher Larson [this message]
2016-05-17 16:10 ` [meta-oe][PATCH 3/6] openlmi-networking: add missing dep on konkretcmpi-native Christopher Larson
2016-05-17 16:10 ` [meta-oe][PATCH 4/6] networkmanager: add missing dep on intltool-native Christopher Larson
2016-05-17 16:10 ` [meta-oe][PATCH 5/6] networkmanager: add missing dep on dbus-glib-native Christopher Larson
2016-05-17 16:10 ` [meta-oe][PATCH 6/6] x11vnc: remove old libtool macros from acinclude.m4 Christopher Larson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1464716338-14365-1-git-send-email-kergoth@gmail.com \
--to=kergoth@gmail.com \
--cc=chris_larson@mentor.com \
--cc=openembedded-devel@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox