From b6af484680f1c9b7055fa43fd0e1a18c944589be Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Sun, 12 Jan 2025 15:43:28 +1300 Subject: [PATCH 01/14] CMake: (eventually) return if we sent some errors. --- CMakeLists.txt | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index a4dba77d1..0076657a2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -95,6 +95,8 @@ else() set(LIBOPENCOR_CODE_ANALYSIS ${CODE_ANALYSIS} CACHE BOOL "${LIBOPENCOR_CODE_ANALYSIS_DOCSTRING}" FORCE) elseif(CODE_ANALYSIS) message(SEND_ERROR "${CODE_ANALYSIS_ERROR_MESSAGE}") + + set(SENT_ERRORS TRUE) endif() unset(CODE_ANALYSIS CACHE) @@ -110,6 +112,8 @@ else() set(LIBOPENCOR_CODE_COVERAGE ${CODE_COVERAGE} CACHE BOOL "${LIBOPENCOR_CODE_COVERAGE_DOCSTRING}" FORCE) elseif(CODE_COVERAGE) message(SEND_ERROR "${CODE_COVERAGE_ERROR_MESSAGE}") + + set(SENT_ERRORS TRUE) endif() unset(CODE_COVERAGE CACHE) @@ -125,6 +129,8 @@ else() set(LIBOPENCOR_COMPILER_CACHING ${COMPILER_CACHING} CACHE BOOL "${LIBOPENCOR_COMPILER_CACHING_DOCSTRING}" FORCE) elseif(COMPILER_CACHING) message(SEND_ERROR "${COMPILER_CACHING_ERROR_MESSAGE}") + + set(SENT_ERRORS TRUE) endif() unset(COMPILER_CACHING CACHE) @@ -140,6 +146,8 @@ else() set(LIBOPENCOR_DOCUMENTATION ${DOCUMENTATION} CACHE BOOL "${LIBOPENCOR_DOCUMENTATION_DOCSTRING}" FORCE) elseif(DOCUMENTATION) message(SEND_ERROR "${DOCUMENTATION_AVAILABLE_ERROR_MESSAGE}") + + set(SENT_ERRORS TRUE) endif() unset(DOCUMENTATION CACHE) @@ -173,6 +181,8 @@ else() set(LIBOPENCOR_JAVASCRIPT_BINDINGS ${JAVASCRIPT_BINDINGS} CACHE BOOL "${LIBOPENCOR_JAVASCRIPT_BINDINGS_DOCSTRING}" FORCE) elseif(JAVASCRIPT_BINDINGS) message(SEND_ERROR "${JAVASCRIPT_BINDINGS_ERROR_MESSAGE}") + + set(SENT_ERRORS TRUE) endif() unset(JAVASCRIPT_BINDINGS CACHE) @@ -189,6 +199,8 @@ else() set(LIBOPENCOR_JAVASCRIPT_UNIT_TESTING ${JAVASCRIPT_UNIT_TESTING} CACHE BOOL "${LIBOPENCOR_JAVASCRIPT_UNIT_TESTING_DOCSTRING}" FORCE) elseif(JAVASCRIPT_UNIT_TESTING) message(SEND_ERROR "${JAVASCRIPT_UNIT_TESTING_ERROR_MESSAGE}") + + set(SENT_ERRORS TRUE) endif() unset(JAVASCRIPT_UNIT_TESTING CACHE) @@ -205,6 +217,8 @@ else() set(LIBOPENCOR_MEMORY_CHECKS ${MEMORY_CHECKS} CACHE BOOL "${LIBOPENCOR_MEMORY_CHECKS_DOCSTRING}" FORCE) elseif(MEMORY_CHECKS) message(SEND_ERROR "${MEMORY_CHECKS_ERROR_MESSAGE}") + + set(SENT_ERRORS TRUE) endif() unset(MEMORY_CHECKS CACHE) @@ -363,6 +377,8 @@ else() set(LIBOPENCOR_PYTHON_BINDINGS ${PYTHON_BINDINGS} CACHE BOOL "${LIBOPENCOR_PYTHON_BINDINGS_DOCSTRING}" FORCE) elseif(PYTHON_BINDINGS) message(SEND_ERROR "${PYTHON_BINDINGS_ERROR_MESSAGE}") + + set(SENT_ERRORS TRUE) endif() unset(PYTHON_BINDINGS CACHE) @@ -379,6 +395,8 @@ else() set(LIBOPENCOR_PYTHON_UNIT_TESTING ${PYTHON_UNIT_TESTING} CACHE BOOL "${LIBOPENCOR_PYTHON_UNIT_TESTING_DOCSTRING}" FORCE) elseif(PYTHON_UNIT_TESTING) message(SEND_ERROR "${PYTHON_UNIT_TESTING_ERROR_MESSAGE}") + + set(SENT_ERRORS TRUE) endif() unset(PYTHON_UNIT_TESTING CACHE) @@ -441,32 +459,44 @@ else() if(LIBOPENCOR_CODE_COVERAGE) if(NOT LIBOPENCOR_SHARED_LIBS) message(SEND_ERROR "Configuration confusion: code coverage is requested which means that a static library cannot be requested.") + + set(SENT_ERRORS TRUE) endif() if(NOT LIBOPENCOR_UNIT_TESTING) message(SEND_ERROR "Configuration confusion: code coverage is requested which means that unit testing should also be requested.") + + set(SENT_ERRORS TRUE) endif() endif() if(LIBOPENCOR_MEMORY_CHECKS) if("${LIBOPENCOR_BUILD_TYPE}" STREQUAL "Release") message(SEND_ERROR "Configuration confusion: memory checks are requested which means that a release build cannot also be requested.") + + set(SENT_ERRORS TRUE) endif() if(NOT LIBOPENCOR_UNIT_TESTING) message(SEND_ERROR "Configuration confusion: memory checks are requested which means that unit testing should also be requested.") + + set(SENT_ERRORS TRUE) endif() endif() if(LIBOPENCOR_PYTHON_BINDINGS) if(LIBOPENCOR_SHARED_LIBS) message(SEND_ERROR "Configuration confusion: Python bindings are requested which means that a shared library cannot be requested.") + + set(SENT_ERRORS TRUE) endif() endif() if(LIBOPENCOR_PYTHON_UNIT_TESTING) if(NOT LIBOPENCOR_PYTHON_BINDINGS) message(SEND_ERROR "Configuration confusion: Python unit testing is requested which means that Python bindings should also be requested.") + + set(SENT_ERRORS TRUE) endif() endif() @@ -474,9 +504,15 @@ else() if( NOT "${LIBOPENCOR_TARGET_ARCHITECTURE}" STREQUAL "Intel" AND NOT "${LIBOPENCOR_TARGET_ARCHITECTURE}" STREQUAL "ARM") message(SEND_ERROR "Configuration error: unsupported target architecture (${LIBOPENCOR_TARGET_ARCHITECTURE}). Supported target architectures are Intel and ARM.") + + set(SENT_ERRORS TRUE) endif() endif() + if(SENT_ERRORS) + return() + endif() + # Determine whether we are building in release mode. # Note: this only makes sense if we are not in a multi-configuration mode, i.e. IS_MULTI_CONFIG is equal to FALSE, which # is likely to be the case when building a third-party library. From 6bccf62ad149a0ed7ad4dcd4f957cb786bbdc1ef Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Sat, 11 Jan 2025 21:25:59 +1300 Subject: [PATCH 02/14] (Re)add ARM support on Windows and Linux. LLVM+Clang was what forced us to give on Windows/Linux ARM. So, we went back to LLVM+Clang 14.0.3, the last version for which we were able to build for Windows/Linux ARM. --- .github/workflows/buildThirdPartyLibrary.yml | 56 ++++++++++--- .github/workflows/cd.yml | 37 +++++++-- .github/workflows/ci.yml | 83 ++++++++++++++++++- cmake/common.cmake | 7 -- cmake/packages.cmake | 10 +-- src/3rdparty/LLVMClang/CMakeLists.txt | 72 +++++++++------- src/3rdparty/LLVMClang/llvmbegin.h | 3 - .../LLVMClang/scripts/buildllvmclangtblgen | 19 +++++ src/3rdparty/OpenSSL/CMakeLists.txt | 54 +++++++++--- src/3rdparty/SUNDIALS/CMakeLists.txt | 38 ++++++--- src/3rdparty/libCOMBINE/CMakeLists.txt | 36 ++++++-- src/3rdparty/libCellML/CMakeLists.txt | 36 ++++++-- src/3rdparty/libNuML/CMakeLists.txt | 36 ++++++-- src/3rdparty/libSBML/CMakeLists.txt | 36 ++++++-- src/3rdparty/libSEDML/CMakeLists.txt | 36 ++++++-- src/3rdparty/libcurl/CMakeLists.txt | 36 ++++++-- src/3rdparty/libssh2/CMakeLists.txt | 36 ++++++-- src/3rdparty/libxml2/CMakeLists.txt | 36 ++++++-- src/3rdparty/zipper/CMakeLists.txt | 36 ++++++-- src/3rdparty/zlib/CMakeLists.txt | 36 ++++++-- 20 files changed, 560 insertions(+), 179 deletions(-) create mode 100755 src/3rdparty/LLVMClang/scripts/buildllvmclangtblgen diff --git a/.github/workflows/buildThirdPartyLibrary.yml b/.github/workflows/buildThirdPartyLibrary.yml index 9d05e6e49..4da9cd70f 100644 --- a/.github/workflows/buildThirdPartyLibrary.yml +++ b/.github/workflows/buildThirdPartyLibrary.yml @@ -19,20 +19,36 @@ jobs: fail-fast: false matrix: include: - - name: 'Windows release' + - name: 'Windows release (Intel)' os: windows-latest + arch: amd64 build_type: Release - - name: 'Windows debug' + - name: 'Windows debug (Intel)' os: windows-latest + arch: amd64 build_type: Debug - - name: 'Linux' + - name: 'Windows release (ARM)' + os: windows-latest + arch: amd64_arm64 + build_type: Release + - name: 'Windows debug (ARM)' + os: windows-latest + arch: amd64_arm64 + build_type: Debug + - name: 'Linux (Intel)' + os: ubuntu-20.04 + # Note: we must use ubuntu-20.04 rather than ubuntu-latest. Indeed, starting with Ubuntu 22.04, glibc + # doesn't include libpthread anymore (see https://developers.redhat.com/articles/2021/12/17/why-glibc-234-removed-libpthread). + # Yet, to build our Python wheels on Linux, we have no choice but to use manylinux_2_28, which relies + # on a version of glibc with libpthread, hence getting various messages about __libc_single_threaded + # being undefined when trying to build our Python wheels using third-party libraries built on Ubuntu + # 22.04+. + build_type: Release + - name: 'Linux (ARM)' os: ubuntu-20.04 - # Note: we must use ubuntu-20.04 rather than ubuntu-latest (i.e. ubuntu-22.04 at this stage). Indeed, - # Ubuntu 22.04's copy of glibc doesn't include libpthread anymore (see - # https://developers.redhat.com/articles/2021/12/17/why-glibc-234-removed-libpthread). Yet, to build - # our Python wheels on Linux, we have no choice but to use manylinux_2_28, which relies on a version - # of glibc with libpthread, hence getting various messages about __libc_single_threaded being - # undefined when trying to build our Python wheels using third-party libraries built on ubuntu-22.04. + # Note: see the note above. + arch: arm + cmake_prereqs: CC=aarch64-linux-gnu-gcc CXX=aarch64-linux-gnu-g++ build_type: Release - name: 'macOS (Intel)' os: macos-13 @@ -48,20 +64,40 @@ jobs: steps: - name: Check out libOpenCOR uses: actions/checkout@v4 + - name: Install ARM compiler + if: ${{ matrix.arch == 'arm' }} + run: | + sudo apt update + sudo apt install gcc-aarch64-linux-gnu g++-aarch64-linux-gnu - name: Install CMake and Ninja uses: lukka/get-cmake@latest - name: Install buildcache uses: cscouto/buildcache-action@v1 with: cache_key: libraries-${{ matrix.os }}-${{ matrix.shared_libs }} + - name: Configure MSVC (to build an Intel-based version of llvm-tblgen and clang-tblgen) + if: ${{ (runner.os == 'Windows') && (matrix.arch == 'amd64_arm64') }} + uses: ilammy/msvc-dev-cmd@v1 + with: + arch: amd64 + - name: Build llvm-tblgen and clang-tblgen + if: ${{ (((runner.os == 'Windows') && (matrix.arch == 'amd64_arm64')) || ((runner.os == 'Linux') && (matrix.arch == 'arm'))) }} + shell: bash + run: | + source src/3rdparty/LLVMClang/scripts/buildllvmclangtblgen ${{ runner.os == 'Windows' }} + echo "DLLVMCLANG_LLVM_TABLEGEN=$DLLVMCLANG_LLVM_TABLEGEN" >> $GITHUB_ENV + echo "DLLVMCLANG_CLANG_TABLEGEN=$DLLVMCLANG_CLANG_TABLEGEN" >> $GITHUB_ENV - name: Configure MSVC if: ${{ runner.os == 'Windows' }} uses: ilammy/msvc-dev-cmd@v1 + with: + arch: ${{ matrix.arch }} - name: Configure libOpenCOR + shell: bash run: | mkdir build cd build - ${{ matrix.cmake_prereqs }} cmake -G Ninja -DBUILD_TYPE=${{ matrix.build_type }} -DONLY_BUILD_THIRD_PARTY_LIBRARIES=ON -DPREBUILT_${{ inputs.third_party_library_name }}=OFF .. + ${{ matrix.cmake_prereqs }} cmake -G Ninja -DBUILD_TYPE=${{ matrix.build_type }} -DONLY_BUILD_THIRD_PARTY_LIBRARIES=ON -DPREBUILT_${{ inputs.third_party_library_name }}=OFF ${{ env.DLLVMCLANG_LLVM_TABLEGEN }} ${{ env.DLLVMCLANG_CLANG_TABLEGEN }} .. - name: Upload library artifact if: ${{ !startsWith(github.ref, 'refs/tags/v') }} uses: actions/upload-artifact@v4 diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index 550154840..9c91708b8 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -15,18 +15,38 @@ jobs: fail-fast: false matrix: include: - - name: 'Windows static library' + - name: 'Windows static library (Intel)' os: windows-latest + arch: amd64 shared_libs: OFF - - name: 'Windows shared library' + - name: 'Windows shared library (Intel)' os: windows-latest + arch: amd64 shared_libs: ON - - name: 'Linux static library' + - name: 'Windows static library (ARM)' + os: windows-latest + arch: amd64_arm64 + shared_libs: OFF + - name: 'Windows shared library (ARM)' + os: windows-latest + arch: amd64_arm64 + shared_libs: ON + - name: 'Linux static library (Intel)' + os: ubuntu-latest + shared_libs: OFF + - name: 'Linux shared library (Intel)' + os: ubuntu-latest + shared_libs: ON + - name: 'Linux static library (ARM)' os: ubuntu-latest + arch: arm shared_libs: OFF - - name: 'Linux shared library' + context: CC=aarch64-linux-gnu-gcc CXX=aarch64-linux-gnu-g++ + - name: 'Linux shared library (ARM)' os: ubuntu-latest + arch: arm shared_libs: ON + context: CC=aarch64-linux-gnu-gcc CXX=aarch64-linux-gnu-g++ - name: 'macOS static library (Intel)' os: macos-13 shared_libs: OFF @@ -47,6 +67,11 @@ jobs: steps: - name: Check out libOpenCOR uses: actions/checkout@v4 + - name: Install ARM compiler + if: ${{ matrix.arch == 'arm' }} + run: | + sudo apt update + sudo apt install gcc-aarch64-linux-gnu g++-aarch64-linux-gnu - name: Install CMake and Ninja uses: lukka/get-cmake@latest - name: Install buildcache @@ -56,11 +81,13 @@ jobs: - name: Configure MSVC if: ${{ runner.os == 'Windows' }} uses: ilammy/msvc-dev-cmd@v1 + with: + arch: ${{ matrix.arch }} - name: Configure libOpenCOR run: | mkdir build cd build - cmake -G Ninja -DBUILD_TYPE=Release -DCODE_ANALYSIS=OFF -DCODE_COVERAGE=OFF -DDOCUMENTATION=OFF -DJAVASCRIPT_BINDINGS=OFF -DMEMORY_CHECKS=OFF -DPYTHON_BINDINGS=OFF -DPYTHON_UNIT_TESTING=OFF -DSHARED_LIBS=${{ matrix.shared_libs }} -DUNIT_TESTING=OFF .. + ${{ matrix.context }} cmake -G Ninja -DBUILD_TYPE=Release -DCODE_ANALYSIS=OFF -DCODE_COVERAGE=OFF -DDOCUMENTATION=OFF -DJAVASCRIPT_BINDINGS=OFF -DMEMORY_CHECKS=OFF -DPYTHON_BINDINGS=OFF -DPYTHON_UNIT_TESTING=OFF -DSHARED_LIBS=${{ matrix.shared_libs }} -DUNIT_TESTING=OFF .. - name: Build libOpenCOR run: | cd build diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 33ebb6e87..8342fec92 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -13,8 +13,9 @@ jobs: fail-fast: false matrix: include: - - name: 'Windows static library' + - name: 'Windows static library (Intel)' os: windows-latest + arch: amd64 build_type: Release code_analysis: OFF code_coverage: OFF @@ -28,8 +29,9 @@ jobs: unit_testing: ON target: unit_testing install_uninstall_and_package: ON - - name: 'Windows shared library' + - name: 'Windows shared library (Intel)' os: windows-latest + arch: amd64 build_type: Release code_analysis: OFF code_coverage: OFF @@ -43,7 +45,39 @@ jobs: unit_testing: ON target: unit_testing install_uninstall_and_package: ON - - name: 'Linux static library' + - name: 'Windows static library (ARM)' + os: windows-latest + arch: amd64_arm64 + build_type: Release + code_analysis: OFF + code_coverage: OFF + documentation: OFF + javascript_bindings: OFF + javascript_unit_testing: OFF + memory_checks: OFF + python_bindings: OFF + python_unit_testing: OFF + shared_libs: OFF + unit_testing: ON + target: unit_testing + install_uninstall_and_package: ON + - name: 'Windows shared library (ARM)' + os: windows-latest + arch: amd64_arm64 + build_type: Release + code_analysis: OFF + code_coverage: OFF + documentation: OFF + javascript_bindings: OFF + javascript_unit_testing: OFF + memory_checks: OFF + python_bindings: OFF + python_unit_testing: OFF + shared_libs: ON + unit_testing: ON + target: unit_testing + install_uninstall_and_package: ON + - name: 'Linux static library (Intel)' os: ubuntu-latest build_type: Release code_analysis: OFF @@ -58,7 +92,7 @@ jobs: unit_testing: ON target: unit_testing install_uninstall_and_package: ON - - name: 'Linux shared library' + - name: 'Linux shared library (Intel)' os: ubuntu-latest build_type: Release code_analysis: OFF @@ -73,6 +107,40 @@ jobs: unit_testing: ON target: unit_testing install_uninstall_and_package: ON + - name: 'Linux static library (ARM)' + os: ubuntu-latest + arch: arm + build_type: Release + code_analysis: OFF + code_coverage: OFF + documentation: OFF + javascript_bindings: OFF + javascript_unit_testing: OFF + memory_checks: OFF + python_bindings: OFF + python_unit_testing: OFF + shared_libs: OFF + unit_testing: ON + target: unit_testing + install_uninstall_and_package: ON + context: CC=aarch64-linux-gnu-gcc CXX=aarch64-linux-gnu-g++ + - name: 'Linux shared library (ARM)' + os: ubuntu-latest + arch: arm + build_type: Release + code_analysis: OFF + code_coverage: OFF + documentation: OFF + javascript_bindings: OFF + javascript_unit_testing: OFF + memory_checks: OFF + python_bindings: OFF + python_unit_testing: OFF + shared_libs: ON + unit_testing: ON + target: unit_testing + install_uninstall_and_package: ON + context: CC=aarch64-linux-gnu-gcc CXX=aarch64-linux-gnu-g++ - name: 'macOS static library (Intel)' os: macos-13 build_type: Release @@ -321,6 +389,11 @@ jobs: steps: - name: Check out libOpenCOR uses: actions/checkout@v4 + - name: Install ARM compiler + if: ${{ matrix.arch == 'arm' }} + run: | + sudo apt update + sudo apt install gcc-aarch64-linux-gnu g++-aarch64-linux-gnu - name: Install Python uses: actions/setup-python@v5 with: @@ -334,6 +407,8 @@ jobs: - name: Configure MSVC if: ${{ runner.os == 'Windows' }} uses: ilammy/msvc-dev-cmd@v1 + with: + arch: ${{ matrix.arch }} - name: Install LLVM if: ${{ matrix.code_coverage == 'ON' }} run: | diff --git a/cmake/common.cmake b/cmake/common.cmake index 2aa7b90a6..0774cebbf 100644 --- a/cmake/common.cmake +++ b/cmake/common.cmake @@ -63,13 +63,6 @@ function(configure_target TARGET) endif() endif() - # Make it possible to use LLVM+Clang 18+ when building using MSVC (see - # https://github.com/llvm/llvm-project/issues/86028). - - if(BUILDING_USING_MSVC) - target_compile_options(${TARGET} PRIVATE /Zc:preprocessor) - endif() - # Analyse the code. if(LIBOPENCOR_CODE_ANALYSIS) diff --git a/cmake/packages.cmake b/cmake/packages.cmake index 8a6d18b16..3cb096e4a 100644 --- a/cmake/packages.cmake +++ b/cmake/packages.cmake @@ -271,12 +271,10 @@ else() set(TARGET_PLATFORM_ARCHITECTURE linux) endif() - if(APPLE) - if("${LIBOPENCOR_TARGET_ARCHITECTURE}" STREQUAL "Intel") - set(TARGET_PLATFORM_ARCHITECTURE ${TARGET_PLATFORM_ARCHITECTURE}.intel) - else() - set(TARGET_PLATFORM_ARCHITECTURE ${TARGET_PLATFORM_ARCHITECTURE}.arm) - endif() + if("${LIBOPENCOR_TARGET_ARCHITECTURE}" STREQUAL "Intel") + set(TARGET_PLATFORM_ARCHITECTURE ${TARGET_PLATFORM_ARCHITECTURE}.intel) + else() + set(TARGET_PLATFORM_ARCHITECTURE ${TARGET_PLATFORM_ARCHITECTURE}.arm) endif() endif() diff --git a/src/3rdparty/LLVMClang/CMakeLists.txt b/src/3rdparty/LLVMClang/CMakeLists.txt index 1641adfa6..07cdd4be1 100644 --- a/src/3rdparty/LLVMClang/CMakeLists.txt +++ b/src/3rdparty/LLVMClang/CMakeLists.txt @@ -13,9 +13,9 @@ # limitations under the License. set(PACKAGE_NAME LLVMClang) -set(PACKAGE_VERSION 18.1.8) +set(PACKAGE_VERSION 14.0.3) set(PACKAGE_REPOSITORY llvm-project) -set(RELEASE_TAG llvmorg-18.1.8) +set(RELEASE_TAG llvmorg-14.0.3d) set(INSTALL_DIR ${PREBUILT_DIR}/${PACKAGE_NAME}) # Either retrieve or build our package. @@ -23,28 +23,46 @@ set(INSTALL_DIR ${PREBUILT_DIR}/${PACKAGE_NAME}) if(LIBOPENCOR_PREBUILT_LLVMCLANG) if(WIN32) if(RELEASE_MODE) + if(INTEL_MODE) + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 4fbafa91e03650dc9510fed4e9767a5463ed1f6c) + else() + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + d08c329e031f2c8d5a91ade5a9c8b114c00cb8ab) + endif() + else() + if(INTEL_MODE) + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 82a5fe460af1a9880e168edfc07b9211d1243575) + else() + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 50b302f2df0e4ddd8342f5378430993b7d1ba537) + endif() + endif() + elseif(APPLE) + if(INTEL_MODE) retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 843e3caf60ed5dffab9bd55326da195b6b850553) + 7691ef42824eddbfe63996fe7130af464b947200) else() retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - bbdc5f37a97cdfb78748ee1f75d25f44ef24f707) + 476b2f1ad91bf75389fe2543db70236209abccdf) endif() - elseif(APPLE) + else() if(INTEL_MODE) retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 9478d8f5446e19ba9a496cb72d4bc1ff0c31d6f5) + d0ddcc07b4e7530d98db862c7fccd562f7436260) else() retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 519fee44fc83145bbbe7c027e5e78aa32a8bdbfa) + 25fe0235182221c14a897c0fe8e1d43041479ac8) endif() - else() - retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} - ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 5e8c850c5272cfb95b743a8c1141f71dcd15c7f9) endif() else() # Build our package. @@ -55,6 +73,14 @@ else() set(LLVM_TARGETS_TO_BUILD AArch64) endif() + if(LLVMCLANG_LLVM_TABLEGEN) + set(LLVM_TABLEGEN -DLLVM_TABLEGEN=${LLVMCLANG_LLVM_TABLEGEN}) + endif() + + if(LLVMCLANG_CLANG_TABLEGEN) + set(CLANG_TABLEGEN -DCLANG_TABLEGEN=${LLVMCLANG_CLANG_TABLEGEN}) + endif() + build_package(${PACKAGE_NAME} URL https://github.com/opencor/${PACKAGE_REPOSITORY}/archive/refs/tags/${RELEASE_TAG}.tar.gz @@ -68,6 +94,7 @@ else() -DCLANG_INCLUDE_DOCS=OFF -DCLANG_INCLUDE_TESTS=OFF -DCLANG_PLUGIN_SUPPORT=OFF + ${CLANG_TABLEGEN} -DCLANG_TOOLING_BUILD_AST_INTROSPECTION=OFF -DCLANG_TOOL_HANDLE_CXX_BUILD=OFF -DCLANG_TOOL_HANDLE_LLVM_BUILD=OFF @@ -106,6 +133,7 @@ else() -DLLVM_INCLUDE_TESTS=OFF -DLLVM_INCLUDE_TOOLS=ON -DLLVM_INCLUDE_UTILS=OFF + ${LLVM_TABLEGEN} -DLLVM_TARGETS_TO_BUILD=${LLVM_TARGETS_TO_BUILD} ) @@ -162,7 +190,6 @@ set(LLVMCLANG_INCLUDE_DIR ${INSTALL_DIR}/include CACHE INTERNAL "${PACKAGE_NAME} set(LLVMCLANG_LIBRARIES clangAnalysis clangAnalysisFlowSensitive - clangAnalysisFlowSensitiveModels clangAPINotes clangAST clangASTMatchers @@ -174,7 +201,6 @@ set(LLVMCLANG_LIBRARIES clangDriver clangDynamicASTMatchers clangEdit - clangExtractAPI clangFormat clangFrontend clangFrontendTool @@ -190,12 +216,11 @@ set(LLVMCLANG_LIBRARIES clangStaticAnalyzerCheckers clangStaticAnalyzerCore clangStaticAnalyzerFrontend - clangSupport + clangTesting clangTooling clangToolingASTDiff clangToolingCore clangToolingInclusions - clangToolingInclusionsStdlib clangToolingRefactoring clangToolingSyntax clangTransformer @@ -211,44 +236,33 @@ set(LLVMCLANG_LIBRARIES LLVMCFGuard LLVMCFIVerify LLVMCodeGen - LLVMCodeGenTypes LLVMCore LLVMCoroutines LLVMCoverage - LLVMDebugInfoBTF LLVMDebugInfoCodeView LLVMDebuginfod LLVMDebugInfoDWARF LLVMDebugInfoGSYM - LLVMDebugInfoLogicalView LLVMDebugInfoMSF LLVMDebugInfoPDB LLVMDemangle LLVMDiff LLVMDlltoolDriver LLVMDWARFLinker - LLVMDWARFLinkerClassic - LLVMDWARFLinkerParallel LLVMDWP LLVMExecutionEngine LLVMExegesis LLVMExtensions LLVMFileCheck - LLVMFrontendDriver - LLVMFrontendHLSL - LLVMFrontendOffloading LLVMFrontendOpenACC LLVMFrontendOpenMP - LLVMFuzzerCLI LLVMFuzzMutate LLVMGlobalISel - LLVMHipStdPar LLVMInstCombine LLVMInstrumentation LLVMInterfaceStub LLVMInterpreter LLVMipo - LLVMIRPrinter LLVMIRReader LLVMJITLink LLVMLibDriver @@ -262,11 +276,9 @@ set(LLVMCLANG_LIBRARIES LLVMMCParser LLVMMIRParser LLVMObjCARCOpts - LLVMObjCopy LLVMObject LLVMObjectYAML LLVMOption - LLVMOrcDebugging LLVMOrcJIT LLVMOrcShared LLVMOrcTargetProcess @@ -279,15 +291,11 @@ set(LLVMCLANG_LIBRARIES LLVMSupport LLVMSymbolize LLVMTableGen - LLVMTableGenCommon LLVMTableGenGlobalISel LLVMTarget - LLVMTargetParser LLVMTextAPI - LLVMTextAPIBinaryReader LLVMTransformUtils LLVMVectorize - LLVMWindowsDriver LLVMWindowsManifest LLVMXRay ${EXTRA_LLVMCLANG_LIBRARIES} diff --git a/src/3rdparty/LLVMClang/llvmbegin.h b/src/3rdparty/LLVMClang/llvmbegin.h index 65e860414..27fd8fe1b 100644 --- a/src/3rdparty/LLVMClang/llvmbegin.h +++ b/src/3rdparty/LLVMClang/llvmbegin.h @@ -16,7 +16,6 @@ limitations under the License. #if defined(BUILDING_USING_MSVC) # pragma warning(push) -# pragma warning(disable: 4003) # pragma warning(disable: 4100) # pragma warning(disable: 4127) # pragma warning(disable: 4146) @@ -26,7 +25,6 @@ limitations under the License. # pragma warning(disable: 4291) # pragma warning(disable: 4324) # pragma warning(disable: 4389) -# pragma warning(disable: 4456) # pragma warning(disable: 4458) # pragma warning(disable: 4459) # pragma warning(disable: 4624) @@ -71,7 +69,6 @@ limitations under the License. # pragma clang diagnostic ignored "-Wswitch-default" # pragma clang diagnostic ignored "-Wswitch-enum" # pragma clang diagnostic ignored "-Wtautological-type-limit-compare" -# pragma clang diagnostic ignored "-Wtautological-unsigned-zero-compare" # pragma clang diagnostic ignored "-Wundefined-func-template" # pragma clang diagnostic ignored "-Wunused-but-set-variable" # pragma clang diagnostic ignored "-Wunused-parameter" diff --git a/src/3rdparty/LLVMClang/scripts/buildllvmclangtblgen b/src/3rdparty/LLVMClang/scripts/buildllvmclangtblgen new file mode 100755 index 000000000..b991615d1 --- /dev/null +++ b/src/3rdparty/LLVMClang/scripts/buildllvmclangtblgen @@ -0,0 +1,19 @@ +#!/bin/sh + +LLVMCLANG_VERSION=14.0.3d + +curl -Ls https://github.com/opencor/llvm-project/archive/refs/tags/llvmorg-$LLVMCLANG_VERSION.zip -o llvm-project-llvmorg-$LLVMCLANG_VERSION.zip +unzip -qq llvm-project-llvmorg-$LLVMCLANG_VERSION.zip +\rm llvm-project-llvmorg-$LLVMCLANG_VERSION.zip + +cd llvm-project-llvmorg-$LLVMCLANG_VERSION + +cmake -G Ninja -S ./llvm -B build -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_PROJECTS=clang +cmake --build build -t llvm-tblgen clang-tblgen + +if [ "$1" = "true" ]; then + EXTENSION=.exe +fi + +export DLLVMCLANG_LLVM_TABLEGEN=-DLLVMCLANG_LLVM_TABLEGEN=$PWD/build/bin/llvm-tblgen$EXTENSION +export DLLVMCLANG_CLANG_TABLEGEN=-DLLVMCLANG_CLANG_TABLEGEN=$PWD/build/bin/clang-tblgen$EXTENSION diff --git a/src/3rdparty/OpenSSL/CMakeLists.txt b/src/3rdparty/OpenSSL/CMakeLists.txt index d3c9533a4..e04f420e4 100644 --- a/src/3rdparty/OpenSSL/CMakeLists.txt +++ b/src/3rdparty/OpenSSL/CMakeLists.txt @@ -23,13 +23,25 @@ set(INSTALL_DIR ${PREBUILT_DIR}/${PACKAGE_NAME}) if(LIBOPENCOR_PREBUILT_OPENSSL) if(WIN32) if(RELEASE_MODE) - retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} - ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 117fc350696f830cb82aafb95a47588f6434c177) + if(INTEL_MODE) + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 117fc350696f830cb82aafb95a47588f6434c177) + else() + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 63abbd1d6540351d26af557a4a0bded041ca221b) + endif() else() - retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} - ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 7293afb0786724e349cbc14d81b36b3bc15201e5) + if(INTEL_MODE) + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 7293afb0786724e349cbc14d81b36b3bc15201e5) + else() + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + e801d457e4e1eba429e3f13f624a08cd03cd1f1c) + endif() endif() elseif(APPLE) if(INTEL_MODE) @@ -42,9 +54,15 @@ if(LIBOPENCOR_PREBUILT_OPENSSL) 22f22109d28cea6ea55681e48bdfd040cc1352db) endif() else() - retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} - ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 85dc755b012accd22114b42ddaabb22ea246dd2a) + if(INTEL_MODE) + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 85dc755b012accd22114b42ddaabb22ea246dd2a) + else() + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 0411e8ce55a452ea6b72f031f4b07b9dba6b98df) + endif() endif() else() # Build our package. @@ -57,9 +75,17 @@ else() list(APPEND CONFIG_OPTIONS no-asm) if(RELEASE_MODE) - set(PLATFORM VC-WIN64A) + if(INTEL_MODE) + set(PLATFORM VC-WIN64A) + else() + set(PLATFORM VC-WIN64-ARM) + endif() else() - set(PLATFORM debug-VC-WIN64A) + if(INTEL_MODE) + set(PLATFORM debug-VC-WIN64A) + else() + set(PLATFORM debug-VC-WIN64-ARM) + endif() endif() # Patch the generated makefile since it contains non-escaped paths that result in our build to fail. (Not sure @@ -82,7 +108,11 @@ else() list(APPEND CONFIG_OPTIONS "-mmacosx-version-min=${CMAKE_OSX_DEPLOYMENT_TARGET}") else() - set(PLATFORM linux-x86_64) + if(INTEL_MODE) + set(PLATFORM linux-x86_64) + else() + set(PLATFORM linux-aarch64) + endif() list(APPEND CONFIG_OPTIONS "-Wa,--noexecstack") endif() diff --git a/src/3rdparty/SUNDIALS/CMakeLists.txt b/src/3rdparty/SUNDIALS/CMakeLists.txt index fb678f1ed..830ff754b 100644 --- a/src/3rdparty/SUNDIALS/CMakeLists.txt +++ b/src/3rdparty/SUNDIALS/CMakeLists.txt @@ -28,13 +28,25 @@ if(LIBOPENCOR_PREBUILT_SUNDIALS) else() if(WIN32) if(RELEASE_MODE) - retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} - ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 519fd7c2133ed7efb666193028b50ac4f788f416) + if(INTEL_MODE) + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 519fd7c2133ed7efb666193028b50ac4f788f416) + else() + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 59647bc79af40a528802941f6dce584fd1cbe50e) + endif() else() - retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} - ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 1bcd8ca9cea9b0d03f35b66058b53e1f06791d03) + if(INTEL_MODE) + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 1bcd8ca9cea9b0d03f35b66058b53e1f06791d03) + else() + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + d9367c7fa4f33d8e2f9b1b1654a1766d26abaa60) + endif() endif() elseif(APPLE) if(INTEL_MODE) @@ -47,9 +59,15 @@ if(LIBOPENCOR_PREBUILT_SUNDIALS) c54fd6934c2a72f99ba21dcb88e4d07f9b3e4d00) endif() else() - retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} - ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 3af6ee478c72261af012eb400fc1bd0e114c1727) + if(INTEL_MODE) + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 3af6ee478c72261af012eb400fc1bd0e114c1727) + else() + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + bcaaad18087d6e4a002b3eda5f5c49eca7e255cc) + endif() endif() endif() else() @@ -86,9 +104,9 @@ set(SUNDIALS_CMAKE_PACKAGE_NAME ${PACKAGE_NAME} CACHE INTERNAL "${PACKAGE_NAME}' set(SUNDIALS_INCLUDE_DIR ${INSTALL_DIR}/include CACHE INTERNAL "${PACKAGE_NAME}'s include directory.") set(SUNDIALS_LIBRARIES SUNDIALS::arkode_static - SUNDIALS::core_static SUNDIALS::cvode_static SUNDIALS::cvodes_static + SUNDIALS::generic_static SUNDIALS::ida_static SUNDIALS::idas_static SUNDIALS::kinsol_static diff --git a/src/3rdparty/libCOMBINE/CMakeLists.txt b/src/3rdparty/libCOMBINE/CMakeLists.txt index 2b7a0e992..653dea1fe 100644 --- a/src/3rdparty/libCOMBINE/CMakeLists.txt +++ b/src/3rdparty/libCOMBINE/CMakeLists.txt @@ -32,13 +32,25 @@ if(LIBOPENCOR_PREBUILT_LIBCOMBINE) else() if(WIN32) if(RELEASE_MODE) - retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} - ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - c4d636fa1427eb6bb702e1e94a1b7149efd2ffb8) + if(INTEL_MODE) + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + c4d636fa1427eb6bb702e1e94a1b7149efd2ffb8) + else() + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 75f4c3c895dddce5b0523a5f8392bf2efdff7f67) + endif() else() - retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} - ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 6940a27fc80f5171072d7d3a0824e641811bc6b8) + if(INTEL_MODE) + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 6940a27fc80f5171072d7d3a0824e641811bc6b8) + else() + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 41303bd3c6333aebfdf91571002520e6690cde77) + endif() endif() elseif(APPLE) if(INTEL_MODE) @@ -51,9 +63,15 @@ if(LIBOPENCOR_PREBUILT_LIBCOMBINE) 1eb9641b388e060e99cf52da93f83f5e17a4d78e) endif() else() - retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} - ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 2e0a1cd907d3fad09c20b8378e230ac10ba4a913) + if(INTEL_MODE) + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 2e0a1cd907d3fad09c20b8378e230ac10ba4a913) + else() + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 9bce82e9a99759bbc27ebf265c54f50033d51af8) + endif() endif() endif() else() diff --git a/src/3rdparty/libCellML/CMakeLists.txt b/src/3rdparty/libCellML/CMakeLists.txt index 3b48ca62d..bc37102c5 100644 --- a/src/3rdparty/libCellML/CMakeLists.txt +++ b/src/3rdparty/libCellML/CMakeLists.txt @@ -38,13 +38,25 @@ if(LIBOPENCOR_PREBUILT_LIBCELLML) else() if(WIN32) if(RELEASE_MODE) - retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} - ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 0299c00e0e61cd8f4332e094bda6d51b6a648016) + if(INTEL_MODE) + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 0299c00e0e61cd8f4332e094bda6d51b6a648016) + else() + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 926f60f6861a3a29fb69e91ed830e7aa79125346) + endif() else() - retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} - ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - f9e2e8d8c5e9b6352348c66922b5933cb5ad1b4c) + if(INTEL_MODE) + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + f9e2e8d8c5e9b6352348c66922b5933cb5ad1b4c) + else() + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + cddaf4c78f18d9e8a47c794a2f0fa13cddc9f222) + endif() endif() elseif(APPLE) if(INTEL_MODE) @@ -57,9 +69,15 @@ if(LIBOPENCOR_PREBUILT_LIBCELLML) 92394488b09c6589dcb302eca01a8ad5ee9ca715) endif() else() - retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} - ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - f46b5bb3600f4fed08d8667457d5c0c04be2b7cc) + if(INTEL_MODE) + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + f46b5bb3600f4fed08d8667457d5c0c04be2b7cc) + else() + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + ffe67306d9096f232e5cb6c83243c57f53915b61) + endif() endif() endif() else() diff --git a/src/3rdparty/libNuML/CMakeLists.txt b/src/3rdparty/libNuML/CMakeLists.txt index d94d78f6f..a7211fd54 100644 --- a/src/3rdparty/libNuML/CMakeLists.txt +++ b/src/3rdparty/libNuML/CMakeLists.txt @@ -32,13 +32,25 @@ if(LIBOPENCOR_PREBUILT_LIBNUML) else() if(WIN32) if(RELEASE_MODE) - retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} - ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - c535ddf4307681b441ef9e6fcd896f3d945d91c9) + if(INTEL_MODE) + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + c535ddf4307681b441ef9e6fcd896f3d945d91c9) + else() + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + e2c1e4b73bfb6a67c0a84a9295e7bbbe9ef05e77) + endif() else() - retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} - ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 9882c9681bbf5f2ce0d93e34594db5f98b47e0db) + if(INTEL_MODE) + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 9882c9681bbf5f2ce0d93e34594db5f98b47e0db) + else() + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + eee56d12b1dcd31a8ba77da05263aac7aa9bf661) + endif() endif() elseif(APPLE) if(INTEL_MODE) @@ -51,9 +63,15 @@ if(LIBOPENCOR_PREBUILT_LIBNUML) 5dcda318dcc3bf8e71e81230c883927a26c841ad) endif() else() - retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} - ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 5b4d707ed7f59a92f4b18c6db7c2cd2bedf9ab5f) + if(INTEL_MODE) + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 5b4d707ed7f59a92f4b18c6db7c2cd2bedf9ab5f) + else() + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 4acdd314a5c90a1208fd725901b36918dea1add9) + endif() endif() endif() else() diff --git a/src/3rdparty/libSBML/CMakeLists.txt b/src/3rdparty/libSBML/CMakeLists.txt index e5278d655..aaa36c85e 100644 --- a/src/3rdparty/libSBML/CMakeLists.txt +++ b/src/3rdparty/libSBML/CMakeLists.txt @@ -32,13 +32,25 @@ if(LIBOPENCOR_PREBUILT_LIBSBML) else() if(WIN32) if(RELEASE_MODE) - retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} - ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 5a39f945e476794599d74071c285f5cd207b5f88) + if(INTEL_MODE) + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 5a39f945e476794599d74071c285f5cd207b5f88) + else() + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 0851ffd1b2e78228fd8faaf997c1923398f2f19f) + endif() else() - retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} - ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - d836d464e3ce7993c167e9181ca5f0421a6a10c6) + if(INTEL_MODE) + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + d836d464e3ce7993c167e9181ca5f0421a6a10c6) + else() + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 7a05f3cd6684b7152f9863d9f6a13913af42793d) + endif() endif() elseif(APPLE) if(INTEL_MODE) @@ -51,9 +63,15 @@ if(LIBOPENCOR_PREBUILT_LIBSBML) c6502328d20c918d5b5388a9fea8d1d7d26b75ab) endif() else() - retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} - ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 074660baeb6430b4da8b058592937c8fc9a7351f) + if(INTEL_MODE) + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 074660baeb6430b4da8b058592937c8fc9a7351f) + else() + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + f70f0b25a9f13fc1fbe398bf89cbfd03c31633b2) + endif() endif() endif() else() diff --git a/src/3rdparty/libSEDML/CMakeLists.txt b/src/3rdparty/libSEDML/CMakeLists.txt index e86280fbb..270d83835 100644 --- a/src/3rdparty/libSEDML/CMakeLists.txt +++ b/src/3rdparty/libSEDML/CMakeLists.txt @@ -32,13 +32,25 @@ if(LIBOPENCOR_PREBUILT_LIBSEDML) else() if(WIN32) if(RELEASE_MODE) - retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} - ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 8d6be566b8c87b4b7cd83d8a3b67a32f45cd483e) + if(INTEL_MODE) + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 8d6be566b8c87b4b7cd83d8a3b67a32f45cd483e) + else() + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + f501a31c487f82b243149528a8128238d639cb4f) + endif() else() - retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} - ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 199ede7b71d10a046aa00d62d201a1dea2bd4ca5) + if(INTEL_MODE) + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 199ede7b71d10a046aa00d62d201a1dea2bd4ca5) + else() + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 7aec25c64059f11f34f4271c9f376cfb3cb89050) + endif() endif() elseif(APPLE) if(INTEL_MODE) @@ -51,9 +63,15 @@ if(LIBOPENCOR_PREBUILT_LIBSEDML) 3da908437161d75bcd8e0cfdf010fb60aadaaa6b) endif() else() - retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} - ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - ab77f3b89a85e7544c4c3f785ec0cb046c05678a) + if(INTEL_MODE) + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + ab77f3b89a85e7544c4c3f785ec0cb046c05678a) + else() + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 14e3294cc84585c5c33f4494481d90555b23b3b7) + endif() endif() endif() else() diff --git a/src/3rdparty/libcurl/CMakeLists.txt b/src/3rdparty/libcurl/CMakeLists.txt index 552f94605..161693953 100644 --- a/src/3rdparty/libcurl/CMakeLists.txt +++ b/src/3rdparty/libcurl/CMakeLists.txt @@ -27,13 +27,25 @@ endif() if(LIBOPENCOR_PREBUILT_LIBCURL) if(WIN32) if(RELEASE_MODE) - retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} - ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - d05d02ef482730c3a3d8886026aa2214d96f2e24) + if(INTEL_MODE) + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + d05d02ef482730c3a3d8886026aa2214d96f2e24) + else() + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 110614df0c1c9f8c627b22a19bcb2a9ed52e86d7) + endif() else() - retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} - ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - db94afcfbfa6c99ad50caea67383e1d4c531406b) + if(INTEL_MODE) + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + db94afcfbfa6c99ad50caea67383e1d4c531406b) + else() + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 158887aa551e1439e224a0a9763fd72f15756361) + endif() endif() elseif(APPLE) if(INTEL_MODE) @@ -46,9 +58,15 @@ if(LIBOPENCOR_PREBUILT_LIBCURL) ec4cec188b6df415fa3e0367295b6792d4f42e90) endif() else() - retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} - ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - f8d6d68a90c37f383a7f5e6730b1d7ea54452ccd) + if(INTEL_MODE) + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + f8d6d68a90c37f383a7f5e6730b1d7ea54452ccd) + else() + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 1d41aebf3040f0ae86845f4cac26b8f05e35abc1) + endif() endif() else() # Build our package. diff --git a/src/3rdparty/libssh2/CMakeLists.txt b/src/3rdparty/libssh2/CMakeLists.txt index 5519b5689..3ba348578 100644 --- a/src/3rdparty/libssh2/CMakeLists.txt +++ b/src/3rdparty/libssh2/CMakeLists.txt @@ -23,13 +23,25 @@ set(INSTALL_DIR ${PREBUILT_DIR}/${PACKAGE_NAME}) if(LIBOPENCOR_PREBUILT_LIBSSH2) if(WIN32) if(RELEASE_MODE) - retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} - ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - b034aef740d10333d428ef3738cf9dcbf1319cdc) + if(INTEL_MODE) + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + b034aef740d10333d428ef3738cf9dcbf1319cdc) + else() + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + d074e0a4ac949c7cfc4d74c56e7040fe25ee6332) + endif() else() - retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} - ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - fdb70ba76cc62673f8f80382b5c1504e5085fc7b) + if(INTEL_MODE) + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + fdb70ba76cc62673f8f80382b5c1504e5085fc7b) + else() + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 6532912f33cf074616d3d9e18888643061449fab) + endif() endif() elseif(APPLE) if(INTEL_MODE) @@ -42,9 +54,15 @@ if(LIBOPENCOR_PREBUILT_LIBSSH2) 91e84958df28389afeaf46f6432f44663bb147f1) endif() else() - retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} - ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 8c5b3930100cb97ec118dc645fb1273f51140145) + if(INTEL_MODE) + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 8c5b3930100cb97ec118dc645fb1273f51140145) + else() + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 19e3ffa73e95969fa13beb7f8a37fecf4d595b6b) + endif() endif() else() # Build our package. diff --git a/src/3rdparty/libxml2/CMakeLists.txt b/src/3rdparty/libxml2/CMakeLists.txt index 7346aa072..9e01c852f 100644 --- a/src/3rdparty/libxml2/CMakeLists.txt +++ b/src/3rdparty/libxml2/CMakeLists.txt @@ -28,13 +28,25 @@ if(LIBOPENCOR_PREBUILT_LIBXML2) else() if(WIN32) if(RELEASE_MODE) - retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} - ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 80441434833bfe74d0b105ffb0e90e3d548e93dd) + if(INTEL_MODE) + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 80441434833bfe74d0b105ffb0e90e3d548e93dd) + else() + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 3f25822e6063a0eed1bf1229f1bccab5e6b1bf3f) + endif() else() - retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} - ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - bd4a6823a96ccbb982b5442e8b2dcdfaad4f1d43) + if(INTEL_MODE) + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + bd4a6823a96ccbb982b5442e8b2dcdfaad4f1d43) + else() + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 907f061cf35afba3133daa47336d7b65292cfcaf) + endif() endif() elseif(APPLE) if(INTEL_MODE) @@ -47,9 +59,15 @@ if(LIBOPENCOR_PREBUILT_LIBXML2) 54871ea6e95629c81eb9a041281c3ab86e79d914) endif() else() - retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} - ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - b17c6aca3f0563ccf0abffb6e1bb645c2fbf9729) + if(INTEL_MODE) + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + b17c6aca3f0563ccf0abffb6e1bb645c2fbf9729) + else() + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 45f31d7ddad7784978fec9753506cb504d81d4c5) + endif() endif() endif() else() diff --git a/src/3rdparty/zipper/CMakeLists.txt b/src/3rdparty/zipper/CMakeLists.txt index d049abf7f..2d6f3825d 100644 --- a/src/3rdparty/zipper/CMakeLists.txt +++ b/src/3rdparty/zipper/CMakeLists.txt @@ -28,13 +28,25 @@ if(LIBOPENCOR_PREBUILT_ZIPPER) else() if(WIN32) if(RELEASE_MODE) - retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} - ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 1b29a495deef311a3029c9a84ed70624b566c3c4) + if(INTEL_MODE) + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 1b29a495deef311a3029c9a84ed70624b566c3c4) + else() + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + a1e5c3f2955982439262ec8c65635485383f7855) + endif() else() - retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} - ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 0e25d62e63310b4a94ccf70fad7d5a237fc78c72) + if(INTEL_MODE) + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 0e25d62e63310b4a94ccf70fad7d5a237fc78c72) + else() + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 813df4f923912d0245304ae56f3ffecb7167fcd3) + endif() endif() elseif(APPLE) if(INTEL_MODE) @@ -47,9 +59,15 @@ if(LIBOPENCOR_PREBUILT_ZIPPER) 6cdbc63773163e668d7f14b2d67a6a09819e4203) endif() else() - retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} - ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 5faa7c54d6b0b5709957e3079c6bd0beb7d86167) + if(INTEL_MODE) + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 5faa7c54d6b0b5709957e3079c6bd0beb7d86167) + else() + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 9e5e0c2b547c9ecf4bce20afea9a0f45cf2e8ae6) + endif() endif() endif() else() diff --git a/src/3rdparty/zlib/CMakeLists.txt b/src/3rdparty/zlib/CMakeLists.txt index 9387ee291..5f3e0ca59 100644 --- a/src/3rdparty/zlib/CMakeLists.txt +++ b/src/3rdparty/zlib/CMakeLists.txt @@ -28,13 +28,25 @@ if(LIBOPENCOR_PREBUILT_ZLIB) else() if(WIN32) if(RELEASE_MODE) - retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} - ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - c0452a635bd0206648219341ffb90b76441b8472) + if(INTEL_MODE) + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + c0452a635bd0206648219341ffb90b76441b8472) + else() + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 922e6e43c90d457c9d5a73ff03d4e63abe3936e3) + endif() else() - retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} - ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 3fac0e6cec7df429e0f41a79786f9bc699a4921e) + if(INTEL_MODE) + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 3fac0e6cec7df429e0f41a79786f9bc699a4921e) + else() + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 3c6afd53f25338b4d8491cda6ef720f381950ba3) + endif() endif() elseif(APPLE) if(INTEL_MODE) @@ -47,9 +59,15 @@ if(LIBOPENCOR_PREBUILT_ZLIB) 14656bd60de8b946ff42ad5cca4f42f82a74da0e) endif() else() - retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} - ${PACKAGE_REPOSITORY} ${RELEASE_TAG} - 6d4be8632edaaa840cf0e36d1b0e382afb2b2c57) + if(INTEL_MODE) + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 6d4be8632edaaa840cf0e36d1b0e382afb2b2c57) + else() + retrieve_package(${PACKAGE_NAME} ${PACKAGE_VERSION} + ${PACKAGE_REPOSITORY} ${RELEASE_TAG} + 1d1079c4494e8ca56babf376d087b70dda99e87c) + endif() endif() endif() else() From ce93beb0b5d6c8861fc6fbced95fdb14c340fa99 Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Sat, 11 Jan 2025 21:26:33 +1300 Subject: [PATCH 03/14] CI: temporarily disable it. --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8342fec92..e08498ccd 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,8 +1,8 @@ name: CI on: - pull_request: - branches: [ main ] + # pull_request: + # branches: [ main ] workflow_dispatch: jobs: From 8e8f7a193ea6499f88086a9df5b36fbc82b50948 Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Sun, 12 Jan 2025 15:52:42 +1300 Subject: [PATCH 04/14] Build LLVM+Clang 14.0.3. --- .github/workflows/LLVMClang.yml | 2 ++ src/3rdparty/CMakeLists.txt | 38 ++++++++++++++++----------------- 2 files changed, 21 insertions(+), 19 deletions(-) diff --git a/.github/workflows/LLVMClang.yml b/.github/workflows/LLVMClang.yml index c94350ec1..011129b40 100644 --- a/.github/workflows/LLVMClang.yml +++ b/.github/workflows/LLVMClang.yml @@ -1,6 +1,8 @@ name: LLVM+Clang on: + pull_request: + branches: [ main ] workflow_dispatch: jobs: diff --git a/src/3rdparty/CMakeLists.txt b/src/3rdparty/CMakeLists.txt index 1d23d0607..dad7e784e 100644 --- a/src/3rdparty/CMakeLists.txt +++ b/src/3rdparty/CMakeLists.txt @@ -104,36 +104,36 @@ set(PACKAGES_TO_ADD ${REQUIRED_PACKAGES_TO_ADD} ${PACKAGES_TO_BUILD} ${DEPENDENT list(REMOVE_DUPLICATES PACKAGES_TO_ADD) list(SORT PACKAGES_TO_ADD) -add_package(libxml2) +# add_package(libxml2) -if(NOT EMSCRIPTEN) - add_package(OpenSSL) -endif() +# if(NOT EMSCRIPTEN) +# add_package(OpenSSL) +# endif() -add_package(zlib) +# add_package(zlib) -add_package(libSBML) # Requires libxml2. -add_package(libNuML) # Requires libSBML. +# add_package(libSBML) # Requires libxml2. +# add_package(libNuML) # Requires libSBML. -if(NOT EMSCRIPTEN) - add_package(libssh2) # Requires OpenSSL. -endif() +# if(NOT EMSCRIPTEN) +# add_package(libssh2) # Requires OpenSSL. +# endif() -add_package(zipper) # Requires zlib. +# add_package(zipper) # Requires zlib. -# Required third-party libraries. +# # Required third-party libraries. -add_package(libCellML) # Requires libxml2 and zlib. -add_package(libCOMBINE) # Requires libSBML, libxml2, zipper, and zlib. +# add_package(libCellML) # Requires libxml2 and zlib. +# add_package(libCOMBINE) # Requires libSBML, libxml2, zipper, and zlib. -if(NOT EMSCRIPTEN) - add_package(libcurl) # Requires libssh2, OpenSSL, and zlib. -endif() +# if(NOT EMSCRIPTEN) +# add_package(libcurl) # Requires libssh2, OpenSSL, and zlib. +# endif() -add_package(libSEDML) # Requires libNuML and libSBML. +# add_package(libSEDML) # Requires libNuML and libSBML. if(NOT EMSCRIPTEN) add_package(LLVMClang) endif() -add_package(SUNDIALS) +# add_package(SUNDIALS) From 5bd6c7663a228a289f95307168658d1e7ab067ec Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Sun, 12 Jan 2025 17:56:19 +1300 Subject: [PATCH 05/14] GHA: build our third-party libraries on ubuntu-latest. We were building them on ubuntu-20.04 because of glibc not including libpthread anymore (see https://developers.redhat.com/articles/2021/12/17/why-glibc-234-removed-libpthread) and that seems to be an issue when building our Python wheels. However, it looks like we could go around this problem by building libCellML (rather than using its prebuilt version) whenever we want to build our Python wheels (see https://github.com/opencor/libopencor/commit/b3f10c47a4d6ac0f7a28dd9fdee3d36101743596#diff-1e7de1ae2d059d21e1dd75d5812d5a34b0222cef273b7c3a2af62eb747f9d20aR28). --- .github/workflows/buildThirdPartyLibrary.yml | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/.github/workflows/buildThirdPartyLibrary.yml b/.github/workflows/buildThirdPartyLibrary.yml index 4da9cd70f..a4ca4d9ad 100644 --- a/.github/workflows/buildThirdPartyLibrary.yml +++ b/.github/workflows/buildThirdPartyLibrary.yml @@ -36,17 +36,10 @@ jobs: arch: amd64_arm64 build_type: Debug - name: 'Linux (Intel)' - os: ubuntu-20.04 - # Note: we must use ubuntu-20.04 rather than ubuntu-latest. Indeed, starting with Ubuntu 22.04, glibc - # doesn't include libpthread anymore (see https://developers.redhat.com/articles/2021/12/17/why-glibc-234-removed-libpthread). - # Yet, to build our Python wheels on Linux, we have no choice but to use manylinux_2_28, which relies - # on a version of glibc with libpthread, hence getting various messages about __libc_single_threaded - # being undefined when trying to build our Python wheels using third-party libraries built on Ubuntu - # 22.04+. + os: ubuntu-latest build_type: Release - name: 'Linux (ARM)' - os: ubuntu-20.04 - # Note: see the note above. + os: ubuntu-latest arch: arm cmake_prereqs: CC=aarch64-linux-gnu-gcc CXX=aarch64-linux-gnu-g++ build_type: Release From cf6156dbf0da6799b1fb9cc565ea3363d8391771 Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Sun, 12 Jan 2025 23:02:57 +1300 Subject: [PATCH 06/14] Build LLVM+Clang 18.1.8. --- src/3rdparty/LLVMClang/CMakeLists.txt | 4 ++-- src/3rdparty/LLVMClang/scripts/buildllvmclangtblgen | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/3rdparty/LLVMClang/CMakeLists.txt b/src/3rdparty/LLVMClang/CMakeLists.txt index 07cdd4be1..d6ef913b2 100644 --- a/src/3rdparty/LLVMClang/CMakeLists.txt +++ b/src/3rdparty/LLVMClang/CMakeLists.txt @@ -13,9 +13,9 @@ # limitations under the License. set(PACKAGE_NAME LLVMClang) -set(PACKAGE_VERSION 14.0.3) +set(PACKAGE_VERSION 18.1.8) set(PACKAGE_REPOSITORY llvm-project) -set(RELEASE_TAG llvmorg-14.0.3d) +set(RELEASE_TAG llvmorg-18.1.8-libopencor) set(INSTALL_DIR ${PREBUILT_DIR}/${PACKAGE_NAME}) # Either retrieve or build our package. diff --git a/src/3rdparty/LLVMClang/scripts/buildllvmclangtblgen b/src/3rdparty/LLVMClang/scripts/buildllvmclangtblgen index b991615d1..f62dfed78 100755 --- a/src/3rdparty/LLVMClang/scripts/buildllvmclangtblgen +++ b/src/3rdparty/LLVMClang/scripts/buildllvmclangtblgen @@ -1,6 +1,6 @@ #!/bin/sh -LLVMCLANG_VERSION=14.0.3d +LLVMCLANG_VERSION=18.1.8-libopencor curl -Ls https://github.com/opencor/llvm-project/archive/refs/tags/llvmorg-$LLVMCLANG_VERSION.zip -o llvm-project-llvmorg-$LLVMCLANG_VERSION.zip unzip -qq llvm-project-llvmorg-$LLVMCLANG_VERSION.zip From 2a63d8f90f6f0326c53959256b6c8d7a1d205cd7 Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Sun, 12 Jan 2025 23:37:26 +1300 Subject: [PATCH 07/14] LLVM+Clang: added a README.rst file. --- src/3rdparty/LLVMClang/README.rst | 1 + 1 file changed, 1 insertion(+) create mode 100644 src/3rdparty/LLVMClang/README.rst diff --git a/src/3rdparty/LLVMClang/README.rst b/src/3rdparty/LLVMClang/README.rst new file mode 100644 index 000000000..864e0ed3f --- /dev/null +++ b/src/3rdparty/LLVMClang/README.rst @@ -0,0 +1 @@ +Our copy of LLVM+Clang 18.1.8 requires the changes mentioned at https://github.com/opencor/llvm-project/compare/llvmorg-18.1.8...opencor:llvm-project:llvmorg-18.1.8-libopencor to build and work correctly with libOpenCOR. From 61a51fb67db133c3fca8be89c6cc176952857b7f Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Mon, 13 Jan 2025 14:54:23 +1300 Subject: [PATCH 08/14] LLVM+Clang: updated our CMake arguments. Removed some that are not necessary anymore (e.g., `LLVM_INCLUDE_GO_TESTS`) or are computed using LLVM-related arguments (e.g., `CLANG_INCLUDE_DOCS` and `CLANG_INCLUDE_TESTS`). --- src/3rdparty/LLVMClang/CMakeLists.txt | 77 ++++++++++++++------------- 1 file changed, 41 insertions(+), 36 deletions(-) diff --git a/src/3rdparty/LLVMClang/CMakeLists.txt b/src/3rdparty/LLVMClang/CMakeLists.txt index d6ef913b2..a27956557 100644 --- a/src/3rdparty/LLVMClang/CMakeLists.txt +++ b/src/3rdparty/LLVMClang/CMakeLists.txt @@ -20,6 +20,12 @@ set(INSTALL_DIR ${PREBUILT_DIR}/${PACKAGE_NAME}) # Either retrieve or build our package. +if(INTEL_MODE) + set(LLVM_TARGETS_TO_BUILD X86) +else() + set(LLVM_TARGETS_TO_BUILD AArch64) +endif() + if(LIBOPENCOR_PREBUILT_LLVMCLANG) if(WIN32) if(RELEASE_MODE) @@ -67,12 +73,6 @@ if(LIBOPENCOR_PREBUILT_LLVMCLANG) else() # Build our package. - if(INTEL_MODE) - set(LLVM_TARGETS_TO_BUILD X86) - else() - set(LLVM_TARGETS_TO_BUILD AArch64) - endif() - if(LLVMCLANG_LLVM_TABLEGEN) set(LLVM_TABLEGEN -DLLVM_TABLEGEN=${LLVMCLANG_LLVM_TABLEGEN}) endif() @@ -91,17 +91,18 @@ else() -DCLANG_BUILD_TOOLS=OFF -DCLANG_ENABLE_ARCMT=OFF -DCLANG_ENABLE_STATIC_ANALYZER=OFF - -DCLANG_INCLUDE_DOCS=OFF - -DCLANG_INCLUDE_TESTS=OFF + -DCLANG_FORCE_MATCHING_LIBCLANG_SOVERSION=OFF -DCLANG_PLUGIN_SUPPORT=OFF ${CLANG_TABLEGEN} -DCLANG_TOOLING_BUILD_AST_INTROSPECTION=OFF + -DCLANG_TOOL_DICTIONARY_BUILD=OFF -DCLANG_TOOL_HANDLE_CXX_BUILD=OFF -DCLANG_TOOL_HANDLE_LLVM_BUILD=OFF ${CMAKE_ARGS} -DCMAKE_INSTALL_PREFIX=${INSTALL_DIR} -DLIBCLANG_BUILD_STATIC=ON -DLIBOPENCOR=ON + -DLLVM_BUILD_LLVM_C_DYLIB=OFF -DLLVM_BUILD_RUNTIME=OFF -DLLVM_BUILD_RUNTIMES=OFF -DLLVM_BUILD_TOOLS=OFF @@ -109,26 +110,25 @@ else() -DLLVM_ENABLE_ASSERTIONS=OFF -DLLVM_ENABLE_BACKTRACES=OFF -DLLVM_ENABLE_BINDINGS=OFF + -DLLVM_ENABLE_WARNINGS=OFF -DLLVM_ENABLE_CRASH_OVERRIDES=OFF -DLLVM_ENABLE_DIA_SDK=OFF -DLLVM_ENABLE_LIBEDIT=OFF -DLLVM_ENABLE_LIBPFM=OFF -DLLVM_ENABLE_LIBXML2=OFF + -DLLVM_ENABLE_LOCAL_SUBMODULE_VISIBILITY=OFF -DLLVM_ENABLE_MODULE_DEBUGGING=OFF -DLLVM_ENABLE_OCAMLDOC=OFF -DLLVM_ENABLE_PEDANTIC=OFF - -DLLVM_ENABLE_PIC=ON -DLLVM_ENABLE_PLUGINS=OFF -DLLVM_ENABLE_PROJECTS=clang - -DLLVM_ENABLE_RTTI=ON -DLLVM_ENABLE_TERMINFO=OFF - -DLLVM_ENABLE_WARNINGS=OFF + -DLLVM_ENABLE_UNWIND_TABLES=OFF -DLLVM_ENABLE_ZLIB=OFF -DLLVM_ENABLE_ZSTD=OFF -DLLVM_INCLUDE_BENCHMARKS=OFF -DLLVM_INCLUDE_DOCS=OFF -DLLVM_INCLUDE_EXAMPLES=OFF - -DLLVM_INCLUDE_GO_TESTS=OFF -DLLVM_INCLUDE_RUNTIMES=OFF -DLLVM_INCLUDE_TESTS=OFF -DLLVM_INCLUDE_TOOLS=ON @@ -159,28 +159,6 @@ else() set(LIBCLANG libclang) endif() -if(INTEL_MODE) - set(EXTRA_LLVMCLANG_LIBRARIES - LLVMExegesisX86 - LLVMX86AsmParser - LLVMX86CodeGen - LLVMX86Desc - LLVMX86Disassembler - LLVMX86Info - LLVMX86TargetMCA - ) -else() - set(EXTRA_LLVMCLANG_LIBRARIES - LLVMAArch64AsmParser - LLVMAArch64CodeGen - LLVMAArch64Desc - LLVMAArch64Disassembler - LLVMAArch64Info - LLVMAArch64Utils - LLVMExegesisAArch64 - ) -endif() - set(LLVMCLANG_ROOT ${INSTALL_DIR} CACHE INTERNAL "${PACKAGE_NAME}'s root directory.") set(LLVMCLANG_CMAKE_DIR ${INSTALL_DIR}/lib/cmake/clang CACHE INTERNAL "${PACKAGE_NAME}'s CMake directory.") set(LLVMCLANG_CMAKE_DIRS ${INSTALL_DIR}/lib/cmake/llvm ${INSTALL_DIR}/lib/cmake/clang CACHE INTERNAL "${PACKAGE_NAME}'s CMake directories.") @@ -190,6 +168,7 @@ set(LLVMCLANG_INCLUDE_DIR ${INSTALL_DIR}/include CACHE INTERNAL "${PACKAGE_NAME} set(LLVMCLANG_LIBRARIES clangAnalysis clangAnalysisFlowSensitive + clangAnalysisFlowSensitiveModels clangAPINotes clangAST clangASTMatchers @@ -201,6 +180,7 @@ set(LLVMCLANG_LIBRARIES clangDriver clangDynamicASTMatchers clangEdit + clangExtractAPI clangFormat clangFrontend clangFrontendTool @@ -216,15 +196,23 @@ set(LLVMCLANG_LIBRARIES clangStaticAnalyzerCheckers clangStaticAnalyzerCore clangStaticAnalyzerFrontend - clangTesting + clangSupport clangTooling clangToolingASTDiff clangToolingCore clangToolingInclusions + clangToolingInclusionsStdlib clangToolingRefactoring clangToolingSyntax clangTransformer + libclang_static ${LIBCLANG} + LLVM${LLVM_TARGETS_TO_BUILD}AsmParser + LLVM${LLVM_TARGETS_TO_BUILD}CodeGen + LLVM${LLVM_TARGETS_TO_BUILD}Desc + LLVM${LLVM_TARGETS_TO_BUILD}Disassembler + LLVM${LLVM_TARGETS_TO_BUILD}Info + LLVM${LLVM_TARGETS_TO_BUILD}Utils LLVMAggressiveInstCombine LLVMAnalysis LLVMAsmParser @@ -236,33 +224,45 @@ set(LLVMCLANG_LIBRARIES LLVMCFGuard LLVMCFIVerify LLVMCodeGen + LLVMCodeGenTypes LLVMCore LLVMCoroutines LLVMCoverage + LLVMDebugInfoBTF LLVMDebugInfoCodeView LLVMDebuginfod LLVMDebugInfoDWARF LLVMDebugInfoGSYM + LLVMDebugInfoLogicalView LLVMDebugInfoMSF LLVMDebugInfoPDB LLVMDemangle LLVMDiff LLVMDlltoolDriver LLVMDWARFLinker + LLVMDWARFLinkerClassic + LLVMDWARFLinkerParallel LLVMDWP LLVMExecutionEngine LLVMExegesis + LLVMExegesis${LLVM_TARGETS_TO_BUILD} LLVMExtensions LLVMFileCheck + LLVMFrontendDriver + LLVMFrontendHLSL + LLVMFrontendOffloading LLVMFrontendOpenACC LLVMFrontendOpenMP + LLVMFuzzerCLI LLVMFuzzMutate LLVMGlobalISel + LLVMHipStdPar LLVMInstCombine LLVMInstrumentation LLVMInterfaceStub LLVMInterpreter LLVMipo + LLVMIRPrinter LLVMIRReader LLVMJITLink LLVMLibDriver @@ -276,9 +276,11 @@ set(LLVMCLANG_LIBRARIES LLVMMCParser LLVMMIRParser LLVMObjCARCOpts + LLVMObjCopy LLVMObject LLVMObjectYAML LLVMOption + LLVMOrcDebugging LLVMOrcJIT LLVMOrcShared LLVMOrcTargetProcess @@ -291,13 +293,16 @@ set(LLVMCLANG_LIBRARIES LLVMSupport LLVMSymbolize LLVMTableGen + LLVMTableGenCommon LLVMTableGenGlobalISel LLVMTarget + LLVMTargetParser LLVMTextAPI + LLVMTextAPIBinaryReader LLVMTransformUtils LLVMVectorize + LLVMWindowsDriver LLVMWindowsManifest LLVMXRay - ${EXTRA_LLVMCLANG_LIBRARIES} CACHE INTERNAL "${PACKAGE_NAME}'s libraries." ) From e4836746b0ee9b6b2ad159f9c4ea3ffa3fd96840 Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Mon, 13 Jan 2025 15:11:57 +1300 Subject: [PATCH 09/14] LLVM+Clang: slight improvements to our buildllvmclangtblgen script. --- src/3rdparty/LLVMClang/scripts/buildllvmclangtblgen | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/3rdparty/LLVMClang/scripts/buildllvmclangtblgen b/src/3rdparty/LLVMClang/scripts/buildllvmclangtblgen index f62dfed78..a56383149 100755 --- a/src/3rdparty/LLVMClang/scripts/buildllvmclangtblgen +++ b/src/3rdparty/LLVMClang/scripts/buildllvmclangtblgen @@ -1,12 +1,12 @@ #!/bin/sh -LLVMCLANG_VERSION=18.1.8-libopencor +RELEASE_TAG=llvmorg-18.1.8-libopencor -curl -Ls https://github.com/opencor/llvm-project/archive/refs/tags/llvmorg-$LLVMCLANG_VERSION.zip -o llvm-project-llvmorg-$LLVMCLANG_VERSION.zip -unzip -qq llvm-project-llvmorg-$LLVMCLANG_VERSION.zip -\rm llvm-project-llvmorg-$LLVMCLANG_VERSION.zip +curl -Ls https://github.com/opencor/llvm-project/archive/refs/tags/$RELEASE_TAG.zip -o llvm-project-$RELEASE_TAG.zip +unzip -qq llvm-project-$RELEASE_TAG.zip +\rm llvm-project-$RELEASE_TAG.zip -cd llvm-project-llvmorg-$LLVMCLANG_VERSION +cd llvm-project-$RELEASE_TAG cmake -G Ninja -S ./llvm -B build -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_PROJECTS=clang cmake --build build -t llvm-tblgen clang-tblgen From 425839dce5d507d723ac9707cc6bdac2f3f9bcb4 Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Mon, 13 Jan 2025 22:37:21 +1300 Subject: [PATCH 10/14] Build LLVM+Clang 19.1.6. --- src/3rdparty/LLVMClang/CMakeLists.txt | 4 ++-- src/3rdparty/LLVMClang/README.rst | 2 +- src/3rdparty/LLVMClang/scripts/buildllvmclangtblgen | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/3rdparty/LLVMClang/CMakeLists.txt b/src/3rdparty/LLVMClang/CMakeLists.txt index a27956557..60e09ddbe 100644 --- a/src/3rdparty/LLVMClang/CMakeLists.txt +++ b/src/3rdparty/LLVMClang/CMakeLists.txt @@ -13,9 +13,9 @@ # limitations under the License. set(PACKAGE_NAME LLVMClang) -set(PACKAGE_VERSION 18.1.8) +set(PACKAGE_VERSION 19.1.6) set(PACKAGE_REPOSITORY llvm-project) -set(RELEASE_TAG llvmorg-18.1.8-libopencor) +set(RELEASE_TAG llvmorg-19.1.6-libopencor) set(INSTALL_DIR ${PREBUILT_DIR}/${PACKAGE_NAME}) # Either retrieve or build our package. diff --git a/src/3rdparty/LLVMClang/README.rst b/src/3rdparty/LLVMClang/README.rst index 864e0ed3f..7019d4209 100644 --- a/src/3rdparty/LLVMClang/README.rst +++ b/src/3rdparty/LLVMClang/README.rst @@ -1 +1 @@ -Our copy of LLVM+Clang 18.1.8 requires the changes mentioned at https://github.com/opencor/llvm-project/compare/llvmorg-18.1.8...opencor:llvm-project:llvmorg-18.1.8-libopencor to build and work correctly with libOpenCOR. +Our copy of LLVM+Clang 19.1.6 requires the changes mentioned at https://github.com/opencor/llvm-project/compare/llvmorg-19.1.6...opencor:llvm-project:llvmorg-19.1.6-libopencor to build and work correctly with libOpenCOR. diff --git a/src/3rdparty/LLVMClang/scripts/buildllvmclangtblgen b/src/3rdparty/LLVMClang/scripts/buildllvmclangtblgen index a56383149..9499e537b 100755 --- a/src/3rdparty/LLVMClang/scripts/buildllvmclangtblgen +++ b/src/3rdparty/LLVMClang/scripts/buildllvmclangtblgen @@ -1,6 +1,6 @@ #!/bin/sh -RELEASE_TAG=llvmorg-18.1.8-libopencor +RELEASE_TAG=llvmorg-19.1.6-libopencor curl -Ls https://github.com/opencor/llvm-project/archive/refs/tags/$RELEASE_TAG.zip -o llvm-project-$RELEASE_TAG.zip unzip -qq llvm-project-$RELEASE_TAG.zip From b344df710c8613d73c77c91c76c12749cdb256ad Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Tue, 14 Jan 2025 08:37:47 +1300 Subject: [PATCH 11/14] Build LLVM+Clang 14.0.6. --- src/3rdparty/LLVMClang/CMakeLists.txt | 4 ++-- src/3rdparty/LLVMClang/README.rst | 2 +- src/3rdparty/LLVMClang/scripts/buildllvmclangtblgen | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/3rdparty/LLVMClang/CMakeLists.txt b/src/3rdparty/LLVMClang/CMakeLists.txt index 60e09ddbe..7d3468661 100644 --- a/src/3rdparty/LLVMClang/CMakeLists.txt +++ b/src/3rdparty/LLVMClang/CMakeLists.txt @@ -13,9 +13,9 @@ # limitations under the License. set(PACKAGE_NAME LLVMClang) -set(PACKAGE_VERSION 19.1.6) +set(PACKAGE_VERSION 14.0.6) set(PACKAGE_REPOSITORY llvm-project) -set(RELEASE_TAG llvmorg-19.1.6-libopencor) +set(RELEASE_TAG llvmorg-14.0.6-libopencor) set(INSTALL_DIR ${PREBUILT_DIR}/${PACKAGE_NAME}) # Either retrieve or build our package. diff --git a/src/3rdparty/LLVMClang/README.rst b/src/3rdparty/LLVMClang/README.rst index 7019d4209..12aeb0dab 100644 --- a/src/3rdparty/LLVMClang/README.rst +++ b/src/3rdparty/LLVMClang/README.rst @@ -1 +1 @@ -Our copy of LLVM+Clang 19.1.6 requires the changes mentioned at https://github.com/opencor/llvm-project/compare/llvmorg-19.1.6...opencor:llvm-project:llvmorg-19.1.6-libopencor to build and work correctly with libOpenCOR. +Our copy of LLVM+Clang 14.0.6 requires the changes mentioned at https://github.com/opencor/llvm-project/compare/llvmorg-14.0.6...opencor:llvm-project:llvmorg-14.0.6-libopencor to build and work correctly with libOpenCOR. diff --git a/src/3rdparty/LLVMClang/scripts/buildllvmclangtblgen b/src/3rdparty/LLVMClang/scripts/buildllvmclangtblgen index 9499e537b..04f489cd9 100755 --- a/src/3rdparty/LLVMClang/scripts/buildllvmclangtblgen +++ b/src/3rdparty/LLVMClang/scripts/buildllvmclangtblgen @@ -1,6 +1,6 @@ #!/bin/sh -RELEASE_TAG=llvmorg-19.1.6-libopencor +RELEASE_TAG=llvmorg-14.0.6-libopencor curl -Ls https://github.com/opencor/llvm-project/archive/refs/tags/$RELEASE_TAG.zip -o llvm-project-$RELEASE_TAG.zip unzip -qq llvm-project-$RELEASE_TAG.zip From f3968dd1209eb4e44b0e96ba62f4500093e56558 Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Tue, 14 Jan 2025 08:47:30 +1300 Subject: [PATCH 12/14] Build LLVM+Clang 15.0.7. --- src/3rdparty/LLVMClang/CMakeLists.txt | 4 ++-- src/3rdparty/LLVMClang/README.rst | 2 +- src/3rdparty/LLVMClang/scripts/buildllvmclangtblgen | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/3rdparty/LLVMClang/CMakeLists.txt b/src/3rdparty/LLVMClang/CMakeLists.txt index 7d3468661..f5a72b06c 100644 --- a/src/3rdparty/LLVMClang/CMakeLists.txt +++ b/src/3rdparty/LLVMClang/CMakeLists.txt @@ -13,9 +13,9 @@ # limitations under the License. set(PACKAGE_NAME LLVMClang) -set(PACKAGE_VERSION 14.0.6) +set(PACKAGE_VERSION 15.0.7) set(PACKAGE_REPOSITORY llvm-project) -set(RELEASE_TAG llvmorg-14.0.6-libopencor) +set(RELEASE_TAG llvmorg-15.0.7-libopencor) set(INSTALL_DIR ${PREBUILT_DIR}/${PACKAGE_NAME}) # Either retrieve or build our package. diff --git a/src/3rdparty/LLVMClang/README.rst b/src/3rdparty/LLVMClang/README.rst index 12aeb0dab..2a4fdd197 100644 --- a/src/3rdparty/LLVMClang/README.rst +++ b/src/3rdparty/LLVMClang/README.rst @@ -1 +1 @@ -Our copy of LLVM+Clang 14.0.6 requires the changes mentioned at https://github.com/opencor/llvm-project/compare/llvmorg-14.0.6...opencor:llvm-project:llvmorg-14.0.6-libopencor to build and work correctly with libOpenCOR. +Our copy of LLVM+Clang 15.0.7 requires the changes mentioned at https://github.com/opencor/llvm-project/compare/llvmorg-15.0.7...opencor:llvm-project:llvmorg-15.0.7-libopencor to build and work correctly with libOpenCOR. diff --git a/src/3rdparty/LLVMClang/scripts/buildllvmclangtblgen b/src/3rdparty/LLVMClang/scripts/buildllvmclangtblgen index 04f489cd9..34dcc0da9 100755 --- a/src/3rdparty/LLVMClang/scripts/buildllvmclangtblgen +++ b/src/3rdparty/LLVMClang/scripts/buildllvmclangtblgen @@ -1,6 +1,6 @@ #!/bin/sh -RELEASE_TAG=llvmorg-14.0.6-libopencor +RELEASE_TAG=llvmorg-15.0.7-libopencor curl -Ls https://github.com/opencor/llvm-project/archive/refs/tags/$RELEASE_TAG.zip -o llvm-project-$RELEASE_TAG.zip unzip -qq llvm-project-$RELEASE_TAG.zip From b3db1f2ce19908c3e2d13db00a7bf3fb2c6ba821 Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Tue, 14 Jan 2025 08:56:56 +1300 Subject: [PATCH 13/14] Build LLVM+Clang 16.0.6. --- src/3rdparty/LLVMClang/CMakeLists.txt | 4 ++-- src/3rdparty/LLVMClang/README.rst | 2 +- src/3rdparty/LLVMClang/scripts/buildllvmclangtblgen | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/3rdparty/LLVMClang/CMakeLists.txt b/src/3rdparty/LLVMClang/CMakeLists.txt index f5a72b06c..5962a8618 100644 --- a/src/3rdparty/LLVMClang/CMakeLists.txt +++ b/src/3rdparty/LLVMClang/CMakeLists.txt @@ -13,9 +13,9 @@ # limitations under the License. set(PACKAGE_NAME LLVMClang) -set(PACKAGE_VERSION 15.0.7) +set(PACKAGE_VERSION 16.0.6) set(PACKAGE_REPOSITORY llvm-project) -set(RELEASE_TAG llvmorg-15.0.7-libopencor) +set(RELEASE_TAG llvmorg-16.0.6-libopencor) set(INSTALL_DIR ${PREBUILT_DIR}/${PACKAGE_NAME}) # Either retrieve or build our package. diff --git a/src/3rdparty/LLVMClang/README.rst b/src/3rdparty/LLVMClang/README.rst index 2a4fdd197..16fe2ba98 100644 --- a/src/3rdparty/LLVMClang/README.rst +++ b/src/3rdparty/LLVMClang/README.rst @@ -1 +1 @@ -Our copy of LLVM+Clang 15.0.7 requires the changes mentioned at https://github.com/opencor/llvm-project/compare/llvmorg-15.0.7...opencor:llvm-project:llvmorg-15.0.7-libopencor to build and work correctly with libOpenCOR. +Our copy of LLVM+Clang 16.0.6 requires the changes mentioned at https://github.com/opencor/llvm-project/compare/llvmorg-16.0.6...opencor:llvm-project:llvmorg-16.0.6-libopencor to build and work correctly with libOpenCOR. diff --git a/src/3rdparty/LLVMClang/scripts/buildllvmclangtblgen b/src/3rdparty/LLVMClang/scripts/buildllvmclangtblgen index 34dcc0da9..275198e30 100755 --- a/src/3rdparty/LLVMClang/scripts/buildllvmclangtblgen +++ b/src/3rdparty/LLVMClang/scripts/buildllvmclangtblgen @@ -1,6 +1,6 @@ #!/bin/sh -RELEASE_TAG=llvmorg-15.0.7-libopencor +RELEASE_TAG=llvmorg-16.0.6-libopencor curl -Ls https://github.com/opencor/llvm-project/archive/refs/tags/$RELEASE_TAG.zip -o llvm-project-$RELEASE_TAG.zip unzip -qq llvm-project-$RELEASE_TAG.zip From 7ac23abe98d463b0ef9a68528402221293e4c558 Mon Sep 17 00:00:00 2001 From: Alan Garny Date: Tue, 14 Jan 2025 09:02:53 +1300 Subject: [PATCH 14/14] Build LLVM+Clang 17.0.6. --- src/3rdparty/LLVMClang/CMakeLists.txt | 4 ++-- src/3rdparty/LLVMClang/README.rst | 2 +- src/3rdparty/LLVMClang/scripts/buildllvmclangtblgen | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/3rdparty/LLVMClang/CMakeLists.txt b/src/3rdparty/LLVMClang/CMakeLists.txt index 5962a8618..0533ae244 100644 --- a/src/3rdparty/LLVMClang/CMakeLists.txt +++ b/src/3rdparty/LLVMClang/CMakeLists.txt @@ -13,9 +13,9 @@ # limitations under the License. set(PACKAGE_NAME LLVMClang) -set(PACKAGE_VERSION 16.0.6) +set(PACKAGE_VERSION 17.0.6) set(PACKAGE_REPOSITORY llvm-project) -set(RELEASE_TAG llvmorg-16.0.6-libopencor) +set(RELEASE_TAG llvmorg-17.0.6-libopencor) set(INSTALL_DIR ${PREBUILT_DIR}/${PACKAGE_NAME}) # Either retrieve or build our package. diff --git a/src/3rdparty/LLVMClang/README.rst b/src/3rdparty/LLVMClang/README.rst index 16fe2ba98..aa023f970 100644 --- a/src/3rdparty/LLVMClang/README.rst +++ b/src/3rdparty/LLVMClang/README.rst @@ -1 +1 @@ -Our copy of LLVM+Clang 16.0.6 requires the changes mentioned at https://github.com/opencor/llvm-project/compare/llvmorg-16.0.6...opencor:llvm-project:llvmorg-16.0.6-libopencor to build and work correctly with libOpenCOR. +Our copy of LLVM+Clang 17.0.6 requires the changes mentioned at https://github.com/opencor/llvm-project/compare/llvmorg-17.0.6...opencor:llvm-project:llvmorg-17.0.6-libopencor to build and work correctly with libOpenCOR. diff --git a/src/3rdparty/LLVMClang/scripts/buildllvmclangtblgen b/src/3rdparty/LLVMClang/scripts/buildllvmclangtblgen index 275198e30..225e149e7 100755 --- a/src/3rdparty/LLVMClang/scripts/buildllvmclangtblgen +++ b/src/3rdparty/LLVMClang/scripts/buildllvmclangtblgen @@ -1,6 +1,6 @@ #!/bin/sh -RELEASE_TAG=llvmorg-16.0.6-libopencor +RELEASE_TAG=llvmorg-17.0.6-libopencor curl -Ls https://github.com/opencor/llvm-project/archive/refs/tags/$RELEASE_TAG.zip -o llvm-project-$RELEASE_TAG.zip unzip -qq llvm-project-$RELEASE_TAG.zip