Commit Graph

1062 Commits

Author SHA1 Message Date
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
SupervisedThinking
ccd90a3a56 config/grapic: add VA-API / Vulkan support for nvidia-ng 2022-02-03 11:13:35 +01:00