packages: setup_toolchain $TARGET only called after package is sourced

Packages referencing variables defined in setup_toolchain such as CC, CXX,
AR, CFLAGS, LDFLAGS, HOST_CC etc. etc. must only reference these variables in
pre_build()/pre_configure()/pre_make() etc. functions, as the variables will not
be available when the package is sourced, but will be available after the call
to setup_toolchain() from scripts/build.
This commit is contained in:
MilhouseVH 2018-12-18 03:43:28 +00:00
parent b518bbf4e7
commit c19a3ff780
13 changed files with 73 additions and 46 deletions

View File

@ -11,10 +11,11 @@ PKG_URL="https://github.com/groeck/lm-sensors/archive/${PKG_VERSION}.tar.gz"
PKG_DEPENDS_TARGET="toolchain"
PKG_LONGDESC="Provides user-space support for the hardware monitoring drivers."
PKG_MAKE_OPTS_TARGET="PREFIX=/usr CC=$CC AR=$AR"
PKG_MAKEINSTALL_OPTS_TARGET="PREFIX=/usr"
pre_make_target() {
PKG_MAKE_OPTS_TARGET="PREFIX=/usr CC=$CC AR=$AR"
export CFLAGS="$TARGET_CFLAGS"
export CPPFLAGS="$TARGET_CPPFLAGS"
}

View File

@ -13,6 +13,14 @@ PKG_LONGDESC="An Embeddable SQL Database Engine."
# libsqlite3.a(sqlite3.o): requires dynamic R_X86_64_PC32 reloc against 'sqlite3_stricmp' which may overflow at runtime
PKG_BUILD_FLAGS="+pic +pic:host -parallel"
PKG_CONFIGURE_OPTS_TARGET="--disable-static \
--enable-shared \
--disable-readline \
--enable-threadsafe \
--enable-dynamic-extensions \
--with-gnu-ld"
pre_configure_target() {
# sqlite fails to compile with fast-math link time optimization.
CFLAGS=`echo $CFLAGS | sed -e "s|-Ofast|-O3|g"`
CFLAGS=`echo $CFLAGS | sed -e "s|-ffast-math||g"`
@ -43,10 +51,4 @@ PKG_BUILD_FLAGS="+pic +pic:host -parallel"
# sqlite3_config(SQLITE_CONFIG_MMAP_SIZE) call, or at run-time using the
# mmap_size pragma.
CFLAGS="$CFLAGS -DSQLITE_TEMP_STORE=3 -DSQLITE_DEFAULT_MMAP_SIZE=268435456"
PKG_CONFIGURE_OPTS_TARGET="--disable-static \
--enable-shared \
--disable-readline \
--enable-threadsafe \
--enable-dynamic-extensions \
--with-gnu-ld"
}

View File

@ -1,5 +1,6 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="gdb"
PKG_VERSION="8.1"
@ -11,9 +12,6 @@ PKG_DEPENDS_TARGET="toolchain zlib ncurses expat"
PKG_LONGDESC="GNU Project debugger, allows you to see what is going on inside another program while it executes."
# gdb could fail on runtime if build with LTO support
CC_FOR_BUILD="$HOST_CC"
CFLAGS_FOR_BUILD="$HOST_CFLAGS"
PKG_CONFIGURE_OPTS_TARGET="bash_cv_have_mbstate_t=set \
--disable-shared \
--enable-static \
@ -30,6 +28,11 @@ PKG_CONFIGURE_OPTS_TARGET="bash_cv_have_mbstate_t=set \
--enable-libssp \
--disable-werror"
pre_configure_target() {
CC_FOR_BUILD="$HOST_CC"
CFLAGS_FOR_BUILD="$HOST_CFLAGS"
}
makeinstall_target() {
make DESTDIR=$INSTALL install
}

View File

