Version:  2.0.40 2.2.26 2.4.37 3.13 3.14 3.15 3.16 3.17 3.18 3.19 4.0 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10

Linux/scripts/mkcompile_h

  1 #!/bin/sh
  2 
  3 TARGET=$1
  4 ARCH=$2
  5 SMP=$3
  6 PREEMPT=$4
  7 CC=$5
  8 
  9 vecho() { [ "${quiet}" = "silent_" ] || echo "$@" ; }
 10 
 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 
 17 if [ -r $TARGET -a ! -O include/generated/autoconf.h ]; then
 18   vecho "  SKIPPED $TARGET"
 19   exit 0
 20 fi
 21 
 22 # Do not expand names
 23 set -f
 24 
 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
 36 else
 37         VERSION=$KBUILD_BUILD_VERSION
 38 fi
 39 
 40 if [ -z "$KBUILD_BUILD_TIMESTAMP" ]; then
 41         TIMESTAMP=`date`
 42 else
 43         TIMESTAMP=$KBUILD_BUILD_TIMESTAMP
 44 fi
 45 if test -z "$KBUILD_BUILD_USER"; then
 46         LINUX_COMPILE_BY=$(whoami | sed 's/\\/\\\\/')
 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
 55 
 56 UTS_VERSION="#$VERSION"
 57 CONFIG_FLAGS=""
 58 if [ -n "$SMP" ] ; then CONFIG_FLAGS="SMP"; fi
 59 if [ -n "$PREEMPT" ] ; then CONFIG_FLAGS="$CONFIG_FLAGS PREEMPT"; fi
 60 UTS_VERSION="$UTS_VERSION $CONFIG_FLAGS $TIMESTAMP"
 61 
 62 # Truncate to maximum length
 63 
 64 UTS_LEN=64
 65 UTS_TRUNCATE="cut -b -$UTS_LEN"
 66 
 67 # Generate a temporary compile.h
 68 
 69 ( echo /\* This file is auto generated, version $VERSION \*/
 70   if [ -n "$CONFIG_FLAGS" ] ; then echo "/* $CONFIG_FLAGS */"; fi
 71 
 72   echo \#define UTS_MACHINE \"$ARCH\"
 73 
 74   echo \#define UTS_VERSION \"`echo $UTS_VERSION | $UTS_TRUNCATE`\"
 75 
 76   echo \#define LINUX_COMPILE_BY \"`echo $LINUX_COMPILE_BY | $UTS_TRUNCATE`\"
 77   echo \#define LINUX_COMPILE_HOST \"`echo $LINUX_COMPILE_HOST | $UTS_TRUNCATE`\"
 78 
 79   echo \#define LINUX_COMPILER \"`$CC -v 2>&1 | grep ' version '`\"
 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 ] && \
 92       grep -v 'UTS_VERSION' $TARGET > .tmpver.1 && \
 93       grep -v 'UTS_VERSION' .tmpcompile > .tmpver.2 && \
 94       cmp -s .tmpver.1 .tmpver.2; then
 95    rm -f .tmpcompile
 96 else
 97    vecho "  UPD     $TARGET"
 98    mv -f .tmpcompile $TARGET
 99 fi
100 rm -f .tmpver.1 .tmpver.2

This page was automatically generated by LXR 0.3.1 (source).  •  Linux is a registered trademark of Linus Torvalds  •  Contact us