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>
This commit is contained in:

committed by
Junio C Hamano

parent
ebb35369f1
commit
dfc88bd647
39
meson.build
39
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',
|
||||
)
|
||||
|
Reference in New Issue
Block a user