Commit Graph

143 Commits

Author SHA1 Message Date
MilhouseVH
a1e700fd87 buildsystem: log pkg_call that failed 2020-02-19 07:49:35 +00:00
MilhouseVH
70b69ebffa
Merge pull request #4191 from HiassofT/le10-fix-obj-remove
allow packages to install *.o files into the image
2020-02-13 17:26:09 +00:00
Andre Heider
64c73805fe build: add PKG_DEPENDS_CONFIG to set PKG_CONFIG_PATH for packages
To be used for "-sysroot" packages.
2020-02-10 08:53:39 +01:00
Matthias Reichl
24c4c14ab2 scripts/build: allow installation of *.o files
commit c468820ba9 "scripts/build: cleanup"
started to silently remove *.o files from the installation without
giving an explanation why this should be needed.

Drop that as it prevents packages from including *.o files in the
image, which eg is needed to include IR BPF decoders in LibreELEC.

Packages which install *.o files that should not end up in the image
should manually remove these in post_makeinstall_target.

Signed-off-by: Matthias Reichl <hias@horus.com>
2020-02-09 11:27:26 +01:00
Matthias Reichl
80f1b14da0
Merge pull request #4092 from MilhouseVH/le10_generator
buildsystem: switch to dynamic scheduler
2020-01-21 00:13:51 +01:00
MilhouseVH
fe1dd1e8ac buildsystem: use an update lock when updating image and sysroot
cp (and potentially mkdir -p) are not atomic, and we have seen situations where two packages
concurrently copying the same file (eg. the udev rule for xf86-video-nvidia and
xf86-video-nvidia-legacy) will succeed for one package but the other package fails with
a "file exists" error (as the file didn't exist when it checked, but does exist when it
actually copies the file). Not even cp -f will avoid this issue.

There are several workarounds, but the most practical (and general) solution is to ensure
sequential updates of the image and shared sysroot directories.
2020-01-15 18:49:15 +00:00
MilhouseVH
99ed1d6e31 buildsystem: recursive unpack & build is only needed by sequential builds 2020-01-15 18:49:15 +00:00
MilhouseVH
06e0928840
Merge pull request #3140 from InuSasha/features/build-root
buildsystem: add possibility to move the build paths outside the git …
2020-01-08 15:21:22 +00:00
Andre Heider
8e4663912a build: move install dirs out of the build dir
Instead of cluttering $BUILD we now have
- $BUILD/build         sources and builds of packages
- $BUILD/install_pkg   installed packages
- $BUILD/install_init  installed packages for initramfs
2019-12-31 11:26:49 +01:00
Andre Heider
1dffafae2a build: add a "sysroot" build flag
Some addon dependencies do this locally on their own. With this, these
packages can now use the standard makeinstall() functions and access build
artifacts using get_install_dir() without polluting the sysroot folder.
2019-12-31 11:26:49 +01:00
Andre Heider
d31c44664c build: clean usr/local/ on packages too
Some packages use configure_target() but don't set the /usr prefix.
2019-12-31 11:26:49 +01:00
Andre Heider
912a91619b build: don't wipe devel files from packages, just don't install them
With the upcoming usage of the standard install_pkg folder for addon
dependencies, the devel files need to be accessible, e.g. ffmpegx for
tvheadend.

