2024-03-29 01:37:14 +00:00
|
|
|
libexpr_generated_headers = [
|
|
|
|
gen_header.process('primops/derivation.nix', preserve_path_from : meson.current_source_dir()),
|
|
|
|
]
|
|
|
|
foreach header : [ 'imported-drv-to-derivation.nix', 'fetchurl.nix' ]
|
|
|
|
libexpr_generated_headers += custom_target(
|
|
|
|
command : [ 'bash', '-c', 'echo \'R"__NIX_STR(\' | cat - @INPUT@ && echo \')__NIX_STR"\'' ],
|
|
|
|
input : header,
|
|
|
|
output : '@PLAINNAME@.gen.hh',
|
|
|
|
capture : true,
|
|
|
|
install : true,
|
2024-05-17 00:04:05 +00:00
|
|
|
install_dir : includedir / 'lix/libexpr',
|
2024-03-29 01:37:14 +00:00
|
|
|
)
|
|
|
|
endforeach
|
|
|
|
subdir('flake')
|
build: optionally build and install with meson
This commit adds several meson.build, which successfully build and
install Lix executables, libraries, and headers. Meson does not yet
build docs, Perl bindings, or run tests, which will be added in
following commits. As such, this commit does not remove the existing
build system, or make it the default, and also as such, this commit has
several FIXMEs and TODOs as notes for what should be done before the
existing autoconf + make buildsystem can be removed and Meson made the
default. This commit does not modify any source files.
A Meson-enabled build is also added as a Hydra job, and to
`nix flake check`.
Change-Id: I667c8685b13b7bab91e281053f807a11616ae3d4
2024-03-21 19:41:23 +00:00
|
|
|
|
2024-08-05 17:18:43 +00:00
|
|
|
libexpr_setting_definitions = files(
|
|
|
|
'settings/allow-import-from-derivation.md',
|
|
|
|
'settings/allow-unsafe-native-code-during-evaluation.md',
|
|
|
|
'settings/allowed-uris.md',
|
|
|
|
'settings/debugger-on-trace.md',
|
|
|
|
'settings/eval-cache.md',
|
|
|
|
'settings/eval-system.md',
|
|
|
|
'settings/ignore-try.md',
|
|
|
|
'settings/max-call-depth.md',
|
|
|
|
'settings/nix-path.md',
|
|
|
|
'settings/pure-eval.md',
|
|
|
|
'settings/repl-overlays.md',
|
|
|
|
'settings/restrict-eval.md',
|
|
|
|
'settings/trace-function-calls.md',
|
|
|
|
'settings/trace-verbose.md',
|
|
|
|
)
|
|
|
|
libexpr_settings_header = custom_target(
|
|
|
|
command : [
|
|
|
|
python.full_path(),
|
|
|
|
'@SOURCE_ROOT@/src/code-generation/build_settings.py',
|
|
|
|
'--kernel', host_machine.system(),
|
|
|
|
'--header', '@OUTPUT@',
|
|
|
|
'--experimental-features', '@SOURCE_ROOT@/src/libutil/experimental-features',
|
|
|
|
'@INPUT@',
|
|
|
|
],
|
|
|
|
input : libexpr_setting_definitions,
|
|
|
|
output : 'libexpr-settings.gen.inc',
|
|
|
|
install : true,
|
2024-11-10 10:44:48 +00:00
|
|
|
install_dir : includedir / 'lix/libexpr',
|
2024-08-05 17:18:43 +00:00
|
|
|
)
|
|
|
|
|
libexpr: generate builtins from data
Most builtins are now generated from data too, with two exceptions:
* Undocumented builtins, since supporting them would add complexity to the
generator, the harms of the current implementation mostly don't apply, and
the proper fix is to document them.
* `derivation` is somewhat magic (it is a function, but defined in the code as
a constant), so the current treatment of having it separately documented is
kept (for now, at least).
Since it is slightly easier to do and probably a good idea anyway, the builtin
function registrations generated this way are now processed directly in code
and don't go through global variables any more.
Unfortunately, a slight breaking change is introduced because the order of the
builtins' names in the symbol table changes. Hopefully, this will turn out to
not matter in practice.
Change-Id: I7b4379a93ae380b6524e41a916a21c5c6f70555e
2024-09-28 13:21:59 +00:00
|
|
|
builtin_definitions = files(
|
|
|
|
'builtins/abort.md',
|
|
|
|
'builtins/add.md',
|
|
|
|
'builtins/addDrvOutputDependencies.md',
|
|
|
|
'builtins/all.md',
|
|
|
|
'builtins/any.md',
|
|
|
|
'builtins/attrNames.md',
|
|
|
|
'builtins/attrValues.md',
|
|
|
|
'builtins/baseNameOf.md',
|
|
|
|
'builtins/bitAnd.md',
|
|
|
|
'builtins/bitOr.md',
|
|
|
|
'builtins/bitXor.md',
|
|
|
|
'builtins/break.md',
|
|
|
|
'builtins/catAttrs.md',
|
|
|
|
'builtins/ceil.md',
|
|
|
|
'builtins/compareVersions.md',
|
|
|
|
'builtins/concatLists.md',
|
|
|
|
'builtins/concatMap.md',
|
|
|
|
'builtins/concatStringsSep.md',
|
|
|
|
'builtins/deepSeq.md',
|
|
|
|
'builtins/dirOf.md',
|
|
|
|
'builtins/div.md',
|
|
|
|
'builtins/elem.md',
|
|
|
|
'builtins/elemAt.md',
|
|
|
|
'builtins/fetchClosure.md',
|
|
|
|
'builtins/fetchGit.md',
|
|
|
|
'builtins/fetchTarball.md',
|
|
|
|
'builtins/fetchurl.md',
|
|
|
|
'builtins/filter.md',
|
|
|
|
'builtins/filterSource.md',
|
|
|
|
'builtins/findFile.md',
|
|
|
|
'builtins/flakeRefToString.md',
|
|
|
|
'builtins/floor.md',
|
|
|
|
'builtins/foldlStrict.md',
|
|
|
|
'builtins/fromJSON.md',
|
|
|
|
'builtins/fromTOML.md',
|
|
|
|
'builtins/functionArgs.md',
|
|
|
|
'builtins/genList.md',
|
|
|
|
'builtins/genericClosure.md',
|
|
|
|
'builtins/getAttr.md',
|
|
|
|
'builtins/getContext.md',
|
|
|
|
'builtins/getEnv.md',
|
|
|
|
'builtins/getFlake.md',
|
|
|
|
'builtins/groupBy.md',
|
|
|
|
'builtins/hasAttr.md',
|
|
|
|
'builtins/hasContext.md',
|
|
|
|
'builtins/hashFile.md',
|
|
|
|
'builtins/hashString.md',
|
|
|
|
'builtins/head.md',
|
|
|
|
'builtins/import.md',
|
|
|
|
'builtins/intersectAttrs.md',
|
|
|
|
'builtins/isAttrs.md',
|
|
|
|
'builtins/isBool.md',
|
|
|
|
'builtins/isFloat.md',
|
|
|
|
'builtins/isFunction.md',
|
|
|
|
'builtins/isInt.md',
|
|
|
|
'builtins/isList.md',
|
|
|
|
'builtins/isNull.md',
|
|
|
|
'builtins/isPath.md',
|
|
|
|
'builtins/isString.md',
|
|
|
|
'builtins/length.md',
|
|
|
|
'builtins/lessThan.md',
|
|
|
|
'builtins/listToAttrs.md',
|
|
|
|
'builtins/map.md',
|
|
|
|
'builtins/mapAttrs.md',
|
|
|
|
'builtins/match.md',
|
|
|
|
'builtins/mul.md',
|
|
|
|
'builtins/outputOf.md',
|
|
|
|
'builtins/parseDrvName.md',
|
|
|
|
'builtins/parseFlakeRef.md',
|
|
|
|
'builtins/partition.md',
|
|
|
|
'builtins/path.md',
|
|
|
|
'builtins/pathExists.md',
|
|
|
|
'builtins/placeholder.md',
|
|
|
|
'builtins/readDir.md',
|
|
|
|
'builtins/readFile.md',
|
|
|
|
'builtins/readFileType.md',
|
|
|
|
'builtins/removeAttrs.md',
|
|
|
|
'builtins/replaceStrings.md',
|
|
|
|
'builtins/seq.md',
|
|
|
|
'builtins/sort.md',
|
|
|
|
'builtins/split.md',
|
|
|
|
'builtins/splitVersion.md',
|
|
|
|
'builtins/storePath.md',
|
|
|
|
'builtins/stringLength.md',
|
|
|
|
'builtins/sub.md',
|
|
|
|
'builtins/substring.md',
|
|
|
|
'builtins/tail.md',
|
|
|
|
'builtins/throw.md',
|
|
|
|
'builtins/toFile.md',
|
|
|
|
'builtins/toJSON.md',
|
|
|
|
'builtins/toPath.md',
|
|
|
|
'builtins/toString.md',
|
|
|
|
'builtins/toXML.md',
|
|
|
|
'builtins/trace.md',
|
|
|
|
'builtins/traceVerbose.md',
|
|
|
|
'builtins/tryEval.md',
|
|
|
|
'builtins/typeOf.md',
|
|
|
|
'builtins/unsafeDiscardOutputDependency.md',
|
|
|
|
'builtins/zipAttrsWith.md',
|
|
|
|
)
|
|
|
|
builtins_gen = custom_target(
|
|
|
|
command : [
|
|
|
|
python.full_path(),
|
|
|
|
'@SOURCE_ROOT@/src/code-generation/build_builtins.py',
|
|
|
|
'--header', '@OUTPUT0@',
|
|
|
|
'--docs', '@OUTPUT1@',
|
|
|
|
'--experimental-features', '@SOURCE_ROOT@/src/libutil/experimental-features',
|
|
|
|
'@INPUT@'
|
|
|
|
],
|
|
|
|
input : builtin_definitions,
|
|
|
|
output : [
|
|
|
|
'register-builtins.gen.inc',
|
|
|
|
'builtins.md',
|
|
|
|
],
|
|
|
|
)
|
|
|
|
register_builtins_header = builtins_gen[0]
|
|
|
|
builtins_md = builtins_gen[1]
|
|
|
|
|
|
|
|
builtin_constant_definitions = files(
|
|
|
|
'builtin-constants/builtins.md',
|
|
|
|
'builtin-constants/currentSystem.md',
|
|
|
|
'builtin-constants/currentTime.md',
|
|
|
|
'builtin-constants/false.md',
|
|
|
|
'builtin-constants/langVersion.md',
|
|
|
|
'builtin-constants/nixPath.md',
|
|
|
|
'builtin-constants/nixVersion.md',
|
|
|
|
'builtin-constants/null.md',
|
|
|
|
'builtin-constants/storeDir.md',
|
|
|
|
'builtin-constants/true.md',
|
|
|
|
)
|
|
|
|
builtin_constants_gen = custom_target(
|
|
|
|
command : [
|
|
|
|
python.full_path(),
|
|
|
|
'@SOURCE_ROOT@/src/code-generation/build_builtin_constants.py',
|
|
|
|
'--header', '@OUTPUT0@',
|
|
|
|
'--docs', '@OUTPUT1@',
|
|
|
|
'@INPUT@',
|
|
|
|
],
|
|
|
|
input : builtin_constant_definitions,
|
|
|
|
output : [
|
|
|
|
'register-builtin-constants.gen.inc',
|
|
|
|
'builtin-constants.md',
|
|
|
|
],
|
|
|
|
)
|
|
|
|
register_builtin_constants_header = builtin_constants_gen[0]
|
|
|
|
builtin_constants_md = builtin_constants_gen[1]
|
|
|
|
|
build: optionally build and install with meson
This commit adds several meson.build, which successfully build and
install Lix executables, libraries, and headers. Meson does not yet
build docs, Perl bindings, or run tests, which will be added in
following commits. As such, this commit does not remove the existing
build system, or make it the default, and also as such, this commit has
several FIXMEs and TODOs as notes for what should be done before the
existing autoconf + make buildsystem can be removed and Meson made the
default. This commit does not modify any source files.
A Meson-enabled build is also added as a Hydra job, and to
`nix flake check`.
Change-Id: I667c8685b13b7bab91e281053f807a11616ae3d4
2024-03-21 19:41:23 +00:00
|
|
|
libexpr_sources = files(
|
|
|
|
'attr-path.cc',
|
|
|
|
'attr-set.cc',
|
|
|
|
'eval-cache.cc',
|
|
|
|
'eval-error.cc',
|
|
|
|
'eval-settings.cc',
|
|
|
|
'eval.cc',
|
|
|
|
'function-trace.cc',
|
|
|
|
'get-drvs.cc',
|
2024-07-16 00:19:54 +00:00
|
|
|
'gc-alloc.cc',
|
build: optionally build and install with meson
This commit adds several meson.build, which successfully build and
install Lix executables, libraries, and headers. Meson does not yet
build docs, Perl bindings, or run tests, which will be added in
following commits. As such, this commit does not remove the existing
build system, or make it the default, and also as such, this commit has
several FIXMEs and TODOs as notes for what should be done before the
existing autoconf + make buildsystem can be removed and Meson made the
default. This commit does not modify any source files.
A Meson-enabled build is also added as a Hydra job, and to
`nix flake check`.
Change-Id: I667c8685b13b7bab91e281053f807a11616ae3d4
2024-03-21 19:41:23 +00:00
|
|
|
'json-to-value.cc',
|
|
|
|
'nixexpr.cc',
|
2024-06-16 21:10:09 +00:00
|
|
|
'parser/parser.cc',
|
build: optionally build and install with meson
This commit adds several meson.build, which successfully build and
install Lix executables, libraries, and headers. Meson does not yet
build docs, Perl bindings, or run tests, which will be added in
following commits. As such, this commit does not remove the existing
build system, or make it the default, and also as such, this commit has
several FIXMEs and TODOs as notes for what should be done before the
existing autoconf + make buildsystem can be removed and Meson made the
default. This commit does not modify any source files.
A Meson-enabled build is also added as a Hydra job, and to
`nix flake check`.
Change-Id: I667c8685b13b7bab91e281053f807a11616ae3d4
2024-03-21 19:41:23 +00:00
|
|
|
'paths.cc',
|
|
|
|
'primops.cc',
|
|
|
|
'print-ambiguous.cc',
|
|
|
|
'print.cc',
|
|
|
|
'search-path.cc',
|
2024-07-16 18:18:39 +00:00
|
|
|
'value.cc',
|
build: optionally build and install with meson
This commit adds several meson.build, which successfully build and
install Lix executables, libraries, and headers. Meson does not yet
build docs, Perl bindings, or run tests, which will be added in
following commits. As such, this commit does not remove the existing
build system, or make it the default, and also as such, this commit has
several FIXMEs and TODOs as notes for what should be done before the
existing autoconf + make buildsystem can be removed and Meson made the
default. This commit does not modify any source files.
A Meson-enabled build is also added as a Hydra job, and to
`nix flake check`.
Change-Id: I667c8685b13b7bab91e281053f807a11616ae3d4
2024-03-21 19:41:23 +00:00
|
|
|
'value-to-json.cc',
|
|
|
|
'value-to-xml.cc',
|
|
|
|
'flake/config.cc',
|
|
|
|
'flake/flake.cc',
|
|
|
|
'flake/flakeref.cc',
|
|
|
|
'flake/lockfile.cc',
|
|
|
|
'primops/context.cc',
|
|
|
|
'primops/fetchClosure.cc',
|
|
|
|
'primops/fetchMercurial.cc',
|
|
|
|
'primops/fetchTree.cc',
|
|
|
|
'primops/fromTOML.cc',
|
|
|
|
'value/context.cc',
|
|
|
|
)
|
|
|
|
|
|
|
|
libexpr_headers = files(
|
|
|
|
'attr-path.hh',
|
|
|
|
'attr-set.hh',
|
|
|
|
'eval-cache.hh',
|
|
|
|
'eval-error.hh',
|
|
|
|
'eval-inline.hh',
|
|
|
|
'eval-settings.hh',
|
|
|
|
'eval.hh',
|
|
|
|
'flake/flake.hh',
|
|
|
|
'flake/flakeref.hh',
|
|
|
|
'flake/lockfile.hh',
|
|
|
|
'function-trace.hh',
|
|
|
|
'gc-small-vector.hh',
|
|
|
|
'get-drvs.hh',
|
2024-07-15 22:18:36 +00:00
|
|
|
'gc-alloc.hh',
|
build: optionally build and install with meson
This commit adds several meson.build, which successfully build and
install Lix executables, libraries, and headers. Meson does not yet
build docs, Perl bindings, or run tests, which will be added in
following commits. As such, this commit does not remove the existing
build system, or make it the default, and also as such, this commit has
several FIXMEs and TODOs as notes for what should be done before the
existing autoconf + make buildsystem can be removed and Meson made the
default. This commit does not modify any source files.
A Meson-enabled build is also added as a Hydra job, and to
`nix flake check`.
Change-Id: I667c8685b13b7bab91e281053f807a11616ae3d4
2024-03-21 19:41:23 +00:00
|
|
|
'json-to-value.hh',
|
|
|
|
'nixexpr.hh',
|
2024-06-16 21:10:09 +00:00
|
|
|
'parser/change_head.hh',
|
|
|
|
'parser/grammar.hh',
|
|
|
|
'parser/state.hh',
|
build: optionally build and install with meson
This commit adds several meson.build, which successfully build and
install Lix executables, libraries, and headers. Meson does not yet
build docs, Perl bindings, or run tests, which will be added in
following commits. As such, this commit does not remove the existing
build system, or make it the default, and also as such, this commit has
several FIXMEs and TODOs as notes for what should be done before the
existing autoconf + make buildsystem can be removed and Meson made the
default. This commit does not modify any source files.
A Meson-enabled build is also added as a Hydra job, and to
`nix flake check`.
Change-Id: I667c8685b13b7bab91e281053f807a11616ae3d4
2024-03-21 19:41:23 +00:00
|
|
|
'pos-idx.hh',
|
|
|
|
'pos-table.hh',
|
|
|
|
'primops.hh',
|
|
|
|
'print-ambiguous.hh',
|
|
|
|
'print-options.hh',
|
|
|
|
'print.hh',
|
|
|
|
'repl-exit-status.hh',
|
|
|
|
'search-path.hh',
|
|
|
|
'symbol-table.hh',
|
|
|
|
'value/context.hh',
|
|
|
|
'value-to-json.hh',
|
|
|
|
'value-to-xml.hh',
|
|
|
|
'value.hh',
|
|
|
|
)
|
|
|
|
|
|
|
|
libexpr = library(
|
2024-05-17 00:04:05 +00:00
|
|
|
'lixexpr',
|
build: optionally build and install with meson
This commit adds several meson.build, which successfully build and
install Lix executables, libraries, and headers. Meson does not yet
build docs, Perl bindings, or run tests, which will be added in
following commits. As such, this commit does not remove the existing
build system, or make it the default, and also as such, this commit has
several FIXMEs and TODOs as notes for what should be done before the
existing autoconf + make buildsystem can be removed and Meson made the
default. This commit does not modify any source files.
A Meson-enabled build is also added as a Hydra job, and to
`nix flake check`.
Change-Id: I667c8685b13b7bab91e281053f807a11616ae3d4
2024-03-21 19:41:23 +00:00
|
|
|
libexpr_sources,
|
2024-08-05 17:18:43 +00:00
|
|
|
libexpr_settings_header,
|
2024-03-29 01:37:14 +00:00
|
|
|
libexpr_generated_headers,
|
libexpr: generate builtins from data
Most builtins are now generated from data too, with two exceptions:
* Undocumented builtins, since supporting them would add complexity to the
generator, the harms of the current implementation mostly don't apply, and
the proper fix is to document them.
* `derivation` is somewhat magic (it is a function, but defined in the code as
a constant), so the current treatment of having it separately documented is
kept (for now, at least).
Since it is slightly easier to do and probably a good idea anyway, the builtin
function registrations generated this way are now processed directly in code
and don't go through global variables any more.
Unfortunately, a slight breaking change is introduced because the order of the
builtins' names in the symbol table changes. Hopefully, this will turn out to
not matter in practice.
Change-Id: I7b4379a93ae380b6524e41a916a21c5c6f70555e
2024-09-28 13:21:59 +00:00
|
|
|
register_builtins_header,
|
|
|
|
register_builtin_constants_header,
|
build: optionally build and install with meson
This commit adds several meson.build, which successfully build and
install Lix executables, libraries, and headers. Meson does not yet
build docs, Perl bindings, or run tests, which will be added in
following commits. As such, this commit does not remove the existing
build system, or make it the default, and also as such, this commit has
several FIXMEs and TODOs as notes for what should be done before the
existing autoconf + make buildsystem can be removed and Meson made the
default. This commit does not modify any source files.
A Meson-enabled build is also added as a Hydra job, and to
`nix flake check`.
Change-Id: I667c8685b13b7bab91e281053f807a11616ae3d4
2024-03-21 19:41:23 +00:00
|
|
|
dependencies : [
|
|
|
|
liblixutil,
|
|
|
|
liblixstore,
|
|
|
|
liblixfetchers,
|
|
|
|
boehm,
|
|
|
|
boost,
|
2024-03-27 02:36:17 +00:00
|
|
|
toml11,
|
2024-03-27 03:09:43 +00:00
|
|
|
nlohmann_json,
|
build: optionally build and install with meson
This commit adds several meson.build, which successfully build and
install Lix executables, libraries, and headers. Meson does not yet
build docs, Perl bindings, or run tests, which will be added in
following commits. As such, this commit does not remove the existing
build system, or make it the default, and also as such, this commit has
several FIXMEs and TODOs as notes for what should be done before the
existing autoconf + make buildsystem can be removed and Meson made the
default. This commit does not modify any source files.
A Meson-enabled build is also added as a Hydra job, and to
`nix flake check`.
Change-Id: I667c8685b13b7bab91e281053f807a11616ae3d4
2024-03-21 19:41:23 +00:00
|
|
|
],
|
|
|
|
# for shared.hh
|
|
|
|
include_directories : [
|
|
|
|
'../libmain',
|
|
|
|
],
|
2024-06-06 18:46:26 +00:00
|
|
|
cpp_pch : cpp_pch,
|
build: optionally build and install with meson
This commit adds several meson.build, which successfully build and
install Lix executables, libraries, and headers. Meson does not yet
build docs, Perl bindings, or run tests, which will be added in
following commits. As such, this commit does not remove the existing
build system, or make it the default, and also as such, this commit has
several FIXMEs and TODOs as notes for what should be done before the
existing autoconf + make buildsystem can be removed and Meson made the
default. This commit does not modify any source files.
A Meson-enabled build is also added as a Hydra job, and to
`nix flake check`.
Change-Id: I667c8685b13b7bab91e281053f807a11616ae3d4
2024-03-21 19:41:23 +00:00
|
|
|
install : true,
|
|
|
|
# FIXME(Qyriad): is this right?
|
|
|
|
install_rpath : libdir,
|
|
|
|
)
|
|
|
|
|
|
|
|
install_headers(
|
|
|
|
libexpr_headers,
|
2024-05-17 00:04:05 +00:00
|
|
|
subdir : 'lix/libexpr',
|
build: optionally build and install with meson
This commit adds several meson.build, which successfully build and
install Lix executables, libraries, and headers. Meson does not yet
build docs, Perl bindings, or run tests, which will be added in
following commits. As such, this commit does not remove the existing
build system, or make it the default, and also as such, this commit has
several FIXMEs and TODOs as notes for what should be done before the
existing autoconf + make buildsystem can be removed and Meson made the
default. This commit does not modify any source files.
A Meson-enabled build is also added as a Hydra job, and to
`nix flake check`.
Change-Id: I667c8685b13b7bab91e281053f807a11616ae3d4
2024-03-21 19:41:23 +00:00
|
|
|
preserve_path : true,
|
|
|
|
)
|
|
|
|
|
|
|
|
liblixexpr = declare_dependency(
|
2024-11-12 23:26:51 +00:00
|
|
|
include_directories : include_directories('../include'),
|
2024-08-05 17:18:43 +00:00
|
|
|
sources : libexpr_settings_header,
|
build: optionally build and install with meson
This commit adds several meson.build, which successfully build and
install Lix executables, libraries, and headers. Meson does not yet
build docs, Perl bindings, or run tests, which will be added in
following commits. As such, this commit does not remove the existing
build system, or make it the default, and also as such, this commit has
several FIXMEs and TODOs as notes for what should be done before the
existing autoconf + make buildsystem can be removed and Meson made the
default. This commit does not modify any source files.
A Meson-enabled build is also added as a Hydra job, and to
`nix flake check`.
Change-Id: I667c8685b13b7bab91e281053f807a11616ae3d4
2024-03-21 19:41:23 +00:00
|
|
|
link_with : libexpr,
|
|
|
|
)
|
2024-03-28 23:42:44 +00:00
|
|
|
|
2024-05-30 23:10:10 +00:00
|
|
|
# FIXME: remove when https://git.lix.systems/lix-project/lix/issues/359 is fixed.
|
|
|
|
if is_static
|
|
|
|
liblixexpr_mstatic = declare_dependency(
|
2024-11-12 23:26:51 +00:00
|
|
|
include_directories : include_directories('../include'),
|
2024-08-05 17:18:43 +00:00
|
|
|
sources : libexpr_settings_header,
|
2024-05-30 23:10:10 +00:00
|
|
|
link_whole : libexpr,
|
|
|
|
)
|
|
|
|
else
|
|
|
|
liblixexpr_mstatic = liblixexpr
|
|
|
|
endif
|
|
|
|
|
2024-03-28 23:42:44 +00:00
|
|
|
# FIXME: not using the pkg-config module because it creates way too many deps
|
|
|
|
# while meson migration is in progress, and we want to not include boost here
|
|
|
|
configure_file(
|
2024-05-17 00:04:05 +00:00
|
|
|
input : 'lix-expr.pc.in',
|
|
|
|
output : 'lix-expr.pc',
|
2024-03-28 23:42:44 +00:00
|
|
|
install_dir : libdir / 'pkgconfig',
|
|
|
|
configuration : {
|
|
|
|
'prefix' : prefix,
|
|
|
|
'libdir' : libdir,
|
|
|
|
'includedir' : includedir,
|
|
|
|
'PACKAGE_VERSION' : meson.project_version(),
|
|
|
|
},
|
|
|
|
)
|