diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 39ee59e26..4046a5b39 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -15,9 +15,10 @@ concurrency: cancel-in-progress: true env: - LLVM_PASTA_VER: 4a2f2bf LLVM_VER: 17 PYTHON_VER: 3.11 + VCPKG_REGISTRY_VERSION: v1.0.0 + VCPKG_COMMIT: fecdd89f28ed883b26a48c2b30085f6384070bb8 jobs: build: @@ -30,11 +31,17 @@ jobs: contents: write packages: write + strategy: + matrix: + include: + - name: lto + additional_flags: -flto + - name: nolto + additional_flags: + steps: - name: Checkout repository uses: actions/checkout@v4 - with: - submodules: "recursive" - run: git config --global --add safe.directory '*' - name: Install prereqs @@ -45,7 +52,24 @@ jobs: curl -sSL https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add - echo "deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy-${LLVM_VER} main" | tee -a /etc/apt/sources.list > /dev/null echo "deb-src http://apt.llvm.org/jammy/ llvm-toolchain-jammy-${LLVM_VER} main" | tee -a /etc/apt/sources.list > /dev/null - apt-get update; apt-get install gh clang-${LLVM_VER} lld-${LLVM_VER} python${PYTHON_VER} python${PYTHON_VER}-dev -y + apt-get update; apt-get install gh clang-${LLVM_VER} lld-${LLVM_VER} python${PYTHON_VER} python${PYTHON_VER}-dev openssh-client -y + + - name: Fetch submodules + run: | + mkdir -p ~/.ssh + eval $(ssh-agent -s) + ssh-keyscan github.com >> ~/.ssh/known_hosts + chmod 600 ~/.ssh/known_hosts + echo "$MX_REGISTRY_KEY" | ssh-add - + git submodule update --init --recursive -- vcpkg-registry + + cd vcpkg-registry + git fetch + head_hash="$(git rev-parse HEAD)" + tag_hash="$(git rev-parse $VCPKG_REGISTRY_VERSION)" + [ "$head_hash" = "$tag_hash" ] || { echo "The \$VCPKG_REGISTRY_VERSION specified in CI ($VCPKG_REGISTRY_VERSION) and the submodule commit don\'t match. You probably updated \$VCPKG_REGISTRY_VERSION without updating the submodule version as well." ; exit 1 ; } + env: + MX_REGISTRY_KEY: ${{ secrets.MX_REGISTRY_KEY }} - name: Setup cmake uses: trail-of-forks/actions-setup-cmake@master @@ -58,43 +82,53 @@ jobs: - name: Set up variables run: | echo "RELEASE_DIR=${RUNNER_TEMP}/release" >> $GITHUB_ENV - echo "LLVM_PREFIX_DIR=${RUNNER_TEMP}/llvm" >> $GITHUB_ENV echo "VERSION=$(git rev-parse --short=7 HEAD)" >> $GITHUB_ENV - echo "ARTIFACT_NAME=multiplier-$(git rev-parse --short=7 HEAD).tar.xz" >> $GITHUB_ENV + echo "ARTIFACT_NAME=multiplier-$(git rev-parse --short=7 HEAD)-${{ matrix.name }}.tar.xz" >> $GITHUB_ENV + echo "CC=$(which clang-$LLVM_VER)" >> $GITHUB_ENV + echo "CXX=$(which clang++-$LLVM_VER)" >> $GITHUB_ENV + echo "CFLAGS=-g0 --ld-path=$(which ld.lld-$LLVM_VER) ${{ matrix.additional_flags }}" >> $GITHUB_ENV + echo "CXXFLAGS=-g0 --ld-path=$(which ld.lld-$LLVM_VER) ${{ matrix.additional_flags }}" >> $GITHUB_ENV + echo "VCPKG_BINARY_SOURCES=clear;files,$GITHUB_WORKSPACE/vcpkg-binary-cache,readwrite" >> $GITHUB_ENV + + - name: Setup vcpkg + run: | + mkdir -p $GITHUB_WORKSPACE/vcpkg-binary-cache + git clone https://github.com/microsoft/vcpkg $HOME/vcpkg + git -C $HOME/vcpkg checkout $VCPKG_COMMIT + $HOME/vcpkg/bootstrap-vcpkg.sh -disableMetrics - - name: Install llvm-pasta + - name: Preseed vcpkg cache run: | - mkdir -p ${RELEASE_DIR} - mkdir -p ${LLVM_PREFIX_DIR} - gh release download ${LLVM_PASTA_VER} --repo trail-of-forks/llvm-project --pattern 'llvm-*' - tar -xvJf llvm-pasta-*.tar.xz -C ${LLVM_PREFIX_DIR} + gh release download $VCPKG_REGISTRY_VERSION \ + --pattern vcpkg-binary-cache-${{ matrix.name }}.tar.bz2 \ + --repo trailofbits/multiplier-vcpkg-registry + tar xjf vcpkg-binary-cache-${{ matrix.name }}.tar.bz2 + rm vcpkg-binary-cache-${{ matrix.name }}.tar.bz2 env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GITHUB_TOKEN: ${{ secrets.MX_REGISTRY_RELEASES_TOKEN }} + + - name: Cache vcpkg binaries + id: cache-vcpkg + uses: actions/cache@v4 + with: + path: vcpkg-binary-cache + key: ${{ runner.os }}-${{ matrix.name }}-${{ hashFiles('vcpkg-registry/ports/**/*') }} + restore-keys: | + ${{ runner.os }}-${{ matrix.name }}-${{ hashFiles('vcpkg-registry/ports/**/*') }} + ${{ runner.os }}- - name: Build run: | - - CXXFLAGS="-g0" \ - CCFLAGS="-g0" \ cmake \ + -DVCPKG_TARGET_TRIPLET=x64-linux-rel \ + --toolchain "$HOME/vcpkg/scripts/buildsystems/vcpkg.cmake" \ -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_PREFIX=${RELEASE_DIR} \ - -DCMAKE_EXE_LINKER_FLAGS="--ld-path=$(which ld.lld-${LLVM_VER})" \ - -DCMAKE_MODULE_LINKER_FLAGS="--ld-path=$(which ld.lld-${LLVM_VER})" \ - -DCMAKE_SHARED_LINKER_FLAGS="--ld-path=$(which ld.lld-${LLVM_VER})" \ - -DCMAKE_C_COMPILER="$(which clang-${LLVM_VER})" \ - -DCMAKE_CXX_COMPILER="$(which clang++-${LLVM_VER})" \ - -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=TRUE \ - -DClang_DIR=${LLVM_PREFIX_DIR}/lib/cmake/clang \ - -DLLVM_DIR=${LLVM_PREFIX_DIR}/lib/cmake/llvm \ - -DMLIR_DIR=${LLVM_PREFIX_DIR}/lib/cmake/mlir \ - -DMX_USE_VENDORED_CLANG=OFF \ - -DMX_USE_VENDORED_PASTA=OFF \ - -DLLVM_ENABLE_LLD:BOOL=TRUE \ -GNinja \ - ./ + -S . \ + -B build - ninja install + cmake --build build + cmake --install build --prefix ${RELEASE_DIR} # Release on merge to main - name: Package Release @@ -102,8 +136,49 @@ jobs: working-directory: ${{ env.RELEASE_DIR }} run: tar --use-compress-program pixz -cf "${ARTIFACT_NAME}" * - - name: Create Release + - name: Upload cache artifact if: github.ref == 'refs/heads/main' - run: gh release create ${VERSION} --generate-notes ${{ env.RELEASE_DIR }}/${{ env.ARTIFACT_NAME }} + uses: actions/upload-artifact@v4 + with: + name: multiplier-${{ matrix.name }} + path: ${{ env.RELEASE_DIR }}/${{ env.ARTIFACT_NAME }} + + create-release: + runs-on: ubuntu-latest + needs: [build] + if: github.ref == 'refs/heads/main' + name: Create release + + permissions: + contents: write + packages: write + + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + submodules: "recursive" + + - name: Download artifacts + uses: actions/download-artifact@v4 + with: + run-id: build + + - name: Install gh and extract + run: | + curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg + sudo chmod go+r /usr/share/keyrings/githubcli-archive-keyring.gpg + echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null + + sudo apt-get update + sudo apt-get install gh + echo "VERSION=$(git rev-parse --short=7 HEAD)" >> $GITHUB_ENV + echo "ARTIFACT_PREFIX=multiplier-$(git rev-parse --short=7 HEAD)" >> $GITHUB_ENV + + - name: Create release + run: | + gh release create "${{ env.VERSION }}" --generate-notes \ + multiplier-lto/${{ env.ARTIFACT_PREFIX }}-lto.tar.xz \ + multiplier-nolto/${{ env.ARTIFACT_PREFIX }}-nolto.tar.xz \ env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.gitmodules b/.gitmodules index 1ae2395de..f7af64386 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,53 +1,3 @@ -[submodule "vendor/concurrentqueue/src"] - path = vendor/concurrentqueue/src - url = https://github.com/cameron314/concurrentqueue.git - shallow = true -[submodule "vendor/reproc/src"] - path = vendor/reproc/src - url = https://github.com/DaanDeMeyer/reproc.git - shallow = true -[submodule "vendor/capnproto/src"] - path = vendor/capnproto/src - url = https://github.com/capnproto/capnproto.git - shallow = true -[submodule "vendor/glog/src"] - path = vendor/glog/src - url = https://github.com/google/glog.git - shallow = true -[submodule "vendor/gflags/src"] - path = vendor/gflags/src - url = https://github.com/gflags/gflags.git - shallow = true -[submodule "vendor/zstd/src"] - path = vendor/zstd/src - url = https://github.com/facebook/zstd.git - shallow = true -[submodule "vendor/gap/src"] - path = vendor/gap/src - url = https://github.com/lifting-bits/gap.git - shallow = true -[submodule "vendor/pasta/src"] - path = vendor/pasta/src - url = https://github.com/trailofbits/pasta.git - branch = master -[submodule "vendor/llvm-project/src"] - path = vendor/llvm-project/src - url = https://github.com/trail-of-forks/llvm-project.git - branch = pasta-llvmorg-17.0.4 -[submodule "vendor/abseil/src"] - path = vendor/abseil/src - url = https://github.com/abseil/abseil-cpp.git - shallow = true -[submodule "vendor/re2/src"] - path = vendor/re2/src - url = https://github.com/google/re2.git - shallow = true -[submodule "vendor/rocksdb/src"] - path = vendor/rocksdb/src - url = https://github.com/facebook/rocksdb.git -[submodule "vendor/xxhash/src"] - path = vendor/xxhash/src - url = https://github.com/Cyan4973/xxHash.git -[submodule "vendor/vast/src"] - path = vendor/vast/src - url = https://github.com/trailofbits/vast.git +[submodule "vcpkg-registry"] + path = vcpkg-registry + url = git@github.com:trailofbits/multiplier-vcpkg-registry.git diff --git a/CMakeLists.txt b/CMakeLists.txt index ef9e72d09..df4ab702a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -25,8 +25,7 @@ endif() list(PREPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake/modules") include("cmake/system.cmake") -include("cmake/llvm.cmake") -include("cmake/linker.cmake") +#include("cmake/llvm.cmake") include("cmake/git.cmake") if(MX_ENABLE_INSTALL) diff --git a/bin/Examples/CMakeLists.txt b/bin/Examples/CMakeLists.txt index a2688a528..86d2d7c70 100644 --- a/bin/Examples/CMakeLists.txt +++ b/bin/Examples/CMakeLists.txt @@ -54,7 +54,7 @@ function(define_example exe_name source_file) "${PROJECT_NAME}Targets" RUNTIME DESTINATION - "${CMAKE_INSTALL_BINDIR}" + "${MX_INSTALL_TOOLS_DIR}" ) endif() endfunction(define_example) diff --git a/bin/Index/CMakeLists.txt b/bin/Index/CMakeLists.txt index 915f43db7..90e11fcfe 100644 --- a/bin/Index/CMakeLists.txt +++ b/bin/Index/CMakeLists.txt @@ -73,6 +73,8 @@ add_executable("${exe_name}" "${MX_BOOTSTRAP_INCLUDE_VISITOR_INC_H}" ) +find_package(concurrentqueue MODULE REQUIRED) + target_link_libraries("${exe_name}" PRIVATE "mx-api" @@ -118,7 +120,7 @@ set_target_properties("${exe_name}" "${PROJECT_BINARY_DIR}/${MX_INSTALL_BIN_DIR}" ) -find_and_link_llvm_dependencies("${exe_name}") +#find_and_link_llvm_dependencies("${exe_name}") if(MX_ENABLE_INSTALL AND NOT MX_ENABLE_BOOTSTRAP) install( @@ -128,6 +130,6 @@ if(MX_ENABLE_INSTALL AND NOT MX_ENABLE_BOOTSTRAP) "${PROJECT_NAME}Targets" RUNTIME DESTINATION - "${CMAKE_INSTALL_BINDIR}" + "${MX_INSTALL_TOOLS_DIR}" ) endif() diff --git a/bindings/Python/CMakeLists.txt b/bindings/Python/CMakeLists.txt index aff37ac80..bf20950dd 100644 --- a/bindings/Python/CMakeLists.txt +++ b/bindings/Python/CMakeLists.txt @@ -117,7 +117,7 @@ if(MX_ENABLE_INSTALL AND NOT MX_ENABLE_BOOTSTRAP) DIRECTORY "${CMAKE_CURRENT_LIST_DIR}/${lower_project_name}-stubs" DESTINATION - "${CMAKE_INSTALL_PREFIX}/${MX_INSTALL_LIB_DIR}/${site_packages_dir}" + "${MX_INSTALL_LIB_DIR}/${site_packages_dir}" ) # Install the binary into the target site-packages directory. diff --git a/cmake/linker.cmake b/cmake/linker.cmake deleted file mode 100644 index e13e6d5fc..000000000 --- a/cmake/linker.cmake +++ /dev/null @@ -1,15 +0,0 @@ -# -# Copyright (c) 2023-present, Trail of Bits, Inc. -# All rights reserved. -# -# This source code is licensed in accordance with the terms specified in -# the LICENSE file found in the root directory of this source tree. -# - -# MLIR requires that `lld` be used. - -if(PLATFORM_LINUX) - set(CMAKE_EXE_LINKER_FLAGS_INIT "-fuse-ld=lld") - set(CMAKE_MODULE_LINKER_FLAGS_INIT "-fuse-ld=lld") - set(CMAKE_SHARED_LINKER_FLAGS_INIT "-fuse-ld=lld") -endif(PLATFORM_LINUX) diff --git a/cmake/modules/Findconcurrentqueue.cmake b/cmake/modules/Findconcurrentqueue.cmake new file mode 100644 index 000000000..633d18e71 --- /dev/null +++ b/cmake/modules/Findconcurrentqueue.cmake @@ -0,0 +1,16 @@ +find_path(concurrentqueue_INCLUDE_DIR concurrentqueue.h PATH_SUFFIXES concurrentqueue) + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(concurrentqueue + REQUIRED_VARS concurrentqueue_INCLUDE_DIR) + +# Create the imported target +if(concurrentqueue_FOUND) + set(concurrentqueue_INCLUDE_DIRS ${concurrentqueue_INCLUDE_DIR}) + + if(NOT TARGET concurrentqueue) + add_library(concurrentqueue INTERFACE IMPORTED) + set_target_properties(concurrentqueue PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${concurrentqueue_INCLUDE_DIRS}") + endif() +endif() \ No newline at end of file diff --git a/cmake/options.cmake b/cmake/options.cmake index bff18fe2a..c1a7504f9 100644 --- a/cmake/options.cmake +++ b/cmake/options.cmake @@ -12,24 +12,9 @@ set(CMAKE_CXX_STANDARD 20 CACHE STRING "C++ standard version") set(MX_INSTALL_LIB_DIR "${CMAKE_INSTALL_LIBDIR}" CACHE PATH "Directory in which Multiplier libraries will be installed") set(MX_INSTALL_BIN_DIR "${CMAKE_INSTALL_BINDIR}" CACHE PATH "Directory in which Multiplier binaries will be installed") +set(MX_INSTALL_TOOLS_DIR "${CMAKE_INSTALL_BINDIR}" CACHE PATH "Directory in which Multiplier tools will be installed") set(MX_INSTALL_INCLUDE_DIR "${CMAKE_INSTALL_INCLUDEDIR}" CACHE PATH "Directory in which Multiplier headers will be installed") set(MX_INSTALL_SHARE_DIR "${CMAKE_INSTALL_DATADIR}" CACHE PATH "Directory in which Multiplier CMake files will be installed") -set(MX_VENDOR_INSTALL_DIR "${PROJECT_BINARY_DIR}/vendor/install" CACHE PATH "Directory in which multiplier's vendored dependencies are installed") - -option(MX_USE_VENDORED_CAPNPROTO "Set to OFF to disable default building of Cap'n Proto as a vendored library." ON) -option(MX_USE_VENDORED_GLOG "Set to OFF to disable default building of Google glog as a vendored library." ON) -option(MX_USE_VENDORED_GFLAGS "Set to OFF to disable default building of gflags as a vendored library." ON) -option(MX_USE_VENDORED_ZSTD "Set to OFF to disable default building of ZStandard as a vendored library." ON) -option(MX_USE_VENDORED_REPROC "Set to OFF to disable default building of reproc/reproc++ as a vendored library." ON) -option(MX_USE_VENDORED_GAP "Set to OFF to disable default building of gap as a vendored library." ON) -option(MX_USE_VENDORED_CLANG "Set to OFF to disable default building of Clang/LLVM as a vendored library." ON) -option(MX_USE_VENDORED_PASTA "Set to OFF to disable default building of PASTA as a vendored library." ON) -option(MX_USE_VENDORED_ABSEIL "Set to OFF to disable default building of Abseil as a vendored library." ON) -option(MX_USE_VENDORED_RE2 "Set to OFF to disable default building of RE2 as a vendored library." ON) -option(MX_USE_VENDORED_ROCKSDB "Set to OFF to disable default building of RocksDB as a vendored library." ON) -option(MX_USE_VENDORED_XXHASH "Set to OFF to disable default building of xxHash as a vendored library." ON) -option(MX_USE_VENDORED_NANOBIND "Set to OFF to disable default building of nanobind as a vendored library." ON) -option(MX_USE_VENDORED_VAST "Set to OFF to disable default building of VAST as a vendored library." ON) option(MX_ENABLE_BOOTSTRAP "Set to ON to enable re-bootstrapping of some auto-generated files." OFF) option(MX_ENABLE_INSTALL "Set to ON to enable the install target" ON) diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index 3e2f07a0d..8810e7207 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -185,6 +185,9 @@ add_dependencies("mx-api" "copy_headers" ) +find_package(concurrentqueue MODULE REQUIRED) +find_package(SQLite3 REQUIRED) + target_link_libraries("mx-api" PUBLIC "gap::gap" @@ -193,7 +196,7 @@ target_link_libraries("mx-api" "std::coroutines" PRIVATE "mx-serialize" - "mx-sqlite" + SQLite::SQLite3 "zstd::libzstd_static" "concurrentqueue" ${MLIR_LIBS} diff --git a/vcpkg-configuration.json b/vcpkg-configuration.json new file mode 100644 index 000000000..cdf2f11b0 --- /dev/null +++ b/vcpkg-configuration.json @@ -0,0 +1,9 @@ +{ + "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg-configuration.schema.json", + "overlay-ports": [ + "./vcpkg-registry/ports" + ], + "overlay-triplets": [ + "./vcpkg-registry/triplets" + ] +} \ No newline at end of file diff --git a/vcpkg-registry b/vcpkg-registry new file mode 160000 index 000000000..4b1870b81 --- /dev/null +++ b/vcpkg-registry @@ -0,0 +1 @@ +Subproject commit 4b1870b815956050754cd860b08d0551f81ce655 diff --git a/vcpkg.json b/vcpkg.json new file mode 100644 index 000000000..589c9b07d --- /dev/null +++ b/vcpkg.json @@ -0,0 +1,37 @@ +{ + "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg.schema.json", + "name": "multiplier", + "version": "0.1.0", + "dependencies": [ + "gap", + "capnproto", + "gflags", + "glog", + "concurrentqueue", + "reproc", + { + "name": "sqlite3", + "features": [ + "fts5" + ] + }, + "zstd", + "xxhash", + { + "name": "rocksdb", + "features": [ + "zstd" + ] + }, + "llvm", + "pasta", + "vast", + { + "name": "abseil", + "features": [ + "cxx17" + ] + }, + "re2" + ] +} \ No newline at end of file diff --git a/vendor/CMakeLists.txt b/vendor/CMakeLists.txt index 7aac25e01..f8e085bb6 100644 --- a/vendor/CMakeLists.txt +++ b/vendor/CMakeLists.txt @@ -8,23 +8,23 @@ find_package(Git REQUIRED) -execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory "${MX_VENDOR_INSTALL_DIR}") - -add_subdirectory(capnproto) -add_subdirectory(gflags) -add_subdirectory(glog) # Depends on gflags -add_subdirectory(concurrentqueue) -add_subdirectory(reproc) -add_subdirectory(sqlite) -add_subdirectory(gap) -add_subdirectory(zstd) -add_subdirectory(xxhash) -add_subdirectory(rocksdb) # Depends on zstd, gflags -add_subdirectory(llvm-project) # Depends on zstd -add_subdirectory(pasta) # Depends on llvm-project -add_subdirectory(vast) # Depends on gap, llvm-project +find_package(CapnProto CONFIG REQUIRED) +find_package(gflags CONFIG REQUIRED) +find_package(glog CONFIG REQUIRED) +find_package(concurrentqueue MODULE REQUIRED) +find_package(reproc CONFIG REQUIRED) +find_package(SQLite3 MODULE REQUIRED) +find_package(gap CONFIG REQUIRED) +find_package(zstd CONFIG REQUIRED) +find_package(xxHash CONFIG REQUIRED) +find_package(RocksDB CONFIG REQUIRED) # Depends on zstd, gflags +find_package(LLVM CONFIG REQUIRED) +find_package(MLIR CONFIG REQUIRED) +find_package(Clang CONFIG REQUIRED) +find_package(pasta CONFIG REQUIRED) # Depends on llvm-project +find_package(VAST CONFIG REQUIRED) # Depends on gap, llvm-project if(MX_ENABLE_RE2) - add_subdirectory(abseil) - add_subdirectory(re2) # Depends on abseil + find_package(absl CONFIG REQUIRED) + find_package(re2 CONFIG REQUIRED) # Depends on abseil endif() diff --git a/vendor/abseil/CMakeLists.txt b/vendor/abseil/CMakeLists.txt deleted file mode 100644 index b0cb5939d..000000000 --- a/vendor/abseil/CMakeLists.txt +++ /dev/null @@ -1,62 +0,0 @@ -# -# Copyright (c) 2023-present, Trail of Bits, Inc. -# All rights reserved. -# -# This source code is licensed in accordance with the terms specified in -# the LICENSE file found in the root directory of this source tree. -# - -if(NOT MX_USE_VENDORED_ABSEIL) - find_package(absl CONFIG QUIET) - if(absl_FOUND) - return() - endif() -endif() - -set(src_dir "${CMAKE_CURRENT_LIST_DIR}/src") -set(build_dir "${CMAKE_CURRENT_BINARY_DIR}/build") - -# Fetch the submodule if we don't yet have it. -if(NOT EXISTS "${src_dir}/CMakeLists.txt") - execute_process( - COMMAND "${GIT_EXECUTABLE}" submodule update --init vendor/abseil/src - WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}") -endif() - -# This is the main build, setup and execute the nested build -# to ensure the absl library exists before continuing - -execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory "${build_dir}") - -# (b) Nested CMake run. May need more -D... options than shown here. -execute_process(COMMAND ${CMAKE_COMMAND} - -G "${CMAKE_GENERATOR}" - "-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}" - "-DCMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM}" - "-DCMAKE_INSTALL_PREFIX=${MX_VENDOR_INSTALL_DIR}" - "-DCMAKE_INSTALL_RPATH=${CMAKE_INSTALL_RPATH}" - "-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}" - "-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}" - "-DCMAKE_EXE_LINKER_FLAGS=${CMAKE_EXE_LINKER_FLAGS}" - "-DCMAKE_MODULE_LINKER_FLAGS=${CMAKE_MODULE_LINKER_FLAGS}" - "-DCMAKE_SHARED_LINKER_FLAGS=${CMAKE_SHARED_LINKER_FLAGS}" - "-DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD}" - "-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=${CMAKE_INTERPROCEDURAL_OPTIMIZATION}" - -DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON - -DABSL_USE_EXTERNAL_GOOGLETEST:BOOL=OFF - -DABSL_FIND_GOOGLETEST:BOOL=OFF - -DABSL_BUILD_TESTING:BOOL=OFF - -DABSL_BUILD_TEST_HELPERS:BOOL=OFF - -DABSL_PROPAGATE_CXX_STD:BOOL=ON - -DABSL_ENABLE_INSTALL:BOOL=ON - "${src_dir}" - WORKING_DIRECTORY "${build_dir}") - -# (c) Build just mycomp in the nested build. Don't specify a --config -# because we cannot know what config the developer will be using -# at this point. For non-multi-config generators, we've already -# specified CMAKE_BUILD_TYPE above in (b). -execute_process(COMMAND ${CMAKE_COMMAND} --build . --target install - WORKING_DIRECTORY "${build_dir}") - -find_package(absl CONFIG REQUIRED HINTS "${MX_VENDOR_INSTALL_DIR}" NO_DEFAULT_PATH) diff --git a/vendor/abseil/src b/vendor/abseil/src deleted file mode 160000 index 8588e7d14..000000000 --- a/vendor/abseil/src +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 8588e7d14dca32eb2c695a9cd49d272aa23cc483 diff --git a/vendor/capnproto/CMakeLists.txt b/vendor/capnproto/CMakeLists.txt deleted file mode 100644 index b3f21d70d..000000000 --- a/vendor/capnproto/CMakeLists.txt +++ /dev/null @@ -1,66 +0,0 @@ -# -# Copyright (c) 2023-present, Trail of Bits, Inc. -# All rights reserved. -# -# This source code is licensed in accordance with the terms specified in -# the LICENSE file found in the root directory of this source tree. -# - -if(NOT MX_USE_VENDORED_CAPNPROTO) - find_package(CapnProto CONFIG QUIET) - if(CapnProto_FOUND) - return() - endif() -endif() - -set(src_dir "${CMAKE_CURRENT_LIST_DIR}/src") -set(build_dir "${CMAKE_CURRENT_BINARY_DIR}/build") - -# Fetch the submodule if we don't yet have it. -if(NOT EXISTS "${src_dir}/CMakeLists.txt") - execute_process( - COMMAND "${GIT_EXECUTABLE}" submodule update --init vendor/capnproto/src - WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}") -endif() - -# This is the main build, setup and execute the nested build -# to ensure the Cap'n Proto library exists before continuing - -execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory "${build_dir}") - - -# NOTE(pag): This causes some issues. -# "-DCMAKE_INSTALL_RPATH=${CMAKE_INSTALL_RPATH}" - - -# (b) Nested CMake run. May need more -D... options than shown here. -execute_process(COMMAND ${CMAKE_COMMAND} - -G "${CMAKE_GENERATOR}" - "-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}" - "-DCMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM}" - "-DCMAKE_INSTALL_PREFIX=${MX_VENDOR_INSTALL_DIR}" - "-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}" - "-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}" - "-DCMAKE_EXE_LINKER_FLAGS=${CMAKE_EXE_LINKER_FLAGS}" - "-DCMAKE_MODULE_LINKER_FLAGS=${CMAKE_MODULE_LINKER_FLAGS}" - "-DCMAKE_SHARED_LINKER_FLAGS=${CMAKE_SHARED_LINKER_FLAGS}" - "-DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD}" - "-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=${CMAKE_INTERPROCEDURAL_OPTIMIZATION}" - -DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON - -DCAPNP_LITE:BOOL=OFF - -DEXTERNAL_CAPNP:BOOL=OFF - -DBUILD_TESTING:BOOL=OFF - -DWITH_ZLIB:STRING=AUTO - -DWITH_OPENSSL:STRING=AUTO - -DWITH_FIBERS:STRING=OFF - "${src_dir}" - WORKING_DIRECTORY "${build_dir}") - -# (c) Build just mycomp in the nested build. Don't specify a --config -# because we cannot know what config the developer will be using -# at this point. For non-multi-config generators, we've already -# specified CMAKE_BUILD_TYPE above in (b). -execute_process(COMMAND ${CMAKE_COMMAND} --build . --target install - WORKING_DIRECTORY "${build_dir}") - -find_package(CapnProto CONFIG REQUIRED HINTS "${MX_VENDOR_INSTALL_DIR}" NO_DEFAULT_PATH) diff --git a/vendor/capnproto/src b/vendor/capnproto/src deleted file mode 160000 index f5531718b..000000000 --- a/vendor/capnproto/src +++ /dev/null @@ -1 +0,0 @@ -Subproject commit f5531718b95c2ad4fcedc624e0d46866455007f4 diff --git a/vendor/concurrentqueue/CMakeLists.txt b/vendor/concurrentqueue/CMakeLists.txt deleted file mode 100644 index ad753059c..000000000 --- a/vendor/concurrentqueue/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2023-present, Trail of Bits, Inc. -# All rights reserved. -# -# This source code is licensed in accordance with the terms specified in -# the LICENSE file found in the root directory of this source tree. -# - -set(src_dir "${CMAKE_CURRENT_LIST_DIR}/src") - -# Fetch the submodule if we don't yet have it. -if(NOT EXISTS "${src_dir}/CMakeLists.txt") - execute_process( - COMMAND "${GIT_EXECUTABLE}" submodule update --init vendor/concurrentqueue/src - WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}") -endif() - -add_library(concurrentqueue INTERFACE) - -target_include_directories(concurrentqueue INTERFACE - "${CMAKE_CURRENT_LIST_DIR}/src") diff --git a/vendor/concurrentqueue/src b/vendor/concurrentqueue/src deleted file mode 160000 index 6dd38b8a1..000000000 --- a/vendor/concurrentqueue/src +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 6dd38b8a1dbaa7863aa907045f32308a56a6ff5d diff --git a/vendor/gap/CMakeLists.txt b/vendor/gap/CMakeLists.txt deleted file mode 100644 index 277d5ff33..000000000 --- a/vendor/gap/CMakeLists.txt +++ /dev/null @@ -1,64 +0,0 @@ -# -# Copyright (c) 2023-present, Trail of Bits, Inc. -# All rights reserved. -# -# This source code is licensed in accordance with the terms specified in -# the LICENSE file found in the root directory of this source tree. -# - -if(NOT MX_USE_VENDORED_GAP) - - # NOTE(pag): Require that we find Gap in the installation directory. This - # simplifies releases, and ensures that vendoring also installs - # gap into the releases directory. - find_package(gap CONFIG QUIET PATHS "${CMAKE_INSTALL_PREFIX}" NO_DEFAULT_PATH) - if(gap_FOUND) - return() - endif() -endif() - -set(src_dir "${CMAKE_CURRENT_LIST_DIR}/src") -set(build_dir "${CMAKE_CURRENT_BINARY_DIR}/build") - -# Fetch the submodule if we don't yet have it. -if(NOT EXISTS "${src_dir}/CMakeLists.txt") - execute_process( - COMMAND "${GIT_EXECUTABLE}" submodule update --init vendor/gap/src - WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}") -endif() - -# This is the main build, setup and execute the nested build -# to ensure the gap library exists before continuing - -execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory "${build_dir}") - -# NOTE(pag): We use `CMAKE_INSTALL_PREFIX` so that `gap` ends up inside of our -# installation prefix for Multiplier, so that it's easy to -# distribute. -execute_process(COMMAND ${CMAKE_COMMAND} - -G "${CMAKE_GENERATOR}" - "-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}" - "-DCMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM}" - "-DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}" - "-DCMAKE_INSTALL_RPATH=${CMAKE_INSTALL_RPATH}" - "-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}" - "-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}" - "-DCMAKE_EXE_LINKER_FLAGS=${CMAKE_EXE_LINKER_FLAGS}" - "-DCMAKE_MODULE_LINKER_FLAGS=${CMAKE_MODULE_LINKER_FLAGS}" - "-DCMAKE_SHARED_LINKER_FLAGS=${CMAKE_SHARED_LINKER_FLAGS}" - "-DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD}" - "-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=${CMAKE_INTERPROCEDURAL_OPTIMIZATION}" - -DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON - -DGAP_ENABLE_TESTING:BOOL=OFF - -DGAP_ENABLE_EXAMPLES:BOOL=OFF - -DGAP_ENABLE_COROUTINES:BOOL=ON - -DGAP_ENABLE_VCPKG:BOOL=OFF - -DGAP_ENABLE_WARNINGS:BOOL=OFF - -DGAP_INSTALL:BOOL=ON - "${src_dir}" - WORKING_DIRECTORY "${build_dir}") - -execute_process(COMMAND ${CMAKE_COMMAND} --build . --target install - WORKING_DIRECTORY "${build_dir}") - -find_package(gap CONFIG REQUIRED HINTS "${CMAKE_INSTALL_PREFIX}" NO_DEFAULT_PATH) diff --git a/vendor/gap/src b/vendor/gap/src deleted file mode 160000 index ad8fefaf7..000000000 --- a/vendor/gap/src +++ /dev/null @@ -1 +0,0 @@ -Subproject commit ad8fefaf7235a9cd6670e272ca4487807ed81f8a diff --git a/vendor/gflags/CMakeLists.txt b/vendor/gflags/CMakeLists.txt deleted file mode 100644 index 87638f97a..000000000 --- a/vendor/gflags/CMakeLists.txt +++ /dev/null @@ -1,78 +0,0 @@ -# -# Copyright (c) 2023-present, Trail of Bits, Inc. -# All rights reserved. -# -# This source code is licensed in accordance with the terms specified in -# the LICENSE file found in the root directory of this source tree. -# - -if(NOT MX_USE_VENDORED_GFLAGS) - find_package(gflags CONFIG QUIET) - if(gflags_FOUND) - - if(NOT TARGET gflags::gflags) - if(TARGET gflags::gflags_static) - add_library(gflags::gflags ALIAS gflags::gflags_static) - elseif(TARGET gflags_static) - add_library(gflags::gflags_static ALIAS gflags_static) - add_library(gflags::gflags ALIAS gflags_static) - else() - message(FATAL_ERROR "Cannot find appropriate gflags target; known targets are ${gflags_LIBRARIES}") - endif() - endif() - - return() - endif() -endif() - -set(src_dir "${CMAKE_CURRENT_LIST_DIR}/src") -set(build_dir "${CMAKE_CURRENT_BINARY_DIR}/build") - -# Fetch the submodule if we don't yet have it. -if(NOT EXISTS "${src_dir}/CMakeLists.txt") - execute_process( - COMMAND "${GIT_EXECUTABLE}" submodule update --init vendor/gflags/src - WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}") -endif() - -# This is the main build, setup and execute the nested build -# to ensure the gflags library exists before continuing - -execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory "${build_dir}") - -# (b) Nested CMake run. May need more -D... options than shown here. -execute_process(COMMAND ${CMAKE_COMMAND} - -G "${CMAKE_GENERATOR}" - "-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}" - "-DCMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM}" - "-DCMAKE_INSTALL_PREFIX=${MX_VENDOR_INSTALL_DIR}" - "-DCMAKE_INSTALL_RPATH=${CMAKE_INSTALL_RPATH}" - "-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}" - "-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}" - "-DCMAKE_EXE_LINKER_FLAGS=${CMAKE_EXE_LINKER_FLAGS}" - "-DCMAKE_MODULE_LINKER_FLAGS=${CMAKE_MODULE_LINKER_FLAGS}" - "-DCMAKE_SHARED_LINKER_FLAGS=${CMAKE_SHARED_LINKER_FLAGS}" - "-DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD}" - "-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=${CMAKE_INTERPROCEDURAL_OPTIMIZATION}" - -DBUILD_SHARED_LIBS=OFF - -DBUILD_STATIC_LIBS=ON - -DBUILD_gflags_LIB=ON - -DBUILD_gflags_nothreads_LIB=OFF - -DBUILD_PACKAGING=ON - -DBUILD_TESTING=OFF - -DINSTALL_HEADERS=ON - -DINSTALL_SHARED_LIBS=OFF - -DINSTALL_STATIC_LIBS=ON - -DREGISTER_BUILD_DIR=OFF - -DREGISTER_INSTALL_PREFIX=OFF - "${src_dir}" - WORKING_DIRECTORY "${build_dir}") - -# (c) Build just mycomp in the nested build. Don't specify a --config -# because we cannot know what config the developer will be using -# at this point. For non-multi-config generators, we've already -# specified CMAKE_BUILD_TYPE above in (b). -execute_process(COMMAND ${CMAKE_COMMAND} --build . --target install - WORKING_DIRECTORY "${build_dir}") - -find_package(gflags CONFIG REQUIRED HINTS "${MX_VENDOR_INSTALL_DIR}" NO_DEFAULT_PATH) diff --git a/vendor/gflags/src b/vendor/gflags/src deleted file mode 160000 index a738fdf93..000000000 --- a/vendor/gflags/src +++ /dev/null @@ -1 +0,0 @@ -Subproject commit a738fdf9338412f83ab3f26f31ac11ed3f3ec4bd diff --git a/vendor/glog/CMakeLists.txt b/vendor/glog/CMakeLists.txt deleted file mode 100644 index 9486700d4..000000000 --- a/vendor/glog/CMakeLists.txt +++ /dev/null @@ -1,67 +0,0 @@ -# -# Copyright (c) 2023-present, Trail of Bits, Inc. -# All rights reserved. -# -# This source code is licensed in accordance with the terms specified in -# the LICENSE file found in the root directory of this source tree. -# - -if(NOT MX_USE_VENDORED_GLOG) - find_package(glog CONFIG QUIET) - if(glog_FOUND) - return() - endif() -endif() - -find_package(gflags CONFIG REQUIRED QUIET HINTS "${MX_VENDOR_INSTALL_DIR}") - -set(src_dir "${CMAKE_CURRENT_LIST_DIR}/src") -set(build_dir "${CMAKE_CURRENT_BINARY_DIR}/build") - -# Fetch the submodule if we don't yet have it. -if(NOT EXISTS "${src_dir}/CMakeLists.txt") - execute_process( - COMMAND "${GIT_EXECUTABLE}" submodule update --init vendor/glog/src - WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}") -endif() - -# This is the main build, setup and execute the nested build -# to ensure the glog library exists before continuing - -execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory "${build_dir}") - -# (b) Nested CMake run. May need more -D... options than shown here. -execute_process(COMMAND ${CMAKE_COMMAND} - -G "${CMAKE_GENERATOR}" - "-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}" - "-DCMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM}" - "-DCMAKE_INSTALL_PREFIX=${MX_VENDOR_INSTALL_DIR}" - "-DCMAKE_INSTALL_RPATH=${CMAKE_INSTALL_RPATH}" - "-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}" - "-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}" - "-DCMAKE_EXE_LINKER_FLAGS=${CMAKE_EXE_LINKER_FLAGS}" - "-DCMAKE_MODULE_LINKER_FLAGS=${CMAKE_MODULE_LINKER_FLAGS}" - "-DCMAKE_SHARED_LINKER_FLAGS=${CMAKE_SHARED_LINKER_FLAGS}" - "-DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD}" - "-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=${CMAKE_INTERPROCEDURAL_OPTIMIZATION}" - -DBUILD_SHARED_LIBS=OFF - -DPRINT_UNSYMBOLIZED_STACK_TRACES=OFF - -DWITH_GFLAGS=ON - -DWITH_GTEST=OFF - -DWITH_GMOCK=OFF - -DWITH_SYMBOLIZE=OFF - -DWITH_THREADS=ON - -DWITH_TLS=ON - -DWITH_UNWIND=OFF - "-Dgflags_DIR=${gflags_DIR}" - "${src_dir}" - WORKING_DIRECTORY "${build_dir}") - -# (c) Build just mycomp in the nested build. Don't specify a --config -# because we cannot know what config the developer will be using -# at this point. For non-multi-config generators, we've already -# specified CMAKE_BUILD_TYPE above in (b). -execute_process(COMMAND ${CMAKE_COMMAND} --build . --target install - WORKING_DIRECTORY "${build_dir}") - -find_package(glog CONFIG REQUIRED HINTS "${MX_VENDOR_INSTALL_DIR}" NO_DEFAULT_PATH) diff --git a/vendor/glog/src b/vendor/glog/src deleted file mode 160000 index 931323df2..000000000 --- a/vendor/glog/src +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 931323df212c46e3a01b743d761c6ab8dc9f0d09 diff --git a/vendor/llvm-project/CMakeLists.txt b/vendor/llvm-project/CMakeLists.txt deleted file mode 100644 index d6d63b356..000000000 --- a/vendor/llvm-project/CMakeLists.txt +++ /dev/null @@ -1,99 +0,0 @@ -# -# Copyright (c) 2023-present, Trail of Bits, Inc. -# All rights reserved. -# -# This source code is licensed in accordance with the terms specified in -# the LICENSE file found in the root directory of this source tree. -# - -if(NOT MX_USE_VENDORED_CLANG) - find_package(LLVM CONFIG QUIET) - find_package(MLIR CONFIG QUIET) - find_package(Clang CONFIG QUIET) - - if(LLVM_FOUND AND MLIR_FOUND AND Clang_FOUND) - return() - endif() -endif() - -find_package(zstd CONFIG REQUIRED QUIET HINTS "${MX_VENDOR_INSTALL_DIR}") - -set(src_dir "${CMAKE_CURRENT_LIST_DIR}/src") -set(build_dir "${CMAKE_CURRENT_BINARY_DIR}/build") - -# Fetch the submodule if we don't yet have it. -if(NOT EXISTS "${src_dir}/llvm/CMakeLists.txt") - execute_process( - COMMAND "${GIT_EXECUTABLE}" submodule update --init vendor/llvm-project/src - WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}") - - execute_process( - COMMAND "${GIT_EXECUTABLE}" submodule set-branch --branch pasta-llvmorg-17.0.4 vendor/llvm-project/src - WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}") -endif() - -# This is the main build, setup and execute the nested build -# to ensure the Clang and MLIR libraries exist before continuing - -# NOTE(pag): C++17 seems to be needed when building Clang on Linux, due to uses -# of `__is_constructible`. - -execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory "${build_dir}") - -# (b) Nested CMake run. May need more -D... options than shown here. -execute_process(COMMAND ${CMAKE_COMMAND} - -G "${CMAKE_GENERATOR}" - -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} - "-DCMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM}" - "-DCMAKE_INSTALL_PREFIX=${MX_VENDOR_INSTALL_DIR}" - "-DCMAKE_INSTALL_RPATH=${CMAKE_INSTALL_RPATH}" - "-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}" - "-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}" - "-DCMAKE_ASM_COMPILER=${CMAKE_C_COMPILER}" - "-DCMAKE_EXE_LINKER_FLAGS=${CMAKE_EXE_LINKER_FLAGS}" - "-DCMAKE_MODULE_LINKER_FLAGS=${CMAKE_MODULE_LINKER_FLAGS}" - "-DCMAKE_SHARED_LINKER_FLAGS=${CMAKE_SHARED_LINKER_FLAGS}" - -DCMAKE_CXX_STANDARD=17 - "-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=${CMAKE_INTERPROCEDURAL_OPTIMIZATION}" - -DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON - "-DLLVM_ENABLE_PROJECTS=clang;mlir" - "-DLLVM_TARGETS_TO_BUILD=AArch64;X86;ARM" - "-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=ARM" - "-DLLVM_ENABLE_RUNTIMES=libcxx;libcxxabi" - -DBUILD_SHARED_LIBS:BOOL=OFF - -DLLVM_APPEND_VC_REV:BOOL=OFF - -DLLVM_BUILD_DOCS:BOOL=OFF - -DLLVM_INCLUDE_DOCS:BOOL=OFF - -DLLVM_INCLUDE_EXAMPLES:BOOL=OFF - -DLLVM_BUILD_EXAMPLES:BOOL=OFF - -DLLVM_BUILD_LLVM_DYLIB:BOOL=OFF - -DLLVM_BUILD_TESTS:BOOL=OFF - -DLLVM_ENABLE_BINDINGS:BOOL=OFF - -DLLVM_ENABLE_OCAMLDOC:BOOL=OFF - -DLLVM_ENABLE_DIA_SDK:BOOL=OFF - -DLLVM_ENABLE_EH:BOOL=ON - -DLLVM_ENABLE_RTTI:BOOL=ON - -DLLVM_ENABLE_ASSERTIONS:BOOL=ON - -DLLVM_ENABLE_EXPENSIVE_CHECKS:BOOL=OFF - -DLLVM_ENABLE_FFI:BOOL=OFF - -DLLVM_ENABLE_WARNINGS:BOOL=ON - -DLLVM_INCLUDE_BENCHMARKS:BOOL=OFF - -DLLVM_INCLUDE_EXAMPLES:BOOL=OFF - -DLLVM_INCLUDE_TESTS:BOOL=OFF - -DLLVM_INCLUDE_TOOLS:BOOL=ON - -DLLVM_INSTALL_UTILS:BOOL=ON - -DLLVM_ENABLE_ZSTD:BOOL=ON - "zstd_DIR=${zstd_DIR}" - "${src_dir}/llvm" - WORKING_DIRECTORY "${build_dir}") - -# (c) Build just mycomp in the nested build. Don't specify a --config -# because we cannot know what config the developer will be using -# at this point. For non-multi-config generators, we've already -# specified CMAKE_BUILD_TYPE above in (b). -execute_process(COMMAND ${CMAKE_COMMAND} --build . --target install - WORKING_DIRECTORY "${build_dir}") - -find_package(LLVM CONFIG REQUIRED HINTS "${MX_VENDOR_INSTALL_DIR}" NO_DEFAULT_PATH) -find_package(MLIR CONFIG REQUIRED HINTS "${MX_VENDOR_INSTALL_DIR}" NO_DEFAULT_PATH) -find_package(Clang CONFIG REQUIRED PATHS "${MX_VENDOR_INSTALL_DIR}" NO_DEFAULT_PATH) diff --git a/vendor/llvm-project/src b/vendor/llvm-project/src deleted file mode 160000 index 4a2f2bf40..000000000 --- a/vendor/llvm-project/src +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 4a2f2bf40284c7fd988f20f1bd91037189952dcc diff --git a/vendor/pasta/CMakeLists.txt b/vendor/pasta/CMakeLists.txt deleted file mode 100644 index 89fc6138b..000000000 --- a/vendor/pasta/CMakeLists.txt +++ /dev/null @@ -1,68 +0,0 @@ -# -# Copyright (c) 2023-present, Trail of Bits, Inc. -# All rights reserved. -# -# This source code is licensed in accordance with the terms specified in -# the LICENSE file found in the root directory of this source tree. -# - -if(NOT MX_USE_VENDORED_PASTA) - find_package(pasta CONFIG QUIET) - if(pasta_FOUND) - return() - endif() -endif() - -find_package(LLVM CONFIG REQUIRED QUIET HINTS "${MX_VENDOR_INSTALL_DIR}") -find_package(Clang CONFIG REQUIRED QUIET HINTS "${MX_VENDOR_INSTALL_DIR}") - -set(src_dir "${CMAKE_CURRENT_LIST_DIR}/src") -set(build_dir "${CMAKE_CURRENT_BINARY_DIR}/build") - -# Fetch the submodule if we don't yet have it. -if(NOT EXISTS "${src_dir}/CMakeLists.txt") - execute_process( - COMMAND "${GIT_EXECUTABLE}" submodule update --init vendor/pasta/src - WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}") -endif() - -# This is the main build, setup and execute the nested build -# to ensure the pasta library exists before continuing - -execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory "${build_dir}") - -# (b) Nested CMake run. May need more -D... options than shown here. -execute_process(COMMAND ${CMAKE_COMMAND} - -G "${CMAKE_GENERATOR}" - "-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}" - "-DCMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM}" - "-DCMAKE_INSTALL_PREFIX=${MX_VENDOR_INSTALL_DIR}" - "-DCMAKE_INSTALL_RPATH=${CMAKE_INSTALL_RPATH}" - "-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}" - "-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}" - "-DCMAKE_EXE_LINKER_FLAGS=${CMAKE_EXE_LINKER_FLAGS}" - "-DCMAKE_MODULE_LINKER_FLAGS=${CMAKE_MODULE_LINKER_FLAGS}" - "-DCMAKE_SHARED_LINKER_FLAGS=${CMAKE_SHARED_LINKER_FLAGS}" - "-DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD}" - "-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=${CMAKE_INTERPROCEDURAL_OPTIMIZATION}" - -DPASTA_BOOTSTRAP_MACROS:BOOL=OFF - -DPASTA_BOOTSTRAP_TYPES:BOOL=OFF - -DPASTA_ENABLE_TESTING:BOOL=OFF - -DPASTA_ENABLE_PY_BINDINGS:BOOL=OFF - -DPASTA_USE_VENDORED_CLANG:BOOL=OFF - -DPASTA_DISABLE_HOST_COMPILER:BOOL=ON - -DPASTA_ENABLE_INSTALL:BOOL=ON - "-DLLVM_DIR=${LLVM_DIR}" - "-DClang_DIR=${Clang_DIR}" - "${src_dir}" - WORKING_DIRECTORY "${build_dir}" - COMMAND_ECHO STDOUT) - -# (c) Build just mycomp in the nested build. Don't specify a --config -# because we cannot know what config the developer will be using -# at this point. For non-multi-config generators, we've already -# specified CMAKE_BUILD_TYPE above in (b). -execute_process(COMMAND ${CMAKE_COMMAND} --build . --target install - WORKING_DIRECTORY "${build_dir}") - -find_package(pasta CONFIG REQUIRED HINTS "${MX_VENDOR_INSTALL_DIR}" NO_DEFAULT_PATH) diff --git a/vendor/pasta/src b/vendor/pasta/src deleted file mode 160000 index e3b8a4866..000000000 --- a/vendor/pasta/src +++ /dev/null @@ -1 +0,0 @@ -Subproject commit e3b8a4866476b88eec43b0f579cbd4930e5bdfef diff --git a/vendor/re2/CMakeLists.txt b/vendor/re2/CMakeLists.txt deleted file mode 100644 index a1e66b090..000000000 --- a/vendor/re2/CMakeLists.txt +++ /dev/null @@ -1,64 +0,0 @@ -# -# Copyright (c) 2023-present, Trail of Bits, Inc. -# All rights reserved. -# -# This source code is licensed in accordance with the terms specified in -# the LICENSE file found in the root directory of this source tree. -# - -if(NOT MX_USE_VENDORED_RE2) - find_package(re2 CONFIG QUIET) - if(re2_FOUND) - return() - endif() -endif() - -set(src_dir "${CMAKE_CURRENT_LIST_DIR}/src") -set(build_dir "${CMAKE_CURRENT_BINARY_DIR}/build") - -# Fetch the submodule if we don't yet have it. -if(NOT EXISTS "${src_dir}/CMakeLists.txt") - execute_process( - COMMAND "${GIT_EXECUTABLE}" submodule update --init vendor/re2/src - WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}") -endif() - -find_package(absl CONFIG REQUIRED QUITE HINTS "${MX_VENDOR_INSTALL_DIR}") - -# This is the main build, setup and execute the nested build -# to ensure the re2 library exists before continuing - -execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory "${build_dir}") - -# (b) Nested CMake run. May need more -D... options than shown here. -execute_process(COMMAND ${CMAKE_COMMAND} - -G "${CMAKE_GENERATOR}" - "-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}" - "-DCMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM}" - "-DCMAKE_INSTALL_PREFIX=${MX_VENDOR_INSTALL_DIR}" - "-DCMAKE_INSTALL_RPATH=${CMAKE_INSTALL_RPATH}" - "-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}" - "-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}" - "-DCMAKE_EXE_LINKER_FLAGS=${CMAKE_EXE_LINKER_FLAGS}" - "-DCMAKE_MODULE_LINKER_FLAGS=${CMAKE_MODULE_LINKER_FLAGS}" - "-DCMAKE_SHARED_LINKER_FLAGS=${CMAKE_SHARED_LINKER_FLAGS}" - "-DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD}" - "-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=${CMAKE_INTERPROCEDURAL_OPTIMIZATION}" - -DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON - -DBUILD_SHARED_LIBS:BOOL=OFF - -DRE2_USE_ICU:BOOL=OFF - -DUSEPCRE:BOOL=OFF - -DRE2_BUILD_FRAMEWORK:BOOL=OFF - -DRE2_BUILD_TESTING:BOOL=OFF - "-Dabsl_DIR=${absl_DIR}" - "${src_dir}" - WORKING_DIRECTORY "${build_dir}") - -# (c) Build just mycomp in the nested build. Don't specify a --config -# because we cannot know what config the developer will be using -# at this point. For non-multi-config generators, we've already -# specified CMAKE_BUILD_TYPE above in (b). -execute_process(COMMAND ${CMAKE_COMMAND} --build . --target install - WORKING_DIRECTORY "${build_dir}") - -find_package(re2 CONFIG REQUIRED HINTS "${MX_VENDOR_INSTALL_DIR}" NO_DEFAULT_PATH) diff --git a/vendor/re2/src b/vendor/re2/src deleted file mode 160000 index 7e0c1a9e2..000000000 --- a/vendor/re2/src +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 7e0c1a9e2417e70e5f0efc323267ac71d1fa0685 diff --git a/vendor/reproc/CMakeLists.txt b/vendor/reproc/CMakeLists.txt deleted file mode 100644 index 53274c1fa..000000000 --- a/vendor/reproc/CMakeLists.txt +++ /dev/null @@ -1,76 +0,0 @@ -# -# Copyright (c) 2023-present, Trail of Bits, Inc. -# All rights reserved. -# -# This source code is licensed in accordance with the terms specified in -# the LICENSE file found in the root directory of this source tree. -# - -if(NOT MX_USE_VENDORED_REPROC) - find_package(reproc++ CONFIG QUIET) - if(reproc++_FOUND) - return() - endif() -endif() - -set(src_dir "${CMAKE_CURRENT_LIST_DIR}/src") -set(build_dir "${CMAKE_CURRENT_BINARY_DIR}/build") - -# Fetch the submodule if we don't yet have it. -if(NOT EXISTS "${src_dir}/CMakeLists.txt") - execute_process( - COMMAND "${GIT_EXECUTABLE}" submodule update --init vendor/reproc/src - WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}") -endif() - -# This is the main build, setup and execute the nested build -# to ensure the reproc library exists before continuing - -execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory "${build_dir}") - -# set(REPROC_MULTITHREADED ON) -# set(REPROC_DEVELOP OFF) -# set(REPROC++ ON) -# set(REPROC_TEST OFF) -# set(REPROC_EXAMPLES OFF) -# set(REPROC_WARNINGS $) -# set(REPROC_TIDY OFF) -# set(REPROC_WARNINGS_AS_ERRORS OFF) - -# (b) Nested CMake run. May need more -D... options than shown here. -execute_process(COMMAND ${CMAKE_COMMAND} - -G "${CMAKE_GENERATOR}" - "-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}" - "-DCMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM}" - "-DCMAKE_INSTALL_PREFIX=${MX_VENDOR_INSTALL_DIR}" - "-DCMAKE_INSTALL_RPATH=${CMAKE_INSTALL_RPATH}" - "-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}" - "-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}" - "-DCMAKE_EXE_LINKER_FLAGS=${CMAKE_EXE_LINKER_FLAGS}" - "-DCMAKE_MODULE_LINKER_FLAGS=${CMAKE_MODULE_LINKER_FLAGS}" - "-DCMAKE_SHARED_LINKER_FLAGS=${CMAKE_SHARED_LINKER_FLAGS}" - "-DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD}" - "-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=${CMAKE_INTERPROCEDURAL_OPTIMIZATION}" - -DREPROC_MULTITHREADED=ON - "-DREPROC++=ON" - -DREPROC_DEVELOP=OFF - -DREPROC_TEST=OFF - -DREPROC_EXAMPLES=OFF - -DREPROC_WARNINGS=$ - -DREPROC_TIDY=OFF - -DREPROC_WARNINGS_AS_ERRORS=OFF - -DREPROC_OBJECT_LIBRARIES=OFF - -DREPROC_INSTALL=ON - -DREPROC_INSTALL_PKGCONFIG=ON - "${src_dir}" - WORKING_DIRECTORY "${build_dir}") - -# (c) Build just mycomp in the nested build. Don't specify a --config -# because we cannot know what config the developer will be using -# at this point. For non-multi-config generators, we've already -# specified CMAKE_BUILD_TYPE above in (b). -execute_process(COMMAND ${CMAKE_COMMAND} --build . --target install - WORKING_DIRECTORY "${build_dir}") - -find_package(reproc CONFIG REQUIRED HINTS "${MX_VENDOR_INSTALL_DIR}" NO_DEFAULT_PATH) -find_package(reproc++ CONFIG REQUIRED HINTS "${MX_VENDOR_INSTALL_DIR}" NO_DEFAULT_PATH) diff --git a/vendor/reproc/src b/vendor/reproc/src deleted file mode 160000 index 1c07bdbec..000000000 --- a/vendor/reproc/src +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 1c07bdbec3f2ecba7125b9499b9a8a77bf9aa8c7 diff --git a/vendor/rocksdb/CMakeLists.txt b/vendor/rocksdb/CMakeLists.txt deleted file mode 100644 index 6a19b3d1a..000000000 --- a/vendor/rocksdb/CMakeLists.txt +++ /dev/null @@ -1,81 +0,0 @@ -# -# Copyright (c) 2023-present, Trail of Bits, Inc. -# All rights reserved. -# -# This source code is licensed in accordance with the terms specified in -# the LICENSE file found in the root directory of this source tree. -# - -if(NOT MX_USE_VENDORED_ROCKSDB) - find_package(RocksDB CONFIG QUIET) - if(RocksDB_FOUND) - return() - endif() -endif() - -find_package(zstd CONFIG REQUIRED QUIET HINTS "${MX_VENDOR_INSTALL_DIR}") -find_package(gflags CONFIG REQUIRED QUIET HINTS "${MX_VENDOR_INSTALL_DIR}") - -set(src_dir "${CMAKE_CURRENT_LIST_DIR}/src") -set(build_dir "${CMAKE_CURRENT_BINARY_DIR}/build") - -# Fetch the submodule if we don't yet have it. -if(NOT EXISTS "${src_dir}/CMakeLists.txt") - execute_process( - COMMAND "${GIT_EXECUTABLE}" submodule update --init vendor/rocksdb/src - WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}") -endif() - -# This is the main build, setup and execute the nested build -# to ensure the rocksdb library exists before continuing - -execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory "${build_dir}") - -# (b) Nested CMake run. May need more -D... options than shown here. -execute_process(COMMAND ${CMAKE_COMMAND} - -G "${CMAKE_GENERATOR}" - "-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}" - "-DCMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM}" - "-DCMAKE_INSTALL_PREFIX=${MX_VENDOR_INSTALL_DIR}" - "-DCMAKE_INSTALL_RPATH=${CMAKE_INSTALL_RPATH}" - "-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}" - "-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}" - "-DCMAKE_EXE_LINKER_FLAGS=${CMAKE_EXE_LINKER_FLAGS}" - "-DCMAKE_MODULE_LINKER_FLAGS=${CMAKE_MODULE_LINKER_FLAGS}" - "-DCMAKE_SHARED_LINKER_FLAGS=${CMAKE_SHARED_LINKER_FLAGS}" - "-DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD}" - "-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=${CMAKE_INTERPROCEDURAL_OPTIMIZATION}" - -DWITH_JEMALLOC:BOOL=OFF - -DWITH_GFLAGS:BOOL=ON - "-Dgflags_DIR:PATH=${gflags_DIR}" - -DWITH_ZLIB:BOOL=OFF - -DWITH_LZ4:BOOL=OFF - -DWITH_BZ2:BOOL=OFF - -DWITH_SNAPPY:BOOL=OFF - -DWITH_ZSTD:BOOL=ON - "-Dzstd_DIR:PATH=${zstd_DIR}" - -DWITH_EXAMPLES:BOOL=OFF - -DWITH_BENCHMARK:BOOL=OFF - -DWITH_TESTS:BOOL=OFF - -DWITH_ALL_TESTS:BOOL=OFF - -DWITH_TOOLS:BOOL=OFF - -DWITH_TRACE_TOOLS:BOOL=OFF - -DWITH_CORE_TOOLS:BOOL=OFF - -DWITH_BENCHMARK_TOOLS:BOOL=OFF - -DWITH_RUNTIME_DEBUG:BOOL=OFF - -DFAIL_ON_WARNINGS:BOOL=OFF - -DWITH_DYNAMIC_EXTENSION:BOOL=OFF - -DROCKSDB_BUILD_SHARED:BOOL=OFF - -DBUILD_TESTING:BOOL=OFF - -DUSE_RTTI:BOOL=ON - "${src_dir}" - WORKING_DIRECTORY "${build_dir}") - -# (c) Build just rocksdb in the nested build. Don't specify a --config -# because we cannot know what config the developer will be using -# at this point. For non-multi-config generators, we've already -# specified CMAKE_BUILD_TYPE above in (b). -execute_process(COMMAND ${CMAKE_COMMAND} --build . --target install - WORKING_DIRECTORY "${build_dir}") - -find_package(RocksDB CONFIG REQUIRED HINTS "${MX_VENDOR_INSTALL_DIR}" NO_DEFAULT_PATH) diff --git a/vendor/rocksdb/src b/vendor/rocksdb/src deleted file mode 160000 index 0ebe1614c..000000000 --- a/vendor/rocksdb/src +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 0ebe1614cb657000127da2dc490fc7a2a706d2f7 diff --git a/vendor/sqlite/CMakeLists.txt b/vendor/sqlite/CMakeLists.txt deleted file mode 100644 index 39201c968..000000000 --- a/vendor/sqlite/CMakeLists.txt +++ /dev/null @@ -1,64 +0,0 @@ -# -# Copyright (c) 2022-present, Trail of Bits, Inc. -# All rights reserved. -# -# This source code is licensed in accordance with the terms specified in -# the LICENSE file found in the root directory of this source tree. -# - -include(FetchContent) - -# Avoid warning about DOWNLOAD_EXTRACT_TIMESTAMP in CMake 3.24: -if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.24.0") - cmake_policy(SET CMP0135 NEW) -endif() - -FetchContent_Declare( - sqlite - URL https://sqlite.org/2023/sqlite-amalgamation-3430000.zip - URL_HASH SHA3_256=1286856f5dff3b145f02dfe5aa626657c172a415889e5a265dc4dee83a799c03 -) - -FetchContent_MakeAvailable(sqlite) - -add_library("mx-sqlite" STATIC - "${sqlite_SOURCE_DIR}/sqlite3.c" -) - -target_include_directories("mx-sqlite" - PUBLIC - ${sqlite_SOURCE_DIR} -) - -target_compile_definitions("mx-sqlite" - PRIVATE - $<$:SQLITE_DEBUG=1> - "-DSQLITE_ENABLE_FTS5" - "-DSQLITE_ENABLE_RTREE" - "-DSQLITE_UNTESTABLE" - "-DSQLITE_OMIT_DECLTYPE" - "-DSQLITE_OMIT_DEPRECATED" - "-DSQLITE_OMIT_PROGRESS_CALLBACK" - "-DSQLITE_OMIT_SHARED_CACHE" - "-DSQLITE_OMIT_LOAD_EXTENSION" - "-DSQLITE_LIKE_DOESNT_MATCH_BLOBS" - "-DSQLITE_DEFAULT_MEMSTATUS=0" - "-DSQLITE_MAX_EXPR_DEPTH=0" - "-DSQLITE_THREADSAFE=2" -) - -# TODO(pag): Consider installing sqlite.h into the header - -set_target_properties("mx-sqlite" - PROPERTIES - LINKER_LANGUAGE - C - VISIBILITY_INLINES_HIDDEN - YES - PUBLIC_HEADER - "${sqlite_SOURCE_DIR}/sqlite3.h" - C_VISIBILITY_PRESET - hidden - POSITION_INDEPENDENT_CODE - YES -) diff --git a/vendor/vast/CMakeLists.txt b/vendor/vast/CMakeLists.txt deleted file mode 100644 index 713cbd639..000000000 --- a/vendor/vast/CMakeLists.txt +++ /dev/null @@ -1,73 +0,0 @@ -# -# Copyright (c) 2023-present, Trail of Bits, Inc. -# All rights reserved. -# -# This source code is licensed in accordance with the terms specified in -# the LICENSE file found in the root directory of this source tree. -# - -if(NOT MX_USE_VENDORED_VAST) - find_package(VAST CONFIG QUIET) - if(VAST_FOUND) - return() - endif() -endif() - -find_package(gap CONFIG REQUIRED QUIET) -find_package(LLVM CONFIG REQUIRED QUIET HINTS "${MX_VENDOR_INSTALL_DIR}") -find_package(MLIR CONFIG REQUIRED QUIET HINTS "${MX_VENDOR_INSTALL_DIR}") -find_package(Clang CONFIG REQUIRED QUIET HINTS "${MX_VENDOR_INSTALL_DIR}") - -set(src_dir "${CMAKE_CURRENT_LIST_DIR}/src") -set(build_dir "${CMAKE_CURRENT_BINARY_DIR}/build") - -# Fetch the submodule if we don't yet have it. -if(NOT EXISTS "${src_dir}/CMakeLists.txt") - execute_process( - COMMAND "${GIT_EXECUTABLE}" submodule update --init vendor/vast/src - WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}") - - execute_process( - COMMAND "${GIT_EXECUTABLE}" submodule set-branch --branch mx_codegen vendor/vast/src - WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}") -endif() - -# This is the main build, setup and execute the nested build -# to ensure the pasta library exists before continuing - -execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory "${build_dir}") - -# (b) Nested CMake run. May need more -D... options than shown here. -execute_process(COMMAND ${CMAKE_COMMAND} - -G "${CMAKE_GENERATOR}" - "-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}" - "-DCMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM}" - "-DCMAKE_INSTALL_PREFIX=${MX_VENDOR_INSTALL_DIR}" - "-DCMAKE_INSTALL_RPATH=${CMAKE_INSTALL_RPATH}" - "-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}" - "-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}" - "-DCMAKE_EXE_LINKER_FLAGS=${CMAKE_EXE_LINKER_FLAGS}" - "-DCMAKE_MODULE_LINKER_FLAGS=${CMAKE_MODULE_LINKER_FLAGS}" - "-DCMAKE_SHARED_LINKER_FLAGS=${CMAKE_SHARED_LINKER_FLAGS}" - "-DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD}" - "-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=${CMAKE_INTERPROCEDURAL_OPTIMIZATION}" - -DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON - -DVAST_ENABLE_GAP_SUBMODULE:BOOL=FALSE - -DVAST_WARNINGS_AS_ERRORS:BOOL=FALSE - -DVAST_ENABLE_TESTING:BOOL=OFF - "-Dgap_DIR=${gap_DIR}" - "-DLLVM_DIR=${LLVM_DIR}" - "-DMLIR_DIR=${MLIR_DIR}" - "-DClang_DIR=${Clang_DIR}" - "${src_dir}" - WORKING_DIRECTORY "${build_dir}" - COMMAND_ECHO STDOUT) - -# (c) Build just mycomp in the nested build. Don't specify a --config -# because we cannot know what config the developer will be using -# at this point. For non-multi-config generators, we've already -# specified CMAKE_BUILD_TYPE above in (b). -execute_process(COMMAND ${CMAKE_COMMAND} --build . --target install - WORKING_DIRECTORY "${build_dir}") - -find_package(VAST CONFIG REQUIRED HINTS "${MX_VENDOR_INSTALL_DIR}" NO_DEFAULT_PATH) diff --git a/vendor/vast/src b/vendor/vast/src deleted file mode 160000 index 7432a1f98..000000000 --- a/vendor/vast/src +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 7432a1f9858c355bf35f82635def58fe26a3a9b0 diff --git a/vendor/xxhash/CMakeLists.txt b/vendor/xxhash/CMakeLists.txt deleted file mode 100644 index 3938c8445..000000000 --- a/vendor/xxhash/CMakeLists.txt +++ /dev/null @@ -1,59 +0,0 @@ -# -# Copyright (c) 2023-present, Trail of Bits, Inc. -# All rights reserved. -# -# This source code is licensed in accordance with the terms specified in -# the LICENSE file found in the root directory of this source tree. -# - -if(NOT MX_USE_VENDORED_XXHASH) - find_package(xxHash CONFIG QUIET) - if(xxHash_FOUND) - return() - endif() -endif() - -set(src_dir "${CMAKE_CURRENT_LIST_DIR}/src/cmake_unofficial") -set(build_dir "${CMAKE_CURRENT_BINARY_DIR}/build") - -# Fetch the submodule if we don't yet have it. -if(NOT EXISTS "${src_dir}/CMakeLists.txt") - execute_process( - COMMAND "${GIT_EXECUTABLE}" submodule update --init vendor/xxhash/src - WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}") -endif() - -# This is the main build, setup and execute the nested build -# to ensure the xxhash library exists before continuing - -execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory "${build_dir}") - -# (b) Nested CMake run. May need more -D... options than shown here. -execute_process(COMMAND ${CMAKE_COMMAND} - -G "${CMAKE_GENERATOR}" - "-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}" - "-DCMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM}" - "-DCMAKE_INSTALL_PREFIX=${MX_VENDOR_INSTALL_DIR}" - "-DCMAKE_INSTALL_RPATH=${CMAKE_INSTALL_RPATH}" - "-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}" - "-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}" - "-DCMAKE_EXE_LINKER_FLAGS=${CMAKE_EXE_LINKER_FLAGS}" - "-DCMAKE_MODULE_LINKER_FLAGS=${CMAKE_MODULE_LINKER_FLAGS}" - "-DCMAKE_SHARED_LINKER_FLAGS=${CMAKE_SHARED_LINKER_FLAGS}" - "-DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD}" - "-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=${CMAKE_INTERPROCEDURAL_OPTIMIZATION}" - -DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON - -DXXHASH_BUILD_XXHSUM=OFF - -DXXHASH_BUNDLED_MODE:BOOL=OFF - -DBUILD_SHARED_LIBS=OFF - "${src_dir}" - WORKING_DIRECTORY "${build_dir}") - -# (c) Build just mycomp in the nested build. Don't specify a --config -# because we cannot know what config the developer will be using -# at this point. For non-multi-config generators, we've already -# specified CMAKE_BUILD_TYPE above in (b). -execute_process(COMMAND ${CMAKE_COMMAND} --build . --target install - WORKING_DIRECTORY "${build_dir}") - -find_package(xxHash CONFIG REQUIRED HINTS "${MX_VENDOR_INSTALL_DIR}" NO_DEFAULT_PATH) diff --git a/vendor/xxhash/src b/vendor/xxhash/src deleted file mode 160000 index 2b23bc535..000000000 --- a/vendor/xxhash/src +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 2b23bc5356f992bb911a7251fd6c14902829c44f diff --git a/vendor/zstd/CMakeLists.txt b/vendor/zstd/CMakeLists.txt deleted file mode 100644 index 10be31620..000000000 --- a/vendor/zstd/CMakeLists.txt +++ /dev/null @@ -1,67 +0,0 @@ -# -# Copyright (c) 2023-present, Trail of Bits, Inc. -# All rights reserved. -# -# This source code is licensed in accordance with the terms specified in -# the LICENSE file found in the root directory of this source tree. -# - -if(NOT MX_USE_VENDORED_ZSTD) - find_package(zstd CONFIG QUIET) - if(zstd_FOUND) - return() - endif() -endif() - -set(src_dir "${CMAKE_CURRENT_LIST_DIR}/src/build/cmake") -set(build_dir "${CMAKE_CURRENT_BINARY_DIR}/build") - -# Fetch the submodule if we don't yet have it. -if(NOT EXISTS "${src_dir}/CMakeLists.txt") - execute_process( - COMMAND "${GIT_EXECUTABLE}" submodule update --init vendor/zstd/src - WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}") -endif() - -# This is the main build, setup and execute the nested build -# to ensure the zstd library exists before continuing - -execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory "${build_dir}") - -# (b) Nested CMake run. May need more -D... options than shown here. -execute_process(COMMAND ${CMAKE_COMMAND} - -G "${CMAKE_GENERATOR}" - "-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}" - "-DCMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM}" - "-DCMAKE_INSTALL_PREFIX=${MX_VENDOR_INSTALL_DIR}" - "-DCMAKE_INSTALL_RPATH=${CMAKE_INSTALL_RPATH}" - "-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}" - "-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}" - "-DCMAKE_EXE_LINKER_FLAGS=${CMAKE_EXE_LINKER_FLAGS}" - "-DCMAKE_MODULE_LINKER_FLAGS=${CMAKE_MODULE_LINKER_FLAGS}" - "-DCMAKE_SHARED_LINKER_FLAGS=${CMAKE_SHARED_LINKER_FLAGS}" - "-DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD}" - "-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=${CMAKE_INTERPROCEDURAL_OPTIMIZATION}" - -DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON - -DZSTD_LEGACY_SUPPORT=OFF - -DZSTD_MULTITHREAD_SUPPORT_DEFAULT=ON - -DZSTD_LEGACY_SUPPORT=OFF - -DZSTD_BUILD_PROGRAMS=OFF - -DZSTD_BUILD_CONTRIB=OFF - -DZSTD_BUILD_TESTS=OFF - -DZSTD_BUILD_SHARED=OFF - -DZSTD_BUILD_STATIC=ON - -DZSTD_USE_STATIC_RUNTIME=ON - -DZSTD_PROGRAMS_LINK_SHARED=OFF - -DBUILD_TESTING=OFF - "${src_dir}" - WORKING_DIRECTORY "${build_dir}") - -# (c) Build just mycomp in the nested build. Don't specify a --config -# because we cannot know what config the developer will be using -# at this point. For non-multi-config generators, we've already -# specified CMAKE_BUILD_TYPE above in (b). -execute_process(COMMAND ${CMAKE_COMMAND} --build . --target install - WORKING_DIRECTORY "${build_dir}") - -find_package(zstd CONFIG REQUIRED HINTS "${MX_VENDOR_INSTALL_DIR}" NO_DEFAULT_PATH) diff --git a/vendor/zstd/src b/vendor/zstd/src deleted file mode 160000 index 126ec2669..000000000 --- a/vendor/zstd/src +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 126ec2669c927b24acd38ea903a211c1b5416588