From: Jerry James <loganjerry@gmail.com>
Date: Wed, 11 Dec 2024 11:06:24 -0700
Subject: Compatibility with OCaml 5.3

Origin: https://github.com/thierry-martinez/stdcompat/pull/35
---
 Makefile.in                     |  8 ++++++++
 configure.ac                    |  1 +
 stdcompat__arrayLabels_s.mli.in | 10 ++++++++++
 stdcompat__array_s.mli.in       | 10 ++++++++++
 4 files changed, 29 insertions(+)

diff --git a/Makefile.in b/Makefile.in
index 98d7da6..d3a443a 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -465,6 +465,7 @@ BEGIN_BEFORE_4_14_0 = @BEGIN_BEFORE_4_14_0@
 BEGIN_BEFORE_5_0_0 = @BEGIN_BEFORE_5_0_0@
 BEGIN_BEFORE_5_1_0 = @BEGIN_BEFORE_5_1_0@
 BEGIN_BEFORE_5_2_0 = @BEGIN_BEFORE_5_2_0@
+BEGIN_BEFORE_5_3_0 = @BEGIN_BEFORE_5_3_0@
 BEGIN_FROM_3_07_0 = @BEGIN_FROM_3_07_0@
 BEGIN_FROM_3_08_0 = @BEGIN_FROM_3_08_0@
 BEGIN_FROM_3_09_0 = @BEGIN_FROM_3_09_0@
@@ -490,6 +491,7 @@ BEGIN_FROM_4_14_0 = @BEGIN_FROM_4_14_0@
 BEGIN_FROM_5_0_0 = @BEGIN_FROM_5_0_0@
 BEGIN_FROM_5_1_0 = @BEGIN_FROM_5_1_0@
 BEGIN_FROM_5_2_0 = @BEGIN_FROM_5_2_0@
+BEGIN_FROM_5_3_0 = @BEGIN_FROM_5_3_0@
 BEGIN_WITHOUT_CYGWIN = @BEGIN_WITHOUT_CYGWIN@
 BEGIN_WITHOUT_FLAMBDA2 = @BEGIN_WITHOUT_FLAMBDA2@
 BEGIN_WITHOUT_MAGIC = @BEGIN_WITHOUT_MAGIC@
@@ -540,6 +542,7 @@ C_BEGIN_BEFORE_4_14_0 = @C_BEGIN_BEFORE_4_14_0@
 C_BEGIN_BEFORE_5_0_0 = @C_BEGIN_BEFORE_5_0_0@
 C_BEGIN_BEFORE_5_1_0 = @C_BEGIN_BEFORE_5_1_0@
 C_BEGIN_BEFORE_5_2_0 = @C_BEGIN_BEFORE_5_2_0@
+C_BEGIN_BEFORE_5_3_0 = @C_BEGIN_BEFORE_5_3_0@
 C_BEGIN_FROM_3_07_0 = @C_BEGIN_FROM_3_07_0@
 C_BEGIN_FROM_3_08_0 = @C_BEGIN_FROM_3_08_0@
 C_BEGIN_FROM_3_09_0 = @C_BEGIN_FROM_3_09_0@
@@ -565,6 +568,7 @@ C_BEGIN_FROM_4_14_0 = @C_BEGIN_FROM_4_14_0@
 C_BEGIN_FROM_5_0_0 = @C_BEGIN_FROM_5_0_0@
 C_BEGIN_FROM_5_1_0 = @C_BEGIN_FROM_5_1_0@
 C_BEGIN_FROM_5_2_0 = @C_BEGIN_FROM_5_2_0@
+C_BEGIN_FROM_5_3_0 = @C_BEGIN_FROM_5_3_0@
 C_BEGIN_WITHOUT_CYGWIN = @C_BEGIN_WITHOUT_CYGWIN@
 C_BEGIN_WITHOUT_FLAMBDA2 = @C_BEGIN_WITHOUT_FLAMBDA2@
 C_BEGIN_WITHOUT_MAGIC = @C_BEGIN_WITHOUT_MAGIC@
