On FreeBSD, every build target would show warnings from its builtin printf(). Change the regexp to be compatible with BSD sed. This will avoid noise like "printf: 4.14-1278-g5d74ccf1c3: not completely converted". Signed-off-by: Idwer Vollering <vidwer@gmail.com> Signed-off-by: Jessica Clarke <jrtc27@jrtc27.com> Change-Id: I1c0c260fd8d42e23a612a353a288e472cc068c8e Reviewed-on: https://review.coreboot.org/c/coreboot/+/56803 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Arthur Heymans <arthur@aheymans.xyz> Reviewed-by: Nico Huber <nico.h@gmx.de>
		
			
				
	
	
		
			85 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			85 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/usr/bin/env sh
 | |
| #
 | |
| # SPDX-License-Identifier: GPL-2.0-only
 | |
| 
 | |
| DATE=""
 | |
| GITREV=""
 | |
| TIMESOURCE=""
 | |
| XGCCPATH="${XGCCPATH:-util/crossgcc/xgcc/bin/}"
 | |
| 
 | |
| 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
 | |
| }
 | |
| 
 | |
| # Look for IASL in XGCCPATH and xcompile.  Unfortunately,
 | |
| # xcompile isn't available on the first build.
 | |
| # If neither of those gives a valid iasl, check the path.
 | |
| IASL="${XGCCPATH}iasl"
 | |
| eval $(grep ^IASL:= "$XCOMPILE" 2>/dev/null | sed s,:=,=,)
 | |
| if [ ! -x "${IASL}" ]; then
 | |
| 	IASL=$(command -v iasl)
 | |
| fi
 | |
| IASLVERSION="$(${IASL} -v | grep version | sed 's/.*version //')" >/dev/null
 | |
| 
 | |
| #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][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_BUILD_EPOCH \"$(our_date "$DATE" +%s)\"\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" "${IASLVERSION}"
 | |
| printf "#endif\n"
 |