diff options
author | Francois Perrad <fperrad@gmail.com> | 2012-07-18 15:59:10 +0200 |
---|---|---|
committer | Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | 2012-07-18 19:33:34 +0200 |
commit | f93e17f0b4d8d9af2867a04c3691f68fd3f4e443 (patch) | |
tree | c57973f5a221a80da06f314e430f25687c5bcf4d /package/luajit/luajit.mk | |
parent | 1d4104f0d0428297a8b447a0e08c81a9eaee7f62 (diff) | |
download | buildroot-novena-f93e17f0b4d8d9af2867a04c3691f68fd3f4e443.tar.gz buildroot-novena-f93e17f0b4d8d9af2867a04c3691f68fd3f4e443.zip |
luajit: new package
Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Diffstat (limited to 'package/luajit/luajit.mk')
-rw-r--r-- | package/luajit/luajit.mk | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/package/luajit/luajit.mk b/package/luajit/luajit.mk new file mode 100644 index 000000000..b35cdb4ec --- /dev/null +++ b/package/luajit/luajit.mk @@ -0,0 +1,63 @@ +############################################################# +# +# luajit +# +############################################################# + +LUAJIT_VERSION = 2.0.0-beta10 +LUAJIT_SOURCE = LuaJIT-$(LUAJIT_VERSION).tar.gz +LUAJIT_SITE = http://luajit.org/download + +LUAJIT_INSTALL_STAGING = YES + +define LUAJIT_NOLARGEFILE_FIX_MAKEFILE + $(SED) 's/TARGET_XCFLAGS= -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE/TARGET_XCFLAGS=/' $(@D)/src/Makefile +endef + +ifneq ($(BR2_LARGEFILE),y) +LUAJIT_POST_PATCH_HOOKS += LUAJIT_NOLARGEFILE_FIX_MAKEFILE +endif + +# The luajit build procedure requires the host compiler to have the +# same bitness as the target compiler. Therefore, on a x86 build +# machine, we can't build luajit for x86_64, which is checked in +# Config.in. When the target is a 32 bits target, we pass -m32 to +# ensure that even on 64 bits build machines, a compiler of the same +# bitness is used. Of course, this assumes that the 32 bits multilib +# libraries are installed. +ifeq ($(BR2_ARCH_IS_64),y) +LUAJIT_HOST_CC=$(HOSTCC) +else +LUAJIT_HOST_CC=$(HOSTCC) -m32 +endif + +# We unfortunately can't use TARGET_CONFIGURE_OPTS, because the luajit +# build system uses non conventional variable names. +define LUAJIT_BUILD_CMDS + $(MAKE) PREFIX="/usr" \ + STATIC_CC="$(TARGET_CC)" \ + DYNAMIC_CC="$(TARGET_CC) -fPIC" \ + TARGET_LD="$(TARGET_CC)" \ + TARGET_AR="$(TARGET_AR) rcus" \ + TARGET_STRIP="$(TARGET_STRIP)" \ + CFLAGS="$(TARGET_CFLAGS)" \ + LDFLAGS="$(TARGET_LDFLAGS)" \ + HOST_CC="$(LUAJIT_HOST_CC)" \ + HOST_CFLAGS="$(HOST_CFLAGS)" \ + HOST_LDFLAGS="$(HOST_LDFLAGS)" \ + -C $(@D) amalg +endef + +define LUAJIT_INSTALL_STAGING_CMDS + $(MAKE) PREFIX="/usr" DESTDIR="$(STAGING_DIR)" -C $(@D) install +endef + +define LUAJIT_INSTALL_TARGET_CMDS + $(MAKE) PREFIX="/usr" DESTDIR="$(TARGET_DIR)" -C $(@D) install +endef + +define LUAJIT_CLEAN_CMDS + -$(MAKE) -C $(@D) clean +endef + +$(eval $(generic-package)) |