aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPatrick Steinhardt <ps@pks.im>2025-02-26 09:22:15 +0100
committerJunio C Hamano <gitster@pobox.com>2025-02-26 09:09:35 -0800
commitdfc88bd6477bc6c1d2a9eb29a859ebf11a0a351d (patch)
tree61360168a254f4d713adb6f2979d5fae60f220e4
parentebb35369f1aea0e829a2e13531316a34d8f2e354 (diff)
downloadgit-dfc88bd6477bc6c1d2a9eb29a859ebf11a0a351d.tar.gz
meson: introduce `libgit_curl` dependency
We've got a set of common source files that we use for those executables that link against libcurl. The setup is somewhat repetitive though. Simplify it by declaring a `libgit_curl` dependency that bundles all of it together. Note that we don't include curl itself as a dependency. This is because we already pull it in transitively via the libgit dependency, which is unfortunate because libgit itself shouldn't actually link against curl in the first place. This will get fixed in the next commit. Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--meson.build39
1 files changed, 18 insertions, 21 deletions
diff --git a/meson.build b/meson.build
index 7236c16337..e58462ac4f 100644
--- a/meson.build
+++ b/meson.build
@@ -1661,30 +1661,32 @@ bin_wrappers += executable('scalar',
)
if get_option('curl').enabled()
- curl_sources = [
- 'http.c',
- 'http-walker.c',
- ]
-
- git_remote_http = executable('git-remote-http',
- sources: curl_sources + 'remote-curl.c',
+ libgit_curl = declare_dependency(
+ sources: [
+ 'http.c',
+ 'http-walker.c',
+ ],
dependencies: [libgit_commonmain],
+ )
+
+ test_dependencies += executable('git-remote-http',
+ sources: 'remote-curl.c',
+ dependencies: [libgit_curl],
install: true,
install_dir: get_option('libexecdir') / 'git-core',
)
- test_dependencies += git_remote_http
test_dependencies += executable('git-http-fetch',
- sources: curl_sources + 'http-fetch.c',
- dependencies: [libgit_commonmain],
+ sources: 'http-fetch.c',
+ dependencies: [libgit_curl],
install: true,
install_dir: get_option('libexecdir') / 'git-core',
)
if expat.found()
test_dependencies += executable('git-http-push',
- sources: curl_sources + 'http-push.c',
- dependencies: [libgit_commonmain],
+ sources: 'http-push.c',
+ dependencies: [libgit_curl],
install: true,
install_dir: get_option('libexecdir') / 'git-core',
)
@@ -1692,8 +1694,8 @@ if get_option('curl').enabled()
foreach alias : [ 'git-remote-https', 'git-remote-ftp', 'git-remote-ftps' ]
test_dependencies += executable(alias,
- objects: git_remote_http.extract_all_objects(recursive: false),
- dependencies: [libgit_commonmain],
+ sources: 'remote-curl.c',
+ dependencies: [libgit_curl],
)
install_symlink(alias + executable_suffix,
@@ -1703,14 +1705,9 @@ if get_option('curl').enabled()
endforeach
endif
-imap_send_sources = ['imap-send.c']
-if use_curl_for_imap_send
- imap_send_sources += curl_sources
-endif
-
test_dependencies += executable('git-imap-send',
- sources: imap_send_sources,
- dependencies: [libgit_commonmain],
+ sources: 'imap-send.c',
+ dependencies: [ use_curl_for_imap_send ? libgit_curl : libgit_commonmain ],
install: true,
install_dir: get_option('libexecdir') / 'git-core',
)