[HarfBuzz] harfbuzz: Branch 'master' - 4 commits
Behdad Esfahbod
behdad at kemper.freedesktop.org
Wed Jan 17 17:48:16 UTC 2018
.circleci/config.yml | 2 -
CMakeLists.txt | 60 +++++++++++++++++++++++++++++++++------------------
util/options.cc | 2 -
3 files changed, 41 insertions(+), 23 deletions(-)
New commits:
commit 4c4a9fc8617fed9bc1a7805c9aed294b4f6b66ea
Author: Behdad Esfahbod <behdad at behdad.org>
Date: Wed Jan 17 09:47:50 2018 -0800
Typo
Fixes https://github.com/harfbuzz/harfbuzz/issues/711
diff --git a/util/options.cc b/util/options.cc
index f4ac445f..d9486f8a 100644
--- a/util/options.cc
+++ b/util/options.cc
@@ -546,7 +546,7 @@ font_options_t::add_options (option_parser_t *parser)
};
parser->add_group (entries2,
"variations",
- "Varitions options:",
+ "Variations options:",
"Options for font variations used",
this);
}
commit 90f01bad637c8b1214f46d4df6d9552a6a728e29
Author: Ebrahim Byagowi <ebrahim at gnu.org>
Date: Tue Jan 16 22:00:21 2018 +0330
[cmake] don't link to libstdc++ (#707)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 9c4b0f09..d75bb58c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -519,6 +519,19 @@ endif ()
add_library(harfbuzz ${project_sources} ${project_extra_sources} ${project_headers})
target_link_libraries(harfbuzz ${THIRD_PARTY_LIBS})
+if (UNIX OR MINGW)
+ # Make symbols link locally
+ link_libraries(-Bsymbolic-functions)
+
+ # Make sure we don't link to libstdc++
+ set (CMAKE_CXX_FLAGS "-fno-rtti -fno-exceptions ${CMAKE_CXX_FLAGS}")
+ if (NOT APPLE)
+ set (CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "")
+ set (CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "")
+ set_target_properties(harfbuzz PROPERTIES LINKER_LANGUAGE C)
+ endif ()
+endif ()
+
## Define harfbuzz-gobject library
if (HB_HAVE_GOBJECT)
@@ -767,34 +780,33 @@ endif ()
## Tests
-if (UNIX)
+if (UNIX OR MINGW)
if (BUILD_SHARED_LIBS)
# does some "make" stuff inside
#add_test(NAME check-defs.sh COMMAND ${PROJECT_SOURCE_DIR}/src/check-defs.sh)
- #add_test(NAME check-libstdc++.sh COMMAND ${PROJECT_SOURCE_DIR}/src/check-libstdc++.sh)
- #set_tests_properties(check-defs.sh check-libstdc++.sh PROPERTIES ENVIRONMENT "libs=.")
+ #set_tests_properties(check-defs.sh PROPERTIES ENVIRONMENT "libs=.")
add_test(NAME check-symbols.sh COMMAND ${PROJECT_SOURCE_DIR}/src/check-symbols.sh)
set_tests_properties(check-symbols.sh PROPERTIES ENVIRONMENT "libs=.")
if (NOT APPLE)
+ add_test(NAME check-libstdc++.sh COMMAND ${PROJECT_SOURCE_DIR}/src/check-libstdc++.sh)
add_test(NAME check-static-inits.sh
COMMAND ${PROJECT_SOURCE_DIR}/src/check-static-inits.sh
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/CMakeFiles/harfbuzz.dir/src # ugly hack
)
- set_tests_properties(check-static-inits.sh PROPERTIES ENVIRONMENT "libs=.")
+ set_tests_properties(check-libstdc++.sh check-static-inits.sh
+ PROPERTIES ENVIRONMENT "libs=.")
endif ()
- else ()
- message(WARN "Enable BUILD_SHARED_LIBS for more tests.")
- endif ()
-
- if (IN_HB_DIST)
- add_test(NAME check-c-linkage-decls.sh COMMAND ./check-c-linkage-decls.sh WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/src)
- add_test(NAME check-header-guards.sh COMMAND ./check-header-guards.sh WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/src)
endif ()
- add_test(NAME check-externs.sh COMMAND ./check-externs.sh WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/src)
- add_test(NAME check-includes.sh COMMAND ./check-includes.sh WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/src)
+ add_test(NAME check-c-linkage-decls.sh COMMAND ./check-c-linkage-decls.sh)
+ add_test(NAME check-header-guards.sh COMMAND ./check-header-guards.sh)
+ add_test(NAME check-externs.sh COMMAND ./check-externs.sh)
+ add_test(NAME check-includes.sh COMMAND ./check-includes.sh)
+ set_tests_properties(
+ check-c-linkage-decls.sh check-header-guards.sh check-externs.sh check-includes.sh
+ PROPERTIES WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/src)
endif ()
# Needs to come last so that variables defined above are passed to
commit 5e14e5f65d3dd1ed471ed73fab7e3207ae04e8fb
Author: rdb <rdb at users.noreply.github.com>
Date: Tue Jan 16 17:04:33 2018 +0100
[cmake] Fix for CMake 3.0 and below (#706)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index f8391d5f..9c4b0f09 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -493,7 +493,7 @@ file(WRITE "${PROJECT_BINARY_DIR}/try_compile_intel_atomic_primitives.c"
")
try_compile(HB_HAVE_INTEL_ATOMIC_PRIMITIVES
${PROJECT_BINARY_DIR}/try_compile_intel_atomic_primitives
- SOURCES ${PROJECT_BINARY_DIR}/try_compile_intel_atomic_primitives.c)
+ ${PROJECT_BINARY_DIR}/try_compile_intel_atomic_primitives.c)
if (HB_HAVE_INTEL_ATOMIC_PRIMITIVES)
add_definitions(-DHAVE_INTEL_ATOMIC_PRIMITIVES)
endif ()
@@ -509,7 +509,7 @@ file(WRITE "${PROJECT_BINARY_DIR}/try_compile_solaris_atomic_ops.c"
")
try_compile(HB_HAVE_SOLARIS_ATOMIC_OPS
${PROJECT_BINARY_DIR}/try_compile_solaris_atomic_ops
- SOURCES ${PROJECT_BINARY_DIR}/try_compile_solaris_atomic_ops.c)
+ ${PROJECT_BINARY_DIR}/try_compile_solaris_atomic_ops.c)
if (HB_HAVE_SOLARIS_ATOMIC_OPS)
add_definitions(-DHAVE_SOLARIS_ATOMIC_OPS)
endif ()
@@ -799,4 +799,4 @@ endif ()
# Needs to come last so that variables defined above are passed to
# subdirectories.
-add_subdirectory(test)
\ No newline at end of file
+add_subdirectory(test)
commit c97a7eca7f7b6fc1c50a4ac7fccf3fa2d777430e
Author: Ebrahim Byagowi <ebrahim at gnu.org>
Date: Tue Jan 16 14:18:09 2018 +0330
[cmake] Fix symbols visibility and enable check-symbols.sh test (#705)
diff --git a/.circleci/config.yml b/.circleci/config.yml
index 6f9a5c42..cd54b659 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -44,7 +44,7 @@ jobs:
steps:
- checkout
- run: apt update && apt install -y pkg-config ragel gtk-doc-tools libfreetype6-dev libglib2.0-dev libcairo2-dev libicu-dev libgraphite2-dev
- - run: cmake -DHB_HAVE_FREETYPE=ON -DHB_HAVE_GRAPHITE2=ON -DHB_BUILTIN_UCDN=ON -DHB_HAVE_GLIB=ON -DHB_HAVE_ICU=ON -DHB_BUILD_UTILS=ON -Bbuild -H. -GNinja
+ - run: cmake -DHB_CHECK=ON -Bbuild -H. -GNinja
- run: ninja -Cbuild
- run: CTEST_OUTPUT_ON_FAILURE=1 ninja -Cbuild test
- run: ninja -Cbuild install
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 4d52668b..f8391d5f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -5,7 +5,8 @@ enable_testing()
## Limit framework build to Xcode generator
if (BUILD_FRAMEWORK)
- # for a framework on macOS, use `cmake .. -DBUILD_FRAMEWORK:BOOL=true -G Xcode`
+ # for a framework build on macOS, use:
+ # cmake -DBUILD_FRAMEWORK=ON -Bbuild -H. -GXcode && cmake --build build
if (NOT "${CMAKE_GENERATOR}" STREQUAL "Xcode")
message(FATAL_ERROR
"You should use Xcode generator with BUILD_FRAMEWORK enabled")
@@ -121,8 +122,14 @@ if (MSVC)
add_definitions(-wd4244 -wd4267 -D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_WARNINGS)
endif ()
-if (WIN32 AND NOT MINGW AND BUILD_SHARED_LIBS)
- add_definitions("-DHB_EXTERN=__declspec(dllexport) extern")
+if (BUILD_SHARED_LIBS)
+ if (WIN32 AND NOT MINGW)
+ add_definitions("-DHB_EXTERN=__declspec(dllexport) extern")
+ else ()
+ set (CMAKE_CXX_FLAGS "-fvisibility=hidden ${CMAKE_CXX_FLAGS}")
+ set (CMAKE_C_FLAGS "-fvisibility=hidden ${CMAKE_CXX_FLAGS}")
+ add_definitions("-DHB_EXTERN=__attribute__((visibility(\"default\"))) extern")
+ endif ()
endif ()
@@ -764,12 +771,11 @@ if (UNIX)
if (BUILD_SHARED_LIBS)
# does some "make" stuff inside
#add_test(NAME check-defs.sh COMMAND ${PROJECT_SOURCE_DIR}/src/check-defs.sh)
- #set_tests_properties(check-defs.sh PROPERTIES ENVIRONMENT "libs=.")
-
- # broken on cmake builds right now :(
- #add_test(NAME check-symbols.sh COMMAND ${PROJECT_SOURCE_DIR}/src/check-symbols.sh)
#add_test(NAME check-libstdc++.sh COMMAND ${PROJECT_SOURCE_DIR}/src/check-libstdc++.sh)
- #set_tests_properties(check-symbols.sh check-libstdc++.sh PROPERTIES ENVIRONMENT "libs=.")
+ #set_tests_properties(check-defs.sh check-libstdc++.sh PROPERTIES ENVIRONMENT "libs=.")
+
+ add_test(NAME check-symbols.sh COMMAND ${PROJECT_SOURCE_DIR}/src/check-symbols.sh)
+ set_tests_properties(check-symbols.sh PROPERTIES ENVIRONMENT "libs=.")
if (NOT APPLE)
add_test(NAME check-static-inits.sh
More information about the HarfBuzz
mailing list