From 19bcd3a753f21b679d4789f597eb26c0c79b4339 Mon Sep 17 00:00:00 2001 From: Simmo Saan Date: Wed, 6 Dec 2023 16:14:57 +0200 Subject: [PATCH] Extract Lattice to goblint_domain dune library --- src/common/common.mld | 1 - src/domain/domain.mld | 9 +++++++++ src/domain/dune | 19 +++++++++++++++++++ src/{common/domains => domain}/lattice.ml | 0 src/dune | 2 +- src/index.mld | 3 +++ 6 files changed, 32 insertions(+), 2 deletions(-) create mode 100644 src/domain/domain.mld create mode 100644 src/domain/dune rename src/{common/domains => domain}/lattice.ml (100%) diff --git a/src/common/common.mld b/src/common/common.mld index bf3f4d62e1..d8b8604b0b 100644 --- a/src/common/common.mld +++ b/src/common/common.mld @@ -30,7 +30,6 @@ Options {1 Domains} {!modules: Printable -Lattice } {2 Analysis-specific} diff --git a/src/domain/domain.mld b/src/domain/domain.mld new file mode 100644 index 0000000000..43d650abdd --- /dev/null +++ b/src/domain/domain.mld @@ -0,0 +1,9 @@ +{0 Library goblint.domain} +This library is unwrapped and provides the following top-level modules. +For better context, see {!Goblint_lib} which also documents these modules. + + +{1 Domains} +{!modules: +Lattice +} diff --git a/src/domain/dune b/src/domain/dune new file mode 100644 index 0000000000..45345b5946 --- /dev/null +++ b/src/domain/dune @@ -0,0 +1,19 @@ +(include_subdirs unqualified) + +(library + (name goblint_domain) + (public_name goblint.domain) + (wrapped false) ; TODO: wrap + (libraries + batteries.unthreaded + goblint_std + goblint_common + goblint-cil) + (flags :standard -open Goblint_std) + (preprocess + (pps + ppx_deriving.std + ppx_deriving_hash + ppx_deriving_yojson))) + +(documentation) diff --git a/src/common/domains/lattice.ml b/src/domain/lattice.ml similarity index 100% rename from src/common/domains/lattice.ml rename to src/domain/lattice.ml diff --git a/src/dune b/src/dune index d3fe6bdd0d..b57de472d3 100644 --- a/src/dune +++ b/src/dune @@ -7,7 +7,7 @@ (name goblint_lib) (public_name goblint.lib) (modules :standard \ goblint privPrecCompare apronPrecCompare messagesCompare) - (libraries goblint.sites goblint.build-info goblint-cil.all-features batteries.unthreaded qcheck-core.runner sha json-data-encoding jsonrpc cpu arg-complete fpath yaml yaml.unix uuidm goblint_timing catapult goblint_backtrace fileutils goblint_std goblint_common + (libraries goblint.sites goblint.build-info goblint-cil.all-features batteries.unthreaded qcheck-core.runner sha json-data-encoding jsonrpc cpu arg-complete fpath yaml yaml.unix uuidm goblint_timing catapult goblint_backtrace fileutils goblint_std goblint_common goblint_domain ; Conditionally compile based on whether apron optional dependency is installed or not. ; Alternative dependencies seem like the only way to optionally depend on optional dependencies. ; See: https://dune.readthedocs.io/en/stable/concepts.html#alternative-dependencies. diff --git a/src/index.mld b/src/index.mld index 2afbbc97ae..393323286b 100644 --- a/src/index.mld +++ b/src/index.mld @@ -10,6 +10,9 @@ This library currently contains the majority of Goblint and is in the process of {2 Library goblint.common} This {{!page-common}unwrapped library} contains various common modules extracted from {!Goblint_lib}. +{2 Library goblint.domain} +This {{!page-domain}unwrapped library} contains various domain modules extracted from {!Goblint_lib}. + {1 Library extensions} The following libraries provide extensions to other OCaml libraries.