[HarfBuzz] harfbuzz: Branch 'master' - 5 commits

Behdad Esfahbod behdad at kemper.freedesktop.org
Mon Jan 22 23:23:44 UTC 2018


 .circleci/config.yml |   12 ++++++------
 .travis.yml          |   10 +++++++++-
 CMakeLists.txt       |   17 ++++++++++-------
 src/hb-blob.h        |    2 +-
 src/hb-buffer.h      |    4 ++--
 5 files changed, 28 insertions(+), 17 deletions(-)

New commits:
commit 3d615766060e34a6e716c8737f651b6d6871ae85
Author: Ebrahim Byagowi <ebrahim at gnu.org>
Date:   Mon Jan 22 21:23:19 2018 +0330

    [cmake] fix symbol exporting issue on newer gcc (#724)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 15d3e93d..f5d9c173 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -269,7 +269,7 @@ if (HB_HAVE_FREETYPE)
 
   list(APPEND THIRD_PARTY_LIBS ${FREETYPE_LIBRARIES})
   include_directories(AFTER ${FREETYPE_INCLUDE_DIRS})
-  add_definitions(-DHAVE_FREETYPE=1 -DHAVE_FT_FACE_GETCHARVARIANTINDEX=1)
+  add_definitions(-DHAVE_FREETYPE=1)
 
   list(APPEND project_sources ${PROJECT_SOURCE_DIR}/src/hb-ft.cc)
   list(APPEND project_headers ${PROJECT_SOURCE_DIR}/src/hb-ft.h)
@@ -355,7 +355,7 @@ if (APPLE AND HB_HAVE_CORETEXT)
   if (APPLICATION_SERVICES_FRAMEWORK)
     list(APPEND THIRD_PARTY_LIBS ${APPLICATION_SERVICES_FRAMEWORK})
   endif (APPLICATION_SERVICES_FRAMEWORK)
-  
+
   mark_as_advanced(APPLICATION_SERVICES_FRAMEWORK)
 endif ()
 
@@ -380,7 +380,7 @@ endif ()
 if (HB_HAVE_GOBJECT)
   include (FindPythonInterp)
   include (FindPerl)
-  
+
   # Use the hints from glib-2.0.pc to find glib-mkenums
   find_package(PkgConfig)
   pkg_check_modules(PC_GLIB QUIET glib-2.0)
@@ -530,7 +530,8 @@ if (UNIX OR MINGW)
   ))
     set (CMAKE_CXX_FLAGS "-fno-rtti -fno-exceptions ${CMAKE_CXX_FLAGS}")
   endif ()
-  set (CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "")
+  add_definitions(-D__CORRECT_ISO_CPP11_MATH_H_PROTO_FP)
+  set (CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "c;m") # libc and libm
   set (CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "")
   set_target_properties(harfbuzz PROPERTIES LINKER_LANGUAGE C)
 
@@ -790,7 +791,8 @@ endif ()
 ## Tests
 if (UNIX OR MINGW)
   if (BUILD_SHARED_LIBS)
-    string(REPLACE ";" " " space_separated_headers "${project_headers}")  
+    # generate harfbuzz.def after build completion
+    string(REPLACE ";" " " space_separated_headers "${project_headers}")
     add_custom_command(TARGET harfbuzz POST_BUILD
       COMMAND ${CMAKE_COMMAND} -E env "headers=${space_separated_headers}" python ${PROJECT_SOURCE_DIR}/src/gen-def.py ${PROJECT_BINARY_DIR}/harfbuzz.def
       WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/src)
@@ -800,13 +802,11 @@ if (UNIX OR MINGW)
       WORKING_DIRECTORY ${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/harfbuzz.dir/src # ugly hack
     )
     add_test(NAME check-libstdc++.sh COMMAND ${PROJECT_SOURCE_DIR}/src/check-libstdc++.sh)
-    set_tests_properties(check-static-inits.sh check-libstdc++.sh PROPERTIES ENVIRONMENT "libs=.;srcdir=${PROJECT_SOURCE_DIR}/src")
+    add_test(NAME check-symbols.sh COMMAND ${PROJECT_SOURCE_DIR}/src/check-symbols.sh)
+    add_test(NAME check-defs.sh COMMAND ${PROJECT_SOURCE_DIR}/src/check-defs.sh)
 
