@@ -72,19 +72,17 @@ PRODUCT_CMAKE_FLAGS=(
72
72
-DCMAKE_CXX_COMPILER=" ${BUILD_DIR} /bootstrap_compiler/bin/clang++"
73
73
-DCMAKE_INSTALL_PREFIX=" ${ATFL_DIR} "
74
74
-DLLVM_ENABLE_LLD=ON
75
- -DLLVM_ENABLE_LIBCXX=ON
76
75
)
77
76
COMPILER_CMAKE_FLAGS=(
78
- -DCMAKE_C_FLAGS=" -I${ATFL_DIR} /include"
79
- -DCMAKE_CXX_FLAGS=" -I${ATFL_DIR} /include -I${ATFL_DIR} /include/c++/v1 -D_LIBCPP_VERBOSE_ABORT_NOT_NOEXCEPT"
80
- -DCMAKE_EXE_LINKER_FLAGS=" -L${ATFL_DIR} /lib -rtlib=compiler-rt -unwindlib=libunwind -Wl,--as-needed"
81
- -DCMAKE_MODULE_LINKER_FLAGS=" -L${ATFL_DIR} /lib -rtlib=compiler-rt -unwindlib=libunwind -Wl,--as-needed"
82
- -DCMAKE_SHARED_LINKER_FLAGS=" -L${ATFL_DIR} /lib -rtlib=compiler-rt -unwindlib=libunwind -Wl,--as-needed"
77
+ -DCMAKE_CXX_FLAGS=" -stdlib++-isystem ${ATFL_DIR} /include/c++/v1 -D_LIBCPP_VERBOSE_ABORT_NOT_NOEXCEPT"
78
+ -DCMAKE_EXE_LINKER_FLAGS=" -L${ATFL_DIR} /lib -rtlib=compiler-rt -unwindlib=libunwind -Wl,--as-needed -stdlib=libc++"
79
+ -DCMAKE_MODULE_LINKER_FLAGS=" -L${ATFL_DIR} /lib -rtlib=compiler-rt -unwindlib=libunwind -Wl,--as-needed -stdlib=libc++"
80
+ -DCMAKE_SHARED_LINKER_FLAGS=" -L${ATFL_DIR} /lib -rtlib=compiler-rt -unwindlib=libunwind -Wl,--as-needed -stdlib=libc++"
83
81
-DCMAKE_BUILD_TYPE=Release
84
82
-DCMAKE_SKIP_RPATH=No
85
83
-DCMAKE_SKIP_INSTALL_RPATH=No
86
84
-DLLVM_ENABLE_PROJECTS=" llvm;clang;flang;lld"
87
- -DLLVM_ENABLE_RUNTIMES=" compiler-rt;libunwind;openmp"
85
+ -DLLVM_ENABLE_RUNTIMES=" compiler-rt;flang-rt; libunwind;openmp"
88
86
-DCLANG_ENABLE_LIBXML2=OFF
89
87
-DCLANG_PLUGIN_SUPPORT=ON
90
88
-DCLANG_ENABLE_STATIC_ANALYZER=ON
@@ -102,6 +100,8 @@ COMPILER_CMAKE_FLAGS=(
102
100
-DCOMPILER_RT_USE_ATOMIC_LIBRARY=ON
103
101
-DCOMPILER_RT_USE_LLVM_UNWINDER=OFF
104
102
-DCOMPILER_RT_LIBRARY_atomic_${ATFL_TARGET_TRIPLE} =" -rtlib=compiler-rt"
103
+ -DFLANG_RT_ENABLE_SHARED=ON
104
+ -DFLANG_RT_ENABLE_STATIC=ON
105
105
-DLIBOMP_COPY_EXPORTS=False
106
106
-DLIBOMP_USE_HWLOC=False
107
107
-DLIBOMP_OMPT_SUPPORT=ON
@@ -344,6 +344,7 @@ product_build() {
344
344
run_command cmake ${CMAKE_ARGS} -G Ninja " ${SOURCES_DIR} /llvm" \
345
345
-DBUILD_SHARED_LIBS=False \
346
346
-DLIBOMP_ENABLE_SHARED=True \
347
+ -DRUNTIMES_CMAKE_ARGS=" -DCMAKE_CXX_FLAGS=-stdlib++-isystem${ATFL_DIR} /include/c++/v1 -D_LIBCPP_VERBOSE_ABORT_NOT_NOEXCEPT;-DCMAKE_EXE_LINKER_FLAGS=-L${ATFL_DIR} /lib -rtlib=compiler-rt -unwindlib=libunwind -Wl,--as-needed -stdlib=libc++;-DCMAKE_MODULE_LINKER_FLAGS=-L${ATFL_DIR} /lib -rtlib=compiler-rt -unwindlib=libunwind -Wl,--as-needed -stdlib=libc++;-DCMAKE_SHARED_LINKER_FLAGS=-L${ATFL_DIR} /lib -rtlib=compiler-rt -unwindlib=libunwind -Wl,--as-needed -stdlib=libc++" \
347
348
" ${COMMON_CMAKE_FLAGS[@]} " " ${PRODUCT_CMAKE_FLAGS[@]} " " ${COMPILER_CMAKE_FLAGS[@]} " " ${LIBUNWIND_SHARED_CMAKE_FLAGS[@]} " ${extra_flags} 2>&1 |
348
349
tee " ${LOGS_DIR} /product.txt"
349
350
run_command cmake --build . ${CMAKE_BUILD_ARGS} 2>&1 | tee -a " ${LOGS_DIR} /product.txt"
@@ -364,6 +365,7 @@ shared_lib_build() {
364
365
run_command cmake ${CMAKE_ARGS} -G Ninja " ${SOURCES_DIR} /llvm" \
365
366
-DBUILD_SHARED_LIBS=True \
366
367
-DLIBOMP_ENABLE_SHARED=False \
368
+ -DRUNTIMES_CMAKE_ARGS=" -DCMAKE_CXX_FLAGS=-stdlib++-isystem${ATFL_DIR} /include/c++/v1 -D_LIBCPP_VERBOSE_ABORT_NOT_NOEXCEPT;-DCMAKE_EXE_LINKER_FLAGS=-L${ATFL_DIR} /lib -rtlib=compiler-rt -unwindlib=libunwind -Wl,--as-needed -stdlib=libc++;-DCMAKE_MODULE_LINKER_FLAGS=-L${ATFL_DIR} /lib -rtlib=compiler-rt -unwindlib=libunwind -Wl,--as-needed -stdlib=libc++;-DCMAKE_SHARED_LINKER_FLAGS=-L${ATFL_DIR} /lib -rtlib=compiler-rt -unwindlib=libunwind -Wl,--as-needed -stdlib=libc++" \
367
369
" ${COMMON_CMAKE_FLAGS[@]} " -DLLVM_ENABLE_ZSTD=OFF " ${PRODUCT_CMAKE_FLAGS[@]} " " ${COMPILER_CMAKE_FLAGS[@]} " -DLIBOMP_OMPT_SUPPORT=OFF " ${LIBUNWIND_SHARED_CMAKE_FLAGS[@]} " ${extra_flags} 2>&1 |
368
370
tee " ${LOGS_DIR} /shared_lib.txt"
369
371
run_command cmake --build . ${CMAKE_BUILD_ARGS} 2>&1 | tee -a " ${LOGS_DIR} /shared_lib.txt"
@@ -374,7 +376,7 @@ shared_lib_build() {
374
376
mv " ${ATFL_DIR} .keep" " ${ATFL_DIR} "
375
377
cp " ${ATFL_DIR} .libs/lib/${ATFL_TARGET_TRIPLE} /libomp.a" \
376
378
" ${ATFL_DIR} /lib/${ATFL_TARGET_TRIPLE} "
377
- cp -d ${ATFL_DIR} .libs/lib/libflang_rt* \
379
+ cp -d ${ATFL_DIR} .libs/lib/clang/ * /lib/ ${ATFL_TARGET_TRIPLE} / libflang_rt* \
378
380
" ${ATFL_DIR} /lib/${ATFL_TARGET_TRIPLE} "
379
381
rm -r " ${ATFL_DIR} .libs"
380
382
echo ' -L<CFGDIR>/../runtimes/runtimes-bins/openmp/runtime/src $-Wl,--push-state $-Wl,--as-needed $-lomp $-ldl $-Wl,--pop-state' > bin/clang.cfg
@@ -402,8 +404,6 @@ package() {
402
404
cp " ${LIBRARIES_DIR} /libamath.so" \
403
405
" ${ATFL_DIR} /lib/${ATFL_TARGET_TRIPLE} "
404
406
fi
405
- cp " ${ATFL_DIR} /lib/libflang_rt.runtime.a" \
406
- " ${ATFL_DIR} /lib/${ATFL_TARGET_TRIPLE} "
407
407
cp ${ATFL_DIR} /include/flang/omp* " ${ATFL_DIR} /include"
408
408
echo ' export PATH="$(dirname `realpath $BASH_SOURCE`)/bin:$PATH"' > " ${ATFL_DIR} /env.bash"
409
409
echo " export PS1=\" (ATfL ${ATFL_VERSION} ) \$ PS1\" " >> " ${ATFL_DIR} /env.bash"
0 commit comments