diff options
| author | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-04-16 18:20:36 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-04-16 18:20:36 -0400 |
| commit | 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (patch) | |
| tree | 0bba044c4ce775e45a88a51686b5d9f90697ea9d /scripts/mkcompile_h | |
Linux-2.6.12-rc2v2.6.12-rc2
Initial git repository build. I'm not bothering with the full history,
even though we have it. We can create a separate "historical" git
archive of that later if we want to, and in the meantime it's about
3.2GB when imported into git - space that would just make the early
git days unnecessarily complicated, when we don't have a lot of good
infrastructure for it.
Let it rip!
Diffstat (limited to 'scripts/mkcompile_h')
| -rwxr-xr-x | scripts/mkcompile_h | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/scripts/mkcompile_h b/scripts/mkcompile_h new file mode 100755 index 000000000000..8d118d181950 --- /dev/null +++ b/scripts/mkcompile_h | |||
| @@ -0,0 +1,78 @@ | |||
| 1 | TARGET=$1 | ||
| 2 | ARCH=$2 | ||
| 3 | SMP=$3 | ||
| 4 | CC=$4 | ||
| 5 | |||
| 6 | # If compile.h exists already and we don't own autoconf.h | ||
| 7 | # (i.e. we're not the same user who did make *config), don't | ||
| 8 | # modify compile.h | ||
| 9 | # So "sudo make install" won't change the "compiled by <user>" | ||
| 10 | # do "compiled by root" | ||
| 11 | |||
| 12 | if [ -r $TARGET -a ! -O include/linux/autoconf.h ]; then | ||
| 13 | echo " SKIPPED $TARGET" | ||
| 14 | exit 0 | ||
| 15 | fi | ||
| 16 | |||
| 17 | # Do not expand names | ||
| 18 | set -f | ||
| 19 | |||
| 20 | if [ -r .version ]; then | ||
| 21 | VERSION=`cat .version` | ||
| 22 | else | ||
| 23 | VERSION=0 | ||
| 24 | echo 0 > .version | ||
| 25 | fi | ||
| 26 | |||
| 27 | |||
| 28 | UTS_VERSION="#$VERSION" | ||
| 29 | if [ -n "$SMP" ] ; then UTS_VERSION="$UTS_VERSION SMP"; fi | ||
| 30 | UTS_VERSION="$UTS_VERSION `LC_ALL=C LANG=C date`" | ||
| 31 | |||
| 32 | # Truncate to maximum length | ||
| 33 | |||
| 34 | UTS_LEN=64 | ||
| 35 | UTS_TRUNCATE="sed -e s/\(.\{1,$UTS_LEN\}\).*/\1/" | ||
| 36 | |||
| 37 | # Generate a temporary compile.h | ||
| 38 | |||
| 39 | ( echo /\* This file is auto generated, version $VERSION \*/ | ||
| 40 | |||
| 41 | echo \#define UTS_MACHINE \"$ARCH\" | ||
| 42 | |||
| 43 | echo \#define UTS_VERSION \"`echo $UTS_VERSION | $UTS_TRUNCATE`\" | ||
| 44 | |||
| 45 | echo \#define LINUX_COMPILE_TIME \"`LC_ALL=C LANG=C date +%T`\" | ||
| 46 | echo \#define LINUX_COMPILE_BY \"`whoami`\" | ||
| 47 | echo \#define LINUX_COMPILE_HOST \"`hostname | $UTS_TRUNCATE`\" | ||
| 48 | |||
| 49 | if [ -x /bin/dnsdomainname ]; then | ||
| 50 | echo \#define LINUX_COMPILE_DOMAIN \"`dnsdomainname | $UTS_TRUNCATE`\" | ||
| 51 | elif [ -x /bin/domainname ]; then | ||
| 52 | echo \#define LINUX_COMPILE_DOMAIN \"`domainname | $UTS_TRUNCATE`\" | ||
| 53 | else | ||
| 54 | echo \#define LINUX_COMPILE_DOMAIN | ||
| 55 | fi | ||
| 56 | |||
| 57 | echo \#define LINUX_COMPILER \"`$CC -v 2>&1 | tail -n 1`\" | ||
| 58 | ) > .tmpcompile | ||
| 59 | |||
| 60 | # Only replace the real compile.h if the new one is different, | ||
| 61 | # in order to preserve the timestamp and avoid unnecessary | ||
| 62 | # recompilations. | ||
| 63 | # We don't consider the file changed if only the date/time changed. | ||
| 64 | # A kernel config change will increase the generation number, thus | ||
| 65 | # causing compile.h to be updated (including date/time) due to the | ||
| 66 | # changed comment in the | ||
| 67 | # first line. | ||
| 68 | |||
| 69 | if [ -r $TARGET ] && \ | ||
| 70 | grep -v 'UTS_VERSION\|LINUX_COMPILE_TIME' $TARGET > .tmpver.1 && \ | ||
| 71 | grep -v 'UTS_VERSION\|LINUX_COMPILE_TIME' .tmpcompile > .tmpver.2 && \ | ||
| 72 | cmp -s .tmpver.1 .tmpver.2; then | ||
| 73 | rm -f .tmpcompile | ||
| 74 | else | ||
| 75 | echo " UPD $TARGET" | ||
| 76 | mv -f .tmpcompile $TARGET | ||
| 77 | fi | ||
| 78 | rm -f .tmpver.1 .tmpver.2 | ||
