UNPKG

@cpp.js/package-spatialite

Version:

This package provides SpatiaLite, a spatial extension to SQLite, compiled with Cpp.js for seamless integration in JavaScript, WebAssembly and React Native environments. By using Cpp.js, this package enables high-performance spatial database operations bot

51 lines (47 loc) 2.11 kB
const platformBuild = { 'Emscripten-x86_64': ['--enable-shared=no', '--host=x86_64-pc-linux-gnu'], 'Android-arm64-v8a': ['--enable-static=no', '--host=aarch64-linux-android'], 'Android-x86_64': ['--enable-static=no', '--host=x86_64-linux-android'], 'iOS-iphoneos': ['--enable-shared=no', '--host=arm-apple-darwin'], 'iOS-iphonesimulator': ['--enable-shared=no', '--host=x86_64-apple-darwin'], }; const platformLibs = { 'Emscripten-x86_64': ['-lsqlite3'], 'Android-arm64-v8a': ['-lstdc++', '-lsqlite3', '-lm', '-ltiff', '-lgeos'], 'Android-x86_64': ['-lstdc++', '-lsqlite3', '-lm', '-ltiff', '-lgeos'], 'iOS-iphoneos': ['-lstdc++', '-lsqlite3', '-lm', '-ltiff', '-lgeos'], 'iOS-iphonesimulator': ['-lstdc++', '-lsqlite3', '-lm', '-ltiff', '-lgeos'], }; const platformSourceReplaceList = { 'Android-arm64-v8a': [ { regex: ' -lpthread', replacement: '', paths: ['configure', 'configure.ac', 'src/Makefile.in', 'src/Makefile.am'], }, ], 'Android-x86_64': [ { regex: ' -lpthread', replacement: '', paths: ['configure', 'configure.ac', 'src/Makefile.in', 'src/Makefile.am'], }, ], }; export default { getURL: (version) => `https://www.gaia-gis.it/gaia-sins/libspatialite-sources/libspatialite-${version}.tar.gz`, copyToSource: { 'config.sub': 'config.sub' }, sourceReplaceList: (platform) => [ ...(platformSourceReplaceList[platform] || []), ], buildType: 'configure', // cmake, configure getBuildParams: (platform, depPaths) => [ ...(platformBuild[platform] || []), '--enable-geosadvanced=yes', '--enable-geopackage=yes', '--enable-examples=no', '--enable-minizip=no', '--enable-libxml2=no', '--enable-freexl=no', '--disable-rttopo', '--disable-gcp', `--with-geosconfig=${depPaths.geos.bin}/geos-config`, `SQLITE3_CFLAGS=-I${depPaths.sqlite3.header}`, `SQLITE3_LIBS=-L${depPaths.sqlite3.libPath}`, ], getExtraLibs: (platform) => platformLibs[platform] || [], };