Commit graph

368 commits

Author SHA1 Message Date
MilhouseVH
786c08fa91 Merge pull request #2084 from lrusak/meson
add meson to buildsystem (use for systemd and glib)
2017-10-24 07:06:14 +01:00
Lukas Rusak
ce744dbda5
scripts/build: add meson to buildsystem 2017-10-20 14:18:59 -07:00
MilhouseVH
bae5a9d317 buildsystem: add TARGET_FEATURES 2017-10-17 23:21:11 +01:00
MilhouseVH
cfcb300e28 buildsystem: allow autoreconf on libtool
Running autoreconf on libtool is necessary after bumping to automake 1.15.1.

Build intltool before libtool.

Since libtool installs libtoolize, don't run --install whenever libtoolize isn't yet installed.
2017-10-16 19:07:14 +02:00
Lukas Rusak
1d7f6e733e Merge pull request #2080 from MilhouseVH/le90_more_bs_optimisations
buildsystem: more optimisations
2017-10-14 14:34:56 -07:00
Lukas Rusak
fa813ba288 Merge pull request #2078 from Kwiboo/show-distro-config
config/functions: call show_distro_config
2017-10-14 10:12:21 -07:00
Jonas Karlman
71de334efa v4l-utils: add option to build cec-ctl 2017-10-14 11:55:27 +02:00
Lukas Rusak
9f238abd91 Merge pull request #2083 from MilhouseVH/le90_add_python3
Python: support simultaneous Python2 and Python3
2017-10-13 14:33:54 -07:00
Matthias Reichl
ad9e8dc372 Add support for kernel overlays
Core Kernel modules are now installed to
/usr/lib/kernel-overlays/base/lib/modules instead of /usr/lib/modules

Firmware files are installed to
/usr/lib/kernel-overlays/base/lib/firmware instead of /usr/lib/firmware

Packages can choose to install their modules and/or firmwareinto a
different overlay directory than base so they are not automatically enabled.

