blob: 9e6e66faf03d3e5c670fba035586daa6f799fef3 [file] [log] [blame]
#!/bin/sh
# Get LLVM libraries
if [ ${nollvmconfig} = 1 ] && [ ${llvm_static} = true ]; then
llvmlibs='libLLVMCoroutines.a libLLVMipo.a libLLVMInstrumentation.a libLLVMVectorize.a libLLVMLinker.a libLLVMIRReader.a libLLVMAsmParser.a libLLVMFrontendOpenMP.a libLLVMX86Disassembler.a libLLVMX86AsmParser.a libLLVMX86CodeGen.a libLLVMCFGuard.a libLLVMGlobalISel.a libLLVMSelectionDAG.a libLLVMAsmPrinter.a libLLVMDebugInfoDWARF.a libLLVMCodeGen.a libLLVMScalarOpts.a libLLVMInstCombine.a libLLVMAggressiveInstCombine.a libLLVMTransformUtils.a libLLVMBitWriter.a libLLVMX86Desc.a libLLVMMCDisassembler.a libLLVMX86Info.a libLLVMMCJIT.a libLLVMExecutionEngine.a libLLVMTarget.a libLLVMAnalysis.a libLLVMProfileData.a libLLVMRuntimeDyld.a libLLVMObject.a libLLVMTextAPI.a libLLVMMCParser.a libLLVMBitReader.a libLLVMMC.a libLLVMDebugInfoCodeView.a libLLVMDebugInfoMSF.a libLLVMCore.a libLLVMRemarks.a libLLVMBitstreamReader.a libLLVMBinaryFormat.a libLLVMSupport.a libLLVMDemangle.a'
fi
if ! [ ${nollvmconfig} = 1 ] && [ ${llvm_static} = true ]; then
llvmlibs=$(${MINGW_PREFIX}/bin/llvm-config --link-static --libnames engine coroutines 2>&1)
fi
if [ ${llvm_static} = false ]; then
llvmlibs=libLLVM
fi
# Get LLVM RTTI status
rtti=false
if [ $(${MINGW_PREFIX}/bin/llvm-config --has-rtti 2>&1) = YES ]; then
rtti=true
fi
# Convert llvm-config libraries list into a Python list
llvmlibs="${llvmlibs//.a/}"
llvmlibs=\'"${llvmlibs// /\', \'}"\'
# Get libraries directory
if [ ${llvm_static} = false ]; then
wraplibdir=bin
fi
if [ ${llvm_static} = true ]; then
wraplibdir=lib
fi
# Generate a Meson wrap file for LLVM
mkdir -p ./subprojects/llvm
FILE="./subprojects/llvm/meson.build"
/bin/cat <<EOM >${FILE}
project('llvm', ['cpp'])
cpp = meson.get_compiler('cpp')
_deps = []
_search = '$(cygpath -m ${MINGW_PREFIX})/${wraplibdir}'
foreach d : [${llvmlibs}]
_deps += cpp.find_library(d, dirs : _search, static : ${llvm_static})
endforeach
dep_llvm = declare_dependency(
include_directories : include_directories('$(cygpath -m ${MINGW_PREFIX})/include'),
dependencies : _deps,
version : '$(/usr/bin/pacman -Q ${MINGW_PACKAGE_PREFIX}-llvm | cut -d" " -f 2 | cut -d"-" -f 1)',
)
has_rtti = ${rtti}
irbuilder_h = files('$(cygpath -m ${MINGW_PREFIX})/include/llvm/IR/IRBuilder.h')
EOM