@ -1,5 +1,6 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="ccache"
PKG_VERSION="3.3.6"
@ -10,11 +11,13 @@ PKG_URL="https://samba.org/ftp/ccache/$PKG_NAME-$PKG_VERSION.tar.bz2"
PKG_DEPENDS_HOST="make:host"
PKG_LONGDESC="A compiler cache to speed up re-compilation of C/C++ code by caching."
export CC=$LOCAL_CC
export CXX=$LOCAL_CXX
PKG_CONFIGURE_OPTS_HOST="--with-bundled-zlib"
pre_configure_host() {
export CC=$LOCAL_CC
export CXX=$LOCAL_CXX
}
post_makeinstall_host() {
# setup ccache
if [ -z "$CCACHE_DISABLE" ]; then

View File

@ -1,5 +1,6 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="make"
PKG_VERSION="4.2.1"
@ -10,7 +11,9 @@ PKG_URL="http://ftpmirror.gnu.org/make/$PKG_NAME-$PKG_VERSION.tar.bz2"
PKG_DEPENDS_HOST=""
PKG_LONGDESC="Utility to maintain groups of programs."
export CC=$LOCAL_CC
pre_configure_host() {
export CC=$LOCAL_CC
}
post_makeinstall_host() {
ln -sf make $TOOLCHAIN/bin/gmake

View File

@ -15,9 +15,9 @@ PKG_LIBNAME="fbalpha_libretro.so"
PKG_LIBPATH="$PKG_LIBNAME"
PKG_LIBVAR="FBALPHA_LIB"
PKG_MAKE_OPTS_TARGET="-f makefile.libretro CC=$CC CXX=$CXX GIT_VERSION=${PKG_VERSION:0:7}"
pre_make_target() {
PKG_MAKE_OPTS_TARGET="-f makefile.libretro CC=$CC CXX=$CXX GIT_VERSION=${PKG_VERSION:0:7}"
if [ "$PROJECT" = "RPi" ]; then
case $DEVICE in
RPi)

View File

@ -1,5 +1,6 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="vsxu"
PKG_VERSION="0.5.1"
@ -12,13 +13,15 @@ PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.gz"
PKG_DEPENDS_TARGET="toolchain $OPENGL libX11 glew glfw zlib libpng libjpeg-turbo freetype"
PKG_LONGDESC="an OpenGL-based programming environment to visualize music and create graphic effects"
export LDFLAGS="$LDFLAGS -lX11"
PKG_CMAKE_OPTS_TARGET="-DBUILD_SHARED_LIBS=0 \
-DVSXU_STATIC=1 \
-DCMAKE_POSITION_INDEPENDENT_CODE=1 \
-DCMAKE_CXX_FLAGS=-I$SYSROOT_PREFIX/usr/include/freetype2"
pre_configure_target(){
export LDFLAGS="$LDFLAGS -lX11"
}
post_makeinstall_target() {
mkdir -p $SYSROOT_PREFIX/usr/lib/vsxu
cp -PR $INSTALL/usr/lib/* $SYSROOT_PREFIX/usr/lib

View File

@ -15,22 +15,10 @@ PKG_LONGDESC="BusyBox combines tiny versions of many common UNIX utilities into
# busybox fails to build with GOLD support enabled with binutils-2.25
PKG_BUILD_FLAGS="-parallel -gold"
PKG_MAKE_OPTS_HOST="ARCH=$TARGET_ARCH CROSS_COMPILE= KBUILD_VERBOSE=1 install"
PKG_MAKE_OPTS_TARGET="ARCH=$TARGET_ARCH \
HOSTCC=$HOST_CC \
CROSS_COMPILE=$TARGET_PREFIX \
KBUILD_VERBOSE=1 \
install"
PKG_MAKE_OPTS_INIT="ARCH=$TARGET_ARCH \
HOSTCC=$HOST_CC \
CROSS_COMPILE=$TARGET_PREFIX \
KBUILD_VERBOSE=1 \
install"
# nano text editor
if [ "$NANO_EDITOR" = "yes" ]; then
if [ "$NANO_EDITOR" = "yes" ]; then
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET nano"
fi
fi
# nfs support
if [ "$NFS_SUPPORT" = yes ]; then
@ -38,16 +26,30 @@ if [ "$NFS_SUPPORT" = yes ]; then
fi
pre_build_target() {
PKG_MAKE_OPTS_TARGET="ARCH=$TARGET_ARCH \
HOSTCC=$HOST_CC \
CROSS_COMPILE=$TARGET_PREFIX \
KBUILD_VERBOSE=1 \
install"
mkdir -p $PKG_BUILD/.$TARGET_NAME
cp -RP $PKG_BUILD/* $PKG_BUILD/.$TARGET_NAME
}
pre_build_host() {
PKG_MAKE_OPTS_HOST="ARCH=$TARGET_ARCH CROSS_COMPILE= KBUILD_VERBOSE=1 install"
mkdir -p $PKG_BUILD/.$HOST_NAME
cp -RP $PKG_BUILD/* $PKG_BUILD/.$HOST_NAME
}
pre_build_init() {
PKG_MAKE_OPTS_INIT="ARCH=$TARGET_ARCH \
HOSTCC=$HOST_CC \
CROSS_COMPILE=$TARGET_PREFIX \
KBUILD_VERBOSE=1 \
install"
mkdir -p $PKG_BUILD/.$TARGET_NAME-init
cp -RP $PKG_BUILD/* $PKG_BUILD/.$TARGET_NAME-init
}

View File

@ -1,5 +1,6 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="diskdev_cmds"
PKG_VERSION="332.14"
@ -10,9 +11,9 @@ PKG_URL="http://www.opensource.apple.com/tarballs/diskdev_cmds/$PKG_NAME-$PKG_VE
PKG_DEPENDS_TARGET="toolchain openssl"
PKG_LONGDESC="The fsck and mkfs utliities for hfs and hfsplus filesystems."
PKG_MAKE_OPTS_TARGET="-f Makefile.lnx CC=$CC"
pre_make_target() {
PKG_MAKE_OPTS_TARGET="-f Makefile.lnx CC=$CC"
export CFLAGS="$TARGET_CFLAGS -g3 -Wall -I$PKG_BUILD/include -DDEBUG_BUILD=0 -D_FILE_OFFSET_BITS=64 -D LINUX=1 -D BSD=1"
}

View File

@ -1,5 +1,6 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="tz"
PKG_VERSION="2018c"
@ -10,7 +11,9 @@ PKG_URL="https://github.com/eggert/tz/archive/$PKG_VERSION.tar.gz"
PKG_DEPENDS_TARGET="toolchain"
PKG_LONGDESC="Time zone and daylight-saving time data."
PKG_MAKE_OPTS_TARGET="CC=$HOST_CC LDFLAGS="
pre_configure_target() {
PKG_MAKE_OPTS_TARGET="CC=$HOST_CC LDFLAGS="
}
makeinstall_target() {
make TZDIR="$INSTALL/usr/share/zoneinfo" REDO=posix_only TOPDIR="$INSTALL" install

View File

@ -12,7 +12,8 @@ PKG_DEPENDS_TARGET="toolchain flex freetype:host"
PKG_LONGDESC="GRUB is a Multiboot boot loader."
PKG_TOOLCHAIN="configure"
PKG_CONFIGURE_OPTS_TARGET="--target=i386-pc-linux \
pre_configure_target() {
PKG_CONFIGURE_OPTS_TARGET="--target=i386-pc-linux \
--disable-nls \
--with-platform=efi"
@ -20,9 +21,8 @@ PKG_CONFIGURE_OPTS_TARGET="--target=i386-pc-linux \
unset CPPFLAGS
unset CXXFLAGS
unset LDFLAGS
pre_configure_target() {
unset CPP
cd $PKG_BUILD
./autogen.sh
}

View File

@ -1,5 +1,6 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="syslinux"
PKG_VERSION="6.03"
@ -12,13 +13,15 @@ PKG_DEPENDS_HOST="util-linux:host"
PKG_DEPENDS_TARGET="toolchain util-linux e2fsprogs syslinux:host"
PKG_LONGDESC="The SYSLINUX project covers lightweight linux bootloaders."
PKG_MAKE_OPTS_TARGET="CC=$CC AR=$AR RANLIB=$RANLIB installer"
pre_configure_target() {
PKG_MAKE_OPTS_TARGET="CC=$CC AR=$AR RANLIB=$RANLIB installer"
# Unset all compiler FLAGS
unset CFLAGS
unset CPPFLAGS
unset CXXFLAGS
unset LDFLAGS
}
pre_build_target() {
mkdir -p $PKG_BUILD/.$TARGET_NAME

View File

@ -1,5 +1,6 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="libpciaccess"
PKG_VERSION="0.14"
@ -10,8 +11,10 @@ PKG_URL="http://xorg.freedesktop.org/archive/individual/lib/$PKG_NAME-$PKG_VERSI
PKG_DEPENDS_TARGET="toolchain util-macros zlib"
PKG_LONGDESC="X.org libpciaccess library."
CFLAGS="$CFLAGS -D_LARGEFILE64_SOURCE"
PKG_CONFIGURE_OPTS_TARGET="ac_cv_header_asm_mtrr_h=set \
--with-pciids-path=/usr/share \
--with-zlib "
pre_configure_target() {
CFLAGS="$CFLAGS -D_LARGEFILE64_SOURCE"
}