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:
commit
436f66b7e9
41
Makefile
41
Makefile
@ -3,6 +3,11 @@ all::
|
|||||||
|
|
||||||
# Define V=1 to have a more verbose compile.
|
# 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()
|
# Define SNPRINTF_RETURNS_BOGUS if your are on a system which snprintf()
|
||||||
# or vsnprintf() return -1 instead of number of characters which would
|
# or vsnprintf() return -1 instead of number of characters which would
|
||||||
# have been written to the final string if enough space had been available.
|
# 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,
|
# Define NEEDS_SOCKET if linking with libc is not enough (SunOS,
|
||||||
# Patrick Mauritz).
|
# 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_MMAP if you want to avoid mmap.
|
||||||
#
|
#
|
||||||
# Define NO_PTHREADS if you do not have or do not want to use Pthreads.
|
# 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_SOCKET = YesPlease
|
||||||
NEEDS_NSL = YesPlease
|
NEEDS_NSL = YesPlease
|
||||||
SHELL_PATH = /bin/bash
|
SHELL_PATH = /bin/bash
|
||||||
|
SANE_TOOL_PATH = /usr/xpg6/bin:/usr/xpg4/bin
|
||||||
NO_STRCASESTR = YesPlease
|
NO_STRCASESTR = YesPlease
|
||||||
NO_MEMMEM = YesPlease
|
NO_MEMMEM = YesPlease
|
||||||
NO_HSTRERROR = YesPlease
|
|
||||||
NO_MKDTEMP = YesPlease
|
NO_MKDTEMP = YesPlease
|
||||||
NO_MKSTEMPS = YesPlease
|
NO_MKSTEMPS = YesPlease
|
||||||
ifneq ($(uname_R),5.11)
|
ifeq ($(uname_R),5.7)
|
||||||
OLD_ICONV = UnfortunatelyYes
|
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
|
endif
|
||||||
ifeq ($(uname_R),5.8)
|
ifeq ($(uname_R),5.8)
|
||||||
NO_UNSETENV = YesPlease
|
NO_UNSETENV = YesPlease
|
||||||
@ -726,9 +742,12 @@ ifeq ($(uname_S),SunOS)
|
|||||||
NO_C99_FORMAT = YesPlease
|
NO_C99_FORMAT = YesPlease
|
||||||
NO_STRTOUMAX = YesPlease
|
NO_STRTOUMAX = YesPlease
|
||||||
endif
|
endif
|
||||||
INSTALL = ginstall
|
ifdef NO_IPV6
|
||||||
|
NEEDS_RESOLV = YesPlease
|
||||||
|
endif
|
||||||
|
INSTALL = /usr/ucb/install
|
||||||
TAR = gtar
|
TAR = gtar
|
||||||
BASIC_CFLAGS += -D__EXTENSIONS__
|
BASIC_CFLAGS += -D__EXTENSIONS__ -D__sun__
|
||||||
endif
|
endif
|
||||||
ifeq ($(uname_O),Cygwin)
|
ifeq ($(uname_O),Cygwin)
|
||||||
NO_D_TYPE_IN_DIRENT = YesPlease
|
NO_D_TYPE_IN_DIRENT = YesPlease
|
||||||
@ -878,6 +897,14 @@ endif
|
|||||||
-include config.mak.autogen
|
-include config.mak.autogen
|
||||||
-include config.mak
|
-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)
|
ifeq ($(uname_S),Darwin)
|
||||||
ifndef NO_FINK
|
ifndef NO_FINK
|
||||||
ifeq ($(shell test -d /sw/lib && echo y),y)
|
ifeq ($(shell test -d /sw/lib && echo y),y)
|
||||||
@ -981,6 +1008,9 @@ endif
|
|||||||
ifdef NEEDS_NSL
|
ifdef NEEDS_NSL
|
||||||
EXTLIBS += -lnsl
|
EXTLIBS += -lnsl
|
||||||
endif
|
endif
|
||||||
|
ifdef NEEDS_RESOLV
|
||||||
|
EXTLIBS += -lresolv
|
||||||
|
endif
|
||||||
ifdef NO_D_TYPE_IN_DIRENT
|
ifdef NO_D_TYPE_IN_DIRENT
|
||||||
BASIC_CFLAGS += -DNO_D_TYPE_IN_DIRENT
|
BASIC_CFLAGS += -DNO_D_TYPE_IN_DIRENT
|
||||||
endif
|
endif
|
||||||
@ -1285,6 +1315,7 @@ $(patsubst %.sh,%,$(SCRIPT_SH)) : % : %.sh
|
|||||||
-e 's|@SHELL_PATH@|$(SHELL_PATH_SQ)|' \
|
-e 's|@SHELL_PATH@|$(SHELL_PATH_SQ)|' \
|
||||||
-e 's/@@GIT_VERSION@@/$(GIT_VERSION)/g' \
|
-e 's/@@GIT_VERSION@@/$(GIT_VERSION)/g' \
|
||||||
-e 's/@@NO_CURL@@/$(NO_CURL)/g' \
|
-e 's/@@NO_CURL@@/$(NO_CURL)/g' \
|
||||||
|
-e $(BROKEN_PATH_FIX) \
|
||||||
$@.sh >$@+ && \
|
$@.sh >$@+ && \
|
||||||
chmod +x $@+ && \
|
chmod +x $@+ && \
|
||||||
mv $@+ $@
|
mv $@+ $@
|
||||||
|
@ -33,6 +33,7 @@ NO_EXPAT=@NO_EXPAT@
|
|||||||
NO_LIBGEN_H=@NO_LIBGEN_H@
|
NO_LIBGEN_H=@NO_LIBGEN_H@
|
||||||
NEEDS_LIBICONV=@NEEDS_LIBICONV@
|
NEEDS_LIBICONV=@NEEDS_LIBICONV@
|
||||||
NEEDS_SOCKET=@NEEDS_SOCKET@
|
NEEDS_SOCKET=@NEEDS_SOCKET@
|
||||||
|
NEEDS_RESOLV=@NEEDS_RESOLV@
|
||||||
NO_SYS_SELECT_H=@NO_SYS_SELECT_H@
|
NO_SYS_SELECT_H=@NO_SYS_SELECT_H@
|
||||||
NO_D_INO_IN_DIRENT=@NO_D_INO_IN_DIRENT@
|
NO_D_INO_IN_DIRENT=@NO_D_INO_IN_DIRENT@
|
||||||
NO_D_TYPE_IN_DIRENT=@NO_D_TYPE_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)
|
AC_SUBST(NEEDS_SOCKET)
|
||||||
test -n "$NEEDS_SOCKET" && LIBS="$LIBS -lsocket"
|
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.
|
## Checks for header files.
|
||||||
AC_MSG_NOTICE([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.
|
* 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 */
|
# define FLEX_ARRAY /* empty */
|
||||||
#elif defined(__GNUC__)
|
#elif defined(__GNUC__)
|
||||||
# if (__GNUC__ >= 3)
|
# if (__GNUC__ >= 3)
|
||||||
@ -39,7 +39,20 @@
|
|||||||
/* Approximation of the length of the decimal representation of this type. */
|
/* Approximation of the length of the decimal representation of this type. */
|
||||||
#define decimal_length(x) ((int)(sizeof(x) * 2.56 + 0.5) + 1)
|
#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() */
|
#define _XOPEN_SOURCE 600 /* glibc2 and AIX 5.3L need 500, OpenBSD needs 600 for S_ISLNK() */
|
||||||
#ifndef __sun__
|
#ifndef __sun__
|
||||||
#define _XOPEN_SOURCE_EXTENDED 1 /* AIX 5.3L needs this */
|
#define _XOPEN_SOURCE_EXTENDED 1 /* AIX 5.3L needs this */
|
||||||
|
@ -11,6 +11,34 @@
|
|||||||
# exporting it.
|
# exporting it.
|
||||||
unset CDPATH
|
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() {
|
die() {
|
||||||
echo >&2 "$@"
|
echo >&2 "$@"
|
||||||
exit 1
|
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.
|
* with iconv. If the conversion fails, returns NULL.
|
||||||
*/
|
*/
|
||||||
#ifndef NO_ICONV
|
#ifndef NO_ICONV
|
||||||
#ifdef OLD_ICONV
|
#if defined(OLD_ICONV) || (defined(__sun__) && !defined(_XPG6))
|
||||||
typedef const char * iconv_ibp;
|
typedef const char * iconv_ibp;
|
||||||
#else
|
#else
|
||||||
typedef char * iconv_ibp;
|
typedef char * iconv_ibp;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user