1063 Commits

Author SHA1 Message Date
Stan Rudenko
c2fb571aeb
config: add custom cpu features support for arch.x86_64 2024-01-30 21:34:17 -08: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
Matthias Reichl
2be502b327 config/arch.aarch64: add support for cortex-a76
Signed-off-by: Matthias Reichl <hias@horus.com>
2023-09-29 11:00:16 +02:00
Matthias Reichl
63c68f7670 scripts/image: support EXTRA_CMDLINE in noobs image creation
Signed-off-by: Matthias Reichl <hias@horus.com>
2023-08-20 17:02:18 +02:00
CvH
3f49a597e6
Merge pull request #7036 from antonlacon/le11-scripts
buildsystem: additions to show_config, related
2023-04-16 10:34:43 +02:00
Ian Leonard
73c2d5d023 diskdev_cmds: drop package
Signed-off-by: Ian Leonard <antonlacon@gmail.com>
2023-03-19 18:58:39 +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
Rudi Heitbaum
3597832ab1 config/arch.aarch64: drop TARGET_ABI=eabi
Issue discovered as $TARGET expanding to aarch64-libreelec-linux-gnueabi

Should build aarch64 for gnu, not gnueabi
- which doesn't make sense on aarch64 as eabi implies soft float

Reported-by: MrDuck2742
Suggested-by: Matthias Reichl <hias@horus.com>
Signed-off-by: Rudi Heitbaum <rudi@heitbaum.com>
Tested-by: Matthias Reichl <hias@horus.com>
Tested-by: MrDuck2742
2023-03-04 00:29:23 +00:00
Matthias Reichl
4436ef2626 config/optimize: add -gdwarf-4 for split debug info builds
Since gcc 11 -gsplit-dwarf no longer implicitly enables -g and needs
a separate -g option. For some yet unknown reasons the default DWARF 5
format doesn't work, gdb doesn't show debug info, but DWARF 4 works fine
so use that.

Signed-off-by: Matthias Reichl <hias@horus.com>
2023-02-23 21:13:03 +01:00
mglae
9474167897 functions: fix build_with_debug() to include dependency base packages like "kodi+" 2022-12-31 15:29:31 +01:00
SupervisedThinking
2df69c0d23 config/show_config: minor clean up
- get rid of leading whitespace
- according to https://ccache.dev/ it's "Ccache"
2022-12-08 12:13:07 +01:00
CvH
cfd7db5ff0
Merge pull request #7173 from HiassofT/le11-revert-y2038
Revert 32-bit Y2038 changes
2022-12-07 21:00:21 +01:00
CvH
927f7246dc
Merge pull request #7204 from HiassofT/le11-local-cc2
options: automatically use ccache on build host if it's available
2022-12-05 09:34:28 +01:00
Matthias Reichl
7c258fe258 Revert "config/arch.arm: build with -D_TIME_BITS=64 to support 64-bit time on legacy ABIs"
This reverts commit 894a4a66da764b8b6c8c910a09f9d96d2a9dd69b.

Signed-off-by: Matthias Reichl <hias@horus.com>
2022-12-04 23:44:26 +01:00
Matthias Reichl
6956b5f605 config/show_config: add local ccache info
Signed-off-by: Matthias Reichl <hias@horus.com>
2022-12-04 16:01:56 +01:00
Rudi Heitbaum
399df18197 config/options: add compression level for ccache (CCACHE_COMPRESSLEVEL) 2022-12-04 14:21:40 +01:00
Matthias Reichl
b9d7841a47 options: automatically use ccache on build host if it's available
Use of ccache on build host is now controlled by the
LOCAL_CCACHE_SUPPORT option. Setting it to "no" will disable use
of local ccache.

Signed-off-by: Matthias Reichl <hias@horus.com>
2022-12-04 13:39:47 +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
99d87d4142 config/path: add support for build-host local ccache directory settings
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
Ian Leonard
1a128b5b6d options: relocate ARM_MEM_SUPPORT to distribution options
Display in show_config too.

