Rather than doing this directly without warning - I am making this request
for review...

Packages libx264 and ffmpeg are built with ASM options on x86 platforms.
The current libx264 version no longer builds with YASM and requires NASM.
ffmpeg 3.x can be built with either YASM or NASM however, furture 4.x versions
will require NASM.

This change will replace the YASM assembler in the toolchain with NASM. Both
packages have been test with this change. I don't know of any other packages
which explicitly use an external assembler so I feel comfortable with
replacing the assembler instead of adding another.

After this patch is merged, the PR for these packages on Github
    https://github.com/openwrt/packages/pull/6383
needs to be merged.

/ted

Signed-off-by: Ted Hess <th...@kitschensync.net>
---
 toolchain/Config.in               |  6 +++---
 toolchain/Makefile                |  2 +-
 toolchain/{yasm => nasm}/Makefile | 25 +++++++++----------------
 3 files changed, 13 insertions(+), 20 deletions(-)
 rename toolchain/{yasm => nasm}/Makefile (65%)

diff --git a/toolchain/Config.in b/toolchain/Config.in
index 96acf1e5c4..47e1c787df 100644
--- a/toolchain/Config.in
+++ b/toolchain/Config.in
@@ -224,13 +224,13 @@ comment "Compiler"
 
 source "toolchain/gcc/Config.in"
 
-config YASM
+config NASM
        bool
        depends on ( i386 || x86_64 )
-       prompt "Build yasm" if TOOLCHAINOPTS
+       prompt "Build nasm" if TOOLCHAINOPTS
        default y
        help
-         Enable if you want to build yasm
+         Enable if you want to build nasm
 
 comment "C Library"
        depends on TOOLCHAINOPTS
diff --git a/toolchain/Makefile b/toolchain/Makefile
index 409955c23a..9432990f4f 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_EXTERNAL_TOOLCHAIN),wrapper,kernel-headers binutils gcc/initial 
gcc/final $(LIBC) fortify-headers) $(if $(CONFIG_YASM),yasm)
+$(curdir)/builddirs := $(if $(CONFIG_GDB),gdb) $(if 
$(CONFIG_EXTERNAL_TOOLCHAIN),wrapper,kernel-headers binutils gcc/initial 
gcc/final $(LIBC) fortify-headers) $(if $(CONFIG_NASM),nasm)
 ifdef CONFIG_USE_UCLIBC
   $(curdir)/builddirs += $(LIBC)/utils
 endif
diff --git a/toolchain/yasm/Makefile b/toolchain/nasm/Makefile
similarity index 65%
rename from toolchain/yasm/Makefile
rename to toolchain/nasm/Makefile
index e5cdac6fe9..a39c71f65f 100644
--- a/toolchain/yasm/Makefile
+++ b/toolchain/nasm/Makefile
@@ -1,34 +1,26 @@
 #
-# Copyright (C) 2016 Daniel Golle <dan...@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_NAME:=nasm
+PKG_VERSION:=2.13.03
 
-PKG_SOURCE_URL:=http://www.tortall.net/projects/yasm/releases/
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://www.nasm.us/pub/nasm/releasebuilds/$(PKG_VERSION)/
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 
-PKG_HASH:=3dce6601b495f5b3d45b59f7d2492a340ee7e84b5beca17e48f862502bd5603f
+PKG_HASH:=812ecfb0dcbc5bd409aaa8f61c7de94c5b8752a7b00c632883d15b2ed6452573
 
 HOST_BUILD_PARALLEL:=1
 
 include $(INCLUDE_DIR)/toolchain-build.mk
 
-YASM_CONFIGURE:= \
-       ./configure \
-               --prefix=$(TOOLCHAIN_DIR) \
-               --build=$(GNU_HOST_NAME) \
-               --host=$(GNU_HOST_NAME) \
+HOST_CONFIGURE_ARGS+= \
                --target=$(REAL_GNU_TARGET_NAME) \
                --with-sysroot=$(TOOLCHAIN_DIR) \
-               --disable-multilib \
+               --enable-lto \
                --disable-werror \
-               --disable-nls \
-               --disable-sim \
                --disable-gdb \
                $(SOFT_FLOAT_CONFIG_OPTION) \
 
@@ -40,8 +32,9 @@ endef
 
 define Host/Configure
        (cd $(HOST_BUILD_DIR); \
-               $(YASM_CONFIGURE) \
+               ./autogen.sh \
        );
+       $(call Host/Configure/Default)
 endef
 
 define Host/Compile
-- 
2.17.1


_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to