aboutsummaryrefslogtreecommitdiff
path: root/repos/extra/graphite2/clang.patch
diff options
context:
space:
mode:
Diffstat (limited to 'repos/extra/graphite2/clang.patch')
-rw-r--r--repos/extra/graphite2/clang.patch51
1 files changed, 51 insertions, 0 deletions
diff --git a/repos/extra/graphite2/clang.patch b/repos/extra/graphite2/clang.patch
new file mode 100644
index 00000000..1a46fa55
--- /dev/null
+++ b/repos/extra/graphite2/clang.patch
@@ -0,0 +1,51 @@
+Clang has -nostdlib++, which can be used more effectively than disabling
+all and then hardcoding linking against libgcc (which we do not have)
+
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -105,7 +105,7 @@ set_target_properties(graphite2 PROPERTIES PUBLIC_HEADER "${GRAPHITE_HEADERS}"
+ if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
+ set_target_properties(graphite2 PROPERTIES
+ COMPILE_FLAGS "-Wall -Wextra -Wno-unknown-pragmas -Wendif-labels -Wshadow -Wctor-dtor-privacy -Wnon-virtual-dtor -fno-rtti -fno-exceptions -fvisibility=hidden -fvisibility-inlines-hidden"
+- LINK_FLAGS "-nodefaultlibs ${GRAPHITE_LINK_FLAGS}"
++ LINK_FLAGS "-nostdlib++ ${GRAPHITE_LINK_FLAGS}"
+ LINKER_LANGUAGE C)
+ if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86|i.86")
+ add_definitions(-mfpmath=sse -msse2)
+@@ -117,19 +117,7 @@ if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
+ if (${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang")
+ add_definitions(-Wimplicit-fallthrough -Wshorten-64-to-32)
+ endif()
+- if (${CMAKE_CXX_COMPILER} MATCHES ".*mingw.*")
+- target_link_libraries(graphite2 kernel32 msvcr90 mingw32 gcc user32)
+- else (${CMAKE_CXX_COMPILER} MATCHES ".*mingw.*")
+- if (GRAPHITE2_SANITIZERS)
+- target_link_libraries(graphite2 c gcc_s)
+- else ()
+- target_link_libraries(graphite2 c gcc)
+- endif ()
+- endif()
+ include(Graphite)
+- if (BUILD_SHARED_LIBS)
+- nolib_test(stdc++ $<TARGET_SONAME_FILE:graphite2>)
+- endif ()
+ set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "")
+ CREATE_LIBTOOL_FILE(graphite2 "/lib${LIB_SUFFIX}")
+ endif()
+--- a/tests/CMakeLists.txt
++++ b/tests/CMakeLists.txt
+@@ -47,12 +47,12 @@ else (${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
+ set_target_properties(graphite2-base PROPERTIES
+ COMPILE_FLAGS "-Wall -Wextra -Wno-class-memaccess -fno-rtti -fno-exceptions"
+ COMPILE_DEFINITIONS "GRAPHITE2_NTRACING"
+- LINK_FLAGS "-nodefaultlibs ${GRAPHITE_LINK_FLAGS}"
++ LINK_FLAGS "-nostdlib++ ${GRAPHITE_LINK_FLAGS}"
+ LINKER_LANGUAGE C)
+ set_target_properties(graphite2-file PROPERTIES
+ COMPILE_FLAGS "-Wall -Wextra -Wno-class-memaccess -fno-rtti -fno-exceptions"
+ COMPILE_DEFINITIONS "GRAPHITE2_NTRACING${TELEMETRY}"
+- LINK_FLAGS "-nodefaultlibs ${GRAPHITE_LINK_FLAGS}"
++ LINK_FLAGS "-nostdlib++ ${GRAPHITE_LINK_FLAGS}"
+ LINKER_LANGUAGE C)
+ endif()
+