Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions recipes/recipes_emscripten/llvm/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ emcmake cmake ${CMAKE_ARGS} -S ../llvm -B . \
-DLLVM_HOST_TRIPLE=wasm32-unknown-emscripten \
-DLLVM_TARGETS_TO_BUILD="WebAssembly" \
-DLLVM_ENABLE_ASSERTIONS=ON \
-DLLVM_ENABLE_EH=ON \
-DLLVM_ENABLE_RTTI=ON \
-DLLVM_INCLUDE_BENCHMARKS=OFF \
-DLLVM_INCLUDE_EXAMPLES=OFF \
-DLLVM_INCLUDE_TESTS=OFF \
Expand All @@ -26,7 +28,7 @@ emcmake cmake ${CMAKE_ARGS} -S ../llvm -B . \
-DCLANG_ENABLE_STATIC_ANALYZER=OFF \
-DCLANG_ENABLE_ARCMT=OFF \
-DCLANG_ENABLE_BOOTSTRAP=OFF \
-DCMAKE_CXX_FLAGS="-Dwait4=__syscall_wait4"
-DCMAKE_CXX_FLAGS="-Dwait4=__syscall_wait4 -fexceptions"

# Build step
emmake make -j4
Expand All @@ -35,4 +37,4 @@ emmake make -j4
emmake make install

# Copy all files with ".wasm" extension to $PREFIX/bin
cp $SRC_DIR/build/bin/*.wasm $PREFIX/bin
cp $SRC_DIR/build/bin/*.wasm $PREFIX/bin
26 changes: 26 additions & 0 deletions recipes/recipes_emscripten/llvm/patches/define_LLVM_ABI.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
diff --git a/clang/include/clang/Support/Compiler.h b/clang/include/clang/Support/Compiler.h
index 13582b899dc2..5a74f8e3b672 100644
--- a/clang/include/clang/Support/Compiler.h
+++ b/clang/include/clang/Support/Compiler.h
@@ -54,7 +54,7 @@
#define CLANG_ABI LLVM_ATTRIBUTE_VISIBILITY_DEFAULT
#define CLANG_TEMPLATE_ABI LLVM_ATTRIBUTE_VISIBILITY_DEFAULT
#define CLANG_EXPORT_TEMPLATE
-#elif defined(__MACH__) || defined(__WASM__)
+#elif defined(__MACH__) || defined(__WASM__) || defined(__EMSCRIPTEN__)
#define CLANG_ABI LLVM_ATTRIBUTE_VISIBILITY_DEFAULT
#define CLANG_TEMPLATE_ABI
#define CLANG_EXPORT_TEMPLATE
diff --git a/llvm/include/llvm/Support/Compiler.h b/llvm/include/llvm/Support/Compiler.h
index f9c57b89f1f0..dc8b5389069e 100644
--- a/llvm/include/llvm/Support/Compiler.h
+++ b/llvm/include/llvm/Support/Compiler.h
@@ -203,7 +203,7 @@
#define LLVM_TEMPLATE_ABI LLVM_ATTRIBUTE_VISIBILITY_DEFAULT
#define LLVM_EXPORT_TEMPLATE
#define LLVM_ABI_EXPORT LLVM_ATTRIBUTE_VISIBILITY_DEFAULT
-#elif defined(__MACH__) || defined(__WASM__)
+#elif defined(__MACH__) || defined(__WASM__) || defined(__EMSCRIPTEN__)
#define LLVM_ABI LLVM_ATTRIBUTE_VISIBILITY_DEFAULT
#define LLVM_TEMPLATE_ABI
#define LLVM_EXPORT_TEMPLATE
5 changes: 3 additions & 2 deletions recipes/recipes_emscripten/llvm/recipe.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
context:
version: 19.1.7
version: 20.1.0

package:
name: llvm
Expand All @@ -8,10 +8,11 @@ package:
source:
url: https://github.com/llvm/llvm-project/archive/refs/tags/llvmorg-${{ version
}}.tar.gz
sha256: 59abea1c22e64933fad4de1671a61cdb934098793c7a31b333ff58dc41bff36c
sha256: 08bc382733777dda3c96259e3732ff96c1df98d0470c4f85b163274eae687f4f
patches:
- patches/cross_compile.patch
- patches/shift_temporary_files_to_tmp_dir.patch
- patches/define_LLVM_ABI.patch

build:
number: 0
Expand Down