xref: /freebsd/contrib/cortex-strings/scripts/add-license.sh (revision 8ddb146abcdf061be9f2c0db7e391697dafad85c)
1#!/bin/bash
2#
3# Add the modified BSD license to a file
4#
5
6f=`mktemp -d`
7trap "rm -rf $f" EXIT
8
9year=`date +%Y`
10cat > $f/original <<EOF
11Copyright (c) $year, Linaro Limited
12All rights reserved.
13
14Redistribution and use in source and binary forms, with or without
15modification, are permitted provided that the following conditions are met:
16    * Redistributions of source code must retain the above copyright
17      notice, this list of conditions and the following disclaimer.
18    * Redistributions in binary form must reproduce the above copyright
19      notice, this list of conditions and the following disclaimer in the
20      documentation and/or other materials provided with the distribution.
21    * Neither the name of the Linaro nor the
22      names of its contributors may be used to endorse or promote products
23      derived from this software without specific prior written permission.
24
25THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
26ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
27WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
28DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY
29DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
30(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
31LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
32ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
33(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
34SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
35EOF
36
37# Translate it to C style
38echo "/*" > $f/c
39sed -r 's/(.*)/ * \1/' $f/original | sed -r 's/ +$//' >> $f/c
40echo " */" >> $f/c
41echo >> $f/c
42
43# ...and shell style
44sed -r 's/(.*)/# \1/' $f/original | sed -r 's/ +$//' >> $f/shell
45echo '#' >> $f/shell
46echo >> $f/shell
47
48for name in $@; do
49    if grep -q Copyright $name; then
50	echo $name already has some type of copyright
51	continue
52    fi
53
54    case $name in
55	# These files don't have an explicit license
56        *autogen.sh*)
57	    continue;;
58	*reference/newlib/*)
59	    continue;;
60	*reference/newlib-xscale/*)
61	    continue;;
62	*/dhry/*)
63	    continue;;
64
65	*.c)
66	    src=$f/c
67	    ;;
68	*.sh|*.am|*.ac)
69	    src=$f/shell
70	    ;;
71	*)
72	    echo Unrecognied extension on $name
73	    continue
74    esac
75
76    cat $src $name > $f/next
77    mv $f/next $name
78    echo Updated $name
79done
80