summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Makefile.global38
-rw-r--r--src/backend/Makefile7
-rw-r--r--src/backend/catalog/genbki.sh4
-rw-r--r--src/backend/parser/sysfunc.c5
-rw-r--r--src/backend/port/svr4/Makefile.inc20
-rw-r--r--src/backend/port/svr4/machine.h19
-rw-r--r--src/backend/port/svr4/port-protos.h38
-rw-r--r--src/backend/port/svr4/port.c143
-rw-r--r--src/backend/port/svr4/rusagestub.h30
-rw-r--r--src/backend/storage/ipc.h3
-rw-r--r--src/backend/utils/adt/float.c4
-rw-r--r--src/backend/utils/adt/nabstime.c3
-rw-r--r--src/mk/port/postgres.mk.svr448
13 files changed, 332 insertions, 30 deletions
diff --git a/src/Makefile.global b/src/Makefile.global
index e22ebeaf318..614fdb7e3cb 100644
--- a/src/Makefile.global
+++ b/src/Makefile.global
@@ -7,7 +7,7 @@
#
#
# IDENTIFICATION
-# $Header: /cvsroot/pgsql/src/Attic/Makefile.global,v 1.19 1996/07/31 18:55:49 scrappy Exp $
+# $Header: /cvsroot/pgsql/src/Attic/Makefile.global,v 1.19.2.1 1996/08/19 13:46:05 scrappy Exp $
#
# NOTES
# This is seen by any Makefiles that include mk/postgres.mk. To
@@ -59,15 +59,15 @@
# until after this file is processed!
# make sure that you have no whitespaces after the PORTNAME setting
# or the makefiles can get confused
-PORTNAME= BSD44_derived
+PORTNAME= svr4
# SRCDIR specifies where the source files are.
-SRCDIR= /home/staff/scrappy/cvs/postgres95/src
+SRCDIR= /home/tools/postgres95-1.02/src
# For convenience, POSTGRESDIR is where DATADIR, BINDIR, and LIBDIR
# and other target destinations are rooted. Of course, each of these is
# changable separately.
-POSTGRESDIR= /home/staff/scrappy/cvs/postgres95
+POSTGRESDIR= /home/tools/postgres95-1.02
# POSTGRESLOGIN is the login name of the user who gets special
# privileges within the database. By default it is "postgres", but
@@ -130,7 +130,7 @@ CFLAGS+= -DNAMEDATALEN=$(NAMEDATALEN) -DOIDNAMELEN=$(OIDNAMELEN)
# Comment out CDEBUG to turn off debugging and sanity-checking.
#
# XXX on MIPS, use -g3 if you want to compile with -O
-#CDEBUG= -g
+CDEBUG= -O
# Comment out ENFORCE_ALIGNMENT if you do NOT want unaligned access to
# multi-byte types to generate a bus error.
@@ -138,7 +138,7 @@ ENFORCE_ALIGNMENT= true
# turn this on if you prefer European style dates instead of American
# style dates
-# EUROPEAN_DATES = 1
+EUROPEAN_DATES = 1
# Comment out PROFILE to disable profiling.
#
@@ -154,13 +154,13 @@ ENFORCE_ALIGNMENT= true
# and READLINE_LIBDIR to reflect the location of the readline and history
# headers and libraries.
#
-#USE_READLINE= true
+USE_READLINE= true
# directories for the readline and history libraries.
-READLINE_INCDIR= /usr/local/include
-HISTORY_INCDIR= /usr/local/include
-READLINE_LIBDIR= /usr/local/lib
-HISTORY_LIBDIR= /usr/local/lib
+READLINE_INCDIR= /home/tools/include
+HISTORY_INCDIR= /home/tools/include -I/home/tools/include/readline
+READLINE_LIBDIR= /home/tools/lib
+HISTORY_LIBDIR= /home/tools/lib
# If you do not plan to use Host based authentication,
# comment out the following line
@@ -208,19 +208,19 @@ endif
# location of Tcl/Tk headers and libraries
#
# Uncomment this to build the tcl utilities.
-#USE_TCL= true
+USE_TCL= true
# customize these to your site's needs
#
-TCL_INCDIR= /usr/local/include
-TCL_LIBDIR= /usr/local/lib
+TCL_INCDIR= /home/tools/include
+TCL_LIBDIR= /home/tools/lib
TCL_LIB = -ltcl7.5
-TK_INCDIR= /usr/local/include
-TK_LIBDIR= /usr/local/lib
+TK_INCDIR= /home/tools/include
+TK_LIBDIR= /home/tools/lib
TK_LIB = -ltk4.1
-X11_INCDIR = /usr/X11R6.1/include
-X11_LIBDIR = /usr/X11R6.1/lib
-X11_LIB = -lX11
+X11_INCDIR = /usr/include
+X11_LIBDIR = /usr/lib
+X11_LIB = -lX11 -lsocket -lnsl
#
# include port specific rules and variables. For instance:
diff --git a/src/backend/Makefile b/src/backend/Makefile
index fbde3abee0c..a84253a4518 100644
--- a/src/backend/Makefile
+++ b/src/backend/Makefile
@@ -7,7 +7,7 @@
#
#
# IDENTIFICATION
-# $Header: /cvsroot/pgsql/src/backend/Makefile,v 1.2 1996/07/31 17:19:49 scrappy Exp $
+# $Header: /cvsroot/pgsql/src/backend/Makefile,v 1.2.2.1 1996/08/19 13:46:19 scrappy Exp $
#
#-------------------------------------------------------------------------
@@ -118,6 +118,11 @@ ifeq ($(PORTNAME), linux)
LDADD+= -lc
endif
+# the following is special for Reliant UNIX SVR4 (formerly SINIX)
+ifeq ($(PORTNAME), svr4)
+LDFLAGS+= -LD-Blargedynsym
+endif
+
postgres: $(POSTGRES_DEPEND) $(OBJS) $(EXPORTS)
$(CC) $(LDFLAGS) -o $(objdir)/$(@F) $(addprefix $(objdir)/,$(notdir $(OBJS))) $(LDADD)
diff --git a/src/backend/catalog/genbki.sh b/src/backend/catalog/genbki.sh
index 2f7e4025b83..74d3e0f324e 100644
--- a/src/backend/catalog/genbki.sh
+++ b/src/backend/catalog/genbki.sh
@@ -10,7 +10,7 @@
#
#
# IDENTIFICATION
-# $Header: /cvsroot/pgsql/src/backend/catalog/Attic/genbki.sh,v 1.1.1.1 1996/07/09 06:21:15 scrappy Exp $
+# $Header: /cvsroot/pgsql/src/backend/catalog/Attic/genbki.sh,v 1.1.1.1.2.1 1996/08/19 13:46:26 scrappy Exp $
#
# NOTES
# non-essential whitespace is removed from the generated file.
@@ -62,7 +62,7 @@ sed -e 's/\/\*.*\*\///g' \
-e 's/\ NameData/\ name/g' \
-e 's/(NameData/(name/g' \
-e 's/(Oid/(oid/g' | \
-awk '
+gawk '
# ----------------
# now use awk to process remaining .h file..
#
diff --git a/src/backend/parser/sysfunc.c b/src/backend/parser/sysfunc.c
index c69ca1b5b06..5cc1935b7b0 100644
--- a/src/backend/parser/sysfunc.c
+++ b/src/backend/parser/sysfunc.c
@@ -30,8 +30,13 @@ char *Sysfunc_system_date(void)
time(&cur_time_secs);
cur_time_expanded = localtime(&cur_time_secs);
+#if defined(EUROPEAN_DATES) || defined(EUROPEAN_STYLE)
+ sprintf(buf, "%02.2d-%02.2d-%04.4d", cur_time_expanded->tm_mday,
+ cur_time_expanded->tm_mon+1, cur_time_expanded->tm_year+1900);
+#else
sprintf(buf, "%02.2d-%02.2d-%04.4d", cur_time_expanded->tm_mon+1,
cur_time_expanded->tm_mday, cur_time_expanded->tm_year+1900);
+#endif
return &buf[0];
}
diff --git a/src/backend/port/svr4/Makefile.inc b/src/backend/port/svr4/Makefile.inc
new file mode 100644
index 00000000000..f04a2bc2d0c
--- /dev/null
+++ b/src/backend/port/svr4/Makefile.inc
@@ -0,0 +1,20 @@
+#-------------------------------------------------------------------------
+#
+# Makefile.inc--
+# Makefile for port/svr4 (Intel x86/Intel SVR4 specific stuff)
+#
+# Copyright (c) 1994, Regents of the University of California
+#
+#
+# IDENTIFICATION
+# /usr/local/devel/pglite/cvs/src/backend/port/svr4/Makefile.inc,v 1.3 1995/03/21 06:51:21 andrew Exp
+#
+#-------------------------------------------------------------------------
+
+CFLAGS+= -DUSE_POSIX_TIME -DNEED_ISINF -DNEED_RUSAGE -DNO_EMPTY_STMTS
+
+LDADD+= -ll -ldl
+
+SUBSRCS+= port.c
+
+HEADERS+= machine.h port-protos.h rusagestub.h
diff --git a/src/backend/port/svr4/machine.h b/src/backend/port/svr4/machine.h
new file mode 100644
index 00000000000..fd1f22c8a93
--- /dev/null
+++ b/src/backend/port/svr4/machine.h
@@ -0,0 +1,19 @@
+/*-------------------------------------------------------------------------
+ *
+ * machine.h--
+ *
+ *
+ *
+ * Copyright (c) 1994, Regents of the University of California
+ *
+ * machine.h,v 1.1.1.1 1994/11/07 05:19:38 andrew Exp
+ *
+ *-------------------------------------------------------------------------
+ */
+#ifndef MACHINE_H
+#define MACHINE_H
+
+#define BLCKSZ 8192
+
+#endif
+
diff --git a/src/backend/port/svr4/port-protos.h b/src/backend/port/svr4/port-protos.h
new file mode 100644
index 00000000000..4b992570acd
--- /dev/null
+++ b/src/backend/port/svr4/port-protos.h
@@ -0,0 +1,38 @@
+/*-------------------------------------------------------------------------
+ *
+ * port-protos.h--
+ * port-specific prototypes for Intel x86/Intel SVR4
+ *
+ *
+ * Copyright (c) 1994, Regents of the University of California
+ *
+ * port-protos.h,v 1.2 1995/03/17 06:40:18 andrew Exp
+ *
+ *-------------------------------------------------------------------------
+ */
+#ifndef PORT_PROTOS_H
+#define PORT_PROTOS_H
+
+#include <dlfcn.h>
+#include "fmgr.h" /* for func_ptr */
+#include "utils/dynamic_loader.h"
+
+/* dynloader.c */
+/*
+ * Dynamic Loader on Intel x86/Intel SVR4.
+ *
+ * this dynamic loader uses the system dynamic loading interface for shared
+ * libraries (ie. dlopen/dlsym/dlclose). The user must specify a shared
+ * library as the file to be dynamically loaded.
+ *
+ */
+#define pg_dlopen(f) dlopen(f,RTLD_LAZY)
+#define pg_dlsym dlsym
+#define pg_dlclose dlclose
+#define pg_dlerror dlerror
+
+/* port.c */
+extern long random(void);
+extern void srandom(int seed);
+
+#endif /* PORT_PROTOS_H */
diff --git a/src/backend/port/svr4/port.c b/src/backend/port/svr4/port.c
new file mode 100644
index 00000000000..137cebbcbe3
--- /dev/null
+++ b/src/backend/port/svr4/port.c
@@ -0,0 +1,143 @@
+/*-------------------------------------------------------------------------
+ *
+ * port.c--
+ * Intel x86/Intel SVR4-specific routines
+ *
+ * Copyright (c) 1994, Regents of the University of California
+ *
+ *
+ * IDENTIFICATION
+ * /usr/local/devel/pglite/cvs/src/backend/port/svr4/port.c,v 1.2 1995/03/17 06:40:19 andrew Exp
+ *
+ *-------------------------------------------------------------------------
+ */
+#include <math.h> /* for pow() prototype */
+
+#include <errno.h>
+#include "rusagestub.h"
+
+long
+random()
+{
+ return(lrand48());
+}
+
+void
+srandom(int seed)
+{
+ srand48((long int) seed);
+}
+
+int
+getrusage(int who, struct rusage *rusage)
+{
+ struct tms tms;
+ register int tick_rate = CLK_TCK; /* ticks per second */
+ clock_t u, s;
+
+ if (rusage == (struct rusage *) NULL) {
+ errno = EFAULT;
+ return(-1);
+ }
+ if (times(&tms) < 0) {
+ /* errno set by times */
+ return(-1);
+ }
+ switch (who) {
+ case RUSAGE_SELF:
+ u = tms.tms_utime;
+ s = tms.tms_stime;
+ break;
+ case RUSAGE_CHILDREN:
+ u = tms.tms_cutime;
+ s = tms.tms_cstime;
+ break;
+ default:
+ errno = EINVAL;
+ return(-1);
+ }
+#define TICK_TO_SEC(T, RATE) ((T)/(RATE))
+#define TICK_TO_USEC(T,RATE) (((T)%(RATE)*1000000)/RATE)
+ rusage->ru_utime.tv_sec = TICK_TO_SEC(u, tick_rate);
+ rusage->ru_utime.tv_usec = TICK_TO_USEC(u, tick_rate);
+ rusage->ru_stime.tv_sec = TICK_TO_SEC(s, tick_rate);
+ rusage->ru_stime.tv_usec = TICK_TO_USEC(u, tick_rate);
+ return(0);
+}
+
+/*
+ * Copyright (c) 1987 Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that this notice is preserved and that due credit is given
+ * to the University of California at Berkeley. The name of the University
+ * may not be used to endorse or promote products derived from this
+ * software without specific written prior permission. This software
+ * is provided ``as is'' without express or implied warranty.
+ */
+
+#if defined(LIBC_SCCS) && !defined(lint)
+static char sccsid[] = "@(#)strcasecmp.c 5.5 (Berkeley) 11/24/87";
+#endif /* LIBC_SCCS and not lint */
+
+#include <sys/types.h>
+#include <string.h>
+
+/*
+ * This array is designed for mapping upper and lower case letter
+ * together for a case independent comparison. The mappings are
+p * based upon ascii character sequences.
+ */
+static unsigned char charmap[] = {
+ '\000', '\001', '\002', '\003', '\004', '\005', '\006', '\007',
+ '\010', '\011', '\012', '\013', '\014', '\015', '\016', '\017',
+ '\020', '\021', '\022', '\023', '\024', '\025', '\026', '\027',
+ '\030', '\031', '\032', '\033', '\034', '\035', '\036', '\037',
+ '\040', '\041', '\042', '\043', '\044', '\045', '\046', '\047',
+ '\050', '\051', '\052', '\053', '\054', '\055', '\056', '\057',
+ '\060', '\061', '\062', '\063', '\064', '\065', '\066', '\067',
+ '\070', '\071', '\072', '\073', '\074', '\075', '\076', '\077',
+ '\100', '\141', '\142', '\143', '\144', '\145', '\146', '\147',
+ '\150', '\151', '\152', '\153', '\154', '\155', '\156', '\157',
+ '\160', '\161', '\162', '\163', '\164', '\165', '\166', '\167',
+ '\170', '\171', '\172', '\133', '\134', '\135', '\136', '\137',
+ '\140', '\141', '\142', '\143', '\144', '\145', '\146', '\147',
+ '\150', '\151', '\152', '\153', '\154', '\155', '\156', '\157',
+ '\160', '\161', '\162', '\163', '\164', '\165', '\166', '\167',
+ '\170', '\171', '\172', '\173', '\174', '\175', '\176', '\177',
+ '\200', '\201', '\202', '\203', '\204', '\205', '\206', '\207',
+ '\210', '\211', '\212', '\213', '\214', '\215', '\216', '\217',
+ '\220', '\221', '\222', '\223', '\224', '\225', '\226', '\227',
+ '\230', '\231', '\232', '\233', '\234', '\235', '\236', '\237',
+ '\240', '\241', '\242', '\243', '\244', '\245', '\246', '\247',
+ '\250', '\251', '\252', '\253', '\254', '\255', '\256', '\257',
+ '\260', '\261', '\262', '\263', '\264', '\265', '\266', '\267',
+ '\270', '\271', '\272', '\273', '\274', '\275', '\276', '\277',
+ '\300', '\341', '\342', '\343', '\344', '\345', '\346', '\347',
+ '\350', '\351', '\352', '\353', '\354', '\355', '\356', '\357',
+ '\360', '\361', '\362', '\363', '\364', '\365', '\366', '\367',
+ '\370', '\371', '\372', '\333', '\334', '\335', '\336', '\337',
+ '\340', '\341', '\342', '\343', '\344', '\345', '\346', '\347',
+ '\350', '\351', '\352', '\353', '\354', '\355', '\356', '\357',
+ '\360', '\361', '\362', '\363', '\364', '\365', '\366', '\367',
+ '\370', '\371', '\372', '\373', '\374', '\375', '\376', '\377',
+};
+
+int
+strcasecmp(char *s1, char *s2)
+{
+ register unsigned char u1, u2;
+
+ for (;;) {
+ u1 = (unsigned char) *s1++;
+ u2 = (unsigned char) *s2++;
+ if (charmap[u1] != charmap[u2]) {
+ return charmap[u1] - charmap[u2];
+ }
+ if (u1 == '\0') {
+ return 0;
+ }
+ }
+}
+
diff --git a/src/backend/port/svr4/rusagestub.h b/src/backend/port/svr4/rusagestub.h
new file mode 100644
index 00000000000..d2393eb792d
--- /dev/null
+++ b/src/backend/port/svr4/rusagestub.h
@@ -0,0 +1,30 @@
+/*-------------------------------------------------------------------------
+ *
+ * rusagestub.h--
+ * Stubs for getrusage(3).
+ *
+ *
+ * Copyright (c) 1994, Regents of the University of California
+ *
+ * rusagestub.h,v 1.1.1.1 1994/11/07 05:19:39 andrew Exp
+ *
+ *-------------------------------------------------------------------------
+ */
+#ifndef RUSAGESTUB_H
+#define RUSAGESTUB_H
+
+#include <sys/time.h> /* for struct timeval */
+#include <sys/times.h> /* for struct tms */
+#include <limits.h> /* for CLK_TCK */
+
+#define RUSAGE_SELF 0
+#define RUSAGE_CHILDREN -1
+
+struct rusage {
+ struct timeval ru_utime; /* user time used */
+ struct timeval ru_stime; /* system time used */
+};
+
+extern int getrusage(int who, struct rusage *rusage);
+
+#endif /* RUSAGESTUB_H */
diff --git a/src/backend/storage/ipc.h b/src/backend/storage/ipc.h
index 9a4bfe7411d..8a4d2225c48 100644
--- a/src/backend/storage/ipc.h
+++ b/src/backend/storage/ipc.h
@@ -6,7 +6,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: ipc.h,v 1.4 1996/07/26 20:39:04 scrappy Exp $
+ * $Id: ipc.h,v 1.4.2.1 1996/08/19 13:47:13 scrappy Exp $
*
* NOTES
* This file is very architecture-specific. This stuff should actually
@@ -122,6 +122,7 @@ extern int S_LOCK_FREE(slock_t *lock);
defined(PORTNAME_i386_solaris) || \
defined(PORTNAME_sparc_solaris) || \
defined(PORTNAME_ultrix4) || \
+ defined(PORTNAME_svr4) || \
defined(WIN32)
union semun {
int val;
diff --git a/src/backend/utils/adt/float.c b/src/backend/utils/adt/float.c
index f4b3bef5438..b33c61025b4 100644
--- a/src/backend/utils/adt/float.c
+++ b/src/backend/utils/adt/float.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/utils/adt/float.c,v 1.2 1996/07/20 08:36:17 scrappy Exp $
+ * $Header: /cvsroot/pgsql/src/backend/utils/adt/float.c,v 1.2.2.1 1996/08/19 13:47:26 scrappy Exp $
*
*-------------------------------------------------------------------------
*/
@@ -1275,7 +1275,7 @@ static int isinf(x)
}
#endif /* PORTNAME_alpha */
-#if defined(PORTNAME_sparc_solaris)||defined(PORTNAME_i386_solaris)
+#if defined(PORTNAME_sparc_solaris)||defined(PORTNAME_i386_solaris) || defined(PORTNAME_svr4)
#include <ieeefp.h>
static int
isinf(d)
diff --git a/src/backend/utils/adt/nabstime.c b/src/backend/utils/adt/nabstime.c
index 3faa3a216f9..27b5208d41a 100644
--- a/src/backend/utils/adt/nabstime.c
+++ b/src/backend/utils/adt/nabstime.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/utils/adt/nabstime.c,v 1.3 1996/07/22 21:56:03 scrappy Exp $
+ * $Header: /cvsroot/pgsql/src/backend/utils/adt/nabstime.c,v 1.3.2.1 1996/08/19 13:47:28 scrappy Exp $
*
*-------------------------------------------------------------------------
*/
@@ -296,6 +296,7 @@ tryabsdate(char *fields[], int nf, struct tm *tm, int *tzp)
defined(PORTNAME_i386_solaris) || \
defined(PORTNAME_irix5) || \
defined(PORTNAME_sparc_solaris) || \
+ defined(PORTNAME_svr4) || \
defined(WIN32)
tzset();
#ifndef WIN32
diff --git a/src/mk/port/postgres.mk.svr4 b/src/mk/port/postgres.mk.svr4
index 18ce27f071a..fba4f2dd1d5 100644
--- a/src/mk/port/postgres.mk.svr4
+++ b/src/mk/port/postgres.mk.svr4
@@ -5,7 +5,7 @@
#
# Copyright (c) 1994-5, Regents of the University of California
#
-# $Id: postgres.mk.svr4,v 1.1.1.1 1996/07/09 06:22:20 scrappy Exp $
+# $Id: postgres.mk.svr4,v 1.1.1.1.2.1 1996/08/19 13:50:44 scrappy Exp $
#
# NOTE
# This file has not been tested. -ay 3/95
@@ -14,6 +14,11 @@
ifndef MK_PORT
MK_PORT= svr4
+# cc won't work?
+#CC= gcc
+CC= cc -W0
+YACC= bison -y
+
#
# for postgres.mk
#
@@ -23,13 +28,48 @@ CFLAGS_BE+= -DUSE_POSIX_SIGNALS
# symbol names to tell them what to export/import.
MAKE_EXPORTS= true
+# RANLIB is not used on svr4
+RANLIB=touch
+
+# GNU install
+INSTALL=/home/tools/bin/install
+
+#
+# Random things that must be passed everywhere to enable
+# everything to compile. :-/
+#
+# The extra -I flag is to scoop up extra BSD-emulating headers.
+CFLAGS_BE+= -DSYSV_DIRENT -I$(POSTGRESDIR)/src/backend/port/svr4
+LDADD_BE+= -lsocket -lnsl -lc /usr/ucblib/libucb.a
+
+LD_ADD+= $(LDADD_BE)
+
+#
+# for postgres.mk
+#
+CFLAGS_OPT= -O
+
#
# for postgres.user.mk
#
-CFLAGS_SL= -K pic
+#CFLAGS_SL= -K pic
+ifeq ($(CC), cc)
+#CFLAGS_SL= -K PIC
+else
+#CFLAGS_SL= -fPIC
+endif
+
SLSUFF= .so
-%.so: %.o
- $(LD) -G $(LDFLAGS) -o $(objdir)/$(@F) $(objdir)/$(<F)
+#%.so: %.o
+# $(LD) -G $(LDFLAGS) -o $(objdir)/$(@F) $(objdir)/$(<F)
+%.so: %.o
+ $(LD) -G -Bdynamic -o $(objdir)/$(@F) $(objdir)/$(<F)
+
+#
+# for postgres.shell.mk
+#
+DASH_N=''
+BACKSLASH_C='\\\\c'
endif