From befef7e52ada1f9382bec74af7226f4b84054c57 Mon Sep 17 00:00:00 2001 From: Sebastian Pipping Date: Mon, 27 Dec 2021 20:45:04 +0100 Subject: CMake: Add unofficial flag for passing 32bit compile flag -m32 --- expat/CMakeLists.txt | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/expat/CMakeLists.txt b/expat/CMakeLists.txt index 7e5b9590..ab3b8d8c 100644 --- a/expat/CMakeLists.txt +++ b/expat/CMakeLists.txt @@ -151,6 +151,9 @@ mark_as_advanced(EXPAT_MIN_SIZE) if(MSVC OR _EXPAT_HELP) set(EXPAT_MSVC_STATIC_CRT OFF CACHE BOOL "Use /MT flag (static CRT) when compiling in MSVC") endif() +if(NOT _EXPAT_HELP) + set(_EXPAT_M32 OFF CACHE BOOL "(Unofficial!) Produce 32bit code with -m32") +endif() if(EXPAT_BUILD_TESTS) # We have to call enable_language() before modifying any CMAKE_CXX_* variables @@ -322,6 +325,23 @@ if (MSVC) endif() endif() +if(_EXPAT_M32 AND NOT MSVC) + foreach(flag_var + CMAKE_CXX_FLAGS_${_EXPAT_BUILD_TYPE_UPPER} + CMAKE_CXX_FLAGS_DEBUG + CMAKE_CXX_FLAGS_RELEASE + CMAKE_CXX_FLAGS_MINSIZEREL + CMAKE_CXX_FLAGS_RELWITHDEBINFO + CMAKE_C_FLAGS_${_EXPAT_BUILD_TYPE_UPPER} + CMAKE_C_FLAGS_DEBUG + CMAKE_C_FLAGS_RELEASE + CMAKE_C_FLAGS_MINSIZEREL + CMAKE_C_FLAGS_RELWITHDEBINFO + ) + set(${flag_var} "${${flag_var}} -m32") + endforeach() +endif() + include_directories(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/lib) if(MSVC) add_definitions(-D_CRT_SECURE_NO_WARNINGS -wd4996) -- cgit v1.2.1 From 23e820aa2572df776aee4abce7a148ee26b3deca Mon Sep 17 00:00:00 2001 From: Sebastian Pipping Date: Sun, 26 Dec 2021 18:45:34 +0100 Subject: coverage.sh: Start coveraging -m32 --- .github/workflows/coverage.yml | 2 ++ expat/coverage.sh | 10 +++++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml index 81bdb400..b9bdee57 100644 --- a/.github/workflows/coverage.yml +++ b/.github/workflows/coverage.yml @@ -59,6 +59,8 @@ jobs: cmake \ docbook2x \ dos2unix \ + gcc-multilib \ + g++-multilib \ lcov \ libbsd-dev \ lzip \ diff --git a/expat/coverage.sh b/expat/coverage.sh index c87e326d..030c26d5 100755 --- a/expat/coverage.sh +++ b/expat/coverage.sh @@ -59,7 +59,12 @@ _get_build_dir() { xml_attr_part=__attr_info fi - echo "build__${version}__unicode_${unicode_enabled}__xml_context_${xml_context}${libbsd_part}${mingw_part}${char_part}${xml_attr_part}" + local m32_part= + if ${with_m32}; then + m32_part=__m32 + fi + + echo "build__${version}__unicode_${unicode_enabled}__xml_context_${xml_context}${libbsd_part}${mingw_part}${char_part}${xml_attr_part}${m32_part}" } @@ -85,6 +90,7 @@ _call_cmake() { ${with_libbsd} && cmake_args+=( -DEXPAT_WITH_LIBBSD=ON ) ${with_mingw} && cmake_args+=( -DCMAKE_TOOLCHAIN_FILE="${abs_source_dir}"/cmake/mingw-toolchain.cmake ) + ${with_m32} && cmake_args+=( -D_EXPAT_M32=ON ) ( set -x @@ -276,6 +282,7 @@ _main() { # All combinations: with_unsigned_char=false with_libbsd=false + with_m32=false for with_mingw in true false ; do for unicode_enabled in true false ; do if ${unicode_enabled} && ! ${with_mingw} ; then @@ -293,6 +300,7 @@ _main() { # Single cases: with_libbsd=true _build_case with_unsigned_char=true _build_case + with_m32=true _build_case echo echo 'Merging coverage files...' -- cgit v1.2.1 From f4adc65cc8a68c70890beba41fbd1ec779d0d26a Mon Sep 17 00:00:00 2001 From: Sebastian Pipping Date: Mon, 27 Dec 2021 21:20:00 +0100 Subject: coverage.sh: Simplify directory naming scheme --- expat/coverage.sh | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/expat/coverage.sh b/expat/coverage.sh index 030c26d5..49642aec 100755 --- a/expat/coverage.sh +++ b/expat/coverage.sh @@ -50,8 +50,14 @@ _get_build_dir() { fi local char_part= - if ${with_unsigned_char}; then - char_part=__unsigned_char + if ${unicode_enabled}; then + if ${with_unsigned_char}; then + char_part=__ushort + else + char_part=__wchar_t + fi + else + char_part=__char fi local xml_attr_part= @@ -64,7 +70,7 @@ _get_build_dir() { m32_part=__m32 fi - echo "build__${version}__unicode_${unicode_enabled}__xml_context_${xml_context}${libbsd_part}${mingw_part}${char_part}${xml_attr_part}${m32_part}" + echo "build__${version}__xml_context_${xml_context}${libbsd_part}${mingw_part}${char_part}${xml_attr_part}${m32_part}" } -- cgit v1.2.1 From 28e427e6896ff889d4eb117978dfbd2f3d586e4c Mon Sep 17 00:00:00 2001 From: Sebastian Pipping Date: Mon, 27 Dec 2021 22:16:53 +0100 Subject: linux.yml: Add some coverage to -m32 32bit mode --- .github/workflows/linux.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 6d02d80e..951ec741 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -68,6 +68,8 @@ jobs: FLAT_ENV: CC=clang CXX=clang++ LD=clang++ QA_SANITIZER=undefined - MODE: qa-sh FLAT_ENV: CC=gcc CXX=g++ LD=ld QA_PROCESSOR=gcov + - MODE: qa-sh + FLAT_ENV: CC=gcc CXX=g++ LD=ld QA_PROCESSOR=gcov CMAKE_ARGS=-D_EXPAT_M32=ON - MODE: qa-sh FLAT_ENV: CC=i686-w64-mingw32-gcc CXX=i686-w64-mingw32-g++ LD=i686-w64-mingw32-ld QA_PROCESSOR=gcov CMAKE_ARGS="-DCMAKE_SYSTEM_NAME=Windows -DWIN32=ON -DMINGW=ON -DEXPAT_ATTR_INFO=ON" - MODE: qa-sh @@ -93,6 +95,8 @@ jobs: cmake \ docbook2x \ dos2unix \ + gcc-multilib \ + g++-multilib \ lcov \ libbsd-dev \ lzip \ -- cgit v1.2.1 From 5aaa96e1a2d4791fb6da01a75f88ca7b22daf44e Mon Sep 17 00:00:00 2001 From: Sebastian Pipping Date: Mon, 27 Dec 2021 22:23:30 +0100 Subject: coverage.yml: Store coverage .info and HTML report --- .github/workflows/coverage.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml index b9bdee57..a8bf591f 100644 --- a/.github/workflows/coverage.yml +++ b/.github/workflows/coverage.yml @@ -77,3 +77,10 @@ jobs: TRAVIS_OS_NAME: linux run: | exec ./.travis.sh + + - name: Store coverage .info and HTML report + uses: actions/upload-artifact@v2.3.1 + with: + name: coverage + path: expat/coverage__*/ + if-no-files-found: error -- cgit v1.2.1