tnias
44dc317d9d
Improve the (cross-)build experience especially with LLVM ( #353 )
...
* Suppress clang warnings caused by boost headers
* Make binutils selectable via environment variables
Some build environments specify what tools to use via environment variables.
e.g. NM could be 'x86_64-unknown-linux-gnu-nm' when cross-compiling
* Use llvm-nm friendly non-short format value
LLVM's nm implementaion (llvm-nm) wants the entire string to match.
It doesn't allow just 'p' it wants 'posix'.
- https://github.com/llvm/llvm-project/blob/llvmorg-21.1.3/llvm/tools/llvm-nm/llvm-nm.cpp#L2435-L2448
The nm implementations from GNU binutils and FreeBSD parse the format
argument value only by looking at the first character.
They are accept both 'p' and 'posix'.
- https://github.com/bminor/binutils-gdb/blob/binutils-2_45/binutils/nm.c#L410-L438
- https://github.com/freebsd/freebsd-src/blob/release/14.3.0/contrib/elftoolchain/nm/nm.c#L506-L529
2025-10-30 00:05:00 +02:00
Josef Schlehofer
bc6bee8eb5
gcc does not recognize armv7a, but it recognizes armv7-a ( #348 )
...
arch
____
Fixes:
arm-openwrt-linux-muslgnueabi-gcc: error: unrecognized -march target: armv7a
arm-openwrt-linux-muslgnueabi-gcc: note: valid arguments are: armv4 armv4t armv5t armv5te armv5tej armv6 armv6j armv6k armv6z armv6kz armv6zk armv6t2 armv6-m armv6s-m armv7 armv7-a armv7ve armv7-r armv7-m armv7e-m armv8-a armv8.1-a armv8.2-a armv8.3-a armv8.4-a armv8.5-a armv8.6-a armv8-m.base armv8-m.main armv8-r armv8.1-m.main armv9-a iwmmxt iwmmxt2; did you mean 'armv7'?
arm-openwrt-linux-muslgnueabi-gcc: error: missing argument to '-march='
Reference in Linux kernel for the same change:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/arch/arm/Makefile?h=v6.17-rc7&id=76ebc6a429ec2becc2fa738c85ab9688ea4b9006
flag
----
generic flag for armv7-a does not exist
Fixes:
2025-09-26T08:57:44.2958982Z cc1: error: unrecognized -mtune target: generic
2025-09-26T08:57:44.2965968Z cc1: note: valid arguments are: arm8 arm810 strongarm strongarm110 fa526 fa626 arm7tdmi arm7tdmi-s arm710t arm720t arm740t arm9 arm9tdmi arm920t arm920 arm922t arm940t ep9312 arm10tdmi arm1020t arm9e arm946e-s arm966e-s arm968e-s arm10e arm1020e arm1022e xscale iwmmxt iwmmxt2 fa606te fa626te fmp626 fa726te arm926ej-s arm1026ej-s arm1136j-s arm1136jf-s arm1176jz-s arm1176jzf-s mpcorenovfp mpcore arm1156t2-s arm1156t2f-s cortex-m1 cortex-m0 cortex-m0plus cortex-m1.small-multiply cortex-m0.small-multiply cortex-m0plus.small-multiply generic-armv7-a cortex-a5 cortex-a7 cortex-a8 cortex-a9 cortex-a12 cortex-a15 cortex-a17 cortex-r4 cortex-r4f cortex-r5 cortex-r7 cortex-r8 cortex-m7 cortex-m4 cortex-m3 marvell-pj4 cortex-a15.cortex-a7 cortex-a17.cortex-a7 cortex-a32 cortex-a35 cortex-a53 cortex-a57 cortex-a72 cortex-a73 exynos-m1 xgene1 cortex-a57.cortex-a53 cortex-a72.cortex-a53 cortex-a73.cortex-a35 cortex-a73.cortex-a53 cortex-a55 cortex-a75 cortex-a76 cortex-a76ae cortex-a77 cortex-a78 cortex-a78ae cortex-a78c cortex-a710 cortex-x1 cortex-x1c neoverse-n1 cortex-a75.cortex-a55 cortex-a76.cortex-a55 neoverse-v1 neoverse-n2 cortex-m23 cortex-m33 cortex-m35p cortex-m52 cortex-m55 star-mc1 cortex-m85 cortex-r52 cortex-r52plus
2025-10-30 00:05:00 +02:00
ibrkas01arm
14eb7c3f40
cmake - guard against failed GNUCC_ARCH extraction ( #339 )
...
Prevents overwriting GNUCC_ARCH with an empty value when parsing output
of gcc -Q --help=target. Ensures robustness if detection fails and
returns an empty string.
Signed-off-by: Ibrahim Kashif <ibrahim.kashif@arm.com >
2025-07-21 14:36:59 +03:00
Chrysovalantis - Michail Liakopoulos
8a44a6eda2
Fix/fbsd gcc13 error ( #338 )
...
* added static libraries in cmake to fix unit-internal seg fault in freebsd, ppc64le, gcc13 error
* Moved gcc13 flags for freebsd-gcc13 in cmake/cflags-ppc64le.make
2025-05-31 11:46:22 +03:00
Konstantinos Margaritis
400468bbfa
Clang 17+ is more restrictive on rebind<T> on MacOS/Boost, remove warning ( #332 )
...
* Clang 17+ is more restrictive on rebind<T> on MacOS/Boost, remove warning
* More clang/boost warnings on MacOS, disable for now
2025-05-16 13:44:20 +03:00
g. economou
f1e0977f07
build/run on machines that only have SSE2 with SIMDE ( #303 )
...
This allows the use of SIMDE library to emulate SSSE3/SSE4.2 instructions on SSE2-only (x86-64-v2) hardware.
---------
Co-authored-by: G.E <gregory.economou@vectorcamp.gr >
Co-authored-by: Konstantinos Margaritis <konstantinos@vectorcamp.gr >
2024-07-10 21:20:17 +03:00
G.E.
d5f12ecb54
enable the rpath hack on all gcc13, and on arm/gcc12
2024-04-17 15:40:52 +03:00
G.E.
9ffb68be36
the rpath hack is only needed on arm
2024-04-17 11:33:00 +03:00
Gregory Economou
7ee5f7913e
added a fixme for the clunky rpath setting logic
2024-04-16 15:18:58 +03:00
Gregory Economou
645156333d
cmake adds newlines to variables set from command output, trashing the
...
usefulness of the flexible method of setting the rpath var. back to
the clunky manual setting.
2024-04-16 15:04:20 +03:00
Gregory Economou
87b4787455
made the rpath finding a bit more flexible than just hardcoded gcc12 and gcc13
2024-04-16 13:09:05 +03:00
Gregory Economou
7faa32275e
bit hacky but it works for setting rpath in freebsd
2024-04-16 10:17:53 +03:00
Gregory Economou
1055fd7ed8
probably fixed the bit about not finding the right libs in some bsd installs
2024-04-15 16:50:58 +03:00
Gregory Economou
b4115b821b
united the static fat runtime dispatcher with the BSD support.
2024-04-15 14:59:08 +03:00
G.E.
1ef8e5dddc
first try at getting cmake to leave custom shared lib paths with the binary,
...
with package added compilers we need to find the right std libs from the
compiler we added, not the base install libs.
2024-04-15 11:52:33 +03:00
isildur-g
10e96c3f53
typo fix
2024-03-12 13:58:50 +01:00
G.E.
feeb6a57ac
moved HAVE_BUILTIN_POPCOUNT def to cmake
2024-03-12 14:22:39 +02:00
G.E.
33444e7ce0
incremental improvement in cleanliness
2024-03-12 12:37:08 +02:00
G.E.
c0784c4aa5
lets rather not add lines of code not yet used anywhere
2024-03-06 14:57:28 +01:00
G.E.
205bcbb060
support building on NetBSD
2024-03-06 10:48:56 +01:00
Jingbo Chen
ea261fe26f
fix the pcre versio check error on clang 16
2024-01-29 10:50:16 +08:00
Konstantinos Margaritis
a2ef385e1a
remove unused warning exceptions
2024-01-20 19:52:31 +02:00
Konstantinos Margaritis
85925923c5
add -Wno-deprecate-lax-vec-conv-all on clang 15 for Power only
2024-01-20 17:45:56 +02:00
Konstantinos Margaritis
eeeae733e4
add needed deprecation warning exceptions for SIMDe on Power VSX
2024-01-18 23:37:59 +02:00
Konstantinos Margaritis
55240d94c7
set x86-64-v2 as baseline arch for fat runtime
2024-01-18 22:08:05 +02:00
Konstantinos Margaritis
eb46ba6530
use x86-64-v2 as default x86 arch for SIMDe
2024-01-18 21:24:38 +02:00
Konstantinos Margaritis
026663f0fd
WIP: after cleaning up the code, remove the warnings from compilation flags
2024-01-18 00:47:44 +02:00
Konstantinos Margaritis
91fa633826
use arch set in cflags-x86.cmake
2024-01-18 00:43:32 +02:00
Konstantinos Margaritis
1425fa7a57
fix some build misconfigurations on x86
2024-01-18 00:43:11 +02:00
Konstantinos Margaritis
7368004f71
WIP: only keep the absolutely necessary warning exceptions
2024-01-17 17:18:12 +02:00
Konstantinos Margaritis
ba1d86c12b
set default x86 architecture to baseline
2024-01-17 17:00:47 +02:00
Konstantinos Margaritis
4c5e46b17e
Merge pull request #219 from VectorCamp/bugfix/make-sqlite-optional
...
Make sqlite optional, use OS installed
2024-01-15 16:57:11 +02:00
Konstantinos Margaritis
0e1cce7fb8
enable AVX2,AVX512,AVX512 for fat runtimes on x86
2024-01-10 18:26:12 +02:00
Konstantinos Margaritis
50d92448f5
Enable Fat runtime on x86 by default to help migration from hyperscan
2024-01-10 18:25:31 +02:00
Konstantinos Margaritis
e9de9d3ddc
Make sqlite optional, use OS installed
2024-01-10 14:28:06 +02:00
Konstantinos Margaritis
6a37cb7f84
fix typo in baseline x86 arch definition
2023-12-20 22:21:00 +02:00
Konstantinos Margaritis
cd5302d1c1
native CPU on SIMDe will enable all sorts of features in an unpredicted manner, set sane defaults
2023-12-20 16:43:38 +00:00
Konstantinos Margaritis
d8642b0eaa
GREATER_EQUAL
2023-12-20 15:27:56 +00:00
Konstantinos Margaritis
61943dc338
reorganize OS detection
2023-12-20 17:16:45 +02:00
Konstantinos Margaritis
3f6a68c17f
fix submodule headers detection
2023-12-20 17:16:23 +02:00
Konstantinos Margaritis
7629fd0141
fix arch=native on arm+clang
2023-12-20 15:15:38 +00:00
Konstantinos Margaritis
2ecf283b1b
SIMDe on Clang needs SIMDE_NO_CHECK_IMMEDIATE_CONSTANT defined
2023-12-19 17:31:43 +02:00
Konstantinos Margaritis
a917134f23
search for SIMDE sse4.2.h header
2023-11-28 17:39:55 +02:00
Konstantinos Margaritis
ff108779a8
use pkg-config for SIMDe
2023-11-27 20:51:47 +00:00
Konstantinos Margaritis
22096b50a1
fix TUNE_FLAG for SIMDE_BACKEND
2023-11-27 20:51:29 +00:00
Konstantinos Margaritis
1fb601f3a9
fix SIMDe emulation builds on Arm, add native translation from x86 for comparison
2023-11-27 12:21:58 +00:00
Konstantinos Margaritis
701e8f9afe
add generic tune flags
2023-11-21 17:13:54 +00:00
Konstantinos Margaritis
1af61a1806
add SIMDe cmake file
2023-11-21 17:09:48 +00:00
Konstantinos Margaritis
2542a87f54
cross-compiling is not tested, removed
2023-11-19 19:24:59 +02:00
Konstantinos Margaritis
445d61a40e
Don't build fat runtime with native CPU detection
2023-11-19 10:24:13 +02:00