New CBFS API uses commonlib/bsd/cbfs_serialized.h, which includes vboot's vb2_sha.h. And, because vboot's includes are not available in libpayload's installation directory nor in lpgcc paths, it was causing compilation errors. This patch fixes this issue. lpgcc will look for `vboot` directory like it is doing for `include` directory to create correct paths. However, if payload will be built using libpayload's build dir as a base, then vboot headers from 3rdparty/vboot will be used, as there is no way to pass VBOOT_SOURCE from makefile to lpgcc. Moreover, this patch moves VBOOT_SOURCE to the main Makefile to make it available for installation target, to install headers from vboot directory provided by caller. Change-Id: I68dd7e1545cfcaf24547d8a9fe289447c79da222 Signed-off-by: Jakub Czapiga <jacz@semihalf.com> Reported-by: Nico Huber <nico.h@gmx.de> Reviewed-on: https://review.coreboot.org/c/coreboot/+/61032 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Nico Huber <nico.h@gmx.de> Reviewed-by: Julius Werner <jwerner@chromium.org>
		
			
				
	
	
		
			72 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			72 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
##
 | 
						|
## Copyright (C) 2008 Advanced Micro Devices, Inc.
 | 
						|
##
 | 
						|
## Redistribution and use in source and binary forms, with or without
 | 
						|
## modification, are permitted provided that the following conditions
 | 
						|
## are met:
 | 
						|
## 1. Redistributions of source code must retain the above copyright
 | 
						|
##    notice, this list of conditions and the following disclaimer.
 | 
						|
## 2. Redistributions in binary form must reproduce the above copyright
 | 
						|
##    notice, this list of conditions and the following disclaimer in the
 | 
						|
##    documentation and/or other materials provided with the distribution.
 | 
						|
## 3. The name of the author may not be used to endorse or promote products
 | 
						|
##    derived from this software without specific prior written permission.
 | 
						|
##
 | 
						|
## THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
 | 
						|
## ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 | 
						|
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 | 
						|
## ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
 | 
						|
## FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 | 
						|
## DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 | 
						|
## OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 | 
						|
## HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 | 
						|
## LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 | 
						|
## OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 | 
						|
## SUCH DAMAGE.
 | 
						|
 | 
						|
# Common functions used by the libpayload wrappers
 | 
						|
 | 
						|
error() {
 | 
						|
	echo "Error: $1"
 | 
						|
	exit 1
 | 
						|
}
 | 
						|
 | 
						|
warn() {
 | 
						|
	echo "Warning: $1"
 | 
						|
}
 | 
						|
 | 
						|
# For in-tree builds, allow to override the libpayload build dir.
 | 
						|
 | 
						|
_OBJ=${_OBJ:-$BASE/../build}
 | 
						|
 | 
						|
# If the user didn't specify LIBPAYLOAD_PREFIX, then preload it
 | 
						|
# with the default prefix value
 | 
						|
 | 
						|
if [ -z "$LIBPAYLOAD_PREFIX" ]; then
 | 
						|
	LIBPAYLOAD_PREFIX=$DEFAULT_PREFIX/libpayload
 | 
						|
fi
 | 
						|
 | 
						|
# If we're lucky, then everything was installed correctly, and the
 | 
						|
# library is locatd in the same prefix as ourselves.  If not, then
 | 
						|
# use the value of LIBPAYLOAD_PREFIX
 | 
						|
 | 
						|
if [ -f $BASE/../lib/libpayload.a ]; then
 | 
						|
	_LIBDIR=$BASE/../lib
 | 
						|
elif [ -f $_OBJ/libpayload.config ]; then
 | 
						|
	_LIBDIR=$_OBJ
 | 
						|
else
 | 
						|
	_LIBDIR=$LIBPAYLOAD_PREFIX/lib
 | 
						|
fi
 | 
						|
 | 
						|
if [ -d $BASE/../include ]; then
 | 
						|
	_INCDIR=$BASE/../include
 | 
						|
else
 | 
						|
	_INCDIR=$LIBPAYLOAD_PREFIX/include
 | 
						|
fi
 | 
						|
 | 
						|
if [ -d $BASE/../vboot ]; then
 | 
						|
	_VBOOTINCDIR=$BASE/../vboot/include
 | 
						|
else
 | 
						|
	_VBOOTINCDIR=$LIBPAYLOAD_PREFIX/../vboot/include
 | 
						|
fi
 |