Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100755 101 lines (81 sloc) 2.52 kb
17c5ca9 Felipe Contreras kbuild: mkcompile_h: trivial cleanups
felipec authored
1 #!/bin/sh
2
1da177e Linux-2.6.12-rc2
Linus Torvalds authored
3 TARGET=$1
4 ARCH=$2
5 SMP=$3
bd5bdd8 kbuild: "PREEMPT" in UTS_VERSION
Sam Ravnborg authored
6 PREEMPT=$4
7 CC=$5
1da177e Linux-2.6.12-rc2
Linus Torvalds authored
8
d03fab4 Mike Frysinger kbuild: kill output in silent mode of mkcompile_h
vapier authored
9 vecho() { [ "${quiet}" = "silent_" ] || echo "$@" ; }
10
1da177e Linux-2.6.12-rc2
Linus Torvalds authored
11 # If compile.h exists already and we don't own autoconf.h
12 # (i.e. we're not the same user who did make *config), don't
13 # modify compile.h
14 # So "sudo make install" won't change the "compiled by <user>"
15 # do "compiled by root"
16
264a268 kbuild: move autoconf.h to include/generated
Sam Ravnborg authored
17 if [ -r $TARGET -a ! -O include/generated/autoconf.h ]; then
d03fab4 Mike Frysinger kbuild: kill output in silent mode of mkcompile_h
vapier authored
18 vecho " SKIPPED $TARGET"
1da177e Linux-2.6.12-rc2
Linus Torvalds authored
19 exit 0
20 fi
21
22 # Do not expand names
23 set -f
24
87c94bf kbuild: override build timestamp & version
Sam Ravnborg authored
25 # Fix the language to get consistent output
26 LC_ALL=C
27 export LC_ALL
28
29 if [ -z "$KBUILD_BUILD_VERSION" ]; then
30 if [ -r .version ]; then
31 VERSION=`cat .version`
32 else
33 VERSION=0
34 echo 0 > .version
35 fi
1da177e Linux-2.6.12-rc2
Linus Torvalds authored
36 else
87c94bf kbuild: override build timestamp & version
Sam Ravnborg authored
37 VERSION=$KBUILD_BUILD_VERSION
1da177e Linux-2.6.12-rc2
Linus Torvalds authored
38 fi
39
87c94bf kbuild: override build timestamp & version
Sam Ravnborg authored
40 if [ -z "$KBUILD_BUILD_TIMESTAMP" ]; then
41 TIMESTAMP=`date`
42 else
43 TIMESTAMP=$KBUILD_BUILD_TIMESTAMP
44 fi
53e6892 michal42 kbuild: Allow to override LINUX_COMPILE_BY and LINUX_COMPILE_HOST macros
michal42 authored
45 if test -z "$KBUILD_BUILD_USER"; then
f077260 Fix handling of backlash character in LINUX_COMPILE_BY name
Marcin Nowakowski authored
46 LINUX_COMPILE_BY=$(whoami | sed 's/\\/\\\\/')
53e6892 michal42 kbuild: Allow to override LINUX_COMPILE_BY and LINUX_COMPILE_HOST macros
michal42 authored
47 else
48 LINUX_COMPILE_BY=$KBUILD_BUILD_USER
49 fi
50 if test -z "$KBUILD_BUILD_HOST"; then
51 LINUX_COMPILE_HOST=`hostname`
52 else
53 LINUX_COMPILE_HOST=$KBUILD_BUILD_HOST
54 fi
1da177e Linux-2.6.12-rc2
Linus Torvalds authored
55
56 UTS_VERSION="#$VERSION"
bd5bdd8 kbuild: "PREEMPT" in UTS_VERSION
Sam Ravnborg authored
57 CONFIG_FLAGS=""
58 if [ -n "$SMP" ] ; then CONFIG_FLAGS="SMP"; fi
59 if [ -n "$PREEMPT" ] ; then CONFIG_FLAGS="$CONFIG_FLAGS PREEMPT"; fi
87c94bf kbuild: override build timestamp & version
Sam Ravnborg authored
60 UTS_VERSION="$UTS_VERSION $CONFIG_FLAGS $TIMESTAMP"
1da177e Linux-2.6.12-rc2
Linus Torvalds authored
61
62 # Truncate to maximum length
63
64 UTS_LEN=64
17c5ca9 Felipe Contreras kbuild: mkcompile_h: trivial cleanups
felipec authored
65 UTS_TRUNCATE="cut -b -$UTS_LEN"
1da177e Linux-2.6.12-rc2
Linus Torvalds authored
66
67 # Generate a temporary compile.h
68
69 ( echo /\* This file is auto generated, version $VERSION \*/
bd5bdd8 kbuild: "PREEMPT" in UTS_VERSION
Sam Ravnborg authored
70 if [ -n "$CONFIG_FLAGS" ] ; then echo "/* $CONFIG_FLAGS */"; fi
71
1da177e Linux-2.6.12-rc2
Linus Torvalds authored
72 echo \#define UTS_MACHINE \"$ARCH\"
73
74 echo \#define UTS_VERSION \"`echo $UTS_VERSION | $UTS_TRUNCATE`\"
75
53e6892 michal42 kbuild: Allow to override LINUX_COMPILE_BY and LINUX_COMPILE_HOST macros
michal42 authored
76 echo \#define LINUX_COMPILE_BY \"`echo $LINUX_COMPILE_BY | $UTS_TRUNCATE`\"
77 echo \#define LINUX_COMPILE_HOST \"`echo $LINUX_COMPILE_HOST | $UTS_TRUNCATE`\"
1da177e Linux-2.6.12-rc2
Linus Torvalds authored
78
87c94bf kbuild: override build timestamp & version
Sam Ravnborg authored
79 echo \#define LINUX_COMPILER \"`$CC -v 2>&1 | tail -n 1`\"
1da177e Linux-2.6.12-rc2
Linus Torvalds authored
80 ) > .tmpcompile
81
82 # Only replace the real compile.h if the new one is different,
83 # in order to preserve the timestamp and avoid unnecessary
84 # recompilations.
85 # We don't consider the file changed if only the date/time changed.
86 # A kernel config change will increase the generation number, thus
87 # causing compile.h to be updated (including date/time) due to the
88 # changed comment in the
89 # first line.
90
91 if [ -r $TARGET ] && \
061296d michal42 kbuild: Drop unused LINUX_COMPILE_TIME and LINUX_COMPILE_DOMAIN macros
michal42 authored
92 grep -v 'UTS_VERSION' $TARGET > .tmpver.1 && \
93 grep -v 'UTS_VERSION' .tmpcompile > .tmpver.2 && \
1da177e Linux-2.6.12-rc2
Linus Torvalds authored
94 cmp -s .tmpver.1 .tmpver.2; then
95 rm -f .tmpcompile
96 else
d03fab4 Mike Frysinger kbuild: kill output in silent mode of mkcompile_h
vapier authored
97 vecho " UPD $TARGET"
1da177e Linux-2.6.12-rc2
Linus Torvalds authored
98 mv -f .tmpcompile $TARGET
99 fi
100 rm -f .tmpver.1 .tmpver.2
Something went wrong with that request. Please try again.