mirror of
https://github.com/c-cube/ocaml-containers.git
synced 2026-01-23 17:46:40 -05:00
Compare commits
51 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a91d504c23 | ||
|
|
46e41f7f84 | ||
|
|
ad8a61a795 | ||
|
|
f24d983b04 | ||
|
|
32bc0450dc | ||
|
|
461d6309e7 | ||
|
|
9fb319966b | ||
|
|
e52b847e90 | ||
|
|
265ed02dc6 | ||
|
|
9c80dba89e | ||
|
|
d84b1e1369 | ||
|
|
88025034b6 | ||
|
|
f6774434cd | ||
|
|
47978e4bba | ||
|
|
ed2b741865 | ||
|
|
e69ad8a6de | ||
|
|
94396b79e0 | ||
|
|
d541de5d03 | ||
|
|
c16af69fb3 | ||
|
|
ab183a7348 | ||
|
|
42c912fe0e | ||
|
|
8eac492c21 | ||
|
|
adc37e48b3 | ||
|
|
844d39c826 | ||
|
|
4e49e2a893 | ||
|
|
7bacac2c98 | ||
|
|
9f562cd657 | ||
|
|
e268f2d10c | ||
|
|
99df5baac2 | ||
|
|
4ed1691eb9 | ||
|
|
8054a9f256 | ||
|
|
d4fa455365 | ||
|
|
0d61b48fdd | ||
|
|
a21f097a64 | ||
|
|
d534d4c50e | ||
|
|
2efbc8d56b | ||
|
|
a8f5c3420f | ||
|
|
41e6e5ec75 | ||
|
|
31fdc16185 | ||
|
|
b91d42912a | ||
|
|
1b15573acd | ||
|
|
22d9d27c80 | ||
|
|
e0a47cba9b | ||
|
|
608edd9a1a | ||
|
|
0e555bed6c | ||
|
|
2cb86cb93f | ||
|
|
4e3631c12b | ||
|
|
a3cfdacc78 | ||
|
|
7d3742e765 | ||
|
|
2fb05ad8b5 | ||
|
|
efc3dcb44d |
62 changed files with 10169 additions and 350 deletions
31
Makefile
31
Makefile
|
|
@ -1,46 +1,41 @@
|
|||
# OASIS_START
|
||||
# DO NOT EDIT (digest: 4c293511860bb966e727ba6f0ecc8197)
|
||||
# DO NOT EDIT (digest: a3c674b4239234cbbe53afe090018954)
|
||||
|
||||
SETUP = ./setup.exe
|
||||
SETUP = ocaml setup.ml
|
||||
|
||||
build: setup.data $(SETUP)
|
||||
build: setup.data
|
||||
$(SETUP) -build $(BUILDFLAGS)
|
||||
|
||||
doc: setup.data $(SETUP) build
|
||||
doc: setup.data build
|
||||
$(SETUP) -doc $(DOCFLAGS)
|
||||
|
||||
test: setup.data $(SETUP) build
|
||||
test: setup.data build
|
||||
$(SETUP) -test $(TESTFLAGS)
|
||||
|
||||
all: $(SETUP)
|
||||
all:
|
||||
$(SETUP) -all $(ALLFLAGS)
|
||||
|
||||
install: setup.data $(SETUP)
|
||||
install: setup.data
|
||||
$(SETUP) -install $(INSTALLFLAGS)
|
||||
|
||||
uninstall: setup.data $(SETUP)
|
||||
uninstall: setup.data
|
||||
$(SETUP) -uninstall $(UNINSTALLFLAGS)
|
||||
|
||||
reinstall: setup.data $(SETUP)
|
||||
reinstall: setup.data
|
||||
$(SETUP) -reinstall $(REINSTALLFLAGS)
|
||||
|
||||
clean: $(SETUP)
|
||||
clean:
|
||||
$(SETUP) -clean $(CLEANFLAGS)
|
||||
|
||||
distclean: $(SETUP)
|
||||
distclean:
|
||||
$(SETUP) -distclean $(DISTCLEANFLAGS)
|
||||
$(RM) $(SETUP)
|
||||
|
||||
setup.data: $(SETUP)
|
||||
setup.data:
|
||||
$(SETUP) -configure $(CONFIGUREFLAGS)
|
||||
|
||||
configure: $(SETUP)
|
||||
configure:
|
||||
$(SETUP) -configure $(CONFIGUREFLAGS)
|
||||
|
||||
setup.exe: setup.ml _oasis
|
||||
ocamlfind ocamlopt -o $@ -linkpkg -package oasis.dynrun setup.ml || ocamlfind ocamlc -o $@ -linkpkg -package oasis.dynrun setup.ml || true
|
||||
$(RM) setup.cmi setup.cmo setup.cmx setup.o
|
||||
|
||||
.PHONY: build doc test all install uninstall reinstall clean distclean configure
|
||||
|
||||
# OASIS_STOP
|
||||
|
|
|
|||
2
_oasis
2
_oasis
|
|
@ -8,7 +8,7 @@ LicenseFile: LICENSE
|
|||
Plugins: META (0.3), DevFiles (0.3)
|
||||
OCamlVersion: >= 4.00.1
|
||||
BuildTools: ocamlbuild
|
||||
AlphaFeatures: compiled_setup_ml, ocamlbuild_more_args
|
||||
AlphaFeatures: ocamlbuild_more_args
|
||||
|
||||
# cygwin fails with anything else
|
||||
XOCamlbuildExtraArgs: "-j 1"
|
||||
|
|
|
|||
68
_tags
68
_tags
|
|
@ -1,5 +1,5 @@
|
|||
# OASIS_START
|
||||
# DO NOT EDIT (digest: 1681c391580688c2463b8457d464cf03)
|
||||
# DO NOT EDIT (digest: 8cbdae3079e6ebc5257343569c6e2780)
|
||||
# Ignore VCS directories, you can use the same kind of rule outside
|
||||
# OASIS_START/STOP if you want to exclude directories that contains
|
||||
# useless stuff for the build process
|
||||
|
|
@ -18,36 +18,20 @@ true: annot, bin_annot
|
|||
"src/core/containers.cmxs": use_containers
|
||||
<src/core/*.ml{,i,y}>: package(bytes)
|
||||
<src/core/*.ml{,i,y}>: package(result)
|
||||
# Library containers_io
|
||||
"src/io/containers_io.cmxs": use_containers_io
|
||||
<src/io/*.ml{,i,y}>: package(bytes)
|
||||
# Library containers_unix
|
||||
"src/unix/containers_unix.cmxs": use_containers_unix
|
||||
<src/unix/*.ml{,i,y}>: package(bytes)
|
||||
<src/unix/*.ml{,i,y}>: package(result)
|
||||
<src/unix/*.ml{,i,y}>: package(unix)
|
||||
# Library containers_sexp
|
||||
"src/sexp/containers_sexp.cmxs": use_containers_sexp
|
||||
<src/sexp/*.ml{,i,y}>: package(bytes)
|
||||
<src/sexp/*.ml{,i,y}>: package(result)
|
||||
# Library containers_data
|
||||
"src/data/containers_data.cmxs": use_containers_data
|
||||
<src/data/*.ml{,i,y}>: package(bytes)
|
||||
# Library containers_iter
|
||||
"src/iter/containers_iter.cmxs": use_containers_iter
|
||||
# Library containers_string
|
||||
"src/string/containers_string.cmxs": use_containers_string
|
||||
<src/string/*.ml{,i,y}>: package(bytes)
|
||||
# Library containers_advanced
|
||||
"src/advanced/containers_advanced.cmxs": use_containers_advanced
|
||||
<src/advanced/*.ml{,i,y}>: package(bytes)
|
||||
<src/advanced/*.ml{,i,y}>: package(result)
|
||||
<src/advanced/*.ml{,i,y}>: package(sequence)
|
||||
<src/advanced/*.ml{,i,y}>: use_containers
|
||||
# Library containers_bigarray
|
||||
"src/bigarray/containers_bigarray.cmxs": use_containers_bigarray
|
||||
<src/bigarray/*.ml{,i,y}>: package(bigarray)
|
||||
<src/bigarray/*.ml{,i,y}>: package(bytes)
|
||||
<src/bigarray/*.ml{,i,y}>: package(result)
|
||||
<src/bigarray/*.ml{,i,y}>: use_containers
|
||||
# Library containers_thread
|
||||
"src/threads/containers_thread.cmxs": use_containers_thread
|
||||
<src/threads/*.ml{,i,y}>: package(bytes)
|
||||
|
|
@ -56,101 +40,77 @@ true: annot, bin_annot
|
|||
<src/threads/*.ml{,i,y}>: use_containers
|
||||
# Library containers_top
|
||||
"src/top/containers_top.cmxs": use_containers_top
|
||||
<src/top/*.ml{,i,y}>: package(bigarray)
|
||||
<src/top/*.ml{,i,y}>: package(bytes)
|
||||
<src/top/*.ml{,i,y}>: package(compiler-libs.common)
|
||||
<src/top/*.ml{,i,y}>: package(result)
|
||||
<src/top/*.ml{,i,y}>: package(unix)
|
||||
<src/top/*.ml{,i,y}>: use_containers
|
||||
<src/top/*.ml{,i,y}>: use_containers_bigarray
|
||||
<src/top/*.ml{,i,y}>: use_containers_data
|
||||
<src/top/*.ml{,i,y}>: use_containers_iter
|
||||
<src/top/*.ml{,i,y}>: use_containers_sexp
|
||||
<src/top/*.ml{,i,y}>: use_containers_string
|
||||
<src/top/*.ml{,i,y}>: use_containers_unix
|
||||
# Executable run_benchs
|
||||
<benchs/run_benchs.{native,byte}>: package(benchmark)
|
||||
<benchs/run_benchs.{native,byte}>: package(bytes)
|
||||
<benchs/run_benchs.{native,byte}>: package(gen)
|
||||
<benchs/run_benchs.{native,byte}>: package(hamt)
|
||||
<benchs/run_benchs.{native,byte}>: package(qcheck)
|
||||
<benchs/run_benchs.{native,byte}>: package(result)
|
||||
<benchs/run_benchs.{native,byte}>: package(sequence)
|
||||
<benchs/run_benchs.{native,byte}>: package(threads)
|
||||
<benchs/run_benchs.{native,byte}>: use_containers
|
||||
<benchs/run_benchs.{native,byte}>: use_containers_advanced
|
||||
<benchs/run_benchs.{native,byte}>: use_containers_data
|
||||
<benchs/run_benchs.{native,byte}>: use_containers_iter
|
||||
<benchs/run_benchs.{native,byte}>: use_containers_string
|
||||
<benchs/run_benchs.{native,byte}>: use_containers_thread
|
||||
<benchs/*.ml{,i,y}>: package(benchmark)
|
||||
<benchs/*.ml{,i,y}>: package(gen)
|
||||
<benchs/*.ml{,i,y}>: package(qcheck)
|
||||
<benchs/*.ml{,i,y}>: package(sequence)
|
||||
<benchs/*.ml{,i,y}>: package(threads)
|
||||
<benchs/*.ml{,i,y}>: use_containers_advanced
|
||||
<benchs/*.ml{,i,y}>: use_containers_data
|
||||
<benchs/*.ml{,i,y}>: use_containers_iter
|
||||
<benchs/*.ml{,i,y}>: use_containers_string
|
||||
<benchs/*.ml{,i,y}>: use_containers_thread
|
||||
# Executable run_bench_hash
|
||||
<benchs/run_bench_hash.{native,byte}>: package(bytes)
|
||||
<benchs/run_bench_hash.{native,byte}>: package(result)
|
||||
<benchs/run_bench_hash.{native,byte}>: use_containers
|
||||
<benchs/*.ml{,i,y}>: package(bytes)
|
||||
<benchs/*.ml{,i,y}>: package(result)
|
||||
<benchs/*.ml{,i,y}>: use_containers
|
||||
# Executable run_qtest
|
||||
<qtest/run_qtest.{native,byte}>: package(QTest2Lib)
|
||||
<qtest/run_qtest.{native,byte}>: package(bigarray)
|
||||
<qtest/run_qtest.{native,byte}>: package(bytes)
|
||||
<qtest/run_qtest.{native,byte}>: package(gen)
|
||||
<qtest/run_qtest.{native,byte}>: package(oUnit)
|
||||
<qtest/run_qtest.{native,byte}>: package(qcheck)
|
||||
<qtest/run_qtest.{native,byte}>: package(result)
|
||||
<qtest/run_qtest.{native,byte}>: package(sequence)
|
||||
<qtest/run_qtest.{native,byte}>: package(threads)
|
||||
<qtest/run_qtest.{native,byte}>: package(unix)
|
||||
<qtest/run_qtest.{native,byte}>: use_containers
|
||||
<qtest/run_qtest.{native,byte}>: use_containers_advanced
|
||||
<qtest/run_qtest.{native,byte}>: use_containers_bigarray
|
||||
<qtest/run_qtest.{native,byte}>: use_containers_data
|
||||
<qtest/run_qtest.{native,byte}>: use_containers_io
|
||||
<qtest/run_qtest.{native,byte}>: use_containers_iter
|
||||
<qtest/run_qtest.{native,byte}>: use_containers_sexp
|
||||
<qtest/run_qtest.{native,byte}>: use_containers_string
|
||||
<qtest/run_qtest.{native,byte}>: use_containers_thread
|
||||
<qtest/run_qtest.{native,byte}>: use_containers_unix
|
||||
<qtest/*.ml{,i,y}>: package(QTest2Lib)
|
||||
<qtest/*.ml{,i,y}>: package(bigarray)
|
||||
<qtest/*.ml{,i,y}>: package(bytes)
|
||||
<qtest/*.ml{,i,y}>: package(gen)
|
||||
<qtest/*.ml{,i,y}>: package(oUnit)
|
||||
<qtest/*.ml{,i,y}>: package(qcheck)
|
||||
<qtest/*.ml{,i,y}>: package(result)
|
||||
<qtest/*.ml{,i,y}>: package(sequence)
|
||||
<qtest/*.ml{,i,y}>: package(threads)
|
||||
<qtest/*.ml{,i,y}>: package(unix)
|
||||
<qtest/*.ml{,i,y}>: use_containers
|
||||
<qtest/*.ml{,i,y}>: use_containers_advanced
|
||||
<qtest/*.ml{,i,y}>: use_containers_bigarray
|
||||
<qtest/*.ml{,i,y}>: use_containers_data
|
||||
<qtest/*.ml{,i,y}>: use_containers_io
|
||||
<qtest/*.ml{,i,y}>: use_containers_iter
|
||||
<qtest/*.ml{,i,y}>: use_containers_sexp
|
||||
<qtest/*.ml{,i,y}>: use_containers_string
|
||||
<qtest/*.ml{,i,y}>: use_containers_thread
|
||||
<qtest/*.ml{,i,y}>: use_containers_unix
|
||||
# Executable mem_measure
|
||||
"benchs/mem_measure.native": package(bytes)
|
||||
"benchs/mem_measure.native": package(hamt)
|
||||
"benchs/mem_measure.native": package(result)
|
||||
"benchs/mem_measure.native": package(sequence)
|
||||
"benchs/mem_measure.native": package(unix)
|
||||
"benchs/mem_measure.native": use_containers
|
||||
"benchs/mem_measure.native": use_containers_data
|
||||
<benchs/*.ml{,i,y}>: package(bytes)
|
||||
<benchs/*.ml{,i,y}>: package(hamt)
|
||||
<benchs/*.ml{,i,y}>: package(result)
|
||||
<benchs/*.ml{,i,y}>: package(sequence)
|
||||
<benchs/*.ml{,i,y}>: package(unix)
|
||||
<benchs/*.ml{,i,y}>: use_containers
|
||||
<benchs/*.ml{,i,y}>: use_containers_data
|
||||
# Executable id_sexp
|
||||
<examples/id_sexp.{native,byte}>: package(bytes)
|
||||
<examples/id_sexp.{native,byte}>: package(result)
|
||||
<examples/id_sexp.{native,byte}>: use_containers_sexp
|
||||
<examples/*.ml{,i,y}>: package(bytes)
|
||||
<examples/*.ml{,i,y}>: package(result)
|
||||
<examples/*.ml{,i,y}>: use_containers_sexp
|
||||
# OASIS_STOP
|
||||
<tests/*.ml{,i}>: thread
|
||||
|
|
|
|||
4
advanced/containers_advanced.mldylib
Normal file
4
advanced/containers_advanced.mldylib
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
# OASIS_START
|
||||
# DO NOT EDIT (digest: 0f1ca0e2b031ae1710e26abf02cca256)
|
||||
Containers_advanced
|
||||
# OASIS_STOP
|
||||
4
advanced/containers_advanced.mllib
Normal file
4
advanced/containers_advanced.mllib
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
# OASIS_START
|
||||
# DO NOT EDIT (digest: 0f1ca0e2b031ae1710e26abf02cca256)
|
||||
Containers_advanced
|
||||
# OASIS_STOP
|
||||
7
advanced/containers_advanced.mlpack
Normal file
7
advanced/containers_advanced.mlpack
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
# OASIS_START
|
||||
# DO NOT EDIT (digest: 5a399cd532edb84596f3034081578694)
|
||||
CCLinq
|
||||
CCBatch
|
||||
CCCat
|
||||
CCMonadIO
|
||||
# OASIS_STOP
|
||||
8
configure
vendored
8
configure
vendored
|
|
@ -1,7 +1,7 @@
|
|||
#!/bin/sh
|
||||
|
||||
# OASIS_START
|
||||
# DO NOT EDIT (digest: 7577949ceda6f9dbd4983aea8db9275b)
|
||||
# DO NOT EDIT (digest: dc86c2ad450f91ca10c931b6045d0499)
|
||||
set -e
|
||||
|
||||
FST=true
|
||||
|
|
@ -23,9 +23,5 @@ for i in "$@"; do
|
|||
esac
|
||||
done
|
||||
|
||||
if [ ! -e setup.exe ] || [ _oasis -nt setup.exe ] || [ setup.ml -nt setup.exe ] || [ configure -nt setup.exe ]; then
|
||||
ocamlfind ocamlopt -o setup.exe -linkpkg -package oasis.dynrun setup.ml || ocamlfind ocamlc -o setup.exe -linkpkg -package oasis.dynrun setup.ml || exit 1
|
||||
rm -f setup.cmi setup.cmo setup.cmx setup.o
|
||||
fi
|
||||
./setup.exe -configure "$@"
|
||||
ocaml setup.ml -configure "$@"
|
||||
# OASIS_STOP
|
||||
|
|
|
|||
69
containers.odocl
Normal file
69
containers.odocl
Normal file
|
|
@ -0,0 +1,69 @@
|
|||
# OASIS_START
|
||||
# DO NOT EDIT (digest: fe2373b07664be05f7322781403afad6)
|
||||
src/core/CCVector
|
||||
src/core/CCHeap
|
||||
src/core/CCList
|
||||
src/core/CCOpt
|
||||
src/core/CCPair
|
||||
src/core/CCFun
|
||||
src/core/CCHash
|
||||
src/core/CCInt
|
||||
src/core/CCBool
|
||||
src/core/CCFloat
|
||||
src/core/CCArray
|
||||
src/core/CCRef
|
||||
src/core/CCSet
|
||||
src/core/CCOrd
|
||||
src/core/CCRandom
|
||||
src/core/CCString
|
||||
src/core/CCHashtbl
|
||||
src/core/CCMap
|
||||
src/core/CCFormat
|
||||
src/core/CCIO
|
||||
src/core/CCInt64
|
||||
src/core/CCChar
|
||||
src/core/CCResult
|
||||
src/core/CCParse
|
||||
src/core/CCArray_slice
|
||||
src/core/CCListLabels
|
||||
src/core/CCArrayLabels
|
||||
src/core/CCEqual
|
||||
src/core/Containers
|
||||
src/iter/CCKTree
|
||||
src/iter/CCKList
|
||||
src/iter/CCLazy_list
|
||||
src/data/CCMultiMap
|
||||
src/data/CCMultiSet
|
||||
src/data/CCTrie
|
||||
src/data/CCFlatHashtbl
|
||||
src/data/CCCache
|
||||
src/data/CCPersistentHashtbl
|
||||
src/data/CCDeque
|
||||
src/data/CCFQueue
|
||||
src/data/CCBV
|
||||
src/data/CCMixtbl
|
||||
src/data/CCMixmap
|
||||
src/data/CCRingBuffer
|
||||
src/data/CCIntMap
|
||||
src/data/CCPersistentArray
|
||||
src/data/CCMixset
|
||||
src/data/CCGraph
|
||||
src/data/CCHashSet
|
||||
src/data/CCBitField
|
||||
src/data/CCHashTrie
|
||||
src/data/CCWBTree
|
||||
src/data/CCRAL
|
||||
src/data/CCSimple_queue
|
||||
src/data/CCImmutArray
|
||||
src/data/CCHet
|
||||
src/data/CCZipper
|
||||
src/threads/CCPool
|
||||
src/threads/CCLock
|
||||
src/threads/CCSemaphore
|
||||
src/threads/CCThread
|
||||
src/threads/CCBlockingQueue
|
||||
src/threads/CCTimer
|
||||
src/unix/CCUnix
|
||||
src/sexp/CCSexp
|
||||
src/sexp/CCSexp_lex
|
||||
# OASIS_STOP
|
||||
7
containers_advanced.odocl
Normal file
7
containers_advanced.odocl
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
# OASIS_START
|
||||
# DO NOT EDIT (digest: c39cb4de2de5f975c95c1e05f9661ea6)
|
||||
advanced/CCLinq
|
||||
advanced/CCBatch
|
||||
advanced/CCCat
|
||||
advanced/CCMonadIO
|
||||
# OASIS_STOP
|
||||
6
containers_lwt.odocl
Normal file
6
containers_lwt.odocl
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
# OASIS_START
|
||||
# DO NOT EDIT (digest: e7bd30038718864173f30ddcb755f758)
|
||||
lwt/Behavior
|
||||
lwt/Lwt_automaton
|
||||
lwt/Lwt_actor
|
||||
# OASIS_STOP
|
||||
34
containers_misc.odocl
Normal file
34
containers_misc.odocl
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
# OASIS_START
|
||||
# DO NOT EDIT (digest: df85a5182175d1029216007c66a27aa4)
|
||||
misc/FHashtbl
|
||||
misc/FlatHashtbl
|
||||
misc/Hashset
|
||||
misc/Heap
|
||||
misc/LazyGraph
|
||||
misc/PersistentGraph
|
||||
misc/PHashtbl
|
||||
misc/SkipList
|
||||
misc/SplayTree
|
||||
misc/SplayMap
|
||||
misc/Univ
|
||||
misc/Bij
|
||||
misc/PiCalculus
|
||||
misc/RAL
|
||||
misc/UnionFind
|
||||
misc/SmallSet
|
||||
misc/AbsSet
|
||||
misc/CSM
|
||||
misc/TTree
|
||||
misc/PrintBox
|
||||
misc/HGraph
|
||||
misc/Automaton
|
||||
misc/Conv
|
||||
misc/Bidir
|
||||
misc/Iteratee
|
||||
misc/BTree
|
||||
misc/Ty
|
||||
misc/Cause
|
||||
misc/AVL
|
||||
misc/ParseReact
|
||||
misc/Mixtbl
|
||||
# OASIS_STOP
|
||||
5
containers_string.odocl
Normal file
5
containers_string.odocl
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
# OASIS_START
|
||||
# DO NOT EDIT (digest: fae37ce560d3fa23ae92d95d4ecca210)
|
||||
string/KMP
|
||||
string/Levenshtein
|
||||
# OASIS_STOP
|
||||
87
core/META
Normal file
87
core/META
Normal file
|
|
@ -0,0 +1,87 @@
|
|||
# OASIS_START
|
||||
# DO NOT EDIT (digest: 29eba35d8937ec2340c27a97da9180a6)
|
||||
version = "0.6.1"
|
||||
description = "A modular standard library focused on data structures."
|
||||
requires = "bytes"
|
||||
archive(byte) = "containers.cma"
|
||||
archive(byte, plugin) = "containers.cma"
|
||||
archive(native) = "containers.cmxa"
|
||||
archive(native, plugin) = "containers.cmxs"
|
||||
exists_if = "containers.cma"
|
||||
package "thread" (
|
||||
version = "0.6.1"
|
||||
description = "A modular standard library focused on data structures."
|
||||
requires = "containers threads"
|
||||
archive(byte) = "containers_thread.cma"
|
||||
archive(byte, plugin) = "containers_thread.cma"
|
||||
archive(native) = "containers_thread.cmxa"
|
||||
archive(native, plugin) = "containers_thread.cmxs"
|
||||
exists_if = "containers_thread.cma"
|
||||
)
|
||||
|
||||
package "string" (
|
||||
version = "0.6.1"
|
||||
description = "A modular standard library focused on data structures."
|
||||
archive(byte) = "containers_string.cma"
|
||||
archive(byte, plugin) = "containers_string.cma"
|
||||
archive(native) = "containers_string.cmxa"
|
||||
archive(native, plugin) = "containers_string.cmxs"
|
||||
exists_if = "containers_string.cma"
|
||||
)
|
||||
|
||||
package "pervasives" (
|
||||
version = "0.6.1"
|
||||
description = "A modular standard library focused on data structures."
|
||||
requires = "containers"
|
||||
archive(byte) = "containers_pervasives.cma"
|
||||
archive(byte, plugin) = "containers_pervasives.cma"
|
||||
archive(native) = "containers_pervasives.cmxa"
|
||||
archive(native, plugin) = "containers_pervasives.cmxs"
|
||||
exists_if = "containers_pervasives.cma"
|
||||
)
|
||||
|
||||
package "misc" (
|
||||
version = "0.6.1"
|
||||
description = "A modular standard library focused on data structures."
|
||||
requires = "unix containers"
|
||||
archive(byte) = "containers_misc.cma"
|
||||
archive(byte, plugin) = "containers_misc.cma"
|
||||
archive(native) = "containers_misc.cmxa"
|
||||
archive(native, plugin) = "containers_misc.cmxs"
|
||||
exists_if = "containers_misc.cma"
|
||||
)
|
||||
|
||||
package "lwt" (
|
||||
version = "0.6.1"
|
||||
description = "A modular standard library focused on data structures."
|
||||
requires = "containers lwt lwt.unix containers.misc"
|
||||
archive(byte) = "containers_lwt.cma"
|
||||
archive(byte, plugin) = "containers_lwt.cma"
|
||||
archive(native) = "containers_lwt.cmxa"
|
||||
archive(native, plugin) = "containers_lwt.cmxs"
|
||||
exists_if = "containers_lwt.cma"
|
||||
)
|
||||
|
||||
package "cgi" (
|
||||
version = "0.6.1"
|
||||
description = "A modular standard library focused on data structures."
|
||||
requires = "containers CamlGI"
|
||||
archive(byte) = "containers_cgi.cma"
|
||||
archive(byte, plugin) = "containers_cgi.cma"
|
||||
archive(native) = "containers_cgi.cmxa"
|
||||
archive(native, plugin) = "containers_cgi.cmxs"
|
||||
exists_if = "containers_cgi.cma"
|
||||
)
|
||||
|
||||
package "advanced" (
|
||||
version = "0.6.1"
|
||||
description = "A modular standard library focused on data structures."
|
||||
requires = "containers"
|
||||
archive(byte) = "containers_advanced.cma"
|
||||
archive(byte, plugin) = "containers_advanced.cma"
|
||||
archive(native) = "containers_advanced.cmxa"
|
||||
archive(native, plugin) = "containers_advanced.cmxs"
|
||||
exists_if = "containers_advanced.cma"
|
||||
)
|
||||
# OASIS_STOP
|
||||
|
||||
37
core/containers.mldylib
Normal file
37
core/containers.mldylib
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
# OASIS_START
|
||||
# DO NOT EDIT (digest: 8d84707fdc7358bdadca9b7202118243)
|
||||
CCVector
|
||||
CCDeque
|
||||
CCGen
|
||||
Gen_intf
|
||||
CCSequence
|
||||
CCFQueue
|
||||
CCMultiMap
|
||||
CCMultiSet
|
||||
CCBV
|
||||
CCPrint
|
||||
CCPersistentHashtbl
|
||||
CCError
|
||||
CCHeap
|
||||
CCList
|
||||
CCOpt
|
||||
CCPair
|
||||
CCFun
|
||||
CCHash
|
||||
CCKList
|
||||
CCInt
|
||||
CCBool
|
||||
CCFloat
|
||||
CCArray
|
||||
CCOrd
|
||||
CCIO
|
||||
CCRandom
|
||||
CCKTree
|
||||
CCTrie
|
||||
CCString
|
||||
CCHashtbl
|
||||
CCFlatHashtbl
|
||||
CCSexp
|
||||
CCMap
|
||||
CCCache
|
||||
# OASIS_STOP
|
||||
37
core/containers.mllib
Normal file
37
core/containers.mllib
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
# OASIS_START
|
||||
# DO NOT EDIT (digest: 8d84707fdc7358bdadca9b7202118243)
|
||||
CCVector
|
||||
CCDeque
|
||||
CCGen
|
||||
Gen_intf
|
||||
CCSequence
|
||||
CCFQueue
|
||||
CCMultiMap
|
||||
CCMultiSet
|
||||
CCBV
|
||||
CCPrint
|
||||
CCPersistentHashtbl
|
||||
CCError
|
||||
CCHeap
|
||||
CCList
|
||||
CCOpt
|
||||
CCPair
|
||||
CCFun
|
||||
CCHash
|
||||
CCKList
|
||||
CCInt
|
||||
CCBool
|
||||
CCFloat
|
||||
CCArray
|
||||
CCOrd
|
||||
CCIO
|
||||
CCRandom
|
||||
CCKTree
|
||||
CCTrie
|
||||
CCString
|
||||
CCHashtbl
|
||||
CCFlatHashtbl
|
||||
CCSexp
|
||||
CCMap
|
||||
CCCache
|
||||
# OASIS_STOP
|
||||
4
lwt/containers_lwt.mldylib
Normal file
4
lwt/containers_lwt.mldylib
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
# OASIS_START
|
||||
# DO NOT EDIT (digest: bc144ef7b5b54947fab9662a822f9179)
|
||||
Containers_lwt
|
||||
# OASIS_STOP
|
||||
4
lwt/containers_lwt.mllib
Normal file
4
lwt/containers_lwt.mllib
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
# OASIS_START
|
||||
# DO NOT EDIT (digest: bc144ef7b5b54947fab9662a822f9179)
|
||||
Containers_lwt
|
||||
# OASIS_STOP
|
||||
6
lwt/containers_lwt.mlpack
Normal file
6
lwt/containers_lwt.mlpack
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
# OASIS_START
|
||||
# DO NOT EDIT (digest: 0522ffe492b9796ab336d55b925afe68)
|
||||
Behavior
|
||||
Lwt_automaton
|
||||
Lwt_actor
|
||||
# OASIS_STOP
|
||||
4
misc/containers_misc.mldylib
Normal file
4
misc/containers_misc.mldylib
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
# OASIS_START
|
||||
# DO NOT EDIT (digest: 2df0608accd158542ebcb00720cfe599)
|
||||
Containers_misc
|
||||
# OASIS_STOP
|
||||
4
misc/containers_misc.mllib
Normal file
4
misc/containers_misc.mllib
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
# OASIS_START
|
||||
# DO NOT EDIT (digest: 2df0608accd158542ebcb00720cfe599)
|
||||
Containers_misc
|
||||
# OASIS_STOP
|
||||
34
misc/containers_misc.mlpack
Normal file
34
misc/containers_misc.mlpack
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
# OASIS_START
|
||||
# DO NOT EDIT (digest: 5f2c8615af923cd3ff229b6d10c55bc8)
|
||||
FHashtbl
|
||||
FlatHashtbl
|
||||
Hashset
|
||||
Heap
|
||||
LazyGraph
|
||||
PersistentGraph
|
||||
PHashtbl
|
||||
SkipList
|
||||
SplayTree
|
||||
SplayMap
|
||||
Univ
|
||||
Bij
|
||||
PiCalculus
|
||||
RAL
|
||||
UnionFind
|
||||
SmallSet
|
||||
AbsSet
|
||||
CSM
|
||||
TTree
|
||||
PrintBox
|
||||
HGraph
|
||||
Automaton
|
||||
Conv
|
||||
Bidir
|
||||
Iteratee
|
||||
BTree
|
||||
Ty
|
||||
Cause
|
||||
AVL
|
||||
ParseReact
|
||||
Mixtbl
|
||||
# OASIS_STOP
|
||||
738
myocamlbuild.ml
738
myocamlbuild.ml
|
|
@ -1,19 +1,12 @@
|
|||
(* OASIS_START *)
|
||||
(* DO NOT EDIT (digest: b119194f5742ac2f3cdceac9a223dda7) *)
|
||||
(* DO NOT EDIT (digest: 9ebeddeee0d56b1f8c98544fabcbbd9b) *)
|
||||
module OASISGettext = struct
|
||||
(* # 22 "src/oasis/OASISGettext.ml" *)
|
||||
|
||||
|
||||
let ns_ str =
|
||||
str
|
||||
|
||||
|
||||
let s_ str =
|
||||
str
|
||||
|
||||
|
||||
let f_ (str: ('a, 'b, 'c, 'd) format4) =
|
||||
str
|
||||
let ns_ str = str
|
||||
let s_ str = str
|
||||
let f_ (str: ('a, 'b, 'c, 'd) format4) = str
|
||||
|
||||
|
||||
let fn_ fmt1 fmt2 n =
|
||||
|
|
@ -23,8 +16,325 @@ module OASISGettext = struct
|
|||
fmt2^^""
|
||||
|
||||
|
||||
let init =
|
||||
[]
|
||||
let init = []
|
||||
end
|
||||
|
||||
module OASISString = struct
|
||||
(* # 22 "src/oasis/OASISString.ml" *)
|
||||
|
||||
|
||||
(** Various string utilities.
|
||||
|
||||
Mostly inspired by extlib and batteries ExtString and BatString libraries.
|
||||
|
||||
@author Sylvain Le Gall
|
||||
*)
|
||||
|
||||
|
||||
let nsplitf str f =
|
||||
if str = "" then
|
||||
[]
|
||||
else
|
||||
let buf = Buffer.create 13 in
|
||||
let lst = ref [] in
|
||||
let push () =
|
||||
lst := Buffer.contents buf :: !lst;
|
||||
Buffer.clear buf
|
||||
in
|
||||
let str_len = String.length str in
|
||||
for i = 0 to str_len - 1 do
|
||||
if f str.[i] then
|
||||
push ()
|
||||
else
|
||||
Buffer.add_char buf str.[i]
|
||||
done;
|
||||
push ();
|
||||
List.rev !lst
|
||||
|
||||
|
||||
(** [nsplit c s] Split the string [s] at char [c]. It doesn't include the
|
||||
separator.
|
||||
*)
|
||||
let nsplit str c =
|
||||
nsplitf str ((=) c)
|
||||
|
||||
|
||||
let find ~what ?(offset=0) str =
|
||||
let what_idx = ref 0 in
|
||||
let str_idx = ref offset in
|
||||
while !str_idx < String.length str &&
|
||||
!what_idx < String.length what do
|
||||
if str.[!str_idx] = what.[!what_idx] then
|
||||
incr what_idx
|
||||
else
|
||||
what_idx := 0;
|
||||
incr str_idx
|
||||
done;
|
||||
if !what_idx <> String.length what then
|
||||
raise Not_found
|
||||
else
|
||||
!str_idx - !what_idx
|
||||
|
||||
|
||||
let sub_start str len =
|
||||
let str_len = String.length str in
|
||||
if len >= str_len then
|
||||
""
|
||||
else
|
||||
String.sub str len (str_len - len)
|
||||
|
||||
|
||||
let sub_end ?(offset=0) str len =
|
||||
let str_len = String.length str in
|
||||
if len >= str_len then
|
||||
""
|
||||
else
|
||||
String.sub str 0 (str_len - len)
|
||||
|
||||
|
||||
let starts_with ~what ?(offset=0) str =
|
||||
let what_idx = ref 0 in
|
||||
let str_idx = ref offset in
|
||||
let ok = ref true in
|
||||
while !ok &&
|
||||
!str_idx < String.length str &&
|
||||
!what_idx < String.length what do
|
||||
if str.[!str_idx] = what.[!what_idx] then
|
||||
incr what_idx
|
||||
else
|
||||
ok := false;
|
||||
incr str_idx
|
||||
done;
|
||||
!what_idx = String.length what
|
||||
|
||||
|
||||
let strip_starts_with ~what str =
|
||||
if starts_with ~what str then
|
||||
sub_start str (String.length what)
|
||||
else
|
||||
raise Not_found
|
||||
|
||||
|
||||
let ends_with ~what ?(offset=0) str =
|
||||
let what_idx = ref ((String.length what) - 1) in
|
||||
let str_idx = ref ((String.length str) - 1) in
|
||||
let ok = ref true in
|
||||
while !ok &&
|
||||
offset <= !str_idx &&
|
||||
0 <= !what_idx do
|
||||
if str.[!str_idx] = what.[!what_idx] then
|
||||
decr what_idx
|
||||
else
|
||||
ok := false;
|
||||
decr str_idx
|
||||
done;
|
||||
!what_idx = -1
|
||||
|
||||
|
||||
let strip_ends_with ~what str =
|
||||
if ends_with ~what str then
|
||||
sub_end str (String.length what)
|
||||
else
|
||||
raise Not_found
|
||||
|
||||
|
||||
let replace_chars f s =
|
||||
let buf = Buffer.create (String.length s) in
|
||||
String.iter (fun c -> Buffer.add_char buf (f c)) s;
|
||||
Buffer.contents buf
|
||||
|
||||
let lowercase_ascii =
|
||||
replace_chars
|
||||
(fun c ->
|
||||
if (c >= 'A' && c <= 'Z') then
|
||||
Char.chr (Char.code c + 32)
|
||||
else
|
||||
c)
|
||||
|
||||
let uncapitalize_ascii s =
|
||||
if s <> "" then
|
||||
(lowercase_ascii (String.sub s 0 1)) ^ (String.sub s 1 ((String.length s) - 1))
|
||||
else
|
||||
s
|
||||
|
||||
let uppercase_ascii =
|
||||
replace_chars
|
||||
(fun c ->
|
||||
if (c >= 'a' && c <= 'z') then
|
||||
Char.chr (Char.code c - 32)
|
||||
else
|
||||
c)
|
||||
|
||||
let capitalize_ascii s =
|
||||
if s <> "" then
|
||||
(uppercase_ascii (String.sub s 0 1)) ^ (String.sub s 1 ((String.length s) - 1))
|
||||
else
|
||||
s
|
||||
|
||||
end
|
||||
|
||||
module OASISUtils = struct
|
||||
(* # 22 "src/oasis/OASISUtils.ml" *)
|
||||
|
||||
|
||||
open OASISGettext
|
||||
|
||||
|
||||
module MapExt =
|
||||
struct
|
||||
module type S =
|
||||
sig
|
||||
include Map.S
|
||||
val add_list: 'a t -> (key * 'a) list -> 'a t
|
||||
val of_list: (key * 'a) list -> 'a t
|
||||
val to_list: 'a t -> (key * 'a) list
|
||||
end
|
||||
|
||||
module Make (Ord: Map.OrderedType) =
|
||||
struct
|
||||
include Map.Make(Ord)
|
||||
|
||||
let rec add_list t =
|
||||
function
|
||||
| (k, v) :: tl -> add_list (add k v t) tl
|
||||
| [] -> t
|
||||
|
||||
let of_list lst = add_list empty lst
|
||||
|
||||
let to_list t = fold (fun k v acc -> (k, v) :: acc) t []
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
module MapString = MapExt.Make(String)
|
||||
|
||||
|
||||
module SetExt =
|
||||
struct
|
||||
module type S =
|
||||
sig
|
||||
include Set.S
|
||||
val add_list: t -> elt list -> t
|
||||
val of_list: elt list -> t
|
||||
val to_list: t -> elt list
|
||||
end
|
||||
|
||||
module Make (Ord: Set.OrderedType) =
|
||||
struct
|
||||
include Set.Make(Ord)
|
||||
|
||||
let rec add_list t =
|
||||
function
|
||||
| e :: tl -> add_list (add e t) tl
|
||||
| [] -> t
|
||||
|
||||
let of_list lst = add_list empty lst
|
||||
|
||||
let to_list = elements
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
module SetString = SetExt.Make(String)
|
||||
|
||||
|
||||
let compare_csl s1 s2 =
|
||||
String.compare (OASISString.lowercase_ascii s1) (OASISString.lowercase_ascii s2)
|
||||
|
||||
|
||||
module HashStringCsl =
|
||||
Hashtbl.Make
|
||||
(struct
|
||||
type t = string
|
||||
let equal s1 s2 = (compare_csl s1 s2) = 0
|
||||
let hash s = Hashtbl.hash (OASISString.lowercase_ascii s)
|
||||
end)
|
||||
|
||||
module SetStringCsl =
|
||||
SetExt.Make
|
||||
(struct
|
||||
type t = string
|
||||
let compare = compare_csl
|
||||
end)
|
||||
|
||||
|
||||
let varname_of_string ?(hyphen='_') s =
|
||||
if String.length s = 0 then
|
||||
begin
|
||||
invalid_arg "varname_of_string"
|
||||
end
|
||||
else
|
||||
begin
|
||||
let buf =
|
||||
OASISString.replace_chars
|
||||
(fun c ->
|
||||
if ('a' <= c && c <= 'z')
|
||||
||
|
||||
('A' <= c && c <= 'Z')
|
||||
||
|
||||
('0' <= c && c <= '9') then
|
||||
c
|
||||
else
|
||||
hyphen)
|
||||
s;
|
||||
in
|
||||
let buf =
|
||||
(* Start with a _ if digit *)
|
||||
if '0' <= s.[0] && s.[0] <= '9' then
|
||||
"_"^buf
|
||||
else
|
||||
buf
|
||||
in
|
||||
OASISString.lowercase_ascii buf
|
||||
end
|
||||
|
||||
|
||||
let varname_concat ?(hyphen='_') p s =
|
||||
let what = String.make 1 hyphen in
|
||||
let p =
|
||||
try
|
||||
OASISString.strip_ends_with ~what p
|
||||
with Not_found ->
|
||||
p
|
||||
in
|
||||
let s =
|
||||
try
|
||||
OASISString.strip_starts_with ~what s
|
||||
with Not_found ->
|
||||
s
|
||||
in
|
||||
p^what^s
|
||||
|
||||
|
||||
let is_varname str =
|
||||
str = varname_of_string str
|
||||
|
||||
|
||||
let failwithf fmt = Printf.ksprintf failwith fmt
|
||||
|
||||
|
||||
let rec file_location ?pos1 ?pos2 ?lexbuf () =
|
||||
match pos1, pos2, lexbuf with
|
||||
| Some p, None, _ | None, Some p, _ ->
|
||||
file_location ~pos1:p ~pos2:p ?lexbuf ()
|
||||
| Some p1, Some p2, _ ->
|
||||
let open Lexing in
|
||||
let fn, lineno = p1.pos_fname, p1.pos_lnum in
|
||||
let c1 = p1.pos_cnum - p1.pos_bol in
|
||||
let c2 = c1 + (p2.pos_cnum - p1.pos_cnum) in
|
||||
Printf.sprintf (f_ "file %S, line %d, characters %d-%d") fn lineno c1 c2
|
||||
| _, _, Some lexbuf ->
|
||||
file_location
|
||||
~pos1:(Lexing.lexeme_start_p lexbuf)
|
||||
~pos2:(Lexing.lexeme_end_p lexbuf)
|
||||
()
|
||||
| None, None, None ->
|
||||
s_ "<position undefined>"
|
||||
|
||||
|
||||
let failwithpf ?pos1 ?pos2 ?lexbuf fmt =
|
||||
let loc = file_location ?pos1 ?pos2 ?lexbuf () in
|
||||
Printf.ksprintf (fun s -> failwith (Printf.sprintf "%s: %s" loc s)) fmt
|
||||
|
||||
|
||||
end
|
||||
|
|
@ -33,15 +343,11 @@ module OASISExpr = struct
|
|||
(* # 22 "src/oasis/OASISExpr.ml" *)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
open OASISGettext
|
||||
open OASISUtils
|
||||
|
||||
|
||||
type test = string
|
||||
|
||||
|
||||
type flag = string
|
||||
|
||||
|
||||
|
|
@ -54,7 +360,6 @@ module OASISExpr = struct
|
|||
| ETest of test * string
|
||||
|
||||
|
||||
|
||||
type 'a choices = (t * 'a) list
|
||||
|
||||
|
||||
|
|
@ -129,7 +434,7 @@ module OASISExpr = struct
|
|||
end
|
||||
|
||||
|
||||
# 132 "myocamlbuild.ml"
|
||||
# 437 "myocamlbuild.ml"
|
||||
module BaseEnvLight = struct
|
||||
(* # 22 "src/base/BaseEnvLight.ml" *)
|
||||
|
||||
|
|
@ -140,132 +445,103 @@ module BaseEnvLight = struct
|
|||
type t = string MapString.t
|
||||
|
||||
|
||||
let default_filename =
|
||||
Filename.concat
|
||||
(Sys.getcwd ())
|
||||
"setup.data"
|
||||
let default_filename = Filename.concat (Sys.getcwd ()) "setup.data"
|
||||
|
||||
|
||||
let load ?(allow_empty=false) ?(filename=default_filename) () =
|
||||
if Sys.file_exists filename then
|
||||
begin
|
||||
let chn =
|
||||
open_in_bin filename
|
||||
in
|
||||
let st =
|
||||
Stream.of_channel chn
|
||||
in
|
||||
let line =
|
||||
ref 1
|
||||
in
|
||||
let st_line =
|
||||
Stream.from
|
||||
(fun _ ->
|
||||
try
|
||||
match Stream.next st with
|
||||
| '\n' -> incr line; Some '\n'
|
||||
| c -> Some c
|
||||
with Stream.Failure -> None)
|
||||
in
|
||||
let lexer =
|
||||
Genlex.make_lexer ["="] st_line
|
||||
in
|
||||
let rec read_file mp =
|
||||
match Stream.npeek 3 lexer with
|
||||
| [Genlex.Ident nm; Genlex.Kwd "="; Genlex.String value] ->
|
||||
Stream.junk lexer;
|
||||
Stream.junk lexer;
|
||||
Stream.junk lexer;
|
||||
read_file (MapString.add nm value mp)
|
||||
| [] ->
|
||||
mp
|
||||
| _ ->
|
||||
failwith
|
||||
(Printf.sprintf
|
||||
"Malformed data file '%s' line %d"
|
||||
filename !line)
|
||||
in
|
||||
let mp =
|
||||
read_file MapString.empty
|
||||
in
|
||||
close_in chn;
|
||||
mp
|
||||
end
|
||||
else if allow_empty then
|
||||
begin
|
||||
let load ?(allow_empty=false) ?(filename=default_filename) ?stream () =
|
||||
let line = ref 1 in
|
||||
let lexer st =
|
||||
let st_line =
|
||||
Stream.from
|
||||
(fun _ ->
|
||||
try
|
||||
match Stream.next st with
|
||||
| '\n' -> incr line; Some '\n'
|
||||
| c -> Some c
|
||||
with Stream.Failure -> None)
|
||||
in
|
||||
Genlex.make_lexer ["="] st_line
|
||||
in
|
||||
let rec read_file lxr mp =
|
||||
match Stream.npeek 3 lxr with
|
||||
| [Genlex.Ident nm; Genlex.Kwd "="; Genlex.String value] ->
|
||||
Stream.junk lxr; Stream.junk lxr; Stream.junk lxr;
|
||||
read_file lxr (MapString.add nm value mp)
|
||||
| [] -> mp
|
||||
| _ ->
|
||||
failwith
|
||||
(Printf.sprintf "Malformed data file '%s' line %d" filename !line)
|
||||
in
|
||||
match stream with
|
||||
| Some st -> read_file (lexer st) MapString.empty
|
||||
| None ->
|
||||
if Sys.file_exists filename then begin
|
||||
let chn = open_in_bin filename in
|
||||
let st = Stream.of_channel chn in
|
||||
try
|
||||
let mp = read_file (lexer st) MapString.empty in
|
||||
close_in chn; mp
|
||||
with e ->
|
||||
close_in chn; raise e
|
||||
end else if allow_empty then begin
|
||||
MapString.empty
|
||||
end
|
||||
else
|
||||
begin
|
||||
end else begin
|
||||
failwith
|
||||
(Printf.sprintf
|
||||
"Unable to load environment, the file '%s' doesn't exist."
|
||||
filename)
|
||||
end
|
||||
|
||||
|
||||
let rec var_expand str env =
|
||||
let buff =
|
||||
Buffer.create ((String.length str) * 2)
|
||||
in
|
||||
Buffer.add_substitute
|
||||
buff
|
||||
(fun var ->
|
||||
try
|
||||
var_expand (MapString.find var env) env
|
||||
with Not_found ->
|
||||
failwith
|
||||
(Printf.sprintf
|
||||
"No variable %s defined when trying to expand %S."
|
||||
var
|
||||
str))
|
||||
str;
|
||||
Buffer.contents buff
|
||||
let buff = Buffer.create ((String.length str) * 2) in
|
||||
Buffer.add_substitute
|
||||
buff
|
||||
(fun var ->
|
||||
try
|
||||
var_expand (MapString.find var env) env
|
||||
with Not_found ->
|
||||
failwith
|
||||
(Printf.sprintf
|
||||
"No variable %s defined when trying to expand %S."
|
||||
var
|
||||
str))
|
||||
str;
|
||||
Buffer.contents buff
|
||||
|
||||
|
||||
let var_get name env =
|
||||
var_expand (MapString.find name env) env
|
||||
|
||||
|
||||
let var_choose lst env =
|
||||
OASISExpr.choose
|
||||
(fun nm -> var_get nm env)
|
||||
lst
|
||||
let var_get name env = var_expand (MapString.find name env) env
|
||||
let var_choose lst env = OASISExpr.choose (fun nm -> var_get nm env) lst
|
||||
end
|
||||
|
||||
|
||||
# 237 "myocamlbuild.ml"
|
||||
# 517 "myocamlbuild.ml"
|
||||
module MyOCamlbuildFindlib = struct
|
||||
(* # 22 "src/plugins/ocamlbuild/MyOCamlbuildFindlib.ml" *)
|
||||
|
||||
|
||||
(** OCamlbuild extension, copied from
|
||||
* http://brion.inria.fr/gallium/index.php/Using_ocamlfind_with_ocamlbuild
|
||||
* https://ocaml.org/learn/tutorials/ocamlbuild/Using_ocamlfind_with_ocamlbuild.html
|
||||
* by N. Pouillard and others
|
||||
*
|
||||
* Updated on 2009/02/28
|
||||
* Updated on 2016-06-02
|
||||
*
|
||||
* Modified by Sylvain Le Gall
|
||||
*)
|
||||
*)
|
||||
open Ocamlbuild_plugin
|
||||
|
||||
type conf =
|
||||
{ no_automatic_syntax: bool;
|
||||
}
|
||||
|
||||
(* these functions are not really officially exported *)
|
||||
let run_and_read =
|
||||
Ocamlbuild_pack.My_unix.run_and_read
|
||||
type conf = {no_automatic_syntax: bool}
|
||||
|
||||
|
||||
let blank_sep_strings =
|
||||
Ocamlbuild_pack.Lexers.blank_sep_strings
|
||||
let run_and_read = Ocamlbuild_pack.My_unix.run_and_read
|
||||
|
||||
|
||||
let blank_sep_strings = Ocamlbuild_pack.Lexers.blank_sep_strings
|
||||
|
||||
|
||||
let exec_from_conf exec =
|
||||
let exec =
|
||||
let env_filename = Pathname.basename BaseEnvLight.default_filename in
|
||||
let env = BaseEnvLight.load ~filename:env_filename ~allow_empty:true () in
|
||||
let env = BaseEnvLight.load ~allow_empty:true () in
|
||||
try
|
||||
BaseEnvLight.var_get exec env
|
||||
with Not_found ->
|
||||
|
|
@ -276,7 +552,7 @@ module MyOCamlbuildFindlib = struct
|
|||
if Sys.os_type = "Win32" then begin
|
||||
let buff = Buffer.create (String.length str) in
|
||||
(* Adapt for windowsi, ocamlbuild + win32 has a hard time to handle '\\'.
|
||||
*)
|
||||
*)
|
||||
String.iter
|
||||
(fun c -> Buffer.add_char buff (if c = '\\' then '/' else c))
|
||||
str;
|
||||
|
|
@ -285,7 +561,8 @@ module MyOCamlbuildFindlib = struct
|
|||
str
|
||||
end
|
||||
in
|
||||
fix_win32 exec
|
||||
fix_win32 exec
|
||||
|
||||
|
||||
let split s ch =
|
||||
let buf = Buffer.create 13 in
|
||||
|
|
@ -294,15 +571,15 @@ module MyOCamlbuildFindlib = struct
|
|||
x := (Buffer.contents buf) :: !x;
|
||||
Buffer.clear buf
|
||||
in
|
||||
String.iter
|
||||
(fun c ->
|
||||
if c = ch then
|
||||
flush ()
|
||||
else
|
||||
Buffer.add_char buf c)
|
||||
s;
|
||||
flush ();
|
||||
List.rev !x
|
||||
String.iter
|
||||
(fun c ->
|
||||
if c = ch then
|
||||
flush ()
|
||||
else
|
||||
Buffer.add_char buf c)
|
||||
s;
|
||||
flush ();
|
||||
List.rev !x
|
||||
|
||||
|
||||
let split_nl s = split s '\n'
|
||||
|
|
@ -344,85 +621,89 @@ module MyOCamlbuildFindlib = struct
|
|||
let dispatch conf =
|
||||
function
|
||||
| After_options ->
|
||||
(* By using Before_options one let command line options have an higher
|
||||
* priority on the contrary using After_options will guarantee to have
|
||||
* the higher priority override default commands by ocamlfind ones *)
|
||||
Options.ocamlc := ocamlfind & A"ocamlc";
|
||||
Options.ocamlopt := ocamlfind & A"ocamlopt";
|
||||
Options.ocamldep := ocamlfind & A"ocamldep";
|
||||
Options.ocamldoc := ocamlfind & A"ocamldoc";
|
||||
Options.ocamlmktop := ocamlfind & A"ocamlmktop";
|
||||
Options.ocamlmklib := ocamlfind & A"ocamlmklib"
|
||||
(* By using Before_options one let command line options have an higher
|
||||
* priority on the contrary using After_options will guarantee to have
|
||||
* the higher priority override default commands by ocamlfind ones *)
|
||||
Options.ocamlc := ocamlfind & A"ocamlc";
|
||||
Options.ocamlopt := ocamlfind & A"ocamlopt";
|
||||
Options.ocamldep := ocamlfind & A"ocamldep";
|
||||
Options.ocamldoc := ocamlfind & A"ocamldoc";
|
||||
Options.ocamlmktop := ocamlfind & A"ocamlmktop";
|
||||
Options.ocamlmklib := ocamlfind & A"ocamlmklib"
|
||||
|
||||
| After_rules ->
|
||||
|
||||
(* When one link an OCaml library/binary/package, one should use
|
||||
* -linkpkg *)
|
||||
flag ["ocaml"; "link"; "program"] & A"-linkpkg";
|
||||
(* Avoid warnings for unused tag *)
|
||||
flag ["tests"] N;
|
||||
|
||||
if not (conf.no_automatic_syntax) then begin
|
||||
(* For each ocamlfind package one inject the -package option when
|
||||
* compiling, computing dependencies, generating documentation and
|
||||
* linking. *)
|
||||
List.iter
|
||||
begin fun pkg ->
|
||||
let base_args = [A"-package"; A pkg] in
|
||||
(* TODO: consider how to really choose camlp4o or camlp4r. *)
|
||||
let syn_args = [A"-syntax"; A "camlp4o"] in
|
||||
let (args, pargs) =
|
||||
(* Heuristic to identify syntax extensions: whether they end in
|
||||
".syntax"; some might not.
|
||||
*)
|
||||
if Filename.check_suffix pkg "syntax" ||
|
||||
List.mem pkg well_known_syntax then
|
||||
(syn_args @ base_args, syn_args)
|
||||
else
|
||||
(base_args, [])
|
||||
in
|
||||
flag ["ocaml"; "compile"; "pkg_"^pkg] & S args;
|
||||
flag ["ocaml"; "ocamldep"; "pkg_"^pkg] & S args;
|
||||
flag ["ocaml"; "doc"; "pkg_"^pkg] & S args;
|
||||
flag ["ocaml"; "link"; "pkg_"^pkg] & S base_args;
|
||||
flag ["ocaml"; "infer_interface"; "pkg_"^pkg] & S args;
|
||||
(* When one link an OCaml library/binary/package, one should use
|
||||
* -linkpkg *)
|
||||
flag ["ocaml"; "link"; "program"] & A"-linkpkg";
|
||||
|
||||
(* TODO: Check if this is allowed for OCaml < 3.12.1 *)
|
||||
flag ["ocaml"; "compile"; "package("^pkg^")"] & S pargs;
|
||||
flag ["ocaml"; "ocamldep"; "package("^pkg^")"] & S pargs;
|
||||
flag ["ocaml"; "doc"; "package("^pkg^")"] & S pargs;
|
||||
flag ["ocaml"; "infer_interface"; "package("^pkg^")"] & S pargs;
|
||||
end
|
||||
(find_packages ());
|
||||
end;
|
||||
(* For each ocamlfind package one inject the -package option when
|
||||
* compiling, computing dependencies, generating documentation and
|
||||
* linking. *)
|
||||
List.iter
|
||||
begin fun pkg ->
|
||||
let base_args = [A"-package"; A pkg] in
|
||||
(* TODO: consider how to really choose camlp4o or camlp4r. *)
|
||||
let syn_args = [A"-syntax"; A "camlp4o"] in
|
||||
let (args, pargs) =
|
||||
(* Heuristic to identify syntax extensions: whether they end in
|
||||
".syntax"; some might not.
|
||||
*)
|
||||
if not (conf.no_automatic_syntax) &&
|
||||
(Filename.check_suffix pkg "syntax" ||
|
||||
List.mem pkg well_known_syntax) then
|
||||
(syn_args @ base_args, syn_args)
|
||||
else
|
||||
(base_args, [])
|
||||
in
|
||||
flag ["ocaml"; "compile"; "pkg_"^pkg] & S args;
|
||||
flag ["ocaml"; "ocamldep"; "pkg_"^pkg] & S args;
|
||||
flag ["ocaml"; "doc"; "pkg_"^pkg] & S args;
|
||||
flag ["ocaml"; "link"; "pkg_"^pkg] & S base_args;
|
||||
flag ["ocaml"; "infer_interface"; "pkg_"^pkg] & S args;
|
||||
|
||||
(* Like -package but for extensions syntax. Morover -syntax is useless
|
||||
* when linking. *)
|
||||
List.iter begin fun syntax ->
|
||||
(* TODO: Check if this is allowed for OCaml < 3.12.1 *)
|
||||
flag ["ocaml"; "compile"; "package("^pkg^")"] & S pargs;
|
||||
flag ["ocaml"; "ocamldep"; "package("^pkg^")"] & S pargs;
|
||||
flag ["ocaml"; "doc"; "package("^pkg^")"] & S pargs;
|
||||
flag ["ocaml"; "infer_interface"; "package("^pkg^")"] & S pargs;
|
||||
end
|
||||
(find_packages ());
|
||||
|
||||
(* Like -package but for extensions syntax. Morover -syntax is useless
|
||||
* when linking. *)
|
||||
List.iter begin fun syntax ->
|
||||
flag ["ocaml"; "compile"; "syntax_"^syntax] & S[A"-syntax"; A syntax];
|
||||
flag ["ocaml"; "ocamldep"; "syntax_"^syntax] & S[A"-syntax"; A syntax];
|
||||
flag ["ocaml"; "doc"; "syntax_"^syntax] & S[A"-syntax"; A syntax];
|
||||
flag ["ocaml"; "infer_interface"; "syntax_"^syntax] &
|
||||
S[A"-syntax"; A syntax];
|
||||
end (find_syntaxes ());
|
||||
S[A"-syntax"; A syntax];
|
||||
end (find_syntaxes ());
|
||||
|
||||
(* The default "thread" tag is not compatible with ocamlfind.
|
||||
* Indeed, the default rules add the "threads.cma" or "threads.cmxa"
|
||||
* options when using this tag. When using the "-linkpkg" option with
|
||||
* ocamlfind, this module will then be added twice on the command line.
|
||||
*
|
||||
* To solve this, one approach is to add the "-thread" option when using
|
||||
* the "threads" package using the previous plugin.
|
||||
*)
|
||||
flag ["ocaml"; "pkg_threads"; "compile"] (S[A "-thread"]);
|
||||
flag ["ocaml"; "pkg_threads"; "doc"] (S[A "-I"; A "+threads"]);
|
||||
flag ["ocaml"; "pkg_threads"; "link"] (S[A "-thread"]);
|
||||
flag ["ocaml"; "pkg_threads"; "infer_interface"] (S[A "-thread"]);
|
||||
flag ["ocaml"; "package(threads)"; "compile"] (S[A "-thread"]);
|
||||
flag ["ocaml"; "package(threads)"; "doc"] (S[A "-I"; A "+threads"]);
|
||||
flag ["ocaml"; "package(threads)"; "link"] (S[A "-thread"]);
|
||||
flag ["ocaml"; "package(threads)"; "infer_interface"] (S[A "-thread"]);
|
||||
(* The default "thread" tag is not compatible with ocamlfind.
|
||||
* Indeed, the default rules add the "threads.cma" or "threads.cmxa"
|
||||
* options when using this tag. When using the "-linkpkg" option with
|
||||
* ocamlfind, this module will then be added twice on the command line.
|
||||
*
|
||||
* To solve this, one approach is to add the "-thread" option when using
|
||||
* the "threads" package using the previous plugin.
|
||||
*)
|
||||
flag ["ocaml"; "pkg_threads"; "compile"] (S[A "-thread"]);
|
||||
flag ["ocaml"; "pkg_threads"; "doc"] (S[A "-I"; A "+threads"]);
|
||||
flag ["ocaml"; "pkg_threads"; "link"] (S[A "-thread"]);
|
||||
flag ["ocaml"; "pkg_threads"; "infer_interface"] (S[A "-thread"]);
|
||||
flag ["c"; "pkg_threads"; "compile"] (S[A "-thread"]);
|
||||
flag ["ocaml"; "package(threads)"; "compile"] (S[A "-thread"]);
|
||||
flag ["ocaml"; "package(threads)"; "doc"] (S[A "-I"; A "+threads"]);
|
||||
flag ["ocaml"; "package(threads)"; "link"] (S[A "-thread"]);
|
||||
flag ["ocaml"; "package(threads)"; "infer_interface"] (S[A "-thread"]);
|
||||
flag ["c"; "package(threads)"; "compile"] (S[A "-thread"]);
|
||||
|
||||
| _ ->
|
||||
()
|
||||
()
|
||||
end
|
||||
|
||||
module MyOCamlbuildBase = struct
|
||||
|
|
@ -434,9 +715,6 @@ module MyOCamlbuildBase = struct
|
|||
*)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
open Ocamlbuild_plugin
|
||||
module OC = Ocamlbuild_pack.Ocaml_compiler
|
||||
|
||||
|
|
@ -447,9 +725,6 @@ module MyOCamlbuildBase = struct
|
|||
type tag = string
|
||||
|
||||
|
||||
(* # 62 "src/plugins/ocamlbuild/MyOCamlbuildBase.ml" *)
|
||||
|
||||
|
||||
type t =
|
||||
{
|
||||
lib_ocaml: (name * dir list * string list) list;
|
||||
|
|
@ -462,9 +737,10 @@ module MyOCamlbuildBase = struct
|
|||
}
|
||||
|
||||
|
||||
let env_filename =
|
||||
Pathname.basename
|
||||
BaseEnvLight.default_filename
|
||||
(* # 110 "src/plugins/ocamlbuild/MyOCamlbuildBase.ml" *)
|
||||
|
||||
|
||||
let env_filename = Pathname.basename BaseEnvLight.default_filename
|
||||
|
||||
|
||||
let dispatch_combine lst =
|
||||
|
|
@ -483,12 +759,7 @@ module MyOCamlbuildBase = struct
|
|||
|
||||
|
||||
let dispatch t e =
|
||||
let env =
|
||||
BaseEnvLight.load
|
||||
~filename:env_filename
|
||||
~allow_empty:true
|
||||
()
|
||||
in
|
||||
let env = BaseEnvLight.load ~allow_empty:true () in
|
||||
match e with
|
||||
| Before_options ->
|
||||
let no_trailing_dot s =
|
||||
|
|
@ -516,7 +787,7 @@ module MyOCamlbuildBase = struct
|
|||
| nm, [], intf_modules ->
|
||||
ocaml_lib nm;
|
||||
let cmis =
|
||||
List.map (fun m -> (String.uncapitalize m) ^ ".cmi")
|
||||
List.map (fun m -> (OASISString.uncapitalize_ascii m) ^ ".cmi")
|
||||
intf_modules in
|
||||
dep ["ocaml"; "link"; "library"; "file:"^nm^".cma"] cmis
|
||||
| nm, dir :: tl, intf_modules ->
|
||||
|
|
@ -529,7 +800,7 @@ module MyOCamlbuildBase = struct
|
|||
["compile"; "infer_interface"; "doc"])
|
||||
tl;
|
||||
let cmis =
|
||||
List.map (fun m -> dir^"/"^(String.uncapitalize m)^".cmi")
|
||||
List.map (fun m -> dir^"/"^(OASISString.uncapitalize_ascii m)^".cmi")
|
||||
intf_modules in
|
||||
dep ["ocaml"; "link"; "library"; "file:"^dir^"/"^nm^".cma"]
|
||||
cmis)
|
||||
|
|
@ -552,18 +823,19 @@ module MyOCamlbuildBase = struct
|
|||
flag ["link"; "library"; "ocaml"; "native"; tag_libstubs lib]
|
||||
(S[A"-cclib"; A("-l"^(nm_libstubs lib))]);
|
||||
|
||||
flag ["link"; "program"; "ocaml"; "byte"; tag_libstubs lib]
|
||||
(S[A"-dllib"; A("dll"^(nm_libstubs lib))]);
|
||||
if bool_of_string (BaseEnvLight.var_get "native_dynlink" env) then
|
||||
flag ["link"; "program"; "ocaml"; "byte"; tag_libstubs lib]
|
||||
(S[A"-dllib"; A("dll"^(nm_libstubs lib))]);
|
||||
|
||||
(* When ocaml link something that use the C library, then one
|
||||
need that file to be up to date.
|
||||
This holds both for programs and for libraries.
|
||||
*)
|
||||
dep ["link"; "ocaml"; tag_libstubs lib]
|
||||
[dir/"lib"^(nm_libstubs lib)^"."^(!Options.ext_lib)];
|
||||
dep ["link"; "ocaml"; tag_libstubs lib]
|
||||
[dir/"lib"^(nm_libstubs lib)^"."^(!Options.ext_lib)];
|
||||
|
||||
dep ["compile"; "ocaml"; tag_libstubs lib]
|
||||
[dir/"lib"^(nm_libstubs lib)^"."^(!Options.ext_lib)];
|
||||
dep ["compile"; "ocaml"; tag_libstubs lib]
|
||||
[dir/"lib"^(nm_libstubs lib)^"."^(!Options.ext_lib)];
|
||||
|
||||
(* TODO: be more specific about what depends on headers *)
|
||||
(* Depends on .h files *)
|
||||
|
|
@ -603,21 +875,17 @@ module MyOCamlbuildBase = struct
|
|||
end
|
||||
|
||||
|
||||
# 606 "myocamlbuild.ml"
|
||||
# 878 "myocamlbuild.ml"
|
||||
open Ocamlbuild_plugin;;
|
||||
let package_default =
|
||||
{
|
||||
MyOCamlbuildBase.lib_ocaml =
|
||||
[
|
||||
("containers", ["src/core"], []);
|
||||
("containers_io", ["src/io"], []);
|
||||
("containers_unix", ["src/unix"], []);
|
||||
("containers_sexp", ["src/sexp"], []);
|
||||
("containers_data", ["src/data"], []);
|
||||
("containers_iter", ["src/iter"], []);
|
||||
("containers_string", ["src/string"], []);
|
||||
("containers_advanced", ["src/advanced"], []);
|
||||
("containers_bigarray", ["src/bigarray"], []);
|
||||
("containers_thread", ["src/threads"], []);
|
||||
("containers_top", ["src/top"], [])
|
||||
];
|
||||
|
|
@ -626,41 +894,19 @@ let package_default =
|
|||
includes =
|
||||
[
|
||||
("src/top",
|
||||
[
|
||||
"src/bigarray";
|
||||
"src/core";
|
||||
"src/data";
|
||||
"src/iter";
|
||||
"src/sexp";
|
||||
"src/string";
|
||||
"src/unix"
|
||||
]);
|
||||
["src/core"; "src/data"; "src/iter"; "src/sexp"; "src/unix"]);
|
||||
("src/threads", ["src/core"]);
|
||||
("src/bigarray", ["src/core"]);
|
||||
("src/advanced", ["src/core"]);
|
||||
("qtest",
|
||||
[
|
||||
"src/advanced";
|
||||
"src/bigarray";
|
||||
"src/core";
|
||||
"src/data";
|
||||
"src/io";
|
||||
"src/iter";
|
||||
"src/sexp";
|
||||
"src/string";
|
||||
"src/threads";
|
||||
"src/unix"
|
||||
]);
|
||||
("examples", ["src/sexp"]);
|
||||
("benchs",
|
||||
[
|
||||
"src/advanced";
|
||||
"src/core";
|
||||
"src/data";
|
||||
"src/iter";
|
||||
"src/string";
|
||||
"src/threads"
|
||||
])
|
||||
("benchs", ["src/core"; "src/data"; "src/iter"; "src/threads"])
|
||||
]
|
||||
}
|
||||
;;
|
||||
|
|
@ -669,12 +915,11 @@ let conf = {MyOCamlbuildFindlib.no_automatic_syntax = false}
|
|||
|
||||
let dispatch_default = MyOCamlbuildBase.dispatch_default conf package_default;;
|
||||
|
||||
# 673 "myocamlbuild.ml"
|
||||
# 919 "myocamlbuild.ml"
|
||||
(* OASIS_STOP *)
|
||||
let doc_intro = "doc/intro.txt" ;;
|
||||
|
||||
let doc_intro = "doc/intro.txt"
|
||||
|
||||
open Ocamlbuild_plugin;;
|
||||
Ocamlbuild_plugin.dispatch dispatch_default;;
|
||||
|
||||
dispatch
|
||||
(MyOCamlbuildBase.dispatch_combine [
|
||||
|
|
@ -690,3 +935,4 @@ dispatch
|
|||
end;
|
||||
dispatch_default
|
||||
])
|
||||
|
||||
|
|
|
|||
9
opam
9
opam
|
|
@ -1,6 +1,6 @@
|
|||
opam-version: "1.2"
|
||||
name: "containers"
|
||||
version: "dev"
|
||||
version: "1.5"
|
||||
author: "Simon Cruanes"
|
||||
maintainer: "simon.cruanes@inria.fr"
|
||||
build: [
|
||||
|
|
@ -23,7 +23,6 @@ remove: [
|
|||
]
|
||||
depends: [
|
||||
"ocamlfind" {build}
|
||||
"oasis" {build}
|
||||
"base-bytes"
|
||||
"result"
|
||||
"ocamlbuild" {build}
|
||||
|
|
@ -42,3 +41,9 @@ doc: "http://cedeela.fr/~simon/software/containers/"
|
|||
available: [ocaml-version >= "4.01.0"]
|
||||
dev-repo: "https://github.com/c-cube/ocaml-containers.git"
|
||||
bug-reports: "https://github.com/c-cube/ocaml-containers/issues/"
|
||||
post-messages: [
|
||||
"Small release with many bugfixes and a few new functions.
|
||||
|
||||
A summary hub.com/c-cube/ocaml-containers/issues/84
|
||||
changelog: https://github.com/c-cube/ocaml-containers/blob/1.3/CHANGELOG.adoc"
|
||||
]
|
||||
|
|
|
|||
4
pervasives/containers_pervasives.mldylib
Normal file
4
pervasives/containers_pervasives.mldylib
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
# OASIS_START
|
||||
# DO NOT EDIT (digest: ea286cccf88f4c81c7b4627216807d4e)
|
||||
CCPervasives
|
||||
# OASIS_STOP
|
||||
4
pervasives/containers_pervasives.mllib
Normal file
4
pervasives/containers_pervasives.mllib
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
# OASIS_START
|
||||
# DO NOT EDIT (digest: ea286cccf88f4c81c7b4627216807d4e)
|
||||
CCPervasives
|
||||
# OASIS_STOP
|
||||
8
src/advanced/containers_advanced.mldylib
Normal file
8
src/advanced/containers_advanced.mldylib
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
# OASIS_START
|
||||
# DO NOT EDIT (digest: b0f5a3a0b7428f165d73d9e621998219)
|
||||
Containers_advanced
|
||||
CCLinq
|
||||
CCBatch
|
||||
CCCat
|
||||
CCMonadIO
|
||||
# OASIS_STOP
|
||||
8
src/advanced/containers_advanced.mllib
Normal file
8
src/advanced/containers_advanced.mllib
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
# OASIS_START
|
||||
# DO NOT EDIT (digest: b0f5a3a0b7428f165d73d9e621998219)
|
||||
Containers_advanced
|
||||
CCLinq
|
||||
CCBatch
|
||||
CCCat
|
||||
CCMonadIO
|
||||
# OASIS_STOP
|
||||
5
src/bigarray/containers_bigarray.mldylib
Normal file
5
src/bigarray/containers_bigarray.mldylib
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
# OASIS_START
|
||||
# DO NOT EDIT (digest: 4901abd33a2dfcf115ddeffb93e1186e)
|
||||
CCBigstring
|
||||
CCArray1
|
||||
# OASIS_STOP
|
||||
5
src/bigarray/containers_bigarray.mllib
Normal file
5
src/bigarray/containers_bigarray.mllib
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
# OASIS_START
|
||||
# DO NOT EDIT (digest: 4901abd33a2dfcf115ddeffb93e1186e)
|
||||
CCBigstring
|
||||
CCArray1
|
||||
# OASIS_STOP
|
||||
77
src/core/META
Normal file
77
src/core/META
Normal file
|
|
@ -0,0 +1,77 @@
|
|||
# OASIS_START
|
||||
# DO NOT EDIT (digest: fb895e43d7bf196a6016effa48011802)
|
||||
version = "1.5"
|
||||
description = "A modular standard library focused on data structures."
|
||||
requires = "bytes result"
|
||||
archive(byte) = "containers.cma"
|
||||
archive(byte, plugin) = "containers.cma"
|
||||
archive(native) = "containers.cmxa"
|
||||
archive(native, plugin) = "containers.cmxs"
|
||||
exists_if = "containers.cma"
|
||||
package "unix" (
|
||||
version = "1.5"
|
||||
description = "A modular standard library focused on data structures."
|
||||
requires = "bytes result unix"
|
||||
archive(byte) = "containers_unix.cma"
|
||||
archive(byte, plugin) = "containers_unix.cma"
|
||||
archive(native) = "containers_unix.cmxa"
|
||||
archive(native, plugin) = "containers_unix.cmxs"
|
||||
exists_if = "containers_unix.cma"
|
||||
)
|
||||
|
||||
package "top" (
|
||||
version = "1.5"
|
||||
description = "A modular standard library focused on data structures."
|
||||
requires =
|
||||
"compiler-libs.common containers containers.data containers.unix containers.sexp containers.iter"
|
||||
archive(byte) = "containers_top.cma"
|
||||
archive(byte, plugin) = "containers_top.cma"
|
||||
archive(native) = "containers_top.cmxa"
|
||||
archive(native, plugin) = "containers_top.cmxs"
|
||||
exists_if = "containers_top.cma"
|
||||
)
|
||||
|
||||
package "thread" (
|
||||
version = "1.5"
|
||||
description = "A modular standard library focused on data structures."
|
||||
requires = "containers threads"
|
||||
archive(byte) = "containers_thread.cma"
|
||||
archive(byte, plugin) = "containers_thread.cma"
|
||||
archive(native) = "containers_thread.cmxa"
|
||||
archive(native, plugin) = "containers_thread.cmxs"
|
||||
exists_if = "containers_thread.cma"
|
||||
)
|
||||
|
||||
package "sexp" (
|
||||
version = "1.5"
|
||||
description = "A modular standard library focused on data structures."
|
||||
requires = "bytes result"
|
||||
archive(byte) = "containers_sexp.cma"
|
||||
archive(byte, plugin) = "containers_sexp.cma"
|
||||
archive(native) = "containers_sexp.cmxa"
|
||||
archive(native, plugin) = "containers_sexp.cmxs"
|
||||
exists_if = "containers_sexp.cma"
|
||||
)
|
||||
|
||||
package "iter" (
|
||||
version = "1.5"
|
||||
description = "A modular standard library focused on data structures."
|
||||
archive(byte) = "containers_iter.cma"
|
||||
archive(byte, plugin) = "containers_iter.cma"
|
||||
archive(native) = "containers_iter.cmxa"
|
||||
archive(native, plugin) = "containers_iter.cmxs"
|
||||
exists_if = "containers_iter.cma"
|
||||
)
|
||||
|
||||
package "data" (
|
||||
version = "1.5"
|
||||
description = "A modular standard library focused on data structures."
|
||||
requires = "bytes"
|
||||
archive(byte) = "containers_data.cma"
|
||||
archive(byte, plugin) = "containers_data.cma"
|
||||
archive(native) = "containers_data.cmxa"
|
||||
archive(native, plugin) = "containers_data.cmxs"
|
||||
exists_if = "containers_data.cma"
|
||||
)
|
||||
# OASIS_STOP
|
||||
|
||||
32
src/core/containers.mldylib
Normal file
32
src/core/containers.mldylib
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
# OASIS_START
|
||||
# DO NOT EDIT (digest: c777330f5cf164f02058ae02e3afa987)
|
||||
CCVector
|
||||
CCHeap
|
||||
CCList
|
||||
CCOpt
|
||||
CCPair
|
||||
CCFun
|
||||
CCHash
|
||||
CCInt
|
||||
CCBool
|
||||
CCFloat
|
||||
CCArray
|
||||
CCRef
|
||||
CCSet
|
||||
CCOrd
|
||||
CCRandom
|
||||
CCString
|
||||
CCHashtbl
|
||||
CCMap
|
||||
CCFormat
|
||||
CCIO
|
||||
CCInt64
|
||||
CCChar
|
||||
CCResult
|
||||
CCParse
|
||||
CCArray_slice
|
||||
CCListLabels
|
||||
CCArrayLabels
|
||||
CCEqual
|
||||
Containers
|
||||
# OASIS_STOP
|
||||
32
src/core/containers.mllib
Normal file
32
src/core/containers.mllib
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
# OASIS_START
|
||||
# DO NOT EDIT (digest: c777330f5cf164f02058ae02e3afa987)
|
||||
CCVector
|
||||
CCHeap
|
||||
CCList
|
||||
CCOpt
|
||||
CCPair
|
||||
CCFun
|
||||
CCHash
|
||||
CCInt
|
||||
CCBool
|
||||
CCFloat
|
||||
CCArray
|
||||
CCRef
|
||||
CCSet
|
||||
CCOrd
|
||||
CCRandom
|
||||
CCString
|
||||
CCHashtbl
|
||||
CCMap
|
||||
CCFormat
|
||||
CCIO
|
||||
CCInt64
|
||||
CCChar
|
||||
CCResult
|
||||
CCParse
|
||||
CCArray_slice
|
||||
CCListLabels
|
||||
CCArrayLabels
|
||||
CCEqual
|
||||
Containers
|
||||
# OASIS_STOP
|
||||
28
src/data/containers_data.mldylib
Normal file
28
src/data/containers_data.mldylib
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
# OASIS_START
|
||||
# DO NOT EDIT (digest: d1bab4c4f6793f682baaf28f0865fa42)
|
||||
CCMultiMap
|
||||
CCMultiSet
|
||||
CCTrie
|
||||
CCFlatHashtbl
|
||||
CCCache
|
||||
CCPersistentHashtbl
|
||||
CCDeque
|
||||
CCFQueue
|
||||
CCBV
|
||||
CCMixtbl
|
||||
CCMixmap
|
||||
CCRingBuffer
|
||||
CCIntMap
|
||||
CCPersistentArray
|
||||
CCMixset
|
||||
CCGraph
|
||||
CCHashSet
|
||||
CCBitField
|
||||
CCHashTrie
|
||||
CCWBTree
|
||||
CCRAL
|
||||
CCSimple_queue
|
||||
CCImmutArray
|
||||
CCHet
|
||||
CCZipper
|
||||
# OASIS_STOP
|
||||
28
src/data/containers_data.mllib
Normal file
28
src/data/containers_data.mllib
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
# OASIS_START
|
||||
# DO NOT EDIT (digest: d1bab4c4f6793f682baaf28f0865fa42)
|
||||
CCMultiMap
|
||||
CCMultiSet
|
||||
CCTrie
|
||||
CCFlatHashtbl
|
||||
CCCache
|
||||
CCPersistentHashtbl
|
||||
CCDeque
|
||||
CCFQueue
|
||||
CCBV
|
||||
CCMixtbl
|
||||
CCMixmap
|
||||
CCRingBuffer
|
||||
CCIntMap
|
||||
CCPersistentArray
|
||||
CCMixset
|
||||
CCGraph
|
||||
CCHashSet
|
||||
CCBitField
|
||||
CCHashTrie
|
||||
CCWBTree
|
||||
CCRAL
|
||||
CCSimple_queue
|
||||
CCImmutArray
|
||||
CCHet
|
||||
CCZipper
|
||||
# OASIS_STOP
|
||||
4
src/io/containers_io.mldylib
Normal file
4
src/io/containers_io.mldylib
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
# OASIS_START
|
||||
# DO NOT EDIT (digest: 9573c9c3109b1d53a61739444853a7b2)
|
||||
Containers_io_is_deprecated
|
||||
# OASIS_STOP
|
||||
4
src/io/containers_io.mllib
Normal file
4
src/io/containers_io.mllib
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
# OASIS_START
|
||||
# DO NOT EDIT (digest: 9573c9c3109b1d53a61739444853a7b2)
|
||||
Containers_io_is_deprecated
|
||||
# OASIS_STOP
|
||||
6
src/iter/containers_iter.mldylib
Normal file
6
src/iter/containers_iter.mldylib
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
# OASIS_START
|
||||
# DO NOT EDIT (digest: 158a5d6029014525d6b1b1c6dc6c848a)
|
||||
CCKTree
|
||||
CCKList
|
||||
CCLazy_list
|
||||
# OASIS_STOP
|
||||
6
src/iter/containers_iter.mllib
Normal file
6
src/iter/containers_iter.mllib
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
# OASIS_START
|
||||
# DO NOT EDIT (digest: 158a5d6029014525d6b1b1c6dc6c848a)
|
||||
CCKTree
|
||||
CCKList
|
||||
CCLazy_list
|
||||
# OASIS_STOP
|
||||
4
src/lwt/containers_lwt.mldylib
Normal file
4
src/lwt/containers_lwt.mldylib
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
# OASIS_START
|
||||
# DO NOT EDIT (digest: bc144ef7b5b54947fab9662a822f9179)
|
||||
Containers_lwt
|
||||
# OASIS_STOP
|
||||
4
src/lwt/containers_lwt.mllib
Normal file
4
src/lwt/containers_lwt.mllib
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
# OASIS_START
|
||||
# DO NOT EDIT (digest: bc144ef7b5b54947fab9662a822f9179)
|
||||
Containers_lwt
|
||||
# OASIS_STOP
|
||||
7
src/lwt/containers_lwt.mlpack
Normal file
7
src/lwt/containers_lwt.mlpack
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
# OASIS_START
|
||||
# DO NOT EDIT (digest: 41ca039f453c9bf865bafe93b638ae8a)
|
||||
Lwt_automaton
|
||||
Lwt_actor
|
||||
Lwt_klist
|
||||
Lwt_pipe
|
||||
# OASIS_STOP
|
||||
4
src/misc/containers_misc.mldylib
Normal file
4
src/misc/containers_misc.mldylib
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
# OASIS_START
|
||||
# DO NOT EDIT (digest: 2df0608accd158542ebcb00720cfe599)
|
||||
Containers_misc
|
||||
# OASIS_STOP
|
||||
4
src/misc/containers_misc.mllib
Normal file
4
src/misc/containers_misc.mllib
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
# OASIS_START
|
||||
# DO NOT EDIT (digest: 2df0608accd158542ebcb00720cfe599)
|
||||
Containers_misc
|
||||
# OASIS_STOP
|
||||
18
src/misc/containers_misc.mlpack
Normal file
18
src/misc/containers_misc.mlpack
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
# OASIS_START
|
||||
# DO NOT EDIT (digest: a0730df368ed19a3b181d80ccf7985b6)
|
||||
AbsSet
|
||||
Automaton
|
||||
Bij
|
||||
CSM
|
||||
Hashset
|
||||
LazyGraph
|
||||
PHashtbl
|
||||
PrintBox
|
||||
RAL
|
||||
RoseTree
|
||||
SmallSet
|
||||
UnionFind
|
||||
Univ
|
||||
Puf
|
||||
Backtrack
|
||||
# OASIS_STOP
|
||||
4
src/pervasives/containers_pervasives.mldylib
Normal file
4
src/pervasives/containers_pervasives.mldylib
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
# OASIS_START
|
||||
# DO NOT EDIT (digest: ea286cccf88f4c81c7b4627216807d4e)
|
||||
CCPervasives
|
||||
# OASIS_STOP
|
||||
4
src/pervasives/containers_pervasives.mllib
Normal file
4
src/pervasives/containers_pervasives.mllib
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
# OASIS_START
|
||||
# DO NOT EDIT (digest: ea286cccf88f4c81c7b4627216807d4e)
|
||||
CCPervasives
|
||||
# OASIS_STOP
|
||||
5
src/sexp/containers_sexp.mldylib
Normal file
5
src/sexp/containers_sexp.mldylib
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
# OASIS_START
|
||||
# DO NOT EDIT (digest: 4640171b5c1e230fed61988875c62e8d)
|
||||
CCSexp
|
||||
CCSexp_lex
|
||||
# OASIS_STOP
|
||||
5
src/sexp/containers_sexp.mllib
Normal file
5
src/sexp/containers_sexp.mllib
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
# OASIS_START
|
||||
# DO NOT EDIT (digest: 4640171b5c1e230fed61988875c62e8d)
|
||||
CCSexp
|
||||
CCSexp_lex
|
||||
# OASIS_STOP
|
||||
8
src/string/containers_string.mldylib
Normal file
8
src/string/containers_string.mldylib
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
# OASIS_START
|
||||
# DO NOT EDIT (digest: b0d9848489c9eaabded92f7c9fec3073)
|
||||
Containers_string
|
||||
CCKMP
|
||||
CCLevenshtein
|
||||
CCApp_parse
|
||||
CCParse
|
||||
# OASIS_STOP
|
||||
8
src/string/containers_string.mllib
Normal file
8
src/string/containers_string.mllib
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
# OASIS_START
|
||||
# DO NOT EDIT (digest: b0d9848489c9eaabded92f7c9fec3073)
|
||||
Containers_string
|
||||
CCKMP
|
||||
CCLevenshtein
|
||||
CCApp_parse
|
||||
CCParse
|
||||
# OASIS_STOP
|
||||
9
src/threads/containers_thread.mldylib
Normal file
9
src/threads/containers_thread.mldylib
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
# OASIS_START
|
||||
# DO NOT EDIT (digest: 5cf3cd134d141ea5acafb464c2b3e927)
|
||||
CCPool
|
||||
CCLock
|
||||
CCSemaphore
|
||||
CCThread
|
||||
CCBlockingQueue
|
||||
CCTimer
|
||||
# OASIS_STOP
|
||||
9
src/threads/containers_thread.mllib
Normal file
9
src/threads/containers_thread.mllib
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
# OASIS_START
|
||||
# DO NOT EDIT (digest: 5cf3cd134d141ea5acafb464c2b3e927)
|
||||
CCPool
|
||||
CCLock
|
||||
CCSemaphore
|
||||
CCThread
|
||||
CCBlockingQueue
|
||||
CCTimer
|
||||
# OASIS_STOP
|
||||
4
src/top/containers_top.mldylib
Normal file
4
src/top/containers_top.mldylib
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
# OASIS_START
|
||||
# DO NOT EDIT (digest: 06c9d81e0a532aa96d3f60ef4ed7045d)
|
||||
Containers_top
|
||||
# OASIS_STOP
|
||||
4
src/top/containers_top.mllib
Normal file
4
src/top/containers_top.mllib
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
# OASIS_START
|
||||
# DO NOT EDIT (digest: 06c9d81e0a532aa96d3f60ef4ed7045d)
|
||||
Containers_top
|
||||
# OASIS_STOP
|
||||
4
src/unix/containers_unix.mldylib
Normal file
4
src/unix/containers_unix.mldylib
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
# OASIS_START
|
||||
# DO NOT EDIT (digest: cc54fa6ddd5d32bdf577cb187f4cf07c)
|
||||
CCUnix
|
||||
# OASIS_STOP
|
||||
4
src/unix/containers_unix.mllib
Normal file
4
src/unix/containers_unix.mllib
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
# OASIS_START
|
||||
# DO NOT EDIT (digest: cc54fa6ddd5d32bdf577cb187f4cf07c)
|
||||
CCUnix
|
||||
# OASIS_STOP
|
||||
4
string/containers_string.mldylib
Normal file
4
string/containers_string.mldylib
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
# OASIS_START
|
||||
# DO NOT EDIT (digest: c89cc456e050edff914368d7fbea4eca)
|
||||
Containers_string
|
||||
# OASIS_STOP
|
||||
4
string/containers_string.mllib
Normal file
4
string/containers_string.mllib
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
# OASIS_START
|
||||
# DO NOT EDIT (digest: c89cc456e050edff914368d7fbea4eca)
|
||||
Containers_string
|
||||
# OASIS_STOP
|
||||
5
string/containers_string.mlpack
Normal file
5
string/containers_string.mlpack
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
# OASIS_START
|
||||
# DO NOT EDIT (digest: eed887f169b0c8e02f98f97c676f846c)
|
||||
KMP
|
||||
Levenshtein
|
||||
# OASIS_STOP
|
||||
4
threads/containers_thread.mldylib
Normal file
4
threads/containers_thread.mldylib
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
# OASIS_START
|
||||
# DO NOT EDIT (digest: ede75f11c3857d71e591f7b889f4d09d)
|
||||
CCFuture
|
||||
# OASIS_STOP
|
||||
4
threads/containers_thread.mllib
Normal file
4
threads/containers_thread.mllib
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
# OASIS_START
|
||||
# DO NOT EDIT (digest: ede75f11c3857d71e591f7b889f4d09d)
|
||||
CCFuture
|
||||
# OASIS_STOP
|
||||
Loading…
Add table
Reference in a new issue