tnias
90c0ba195b
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-12 18:37:47 +03:00
Josef Schlehofer
ca4a2dd754
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-11 00:48:48 +03:00
ibrkas01arm
5515fbbd48
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
c057c7f0f0
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
5e62255667
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
cc11a3d738
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.
1e614dc861
enable the rpath hack on all gcc13, and on arm/gcc12
2024-04-17 15:40:52 +03:00
G.E.
3b37add4d8
the rpath hack is only needed on arm
2024-04-17 11:33:00 +03:00
Gregory Economou
b6b0ab1a9b
added a fixme for the clunky rpath setting logic
2024-04-16 15:18:58 +03:00
Gregory Economou
81722040f8
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
00b1a50977
made the rpath finding a bit more flexible than just hardcoded gcc12 and gcc13
2024-04-16 13:09:05 +03:00
Gregory Economou
12e95b2c5c
bit hacky but it works for setting rpath in freebsd
2024-04-16 10:17:53 +03:00
Gregory Economou
b312438929
probably fixed the bit about not finding the right libs in some bsd installs
2024-04-15 16:50:58 +03:00
Gregory Economou
d96206a12f
united the static fat runtime dispatcher with the BSD support.
2024-04-15 14:59:08 +03:00
G.E.
2e86b8524d
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
d0498f942d
typo fix
2024-03-12 13:58:50 +01:00
G.E.
0045a2bdc7
moved HAVE_BUILTIN_POPCOUNT def to cmake
2024-03-12 14:22:39 +02:00
G.E.
d6d7a96c44
incremental improvement in cleanliness
2024-03-12 12:37:08 +02:00
G.E.
30ae8505c3
lets rather not add lines of code not yet used anywhere
2024-03-06 14:57:28 +01:00
G.E.
12f61d15ed
support building on NetBSD
2024-03-06 10:48:56 +01:00
Jingbo Chen
24786ae332
fix the pcre versio check error on clang 16
2024-01-29 10:50:16 +08:00
Konstantinos Margaritis
01658be05d
remove unused warning exceptions
2024-01-20 19:52:31 +02:00
Konstantinos Margaritis
5fa5e142b9
add -Wno-deprecate-lax-vec-conv-all on clang 15 for Power only
2024-01-20 17:45:56 +02:00
Konstantinos Margaritis
5d38d0d0a5
add needed deprecation warning exceptions for SIMDe on Power VSX
2024-01-18 23:37:59 +02:00
Konstantinos Margaritis
ffa6926608
set x86-64-v2 as baseline arch for fat runtime
2024-01-18 22:08:05 +02:00
Konstantinos Margaritis
634c884204
use x86-64-v2 as default x86 arch for SIMDe
2024-01-18 21:24:38 +02:00
Konstantinos Margaritis
b6e3c66015
WIP: after cleaning up the code, remove the warnings from compilation flags
2024-01-18 00:47:44 +02:00
Konstantinos Margaritis
b106c10b4d
use arch set in cflags-x86.cmake
2024-01-18 00:43:32 +02:00
Konstantinos Margaritis
9e4789d374
fix some build misconfigurations on x86
2024-01-18 00:43:11 +02:00
Konstantinos Margaritis
73f70e3d2e
WIP: only keep the absolutely necessary warning exceptions
2024-01-17 17:18:12 +02:00
Konstantinos Margaritis
f8fdd979f1
set default x86 architecture to baseline
2024-01-17 17:00:47 +02:00
Konstantinos Margaritis
46488b8097
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
6f4409365a
enable AVX2,AVX512,AVX512 for fat runtimes on x86
2024-01-10 18:26:12 +02:00
Konstantinos Margaritis
f68a1e526c
Enable Fat runtime on x86 by default to help migration from hyperscan
2024-01-10 18:25:31 +02:00
Konstantinos Margaritis
d9ebb20010
Make sqlite optional, use OS installed
2024-01-10 14:28:06 +02:00
Konstantinos Margaritis
10d957477a
fix typo in baseline x86 arch definition
2023-12-20 22:21:00 +02:00
Konstantinos Margaritis
ef37e6015a
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
306e8612be
GREATER_EQUAL
2023-12-20 15:27:56 +00:00
Konstantinos Margaritis
a7a12844e7
reorganize OS detection
2023-12-20 17:16:45 +02:00
Konstantinos Margaritis
44f19c1006
fix submodule headers detection
2023-12-20 17:16:23 +02:00
Konstantinos Margaritis
2aa5e1c710
fix arch=native on arm+clang
2023-12-20 15:15:38 +00:00
Konstantinos Margaritis
e15ad9308a
SIMDe on Clang needs SIMDE_NO_CHECK_IMMEDIATE_CONSTANT defined
2023-12-19 17:31:43 +02:00
Konstantinos Margaritis
9fd0ce5d44
search for SIMDE sse4.2.h header
2023-11-28 17:39:55 +02:00
Konstantnos Margaritis
23aeaecf53
use pkg-config for SIMDe
2023-11-27 20:51:47 +00:00
Konstantnos Margaritis
8c7b503ac4
fix TUNE_FLAG for SIMDE_BACKEND
2023-11-27 20:51:29 +00:00
Konstantinos Margaritis
f57928ea08
fix SIMDe emulation builds on Arm, add native translation from x86 for comparison
2023-11-27 12:21:58 +00:00
Konstantnos Margaritis
14c9222a48
add generic tune flags
2023-11-21 17:13:54 +00:00
Konstantnos Margaritis
8455cba03d
add SIMDe cmake file
2023-11-21 17:09:48 +00:00
Konstantinos Margaritis
a97d576ac8
cross-compiling is not tested, removed
2023-11-19 19:24:59 +02:00
Konstantinos Margaritis
35acf49d5f
Don't build fat runtime with native CPU detection
2023-11-19 10:24:13 +02:00