зеркало из https://github.com/microsoft/git.git
Merge branch 'bc/solaris'
* bc/solaris: configure: test whether -lresolv is needed Makefile: insert SANE_TOOL_PATH to PATH before /bin or /usr/bin git-compat-util.h: avoid using c99 flex array feature with Sun compiler 5.8 Makefile: add section for SunOS 5.7 Makefile: introduce SANE_TOOL_PATH for prepending required elements to PATH Makefile: define __sun__ on SunOS git-compat-util.h: tweak the way _XOPEN_SOURCE is set on Solaris On Solaris choose the OLD_ICONV iconv() declaration based on the UNIX spec Makefile: add NEEDS_RESOLV to optionally add -lresolv to compile arguments Makefile: use /usr/ucb/install on SunOS platforms rather than ginstall Conflicts: Makefile
This commit is contained in:
Коммит
436f66b7e9
41
Makefile
41
Makefile
|
@ -3,6 +3,11 @@ all::
|
|||
|
||||
# Define V=1 to have a more verbose compile.
|
||||
#
|
||||
# Define SHELL_PATH to a POSIX shell if your /bin/sh is broken.
|
||||
#
|
||||
# Define SANE_TOOL_PATH to a colon-separated list of paths to prepend
|
||||
# to PATH if your tools in /usr/bin are broken.
|
||||
#
|
||||
# Define SNPRINTF_RETURNS_BOGUS if your are on a system which snprintf()
|
||||
# or vsnprintf() return -1 instead of number of characters which would
|
||||
# have been written to the final string if enough space had been available.
|
||||
|
@ -95,6 +100,10 @@ all::
|
|||
# Define NEEDS_SOCKET if linking with libc is not enough (SunOS,
|
||||
# Patrick Mauritz).
|
||||
#
|
||||
# Define NEEDS_RESOLV if linking with -lnsl and/or -lsocket is not enough.
|
||||
# Notably on Solaris hstrerror resides in libresolv and on Solaris 7
|
||||
# inet_ntop and inet_pton additionally reside there.
|
||||
#
|
||||
# Define NO_MMAP if you want to avoid mmap.
|
||||
#
|
||||
# Define NO_PTHREADS if you do not have or do not want to use Pthreads.
|
||||
|
@ -706,13 +715,20 @@ ifeq ($(uname_S),SunOS)
|
|||
NEEDS_SOCKET = YesPlease
|
||||
NEEDS_NSL = YesPlease
|
||||
SHELL_PATH = /bin/bash
|
||||
SANE_TOOL_PATH = /usr/xpg6/bin:/usr/xpg4/bin
|
||||
NO_STRCASESTR = YesPlease
|
||||
NO_MEMMEM = YesPlease
|
||||
NO_HSTRERROR = YesPlease
|
||||
NO_MKDTEMP = YesPlease
|
||||
NO_MKSTEMPS = YesPlease
|
||||
ifneq ($(uname_R),5.11)
|
||||
OLD_ICONV = UnfortunatelyYes
|
||||
ifeq ($(uname_R),5.7)
|
||||
NEEDS_RESOLV = YesPlease
|
||||
NO_IPV6 = YesPlease
|
||||
NO_SOCKADDR_STORAGE = YesPlease
|
||||
NO_UNSETENV = YesPlease
|
||||
NO_SETENV = YesPlease
|
||||
NO_STRLCPY = YesPlease
|
||||
NO_C99_FORMAT = YesPlease
|
||||
NO_STRTOUMAX = YesPlease
|
||||
endif
|
||||
ifeq ($(uname_R),5.8)
|
||||
NO_UNSETENV = YesPlease
|
||||
|
@ -726,9 +742,12 @@ ifeq ($(uname_S),SunOS)
|
|||
NO_C99_FORMAT = YesPlease
|
||||
NO_STRTOUMAX = YesPlease
|
||||
endif
|
||||
INSTALL = ginstall
|
||||
ifdef NO_IPV6
|
||||
NEEDS_RESOLV = YesPlease
|
||||
endif
|
||||
INSTALL = /usr/ucb/install
|
||||
TAR = gtar
|
||||
BASIC_CFLAGS += -D__EXTENSIONS__
|
||||
BASIC_CFLAGS += -D__EXTENSIONS__ -D__sun__
|
||||
endif
|
||||
ifeq ($(uname_O),Cygwin)
|
||||
NO_D_TYPE_IN_DIRENT = YesPlease
|
||||
|
@ -878,6 +897,14 @@ endif
|
|||
-include config.mak.autogen
|
||||
-include config.mak
|
||||
|
||||
ifdef SANE_TOOL_PATH
|
||||
SANE_TOOL_PATH_SQ = $(subst ','\'',$(SANE_TOOL_PATH))
|
||||
BROKEN_PATH_FIX = 's|^\# @@BROKEN_PATH_FIX@@$$|git_broken_path_fix $(SANE_TOOL_PATH_SQ)|'
|
||||
PATH := $(SANE_TOOL_PATH):${PATH}
|
||||
else
|
||||
BROKEN_PATH_FIX = '/^\# @@BROKEN_PATH_FIX@@$$/d'
|
||||
endif
|
||||
|
||||
ifeq ($(uname_S),Darwin)
|
||||
ifndef NO_FINK
|
||||
ifeq ($(shell test -d /sw/lib && echo y),y)
|
||||
|
@ -981,6 +1008,9 @@ endif
|
|||
ifdef NEEDS_NSL
|
||||
EXTLIBS += -lnsl
|
||||
endif
|
||||
ifdef NEEDS_RESOLV
|
||||
EXTLIBS += -lresolv
|
||||
endif
|
||||
ifdef NO_D_TYPE_IN_DIRENT
|
||||
BASIC_CFLAGS += -DNO_D_TYPE_IN_DIRENT
|
||||
endif
|
||||
|
@ -1285,6 +1315,7 @@ $(patsubst %.sh,%,$(SCRIPT_SH)) : % : %.sh
|
|||
-e 's|@SHELL_PATH@|$(SHELL_PATH_SQ)|' \
|
||||
-e 's/@@GIT_VERSION@@/$(GIT_VERSION)/g' \
|
||||
-e 's/@@NO_CURL@@/$(NO_CURL)/g' \
|
||||
-e $(BROKEN_PATH_FIX) \
|
||||
$@.sh >$@+ && \
|
||||
chmod +x $@+ && \
|
||||
mv $@+ $@
|
||||
|
|
|
@ -33,6 +33,7 @@ NO_EXPAT=@NO_EXPAT@
|
|||
NO_LIBGEN_H=@NO_LIBGEN_H@
|
||||
NEEDS_LIBICONV=@NEEDS_LIBICONV@
|
||||
NEEDS_SOCKET=@NEEDS_SOCKET@
|
||||
NEEDS_RESOLV=@NEEDS_RESOLV@
|
||||
NO_SYS_SELECT_H=@NO_SYS_SELECT_H@
|
||||
NO_D_INO_IN_DIRENT=@NO_D_INO_IN_DIRENT@
|
||||
NO_D_TYPE_IN_DIRENT=@NO_D_TYPE_IN_DIRENT@
|
||||
|
|
|
@ -467,6 +467,15 @@ AC_CHECK_LIB([c], [socket],
|
|||
AC_SUBST(NEEDS_SOCKET)
|
||||
test -n "$NEEDS_SOCKET" && LIBS="$LIBS -lsocket"
|
||||
|
||||
#
|
||||
# Define NEEDS_RESOLV if linking with -lnsl and/or -lsocket is not enough.
|
||||
# Notably on Solaris hstrerror resides in libresolv and on Solaris 7
|
||||
# inet_ntop and inet_pton additionally reside there.
|
||||
AC_CHECK_LIB([resolv], [hstrerror],
|
||||
[NEEDS_RESOLV=],
|
||||
[NEEDS_RESOLV=YesPlease])
|
||||
AC_SUBST(NEEDS_RESOLV)
|
||||
test -n "$NEEDS_RESOLV" && LIBS="$LIBS -lresolv"
|
||||
|
||||
## Checks for header files.
|
||||
AC_MSG_NOTICE([CHECKS for header files])
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
/*
|
||||
* See if our compiler is known to support flexible array members.
|
||||
*/
|
||||
#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)
|
||||
#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) && (!defined(__SUNPRO_C) || (__SUNPRO_C > 0x580))
|
||||
# define FLEX_ARRAY /* empty */
|
||||
#elif defined(__GNUC__)
|
||||
# if (__GNUC__ >= 3)
|
||||
|
@ -39,7 +39,20 @@
|
|||
/* Approximation of the length of the decimal representation of this type. */
|
||||
#define decimal_length(x) ((int)(sizeof(x) * 2.56 + 0.5) + 1)
|
||||
|
||||
#if !defined(__APPLE__) && !defined(__FreeBSD__) && !defined(__USLC__) && !defined(_M_UNIX)
|
||||
#if defined(__sun__)
|
||||
/*
|
||||
* On Solaris, when _XOPEN_EXTENDED is set, its header file
|
||||
* forces the programs to be XPG4v2, defeating any _XOPEN_SOURCE
|
||||
* setting to say we are XPG5 or XPG6. Also on Solaris,
|
||||
* XPG6 programs must be compiled with a c99 compiler, while
|
||||
* non XPG6 programs must be compiled with a pre-c99 compiler.
|
||||
*/
|
||||
# if __STDC_VERSION__ - 0 >= 199901L
|
||||
# define _XOPEN_SOURCE 600
|
||||
# else
|
||||
# define _XOPEN_SOURCE 500
|
||||
# endif
|
||||
#elif !defined(__APPLE__) && !defined(__FreeBSD__) && !defined(__USLC__) && !defined(_M_UNIX)
|
||||
#define _XOPEN_SOURCE 600 /* glibc2 and AIX 5.3L need 500, OpenBSD needs 600 for S_ISLNK() */
|
||||
#ifndef __sun__
|
||||
#define _XOPEN_SOURCE_EXTENDED 1 /* AIX 5.3L needs this */
|
||||
|
|
|
@ -11,6 +11,34 @@
|
|||
# exporting it.
|
||||
unset CDPATH
|
||||
|
||||
git_broken_path_fix () {
|
||||
case ":$PATH:" in
|
||||
*:$1:*) : ok ;;
|
||||
*)
|
||||
PATH=$(
|
||||
SANE_TOOL_PATH="$1"
|
||||
IFS=: path= sep=
|
||||
set x $PATH
|
||||
shift
|
||||
for elem
|
||||
do
|
||||
case "$SANE_TOOL_PATH:$elem" in
|
||||
(?*:/bin | ?*:/usr/bin)
|
||||
path="$path$sep$SANE_TOOL_PATH"
|
||||
sep=:
|
||||
SANE_TOOL_PATH=
|
||||
esac
|
||||
path="$path$sep$elem"
|
||||
sep=:
|
||||
done
|
||||
echo "$path"
|
||||
)
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
# @@BROKEN_PATH_FIX@@
|
||||
|
||||
die() {
|
||||
echo >&2 "$@"
|
||||
exit 1
|
||||
|
|
2
utf8.c
2
utf8.c
|
@ -354,7 +354,7 @@ int is_encoding_utf8(const char *name)
|
|||
* with iconv. If the conversion fails, returns NULL.
|
||||
*/
|
||||
#ifndef NO_ICONV
|
||||
#ifdef OLD_ICONV
|
||||
#if defined(OLD_ICONV) || (defined(__sun__) && !defined(_XPG6))
|
||||
typedef const char * iconv_ibp;
|
||||
#else
|
||||
typedef char * iconv_ibp;
|
||||
|
|
Загрузка…
Ссылка в новой задаче