MobDev.Exqlite (mob_dev v0.7.29)

Copy Markdown View Source

The compile-time defines mob builds exqlite's SQLite amalgamation with.

On the host, exqlite compiles sqlite3.c with its own Makefile, which enables FTS3/4/5, R*Tree, Geopoly, math functions and more. On a phone, mob compiles the same amalgamation itself (the iOS simulator .so, the iOS device .a, mix mob.release --ios), and the generated Android build.zig / CMakeLists.txt do the same. Every one of those builds uses this set, so the device SQLite has the features host tests rely on: an FTS5 table that works under mix test also works on the phone (MOB-487).

The list is exqlite's Makefile CFLAGS += -D… lines, verbatim and in order, including the unprefixed ones (ENABLE_STAT4, …) that SQLite ignores; MobDev.ExqliteTest pins it against the locked exqlite's Makefile. mob_new's Android templates carry the same lines (it is a self-contained archive and can't call this module); the same test keeps them in sync.

Summary

Functions

The defines as compiler flags (-DNAME=VALUE).

The defines, as NAME=VALUE strings.

Functions

cflags()

@spec cflags() :: [String.t()]

The defines as compiler flags (-DNAME=VALUE).

defines()

@spec defines() :: [String.t()]

The defines, as NAME=VALUE strings.