Commit Graph

372 Commits

Author SHA1 Message Date
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
CvH
4e16eba336 Merge pull request #5916 from SupervisedThinking/meson_native_build
[le11] use Meson native build for package:host
2021-12-08 12:04:13 +01:00
Peter
3c5b47bb32 config/functions: fix file get_handler_support with manual toolchain
Currently building a package with

GET_HANDLER_SUPPORT="file"
PKG_URL="file:///some_path_to_file_with_sources"

throws an error

ERROR: using manual toolchain but PKG_TAR_COPY_OPTS is configured.
2021-12-01 07:21:18 +01:00
SupervisedThinking
6f2ccfae7e config/functions: add build_machine to meson conf 2021-11-29 17:31:58 +01:00