update: rename filedir to work with new version of leaf
This commit is contained in:
@@ -0,0 +1,105 @@
|
||||
https://bugs.gentoo.org/870034
|
||||
https://bugs.gentoo.org/829690
|
||||
https://github.com/silnrsi/graphite/pull/44.
|
||||
https://raw.githubusercontent.com/chimera-linux/cports/6d3cabd18bac6f4caaea08eaa928840552711c0c/main/graphite2/patches/clang.patch
|
||||
|
||||
Obsoletes graphite2-1.3.14-fix-nodefaultlibs.patch whose description was:
|
||||
"""
|
||||
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.
|
||||
"""
|
||||
|
||||
This patch is based on the linked one above from Chimera Linux. We have
|
||||
to adapt it a bit because GCC lacks -nostdlib++.
|
||||
|
||||
Quoting it:
|
||||
"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,6 @@ 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}"
|
||||
LINKER_LANGUAGE C)
|
||||
if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86|i.86")
|
||||
add_definitions(-mfpmath=sse -msse2)
|
||||
@@ -114,22 +113,32 @@ if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
|
||||
add_definitions(-Wno-class-memaccess -Wdouble-promotion)
|
||||
endif()
|
||||
message(STATUS "Compiler ID is: ${CMAKE_CXX_COMPILER_ID}")
|
||||
- if (${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang")
|
||||
- add_definitions(-Wimplicit-fallthrough -Wshorten-64-to-32)
|
||||
- endif()
|
||||
+
|
||||
+ include(Graphite)
|
||||
+
|
||||
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 ()
|
||||
+ if (${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang")
|
||||
+ add_definitions(-Wimplicit-fallthrough -Wshorten-64-to-32)
|
||||
+ set_target_properties(graphite2 PROPERTIES
|
||||
+ LINK_FLAGS "-nostdlib++ ${GRAPHITE_LINK_FLAGS}")
|
||||
+ else()
|
||||
+ set_target_properties(graphite2 PROPERTIES
|
||||
+ LINK_FLAGS "-nodefaultlibs ${GRAPHITE_LINK_FLAGS}")
|
||||
+
|
||||
+ if (GRAPHITE2_SANITIZERS)
|
||||
+ target_link_libraries(graphite2 c gcc_s)
|
||||
+ else()
|
||||
+ target_link_libraries(graphite2 c gcc)
|
||||
+ endif()
|
||||
+
|
||||
+ if (BUILD_SHARED_LIBS)
|
||||
+ nolib_test(stdc++ $<TARGET_SONAME_FILE:graphite2>)
|
||||
+ endif ()
|
||||
+ endif()
|
||||
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}")
|
||||
--- a/tests/CMakeLists.txt
|
||||
+++ b/tests/CMakeLists.txt
|
||||
@@ -44,15 +44,25 @@ if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
|
||||
COMPILE_DEFINITIONS "GRAPHITE2_STATIC;GRAPHITE2_NTRACING${TELEMETRY};_SCL_SECURE_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;UNICODE")
|
||||
else (${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
|
||||
# don't -D GRAPHITE2_STATIC so that tests can see the API symbols in the static library
|
||||
+ if (${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang")
|
||||
+ set_target_properties(graphite2-base PROPERTIES
|
||||
+ LINK_FLAGS "-nostdlib++ ${GRAPHITE_LINK_FLAGS}")
|
||||
+ set_target_properties(graphite2-file PROPERTIES
|
||||
+ LINK_FLAGS "-nostdlib++ ${GRAPHITE_LINK_FLAGS}")
|
||||
+ else()
|
||||
+ set_target_properties(graphite2-base PROPERTIES
|
||||
+ LINK_FLAGS "-nodefaultlibs ${GRAPHITE_LINK_FLAGS}")
|
||||
+ set_target_properties(graphite2-file PROPERTIES
|
||||
+ LINK_FLAGS "-nodefaultlibs ${GRAPHITE_LINK_FLAGS}")
|
||||
+ endif()
|
||||
+
|
||||
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}"
|
||||
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}"
|
||||
LINKER_LANGUAGE C)
|
||||
endif()
|
||||
|
||||
Reference in New Issue
Block a user