-    if (APPLE) # doesn't work on Linux it seems
-      add_test(NAME check-symbols.sh COMMAND ${PROJECT_SOURCE_DIR}/src/check-symbols.sh)
-      add_test(NAME check-defs.sh COMMAND ${PROJECT_SOURCE_DIR}/src/check-defs.sh)
-      set_tests_properties(check-symbols.sh check-defs.sh PROPERTIES ENVIRONMENT "libs=.;srcdir=${PROJECT_SOURCE_DIR}/src")
-    endif ()
+    set_tests_properties(check-static-inits.sh check-libstdc++.sh check-symbols.sh check-defs.sh
+      PROPERTIES ENVIRONMENT "libs=.;srcdir=${PROJECT_SOURCE_DIR}/src")
   endif ()
 
   add_test(NAME check-c-linkage-decls.sh COMMAND ./check-c-linkage-decls.sh)
commit 8b60e7c2c301a24906d591c80c42fd5e506072d2
Author: Ebrahim Byagowi <ebrahim at gnu.org>
Date:   Mon Jan 22 18:37:26 2018 +0330

    [ci] minor, less hacks (#722)

diff --git a/.circleci/config.yml b/.circleci/config.yml
index d7ea2567..11ca1d7a 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -4,16 +4,12 @@ jobs:
 
   distcheck:
     docker:
-      - image: dockcross/base
+      - image: ubuntu:17.10
     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: apt-cache policy libfreetype6-dev && echo @@@@ revert https://github.com/harfbuzz/harfbuzz/pull/718 when this updated @@@@ 1>&2
-      - run: wget http://download.savannah.gnu.org/releases/freetype/freetype-2.9.tar.bz2 && tar xf freetype-2.9.tar.bz2 && cd freetype-2.9 && ./autogen.sh && ./configure && make -j4 && sudo make install && cd ..
-
-      - run: ./autogen.sh && LD_PRELOAD="$PWD/freetype-2.9/objs/.libs/libfreetype.so" make distcheck
-      - run: make distdir && cd harfbuzz-* && cmake -DDHB_CHECK=ON -Bbuild -H. -GNinja && ninja -Cbuild && CTEST_OUTPUT_ON_FAILURE=1 ninja -Cbuild test && ninja -Cbuild install
+      - run: apt update && apt install -y ninja-build binutils libtool autoconf automake make cmake gcc g++ pkg-config ragel gtk-doc-tools libfreetype6-dev libglib2.0-dev libcairo2-dev libicu-dev libgraphite2-dev
+      - run: ./autogen.sh && make distcheck && rm -rf harfbuzz-*
+      - run: make distdir && cd harfbuzz-* && cmake -DHB_CHECK=ON -Bbuild -H. -GNinja && ninja -Cbuild && CTEST_OUTPUT_ON_FAILURE=1 ninja -Cbuild test && ninja -Cbuild install
 
   alpine:
     docker:
@@ -44,14 +40,10 @@ jobs:
 
   cmake-gcc:
     docker:
-      - image: dockcross/base
+      - image: ubuntu:17.10
     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: apt-cache policy libfreetype6-dev && echo @@@@ revert https://github.com/harfbuzz/harfbuzz/pull/718 when this updated @@@@ 1>&2
-      - run: wget http://download.savannah.gnu.org/releases/freetype/freetype-2.9.tar.bz2 && tar xf freetype-2.9.tar.bz2 && cd freetype-2.9 && ./autogen.sh && ./configure && make -j4 && sudo make install && cd ..
-
+      - run: apt update && apt install -y ninja-build binutils cmake gcc g++ pkg-config ragel gtk-doc-tools libfreetype6-dev libglib2.0-dev libcairo2-dev libicu-dev libgraphite2-dev
       - run: cmake -DHB_CHECK=ON -Bbuild -H. -GNinja
       - run: ninja -Cbuild
       - run: CTEST_OUTPUT_ON_FAILURE=1 ninja -Cbuild test
diff --git a/.travis.yml b/.travis.yml
index 187ca3af..b9913065 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -17,9 +17,9 @@ matrix:
     - os: linux
       compiler: gcc
       script:
-        - apt-cache policy libfreetype6-dev && echo @@@@ revert https://github.com/harfbuzz/harfbuzz/pull/718 when this updated @@@@ 1>&2
+        # Remove these two lines when Travis updated its distro
         - wget http://download.savannah.gnu.org/releases/freetype/freetype-2.9.tar.bz2 && tar xf freetype-2.9.tar.bz2 && cd freetype-2.9 && ./autogen.sh && ./configure && make -j4 && cd ..
-        - export LD_PRELOAD="$PWD/freetype-2.9/objs/.libs/libfreetype.so"
+        - export LD_LIBRARY_PATH="$PWD/freetype-2.9/objs/.libs"
 
         - ./autogen.sh
         - ./configure $CONFIGURE_OPTS --enable-gtk-doc
@@ -32,9 +32,9 @@ matrix:
     - os: linux
       compiler: clang
       script:
-        - apt-cache policy libfreetype6-dev && echo @@@@ revert https://github.com/harfbuzz/harfbuzz/pull/718 when this updated @@@@ 1>&2
+        # Remove these two lines when Travis updated its distro
         - wget http://download.savannah.gnu.org/releases/freetype/freetype-2.9.tar.bz2 && tar xf freetype-2.9.tar.bz2 && cd freetype-2.9 && ./autogen.sh && ./configure && make -j4 && cd ..
-        - export LD_PRELOAD="$PWD/freetype-2.9/objs/.libs/libfreetype.so"
+        - export LD_LIBRARY_PATH="$PWD/freetype-2.9/objs/.libs"
 
         - ./autogen.sh
         - ./configure $CONFIGURE_OPTS
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 435d4fa5..15d3e93d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -795,15 +795,18 @@ if (UNIX OR MINGW)
       COMMAND ${CMAKE_COMMAND} -E env "headers=${space_separated_headers}" python ${PROJECT_SOURCE_DIR}/src/gen-def.py ${PROJECT_BINARY_DIR}/harfbuzz.def
       WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/src)
 
