First, get the latest source from http://download.osgeo.org/shapelib and extract it in a convenient place.

This library does not have a build system to speak of. The Makefile is so broken it's not even funny. Let's fix it. First, delete the libtool script in the shapefile source directory. Next, replace the Makefile with this:

# -*- Makefile -*-

SHPLIB_VERSION = 1.2.10

CC	?= cc
CFLAGS	?= -O2 -pipe
INSTALL	?= install -c -p -m 644
LD	?= ld
LIBTOOL	?= libtool
MKDIR	?= install -d -m 755
SED	?= sed

PREFIX	?= /usr/local

LIBNAME	 = libshp
SOURCES	 = shpopen.c shptree.c dbfopen.c

LA	 = $(LIBNAME).la
LAI	 = .libs/$(LIBNAME).lai
LO	 = $(SOURCES:.c=.lo)

all: $(LA)

$(LA): $(LO)
	$(LIBTOOL) --tag=CC --mode=link $(LD) $(LDFLAGS) -o $@ $^

install: $(LA) $(LAI)
	$(MKDIR) $(PREFIX)/lib
	$(LIBTOOL) --mode=install $(INSTALL) $(LA) $(PREFIX)/lib
	$(LIBTOOL) --mode=finish $(PREFIX)/lib
	$(MKDIR) $(PREFIX)/include/libshp
	$(INSTALL) shapefil.h $(PREFIX)/include/shapefil.h

clean:
	-rm -f $(LA) $(LAI) $(LO)
	-rm -rf .libs

.SUFFIXES:
.SUFFIXES: .c .lo .la .lai

.c.lo:
	$(LIBTOOL) --tag=CC --mode=compile $(CC) $(CPPFLAGS) $(CFLAGS) -DPACKAGE=\"libshp\" -DVERSION=\"$(SHPLIB_VERSION)\" -I. -c $<

.la.lai:
	sed -e "s@^installed=.*@installed=yes@; s@^libdir=.*@libdir='$(PREFIX)/lib'@" <$< >$@ || (rm -f $@ ; false)

(I would have uploaded it as an attachment, but dokuwiki won't let me)

Make sure your editor didn't mangle the indentation: every indented line must begin with a single tab, no spaces.

Note that if you downloaded a different version than 1.2.10, you should change the value of SHPLIB_VERSION at the top.

Now you can simply build and install:

$ make CC=gcc PREFIX=/c/met.no all install
$ echo "Copyright (c) 1999, Frank Warmerdam" >/c/met.no/copyright/shapelib.txt
$ cat LICENSE.LGPL >>/c/met.no/copyright/shapelib.txt
This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies
  • diana/windows/building/shapefile.txt
  • Last modified: 2022-05-31 09:29:31
  • (external edit)