Lines Matching +full:re +full:- +full:config

9 require common-source.inc
13 BUILD_CC:class-nativesdk = "clang"
14 BUILD_CXX:class-nativesdk = "clang++"
15 BUILD_AR:class-nativesdk = "llvm-ar"
16 BUILD_RANLIB:class-nativesdk = "llvm-ranlib"
17 BUILD_NM:class-nativesdk = "llvm-nm"
18 LDFLAGS:remove:class-nativesdk = "-fuse-ld=lld"
20 inherit cmake cmake-native pkgconfig python3native
25 import re
30 import re
32 if re.match('(i.86|athlon|x86.64)$', a): return 'X86'
33 elif re.match('arm$', a): return 'ARM'
34 elif re.match('armeb$', a): return 'ARM'
35 elif re.match('aarch64$', a): return 'AArch64'
36 elif re.match('aarch64_be$', a): return 'AArch64'
37 elif re.match('mips(isa|)(32|64|)(r6|)(el|)$', a): return 'Mips'
38 elif re.match('riscv32$', a): return 'riscv32'
39 elif re.match('riscv64$', a): return 'riscv64'
40 elif re.match('p(pc|owerpc)(|64)', a): return 'PowerPC'
54 PACKAGECONFIG ??= "compiler-rt libcplusplus shared-libs lldb-wchar \
55 ${@bb.utils.filter('DISTRO_FEATURES', 'thin-lto lto', d)} \
56 … ${@bb.utils.contains('RUNTIME', 'llvm', 'compiler-rt libcplusplus unwindlib libomp', '', d)} \
59 PACKAGECONFIG:class-native = "rtti eh libedit shared-libs ${@bb.utils.contains('RUNTIME', 'llvm', '…
60 …s-nativesdk = "rtti eh libedit shared-libs ${@bb.utils.filter('DISTRO_FEATURES', 'thin-lto lto', d…
62 PACKAGECONFIG[compiler-rt] = "-DCLANG_DEFAULT_RTLIB=compiler-rt,,"
63 PACKAGECONFIG[libcplusplus] = "-DCLANG_DEFAULT_CXX_STDLIB=libc++,,"
64 PACKAGECONFIG[unwindlib] = "-DCLANG_DEFAULT_UNWINDLIB=libunwind,-DCLANG_DEFAULT_UNWINDLIB=libgcc,,"
65 PACKAGECONFIG[libomp] = "-DCLANG_DEFAULT_OPENMP_RUNTIME=libomp,,"
66 PACKAGECONFIG[thin-lto] = "-DLLVM_ENABLE_LTO=Thin -DLLVM_BINUTILS_INCDIR=${STAGING_INCDIR},,binutil…
67 PACKAGECONFIG[lto] = "-DLLVM_ENABLE_LTO=Full -DLLVM_BINUTILS_INCDIR=${STAGING_INCDIR},,binutils,"
68 PACKAGECONFIG[shared-libs] = "-DLLVM_BUILD_LLVM_DYLIB=ON -DLLVM_LINK_LLVM_DYLIB=ON,,,"
69 PACKAGECONFIG[terminfo] = "-DLLVM_ENABLE_TERMINFO=ON -DCOMPILER_RT_TERMINFO_LIB=ON,-DLLVM_ENABLE_TE…
70 PACKAGECONFIG[pfm] = "-DLLVM_ENABLE_LIBPFM=ON,-DLLVM_ENABLE_LIBPFM=OFF,libpfm,"
71 PACKAGECONFIG[lldb-wchar] = "-DLLDB_EDITLINE_USE_WCHAR=1,-DLLDB_EDITLINE_USE_WCHAR=0,"
72 PACKAGECONFIG[lldb-lua] = "-DLLDB_ENABLE_LUA=ON,-DLLDB_ENABLE_LUA=OFF,lua"
73 …ECONFIG[bootstrap] = "-DCLANG_ENABLE_BOOTSTRAP=On -DCLANG_BOOTSTRAP_PASSTHROUGH='${PASSTHROUGH}' -
74 PACKAGECONFIG[eh] = "-DLLVM_ENABLE_EH=ON,-DLLVM_ENABLE_EH=OFF,,"
75 PACKAGECONFIG[rtti] = "-DLLVM_ENABLE_RTTI=ON,-DLLVM_ENABLE_RTTI=OFF,,"
76 PACKAGECONFIG[split-dwarf] = "-DLLVM_USE_SPLIT_DWARF=ON,-DLLVM_USE_SPLIT_DWARF=OFF,,"
77 …NFIG[libedit] = "-DLLVM_ENABLE_LIBEDIT=ON -DLLDB_ENABLE_LIBEDIT=ON,-DLLVM_ENABLE_LIBEDIT=OFF -DLLD…
82 OECMAKE_TARGET_INSTALL = "${@bb.utils.contains('PACKAGECONFIG', 'bootstrap', 'stage2-install', 'ins…
83 BINPATHPREFIX = "${@bb.utils.contains('PACKAGECONFIG', 'bootstrap', '/tools/clang/stage2-bins/NATIV…
99 # Default to build all OE-Core supported target arches (user overridable).
109 HF:class-target = "${@ bb.utils.contains('TUNE_CCARGS_MFLOAT', 'hard', 'hf', '', d)}"
112 LLVM_PROJECTS ?= "clang;clang-tools-extra;lld${LLDB}"
126 EXTRA_OECMAKE += "-DLLVM_ENABLE_ASSERTIONS=OFF \
127 -DLLVM_ENABLE_EXPENSIVE_CHECKS=OFF \
128 -DLLVM_ENABLE_PIC=ON \
129 -DCLANG_DEFAULT_PIE_ON_LINUX=ON \
130 -DLLVM_BINDINGS_LIST='' \
131 -DLLVM_ENABLE_FFI=ON \
132 -DFFI_INCLUDE_DIR=$(pkg-config --variable=includedir libffi) \
133 -DLLVM_OPTIMIZED_TABLEGEN=ON \
134 -DLLVM_BUILD_EXTERNAL_COMPILER_RT=ON \
135 -DCMAKE_SYSTEM_NAME=Linux \
136 -DCMAKE_BUILD_TYPE=Release \
137 -DCMAKE_CXX_FLAGS_RELEASE='${CXXFLAGS} -DNDEBUG -g0' \
138 -DCMAKE_C_FLAGS_RELEASE='${CFLAGS} -DNDEBUG -g0' \
139 -DBUILD_SHARED_LIBS=OFF \
140 -DLLVM_ENABLE_PROJECTS='${LLVM_PROJECTS}' \
141 -DLLVM_BINUTILS_INCDIR=${STAGING_INCDIR} \
142 -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON \
143 -DLLVM_TARGETS_TO_BUILD='${LLVM_TARGETS_TO_BUILD}' \
144 -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD='${LLVM_EXPERIMENTAL_TARGETS_TO_BUILD}' \
147 EXTRA_OECMAKE:append:class-native = "\
148 -DPYTHON_EXECUTABLE='${PYTHON}' \
150 EXTRA_OECMAKE:append:class-nativesdk = "\
151 -DCMAKE_CROSSCOMPILING:BOOL=ON \
152-DCROSS_TOOLCHAIN_FLAGS_NATIVE='-DLLDB_PYTHON_RELATIVE_PATH=${PYTHON_SITEPACKAGES_DIR} \
153 -DLLDB_PYTHON_EXE_RELATIVE_PATH=${PYTHON} \
154 -DLLDB_PYTHON_EXT_SUFFIX=${SOLIBSDEV} \
155-DCMAKE_TOOLCHAIN_FILE=${WORKDIR}/toolchain-native.cmake' \
156 -DCMAKE_RANLIB=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ranlib \
157 -DCMAKE_AR=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ar \
158 -DCMAKE_NM=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-nm \
159 -DCMAKE_STRIP=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-strip \
160 -DLLVM_TABLEGEN=${STAGING_BINDIR_NATIVE}/llvm-tblgen \
161 -DCLANG_TABLEGEN=${STAGING_BINDIR_NATIVE}/clang-tblgen \
162 -DLLDB_TABLEGEN=${STAGING_BINDIR_NATIVE}/lldb-tblgen \
163 -DPYTHON_LIBRARY=${STAGING_LIBDIR}/lib${PYTHON_DIR}${PYTHON_ABI}.so \
164 -DLLDB_PYTHON_RELATIVE_PATH=${PYTHON_SITEPACKAGES_DIR} \
165 -DLLDB_PYTHON_EXE_RELATIVE_PATH=${PYTHON} \
166 -DLLDB_PYTHON_EXT_SUFFIX=${SOLIBSDEV} \
167 -DPYTHON_INCLUDE_DIR=${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI} \
168 -DPYTHON_EXECUTABLE='${PYTHON}' \
170 EXTRA_OECMAKE:append:class-target = "\
171 -DCMAKE_CROSSCOMPILING:BOOL=ON \
172-DCROSS_TOOLCHAIN_FLAGS_NATIVE='-DLLDB_PYTHON_RELATIVE_PATH=${PYTHON_SITEPACKAGES_DIR} \
173 -DLLDB_PYTHON_EXT_SUFFIX=${SOLIBSDEV} \
174 -DLLDB_PYTHON_EXE_RELATIVE_PATH=${PYTHON}' \
175 -DLLVM_TABLEGEN=${STAGING_BINDIR_NATIVE}/llvm-tblgen \
176 -DCLANG_TABLEGEN=${STAGING_BINDIR_NATIVE}/clang-tblgen \
177 -DLLDB_TABLEGEN=${STAGING_BINDIR_NATIVE}/lldb-tblgen \
178 -DCMAKE_RANLIB=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ranlib \
179 -DCMAKE_AR=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ar \
180 -DCMAKE_NM=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-nm \
181 -DCMAKE_STRIP=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-strip \
182 -DLLVM_TARGET_ARCH=${@get_clang_target_arch(bb, d)} \
183 -DLLVM_DEFAULT_TARGET_TRIPLE=${TARGET_SYS}${HF} \
184 -DLLVM_HOST_TRIPLE=${TARGET_SYS}${HF} \
185 -DLLDB_PYTHON_RELATIVE_PATH=${PYTHON_SITEPACKAGES_DIR} \
186 -DLLDB_PYTHON_EXE_RELATIVE_PATH=${PYTHON} \
187 -DLLDB_PYTHON_EXT_SUFFIX=${SOLIBSDEV} \
188 -DPYTHON_LIBRARY=${STAGING_LIBDIR}/lib${PYTHON_DIR}${PYTHON_ABI}.so \
189 -DPYTHON_INCLUDE_DIR=${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI} \
190 -DLLVM_LIBDIR_SUFFIX=${@d.getVar('baselib').replace('lib', '')} \
191 -DPYTHON_EXECUTABLE='${PYTHON}' \
194 DEPENDS = "binutils zlib libffi libxml2 libxml2-native ninja-native swig-native"
195 DEPENDS:append:class-nativesdk = " clang-crosssdk-${SDK_ARCH} virtual/${TARGET_PREFIX}binutils-cros…
196 DEPENDS:append:class-target = " clang-cross-${TARGET_ARCH} python3 compiler-rt libcxx"
199 RRECOMMENDS:${PN}:append:class-target = " libcxx-dev"
202 rm -rf ${D}${libdir}/python*/site-packages/six.py
205 do_install:append:class-target () {
207 …sed -i 's;${_IMPORT_PREFIX}/bin;${_IMPORT_PREFIX_BIN};g' ${D}${libdir}/cmake/llvm/LLVMExports-rele…
210 sed -i "4i\
212 …execute_process(COMMAND \"llvm-config\" \"--bindir\" OUTPUT_VARIABLE _IMPORT_PREFIX_BIN OUTPUT_STR…
215 endif()\n" ${D}${libdir}/cmake/llvm/LLVMExports-release.cmake
217 if [ -n "${LLVM_LIBDIR_SUFFIX}" ]; then
218 mkdir -p ${D}${nonarch_libdir}
220 ln -rs ${D}${nonarch_libdir}/clang ${D}${libdir}/clang
221 rmdir --ignore-fail-on-non-empty ${D}${libdir}
223 …for t in clang clang++ llvm-nm llvm-ar llvm-as llvm-ranlib llvm-strip llvm-objcopy llvm-objdump ll…
224 llvm-addr2line llvm-dwp llvm-size llvm-strings llvm-cov; do
225 ln -sf $t ${D}${bindir}/${TARGET_PREFIX}$t
229 do_install:append:class-native () {
230 install -Dm 0755 ${B}${BINPATHPREFIX}/bin/clang-tblgen ${D}${bindir}/clang-tblgen
231 install -Dm 0755 ${B}${BINPATHPREFIX}/bin/lldb-tblgen ${D}${bindir}/lldb-tblgen
232 for f in `find ${D}${bindir} -executable -type f -not -type l`; do
233 test -n "`file -b $f|grep -i ELF`" && ${STRIP} $f
236 ln -sf clang-tblgen ${D}${bindir}/clang-tblgen${PV}
237 ln -sf llvm-tblgen ${D}${bindir}/llvm-tblgen${PV}
238 ln -sf llvm-config ${D}${bindir}/llvm-config${PV}
241 do_install:append:class-nativesdk () {
242 install -Dm 0755 ${B}${BINPATHPREFIX}/bin/clang-tblgen ${D}${bindir}/clang-tblgen
243 install -Dm 0755 ${B}${BINPATHPREFIX}/bin/lldb-tblgen ${D}${bindir}/lldb-tblgen
244 for f in `find ${D}${bindir} -executable -type f -not -type l`; do
245 test -n "`file -b $f|grep -i ELF`" && ${STRIP} $f
247 ln -sf clang-tblgen ${D}${bindir}/clang-tblgen${PV}
248 ln -sf llvm-tblgen ${D}${bindir}/llvm-tblgen${PV}
249 ln -sf llvm-config ${D}${bindir}/llvm-config${PV}
250 rm -rf ${D}${datadir}/llvm/cmake
251 rm -rf ${D}${datadir}/llvm
254 PACKAGES =+ "${PN}-libllvm ${PN}-lldb-python libclang lldb lldb-server liblldb"
257 PROVIDES:append:class-native = " llvm-native"
261 RDEPENDS:lldb += "${PN}-lldb-python"
263 FILES:${PN}-lldb-python = "${libdir}/python*/site-packages/lldb/*"
272 ${datadir}/scan-* \
274 ${datadir}/opt-viewer/ \
281 FILES:lldb-server = "\
282 ${bindir}/lldb-server \
290 FILES:${PN}-libllvm =+ "\
291 ${libdir}/libLLVM-${MAJOR_VER}.${MINOR_VER}.so \
292 ${libdir}/libLLVM-${MAJOR_VER}.so \
293 ${libdir}/libLLVM-${MAJOR_VER}git.so \
294 ${libdir}/libLLVM-${MAJOR_VER}.${MINOR_VER}git.so \
301 FILES:${PN}-dev += "\
308 FILES:${PN}-staticdev += "${nonarch_libdir}/${BPN}/*.a"
310 FILES:${PN}-staticdev:remove = "${libdir}/${BPN}/*.a"
311 FILES:${PN}-dev:remove = "${libdir}/${BPN}/*.la"
315 INSANE_SKIP:${PN} += "already-stripped"
316 #INSANE_SKIP:${PN}-dev += "dev-elf"
317 INSANE_SKIP:${PN}-lldb-python += "dev-so dev-deps"
318 INSANE_SKIP:liblldb = "dev-so"
320 #Avoid SSTATE_SCAN_COMMAND running sed over llvm-config.
321 SSTATE_SCAN_FILES:remove = "*-config"
324 TOOLCHAIN:class-native = "gcc"
325 TOOLCHAIN:class-nativesdk = "clang"
326 COMPILER_RT:class-nativesdk:toolchain-clang:runtime-llvm = "-rtlib=libgcc --unwindlib=libgcc"
327 LIBCPLUSPLUS:class-nativesdk:toolchain-clang:runtime-llvm = "-stdlib=libstdc++"
329 SYSROOT_DIRS:append:class-target = " ${nonarch_libdir}"
331 SYSROOT_PREPROCESS_FUNCS:append:class-target = " clang_sysroot_preprocess"
334 install -d ${SYSROOT_DESTDIR}${bindir_crossscripts}/
335 install -m 0755 ${S}/../llvm-config ${SYSROOT_DESTDIR}${bindir_crossscripts}/
336 ln -sf llvm-config ${SYSROOT_DESTDIR}${bindir_crossscripts}/llvm-config${PV}
338 install -d ${SYSROOT_DESTDIR}${bindir}
339 install -m 755 ${D}${bindir}/lld ${SYSROOT_DESTDIR}${bindir}/