Skip to content

Commit d380dfe

Browse files
eli-schwartzgitster
authored andcommitted
meson: only check for missing networking syms on non-Windows; add compat impls
These are added in the Makefile, but not in meson. They probably won't work well on systems without them. CMake adds them, but only on non-Windows. Actually, it only performs compiler checks for hstrerror, but excludes that check on Windows with the note that it is "incompatible with the Windows build". This seems to be misleading -- it is not incompatible, it simply doesn't exist. Still, the compat version should not be used. I interpret this cmake logic to mean we shouldn't even be checking for symbol availability on Windows. In addition to making it simple to add compat definitions, this also probably shaves off a second or two of configure time on Windows as no compiler check needs to be performed. Signed-off-by: Eli Schwartz <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent 2b83df3 commit d380dfe

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

meson.build

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1088,11 +1088,14 @@ else
10881088
endif
10891089
libgit_dependencies += networking_dependencies
10901090

1091-
foreach symbol : ['inet_ntop', 'inet_pton', 'hstrerror']
1092-
if not compiler.has_function(symbol, dependencies: networking_dependencies)
1093-
libgit_c_args += '-DNO_' + symbol.to_upper()
1094-
endif
1095-
endforeach
1091+
if host_machine.system() != 'windows'
1092+
foreach symbol : ['inet_ntop', 'inet_pton', 'hstrerror']
1093+
if not compiler.has_function(symbol, dependencies: networking_dependencies)
1094+
libgit_c_args += '-DNO_' + symbol.to_upper()
1095+
libgit_sources += 'compat/' + symbol + '.c'
1096+
endif
1097+
endforeach
1098+
endif
10961099

10971100
has_ipv6 = compiler.has_function('getaddrinfo', dependencies: networking_dependencies)
10981101
if not has_ipv6

0 commit comments

Comments
 (0)