Skip to content
Snippets Groups Projects
Commit 06909b86 authored by Ralf Jung's avatar Ralf Jung
Browse files

Merge branch 'ci/msammler/stdpp_experimental' into 'master'

Create stdpp-unstable package and add bitblast library

See merge request !402
parents 02fd8ca3 0d6ed2bf
No related branches found
No related tags found
1 merge request!402Create stdpp-unstable package and add bitblast library
Pipeline #70571 passed
...@@ -32,6 +32,13 @@ Coq 8.11 is no longer supported. ...@@ -32,6 +32,13 @@ Coq 8.11 is no longer supported.
- Rename `lookup_union_l``lookup_union_l'` and add `lookup_union_l` - Rename `lookup_union_l``lookup_union_l'` and add `lookup_union_l`
as the dual to `lookup_union_r`. as the dual to `lookup_union_r`.
- Add `map_seqZ` as the `Z` analogue of `map_seq`. (by Michael Sammler) - Add `map_seqZ` as the `Z` analogue of `map_seq`. (by Michael Sammler)
- Add the `coq-stdpp-unstable` package for libraries that are not
deemed stable enough to be included in the main std++ library,
following the `coq-iris-unstable` package. This library is contained
in the `stdpp_unstable` folder. The `theories` folder was renamed
to `stdpp`.
- Add an unstable `bitblast` tactic for solving equalities between integers
involving bitwise operations. (by Michael Sammler)
The following `sed` script should perform most of the renaming The following `sed` script should perform most of the renaming
(on macOS, replace `sed` by `gsed`, installed via e.g. `brew install gnu-sed`). (on macOS, replace `sed` by `gsed`, installed via e.g. `brew install gnu-sed`).
......
...@@ -65,6 +65,16 @@ To obtain a development version, add the Iris opam repository: ...@@ -65,6 +65,16 @@ To obtain a development version, add the Iris opam repository:
Run `make -jN` in this directory to build the library, where `N` is the number Run `make -jN` in this directory to build the library, where `N` is the number
of your CPU cores. Then run `make install` to install the library. of your CPU cores. Then run `make install` to install the library.
## Unstable libraries
The `stdpp_unstable` folder contains a set of libraries that are not
deemed stable enough to be included in the main std++ library. These
libraries are available via the `coq-stdpp-unstable` opam package. For
each library, there is a corresponding "tracking issue" in the std++
issue tracker (also linked from the library itself) which tracks the
work that still needs to be done before moving the library to std++.
No stability guarantees whatsoever are made for this package.
## Contributing to std++ ## Contributing to std++
If you want to report a bug, please use the If you want to report a bug, please use the
......
-Q theories stdpp # Search paths for all packages. They must all match the regex
# `-Q $PACKAGE[/ ]` so that we can filter out the right ones for each package.
-Q stdpp stdpp
-Q stdpp_unstable stdpp.unstable
# 'Global Hint Rewrite' not supported before Coq 8.14. # 'Global Hint Rewrite' not supported before Coq 8.14.
-arg -w -arg -deprecated-hint-rewrite-without-locality -arg -w -arg -deprecated-hint-rewrite-without-locality
# Fixing this one requires Coq 8.15. # Fixing this one requires Coq 8.15.
...@@ -6,51 +9,53 @@ ...@@ -6,51 +9,53 @@
# Fixing this one requires Coq 8.13. # Fixing this one requires Coq 8.13.
-arg -w -arg -deprecated-syntactic-definition -arg -w -arg -deprecated-syntactic-definition
theories/options.v stdpp/options.v
theories/base.v stdpp/base.v
theories/tactics.v stdpp/tactics.v
theories/option.v stdpp/option.v
theories/fin_map_dom.v stdpp/fin_map_dom.v
theories/boolset.v stdpp/boolset.v
theories/fin_maps.v stdpp/fin_maps.v
theories/fin.v stdpp/fin.v
theories/vector.v stdpp/vector.v
theories/pmap.v stdpp/pmap.v
theories/stringmap.v stdpp/stringmap.v
theories/fin_sets.v stdpp/fin_sets.v
theories/mapset.v stdpp/mapset.v
theories/proof_irrel.v stdpp/proof_irrel.v
theories/hashset.v stdpp/hashset.v
theories/pretty.v stdpp/pretty.v
theories/countable.v stdpp/countable.v
theories/orders.v stdpp/orders.v
theories/natmap.v stdpp/natmap.v
theories/strings.v stdpp/strings.v
theories/well_founded.v stdpp/well_founded.v
theories/relations.v stdpp/relations.v
theories/sets.v stdpp/sets.v
theories/listset.v stdpp/listset.v
theories/streams.v stdpp/streams.v
theories/gmap.v stdpp/gmap.v
theories/gmultiset.v stdpp/gmultiset.v
theories/prelude.v stdpp/prelude.v
theories/listset_nodup.v stdpp/listset_nodup.v
theories/finite.v stdpp/finite.v
theories/numbers.v stdpp/numbers.v
theories/nmap.v stdpp/nmap.v
theories/zmap.v stdpp/zmap.v
theories/coPset.v stdpp/coPset.v
theories/coGset.v stdpp/coGset.v
theories/lexico.v stdpp/lexico.v
theories/propset.v stdpp/propset.v
theories/decidable.v stdpp/decidable.v
theories/list.v stdpp/list.v
theories/list_numbers.v stdpp/list_numbers.v
theories/functions.v stdpp/functions.v
theories/hlist.v stdpp/hlist.v
theories/sorting.v stdpp/sorting.v
theories/infinite.v stdpp/infinite.v
theories/nat_cancel.v stdpp/nat_cancel.v
theories/namespaces.v stdpp/namespaces.v
theories/telescopes.v stdpp/telescopes.v
theories/binders.v stdpp/binders.v
stdpp_unstable/bitblast.v
opam-version: "2.0"
maintainer: "Ralf Jung <jung@mpi-sws.org>"
authors: "The std++ team"
license: "BSD-3-Clause"
homepage: "https://gitlab.mpi-sws.org/iris/stdpp"
bug-reports: "https://gitlab.mpi-sws.org/iris/stdpp/issues"
dev-repo: "git+https://gitlab.mpi-sws.org/iris/stdpp.git"
version: "dev"
synopsis: "Unfinished std++ libraries"
description: """
This package contains libraries that have been proposed for inclusion in std++, but more
work is needed before they are ready for this.
"""
tags: [
"logpath:stdpp.unstable"
]
depends: [
"coq-stdpp" {= version}
]
build: ["./make-package" "stdpp_unstable" "-j%{jobs}%"]
install: ["./make-package" "stdpp_unstable" "install"]
...@@ -36,5 +36,5 @@ depends: [ ...@@ -36,5 +36,5 @@ depends: [
"coq" { (>= "8.12" & < "8.16~") | (= "dev") } "coq" { (>= "8.12" & < "8.16~") | (= "dev") }
] ]
build: [make "-j%{jobs}%"] build: ["./make-package" "stdpp" "-j%{jobs}%"]
install: [make "install"] install: ["./make-package" "stdpp" "install"]
#!/bin/bash
set -e
# Helper script to build and/or install just one package out of this repository.
# Assumes that all the other packages it depends on have been installed already!
PROJECT="$1"
shift
COQFILE="_CoqProject.$PROJECT"
MAKEFILE="Makefile.package.$PROJECT"
if ! egrep -q "^$PROJECT/" _CoqProject; then
echo "No files in $PROJECT/ found in _CoqProject; this does not seem to be a valid project name."
exit 1
fi
# Generate _CoqProject file and Makefile
rm -f "$COQFILE"
# Get the right "-Q" line.
egrep "^-Q $PROJECT[ /]" _CoqProject >> "$COQFILE"
# Get everything until the first empty line except for the "-Q" lines.
sed -n '/./!q;p' _CoqProject | egrep -v "^-Q " >> "$COQFILE"
# Get the files.
egrep "^$PROJECT/" _CoqProject >> "$COQFILE"
# Now we can run coq_makefile.
"${COQBIN}coq_makefile" -f "$COQFILE" -o "$MAKEFILE"
# Run build
make -f "$MAKEFILE" "$@"
# Cleanup
rm -f ".$MAKEFILE.d" "$MAKEFILE"*
File moved
File moved
File moved
File moved
File moved
File moved
File moved
File moved
File moved
File moved
File moved
File moved
File moved
File moved
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment