mirror of
https://github.com/tursodatabase/libsql.git
synced 2024-11-23 17:56:18 +00:00
170 lines
5.5 KiB
Makefile
170 lines
5.5 KiB
Makefile
# Process this file with automake to create Makefile.in for sqlite3mc library
|
|
#
|
|
# Copyright (C) 2019-2023 Ulrich Telle <ulrich@telle-online.de>
|
|
#
|
|
# This file is covered by the same licence as the entire SQLite3 Multiple Ciphers package.
|
|
|
|
if HOST_X86
|
|
X86_FLAGS = -msse4.2 -maes
|
|
else
|
|
X86_FLAGS =
|
|
endif
|
|
|
|
if HOST_ARM
|
|
#ARM_FLAGS = -march=native
|
|
ARM_FLAGS =
|
|
else
|
|
ARM_FLAGS =
|
|
endif
|
|
|
|
ACLOCAL_AMFLAGS = -I admin/m4
|
|
|
|
# Flags used for compiling all the targets and linking all the executables
|
|
# (libraries use LIBADD which is set for lib@SQLITE3MC_LIBNAME@.la only).
|
|
AM_CXXFLAGS = -I$(top_srcdir)/src
|
|
AM_CFLAGS = -I$(top_srcdir)/src
|
|
|
|
AM_CFLAGS += -std=c99 -DSQLITE_THREADSAFE=1 -DSQLITE_DQS=0 -DSQLITE_MAX_ATTACHED=10 -DSQLITE_SOUNDEX=1 -DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_SECURE_DELETE=1 -DSQLITE_ENABLE_DESERIALIZE=1 -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABLE_FTS3_PARENTHESIS=1 -DSQLITE_ENABLE_FTS4=1 -DSQLITE_ENABLE_FTS5=1 -DSQLITE_ENABLE_JSON1=1 -DSQLITE_ENABLE_RTREE=1 -DSQLITE_ENABLE_GEOPOLY=1 -DSQLITE_ENABLE_PREUPDATE_HOOK=1 -DSQLITE_ENABLE_SESSION=1 -DSQLITE_CORE=1 -DSQLITE_ENABLE_EXTFUNC=1 -DSQLITE_ENABLE_MATH_FUNCTIONS=1 -DSQLITE_ENABLE_CSV=1 -DSQLITE_ENABLE_SHA3=1 -DSQLITE_ENABLE_CARRAY=1 -DSQLITE_ENABLE_FILEIO=1 -DSQLITE_ENABLE_SERIES=1 -DSQLITE_ENABLE_UUID=1 -DSQLITE_ENABLE_REGEXP=1 -DSQLITE_TEMP_STORE=2 -DSQLITE_USE_URI=1 -DSQLITE_USER_AUTHENTICATION=1 $(X86_FLAGS) $(ARM_FLAGS)
|
|
|
|
if HOST_WINDOWS
|
|
AM_CFLAGS += -DSQLITE_API=__declspec\(dllexport\)
|
|
AM_LDFLAGS =
|
|
else
|
|
AM_LDFLAGS = -pthread -ldl -lm
|
|
endif
|
|
|
|
if HAVE_ZLIB
|
|
AM_CFLAGS += -DSQLITE_HAVE_ZLIB=1
|
|
AM_LDFLAGS += -lz
|
|
else
|
|
AM_CFLAGS += -DSQLIT3MC_USE_MINIZ=1
|
|
endif
|
|
|
|
if HOST_OSX
|
|
AM_LDFLAGS += -framework Security
|
|
endif
|
|
|
|
LDADD = lib@SQLITE3MC_LIBNAME@.la
|
|
|
|
if HOST_WINDOWS
|
|
# Use old style suffix rule instead of the pattern one as automake only
|
|
# recognizes this kind of rules.
|
|
#
|
|
# Also notice that we use .res_o_o extension for the object files obtained by
|
|
# compiling resource files, instead of just the usual .o, because we'd have
|
|
# conflicts between object file names for foo.cpp and foo.rc otherwise. Due to
|
|
# this we have to add the .res_o files manually to LDADD later, but such is life.
|
|
.rc.res_o:
|
|
$(AM_V_GEN) $(WINDRES) -I $(top_srcdir) $(WX_CPPFLAGS) -O coff $< $@
|
|
endif
|
|
|
|
# Define the directory where the library headers are installed.
|
|
includemcdir = $(includedir)/sqlite3mc
|
|
|
|
pkgconfigdir = $(libdir)/pkgconfig
|
|
pkgconfig_DATA = sqlite3mc.pc
|
|
|
|
# The main library. Notice that it uses dynamic, i.e. determined when running
|
|
# configure, name because it depends on the version of wxWidgets used. This is
|
|
# rather unusual, but Automake doesn't seem to mind.
|
|
lib_LTLIBRARIES = lib@SQLITE3MC_LIBNAME@.la
|
|
|
|
lib@SQLITE3MC_LIBNAME@_la_SOURCES = \
|
|
src/sqlite3mc.c
|
|
|
|
if HOST_WINDOWS
|
|
lib@SQLITE3MC_LIBNAME@_la_SOURCES += \
|
|
src/sqlite3mc.rc
|
|
endif
|
|
|
|
includemc_HEADERS = \
|
|
src/sqlite3.h \
|
|
src/sqlite3userauth.h \
|
|
src/sqlite3ext.h \
|
|
src/sqlite3mc_version.h \
|
|
src/sqlite3mc_vfs.h \
|
|
src/sqlite3mc.h
|
|
|
|
noinst_HEADERS = \
|
|
src/carray.c \
|
|
src/chacha20poly1305.c \
|
|
src/cipher_chacha20.c \
|
|
src/cipher_common.c \
|
|
src/cipher_config.c \
|
|
src/cipher_sds_rc4.c \
|
|
src/cipher_sqlcipher.c \
|
|
src/cipher_wxaes128.c \
|
|
src/cipher_wxaes256.c \
|
|
src/codec_algos.c \
|
|
src/codecext.c \
|
|
src/csv.c \
|
|
src/extensionfunctions.c \
|
|
src/fastpbkdf2.c \
|
|
src/fileio.c \
|
|
src/md5.c \
|
|
src/rekeyvacuum.c \
|
|
src/rijndael.c \
|
|
src/series.c \
|
|
src/sha1.c \
|
|
src/sha2.c \
|
|
src/shathree.c \
|
|
src/sqlite3.c \
|
|
src/sqlite3mc_vfs.c \
|
|
src/test_windirent.c \
|
|
src/userauth.c \
|
|
src/uuid.c \
|
|
src/cipher_common.h \
|
|
src/fastpbkdf2.h \
|
|
src/mystdint.h \
|
|
src/rijndael.h \
|
|
src/sha1.h \
|
|
src/sha2.h \
|
|
src/sqlite3mc_vfs.h \
|
|
src/sqlite3userauth.h \
|
|
src/test_windirent.h
|
|
|
|
lib@SQLITE3MC_LIBNAME@_la_LDFLAGS = -no-undefined $(AM_LDFLAGS)
|
|
if HOST_WINDOWS
|
|
lib@SQLITE3MC_LIBNAME@_la_LIBADD = src/sqlite3mc.res_o
|
|
else
|
|
lib@SQLITE3MC_LIBNAME@_la_LIBADD = -ldl -lm
|
|
endif
|
|
|
|
|
|
# Samples (don't need to be installed).
|
|
noinst_PROGRAMS = sqlite3shell
|
|
|
|
sqlite3shell_SOURCES = \
|
|
src/sqlite3mc.c \
|
|
src/shell.c
|
|
|
|
sqlite3shell_CFLAGS = -I$(top_srcdir)/src -std=c99 -D_GNU_SOURCE -DSQLITE_THREADSAFE=1 -DSQLITE_DQS=0 -DSQLITE_MAX_ATTACHED=10 -DSQLITE_SOUNDEX=1 -DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_SECURE_DELETE=1 -DSQLITE_ENABLE_DESERIALIZE=1 -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABLE_FTS3_PARENTHESIS=1 -DSQLITE_ENABLE_FTS4=1 -DSQLITE_ENABLE_FTS5=1 -DSQLITE_ENABLE_JSON1=1 -DSQLITE_ENABLE_RTREE=1 -DSQLITE_ENABLE_GEOPOLY=1 -DSQLITE_ENABLE_PREUPDATE_HOOK=1 -DSQLITE_ENABLE_SESSION=1 -DSQLITE_CORE=1 -DSQLITE_ENABLE_EXTFUNC=1 -DSQLITE_ENABLE_MATH_FUNCTIONS=1 -DSQLITE_ENABLE_CSV=1 -DSQLITE_ENABLE_CARRAY=1 -DSQLITE_ENABLE_UUID=1 -DSQLITE_TEMP_STORE=2 -DSQLITE_USE_URI=1 -DSQLITE_USER_AUTHENTICATION=1 -DSQLITE_ENABLE_DBPAGE_VTAB=1 -DSQLITE_ENABLE_DBSTAT_VTAB=1 -DSQLITE_ENABLE_STMTVTAB=1 -DSQLITE_ENABLE_UNKNOWN_SQL_FUNCTION=1 $(X86_FLAGS) $(ARM_FLAGS)
|
|
|
|
if HOST_WINDOWS
|
|
sqlite3shell_LDADD =
|
|
sqlite3shell_LDFLAGS =
|
|
else
|
|
sqlite3shell_LDADD = -ldl -lm
|
|
sqlite3shell_LDFLAGS = -pthread
|
|
endif
|
|
|
|
if HAVE_ZLIB
|
|
sqlite3shell_CFLAGS += -DSQLITE_HAVE_ZLIB=1
|
|
sqlite3shell_LDADD += -lz
|
|
endif
|
|
|
|
if HOST_WINDOWS
|
|
sqlite3shell_SOURCES += src/sqlite3mc_shell.rc
|
|
sqlite3shell_LDADD += src/sqlite3mc_shell.res_o
|
|
CLEANFILES = src/sqlite3mc_shell.res_o
|
|
else
|
|
# libtool complains about unknown "-no-install" option when targetting MSW, so
|
|
# use it only in the "else" branch.
|
|
sqlite3shell_LDFLAGS += -no-install
|
|
|
|
if HOST_OSX
|
|
sqlite3shell_LDFLAGS += -framework Security
|
|
endif
|
|
|
|
endif
|