diff --git a/release/lnav.spec.in b/release/lnav.spec.in index 3e4e299d..f0af1c5a 100644 --- a/release/lnav.spec.in +++ b/release/lnav.spec.in @@ -30,6 +30,7 @@ BuildRequires: gcc-toolset-12-annobin-plugin-gcc BuildRequires: gcc-toolset-12-annobin-annocheck BuildRequires: autoconf BuildRequires: automake +BuildRequires: cargo BuildRequires: libarchive-devel BuildRequires: libcurl-devel BuildRequires: ncurses-devel @@ -38,6 +39,7 @@ BuildRequires: openssh BuildRequires: bzip2-devel BuildRequires: pcre2-devel BuildRequires: readline-devel +BuildRequires: rust BuildRequires: zlib-devel %if 0%{?suse_version} BuildRequires: sqlite3-devel >= 3.9.0 diff --git a/src/Makefile.am b/src/Makefile.am index 07737a52..f10577bb 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -123,7 +123,7 @@ AM_CFLAGS = $(CODE_COVERAGE_CFLAGS) AM_CXXFLAGS = $(CODE_COVERAGE_CXXFLAGS) $(USER_CXXFLAGS) if HAVE_CARGO -RUST_DEPS_CPPFLAGS = -I$(srcdir)/third-party/prqlc-c -DHAVE_RUST_DEPS=1 +RUST_DEPS_CPPFLAGS = -DHAVE_RUST_DEPS=1 PRQLC_DIR = third-party/prqlc-c/target RUST_DEPS_LIBS = $(PRQLC_DIR)/release/libprqlc_c.a @@ -152,6 +152,7 @@ AM_CPPFLAGS = \ -I$(srcdir)/third-party \ -I$(srcdir)/third-party/base64/include \ -I$(srcdir)/third-party/date/include \ + -I$(srcdir)/third-party/prqlc-c \ -I$(srcdir)/third-party/rapidyaml \ -I$(top_srcdir)/src/third-party/scnlib/include \ -Wall \ diff --git a/src/sqlite-extension-func.cc b/src/sqlite-extension-func.cc index 7364f605..6e08b71c 100644 --- a/src/sqlite-extension-func.cc +++ b/src/sqlite-extension-func.cc @@ -47,7 +47,9 @@ int sqlite3_series_init(sqlite3* db, const sqlite3_api_routines* pApi); } +#ifdef HAVE_RUST_DEPS rust::Vec sqlite_extension_prql; +#endif namespace lnav { namespace sql { @@ -208,6 +210,7 @@ register_sqlite_funcs(sqlite3* db, sqlite_registration_func_t* reg_funcs) } } +#ifdef HAVE_RUST_DEPS if (sqlite_extension_prql.empty()) { require(phier.ph_declarations.empty()); for (const auto& mod_pair : phier.ph_modules) { @@ -220,6 +223,7 @@ register_sqlite_funcs(sqlite3* db, sqlite_registration_func_t* reg_funcs) }); } } +#endif static help_text builtin_funcs[] = { help_text("abs", "Return the absolute value of the argument") diff --git a/src/sqlite-extension-func.hh b/src/sqlite-extension-func.hh index ff59de98..fcae4fd5 100644 --- a/src/sqlite-extension-func.hh +++ b/src/sqlite-extension-func.hh @@ -39,7 +39,10 @@ #include #include "help_text.hh" -#include "prqlc.cxx.hh" + +#ifdef HAVE_RUST_DEPS +# include "prqlc.cxx.hh" +#endif struct FuncDef { const char* zName{nullptr}; @@ -96,7 +99,9 @@ extern sqlite_registration_func_t sqlite_registration_funcs[]; int register_sqlite_funcs(sqlite3* db, sqlite_registration_func_t* reg_funcs); +#ifdef HAVE_RUST_DEPS extern rust::Vec sqlite_extension_prql; +#endif extern "C" {