Commit graph

368 commits

Author SHA1 Message Date
Ian Leonard
bb8b8322c3 config/functions: add copyright statement
Signed-off-by: Ian Leonard <antonlacon@gmail.com>
2018-10-19 17:27:49 +00:00
Ian Leonard
aa00529d3a config/functions: add die() function
die is meant to be a more flexible exit, printing a message to go with
the exit call. It works like:

die -- same as "exit 1"
die "It just broke." -- echo statement, exit value 1
die "Tried to do the thing." "2" -- echo statement, exit value 2

Exit codes other than 1 require a message to go with it.

it would replace existing code that looks like:

echo "ERROR: Everything went wrong. Sorry!"
exit 1

or be more helpful in picking up the pieces when something unexpected
happens then:

do_something || exit 1

Signed-off-by: Ian Leonard <antonlacon@gmail.com>
2018-10-19 17:25:18 +00:00
Ian Leonard
f0c1537041 config/functions: reorganize
This reorganizes functions based on their purpose as well as strives to declare
a function prior to another function calling it. No changes in how any function
is implemented.

Purpose groupings:

Function - functions that make it easier to implement other functions
Buildsystem - functions around the build environment
Package - functions that work with packages or configure them
Kernel - functions for getting information on the kernel/firmware
Addon - functions around building kodi addons
Target Configuration - Functions that set something up on the target

Signed-off-by: Ian Leonard <antonlacon@gmail.com>
2018-10-19 17:22:15 +00:00
Ian Leonard
520391bb46 config/functions: retire unused functions
eglibc ceased active development years ago and is no longer in tree, so no need
to check for it.

tolower() has been around since 2010 and is unused anywhere. Wish it well!

Should it return, tr '[:upper:]' '[:lower:]' is likely better.

Signed-off-by: Ian Leonard <antonlacon@gmail.com>
2018-10-05 15:04:07 +00:00
MilhouseVH
7d8cd7dbf9
Merge pull request #2921 from mglae/le9_toolchain_nm
Kodi: use toolchain nm for generating wrapper.def
2018-08-29 18:15:43 +01:00
mglae
e8cb05bf23 gcc: install lto plugin for binutils ar/nm/ranlib
config/functions: setup_toolchain(): remove $TARGET_AR_NM_RANLIB_PREFIX handling
2018-08-28 22:30:35 +02:00
MilhouseVH
d949dcb7d0 config/functions: clean up recursion test 2018-08-22 04:45:36 +01:00
Sascha Kuehndel (InuSasha)
a5fd4a44aa
create_addon: do not include addons, embedded in image 2018-07-28 10:50:52 +02:00
Christian Hewitt
a3df92074b
Merge pull request #2803 from MilhouseVH/le90_debug_with_depends
debug: dependencies don't build with debug by default. use + suffix t…
2018-07-15 07:32:52 +04:00
Matthias Reichl
670a95c1ae config/functions: store package caches in build dir
Storing the cache in an exported environment variable can
result in build failures if the cache exceeds the MAX_ARG_STRLEN
limit (128k on linux) which can be triggered by building in a
rather deeply nested directory.

Signed-off-by: Matthias Reichl <hias@horus.com>
2018-07-01 10:44:17 +02:00
MilhouseVH
5f91f0cf49 debug: dependencies don't build with debug by default. use + suffix to enable 2018-06-26 22:30:49 +01:00
CvH
dd4eaa1487
Merge pull request #2776 from MilhouseVH/linux4170
linux (Generic): update to linux-4.17.2
2018-06-17 21:53:12 +02:00
Matthias Reichl
423242fda6 config_functions: add kernel_make
Signed-off-by: Matthias Reichl <hias@horus.com>
2018-06-16 18:28:21 +01:00
awiouy
bd7ab2657f debug_strip: use PKG_BUILD_FLAGS 2018-06-12 19:48:41 +02:00
Lukas Rusak
926ad175ca
config/functions: add llvm-config to meson cross file 2018-06-05 10:26:25 -07:00
Matthias Reichl
fc6144ba37 config/functions: support lto-parallel, lto-fat and lto-off build flags
Signed-off-by: Matthias Reichl <hias@horus.com>
2018-06-04 19:54:29 +02:00
Matthias Reichl
b03cb4cc2f config/optimize, config/functions: refactor lto flags
Split up the LTO flags in config/optimize and assemble
full C/CXX/LDFLAGS in config/functions.

Add flags for parallel/single-threaded lto and fat/non-fat
lto object creation.

Change the default lto build flag to use non-fat lto objects.

Signed-off-by: Matthias Reichl <hias@horus.com>
2018-06-04 19:54:29 +02:00
Matthias Reichl
57832185cc config/functions: use gcc-ar/gcc-nm/gcc-ranlib when LTO is enabled
This is needed to properly create static libs with LTO objects.

