From a738478ad8319bb4761dc53dfe700cb1fe87000e Mon Sep 17 00:00:00 2001
From: Bruce Momjian <bruce@momjian.us>
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
-- 
GitLab