incremental improvement in cleanliness

This commit is contained in:
G.E. 2024-03-12 12:37:08 +02:00
parent 523db6051d
commit d6d7a96c44
4 changed files with 16 additions and 8 deletions

View File

@ -27,6 +27,10 @@ CHECK_INCLUDE_FILES(unistd.h HAVE_UNISTD_H)
CHECK_FUNCTION_EXISTS(posix_memalign HAVE_POSIX_MEMALIGN) CHECK_FUNCTION_EXISTS(posix_memalign HAVE_POSIX_MEMALIGN)
CHECK_FUNCTION_EXISTS(_aligned_malloc HAVE__ALIGNED_MALLOC) CHECK_FUNCTION_EXISTS(_aligned_malloc HAVE__ALIGNED_MALLOC)
if(FREEBSD OR NETBSD)
set(EXTRA_CXX_FLAGS "${EXTRA_CXX_FLAGS} -gdwarf-4")
endif()
# these end up in the config file # these end up in the config file
CHECK_C_COMPILER_FLAG(-fvisibility=hidden HAS_C_HIDDEN) CHECK_C_COMPILER_FLAG(-fvisibility=hidden HAS_C_HIDDEN)
CHECK_CXX_COMPILER_FLAG(-fvisibility=hidden HAS_CXX_HIDDEN) CHECK_CXX_COMPILER_FLAG(-fvisibility=hidden HAS_CXX_HIDDEN)

View File

@ -6,6 +6,10 @@ if(CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
set(FREEBSD true) set(FREEBSD true)
endif(CMAKE_SYSTEM_NAME MATCHES "FreeBSD") endif(CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
if(CMAKE_SYSTEM_NAME MATCHES "NetBSD")
set(NETBSD true)
endif(CMAKE_SYSTEM_NAME MATCHES "NetBSD")
if (LINUX AND (ARCH_IA32 OR ARCH_X86_64)) if (LINUX AND (ARCH_IA32 OR ARCH_X86_64))
option(FAT_RUNTIME "Build a library that supports multiple microarchitectures" ON) option(FAT_RUNTIME "Build a library that supports multiple microarchitectures" ON)
else() else()

View File

@ -42,6 +42,10 @@
#elif defined(ARCH_PPC64EL) #elif defined(ARCH_PPC64EL)
#include "util/arch/ppc64el/ppc64el.h" #include "util/arch/ppc64el/ppc64el.h"
#endif #endif
#ifdef __NetBSD__
#include <strings.h>
#define HAVE_LOCAL_POPCOUNT
#endif
#endif // UTIL_ARCH_X86_H_ #endif // UTIL_ARCH_X86_H_

View File

@ -36,12 +36,8 @@
#include "ue2common.h" #include "ue2common.h"
#include "util/arch.h" #include "util/arch.h"
#ifdef __NetBSD__
#include <strings.h>
#endif
#ifndef HAVE_LOCAL_POPCOUNT
#ifndef __NetBSD__
static really_inline static really_inline
u32 popcount32(u32 x) { u32 popcount32(u32 x) {
return __builtin_popcount(x); return __builtin_popcount(x);
@ -56,7 +52,7 @@ u32 popcount32(u32 x) {
// return (((x + (x >> 4)) & 0xf0f0f0f) * 0x1010101) >> 24; // return (((x + (x >> 4)) & 0xf0f0f0f) * 0x1010101) >> 24;
// #endif // #endif
} }
#endif /* __NetBSD__ */ #endif /* HAVE_LOCAL_POPCOUNT */
static really_inline static really_inline
u32 popcount32x4(u32 const *x) { u32 popcount32x4(u32 const *x) {
@ -67,7 +63,7 @@ u32 popcount32x4(u32 const *x) {
return sum; return sum;
} }
#ifndef __NetBSD__ #ifndef HAVE_LOCAL_POPCOUNT
static really_inline static really_inline
u32 popcount64(u64a x) { u32 popcount64(u64a x) {
return __builtin_popcountll(x); return __builtin_popcountll(x);
@ -88,7 +84,7 @@ u32 popcount64(u64a x) {
// return popcount32(x >> 32) + popcount32(x); // return popcount32(x >> 32) + popcount32(x);
// #endif // #endif
} }
#endif /* __NetBSD__ */ #endif /* HAVE_LOCAL_POPCOUNT */
static really_inline static really_inline
u32 popcount64x4(u64a const *x) { u32 popcount64x4(u64a const *x) {