Signed-off-by: Matthias Reichl <hias@horus.com>
2018-06-04 19:54:29 +02:00
Matthias Reichl
7608095b4e config/functions: don't enable LTO by default
Packages are only built with LTO if it's explicitly enabled via
the lto build flag or if a package enables LTO via configure / cmake
options.

Enabling LTO via configure / cmake is the preferred way as this
gives packages more fine grained control, eg enable parallel LTO
linking etc. When doing this packages should respect the
LTO_SUPPORT setting so LTO can be disabled globally.

To avoid conflicting C/CXX/LDFLAGS no FLAGS are added when the
lto build flag is not set.

Signed-off-by: Matthias Reichl <hias@horus.com>
2018-06-04 19:54:28 +02:00
Sascha Kuehndel (InuSasha)
b7b1a67723
place options at a more consistent place 2018-05-07 21:55:07 +02:00
Sascha Kuehndel (InuSasha)
9c03f42b43
buildsystem: use no-lto, when lto is disabled
else gcc/binultis can enable automaticly
2018-05-07 19:34:37 +02:00
CvH
20f9867e03
Merge pull request #2630 from MilhouseVH/le90_buildsystem_cleanups
buildsystem: cleanups, use sha256sum for stamp function
2018-04-02 12:03:24 +02:00
MilhouseVH
eefa6ebee4 buildsystem: use single = for consistency 2018-04-02 10:09:11 +01:00
MilhouseVH
7628290170 buildsystem: add a function to calculate stamps, switch from md5 to sha256 2018-04-02 10:09:11 +01:00
MilhouseVH
994d120bab config/functions: use Here doc for create_meson_conf 2018-03-27 22:51:39 +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)
8aef8f3371
build: remove unnessary exports 2018-03-08 10:16:13 +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
Radostan Riedel
c555d2facb Fix wrong Strip with 64/32 in linux driver addons 2018-03-05 13:28:41 +01:00
MilhouseVH
76e402cfed config/functions: fix save_build_config when build directory doesn't exist 2018-02-25 11:34:42 +00:00
MilhouseVH
1a6d8a8f06 buildsystem: save/load build config 2018-02-23 10:19:52 +00:00
MilhouseVH
68450cd45f config/function & config/path: Don't source entire package just to determine PKG_DIR 2018-02-19 07:08:48 +00:00
MilhouseVH
c2259b779d config/functions: use BUILD_WITH_DEBUG variable, add sanity check 2018-02-19 07:08:48 +00:00
MilhouseVH
54dd0475de config/functions: add build_with_debug() helper function (and support functions) 2018-02-19 07:08:48 +00:00
MilhouseVH
5eea6a0cc4 functions: add helper to locate linux config 2018-02-08 04:02:29 +00:00
MilhouseVH
ed0b6da9b1 config/functions: add helper func to locate file/dir in standard hierarchy 2018-02-01 05:21:36 +00:00
Adam Green
22498e05ec
config/functions: cache device folder packages first
this is needed for devices that require specific packages for
example u-boot, we can keep changes within the device folder
rather than adding multiple definitions to the project package
2018-01-05 03:39:25 +00:00
MilhouseVH
347374d70f config/functions: get_kernel_overlay_dir() returns a relative path, not absolute 2017-12-28 06:23:12 +00:00
MilhouseVH
64156ea8c8 package cache: initialise with a function 2017-12-21 18:20:02 +00:00
MilhouseVH
4e77097d23 buildsystem: set PKG_NAME and default PKG_*DESC only when sourcing a package 2017-12-20 06:24:59 +00:00
MilhouseVH
85a97582de buildsystem: get_module_dir() is expensive, optimize 2017-12-17 19:12:59 +00:00
MilhouseVH
8af15ed22a config/show_config: move to separate file 2017-12-17 19:12:59 +00:00
MilhouseVH
52f179d7da config/functions: cosmetic typos 2017-12-17 19:12:59 +00:00
cvh
d9ae7fa438 buildsystem: add DRIVER_ADDONS_SUPPORT 2017-12-14 11:21:58 +01:00
cvh
5df12e5de5 config/functions: add function install_driver_addon_files 2017-12-14 11:21:58 +01:00
MilhouseVH
dc30a81d1c shadow: move from .config to .cache 2017-12-08 03:31:30 +00:00
MilhouseVH
dcd653b5a4 config/functions: match user only at beginning of line 2017-12-07 21:05:51 +00:00
Lukas Rusak
712ce0b82e busybox: allow changing root password 2017-12-01 20:06:40 +00:00
Sascha Kuehndel (InuSasha)
3cd7be6023
buildsystem: rework build script 2017-11-22 00:45:41 +01:00
Lukas Rusak
c35d631f23
add _python_* variables for host 2017-11-11 10:32:53 -08:00