A new systemd service kernel-overlays, which is run before any modules
are loaded, adds overlays enabled via /storage/.cache/kernel-overlays/*.conf

These conf files must either contain the name of a system overlay,
which will then be searched for in /usr/lib/kernel-overlays/, or an
absolute path starting with '/'.

Overlaying is implemented by symlinking files from the overlays
to /usr/lib/modules and /usr/lib/firmware as not all platforms
support overlayfs.

This overlaying system can also be used by addons to provide optional
kernel modules and/or firmware by storing the absolute path to the addon
directory in the conf file and shipping kernel modules in
<addondir>/lib/modules/<KERNELVER>.

To save space only symlinks for modules matching the currently
running kernel version are created as addons may want to ship
modules for older kernel versions as well to be backward-compatible
to older LibreELEC versions.

Changes since v1:
- fixup kernel-overlays-service: add before kmod-static-nodes.service
  Fix static device nodes for module autoloading not being created.
- fixup kernel-overlays-service: fail if /usr/lib/modules exists
- squash kernel overlays: use get_kernel_overlay_dir in linux/package.mk
- Add support for firmware files via kernel overlays
- config/functions: include kernel overlays in addon installation

Signed-off-by: Matthias Reichl <hias@horus.com>
2017-10-12 20:04:02 +02:00
Matthias Reichl
eee1d7ac63 addons: move addon installation functions to config/functions
Signed-off-by: Matthias Reichl <hias@horus.com>
2017-10-12 19:59:11 +02:00
Matthias Reichl
231d62653c config/functions: fix install_binary_addon library handling
xmlstarlet uses an exit code of 1 if the value wasn't found.
This causes the build to abort as the scripts are running with
"set -e".

Fix this so the code checking for empty responses can work
as intended.

Signed-off-by: Matthias Reichl <hias@horus.com>
2017-10-12 19:59:11 +02:00
Matthias Reichl
4b14c6c946 config/functions: only use PKG_ADDON_ID for install_binary_addon
Usage of PKG_NAME was a bug carried over from the original code
during refactoring. Since none of the addons set PKG_SECTION, and
therefore PKG_NAME and PKG_ADDON_ID were identical, this wasn't
noticed before.

Drop using PKG_NAME and only use PKG_ADDON_ID to fix this,
install_binary_addon can then also be used for addons which set
PKG_SECTION.

Signed-off-by: Matthias Reichl <hias@horus.com>
2017-10-12 19:59:11 +02:00
Matthias Reichl
2fc261ae8e config/functions: add function get_full_firmware_dir
Also update package.mk files to replace the hardcoded
/usr/lib/firmware paths.

Signed-off-by: Matthias Reichl <hias@horus.com>
2017-10-12 19:59:11 +02:00
Matthias Reichl
d101bdfa24 config/functions: add function get_full_module_dir
It returns the full module directory path, including /usr/lib/modules.

Use that in package.mk files to simply them and get rid of the
repeatedly added paths.

Signed-off-by: Matthias Reichl <hias@horus.com>
2017-10-12 19:59:11 +02:00
Christian Hewitt
09d09d240e Merge pull request #2087 from Raybuntu/6432
AArch64 projects: add 32-bit userspace support
2017-10-12 21:08:34 +04:00
Radostan Riedel
de9d1af69f AArch64 projects: add 32-bit userspace support 2017-10-12 10:07:43 +02:00
MilhouseVH
6822da552e config/functions: add listcontains function, and uses it 2017-10-11 09:18:08 +01:00
MilhouseVH
971f56b37c Python2: rename Python to Python2 2017-10-10 20:49:15 +01:00
Jonas Karlman
61e9c900c4 config/functions: call show_distro_config 2017-10-08 20:56:58 +02:00
MilhouseVH
98baf44167 buildsystem: unset all PKG_* variables before sourcing a new package 2017-10-07 22:04:17 +01:00
MilhouseVH
4f1bf02dc6 config/functions: fix bash-4.4 issue, and possible undesirable behaviour with empty 2nd param 2017-08-15 23:09:58 +01:00
MilhouseVH
976e9de27d buildsystem: enable custom colours (or none at all) 2017-08-11 06:42:42 +01:00
MilhouseVH
24d4bd6f32 addons: use default install_binary_addon helper instead of boiler plate 2017-07-19 00:47:49 +01:00
MilhouseVH
fbf285b047 config/functions: ignore unexpanded wildcard 2017-07-14 19:25:23 +01:00
Lukas Rusak
c7b19e897c
config/functions: just check if the linux.*.conf exists 2017-03-14 12:06:20 -07:00
Christian Hewitt
e504d83ad8 Merge pull request #1370 from kszaq/addon_stripping
Addon stripping improvements
2017-02-26 18:35:21 +04:00
kszaq
55bafe4c72 config/functions: do not print strip errors
We cannot strip scipts but we also don't want to see errors regarding this.
2017-02-18 23:28:18 +01:00
MilhouseVH
03366a102c TOOLCHAIN: drop $ROOT, convert to absolute path 2017-02-17 18:17:13 +00:00
MilhouseVH
db963c64ee BUILD: add $ROOT, convert to absolute path 2017-02-17 18:17:13 +00:00
MilhouseVH
a6d7d01697 config/functions: simplify kernel_* functions 2017-01-31 22:09:30 +00:00
MilhouseVH
0f50f6ce8b config/functions: add get_pkg_variable and get_pkg_directory helper functions 2017-01-31 22:09:30 +00:00
Christian Hewitt
fbdb98fecb Merge pull request #1173 from lrusak/kodi-libdvd-url
kodi: build libdvd* in the kodi depends
2017-01-16 15:41:06 +04:00
Jérôme Benoit
9076b4bbce
config/functions: add get_pkg_version helper function
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2017-01-14 00:37:04 -08:00
Jonas Karlman
5c926c42f3 pkg-config: use sysroot path 2017-01-04 22:36:56 +01:00
Jonas Karlman
1048bfd7ac config/functions: restrict cmake find_package search path 2017-01-03 21:20:57 +01:00
Jonas Karlman
319c60ff34 config/functions: link systemd unit aliases 2016-12-27 21:40:37 +01:00
Lukas Rusak
8756cfcc86
config/functions: use unified /usr 2016-12-04 13:23:41 -08:00
Jérôme Benoit
9f298e2892 cleanup: remove for real out of tree projects and options file, features removal leafovers, etc.
I think it's error prone and useless to the development of LE.
I've left the possibilty to have a options file in your home directory
but I do not think it's necessary.

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2016-11-18 22:09:36 +01:00
Lukas Rusak
0c00ae5426 Merge pull request #912 from InuSasha/fixes/host_build
build: fix host build enviroment
2016-11-05 09:57:59 -07:00
Peter Vicman
e4827031e2 buildsys: no more extra optimizations
OPTIMIZATIONS variable removed in 4df4ea789c
2016-11-05 09:06:03 +01:00
Sascha Kuehndel (InuSasha)
086a9ac6d6
build: fix host build enviroment 2016-11-04 21:36:58 +01:00
kszaq
2de641bb52 Add a possibility to create the projects that could have several different devices
Such projects should be compiled differently for each device.
A device for multi-device projects must be specified in the
command line.

Originally created by Codesnake, adapted for LE.
767125372c
2016-10-28 20:08:08 +02:00
Christian Hewitt
9e0afa874a Merge pull request #889 from lrusak/stripping
config/functions: change debug_strip syntax
2016-10-27 11:15:40 +04:00
Lukas Rusak
483abb0108
config/functions: change debug_strip syntax 2016-10-26 23:41:32 -07:00
Lukas Rusak
2974e17bce lcdproc: remove package 2016-10-23 20:18:50 +02:00
Lukas Rusak
4ede5234e1
irserver: remove package 2016-10-06 10:53:44 -07:00
Stephan Raue
322f4339a9
config/path: move some variables to config/functions and cleanup
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2016-09-26 23:20:33 -07:00
Stephan Raue
433ab98027
config/path: remove $TOOLCHAIN_LANGUAGES and $TOOLCHAIN_CXX
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2016-09-26 23:20:33 -07:00
Stephan Raue
734003bbeb
config/functions: add support for 'setup_toolchain() init' and 'setup_toolchain() bootstrap'
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2016-09-26 23:20:32 -07:00
Lukas Rusak
564fb3e4b3
config/functions: cache ar assignment 2016-09-26 23:20:32 -07:00