− nix_main_dep = dependency('nix-main', required: true)
− nix_store_dep = dependency('nix-store', required: true)
+ nix_main_dep_names = {
+ 'cppnix': 'nix-main',
+ 'lix': 'lix-main',
+ }
+
+ if nix_impl != ''
+ nix_main_dep = dependency(nix_main_dep_names.get(nix_impl))
+ else
+ nix_main_dep = dependency('', required: false)
+
+ foreach impl, dep_name : nix_main_dep_names
+ d = dependency(dep_name, required: false)
+
+ if d.found() and nix_main_dep.found()
+ error('Both cppnix and lix are installed, choose one with -Dnix_impl=')
+ endif
+
+ nix_main_dep = d
+ nix_impl = impl
+ endforeach
+
+ if not d.found()
+ error('No Nix implementation found')
+ endif
+ endif
+
+ nix_store_dep_names = {
+ 'cppnix': 'nix-store',
+ 'lix': 'lix-store',
+ }
+ nix_store_dep = dependency(nix_store_dep_names.get(nix_impl))