diff options
author | Daniel Golle <daniel@makrotopia.org> | 2016-08-19 17:49:09 +0200 |
---|---|---|
committer | Daniel Golle <daniel@makrotopia.org> | 2016-08-19 17:53:50 +0200 |
commit | c08651226f5645204f91f79d247801033f6015d1 (patch) | |
tree | 865b9e6d09a480afc2c209f3d973a2e636b3778d | |
parent | f71f7f0df15a78a5793b8f8cdc6abff7563245e3 (diff) | |
download | upstream-c08651226f5645204f91f79d247801033f6015d1.tar.gz upstream-c08651226f5645204f91f79d247801033f6015d1.tar.bz2 upstream-c08651226f5645204f91f79d247801033f6015d1.zip |
toolchain: include yasm in x86 toolchain
Some libraries require yasm to build with in-line assembly for x86
targets.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
-rw-r--r-- | toolchain/Config.in | 8 | ||||
-rw-r--r-- | toolchain/Makefile | 2 | ||||
-rw-r--r-- | toolchain/yasm/Makefile | 63 |
3 files changed, 72 insertions, 1 deletions
diff --git a/toolchain/Config.in b/toolchain/Config.in index a6aa84db75..7cc51a1bb1 100644 --- a/toolchain/Config.in +++ b/toolchain/Config.in @@ -206,6 +206,14 @@ comment "Compiler" source "toolchain/gcc/Config.in" +config YASM + bool + depends on ( i386 || x86_64 ) + prompt "Build yasm" if TOOLCHAINOPTS + default y + help + Enable if you want to build yasm + comment "C Library" depends on TOOLCHAINOPTS diff --git a/toolchain/Makefile b/toolchain/Makefile index 7d2fddda31..a656a86b0d 100644 --- a/toolchain/Makefile +++ b/toolchain/Makefile @@ -29,7 +29,7 @@ curdir:=toolchain # subdirectories to descend into -$(curdir)/builddirs := $(if $(CONFIG_GDB),gdb) $(if $(CONFIG_INSIGHT),insight) $(if $(CONFIG_EXTERNAL_TOOLCHAIN),wrapper,kernel-headers binutils gcc/initial gcc/final $(LIBC) fortify-headers) +$(curdir)/builddirs := $(if $(CONFIG_GDB),gdb) $(if $(CONFIG_INSIGHT),insight) $(if $(CONFIG_EXTERNAL_TOOLCHAIN),wrapper,kernel-headers binutils gcc/initial gcc/final $(LIBC) fortify-headers) $(if $(CONFIG_YASM),yasm) ifdef CONFIG_USE_UCLIBC $(curdir)/builddirs += $(LIBC)/utils endif diff --git a/toolchain/yasm/Makefile b/toolchain/yasm/Makefile new file mode 100644 index 0000000000..bf0b8c5c48 --- /dev/null +++ b/toolchain/yasm/Makefile @@ -0,0 +1,63 @@ +# +# Copyright (C) 2016 Daniel Golle <daniel@makrotopia.org> +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# +include $(TOPDIR)/rules.mk + +PKG_NAME:=yasm +PKG_VERSION:=1.3.0 + +PKG_SOURCE_URL:=http://www.tortall.net/projects/yasm/releases/ +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz + +PKG_MD5SUM:=fc9e586751ff789b34b1f21d572d96af + +HOST_BUILD_PARALLEL:=1 + +include $(INCLUDE_DIR)/toolchain-build.mk + +YASM_CONFIGURE:= \ + ./configure \ + --prefix=$(TOOLCHAIN_DIR) \ + --build=$(GNU_HOST_NAME) \ + --host=$(GNU_HOST_NAME) \ + --target=$(REAL_GNU_TARGET_NAME) \ + --with-sysroot=$(TOOLCHAIN_DIR) \ + --disable-multilib \ + --disable-werror \ + --disable-nls \ + --disable-sim \ + --disable-gdb \ + $(SOFT_FLOAT_CONFIG_OPTION) \ + +define Host/Prepare + $(call Host/Prepare/Default) + ln -snf $(notdir $(HOST_BUILD_DIR)) $(BUILD_DIR_TOOLCHAIN)/$(PKG_NAME) + $(CP) $(SCRIPT_DIR)/config.{guess,sub} $(HOST_BUILD_DIR)/ +endef + +define Host/Configure + (cd $(HOST_BUILD_DIR); \ + $(YASM_CONFIGURE) \ + ); +endef + +define Host/Compile + +$(MAKE) $(HOST_JOBS) -C $(HOST_BUILD_DIR) all +endef + +define Host/Install + $(MAKE) -C $(HOST_BUILD_DIR) \ + prefix=$(TOOLCHAIN_DIR) \ + install +endef + +define Host/Clean + rm -rf \ + $(HOST_BUILD_DIR) \ + $(BUILD_DIR_TOOLCHAIN)/$(PKG_NAME) +endef + +$(eval $(call HostBuild)) |