From 52e3239f63354f497e3ba1d9fa9e7d9da0230840 Mon Sep 17 00:00:00 2001 From: HyukWoo Park Date: Tue, 21 May 2024 17:50:29 +0900 Subject: [PATCH] Update build options and submodules Signed-off-by: HyukWoo Park --- .github/workflows/analysis-actions.yml | 2 +- .github/workflows/es-actions.yml | 2 +- build/config.cmake | 10 +++---- build/escargot.cmake | 30 +++++++++++-------- third_party/GCutil | 2 +- third_party/runtime_icu_binder/CMakeLists.txt | 5 ++-- third_party/walrus | 2 +- 7 files changed, 29 insertions(+), 24 deletions(-) diff --git a/.github/workflows/analysis-actions.yml b/.github/workflows/analysis-actions.yml index 6bc73200c..0c1c1c995 100644 --- a/.github/workflows/analysis-actions.yml +++ b/.github/workflows/analysis-actions.yml @@ -76,7 +76,7 @@ jobs: run: | gcovr --gcov-ignore-parse-errors --exclude-unreachable-branches --exclude-throw-branches --exclude third_party --exclude src/api -r . --xml coverage.xml - name: Upload coverage reports to Codecov - uses: codecov/codecov-action@v3 + uses: codecov/codecov-action@v4 with: token: ${{ secrets.CODECOV_TOKEN }} fail_ci_if_error: true diff --git a/.github/workflows/es-actions.yml b/.github/workflows/es-actions.yml index 7d2260593..d0e6b63a5 100644 --- a/.github/workflows/es-actions.yml +++ b/.github/workflows/es-actions.yml @@ -139,7 +139,7 @@ jobs: sdk: "10.0.20348.0" - name: Build ${{ matrix.arch.cpu }} Release run: | - CMake -DCMAKE_SYSTEM_NAME=Windows -DCMAKE_SYSTEM_VERSION:STRING="10.0" -DCMAKE_SYSTEM_PROCESSOR=${{ matrix.arch.cpu }} -Bout/ -DESCARGOT_OUTPUT=shell -DESCARGOT_LIBICU_SUPPORT=ON -DESCARGOT_LIBICU_SUPPORT_WITH_DLOPEN=NO -DESCARGOT_THREADING=ON -DESCARGOT_TCO=ON -DESCARGOT_TEST=ON -G Ninja -DCMAKE_C_COMPILER=clang-cl -DCMAKE_CXX_COMPILER=clang-cl -DCMAKE_BUILD_TYPE=release -DCMAKE_C_FLAGS="${{ matrix.arch.flag }}" -DCMAKE_CXX_FLAGS="${{ matrix.arch.flag }}" + CMake -DCMAKE_SYSTEM_NAME=Windows -DCMAKE_SYSTEM_VERSION:STRING="10.0" -DCMAKE_SYSTEM_PROCESSOR=${{ matrix.arch.cpu }} -Bout/ -DESCARGOT_OUTPUT=shell -DESCARGOT_LIBICU_SUPPORT=ON -DESCARGOT_LIBICU_SUPPORT_WITH_DLOPEN=OFF -DESCARGOT_THREADING=ON -DESCARGOT_TCO=ON -DESCARGOT_TEST=ON -G Ninja -DCMAKE_C_COMPILER=clang-cl -DCMAKE_CXX_COMPILER=clang-cl -DCMAKE_BUILD_TYPE=release -DCMAKE_C_FLAGS="${{ matrix.arch.flag }}" -DCMAKE_CXX_FLAGS="${{ matrix.arch.flag }}" CMake --build out/ --config Release - name: Run octane run: | diff --git a/build/config.cmake b/build/config.cmake index a69ef30fd..9dfeadfd9 100644 --- a/build/config.cmake +++ b/build/config.cmake @@ -48,14 +48,14 @@ SET (CXXFLAGS_FROM_ENV $ENV{CXXFLAGS}) SEPARATE_ARGUMENTS(CXXFLAGS_FROM_ENV) SET (CFLAGS_FROM_ENV $ENV{CFLAGS}) SEPARATE_ARGUMENTS(CFLAGS_FROM_ENV) - -SET (ESCARGOT_CXXFLAGS - ${CXXFLAGS_FROM_ENV} - ${ESCARGOT_CXXFLAGS}) - SET (LDFLAGS_FROM_ENV $ENV{LDFLAGS}) SEPARATE_ARGUMENTS(LDFLAGS_FROM_ENV) +# these flags assigned from external should have the highest priority +SET (CXXFLAGS_FROM_ENV ${CXXFLAGS_FROM_ENV} ${ESCARGOT_CXXFLAGS_FROM_EXTERNAL}) +SET (CFLAGS_FROM_ENV ${CFLAGS_FROM_ENV} ${ESCARGOT_CFLAGS_FROM_EXTERNAL}) +SET (LDFLAGS_FROM_ENV ${LDFLAGS_FROM_ENV} ${ESCARGOT_LDFLAGS_FROM_EXTERNAL}) + # ESCARGOT COMMON LDFLAGS SET (ESCARGOT_LDFLAGS ${ESCARGOT_LDFLAGS} -fvisibility=hidden) diff --git a/build/escargot.cmake b/build/escargot.cmake index 2690679d1..961aed5ba 100644 --- a/build/escargot.cmake +++ b/build/escargot.cmake @@ -74,7 +74,9 @@ SET (ESCARGOT_SRC_LIST ${CCTEST_SRC} ) +####################################################### # GCUTIL +####################################################### IF (${ESCARGOT_OUTPUT} STREQUAL "shared_lib") SET (ESCARGOT_THIRDPARTY_CFLAGS ${ESCARGOT_THIRDPARTY_CFLAGS} ${ESCARGOT_CXXFLAGS_SHAREDLIB}) ELSEIF (${ESCARGOT_OUTPUT} STREQUAL "static_lib") @@ -82,6 +84,7 @@ ELSEIF (${ESCARGOT_OUTPUT} STREQUAL "static_lib") ENDIF() SET (GCUTIL_CFLAGS ${ESCARGOT_THIRDPARTY_CFLAGS} ${PROFILER_FLAGS}) +SET (GCUTIL_CFLAGS_FROM_EXTERNAL ${ESCARGOT_CFLAGS_FROM_EXTERNAL}) IF (ESCARGOT_SMALL_CONFIG) SET (GCUTIL_CFLAGS ${GCUTIL_CFLAGS} -DSMALL_CONFIG -DMAX_HEAP_SECTS=512) @@ -93,17 +96,19 @@ ENDIF() SET (GCUTIL_MODE ${ESCARGOT_MODE}) ADD_SUBDIRECTORY (third_party/GCutil) - SET (ESCARGOT_LIBRARIES ${ESCARGOT_LIBRARIES} gc-lib) +####################################################### # LIBBF +####################################################### ADD_LIBRARY (libbf STATIC ${ESCARGOT_THIRD_PARTY_ROOT}/libbf/libbf.c ${ESCARGOT_THIRD_PARTY_ROOT}/libbf/cutils.c) TARGET_INCLUDE_DIRECTORIES (libbf PUBLIC ${ESCARGOT_THIRD_PARTY_ROOT}/libbf) SET (LIBBF_CFLAGS - ${ESCARGOT_THIRDPARTY_CFLAGS} # we can share flags with gcutil + ${ESCARGOT_THIRDPARTY_CFLAGS} ${CFLAGS_FROM_ENV} +# ${ESCARGOT_CFLAGS_FROM_EXTERNAL} already included in ${CFLAGS_FROM_ENV} ) IF (${ESCARGOT_MODE} STREQUAL "debug") @@ -116,26 +121,24 @@ TARGET_COMPILE_OPTIONS (libbf PRIVATE ${LIBBF_CFLAGS}) SET (ESCARGOT_LIBRARIES ${ESCARGOT_LIBRARIES} libbf) +####################################################### +# RUNTIME ICU BINDER +####################################################### IF (ESCARGOT_LIBICU_SUPPORT_WITH_DLOPEN) - # RUNTIME ICU BINDER - SET (RIB_CFLAGS ${ESCARGOT_CXXFLAGS}) - - IF (${ESCARGOT_OUTPUT} STREQUAL "shared_lib") - SET (RIB_CFLAGS ${RIB_CFLAGS} ${ESCARGOT_CXXFLAGS_SHAREDLIB}) - ELSEIF (${ESCARGOT_OUTPUT} STREQUAL "static_lib") - SET (RIB_CFLAGS ${RIB_CFLAGS} ${ESCARGOT_CXXFLAGS_STATICLIB}) - ENDIF() - + SET (RIB_CFLAGS ${ESCARGOT_THIRDPARTY_CFLAGS}) SET (RIB_MODE ${ESCARGOT_MODE}) + SET (RIB_CFLAGS_FROM_EXTERNAL ${ESCARGOT_CFLAGS_FROM_EXTERNAL}) ADD_SUBDIRECTORY (third_party/runtime_icu_binder) SET (ESCARGOT_LIBRARIES ${ESCARGOT_LIBRARIES} runtime-icu-binder-static) ENDIF() +####################################################### # WebAssembly (walrus) +####################################################### IF (ESCARGOT_WASM) SET (WALRUS_CXXFLAGS - ${ESCARGOT_THIRDPARTY_CFLAGS} # we can share flags with gcutil + ${ESCARGOT_THIRDPARTY_CFLAGS} -g3) SET (WASM_ARCH ${ESCARGOT_ARCH}) SET (WALRUS_HOST ${ESCARGOT_HOST}) @@ -147,9 +150,10 @@ IF (ESCARGOT_WASM) IF (${ESCARGOT_MODE} STREQUAL "release") SET (WALRUS_CXXFLAGS ${WALRUS_CXXFLAGS} ${ESCARGOT_CXXFLAGS_RELEASE}) ENDIF() + SET (WALRUS_CXXFLAGS_FROM_EXTERNAL ${ESCARGOT_CXXFLAGS_FROM_EXTERNAL}) + SET (WALRUS_LDFLAGS_FROM_EXTERNAL ${ESCARGOT_LDFLAGS_FROM_EXTERNAL}) ADD_SUBDIRECTORY (third_party/walrus) - SET (ESCARGOT_LIBRARIES ${ESCARGOT_LIBRARIES} walrus) ENDIF() diff --git a/third_party/GCutil b/third_party/GCutil index 7db7da9c0..0981f8cd4 160000 --- a/third_party/GCutil +++ b/third_party/GCutil @@ -1 +1 @@ -Subproject commit 7db7da9c0887ab8ba587e2420c57595f2f44b37f +Subproject commit 0981f8cd41eb61ceeb327cfbb27a384194116c3f diff --git a/third_party/runtime_icu_binder/CMakeLists.txt b/third_party/runtime_icu_binder/CMakeLists.txt index af4269fbf..c58bba0b7 100644 --- a/third_party/runtime_icu_binder/CMakeLists.txt +++ b/third_party/runtime_icu_binder/CMakeLists.txt @@ -11,7 +11,7 @@ IF (${CMAKE_CXX_COMPILER_ID} STREQUAL "GNU" OR ${CMAKE_CXX_COMPILER_ID} STREQUAL SET (RIB_CFLAGS_INTERNAL ${RIB_CFLAGS_INTERNAL} -O2) ENDIF() - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -fno-rtti -g3") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -fno-rtti") link_libraries(-ldl) ELSE() @@ -22,7 +22,8 @@ add_compile_options(${RIB_CFLAGS_INTERNAL}) add_compile_options(${RIB_CFLAGS}) SET (RIB_CFLAGS_FROM_ENV $ENV{CFLAGS}) SEPARATE_ARGUMENTS(RIB_CFLAGS_FROM_ENV) -add_compile_options(${RIB_CFLAGS_FROM_ENV}) +# add ${RIB_CFLAGS_FROM_EXTERNAL} at the end +add_compile_options(${RIB_CFLAGS_FROM_ENV} ${RIB_CFLAGS_FROM_EXTERNAL}) link_libraries(-ldl) diff --git a/third_party/walrus b/third_party/walrus index 367de4eac..8fc0dec19 160000 --- a/third_party/walrus +++ b/third_party/walrus @@ -1 +1 @@ -Subproject commit 367de4eace4655dc04d141391e5f3929b1081b08 +Subproject commit 8fc0dec19d7af902ae812b69dac8bfd996ae8ff0