[postgis-devel] Re: [postgis-users] Building PostGIS from SundayCVS..without PostgreSQL Sources...OK ! ! !

Mark Cave-Ayland m.cave-ayland at webbased.co.uk
Tue Apr 26 03:24:04 PDT 2005


Hi guys,

Before you get too deep, I just thought I would remind you both about the
pgxs feature (new in 8.0) which will allow you to build contrib/ modules
outside of the PostgreSQL source tree. See the output of 'pg_config --pgxs'
for a pointer to the Makefile required.

The advantage of this approach is that it is the official method of building
modules outside of the source tree (and so has the support of the PGDG and
is less likely to break); The disadvantage is that it's not available for
older versions of PostgreSQL.

So far everyone building PostGIS will have required a source tree anyway, so
I can't see that introducing it just for newer versions will affect existing
users too much. What do people think? 


Kind regards,

Mark.

------------------------
WebBased Ltd
South West Technology Centre
Tamar Science Park
Plymouth
PL6 8BT 

T: +44 (0)1752 791021
F: +44 (0)1752 791023
W: http://www.webbased.co.uk
 

> -----Original Message-----
> From: postgis-devel-bounces at postgis.refractions.net 
> [mailto:postgis-devel-bounces at postgis.refractions.net] On 
> Behalf Of Jean David TECHER
> Sent: 26 April 2005 10:56
> To: strk at refractions.net
> Cc: postgis-devel at postgis.refractions.net
> Subject: [postgis-devel] Re: [postgis-users] Building PostGIS 
> from SundayCVS..without PostgreSQL Sources...OK ! ! !
> 
> 
> QUESTION 1:
> > Here you're adding more server headers in case of a build against 
> > MINGW. Question is: who is requiring this ? Which source files are 
> > trying to include things which are not in PGBEINCLUDES (PostgreSQL 
> > Back-End
> > includes) ? Is there a different server-headers layout for 
> postgresql
> > un unix and w32 systems ?
> 
> U need to tell PostGIS where to find file pwd.h, netdb.h  
> which are locatd in include/server/port and 
> include/server/port/win32..or else U will have a error
> 
> QUESTION 2:
> > The value of DLSUFFIX sould be set by configure IMO, the 
> "findstring" 
> > call replaced by an invocation of uname probably. What does 
> uname -s 
> > returns there ?
> uname -s returns
> MINGW32_NT-5.1
> Could do the invocation of uname..;Right :-)
> 
> QUESTION3:
> > Am I missing something or the two blocks (MINGW or not) are exactly 
> > the same in both of the blocks above ?
> 
> Right again...:-) ...But I was in a hurry last sunday...I 
> did'nt read again my change
> 
> QUESTION 4:
> > Why do you need to link statically against the libpq ?
> 
> 
> Hum..Sorry But in Makefile.config.in when U do 
> PGFELIBS=@PGFELIBS@ doesn't work on Windows..I hat a error on 
> a caracter ("squared" caracter [] )
> 
> I had something like
> PGFELIBS=-Lc:/PostgreSQL/lib [] -lpq
> 
> So that's the reason...I think U could change this...
> 
> 
> ---------------------------------------------------------------
> TECHER Jean David
> 01MAP
> e-mail: david at 01map.net
> Tél: 04 67 45 60 27
> Entreprise: http://www.01map.net
> Perso: http://techer.pascal.free.fr/postgis/
> ---------------------------------------------------------------
> ----- Original Message -----
> From: <strk at refractions.net>
> To: "Jean David TECHER" <davidtecher at yahoo.fr>
> Cc: <postgis-devel at postgis.refractions.net>
> Sent: Tuesday, April 26, 2005 11:26 AM
> Subject: Re: [postgis-users] Building PostGIS from Sunday 
> CVS..without PostgreSQL Sources...OK ! ! !
> 
> 
> > On Tue, Apr 26, 2005 at 11:03:34AM +0200, Jean David TECHER wrote:
> >
> > [...]
> > > My patch is attached to this mail 
> (postgis_cvs.patch)...In order to
> applyng
> > > it (thanks to Gerald for patching :-))
> >
> > [...]
> > > The last thing to do -  for people who wants to compil postgis on
> windows -
> > > is to take care of Docbook, iconv.dll and xsltproc
> > > Else 'make install' wil stop for "make -C doc"
> >
> > This is true for all systems. Detecting iconv presence will 
> allow us 
> > to build shp2pgsql with or without utf8 support w/out user (or 
> > packager usually) intervantion. Detecting xsltproc absence 
> should skip 
> > attempt at generating docs. Note anyway that postgis packages come 
> > with documentation already generated, thus a make in doc
> > *should* tells you "nothing to be done here" or something similar. 
> > Your mileage may vary of course... if this is not the case I'd drop 
> > the default attempt at making docs in order to avoid a 
> dependency on 
> > xsltproc.
> >
> > Some comments and questions on the patch:
> >
> > > Here is the contense of the patch:
> > >
> > > --- postgis/Makefile.config.in Tue Apr 19 10:41:21 2005
> > > +++ postgis/Makefile.config.in Mon Apr 25 12:43:59 2005
> > > @@ -71,9 +71,13 @@
> > >  #
> > >  PGCONFIG=@PGCONFIG@
> > >  PGFEINCLUDES=@PGFEINCLUDES@
> > > +ifeq ($(findstring MINGW,$(MSYSTEM)),MINGW) 
> > > +PGBEINCLUDES=@PGBEINCLUDES@ @PGBEINCLUDES@/port
> @PGBEINCLUDES@/port/win32
> > > @PGBEINCLUDES@/port/win32/arpa
> > > +PGFELIBS=$(shell @PGCONFIG@ --libdir)
> > > +else
> > >  PGBEINCLUDES=@PGBEINCLUDES@
> > >  PGFELIBS=@PGFELIBS@
> > > -
> > > +endif
> >
> > Here you're adding more server headers in case of a build against 
> > MINGW. Question is: who is requiring this ? Which source files are 
> > trying to include things which are not in PGBEINCLUDES (PostgreSQL 
> > Back-End
> > includes) ? Is there a different server-headers layout for 
> postgresql
> > un unix and w32 systems ?
> >
> > >  #
> > >  # Docbook
> > >  #
> > > @@ -112,8 +116,13 @@
> > >  #
> > >  # DLL
> > >  #
> > > -DLSUFFIX=@DLSUFFIX@
> > > -DLFLAGS=@DLFLAGS@
> > > +ifeq ($(findstring MINGW,$(MSYSTEM)),MINGW)
> > > + DLSUFFIX=.dll
> > > + DLFLAGS=@DLFLAGS@
> > > +else
> > > + DLSUFFIX=@DLSUFFIX@
> > > + DLFLAGS=@DLFLAGS@
> > > +endif
> >
> > The value of DLSUFFIX sould be set by configure IMO, the 
> "findstring" 
> > call replaced by an invocation of uname probably. What does 
> uname -s 
> > returns there ?
> >
> > >  #---------------------------------------------------------------
> > >  # END OF CONFIGURATION
> > > --- postgis/loader/Makefile Mon Apr 18 14:46:48 2005
> > > +++ postgis/loader/Makefile Mon Apr 25 12:40:44 2005
> > > @@ -32,7 +32,13 @@
> > >   $(CC) $(CFLAGS) $(PGFEINCLUDES) -c $<
> > >
> > >  pgsql2shp$(EXE): $(OBJS) pgsql2shp.o PQunescapeBytea.o
> > > +
> > > +ifeq ($(findstring MINGW,$(MSYSTEM)),MINGW)
> > > + $(CC) $(CFLAGS) $(OBJS) PQunescapeBytea.o pgsql2shp.o $(LDFLAGS)
> > > $(PGFELIBS)/libpq.a -o $@
> > > +else
> > >   $(CC) $(CFLAGS) $(PGFELIBS) $(OBJS) PQunescapeBytea.o 
> pgsql2shp.o
> > > $(LDFLAGS) -o $@
> > > +endif
> > > +
> >
> > Why do you need to link statically against the libpq ?
> >
> > >  shp2pgsql$(EXE): $(OBJS) shp2pgsql.o
> > >   $(CC) $(CFLAGS) $(OBJS) shp2pgsql.o $(LDFLAGS) -o $@
> > > --- postgis/lwgeom/Makefile Wed Apr 20 15:17:37 2005
> > > +++ postgis/lwgeom/Makefile Mon Apr 25 12:09:17 2005
> > > @@ -13,21 +13,32 @@
> > >  # Shared library parameters.
> > >  #
> > >  NAME=lwgeom
> > > +ifeq ($(findstring MINGW,$(MSYSTEM)),MINGW)
> > > +SHLIB           =
> > > lib$(NAME).$(SO_MAJOR_VERSION).$(SO_MINOR_VERSION)$(DLSUFFIX)
> > > +SHLIB_MAJOR     = lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION)
> > > +SHLIB_BARE      = lib$(NAME)$(DLSUFFIX)
> > > +SHLIB_LINK  =
> > > +else
> > >  SHLIB           =
> > > lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION).$(SO_MINOR_VERSION)
> > >  SHLIB_MAJOR     = lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION)
> > >  SHLIB_BARE      = lib$(NAME)$(DLSUFFIX)
> > > -SHLIB_LINK  = $(DLFLAGS)
> > > +SHLIB_LINK  = $(DLFLAGS)
> > > +endif
> > >  MODULE_FILENAME = $(LPATH)/$(SHLIB)
> > >
> > >  #---------------------------------------------------------------
> > >  # Postgis version and build date
> > >  #---------------------------------------------------------------
> > > -
> > > -POSTGIS_VERSION = $(SO_MAJOR_VERSION).$(SO_MINOR_VERSION)
> > > USE_GEOS=$(USE_GEOS) USE_PROJ=$(USE_PROJ) USE_STATS=$(USE_STATS) 
> > > -POSTGIS_LIB_VERSION =
> > > $(SO_MAJOR_VERSION).$(SO_MINOR_VERSION).$(SO_MICRO_VERSION)
> > > -POSTGIS_BUILD_DATE := $(shell date -u "+%Y-%m-%d %H:%M:%S")
> > > -
> > > +ifeq ($(findstring MINGW,$(MSYSTEM)),MINGW)  POSTGIS_VERSION = 
> > > +$(SO_MAJOR_VERSION).$(SO_MINOR_VERSION)
> > > USE_GEOS=$(USE_GEOS) USE_PROJ=$(USE_PROJ) USE_STATS=$(USE_STATS)
> > > + POSTGIS_LIB_VERSION =
> > > $(SO_MAJOR_VERSION).$(SO_MINOR_VERSION).$(SO_MICRO_VERSION)
> > > + POSTGIS_BUILD_DATE := $(shell date -u "+%Y-%m-%d %H:%M:%S") else
> > > + POSTGIS_VERSION = $(SO_MAJOR_VERSION).$(SO_MINOR_VERSION)
> > > USE_GEOS=$(USE_GEOS) USE_PROJ=$(USE_PROJ) USE_STATS=$(USE_STATS)
> > > + POSTGIS_LIB_VERSION =
> > > $(SO_MAJOR_VERSION).$(SO_MINOR_VERSION).$(SO_MICRO_VERSION)
> > > + POSTGIS_BUILD_DATE := $(shell date -u "+%Y-%m-%d 
> %H:%M:%S") endif
> >
> > Am I missing something or the two blocks (MINGW or not) are exactly 
> > the same in both of the blocks above ?
> >
> > >
> > >  #---------------------------------------------------------------
> > >
> > > @@ -87,8 +98,17 @@
> > >
> > >  all: $(GEOS_RULES) $(SHLIB) ../lwpostgis.sql
> > >
> > > +#------------ It's for Win32 -----------------------------------
> > >  $(SHLIB): $(OBJS)
> > > +
> > > +ifeq ($(findstring MINGW,$(MSYSTEM)),MINGW)
> > > + dlltool --export-all  --output-def lwgeom.def $(OBJS)  
> dllwrap  -o 
> > > +$@ --dllname $@ --def lwgeom.def $(OBJS)
> > > $(SHLIB_LINK) -L$(shell pg_config --libdir) -lpostgres
> > > + dlltool --dllname $@  --def lwgeom.def --output-lib liblwgeom.a 
> > > +else
> > >   $(CC) $(SHLIB_LINK) -o $(SHLIB) $(OBJS)
> > > +endif
> >
> > This should be fine, except last dlltool call is for building the 
> > liblwgeom.a, which is not needed.
> >
> > --strk;
> >
> > > +
> > >
> > >  wktparse.tab.c: wktparse.y
> > >   $(YACC) -vd -p lwg_parse_yy wktparse.y
> > >
> > > ---------------------------------------------------------------
> > > TECHER Jean David
> > > 01MAP
> > > e-mail: david at 01map.net
> > > Tél: 04 67 45 60 27
> > > Entreprise: http://www.01map.net
> > > Perso: http://techer.pascal.free.fr/postgis/
> > > ---------------------------------------------------------------
> > > ----- Original Message -----
> > > From: <strk at refractions.net>
> > > To: "Jean David TECHER" <davidtecher at yahoo.fr>
> > > Cc: "PostGIS Users Discussion" 
> > > <postgis-users at postgis.refractions.net>
> > > Sent: Monday, April 25, 2005 1:44 AM
> > > Subject: Re: [postgis-users] Building PostGIS from Sunday 
> CVS..without
> > > PostgreSQL Sources...OK ! ! !
> > >
> > >
> > > > On Sun, Apr 24, 2005 at 07:39:38PM +0200, Jean David 
> TECHER wrote:
> > > > > Hi Sandro and PostGIS'ers,
> > > > >
> > > > > Last Sunday, I decided to compil PostGIS from CVS 
> (form sunday 
> > > > > in
> the
> > > afternoon)...
> > > > >
> > > > > Since the goal is to build PostGIS WITHOUT PostgreSQL sources 
> > > > > but
> from
> > > the binairies installed on the computer
> > > > > the tests on Windows for me is OK...Successfull...I 
> did it for 
> > > > > PG
> 8.0.2,
> > > Geos 2.1.1 and Proj 4.4.9
> > > >
> > > > Good news!
> > > > Weird I didn't change anything since your worried mails ;)
> > > >
> > > > > The only changes -I had to do - were to make few changes on:
> > > > >
> > > > > -1/ postgis/Makefile.config.in
> > > > >
> > > > > - 2/postgis/lwgeom/Makefile
> > > > >
> > > > > - 3/postgis/loader/Makefile
> > > > >
> > > > > For each file, I used
> > > > >
> > > > > ifeq ($(findstring MINGW,$(MSYSTEM)),MINGW)
> > > > >      XXXXXXXXX
> > > > > else
> > > > >      XXXXXXXXXX
> > > > > endif
> > > >
> > > > I'd put the XXXXXX all in Makefile.config.in.
> > > >
> > > > > The changes in files are at the end of this files (sorry, I 
> > > > > didn't
> at
> > > enough times to make patch... :-[ ....)
> > > > > Since i'm not at job on Monday but Tuesday, I will do 
> a resume 
> > > > > doc
> next
> > > Tuesday
> > > > >
> > > > > NOTICE: For creating postgis doc, I need to have
> > > docbook-xslt-stylesheets, xlstproc and icon.dll installed on 
> > > Windows..Nevermind
> > > > > Just 3 downloading to do.
> > > > >
> > > > > cvs -d:pserver:cvs at postgis.refractions.net:/home/cvs/postgis 
> > > > > login cvs 
> > > > > -d:pserver:cvs at postgis.refractions.net:/home/cvs/postgis co
> postgis
> > > > > cd postgis
> > > > > autoconf
> > > > > configure --enable-autotconf --with-geos=`which geos-config`
> > > >
> > > > If geos-config is in your PATH, which is what you expect using 
> > > > which,
> > > there should be
> > > > no need to be explicit. A simple --with-geos should work.
> > > >
> > > > > make
> > > > > make install
> > > > > cd regress
> > > > > make
> > > > >
> > > > > Regression Tests, Loading some data with the laoder (...) work
> fine...
> > > >
> > > > Thanks! See you on Tuesday with patches then :)
> > > > --strk;
> > > >
> > > > >
> > > > >
> > > > >
> > >
> //////////////////////////////////////////////////////////////
> //////////////
> > >
> //////////////////////////////////////////////////////////////
> //////////////
> > >
> //////////////////////////////////////////////////////////////
> //////////////
> > > /////////////
> > > > >
> > >
> ========================================[postgis/Makefile.conf
> ig.in ]=======
> > > =======================================================
> > > > > 
> #---------------------------------------------------------------
> > > > > # Configuration Directives
> > > > > 
> #---------------------------------------------------------------
> > > > >
> > > > > #
> > > > > # We recommend that you install the Proj4 and GEOS 
> libraries # 
> > > > > referenced below to get the most use out of your PostGIS # 
> > > > > database.
> > > > >
> > > > > #
> > > > > # Set USE_PROJ to 1 for Proj4 reprojection support 
> (recommended) 
> > > > > # # Reprojection allows you to transform coordinate systems
> > > > > # in the database with the Transform() function.
> > > > > #
> > > > > # Download from: http://www.remotesensing.org/proj
> > > > > #
> > > > > USE_PROJ=@USE_PROJ@
> > > > > PROJ_DIR=@PROJ_DIR@
> > > > >
> > > > > #
> > > > > # Set USE_GEOS to 1 for GEOS spatial predicate and operator # 
> > > > > support (recommended). # GEOS installation directory 
> defaults to 
> > > > > /usr/local, # set GEOS_DIR environment variable to change it.
> > > > > #
> > > > > # GEOS allows you to do exact topological tests, such as
> > > > > # Intersects() and Touches(), as well as geometry operations,
> > > > > # such as Buffer(), GeomUnion() and Difference().
> > > > > #
> > > > > # Download from: http://geos.refractions.net
> > > > > #
> > > > > USE_GEOS=@USE_GEOS@
> > > > > GEOS_DIR=@GEOS_DIR@
> > > > >
> > > > > #
> > > > > # Set USE_JTS to 1 if you have libjts installed.
> > > > > #
> > > > > USE_JTS=0
> > > > > JTS_INCLUDES=@JTS_INCLUDES@
> > > > > JTS_LIBDIR=@JTS_LIBDIR@
> > > > >
> > > > > #
> > > > > # Set USE_STATS to 1 for new GiST statistics 
> collection support 
> > > > > # Note that this support requires additional columns in # 
> > > > > GEOMETRY_COLUMNS, so see the list archives for info 
> or # install 
> > > > > a fresh database using postgis.sql. # This option is 
> useless for 
> > > > > builds against PGSQL>=80 (stats # are always gathered in that 
> > > > > case, and you don't need additional # columns in 
> > > > > geometry_columns). #
> > > > > USE_STATS=1
> > > > >
> > > > > #
> > > > > # Set AUTOCACHE_BBOX to 0 if you want finer control over # 
> > > > > bounding box computation and caching for your 
> geometries. # If 
> > > > > you do, bbox computattion strategies are listed in # the file 
> > > > > lwgeom/BBOXCACHE_BEHAVIOURS, but don't expect # them 
> to be easy 
> > > > > nor consistent. #
> > > > > AUTOCACHE_BBOX=1
> > > > >
> > > > > #
> > > > > # Set USE_ICONV to 1 if you want the loader (shp2pgsql) # to 
> > > > > support UTF-8 output. #
> > > > > USE_ICONV=0
> > > > >
> > > > > #
> > > > > # PGSQL
> > > > > #
> > > > > PGCONFIG=@PGCONFIG@
> > > > > PGFEINCLUDES=@PGFEINCLUDES@
> > > > > ifeq ($(findstring MINGW,$(MSYSTEM)),MINGW) 
> > > > > PGBEINCLUDES=@PGBEINCLUDES@ @PGBEINCLUDES@/port
> > > @PGBEINCLUDES@/port/win32 @PGBEINCLUDES@/port/win32/arpa
> > > > > else
> > > > > PGFELIBS=@PGFELIBS@
> > > > > endif
> > > > > #
> > > > > # Docbook
> > > > > #
> > > > > XSLBASE=@XSLBASE@
> > > > >
> > > > > #
> > > > > # Compilers
> > > > > #
> > > > > CC=@CC@
> > > > > CXX=@CXX@
> > > > >
> > > > > #
> > > > > # Other programs
> > > > > #
> > > > > FLEX=@FLEX@
> > > > > YACC=@YACC@
> > > > > INSTALL=@INSTALL@ -c
> > > > > INSTALL_DATA=$(INSTALL) -m 644
> > > > > INSTALL_BIN=$(INSTALL) -m 755
> > > > > INSTALL_LIB=$(INSTALL) -m 755
> > > > >
> > > > > #
> > > > > # PATHS
> > > > > #
> > > > > prefix=@prefix@
> > > > > exec_prefix=@exec_prefix@
> > > > > bindir=@bindir@
> > > > > datadir=@datadir@
> > > > > mandir=@mandir@
> > > > > docdir=@docdir@
> > > > > libdir=@libdir@
> > > > > libexecdir=@libexecdir@ MODULE_INSTALLDIR=@MODULE_INSTALLDIR@
> > > > > LPATH=@LPATH@
> > > > >
> > > > > #
> > > > > # DLL
> > > > > #
> > > > > ifeq ($(findstring MINGW,$(MSYSTEM)),MINGW)  DLSUFFIX=.dll
> > > > >  DLFLAGS=@DLFLAGS@
> > > > > else
> > > > >  DLSUFFIX=@DLSUFFIX@
> > > > >  DLFLAGS=@DLFLAGS@
> > > > > endif
> > > > >
> > > > > 
> #---------------------------------------------------------------
> > > > > # END OF CONFIGURATION
> > > > > 
> #---------------------------------------------------------------
> > > > >
> > > > > # Use JTS instead of GEOS if available
> > > > > ifeq ($(USE_JTS),1)
> > > > >  USE_GEOS=0
> > > > > endif
> > > > >
> > > > > 
> #---------------------------------------------------------------
> > > > > # Test the version string and set the USE_VERSION macro # 
> > > > > appropriately. #
> > > > > VERSION=$(shell $(PGCONFIG) --version)
> > > > > ifneq ($(findstring 7.1,$(VERSION)),)
> > > > >  USE_VERSION=71
> > > > > else
> > > > >  ifneq ($(findstring 7.2,$(VERSION)),)
> > > > >   USE_VERSION=72
> > > > >  else
> > > > >   ifneq ($(findstring 7.3,$(VERSION)),)
> > > > >    USE_VERSION=73
> > > > >   else
> > > > >    ifneq ($(findstring 7.4,$(VERSION)),)
> > > > >     USE_VERSION=74
> > > > >    else
> > > > >     USE_VERSION=80
> > > > >    endif
> > > > >   endif
> > > > >  endif
> > > > > endif
> > > > >
> > > > >
> > > > >
> > >
> ==============================================================
> ==============
> > > ==============================================
> > > > > ========================================[
> > >
> postgis/lwgeom/Makefile 
> ]===================================================
> > > ===========
> > > > > # Configuration Directives
> > > > > include ../Makefile.config
> > > > > include ../Version.config
> > > > >
> > > > > 
> #---------------------------------------------------------------
> > > > > # Default missing CXX variable to c++
> > > > > #
> > > > > ifeq ($(CXX),)
> > > > >  CXX = c++
> > > > > endif
> > > > >
> > > > > 
> #---------------------------------------------------------------
> > > > > # Shared library parameters.
> > > > > #
> > > > > NAME=lwgeom
> > > > > ifeq ($(findstring MINGW,$(MSYSTEM)),MINGW)
> > > > > SHLIB           =
> > > lib$(NAME).$(SO_MAJOR_VERSION).$(SO_MINOR_VERSION)$(DLSUFFIX)
> > > > > SHLIB_MAJOR     = lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION)
> > > > > SHLIB_BARE      = lib$(NAME)$(DLSUFFIX)
> > > > > SHLIB_LINK  =
> > > > > else
> > > > > SHLIB           =
> > > lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION).$(SO_MINOR_VERSION)
> > > > > SHLIB_MAJOR     = lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION)
> > > > > SHLIB_BARE      = lib$(NAME)$(DLSUFFIX)
> > > > > SHLIB_LINK  = $(DLFLAGS)
> > > > > endif
> > > > >
> > > > > MODULE_FILENAME = $(LPATH)/$(SHLIB)
> > > > >
> > > > > 
> #---------------------------------------------------------------
> > > > > # Postgis version and build date
> > > > > 
> #---------------------------------------------------------------
> > > > > ifeq ($(findstring MINGW,$(MSYSTEM)),MINGW)  
> POSTGIS_VERSION = 
> > > > > $(SO_MAJOR_VERSION).$(SO_MINOR_VERSION)
> > > USE_GEOS=$(USE_GEOS) USE_PROJ=$(USE_PROJ) USE_STATS=$(USE_STATS)
> > > > >  POSTGIS_LIB_VERSION =
> > > $(SO_MAJOR_VERSION).$(SO_MINOR_VERSION).$(SO_MICRO_VERSION)
> > > > >  POSTGIS_BUILD_DATE := $(shell date -u "+%Y-%m-%d %H:%M:%S") 
> > > > > else  POSTGIS_VERSION = 
> $(SO_MAJOR_VERSION).$(SO_MINOR_VERSION)
> > > USE_GEOS=$(USE_GEOS) USE_PROJ=$(USE_PROJ) USE_STATS=$(USE_STATS)
> > > > >  POSTGIS_LIB_VERSION =
> > > $(SO_MAJOR_VERSION).$(SO_MINOR_VERSION).$(SO_MICRO_VERSION)
> > > > >  POSTGIS_BUILD_DATE := $(shell date -u "+%Y-%m-%d %H:%M:%S") 
> > > > > endif
> > > > >
> > > > > 
> #---------------------------------------------------------------
> > > > >
> > > > > override CFLAGS += -g -O2 -fexceptions
> > > > > override CFLAGS += -fPIC
> > > > > #override CFLAGS
> > > += -I$(srcdir) -DFRONTEND -DSYSCONFDIR='"$(sysconfdir)"'
> > > > > override CFLAGS += -DUSE_VERSION=$(USE_VERSION) 
> override CFLAGS 
> > > > > += -DPOSTGIS_LIB_VERSION='"$(POSTGIS_LIB_VERSION)"'
> > > > > override CFLAGS += 
> > > > > -DPOSTGIS_SCRIPTS_VERSION='"$(SCRIPTS_VERSION)"'
> > > > > override CFLAGS += 
> -DPOSTGIS_BUILD_DATE='"$(POSTGIS_BUILD_DATE)"'
> > > > >
> > > > > JTS_OBJ=lwgeom_nojts.o
> > > > > ifeq ($(USE_GEOS),1)
> > > > >  override CFLAGS += -I$(GEOS_DIR)/include -DUSE_GEOS  
> > > > > GEOS_RULES=detect_geos_version  
> > > > > GEOS_WRAPPER=lwgeom_geos_wrapper.o
> > > > >  JTS_OBJ=lwgeom_geos.o
> > > > >  SHLIB_LINK += -lstdc++ -L$(GEOS_DIR)/lib -lgeos
> > > > > endif
> > > > >
> > > > > ifeq ($(USE_JTS),1)
> > > > >  override CFLAGS += -I$(JTS_INCLUDES) -DUSE_JTS  
> > > > > JTS_WRAPPER=lwgeom_jts_wrapper.o  JTS_OBJ=lwgeom_jts.o
> > > > >  SHLIB_LINK += -lgcj -ljts -lstdc++ -L$(JTS_LIBDIR)
> > > > > endif
> > > > >
> > > > > ifeq ($(USE_PROJ),1)
> > > > >  override CFLAGS += -I$(PROJ_DIR)/include -DUSE_PROJ  
> SHLIB_LINK 
> > > > > += -L$(PROJ_DIR)/lib -lproj endif
> > > > >
> > > > > override CFLAGS +=
> $(PGBEINCLUDES) -DAUTOCACHE_BBOX=$(AUTOCACHE_BBOX)
> > > > >
> > > > > override CXXFLAGS := $(CFLAGS)
> > > > > # memory debug for gcc 2.91, 2.95, 3.0 and 3.1
> > > > > # for gcc >= 3.2.2 set GLIBCPP_FORCE_NEW at runtime instead 
> > > > > #override CXXFLAGS += -D__USE_MALLOC
> > > > >
> > > > > 
> #---------------------------------------------------------------
> > > > > # Add index selectivity to C flags
> > > > > #
> > > > > ifeq ($(USE_STATS),1)
> > > > >  override CFLAGS += -DUSE_STATS
> > > > > endif
> > > > >
> > > > > SA_OBJS=measures.o box2d.o ptarray.o lwgeom_api.o lwgeom.o 
> > > > > lwpoint.o
> > > lwline.o lwpoly.o lwmpoint.o lwmline.o lwmpoly.o lwcollection.o
> > > $(GEOS_WRAPPER) $(JTS_WRAPPER) wktunparse.o lwgparse.o 
> > > wktparse.tab.o lex.yy.o vsprintf.o
> > > > >
> > > > > OBJS=$(SA_OBJS) liblwgeom.o lwgeom_pg.o lwgeom_debug.o
> lwgeom_spheroid.o
> > > lwgeom_ogc.o lwgeom_functions_analytic.o $(JTS_OBJ) 
> lwgeom_inout.o 
> > > lwgeom_estimate.o lwgeom_functions_basic.o lwgeom_gist.o 
> > > lwgeom_btree.o lwgeom_transform.o stringBuffer.o lwgeom_box.o 
> > > lwgeom_box3d.o lwgeom_box2dfloat4.o lwgeom_chip.o lwgeom_svg.o 
> > > lwgeom_gml.o lwgeom_triggers.o lwgeom_dump.o
> > > > >
> > > > > #OTHERS=y.output lex.yy.c wktparse.tab.c wktparse.tab.h
> lwpostgis.sql
> > > > > OTHERS=y.output lwpostgis.sql ../lwpostgis.sql
> postgis_geos_version.h
> > > > >
> > > > >
> > > > > 
> #---------------------------------------------------------------
> > > > > # Makefile targets
> > > > >
> > > > > all: $(GEOS_RULES) $(SHLIB) ../lwpostgis.sql
> > > > >
> > > > > #------------ It's for Win32 
> -----------------------------------
> > > > > $(SHLIB): $(OBJS)
> > > > >
> > > > > ifeq ($(findstring MINGW,$(MSYSTEM)),MINGW)
> > > > >  dlltool --export-all  --output-def lwgeom.def 
> $(OBJS)  dllwrap  
> > > > > -o $@ --dllname $@ --def lwgeom.def $(OBJS)
> > > $(SHLIB_LINK) -L$(shell pg_config --libdir) -lpostgres
> > > > >  dlltool --dllname $@  --def lwgeom.def --output-lib 
> liblwgeom.a 
> > > > > else
> > > > >  $(CC) $(SHLIB_LINK) -o $(SHLIB) $(OBJS)
> > > > > endif
> > > > >
> > > > >
> > > > > wktparse.tab.c: wktparse.y
> > > > >  $(YACC) -vd -p lwg_parse_yy wktparse.y
> > > > >  mv -f y.tab.c wktparse.tab.c
> > > > >  mv -f y.tab.h wktparse.tab.h
> > > > >
> > > > >
> > > > > lex.yy.c: wktparse.lex wktparse.tab.c
> > > > >  $(FLEX) -Plwg_parse_yy -i -f -o'lex.yy.c' wktparse.lex
> > > > >
> > > > > lwgeom_jts_wrapper.o: lwgeom_jts_wrapper.cpp
> > > > >
> > > > > lwgeom_geos_wrapper.o: lwgeom_geos_wrapper.cpp
> > > > >
> > > > > lwgeom_geos.o: lwgeom_geos.c profile.h
> > > > >
> > > > > lwgeom_jts.o: lwgeom_jts.c profile.h
> > > > >
> > > > > lwgeom_nojts.o: lwgeom_nojts.c
> > > > >
> > > > > lwgeom_functions_basic.o: lwgeom_functions_basic.c profile.h
> > > > >
> > > > > # Shared library stuff
> > > > >
> > > > > ../lwpostgis.sql: lwpostgis.sql
> > > > >  cp lwpostgis.sql ..
> > > > >
> > > > > lwpostgis.sql: lwpostgis.sql.in
> > > > >  cpp -P -traditional-cpp -DUSE_VERSION=$(USE_VERSION) 
> $< | sed 
> > > > > -e
> > >
> 's:@MODULE_FILENAME@:$(MODULE_FILENAME):g;s:@POSTGIS_VERSION@:
> $(POSTGIS_VERS
> > >
> ION):g;s:@POSTGIS_SCRIPTS_VERSION@:$(SCRIPTS_VERSION):g;s/@POS
> TGIS_BUILD_DAT
> > > E@/$(POSTGIS_BUILD_DATE)/g' | grep -v '^#' > $@
> > > > >
> > > > > install: all install-lwgeom-lib install-lwgeom-scripts
> > > > >
> > > > > install-lwgeom-scripts:
> > > > >  @mkdir -p $(datadir)
> > > > >  $(INSTALL_DATA) lwpostgis.sql $(datadir)/lwpostgis.sql
> > > > >  $(INSTALL_DATA) ../spatial_ref_sys.sql
> $(datadir)/spatial_ref_sys.sql
> > > > >
> > > > > #- This has been copied from postgresql and adapted
> > > > > install-lwgeom-lib: $(SHLIB)
> > > > >  @mkdir -p $(MODULE_INSTALLDIR)
> > > > >  $(INSTALL_LIB) $< $(MODULE_INSTALLDIR)/$(SHLIB)
> > > > >
> > > > > ifneq ($(PORTNAME), win)
> > > > > ifneq ($(SHLIB), $(SHLIB_MAJOR))
> > > > >  cd $(MODULE_INSTALLDIR) && \
> > > > >  rm -f $(SHLIB_MAHOR) && \
> > > > >  ln -sf $(SHLIB) $(SHLIB_MAJOR)
> > > > > endif
> > > > > ifneq ($(SHLIB), lib$(NAME)$(DLSUFFIX))
> > > > >  cd $(MODULE_INSTALLDIR) && \
> > > > >  rm -f $(SHLIB_BARE) && \
> > > > >  ln -sf $(SHLIB) $(SHLIB_BARE)
> > > > > endif
> > > > > endif # not win
> > > > >
> > > > > uninstall-lib:
> > > > >  rm -f $(MODULE_INSTALLDIR)/$(SHLIB)
> > > > >  rm -f $(MODULE_INSTALLDIR)/$(SHLIB_MAJOR)
> > > > >  rm -f $(MODULE_INSTALLDIR)/$(SHLIB_BARE)
> > > > >
> > > > > #----------------------------------------------------------
> > > > >
> > > > > detect_geos_version:
> > > > >  sh ../geos_version.sh $(GEOS_DIR) > postgis_geos_version.h
> > > > >
> > > > > uninstall-lwgeom-scripts:
> > > > >  rm -f $(datadir)/postgis/lwpostgis.sql
> > > > >  rm -f $(datadir)/postgis/spatial_ref_sys.sql
> > > > >
> > > > > uninstall: uninstall-lib uninstall-lwgeom-scripts
> > > > >
> > > > > clean-lib:
> > > > >  rm -f $(SHLIB) $(SHLIB_MAJOR) $(SHLIB_BARE)
> > > > >
> > > > > clean distclean: clean-lib
> > > > >  rm -f *.o *.so *.a test $(OTHERS)
> > > > >
> > > > > maintainer-clean: clean
> > > > >  rm  -f lex.yy.c wktparse.tab.c wktparse.tab.h
> > > > >
> > > > > liblwgeom_sa.o: liblwgeom.c
> > > > >  $(CC) -DSTANDALONE -o $@ -c $<
> > > > >
> > > > > liblwgeom_sa.so: $(SA_OBJS) liblwgeom_sa.o
> > > > >  $(CC) -shared -o $@ $^
> > > > >
> > > > > liblwgeom_sa.a: $(SA_OBJS) liblwgeom_sa.o
> > > > >  $(AR) -rc $@ $^
> > > > >
> > > > >
> > > > > test: liblwgeom_sa.so liblwgeom_sa.a test.c
> > > > >  $(CC) -Wall -lm -g -o test test.c liblwgeom_sa.a
> > > > >
> > > > > tsort:
> > > > >  lorder $(SA_OBJS) | tsort
> > > > >
> > > > >
> > >
> ==============================================================
> ==============
> > > ==============================================
> > > > > ========================================[ 
> > > > > postgis/loader/Makefile ]
> > > ===============================================================
> > > > > include ../Makefile.config
> > > > >
> > > > > #
> > > > > # PostGIS Loader Makefile
> > > > > #
> > > > > SHELL = /bin/sh
> > > > >
> > > > > subdir = contrib/postgis/loader
> > > > > EXE =
> > > > >
> > > > > UNAME = $(shell uname)
> > > > > ifeq ($(findstring CYGWIN,$(UNAME)),CYGWIN)
> > > > >  EXE = .exe
> > > > > endif
> > > > > ifeq ($(findstring MINGW,$(UNAME)),MINGW)
> > > > >  EXE = .exe
> > > > > endif
> > > > >
> > > > > OBJS = shpopen.o dbfopen.o getopt.o
> > > > >
> > > > > 
> #---------------------------------------------------------------
> > > > >
> > > > > ifeq ($(USE_ICONV),1)
> > > > >  override CFLAGS += -DUSE_ICONV
> > > > > endif
> > > > >
> > > > > override CFLAGS := -g -Wall -I..
> $(CFLAGS) -DUSE_VERSION=$(USE_VERSION)
> > > > >
> > > > > all: shp2pgsql$(EXE) pgsql2shp$(EXE)
> > > > >
> > > > > pgsql2shp.o: pgsql2shp.c
> > > > >  $(CC) $(CFLAGS) $(PGFEINCLUDES) -c $<
> > > > >
> > > > > pgsql2shp$(EXE): $(OBJS) pgsql2shp.o PQunescapeBytea.o
> > > > >
> > > > > ifeq ($(findstring MINGW,$(MSYSTEM)),MINGW)
> > > > >  $(CC) $(CFLAGS) $(OBJS) PQunescapeBytea.o pgsql2shp.o 
> > > > > $(LDFLAGS)
> > > $(shell pg_config --libdir)/libpq.a -o $@
> > > > > else
> > > > >  $(CC) $(CFLAGS) $(PGFELIBS) $(OBJS) PQunescapeBytea.o 
> > > > > pgsql2shp.o
> > > $(LDFLAGS) -o $@
> > > > > endif
> > > > >
> > > > >
> > > > > shp2pgsql$(EXE): $(OBJS) shp2pgsql.o
> > > > >  $(CC) $(CFLAGS) $(OBJS) shp2pgsql.o $(LDFLAGS) -o $@
> > > > >
> > > > > install: all
> > > > >  @mkdir -p $(bindir)
> > > > >  $(INSTALL_BIN) pgsql2shp$(EXE) $(bindir)/pgsql2shp$(EXE)
> > > > >  $(INSTALL_BIN) shp2pgsql$(EXE) $(bindir)/shp2pgsql$(EXE)
> > > > >
> > > > > uninstall:
> > > > >  rm -f $(bindir)/pgsql2shp$(EXE)
> > > > >  rm -f $(bindir)/shp2pgsql$(EXE)
> > > > >
> > > > > clean:
> > > > >  rm -f $(OBJS) shp2pgsql.o pgsql2shp.o shp2pgsql$(EXE)
> pgsql2shp$(EXE)
> > > > >
> > > > >
> > > > >
> > >
> ==============================================================
> ==============
> > >
> ==============================================----------------
> --------------
> > > ---------------------------------
> > > > > TECHER Jean David
> > > > > 01MAP
> > > > > e-mail: david at 01map.net
> > > > > Tél: 04 67 45 60 27
> > > > > Entreprise: http://www.01map.net
> > > > > Perso: http://techer.pascal.free.fr/postgis/
> > > > > 
> ---------------------------------------------------------------
> > > > > _______________________________________________
> > > > > postgis-users mailing list 
> postgis-users at postgis.refractions.net
> > > > > http://postgis.refractions.net/mailman/listinfo/postgis-users
> > > >
> >
> >
> 
> 
> 
> _______________________________________________
> postgis-devel mailing list postgis-devel at postgis.refractions.net
> http://postgis.refractions.net/mailman/listinfo/postgis-devel
> 





More information about the postgis-devel mailing list