BEGIN { # ff bits: 1(debug), 2(prerelease), 4(patched), 8(vendor) and 32(special) # debug is summed based on the /Define _DEBUG # prerelease is based on the -dev extension, # patched is based on a non-standard "-ver" extension, # special and vendor are toggled by their args. # ff = 0; file=ARGV[1]; desc=ARGV[2]; rel_h=ARGV[3]; filename = file; if (match(file, /\./)) { sub(/\.[^\.]*$/, "", file); } i = 4; while (length(ARGV[i])) { if (match(ARGV[i], /icon=/)) { icon = substr(ARGV[i], 6); } if (match(ARGV[i], /vendor=/)) { vendor = substr(ARGV[i], 8); ff = ff + 8; } if (match(ARGV[i], /special=/)) { special = substr(ARGV[i], 9); ff = ff + 32; } i = i + 1 } i = i - 1; while (i) { delete ARGV[i]; i = i - 1; } while ((getline < rel_h) > 0) { if (match ($0, /^#define AP._MAJOR_VERSION/)) { ver_major = $3; } if (match ($0, /^#define AP._MINOR_VERSION/)) { ver_minor = $3; } if (match ($0, /^#define AP._PATCH_VERSION/)) { ver_patch = $3; } if (match ($0, /^#define AP._IS_DEV_VERSION/)) { ver_suffix = "-dev"; ver_build = "0"; } if (match ($0, /^#undef AP._IS_DEV_VERSION/)) { ver_build = "100"; } if (match ($0, /^.*Copyright /)) { copyright = substr($0, RLENGTH + 1); } } ver = ver_major "." ver_minor "." ver_patch ver_suffix; verc = ver_major "," ver_minor "," ver_patch "," ver_build; if (length(vendor)) { ff = ff + 8; } if (length(icon)) { print "1 ICON DISCARDABLE \"" icon "\""; } print "1 VERSIONINFO"; print " FILEVERSION " verc ""; print " PRODUCTVERSION " verc ""; print " FILEFLAGSMASK 0x3fL"; print "#if defined(_DEBUG)" print " FILEFLAGS 0x" sprintf("%02x", ff + 1) "L"; print "#else" print " FILEFLAGS 0x" sprintf("%02x", ff) "L"; print "#endif" print " FILEOS 0x40004L"; print " FILETYPE 0x1L"; print " FILESUBTYPE 0x0L"; print "BEGIN"; print " BLOCK \"StringFileInfo\""; print " BEGIN"; print " BLOCK \"040904b0\""; print " BEGIN"; print " VALUE \"Comments\", "\ "\"Licensed to the Apache Software Foundation (ASF) under one or more " \ "contributor license agreements. See the NOTICE file distributed with " \ "this work for additional information regarding copyright ownership. " \ "The ASF licenses this file to You under the Apache License, Version 2.0 " \ "(the \"\"License\"\"); you may not use this file except in compliance " \ "with the License. You may obtain a copy of the License at\\r\\n\\r\\n" \ "http://www.apache.org/licenses/LICENSE-2.0\\r\\n\\r\\n" \ "Unless required by applicable law or agreed to in writing, software " \ "distributed under the License is distributed on an \"\"AS IS\"\" BASIS, " \ "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. " \ "See the License for the specific language governing permissions and " \ "limitations under the License.\\0\""; print " VALUE \"CompanyName\", \"Apache Software Foundation\\0\""; print " VALUE \"FileDescription\", \"" desc "\\0\""; print " VALUE \"FileVersion\", \"" ver "\\0\""; print " VALUE \"InternalName\", \"" file "\\0\""; print " VALUE \"LegalCopyright\", \"Copyright " copyright "\\0\""; print " VALUE \"OriginalFilename\", \"" filename "\\0\""; if (vendor) { print " VALUE \"PrivateBuild\", \"" vendor "\\0\""; } if (special) { print " VALUE \"SpecialBuild\", \"" vendor "\\0\""; } print " VALUE \"ProductName\", \"Apache Portable Runtime\\0\""; print " VALUE \"ProductVersion\", \"" ver "\\0\""; print " END"; print " END"; print " BLOCK \"VarFileInfo\""; print " BEGIN"; print " VALUE \"Translation\", 0x409, 1200"; print " END"; print "END"; }