395f5b3129
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>
71 lines
2.4 KiB
Text
71 lines
2.4 KiB
Text
##
|
|
## 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
|