Signed-off-by: Ian Leonard <antonlacon@gmail.com>
2022-10-24 01:37:24 +00:00
Ian Leonard
0a0f34a9c6 show_config: add information on storage fs and squashfs compression
Signed-off-by: Ian Leonard <antonlacon@gmail.com>
2022-10-24 01:37:24 +00: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
Ian Leonard
e6cade60d9 buildsystem: remove march and mcpu from LDFLAGS
march and mcpu were added in ~2011. I don't know why. I have seen CFLAGS added
en masse to LDFLAGS when using LTO, but that does not explain these inclusions.

Remove to cleanup LDFLAGS.

Signed-off-by: Ian Leonard <antonlacon@gmail.com>
2022-09-14 22:36:16 +00:00
Rudi Heitbaum
ce20584ae8 config/show_config: do not display provider when provider is no
was:
 - OpenGL (GLX) support (provider):      no (no)
 - OpenGL ES support (provider):         yes (mesa)
 - Vulkan API support (provider):        no (no)

is:
 - OpenGL (GLX) support (provider):      no
 - OpenGL ES support (provider):         yes (mesa)
 - Vulkan API support (provider):        no
2022-08-27 00:45:44 +00:00
Rudi Heitbaum
894a4a66da config/arch.arm: build with -D_TIME_BITS=64 to support 64-bit time on legacy ABIs 2022-07-22 07:25:46 +00: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
CvH
8ea83db9e3
Merge pull request #6606 from SupervisedThinking/up_generic_target_cpu
[le11] config/arch.x86_64: updated TARGET_CPU & TARGET_FEATURES
2022-07-11 12:01:41 +02:00
Matthias Reichl
bb7c110320 config/optimize: drop unused MACHINE_HARDWARE_CPU/PLATFORM variables
uname options -p and -i are non portable and return "unknown" on
Linux with GNU coreutils as there's no OS support for it.

Note: some distributions like Fedora or Ubunto patch coreutils so
that uname -p (more or less) returns the machine name (uname -m output).
But that should not be used and fails on distributions like Debian
that don't add that patch.

Signed-off-by: Matthias Reichl <hias@horus.com>
2022-06-30 16:35:04 +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
SupervisedThinking
35d4939701 config/arch.x86_64: updated TARGET_CPU & TARGET_FEATURES 2022-06-17 20:09:50 +02:00
SupervisedThinking
99e260c909 config/show_config: ident cflags/ldflags 2022-05-27 01:19:21 +02: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
Jernej Skrabec
771d19715b config: switch aarch64 toolchain 2022-04-14 19:52:37 +02:00
CvH
e4e5d2a412
Merge pull request #5876 from antonlacon/le11-toolchain
Toolchain Updates
2022-04-09 17:32:16 +02:00
CvH
70c3c5d981
Merge pull request #5255 from smp79/master
Remove redundant ARCH specific *FLAGS for x86-64
2022-02-28 05:25:30 +01:00
SupervisedThinking
8893cf7106 config/optimize: build debug with -Og instead of -0s
If we build with `-Os` some vars are missing in backtraces and will be listed as `<optimized out>`

- https://github.com/PCSX2/pcsx2/issues/5226#issuecomment-1036987320

```
Optimize debugging experience. -Og should be the optimization level of choice for the standard edit-compile-debug cycle, offering a reasonable level of optimization while maintaining fast compilation and a good debugging experience. It is a better choice than -O0 for producing debuggable code because some compiler passes that collect debug information are disabled at -O0.

Like -O0, -Og completely disables a number of optimization passes so that individual options controlling them have no effect. Otherwise -Og enables all -O1 optimization flags except for those that may interfere with debugging:
```

- https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html
2022-02-17 15:39:30 +01:00
CvH
1808f92226
Merge pull request #6094 from heitbaum/rpath-so
Remove libtool preserved temporary RPATH/RUNPATH from "shared object" ELF binaries (libraries/executables)
2022-02-03 17:44:55 +01:00