Skip to content

Commit

Permalink
Refine build instructions. Configure C/C++ compilers and linker via e…
Browse files Browse the repository at this point in the history
…nvironment variables.

Signed-off-by: Vladimir Shiryaev <w@tagolog.com>
  • Loading branch information
Vladimir Shiryaev committed Feb 14, 2025
1 parent 2efc3aa commit df7139a
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 15 deletions.
34 changes: 21 additions & 13 deletions build_tools/build_mlir.sh
Original file line number Diff line number Diff line change
Expand Up @@ -17,20 +17,28 @@ LLVM_INSTALL_DIR=$P4MLIR_REPO_DIR/install
mkdir -p "$LLVM_BUILD_DIR"
cd "$LLVM_BUILD_DIR"

# Configure CMake flags
# Note that P4C uses both RTTI and C++ exceptions, so we need to build LLVM/MLIR having them enabled as well
cmake -G Ninja "$LLVM_REPO_DIR"/llvm \
-DCMAKE_INSTALL_PREFIX="$LLVM_INSTALL_DIR" \
-DLLVM_ENABLE_PROJECTS=mlir \
-DLLVM_BUILD_EXAMPLES=OFF \
-DLLVM_TARGETS_TO_BUILD="Native" \
-DCMAKE_BUILD_TYPE=Release \
-DLLVM_ENABLE_ASSERTIONS=ON \
-DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DLLVM_ENABLE_LLD=ON \
-DLLVM_CCACHE_BUILD=ON \
-DLLVM_INSTALL_UTILS=ON \
-DLLVM_INCLUDE_BENCHMARKS=OFF \
-DLLVM_ENABLE_RTTI=ON \
-DLLVM_ENABLE_EH=ON
CMAKE_FLAGS="-DCMAKE_INSTALL_PREFIX=\"$LLVM_INSTALL_DIR\""
CMAKE_FLAGS+=" -DLLVM_ENABLE_PROJECTS=mlir"
CMAKE_FLAGS+=" -DLLVM_BUILD_EXAMPLES=OFF"
CMAKE_FLAGS+=" -DLLVM_TARGETS_TO_BUILD="Native""
CMAKE_FLAGS+=" -DCMAKE_BUILD_TYPE=Release"
CMAKE_FLAGS+=" -DLLVM_ENABLE_ASSERTIONS=ON"
CMAKE_FLAGS+=" -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER:-clang}"
CMAKE_FLAGS+=" -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER:-clang++}"
if [[ -n "${LLVM_USE_LINKER}" ]]; then
CMAKE_FLAGS+=" -DLLVM_USE_LINKER=${LLVM_USE_LINKER}"
else
CMAKE_FLAGS+=" -DLLVM_ENABLE_LLD=ON"
fi
CMAKE_FLAGS+=" -DLLVM_CCACHE_BUILD=ON"
CMAKE_FLAGS+=" -DLLVM_INSTALL_UTILS=ON"
CMAKE_FLAGS+=" -DLLVM_INCLUDE_BENCHMARKS=OFF"
CMAKE_FLAGS+=" -DLLVM_ENABLE_RTTI=ON"
CMAKE_FLAGS+=" -DLLVM_ENABLE_EH=ON"

cmake -G Ninja "$LLVM_REPO_DIR"/llvm $CMAKE_FLAGS

ninja
ninja check-mlir
Expand Down
4 changes: 2 additions & 2 deletions build_tools/build_p4c_with_p4mlir_ext.sh
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,8 @@ if [ ! -d "$P4C_P4MLIR_EXT_DIR" ]; then
fi

# Configure CMake flags
CMAKE_FLAGS="-DCMAKE_C_COMPILER=clang"
CMAKE_FLAGS+=" -DCMAKE_CXX_COMPILER=clang++"
CMAKE_FLAGS="-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER:-clang}"
CMAKE_FLAGS+=" -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER:-clang++}"

# Configure P4C CMake flags
# https://github.com/p4lang/p4c/blob/main/CMakeLists.txt
Expand Down

0 comments on commit df7139a

Please sign in to comment.