Commit Graph

375 Commits

Author SHA1 Message Date
Tomáš Kelemen (vudiq) 665dacbb19 create_meson_conf_target: add rust definition 2025-02-21 23:37:24 +01:00
Ian Leonard bd2c679977 build: update LTO related CFLAGS
Signed-off-by: Ian Leonard <antonlacon@gmail.com>
2024-10-05 20:28:48 -04:00
Jernej Skrabec 244c19cf3e buildsystem: Add function for executing python scripts with target environment 2024-08-21 19:34:04 +02:00
Rudi Heitbaum 7d3a3c055b meson: use pkg-config not pkgconfig
reference:
- https://mesonbuild.com/Release-notes-for-1-3-0.html#machine-files-pkgconfig-field-deprecated-and-replaced-by-pkgconfig
2023-11-22 10:06:51 +00:00
Rudi Heitbaum 69d686bbe6 config/functions: in meson cross-file set ipc_rmid_deferred_release = true
meson: allow skipping of run check for IPC_RMID_DEFERRED_RELEASE
- https://gitlab.freedesktop.org/cairo/cairo/-/merge_requests/134
2023-03-18 08:06:26 +00:00
CvH 9148a6729a Merge pull request #7143 from SupervisedThinking/up_get_pkg_sha256
config/functions: add get_pkg_sha256
2023-03-05 21:38:51 +01:00
mglae 9474167897 functions: fix build_with_debug() to include dependency base packages like "kodi+" 2022-12-31 15:29:31 +01:00
Matthias Reichl 627b7c9829 config/functions: support using local ccache for early builds
If LOCAL_CCACHE is set to the full path of ccache on the build host
it will be used for early stage host package builds, eg make and ccache
at the moment.

By default it uses a separate cache dir (.ccache-local) so that it
doesn't interfere with our ccache (which is typically a different
version). The location can be changed by setting LOCAL_CCACHE_DIR

Signed-off-by: Matthias Reichl <hias@horus.com>
2022-12-02 01:11:39 +01:00
Matthias Reichl d022bc8c3a config/functions: add local-cc flag for building with local build-host cc
This is needed for host packages built in very early stages,
before host-cc (which typically uses ccache) is available.

Set CC/CXX to LOCAL_CC/CXX in this case.

Signed-off-by: Matthias Reichl <hias@horus.com>
2022-12-02 01:11:39 +01:00
Ian Leonard 79a4a5dd8c functions: add_user: replace python with openssl
python's crypt module is deprecated in 3.11 and to be removed in 3.13.
Replace its usage with openssl's passwd.

Signed-off-by: Ian Leonard <antonlacon@gmail.com>
2022-11-21 22:21:13 +00:00
SupervisedThinking 8e84db508b config/functions: add get_pkg_sha256
- returns the PKG_SHA256 of a given package file
2022-11-18 18:19:47 +01:00
SupervisedThinking e485a16a8d build system: add support for mold & linker PKG_BUILD_FLAGS 2022-10-06 19:39:45 +02:00
Frank Hartung f15e1de7ee Merge pull request #6928 from HiassofT/le11-default-linker
buildsystem: support choosing default linker
2022-10-05 23:59:20 +02:00
Matthias Reichl 4bcc171bd2 buildsystem: support choosing default linker
Default linker can be set with DEFAULT_LINKER in options.

Packages can influence linker selection both by positive and/or
negative PKG_BUILD_FLAGS, eg +bfd or -gold.

Positive build flags take priority over the default linker so eg
DEFAULT_LINKER="gold" and PKG_BUILD_FLAGS="+bfd" will select bfd.

Negative flags mean a specific linker should not be used, eg -gold
prevents using gold.

If the default linker is disabled via a build flag then any other
available linker will be used.

Optional linkers like gold have to be enabled with eg GOLD_SUPPORT="yes"
in options. If an optional linker is not enabled it won't be a candidate
for linker selection. So eg "+mold" will have no effect if MOLD_SUPPORT
isn't set to "yes".

Signed-off-by: Matthias Reichl <hias@horus.com>
2022-09-27 19:00:27 +02: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 8aaaa82fab Merge pull request #6666 from lrusak/qa-checks
Add support for logging and reporting QA Checks
2022-07-18 12:19:21 +02:00
Matthias Reichl 27c6321afe rust: use MACHINE_HARDWARE_NAME instead of MACHINE_HARDWARE_CPU
Signed-off-by: Matthias Reichl <hias@horus.com>
2022-06-30 16:35:04 +02:00
Matthias Reichl 210049e5cc config/functions: set build cpu in meson.conf to MACHINE_HARDWARE_NAME
This is also what meson does by default on Linux as Linux doesn't
support reporting CPU type.

Signed-off-by: Matthias Reichl <hias@horus.com>
2022-06-30 16:35:04 +02:00
Lukas Rusak 27b48ddff2 config/functions: log safe_remove as a qa check 2022-06-28 15:24:23 -07:00
Lukas Rusak 3fa587eb52 add ability to log qa checks 2022-06-28 15:24:22 -07:00
CvH 825503c729 Merge pull request #6502 from lrusak/rust
Compile rust compiler from scratch
2022-05-21 09:36:08 +02:00
Lukas Rusak a5dedbd369 rust: add package 2022-05-17 14:57:32 -07:00
Lukas Rusak 4ec7fb1638 llvm: cleanup target build 2022-05-16 09:01:30 -07:00
Rudi Heitbaum 5c6663237e config/functions: improve error message when there in not a device directory 2022-05-11 13:15:34 +00:00
heitbaum 4762f8a1d0 config/functions: add libtool_remove_rpath function
This function can be used on "autotools" and "configure" packages.

Use libtool_remove_rpath() to remove hardcode rpath when --disable-rpath
is not supported by "configure".

usage: `libtool_remove_rpath libtool`

If there are multiple libtool scripts or they are in subdirectories,
then you may need to run this function using the path to libtool or run
the function multiple times.

If binaries and shared objects installed by the package to target have
incorrect or system libraries then this function can be used. After
using the function, these example command below should NOT have a
RPATH/RUNPATH.

e.g. (before using the fucntion)
  $ readelf --dynamic ${filename} | grep PATH
    RPATH           Library runpath: [.....]
    RUNPATH         Library runpath: [.....]

Before using this function; check if the package supports
--disable-rpath (and that it works.) Work with upstream and have a
working --disable-rpath added to the package.
2022-01-23 21:39:17 +00:00