blob: 815301dd307be6229b56995eb551cb8920815440 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
https://bugs.gentoo.org/870034
https://bugs.gentoo.org/829690
https://raw.githubusercontent.com/chimera-linux/cports/6d3cabd18bac6f4caaea08eaa928840552711c0c/main/graphite2/patches/clang.patch
From chimera patch:
"Clang has -nostdlib++, which can be used more effectively than disabling
all and then hardcoding linking against libgcc (which we do not have)"
Obsoletes graphite2-1.3.14-fix-nodefaultlibs.patch whose description was:
```
See https://github.com/silnrsi/graphite/pull/44.
Drop -nodefaultlibs:
- graphite is written in C++ which makes avoiding libstdc++ (or libc++) a dubious
goal;
- this ends up breaking e.g. x86/musl because we need to inject -lssp_nonshared,
but it wouldn't be surprising if it broke other exotic targets too.
```
--- 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()
--- 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,15 +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.*")
- target_link_libraries(graphite2 c gcc_s)
- endif()
include(Graphite)
- if (BUILD_SHARED_LIBS)
- nolib_test(stdc++ $<TARGET_SONAME_FILE:graphite2>)
- endif ()
set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "")
if (0)
CREATE_LIBTOOL_FILE(graphite2 "/lib${LIB_SUFFIX}")
|