xref: /netbsd/sys/conf/newvers_stand.sh (revision bf9ec67e)
1#!/bin/sh -
2#
3# $NetBSD: newvers_stand.sh,v 1.4 2000/08/23 07:15:20 mrg Exp $
4#
5# Copyright (c) 2000 The NetBSD Foundation, Inc.
6# All rights reserved.
7#
8# This code is derived from software contributed to The NetBSD Foundation
9# by Jaromir Dolecek.
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# 3. All advertising materials mentioning features or use of this software
20#    must display the following acknowledgement:
21#	This product includes software developed by the NetBSD
22#	Foundation, Inc. and its contributors.
23# 4. Neither the name of The NetBSD Foundation nor the names of its
24#    contributors may be used to endorse or promote products derived
25#    from this software without specific prior written permission.
26#
27# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
28# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
29# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
30# PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
31# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
32# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
33# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
34# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
35# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
36# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
37# POSSIBILITY OF SUCH DAMAGE.
38
39# Script for generating of vers.c file from given template. Used in
40# bootblock build on various architectures.
41#
42# Called as:
43#	sh ${S}/conf/newvers_stand.sh [-NDM] VERSION_FILE ARCH [EXTRA_MSG]
44
45add_name=yes
46add_date=yes
47add_maker=yes
48
49# parse command args
50while getopts "NDM?" OPT; do
51	case $OPT in
52	N)	add_name=no;;
53	D)	add_date=no;;
54	M)	add_maker=no;;
55	?)	echo "Syntax: newvers_stand.sh [-NDM] VERSION_TEMPLATE ARCH EXTRA_COMMENT" >&2
56		exit 1;;
57	esac
58done
59
60shift `expr $OPTIND - 1`
61
62r=`awk -F: '$1 ~ /^[0-9.]*$/ { it = $1; } END { print it }' $1`
63
64# always add revision info
65echo "const char bootprog_rev[] = \"${r}\";" > vers.c
66
67if [ $add_name = yes ]; then
68	a="$2"		# architecture name
69	extra=${3:+" $3"}
70
71	echo "const char bootprog_name[] = \"NetBSD/${a}${extra}\";" >> vers.c
72fi
73
74if [ $add_date = yes ]; then
75	t=`date`
76	echo "const char bootprog_date[] = \"${t}\";" >> vers.c
77fi
78
79if [ $add_maker = yes ]; then
80	u=${USER-root} h=`hostname`
81	echo "const char bootprog_maker[] = \"${u}@${h}\";" >> vers.c
82fi
83