Skip to content
Snippets Groups Projects
Commit 65e15c7e authored by Jakub Jirutka's avatar Jakub Jirutka :flag_ua:
Browse files

community/binaryen: upgrade to 98

parent 94b304a8
No related merge requests found
# Contributor: Jakub Jirutka <jakub@jirutka.cz>
# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
pkgname=binaryen
pkgver=40
pkgrel=1
pkgver=98
pkgrel=0
pkgdesc="Compiler infrastructure and toolchain library for WebAssembly, in C++"
options="!check" # Tests require python2
url="https://github.com/WebAssembly/binaryen"
arch="all !s390x !mips !mips64"
license="Apache-2.0"
makedepends="cmake"
checkdepends="nodejs" # python2"
makedepends="cmake python3"
checkdepends="nodejs"
subpackages="$pkgname-dev"
source="binaryen-$pkgver.tar.gz::https://github.com/WebAssembly/binaryen/archive/version_$pkgver.tar.gz
link-dynamically.patch
ignore-type-limits-error.patch
fix-gcc8-wcatch-value.patch
gcc-march-aarch64.patch"
source="https://github.com/WebAssembly/binaryen/archive/version_$pkgver/binaryen-$pkgver.tar.gz"
builddir="$srcdir/$pkgname-version_$pkgver"
case "$CARCH" in
......@@ -35,18 +30,17 @@ build() {
}
check() {
# waterfall requires additional dependency
# gcc-tests fail, dunno why
python2 check.py --no-test-waterfall --no-run-gcc-tests
# Tests are extremely chatty.
msg 'running tests with stdout/stderr redirected into ./check.log...'
python3 check.py > check.log 2>&1 || {
echo 'tests failed, printing last 100 lines of check.log:' >&2
tail -n 100 check.log
return 1
}
}
package() {
make install DESTDIR="$pkgdir"
rm "$pkgdir"/usr/share/binaryen/binaryen.js
}
sha512sums="89aa73c1686fb6d54c91990acbc7cd6c1bc7e6da57731bf009fe507c955c98c91582b5b9924c3c3f6a2d36d55ae73f1be79911cdce93dfd74954bca46861c8ad binaryen-40.tar.gz
9729655be0d952385de959bf7dd84a075b192fe4b221bb5c23e562a83a2bf9202a07536ad393157b23e0447f28bdd16283f64a63588ca42597bb59e9551219c8 link-dynamically.patch
3b95a197cd8805dfa714cf9f31adc1437b6d29bd4082f752c16d98c40cd024b110c02a412285c78251cb5d0b3080c0f9e4d45d8dd0166c71b9462b1610191ab8 ignore-type-limits-error.patch
f937a9f9f7f2cab97aa15ade3a800b8924755b27ae4e9e8951ee97dc79d54c95db28d3c71b32c2ed0b5711d6e1884c33cc307564abe759f6ea3c23db60d433a1 fix-gcc8-wcatch-value.patch
43db7456ce3b9a6239b24caa9fc9cb1a59975e742fa74ff6bfcdadbbb453afee62842aaa973596d78294704c7d76cb73eb7703f1d66e40b1bb164e86e5da5914 gcc-march-aarch64.patch"
sha512sums="b5678cd12a125f9a57add6ce3c220cd79226bbc71b8abb71951ef2095376549da8ba362cdf99e4d1a01211db91b63c1f5314fd5df68d56bfd36315e21368f8c0 binaryen-98.tar.gz"
Made from https://github.com/WebAssembly/binaryen/pull/1400
Should probably just be removed when the package version is bumped.
- Daniel Isaksen <d@duniel.no>
diff --git a/src/tools/asm2wasm.cpp b/src/tools/asm2wasm.cpp
index 3f70e0388e..cecae7a819 100644
--- a/src/tools/asm2wasm.cpp
+++ b/src/tools/asm2wasm.cpp
@@ -87,7 +87,7 @@ int main(int argc, const char *argv[]) {
[&trapMode](Options *o, const std::string &argument) {
try {
trapMode = trapModeFromString(argument);
- } catch (std::invalid_argument e) {
+ } catch (std::invalid_argument& e) {
std::cerr << "Error: " << e.what() << "\n";
exit(EXIT_FAILURE);
}
diff --git a/src/tools/s2wasm.cpp b/src/tools/s2wasm.cpp
index 6e7b2c05e2..3643993b7f 100644
--- a/src/tools/s2wasm.cpp
+++ b/src/tools/s2wasm.cpp
@@ -92,7 +92,7 @@ int main(int argc, const char *argv[]) {
[&trapMode](Options *o, const std::string &argument) {
try {
trapMode = trapModeFromString(argument);
- } catch (std::invalid_argument e) {
+ } catch (std::invalid_argument& e) {
std::cerr << "Error: " << e.what() << "\n";
exit(EXIT_FAILURE);
}
diff --git a/src/wasm/wasm-s-parser.cpp b/src/wasm/wasm-s-parser.cpp
index 0de3edf3f6..78a150f814 100644
--- a/src/wasm/wasm-s-parser.cpp
+++ b/src/wasm/wasm-s-parser.cpp
@@ -1408,9 +1408,9 @@ Name SExpressionWasmBuilder::getLabel(Element& s) {
uint64_t offset;
try {
offset = std::stoll(s.c_str(), nullptr, 0);
- } catch (std::invalid_argument) {
+ } catch (std::invalid_argument&) {
throw ParseException("invalid break offset");
- } catch (std::out_of_range) {
+ } catch (std::out_of_range&) {
throw ParseException("out of range break offset");
}
if (offset > nameMapper.labelStack.size()) throw ParseException("invalid label", s.line, s.col);
diff --git a/CMakeLists.txt b/CMakeLists.txt
index d9e5721..9497124 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -141,9 +141,6 @@ ELSE()
# wasm doesn't allow for x87 floating point math
ADD_COMPILE_FLAG("-msse2")
ADD_COMPILE_FLAG("-mfpmath=sse")
- elseif(TARGET_ARCH STREQUAL "ARM")
- # stub for ARM-specific instructions. GCC6 adds NEON with the below flags
- ADD_COMPILE_FLAG("-march=native")
endif ()
endif ()
ADD_COMPILE_FLAG("-Wall")
This is a temporary workaround for https://github.com/WebAssembly/binaryen/issues/1059.
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -150,6 +150,7 @@
endif ()
ADD_COMPILE_FLAG("-Wall")
ADD_COMPILE_FLAG("-Werror")
+ ADD_COMPILE_FLAG("-Wno-error=type-limits")
ADD_COMPILE_FLAG("-Wextra")
ADD_COMPILE_FLAG("-Wno-unused-parameter")
ADD_COMPILE_FLAG("-fno-omit-frame-pointer")
From: Jakub Jirutka <jakub@jirutka.cz>
Date: Wed, 21 Jun 2017 12:17:00 +0200
Subject: [PATCH] Link binaries with libbinaryen dynamically
Link binaries with libbinaryen.so to significantly reduce their size.
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -206,7 +206,7 @@
)
ADD_EXECUTABLE(wasm-shell
${wasm-shell_SOURCES})
-TARGET_LINK_LIBRARIES(wasm-shell wasm asmjs emscripten-optimizer passes ir cfg support)
+TARGET_LINK_LIBRARIES(wasm-shell binaryen)
SET_PROPERTY(TARGET wasm-shell PROPERTY CXX_STANDARD 11)
SET_PROPERTY(TARGET wasm-shell PROPERTY CXX_STANDARD_REQUIRED ON)
INSTALL(TARGETS wasm-shell DESTINATION ${CMAKE_INSTALL_BINDIR})
@@ -217,7 +217,7 @@
)
ADD_EXECUTABLE(wasm-opt
${wasm-opt_SOURCES})
-TARGET_LINK_LIBRARIES(wasm-opt wasm asmjs emscripten-optimizer passes ir cfg support)
+TARGET_LINK_LIBRARIES(wasm-opt binaryen)
SET_PROPERTY(TARGET wasm-opt PROPERTY CXX_STANDARD 11)
SET_PROPERTY(TARGET wasm-opt PROPERTY CXX_STANDARD_REQUIRED ON)
INSTALL(TARGETS wasm-opt DESTINATION ${CMAKE_INSTALL_BINDIR})
@@ -227,7 +227,7 @@
)
ADD_EXECUTABLE(wasm-merge
${wasm-merge_SOURCES})
-TARGET_LINK_LIBRARIES(wasm-merge wasm asmjs emscripten-optimizer passes ir cfg support)
+TARGET_LINK_LIBRARIES(wasm-merge binaryen)
SET_PROPERTY(TARGET wasm-merge PROPERTY CXX_STANDARD 11)
SET_PROPERTY(TARGET wasm-merge PROPERTY CXX_STANDARD_REQUIRED ON)
INSTALL(TARGETS wasm-merge DESTINATION bin)
@@ -237,7 +237,7 @@
)
ADD_EXECUTABLE(wasm-metadce
${wasm-metadce_SOURCES})
-TARGET_LINK_LIBRARIES(wasm-metadce wasm asmjs emscripten-optimizer passes ir cfg support wasm)
+TARGET_LINK_LIBRARIES(wasm-metadce binaryen)
SET_PROPERTY(TARGET wasm-metadce PROPERTY CXX_STANDARD 11)
SET_PROPERTY(TARGET wasm-metadce PROPERTY CXX_STANDARD_REQUIRED ON)
INSTALL(TARGETS wasm-metadce DESTINATION bin)
@@ -248,7 +248,7 @@
)
ADD_EXECUTABLE(asm2wasm
${asm2wasm_SOURCES})
-TARGET_LINK_LIBRARIES(asm2wasm emscripten-optimizer passes wasm asmjs ir cfg support)
+TARGET_LINK_LIBRARIES(asm2wasm binaryen)
SET_PROPERTY(TARGET asm2wasm PROPERTY CXX_STANDARD 11)
SET_PROPERTY(TARGET asm2wasm PROPERTY CXX_STANDARD_REQUIRED ON)
INSTALL(TARGETS asm2wasm DESTINATION ${CMAKE_INSTALL_BINDIR})
@@ -258,7 +258,7 @@
)
ADD_EXECUTABLE(wasm2asm
${wasm2asm_SOURCES})
-TARGET_LINK_LIBRARIES(wasm2asm passes wasm asmjs emscripten-optimizer ir cfg support)
+TARGET_LINK_LIBRARIES(wasm2asm binaryen)
SET_PROPERTY(TARGET wasm2asm PROPERTY CXX_STANDARD 11)
SET_PROPERTY(TARGET wasm2asm PROPERTY CXX_STANDARD_REQUIRED ON)
INSTALL(TARGETS wasm2asm DESTINATION ${CMAKE_INSTALL_BINDIR})
@@ -270,7 +270,7 @@
)
ADD_EXECUTABLE(s2wasm
${s2wasm_SOURCES})
-TARGET_LINK_LIBRARIES(s2wasm passes wasm asmjs ir cfg support)
+TARGET_LINK_LIBRARIES(s2wasm binaryen)
SET_PROPERTY(TARGET s2wasm PROPERTY CXX_STANDARD 11)
SET_PROPERTY(TARGET s2wasm PROPERTY CXX_STANDARD_REQUIRED ON)
INSTALL(TARGETS s2wasm DESTINATION ${CMAKE_INSTALL_BINDIR})
@@ -280,7 +280,7 @@
)
ADD_EXECUTABLE(wasm-as
${wasm_as_SOURCES})
-TARGET_LINK_LIBRARIES(wasm-as wasm asmjs passes ir cfg support)
+TARGET_LINK_LIBRARIES(wasm-as binaryen)
SET_PROPERTY(TARGET wasm-as PROPERTY CXX_STANDARD 11)
SET_PROPERTY(TARGET wasm-as PROPERTY CXX_STANDARD_REQUIRED ON)
INSTALL(TARGETS wasm-as DESTINATION ${CMAKE_INSTALL_BINDIR})
@@ -290,7 +290,7 @@
)
ADD_EXECUTABLE(wasm-dis
${wasm_dis_SOURCES})
-TARGET_LINK_LIBRARIES(wasm-dis passes wasm asmjs ir cfg support)
+TARGET_LINK_LIBRARIES(wasm-dis binaryen)
SET_PROPERTY(TARGET wasm-dis PROPERTY CXX_STANDARD 11)
SET_PROPERTY(TARGET wasm-dis PROPERTY CXX_STANDARD_REQUIRED ON)
INSTALL(TARGETS wasm-dis DESTINATION ${CMAKE_INSTALL_BINDIR})
@@ -300,7 +300,7 @@
)
ADD_EXECUTABLE(wasm-ctor-eval
${wasm-ctor-eval_SOURCES})
-TARGET_LINK_LIBRARIES(wasm-ctor-eval emscripten-optimizer passes wasm asmjs ir cfg support)
+TARGET_LINK_LIBRARIES(wasm-ctor-eval binaryen)
SET_PROPERTY(TARGET wasm-ctor-eval PROPERTY CXX_STANDARD 11)
SET_PROPERTY(TARGET wasm-ctor-eval PROPERTY CXX_STANDARD_REQUIRED ON)
INSTALL(TARGETS wasm-ctor-eval DESTINATION bin)
@@ -313,7 +313,7 @@
)
ADD_EXECUTABLE(wasm-reduce
${wasm-reduce_SOURCES})
- TARGET_LINK_LIBRARIES(wasm-reduce wasm asmjs passes wasm ir cfg support)
+ TARGET_LINK_LIBRARIES(wasm-reduce binaryen)
SET_PROPERTY(TARGET wasm-reduce PROPERTY CXX_STANDARD 11)
SET_PROPERTY(TARGET wasm-reduce PROPERTY CXX_STANDARD_REQUIRED ON)
INSTALL(TARGETS wasm-reduce DESTINATION ${CMAKE_INSTALL_BINDIR})
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment