aboutsummaryrefslogtreecommitdiffstats
path: root/lang
diff options
context:
space:
mode:
authorJan Beich <jbeich@FreeBSD.org>2018-02-23 06:05:21 +0800
committerJan Beich <jbeich@FreeBSD.org>2018-02-23 06:05:21 +0800
commitd4cd41d698fe00612e98dd70f3ebb5ecd0ea811f (patch)
treee8ab88f8da2fe11c4c9c60aa816b5ae14d9a2b2e /lang
parentf72b1d6faf704031175ef43ce56407c091306b5c (diff)
downloadfreebsd-ports-d4cd41d698fe00612e98dd70f3ebb5ecd0ea811f.tar.gz
freebsd-ports-d4cd41d698fe00612e98dd70f3ebb5ecd0ea811f.tar.zst
freebsd-ports-d4cd41d698fe00612e98dd70f3ebb5ecd0ea811f.zip
lang/rust: unbreak on aarch64 after r459911
gmake: Leaving directory '.../aarch64-unknown-freebsd/release/build/rustc_binaryen-cfb76adb9420e94c/out/build' --- stderr c++: error: the clang compiler does not support '-march=native' c++: error: the clang compiler does not support '-march=native' PR: 225600 Reported by: Gergely Czuczy, pkg-fallout Obtained from: upstream (binaryen 1.37.35) Approved by: portmgr blanket
Notes
Notes: svn path=/head/; revision=462646
Diffstat (limited to 'lang')
-rw-r--r--lang/rust/files/patch-src_binaryen_CMakeLists.txt60
1 files changed, 60 insertions, 0 deletions
diff --git a/lang/rust/files/patch-src_binaryen_CMakeLists.txt b/lang/rust/files/patch-src_binaryen_CMakeLists.txt
new file mode 100644
index 000000000000..88f374664024
--- /dev/null
+++ b/lang/rust/files/patch-src_binaryen_CMakeLists.txt
@@ -0,0 +1,60 @@
+https://github.com/WebAssembly/binaryen/commit/07f6dfbf0d89
+https://github.com/WebAssembly/binaryen/commit/d9692277357b
+
+--- src/binaryen/CMakeLists.txt.orig 2018-02-12 18:56:16 UTC
++++ src/binaryen/CMakeLists.txt
+@@ -99,51 +99,12 @@ ELSE()
+ FIND_PACKAGE(Threads REQUIRED)
+ ADD_CXX_FLAG("-std=c++11")
+ if (NOT EMSCRIPTEN)
+- # try to get the target architecture by compiling a dummy.c file and
+- # checking the architecture using the file command.
+- file(WRITE ${PROJECT_BINARY_DIR}/dummy.c "main(){}")
+- try_compile(
+- COMPILE_OK
+- ${PROJECT_BINARY_DIR}
+- ${PROJECT_BINARY_DIR}/dummy.c
+- OUTPUT_VARIABLE COMPILE_OUTPUT
+- COPY_FILE ${PROJECT_BINARY_DIR}/dummy
+- )
+- if (COMPILE_OK)
+- execute_process(
+- COMMAND file ${PROJECT_BINARY_DIR}/dummy
+- RESULT_VARIABLE FILE_RESULT
+- OUTPUT_VARIABLE FILE_OUTPUT
+- ERROR_QUIET
+- )
+-
+- if (FILE_RESULT EQUAL 0)
+- if (${FILE_OUTPUT} MATCHES "x86[-_]64")
+- set(TARGET_ARCH "x86-64")
+- elseif (${FILE_OUTPUT} MATCHES "Intel 80386")
+- set(TARGET_ARCH "i386")
+- elseif (${FILE_OUTPUT} MATCHES "ARM")
+- set(TARGET_ARCH "ARM")
+- else ()
+- message(WARNING "Unknown target architecture!")
+- endif ()
+- if(TARGET_ARCH)
+- MESSAGE(STATUS "Building for platform ${TARGET_ARCH}")
+- endif ()
+- else ()
+- message(WARNING "Error running file on dummy executable")
+- endif ()
+- else ()
+- message(WARNING "Error compiling dummy.c file: ${COMPILE_OUTPUT}")
+- endif ()
+-
+- if (TARGET_ARCH STREQUAL "i386")
++ if (CMAKE_SYSTEM_PROCESSOR MATCHES "^i.86$")
+ # 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")
++ elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "^armv[2-6]" AND NOT CMAKE_CXX_FLAGS MATCHES "-mfpu=")
++ ADD_COMPILE_FLAG("-mfpu=vfpv3")
+ endif ()
+ endif ()
+ ADD_COMPILE_FLAG("-Wall")