]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
Move gcrypt-util to basic/
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Tue, 19 Dec 2017 18:06:56 +0000 (19:06 +0100)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Wed, 3 Jan 2018 11:09:45 +0000 (12:09 +0100)
We were including gcrypt-util.[ch] by hand in the few places where it
was used. Create a convenience library to avoid compiling the same
files multiple times.

v2:
- use a separate static library instead of mergin into libbasic

meson.build
src/basic/gcrypt-util.c [moved from src/shared/gcrypt-util.c with 100% similarity]
src/basic/gcrypt-util.h [moved from src/shared/gcrypt-util.h with 100% similarity]
src/basic/meson.build
src/shared/meson.build

index 8ea3c03788649ae952fc580faba4b0e4c458c1b4..fa0b0abf748bb68ed1b8c74448172a26c2ce7c28 100644 (file)
@@ -1235,9 +1235,6 @@ includes = include_directories('src/basic',
 
 add_project_arguments('-include', 'config.h', language : 'c')
 
-gcrypt_util_sources = files('src/shared/gcrypt-util.h',
-                            'src/shared/gcrypt-util.c')
-
 subdir('po')
 subdir('catalog')
 subdir('src/systemd')
@@ -1258,15 +1255,14 @@ libsystemd_sym_path = '@0@/@1@'.format(meson.current_source_dir(), libsystemd_sy
 libsystemd = shared_library(
         'systemd',
         journal_internal_sources,
-        gcrypt_util_sources,
         version : libsystemd_version,
         include_directories : includes,
         link_args : ['-shared',
                      '-Wl,--version-script=' + libsystemd_sym_path],
-        link_with : libbasic,
+        link_with : [libbasic,
+                     libbasic_gcrypt],
         link_whole : libsystemd_static,
         dependencies : [threads,
-                        libgcrypt,
                         librt,
                         libxz,
                         liblz4],
@@ -1507,11 +1503,10 @@ endif
 if conf.get('ENABLE_RESOLVE') == 1
         executable('systemd-resolved',
                    systemd_resolved_sources,
-                   gcrypt_util_sources,
                    include_directories : includes,
-                   link_with : [libshared],
+                   link_with : [libshared,
+                                libbasic_gcrypt],
                    dependencies : [threads,
-                                   libgcrypt,
                                    libgpg_error,
                                    libm,
                                    libidn],
@@ -1521,11 +1516,10 @@ if conf.get('ENABLE_RESOLVE') == 1
 
         exe = executable('systemd-resolve',
                          systemd_resolve_sources,
-                         gcrypt_util_sources,
                          include_directories : includes,
-                         link_with : [libshared],
+                         link_with : [libshared,
+                                      libbasic_gcrypt],
                          dependencies : [threads,
-                                         libgcrypt,
                                          libgpg_error,
                                          libm,
                                          libidn],
index 43a2e11356af520e95d04046b4220e2642823322..fce1d218c01fe4089fc306325891b5a324443db2 100644 (file)
@@ -306,3 +306,13 @@ libbasic = static_library(
                         libselinux],
         c_args : ['-fvisibility=default'],
         install : false)
+
+# A convenience library that is separate from libbasic to avoid
+# unnecessary linking to libgcrypt.
+libbasic_gcrypt = static_library(
+        'basic-gcrypt',
+        'gcrypt-util.c',
+        'gcrypt-util.h',
+        include_directories : includes,
+        dependencies : [libgcrypt],
+        c_args : ['-fvisibility=default'])
index a9ad217fec0d1aaa390e1fd60529c10d108823b3..7402e7559277e9c465d56de6611ceea224750383 100644 (file)
@@ -56,8 +56,6 @@ shared_sources = '''
         firewall-util.h
         fstab-util.c
         fstab-util.h
-        gcrypt-util.c
-        gcrypt-util.h
         generator.c
         generator.h
         gpt.h
@@ -175,7 +173,8 @@ libshared = shared_library(
         link_args : ['-shared',
                      '-Wl,--version-script=' + libshared_sym_path],
         link_whole : [libshared_static,
-                      libbasic],
+                      libbasic,
+                      libbasic_gcrypt],
         c_args : ['-fvisibility=default'],
         dependencies : libshared_deps,
         install : true,