From 1b37f4c5ef01eaa1fe5724ced0954ceba27fe5f2 Mon Sep 17 00:00:00 2001 From: Guy Harris Date: Mon, 22 Dec 2014 21:03:46 -0800 Subject: [PATCH] Cmake: check for popcount, and build it from wsutil/popcount.c if missing. Change-Id: Id646a9f0b1fc6acafa99a78725e3f0ec8a48c170 Reviewed-on: https://code.wireshark.org/review/6006 Reviewed-by: Guy Harris --- ConfigureChecks.cmake | 1 + cmakeconfig.h.in | 3 +++ wsutil/CMakeLists.txt | 7 +++++++ 3 files changed, 11 insertions(+) diff --git a/ConfigureChecks.cmake b/ConfigureChecks.cmake index 5c173eb004..03beda2232 100644 --- a/ConfigureChecks.cmake +++ b/ConfigureChecks.cmake @@ -86,6 +86,7 @@ check_function_exists("mmap" HAVE_MMAP) check_function_exists("mprotect" HAVE_MPROTECT) check_function_exists("mkdtemp" HAVE_MKDTEMP) check_function_exists("mkstemp" HAVE_MKSTEMP) +check_function_exists("popcount" HAVE_POPCOUNT) check_function_exists("setresgid" HAVE_SETRESGID) check_function_exists("setresuid" HAVE_SETRESUID) check_function_exists("strptime" HAVE_STRPTIME) diff --git a/cmakeconfig.h.in b/cmakeconfig.h.in index 042816633f..a0388be056 100644 --- a/cmakeconfig.h.in +++ b/cmakeconfig.h.in @@ -242,6 +242,9 @@ /* Define to 1 if you have the `pcap_set_tstamp_precision' function. */ #cmakedefine HAVE_PCAP_SET_TSTAMP_PRECISION 1 +/* Define to 1 if you have the popcount function. */ +#cmakedefine HAVE_POPCOUNT 1 + /* Define to 1 if you have the header file. */ #cmakedefine HAVE_PORTAUDIO_H 1 diff --git a/wsutil/CMakeLists.txt b/wsutil/CMakeLists.txt index a7f0663ead..05b32815c1 100644 --- a/wsutil/CMakeLists.txt +++ b/wsutil/CMakeLists.txt @@ -38,6 +38,12 @@ if(HAVE_SSE4_2) ) endif() +if(NOT HAVE_POPCOUNT) + set( WSUTIL_POPCOUNT_FILES + popcount.c + ) +endif() + set(WSUTIL_FILES adler32.c aes.c @@ -89,6 +95,7 @@ set(WSUTIL_FILES ws_version_info.c ${WSUTIL_PLATFORM_FILES} ${WSUTIL_SSE42_FILES} + ${WSUTIL_POPCOUNT_FILES} ) if(APPLE)