]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
meson: don't compile import sources four times
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Tue, 7 Dec 2021 14:39:43 +0000 (15:39 +0100)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Thu, 16 Dec 2021 09:54:46 +0000 (10:54 +0100)
Use a 'convenience library' to do the compilation once and then link the
objects into all the files that need it. Those files are small, so this probably
doesn't matter too much for speed, but has the advantage that we don't get the
same error four times if something goes wrong.

The library is conditionalized in the same way importd itself, because we
cannot build it without the deps.

meson.build
src/import/meson.build

index 94bc49ed634dcdcfdaf01a0635b807054a1f3430..bdf192cfc1b41c1a3f43c7e11eb19868cc4b5010 100644 (file)
@@ -2764,7 +2764,8 @@ if conf.get('ENABLE_IMPORTD') == 1
                 'systemd-pull',
                 systemd_pull_sources,
                 include_directories : includes,
-                link_with : [libshared],
+                link_with : [libshared,
+                             lib_import_common],
                 dependencies : [versiondep,
                                 libcurl,
                                 lib_openssl_or_gcrypt,
@@ -2779,7 +2780,8 @@ if conf.get('ENABLE_IMPORTD') == 1
                 'systemd-import',
                 systemd_import_sources,
                 include_directories : includes,
-                link_with : [libshared],
+                link_with : [libshared,
+                             lib_import_common],
                 dependencies : [libcurl,
                                 libz,
                                 libbzip2,
@@ -2792,7 +2794,8 @@ if conf.get('ENABLE_IMPORTD') == 1
                 'systemd-import-fs',
                 systemd_import_fs_sources,
                 include_directories : includes,
-                link_with : [libshared],
+                link_with : [libshared,
+                             lib_import_common],
                 install_rpath : rootlibexecdir,
                 install : true,
                 install_dir : rootlibexecdir)
@@ -2801,7 +2804,8 @@ if conf.get('ENABLE_IMPORTD') == 1
                 'systemd-export',
                 systemd_export_sources,
                 include_directories : includes,
-                link_with : [libshared],
+                link_with : [libshared,
+                             lib_import_common],
                 dependencies : [libcurl,
                                 libz,
                                 libbzip2,
index b3bc682b0b418c976e1333d31232fcfb68f9064c..e48e49293e2a9b79436fe2bdfc1633087831ca7b 100644 (file)
@@ -1,62 +1,52 @@
 # SPDX-License-Identifier: LGPL-2.1-or-later
 
-systemd_importd_sources = files('''
-        importd.c
-'''.split())
+systemd_importd_sources = files(
+        'importd.c')
 
-systemd_pull_sources = files('''
-        pull.c
-        pull-raw.c
-        pull-raw.h
-        pull-tar.c
-        pull-tar.h
-        pull-job.c
-        pull-job.h
-        pull-common.c
-        pull-common.h
-        import-common.c
-        import-common.h
-        import-compress.c
-        import-compress.h
-        curl-util.c
-        curl-util.h
-        qcow2-util.c
-        qcow2-util.h
-'''.split())
+systemd_pull_sources = files(
+        'pull.c',
+        'pull-raw.c',
+        'pull-raw.h',
+        'pull-tar.c',
+        'pull-tar.h',
+        'pull-job.c',
+        'pull-job.h',
+        'pull-common.c',
+        'pull-common.h',
+        'curl-util.c',
+        'curl-util.h')
 
-systemd_import_sources = files('''
-        import.c
-        import-raw.c
-        import-raw.h
-        import-tar.c
-        import-tar.h
-        import-common.c
-        import-common.h
-        import-compress.c
-        import-compress.h
-        qcow2-util.c
-        qcow2-util.h
-'''.split())
+systemd_import_sources = files(
+        'import.c',
+        'import-raw.c',
+        'import-raw.h',
+        'import-tar.c',
+        'import-tar.h')
 
-systemd_import_fs_sources = files('''
-        import-fs.c
-        import-common.c
-        import-common.h
-'''.split())
+systemd_import_fs_sources = files(
+        'import-fs.c')
 
-systemd_export_sources = files('''
-        export.c
-        export-tar.c
-        export-tar.h
-        export-raw.c
-        export-raw.h
-        import-common.c
-        import-common.h
-        import-compress.c
-        import-compress.h
-'''.split())
+systemd_export_sources = files(
+        'export.c',
+        'export-tar.c',
+        'export-tar.h',
+        'export-raw.c',
+        'export-raw.h')
 
 if conf.get('ENABLE_IMPORTD') == 1
+        lib_import_common = static_library(
+                'import-common',
+                'import-common.c',
+                'import-common.h',
+                'import-compress.c',
+                'import-compress.h',
+                'qcow2-util.c',
+                'qcow2-util.h',
+                include_directories : includes,
+                dependencies : [libbzip2,
+                                libxz,
+                                libz])
+
         install_data('org.freedesktop.import1.conf',
                      install_dir : dbuspolicydir)
         install_data('org.freedesktop.import1.service',