diff options
author | Bruce Momjian | 2004-04-30 04:14:06 +0000 |
---|---|---|
committer | Bruce Momjian | 2004-04-30 04:14:06 +0000 |
commit | d68386a86275c2a4685c010d266663524ff57a2b (patch) | |
tree | 106c34b8922b160dcea27239c24e335d6657ba8f | |
parent | 1bd27e9b8e1f35eba9b71b4777a20da64bd842c7 (diff) |
Minor adjustments to enable public-domain timezone library to be called
from our code.
-rw-r--r-- | src/include/c.h | 4 | ||||
-rw-r--r-- | src/include/port.h | 34 | ||||
-rw-r--r-- | src/interfaces/ecpg/compatlib/Makefile | 3 | ||||
-rw-r--r-- | src/interfaces/ecpg/ecpglib/Makefile | 3 | ||||
-rw-r--r-- | src/interfaces/ecpg/pgtypeslib/Makefile | 5 | ||||
-rw-r--r-- | src/interfaces/ecpg/preproc/Makefile | 3 | ||||
-rw-r--r-- | src/interfaces/ecpg/test/Makefile | 3 | ||||
-rw-r--r-- | src/timezone/README | 2 |
8 files changed, 51 insertions, 6 deletions
diff --git a/src/include/c.h b/src/include/c.h index d7f0f87d3c..7631ca4fd4 100644 --- a/src/include/c.h +++ b/src/include/c.h @@ -310,12 +310,16 @@ typedef unsigned long int uint64; #endif /* Global variable holding time zone information. */ +#ifdef USE_PGTZ +#define TIMEZONE_GLOBAL pg_timezone +#else #ifndef HAVE_UNDERSCORE_TIMEZONE #define TIMEZONE_GLOBAL timezone #else #define TIMEZONE_GLOBAL _timezone #define tzname _tzname /* should be in time.h? */ #endif +#endif /* sig_atomic_t is required by ANSI C, but may be missing on old platforms */ #ifndef HAVE_SIG_ATOMIC_T diff --git a/src/include/port.h b/src/include/port.h index fa9a9c76ca..588dea12c8 100644 --- a/src/include/port.h +++ b/src/include/port.h @@ -177,3 +177,37 @@ extern int pqGethostbyname(const char *name, #define WIFSIGNALED(w) (((w) & 0x7f) > 0 && (((w) & 0x7f) < 0x7f)) #define WTERMSIG(w) ((w) & 0x7f) #endif + +/* + * Internal timezone library + */ +#ifdef USE_PGTZ +#ifndef FRONTEND +#undef localtime +#undef gmtime +#undef asctime +#undef ctime +#undef difftime +#undef mktime +#undef tzset + +#define localtime(timep) pg_localtime(timep) +#define gmtime(timep) pg_gmtime(timep) +#define asctime(timep) pg_asctime(timep) +#define ctime(timep) pg_ctime(timep) +#define difftime(t1,t2) pg_difftime(t1,t2) +#define mktime(tm) pg_mktime(tm) +#define tzset pg_tzset + + +extern struct tm *pg_localtime(const time_t *); +extern struct tm *gg_gmtime(const time_t *); +extern char *pg_asctime(const struct tm *); +extern char *pg_ctime(const time_t *); +extern double pg_difftime(const time_t, const time_t); +extern time_t pg_mktime(struct tm *); +extern void pg_tzset(void); +extern time_t pg_timezone; + +#endif +#endif diff --git a/src/interfaces/ecpg/compatlib/Makefile b/src/interfaces/ecpg/compatlib/Makefile index e1aa631449..a81772b975 100644 --- a/src/interfaces/ecpg/compatlib/Makefile +++ b/src/interfaces/ecpg/compatlib/Makefile @@ -16,7 +16,8 @@ NAME= ecpg_compat SO_MAJOR_VERSION= 1 SO_MINOR_VERSION= 1 -override CPPFLAGS := -I$(top_srcdir)/src/interfaces/ecpg/include -I$(libpq_srcdir) -I$(top_srcdir)/src/include/utils $(CPPFLAGS) +override CPPFLAGS := -I$(top_srcdir)/src/interfaces/ecpg/include -I$(libpq_srcdir) \ + -I$(top_srcdir)/src/include/utils $(CPPFLAGS) override CFLAGS += $(PTHREAD_CFLAGS) SHLIB_LINK = -L../ecpglib -lecpg -L../pgtypeslib -lpgtypes $(libpq) \ $(filter -lintl -lssl -lcrypto -lkrb5 -lcrypt -lm, $(LIBS)) $(PTHREAD_LIBS) diff --git a/src/interfaces/ecpg/ecpglib/Makefile b/src/interfaces/ecpg/ecpglib/Makefile index f142517278..7351eea488 100644 --- a/src/interfaces/ecpg/ecpglib/Makefile +++ b/src/interfaces/ecpg/ecpglib/Makefile @@ -16,7 +16,8 @@ NAME= ecpg SO_MAJOR_VERSION= 4 SO_MINOR_VERSION= 2 -override CPPFLAGS := -I$(top_srcdir)/src/interfaces/ecpg/include -I$(libpq_srcdir) $(CPPFLAGS) +override CPPFLAGS := -I$(top_srcdir)/src/interfaces/ecpg/include \ + -I$(libpq_srcdir) $(CPPFLAGS) override CFLAGS += $(PTHREAD_CFLAGS) OBJS= execute.o typename.o descriptor.o data.o error.o prepare.o memory.o \ diff --git a/src/interfaces/ecpg/pgtypeslib/Makefile b/src/interfaces/ecpg/pgtypeslib/Makefile index d64af96f4d..b85adef2bd 100644 --- a/src/interfaces/ecpg/pgtypeslib/Makefile +++ b/src/interfaces/ecpg/pgtypeslib/Makefile @@ -16,7 +16,10 @@ NAME= pgtypes SO_MAJOR_VERSION= 1 SO_MINOR_VERSION= 2 -override CPPFLAGS := -I$(top_srcdir)/src/interfaces/ecpg/include -I$(top_srcdir)/src/include/utils -I$(libpq_srcdir) $(CPPFLAGS) $(PTHREAD_CFLAGS) +override CPPFLAGS := -I$(top_srcdir)/src/interfaces/ecpg/include \ + -I$(top_srcdir)/src/include/utils -I$(libpq_srcdir) $(CPPFLAGS) \ + $(PTHREAD_CFLAGS) -DFRONTEND + SHLIB_LINK += -lm OBJS= numeric.o datetime.o common.o dt_common.o timestamp.o interval.o \ diff --git a/src/interfaces/ecpg/preproc/Makefile b/src/interfaces/ecpg/preproc/Makefile index 112ee8d811..4abca13d19 100644 --- a/src/interfaces/ecpg/preproc/Makefile +++ b/src/interfaces/ecpg/preproc/Makefile @@ -12,7 +12,8 @@ override CPPFLAGS := -I$(srcdir)/../include -I$(srcdir) $(CPPFLAGS) \ -DMAJOR_VERSION=$(MAJOR_VERSION) \ -DMINOR_VERSION=$(MINOR_VERSION) -DPATCHLEVEL=$(PATCHLEVEL) \ -DINCLUDEDIR=\"$(includedir)\" \ - -DPKGINCLUDEDIR=\"$(pkgincludedir)\" + -DPKGINCLUDEDIR=\"$(pkgincludedir)\" \ + -DFRONTEND ifeq ($(GCC), yes) override CFLAGS += -Wno-error diff --git a/src/interfaces/ecpg/test/Makefile b/src/interfaces/ecpg/test/Makefile index c2c74605de..4096b0dc44 100644 --- a/src/interfaces/ecpg/test/Makefile +++ b/src/interfaces/ecpg/test/Makefile @@ -9,7 +9,8 @@ override CFLAGS += $(PTHREAD_CFLAGS) ECPG = ../preproc/ecpg -I$(srcdir)/../include -TESTS = test1 test2 test3 test4 perftest dyntest dyntest2 test_notice test_code100 test_init testdynalloc num_test dt_test test_informix +TESTS = test1 test2 test3 test4 perftest dyntest dyntest2 test_notice \ + test_code100 test_init testdynalloc num_test dt_test test_informix ifeq ($(enable_thread_safety), yes) TESTS += test_thread test_thread_implicit endif diff --git a/src/timezone/README b/src/timezone/README index 79b6ee7d97..bfea93f1bb 100644 --- a/src/timezone/README +++ b/src/timezone/README @@ -1,7 +1,7 @@ This is a PostgreSQL adapted version of the timezone library from: -ftp://elsie.nci.nih.gov/pub/tz*.tar.gz + ftp://elsie.nci.nih.gov/pub/tz*.tar.gz The interface is used when USE_PGTZ is defined at the top level. This will cause the following functions to be redefined: |