summaryrefslogtreecommitdiff
path: root/postgresql
diff options
context:
space:
mode:
authorFridrich Štrba <fridrich.strba@bluewin.ch>2011-12-09 10:59:23 +0100
committerFridrich Štrba <fridrich.strba@bluewin.ch>2011-12-09 11:00:57 +0100
commitefcc41848b7fbdeaf2eea20d232f47f9346c42ce (patch)
treea93005a1e174d70d4e61d1a02f840b57af057dbe /postgresql
parentc83d5a1fe14a65be687f687e0537f1d5e4c820b3 (diff)
Trying to simplify the building of static libpq
Diffstat (limited to 'postgresql')
-rw-r--r--postgresql/makefile.mk33
-rw-r--r--postgresql/postgresql-9.1.1.patch85
-rw-r--r--postgresql/prj/d.lst8
3 files changed, 105 insertions, 21 deletions
diff --git a/postgresql/makefile.mk b/postgresql/makefile.mk
index 438e2ca8b18f..6e85025d49ce 100644
--- a/postgresql/makefile.mk
+++ b/postgresql/makefile.mk
@@ -30,17 +30,16 @@ PRJ=.
PRJNAME=postgresql
TARGET=so_postgresql
-EXT_PROJECT_NAME=postgresql-9.1.1
-MAJOR_VER=9.1
-
# --- Settings -----------------------------------------------------
.INCLUDE : settings.mk
# --- Files --------------------------------------------------------
-TARFILE_NAME=$(EXT_PROJECT_NAME)
+TARFILE_NAME=postgresql-9.1.1
TARFILE_MD5=061a9f17323117c9358ed60f33ecff78
+PATCH_FILES=\
+ $(TARFILE_NAME).patch
.IF "$(SYSTEM_POSTGRESQL)" == "YES"
@all:
@@ -48,7 +47,16 @@ TARFILE_MD5=061a9f17323117c9358ed60f33ecff78
.ENDIF
-BUILD_DIR=.
+.IF "$(GUI)$(COM)"=="WNTGCC"
+CONFIGURE_DIR=.
+BUILD_DIR=src
+
+CONFIGURE_ACTION =
+BUILD_ACTION = nmake -f win32.mak
+.ELSE
+CONFIGURE_DIR=.
+BUILD_DIR=src/interfaces/libpq
+
# TODO:
# --datarootdir changes where libpq expects internationalisation of its messages
# (which we don't install anyway for now...)
@@ -57,18 +65,9 @@ BUILD_DIR=.
.IF "$(VERBOSE)"==""
MAKE_SILENT=-s
.ENDIF
-BUILD_ACTION = \
- ./configure --sysconfdir=/etc/postgresql-common \
- --datarootdir=/usr/share/ \
- --datadir=/usr/share/postgresql/$(MAJOR_VER) \
- --bindir=/usr/lib/postgresql/$(MAJOR_VER)/bin \
- --libdir=/usr/lib/ \
- --includedir=/usr/include/postgresql/ \
- --without-readline \
- && DESTDIR="$(SRC_ROOT)/$(PRJNAME)/$(INPATH)/" \
- && export DESTDIR \
- && make $(MAKE_SILENT) -j$(GMAKE_MODULE_PARALLELISM) -C src/interfaces/libpq install \
- && ./config/install-sh -c -m 644 src/include/postgres_ext.h "$${{DESTDIR}}/usr/include/postgresql/"
+CONFIGURE_ACTION = ./configure --without-readline
+BUILD_ACTION = make $(MAKE_SILENT) -j$(GMAKE_MODULE_PARALLELISM) all-static-lib
+.ENDIF
# --- Targets ------------------------------------------------------
diff --git a/postgresql/postgresql-9.1.1.patch b/postgresql/postgresql-9.1.1.patch
new file mode 100644
index 000000000000..cafb4a308a6b
--- /dev/null
+++ b/postgresql/postgresql-9.1.1.patch
@@ -0,0 +1,85 @@
+--- misc/postgresql-9.1.1/src/interfaces/libpq/win32.mak 2011-09-22 23:57:57.000000000 +0200
++++ misc/build/postgresql-9.1.1/src/interfaces/libpq/win32.mak 2011-12-09 10:44:54.151291450 +0100
+@@ -11,18 +11,19 @@
+
+ # CPU="i386" or CPU environment of nmake.exe (AMD64 or IA64)
+
+-!IF ("$(CPU)" == "")||("$(CPU)" == "i386")
+-CPU=i386
++!IF ("$(CPU)" == "")||("$(CPU)" == "I")
++MACHINE=i386
+ !MESSAGE Building the Win32 static library...
+ !MESSAGE
+-!ELSEIF ("$(CPU)" == "IA64")||("$(CPU)" == "AMD64")
++!ELSEIF ("$(CPU)" == "X")
++MACHINE=AMD64
+ ADD_DEFINES=/D "WIN64" /Wp64 /GS
+ ADD_SECLIB=bufferoverflowU.lib
+ !MESSAGE Building the Win64 static library...
+ !MESSAGE
+ !ELSE
+ !MESSAGE Please check a CPU=$(CPU) ?
+-!MESSAGE CPU=i386 or AMD64 or IA64
++!MESSAGE CPU=I or X
+ !ERROR Make aborted.
+ !ENDIF
+
+@@ -54,7 +55,7 @@
+ !ENDIF
+
+ !IF "$(KFW_LIB_PATH)" == ""
+-KFW_LIB_PATH=C:\kfw-2.6.5\lib\$(CPU)
++KFW_LIB_PATH=C:\kfw-2.6.5\lib\$(MACHINE)
+ !MESSAGE Using default Kerberos Library directory: $(KFW_LIB_PATH)
+ !ENDIF
+
+@@ -67,18 +68,11 @@
+ CPP=cl.exe
+ RSC=rc.exe
+
+-!IFDEF DEBUG
+-OUTDIR=.\Debug
+-INTDIR=.\Debug
+-CPP_OBJS=.\Debug/
+-!ELSE
+-OUTDIR=.\Release
+-INTDIR=.\Release
+-CPP_OBJS=.\Release/
+-!ENDIF
+-
++OUTDIR=$(OUTDIR)/lib
++INTDIR=$(OUTDIR)/lib
++CPP_OBJS=$(OUTDIR)/slo/
+
+-ALL : config "$(OUTDIR)\$(OUTFILENAME).lib" "$(OUTDIR)\$(OUTFILENAME).dll"
++ALL : config "$(OUTDIR)\$(OUTFILENAME).lib"
+
+ CLEAN :
+ -@erase "$(INTDIR)\getaddrinfo.obj"
+@@ -178,7 +172,7 @@
+ "$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+-CPP_PROJ=/nologo /W3 /EHsc $(OPT) /I "..\..\include" /I "..\..\include\port\win32" /I "..\..\include\port\win32_msvc" /I "..\..\port" /I. /I "$(SSL_INC)" \
++CPP_PROJ=/nologo /W3 /EHsc $(OPT) /I "..\..\include" /I "..\..\include\port\win32" /I "..\..\include\port\win32_msvc" /I "..\..\port" /I. $(SOLARINC) \
+ /D "FRONTEND" $(DEBUGDEF) \
+ /D "WIN32" /D "_WINDOWS" /Fp"$(INTDIR)\libpq.pch" \
+ /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c \
+@@ -205,7 +199,7 @@
+ LINK32=link.exe
+ LINK32_FLAGS=kernel32.lib user32.lib advapi32.lib shfolder.lib wsock32.lib ws2_32.lib secur32.lib $(SSL_LIBS) $(KFW_LIB) $(ADD_SECLIB) \
+ /nologo /subsystem:windows /dll $(LOPT) /incremental:no \
+- /pdb:"$(OUTDIR)\libpqdll.pdb" /machine:$(CPU) \
++ /pdb:"$(OUTDIR)\libpqdll.pdb" /machine:$(MACHINE) \
+ /out:"$(OUTDIR)\$(OUTFILENAME).dll"\
+ /implib:"$(OUTDIR)\$(OUTFILENAME)dll.lib" \
+ /libpath:"$(SSL_LIB_PATH)" /libpath:"$(KFW_LIB_PATH)" \
+@@ -222,7 +216,7 @@
+ <<
+
+ "$(INTDIR)\libpq.res" : "$(INTDIR)" libpq-dist.rc
+- $(RSC) $(RSC_PROJ) libpq-dist.rc
++ $(RSC) $(SOLARINC) $(RSC_PROJ) libpq-dist.rc
+
+
+ "$(OUTDIR)\$(OUTFILENAME).dll" : "$(OUTDIR)" "$(INTDIR)\libpq.res"
diff --git a/postgresql/prj/d.lst b/postgresql/prj/d.lst
index 4582682dc159..88c3a86cb8b9 100644
--- a/postgresql/prj/d.lst
+++ b/postgresql/prj/d.lst
@@ -1,7 +1,7 @@
mkdir: %_DEST%\inc\postgresql
-..\%__SRC%\usr\include\postgresql\libpq-fe.h %_DEST%\inc\postgresql\
-..\%__SRC%\usr\include\postgresql\postgres_ext.h %_DEST%\inc\postgresql\
-..\%__SRC%\usr\lib\libpq.a %_DEST%\lib\libpq.a
-#..\%__SRC%\usr\share\locale\* %_DEST%\ TODO
+..\%__SRC%\misc\build\postgresql-*\src\include\postgres_ext.h %_DEST%\inc\postgresql\
+..\%__SRC%\misc\build\postgresql-*\src\interfaces\libpq\libpq-fe.h %_DEST%\inc\postgresql\
+..\%__SRC%\misc\build\postgresql-*\src\interfaces\libpq\libpq.a %_DEST%\lib\
+..\%__SRC%\lib\*.lib %_DEST%\lib\*.lib