This is an automated email from the git hooks/post-receive script.

glondu pushed a commit to branch master
in repository ocaml-config-file.

commit a2c27b49c7d8621320d1569832da73766f14dfce
Author: Stephane Glondu <st...@glondu.net>
Date:   Thu Aug 14 15:47:15 2014 +0200

    Imported Upstream version 1.2
---
 ChangeLog       |  12 ++++
 META            |   4 +-
 Makefile        |   8 ++-
 config_file.ml  |  49 ++++++++++------
 config_file.mli |  10 ++++
 configure       | 176 +++++++++++++++++++++++++++++---------------------------
 configure.in    |   4 +-
 7 files changed, 157 insertions(+), 106 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 564f191..2859ad4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2014-02-11  Maxence Guesdon  <maxence.gues...@inria.fr>
+
+       * add: compile and install .cmxs files
+
+2013-02-25  Maxence Guesdon  <maxence.gues...@inria.fr>
+
+       * add: new read_string method, thanks to Armaël Guéneau
+
+2012-04-11  Maxence Guesdon  <maxence.gues...@inria.fr>
+
+       * release 1.1: use findlib to install
+
 2004-11-19  Maxence Guesdon  <maxence.gues...@inria.fr>
 
        * add: .headache_config
diff --git a/META b/META
index b774097..0e8048d 100644
--- a/META
+++ b/META
@@ -1,5 +1,7 @@
-version="1.1"
+version="1.2"
 description="a library to manage the configuration file(s) of an application"
 archive(byte)="config_file.cmo"
 archive(native)="config_file.cmx"
+archive(plugin,byte)="config_file.cmo"
+archive(plugin,native)="config_file.cmxs"
 
diff --git a/Makefile b/Makefile
index 3d52175..c7c3ecc 100644
--- a/Makefile
+++ b/Makefile
@@ -35,10 +35,13 @@ all: byte opt
 byte: lib
 opt: libopt
 lib: config_file.cmi config_file.cmo
-libopt: config_file.cmi config_file.cmx
+libopt: config_file.cmi config_file.cmx config_file.cmxs
 
 re : depend clean all
 
+config_file.cmxs: config_file.cmx
+       $(OCAMLFIND) ocamlopt -o $@ -shared $<
+
 parser: config_file_parser.ml4
        $(CAMLP4) pa_o.cmo pa_op.cmo pr_o.cmo -- -o config_file_parser.ml -impl 
config_file_parser.ml4
 
@@ -100,7 +103,8 @@ noheaders: dummy
 install: dummy
        @$(OCAMLFIND) install config-file META \
          config_file.mli config_file.cmi config_file.cmo \
-         `if test -f config_file.cmx; then echo config_file.cmx config_file.o; 
fi `
+         `if test -f config_file.cmx; then echo config_file.cmx config_file.o; 
fi ` \
+         `if test -f config_file.cmxs; then echo config_file.cmxs; fi `
 
 uninstall: dummy
        $(OCAMLFIND) remove config-file
diff --git a/config_file.ml b/config_file.ml
index d9e86ab..c0b9986 100644
--- a/config_file.ml
+++ b/config_file.ml
@@ -131,8 +131,8 @@ Could be one day rewritten with ocamllex/yacc to be more 
robust, efficient, allo
   open Format
   (* formating convention: the caller has to open the box, close it and flush 
the output *)
   (* remarks on Format:
-     set_margin impose un appel � set_max_indent
-     sprintf et bprintf sont flush�es � chaque appel*)
+     set_margin impose un appel à set_max_indent
+     sprintf et bprintf sont flushées à chaque appel*)
 
   (* pretty print a Raw.cp *)
   let rec save formatter = function
@@ -296,18 +296,7 @@ class group = object (self)
     save_queue formatter cps;
     print "@]@."; close_out out_channel
 
-  method read ?obsoletes ?(no_default=false)
-      ?(on_type_error = fun groupable_cp raw_cp output filename in_channel ->
-          close_in in_channel;
-          Printf.eprintf
-            "Type error while loading configuration parameter %s from file 
%s.\n%!"
-            (String.concat "." groupable_cp#get_name) filename;
-          output stderr;
-          exit 1)
-      filename =
-    (* [filename] is created if it doesn't exist. In this case there is no 
need to read it. *)
-    match Sys.file_exists filename with false -> self#write filename | true ->
-    let in_channel = open_in filename in
+  method private read_from ?obsoletes no_default on_type_error raw_of_input =
     (* what to do when a cp is missing: *)
     let missing cp default = if no_default then raise (Missing_cp cp) else 
default in
     (* returns a cp contained in the nametree queue, which must be nonempty *)
@@ -320,7 +309,7 @@ class group = object (self)
        defined in [raw_cps] and returns the remaining raw_cps. *)
     let set_cp cp value =
       try cp#set_raw value
