0ad5fbd48d
Instead of hardcoding paths to the executables, use the version in the path. This allows the scripts to work on more systems, and allows the binary version to be changed more easily if needed. Signed-off-by: Martin Roth <martin@coreboot.org> Change-Id: Ifcc56aa21092cd3866eacb6a02d198110ec6051d Reviewed-on: https://review.coreboot.org/c/coreboot/+/48904 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Angel Pons <th3fanbus@gmail.com>
75 lines
2.2 KiB
Bash
Executable file
75 lines
2.2 KiB
Bash
Executable file
#!/usr/bin/env sh
|
|
#
|
|
# SPDX-License-Identifier: GPL-2.0-only
|
|
|
|
DATE=""
|
|
GITREV=""
|
|
TIMESOURCE=""
|
|
|
|
export LANG=C
|
|
export LC_ALL=C
|
|
export TZ=UTC0
|
|
|
|
XCOMPILE=$1
|
|
|
|
if [ -z "$XCOMPILE" ] || [ "$1" = "--help" ]; then
|
|
echo "usage: $0 <xcompile>" >&2
|
|
exit 1
|
|
fi
|
|
|
|
# $1: format string
|
|
get_git_head_data() {
|
|
LANG= git log --no-show-signature -1 --format="format:$1" 2>/dev/null || \
|
|
LANG= git log -1 --format="format:$1"
|
|
}
|
|
|
|
if [ "${BUILD_TIMELESS}" = "1" ]; then
|
|
GITREV=Timeless
|
|
TIMESOURCE="fixed"
|
|
DATE=0
|
|
elif [ "$(git rev-parse --is-inside-work-tree 2>/dev/null)" = "true" ]; then
|
|
GITREV=$(get_git_head_data %h)
|
|
TIMESOURCE=git
|
|
DATE=$(get_git_head_data %ct)
|
|
else
|
|
GITREV=Unknown
|
|
TIMESOURCE="date"
|
|
DATE=$(LANG= LC_ALL=C TZ=UTC0 date +%s)
|
|
fi
|
|
|
|
our_date() {
|
|
case $(uname) in
|
|
NetBSD|OpenBSD|DragonFly|FreeBSD|Darwin)
|
|
date -r $1 $2
|
|
;;
|
|
*)
|
|
date -d @$1 $2
|
|
esac
|
|
}
|
|
|
|
IASL=util/crossgcc/xgcc/bin/iasl
|
|
eval $(grep ^IASL:= "$XCOMPILE" 2>/dev/null | sed s,:=,=,)
|
|
|
|
#Print out the information that goes into build.h
|
|
printf "/* build system definitions (autogenerated) */\n"
|
|
printf "#ifndef __BUILD_H\n"
|
|
printf "#define __BUILD_H\n\n"
|
|
printf "#define COREBOOT_VERSION %s\n" "\"$KERNELVERSION\""
|
|
|
|
#See if the build is running in a git repo and the git command is available
|
|
printf "/* timesource: $TIMESOURCE */\n"
|
|
printf "#define COREBOOT_VERSION_TIMESTAMP $DATE\n"
|
|
printf "#define COREBOOT_ORIGIN_GIT_REVISION \"$GITREV\"\n"
|
|
|
|
printf "#define COREBOOT_EXTRA_VERSION \"%s\"\n" "$COREBOOT_EXTRA_VERSION"
|
|
printf "#define COREBOOT_MAJOR_VERSION %d\n#define COREBOOT_MINOR_VERSION %d\n" `git describe --match [0-9].[0-9]* | sed 's/\([0-9]\)\.\([0-9]\+\).*/\1 \2/'`
|
|
printf "#define COREBOOT_BUILD \"$(our_date "$DATE")\"\n"
|
|
printf "#define COREBOOT_BUILD_YEAR_BCD 0x$(our_date "$DATE" +%y)\n"
|
|
printf "#define COREBOOT_BUILD_MONTH_BCD 0x$(our_date "$DATE" +%m)\n"
|
|
printf "#define COREBOOT_BUILD_DAY_BCD 0x$(our_date "$DATE" +%d)\n"
|
|
printf "#define COREBOOT_BUILD_WEEKDAY_BCD 0x$(our_date "$DATE" +%w)\n"
|
|
printf "#define COREBOOT_DMI_DATE \"$(our_date "$DATE" +%m/%d/%Y)\"\n"
|
|
printf "\n"
|
|
printf "#define COREBOOT_COMPILE_TIME \"$(our_date "$DATE" +%T)\"\n"
|
|
printf "#define ASL_VERSION 0x%d\n" `$IASL -v | grep version | sed 's/.*version //'`
|
|
printf "#endif\n"
|