diff options
-rw-r--r-- | src/Makefile.global | 38 | ||||
-rw-r--r-- | src/backend/Makefile | 7 | ||||
-rw-r--r-- | src/backend/catalog/genbki.sh | 4 | ||||
-rw-r--r-- | src/backend/parser/sysfunc.c | 5 | ||||
-rw-r--r-- | src/backend/port/svr4/Makefile.inc | 20 | ||||
-rw-r--r-- | src/backend/port/svr4/machine.h | 19 | ||||
-rw-r--r-- | src/backend/port/svr4/port-protos.h | 38 | ||||
-rw-r--r-- | src/backend/port/svr4/port.c | 143 | ||||
-rw-r--r-- | src/backend/port/svr4/rusagestub.h | 30 | ||||
-rw-r--r-- | src/backend/storage/ipc.h | 3 | ||||
-rw-r--r-- | src/backend/utils/adt/float.c | 4 | ||||
-rw-r--r-- | src/backend/utils/adt/nabstime.c | 3 | ||||
-rw-r--r-- | src/mk/port/postgres.mk.svr4 | 48 |
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 |