@@ -606,6 +610,7 @@ C_END_BEFORE_4_14_0 = @C_END_BEFORE_4_14_0@
 C_END_BEFORE_5_0_0 = @C_END_BEFORE_5_0_0@
 C_END_BEFORE_5_1_0 = @C_END_BEFORE_5_1_0@
 C_END_BEFORE_5_2_0 = @C_END_BEFORE_5_2_0@
+C_END_BEFORE_5_3_0 = @C_END_BEFORE_5_3_0@
 C_END_FROM_3_07_0 = @C_END_FROM_3_07_0@
 C_END_FROM_3_08_0 = @C_END_FROM_3_08_0@
 C_END_FROM_3_09_0 = @C_END_FROM_3_09_0@
@@ -631,6 +636,7 @@ C_END_FROM_4_14_0 = @C_END_FROM_4_14_0@
 C_END_FROM_5_0_0 = @C_END_FROM_5_0_0@
 C_END_FROM_5_1_0 = @C_END_FROM_5_1_0@
 C_END_FROM_5_2_0 = @C_END_FROM_5_2_0@
+C_END_FROM_5_3_0 = @C_END_FROM_5_3_0@
 C_END_WITHOUT_CYGWIN = @C_END_WITHOUT_CYGWIN@
 C_END_WITHOUT_FLAMBDA2 = @C_END_WITHOUT_FLAMBDA2@
 C_END_WITHOUT_MAGIC = @C_END_WITHOUT_MAGIC@
@@ -677,6 +683,7 @@ END_BEFORE_4_14_0 = @END_BEFORE_4_14_0@
 END_BEFORE_5_0_0 = @END_BEFORE_5_0_0@
 END_BEFORE_5_1_0 = @END_BEFORE_5_1_0@
 END_BEFORE_5_2_0 = @END_BEFORE_5_2_0@
+END_BEFORE_5_3_0 = @END_BEFORE_5_3_0@
 END_FROM_3_07_0 = @END_FROM_3_07_0@
 END_FROM_3_08_0 = @END_FROM_3_08_0@
 END_FROM_3_09_0 = @END_FROM_3_09_0@
@@ -702,6 +709,7 @@ END_FROM_4_14_0 = @END_FROM_4_14_0@
 END_FROM_5_0_0 = @END_FROM_5_0_0@
 END_FROM_5_1_0 = @END_FROM_5_1_0@
 END_FROM_5_2_0 = @END_FROM_5_2_0@
+END_FROM_5_3_0 = @END_FROM_5_3_0@
 END_WITHOUT_CYGWIN = @END_WITHOUT_CYGWIN@
 END_WITHOUT_FLAMBDA2 = @END_WITHOUT_FLAMBDA2@
 END_WITHOUT_MAGIC = @END_WITHOUT_MAGIC@
diff --git a/configure.ac b/configure.ac
index b313ebe..a078f19 100644
--- a/configure.ac
+++ b/configure.ac
@@ -196,6 +196,7 @@ AC_WITH_OCAML_VERSION([4_14_0], [4.14.0])
 AC_WITH_OCAML_VERSION([5_0_0], [5.0.0])
 AC_WITH_OCAML_VERSION([5_1_0], [5.1.0])
 AC_WITH_OCAML_VERSION([5_2_0], [5.2.0])
