Hello community, here is the log from the commit of package ocaml-parmap for openSUSE:Factory checked in at 2019-11-20 12:38:08 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ocaml-parmap (Old) and /work/SRC/openSUSE:Factory/.ocaml-parmap.new.26869 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ocaml-parmap" Wed Nov 20 12:38:08 2019 rev:7 rq:749848 version:20191021.1b17a5d Changes: -------- --- /work/SRC/openSUSE:Factory/ocaml-parmap/ocaml-parmap.changes 2019-10-18 14:36:24.887773525 +0200 +++ /work/SRC/openSUSE:Factory/.ocaml-parmap.new.26869/ocaml-parmap.changes 2019-11-20 12:38:12.497788190 +0100 @@ -1,0 +2,6 @@ +Fri Nov 1 12:34:56 UTC 2019 - oher...@suse.de + +- Require current dune macros +- Update to 20191021.1b17a5d from dune branch + +------------------------------------------------------------------- Old: ---- ocaml-parmap-20191002.803edbb.tar.xz New: ---- _constraints ocaml-parmap-20191021.1b17a5d.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ocaml-parmap.spec ++++++ --- /var/tmp/diff_new_pack.FQa0br/_old 2019-11-20 12:38:12.957788000 +0100 +++ /var/tmp/diff_new_pack.FQa0br/_new 2019-11-20 12:38:12.961787997 +0100 @@ -17,7 +17,7 @@ Name: ocaml-parmap -Version: 20191002.803edbb +Version: 20191021.1b17a5d Release: 0 %{?ocaml_preserve_bytecode} Summary: Multicore architecture exploitation for OCaml programs with minimal modifications @@ -26,14 +26,13 @@ URL: http://rdicosmo.github.io/parmap/ Source: %{name}-%{version}.tar.xz BuildRequires: ocaml -BuildRequires: ocaml-oasis -BuildRequires: ocaml-ocamldoc -BuildRequires: ocaml-rpm-macros >= 20191009 +BuildRequires: ocaml-dune +BuildRequires: ocaml-rpm-macros >= 20191101 BuildRequires: ocamlfind(bigarray) +BuildRequires: ocamlfind(dune.configurator) BuildRequires: ocamlfind(graphics) BuildRequires: ocamlfind(unix) BuildRequires: pkgconfig(x11) -BuildRoot: %{_tmppath}/%{name}-%{version}-build %description If you want to use your many cores to accelerate an operation @@ -58,70 +57,27 @@ %autosetup -p1 %build -echo -n > config.h -if grep -w sched_setaffinity /usr/include/sched.h -then -tee -a config.h <<_EOF_ -#define HAVE_DECL_SCHED_SETAFFINITY 1 -_EOF_ -fi -ocaml_version="$(ocamlc -version)" -case "${ocaml_version}" in - 4.03.*|4.04.*|4.05.*) - echo 'let map_file = Bigarray.Genarray.map_file' >>parmap_compat.ml - ;; - *) - echo 'let map_file = Unix.map_file' >>parmap_compat.ml - ;; -esac -rm -fv setup.ml myocamlbuild.ml META* _* */_* -# obs service changes every ^Version line ... -sh -c "sed 's/^Version.*/Version: %{version}/' | tee _oasis" <<_EOF_ -OASISFormat: 0.4 -Name: parmap -Version: 0 -Synopsis: library to exploit multicore architectures (parallel programming) -Authors: Marco Danelutto and Roberto Di Cosmo -License: WTFPL -LicenseFile: LICENSE -Plugins: META(`oasis version`) -BuildTools: ocamlbuild - -Library parmap - Path: . - Install: true - Modules: Parmap, Parmap_compat - CSources: bytearray_stubs.c, setcore_stubs.c, config.h - CCOpt: %{optflags} -I$PWD -Werror -D_GNU_SOURCE - -Document parmap - Title: API reference for parmap - Type: ocamlbuild - BuildTools+: ocamldoc - InstallDir: \$htmldir - Install: true - XOCamlbuildPath: . - XOCamlbuildLibraries: parmap - -Executable "%{name}-mandels" - Install: true - Path: example - MainIs: mandels.ml - CompiledObject: best - BuildDepends: parmap, graphics, unix, bigarray -_EOF_ -%oasis_setup -%ocaml_oasis_configure --enable-docs -%ocaml_oasis_build -%ocaml_oasis_doc +dune_release_pkgs='parmap' +%ocaml_dune_setup +%ocaml_dune_build %install -%ocaml_oasis_findlib_install +%ocaml_dune_install %ocaml_create_file_list +%check +test -x "$(type -P ocamlc.opt)" || exit 0 +OCAML_DUNE_RUNTEST_ARGS="-j 1" +%if "%{_lib}" == "lib" +dune_test_tolerate_fail='dune_test_tolerate_fail Array.make' +%endif +export nData=$((1000 * 10)) +export nProcs=2 +%ocaml_dune_test + %files -f %{name}.files -%doc README.md %{_bindir}/* %files devel -f %{name}.files.devel -%{oasis_docdir_html} + +%changelog ++++++ _constraints ++++++ <constraints> <overwrite> <conditions> <arch>aarch64</arch> <arch>ppc64le</arch> <arch>s390x</arch> <arch>x86_64</arch> </conditions> <hardware> <memory> <size unit="G">8</size> </memory> </hardware> </overwrite> </constraints> ++++++ _service ++++++ --- /var/tmp/diff_new_pack.FQa0br/_old 2019-11-20 12:38:12.985787988 +0100 +++ /var/tmp/diff_new_pack.FQa0br/_new 2019-11-20 12:38:12.985787988 +0100 @@ -1,10 +1,10 @@ <services> <service name="tar_scm" mode="disabled"> - <param name="url">git://github.com/rdicosmo/parmap.git</param> + <param name="filename">ocaml-parmap</param> + <param name="revision">dune-wip</param> <param name="scm">git</param> + <param name="url">https://github.com/olafhering/ocaml-parmap.git</param> <param name="versionformat">%cd.%h</param> - <param name="revision">803edbb03aedda79b0c681b4f14ea9a2f10b1514</param> - <param name="filename">ocaml-parmap</param> </service> <service name="recompress" mode="disabled"> <param name="file">*.tar</param> ++++++ ocaml-parmap-20191002.803edbb.tar.xz -> ocaml-parmap-20191021.1b17a5d.tar.xz ++++++ ++++ 8095 lines of diff (skipped) ++++ retrying with extended exclude list diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/ocaml-parmap-20191002.803edbb/.depend new/ocaml-parmap-20191021.1b17a5d/.depend --- old/ocaml-parmap-20191002.803edbb/.depend 2019-10-02 05:02:01.000000000 +0200 +++ new/ocaml-parmap-20191021.1b17a5d/.depend 1970-01-01 01:00:00.000000000 +0100 @@ -1,6 +0,0 @@ -bytearray.cmo: bytearray.cmi -bytearray.cmx: bytearray.cmi -parmap.cmo: bytearray.cmi parmap.cmi -parmap.cmx: bytearray.cmx parmap.cmi -bytearray.cmi: -parmap.cmi: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/ocaml-parmap-20191002.803edbb/META new/ocaml-parmap-20191021.1b17a5d/META --- old/ocaml-parmap-20191002.803edbb/META 2019-10-02 05:02:01.000000000 +0200 +++ new/ocaml-parmap-20191021.1b17a5d/META 1970-01-01 01:00:00.000000000 +0100 @@ -1,7 +0,0 @@ -name = "parmap" -version = "1.0-rc1" -description = "Parallel map primitive for multicores" -requires = "bigarray unix" -archive(byte) = "parmap.cma" -archive(native) = "parmap.cmxa" -linkopts(byte) = "-cclib -lparmap_stubs" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/ocaml-parmap-20191002.803edbb/Makefile_3.11.in new/ocaml-parmap-20191021.1b17a5d/Makefile_3.11.in --- old/ocaml-parmap-20191002.803edbb/Makefile_3.11.in 2019-10-02 05:02:01.000000000 +0200 +++ new/ocaml-parmap-20191021.1b17a5d/Makefile_3.11.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,82 +0,0 @@ -VERSION=@PACKAGE_VERSION@ -NAME=@PACKAGE_NAME@ - -CFLAGS=@CFLAGS@ -fPIC -Wall -pedantic -Werror -Wno-long-long -CPPFLAGS=@CPPFLAGS@ -LDFLAGS=@LDFLAGS@ - -OBJS = bytearray parmap_utils $(NAME) -INTF = $(foreach obj, $(OBJS),$(obj).cmi) setcore.cmi -C_OBJS = bytearray_stubs.o setcore_stubs.o -OBJECTS = $(foreach obj, $(OBJS),$(obj).cmo) -XOBJECTS = $(foreach obj, $(OBJS),$(obj).cmx) -LIBS = $(NAME).cma $(NAME).cmxa $(NAME).cmxs -OCAMLC = ocamlfind ocamlc -OCAMLOPT = ocamlfind ocamlopt -OCAMLMKLIB = ocamlmklib -OCAMLDEP = ocamldep -COMPOPTS = -linkpkg -package bigarray -package parmap -package unix - -ARCHIVE = $(NAME).cma -XARCHIVE = $(NAME).cmxa -SARCHIVE = $(NAME).cmxs - -REQUIRES = unix bigarray - -all: $(ARCHIVE) $(XARCHIVE) - -.PHONY: reinstall - -reinstall: uninstall install - -.PHONY: install -install: $(LIBS) META - ocamlfind remove $(NAME) - ocamlfind install $(NAME) META $(INTF) $(LIBS) *.a *.mli $(C_OBJS) *.so - -.PHONY: uninstall -uninstall: - ocamlfind remove $(NAME) - -$(ARCHIVE): $(INTF) $(OBJECTS) $(C_OBJS) - $(OCAMLMKLIB) -o $(NAME) $(OBJECTS) $(C_OBJS) - -$(XARCHIVE): $(INTF) $(XOBJECTS) $(C_OBJS) - $(OCAMLMKLIB) -o $(NAME) $(XOBJECTS) $(C_OBJS) - -$(SARCHIVE): $(INTF) $(XOBJECTS) $(C_OBJS) - $(OCAMLOPT) -shared -o $(SARCHIVE) $(C_OBJS) $(XOBJECTS) - -bytearray_stubs.o: bytearray_stubs.c - ocamlc -c bytearray_stubs.c - -setcore_stubs.o: setcore_stubs.c - ocamlc -c -cc "gcc -D_GNU_SOURCE -o setcore_stubs.o -fPIC" setcore_stubs.c - -tests: - cd tests; $(OCAMLOPT) $(COMPOPTS) utils.ml simplescale.ml -o simplescale.native - cd tests; $(OCAMLOPT) $(COMPOPTS) utils.ml floatscale.ml -o floatscale.native - cd tests; $(OCAMLOPT) $(COMPOPTS) utils.ml simplescalefold.ml -o simplescalefold.native - cd tests; $(OCAMLOPT) $(COMPOPTS) utils.ml simplescalemapfold.ml -o simplescalemapfold.native - cd tests; $(OCAMLOPT) $(COMPOPTS) utils.ml simplescale_array.ml -o simplescale_array.native - -examples: - $(OCAMLOPT) $(COMPOPTS) graphics.cmxa example/mandels.ml -o example/mandels.native - -.SUFFIXES: .cmo .cmi .cmx .ml .mli - -.ml.cmo: - $(OCAMLC) -package "$(REQUIRES)" -c $< -.mli.cmi: - $(OCAMLC) -package "$(REQUIRES)" -c $< -.ml.cmx: - $(OCAMLOPT) -package "$(REQUIRES)" -c $< - -depend: *.ml *.mli - $(OCAMLDEP) *.ml *.mli >.depend - -include .depend - -.PHONY: clean examples tests -clean: - rm -f *.cmi *.cmo *.cmx *.cma *.cmxa *.cmxs *.a *.o *.so *.annot diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/ocaml-parmap-20191002.803edbb/_oasis new/ocaml-parmap-20191021.1b17a5d/_oasis --- old/ocaml-parmap-20191002.803edbb/_oasis 2019-10-02 05:02:01.000000000 +0200 +++ new/ocaml-parmap-20191021.1b17a5d/_oasis 1970-01-01 01:00:00.000000000 +0100 @@ -1,21 +0,0 @@ -OASISFormat: 0.2 -Name: parmap -Version: 0.9.4 -Authors: Marco Danelutto and Roberto Di Cosmo -Homepage: http://gitorious.org/parmap -License: LGPL-2 -LicenseFile: LICENSE -ConfType: custom (0.3) -BuildType: custom (0.3) -InstallType: custom (0.3) -BuildDepends: bigarray, unix -BuildTools: make, ocamlbuild -Synopsis: library to exploit multicore architectures (parallel programming) - -XCustomConf: ./configure -XCustomBuild: make -XCustomInstall: make install -XCustomUninstall: make uninstall - -Library parmap - Path: _build diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/ocaml-parmap-20191002.803edbb/_tags new/ocaml-parmap-20191021.1b17a5d/_tags --- old/ocaml-parmap-20191002.803edbb/_tags 2019-10-02 05:02:01.000000000 +0200 +++ new/ocaml-parmap-20191021.1b17a5d/_tags 1970-01-01 01:00:00.000000000 +0100 @@ -1,9 +0,0 @@ -<*>: annot -#"libparmap.a": use_parmap -<parmap.cm{x,}a>: use_libparmap -<parmap.c{mxs}>: link_libparmap -<*.{ml,mli}>: package(unix), package(bigarray) - - -<*sdl.*>: package(bigarray), package(sdl) -<*.{ml,mli}>: warn(Ae) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/ocaml-parmap-20191002.803edbb/bytearray.ml new/ocaml-parmap-20191021.1b17a5d/bytearray.ml --- old/ocaml-parmap-20191002.803edbb/bytearray.ml 2019-10-02 05:02:01.000000000 +0200 +++ new/ocaml-parmap-20191021.1b17a5d/bytearray.ml 2019-10-21 12:27:43.000000000 +0200 @@ -36,7 +36,7 @@ *) external unsafe_blit_from_string : string -> int -> t -> int -> int -> unit - = "ml_blit_string_to_bigarray" "noalloc" + = "ml_blit_string_to_bigarray" [@@noalloc] (* external unsafe_blit_to_bytes : t -> int -> bytes -> int -> int -> unit = "ml_blit_bigarray_to_string" "noalloc" @@ -107,10 +107,10 @@ = "ml_unmarshal_from_bigarray" external unsafe_blit_from_floatarray : float array -> int -> tf -> int -> int -> unit - = "ml_blit_floatarray_to_bigarray" "noalloc" + = "ml_blit_floatarray_to_bigarray" [@@noalloc] external unsafe_blit_to_floatarray : tf -> int -> float array -> int -> int -> unit - = "ml_blit_bigarray_to_floatarray" "noalloc" + = "ml_blit_bigarray_to_floatarray" [@@noalloc] let to_floatarray a l = let fa = Obj.obj (Obj.new_block Obj.double_array_tag l) in diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/ocaml-parmap-20191002.803edbb/config/discover.ml new/ocaml-parmap-20191021.1b17a5d/config/discover.ml --- old/ocaml-parmap-20191002.803edbb/config/discover.ml 1970-01-01 01:00:00.000000000 +0100 +++ new/ocaml-parmap-20191021.1b17a5d/config/discover.ml 2019-10-21 12:27:43.000000000 +0200 @@ -0,0 +1,56 @@ +(* +module C = Configurator.V1 + +let () = +C.main ~name:"parmap" (fun c -> + +let cflags = + if C.ocaml_config_var_exn c "system" = "macosx" then + [ "-DHAVE_MACH_THREAD_POLICY_H" ] + else + [ "-DHAVE_DECL_SCHED_SETAFFINITY" ; "-D_GNU_SOURCE" ] + in + + C.Flags.write_sexp "c_flags.sexp" cflags) +*) +module C = Configurator.V1 + +let sched_setaffinity_code = {| +#define _GNU_SOURCE +#include <sched.h> +int main() +{ + cpu_set_t cpus; + return sched_setaffinity(0, sizeof(cpu_set_t), &cpus); +} +|} + +let thread_policy_set_code = {| +#include <mach/mach_init.h> +#include <mach/thread_policy.h> +int main() +{ + thread_affinity_policy_data_t affinityData; + return thread_policy_set(mach_thread_self(), THREAD_AFFINITY_POLICY, &affinityData, THREAD_AFFINITY_POLICY_COUNT); +} +|} + +let () = + C.main ~name:"parmap" (fun c -> + let ml_file = "parmap_compat.ml" in + let ml_code = match C.ocaml_config_var_exn c "version" with + | "4.02.3" -> [ "let map_file = Bigarray.Genarray.map_file" ] + | "4.03.0" -> [ "let map_file = Bigarray.Genarray.map_file" ] + | "4.04.2" -> [ "let map_file = Bigarray.Genarray.map_file" ] + | "4.05.0" -> [ "let map_file = Bigarray.Genarray.map_file" ] + | _ -> [ "let map_file = Unix.map_file" ] + in + C.Flags.write_lines ml_file ml_code ; + + let has_sched_setaffinity = C.c_test c sched_setaffinity_code in + let has_thread_policy_set = C.c_test c thread_policy_set_code in + C.C_define.gen_header_file c ~fname:"setcore_stubs.h" + [ "HAVE_DECL_SCHED_SETAFFINITY", Switch has_sched_setaffinity ; + "HAVE_MACH_THREAD_POLICY_H", Switch has_thread_policy_set ] ; + ); + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/ocaml-parmap-20191002.803edbb/config/dune new/ocaml-parmap-20191021.1b17a5d/config/dune --- old/ocaml-parmap-20191002.803edbb/config/dune 1970-01-01 01:00:00.000000000 +0100 +++ new/ocaml-parmap-20191021.1b17a5d/config/dune 2019-10-21 12:27:43.000000000 +0200 @@ -0,0 +1,3 @@ +(executable + (name discover) + (libraries dune.configurator)) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/ocaml-parmap-20191002.803edbb/config.h.in new/ocaml-parmap-20191021.1b17a5d/config.h.in --- old/ocaml-parmap-20191002.803edbb/config.h.in 2019-10-02 05:02:01.000000000 +0200 +++ new/ocaml-parmap-20191021.1b17a5d/config.h.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,63 +0,0 @@ -/* config.h.in. Generated from configure.ac by autoheader. */ - -/* Define to 1 if you have the declaration of `sched_setaffinity', and to 0 if - you don't. */ -#undef HAVE_DECL_SCHED_SETAFFINITY - -/* Define to 1 if you have the declaration of `thread_policy_set', and to 0 if - you don't. */ -#undef HAVE_DECL_THREAD_POLICY_SET - -/* Define to 1 if you have the <inttypes.h> header file. */ -#undef HAVE_INTTYPES_H - -/* Define to 1 if you have the <mach/thread_policy.h> header file. */ -#undef HAVE_MACH_THREAD_POLICY_H - -/* Define to 1 if you have the <memory.h> header file. */ -#undef HAVE_MEMORY_H - -/* Define to 1 if you have the <sched.h> header file. */ -#undef HAVE_SCHED_H - -/* Define to 1 if you have the <stdint.h> header file. */ -#undef HAVE_STDINT_H - -/* Define to 1 if you have the <stdlib.h> header file. */ -#undef HAVE_STDLIB_H - -/* Define to 1 if you have the <strings.h> header file. */ -#undef HAVE_STRINGS_H - -/* Define to 1 if you have the <string.h> header file. */ -#undef HAVE_STRING_H - -/* Define to 1 if you have the <sys/stat.h> header file. */ -#undef HAVE_SYS_STAT_H - -/* Define to 1 if you have the <sys/types.h> header file. */ -#undef HAVE_SYS_TYPES_H - -/* Define to 1 if you have the <unistd.h> header file. */ -#undef HAVE_UNISTD_H - -/* Define to the address where bug reports for this package should be sent. */ -#undef PACKAGE_BUGREPORT - -/* Define to the full name of this package. */ -#undef PACKAGE_NAME - -/* Define to the full name and version of this package. */ -#undef PACKAGE_STRING - -/* Define to the one symbol short name of this package. */ -#undef PACKAGE_TARNAME - -/* Define to the home page for this package. */ -#undef PACKAGE_URL - -/* Define to the version of this package. */ -#undef PACKAGE_VERSION - -/* Define to 1 if you have the ANSI C header files. */ -#undef STDC_HEADERS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/ocaml-parmap-20191002.803edbb/configure.ac new/ocaml-parmap-20191021.1b17a5d/configure.ac --- old/ocaml-parmap-20191002.803edbb/configure.ac 2019-10-02 05:02:01.000000000 +0200 +++ new/ocaml-parmap-20191021.1b17a5d/configure.ac 1970-01-01 01:00:00.000000000 +0100 @@ -1,45 +0,0 @@ -AC_INIT(parmap, 1.0-rc7, robe...@dicosmo.org) - -AC_PROG_OCAML -if test "$OCAMLC" = "no"; then - AC_MSG_ERROR([You must install the OCaml compiler]) -fi - -AC_PROG_FINDLIB -AC_SUBST(OCAMLFIND) -if test "$OCAMLFIND" = "no"; then - AC_MSG_ERROR([You must install OCaml findlib (the ocamlfind command)]) -fi - -AC_HEADER_STDC -AC_CHECK_HEADERS([sched.h]) -AC_CHECK_DECLS([sched_setaffinity], [], [], [[ -#define _GNU_SOURCE 1 -#include <sched.h> -]]) - -AC_CHECK_HEADERS([mach/thread_policy.h]) -AC_CHECK_DECLS([thread_policy_set], [], [], [[ -#include <mach/mach_init.h> -#include <mach/thread_policy.h> -]]) - -AC_CONFIG_HEADERS([config.h]) - -if $OCAMLBUILD -use-ocamlfind >/dev/null 2>&1 ; then - AC_MSG_RESULT(ocaml version $OCAMLVERSION. Use standard Makefile) - AC_CONFIG_FILES([Makefile]) - AC_OUTPUT -else - AC_MSG_RESULT(ocamlbuild does not exists or it does not support -use-ocamlfind) - AC_CONFIG_FILES([Makefile_3.11]) - AC_OUTPUT - mv Makefile_3.11 Makefile -fi - -echo '(* generated by configure *)' >parmap_compat.ml -if test "$OCAMLVERSION" \< "4.06.0" ; then - echo 'let map_file = Bigarray.Genarray.map_file' >>parmap_compat.ml -else - echo 'let map_file = Unix.map_file' >>parmap_compat.ml -fi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/ocaml-parmap-20191002.803edbb/dune new/ocaml-parmap-20191021.1b17a5d/dune --- old/ocaml-parmap-20191002.803edbb/dune 1970-01-01 01:00:00.000000000 +0100 +++ new/ocaml-parmap-20191021.1b17a5d/dune 2019-10-21 12:27:43.000000000 +0200 @@ -0,0 +1,13 @@ +(library + (public_name parmap) + (synopsis "Parallel map primitive for multicores") + (wrapped false) + (libraries bigarray unix) + (c_names bytearray_stubs setcore_stubs)) + +(rule + (targets parmap_compat.ml setcore_stubs.h) + (deps + (:discover config/discover.exe)) + (action + (run %{discover}))) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/ocaml-parmap-20191002.803edbb/dune-project new/ocaml-parmap-20191021.1b17a5d/dune-project --- old/ocaml-parmap-20191002.803edbb/dune-project 1970-01-01 01:00:00.000000000 +0100 +++ new/ocaml-parmap-20191021.1b17a5d/dune-project 2019-10-21 12:27:43.000000000 +0200 @@ -0,0 +1 @@ +(lang dune 1.1) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/ocaml-parmap-20191002.803edbb/example/Makefile new/ocaml-parmap-20191021.1b17a5d/example/Makefile --- old/ocaml-parmap-20191002.803edbb/example/Makefile 2019-10-02 05:02:01.000000000 +0200 +++ new/ocaml-parmap-20191021.1b17a5d/example/Makefile 1970-01-01 01:00:00.000000000 +0100 @@ -1,17 +0,0 @@ -OCAMLBUILD=ocamlbuild -OBFLAGS := -j 10 -use-ocamlfind -OCAMLBEST=native - -TARGETS = \ - mandels.$(OCAMLBEST) - -all: - $(OCAMLBUILD) $(OBFLAGS) $(TARGETS) - -mandels_sdl.native: mandels_sdl.ml - ocamlfind ocamlopt -linkpkg -package bigarray -package graphics -package parmap -package unix -package sdl mandels_sdl.ml -o mandels_sdl.native - -.PHONY: clean -clean: - $(OCAMLBUILD) -clean - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/ocaml-parmap-20191002.803edbb/example/Makefile.OSX new/ocaml-parmap-20191021.1b17a5d/example/Makefile.OSX --- old/ocaml-parmap-20191002.803edbb/example/Makefile.OSX 2019-10-02 05:02:01.000000000 +0200 +++ new/ocaml-parmap-20191021.1b17a5d/example/Makefile.OSX 1970-01-01 01:00:00.000000000 +0100 @@ -1,20 +0,0 @@ -# to build the sdl version, you will need at least the command line tools from Xcode, -# also, sdl. brew install sdl sdl_gfx sdl_image should be (more than) enough - -OCAMLBUILD=ocamlbuild -OBFLAGS := -j 10 -use-ocamlfind -OCAMLBEST=native - -TARGETS = \ - mandels.$(OCAMLBEST) - -all: - $(OCAMLBUILD) $(OBFLAGS) $(TARGETS) - -mandels_sdl.native: mandels_sdl.ml - ocamlfind ocamlopt -ccopt "-framework CoreFoundation -framework Cocoa" -linkpkg -package bigarray -package graphics -package parmap -package unix -package sdl mandels_sdl.ml -o mandels_sdl.native - -.PHONY: clean -clean: - $(OCAMLBUILD) -clean - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/ocaml-parmap-20191002.803edbb/example/_tags new/ocaml-parmap-20191021.1b17a5d/example/_tags --- old/ocaml-parmap-20191002.803edbb/example/_tags 2019-10-02 05:02:01.000000000 +0200 +++ new/ocaml-parmap-20191021.1b17a5d/example/_tags 1970-01-01 01:00:00.000000000 +0100 @@ -1,5 +0,0 @@ -<*>: package(unix), package(bigarray), package(parmap) -<mandels*>: package(graphics) - - -<mandels_sdl.*>: package(sdl) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/ocaml-parmap-20191002.803edbb/example/dune new/ocaml-parmap-20191021.1b17a5d/example/dune --- old/ocaml-parmap-20191002.803edbb/example/dune 1970-01-01 01:00:00.000000000 +0100 +++ new/ocaml-parmap-20191021.1b17a5d/example/dune 2019-10-21 12:27:43.000000000 +0200 @@ -0,0 +1,15 @@ +(executable + (name mandels) + (public_name ocaml-parmap-mandels) + (modules mandels) + (flags + (:standard -w -3-27)) + (libraries parmap graphics unix bigarray)) + +;(executable +; (name mandels_sdl) +; (public_name ocaml-parmap-mandels_sdl) +; (modules mandels_sdl) +; (flags +; (:standard -w -3-27)) +; (libraries parmap graphics unix stdlib-shims bigarray sdl)) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/ocaml-parmap-20191002.803edbb/example/mandels.ml new/ocaml-parmap-20191021.1b17a5d/example/mandels.ml --- old/ocaml-parmap-20191002.803edbb/example/mandels.ml 2019-10-02 05:02:01.000000000 +0200 +++ new/ocaml-parmap-20191021.1b17a5d/example/mandels.ml 2019-10-21 12:27:43.000000000 +0200 @@ -31,7 +31,7 @@ (* convert an integer in the range 0..res into a screen color *) -let color_of c res = Pervasives.truncate +let color_of c res = truncate (((float c)/.(float res))*.(float Graphics.white));; (* compute the color of a pixel by iterating z_n+1=z_n^2+c *) @@ -45,7 +45,7 @@ let zrs = ref 0.0 in let zis = ref 0.0 in let d = ref (2.0 /. ((float n) -. 1.0)) in - let colour = Array.create n (Graphics.black) in + let colour = Array.make n (Graphics.black) in for s = 0 to (n-1) do let j1 = ref (((float j.(s)) +. !ofx) /. !scale) in @@ -89,7 +89,7 @@ ;; let tasks = - let ini = Array.create !n 0 in + let ini = Array.make !n 0 in let iniv = for i=0 to (!n-1) do Array.set ini i i diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/ocaml-parmap-20191002.803edbb/example/mandels_sdl.ml new/ocaml-parmap-20191021.1b17a5d/example/mandels_sdl.ml --- old/ocaml-parmap-20191002.803edbb/example/mandels_sdl.ml 2019-10-02 05:02:01.000000000 +0200 +++ new/ocaml-parmap-20191021.1b17a5d/example/mandels_sdl.ml 2019-10-21 12:27:43.000000000 +0200 @@ -33,7 +33,7 @@ (* convert an integer in the range 0..res into a screen color *) -let color_of c res = Pervasives.truncate +let color_of c res = truncate (((float c)/.(float res))*.(float Graphics.white));; (* compute the color of a pixel by iterating z_n+1=z_n^2+c *) @@ -47,7 +47,7 @@ let zrs = ref 0.0 in let zis = ref 0.0 in let d = ref (2.0 /. ((float n) -. 1.0)) in - let colour = Array.create n (Graphics.black) in + let colour = Array.make n (Graphics.black) in for s = 0 to (n-1) do let j1 = ref (((float j.(s)) +. !ofx) /. !scale) in @@ -84,7 +84,7 @@ ;; let tasks = - let ini = Array.create !n 0 in + let ini = Array.make !n 0 in let iniv = for i=0 to (!n-1) do Array.set ini i i diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/ocaml-parmap-20191002.803edbb/libparmap_stubs.clib new/ocaml-parmap-20191021.1b17a5d/libparmap_stubs.clib --- old/ocaml-parmap-20191002.803edbb/libparmap_stubs.clib 2019-10-02 05:02:01.000000000 +0200 +++ new/ocaml-parmap-20191021.1b17a5d/libparmap_stubs.clib 1970-01-01 01:00:00.000000000 +0100 @@ -1,2 +0,0 @@ -bytearray_stubs.o -setcore_stubs.o diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/ocaml-parmap-20191002.803edbb/m4/ocaml.m4 new/ocaml-parmap-20191021.1b17a5d/m4/ocaml.m4 --- old/ocaml-parmap-20191002.803edbb/m4/ocaml.m4 2019-10-02 05:02:01.000000000 +0200 +++ new/ocaml-parmap-20191021.1b17a5d/m4/ocaml.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,253 +0,0 @@ -dnl autoconf macros for OCaml -dnl -dnl Copyright © 2013 Gabriel Kerneis -dnl Copyright © 2009 Richard W.M. Jones -dnl Copyright © 2009 Stefano Zacchiroli -dnl Copyright © 2000-2005 Olivier Andrieu -dnl Copyright © 2000-2005 Jean-Christophe Filliâtre -dnl Copyright © 2000-2005 Georges Mariano -dnl -dnl For documentation, please read the ocaml.m4 man page. - -AC_DEFUN([AC_PROG_OCAML], -[dnl - # checking for ocamlc - AC_CHECK_TOOL([OCAMLC],[ocamlc],[no]) - - if test "$OCAMLC" != "no"; then - OCAMLVERSION=`$OCAMLC -v | sed -n -e 's|.*version* *\(.*\)$|\1|p'` - AC_MSG_RESULT([OCaml version is $OCAMLVERSION]) - # If OCAMLLIB is set, use it - if test "$OCAMLLIB" = ""; then - OCAMLLIB=`$OCAMLC -where 2>/dev/null | tr -d '\015' || $OCAMLC -v|tail -1|cut -d ' ' -f 4` - else - AC_MSG_RESULT([OCAMLLIB previously set; preserving it.]) - fi - AC_MSG_RESULT([OCaml library path is $OCAMLLIB]) - - AC_SUBST([OCAMLVERSION]) - AC_SUBST([OCAMLLIB]) - - # checking for ocamlopt - AC_CHECK_TOOL([OCAMLOPT],[ocamlopt],[no]) - OCAMLBEST=byte - if test "$OCAMLOPT" = "no"; then - AC_MSG_WARN([Cannot find ocamlopt; bytecode compilation only.]) - else - TMPVERSION=`$OCAMLOPT -v | sed -n -e 's|.*version* *\(.*\)$|\1|p' ` - if test "$TMPVERSION" != "$OCAMLVERSION" ; then - AC_MSG_RESULT([versions differs from ocamlc; ocamlopt discarded.]) - OCAMLOPT=no - else - OCAMLBEST=opt - fi - fi - - AC_SUBST([OCAMLBEST]) - - # checking for ocamlc.opt - AC_CHECK_TOOL([OCAMLCDOTOPT],[ocamlc.opt],[no]) - if test "$OCAMLCDOTOPT" != "no"; then - TMPVERSION=`$OCAMLCDOTOPT -v | sed -n -e 's|.*version* *\(.*\)$|\1|p' ` - if test "$TMPVERSION" != "$OCAMLVERSION" ; then - AC_MSG_RESULT([versions differs from ocamlc; ocamlc.opt discarded.]) - else - OCAMLC=$OCAMLCDOTOPT - fi - fi - - # checking for ocamlopt.opt - if test "$OCAMLOPT" != "no" ; then - AC_CHECK_TOOL([OCAMLOPTDOTOPT],[ocamlopt.opt],[no]) - if test "$OCAMLOPTDOTOPT" != "no"; then - TMPVERSION=`$OCAMLOPTDOTOPT -v | sed -n -e 's|.*version* *\(.*\)$|\1|p' ` - if test "$TMPVERSION" != "$OCAMLVERSION" ; then - AC_MSG_RESULT([version differs from ocamlc; ocamlopt.opt discarded.]) - else - OCAMLOPT=$OCAMLOPTDOTOPT - fi - fi - fi - - AC_SUBST([OCAMLOPT]) - fi - - AC_SUBST([OCAMLC]) - - # checking for native dynlink - AC_MSG_CHECKING([for dynlink.cmxa]) - if test -f "$OCAMLLIB/dynlink.cmxa" ; then - OCAMLNATDYNLINK=yes - AC_MSG_RESULT([yes]) - else - OCAMLNATDYNLINK=no - AC_MSG_RESULT([no]) - fi - - AC_SUBST([OCAMLNATDYNLINK]) - - # checking for ocaml toplevel - AC_CHECK_TOOL([OCAML],[ocaml],[no]) - - # checking for ocamldep - AC_CHECK_TOOL([OCAMLDEP],[ocamldep],[no]) - - # checking for ocamlmktop - AC_CHECK_TOOL([OCAMLMKTOP],[ocamlmktop],[no]) - - # checking for ocamlmklib - AC_CHECK_TOOL([OCAMLMKLIB],[ocamlmklib],[no]) - - # checking for ocamldoc - AC_CHECK_TOOL([OCAMLDOC],[ocamldoc],[no]) - - # checking for ocamlbuild - AC_CHECK_TOOL([OCAMLBUILD],[ocamlbuild],[no]) -]) - - -AC_DEFUN([AC_PROG_OCAMLLEX], -[dnl - # checking for ocamllex - AC_CHECK_TOOL([OCAMLLEX],[ocamllex],[no]) - if test "$OCAMLLEX" != "no"; then - AC_CHECK_TOOL([OCAMLLEXDOTOPT],[ocamllex.opt],[no]) - if test "$OCAMLLEXDOTOPT" != "no"; then - OCAMLLEX=$OCAMLLEXDOTOPT - fi - fi - AC_SUBST([OCAMLLEX]) -]) - -AC_DEFUN([AC_PROG_OCAMLYACC], -[dnl - AC_CHECK_TOOL([OCAMLYACC],[ocamlyacc],[no]) - AC_SUBST([OCAMLYACC]) -]) - - -AC_DEFUN([AC_PROG_CAMLP4], -[dnl - AC_REQUIRE([AC_PROG_OCAML])dnl - - # checking for camlp4 - AC_CHECK_TOOL([CAMLP4],[camlp4],[no]) - if test "$CAMLP4" != "no"; then - TMPVERSION=`$CAMLP4 -v 2>&1| sed -n -e 's|.*version *\(.*\)$|\1|p'` - if test "$TMPVERSION" != "$OCAMLVERSION" ; then - AC_MSG_RESULT([versions differs from ocamlc]) - CAMLP4=no - fi - fi - AC_SUBST([CAMLP4]) - - # checking for companion tools - AC_CHECK_TOOL([CAMLP4BOOT],[camlp4boot],[no]) - AC_CHECK_TOOL([CAMLP4O],[camlp4o],[no]) - AC_CHECK_TOOL([CAMLP4OF],[camlp4of],[no]) - AC_CHECK_TOOL([CAMLP4OOF],[camlp4oof],[no]) - AC_CHECK_TOOL([CAMLP4ORF],[camlp4orf],[no]) - AC_CHECK_TOOL([CAMLP4PROF],[camlp4prof],[no]) - AC_CHECK_TOOL([CAMLP4R],[camlp4r],[no]) - AC_CHECK_TOOL([CAMLP4RF],[camlp4rf],[no]) - AC_SUBST([CAMLP4BOOT]) - AC_SUBST([CAMLP4O]) - AC_SUBST([CAMLP4OF]) - AC_SUBST([CAMLP4OOF]) - AC_SUBST([CAMLP4ORF]) - AC_SUBST([CAMLP4PROF]) - AC_SUBST([CAMLP4R]) - AC_SUBST([CAMLP4RF]) -]) - - -AC_DEFUN([AC_PROG_FINDLIB], -[dnl - AC_REQUIRE([AC_PROG_OCAML])dnl - - # checking for ocamlfind - AC_CHECK_TOOL([OCAMLFIND],[ocamlfind],[no]) - AC_SUBST([OCAMLFIND]) -]) - - -dnl Thanks to Jim Meyering for working this next bit out for us. -dnl XXX We should define AS_TR_SH if it's not defined already -dnl (eg. for old autoconf). -AC_DEFUN([AC_CHECK_OCAML_PKG], -[dnl - AC_REQUIRE([AC_PROG_FINDLIB])dnl - - AC_MSG_CHECKING([for OCaml findlib package $1]) - - unset found - unset pkg - found=no - for pkg in $1 $2 ; do - if $OCAMLFIND query $pkg >/dev/null 2>/dev/null; then - AC_MSG_RESULT([found]) - AS_TR_SH([OCAML_PKG_$1])=$pkg - found=yes - break - fi - done - if test "$found" = "no" ; then - AC_MSG_RESULT([not found]) - AS_TR_SH([OCAML_PKG_$1])=no - fi - - AC_SUBST(AS_TR_SH([OCAML_PKG_$1])) -]) - - -AC_DEFUN([AC_CHECK_OCAML_MODULE], -[dnl - AC_MSG_CHECKING([for OCaml module $2]) - - cat > conftest.ml <<EOF -open $3 -EOF - unset found - for $1 in $$1 $4 ; do - if $OCAMLC -c -I "$$1" conftest.ml >&5 2>&5 ; then - found=yes - break - fi - done - - if test "$found" ; then - AC_MSG_RESULT([$$1]) - else - AC_MSG_RESULT([not found]) - $1=no - fi - AC_SUBST([$1]) -]) - - -dnl XXX Cross-compiling -AC_DEFUN([AC_CHECK_OCAML_WORD_SIZE], -[dnl - AC_REQUIRE([AC_PROG_OCAML])dnl - AC_MSG_CHECKING([for OCaml compiler word size]) - cat > conftest.ml <<EOF - print_endline (string_of_int Sys.word_size) -EOF - OCAML_WORD_SIZE=`$OCAML conftest.ml` - AC_MSG_RESULT([$OCAML_WORD_SIZE]) - AC_SUBST([OCAML_WORD_SIZE]) -]) - -AC_DEFUN([AC_CHECK_OCAML_OS_TYPE], -[dnl - AC_REQUIRE([AC_PROG_OCAML])dnl - AC_MSG_CHECKING([OCaml Sys.os_type]) - - cat > conftest.ml <<EOF - print_string(Sys.os_type);; -EOF - - OCAML_OS_TYPE=`$OCAML conftest.ml` - AC_MSG_RESULT([$OCAML_OS_TYPE]) - AC_SUBST([OCAML_OS_TYPE]) -]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/ocaml-parmap-20191002.803edbb/myocamlbuild.ml new/ocaml-parmap-20191021.1b17a5d/myocamlbuild.ml --- old/ocaml-parmap-20191002.803edbb/myocamlbuild.ml 2019-10-02 05:02:01.000000000 +0200 +++ new/ocaml-parmap-20191021.1b17a5d/myocamlbuild.ml 1970-01-01 01:00:00.000000000 +0100 @@ -1,17 +0,0 @@ -open Ocamlbuild_plugin ;; - -let _ = dispatch begin function - | After_rules -> - dep ["compile"; "c"] ["config.h"]; - (* flag ["ocaml"; "compile"] & S[A"-ccopt"; A"-O9"]; *) - flag ["compile"; "c"] & S[ A"-ccopt"; A"-D_GNU_SOURCE"; A"-ccopt"; A"-fPIC" ]; - - flag ["link"; "library"; "ocaml"; "byte"; "use_libparmap"] & - S[A"-dllib"; A"-lparmap_stubs"; ]; - flag ["link"; "library"; "ocaml"; "native"; "use_libparmap"] & - S[A"-cclib"; A"-lparmap_stubs"; ]; - dep ["link"; "ocaml"; "use_libparmap"] ["libparmap_stubs.a"]; - flag ["link"; "ocaml"; "link_libparmap"] (A"libparmap_stubs.a"); - - | _ -> () -end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/ocaml-parmap-20191002.803edbb/oasis_test.sh new/ocaml-parmap-20191021.1b17a5d/oasis_test.sh --- old/ocaml-parmap-20191002.803edbb/oasis_test.sh 2019-10-02 05:02:01.000000000 +0200 +++ new/ocaml-parmap-20191021.1b17a5d/oasis_test.sh 1970-01-01 01:00:00.000000000 +0100 @@ -1,8 +0,0 @@ -#!/bin/bash - -set -x # DEBUG - -oasis setup -ocaml setup.ml -configure -prefix `opam config var prefix` -ocaml setup.ml -build -ocaml setup.ml -reinstall diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/ocaml-parmap-20191002.803edbb/parmap.ml new/ocaml-parmap-20191021.1b17a5d/parmap.ml --- old/ocaml-parmap-20191002.803edbb/parmap.ml 2019-10-02 05:02:01.000000000 +0200 +++ new/ocaml-parmap-20191021.1b17a5d/parmap.ml 2019-10-21 12:27:43.000000000 +0200 @@ -206,7 +206,7 @@ (* run children *) run_many !ncores ~in_subprocess:(fun i -> init i; (* call initialization function *) - Pervasives.at_exit finalize; (* register finalization function *) + at_exit finalize; (* register finalization function *) let lo=i*chunksize in let hi=if i = !ncores - 1 then ln - 1 else (i + 1) * chunksize - 1 in let exc_handler e j = (* handle an exception at index j *) @@ -242,7 +242,7 @@ (* run children *) run_many !ncores ~in_subprocess:(fun i -> init i; (* call initialization function *) - Pervasives.at_exit finalize; (* register finalization function *) + at_exit finalize; (* register finalization function *) let lo=i*chunksize in let hi=if i= !ncores - 1 then ln-1 else (i+1)*chunksize-1 in let exc_handler e j = (* handle an exception at index j *) @@ -318,7 +318,7 @@ let pids = spawn_many !ncores ~in_subprocess:(fun i -> init i; (* call initialization function *) - Pervasives.at_exit finalize; (* register finalization function *) + at_exit finalize; (* register finalization function *) let d=Unix.gettimeofday() in (* primitives for communication *) Unix.close pipeup_rd; @@ -419,7 +419,7 @@ let pids = spawn_many !ncores ~in_subprocess:(fun i -> init i; (* call initialization function *) - Pervasives.at_exit finalize; (* register finalization function *) + at_exit finalize; (* register finalization function *) let d=Unix.gettimeofday() in (* primitives for communication *) Unix.close pipeup_rd; @@ -570,7 +570,7 @@ let mapi_range lo hi (f:int -> 'a -> 'b) a = let l = hi-lo in if l < 0 then [||] else begin - let r = Array.create (l+1) (f lo (Array.unsafe_get a lo)) in + let r = Array.make (l+1) (f lo (Array.unsafe_get a lo)) in for i = 1 to l do let idx = lo+i in Array.unsafe_set r i (f idx (Array.unsafe_get a idx)) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/ocaml-parmap-20191002.803edbb/parmap.mldylib new/ocaml-parmap-20191021.1b17a5d/parmap.mldylib --- old/ocaml-parmap-20191002.803edbb/parmap.mldylib 2019-10-02 05:02:01.000000000 +0200 +++ new/ocaml-parmap-20191021.1b17a5d/parmap.mldylib 1970-01-01 01:00:00.000000000 +0100 @@ -1,5 +0,0 @@ -Parmap -Bytearray -Parmap_compat -Parmap_utils -Setcore diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/ocaml-parmap-20191002.803edbb/parmap.mllib new/ocaml-parmap-20191021.1b17a5d/parmap.mllib --- old/ocaml-parmap-20191002.803edbb/parmap.mllib 2019-10-02 05:02:01.000000000 +0200 +++ new/ocaml-parmap-20191021.1b17a5d/parmap.mllib 1970-01-01 01:00:00.000000000 +0100 @@ -1,5 +0,0 @@ -Parmap -Bytearray -Parmap_compat -Parmap_utils -Setcore diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/ocaml-parmap-20191002.803edbb/prepare-for-dune.sh new/ocaml-parmap-20191021.1b17a5d/prepare-for-dune.sh --- old/ocaml-parmap-20191002.803edbb/prepare-for-dune.sh 1970-01-01 01:00:00.000000000 +0100 +++ new/ocaml-parmap-20191021.1b17a5d/prepare-for-dune.sh 2019-10-21 12:27:43.000000000 +0200 @@ -0,0 +1,25 @@ +stale_files=" +.depend +META +Makefile.in +Makefile_3.11.in +_oasis +_tags +config.h.in +configure +configure.ac +example/Makefile +example/Makefile.OSX +example/_tags +libparmap_stubs.clib +m4/ocaml.m4 +myocamlbuild.ml +oasis_test.sh +parmap.mldylib +parmap.mllib +tests/_tags +" +for f in ${stale_files} +do + git rm "$f" +done diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/ocaml-parmap-20191002.803edbb/setcore_stubs.c new/ocaml-parmap-20191021.1b17a5d/setcore_stubs.c --- old/ocaml-parmap-20191002.803edbb/setcore_stubs.c 2019-10-02 05:02:01.000000000 +0200 +++ new/ocaml-parmap-20191021.1b17a5d/setcore_stubs.c 2019-10-21 12:27:43.000000000 +0200 @@ -1,15 +1,15 @@ -#include "config.h" -#include <stdio.h> -#include <unistd.h> -#if HAVE_MACH_THREAD_POLICY_H +#include "setcore_stubs.h" +#ifdef HAVE_MACH_THREAD_POLICY_H #include <mach/mach_init.h> #include <mach/thread_policy.h> // #include <mach/sched.h> #endif -#if HAVE_DECL_SCHED_SETAFFINITY -//#define _GNU_SOURCE /* See feature_test_macros(7) */ +#ifdef HAVE_DECL_SCHED_SETAFFINITY +#define _GNU_SOURCE #include <sched.h> #endif +#include <unistd.h> +#include <stdio.h> #include <errno.h> #include <caml/mlvalues.h> @@ -21,17 +21,17 @@ CAMLprim value setcore(value which) { int numcores = sysconf( _SC_NPROCESSORS_ONLN ); int w = Int_val(which) % numcores; // stay in the space of existing cores -#if HAVE_DECL_SCHED_SETAFFINITY +#ifdef HAVE_DECL_SCHED_SETAFFINITY cpu_set_t cpus; #endif -#if HAVE_MACH_THREAD_POLICY_H +#ifdef HAVE_MACH_THREAD_POLICY_H thread_affinity_policy_data_t affinityData; #endif int retcode; int finished=0; while (finished==0) { -#if HAVE_DECL_SCHED_SETAFFINITY +#ifdef HAVE_DECL_SCHED_SETAFFINITY CPU_ZERO(&cpus); CPU_SET (w,&cpus); //fprintf(stderr,"Trying to pin to cpu %d out of %d reported by the system\n",w,numcores); @@ -42,7 +42,7 @@ } else #endif -#if HAVE_MACH_THREAD_POLICY_H +#ifdef HAVE_MACH_THREAD_POLICY_H affinityData.affinity_tag = w; retcode = thread_policy_set(mach_thread_self(), THREAD_AFFINITY_POLICY, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/ocaml-parmap-20191002.803edbb/tests/_tags new/ocaml-parmap-20191021.1b17a5d/tests/_tags --- old/ocaml-parmap-20191002.803edbb/tests/_tags 2019-10-02 05:02:01.000000000 +0200 +++ new/ocaml-parmap-20191021.1b17a5d/tests/_tags 1970-01-01 01:00:00.000000000 +0100 @@ -1,3 +0,0 @@ -<*>: package(unix), package(bigarray), package(parmap) - - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/ocaml-parmap-20191002.803edbb/tests/dune new/ocaml-parmap-20191021.1b17a5d/tests/dune --- old/ocaml-parmap-20191002.803edbb/tests/dune 1970-01-01 01:00:00.000000000 +0100 +++ new/ocaml-parmap-20191021.1b17a5d/tests/dune 2019-10-21 12:27:43.000000000 +0200 @@ -0,0 +1,15 @@ +(library + (name utils) + (modules utils) + (flags + (:standard -w -35-27)) + (libraries parmap)) + +(tests + (names floatscale simplescale simplescale_array simplescalefold + simplescalemapfold) + (modules floatscale simplescale simplescale_array simplescalefold + simplescalemapfold) + (flags + (:standard -w -35-27)) + (libraries utils parmap)) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/ocaml-parmap-20191002.803edbb/x.sh new/ocaml-parmap-20191021.1b17a5d/x.sh --- old/ocaml-parmap-20191002.803edbb/x.sh 1970-01-01 01:00:00.000000000 +0100 +++ new/ocaml-parmap-20191021.1b17a5d/x.sh 2019-10-21 12:27:43.000000000 +0200 @@ -0,0 +1,10 @@ +set -ex +DESTDIR="/dev/shm/parmap.$PPID" +echo '1.23' > VERSION +strace -f -s 1234 -tt -o /dev/shm/$PPID \ +dune build @install --verbose #-j 1 +rm -rf "${DESTDIR}" +dune install --verbose --destdir "${DESTDIR}" +test -z "$1" && exit 0 +dune runtest +: finished