@@ -42,21 +42,37 @@ jobs:
4242 sudo apt-get remove -y llvm-16* clang-16*
4343 sudo rm -rf /usr/lib/llvm-16
4444
45+ - name : Configuring CMake (Clang)
46+ run : |
47+ mkdir build
48+ mkdir dist
49+ cd build
50+ working-directory : llvm-project/clang
51+
52+ - name : Configuring CMake (Clang)
53+ run : |
54+ cmake ../CMakeLists.txt -G Ninja -DCMAKE_C_COMPILER="gcc" -DCMAKE_CXX_COMPILER="g++" -DLLVM_ENABLE_PROJECTS="clang" -DLLVM_ENABLE_TERMINFO=OFF -DLLVM_ENABLE_ZLIB=OFF -DCMAKE_DISABLE_FIND_PACKAGE_LibXml2=TRUE -DLLVM_ENABLE_LIBXML2=0 -DLLVM_ENABLE_LIBPFM=OFF -DLLVM_ENABLE_LIBEDIT=OFF -DLLVM_ENABLE_Z3_SOLVER=OFF -DLLVM_ENABLE_RTTI=OFF -DLLVM_INCLUDE_UTILS=OFF -DCMAKE_INSTALL_PREFIX="../dist" -DCMAKE_BUILD_TYPE=MinSizeReel -DLLVM_BUILD_TESTS=OFF -DLLVM_BUILD_EXAMPLES=OFF -DLLVM_INCLUDE_TESTS=OFF -DLLVM_INCLUDE_EXAMPLES=OFF -DLLVM_INCLUDE_DOCS=OFF
55+ working-directory : llvm-project/clang/build
56+
57+ - name : Building Clang
58+ run : |
59+ ninja -j$(nproc) clang
60+ working-directory : llvm-project/clang/build
61+
4562 - name : Preparing for build (LLVM-C API)
4663 run : |
4764 mkdir build
4865 mkdir dist
4966 cd build
5067 working-directory : llvm-project/llvm
51-
68+
5269 - name : Configuring CMake (LLVM C API)
5370 run : |
5471 cmake ../CMakeLists.txt -G Ninja -DCMAKE_C_COMPILER="gcc" -DCMAKE_CXX_COMPILER="g++" -DLLVM_ENABLE_PROJECTS="llvm;lld" -DLLVM_ENABLE_TERMINFO=OFF -DLLVM_ENABLE_ZLIB=OFF -DCMAKE_DISABLE_FIND_PACKAGE_LibXml2=TRUE -DLLVM_ENABLE_LIBXML2=0 -DLLVM_INCLUDE_UTILS=OFF -DCMAKE_INSTALL_PREFIX="../dist" -DCMAKE_BUILD_TYPE=MinSizeReel -DLLVM_TARGETS_TO_BUILD="X86" -DLLVM_BUILD_TESTS=OFF -DLLVM_BUILD_EXAMPLES=OFF -DLLVM_INCLUDE_TESTS=OFF -DLLVM_INCLUDE_EXAMPLES=OFF -DLLVM_INCLUDE_DOCS=OFF
5572 working-directory : llvm-project/llvm/build
5673
5774 - name : Building LLVM C API
5875 run : |
59- ninja -j$(nproc) libc
6076 ninja -j$(nproc) liblldCOFF.a liblldCommon.a liblldELF.a liblldMachO.a liblldMinGW.a liblldWasm.a
6177 ninja -j$(nproc) libLLVMAggressiveInstCombine.a libLLVMAnalysis.a libLLVMAsmParser.a libLLVMAsmPrinter.a libLLVMBinaryFormat.a libLLVMBitReader.a libLLVMBitWriter.a libLLVMBitstreamReader.a libLLVMCFGuard.a libLLVMCFIVerify.a libLLVMCodeGen.a libLLVMCodeGenTypes.a libLLVMCore.a libLLVMCoroutines.a libLLVMCoverage.a libLLVMDWARFLinker.a libLLVMDWARFLinkerParallel.a libLLVMDWP.a libLLVMDebugInfoBTF.a libLLVMDebugInfoCodeView.a libLLVMDebugInfoDWARF.a libLLVMDebugInfoGSYM.a libLLVMDebugInfoLogicalView.a libLLVMDebugInfoMSF.a libLLVMDebugInfoPDB.a libLLVMDebuginfod.a libLLVMDemangle.a libLLVMDiff.a libLLVMDlltoolDriver.a libLLVMExecutionEngine.a libLLVMExegesis.a libLLVMExegesisX86.a libLLVMExtensions.a libLLVMFileCheck.a libLLVMFrontendHLSL.a libLLVMFrontendOpenACC.a libLLVMFrontendOpenMP.a libLLVMFuzzMutate.a libLLVMFuzzerCLI.a libLLVMGlobalISel.a libLLVMIRPrinter.a libLLVMIRReader.a libLLVMInstCombine.a libLLVMInstrumentation.a libLLVMInterfaceStub.a libLLVMInterpreter.a libLLVMJITLink.a libLLVMLTO.a libLLVMLibDriver.a libLLVMLineEditor.a libLLVMLinker.a libLLVMMC.a libLLVMMCA.a libLLVMMCDisassembler.a libLLVMMCJIT.a libLLVMMCParser.a libLLVMMIRParser.a libLLVMObjCARCOpts.a libLLVMObjCopy.a libLLVMObject.a libLLVMObjectYAML.a libLLVMOption.a libLLVMOrcJIT.a libLLVMOrcShared.a libLLVMOrcTargetProcess.a libLLVMPasses.a libLLVMProfileData.a libLLVMRemarks.a libLLVMRuntimeDyld.a libLLVMScalarOpts.a libLLVMSelectionDAG.a libLLVMSupport.a libLLVMSymbolize.a libLLVMTableGen.a libLLVMTableGenCommon.a libLLVMTableGenGlobalISel.a libLLVMTarget.a libLLVMTargetParser.a libLLVMTextAPI.a libLLVMTransformUtils.a libLLVMVectorize.a libLLVMWindowsDriver.a libLLVMWindowsManifest.a libLLVMX86AsmParser.a libLLVMX86CodeGen.a libLLVMX86Desc.a libLLVMX86Disassembler.a libLLVMX86Info.a libLLVMX86TargetMCA.a libLLVMXRay.a libLLVMipo.a libLTO.so
6278 ninja -j$(nproc) llvm-config
@@ -67,12 +83,17 @@ jobs:
6783 ninja install
6884 working-directory : llvm-project/llvm/build
6985
70- - name : Packaging LLVM C API (LLVM C API Libraries, LLVM Linker Libraries & C Runtime )
86+ - name : Packaging LLVM C API (LLVM C API Libraries, LLVM Linker Libraries)
7187 run : |
7288 tar --format=pax -cJf runtimes.tar.xz --exclude='*/*.cmake' --exclude='*/*.d' runtimes
7389 tar --format=pax -cJf libraries.tar.xz --exclude='*/*.o' --exclude='*/*.cmake' --exclude='*/*.d' lib
7490 working-directory : llvm-project/llvm/build
7591
92+ - name : Packaging Clang
93+ run : |
94+ tar --format=pax -cJf clang.tar.xz clang
95+ working-directory : llvm-project/clang/build/bin
96+
7697 - name : Packaging LLVM C API (Includes)
7798 run : |
7899 tar --format=pax -cJf includes.tar.xz --exclude='*/*.o' --exclude='*/*.cmake' --exclude='*/*.d' include
89110 LLVM C API (v17.0.6) libraries for Linux x86_64 environments.
90111
91112 files : |
113+ llvm-project/clang/build/bin/clang.tar.xz
92114 llvm-project/llvm/build/bin/llvm-config
93115 llvm-project/llvm/build/runtimes.tar.xz
94116 llvm-project/llvm/build/libraries.tar.xz
0 commit comments