forked from mxe/mxe
-
Notifications
You must be signed in to change notification settings - Fork 0
/
spatialite.mk
46 lines (41 loc) · 2.11 KB
/
spatialite.mk
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# This file is part of MXE. See LICENSE.md for licensing information.
PKG := spatialite
$(PKG)_WEBSITE := https://www.gaia-gis.it/fossil/libspatialite/index
$(PKG)_DESCR := SpatiaLite
$(PKG)_IGNORE :=
$(PKG)_VERSION := 5.0.1
$(PKG)_CHECKSUM := eecbc94311c78012d059ebc0fae86ea5ef6eecb13303e6e82b3753c1b3409e98
$(PKG)_SUBDIR := libspatialite-$($(PKG)_VERSION)
$(PKG)_FILE := libspatialite-$($(PKG)_VERSION).tar.gz
$(PKG)_URL := https://www.gaia-gis.it/gaia-sins/libspatialite-sources/$($(PKG)_FILE)
$(PKG)_DEPS := cc dlfcn-win32 freexl geos libiconv libxml2 proj sqlite zlib \
minizip
define $(PKG)_UPDATE
$(WGET) -q -O- 'https://www.gaia-gis.it/gaia-sins/libspatialite-sources/' | \
$(SED) -n 's,.*libspatialite-\([0-9][^>]*\)\.tar.*,\1,p' | \
tail -1
endef
define $(PKG)_BUILD
# freeXL support is only necessary if you want to be able to parse .xls files.
# If you disable freexl support, remove freexl from the test program below.
cd '$(SOURCE_DIR)' && autoreconf -fi -I ./m4
cd '$(SOURCE_DIR)' && ./configure \
$(MXE_CONFIGURE_OPTS) \
LIBS="`'$(TARGET)-pkg-config' --libs proj minizip`" \
--enable-freexl=yes \
--disable-rttopo \
--with-geosconfig='$(PREFIX)/$(TARGET)/bin/geos-config'
# also compiles demos
$(MAKE) -C '$(SOURCE_DIR)' -j '$(JOBS)' $(if $(BUILD_SHARED), LDFLAGS='-no-undefined')
$(MAKE) -C '$(SOURCE_DIR)' -j 1 $(INSTALL_STRIP_LIB)
# compile one of the demo programs
'$(TARGET)-gcc' $(if $(BUILD_SHARED), -Wno-undefined) \
-W -Wall -ansi -pedantic \
'$(SOURCE_DIR)/examples/demo4.c' -o '$(PREFIX)/$(TARGET)/bin/test-spatialite.exe' \
`'$(TARGET)-pkg-config' $(PKG) sqlite3 freexl proj zlib liblzma --cflags --libs`
# create a batch file to run the test program (as the program requires arguments)
(printf 'REM run against a database that should not exist, but will be removed afterward to save space.\r\n'; \
printf 'test-spatialite.exe test-db.sqlite\r\n'; \
printf 'del test-db.sqlite\r\n';) \
> '$(PREFIX)/$(TARGET)/bin/test-spatialite.bat'
endef