]> granicus.if.org Git - postgresql/commitdiff
Allow timezone to compile under Unix by blocking 'timezone' conflict with
authorBruce Momjian <bruce@momjian.us>
Fri, 30 Apr 2004 14:24:14 +0000 (14:24 +0000)
committerBruce Momjian <bruce@momjian.us>
Fri, 30 Apr 2004 14:24:14 +0000 (14:24 +0000)
system headers.

Allow system to find timezone database by pasing pkglibdir into the
binary via a define.

src/timezone/Makefile
src/timezone/pgtz.c
src/timezone/private.h

index b94bb663f24e1f44a8cf32d64b37a31b80fb7b8a..ac5926c79c7f687d87ebc5cad59f22fbdf0567c4 100644 (file)
@@ -4,14 +4,16 @@
 #    Makefile for the timezone library
 
 # IDENTIFICATION
-#    $PostgreSQL: pgsql/src/timezone/Makefile,v 1.2 2004/04/30 04:31:52 momjian Exp $
+#    $PostgreSQL: pgsql/src/timezone/Makefile,v 1.3 2004/04/30 14:24:14 momjian Exp $
 #
 #-------------------------------------------------------------------------
 
-subdir = src/tz
+subdir = src/timezone
 top_builddir = ../..
 include $(top_builddir)/src/Makefile.global
 
+override CPPFLAGS += -DPKGLIBDIR=\"$(pkglibdir)\"
+
 OBJS= asctime.o difftime.o localtime.o pgtz.o
 ZICOBJS= zic.o ialloc.o scheck.o localtime.o asctime.o pgtz.o
 
@@ -25,6 +27,7 @@ SUBSYS.o: $(OBJS)
        $(LD) $(LDREL) $(LDOUT) SUBSYS.o $(OBJS)
 
 zic: $(ZICOBJS)
+       $(CC) $(CFLAGS) $(ZICOBJS) $(LDFLAGS) $(LIBS) -o $@$(X)
 
 install: zic
        zic -d $(datadir)/timezone $(TZDATAFILES)
index 7bb789340b98a9916c1ebc95bca71e8e7291840d..8e94fc8c6c5701b6b73d53bf6ed3c483450bc48e 100644 (file)
@@ -6,7 +6,7 @@
  * Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group
  *
  * IDENTIFICATION
- *       $PostgreSQL: pgsql/src/timezone/pgtz.c,v 1.1 2004/04/30 04:09:23 momjian Exp $
+ *       $PostgreSQL: pgsql/src/timezone/pgtz.c,v 1.2 2004/04/30 14:24:14 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -15,7 +15,6 @@
 #include "tzfile.h"
 
 
-#ifdef WIN32
 static char tzdir[MAXPGPATH];
 static int done_tzdir = 0;
 char *pgwin32_TZDIR(void) {
@@ -23,8 +22,12 @@ char *pgwin32_TZDIR(void) {
        if (done_tzdir)
                return tzdir;
 
+#ifndef WIN32
+       StrNCpy(tzdir,PKGLIBDIR, MAXPGPATH);
+#else
        if (GetModuleFileName(NULL,tzdir,MAXPGPATH) == 0)
                return NULL;
+#endif
        
        canonicalize_path(tzdir);
        if ((p = last_path_separator(tzdir)) == NULL)
@@ -32,11 +35,8 @@ char *pgwin32_TZDIR(void) {
        else
                *p = '\0';
        
-       strcat(tzdir,"/../share/timezone");
+       strcat(tzdir,"/../timezone");
 
        done_tzdir=1;
        return tzdir;
 }
-#else
-#error pgwin32_TZDIR not implemented on non win32 yet!
-#endif
index c8f45486837f754d14f5974033afbca4d3a4a82a..4c94b2d21e52522f518b7616fdb9bb19e53f6916 100644 (file)
@@ -88,7 +88,11 @@ static char  privatehid[] = "@(#)private.h   7.53";
 #include "errno.h"
 #include "string.h"
 #include "limits.h"    /* for CHAR_BIT */
+#define _timezone timezone
+#undef timezone
 #include "time.h"
+#define timezone _timezone
+#undef _timezone
 #include "stdlib.h"
 
 #if HAVE_GETTEXT - 0