[HarfBuzz] harfbuzz: Branch 'master' - 8 commits
Behdad Esfahbod
behdad at kemper.freedesktop.org
Fri Feb 16 22:16:41 UTC 2018
.ci/fail.sh | 12 ++++++++++++
.circleci/config.yml | 13 +++++++++----
.collect_logs | 6 ------
.travis.yml | 6 +++---
RELEASING.md | 28 +---------------------------
appveyor.yml | 2 +-
mingw32.sh | 22 ++++++++++++++++++++++
mingw64.sh | 22 ++++++++++++++++++++++
src/hb-private.hh | 11 +++++++++++
9 files changed, 81 insertions(+), 41 deletions(-)
New commits:
commit b1f186df78ed14cbc8be919e7f552df2bd7561e0
Author: Behdad Esfahbod <behdad at behdad.org>
Date: Fri Feb 16 14:13:38 2018 -0800
Add mingw32.sh and mingw64.sh
diff --git a/RELEASING.md b/RELEASING.md
index 1863c6e3..47d82ba1 100644
--- a/RELEASING.md
+++ b/RELEASING.md
@@ -35,7 +35,7 @@ HarfBuzz release walk-through checklist:
a. Put contents of [this](https://drive.google.com/open?id=0B3_fQkxDZZXXbWltRGd5bjVrUDQ) on your `~/.local/i686-w64-mingw32`,
- b. Run `./MING32 --with-uniscribe` script (available below) to configure harfbuzz with mingw in a subdirector (eg. winbuild/),
+ b. Run `../[mingw32.sh](./mingw32.sh) --with-uniscribe` script (available below) to configure harfbuzz with mingw in a subdirector (eg. winbuild/),
c. make
@@ -63,32 +63,6 @@ HarfBuzz release walk-through checklist:
edit the tag, upload artefacts and NEWS entry and save.
-## MING32
-```bash
-#!/bin/bash
-
-target=i686-w64-mingw32
-
-unset CC
-unset CXX
-unset CPP
-unset LD
-unset LDFLAGS
-unset CFLAGS
-unset CXXFLAGS
-unset PKG_CONFIG_PATH
-
-# Removed -static from the following
-export CFLAGS="-static-libgcc"
-export CXXFLAGS="-static-libgcc -static-libstdc++"
-export CPPFLAGS=-I$HOME/.local/$target/include
-export LDFLAGS=-L$HOME/.local/$target/lib
-export PKG_CONFIG_LIBDIR=$HOME/.local/$target/lib/pkgconfig
-export PATH=$HOME/.local/$target/bin:$PATH
-
-../configure --build=`../config.guess` --host=$target --prefix=$HOME/.local/$target "$@"
-```
-
## UPDATE.sh
```bash
#!/bin/bash
diff --git a/mingw32.sh b/mingw32.sh
new file mode 100755
index 00000000..67744051
--- /dev/null
+++ b/mingw32.sh
@@ -0,0 +1,22 @@
+#!/bin/bash
+
+target=i686-w64-mingw32
+
+unset CC
+unset CXX
+unset CPP
+unset LD
+unset LDFLAGS
+unset CFLAGS
+unset CXXFLAGS
+unset PKG_CONFIG_PATH
+
+# Removed -static from the following
+export CFLAGS="-static-libgcc"
+export CXXFLAGS="-static-libgcc -static-libstdc++"
+export CPPFLAGS="-I$HOME/.local/$target/include -O2"
+export LDFLAGS=-L$HOME/.local/$target/lib
+export PKG_CONFIG_LIBDIR=$HOME/.local/$target/lib/pkgconfig
+export PATH=$HOME/.local/$target/bin:$PATH
+
+../configure --build=`../config.guess` --host=$target --prefix=$HOME/.local/$target "$@"
diff --git a/mingw64.sh b/mingw64.sh
new file mode 100755
index 00000000..49a14317
--- /dev/null
+++ b/mingw64.sh
@@ -0,0 +1,22 @@
+#!/bin/bash
+
+target=x86_64-w64-mingw32
+
+unset CC
+unset CXX
+unset CPP
+unset LD
+unset LDFLAGS
+unset CFLAGS
+unset CXXFLAGS
+unset PKG_CONFIG_PATH
+
+# Removed -static from the following
+export CFLAGS="-static-libgcc"
+export CXXFLAGS="-static-libgcc -static-libstdc++"
+export CPPFLAGS="-I$HOME/.local/$target/include -O2"
+export LDFLAGS=-L$HOME/.local/$target/lib
+export PKG_CONFIG_LIBDIR=$HOME/.local/$target/lib/pkgconfig
+export PATH=$HOME/.local/$target/bin:$PATH
+
+../configure --build=`../config.guess` --host=$target --prefix=$HOME/.local/$target "$@"
commit d37310ac5d5f8a3fd1ce1e535647e7c6bb0d7926
Author: Arkady Shapkin <arkady.shapkin at gmail.com>
Date: Fri Feb 16 21:45:08 2018 +0300
Remove checking macros __OPTIMIZE__ for MSVC
Visual C++ compiler doesn't define macros __OPTIMIZE__ when optimizations enabled
diff --git a/src/hb-private.hh b/src/hb-private.hh
index 0738b995..aeed58ae 100644
--- a/src/hb-private.hh
+++ b/src/hb-private.hh
@@ -355,9 +355,9 @@ _hb_bit_storage (unsigned int number)
{
#if defined(__GNUC__) && (__GNUC__ >= 4) && defined(__OPTIMIZE__)
return likely (number) ? (sizeof (unsigned int) * 8 - __builtin_clz (number)) : 0;
-#elif defined(_MSC_VER) && defined(__OPTIMIZE__)
+#elif defined(_MSC_VER)
unsigned long where;
- if (_BitScanReverse(&where, number)) return 1 + where;
+ if (_BitScanReverse (&where, number)) return 1 + where;
return 0;
#else
unsigned int n_bits = 0;
@@ -375,11 +375,10 @@ _hb_ctz (unsigned int number)
{
#if defined(__GNUC__) && (__GNUC__ >= 4) && defined(__OPTIMIZE__)
return likely (number) ? __builtin_ctz (number) : 0;
-#elif defined(_MSC_VER) && defined(__OPTIMIZE__)
+#elif defined(_MSC_VER)
unsigned long where;
- if (_BitScanForward(&where, n)) return where;
+ if (_BitScanForward (&where, number)) return where;
return 0;
-}
#else
unsigned int n_bits = 0;
if (unlikely (!number)) return 0;
commit 4eff0fc5b87084765ac2e36ba9f09d7d257f32fb
Author: Khaled Hosny <khaledhosny at eglug.org>
Date: Fri Feb 16 20:22:52 2018 +0200
Make this work for old versions of automake
diff --git a/.ci/fail.sh b/.ci/fail.sh
index c4687108..91701d33 100755
--- a/.ci/fail.sh
+++ b/.ci/fail.sh
@@ -1,7 +1,8 @@
#!/bin/bash
for f in $(find . -name '*.log' -not -name 'config.log'); do
- if [[ $(tail -1 $f) = FAIL* ]]; then
+ last=$(tail -1 $f)
+ if [[ $last = FAIL* || $last = *failed* ]]; then
echo '====' $f '===='
cat $f
fi
commit f8077c97909778c117d37773c9da570d831dacd2
Author: Khaled Hosny <khaledhosny at eglug.org>
Date: Thu Feb 15 11:47:08 2018 +0200
Print only the failed log
diff --git a/.ci/fail.sh b/.ci/fail.sh
index 5f4b6415..c4687108 100755
--- a/.ci/fail.sh
+++ b/.ci/fail.sh
@@ -1,8 +1,10 @@
#!/bin/bash
for f in $(find . -name '*.log' -not -name 'config.log'); do
- echo '====' $f '===='
- cat $f
+ if [[ $(tail -1 $f) = FAIL* ]]; then
+ echo '====' $f '===='
+ cat $f
+ fi
done
# Intentionally exiting with non-zero.
commit 8e3b4c0e11642470069b866a73768a866ac3fdb3
Author: Khaled Hosny <khaledhosny at eglug.org>
Date: Thu Feb 15 11:25:24 2018 +0200
Simplify calls to collect-logs.sh
diff --git a/.ci/collect-logs.sh b/.ci/fail.sh
similarity index 71%
rename from .ci/collect-logs.sh
rename to .ci/fail.sh
index a3d46a48..5f4b6415 100755
--- a/.ci/collect-logs.sh
+++ b/.ci/fail.sh
@@ -4,3 +4,6 @@ for f in $(find . -name '*.log' -not -name 'config.log'); do
echo '====' $f '===='
cat $f
done
+
+# Intentionally exiting with non-zero.
+exit 1
diff --git a/.circleci/config.yml b/.circleci/config.yml
index 28b63160..28b5f7ce 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -9,7 +9,10 @@ jobs:
- checkout
- 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 python python-pip
- run: pip install fonttools
- - run: ./autogen.sh && (make distcheck || (cd harfbuzz-* && ../.ci/collect-logs.sh && false)) && rm -rf harfbuzz-*
+ - run: ./autogen.sh
+ - run: make
+ - run: make distcheck || .ci/fail.sh
+ - run: 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:
@@ -19,7 +22,8 @@ jobs:
- checkout
- run: apk update && apk add ragel make pkgconfig libtool autoconf automake gettext gcc g++ glib-dev freetype-dev cairo-dev
- run: ./autogen.sh
- - run: make && (make check || (.ci/collect-logs.sh && false))
+ - run: make
+ - run: make check || .ci/fail.sh
archlinux:
docker:
@@ -28,7 +32,8 @@ jobs:
- checkout
- run: pacman --noconfirm -Syu freetype2 cairo icu gettext gobject-introspection gcc gcc-libs glib2 graphite pkg-config ragel python
- run: ./autogen.sh --with-freetype --with-glib --with-gobject --with-cairo --with-icu --with-graphite2
- - run: make && (make check || (.ci/collect-logs.sh && false))
+ - run: make
+ - run: make check || .ci/fail.sh
fedora-outoftreebuild:
docker:
@@ -37,7 +42,7 @@ jobs:
- checkout
- run: dnf install -y pkg-config ragel gcc gcc-c++ automake autoconf libtool make which glib2-devel freetype-devel cairo-devel libicu-devel gobject-introspection-devel graphite2-devel redhat-rpm-config python || true
- run: NOCONFIGURE=1 ./autogen.sh --with-freetype --with-glib --with-gobject --with-cairo --with-icu --with-graphite2
- - run: mkdir build && cd build && ../configure && make && (make check || (.ci/collect-logs.sh && false))
+ - run: mkdir build && cd build && ../configure && make && (make check || ../.ci/fail.sh)
cmake-gcc:
docker:
diff --git a/.travis.yml b/.travis.yml
index a68ef7dc..04f1cdcb 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -27,7 +27,7 @@ matrix:
- ./autogen.sh
- ./configure $CONFIGURE_OPTS --enable-gtk-doc
- make
- - make check || (.ci/collect-logs.sh && false)
+ - make check || .ci/fail.sh
after_success:
- bash .ci/run-coveralls.sh # for coveralls.io code coverage tracking
- bash .ci/deploy-docs.sh
@@ -43,7 +43,7 @@ matrix:
- ./autogen.sh
- ./configure $CONFIGURE_OPTS
- make
- - make check || (.ci/collect-logs.sh && false)
+ - make check || .ci/fail.sh
- os: osx
compiler: clang
@@ -59,7 +59,7 @@ matrix:
- ./autogen.sh
- ./configure $CONFIGURE_OPTS --with-coretext
- make
- - make check || (.ci/collect-logs.sh && false)
+ - make check || .ci/fail.sh
notifications:
irc: "irc.freenode.org#harfbuzz"
diff --git a/appveyor.yml b/appveyor.yml
index 63e711fe..9bed1247 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -44,7 +44,7 @@ build_script:
- 'if "%compiler%"=="msvc" if not "%platform%"=="ARM" ctest --output-on-failure -C %configuration%'
- 'if "%compiler%"=="msys2" C:\msys64\usr\bin\bash -lc "pacman --noconfirm -S mingw-w64-$MSYS2_ARCH-{freetype,cairo,icu,gettext,gobject-introspection,gcc,gcc-libs,glib2,graphite2,pkg-config,python2}"'
- - 'if "%compiler%"=="msys2" C:\msys64\usr\bin\bash -lc "cd $APPVEYOR_BUILD_FOLDER; PATH=$PATH:/mingw64/bin:/mingw32/bin; ./autogen.sh --with-uniscribe --with-freetype --with-glib --with-gobject --with-cairo --with-icu --with-graphite2 --build=%MINGW_CHOST% --host=%MINGW_CHOST% --prefix=%MINGW_PREFIX%; make; make check || (.ci/collect-logs.sh && false)"'
+ - 'if "%compiler%"=="msys2" C:\msys64\usr\bin\bash -lc "cd $APPVEYOR_BUILD_FOLDER; PATH=$PATH:/mingw64/bin:/mingw32/bin; ./autogen.sh --with-uniscribe --with-freetype --with-glib --with-gobject --with-cairo --with-icu --with-graphite2 --build=%MINGW_CHOST% --host=%MINGW_CHOST% --prefix=%MINGW_PREFIX%; make; make check || .ci/fail.sh"'
cache:
- c:\tools\vcpkg\installed\
commit 139c9928f6152088fa6eee0279e33cb821aeb541
Author: Ebrahim Byagowi <ebrahim at gnu.org>
Date: Fri Feb 16 13:27:26 2018 +0330
Fix hb-private.hh compile issue
diff --git a/src/hb-private.hh b/src/hb-private.hh
index 22948ae5..0738b995 100644
--- a/src/hb-private.hh
+++ b/src/hb-private.hh
@@ -355,7 +355,7 @@ _hb_bit_storage (unsigned int number)
{
#if defined(__GNUC__) && (__GNUC__ >= 4) && defined(__OPTIMIZE__)
return likely (number) ? (sizeof (unsigned int) * 8 - __builtin_clz (number)) : 0;
-#elif defined_MSC_VER) && defined(__OPTIMIZE__)
+#elif defined(_MSC_VER) && defined(__OPTIMIZE__)
unsigned long where;
if (_BitScanReverse(&where, number)) return 1 + where;
return 0;
@@ -375,7 +375,7 @@ _hb_ctz (unsigned int number)
{
#if defined(__GNUC__) && (__GNUC__ >= 4) && defined(__OPTIMIZE__)
return likely (number) ? __builtin_ctz (number) : 0;
-#elif defined_MSC_VER) && defined(__OPTIMIZE__)
+#elif defined(_MSC_VER) && defined(__OPTIMIZE__)
unsigned long where;
if (_BitScanForward(&where, n)) return where;
return 0;
commit 6c10328eb88b0641586f31a782b63f45eada5609
Author: Arkady Shapkin <arkady.shapkin at gmail.com>
Date: Thu Feb 15 23:17:46 2018 +0300
Use _BitScanForward and _BitScanReverse on MSVC
diff --git a/src/hb-private.hh b/src/hb-private.hh
index 6430ba8e..22948ae5 100644
--- a/src/hb-private.hh
+++ b/src/hb-private.hh
@@ -51,6 +51,9 @@
#include <stdio.h>
#include <stdarg.h>
+#if defined(_MSC_VER)
+#include <intrin.h>
+#endif
#define HB_PASTE1(a,b) a##b
#define HB_PASTE(a,b) HB_PASTE1(a,b)
@@ -352,6 +355,10 @@ _hb_bit_storage (unsigned int number)
{
#if defined(__GNUC__) && (__GNUC__ >= 4) && defined(__OPTIMIZE__)
return likely (number) ? (sizeof (unsigned int) * 8 - __builtin_clz (number)) : 0;
+#elif defined_MSC_VER) && defined(__OPTIMIZE__)
+ unsigned long where;
+ if (_BitScanReverse(&where, number)) return 1 + where;
+ return 0;
#else
unsigned int n_bits = 0;
while (number) {
@@ -368,6 +375,11 @@ _hb_ctz (unsigned int number)
{
#if defined(__GNUC__) && (__GNUC__ >= 4) && defined(__OPTIMIZE__)
return likely (number) ? __builtin_ctz (number) : 0;
+#elif defined_MSC_VER) && defined(__OPTIMIZE__)
+ unsigned long where;
+ if (_BitScanForward(&where, n)) return where;
+ return 0;
+}
#else
unsigned int n_bits = 0;
if (unlikely (!number)) return 0;
commit 23d21a74b55eaf6d6d367097099e6b3bb78bae37
Author: Khaled Hosny <khaledhosny at eglug.org>
Date: Thu Feb 15 02:52:15 2018 +0200
Move collect_logs to .ci dir
Next to other CI scripts.
diff --git a/.collect_logs b/.ci/collect-logs.sh
similarity index 100%
rename from .collect_logs
rename to .ci/collect-logs.sh
diff --git a/.circleci/config.yml b/.circleci/config.yml
index 4788f0b0..28b63160 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -9,7 +9,7 @@ jobs:
- checkout
- 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 python python-pip
- run: pip install fonttools
- - run: ./autogen.sh && (make distcheck || (cd harfbuzz-* && ../.collect_logs && false)) && rm -rf harfbuzz-*
+ - run: ./autogen.sh && (make distcheck || (cd harfbuzz-* && ../.ci/collect-logs.sh && false)) && 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:
@@ -19,7 +19,7 @@ jobs:
- checkout
- run: apk update && apk add ragel make pkgconfig libtool autoconf automake gettext gcc g++ glib-dev freetype-dev cairo-dev
- run: ./autogen.sh
- - run: make && (make check || (./.collect_logs && false))
+ - run: make && (make check || (.ci/collect-logs.sh && false))
archlinux:
docker:
@@ -28,7 +28,7 @@ jobs:
- checkout
- run: pacman --noconfirm -Syu freetype2 cairo icu gettext gobject-introspection gcc gcc-libs glib2 graphite pkg-config ragel python
- run: ./autogen.sh --with-freetype --with-glib --with-gobject --with-cairo --with-icu --with-graphite2
- - run: make && (make check || (./.collect_logs && false))
+ - run: make && (make check || (.ci/collect-logs.sh && false))
fedora-outoftreebuild:
docker:
@@ -37,7 +37,7 @@ jobs:
- checkout
- run: dnf install -y pkg-config ragel gcc gcc-c++ automake autoconf libtool make which glib2-devel freetype-devel cairo-devel libicu-devel gobject-introspection-devel graphite2-devel redhat-rpm-config python || true
- run: NOCONFIGURE=1 ./autogen.sh --with-freetype --with-glib --with-gobject --with-cairo --with-icu --with-graphite2
- - run: mkdir build && cd build && ../configure && make && (make check || (./.collect_logs && false))
+ - run: mkdir build && cd build && ../configure && make && (make check || (.ci/collect-logs.sh && false))
cmake-gcc:
docker:
diff --git a/.travis.yml b/.travis.yml
index bbffda67..a68ef7dc 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -27,7 +27,7 @@ matrix:
- ./autogen.sh
- ./configure $CONFIGURE_OPTS --enable-gtk-doc
- make
- - make check || (./.collect_logs && false)
+ - make check || (.ci/collect-logs.sh && false)
after_success:
- bash .ci/run-coveralls.sh # for coveralls.io code coverage tracking
- bash .ci/deploy-docs.sh
@@ -43,7 +43,7 @@ matrix:
- ./autogen.sh
- ./configure $CONFIGURE_OPTS
- make
- - make check || (./.collect_logs && false)
+ - make check || (.ci/collect-logs.sh && false)
- os: osx
compiler: clang
@@ -59,7 +59,7 @@ matrix:
- ./autogen.sh
- ./configure $CONFIGURE_OPTS --with-coretext
- make
- - make check || (./.collect_logs && false)
+ - make check || (.ci/collect-logs.sh && false)
notifications:
irc: "irc.freenode.org#harfbuzz"
diff --git a/appveyor.yml b/appveyor.yml
index c3caa318..63e711fe 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -44,7 +44,7 @@ build_script:
- 'if "%compiler%"=="msvc" if not "%platform%"=="ARM" ctest --output-on-failure -C %configuration%'
- 'if "%compiler%"=="msys2" C:\msys64\usr\bin\bash -lc "pacman --noconfirm -S mingw-w64-$MSYS2_ARCH-{freetype,cairo,icu,gettext,gobject-introspection,gcc,gcc-libs,glib2,graphite2,pkg-config,python2}"'
- - 'if "%compiler%"=="msys2" C:\msys64\usr\bin\bash -lc "cd $APPVEYOR_BUILD_FOLDER; PATH=$PATH:/mingw64/bin:/mingw32/bin; ./autogen.sh --with-uniscribe --with-freetype --with-glib --with-gobject --with-cairo --with-icu --with-graphite2 --build=%MINGW_CHOST% --host=%MINGW_CHOST% --prefix=%MINGW_PREFIX%; make; make check || (./.collect_logs && false)"'
+ - 'if "%compiler%"=="msys2" C:\msys64\usr\bin\bash -lc "cd $APPVEYOR_BUILD_FOLDER; PATH=$PATH:/mingw64/bin:/mingw32/bin; ./autogen.sh --with-uniscribe --with-freetype --with-glib --with-gobject --with-cairo --with-icu --with-graphite2 --build=%MINGW_CHOST% --host=%MINGW_CHOST% --prefix=%MINGW_PREFIX%; make; make check || (.ci/collect-logs.sh && false)"'
cache:
- c:\tools\vcpkg\installed\
More information about the HarfBuzz
mailing list