From ac95f7da0bdf46f1ebce6ef3d5afa4beeec094d8 Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Thu, 16 Nov 2017 10:47:54 +0100 Subject: [PATCH] build: include "siphash24.c" source in "nm-hash-utils.c" This allows the compiler to inline the siphash24*() functions for nm_hash_ptr() and nm_hash_str() (even without LTO). This of course only applies to nm_hash_ptr() and nm_hash_str(), which are implemented in "nm-hash-utils.c" itself. All other nm_hash_*() functions are inline functions in "nm-hash-utils.h", and thus these functions can be inlined instead. That is, in other cases, the nm_hash_*() function instead can be inlined. For nm_hash_ptr() and nm_hash_str() instead we want to inline the siphash24*() functions. So, no longer compile "siphash24.c" directly. Instead, only build "nm-hash-utils.c" which internally #include "siphash24.c". --- Makefile.am | 6 +++--- shared/nm-utils/nm-hash-utils.c | 2 ++ 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/Makefile.am b/Makefile.am index 449f77474..4a8cd3529 100644 --- a/Makefile.am +++ b/Makefile.am @@ -460,7 +460,6 @@ libnm_core_lib_c_real = \ shared/nm-utils/nm-shared-utils.c \ shared/nm-utils/nm-random-utils.c \ shared/nm-utils/nm-udev-utils.c \ - shared/nm-utils/siphash24.c \ shared/nm-meta-setting.c \ libnm-core/crypto.c \ libnm-core/nm-connection.c \ @@ -3131,7 +3130,7 @@ $(src_tests_test_utils_OBJECTS): $(libnm_core_lib_h_pub_mkenums) src_tests_test_systemd_CPPFLAGS = $(src_libsystemd_nm_la_cppflags) src_tests_test_systemd_SOURCES = \ - shared/nm-utils/siphash24.c \ + shared/nm-utils/nm-hash-utils.c \ src/tests/test-systemd.c src_tests_test_systemd_LDADD = \ src/libsystemd-nm.la \ @@ -3324,7 +3323,6 @@ clients_common_libnmc_base_la_SOURCES = \ shared/nm-utils/nm-random-utils.h \ shared/nm-utils/nm-shared-utils.c \ shared/nm-utils/nm-shared-utils.h \ - shared/nm-utils/siphash24.c \ shared/nm-utils/siphash24.h \ \ clients/common/nm-secret-agent-simple.c \ @@ -4578,6 +4576,8 @@ EXTRA_DIST += \ shared/nm-utils/nm-vpn-plugin-macros.h \ shared/nm-utils/nm-vpn-plugin-utils.c \ shared/nm-utils/nm-vpn-plugin-utils.h \ + shared/nm-utils/siphash24.c \ + shared/nm-utils/siphash24.h \ shared/nm-utils/unaligned.h \ shared/nm-version-macros.h.in \ \ diff --git a/shared/nm-utils/nm-hash-utils.c b/shared/nm-utils/nm-hash-utils.c index e4daf1a07..b096be692 100644 --- a/shared/nm-utils/nm-hash-utils.c +++ b/shared/nm-utils/nm-hash-utils.c @@ -28,6 +28,8 @@ #include "nm-shared-utils.h" #include "nm-random-utils.h" +#include "siphash24.c" + /*****************************************************************************/ #define HASH_KEY_SIZE 16u