- SubDir P4 script ;
-
- SubDirHdrs $(P4) client ;
- SubDirHdrs $(P4) script lua-5.3 ;
-
- local C++FLAGS = [ C++FLAGS+STD $(C++_VERSION_MAX) ] ;
-
- # Scripting is both exposed to the public API and requires C++17, so
- # we have to override the above local C++FLAGS when running the compat
- # check so we can see that the stub functions work.
-
- if $(C++_LANGUAGE_COMPAT_CHECK) = 1
- {
- C++FLAGS = [ FRemoveAny $(C++FLAGS) : -std=$(C++_VERSION_MAX) /std:$(C++_VERSION_MAX) ] ;
- C++FLAGS = [ C++FLAGS+STD $(C++_VERSION_BASELINE) ] ;
- }
-
- Library $(P4SCRIPT) :
- clientapilua.cc
- errorlua.cc
- p4script53.cc
- p4script.cc
- ;
-
- Library $(P4SCRIPT_SQLITE) : sqlite3.c lsqlite3.cc ;
-
- ObjectC++Flags p4script53.cc : -I $(P4)/script/lua-5.3 -I $(P4)/client ;
- # This is the LuaSQLite version, not the SQLite library itself.
- ObjectDefines p4script53.cc : SQLITE_VERSION=95 ;
-
- # https://www.sqlite.org/compile.html
- # Some, like SQLITE_OMIT_DECLTYPE and SQLITE_OMIT_DEPRECATED are required by
- # LuaSQLite3 so we leave them in.
-
- ObjectDefines sqlite3.c : SQLITE_THREADSAFE=0 ;
- ObjectDefines sqlite3.c : SQLITE_DEFAULT_MEMSTATUS=0 ;
- ObjectDefines sqlite3.c : SQLITE_DEFAULT_WAL_SYNCHRONOUS=1 ;
- ObjectDefines sqlite3.c : SQLITE_LIKE_DOESNT_MATCH_BLOBS ;
- ObjectDefines sqlite3.c : SQLITE_OMIT_SHARED_CACHE ;
- ObjectDefines sqlite3.c : SQLITE_DEFAULT_FILE_PERMISSIONS=0600 ;
- ObjectDefines sqlite3.c : SQLITE_ENABLE_API_ARMOR ;
- ObjectDefines sqlite3.c : SQLITE_ENABLE_JSON1 ;
-
- # -Os: https://www.sqlite.org/footprint.html
- ObjectCcFlags sqlite3.c : -Os ;
-
- ObjectC++Flags lsqlite3.cc : -I $(P4)/script/lua-5.3 ;
- ObjectC++Flags lsqlite3.cc : -I $(P4)/script/ ;
- # The version should be "0.9.5", but getting that past Jam and shell quoting
- # hasn't worked.
- #ObjectDefines lsqlite3.cc : LSQLITE_VERSION=95 ;
-
- SubInclude P4 script libs ;