From 8c5373af454f5fcf73118506aeb3c4ecaeec0d1a Mon Sep 17 00:00:00 2001 From: Markus Mottl Date: Wed, 24 Oct 2018 21:46:45 -0400 Subject: [PATCH] Switched to dune, dune-release, and OPAM 2.0 --- CHANGES.md | 5 +++ Makefile | 6 +-- dune | 4 ++ dune-project | 2 + examples/Makefile | 10 +++++ examples/{blas => }/blas.ml | 0 examples/blas/Makefile | 9 ---- examples/blas/jbuild | 10 ----- examples/dune | 27 ++++++++++++ examples/{eig => }/eig.ml | 0 examples/eig/Makefile | 9 ---- examples/eig/jbuild | 10 ----- examples/{lin_eq => }/gbsv.ml | 3 +- examples/{lin_eq => }/lin_eq.ml | 0 examples/lin_eq/Makefile | 9 ---- examples/lin_eq/jbuild | 10 ----- examples/{lin_eq_comp => }/lin_eq_comp.ml | 0 examples/lin_eq_comp/Makefile | 9 ---- examples/lin_eq_comp/jbuild | 10 ----- examples/{lin_reg => }/lin_reg.ml | 0 examples/lin_reg/Makefile | 9 ---- examples/lin_reg/jbuild | 10 ----- examples/nag/Makefile | 11 ----- examples/nag/jbuild | 13 ------ examples/{nag => }/nag_gbsv.ml | 0 examples/{nag => }/nag_gesv.ml | 0 examples/{nag => }/nag_gtsv.ml | 3 +- examples/{nag => }/nag_pbsv.ml | 0 examples/{nag => }/nag_posv.ml | 0 examples/{nag => }/nag_ppsv.ml | 0 examples/{nag => }/nag_ptsv.ml | 1 - examples/{nag => }/nag_spsv.ml | 1 - examples/{nag => }/nag_sysv.ml | 0 examples/{qr => }/qr.ml | 0 examples/qr/Makefile | 9 ---- examples/qr/jbuild | 10 ----- examples/run_examples.sh | 17 +++----- examples/{eig => }/sbev.ml | 0 examples/{eig => }/sbgv.ml | 0 examples/schur/Makefile | 9 ---- examples/schur/jbuild | 10 ----- examples/{schur => }/schur_complex.ml | 0 examples/{schur => }/schur_real.ml | 0 examples/{shuffle => }/shuffle.ml | 0 examples/shuffle/Makefile | 9 ---- examples/shuffle/jbuild | 10 ----- examples/{svd => }/svd.ml | 0 examples/svd/Makefile | 9 ---- examples/svd/jbuild | 10 ----- jbuild-workspace | 1 - lacaml.descr | 5 --- lacaml.opam | 14 ++++-- src/Makefile | 4 +- src/config/Makefile | 5 +-- src/config/discover.ml | 10 ++--- src/config/dune | 11 +++++ src/config/jbuild | 21 --------- src/{jbuild => dune} | 52 +++++++++-------------- top/Makefile | 4 +- top/dune | 6 +++ top/jbuild | 12 ------ 61 files changed, 117 insertions(+), 302 deletions(-) create mode 100644 dune create mode 100644 dune-project create mode 100644 examples/Makefile rename examples/{blas => }/blas.ml (100%) delete mode 100644 examples/blas/Makefile delete mode 100644 examples/blas/jbuild create mode 100644 examples/dune rename examples/{eig => }/eig.ml (100%) delete mode 100644 examples/eig/Makefile delete mode 100644 examples/eig/jbuild rename examples/{lin_eq => }/gbsv.ml (96%) rename examples/{lin_eq => }/lin_eq.ml (100%) delete mode 100644 examples/lin_eq/Makefile delete mode 100644 examples/lin_eq/jbuild rename examples/{lin_eq_comp => }/lin_eq_comp.ml (100%) delete mode 100644 examples/lin_eq_comp/Makefile delete mode 100644 examples/lin_eq_comp/jbuild rename examples/{lin_reg => }/lin_reg.ml (100%) delete mode 100644 examples/lin_reg/Makefile delete mode 100644 examples/lin_reg/jbuild delete mode 100644 examples/nag/Makefile delete mode 100644 examples/nag/jbuild rename examples/{nag => }/nag_gbsv.ml (100%) rename examples/{nag => }/nag_gesv.ml (100%) rename examples/{nag => }/nag_gtsv.ml (96%) rename examples/{nag => }/nag_pbsv.ml (100%) rename examples/{nag => }/nag_posv.ml (100%) rename examples/{nag => }/nag_ppsv.ml (100%) rename examples/{nag => }/nag_ptsv.ml (99%) rename examples/{nag => }/nag_spsv.ml (99%) rename examples/{nag => }/nag_sysv.ml (100%) rename examples/{qr => }/qr.ml (100%) delete mode 100644 examples/qr/Makefile delete mode 100644 examples/qr/jbuild rename examples/{eig => }/sbev.ml (100%) rename examples/{eig => }/sbgv.ml (100%) delete mode 100644 examples/schur/Makefile delete mode 100644 examples/schur/jbuild rename examples/{schur => }/schur_complex.ml (100%) rename examples/{schur => }/schur_real.ml (100%) rename examples/{shuffle => }/shuffle.ml (100%) delete mode 100644 examples/shuffle/Makefile delete mode 100644 examples/shuffle/jbuild rename examples/{svd => }/svd.ml (100%) delete mode 100644 examples/svd/Makefile delete mode 100644 examples/svd/jbuild delete mode 100644 jbuild-workspace delete mode 100644 lacaml.descr create mode 100644 src/config/dune delete mode 100644 src/config/jbuild rename src/{jbuild => dune} (81%) create mode 100644 top/dune delete mode 100644 top/jbuild diff --git a/CHANGES.md b/CHANGES.md index 66702bc..4c42f2b 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,3 +1,8 @@ +### 11.0.2 (2018-10-24) + + * Switched to dune, dune-release, and OPAM 2.0 + + ### 11.0.1 (2018-05-23) * Fixed warnings and errors in configuration code due to upstream changes. diff --git a/Makefile b/Makefile index a3d7ae9..8a5fb07 100644 --- a/Makefile +++ b/Makefile @@ -1,10 +1,10 @@ .PHONY: all clean doc all: - jbuilder build @install --dev + dune build @install clean: - jbuilder clean + dune clean doc: - jbuilder build --dev @doc + dune build @doc diff --git a/dune b/dune new file mode 100644 index 0000000..66984ad --- /dev/null +++ b/dune @@ -0,0 +1,4 @@ +(env + (dev (flags (:standard -w -9 -principal))) + (release (ocamlopt_flags (:standard -O3))) +) diff --git a/dune-project b/dune-project new file mode 100644 index 0000000..9b1678a --- /dev/null +++ b/dune-project @@ -0,0 +1,2 @@ +(lang dune 1.1) +(name lacaml) diff --git a/examples/Makefile b/examples/Makefile new file mode 100644 index 0000000..e7be058 --- /dev/null +++ b/examples/Makefile @@ -0,0 +1,10 @@ +EXAMPLES = $(wildcard *.ml) +TARGETS = $(patsubst %.ml, %.bc, $(EXAMPLES)) + +.PHONY: all clean + +all: + @dune build $(TARGETS) + +clean: + @dune clean diff --git a/examples/blas/blas.ml b/examples/blas.ml similarity index 100% rename from examples/blas/blas.ml rename to examples/blas.ml diff --git a/examples/blas/Makefile b/examples/blas/Makefile deleted file mode 100644 index 8d09f60..0000000 --- a/examples/blas/Makefile +++ /dev/null @@ -1,9 +0,0 @@ -TARGETS = $(addsuffix .bc, blas) - -.PHONY: all clean - -all: - @jbuilder build --dev $(TARGETS) - -clean: - @jbuilder clean diff --git a/examples/blas/jbuild b/examples/blas/jbuild deleted file mode 100644 index 8bd4042..0000000 --- a/examples/blas/jbuild +++ /dev/null @@ -1,10 +0,0 @@ -(jbuild_version 1) - -(executable ( - (name blas) - (flags ( - :standard - -w -9 -strict-sequence -principal -short-paths - )) - (libraries (lacaml)) -)) diff --git a/examples/dune b/examples/dune new file mode 100644 index 0000000..da71fda --- /dev/null +++ b/examples/dune @@ -0,0 +1,27 @@ +(executables + (names + blas + eig + gbsv + lin_eq + lin_eq_comp + lin_reg + nag_gbsv + nag_gesv + nag_gtsv + nag_pbsv + nag_posv + nag_ppsv + nag_ptsv + nag_spsv + nag_sysv + qr + sbev + sbgv + schur_complex + schur_real + shuffle + svd + ) + (libraries lacaml) +) diff --git a/examples/eig/eig.ml b/examples/eig.ml similarity index 100% rename from examples/eig/eig.ml rename to examples/eig.ml diff --git a/examples/eig/Makefile b/examples/eig/Makefile deleted file mode 100644 index d3f36ae..0000000 --- a/examples/eig/Makefile +++ /dev/null @@ -1,9 +0,0 @@ -TARGETS = $(addsuffix .bc, eig sbev sbgv) - -.PHONY: all clean - -all: - @jbuilder build --dev $(TARGETS) - -clean: - @jbuilder clean diff --git a/examples/eig/jbuild b/examples/eig/jbuild deleted file mode 100644 index c602619..0000000 --- a/examples/eig/jbuild +++ /dev/null @@ -1,10 +0,0 @@ -(jbuild_version 1) - -(executables ( - (names (eig sbev sbgv)) - (flags ( - :standard - -w -9 -strict-sequence -principal -short-paths - )) - (libraries (lacaml)) -)) diff --git a/examples/lin_eq/gbsv.ml b/examples/gbsv.ml similarity index 96% rename from examples/lin_eq/gbsv.ml rename to examples/gbsv.ml index 9593ebb..b19c69f 100644 --- a/examples/lin_eq/gbsv.ml +++ b/examples/gbsv.ml @@ -45,5 +45,4 @@ let () = let res = Vec.sub (gbmv ab kl ku ~ar:(kl + row) sol) b in printf "@[<2>Solving general band matrix:@\n@\n"; printf "Sol: X = @[%a@]@\n" pp_rfvec sol; - printf "A X - b = %a@]@\n@\n" pp_rfvec res; - + printf "A X - b = %a@]@\n@\n" pp_rfvec res diff --git a/examples/lin_eq/lin_eq.ml b/examples/lin_eq.ml similarity index 100% rename from examples/lin_eq/lin_eq.ml rename to examples/lin_eq.ml diff --git a/examples/lin_eq/Makefile b/examples/lin_eq/Makefile deleted file mode 100644 index c040793..0000000 --- a/examples/lin_eq/Makefile +++ /dev/null @@ -1,9 +0,0 @@ -TARGETS = $(addsuffix .bc, gbsv lin_eq) - -.PHONY: all clean - -all: - @jbuilder build --dev $(TARGETS) - -clean: - @jbuilder clean diff --git a/examples/lin_eq/jbuild b/examples/lin_eq/jbuild deleted file mode 100644 index 20382fb..0000000 --- a/examples/lin_eq/jbuild +++ /dev/null @@ -1,10 +0,0 @@ -(jbuild_version 1) - -(executables ( - (names (gbsv lin_eq)) - (flags ( - :standard - -w -9 -strict-sequence -principal -short-paths - )) - (libraries (lacaml)) -)) diff --git a/examples/lin_eq_comp/lin_eq_comp.ml b/examples/lin_eq_comp.ml similarity index 100% rename from examples/lin_eq_comp/lin_eq_comp.ml rename to examples/lin_eq_comp.ml diff --git a/examples/lin_eq_comp/Makefile b/examples/lin_eq_comp/Makefile deleted file mode 100644 index 305851e..0000000 --- a/examples/lin_eq_comp/Makefile +++ /dev/null @@ -1,9 +0,0 @@ -TARGETS = $(addsuffix .bc, lin_eq_comp) - -.PHONY: all clean - -all: - @jbuilder build --dev $(TARGETS) - -clean: - @jbuilder clean diff --git a/examples/lin_eq_comp/jbuild b/examples/lin_eq_comp/jbuild deleted file mode 100644 index 3897550..0000000 --- a/examples/lin_eq_comp/jbuild +++ /dev/null @@ -1,10 +0,0 @@ -(jbuild_version 1) - -(executables ( - (names (lin_eq_comp)) - (flags ( - :standard - -w -9 -strict-sequence -principal -short-paths - )) - (libraries (lacaml)) -)) diff --git a/examples/lin_reg/lin_reg.ml b/examples/lin_reg.ml similarity index 100% rename from examples/lin_reg/lin_reg.ml rename to examples/lin_reg.ml diff --git a/examples/lin_reg/Makefile b/examples/lin_reg/Makefile deleted file mode 100644 index 62368ec..0000000 --- a/examples/lin_reg/Makefile +++ /dev/null @@ -1,9 +0,0 @@ -TARGETS = $(addsuffix .bc, lin_reg) - -.PHONY: all clean - -all: - @jbuilder build --dev $(TARGETS) - -clean: - @jbuilder clean diff --git a/examples/lin_reg/jbuild b/examples/lin_reg/jbuild deleted file mode 100644 index e25ec2b..0000000 --- a/examples/lin_reg/jbuild +++ /dev/null @@ -1,10 +0,0 @@ -(jbuild_version 1) - -(executables ( - (names (lin_reg)) - (flags ( - :standard - -w -9 -strict-sequence -principal -short-paths - )) - (libraries (lacaml)) -)) diff --git a/examples/nag/Makefile b/examples/nag/Makefile deleted file mode 100644 index 48dd08f..0000000 --- a/examples/nag/Makefile +++ /dev/null @@ -1,11 +0,0 @@ -TARGETS = $(addsuffix .bc, \ - nag_gbsv nag_gesv nag_gtsv nag_pbsv nag_posv \ - nag_ppsv nag_ptsv nag_spsv nag_sysv nag_gbsv) - -.PHONY: all clean - -all: - @jbuilder build --dev $(TARGETS) - -clean: - @jbuilder clean diff --git a/examples/nag/jbuild b/examples/nag/jbuild deleted file mode 100644 index f994e5d..0000000 --- a/examples/nag/jbuild +++ /dev/null @@ -1,13 +0,0 @@ -(jbuild_version 1) - -(executables ( - (names ( - nag_gbsv nag_gesv nag_gtsv nag_pbsv nag_posv - nag_ppsv nag_ptsv nag_spsv nag_sysv - )) - (flags ( - :standard - -w -9 -strict-sequence -principal -short-paths - )) - (libraries (lacaml)) -)) diff --git a/examples/nag/nag_gbsv.ml b/examples/nag_gbsv.ml similarity index 100% rename from examples/nag/nag_gbsv.ml rename to examples/nag_gbsv.ml diff --git a/examples/nag/nag_gesv.ml b/examples/nag_gesv.ml similarity index 100% rename from examples/nag/nag_gesv.ml rename to examples/nag_gesv.ml diff --git a/examples/nag/nag_gtsv.ml b/examples/nag_gtsv.ml similarity index 96% rename from examples/nag/nag_gtsv.ml rename to examples/nag_gtsv.ml index 8c4b114..87558d2 100644 --- a/examples/nag/nag_gtsv.ml +++ b/examples/nag_gtsv.ml @@ -36,5 +36,4 @@ let b= Vec.of_array [| 2.7; -0.5; 2.6; 0.6; 2.7 |] let () = let x = copy b in gtsv dl d du (Mat.from_col_vec x); - printf "Solution: X = @[%a@]@\n" pp_rfvec x; - + printf "Solution: X = @[%a@]@\n" pp_rfvec x diff --git a/examples/nag/nag_pbsv.ml b/examples/nag_pbsv.ml similarity index 100% rename from examples/nag/nag_pbsv.ml rename to examples/nag_pbsv.ml diff --git a/examples/nag/nag_posv.ml b/examples/nag_posv.ml similarity index 100% rename from examples/nag/nag_posv.ml rename to examples/nag_posv.ml diff --git a/examples/nag/nag_ppsv.ml b/examples/nag_ppsv.ml similarity index 100% rename from examples/nag/nag_ppsv.ml rename to examples/nag_ppsv.ml diff --git a/examples/nag/nag_ptsv.ml b/examples/nag_ptsv.ml similarity index 99% rename from examples/nag/nag_ptsv.ml rename to examples/nag_ptsv.ml index 1372149..5b22b2c 100644 --- a/examples/nag/nag_ptsv.ml +++ b/examples/nag_ptsv.ml @@ -39,4 +39,3 @@ let () = printf "Solution: X = @[%a@]@\n" pp_rfvec x; printf "Diagonal elements of the diagonal matrix D: @[%a@]@\n" pp_rfvec d; printf "Sub-diagonal elements of the Cholesky factor L: @[%a@]@\n" pp_rfvec e - diff --git a/examples/nag/nag_spsv.ml b/examples/nag_spsv.ml similarity index 99% rename from examples/nag/nag_spsv.ml rename to examples/nag_spsv.ml index a2e16d0..24156fc 100644 --- a/examples/nag/nag_spsv.ml +++ b/examples/nag_spsv.ml @@ -54,4 +54,3 @@ let () = pp_float_el_default := (fun fm x -> if (x: float) = x then fprintf fm "%G" x); printf "Details of the factorization: @[%a@]@\n" pp_fmat a; printf "Pivot indices: @[%a@]@\n" pp_rivec ipiv - diff --git a/examples/nag/nag_sysv.ml b/examples/nag_sysv.ml similarity index 100% rename from examples/nag/nag_sysv.ml rename to examples/nag_sysv.ml diff --git a/examples/qr/qr.ml b/examples/qr.ml similarity index 100% rename from examples/qr/qr.ml rename to examples/qr.ml diff --git a/examples/qr/Makefile b/examples/qr/Makefile deleted file mode 100644 index 2f5d235..0000000 --- a/examples/qr/Makefile +++ /dev/null @@ -1,9 +0,0 @@ -TARGETS = $(addsuffix .bc, qr) - -.PHONY: all clean - -all: - @jbuilder build --dev $(TARGETS) - -clean: - @jbuilder clean diff --git a/examples/qr/jbuild b/examples/qr/jbuild deleted file mode 100644 index 43a675d..0000000 --- a/examples/qr/jbuild +++ /dev/null @@ -1,10 +0,0 @@ -(jbuild_version 1) - -(executables ( - (names (qr)) - (flags ( - :standard - -w -9 -strict-sequence -principal -short-paths - )) - (libraries (lacaml)) -)) diff --git a/examples/run_examples.sh b/examples/run_examples.sh index 199b096..6ae867b 100755 --- a/examples/run_examples.sh +++ b/examples/run_examples.sh @@ -2,14 +2,11 @@ set -e -for dir in `find . -mindepth 1 -maxdepth 1 -type d`; do - cd $dir - for file in *.ml; do - ex=`basename $file .ml` - exexec=$ex.exe - echo TESTING $dir/$ex ================================================== - jbuilder build $exexec - ../../_build/default/examples/$dir/$exexec - done - cd .. +dune build `echo *.ml | sed -e 's/.ml/.exe/g'` + +for file in *.ml; do + ex=`basename $file .ml` + exexec=$ex.exe + echo TESTING $dir/$ex ================================================== + ../_build/default/examples/$dir/$exexec done diff --git a/examples/eig/sbev.ml b/examples/sbev.ml similarity index 100% rename from examples/eig/sbev.ml rename to examples/sbev.ml diff --git a/examples/eig/sbgv.ml b/examples/sbgv.ml similarity index 100% rename from examples/eig/sbgv.ml rename to examples/sbgv.ml diff --git a/examples/schur/Makefile b/examples/schur/Makefile deleted file mode 100644 index 955d73c..0000000 --- a/examples/schur/Makefile +++ /dev/null @@ -1,9 +0,0 @@ -TARGETS = $(addsuffix .bc, schur_complex schur_real) - -.PHONY: all clean - -all: - @jbuilder build --dev $(TARGETS) - -clean: - @jbuilder clean diff --git a/examples/schur/jbuild b/examples/schur/jbuild deleted file mode 100644 index f57b6f1..0000000 --- a/examples/schur/jbuild +++ /dev/null @@ -1,10 +0,0 @@ -(jbuild_version 1) - -(executables ( - (names (schur_complex schur_real)) - (flags ( - :standard - -w -9 -strict-sequence -principal -short-paths - )) - (libraries (lacaml)) -)) diff --git a/examples/schur/schur_complex.ml b/examples/schur_complex.ml similarity index 100% rename from examples/schur/schur_complex.ml rename to examples/schur_complex.ml diff --git a/examples/schur/schur_real.ml b/examples/schur_real.ml similarity index 100% rename from examples/schur/schur_real.ml rename to examples/schur_real.ml diff --git a/examples/shuffle/shuffle.ml b/examples/shuffle.ml similarity index 100% rename from examples/shuffle/shuffle.ml rename to examples/shuffle.ml diff --git a/examples/shuffle/Makefile b/examples/shuffle/Makefile deleted file mode 100644 index 37ca18f..0000000 --- a/examples/shuffle/Makefile +++ /dev/null @@ -1,9 +0,0 @@ -TARGETS = $(addsuffix .bc, shuffle) - -.PHONY: all clean - -all: - @jbuilder build --dev $(TARGETS) - -clean: - @jbuilder clean diff --git a/examples/shuffle/jbuild b/examples/shuffle/jbuild deleted file mode 100644 index 4b93166..0000000 --- a/examples/shuffle/jbuild +++ /dev/null @@ -1,10 +0,0 @@ -(jbuild_version 1) - -(executables ( - (names (shuffle)) - (flags ( - :standard - -w -9 -strict-sequence -principal -short-paths - )) - (libraries (lacaml)) -)) diff --git a/examples/svd/svd.ml b/examples/svd.ml similarity index 100% rename from examples/svd/svd.ml rename to examples/svd.ml diff --git a/examples/svd/Makefile b/examples/svd/Makefile deleted file mode 100644 index 9efd8c3..0000000 --- a/examples/svd/Makefile +++ /dev/null @@ -1,9 +0,0 @@ -TARGETS = $(addsuffix .bc, svd) - -.PHONY: all clean - -all: - @jbuilder build --dev $(TARGETS) - -clean: - @jbuilder clean diff --git a/examples/svd/jbuild b/examples/svd/jbuild deleted file mode 100644 index 7f85146..0000000 --- a/examples/svd/jbuild +++ /dev/null @@ -1,10 +0,0 @@ -(jbuild_version 1) - -(executables ( - (names (svd)) - (flags ( - :standard - -w -9 -strict-sequence -principal -short-paths - )) - (libraries (lacaml)) -)) diff --git a/jbuild-workspace b/jbuild-workspace deleted file mode 100644 index 9b5f577..0000000 --- a/jbuild-workspace +++ /dev/null @@ -1 +0,0 @@ -(context default) diff --git a/lacaml.descr b/lacaml.descr deleted file mode 100644 index 03d1841..0000000 --- a/lacaml.descr +++ /dev/null @@ -1,5 +0,0 @@ -Lacaml - OCaml-bindings to BLAS and LAPACK - -Lacaml interfaces the BLAS-library (Basic Linear Algebra Subroutines) and -LAPACK-library (Linear Algebra routines). It also contains many additional -convenience functions for vectors and matrices. diff --git a/lacaml.opam b/lacaml.opam index 5ecc035..2d4daf8 100644 --- a/lacaml.opam +++ b/lacaml.opam @@ -22,18 +22,24 @@ bug-reports: "https://github.com/mmottl/lacaml/issues" tags: [ "clib:lapack" "clib:blas" ] build: [ - ["jbuilder" "subst" "-p" name] {pinned} - ["jbuilder" "build" "-p" name "-j" jobs] + ["dune" "subst"] {pinned} + ["dune" "build" "-p" name "-j" jobs] ] depends: [ "ocaml" {>= "4.05"} + "dune" {build & >= "1.4.0"} "conf-blas" {build} "conf-lapack" {build} "base" {build} "stdio" {build} - "configurator" {build} - "jbuilder" {build & >= "1.0+beta13"} "base-bytes" "base-bigarray" ] + +synopsis: "Lacaml - OCaml-bindings to BLAS and LAPACK" + +description: """ +Lacaml interfaces the BLAS-library (Basic Linear Algebra Subroutines) and +LAPACK-library (Linear Algebra routines). It also contains many additional +convenience functions for vectors and matrices.""" diff --git a/src/Makefile b/src/Makefile index e6f7d28..7524c78 100644 --- a/src/Makefile +++ b/src/Makefile @@ -3,7 +3,7 @@ TARGETS = lacaml.cma liblacaml_stubs.a .PHONY: all clean all: - @jbuilder build --dev $(TARGETS) + @dune build $(TARGETS) clean: - @jbuilder clean + @dune clean diff --git a/src/config/Makefile b/src/config/Makefile index 3bc95c9..51ef5ee 100644 --- a/src/config/Makefile +++ b/src/config/Makefile @@ -1,10 +1,9 @@ TARGETS = discover.bc make_prec_dep.bc -JBUILDER_ROOT = ../.. .PHONY: all clean all: - @jbuilder build --dev $(TARGETS) + @dune build $(TARGETS) clean: - @jbuilder clean + @dune clean diff --git a/src/config/discover.ml b/src/config/discover.ml index 2d07a73..1237c75 100644 --- a/src/config/discover.ml +++ b/src/config/discover.ml @@ -1,10 +1,9 @@ open Base -open Stdio let split_ws str = String.(split str ~on:' ' |> List.filter ~f:((<>) "")) let () = - let module C = Configurator in + let module C = Configurator.V1 in let open C.Pkg_config in C.main ~name:"lacaml" (fun c -> let cflags = @@ -30,8 +29,5 @@ let () = | "mingw64" -> { cflags = "-DWIN32" :: default.cflags; libs } | _ -> default) in - let write_sexp file sexp = - Out_channel.write_all file ~data:(Sexp.to_string sexp) - in - write_sexp "c_flags.sexp" (sexp_of_list sexp_of_string conf.cflags); - write_sexp "c_library_flags.sexp" (sexp_of_list sexp_of_string conf.libs)) + C.Flags.write_sexp "c_flags.sexp" conf.cflags; + C.Flags.write_sexp "c_library_flags.sexp" conf.libs) diff --git a/src/config/dune b/src/config/dune new file mode 100644 index 0000000..b5dfd3a --- /dev/null +++ b/src/config/dune @@ -0,0 +1,11 @@ +(executable + (name discover) + (modules discover) + (libraries base dune.configurator) +) + +(executable + (name make_prec_dep) + (modules make_prec_dep) + (libraries base stdio str) +) diff --git a/src/config/jbuild b/src/config/jbuild deleted file mode 100644 index 6243abe..0000000 --- a/src/config/jbuild +++ /dev/null @@ -1,21 +0,0 @@ -(jbuild_version 1) - -(executable ( - (name discover) - (modules discover) - (flags ( - :standard - -w -9 -strict-sequence -principal -short-paths - )) - (libraries (base stdio configurator)) -)) - -(executable ( - (name make_prec_dep) - (modules make_prec_dep) - (flags ( - :standard - -w -9 -strict-sequence -principal -short-paths - )) - (libraries (base stdio str)) -)) diff --git a/src/jbuild b/src/dune similarity index 81% rename from src/jbuild rename to src/dune index ebb08f7..1bca42f 100644 --- a/src/jbuild +++ b/src/dune @@ -1,9 +1,6 @@ -(jbuild_version 1) - -(library ( - (name lacaml) +(library (public_name lacaml) - (modules ( + (modules Lacaml Common Io S D C Z @@ -17,12 +14,8 @@ Vec2_S Vec2_D Vec2_C Vec2_Z Mat4_S Mat4_D Mat4_C Mat4_Z Mat2_S Mat2_D Mat2_C Mat2_Z - )) - (flags ( - :standard - -w -9 -strict-sequence -principal -short-paths - )) - (c_names ( + ) + (c_names impl_c utils_c vec2_S_c vec2_D_c vec2_C_c vec2_Z_c vec4_S_c vec4_D_c vec4_C_c vec4_Z_c @@ -30,8 +23,8 @@ mat4_S_c mat4_D_c mat4_C_c mat4_Z_c impl2_S_c impl2_D_c impl2_C_c impl2_Z_c impl4_S_c impl4_D_c impl4_C_c impl4_Z_c - )) - (c_flags ( + ) + (c_flags (:include c_flags.sexp) -g ; -ffast-math can break IEEE754 floating point semantics, but it is likely @@ -40,23 +33,20 @@ -fPIC -DPIC ; NOTE: for debugging before releases ; -Wall -pedantic -Wextra -Wunused - )) - (c_library_flags ( - (:include c_library_flags.sexp) - -lm - )) + ) + (c_library_flags (:include c_library_flags.sexp) -lm) - (libraries (bigarray)) -)) + (libraries bigarray) +) -(rule ( - (targets (c_flags.sexp c_library_flags.sexp)) - (deps (config/discover.exe)) - (action (run ${<} -ocamlc ${OCAMLC})) -)) +(rule + (targets c_flags.sexp c_library_flags.sexp) + (deps (:discover config/discover.exe)) + (action (run %{discover})) +) -(rule ( - (targets ( +(rule + (targets lacaml.mli ; S.mli S.ml @@ -90,14 +80,14 @@ vec2_D.mli vec2_D.ml vec2_C.mli vec2_C.ml vec2_Z.mli vec2_Z.ml - )) - (deps ( + ) + (deps config/make_prec_dep.exe lacaml.pre.mli SD.mli SD.ml CZ.mli CZ.ml impl_SDCZ.mli impl_SDCZ.ml impl_SD.mli impl_SD.ml impl_CZ.mli impl_CZ.ml mat_SDCZ.mli mat_SDCZ.ml mat_SD.mli mat_SD.ml mat_CZ.mli mat_CZ.ml vec_SDCZ.mli vec_SDCZ.ml vec_SD.mli vec_SD.ml vec_CZ.mli vec_CZ.ml - )) + ) (action (run config/make_prec_dep.exe)) -)) +) diff --git a/top/Makefile b/top/Makefile index d4a656e..42e79a3 100644 --- a/top/Makefile +++ b/top/Makefile @@ -3,7 +3,7 @@ TARGETS = lacaml_top.cma .PHONY: all clean all: - @jbuilder build --dev $(TARGETS) + @dune build $(TARGETS) clean: - @jbuilder clean + @dune clean diff --git a/top/dune b/top/dune new file mode 100644 index 0000000..7926358 --- /dev/null +++ b/top/dune @@ -0,0 +1,6 @@ +(library + (name lacaml_top) + (public_name lacaml.top) + (modes byte) + (libraries compiler-libs.toplevel lacaml) +) diff --git a/top/jbuild b/top/jbuild deleted file mode 100644 index 7d39614..0000000 --- a/top/jbuild +++ /dev/null @@ -1,12 +0,0 @@ -(jbuild_version 1) - -(library ( - (name lacaml_top) - (public_name lacaml.top) - (modes (byte)) - (flags ( - :standard - -w -9 -strict-sequence -principal -short-paths - )) - (libraries (compiler-libs.toplevel lacaml)) -))