-      with Wrong_type output -> on_type_error cp value output filename 
in_channel in
+      with Wrong_type output -> on_type_error cp value output in
     let rec set_and_remove raw_cps = function
       | name, Immediate cp ->
           (try list_assoc_remove name (fun value -> set_cp cp value; None) 
raw_cps
@@ -336,7 +325,7 @@ class group = object (self)
              raw_cps
            with Not_found -> missing (choose queue) raw_cps)
     and remainings raw_cps queue = Queue.fold set_and_remove raw_cps queue in
-    let remainings = remainings (Raw.of_channel in_channel) cps in
+    let remainings = remainings raw_of_input cps in
     (* Handling of cps defined in filename but not belonging to self. *)
     if remainings <> [] then match obsoletes with
       | Some filename ->
@@ -350,6 +339,34 @@ class group = object (self)
           close_out out_channel
       | None -> ()
 
+  method read ?obsoletes ?(no_default=false)
+    ?(on_type_error = fun groupable_cp raw_cp output filename in_channel ->
+      close_in in_channel;
+      Printf.eprintf
+        "Type error while loading configuration parameter %s from file %s.\n%!"
+        (String.concat "." groupable_cp#get_name) filename;
+      output stderr;
+      exit 1)
+    filename =
+    (* [filename] is created if it doesn't exist. In this case there is no 
need to read it. *)
+    match Sys.file_exists filename with false -> self#write filename | true ->
+    let in_channel = open_in filename in
+    let on_type_error cp value output = on_type_error cp value output filename 
in_channel in
+    self#read_from ?obsoletes no_default on_type_error (Raw.of_channel 
in_channel);
+    close_in in_channel
+
+  method read_string ?obsoletes ?(no_default=false)
+    ?(on_type_error = fun groupable_cp raw_cp output string ->
+      Printf.eprintf
+        "Type error while loading configuration parameter %s.\n%!"
+        (String.concat "." groupable_cp#get_name);
+      output stderr;
+      exit 1)
+    input_string =
+    let on_type_error cp value output = on_type_error cp value output 
input_string in
+    let raw_of_string s = s |> Stream.of_string |> Raw.Parse.lexer |> 
Raw.Parse.file [] in
+    self#read_from ?obsoletes no_default on_type_error (raw_of_string 
input_string)
+
   method command_line_args ~section_separator =
     let print = Format.fprintf Format.str_formatter in (* shortcut *)
     let result = ref [] in let push x = result := x :: !result in
diff --git a/config_file.mli b/config_file.mli
index 0f439d9..b242c5d 100644
--- a/config_file.mli
+++ b/config_file.mli
@@ -186,6 +186,16 @@ class group : object
                           string -> in_channel -> unit) ->
       string -> unit
 
+    (** [read_string string] reads the content of [string]
+        and stores the values it specifies into the cps belonging to this 
group.
+
+        This method behaves just like read for the others aspects.
+    *)
+    method read_string : ?obsoletes:string -> ?no_default:bool ->
+      ?on_type_error : (groupable_cp -> Raw.cp -> (out_channel -> unit) ->
+                          string -> unit) ->
+      string -> unit
+
     (** Interface with module Arg.
       @param section_separator the string used to concatenate the name of a cp,
       to get the command line option name.
diff --git a/configure b/configure
index 4d41baf..3db78fa 100755
--- a/configure
+++ b/configure
@@ -1,11 +1,9 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.68.
+# Generated by GNU Autoconf 2.69.
 #
 #
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
-# Foundation, Inc.
+# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
 #
 #
 # This configure script is free software; the Free Software Foundation
@@ -134,6 +132,31 @@ export LANGUAGE
 # CDPATH.
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
+# Use a proper internal environment variable to ensure we don't fall
+  # into an infinite loop, continuously re-executing ourselves.
+  if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
+    _as_can_reexec=no; export _as_can_reexec;
+    # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+as_fn_exit 255
+  fi
+  # We don't want this to propagate to other subprocesses.
+          { _as_can_reexec=; unset _as_can_reexec;}
 if test "x$CONFIG_SHELL" = x; then
   as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) 
>/dev/null 2>&1; then :
   emulate sh
@@ -167,7 +190,8 @@ if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then 
:
 else
   exitcode=1; echo positional parameters were not saved.
 fi
-test x\$exitcode = x0 || exit 1"
+test x\$exitcode = x0 || exit 1
+test -x / || exit 1"
   as_suggested="  
as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" 
as_lineno_1a=\$LINENO
   as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" 
as_lineno_2a=\$LINENO
   eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
@@ -211,21 +235,25 @@ IFS=$as_save_IFS
 
 
       if test "x$CONFIG_SHELL" != x; then :
