diff options
author | Matthias Clasen <mclasen@redhat.com> | 2020-04-27 18:28:45 +0000 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2020-04-27 18:28:45 +0000 |
commit | 2e2e22a2702acf8cd08feb9c4c32c5e321b19eb7 (patch) | |
tree | 44679985204c3b626941e598c29ce4db80c16360 | |
parent | db39ce2b1699acaf5d0ba160cf7cc68ccf6e16d6 (diff) | |
parent | 00aaba4d5bd307b3c499437c2ada1914c0cd5345 (diff) | |
download | gtk+-2e2e22a2702acf8cd08feb9c4c32c5e321b19eb7.tar.gz |
Merge branch 'ci-version-check' into 'gtk-3-24'
Keep interface age in sync between Autotools and Meson
See merge request GNOME/gtk!1775
-rwxr-xr-x | check-version.py | 51 | ||||
-rw-r--r-- | meson.build | 2 |
2 files changed, 47 insertions, 6 deletions
diff --git a/check-version.py b/check-version.py index 204a4f6049..46bcc3ac4e 100755 --- a/check-version.py +++ b/check-version.py @@ -73,6 +73,26 @@ CONFIGURE_MICRO_VERSION_RE = re.compile( re.UNICODE | re.VERBOSE ) +CONFIGURE_INTERFACE_AGE_RE = re.compile( + r''' + ^ + \s* + m4_define\( + \s* + \[gtk_interface_age\] + \s* + , + \s* + \[ + (?P<age>[0-9]+) + \] + \s* + \) + $ + ''', + re.UNICODE | re.VERBOSE +) + MESON_VERSION_RE = re.compile( r''' ^ @@ -95,6 +115,13 @@ MESON_VERSION_RE = re.compile( re.UNICODE | re.VERBOSE ) +MESON_INTERFACE_AGE_RE = re.compile( + r''' + ^\s*gtk_interface_age\s*={1}\s*(?P<age>[0-9]+)\s*$ + ''', + re.UNICODE | re.VERBOSE +) + version = {} with open(configure_ac, 'r') as f: @@ -124,11 +151,19 @@ with open(configure_ac, 'r') as f: version['micro'] = res.group('version') line = f.readline() continue - if ('major', 'minor', 'micro') in version: + res = CONFIGURE_INTERFACE_AGE_RE.match(line) + if res: + if 'age' in version: + print(f'Redefinition of interface age; age is already set to {version["age"]}') + sys.exit(1) + version['age'] = res.group('age') + line = f.readline() + continue + if ('major', 'minor', 'micro', 'age') in version: break line = f.readline() -print(f'GTK version defined in {configure_ac}: {version["major"]}.{version["minor"]}.{version["micro"]}') +print(f'GTK version defined in {configure_ac}: {version["major"]}.{version["minor"]}.{version["micro"]} (age: {version["age"]})') configure_version = version version = {} @@ -139,16 +174,22 @@ with open(meson_build, 'r') as f: while line: if line.startswith('project('): inside_project = True - elif inside_project: + if inside_project: res = MESON_VERSION_RE.match(line) if res: version['major'] = res.group('major') version['minor'] = res.group('minor') version['micro'] = res.group('micro') - break + if inside_project and line.endswith(')'): + inside_project = False + res = MESON_INTERFACE_AGE_RE.match(line) + if res: + version['age'] = res.group('age') + if ('major', 'minor', 'micro', 'age') in version: + break line = f.readline() -print(f'GTK version defined in {meson_build}: {version["major"]}.{version["minor"]}.{version["micro"]}') +print(f'GTK version defined in {meson_build}: {version["major"]}.{version["minor"]}.{version["micro"]} (age: {version["age"]})') meson_version = version diff --git a/meson.build b/meson.build index 68d5685937..976a84b6c0 100644 --- a/meson.build +++ b/meson.build @@ -51,7 +51,7 @@ gtk_version = meson.project_version() gtk_major_version = gtk_version.split('.')[0].to_int() gtk_minor_version = gtk_version.split('.')[1].to_int() gtk_micro_version = gtk_version.split('.')[2].to_int() -gtk_interface_age = 7 +gtk_interface_age = 16 add_project_arguments('-DGTK_VERSION="@0@"'.format(meson.project_version()), language: 'c') add_project_arguments('-D_GNU_SOURCE', language: 'c') |