1 #!/usr/bin/awk -F 2 # 3 # $NetBSD: genfileioh.awk,v 1.2 2008/05/02 11:13:02 martin Exp $ 4 # 5 # Copyright (c) 2008 The NetBSD Foundation, Inc. 6 # All rights reserved. 7 # 8 # This code is derived from software contributed to The NetBSD Foundation 9 # by Julian Coleman. 10 # 11 # Redistribution and use in source and binary forms, with or without 12 # modification, are permitted provided that the following conditions 13 # are met: 14 # 1. Redistributions of source code must retain the above copyright 15 # notice, this list of conditions and the following disclaimer. 16 # 2. Redistributions in binary form must reproduce the above copyright 17 # notice, this list of conditions and the following disclaimer in the 18 # documentation and/or other materials provided with the distribution. 19 # 20 # THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS 21 # ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 22 # TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 23 # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS 24 # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 25 # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 26 # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 27 # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 28 # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 29 # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 30 # POSSIBILITY OF SUCH DAMAGE. 31 32 function mangle_vers(vers) { 33 sub("^.*\\$NetBSD", "NetBSD", vers); 34 sub("\\$[^$]*$", "", vers); 35 return vers; 36 } 37 38 BEGIN { 39 MYVER="$NetBSD: genfileioh.awk,v 1.2 2008/05/02 11:13:02 martin Exp $"; 40 MYVER=mangle_vers(MYVER); 41 } 42 43 { 44 if ($0 ~/\$NetBSD:/) { 45 SHVER=mangle_vers($0); 46 } 47 if ($1 ~ /^major=/) { 48 MAJ=$1; 49 sub("^major=", "", MAJ); 50 } 51 if ($1 ~ /^minor=/) { 52 MIN=$1; 53 sub("^minor=", "", MIN); 54 } 55 } 56 57 END { 58 printf("/*\n"); 59 printf(" * Do not edit! Automatically generated file:\n"); 60 printf(" * from: %s\n", SHVER); 61 printf(" * by : %s\n", MYVER); 62 printf(" */\n"); 63 printf("\n"); 64 printf("#define CURSES_LIB_MAJOR %s\n", MAJ); 65 printf("#define CURSES_LIB_MINOR %s\n", MIN); 66 } 67