Commit Graph

163 Commits

Author SHA1 Message Date
ROCKNIX Team
f6010e7b77 scripts: add modifications for ROCKNIX 2025-07-13 19:02:39 +01:00
Rudi Heitbaum
8ceacbac6b build: define CMAKE_EXPORT_COMPILE_COMMANDS as an environment variable not a define.
When building utfcpp (and other packages) a CMake warning is issued.

    CMake Warning:
      Manually-specified variables were not used by the project:

        CMAKE_EXPORT_COMPILE_COMMANDS

Before this change the following files are present:

    $ cd build.LibreELEC-Generic.x86_64-13.0-devel/build

    $ find utfcpp-4.0.6 -name build.ninja
    utfcpp-4.0.6/.x86_64-libreelec-linux-gnu/build.ninja
    $ find utfcpp-4.0.6 -name compile_commands.json

    $ find soxr-0.1.3 -name build.ninja
    soxr-0.1.3/.x86_64-libreelec-linux-gnu/build.ninja
    $ find soxr-0.1.3 -name compile_commands.json
    soxr-0.1.3/.x86_64-libreelec-linux-gnu/compile_commands.json

When removing the define CMAKE_EXPORT_COMPILE_COMMANDS:

--- a/scripts/build
+++ b/scripts/build
@@ -147,8 +147,7 @@
   MESON_BUILD_TYPE="plain"
 fi

-CMAKE_GENERATOR_NINJA="-GNinja \
-                       -DCMAKE_EXPORT_COMPILE_COMMANDS=ON"
+CMAKE_GENERATOR_NINJA="-GNinja"

 # configure TARGET build defaults
 TARGET_CONFIGURE_OPTS="--host=${TARGET_NAME} \

The resulting build do not have the warning with utfcpp but the files
compile_commands.json are not created (as expected.)

    $ find utfcpp-4.0.6 -name build.ninja
    utfcpp-4.0.6/.x86_64-libreelec-linux-gnu/build.ninja
    $ find utfcpp-4.0.6 -name compile_commands.json

    $ find soxr-0.1.3 -name build.ninja
    soxr-0.1.3/.x86_64-libreelec-linux-gnu/build.ninja
    $ find soxr-0.1.3 -name compile_commands.json

With the change to declare CMAKE_EXPORT_COMPILE_COMMANDS as an environment
variable the warning is not preset with utfcpp and the compile_commands.json
are created, matching the current functionaility but without the warning.

Ref:
- https://cmake.org/cmake/help/latest/variable/CMAKE_EXPORT_COMPILE_COMMANDS.html
  - This is initialized by the CMAKE_EXPORT_COMPILE_COMMANDS environment variable.
- https://cmake.org/cmake/help/latest/envvar/CMAKE_EXPORT_COMPILE_COMMANDS.html#envvar:CMAKE_EXPORT_COMPILE_COMMANDS
- https://stackoverflow.com/questions/20059670/how-to-use-cmake-export-compile-commands
2025-04-25 11:07:51 +00:00
Rudi Heitbaum
46fec4402f scripts/build: add cfg-libs option to PKG_BUILD_FLAGS to fix configure unrecognized options
Allows packages to be updated to remove the configure warning:
  configure: WARNING: unrecognized options: --disable-static, --enable-shared

add the following line to the affected package.mk files
  PKG_BUILD_FLAGS="-cfg-libs"

-cfg-libs, -cfg-libs:host and -cfg-libs:init are used
2024-09-15 11:46:08 +00:00
Jernej Skrabec
e9f9e78201 scripts: add python toolchain 2024-08-24 08:12:11 +02:00
Jernej Skrabec
68313a722e scripts: add python-flit toolchain 2024-08-24 08:12:11 +02:00
CvH
58ebc091cf cleanup scripts: scripts/ 2024-07-06 13:09:20 +02:00
Rudi Heitbaum
3b0e6d5c8a scripts/build: handle GNUmakefile in addition to Makefile for PKG_TOOLCHAIN=make 2024-01-14 04:39:45 +00:00
Matthias Reichl
4c7b120ddf scripts/build: properly honor strip build flag
Package building honor's the strip flag so we can prevent executables
from being stripped.

But copying files to INSTALL ignored that flag which meant the flag
had practically no effect.

Fix this by using the same logic as we do in the meson strip handling in
line 170 and in config/functions.

Also add the missing quotes in scripts/build to align it with config/functions

Signed-off-by: Matthias Reichl <hias@horus.com>
2023-03-30 17:13:58 +02:00
SupervisedThinking
b76b39d823 scripts/build: update TRACE_BUILD_TIMING 2022-12-06 16:31:24 +01:00
Matthias Reichl
8022ec23bf scripts/build: use wrapper scripts when building with local-cc flag
Several packages and buildsystems (most notably cmake) badly trip
over CC="ccache gcc" so create local wrapper scripts in the build
dir and set CC/CXX to them to work around that - like we do for
host-gcc and gcc in toolchain.

Signed-off-by: Matthias Reichl <hias@horus.com>

fixup scripts/build local-cc wrapper
2022-12-02 01:11:39 +01:00
SupervisedThinking
0ffe017fa9 scripts/build: fix meson 0.64.0 deprecation warning 2022-11-16 09:32:46 +01:00
Matthias Reichl
546e7c653f buildsystem: add support for reporting build timing details
Timing detail reporting can be enabled by setting
TRACE_BUILD_TIMING=1

This enables timestamping collecting at various build stages so we
can easily analyze how long eg configure, make/build, install etc
steps take.

Signed-off-by: Matthias Reichl <hias@horus.com>
2022-09-22 19:33:30 +02:00
CvH
5125de9624 Merge pull request #5144 from mglae/le10_autoreconf
autoreconf: support custom PKG_CONFIGURE_SCRIPT
2021-12-27 08:06:54 +01:00
SupervisedThinking
8d70c35a3d scripts/build: load meson host conf as native file 2021-11-29 17:31:58 +01:00
CvH
7812192049 Merge pull request #5436 from antonlacon/functions-cleanup
Reduce subprocesses in buildsystem
2021-10-03 08:00:07 +02:00
Ian Leonard
5db456bcba scripts/build: eliminate use of dirname
Signed-off-by: Ian Leonard <antonlacon@gmail.com>
2021-10-01 19:41:50 +00:00
mglae
5789d3dff9 buildsystem: allow specifying our optimizing level for packages build with cmake
Using -DCMAKE_BUILD_TYPE=MinSizeRel result in finally building with -Os. Our default
optimization or '+speed' are ignored, behavior is like always using '+size'.

Changing to default -DCMAKE_BUILD_TYPE="" is not allowed by to many packages including
Kodi, they are forcing a default option (in worst case "Debug", e.g. llvm)

Redefine the cmake parameters to not include any options and do the same for host choosing
"Release" as build type.
2021-09-17 18:20:08 +02:00
mglae
c328de8278 build: export PKG_ORIG_SYSROOT_PREFIX
Required to create $PKG_NAME-config scripts in $TOOLCHAIN/bin
2021-07-01 23:42:56 +02:00
mglae
730db0768a autoreconf: support custom PKG_CONFIGURE_SCRIPT 2021-02-16 19:25:05 +01:00
mglae
c03f7a75a2 build: check package for wrong toolchain configured 2021-01-08 20:13:02 +01:00
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