Hi, The following diff makes i386 to be compiled without --enable-rust-simd. simd is "Single instruction, multiple data" (aka MMX, SSE, SSE2...).
rustc when compiled with external LLVM doesn't export target_features as compilation variable, making firefox building to fail. I workarounded the problem on amd64 by manually exported SSE2 symbol (always present on amd64). But for i386, same hack isn't possible (as not all i386 processors have such extensions). So it is preferable to not enable simd on i386. I tested the diff with rustc 1.22.1 and firefox still build well (but no runtime test). Thanks. -- Sebastien Marie Index: Makefile =================================================================== RCS file: /cvs/ports/www/mozilla-firefox/Makefile,v retrieving revision 1.333 diff -u -p -r1.333 Makefile --- Makefile 16 Nov 2017 23:20:40 -0000 1.333 +++ Makefile 26 Nov 2017 11:42:39 -0000 @@ -8,6 +8,7 @@ ONLY_FOR_ARCHS = amd64 i386 MOZILLA_VERSION = 57.0 MOZILLA_PROJECT = firefox MOZILLA_CODENAME = browser +REVISION = 0 SO_VERSION = 75.0 # NOTE: Must bump minor version if any shlib's are removed from the @@ -54,11 +55,14 @@ CONFIGURE_ENV = CPPFLAGS="-I${LOCALBASE # bug 857628 CONFIGURE_ARGS += --enable-pie CONFIGURE_ARGS += --enable-release #1386371 -CONFIGURE_ARGS += --enable-rust-simd #1261841 CONFIGURE_ARGS += --enable-webrender=build # bug 1409680 .if ${MACHINE_ARCH} == "i386" CONFIGURE_ARGS += --disable-debug-symbols +.endif +# bug 1261841 +.if ${MACHINE_ARCH} == "amd64" +CONFIGURE_ARGS += --enable-rust-simd .endif #CONFIGURE_ARGS += --enable-linker=lld