|
1 |
| -AC_DEFUN([mongoc_parse_version], [ |
2 |
| - m4_define([ver_split], m4_split(m4_translit($2, [-], [.]), [\.])) |
3 |
| - m4_define([$1_major_version], m4_argn(1, ver_split)) |
4 |
| - m4_define([$1_minor_version], m4_argn(2, ver_split)) |
5 |
| - m4_define([$1_micro_version], m4_argn(3, ver_split)) |
6 |
| - m4_define([$1_prerelease_version], m4_argn(4, ver_split)) |
7 |
| -
|
8 |
| - # Set mongoc_version / mongoc_released_version to "x.y.z" from components. |
9 |
| - m4_define( |
10 |
| - [$1_version], |
11 |
| - m4_ifset( |
12 |
| - [$1_prerelease_version], |
13 |
| - [$1_major_version.$1_minor_version.$1_micro_version-$1_prerelease_version], |
14 |
| - [$1_major_version.$1_minor_version.$1_micro_version])) |
15 |
| -
|
16 |
| - # E.g., if prefix is "mongoc", substitute MONGOC_MAJOR_VERSION. |
17 |
| - m4_define([prefix_upper], [translit([$1],[a-z],[A-Z])]) |
18 |
| - AC_SUBST(m4_join([], prefix_upper, [_MAJOR_VERSION]), $1_major_version) |
19 |
| - AC_SUBST(m4_join([], prefix_upper, [_MINOR_VERSION]), $1_minor_version) |
20 |
| - AC_SUBST(m4_join([], prefix_upper, [_MICRO_VERSION]), $1_micro_version) |
21 |
| - AC_SUBST(m4_join([], prefix_upper, [_PRERELEASE_VERSION]), $1_prerelease_version) |
22 |
| -
|
23 |
| - # Substitute the joined version string, e.g. set MONGOC_VERSION to $mongoc_version. |
24 |
| - AC_SUBST(m4_join([], prefix_upper, [_VERSION]), $1_version) |
25 |
| -]) |
26 |
| - |
27 |
| -# Parse version, perhaps like "x.y.z-dev", from VERSION_CURRENT file. |
28 |
| -mongoc_parse_version(mongoc, m4_esyscmd_s(cat VERSION_CURRENT)) |
29 |
| - |
30 |
| -# Parse most recent stable release, like "x.y.z", from VERSION_RELEASED file. |
31 |
| -mongoc_parse_version(mongoc_released, m4_esyscmd_s(cat VERSION_RELEASED)) |
| 1 | +MONGOC_CURRENT_FILE=${srcdir}/VERSION_CURRENT |
| 2 | +MONGOC_VERSION=$(cat $MONGOC_CURRENT_FILE) |
| 3 | +MONGOC_MAJOR_VERSION=$(cut -d- -f1 $MONGOC_CURRENT_FILE | cut -d. -f1) |
| 4 | +MONGOC_MINOR_VERSION=$(cut -d- -f1 $MONGOC_CURRENT_FILE | cut -d. -f2) |
| 5 | +MONGOC_MICRO_VERSION=$(cut -d- -f1 $MONGOC_CURRENT_FILE | cut -d. -f3) |
| 6 | +MONGOC_PRERELEASE_VERSION=$(cut -s -d- -f2 $MONGOC_CURRENT_FILE) |
| 7 | +AC_SUBST(MONGOC_VERSION) |
| 8 | +AC_SUBST(MONGOC_MAJOR_VERSION) |
| 9 | +AC_SUBST(MONGOC_MINOR_VERSION) |
| 10 | +AC_SUBST(MONGOC_MICRO_VERSION) |
| 11 | +AC_SUBST(MONGOC_PRERELEASE_VERSION) |
| 12 | + |
| 13 | +MONGOC_RELEASED_FILE=${srcdir}/VERSION_RELEASED |
| 14 | +MONGOC_RELEASED_VERSION=$(cat $MONGOC_RELEASED_FILE) |
| 15 | +MONGOC_RELEASED_MAJOR_VERSION=$(cut -d- -f1 $MONGOC_RELEASED_FILE | cut -d. -f1) |
| 16 | +MONGOC_RELEASED_MINOR_VERSION=$(cut -d- -f1 $MONGOC_RELEASED_FILE | cut -d. -f2) |
| 17 | +MONGOC_RELEASED_MICRO_VERSION=$(cut -d- -f1 $MONGOC_RELEASED_FILE | cut -d. -f3) |
| 18 | +MONGOC_RELEASED_PRERELEASE_VERSION=$(cut -s -d- -f2 $MONGOC_RELEASED_FILE) |
| 19 | +AC_SUBST(MONGOC_RELEASED_VERSION) |
| 20 | +AC_SUBST(MONGOC_RELEASED_MAJOR_VERSION) |
| 21 | +AC_SUBST(MONGOC_RELEASED_MINOR_VERSION) |
| 22 | +AC_SUBST(MONGOC_RELEASED_MICRO_VERSION) |
| 23 | +AC_SUBST(MONGOC_RELEASED_PRERELEASE_VERSION) |
32 | 24 |
|
33 | 25 | AC_MSG_NOTICE([Current version (from VERSION_CURRENT file): $MONGOC_VERSION])
|
34 | 26 |
|
35 |
| -m4_ifset([mongoc_released_prerelease_version], |
36 |
| - [AC_ERROR([RELEASED_VERSION file has prerelease version $MONGOC_RELEASED_VERSION])]) |
37 |
| - |
38 |
| -if test "x$mongoc_version" != "x$mongoc_released_version"; then |
39 |
| - AC_MSG_NOTICE([Most recent release (from VERSION_RELEASED file): $MONGOC_RELEASED_VERSION]) |
40 |
| - m4_ifset([mongoc_prerelease_version], [], [ |
41 |
| - AC_ERROR([Current version must be a prerelease (with "-dev", "-beta", etc.) or equal to previous release]) |
42 |
| - ]) |
| 27 | +if test "x$MONGOC_RELEASED_PRERELEASE_VERSION" != "x"; then |
| 28 | + AC_ERROR([RELEASED_VERSION file has prerelease version $MONGOC_RELEASED_VERSION]) |
43 | 29 | fi
|
44 | 30 |
|
45 |
| -# bump up by 1 for every micro release with no API changes, otherwise |
46 |
| -# set to 0. after release, bump up by 1 |
47 |
| -m4_define([mongoc_released_interface_age], mongoc_released_micro_version) |
48 |
| -m4_define([mongoc_released_binary_age], |
49 |
| - [m4_eval(100 * mongoc_released_minor_version + |
50 |
| - mongoc_released_micro_version)]) |
51 |
| - |
52 |
| -AC_SUBST([MONGOC_RELEASED_INTERFACE_AGE], [mongoc_released_interface_age]) |
53 |
| -AC_MSG_NOTICE([libmongoc interface age $MONGOC_RELEASED_INTERFACE_AGE]) |
54 |
| - |
55 |
| -m4_define([lt_current], |
56 |
| - [m4_eval(100 * mongoc_released_minor_version + |
57 |
| - mongoc_released_micro_version - |
58 |
| - mongoc_released_interface_age)]) |
59 |
| - |
60 |
| -m4_define([lt_revision], [mongoc_released_interface_age]) |
| 31 | +if test "x$MONGOC_VERSION" != "x$MONGOC_RELEASED_VERSION"; then |
| 32 | + AC_MSG_NOTICE([Most recent release (from VERSION_RELEASED file): $MONGOC_RELEASED_VERSION]) |
| 33 | + if test "x$MONGOC_PRERELEASE_VERSION" = "x"; then |
| 34 | + AC_ERROR([Current version ($MONGOC_PRERELEASE_VERSION) must be a prerelease (with "-dev", "-beta", etc.) or equal to previous release]) |
| 35 | + fi |
| 36 | +fi |
61 | 37 |
|
62 |
| -m4_define([lt_age], [m4_eval(mongoc_released_binary_age - |
63 |
| - mongoc_released_interface_age)]) |
64 | 38 |
|
65 |
| -# So far, we've synchronized libbson and mongoc versions. |
66 |
| -m4_define([libbson_required_version], [mongoc_released_version]) |
| 39 | +dnl So far, we've synchronized libbson and mongoc versions. |
| 40 | +m4_define([libbson_required_version], $MONGOC_RELEASED_VERSION) |
67 | 41 |
|
68 | 42 | m4_define([sasl_required_version], [2.1.6])
|
0 commit comments