diff --git a/.circleci/config.yml b/.circleci/config.yml index 62bf4e3fd..7a2f0e233 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -37,10 +37,11 @@ jobs: xcode: "11.2.1" steps: - checkout - - run: HOMEBREW_NO_AUTO_UPDATE=1 brew install wget autoconf automake libtool pkg-config ragel freetype glib cairo icu4c graphite2 + - run: HOMEBREW_NO_AUTO_UPDATE=1 brew install wget autoconf automake libtool pkg-config ragel freetype glib cairo icu4c graphite2 meson - run: export PKG_CONFIG_PATH="/usr/local/opt/icu4c/lib/pkgconfig:/usr/local/opt/libffi/lib/pkgconfig" && ./autogen.sh --with-freetype --with-glib --with-gobject --with-cairo --with-icu --with-coretext --with-graphite2 - run: make -j4 - run: make check || .ci/fail.sh + - run: make clean && meson build -Damalgam=true && ninja -Cbuild test distcheck: docker: @@ -225,7 +226,9 @@ jobs: - checkout - run: apt update && apt install -y ninja-build binutils meson 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: meson build && ninja -Cbuild test + - run: meson build && ninja -Cbuild test && rm -rf build + # test amalgam build + - run: meson build -Damalgam=true && ninja -Cbuild && rm -rf build crosscompile-notest-djgpp: docker: diff --git a/meson_options.txt b/meson_options.txt index 1e0a3a843..e27ee30de 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -25,3 +25,6 @@ option('tests', type : 'feature', value : 'auto', yield : true, description: 'Enable or disable unit tests') option('introspection', type : 'feature', value : 'disabled', yield : true, description : 'Generate gobject-introspection bindings (.gir/.typelib files)') + +option('amalgam', type : 'boolean', value : false, + description : 'Enable amalgam builds') diff --git a/src/meson.build b/src/meson.build index 315b781e6..63bcf182d 100644 --- a/src/meson.build +++ b/src/meson.build @@ -200,6 +200,11 @@ if conf.get('HAVE_CORETEXT', 0) == 1 hb_headers += ['hb-coretext.h'] endif +if get_option('amalgam') + # replace the array if is amalgam build + hb_sources = ['harfbuzz.cc'] +endif + # harfbuzz gen_def = find_program('gen-def.py') harfbuzz_def = custom_target('harfbuzz.def',