1
0
Fork 0
mirror of https://github.com/git/git.git synced 2024-05-19 17:36:08 +02:00

Port to HP NonStop

Includes the addition of some new defines and their description for others to use.

Signed-off-by: Joachim Schmitz <jojo@schmitz-digital.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Joachim Schmitz 2012-09-19 12:03:30 +02:00 committed by Junio C Hamano
parent a6772946a5
commit 6c109904bc
2 changed files with 83 additions and 1 deletions

View File

@ -145,6 +145,12 @@ all::
# #
# Define NEEDS_LIBICONV if linking with libc is not enough (Darwin). # Define NEEDS_LIBICONV if linking with libc is not enough (Darwin).
# #
# Define NEEDS_LIBINTL_BEFORE_LIBICONV if you need libintl before libiconv.
#
# Define NO_INTPTR_T if you don't have intptr_t nor uintptr_t.
#
# Define NO_UINTMAX_T if you don't have uintmax_t.
#
# 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).
# #
@ -1320,6 +1326,61 @@ ifeq ($(uname_S),Minix)
NO_CURL = NO_CURL =
NO_EXPAT = NO_EXPAT =
endif endif
ifeq ($(uname_S),NONSTOP_KERNEL)
# Needs some C99 features, "inline" is just one of them.
# INLINE='' would just replace one set of warnings with another and
# still not compile in c89 mode, due to non-const array initializations.
CC = cc -c99
# Disable all optimization, seems to result in bad code, with -O or -O2
# or even -O1 (default), /usr/local/libexec/git-core/git-pack-objects
# abends on "git push". Needs more investigation.
CFLAGS = -g -O0
# We'd want it to be here.
prefix = /usr/local
# Our's are in ${prefix}/bin (perl might also be in /usr/bin/perl).
PERL_PATH = ${prefix}/bin/perl
PYTHON_PATH = ${prefix}/bin/python
# As detected by './configure'.
# Missdetected, hence commented out, see below.
#NO_CURL = YesPlease
# Added manually, see above.
NEEDS_SSL_WITH_CURL = YesPlease
HAVE_LIBCHARSET_H = YesPlease
NEEDS_LIBICONV = YesPlease
NEEDS_LIBINTL_BEFORE_LIBICONV = YesPlease
NO_SYS_SELECT_H = UnfortunatelyYes
NO_D_TYPE_IN_DIRENT = YesPlease
NO_HSTRERROR = YesPlease
NO_STRCASESTR = YesPlease
NO_FNMATCH_CASEFOLD = YesPlease
NO_MEMMEM = YesPlease
NO_STRLCPY = YesPlease
NO_SETENV = YesPlease
NO_UNSETENV = YesPlease
NO_MKDTEMP = YesPlease
NO_MKSTEMPS = YesPlease
# Currently libiconv-1.9.1.
OLD_ICONV = UnfortunatelyYes
NO_REGEX = YesPlease
NO_PTHREADS = UnfortunatelyYes
# Not detected (nor checked for) by './configure'.
# We don't have SA_RESTART on NonStop, unfortunalety.
COMPAT_CFLAGS += -DSA_RESTART=0
# Apparently needed in compat/fnmatch/fnmatch.c.
COMPAT_CFLAGS += -DHAVE_STRING_H=1
NO_ST_BLOCKS_IN_STRUCT_STAT = YesPlease
NO_NSEC = YesPlease
NO_PREAD = YesPlease
NO_MMAP = YesPlease
NO_POLL = YesPlease
NO_INTPTR_T = UnfortunatelyYes
# Bug report 10-120822-4477 submitted to HP NonStop development.
MKDIR_WO_TRAILING_SLASH = YesPlease
# RFE 10-120912-4693 submitted to HP NonStop development.
NO_SETITIMER = UnfortunatelyYes
endif
ifneq (,$(findstring MINGW,$(uname_S))) ifneq (,$(findstring MINGW,$(uname_S)))
pathsep = ; pathsep = ;
NO_PREAD = YesPlease NO_PREAD = YesPlease
@ -1556,6 +1617,9 @@ ifdef NEEDS_LIBICONV
else else
ICONV_LINK = ICONV_LINK =
endif endif
ifdef NEEDS_LIBINTL_BEFORE_LIBICONV
ICONV_LINK += -lintl
endif
EXTLIBS += $(ICONV_LINK) -liconv EXTLIBS += $(ICONV_LINK) -liconv
endif endif
ifdef NEEDS_LIBGEN ifdef NEEDS_LIBGEN
@ -1716,6 +1780,9 @@ endif
ifdef NO_IPV6 ifdef NO_IPV6
BASIC_CFLAGS += -DNO_IPV6 BASIC_CFLAGS += -DNO_IPV6
endif endif
ifdef NO_INTPTR_T
COMPAT_CFLAGS += -DNO_INTPTR_T
endif
ifdef NO_UINTMAX_T ifdef NO_UINTMAX_T
BASIC_CFLAGS += -Duintmax_t=uint32_t BASIC_CFLAGS += -Duintmax_t=uint32_t
endif endif

View File

@ -74,7 +74,8 @@
# define _XOPEN_SOURCE 500 # define _XOPEN_SOURCE 500
# endif # endif
#elif !defined(__APPLE__) && !defined(__FreeBSD__) && !defined(__USLC__) && \ #elif !defined(__APPLE__) && !defined(__FreeBSD__) && !defined(__USLC__) && \
!defined(_M_UNIX) && !defined(__sgi) && !defined(__DragonFly__) !defined(_M_UNIX) && !defined(__sgi) && !defined(__DragonFly__) && \
!defined(__TANDEM)
#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() */
#define _XOPEN_SOURCE_EXTENDED 1 /* AIX 5.3L needs this */ #define _XOPEN_SOURCE_EXTENDED 1 /* AIX 5.3L needs this */
#endif #endif
@ -98,6 +99,9 @@
#include <stdlib.h> #include <stdlib.h>
#include <stdarg.h> #include <stdarg.h>
#include <string.h> #include <string.h>
#ifdef __TANDEM /* or HAVE_STRINGS_H or !NO_STRINGS_H? */
#include <strings.h> /* for strcasecmp() */
#endif
#include <errno.h> #include <errno.h>
#include <limits.h> #include <limits.h>
#include <sys/param.h> #include <sys/param.h>
@ -141,6 +145,17 @@
#else #else
#include <stdint.h> #include <stdint.h>
#endif #endif
#ifdef NO_INTPTR_T
/*
* On I16LP32, ILP32 and LP64 "long" is the save bet, however
* on LLP86, IL33LLP64 and P64 it needs to be "long long",
* while on IP16 and IP16L32 it is "int" (resp. "short")
* Size needs to match (or exceed) 'sizeof(void *)'.
* We can't take "long long" here as not everybody has it.
*/
typedef long intptr_t;
typedef unsigned long uintptr_t;
#endif
#if defined(__CYGWIN__) #if defined(__CYGWIN__)
#undef _XOPEN_SOURCE #undef _XOPEN_SOURCE
#include <grp.h> #include <grp.h>