-  # We cannot yet assume a decent shell, so we have to provide a
-       # neutralization value for shells without unset; and this also
-       # works around shells that cannot unset nonexistent variables.
-       # Preserve -v and -x to the replacement shell.
-       BASH_ENV=/dev/null
-       ENV=/dev/null
-       (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-       export CONFIG_SHELL
-       case $- in # ((((
-         *v*x* | *x*v* ) as_opts=-vx ;;
-         *v* ) as_opts=-v ;;
-         *x* ) as_opts=-x ;;
-         * ) as_opts= ;;
-       esac
-       exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"}
+  export CONFIG_SHELL
+             # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+exit 255
 fi
 
     if test x$as_have_required = xno; then :
@@ -327,6 +355,14 @@ $as_echo X"$as_dir" |
 
 
 } # as_fn_mkdir_p
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
 # as_fn_append VAR VALUE
 # ----------------------
 # Append the text in VALUE to the end of the definition contained in VAR. Take
@@ -448,6 +484,10 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits
   chmod +x "$as_me.lineno" ||
     { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX 
shell" >&2; as_fn_exit 1; }
 
+  # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
+  # already done that, so ensure we don't try to do so again and fall
+  # in an infinite loop.  This has already happened in practice.
+  _as_can_reexec=no; export _as_can_reexec
   # Don't try to exec as it changes $[0], causing all sort of problems
   # (the dirname of $[0] is not the place where we might find the
   # original and so on.  Autoconf is especially sensitive to this).
@@ -482,16 +522,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -503,28 +543,8 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-       test -d "$1/.";
-      else
-       case $1 in #(
-       -*)set "./$1";;
-       esac;
-       case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-       ???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 
'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -1069,8 +1089,6 @@ target=$target_alias
 if test "x$host_alias" != x; then
   if test "x$build_alias" = x; then
     cross_compiling=maybe
-    $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't 
use --host.
-    If a cross compiler is detected then cross compile mode will be used" >&2
   elif test "x$build_alias" != "x$host_alias"; then
     cross_compiling=yes
   fi
@@ -1283,9 +1301,9 @@ test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
 configure
-generated by GNU Autoconf 2.68
+generated by GNU Autoconf 2.69
 
-Copyright (C) 2010 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This configure script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it.
 _ACEOF
@@ -1300,7 +1318,7 @@ This file contains any messages produced by compilers 
while
 running configure, to aid debugging if configure makes a mistake.
 
 It was created by $as_me, which was
-generated by GNU Autoconf 2.68.  Invocation command line was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
 
@@ -1648,7 +1666,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
-VERSION=1.1
+VERSION=1.2
 
 # The root directory where we will compile
 ROOT=`pwd`
@@ -1676,7 +1694,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x 
"$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_path_OCAMLFIND="$as_dir/$ac_word$ac_exec_ext"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" 
>&5
     break 2
@@ -1721,7 +1739,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x 
"$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_path_CAMLP4="$as_dir/$ac_word$ac_exec_ext"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" 
>&5
     break 2
@@ -1769,7 +1787,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x 
"$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_path_ac_prefix_program="$as_dir/$ac_word$ac_exec_ext"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" 
>&5
     break 2
@@ -2297,16 +2315,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -2366,28 +2384,16 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-       test -d "$1/.";
-      else
-       case $1 in #(
-       -*)set "./$1";;
-       esac;
-       case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-       ???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 
'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -2409,7 +2415,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # values after options handling.
 ac_log="
 This file was extended by $as_me, which was
-generated by GNU Autoconf 2.68.  Invocation command line was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
   CONFIG_HEADERS  = $CONFIG_HEADERS
@@ -2462,10 +2468,10 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; 
s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
 config.status
-configured by $0, generated by GNU Autoconf 2.68,
+configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
-Copyright (C) 2010 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This config.status script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it."
 
@@ -2542,7 +2548,7 @@ fi
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 if \$ac_cs_recheck; then
-  set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create 
--no-recursion
+  set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create 
--no-recursion
   shift
   \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
   CONFIG_SHELL='$SHELL'
diff --git a/configure.in b/configure.in
index c6a740f..557b335 100644
--- a/configure.in
+++ b/configure.in
@@ -27,14 +27,14 @@
 # check for one particular file of the sources
 AC_INIT(master.Makefile.in)
 
-VERSION=1.1
+VERSION=1.2
 
 # The root directory where we will compile
 ROOT=`pwd`
 
 # Check for Ocaml compilers
 
-OCAML_NEEDED=3.08.0
+OCAML_NEEDED=4.00
 
 # we first look for ocamlfind in the path; if not present, we fail
 AC_PATH_PROG(OCAMLFIND,ocamlfind,no)

-- 
Alioth's /usr/local/bin/git-commit-notice on 
/srv/git.debian.org/git/pkg-ocaml-maint/packages/ocaml-config-file.git

_______________________________________________
Pkg-ocaml-maint-commits mailing list
Pkg-ocaml-maint-commits@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-ocaml-maint-commits

Reply via email to