-    add_test(NAME check-symbols.sh COMMAND ${PROJECT_SOURCE_DIR}/src/check-symbols.sh)
     add_test(NAME check-static-inits.sh
       COMMAND ${PROJECT_SOURCE_DIR}/src/check-static-inits.sh
       WORKING_DIRECTORY ${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/harfbuzz.dir/src # ugly hack
     )
     add_test(NAME check-libstdc++.sh COMMAND ${PROJECT_SOURCE_DIR}/src/check-libstdc++.sh)
-    add_test(NAME check-defs.sh COMMAND ${PROJECT_SOURCE_DIR}/src/check-defs.sh)
-    set_tests_properties(check-symbols.sh check-static-inits.sh check-libstdc++.sh check-defs.sh
-      PROPERTIES ENVIRONMENT "libs=.;srcdir=${PROJECT_SOURCE_DIR}/src")
+    set_tests_properties(check-static-inits.sh check-libstdc++.sh PROPERTIES ENVIRONMENT "libs=.;srcdir=${PROJECT_SOURCE_DIR}/src")
+
+    if (APPLE) # doesn't work on Linux it seems
+      add_test(NAME check-symbols.sh COMMAND ${PROJECT_SOURCE_DIR}/src/check-symbols.sh)
+      add_test(NAME check-defs.sh COMMAND ${PROJECT_SOURCE_DIR}/src/check-defs.sh)
+      set_tests_properties(check-symbols.sh check-defs.sh PROPERTIES ENVIRONMENT "libs=.;srcdir=${PROJECT_SOURCE_DIR}/src")
+    endif ()
   endif ()
 
   add_test(NAME check-c-linkage-decls.sh COMMAND ./check-c-linkage-decls.sh)
commit aaf934de3b9e3447897b4da566655d6d0494e87b
Author: Ebrahim Byagowi <ebrahim at gnu.org>
Date:   Mon Jan 22 13:16:54 2018 +0330

    [ci] minor (#721)

diff --git a/.circleci/config.yml b/.circleci/config.yml
index 6fdb352a..d7ea2567 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -9,7 +9,7 @@ jobs:
       - 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: apt-cache policy libfreetype6-dev && echo @@@@ revert \#718 when this update @@@@ 1>&2
+      - run: apt-cache policy libfreetype6-dev && echo @@@@ revert https://github.com/harfbuzz/harfbuzz/pull/718 when this updated @@@@ 1>&2
       - run: wget http://download.savannah.gnu.org/releases/freetype/freetype-2.9.tar.bz2 && tar xf freetype-2.9.tar.bz2 && cd freetype-2.9 && ./autogen.sh && ./configure && make -j4 && sudo make install && cd ..
 
       - run: ./autogen.sh && LD_PRELOAD="$PWD/freetype-2.9/objs/.libs/libfreetype.so" make distcheck
@@ -49,7 +49,7 @@ jobs:
       - 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: apt-cache policy libfreetype6-dev && echo @@@@ revert \#718 when this update @@@@ 1>&2
+      - run: apt-cache policy libfreetype6-dev && echo @@@@ revert https://github.com/harfbuzz/harfbuzz/pull/718 when this updated @@@@ 1>&2
       - run: wget http://download.savannah.gnu.org/releases/freetype/freetype-2.9.tar.bz2 && tar xf freetype-2.9.tar.bz2 && cd freetype-2.9 && ./autogen.sh && ./configure && make -j4 && sudo make install && cd ..
 
       - run: cmake -DHB_CHECK=ON -Bbuild -H. -GNinja
diff --git a/.travis.yml b/.travis.yml
index 5cf10715..187ca3af 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -17,7 +17,7 @@ matrix:
     - os: linux
       compiler: gcc
       script:
-        - apt-cache policy libfreetype6-dev && echo @@@@ revert \#718 when this update @@@@ 1>&2
+        - apt-cache policy libfreetype6-dev && echo @@@@ revert https://github.com/harfbuzz/harfbuzz/pull/718 when this updated @@@@ 1>&2
         - wget http://download.savannah.gnu.org/releases/freetype/freetype-2.9.tar.bz2 && tar xf freetype-2.9.tar.bz2 && cd freetype-2.9 && ./autogen.sh && ./configure && make -j4 && cd ..
         - export LD_PRELOAD="$PWD/freetype-2.9/objs/.libs/libfreetype.so"
 
@@ -32,7 +32,7 @@ matrix:
     - os: linux
       compiler: clang
       script:
-        - apt-cache policy libfreetype6-dev && echo @@@@ revert \#718 when this update @@@@ 1>&2
+        - apt-cache policy libfreetype6-dev && echo @@@@ revert https://github.com/harfbuzz/harfbuzz/pull/718 when this updated @@@@ 1>&2
         - wget http://download.savannah.gnu.org/releases/freetype/freetype-2.9.tar.bz2 && tar xf freetype-2.9.tar.bz2 && cd freetype-2.9 && ./autogen.sh && ./configure && make -j4 && cd ..
         - export LD_PRELOAD="$PWD/freetype-2.9/objs/.libs/libfreetype.so"
 
commit bd752db733e3d8c2c8773d831aebdd8a5cbb5e04
Author: Ebrahim Byagowi <ebrahim at gnu.org>
Date:   Mon Jan 22 13:08:35 2018 +0330

    [ci] unbreak bots with outdated freetype version (#718)

diff --git a/.circleci/config.yml b/.circleci/config.yml
index f558e6d6..6fdb352a 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -8,7 +8,11 @@ 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: ./autogen.sh && make distcheck
+
+      - run: apt-cache policy libfreetype6-dev && echo @@@@ revert \#718 when this update @@@@ 1>&2
+      - run: wget http://download.savannah.gnu.org/releases/freetype/freetype-2.9.tar.bz2 && tar xf freetype-2.9.tar.bz2 && cd freetype-2.9 && ./autogen.sh && ./configure && make -j4 && sudo make install && cd ..
+
+      - run: ./autogen.sh && LD_PRELOAD="$PWD/freetype-2.9/objs/.libs/libfreetype.so" make distcheck
       - run: make distdir && cd harfbuzz-* && cmake -DDHB_CHECK=ON -Bbuild -H. -GNinja && ninja -Cbuild && CTEST_OUTPUT_ON_FAILURE=1 ninja -Cbuild test && ninja -Cbuild install
 
   alpine:
@@ -44,6 +48,10 @@ 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: apt-cache policy libfreetype6-dev && echo @@@@ revert \#718 when this update @@@@ 1>&2
+      - run: wget http://download.savannah.gnu.org/releases/freetype/freetype-2.9.tar.bz2 && tar xf freetype-2.9.tar.bz2 && cd freetype-2.9 && ./autogen.sh && ./configure && make -j4 && sudo make install && cd ..
+
       - run: cmake -DHB_CHECK=ON -Bbuild -H. -GNinja
       - run: ninja -Cbuild
       - run: CTEST_OUTPUT_ON_FAILURE=1 ninja -Cbuild test
diff --git a/.travis.yml b/.travis.yml
index 533670c8..5cf10715 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -17,6 +17,10 @@ matrix:
     - os: linux
       compiler: gcc
       script:
+        - apt-cache policy libfreetype6-dev && echo @@@@ revert \#718 when this update @@@@ 1>&2
+        - wget http://download.savannah.gnu.org/releases/freetype/freetype-2.9.tar.bz2 && tar xf freetype-2.9.tar.bz2 && cd freetype-2.9 && ./autogen.sh && ./configure && make -j4 && cd ..
+        - export LD_PRELOAD="$PWD/freetype-2.9/objs/.libs/libfreetype.so"
+
         - ./autogen.sh
         - ./configure $CONFIGURE_OPTS --enable-gtk-doc
         - make
@@ -28,6 +32,10 @@ matrix:
     - os: linux
       compiler: clang
       script:
+        - apt-cache policy libfreetype6-dev && echo @@@@ revert \#718 when this update @@@@ 1>&2
+        - wget http://download.savannah.gnu.org/releases/freetype/freetype-2.9.tar.bz2 && tar xf freetype-2.9.tar.bz2 && cd freetype-2.9 && ./autogen.sh && ./configure && make -j4 && cd ..
+        - export LD_PRELOAD="$PWD/freetype-2.9/objs/.libs/libfreetype.so"
+
         - ./autogen.sh
         - ./configure $CONFIGURE_OPTS
         - make
@@ -64,4 +72,4 @@ addons:
       - libcairo2-dev # for utils
       - libicu-dev # for extra unicode functions
       - libgraphite2-dev # for extra shapers
-      - # libgirepository1.0-dev # for gobject-introspection
+      #- libgirepository1.0-dev # for gobject-introspection
commit 19a93fcf1946ad29f07306a0b6c65377bdaa49f0
Author: Bruce Mitchener <bruce.mitchener at gmail.com>
Date:   Sun Jan 21 20:40:34 2018 +0700

    Fix typos.

diff --git a/src/hb-blob.h b/src/hb-blob.h
index ef3fc98c..53682d3e 100644
--- a/src/hb-blob.h
+++ b/src/hb-blob.h
@@ -44,7 +44,7 @@ HB_BEGIN_DECLS
  *   any such possibility, MODE_DUPLICATE should be used
  *   such that HarfBuzz makes a copy immediately,
  *
- * - Use MODE_READONLY otherse, unless you really really
+ * - Use MODE_READONLY otherwise, unless you really really
  *   really know what you are doing,
  *
  * - MODE_WRITABLE is appropriate if you really made a
diff --git a/src/hb-buffer.h b/src/hb-buffer.h
index bcc29930..b2801ddf 100644
--- a/src/hb-buffer.h
+++ b/src/hb-buffer.h
@@ -247,13 +247,13 @@ hb_buffer_guess_segment_properties (hb_buffer_t *buffer);
  *                      of the text without the full context.
  * @HB_BUFFER_FLAG_EOT: flag indicating that special handling of the end of text
  *                      paragraph can be applied to this buffer, similar to
- *                      @HB_BUFFER_FLAG_EOT.
+ *                      @HB_BUFFER_FLAG_BOT.
  * @HB_BUFFER_FLAG_PRESERVE_DEFAULT_IGNORABLES:
  *                      flag indication that character with Default_Ignorable
  *                      Unicode property should use the corresponding glyph
  *                      from the font, instead of hiding them (done by
  *                      replacing them with the space glyph and zeroing the
- *                      advance width.)  This flag takes precendence over
+ *                      advance width.)  This flag takes precedence over
  *                      @HB_BUFFER_FLAG_REMOVE_DEFAULT_IGNORABLES.
  * @HB_BUFFER_FLAG_REMOVE_DEFAULT_IGNORABLES:
  *                      flag indication that character with Default_Ignorable


More information about the HarfBuzz mailing list