[PATCH] Portability fix for Solaris 10/x86
* getdomainname unavailable there. * needs -lsocket for linkage. * needs __EXTENSIONS__ at the beginning of convert-objects.c [JC: I've done this slightly differently from what Patrick originally sent to the list and dropped the bit that deals with installations that has curl header and library at non-default location. I am resisting the slipperly slope called autoconf.] Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
parent
215a7ad1ef
commit
f0ebff0dfe
18
Makefile
18
Makefile
@ -13,8 +13,14 @@
|
|||||||
# a bundled SHA1 routine optimized for PowerPC.
|
# a bundled SHA1 routine optimized for PowerPC.
|
||||||
#
|
#
|
||||||
# Define NEEDS_SSL_WITH_CRYPTO if you need -lcrypto with -lssl (Darwin).
|
# Define NEEDS_SSL_WITH_CRYPTO if you need -lcrypto with -lssl (Darwin).
|
||||||
|
#
|
||||||
# Define NEEDS_LIBICONV if linking with libc is not enough (Darwin).
|
# Define NEEDS_LIBICONV if linking with libc is not enough (Darwin).
|
||||||
|
#
|
||||||
|
# Define NEEDS_SOCKET if linking with libc is not enough (SunOS,
|
||||||
|
# Patrick Mauritz).
|
||||||
|
#
|
||||||
|
# Define NO_GETDOMAINNAME if your library lack it (SunOS, Patrick Mauritz).
|
||||||
|
#
|
||||||
# Define COLLISION_CHECK below if you believe that SHA1's
|
# Define COLLISION_CHECK below if you believe that SHA1's
|
||||||
# 1461501637330902918203684832716283019655932542976 hashes do not give you
|
# 1461501637330902918203684832716283019655932542976 hashes do not give you
|
||||||
# sufficient guarantee that no collisions between objects will ever happen.
|
# sufficient guarantee that no collisions between objects will ever happen.
|
||||||
@ -37,7 +43,7 @@
|
|||||||
GIT_VERSION = 0.99.6
|
GIT_VERSION = 0.99.6
|
||||||
|
|
||||||
CFLAGS = -g -O2 -Wall
|
CFLAGS = -g -O2 -Wall
|
||||||
ALL_CFLAGS = $(CFLAGS) $(DEFINES)
|
ALL_CFLAGS = $(CFLAGS) $(PLATFORM_DEFINES) $(DEFINES)
|
||||||
|
|
||||||
prefix = $(HOME)
|
prefix = $(HOME)
|
||||||
bindir = $(prefix)/bin
|
bindir = $(prefix)/bin
|
||||||
@ -131,6 +137,10 @@ ifeq ($(shell uname -s),Darwin)
|
|||||||
NEEDS_SSL_WITH_CRYPTO = YesPlease
|
NEEDS_SSL_WITH_CRYPTO = YesPlease
|
||||||
NEEDS_LIBICONV = YesPlease
|
NEEDS_LIBICONV = YesPlease
|
||||||
endif
|
endif
|
||||||
|
ifeq ($(shell uname -s),SunOS)
|
||||||
|
NEEDS_SOCKET = YesPlease
|
||||||
|
PLATFORM_DEFINES += -DNO_GETDOMAINNAME=1
|
||||||
|
endif
|
||||||
|
|
||||||
ifndef NO_OPENSSL
|
ifndef NO_OPENSSL
|
||||||
LIB_OBJS += epoch.o
|
LIB_OBJS += epoch.o
|
||||||
@ -162,6 +172,10 @@ else
|
|||||||
LIBS += $(LIB_4_CRYPTO)
|
LIBS += $(LIB_4_CRYPTO)
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
ifdef NEEDS_SOCKET
|
||||||
|
LIBS += -lsocket
|
||||||
|
SIMPLE_LIB += -lsocket
|
||||||
|
endif
|
||||||
|
|
||||||
DEFINES += '-DSHA1_HEADER=$(SHA1_HEADER)'
|
DEFINES += '-DSHA1_HEADER=$(SHA1_HEADER)'
|
||||||
|
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
#define _XOPEN_SOURCE /* glibc2 needs this */
|
#define _XOPEN_SOURCE /* glibc2 needs this */
|
||||||
|
#define __EXTENSIONS__ /* solaris needs this */
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
#include "cache.h"
|
#include "cache.h"
|
||||||
|
3
ident.c
3
ident.c
@ -36,12 +36,13 @@ int setup_ident(void)
|
|||||||
memcpy(real_email, pw->pw_name, len);
|
memcpy(real_email, pw->pw_name, len);
|
||||||
real_email[len++] = '@';
|
real_email[len++] = '@';
|
||||||
gethostname(real_email + len, sizeof(real_email) - len);
|
gethostname(real_email + len, sizeof(real_email) - len);
|
||||||
|
#ifndef NO_GETDOMAINNAME
|
||||||
if (!strchr(real_email+len, '.')) {
|
if (!strchr(real_email+len, '.')) {
|
||||||
len = strlen(real_email);
|
len = strlen(real_email);
|
||||||
real_email[len++] = '.';
|
real_email[len++] = '.';
|
||||||
getdomainname(real_email+len, sizeof(real_email)-len);
|
getdomainname(real_email+len, sizeof(real_email)-len);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
/* And set the default date */
|
/* And set the default date */
|
||||||
datestamp(real_date, sizeof(real_date));
|
datestamp(real_date, sizeof(real_date));
|
||||||
return 0;
|
return 0;
|
||||||
|
Loading…
Reference in New Issue
Block a user