Browse Source

[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>
maint
Patrick Mauritz 20 years ago committed by Junio C Hamano
parent
commit
f0ebff0dfe
  1. 18
      Makefile
  2. 1
      convert-objects.c
  3. 3
      ident.c

18
Makefile

@ -13,8 +13,14 @@ @@ -13,8 +13,14 @@
# a bundled SHA1 routine optimized for PowerPC.
#
# 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_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
# 1461501637330902918203684832716283019655932542976 hashes do not give you
# sufficient guarantee that no collisions between objects will ever happen.
@ -37,7 +43,7 @@ @@ -37,7 +43,7 @@
GIT_VERSION = 0.99.6

CFLAGS = -g -O2 -Wall
ALL_CFLAGS = $(CFLAGS) $(DEFINES)
ALL_CFLAGS = $(CFLAGS) $(PLATFORM_DEFINES) $(DEFINES)

prefix = $(HOME)
bindir = $(prefix)/bin
@ -131,6 +137,10 @@ ifeq ($(shell uname -s),Darwin) @@ -131,6 +137,10 @@ ifeq ($(shell uname -s),Darwin)
NEEDS_SSL_WITH_CRYPTO = YesPlease
NEEDS_LIBICONV = YesPlease
endif
ifeq ($(shell uname -s),SunOS)
NEEDS_SOCKET = YesPlease
PLATFORM_DEFINES += -DNO_GETDOMAINNAME=1
endif

ifndef NO_OPENSSL
LIB_OBJS += epoch.o
@ -162,6 +172,10 @@ else @@ -162,6 +172,10 @@ else
LIBS += $(LIB_4_CRYPTO)
endif
endif
ifdef NEEDS_SOCKET
LIBS += -lsocket
SIMPLE_LIB += -lsocket
endif

DEFINES += '-DSHA1_HEADER=$(SHA1_HEADER)'


1
convert-objects.c

@ -1,4 +1,5 @@ @@ -1,4 +1,5 @@
#define _XOPEN_SOURCE /* glibc2 needs this */
#define __EXTENSIONS__ /* solaris needs this */
#include <time.h>
#include <ctype.h>
#include "cache.h"

3
ident.c

@ -36,12 +36,13 @@ int setup_ident(void) @@ -36,12 +36,13 @@ int setup_ident(void)
memcpy(real_email, pw->pw_name, len);
real_email[len++] = '@';
gethostname(real_email + len, sizeof(real_email) - len);
#ifndef NO_GETDOMAINNAME
if (!strchr(real_email+len, '.')) {
len = strlen(real_email);
real_email[len++] = '.';
getdomainname(real_email+len, sizeof(real_email)-len);
}

#endif
/* And set the default date */
datestamp(real_date, sizeof(real_date));
return 0;

Loading…
Cancel
Save