nalgeon / sqlean

The ultimate set of SQLite extensions
MIT License
3.65k stars 115 forks source link

Prebuild for `sqlean-linux-arm64.zip` #103

Closed jlarmstrongiv closed 10 months ago

jlarmstrongiv commented 10 months ago

You already have sqlean-linux-x86.zip, this feature request would just add support for arm-based linux machines.

nalgeon commented 10 months ago

Sorry, I don't plan to support the ARM Linux build in the near future.

leimantas commented 8 months ago

You already have sqlean-linux-x86.zip, this feature request would just add support for arm-based linux machines.

You can build it yourself. Clone project and create bash file inside:

#! /bin/bash
set -e

apt update 
apt install zip curl git build-essential gcc-aarch64-linux-gnu -yy

SQLITE_RELEASE_YEAR=2021
SQLITE_VERSION=3360000
SQLITE_BRANCH=3.36

SQLEAN_VERSION='"main"'

LINIX_FLAGS="-Wall -Wsign-compare -Wno-unknown-pragmas -fPIC -shared -Isrc -DSQLEAN_VERSION=$SQLEAN_VERSION"

mkdir -p dist
rm -rf dist/*

curl -L http://sqlite.org/$SQLITE_RELEASE_YEAR/sqlite-amalgamation-$SQLITE_VERSION.zip --output src.zip
unzip src.zip
mv sqlite-amalgamation-$SQLITE_VERSION/* src

curl -L https://github.com/mackyle/sqlite/raw/branch-$SQLITE_BRANCH/src/test_windirent.h --output src/test_windirent.h

aarch64-linux-gnu-gcc -O1 $LINIX_FLAGS src/sqlite3-crypto.c src/crypto/*.c -o dist/crypto.so
aarch64-linux-gnu-gcc -O3 $LINIX_FLAGS src/sqlite3-define.c src/define/*.c -o dist/define.so
aarch64-linux-gnu-gcc -O3 $LINIX_FLAGS src/sqlite3-fileio.c src/fileio/*.c -o dist/fileio.so
aarch64-linux-gnu-gcc -O1 $LINIX_FLAGS src/sqlite3-fuzzy.c src/fuzzy/*.c -o dist/fuzzy.so
aarch64-linux-gnu-gcc -O3 $LINIX_FLAGS src/sqlite3-ipaddr.c src/ipaddr/*.c -o dist/ipaddr.so
aarch64-linux-gnu-gcc -O3 $LINIX_FLAGS src/sqlite3-math.c src/math/*.c -o dist/math.so -lm
aarch64-linux-gnu-gcc -O3 $LINIX_FLAGS -include src/regexp/constants.h src/sqlite3-regexp.c src/regexp/*.c src/regexp/pcre2/*.c -o dist/regexp.so
aarch64-linux-gnu-gcc -O3 $LINIX_FLAGS src/sqlite3-stats.c src/stats/*.c -o dist/stats.so -lm
aarch64-linux-gnu-gcc -O3 $LINIX_FLAGS src/sqlite3-text.c src/text/*.c -o dist/text.so
aarch64-linux-gnu-gcc -O3 $LINIX_FLAGS src/sqlite3-unicode.c src/unicode/*.c -o dist/unicode.so
aarch64-linux-gnu-gcc -O3 $LINIX_FLAGS src/sqlite3-uuid.c src/uuid/*.c -o dist/uuid.so
aarch64-linux-gnu-gcc -O3 $LINIX_FLAGS src/sqlite3-vsv.c src/vsv/*.c -o dist/vsv.so -lm
aarch64-linux-gnu-gcc -O1 $LINIX_FLAGS -include src/regexp/constants.h src/sqlite3-sqlean.c src/crypto/*.c src/define/*.c src/fileio/*.c src/fuzzy/*.c src/ipaddr/*.c src/math/*.c src/regexp/*.c src/regexp/pcre2/*.c src/stats/*.c src/text/*.c src/unicode/*.c src/uuid/*.c src/vsv/*.c -o dist/sqlean.so -lm
nalgeon commented 5 months ago

Linux ARM supported as of 0.22.0.