Commit Graph

220 Commits

Author SHA1 Message Date
Ian Leonard 2a12f77b6e functions: break check_config into its constituent parts; add check_distro
Take the opportunity to cleanup the check_foobar() too.

Signed-off-by: Ian Leonard <antonlacon@gmail.com>
2018-10-19 17:44:27 +00:00
Ian Leonard 0727f4c685 config/functions: eliminate use of which; convert to using die
Signed-off-by: Ian Leonard <antonlacon@gmail.com>
2018-10-19 17:40:04 +00:00
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