diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index b8e5368..6c0c740 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -54,16 +54,16 @@ jobs: - name: Build project run: opam exec -- dune build -p eigen - - name: Install openblas on windows + - name: Install openblas on windows (for testing owl) if: ${{ runner.os == 'Windows' }} run: | echo pwd git clone https://github.com/xianyi/OpenBLAS.git || true cd OpenBLAS - make CC=x86_64-w64-mingw32-gcc FC=x86_64-w64-mingw32-gfortran TARGET=HASWELL - make CC=x86_64-w64-mingw32-gcc FC=x86_64-w64-mingw32-gfortran TARGET=HASWELL PREFIX=/usr/x86_64-w64-mingw32/sys-root/mingw install + make CC=x86_64-w64-mingw32-gcc FC=x86_64-w64-mingw32-gfortran + make CC=x86_64-w64-mingw32-gcc FC=x86_64-w64-mingw32-gfortran PREFIX=/usr/x86_64-w64-mingw32/sys-root/mingw install - name: Build and test owl run: | - opam depext owl - opam install -t owl + opam depext owl owl-top owl-zoo + opam install -t owl owl-top owl-zoo diff --git a/CHANGES b/CHANGES new file mode 100644 index 0000000..b68a659 --- /dev/null +++ b/CHANGES @@ -0,0 +1,8 @@ +# 0.4.0 (12-11-2020) + +* Fix bug in linking cmxs files ([#27](https://github.com/owlbarn/eigen/issues/27) @nojb @nilsbecker @dbuenzli) + +# 0.3.0 (22-10-2020) + +* Release 0.3.0, windows compatibility (thanks to @kkirstein) + diff --git a/dune-project b/dune-project index 305ab76..494ab9b 100644 --- a/dune-project +++ b/dune-project @@ -1,2 +1,3 @@ -(lang dune 2.0) +(lang dune 2.8) (name eigen) +(use_standard_c_and_cxx_flags true) \ No newline at end of file diff --git a/eigen.opam b/eigen.opam index 4bb534a..1364b37 100644 --- a/eigen.opam +++ b/eigen.opam @@ -12,7 +12,7 @@ build: [ depends: [ "ocaml" {>= "4.02"} "ctypes" {>= "0.14.0"} - "dune" {>= "2.0.0"} + "dune" {>= "2.8.0"} ] synopsis: "Owl's OCaml interface to Eigen3 C++ library" description: diff --git a/eigen/dune b/eigen/dune index f8e1e56..f3d1cd4 100644 --- a/eigen/dune +++ b/eigen/dune @@ -33,12 +33,12 @@ let () = Printf.ksprintf Jbuild_plugin.V1.send {| (public_name eigen) (libraries ctypes) (modules :standard ffi_eigen_generated) - (foreign_archives ../eigen_cpp/eigen_cpp_stubs) + (foreign_archives ../eigen_cpp/eigen_cpp) (foreign_stubs (language c) (names eigen_utils_stubs ffi_eigen_generated_stub) (include_dirs ../eigen_cpp/lib) - (flags :standard %s) + (flags :standard -lstdc++ -leigen_cpp %s) ) ) |} eigen_flags diff --git a/eigen_cpp/dune b/eigen_cpp/dune index b6ddf56..620c877 100644 --- a/eigen_cpp/dune +++ b/eigen_cpp/dune @@ -2,8 +2,7 @@ let optflags = match Sys.getenv "EIGENCPP_OPTFLAGS" with - | s -> - s + | s -> s | exception Not_found -> "-Ofast -march=native -funroll-loops -ffast-math" @@ -17,7 +16,7 @@ let () = Printf.ksprintf Jbuild_plugin.V1.send {| (include_subdirs unqualified) (foreign_library - (archive_name eigen_cpp_stubs) + (archive_name eigen_cpp) (language cxx) (names eigen_tensor eigen_dsmat eigen_spmat) (include_dirs lib lib/unsupported) @@ -29,6 +28,7 @@ let () = Printf.ksprintf Jbuild_plugin.V1.send {| -O3 -std=c++11 -lstdc++ + -fno-threadsafe-statics %s %s ) diff --git a/eigen_cpp/eigen_cpp.ml b/eigen_cpp/eigen_cpp.ml deleted file mode 100644 index 3c3a727..0000000 --- a/eigen_cpp/eigen_cpp.ml +++ /dev/null @@ -1 +0,0 @@ -let linkme = ()