]> granicus.if.org Git - apache/blob - build/nw_ver.awk
Resolves bz56695 - %O can in fact be zero sometimes.
[apache] / build / nw_ver.awk
1 # Licensed to the Apache Software Foundation (ASF) under one or more
2 # contributor license agreements.  See the NOTICE file distributed with
3 # this work for additional information regarding copyright ownership.
4 # The ASF licenses this file to You under the Apache License, Version 2.0
5 # (the "License"); you may not use this file except in compliance with
6 # the License.  You may obtain a copy of the License at
7 #
8 #     http://www.apache.org/licenses/LICENSE-2.0
9 #
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
15
16 BEGIN {
17   # fetch Apache version numbers from input file and write them to STDOUT
18
19   while ((getline < ARGV[1]) > 0) {
20     if (match ($0, /^#define AP_SERVER_COPYRIGHT \\/)) {
21       if (((getline < ARGV[1]) > 0) && (split($0, c, "\"") == 3)) {
22         copyright_str = c[2];
23       }
24     }
25     else if (match ($0, /^#define AP_SERVER_MAJORVERSION_NUMBER /)) {
26       ver_major = $3;
27     }
28     else if (match ($0, /^#define AP_SERVER_MINORVERSION_NUMBER /)) {
29       ver_minor = $3;
30     }
31     else if (match ($0, /^#define AP_SERVER_PATCHLEVEL_NUMBER/)) {
32       ver_patch = $3;
33     }
34     else if (match ($0, /^#define AP_SERVER_DEVBUILD_BOOLEAN/)) {
35       ver_devbuild = $3;
36     }
37   }
38
39   if (ver_devbuild) {
40     ver_dev = "-dev"
41     if (ARGV[2]) {
42       while ((getline < ARGV[2]) > 0) {
43         if (match ($0, /^\/repos\/asf\/!svn\/ver\/[0-9]+\/httpd\/httpd\/(trunk|branches\/[0-9]\.[0-9]\.x)$/)) {
44           gsub(/^\/repos\/asf\/!svn\/ver\/|\/httpd\/httpd\/(trunk|branches\/[0-9]\.[0-9]\.x)$/, "", $0)
45           ver_dev = svn_rev = "-r" $0
46         }
47       }
48     }
49   }
50
51   ver_nlm = ver_major "," ver_minor "," ver_patch;
52   ver_str = ver_major "." ver_minor "." ver_patch ver_dev;
53
54   print "VERSION = " ver_nlm "";
55   print "VERSION_STR = " ver_str "";
56   print "VERSION_MAJMIN = " ver_major ver_minor "";
57   print "COPYRIGHT_STR = " copyright_str "";
58   print "SVN_REVISION = " svn_rev "";
59
60 }
61
62