So don't wipe them from the package install folder, just skip copying
them to the image.
2019-12-31 11:26:49 +01:00
Andre Heider
267d57d7f3 build: add and use PKG_INSTALL
Set it depending on the target, so there's no need to hardcode
$PKG_BUILD/.install_[pkg|init] in multiple places.
2019-12-31 11:26:49 +01:00
MilhouseVH
a41d4f1e6b buildsystem: fix Python native modules that are using build host ABI (PEP3149) 2019-10-29 12:19:07 +00:00
Sascha Kuehndel (InuSasha)
2d78194f84
fix strip with new meson 2019-09-19 11:18:33 +02:00
Sascha Kuehndel (InuSasha)
266f0932c8
buildsystem: swap setup_toolchain parameter 2019-09-19 11:14:43 +02:00
Sascha Kuehndel (InuSasha)
73eef7432f
buildsystem: convert to support mesonbuild >= 0.51.0
- meson needs a host environment for cross-compile
- allow setup_toolchain to setup toolchain based on used build-system
- adjust creation of meson.conf
2019-09-19 11:14:43 +02:00
MilhouseVH
622c11872d buildsystem: fix /usr targets 2019-07-04 20:18:03 +01:00
MilhouseVH
7ccb58b507 buildsystem: don't dereference LINK_NAME when fixing up sym links 2019-07-03 23:18:28 +01:00
MilhouseVH
3facec5d91 buildsystem: unpack should recursively unpack, not build 2019-06-29 11:06:42 +01:00
Sascha Kuehndel (InuSasha)
4bd4f58dbe
buildsystem: allow to set BUILD_ROOT via BUILD_DIR 2019-06-26 19:54:28 +02:00
MilhouseVH
f9a2623d06 buildsystem: build/unpack - simplify some logic 2019-06-17 01:48:38 +01:00
MilhouseVH
90be11322a buildsystem: consistently use braces 2019-06-16 03:35:56 +01:00
MilhouseVH
2e3a2dab67 buildsystem: cleanup - PACKAGE_NAME is redundant 2019-06-16 02:59:20 +01:00
MilhouseVH
1d81d22225 buildsystem: add pre_configure() function that is not target specific 2019-05-26 19:17:08 +01:00
kszaq
834e11c9d0 scripts/build: strip all executables in /usr
Some packages install outside /usr/*bin, e.g. /usr/lib/bluetooth
and executables remain unstripped. Try to strip everything
executable except .ko and .so which are handled in separate cases.
2019-05-13 23:20:09 +02:00
Jonas Karlman
60fc0b29ed u-boot: use PKG_STAMP to trigger rebuild 2019-04-01 20:58:13 +00:00
MilhouseVH
eff50203e1 scripts/build: clobber existing files 2019-03-09 22:02:33 +00:00
MilhouseVH
7c327b2d56 scripts/build: fix broken sym links due to isolated sysroot 2019-02-28 06:19:13 +00:00
MilhouseVH
83922eef4f scripts/build: add TODO 2019-02-22 20:12:20 +00:00
MilhouseVH
527ea323b8 scripts/build: a shared sysroot is not thread-safe 2019-02-22 20:11:23 +00:00
MilhouseVH
d71fbfaec7 scripts/build: cosmetic 2019-02-13 15:10:54 +00:00
MilhouseVH
9f1ea7d175 PKG_DEPENDS_UNPACK: solution for packages using source code of another 2019-02-08 17:17:43 +00:00
MilhouseVH
d0034ab95e scripts/build: use global lock as sed -i $SYSROOT_PREFIX/usr/lib/*.la is racy 2019-02-08 17:17:43 +00:00
MilhouseVH
0ebc6fef63 build system: add parallel build support; use new "image" package 2019-02-08 17:17:43 +00:00
MilhouseVH
fb7bfa02f9 config/path: get rid of MAKEINSTALL 2019-02-08 17:17:43 +00:00
MilhouseVH
0661263dd8 buildsystem: restore set -e fail-on-error behaviour 2019-01-24 19:17:39 +00:00
MilhouseVH
a71c01f53a scripts/build: stop sourcing package, reorg code 2018-12-18 03:43:28 +00:00
MilhouseVH
9959b29df9 scripts/build: use pkg_call 2018-11-29 01:09:20 +00:00
MilhouseVH
4b0a3215db scripts/build: fix invalid color 2018-11-21 18:58:29 +00:00
Ian Leonard
5963b74670 scripts/build: convert to build_msg
Signed-off-by: Ian Leonard <antonlacon@gmail.com>
2018-11-21 18:58:29 +00:00
Ian Leonard
acca8326ce scripts/build: general cleanup
Add copyright
Convert to config/functions/die()
Make use of bash default value mechanic
Combine some if tests
Get PKG_BUILD quoted
Replace `` with $()

Signed-off-by: Ian Leonard <antonlacon@gmail.com>
2018-11-04 05:40:46 +00:00
CvH
843051d0f7 spdx: scripts/ 2018-07-17 23:58:49 +02:00
MilhouseVH
7628290170 buildsystem: add a function to calculate stamps, switch from md5 to sha256 2018-04-02 10:09:11 +01:00
Sascha Kuehndel (InuSasha)
d38cadaf8c
meson: update to 0.45
- generate cross-file per package, needed since https://github.com/mesonbuild/meson/pull/1807 to use changed build-flags
2018-03-21 17:10:10 +01:00
Sascha Kuehndel (InuSasha)
8827a540aa
buildsystem: add BUILD_FLAG support
- 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
2018-03-07 18:35:01 +01:00
Christian Hewitt
15c3e9e90c
Merge pull request #2518 from MilhouseVH/le90_save_build_config
buildsystem: save/load build config, simplify clean and build --all
2018-02-25 14:13:37 +04:00
Radostan Riedel
d450819323
Merge pull request #2506 from HiassofT/le9-kernel-toolchain
Compile kernel on 64/32 split archs without redefining TARGET_PREFIX
2018-02-23 20:12:59 +01:00
MilhouseVH
ccd4458425 scripts/build: add --all support using build config 2018-02-23 10:19:59 +00:00
MilhouseVH
1b76e2deff scripts/build: use BUILD_WITH_DEBUG variable, add logging, stamp support 2018-02-19 07:08:48 +00:00