[Pkg-ocaml-maint-commits] [ocaml-ctypes] 08/11: Imported Upstream version 0.4.1
Stéphane Glondu
glondu at moszumanska.debian.org
Thu Dec 3 16:39:51 UTC 2015
This is an automated email from the git hooks/post-receive script.
glondu pushed a commit to branch master
in repository ocaml-ctypes.
commit 3154feee54476f6cd58764159a82c9d25e98142f
Author: Stephane Glondu <steph at glondu.net>
Date: Thu Dec 3 17:20:35 2015 +0100
Imported Upstream version 0.4.1
---
CHANGES.md | 9 +++++++++
META | 14 +++++++-------
Makefile | 13 ++++++++++++-
appveyor.yml | 7 +++----
appveyor/build.sh | 5 ++++-
appveyor/install.sh | 25 +++++++++++++++++++++++++
src/cstubs/cstubs.mli | 2 +-
src/ctypes-foreign-base/ctypes_foreign_basis.ml | 5 +++--
src/ctypes-foreign-threaded/foreign.mli | 3 +++
src/ctypes-foreign-unthreaded/foreign.mli | 8 +++++++-
src/ctypes/ctypes_types.mli | 10 ++++++++--
src/discover/discover.ml | 2 +-
12 files changed, 83 insertions(+), 20 deletions(-)
diff --git a/CHANGES.md b/CHANGES.md
index 368f656..17c1633 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -1,3 +1,12 @@
+## ctypes 0.4.1
+
+Thanks to Etienne Millon (@emillon) for contributing to this release.
+
+* Fix placement of docstring titles
+* Add funptr's optional arguments to funptr_opt
+* Fix a typo in libffi detection code
+* Synchronize foreign.mli files (documentation)
+
## ctypes 0.4
Thanks to A. Hauptmann (@fdopen), David Sheets (@dsheets), Maverick Woo (@maverickwoo), Peter Zotov (@whitequark), David Kaloper (@pqwy), Ramkumar Ramachandra (@artagnon), Thomas Braibant (@braibant), Hugo Heuzard (@hhugo) and Edwin Török (@edwintorok) for contributions to this release.
diff --git a/META b/META
index e7eef53..8a68eb4 100644
--- a/META
+++ b/META
@@ -1,4 +1,4 @@
-version = "0.4"
+version = "0.4.1"
description = "Combinators for binding to C libraries without writing any C."
requires = "unix bigarray str bytes"
archive(byte) = "ctypes.cma"
@@ -8,7 +8,7 @@ archive(native, plugin) = "ctypes.cmxs"
exists_if = "ctypes.cma"
package "top" (
- version = "0.4"
+ version = "0.4.1"
description = "Toplevel printers for C types"
requires = "ctypes"
archive(byte) = "ctypes-top.cma"
@@ -19,7 +19,7 @@ package "top" (
)
package "stubs" (
- version = "0.4"
+ version = "0.4.1"
description = "Stub generation from C types"
requires = "ctypes"
archive(byte) = "cstubs.cma"
@@ -31,13 +31,13 @@ package "stubs" (
)
package "foreign" (
- version = "0.4"
+ version = "0.4.1"
description = "Dynamic linking of C functions"
requires(-mt) = "ctypes.foreign.unthreaded"
requires(mt) = "ctypes.foreign.threaded"
package "base" (
- version = "0.4"
+ version = "0.4.1"
description = "Dynamic linking of C functions (base package)"
requires = "ctypes"
archive(byte) = "ctypes-foreign-base.cma"
@@ -48,7 +48,7 @@ package "foreign" (
)
package "threaded" (
- version = "0.4"
+ version = "0.4.1"
description = "Dynamic linking of C functions (for use in threaded programs)"
requires = "threads ctypes ctypes.foreign.base"
archive(byte) = "ctypes-foreign-threaded.cma"
@@ -59,7 +59,7 @@ package "foreign" (
)
package "unthreaded" (
- version = "0.4"
+ version = "0.4.1"
description = "Dynamic linking of C functions (for use in unthreaded programs)"
requires = "ctypes ctypes.foreign.base"
archive(byte) = "ctypes-foreign-unthreaded.cma"
diff --git a/Makefile b/Makefile
index 2280f26..4f44d9a 100644
--- a/Makefile
+++ b/Makefile
@@ -178,7 +178,18 @@ install: META-install $(PROJECTS:%=install-%)
uninstall:
$(OCAMLFIND) remove ctypes
-.PHONY: depend clean configure all install $(PROJECTS)
+DOCFILES=$(foreach project,$(PROJECTS),\
+ $(foreach mli,$($(project).public),\
+ $($(project).dir)/$(mli).mli))
+DOCFLAGS=$(foreach project,$(PROJECTS),-I $(BUILDDIR)/$($(project).dir))
+# Avoid passing duplicate interfaces to ocamldoc.
+DOCFILES:=$(filter-out src/ctypes-foreign-threaded/foreign.mli,$(DOCFILES))
+
+doc:
+ ocamldoc -html $(DOCFLAGS) $(DOCFILES)
+
+
+.PHONY: depend clean configure all install doc $(PROJECTS)
include .depend Makefile.rules Makefile.examples Makefile.tests
-include libffi.config
diff --git a/appveyor.yml b/appveyor.yml
index 73c3552..212c189 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -15,18 +15,17 @@ environment:
init:
- 'echo System architecture: %PLATFORM%'
+ - appveyor DownloadFile "http://ml.ignorelist.com/wodi/8/wodi%WODI_ARCH%.tar.xz" -FileName "C:/wodi%WODI_ARCH%.tar.xz"
install:
- if not exist "%CYG_ROOT%" mkdir "%CYG_ROOT%"
- appveyor DownloadFile "http://cygwin.com/setup-%CYG_ARCH%.exe" -FileName "%CYG_ROOT%\setup.exe"
- '"%CYG_ROOT%\setup.exe" -qnBWNd -R "%CYG_ROOT%" -P wget -P dos2unix -P diffutils -P cpio -P make -P patch -P mingw64-%MINGW_ARCH%-gcc-core -P mingw64-%MINGW_ARCH%-gcc-g++ >NUL'
- '%CYG_ROOT%/bin/bash -lc "cygcheck -dc cygwin"'
- - '%CYG_ROOT%/bin/bash -lc "wget -q http://ml.ignorelist.com/wodi/8/wodi%WODI_ARCH%.tar.xz -O /tmp/wodi%WODI_ARCH%.tar.xz"'
- - '%CYG_ROOT%/bin/bash -lc "cd /tmp && rm -rf wodi%WODI_ARCH% && tar -xf wodi%WODI_ARCH%.tar.xz && bash wodi%WODI_ARCH%/install.sh"'
- - '%CYG_ROOT%/bin/bash -lc "godi_add godi-ounit base-libffi"'
+ - '%CYG_ROOT%/bin/bash -lc "cd \"$OLDPWD\" && ./appveyor/install.sh %WODI_ARCH% %MINGW_ARCH% wodi%WODI_ARCH%.tar.xz"'
build_script:
- - '%CYG_ROOT%/bin/bash -lc "cd \"$OLDPWD\" && ./appveyor/build.sh"'
+ - '%CYG_ROOT%/bin/bash -lc "cd \"$OLDPWD\" && ./appveyor/build.sh %WODI_ARCH%"'
artifacts:
- path: test.log
diff --git a/appveyor/build.sh b/appveyor/build.sh
index 68f0971..351dd85 100755
--- a/appveyor/build.sh
+++ b/appveyor/build.sh
@@ -1,6 +1,8 @@
#!/usr/bin/env bash
set -ex
+WODI_ARCH=$1
+
type -p ocamlc
ocamlc -version
@@ -21,7 +23,8 @@ case "$x" in
;;
esac
-godi_dir="$(dirname "$(godi_confdir)")"
+godi_dir=/opt/wodi${WODI_ARCH}
+export PATH=$godi_dir/sbin:$godi_dir/bin:$PATH
export AR=${MINGW_TOOL_PREFIX}ar.exe
export AS=${MINGW_TOOL_PREFIX}as.exe
diff --git a/appveyor/install.sh b/appveyor/install.sh
new file mode 100644
index 0000000..953db44
--- /dev/null
+++ b/appveyor/install.sh
@@ -0,0 +1,25 @@
+#!/usr/bin/env bash
+set -ex
+
+WODI_ARCH=$1
+MINGW_ARCH=$2
+WODI_FILE=$3
+
+echo "WODI_ARCH: ${WODI_ARCH}"
+echo "MINGW_ARCH: ${MINGW_ARCH}"
+echo "WODI_FILE: ${WODI_FILE}"
+
+cp C:/${WODI_FILE} /tmp
+
+pushd /tmp
+rm -rf wodi${WODI_ARCH}
+tar -xf wodi${WODI_ARCH}.tar.xz
+
+wodi${WODI_ARCH}/install.sh
+
+godi_dir=/opt/wodi${WODI_ARCH}
+export PATH=$godi_dir/sbin:$godi_dir/bin:$PATH
+godi_add godi-ounit base-libffi
+popd
+
+
diff --git a/src/cstubs/cstubs.mli b/src/cstubs/cstubs.mli
index 9510cfe..a1c5f6f 100644
--- a/src/cstubs/cstubs.mli
+++ b/src/cstubs/cstubs.mli
@@ -39,7 +39,7 @@ sig
The value [alist] is an association list of OCaml values and values
retrieved by the [constant] function. For example, to expose the enum
- enum letters { A, B, C = 10, D };
+ enum letters \{ A, B, C = 10, D \};
you might first retrieve the values of the enumeration constants:
diff --git a/src/ctypes-foreign-base/ctypes_foreign_basis.ml b/src/ctypes-foreign-base/ctypes_foreign_basis.ml
index 06b0eb0..1fe62e7 100644
--- a/src/ctypes-foreign-base/ctypes_foreign_basis.ml
+++ b/src/ctypes-foreign-base/ctypes_foreign_basis.ml
@@ -28,9 +28,10 @@ struct
and format_typ = format_function_pointer fn in
Ctypes_static.(view ~format_typ ~read ~write (ptr void))
- let funptr_opt ?abi fn =
+ let funptr_opt ?abi ?name ?check_errno ?runtime_lock fn =
let format_typ = format_function_pointer fn in
- Ctypes_std_views.nullable_view ~format_typ (funptr ?abi fn) void
+ Ctypes_std_views.nullable_view ~format_typ
+ (funptr ?abi ?name ?check_errno ?runtime_lock fn) void
let ptr_of_raw_ptr p =
Ctypes.ptr_of_raw_address (Ctypes_ptr.Raw.to_nativeint p)
diff --git a/src/ctypes-foreign-threaded/foreign.mli b/src/ctypes-foreign-threaded/foreign.mli
index e17192d..4d6b8cf 100644
--- a/src/ctypes-foreign-threaded/foreign.mli
+++ b/src/ctypes-foreign-threaded/foreign.mli
@@ -78,6 +78,9 @@ val funptr :
val funptr_opt :
?abi:Libffi_abi.abi ->
+ ?name:string ->
+ ?check_errno:bool ->
+ ?runtime_lock:bool ->
('a -> 'b) Ctypes.fn ->
('a -> 'b) option Ctypes.typ
(** Construct a function pointer type from a function type.
diff --git a/src/ctypes-foreign-unthreaded/foreign.mli b/src/ctypes-foreign-unthreaded/foreign.mli
index 6bbcb83..4d6b8cf 100644
--- a/src/ctypes-foreign-unthreaded/foreign.mli
+++ b/src/ctypes-foreign-unthreaded/foreign.mli
@@ -71,10 +71,16 @@ val funptr :
passed using {!Ctypes.ocaml_string} and {!Ctypes.ocaml_bytes}, and must
not call back into OCaml. If the function pointer is used to call into
OCaml from C then the [?runtime_lock] argument indicates whether the lock
- should be acquired and held during the call. *)
+ should be acquired and held during the call.
+
+ @raise Dl.DL_error if [name] is not found in [?from] and [?stub] is
+ [false]. *)
val funptr_opt :
?abi:Libffi_abi.abi ->
+ ?name:string ->
+ ?check_errno:bool ->
+ ?runtime_lock:bool ->
('a -> 'b) Ctypes.fn ->
('a -> 'b) option Ctypes.typ
(** Construct a function pointer type from a function type.
diff --git a/src/ctypes/ctypes_types.mli b/src/ctypes/ctypes_types.mli
index 264caef..a800356 100644
--- a/src/ctypes/ctypes_types.mli
+++ b/src/ctypes/ctypes_types.mli
@@ -151,7 +151,8 @@ sig
(** {4:pointer_types Pointer types} *)
- (** {4 C-compatible pointers} *)
+ (** {5 C-compatible pointers} *)
+
val ptr : 'a typ -> 'a Ctypes_static.ptr typ
(** Construct a pointer type from an existing type (called the {i reference
type}). *)
@@ -177,7 +178,8 @@ sig
except that null pointers appear in OCaml as [None].
*)
- (** {4 OCaml pointers} *)
+ (** {5 OCaml pointers} *)
+
val ocaml_string : string Ctypes_static.ocaml typ
(** Value representing the directly mapped storage of an OCaml string. *)
@@ -185,6 +187,7 @@ sig
(** Value representing the directly mapped storage of an OCaml byte array. *)
(** {3 Array types} *)
+
(** {4 C array types} *)
val array : int -> 'a typ -> 'a Ctypes_static.carray typ
@@ -208,6 +211,7 @@ sig
[k]. *)
(** {3 Struct and union types} *)
+
type ('a, 't) field
val structure : string -> 's Ctypes_static.structure typ
@@ -284,11 +288,13 @@ sig
*)
(** {3 Abstract types} *)
+
val abstract : name:string -> size:int -> alignment:int -> 'a Ctypes_static.abstract typ
(** Create an abstract type specification from the size and alignment
requirements for the type. *)
(** {3 Injection of concrete types} *)
+
val lift_typ : 'a Ctypes_static.typ -> 'a typ
(** [lift_typ t] turns a concrete type representation into an abstract type
representation.
diff --git a/src/discover/discover.ml b/src/discover/discover.ml
index f936173..9db78ff 100644
--- a/src/discover/discover.ml
+++ b/src/discover/discover.ml
@@ -194,7 +194,7 @@ let search_libffi_header () =
let test_libffi setup_data have_pkg_config =
let get var = try Some (split (Sys.getenv var)) with Not_found -> None in
let opt, lib =
- match get "LIBFFI_CFLAGS", get "LBIFFI_LIBS" with
+ match get "LIBFFI_CFLAGS", get "LIBFFI_LIBS" with
| Some opt, Some lib -> (opt, lib)
| envopt, envlib ->
let opt, lib =
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-ocaml-maint/packages/ocaml-ctypes.git
More information about the Pkg-ocaml-maint-commits
mailing list