Files
MINGW-packages/mingw-w64-git-git/0010-Use-GIT_CHECK_FUNC-for-socket-and-basename.patch

174 lines
4.9 KiB
Diff

From 514fcdb1740f53b42ab6027172fbaa6b23df62a9 Mon Sep 17 00:00:00 2001
From: Ray Donnelly <mingw.android@gmail.com>
Date: Fri, 10 Oct 2014 00:05:28 +0100
Subject: [PATCH 10/16] Use GIT_CHECK_FUNC for socket and basename
.. and look in c, socket, ws2_32 and c, gen respectively.
---
Makefile | 13 ++++++-------
config.mak.uname | 16 ++++++++--------
configure.ac | 20 ++++++++------------
3 files changed, 22 insertions(+), 27 deletions(-)
diff --git a/Makefile b/Makefile
index b4d3c06..d3666c6 100644
--- a/Makefile
+++ b/Makefile
@@ -108,7 +108,7 @@ all::
#
# Define NO_LIBGEN_H if you don't have libgen.h.
#
-# Define NEEDS_LIBGEN if your libgen needs -lgen when linking
+# Define BASENAME_LIB to the LIB flag for linking the library containing basename.
#
# Define NO_SYS_SELECT_H if you don't have sys/select.h.
#
@@ -157,8 +157,7 @@ all::
#
# Define NO_UINTMAX_T if you don't have uintmax_t.
#
-# Define NEEDS_SOCKET if linking with libc is not enough (SunOS,
-# Patrick Mauritz).
+# Define SOCKET_LIB to the LIB flag for linking the library containing socket.
#
# Define NEEDS_RESOLV if linking with -lnsl and/or -lsocket is not enough.
# Notably on Solaris hstrerror resides in libresolv and on Solaris 7
@@ -1211,16 +1210,16 @@ ifdef NEEDS_LIBICONV
endif
EXTLIBS += $(ICONV_LINK) -liconv
endif
-ifdef NEEDS_LIBGEN
- EXTLIBS += -lgen
+ifdef BASENAME_LIB
+ EXTLIBS += $(BASENAME_LIB)
endif
ifndef NO_GETTEXT
ifndef LIBC_CONTAINS_LIBINTL
EXTLIBS += -lintl
endif
endif
-ifdef NEEDS_SOCKET
- EXTLIBS += -lsocket
+ifdef SOCKET_LIB
+ EXTLIBS += $(SOCKET_LIB)
endif
ifdef NEEDS_NSL
EXTLIBS += -lnsl
diff --git a/config.mak.uname b/config.mak.uname
index c311eb3..95a092e 100644
--- a/config.mak.uname
+++ b/config.mak.uname
@@ -47,7 +47,7 @@ ifeq ($(uname_S),GNU/kFreeBSD)
endif
ifeq ($(uname_S),UnixWare)
CC = cc
- NEEDS_SOCKET = YesPlease
+ SOCKET_LIB = -lsocket
NEEDS_NSL = YesPlease
NEEDS_SSL_WITH_CRYPTO = YesPlease
NEEDS_LIBICONV = YesPlease
@@ -71,7 +71,7 @@ ifeq ($(uname_S),SCO_SV)
CC = cc
BASIC_CFLAGS += -Kthread
endif
- NEEDS_SOCKET = YesPlease
+ SOCKET_LIB = -lsocket
NEEDS_NSL = YesPlease
NEEDS_SSL_WITH_CRYPTO = YesPlease
NEEDS_LIBICONV = YesPlease
@@ -103,7 +103,7 @@ ifeq ($(uname_S),Darwin)
BASIC_CFLAGS += -DPRECOMPOSE_UNICODE
endif
ifeq ($(uname_S),SunOS)
- NEEDS_SOCKET = YesPlease
+ SOCKET_LIB = -lsocket
NEEDS_NSL = YesPlease
SHELL_PATH = /bin/bash
SANE_TOOL_PATH = /usr/xpg6/bin:/usr/xpg4/bin
@@ -267,7 +267,7 @@ ifeq ($(uname_S),IRIX)
NO_REGEX = YesPlease
SNPRINTF_RETURNS_BOGUS = YesPlease
SHELL_PATH = /usr/gnu/bin/bash
- NEEDS_LIBGEN = YesPlease
+ BASENAME_LIB = -lgen
endif
ifeq ($(uname_S),IRIX64)
NO_SETENV = YesPlease
@@ -286,7 +286,7 @@ ifeq ($(uname_S),IRIX64)
NO_REGEX = YesPlease
SNPRINTF_RETURNS_BOGUS = YesPlease
SHELL_PATH = /usr/gnu/bin/bash
- NEEDS_LIBGEN = YesPlease
+ BASENAME_LIB = -lgen
endif
ifeq ($(uname_S),HP-UX)
INLINE = __inline
@@ -401,7 +401,7 @@ ifeq ($(uname_S),Minix)
NO_IPV6 = YesPlease
NO_ST_BLOCKS_IN_STRUCT_STAT = YesPlease
NO_NSEC = YesPlease
- NEEDS_LIBGEN =
+ BASENAME_LIB =
NEEDS_CRYPTO_WITH_SSL = YesPlease
NEEDS_IDN_WITH_CURL = YesPlease
NEEDS_SSL_WITH_CURL = YesPlease
@@ -514,7 +514,7 @@ ifneq (,$(findstring MINGW,$(uname_S)))
COMPAT_OBJS += compat/mingw.o compat/winansi.o \
compat/win32/pthread.o compat/win32/syslog.o \
compat/win32/dirent.o compat/win32/fscache.o
- EXTLIBS += -lws2_32
+ SOCKET_LIB = -lws2_32
GITLIBS += git.res
PTHREAD_LIBS =
RC = windres -O coff
@@ -538,7 +538,7 @@ ifeq ($(uname_S),QNX)
COMPAT_CFLAGS += -DSA_RESTART=0
EXPAT_NEEDS_XMLPARSE_H = YesPlease
HAVE_STRINGS_H = YesPlease
- NEEDS_SOCKET = YesPlease
+ SOCKET_LIB = -lsocket
NO_GETPAGESIZE = YesPlease
NO_ICONV = YesPlease
NO_MEMMEM = YesPlease
diff --git a/configure.ac b/configure.ac
index dc5623e..4881bbe 100644
--- a/configure.ac
+++ b/configure.ac
@@ -630,13 +630,11 @@ GIT_UNSTASH_FLAGS($ZLIB_PATH)
GIT_CONF_SUBST([NO_DEFLATE_BOUND])
#
-# Define NEEDS_SOCKET if linking with libc is not enough (SunOS,
-# Patrick Mauritz).
-AC_CHECK_LIB([c], [socket],
-[NEEDS_SOCKET=],
-[NEEDS_SOCKET=YesPlease])
-GIT_CONF_SUBST([NEEDS_SOCKET])
-test -n "$NEEDS_SOCKET" && LIBS="$LIBS -lsocket"
+# Find the library needed for
+# the socket function.
+GIT_CHECK_FUNC([socket], [c socket ws2_32],
+[SOCKET_LIB=],
+[SOCKET_LIB=$ac_cv_search_socket])
#
# The next few tests will define NEEDS_RESOLV if linking with
@@ -685,11 +683,9 @@ GIT_CONF_SUBST([NEEDS_RESOLV])
# build-time, also set it here for remaining configure-time checks.
test -n "$NEEDS_RESOLV" && LIBS="$LIBS -lresolv"
-AC_CHECK_LIB([c], [basename],
-[NEEDS_LIBGEN=],
-[NEEDS_LIBGEN=YesPlease])
-GIT_CONF_SUBST([NEEDS_LIBGEN])
-test -n "$NEEDS_LIBGEN" && LIBS="$LIBS -lgen"
+GIT_CHECK_FUNC([basename], [c gen],
+[BASENAME_LIB=],
+[BASENAME_LIB=$ac_cv_search_basename])
AC_CHECK_LIB([c], [gettext],
[LIBC_CONTAINS_LIBINTL=YesPlease],
--
2.1.2