| Upstream-Status: Backport [https://github.com/harfbuzz/harfbuzz/commit/5aff83104e03d6d2617987d24a51e490ab7a5cd1] |
| Signed-off-by: Ross Burton <ross.burton@arm.com> |
| |
| From bc1c93fbe04459a4b12c76c713ba1b750d2d9108 Mon Sep 17 00:00:00 2001 |
| From: Ross Burton <ross.burton@arm.com> |
| Date: Mon, 7 Sep 2020 17:11:17 +0100 |
| Subject: [PATCH 1/2] [build] No need to pass source directory to |
| gen-hb-version |
| |
| The input file is by definition in the source directory, so dirname() |
| that instead of needing the directory to be passed. |
| |
| Needed because a follow-up commit will change when this is called, and the |
| source directory isn't trivially available at that point. |
| --- |
| src/gen-hb-version.py | 6 +++--- |
| src/meson.build | 2 +- |
| 2 files changed, 4 insertions(+), 4 deletions(-) |
| |
| diff --git a/src/gen-hb-version.py b/src/gen-hb-version.py |
| index 15e56b93..bf16f88a 100755 |
| --- a/src/gen-hb-version.py |
| +++ b/src/gen-hb-version.py |
| @@ -4,15 +4,15 @@ |
| |
| import os, sys, shutil |
| |
| -if len (sys.argv) < 5: |
| +if len (sys.argv) < 4: |
| sys.exit(__doc__) |
| |
| version = sys.argv[1] |
| major, minor, micro = version.split (".") |
| |
| OUTPUT = sys.argv[2] |
| -CURRENT_SOURCE_DIR = sys.argv[3] |
| -INPUT = sys.argv[4] |
| +INPUT = sys.argv[3] |
| +CURRENT_SOURCE_DIR = os.path.dirname(INPUT) |
| |
| with open (INPUT, "r", encoding='utf-8') as template: |
| with open (OUTPUT, "wb") as output: |
| diff --git a/src/meson.build b/src/meson.build |
| index 5d7cd578..2d78c992 100644 |
| --- a/src/meson.build |
| +++ b/src/meson.build |
| @@ -286,7 +286,7 @@ custom_target('hb-version.h', |
| input: 'hb-version.h.in', |
| output: 'hb-version.h', |
| command: [find_program('gen-hb-version.py'), meson.project_version(), |
| - '@OUTPUT@', '@CURRENT_SOURCE_DIR@', '@INPUT@'], |
| + '@OUTPUT@', '@INPUT@'], |
| ) |
| |
| ragel = find_program('ragel', required: false) |
| -- |
| 2.28.0 |
| |
| |
| From 5aff83104e03d6d2617987d24a51e490ab7a5cd1 Mon Sep 17 00:00:00 2001 |
| From: Ross Burton <ross.burton@arm.com> |
| Date: Mon, 7 Sep 2020 10:55:33 +0100 |
| Subject: [PATCH 2/2] [build] generate hb-version.h once at configure time with |
| Meson |
| |
| Currently with Meson hb-version.h is generated during the build without |
| any explicit dependencies which can result in build failures due races |
| over the file. |
| |
| Change this to be generated at configure time, so that the file is always |
| generated once before the build itself. |
| |
| Closes #2667 |
| --- |
| src/meson.build | 17 ++++++++--------- |
| 1 file changed, 8 insertions(+), 9 deletions(-) |
| |
| diff --git a/src/meson.build b/src/meson.build |
| index 2d78c992..19290245 100644 |
| --- a/src/meson.build |
| +++ b/src/meson.build |
| @@ -1,3 +1,10 @@ |
| +hb_version_h = configure_file( |
| + command: [find_program('gen-hb-version.py'), meson.project_version(), '@OUTPUT@', '@INPUT@'], |
| + input: 'hb-version.h.in', |
| + output: 'hb-version.h', |
| + install: true, |
| + install_dir: join_paths(get_option('includedir'), meson.project_name())) |
| + |
| # Base and default-included sources and headers |
| hb_base_sources = files( |
| 'hb-aat-layout-ankr-table.hh', |
| @@ -214,9 +221,9 @@ hb_base_headers = files( |
| 'hb-shape.h', |
| 'hb-style.h', |
| 'hb-unicode.h', |
| - 'hb-version.h', |
| 'hb.h', |
| ) |
| +hb_base_headers += hb_version_h |
| |
| # Optional Sources and Headers with external deps |
| |
| @@ -281,14 +288,6 @@ hb_gobject_headers = files( |
| 'hb-gobject-structs.h', |
| ) |
| |
| -custom_target('hb-version.h', |
| - build_by_default: true, |
| - input: 'hb-version.h.in', |
| - output: 'hb-version.h', |
| - command: [find_program('gen-hb-version.py'), meson.project_version(), |
| - '@OUTPUT@', '@INPUT@'], |
| -) |
| - |
| ragel = find_program('ragel', required: false) |
| if not ragel.found() |
| warning('You have to install ragel if you are going to develop HarfBuzz itself') |
| -- |
| 2.28.0 |
| |