+AC_WITH_OCAML_VERSION([5_3_0], [5.3.0])
 
 AS_IF([test "x$target_os_type" = "xWin32"],
   [AC_WITH_BLOCK([WIN32])],
diff --git a/stdcompat__arrayLabels_s.mli.in b/stdcompat__arrayLabels_s.mli.in
index dc50d05..2f79086 100644
--- a/stdcompat__arrayLabels_s.mli.in
+++ b/stdcompat__arrayLabels_s.mli.in
@@ -125,12 +125,17 @@ val map2 : f:('a -> 'b -> 'c) -> 'a array -> 'b array -> 'c array
 (** @since 4.05.0:
     val map2 : f:('a -> 'b -> 'c) -> 'a array -> 'b array -> 'c array *)
 
+@BEGIN_FROM_5_3_0@
+external create_float : int -> float array = "caml_array_create_float"
+@END_FROM_5_3_0@
+@BEGIN_BEFORE_5_3_0@
 @BEGIN_FROM_4_03_0@
 external create_float : int -> float array = "caml_make_float_vect"
 @END_FROM_4_03_0@
 @BEGIN_BEFORE_4_03_0@
 val create_float : int -> float array
 @END_BEFORE_4_03_0@
+@END_BEFORE_5_3_0@
 (** @since 4.03.0:
     external create_float : int -> float array = "caml_make_float_vect"
  *)
@@ -156,12 +161,17 @@ external get : 'a array -> int -> 'a = "%array_safe_get"
 external set : 'a array -> int -> 'a -> unit = "%array_safe_set"
 (** Alias for {!ArrayLabels.set} *)
 
+@BEGIN_FROM_5_3_0@
+external make : int -> 'a -> 'a array = "caml_array_make"
+@END_FROM_5_3_0@
+@BEGIN_BEFORE_5_3_0@
 @BEGIN_FROM_3_08_0@
 external make : int -> 'a -> 'a array = "caml_make_vect"
 @END_FROM_3_08_0@
 @BEGIN_BEFORE_3_08_0@
 external make : int -> 'a -> 'a array = "make_vect"
 @END_BEFORE_3_08_0@
+@END_BEFORE_5_3_0@
 (** @since 3.08.0: external make : int -> 'a -> 'a array = "caml_make_vect"
 @since 3.07.0: external make : int -> 'a -> 'a array = "make_vect"
  *)
diff --git a/stdcompat__array_s.mli.in b/stdcompat__array_s.mli.in
index ffdf739..3b4f185 100644
--- a/stdcompat__array_s.mli.in
+++ b/stdcompat__array_s.mli.in
@@ -113,12 +113,17 @@ val of_seq : 'a Stdcompat__seq.t -> 'a array
 (** @since 4.07.0: val of_seq : 'a Seq.t -> 'a array
  *)
 
+@BEGIN_FROM_5_3_0@
+external create_float : int -> float array = "caml_array_create_float"
+@END_FROM_5_3_0@
+@BEGIN_BEFORE_5_3_0@
 @BEGIN_FROM_4_03_0@
 external create_float : int -> float array = "caml_make_float_vect"
 @END_FROM_4_03_0@
 @BEGIN_BEFORE_4_03_0@
 val create_float : int -> float array
 @END_BEFORE_4_03_0@
+@END_BEFORE_5_3_0@
 (** @since 4.03.0:
     external create_float : int -> float array = "caml_make_float_vect"
  *)
@@ -152,12 +157,17 @@ external get : 'a array -> int -> 'a = "%array_safe_get"
 external set : 'a array -> int -> 'a -> unit = "%array_safe_set"
 (** Alias for {!Array.set} *)
 
+@BEGIN_FROM_5_3_0@
+external make : int -> 'a -> 'a array = "caml_array_make"
+@END_FROM_5_3_0@
+@BEGIN_BEFORE_5_3_0@
 @BEGIN_FROM_3_08_0@
 external make : int -> 'a -> 'a array = "caml_make_vect"
 @END_FROM_3_08_0@
 @BEGIN_BEFORE_3_08_0@
 external make : int -> 'a -> 'a array = "make_vect"
 @END_BEFORE_3_08_0@
+@END_BEFORE_5_3_0@
 (** @since 3.08.0: external make : int -> 'a -> 'a array = "caml_make_vect"
 @since 3.07.0: external make : int -> 'a -> 'a array = "make_vect"
  *)
