With these changes configure_target no longer complains about no-prefix
on cross compiling. On an aarch64 build host the target_ compile fails
when the build host gcc is used with the -m32 option. On an x86_64 build
host, the host gcc compiles grub (-m32 and assembly) successfully.
before:
checking for i386-pc-linux-gcc... no
checking for i386-pc-linux-egcs... no
checking for i386-pc-linux-cc... no
checking for gcc... gcc
configure: WARNING: using cross tools not prefixed with host triplet
checking for i386-pc-linux-objcopy... no
checking for objcopy... objcopy
checking for i386-pc-linux-strip... no
checking for strip... strip
checking for i386-pc-linux-nm... no
checking for nm... nm
checking for i386-pc-linux-ranlib... no
checking for ranlib... ranlib
checking which extra warnings work...
checking if compiling with clang... yes
checking for options to compile assembly... configure: error: could not compile assembly
after:
checking for i386-pc-linux-gcc... /build/build.LibreELEC-Generic.x86_64-11.0-devel/toolchain/bin/x86_64-libreelec-linux-gnu-gcc
checking for i386-pc-linux-objcopy... /build/build.LibreELEC-Generic.x86_64-11.0-devel/toolchain/bin/x86_64-libreelec-linux-gnu-objcopy
checking for i386-pc-linux-strip... /build/build.LibreELEC-Generic.x86_64-11.0-devel/toolchain/bin/x86_64-libreelec-linux-gnu-strip
checking for i386-pc-linux-nm... /build/build.LibreELEC-Generic.x86_64-11.0-devel/toolchain/bin/x86_64-libreelec-linux-gnu-nm
checking for i386-pc-linux-ranlib... /build/build.LibreELEC-Generic.x86_64-11.0-devel/toolchain/bin/x86_64-libreelec-linux-gnu-ranlib
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.
- replace strip_lto/strip_gold (only allowed to disable)
- add flag for PIC feature
- add flag to stop build parallel
- add support for hardening option (initial copy from debian 9)
All build parameters, are added in setup_toolchain.
`PKG_[FLAG]_[HOST/TARGET]_ENABLED` variable is introduced for checking the flag (yes/no) in the package.mk
Thanks to @MilhouseVH, for support and fixing