OSDN Git Service

[libunwind] Treat assembly files as C on mingw
authorMartin Storsjö <martin@martin.st>
Sun, 26 Jan 2020 20:14:41 +0000 (22:14 +0200)
committerMartin Storsjö <martin@martin.st>
Mon, 27 Jan 2020 07:04:58 +0000 (09:04 +0200)
When targeting mingw, current CMake (3.16) fails to get the right
flags for assembly source files for windows gnu/clang targets
(see https://gitlab.kitware.com/cmake/cmake/merge_requests/4287
for a fix), causing builds to fail due to `-fPIC` being unsupported
in clang for mingw targets

In the meantime, restore the behaviour from before c48974ffd7d1676
selectively on mingw targets, treating the assembly files as C.

Differential Revision: https://reviews.llvm.org/D73436

libunwind/src/CMakeLists.txt

index 01ec4b6..3821ef8 100644 (file)
@@ -24,6 +24,13 @@ set(LIBUNWIND_ASM_SOURCES
     UnwindRegistersRestore.S
     UnwindRegistersSave.S
     )
+if (MINGW)
+  # CMake doesn't build assembly sources for windows/gnu targets properly
+  # (up to current CMake, 3.16), so treat them as C files.
+  set_source_files_properties(${LIBUNWIND_ASM_SOURCES}
+                              PROPERTIES
+                                LANGUAGE C)
+endif()
 
 set(LIBUNWIND_HEADERS
     AddressSpace.hpp