From e9c0af084420fab76cdc6a3a21c7b8e15fbd5a60 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Thu, 9 Oct 2014 23:28:43 +0100 Subject: [PATCH] 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 e0cf049..1f582bd 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 @@ -1218,16 +1217,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 a63ccef..768ae19 100644 --- a/config.mak.uname +++ b/config.mak.uname @@ -52,7 +52,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 @@ -76,7 +76,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 @@ -108,7 +108,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 @@ -272,7 +272,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 @@ -291,7 +291,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 @@ -407,7 +407,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 @@ -520,7 +520,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 = RCFLAGS += -O coff @@ -542,7 +542,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 ee9efb8..f1c1dfc 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