diff --git a/packages/libllvm/ORCv2.rst.patch b/packages/libllvm/ORCv2.rst.patch deleted file mode 100644 index db0bad6a2b..0000000000 --- a/packages/libllvm/ORCv2.rst.patch +++ /dev/null @@ -1,68 +0,0 @@ -From fe4cc4507a5f23efd105194b017d28311d1620e4 Mon Sep 17 00:00:00 2001 -From: Lang Hames -Date: Wed, 31 Jul 2019 18:07:37 +0000 -Subject: [PATCH] [docs] Add references to unreferenced footnotes. - -Thanks to Stefan Granitz for catching the issue. - -git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@367458 91177308-0d34-0410-b5e6-96231b3b80d8 ---- - docs/ORCv2.rst | 26 +++++++++++++------------- - 1 file changed, 13 insertions(+), 13 deletions(-) - -diff --git a/docs/ORCv2.rst b/docs/ORCv2.rst -index 7423c041d40a..4f9e08b9a154 100644 ---- a/docs/ORCv2.rst -+++ b/docs/ORCv2.rst -@@ -153,8 +153,8 @@ Design Overview - ORC's JIT'd program model aims to emulate the linking and symbol resolution - rules used by the static and dynamic linkers. This allows ORC to JIT - arbitrary LLVM IR, including IR produced by an ordinary static compiler (e.g. --clang) that uses constructs like symbol linkage and visibility, and weak and --common symbol definitions. -+clang) that uses constructs like symbol linkage and visibility, and weak [4]_ -+and common symbol definitions. - - To see how this works, imagine a program ``foo`` which links against a pair - of dynamic libraries: ``libA`` and ``libB``. On the command line, building this -@@ -326,7 +326,7 @@ prefix in LLVM 8.0, and have deprecation warnings attached in LLVM 9.0. In LLVM - 10.0 ORCv1 will be removed entirely. - - Transitioning from ORCv1 to ORCv2 should be easy for most clients. Most of the --ORCv1 layers and utilities have ORCv2 counterparts[2]_ that can be directly -+ORCv1 layers and utilities have ORCv2 counterparts [2]_ that can be directly - substituted. However there are some design differences between ORCv1 and ORCv2 - to be aware of: - -@@ -497,8 +497,8 @@ locking must be done explicitly: - } - - Clients wishing to maximize possibilities for concurrent compilation will want --to create every new ThreadSafeModule on a new ThreadSafeContext. For this reason --a convenience constructor for ThreadSafeModule is provided that implicitly -+to create every new ThreadSafeModule on a new ThreadSafeContext [3]_. For this -+reason a convenience constructor for ThreadSafeModule is provided that implicitly - constructs a new ThreadSafeContext value from a std::unique_ptr: - - .. code-block:: c++ -@@ -622,11 +622,11 @@ TBD: Speculative compilation. Object Caches. - - .. [3] Sharing ThreadSafeModules in a concurrent compilation can be dangerous: - if interdependent modules are loaded on the same context, but compiled -- on different threads a deadlock may occur (with each compile waiting for -- the other(s) to complete, and the other(s) unable to proceed because the -- context is locked). -- --.. [4] Mostly. Weak definitions are handled correctly within dylibs, but if -- multiple dylibs provide a weak definition of a symbol each will end up -- with its own definition (similar to how weak symbols in Windows DLLs -- behave). This will be fixed in the future. -\ No newline at end of file -+ on different threads a deadlock may occur, with each compile waiting for -+ the other to complete, and the other unable to proceed because the -+ context is locked. -+ -+.. [4] Weak definitions are currently handled correctly within dylibs, but if -+ multiple dylibs provide a weak definition of a symbol then each will end -+ up with its own definition (similar to how weak definitions are handled -+ in Windows DLLs). This will be fixed in the future. diff --git a/packages/libllvm/build.sh b/packages/libllvm/build.sh index 5e5d5ac093..5ef7871d2c 100644 --- a/packages/libllvm/build.sh +++ b/packages/libllvm/build.sh @@ -1,13 +1,12 @@ TERMUX_PKG_HOMEPAGE=https://clang.llvm.org/ TERMUX_PKG_DESCRIPTION="Modular compiler and toolchain technologies library" TERMUX_PKG_LICENSE="NCSA" -TERMUX_PKG_VERSION=9.0.1 -TERMUX_PKG_REVISION=8 -TERMUX_PKG_SHA256=(00a1ee1f389f81e9979f3a640a01c431b3021de0d42278f6508391a2f0b81c9a - 5778512b2e065c204010f88777d44b95250671103e434f9dc7363ab2e3804253 - 86262bad3e2fd784ba8c5e2158d7aa36f12b85f2515e95bc81d65d75bb9b0c82 - 5c94060f846f965698574d9ce22975c0e9f04c9b14088c3af5f03870af75cace - b26fd72a78bd7db998a26270ec9ec6a01346651d88fa87b4b323e13049fb6f07) +TERMUX_PKG_VERSION=10.0.0 +TERMUX_PKG_SHA256=(df83a44b3a9a71029049ec101fb0077ecbbdf5fe41e395215025779099a98fdf + 885b062b00e903df72631c5f98b9579ed1ed2790f74e5646b4234fa084eacb21 + b9a0d7c576eeef05bc06d6e954938a01c5396cee1d1e985891e0b1cf16e3d708 + 3b9ff29a45d0509a1e9667a0feb43538ef402ea8cfc7df3758a01f20df08adfa + acdf8cf6574b40e6b1dabc93e76debb84a9feb6f22970126b04d4ba18b92911c) TERMUX_PKG_SRCURL=(https://github.com/llvm/llvm-project/releases/download/llvmorg-$TERMUX_PKG_VERSION/llvm-$TERMUX_PKG_VERSION.src.tar.xz https://github.com/llvm/llvm-project/releases/download/llvmorg-$TERMUX_PKG_VERSION/clang-$TERMUX_PKG_VERSION.src.tar.xz https://github.com/llvm/llvm-project/releases/download/llvmorg-$TERMUX_PKG_VERSION/lld-$TERMUX_PKG_VERSION.src.tar.xz @@ -15,6 +14,8 @@ TERMUX_PKG_SRCURL=(https://github.com/llvm/llvm-project/releases/download/llvmor https://github.com/llvm/llvm-project/releases/download/llvmorg-$TERMUX_PKG_VERSION/clang-tools-extra-$TERMUX_PKG_VERSION.src.tar.xz) TERMUX_PKG_HOSTBUILD=true TERMUX_PKG_RM_AFTER_INSTALL=" +bin/clang-import-test +bin/clang-offload-wrapper lib/libgomp.a lib/libiomp5.a " @@ -29,7 +30,6 @@ TERMUX_PKG_EXTRA_CONFIGURE_ARGS=" -DPYTHON_EXECUTABLE=$(which python3) -DLLVM_ENABLE_PIC=ON -DLLVM_ENABLE_LIBEDIT=OFF --DLLVM_BUILD_TESTS=OFF -DLLVM_INCLUDE_TESTS=OFF -DCLANG_DEFAULT_CXX_STDLIB=libc++ -DCLANG_INCLUDE_TESTS=OFF @@ -44,10 +44,9 @@ TERMUX_PKG_EXTRA_CONFIGURE_ARGS=" -DLLVM_ENABLE_SPHINX=ON -DSPHINX_OUTPUT_MAN=ON -DLLVM_TARGETS_TO_BUILD=all --DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=RISCV +-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=AVR;RISCV -DPERL_EXECUTABLE=$(which perl) -DLLVM_ENABLE_FFI=ON --DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=AVR " TERMUX_PKG_FORCE_CMAKE=true TERMUX_PKG_HAS_DEBUG=false @@ -66,10 +65,10 @@ termux_step_post_extract_package() { termux_step_host_build() { termux_setup_cmake - cmake -G "Unix Makefiles" $TERMUX_PKG_SRCDIR \ - -DLLVM_BUILD_TESTS=OFF \ - -DLLVM_INCLUDE_TESTS=OFF - make -j $TERMUX_MAKE_PROCESSES clang-tblgen llvm-tblgen + termux_setup_ninja + + cmake -G Ninja $TERMUX_PKG_SRCDIR + ninja -j $TERMUX_MAKE_PROCESSES clang-tblgen llvm-tblgen } termux_step_pre_configure() { @@ -79,7 +78,6 @@ termux_step_pre_configure() { cp $TERMUX_PKG_BUILDER_DIR/nltypes_stubs.cpp projects/openmp/runtime/src/android fi - cd $TERMUX_PKG_BUILDDIR export LLVM_DEFAULT_TARGET_TRIPLE=$TERMUX_HOST_PLATFORM export LLVM_TARGET_ARCH if [ $TERMUX_ARCH = "arm" ]; then @@ -94,16 +92,17 @@ termux_step_pre_configure() { termux_error_exit "Invalid arch: $TERMUX_ARCH" fi # see CMakeLists.txt and tools/clang/CMakeLists.txt - TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" -DLLVM_DEFAULT_TARGET_TRIPLE=$LLVM_DEFAULT_TARGET_TRIPLE" - TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" -DLLVM_TARGET_ARCH=$LLVM_TARGET_ARCH -DLLVM_TARGETS_TO_BUILD=all" + TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" -DLLVM_TARGET_ARCH=$LLVM_TARGET_ARCH" TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" -DLLVM_HOST_TRIPLE=$LLVM_DEFAULT_TARGET_TRIPLE" } + termux_step_post_make_install() { if [ $TERMUX_ARCH = "arm" ]; then - cp $TERMUX_PKG_SRCDIR/projects/openmp/runtime/exports/common/include/omp.h $TERMUX_PREFIX/include + cp $TERMUX_PKG_SRCDIR/projects/openmp/runtime/exports/common.min/include/omp.h $TERMUX_PREFIX/include else - cp $TERMUX_PKG_SRCDIR/projects/openmp/runtime/exports/common.ompt.optional/include/omp.h $TERMUX_PREFIX/include - fi + cp $TERMUX_PKG_SRCDIR/projects/openmp/runtime/exports/common.min.ompt.optional/include/omp.h $TERMUX_PREFIX/include + fi + if [ "$TERMUX_CMAKE_BUILD" = Ninja ]; then ninja docs-llvm-man else @@ -114,19 +113,21 @@ termux_step_post_make_install() { cd $TERMUX_PREFIX/bin for tool in clang clang++ cc c++ cpp gcc g++ ${TERMUX_HOST_PLATFORM}-{clang,clang++,gcc,g++,cpp}; do - ln -f -s clang-${TERMUX_PKG_VERSION:0:1} $tool + ln -f -s clang-${TERMUX_PKG_VERSION:0:2} $tool done } termux_step_post_massage() { + # Not added to the package but kept around on the host for other packages like rust, + # which relies on LLVM, to use for configuration. sed $TERMUX_PKG_BUILDER_DIR/llvm-config.in \ -e "s|@TERMUX_PKG_VERSION@|$TERMUX_PKG_VERSION|g" \ - -e "s|@TERMUX_PREFIX@|$TERMUX_PREFIX|g" \ -e "s|@TERMUX_PKG_SRCDIR@|$TERMUX_PKG_SRCDIR|g" \ - -e "s|@LLVM_TARGET_ARCH@|$LLVM_TARGET_ARCH|g" \ -e "s|@LLVM_DEFAULT_TARGET_TRIPLE@|$LLVM_DEFAULT_TARGET_TRIPLE|g" \ - -e "s|@TERMUX_ARCH@|$TERMUX_ARCH|g" > $TERMUX_PREFIX/bin/llvm-config + -e "s|@TERMUX_PREFIX@|$TERMUX_PREFIX|g" > $TERMUX_PREFIX/bin/llvm-config chmod 755 $TERMUX_PREFIX/bin/llvm-config - cp $TERMUX_PKG_HOSTBUILD_DIR/bin/llvm-tblgen $TERMUX_PREFIX/bin - cp $TERMUX_PKG_HOSTBUILD_DIR/bin/clang-tblgen $TERMUX_PREFIX/bin + + # These host binaries don't seem to be used anywhere, remove later if so. + #cp $TERMUX_PKG_HOSTBUILD_DIR/bin/llvm-tblgen $TERMUX_PREFIX/bin + #cp $TERMUX_PKG_HOSTBUILD_DIR/bin/clang-tblgen $TERMUX_PREFIX/bin } diff --git a/packages/libllvm/clang.subpackage.sh b/packages/libllvm/clang.subpackage.sh index 23b19ea951..5b2cbaa275 100644 --- a/packages/libllvm/clang.subpackage.sh +++ b/packages/libllvm/clang.subpackage.sh @@ -5,11 +5,17 @@ bin/*clang* bin/*cpp bin/*g++ bin/*gcc -bin/scan-build +bin/git-clang-format +bin/scan-* +include/clang* +include/omp.h lib/clang +lib/cmake/clang +lib/libclang*so lib/libomp.a libexec/ share/clang -share/man/man1/scan-build.1 +share/scan-* +share/man/man1/scan-* " TERMUX_SUBPKG_DESCRIPTION="C language frontend for LLVM" diff --git a/packages/libllvm/lld.subpackage.sh b/packages/libllvm/lld.subpackage.sh index c5a7797aa1..557b04435a 100644 --- a/packages/libllvm/lld.subpackage.sh +++ b/packages/libllvm/lld.subpackage.sh @@ -1,17 +1,10 @@ TERMUX_SUBPKG_INCLUDE=" include/lld/ -lib/liblldConfig.a -lib/liblldCore.a -lib/liblldDriver.a -lib/liblldReaderWriter.a -lib/liblldMachO.a -lib/liblldYAML.a +lib/liblld*.a bin/lld bin/lld-link bin/ld.lld bin/wasm-ld bin/ld64.lld -lib/liblldCOFF.a -lib/liblldELF.a " TERMUX_SUBPKG_DESCRIPTION="LLVM-based linker" diff --git a/packages/libllvm/llvm-config.in b/packages/libllvm/llvm-config.in index 69366255a7..6a035e1025 100644 --- a/packages/libllvm/llvm-config.in +++ b/packages/libllvm/llvm-config.in @@ -40,60 +40,72 @@ Typical components: engine Either a native JIT or a bitcode interpreter." } -arch=@TERMUX_ARCH@ version=@TERMUX_PKG_VERSION@ prefix=@TERMUX_PREFIX@ has_rtti=NO CPPFLAGS="-I${prefix}/include -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS" -CFLAGS="${CPPFLAGS} ${CFLAGS} -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS" -CXXFLAGS="${CFLAGS} -fvisibility-inlines-hidden -Wcast-qual -Wnon-virtual-dtor -std=c++11 -fno-exceptions" +CFLAGS="${CPPFLAGS} ${CFLAGS}" +CXXFLAGS="${CFLAGS} -std=c++14 -fno-exceptions" if [ "$has_rtti" != "YES" ]; then CXXFLAGS="$CXXFLAGS -fno-rtti"; fi LDFLAGS="-L${prefix}/lib" LIBFILE="${prefix}/lib/libLLVM-$version.so" -components="aarch64 aarch64asmparser aarch64asmprinter aarch64codegen aarch64desc \ +components="aarch64 aarch64asmparser aarch64codegen aarch64desc \ aarch64disassembler aarch64info aarch64utils aggressiveinstcombine all all-targets amdgpu \ -amdgpuasmparser amdgpuasmprinter amdgpucodegen amdgpudesc amdgpudisassembler amdgpuinfo amdgpuutils \ -analysis arm armasmparser armasmprinter armcodegen armdesc armdisassembler arminfo armutils asmparser \ -asmprinter binaryformat bitreader bitwriter bpf bpfasmparser bpfasmprinter bpfcodegen bpfdesc \ -bpfdisassembler bpfinfo codegen core coroutines coverage debuginfocodeview debuginfodwarf debuginfomsf \ -debuginfopdb demangle dlltooldriver engine executionengine fuzzmutate globalisel hexagon hexagonasmparser \ -hexagoncodegen hexagondesc hexagondisassembler hexagoninfo instcombine instrumentation interpreter ipo \ -irreader lanai lanaiasmparser lanaiasmprinter lanaicodegen lanaidesc lanaidisassembler lanaiinfo libdriver \ -lineeditor linker lto mc mca mcdisassembler mcjit mcparser mips mipsasmparser mipsasmprinter mipscodegen \ -mipsdesc mipsdisassembler mipsinfo mirparser msp430 msp430asmparser msp430asmprinter msp430codegen \ -msp430desc msp430disassembler msp430info native nativecodegen nvptx nvptxasmprinter nvptxcodegen \ -nvptxdesc nvptxinfo objcarcopts object objectyaml option optremarks orcjit passes powerpc \ -powerpcasmparser powerpcasmprinter powerpccodegen powerpcdesc powerpcdisassembler powerpcinfo \ -profiledata riscv riscvasmparser riscvasmprinter riscvcodegen riscvdesc riscvdisassembler riscvinfo \ -riscvutils runtimedyld scalaropts selectiondag sparc sparcasmparser sparcasmprinter sparccodegen sparcdesc \ -sparcdisassembler sparcinfo support symbolize systemz systemzasmparser systemzasmprinter systemzcodegen \ +amdgpuasmparser amdgpucodegen amdgpudesc amdgpudisassembler amdgpuinfo amdgpuutils \ +analysis arm armasmparser armcodegen armdesc armdisassembler arminfo armutils asmparser \ +asmprinter avr avrasmparser avrcodegen avrdesc avrdisassembler avrinfo binaryformat \ +bitreader bitstreamreader bitwriter bpf bpfasmparser bpfcodegen bpfdesc bpfdisassembler \ +bpfinfo cfguard codegen core coroutines coverage debuginfocodeview debuginfodwarf \ +debuginfogsym debuginfomsf debuginfopdb demangle dlltooldriver dwarflinker engine \ +executionengine frontendopenmp fuzzmutate globalisel hexagon hexagonasmparser \ +hexagoncodegen hexagondesc hexagondisassembler hexagoninfo instcombine instrumentation \ +interpreter ipo irreader jitlink lanai lanaiasmparser lanaicodegen lanaidesc \ +lanaidisassembler lanaiinfo libdriver lineeditor linker lto mc mca mcdisassembler \ +mcjit mcparser mips mipsasmparser mipscodegen \ +mipsdesc mipsdisassembler mipsinfo mirparser msp430 msp430asmparser msp430codegen \ +msp430desc msp430disassembler msp430info native nativecodegen nvptx nvptxcodegen \ +nvptxdesc nvptxinfo objcarcopts object objectyaml option orcerror orcjit passes powerpc \ +powerpcasmparser powerpccodegen powerpcdesc powerpcdisassembler powerpcinfo \ +profiledata remarks riscv riscvasmparser riscvcodegen riscvdesc riscvdisassembler riscvinfo \ +riscvutils runtimedyld scalaropts selectiondag sparc sparcasmparser sparccodegen sparcdesc \ +sparcdisassembler sparcinfo support symbolize systemz systemzasmparser systemzcodegen \ systemzdesc systemzdisassembler systemzinfo tablegen target textapi transformutils vectorize webassembly \ -webassemblyasmparser webassemblyasmprinter webassemblycodegen webassemblydesc webassemblydisassembler \ -webassemblyinfo windowsmanifest x86 x86asmparser x86asmprinter x86codegen x86desc x86disassembler x86info \ -x86utils xcore xcoreasmprinter xcorecodegen xcoredesc xcoredisassembler xcoreinfo xray" -static_libs="-lLLVMObjectYAML -lLLVMDlltoolDriver -lLLVMLineEditor -lLLVMFuzzMutate -lLLVMCoroutines \ --lLLVMLTO -lLLVMPasses -lLLVMObjCARCOpts -lLLVMTextAPI -lLLVMCoverage -lLLVMXRay -lLLVMInterpreter \ --lLLVMMIRParser -lLLVMSymbolize -lLLVMDebugInfoPDB -lLLVMDebugInfoDWARF -lLLVMRISCVDisassembler \ --lLLVMRISCVCodeGen -lLLVMRISCVAsmParser -lLLVMRISCVDesc -lLLVMRISCVInfo -lLLVMRISCVAsmPrinter \ --lLLVMRISCVUtils -lLLVMXCoreDisassembler -lLLVMXCoreCodeGen -lLLVMXCoreDesc -lLLVMXCoreInfo -lLLVMXCoreAsmPrinter \ --lLLVMX86Disassembler -lLLVMX86CodeGen -lLLVMX86AsmParser -lLLVMX86Desc -lLLVMX86Info -lLLVMX86AsmPrinter -lLLVMX86Utils \ --lLLVMWebAssemblyDisassembler -lLLVMWebAssemblyCodeGen -lLLVMWebAssemblyDesc -lLLVMWebAssemblyAsmPrinter -lLLVMWebAssemblyAsmParser \ --lLLVMWebAssemblyInfo -lLLVMSystemZDisassembler -lLLVMSystemZCodeGen -lLLVMSystemZAsmParser -lLLVMSystemZDesc -lLLVMSystemZInfo \ --lLLVMSystemZAsmPrinter -lLLVMSparcDisassembler -lLLVMSparcCodeGen -lLLVMSparcAsmParser -lLLVMSparcDesc -lLLVMSparcInfo \ --lLLVMSparcAsmPrinter -lLLVMPowerPCDisassembler -lLLVMPowerPCCodeGen -lLLVMPowerPCAsmParser -lLLVMPowerPCDesc -lLLVMPowerPCInfo \ --lLLVMPowerPCAsmPrinter -lLLVMNVPTXCodeGen -lLLVMNVPTXDesc -lLLVMNVPTXInfo -lLLVMNVPTXAsmPrinter -lLLVMMSP430Disassembler \ --lLLVMMSP430CodeGen -lLLVMMSP430AsmParser -lLLVMMSP430Desc -lLLVMMSP430Info -lLLVMMSP430AsmPrinter -lLLVMMipsDisassembler \ --lLLVMMipsCodeGen -lLLVMMipsAsmParser -lLLVMMipsDesc -lLLVMMipsInfo -lLLVMMipsAsmPrinter -lLLVMLanaiDisassembler -lLLVMLanaiCodeGen \ --lLLVMLanaiAsmParser -lLLVMLanaiDesc -lLLVMLanaiAsmPrinter -lLLVMLanaiInfo -lLLVMHexagonDisassembler -lLLVMHexagonCodeGen \ --lLLVMHexagonAsmParser -lLLVMHexagonDesc -lLLVMHexagonInfo -lLLVMBPFDisassembler -lLLVMBPFCodeGen -lLLVMBPFAsmParser -lLLVMBPFDesc \ --lLLVMBPFInfo -lLLVMBPFAsmPrinter -lLLVMARMDisassembler -lLLVMARMCodeGen -lLLVMARMAsmParser -lLLVMARMDesc -lLLVMARMInfo \ --lLLVMARMAsmPrinter -lLLVMARMUtils -lLLVMAMDGPUDisassembler -lLLVMAMDGPUCodeGen -lLLVMipo -lLLVMInstrumentation -lLLVMVectorize \ --lLLVMLinker -lLLVMIRReader -lLLVMAsmParser -lLLVMAMDGPUAsmParser -lLLVMAMDGPUDesc -lLLVMAMDGPUInfo -lLLVMAMDGPUAsmPrinter \ --lLLVMAMDGPUUtils -lLLVMLibDriver -lLLVMOption -lLLVMWindowsManifest -lLLVMAArch64Disassembler -lLLVMMCDisassembler -lLLVMAArch64AsmParser \ --lLLVMMCJIT -lLLVMTableGen -lLLVMOrcJIT -lLLVMExecutionEngine -lLLVMRuntimeDyld -lLLVMOptRemarks -lLLVMMCA -lLLVMAArch64CodeGen -lLLVMGlobalISel \ --lLLVMSelectionDAG -lLLVMAsmPrinter -lLLVMCodeGen -lLLVMTarget -lLLVMScalarOpts -lLLVMInstCombine -lLLVMAggressiveInstCombine \ --lLLVMTransformUtils -lLLVMBitWriter -lLLVMAnalysis -lLLVMProfileData -lLLVMObject -lLLVMMCParser -lLLVMBitReader -lLLVMCore -lLLVMAArch64Desc \ --lLLVMAArch64Info -lLLVMAArch64AsmPrinter -lLLVMMC -lLLVMDebugInfoCodeView -lLLVMDebugInfoMSF -lLLVMBinaryFormat -lLLVMAArch64Utils \ +webassemblyasmparser webassemblycodegen webassemblydesc webassemblydisassembler \ +webassemblyinfo windowsmanifest x86 x86asmparser x86codegen x86desc x86disassembler x86info \ +x86utils xcore xcorecodegen xcoredesc xcoredisassembler xcoreinfo xray" +static_libs="-lLLVMObjectYAML -lLLVMDlltoolDriver -lLLVMLineEditor -lLLVMFuzzMutate \ +-lLLVMCoroutines -lLLVMLTO -lLLVMPasses -lLLVMObjCARCOpts -lLLVMTextAPI -lLLVMCoverage \ +-lLLVMXRay -lLLVMInterpreter -lLLVMRemarks -lLLVMMIRParser -lLLVMSymbolize -lLLVMDebugInfoPDB \ +-lLLVMDebugInfoDWARF -lLLVMAVRAsmParser -lLLVMAVRCodeGen -lLLVMAVRDesc -lLLVMAVRDisassembler \ +-lLLVMAVRInfo -lLLVMRISCVDisassembler -lLLVMRISCVCodeGen -lLLVMRISCVAsmParser \ +-lLLVMRISCVDesc -lLLVMRISCVInfo -lLLVMRISCVUtils -lLLVMXCoreDisassembler -lLLVMXCoreCodeGen \ +-lLLVMXCoreDesc -lLLVMXCoreInfo -lLLVMX86Disassembler -lLLVMX86CodeGen -lLLVMX86AsmParser \ +-lLLVMX86Desc -lLLVMX86Info -lLLVMX86Utils -lLLVMWebAssemblyDisassembler \ +-lLLVMWebAssemblyCodeGen -lLLVMWebAssemblyDesc -lLLVMWebAssemblyAsmParser \ +-lLLVMWebAssemblyInfo -lLLVMSystemZDisassembler -lLLVMSystemZCodeGen \ +-lLLVMSystemZAsmParser -lLLVMSystemZDesc -lLLVMSystemZInfo -lLLVMSparcDisassembler \ +-lLLVMSparcCodeGen -lLLVMSparcAsmParser -lLLVMSparcDesc -lLLVMSparcInfo \ +-lLLVMPowerPCDisassembler -lLLVMPowerPCCodeGen -lLLVMPowerPCAsmParser -lLLVMPowerPCDesc \ +-lLLVMPowerPCInfo -lLLVMNVPTXCodeGen -lLLVMNVPTXDesc -lLLVMNVPTXInfo -lLLVMMSP430Disassembler \ +-lLLVMMSP430CodeGen -lLLVMMSP430AsmParser -lLLVMMSP430Desc -lLLVMMSP430Info \ +-lLLVMMipsDisassembler -lLLVMMipsCodeGen -lLLVMMipsAsmParser -lLLVMMipsDesc \ +-lLLVMMipsInfo -lLLVMLanaiDisassembler -lLLVMLanaiCodeGen -lLLVMLanaiAsmParser \ +-lLLVMLanaiDesc -lLLVMLanaiInfo -lLLVMHexagonDisassembler -lLLVMHexagonCodeGen \ +-lLLVMHexagonAsmParser -lLLVMHexagonDesc -lLLVMHexagonInfo -lLLVMBPFDisassembler \ +-lLLVMBPFCodeGen -lLLVMBPFAsmParser -lLLVMBPFDesc -lLLVMBPFInfo -lLLVMARMDisassembler \ +-lLLVMARMCodeGen -lLLVMARMAsmParser -lLLVMARMDesc -lLLVMARMInfo -lLLVMARMUtils \ +-lLLVMAMDGPUDisassembler -lLLVMAMDGPUCodeGen -lLLVMipo -lLLVMInstrumentation \ +-lLLVMVectorize -lLLVMLinker -lLLVMIRReader -lLLVMAsmParser -lLLVMAMDGPUAsmParser \ +-lLLVMAMDGPUDesc -lLLVMAMDGPUInfo -lLLVMAMDGPUUtils -lLLVMLibDriver -lLLVMOption \ +-lLLVMWindowsManifest -lLLVMAArch64Disassembler -lLLVMMCDisassembler \ +-lLLVMAArch64AsmParser -lLLVMMCJIT -lLLVMTableGen -lLLVMOrcJIT -lLLVMExecutionEngine \ +-lLLVMRuntimeDyld -lLLVMBitstreamReader -lLLVMCFGuard -lLLVMDWARFLinker \ +-lLLVMDebugInfoGSYM -lLLVMFrontendOpenMP -lLLVMMCA -lLLVMAArch64CodeGen -lLLVMGlobalISel \ +-lLLVMSelectionDAG -lLLVMAsmPrinter -lLLVMOrcError -lLLVMJITLink -lLLVMCodeGen \ +-lLLVMTarget -lLLVMScalarOpts -lLLVMInstCombine -lLLVMAggressiveInstCombine \ +-lLLVMTransformUtils -lLLVMBitWriter -lLLVMAnalysis -lLLVMProfileData -lLLVMObject \ +-lLLVMMCParser -lLLVMBitReader -lLLVMCore -lLLVMAArch64Desc -lLLVMAArch64Info \ +-lLLVMMC -lLLVMDebugInfoCodeView -lLLVMDebugInfoMSF -lLLVMBinaryFormat -lLLVMAArch64Utils \ -lLLVMSupport -lLLVMDemangle" shared_libs="-lLLVM-$version" libs=$shared_libs @@ -101,7 +113,7 @@ handle_args () { case "${1##--}" in link-shared) libs=$shared_libs ;; link-static) libs=$static_libs ;; - version) echo "$version\n";; + version) echo "$version";; prefix) echo "$prefix";; src-root) echo "@TERMUX_PKG_SRCDIR@";; obj-root) echo "$prefix";; @@ -117,7 +129,7 @@ handle_args () { libnames) echo "libLLVM-$version.so";; libfiles) echo "$LIBFILE";; components) echo "$components";; - targets-built) echo "AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430 NVPTX PowerPC Sparc SystemZ X86 XCore WebAssembly";; + targets-built) echo "AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430 NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore";; host-target) echo "@LLVM_DEFAULT_TARGET_TRIPLE@";; build-mode) echo "Release";; assertion-mode) echo "OFF";; diff --git a/packages/libllvm/llvm.subpackage.sh b/packages/libllvm/llvm.subpackage.sh index 61e3536721..78f09b2de8 100644 --- a/packages/libllvm/llvm.subpackage.sh +++ b/packages/libllvm/llvm.subpackage.sh @@ -1,18 +1,15 @@ TERMUX_SUBPKG_INCLUDE=" +bin/bugpoint bin/llc bin/lli -bin/sancov -bin/sanstats bin/llvm* bin/obj2yaml bin/opt +bin/sancov +bin/sanstats bin/verify-uselistorder bin/yaml2obj share/opt-viewer -bin/bugpoint -bin/clang-check -bin/scan-build -bin/scan-view share/man/man1/llc.1 share/man/man1/lli.1 share/man/man1/llvm* diff --git a/packages/libllvm/project-openmp-runtime-src-CMakeLists.txt.patch b/packages/libllvm/project-openmp-runtime-src-CMakeLists.txt.patch index 09530bd912..a2a84faa94 100644 --- a/packages/libllvm/project-openmp-runtime-src-CMakeLists.txt.patch +++ b/packages/libllvm/project-openmp-runtime-src-CMakeLists.txt.patch @@ -17,6 +17,6 @@ + if(ANDROID) + libomp_append(LIBOMP_CXXFILES android/nltypes_stubs.cpp) + endif() - libomp_append(LIBOMP_CFILES thirdparty/ittnotify/ittnotify_static.c LIBOMP_USE_ITT_NOTIFY) + libomp_append(LIBOMP_CXXFILES thirdparty/ittnotify/ittnotify_static.cpp LIBOMP_USE_ITT_NOTIFY) libomp_append(LIBOMP_CXXFILES kmp_debugger.cpp LIBOMP_USE_DEBUGGER) libomp_append(LIBOMP_CXXFILES kmp_stats.cpp LIBOMP_STATS)