From a738478ad8319bb4761dc53dfe700cb1fe87000e Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Sat, 22 Aug 1998 04:24:41 +0000 Subject: [PATCH] Here are additional patches for the UnixWare 7 port. Summary of changes: In pqcomm.h, use the SUN_LEN macro if it is defined to calculate the size of the sockaddr_un structure. In unixware.h, drop the use of the UNIXWARE macro. Everything can be handled with the USE_UNIVEL_CC and DISABLE_COMPLEX_MACRO macros. In s_lock.h, remove the reference to the UNIXWARE macro (see above). In the unixware template, add the YFLAGS:-d line. In various makefile templates, add (or cleanup) unixware and univel port specific information. -- Billy G. Allie --- src/include/libpq/pqcomm.h | 7 ++++++- src/include/port/unixware.h | 6 +++++- src/include/storage/s_lock.h | 6 +++--- src/interfaces/libpgtcl/Makefile.in | 9 ++++++++- src/interfaces/libpq++/Makefile | 16 +++++++++++++++- src/interfaces/libpq/Makefile.in | 11 +++++++++-- src/template/unixware | 5 +++-- 7 files changed, 49 insertions(+), 11 deletions(-) diff --git a/src/include/libpq/pqcomm.h b/src/include/libpq/pqcomm.h index 98d4ad03503..a9bb120552d 100644 --- a/src/include/libpq/pqcomm.h +++ b/src/include/libpq/pqcomm.h @@ -6,7 +6,7 @@ * * Copyright (c) 1994, Regents of the University of California * - * $Id: pqcomm.h,v 1.26 1998/07/09 03:29:01 scrappy Exp $ + * $Id: pqcomm.h,v 1.27 1998/08/22 04:24:18 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -34,9 +34,14 @@ typedef union SockAddr /* Configure the UNIX socket address for the well known port. */ +#if defined(SUN_LEN) +#define UNIXSOCK_PATH(sun,port) \ + (sprintf((sun).sun_path, "/tmp/.s.PGSQL.%d", (port)), SUN_LEN(&(sun))) +#else #define UNIXSOCK_PATH(sun,port) \ (sprintf((sun).sun_path, "/tmp/.s.PGSQL.%d", (port)), \ strlen((sun).sun_path)+ offsetof(struct sockaddr_un, sun_path)) +#endif /* * We do this because sun_len is in BSD's struct, while others don't. diff --git a/src/include/port/unixware.h b/src/include/port/unixware.h index e552202f5f9..c52b9b0948d 100644 --- a/src/include/port/unixware.h +++ b/src/include/port/unixware.h @@ -5,13 +5,17 @@ #define HAS_TEST_AND_SET #define NEED_I386_TAS_ASM + /*************************************** * Define this if you are compiling with * the native UNIXWARE C compiler. ***************************************/ -#define UNIXWARE +#define USE_UNIVEL_CC + typedef unsigned char slock_t; +#define DISABLE_COMPLEX_MACRO + /*************************************************************** * The following include will get the needed prototype for the * strcasecmp() function. diff --git a/src/include/storage/s_lock.h b/src/include/storage/s_lock.h index c48153deef6..37eb40a2bf7 100644 --- a/src/include/storage/s_lock.h +++ b/src/include/storage/s_lock.h @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/include/storage/s_lock.h,v 1.43 1998/07/20 17:45:49 momjian Exp $ + * $Header: /cvsroot/pgsql/src/include/storage/s_lock.h,v 1.44 1998/08/22 04:24:21 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -188,7 +188,7 @@ tas(volatile slock_t *lock) #if defined(NEED_I386_TAS_ASM) /* non gcc i386 based things */ -#if defined(USE_UNIVEL_CC) || defined(UNIXWARE) +#if defined(USE_UNIVEL_CC) #define TAS(lock) tas(lock) asm int @@ -203,7 +203,7 @@ tas(slock_t *s_lock) popl %ebx } -#endif /* USE_UNIVEL_CC || UNIXWARE */ +#endif /* USE_UNIVEL_CC */ #endif /* NEED_I386_TAS_ASM */ diff --git a/src/interfaces/libpgtcl/Makefile.in b/src/interfaces/libpgtcl/Makefile.in index 2823aeade13..705ff0b9e57 100644 --- a/src/interfaces/libpgtcl/Makefile.in +++ b/src/interfaces/libpgtcl/Makefile.in @@ -7,7 +7,7 @@ # # # IDENTIFICATION -# $Header: /cvsroot/pgsql/src/interfaces/libpgtcl/Attic/Makefile.in,v 1.19 1998/07/12 18:48:05 momjian Exp $ +# $Header: /cvsroot/pgsql/src/interfaces/libpgtcl/Attic/Makefile.in,v 1.20 1998/08/22 04:24:26 momjian Exp $ # #------------------------------------------------------------------------- @@ -66,6 +66,13 @@ ifeq ($(PORTNAME), solaris) CFLAGS += $(CFLAGS_SL) endif +ifeq ($(PORTNAME), unixware) + install-shlib-dep := install-shlib + shlib := libpgtcl.so.1 + LDFLAGS_SL = -G -z text + CFLAGS += $(CFLAGS_SL) +endif + ifeq ($(PORTNAME), univel) install-shlib-dep := install-shlib shlib := libpgtcl.so.1 diff --git a/src/interfaces/libpq++/Makefile b/src/interfaces/libpq++/Makefile index fb619a90d31..9ccbe946578 100644 --- a/src/interfaces/libpq++/Makefile +++ b/src/interfaces/libpq++/Makefile @@ -7,7 +7,7 @@ # # # IDENTIFICATION -# $Header: /cvsroot/pgsql/src/interfaces/libpq++/Attic/Makefile,v 1.19 1998/07/12 19:20:45 momjian Exp $ +# $Header: /cvsroot/pgsql/src/interfaces/libpq++/Attic/Makefile,v 1.20 1998/08/22 04:24:35 momjian Exp $ # #------------------------------------------------------------------------- @@ -56,6 +56,20 @@ ifeq ($(PORTNAME), solaris) CFLAGS += $(CFLAGS_SL) endif +ifeq ($(PORTNAME), unixware) + install-shlib-dep := install-shlib + shlib := libpq.so.1 + LDFLAGS_SL = -G -z text + CFLAGS += $(CFLAGS_SL) +endif + +ifeq ($(PORTNAME), univel) + install-shlib-dep := install-shlib + shlib := libpq.so.1 + LDFLAGS_SL = -G -z text + CFLAGS += $(CFLAGS_SL) +endif + ifeq ($(PORTNAME), hpux) install-shlib-dep := install-shlib shlib := libpq.sl diff --git a/src/interfaces/libpq/Makefile.in b/src/interfaces/libpq/Makefile.in index b13e7753c17..11c37624731 100644 --- a/src/interfaces/libpq/Makefile.in +++ b/src/interfaces/libpq/Makefile.in @@ -7,7 +7,7 @@ # # # IDENTIFICATION -# $Header: /cvsroot/pgsql/src/interfaces/libpq/Attic/Makefile.in,v 1.26 1998/08/17 03:50:29 scrappy Exp $ +# $Header: /cvsroot/pgsql/src/interfaces/libpq/Attic/Makefile.in,v 1.27 1998/08/22 04:24:28 momjian Exp $ # #------------------------------------------------------------------------- @@ -73,9 +73,16 @@ ifeq ($(PORTNAME), solaris) CFLAGS += $(CFLAGS_SL) endif +ifeq ($(PORTNAME), unixware) + install-shlib-dep := install-shlib + shlib := libpq.so.$(SO_MAJOR_VERSION).$(SO_MINOR_VERSION) + LDFLAGS_SL = -G -z text + CFLAGS += $(CFLAGS_SL) +endif + ifeq ($(PORTNAME), univel) install-shlib-dep := install-shlib - shlib := libpq.so.1 + shlib := libpq.so.$(SO_MAJOR_VERSION).$(SO_MINOR_VERSION) LDFLAGS_SL = -G -z text CFLAGS += $(CFLAGS_SL) endif diff --git a/src/template/unixware b/src/template/unixware index d68d4aaa63a..a174807cb37 100644 --- a/src/template/unixware +++ b/src/template/unixware @@ -1,8 +1,9 @@ AROPT:crs CFLAGS:-Xa -v -O -K i486,host,inline,loop_unroll,alloca -Dsvr4 SHARED_LIB:-K PIC -SRCH_INC: -SRCH_LIB: +SRCH_INC:/opt/include +SRCH_LIB:/opt/lib USE_LOCALE:no DLSUFFIX:.so CC:cc +YFLAGS:-d