diff --git a/CHANGELOG.md b/CHANGELOG.md index d917d2d4866..e278e4d37f8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,5 @@ + * Enable all stable target architectures in the presets for LLVM ([pull #937](https://github.com/bytedeco/javacpp-presets/pull/937)) * Virtualize `QObject` and its subclasses from Qt to allow customization ([issue bytedeco/javacpp#419](https://github.com/bytedeco/javacpp/issues/419)) * Bundle programs from Clang and LLVM, executable via `Loader.load()` for convenience ([issue #833](https://github.com/bytedeco/javacpp-presets/issues/833)) * Include `nnvm/c_api.h` header file in presets for MXNet ([issue #912](https://github.com/bytedeco/javacpp-presets/issues/912)) diff --git a/llvm/cppbuild.sh b/llvm/cppbuild.sh index a44380af6ce..e8a58ca7ed9 100755 --- a/llvm/cppbuild.sh +++ b/llvm/cppbuild.sh @@ -33,7 +33,7 @@ case $PLATFORM in linux-x86) export CC="gcc -m32" export CXX="g++ -m32" - $CMAKE -DLLVM_CCACHE_BUILD=ON -DCMAKE_EXE_LINKER_FLAGS='-Wl,-rpath,$ORIGIN/' -DCMAKE_INSTALL_PREFIX=../.. -DLLVM_BUILD_LLVM_DYLIB=ON -DLLVM_LINK_LLVM_DYLIB=ON -DCMAKE_BUILD_TYPE=Release -DLLVM_TARGETS_TO_BUILD=host -DLLVM_ENABLE_LIBXML2=OFF -DLLVM_INCLUDE_TESTS=OFF .. + $CMAKE -DLLVM_CCACHE_BUILD=ON -DCMAKE_EXE_LINKER_FLAGS='-Wl,-rpath,$ORIGIN/' -DCMAKE_INSTALL_PREFIX=../.. -DLLVM_BUILD_LLVM_DYLIB=ON -DLLVM_LINK_LLVM_DYLIB=ON -DCMAKE_BUILD_TYPE=Release -DLLVM_TARGETS_TO_BUILD=all -DLLVM_ENABLE_LIBXML2=OFF -DLLVM_INCLUDE_TESTS=OFF .. make -j $MAKEJ make install > /dev/null cp lib/LLVMPolly.so ../../lib/libLLVMPolly.so @@ -41,7 +41,7 @@ case $PLATFORM in linux-x86_64) export CC="gcc -m64" export CXX="g++ -m64" - $CMAKE -DLLVM_CCACHE_BUILD=ON -DCMAKE_EXE_LINKER_FLAGS='-Wl,-rpath,$ORIGIN/' -DCMAKE_INSTALL_PREFIX=../.. -DLLVM_BUILD_LLVM_DYLIB=ON -DLLVM_LINK_LLVM_DYLIB=ON -DCMAKE_BUILD_TYPE=Release -DLLVM_TARGETS_TO_BUILD=host -DLLVM_ENABLE_LIBXML2=OFF -DLLVM_INCLUDE_TESTS=OFF .. + $CMAKE -DLLVM_CCACHE_BUILD=ON -DCMAKE_EXE_LINKER_FLAGS='-Wl,-rpath,$ORIGIN/' -DCMAKE_INSTALL_PREFIX=../.. -DLLVM_BUILD_LLVM_DYLIB=ON -DLLVM_LINK_LLVM_DYLIB=ON -DCMAKE_BUILD_TYPE=Release -DLLVM_TARGETS_TO_BUILD=all -DLLVM_ENABLE_LIBXML2=OFF -DLLVM_INCLUDE_TESTS=OFF .. make -j $MAKEJ make install > /dev/null cp lib/LLVMPolly.so ../../lib/libLLVMPolly.so @@ -49,11 +49,11 @@ case $PLATFORM in linux-armhf) mkdir -p ../tblgen cd ../tblgen - $CMAKE -DLLVM_CCACHE_BUILD=ON -DCMAKE_BUILD_TYPE=Release -DLLVM_HOST_TRIPLE=arm-unknown-linux-gnueabihf -DLLVM_DEFAULT_TARGET_TRIPLE=arm-unknown-linux-gnueabihf -DLLVM_TARGET_ARCH=ARM -DLLVM_TARGETS_TO_BUILD=ARM -DLLVM_ENABLE_LIBXML2=OFF -DLLVM_INCLUDE_TESTS=OFF .. + $CMAKE -DLLVM_CCACHE_BUILD=ON -DCMAKE_BUILD_TYPE=Release -DLLVM_HOST_TRIPLE=arm-unknown-linux-gnueabihf -DLLVM_DEFAULT_TARGET_TRIPLE=arm-unknown-linux-gnueabihf -DLLVM_TARGET_ARCH=ARM -DLLVM_TARGETS_TO_BUILD=all -DLLVM_ENABLE_LIBXML2=OFF -DLLVM_INCLUDE_TESTS=OFF .. make -j $MAKEJ llvm-tblgen clang-tblgen TBLGEN=`pwd` cd ../build - CC="arm-linux-gnueabihf-gcc" CXX="arm-linux-gnueabihf-g++" $CMAKE -DCMAKE_EXE_LINKER_FLAGS="-ldl" -DCMAKE_SHARED_LINKER_FLAGS="-ldl" -DLLVM_CCACHE_BUILD=ON -DCMAKE_CROSSCOMPILING=True -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON -DCMAKE_EXE_LINKER_FLAGS='-Wl,-rpath,$ORIGIN/' -DCMAKE_INSTALL_PREFIX=../.. -DLLVM_TABLEGEN="$TBLGEN/bin/llvm-tblgen" -DCLANG_TABLEGEN="$TBLGEN/bin/clang-tblgen" -DLLVM_BUILD_LLVM_DYLIB=ON -DLLVM_LINK_LLVM_DYLIB=ON -DCMAKE_BUILD_TYPE=Release -DLLVM_HOST_TRIPLE=arm-unknown-linux-gnueabihf -DLLVM_DEFAULT_TARGET_TRIPLE=arm-unknown-linux-gnueabihf -DLLVM_TARGET_ARCH=ARM -DLLVM_TARGETS_TO_BUILD=ARM -DLLVM_ENABLE_LIBXML2=OFF -DLLVM_INCLUDE_TESTS=OFF .. + CC="arm-linux-gnueabihf-gcc" CXX="arm-linux-gnueabihf-g++" $CMAKE -DCMAKE_EXE_LINKER_FLAGS="-ldl" -DCMAKE_SHARED_LINKER_FLAGS="-ldl" -DLLVM_CCACHE_BUILD=ON -DCMAKE_CROSSCOMPILING=True -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON -DCMAKE_EXE_LINKER_FLAGS='-Wl,-rpath,$ORIGIN/' -DCMAKE_INSTALL_PREFIX=../.. -DLLVM_TABLEGEN="$TBLGEN/bin/llvm-tblgen" -DCLANG_TABLEGEN="$TBLGEN/bin/clang-tblgen" -DLLVM_BUILD_LLVM_DYLIB=ON -DLLVM_LINK_LLVM_DYLIB=ON -DCMAKE_BUILD_TYPE=Release -DLLVM_HOST_TRIPLE=arm-unknown-linux-gnueabihf -DLLVM_DEFAULT_TARGET_TRIPLE=arm-unknown-linux-gnueabihf -DLLVM_TARGET_ARCH=ARM -DLLVM_TARGETS_TO_BUILD=all -DLLVM_ENABLE_LIBXML2=OFF -DLLVM_INCLUDE_TESTS=OFF .. make -j $MAKEJ make install > /dev/null cp lib/LLVMPolly.so ../../lib/libLLVMPolly.so @@ -65,7 +65,7 @@ case $PLATFORM in make -j $MAKEJ llvm-tblgen clang-tblgen TBLGEN=`pwd` cd ../build - CC="aarch64-linux-gnu-gcc" CXX="aarch64-linux-gnu-g++" $CMAKE -DLLVM_CCACHE_BUILD=ON -DCMAKE_CROSSCOMPILING=True -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON -DCMAKE_EXE_LINKER_FLAGS='-Wl,-rpath,$ORIGIN/' -DCMAKE_INSTALL_PREFIX=../.. -DLLVM_TABLEGEN="$TBLGEN/bin/llvm-tblgen" -DCLANG_TABLEGEN="$TBLGEN/bin/clang-tblgen" -DLLVM_BUILD_LLVM_DYLIB=ON -DLLVM_LINK_LLVM_DYLIB=ON -DCMAKE_BUILD_TYPE=Release -DLLVM_HOST_TRIPLE=aarch64-unknown-linux-gnu -DLLVM_DEFAULT_TARGET_TRIPLE=aarch64-unknown-linux-gnu -DLLVM_TARGET_ARCH=AArch64 -DLLVM_TARGETS_TO_BUILD=AArch64 -DLLVM_ENABLE_LIBXML2=OFF -DLLVM_INCLUDE_TESTS=OFF .. + CC="aarch64-linux-gnu-gcc" CXX="aarch64-linux-gnu-g++" $CMAKE -DLLVM_CCACHE_BUILD=ON -DCMAKE_CROSSCOMPILING=True -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON -DCMAKE_EXE_LINKER_FLAGS='-Wl,-rpath,$ORIGIN/' -DCMAKE_INSTALL_PREFIX=../.. -DLLVM_TABLEGEN="$TBLGEN/bin/llvm-tblgen" -DCLANG_TABLEGEN="$TBLGEN/bin/clang-tblgen" -DLLVM_BUILD_LLVM_DYLIB=ON -DLLVM_LINK_LLVM_DYLIB=ON -DCMAKE_BUILD_TYPE=Release -DLLVM_HOST_TRIPLE=aarch64-unknown-linux-gnu -DLLVM_DEFAULT_TARGET_TRIPLE=aarch64-unknown-linux-gnu -DLLVM_TARGET_ARCH=AArch64 -DLLVM_TARGETS_TO_BUILD=all -DLLVM_ENABLE_LIBXML2=OFF -DLLVM_INCLUDE_TESTS=OFF .. make -j $MAKEJ make install > /dev/null cp lib/LLVMPolly.so ../../lib/libLLVMPolly.so @@ -77,45 +77,51 @@ case $PLATFORM in make -j $MAKEJ llvm-tblgen clang-tblgen TBLGEN=`pwd` cd ../build - CC="powerpc64le-linux-gnu-gcc" CXX="powerpc64le-linux-gnu-g++" $CMAKE -DLLVM_CCACHE_BUILD=ON -DCMAKE_CROSSCOMPILING=True -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON -DCMAKE_EXE_LINKER_FLAGS='-Wl,-rpath,$ORIGIN/' -DCMAKE_INSTALL_PREFIX=../.. -DLLVM_TABLEGEN="$TBLGEN/bin/llvm-tblgen" -DCLANG_TABLEGEN="$TBLGEN/bin/clang-tblgen" -DLLVM_BUILD_LLVM_DYLIB=ON -DLLVM_LINK_LLVM_DYLIB=ON -DCMAKE_BUILD_TYPE=Release -DLLVM_HOST_TRIPLE=powerpc64le-unknown-linux-gnu -DLLVM_DEFAULT_TARGET_TRIPLE=powerpc64le-unknown-linux-gnu -DLLVM_TARGET_ARCH=PowerPC -DLLVM_TARGETS_TO_BUILD=PowerPC -DLLVM_ENABLE_LIBXML2=OFF -DLLVM_INCLUDE_TESTS=OFF .. + CC="powerpc64le-linux-gnu-gcc" CXX="powerpc64le-linux-gnu-g++" $CMAKE -DLLVM_CCACHE_BUILD=ON -DCMAKE_CROSSCOMPILING=True -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON -DCMAKE_EXE_LINKER_FLAGS='-Wl,-rpath,$ORIGIN/' -DCMAKE_INSTALL_PREFIX=../.. -DLLVM_TABLEGEN="$TBLGEN/bin/llvm-tblgen" -DCLANG_TABLEGEN="$TBLGEN/bin/clang-tblgen" -DLLVM_BUILD_LLVM_DYLIB=ON -DLLVM_LINK_LLVM_DYLIB=ON -DCMAKE_BUILD_TYPE=Release -DLLVM_HOST_TRIPLE=powerpc64le-unknown-linux-gnu -DLLVM_DEFAULT_TARGET_TRIPLE=powerpc64le-unknown-linux-gnu -DLLVM_TARGET_ARCH=PowerPC -DLLVM_TARGETS_TO_BUILD=all -DLLVM_ENABLE_LIBXML2=OFF -DLLVM_INCLUDE_TESTS=OFF .. make -j $MAKEJ make install > /dev/null cp lib/LLVMPolly.so ../../lib/libLLVMPolly.so ;; macosx-*) - $CMAKE -DLLVM_CCACHE_BUILD=ON -DCMAKE_EXE_LINKER_FLAGS='-Wl,-rpath,@loader_path/' -DCMAKE_INSTALL_PREFIX=../.. -DLLVM_BUILD_LLVM_DYLIB=ON -DLLVM_LINK_LLVM_DYLIB=ON -DCMAKE_BUILD_TYPE=Release -DLLVM_TARGETS_TO_BUILD=host -DLLVM_ENABLE_LIBXML2=OFF -DLLVM_INCLUDE_TESTS=OFF .. + $CMAKE -DLLVM_CCACHE_BUILD=ON -DCMAKE_EXE_LINKER_FLAGS='-Wl,-rpath,@loader_path/' -DCMAKE_INSTALL_PREFIX=../.. -DLLVM_BUILD_LLVM_DYLIB=ON -DLLVM_LINK_LLVM_DYLIB=ON -DCMAKE_BUILD_TYPE=Release -DLLVM_TARGETS_TO_BUILD=all -DLLVM_ENABLE_LIBXML2=OFF -DLLVM_INCLUDE_TESTS=OFF .. make -j $MAKEJ make install > /dev/null cp lib/LLVMPolly.so ../../lib/libLLVMPolly.so ;; windows-x86) - $CMAKE -G "Visual Studio 15 2017" -DLLVM_BUILD_LLVM_C_DYLIB=OFF -DCMAKE_EXE_LINKER_FLAGS="/FORCE:MULTIPLE" -DCMAKE_SHARED_LINKER_FLAGS="/FORCE:MULTIPLE" -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON -DLLVM_USE_CRT_RELEASE=MD -DCMAKE_INSTALL_PREFIX=../.. -DCMAKE_BUILD_TYPE=Release -DLLVM_TARGETS_TO_BUILD=host -DLLVM_ENABLE_DIA_SDK=OFF -DLLVM_ENABLE_LIBXML2=OFF -DLLVM_INCLUDE_TESTS=OFF -DPYTHON_EXECUTABLE="C:/Python27/python.exe" -DLLVM_POLLY_LINK_INTO_TOOLS=ON .. - MSBuild.exe INSTALL.vcxproj //p:Configuration=Release //p:CL_MPCount=$MAKEJ - cd Release/lib/ + export CC="cl.exe" + export CXX="cl.exe" + $CMAKE -G "Ninja" -DLLVM_BUILD_LLVM_C_DYLIB=OFF -DCMAKE_EXE_LINKER_FLAGS="/FORCE:MULTIPLE" -DCMAKE_SHARED_LINKER_FLAGS="/FORCE:MULTIPLE" -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON -DLLVM_USE_CRT_RELEASE=MD -DCMAKE_INSTALL_PREFIX=../.. -DCMAKE_BUILD_TYPE=Release -DLLVM_TARGETS_TO_BUILD=all -DLLVM_ENABLE_DIA_SDK=OFF -DLLVM_ENABLE_LIBXML2=OFF -DLLVM_INCLUDE_TESTS=OFF -DPYTHON_EXECUTABLE="C:/Python27/python.exe" -DLLVM_POLLY_LINK_INTO_TOOLS=ON .. + ninja -j $MAKEJ + cd lib/ [ -f LLVM.lib ] || lib.exe /OUT:LLVM.lib LLVM*.lib [ -f clang.lib ] || lib.exe /OUT:clang.lib clang*.lib - cd ../.. - $CMAKE -G "Visual Studio 15 2017" -DLLVM_USE_CRT_RELEASE=MD -DCMAKE_INSTALL_PREFIX=../.. -DLLVM_BUILD_LLVM_C_DYLIB=OFF -DLLVM_BUILD_LLVM_DYLIB=ON -DLLVM_LINK_LLVM_DYLIB=ON -DCMAKE_BUILD_TYPE=Release -DLLVM_TARGETS_TO_BUILD=host -DLLVM_ENABLE_DIA_SDK=OFF -DLLVM_ENABLE_LIBXML2=OFF -DLLVM_INCLUDE_TESTS=OFF -DPYTHON_EXECUTABLE="C:/Python27/python.exe" -DLLVM_POLLY_LINK_INTO_TOOLS=ON .. - MSBuild.exe INSTALL.vcxproj //p:Configuration=Release //p:CL_MPCount=$MAKEJ + cd .. + $CMAKE -G "Ninja" -DLLVM_USE_CRT_RELEASE=MD -DCMAKE_INSTALL_PREFIX=../.. -DLLVM_BUILD_LLVM_C_DYLIB=OFF -DLLVM_BUILD_LLVM_DYLIB=ON -DLLVM_LINK_LLVM_DYLIB=ON -DCMAKE_BUILD_TYPE=Release -DLLVM_TARGETS_TO_BUILD=all -DLLVM_ENABLE_DIA_SDK=OFF -DLLVM_ENABLE_LIBXML2=OFF -DLLVM_INCLUDE_TESTS=OFF -DPYTHON_EXECUTABLE="C:/Python27/python.exe" -DLLVM_POLLY_LINK_INTO_TOOLS=ON .. + ninja -j $MAKEJ + ninja install cd ../../lib [ -f LLVM.lib ] || lib.exe /OUT:LLVM.lib LLVM*.lib [ -f clang.lib ] || lib.exe /OUT:clang.lib clang*.lib - [ -f LTO.lib ] || cp ../llvm-$LLVM_VERSION.src/build/Release/lib/LTO.lib . + [ -f LTO.lib ] || cp ../llvm-$LLVM_VERSION.src/build/lib/LTO.lib . cd ../llvm-$LLVM_VERSION.src/build ;; windows-x86_64) - $CMAKE -G "Visual Studio 15 2017 Win64" -DLLVM_BUILD_LLVM_C_DYLIB=OFF -DCMAKE_EXE_LINKER_FLAGS="/FORCE:MULTIPLE" -DCMAKE_SHARED_LINKER_FLAGS="/FORCE:MULTIPLE" -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON -Thost=x64 -DLLVM_USE_CRT_RELEASE=MD -DCMAKE_INSTALL_PREFIX=../.. -DCMAKE_BUILD_TYPE=Release -DLLVM_TARGETS_TO_BUILD=host -DLLVM_ENABLE_DIA_SDK=OFF -DLLVM_ENABLE_LIBXML2=OFF -DLLVM_INCLUDE_TESTS=OFF -DPYTHON_EXECUTABLE="C:/Python27/python.exe" -DLLVM_POLLY_LINK_INTO_TOOLS=ON .. - MSBuild.exe INSTALL.vcxproj //p:Configuration=Release //p:CL_MPCount=$MAKEJ - cd Release/lib/ + export CC="cl.exe" + export CXX="cl.exe" + $CMAKE -G "Ninja" -DLLVM_BUILD_LLVM_C_DYLIB=OFF -DCMAKE_EXE_LINKER_FLAGS="/FORCE:MULTIPLE" -DCMAKE_SHARED_LINKER_FLAGS="/FORCE:MULTIPLE" -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON -DLLVM_USE_CRT_RELEASE=MD -DCMAKE_INSTALL_PREFIX=../.. -DCMAKE_BUILD_TYPE=Release -DLLVM_TARGETS_TO_BUILD=all -DLLVM_ENABLE_DIA_SDK=OFF -DLLVM_ENABLE_LIBXML2=OFF -DLLVM_INCLUDE_TESTS=OFF -DPYTHON_EXECUTABLE="C:/Python27/python.exe" -DLLVM_POLLY_LINK_INTO_TOOLS=ON .. + ninja -j $MAKEJ + cd lib/ [ -f LLVM.lib ] || lib.exe /OUT:LLVM.lib LLVM*.lib [ -f clang.lib ] || lib.exe /OUT:clang.lib clang*.lib - cd ../.. - $CMAKE -G "Visual Studio 15 2017 Win64" -Thost=x64 -DLLVM_USE_CRT_RELEASE=MD -DCMAKE_INSTALL_PREFIX=../.. -DLLVM_BUILD_LLVM_C_DYLIB=OFF -DLLVM_BUILD_LLVM_DYLIB=ON -DLLVM_LINK_LLVM_DYLIB=ON -DCMAKE_BUILD_TYPE=Release -DLLVM_TARGETS_TO_BUILD=host -DLLVM_ENABLE_DIA_SDK=OFF -DLLVM_ENABLE_LIBXML2=OFF -DLLVM_INCLUDE_TESTS=OFF -DPYTHON_EXECUTABLE="C:/Python27/python.exe" -DLLVM_POLLY_LINK_INTO_TOOLS=ON .. - MSBuild.exe INSTALL.vcxproj //p:Configuration=Release //p:CL_MPCount=$MAKEJ + cd .. + $CMAKE -G "Ninja" -DLLVM_USE_CRT_RELEASE=MD -DCMAKE_INSTALL_PREFIX=../.. -DLLVM_BUILD_LLVM_C_DYLIB=OFF -DLLVM_BUILD_LLVM_DYLIB=ON -DLLVM_LINK_LLVM_DYLIB=ON -DCMAKE_BUILD_TYPE=Release -DLLVM_TARGETS_TO_BUILD=all -DLLVM_ENABLE_DIA_SDK=OFF -DLLVM_ENABLE_LIBXML2=OFF -DLLVM_INCLUDE_TESTS=OFF -DPYTHON_EXECUTABLE="C:/Python27/python.exe" -DLLVM_POLLY_LINK_INTO_TOOLS=ON .. + ninja -j $MAKEJ + ninja install cd ../../lib [ -f LLVM.lib ] || lib.exe /OUT:LLVM.lib LLVM*.lib [ -f clang.lib ] || lib.exe /OUT:clang.lib clang*.lib - [ -f LTO.lib ] || cp ../llvm-$LLVM_VERSION.src/build/Release/lib/LTO.lib . + [ -f LTO.lib ] || cp ../llvm-$LLVM_VERSION.src/build/lib/LTO.lib . cd ../llvm-$LLVM_VERSION.src/build ;; *) diff --git a/llvm/src/gen/java/org/bytedeco/llvm/global/LLVM.java b/llvm/src/gen/java/org/bytedeco/llvm/global/LLVM.java index 91b11c584b1..916d2007189 100644 --- a/llvm/src/gen/java/org/bytedeco/llvm/global/LLVM.java +++ b/llvm/src/gen/java/org/bytedeco/llvm/global/LLVM.java @@ -10613,4 +10613,150 @@ public static native void createOptimizedJITCompilerForModule( // #endif +// Parsed from + +/* + * Copyright (C) 2015-2020 Mats Larsen + * + * Licensed either under the Apache License, Version 2.0, or (at your option) + * under the terms of the GNU General Public License as published by + * the Free Software Foundation (subject to the "Classpath" exception), + * either version 2, or any later version (collectively, the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * http://www.gnu.org/licenses/ + * http://www.gnu.org/software/classpath/license.html + * + * or as provided in the LICENSE.txt file that accompanied this code. + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * Stubs for all LLVM Target initialization routines + * + * See #935 https://github.com/bytedeco/javacpp-presets/issues/935 + */ +// #define LLVM_TARGET(TargetName) +// void LLVMInitialize##TargetName##TargetInfo(void); +// void LLVMInitialize##TargetName##Target(void); +// void LLVMInitialize##TargetName##TargetMC(void); +// void LLVMInitialize##TargetName##AsmPrinter(void); +// void LLVMInitialize##TargetName##AsmParser(void); +// void LLVMInitialize##TargetName##Disassembler(void); + +// Stable Targets +public static native void LLVMInitializeAArch64TargetInfo(); +public static native void LLVMInitializeAArch64Target(); +public static native void LLVMInitializeAArch64TargetMC(); +public static native void LLVMInitializeAArch64AsmPrinter(); +public static native void LLVMInitializeAArch64AsmParser(); +public static native void LLVMInitializeAArch64Disassembler(); +public static native void LLVMInitializeAMDGPUTargetInfo(); +public static native void LLVMInitializeAMDGPUTarget(); +public static native void LLVMInitializeAMDGPUTargetMC(); +public static native void LLVMInitializeAMDGPUAsmPrinter(); +public static native void LLVMInitializeAMDGPUAsmParser(); +public static native void LLVMInitializeAMDGPUDisassembler(); +public static native void LLVMInitializeARMTargetInfo(); +public static native void LLVMInitializeARMTarget(); +public static native void LLVMInitializeARMTargetMC(); +public static native void LLVMInitializeARMAsmPrinter(); +public static native void LLVMInitializeARMAsmParser(); +public static native void LLVMInitializeARMDisassembler(); +public static native void LLVMInitializeBPFTargetInfo(); +public static native void LLVMInitializeBPFTarget(); +public static native void LLVMInitializeBPFTargetMC(); +public static native void LLVMInitializeBPFAsmPrinter(); +public static native void LLVMInitializeBPFAsmParser(); +public static native void LLVMInitializeBPFDisassembler(); +public static native void LLVMInitializeHexagonTargetInfo(); +public static native void LLVMInitializeHexagonTarget(); +public static native void LLVMInitializeHexagonTargetMC(); +public static native void LLVMInitializeHexagonAsmPrinter(); +public static native void LLVMInitializeHexagonAsmParser(); +public static native void LLVMInitializeHexagonDisassembler(); +public static native void LLVMInitializeLanaiTargetInfo(); +public static native void LLVMInitializeLanaiTarget(); +public static native void LLVMInitializeLanaiTargetMC(); +public static native void LLVMInitializeLanaiAsmPrinter(); +public static native void LLVMInitializeLanaiAsmParser(); +public static native void LLVMInitializeLanaiDisassembler(); +public static native void LLVMInitializeMSP430TargetInfo(); +public static native void LLVMInitializeMSP430Target(); +public static native void LLVMInitializeMSP430TargetMC(); +public static native void LLVMInitializeMSP430AsmPrinter(); +public static native void LLVMInitializeMSP430AsmParser(); +public static native void LLVMInitializeMSP430Disassembler(); +public static native void LLVMInitializeMipsTargetInfo(); +public static native void LLVMInitializeMipsTarget(); +public static native void LLVMInitializeMipsTargetMC(); +public static native void LLVMInitializeMipsAsmPrinter(); +public static native void LLVMInitializeMipsAsmParser(); +public static native void LLVMInitializeMipsDisassembler(); +public static native void LLVMInitializePowerPCTargetInfo(); +public static native void LLVMInitializePowerPCTarget(); +public static native void LLVMInitializePowerPCTargetMC(); +public static native void LLVMInitializePowerPCAsmPrinter(); +public static native void LLVMInitializePowerPCAsmParser(); +public static native void LLVMInitializePowerPCDisassembler(); +public static native void LLVMInitializeRISCVTargetInfo(); +public static native void LLVMInitializeRISCVTarget(); +public static native void LLVMInitializeRISCVTargetMC(); +public static native void LLVMInitializeRISCVAsmPrinter(); +public static native void LLVMInitializeRISCVAsmParser(); +public static native void LLVMInitializeRISCVDisassembler(); +public static native void LLVMInitializeSparcTargetInfo(); +public static native void LLVMInitializeSparcTarget(); +public static native void LLVMInitializeSparcTargetMC(); +public static native void LLVMInitializeSparcAsmPrinter(); +public static native void LLVMInitializeSparcAsmParser(); +public static native void LLVMInitializeSparcDisassembler(); +public static native void LLVMInitializeSystemZTargetInfo(); +public static native void LLVMInitializeSystemZTarget(); +public static native void LLVMInitializeSystemZTargetMC(); +public static native void LLVMInitializeSystemZAsmPrinter(); +public static native void LLVMInitializeSystemZAsmParser(); +public static native void LLVMInitializeSystemZDisassembler(); +public static native void LLVMInitializeWebAssemblyTargetInfo(); +public static native void LLVMInitializeWebAssemblyTarget(); +public static native void LLVMInitializeWebAssemblyTargetMC(); +public static native void LLVMInitializeWebAssemblyAsmPrinter(); +public static native void LLVMInitializeWebAssemblyAsmParser(); +public static native void LLVMInitializeWebAssemblyDisassembler(); +public static native void LLVMInitializeX86TargetInfo(); +public static native void LLVMInitializeX86Target(); +public static native void LLVMInitializeX86TargetMC(); +public static native void LLVMInitializeX86AsmPrinter(); +public static native void LLVMInitializeX86AsmParser(); +public static native void LLVMInitializeX86Disassembler(); + +// XCore Target - Does not ship AsmParser +public static native void LLVMInitializeXCoreTargetInfo(); +public static native void LLVMInitializeXCoreTarget(); +public static native void LLVMInitializeXCoreTargetMC(); +public static native void LLVMInitializeXCoreAsmPrinter(); +public static native void LLVMInitializeXCoreDisassembler(); + +// NVPTX Target - Does not ship with AsmParser or Disassembler +public static native void LLVMInitializeNVPTXTargetInfo(); +public static native void LLVMInitializeNVPTXTarget(); +public static native void LLVMInitializeNVPTXTargetMC(); +public static native void LLVMInitializeNVPTXAsmPrinter(); + +/* +JavaCPP Presets does currently not build experimental targets. + +LLVM_TARGET(ARC) +LLVM_TARGET(AVR) +LLVM_TARGET(VE) +*/ +// #undef LLVM_TARGET + + } diff --git a/llvm/src/main/java/org/bytedeco/llvm/presets/LLVM.java b/llvm/src/main/java/org/bytedeco/llvm/presets/LLVM.java index 8bb17b52262..af528c017d8 100644 --- a/llvm/src/main/java/org/bytedeco/llvm/presets/LLVM.java +++ b/llvm/src/main/java/org/bytedeco/llvm/presets/LLVM.java @@ -35,7 +35,7 @@ "", "", "", "", "", "", "", "", "", "", "", "", "", "", - "", ""}, + "", "", ""}, compiler = "cpp14", link = {"LLVM-10", "LTO@.10", /*"LLVMPolly",*/ "Remarks@.10"}), @Platform(value = "macosx", link = {"LLVM", "LTO", /*"Polly", "PollyISL", "PollyPPCG",*/ "Remarks"}), @Platform(value = "windows", link = {"LLVM", "LTO", "Polly", "PollyISL", "PollyPPCG", "Remarks"})}) diff --git a/llvm/src/main/resources/org/bytedeco/llvm/include/TargetStubs.h b/llvm/src/main/resources/org/bytedeco/llvm/include/TargetStubs.h new file mode 100644 index 00000000000..1a0897a29a7 --- /dev/null +++ b/llvm/src/main/resources/org/bytedeco/llvm/include/TargetStubs.h @@ -0,0 +1,72 @@ +/* + * Copyright (C) 2015-2020 Mats Larsen + * + * Licensed either under the Apache License, Version 2.0, or (at your option) + * under the terms of the GNU General Public License as published by + * the Free Software Foundation (subject to the "Classpath" exception), + * either version 2, or any later version (collectively, the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * http://www.gnu.org/licenses/ + * http://www.gnu.org/software/classpath/license.html + * + * or as provided in the LICENSE.txt file that accompanied this code. + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * Stubs for all LLVM Target initialization routines + * + * See #935 https://github.com/bytedeco/javacpp-presets/issues/935 + */ +#define LLVM_TARGET(TargetName) \ +void LLVMInitialize##TargetName##TargetInfo(void); \ +void LLVMInitialize##TargetName##Target(void); \ +void LLVMInitialize##TargetName##TargetMC(void); \ +void LLVMInitialize##TargetName##AsmPrinter(void); \ +void LLVMInitialize##TargetName##AsmParser(void); \ +void LLVMInitialize##TargetName##Disassembler(void); + +// Stable Targets +LLVM_TARGET(AArch64) +LLVM_TARGET(AMDGPU) +LLVM_TARGET(ARM) +LLVM_TARGET(BPF) +LLVM_TARGET(Hexagon) +LLVM_TARGET(Lanai) +LLVM_TARGET(MSP430) +LLVM_TARGET(Mips) +LLVM_TARGET(PowerPC) +LLVM_TARGET(RISCV) +LLVM_TARGET(Sparc) +LLVM_TARGET(SystemZ) +LLVM_TARGET(WebAssembly) +LLVM_TARGET(X86) + +// XCore Target - Does not ship AsmParser +void LLVMInitializeXCoreTargetInfo(void); +void LLVMInitializeXCoreTarget(void); +void LLVMInitializeXCoreTargetMC(void); +void LLVMInitializeXCoreAsmPrinter(void); +void LLVMInitializeXCoreDisassembler(void); + +// NVPTX Target - Does not ship with AsmParser or Disassembler +void LLVMInitializeNVPTXTargetInfo(void); +void LLVMInitializeNVPTXTarget(void); +void LLVMInitializeNVPTXTargetMC(void); +void LLVMInitializeNVPTXAsmPrinter(void); + +/* +JavaCPP Presets does currently not build experimental targets. + +LLVM_TARGET(ARC) +LLVM_TARGET(AVR) +LLVM_TARGET(VE) +*/ +#undef LLVM_TARGET