[Pkg-ocaml-maint-commits] [SCM] jocaml packaging branch, master, updated. upstream/3.11.0-12-g05161f1

Samuel Mimram smimram at debian.org
Wed Feb 11 21:36:32 UTC 2009


The following commit has been merged in the master branch:
commit be854c2ea0b07ab427d34f0025454fc4552248be
Author: Samuel Mimram <smimram at debian.org>
Date:   Wed Feb 11 17:03:43 2009 +0100

    Import Mehdi's packaging.

diff --git a/debian/changelog b/debian/changelog
new file mode 100644
index 0000000..e881eb0
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,6 @@
+jocaml (3.10.0-1) UNRELEASED; urgency=low
+
+  * Initial release (Closes: #451797)
+
+ -- Mehdi Dogguy <dogguy at pps.jussieu.fr>  Sun, 17 Feb 2008 17:33:06 +0100
+
diff --git a/debian/compat b/debian/compat
new file mode 100644
index 0000000..7ed6ff8
--- /dev/null
+++ b/debian/compat
@@ -0,0 +1 @@
+5
diff --git a/debian/control b/debian/control
new file mode 100644
index 0000000..771521e
--- /dev/null
+++ b/debian/control
@@ -0,0 +1,23 @@
+Source: jocaml
+Section: devel
+Priority: optional
+Maintainer: Debian OCaml Maintainers <debian-ocaml-maint at lists.debian.org>
+Uploaders: Mehdi Dogguy <dogguy at pps.jussieu.fr>
+Build-Depends: debhelper (>= 5), autotools-dev, libx11-dev 
+Homepage: http://jocaml.inria.fr/
+Standards-Version: 3.7.3
+XS-Vcs-Svn: svn://svn.debian.org/svn/pkg-ocaml-maint/trunk/packages/jocaml
+XS-Vcs-Browser: http://svn.debian.org/wsvn/pkg-ocaml-maint/trunk/packages/jocaml/trunk/
+
+Package: jocaml
+Architecture: any
+Depends: ${shlibs:Depends}, libx11-6
+Provides: jocaml-${F:JOCamlABI}
+Description: OCaml extended for concurrent and distributed programming
+ The JoCaml system is an experimental extension of the Objective-Caml language 
+ with the distributed join-calculus programming model. This model includes 
+ high-level communication and synchronising channels,mobile agents, failure 
+ detection and automatic memory management. JoCaml enables programmers to 
+ rapidly develop distributed large-scale applications, using both Objective-Caml
+ ease of programmation and extended libraries, and the join-calculus distributed 
+ and concurrent features. 
diff --git a/LICENSE b/debian/copyright
similarity index 97%
copy from LICENSE
copy to debian/copyright
index cecc326..4927956 100644
--- a/LICENSE
+++ b/debian/copyright
@@ -1,3 +1,27 @@
+This package was debianized by Mehdi Dogguy <dogguy at pps.jussieu.fr> on
+Sat, 16 Feb 2008 18:21:23 +0000.
+
+It was downloaded from <http://jocaml.inria.fr/pub/distri/jocaml-3.10/>
+
+Upstream authors :
+
+    Luc Maranget <Luc.Maranget at inria.fr>
+    Ma Qin <Qin.Ma at inria.fr>
+    Louis Mandel <Louis.Mandel at inria.fr>
+    Xavier Leroy <xavier.leroy at inria.fr>
+    Jerome Vouillon <vouillon at pps.jussieu.fr>
+    Damien Doligez <damien.doligez at inria.fr>
+
+Copyright: 
+
+    Copyright 2000-2008 Institut National de Recherche en Informatique et en
+    Automatique (INRIA).
+
+License:
+
+
+    JoCaml licence is exactly Objective Caml licence : 
+
 In the following, "the Library" refers to all files marked "Copyright
 INRIA" in the following directories and their sub-directories:
 
@@ -146,7 +170,7 @@ This license is governed by the Laws of France.
                        Version 2, June 1991
 
  Copyright (C) 1991 Free Software Foundation, Inc.
- 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
  Everyone is permitted to copy and distribute verbatim copies
  of this license document, but changing it is not allowed.
 
@@ -607,9 +631,9 @@ convey the exclusion of warranty; and each file should have at least the
     Library General Public License for more details.
 
     You should have received a copy of the GNU Library General Public
-    License along with this library; if not, write to the Free
-    Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-    MA 02111-1307, USA
+    License along with this library; if not, write to the Free Software 
+    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, 
+    USA.
 
 Also add information on how to contact you by electronic and paper mail.
 
@@ -624,3 +648,7 @@ necessary.  Here is a sample; alter the names:
   Ty Coon, President of Vice
 
 That's all there is to it!
+
+The Debian packaging is (C) 2008, Mehdi Dogguy <dogguy at pps.jussieu.fr> and
+is licensed under the GPL, see `/usr/share/common-licenses/GPL'.
+
diff --git a/debian/jocaml.dirs.in b/debian/jocaml.dirs.in
new file mode 100644
index 0000000..7f7937b
--- /dev/null
+++ b/debian/jocaml.dirs.in
@@ -0,0 +1,6 @@
+usr/bin
+usr/lib/jocaml/@JOCamlABI@/
+usr/lib/jocaml/@JOCamlABI@/stublibs
+usr/lib/jocaml/@JOCamlABI@/threads
+usr/lib/jocaml/@JOCamlABI@/vmthreads
+usr/lib/jocaml/@JOCamlABI@/caml
diff --git a/debian/jocaml.links.opt b/debian/jocaml.links.opt
new file mode 100644
index 0000000..5eb4cdf
--- /dev/null
+++ b/debian/jocaml.links.opt
@@ -0,0 +1,5 @@
+usr/share/man/man1/jocamlc.1.gz     usr/share/man/man1/jocamlc.opt.1.gz
+usr/share/man/man1/jocamlopt.1.gz   usr/share/man/man1/jocamlopt.opt.1.gz
+usr/share/man/man1/jocamllex.1.gz   usr/share/man/man1/jocamllex.opt.1.gz
+usr/share/man/man1/jocamldep.1.gz   usr/share/man/man1/jocamldep.opt.1.gz
+
diff --git a/debian/jocaml.manpages b/debian/jocaml.manpages
new file mode 100644
index 0000000..73b2ab5
--- /dev/null
+++ b/debian/jocaml.manpages
@@ -0,0 +1,9 @@
+debian/man/jocaml.1
+debian/man/jocamlc.1
+debian/man/jocamldep.1
+debian/man/jocamllex.1
+debian/man/jocamlmktop.1
+debian/man/jocamlopt.1
+debian/man/jocamlrun.1
+debian/man/jocamlyacc.1
+debian/man/jocamlmklib.1
diff --git a/debian/man/jocaml.1 b/debian/man/jocaml.1
new file mode 100644
index 0000000..d6d526f
--- /dev/null
+++ b/debian/man/jocaml.1
@@ -0,0 +1,101 @@
+.TH JOCAML 1
+
+.SH NAME
+jocaml \- The JoCaml interactive toplevel
+
+
+.SH SYNOPSIS
+.B jocaml
+[
+.B \-unsafe
+]
+[
+.BI \-I \ lib-dir
+]
+[
+.I object-files
+]
+[
+.I script-file
+]
+.SH DESCRIPTION
+
+The
+.BR jocaml (1)
+command is the toplevel system for JoCaml,
+that permits interactive use of the JoCaml system through a
+read-eval-print loop. In this mode, the system repeatedly reads Caml
+phrases from the input, then typechecks, compiles and evaluates
+them, then prints the inferred type and result value, if any. The
+system prints a # (sharp) prompt before reading each phrase.
+
+A toplevel phrase can span several lines. It is terminated by ;; (a
+double-semicolon). The syntax of toplevel phrases is as follows.
+
+The toplevel system is started by the command 
+.BR jocaml (1).
+Phrases are read on standard input, results are printed on standard
+output, errors on standard error. End-of-file on standard input
+terminates
+.BR jocaml (1).
+
+If one or more
+.I object-files
+(ending in
+.B .cmo
+or
+.B .cma
+ ) are given, they are loaded silently before starting the toplevel.
+
+If a
+.I script-file
+is given, phrases are read silently from the file, errors printed on
+standard error.
+.BR jocaml (1)
+exits after the execution of the last phrase.
+
+.SH OPTIONS
+
+The following command-line options are recognized by
+.BR jocaml (1).
+
+.TP
+.BI \-I \ directory
+Add the given directory to the list of directories searched for
+source and compiled files. By default, the current directory is
+searched first, then the standard library directory. Directories added
+with 
+.B \-I
+are searched after the current directory, in the order in which they
+were given on the command line, but before the standard library
+directory.
+
+.TP
+.B \-unsafe
+Turn bound checking off on array and string accesses (the v.(i)
+and s.[i] constructs). Programs compiled with 
+.B \-unsafe
+are therefore slightly faster, but unsafe: anything can happen if the program
+accesses an array or string outside of its bounds.
+
+.SH ENVIRONMENT VARIABLES
+
+.TP
+.B LC_CTYPE
+If set to iso_8859_1, accented characters (from the
+ISO Latin-1 character set) in string and character literals are
+printed as is; otherwise, they are printed as decimal escape sequences.
+
+.TP
+.B TERM
+When printing error messages, the toplevel system
+attempts to underline visually the location of the error. It
+consults the TERM variable to determines the type of output terminal
+and look up its capabilities in the terminal database.
+
+.SH SEE ALSO
+.BR jocamlc (1).
+.br
+.I The Objective Caml user's manual,
+chapter "The toplevel system".
+
diff --git a/debian/man/jocamlc.1 b/debian/man/jocamlc.1
new file mode 100644
index 0000000..ca91468
--- /dev/null
+++ b/debian/man/jocamlc.1
@@ -0,0 +1,248 @@
+.TH JOCAMLC 1
+
+.SH NAME
+jocamlc \- The JoCaml bytecode compiler
+
+
+.SH SYNOPSIS
+.B jocamlc
+[
+.B \-aciv
+]
+[
+.BI \-cclib \ libname
+]
+[
+.BI \-ccopt \ option
+]
+[
+.B \-custom
+]
+[
+.B \-unsafe
+]
+[
+.BI \-o \ exec-file
+]
+[
+.BI \-I \ lib-dir
+]
+.I filename ...
+
+.B jocamlc.opt
+.I (same options)
+
+.SH DESCRIPTION
+
+The JoCaml bytecode compiler
+.BR jocamlc (1)
+compiles Caml source files to bytecode object files and link
+these object files to produce standalone bytecode executable files.
+These executable files are then run by the bytecode interpreter
+.BR jocamlrun (1).
+
+The 
+.BR jocamlc (1)
+command has a command-line interface similar to the one of
+most C compilers. It accepts several types of arguments and processes them
+sequentially:
+
+Arguments ending in .mli are taken to be source files for
+compilation unit interfaces. Interfaces specify the names exported by
+compilation units: they declare value names with their types, define
+public data types, declare abstract data types, and so on. From the
+file 
+.IR x \&.mli,
+the 
+.BR jocamlc (1)
+compiler produces a compiled interface
+in the file 
+.IR x \&.cmi.
+
+Arguments ending in .ml are taken to be source files for compilation
+unit implementations. Implementations provide definitions for the
+names exported by the unit, and also contain expressions to be
+evaluated for their side-effects.  From the file 
+.IR x \&.ml,
+the 
+.BR jocamlc (1)
+compiler produces compiled object bytecode in the file 
+.IR x \&.cmo.
+ 
+If the interface file 
+.IR x \&.mli
+exists, the implementation
+.IR x \&.ml
+is checked against the corresponding compiled interface
+.IR x \&.cmi,
+which is assumed to exist. If no interface
+.IR x \&.mli
+is provided, the compilation of 
+.IR x \&.ml
+produces a compiled interface file 
+.IR x \&.cmi
+in addition to the compiled object code file 
+.IR x \&.cmo.
+The file 
+.IR x \&.cmi
+produced
+corresponds to an interface that exports everything that is defined in
+the implementation 
+.IR x \&.ml.
+
+Arguments ending in .cmo are taken to be compiled object bytecode.  These
+files are linked together, along with the object files obtained
+by compiling .ml arguments (if any), and the Caml Light standard
+library, to produce a standalone executable program. The order in
+which .cmo and.ml arguments are presented on the command line is
+relevant: compilation units are initialized in that order at
+run-time, and it is a link-time error to use a component of a unit
+before having initialized it. Hence, a given 
+.IR x \&.cmo
+file must come before all .cmo files that refer to the unit 
+.IR x .
+
+Arguments ending in .cma are taken to be libraries of object bytecode.
+A library of object bytecode packs in a single file a set of object
+bytecode files (.cmo files). Libraries are built with 
+.B ocamlc \-a
+(see the description of the 
+.B \-a
+option below). The object files
+contained in the library are linked as regular .cmo files (see above), in the order specified when the .cma file was built. The only difference is that if an object file
+contained in a library is not referenced anywhere in the program, then
+it is not linked in.
+
+Arguments ending in .c are passed to the C compiler, which generates a .o object file. This object file is linked with the program if the
+.B \-custom
+flag is set (see the description of 
+.B \-custom
+below).
+
+Arguments ending in .o or .a are assumed to be C object files and
+libraries. They are passed to the C linker when linking in 
+.B \-custom
+mode (see the description of 
+.B \-custom
+below).
+
+.B jocamlc.opt
+is the same compiler as
+.BR jocamlc ,
+but compiled with the native-code compiler
+.BR jocamlopt (1).
+Thus, it behaves exactly like
+.BR jocamlc ,
+but compiles faster.
+.B jocamlc.opt
+is not available in all installations of JoCaml.
+
+.SH OPTIONS
+
+The following command-line options are recognized by 
+.BR jocamlc (1).
+
+.TP
+.B \-a
+Build a library (.cma file) with the object files (.cmo files) given on the command line, instead of linking them into an executable
+file. The name of the library can be set with the 
+.B \-o
+option. The default name is 
+.BR library.cma .
+ 
+.TP
+.B \-c
+Compile only. Suppress the linking phase of the
+compilation. Source code files are turned into compiled files, but no
+executable file is produced. This option is useful to
+compile modules separately.
+
+.TP
+.BI \-cclib\ -l libname
+Pass the 
+.BI \-l libname
+option to the C linker when linking in
+``custom runtime'' mode (see the 
+.B \-custom
+option). This causes the
+given C library to be linked with the program.
+
+.TP
+.B \-ccopt
+Pass the given option to the C compiler and linker, when linking in
+``custom runtime'' mode (see the 
+.B \-custom
+option). For instance,
+.B -ccopt -L
+.I dir
+causes the C linker to search for C libraries in
+directory 
+.IR dir .
+
+.TP
+.B \-custom
+Link in ``custom runtime'' mode. In the default linking mode, the
+linker produces bytecode that is intended to be executed with the
+shared runtime system, 
+.BR jocamlrun (1).
+In the custom runtime mode, the
+linker produces an output file that contains both the runtime system
+and the bytecode for the program. The resulting file is larger, but it
+can be executed directly, even if the 
+.BR jocamlrun (1)
+command is not
+installed. Moreover, the ``custom runtime'' mode enables linking Caml
+code with user-defined C functions.
+
+.TP
+.B \-i
+Cause the compiler to print all defined names (with their inferred
+types or their definitions) when compiling an implementation (.ml
+file). This can be useful to check the types inferred by the
+compiler. Also, since the output follows the syntax of interfaces, it
+can help in writing an explicit interface (.mli file) for a file: just
+redirect the standard output of the compiler to a .mli file, and edit
+that file to remove all declarations of unexported names.
+
+.TP
+.BI \-I \ directory
+Add the given directory to the list of directories searched for
+compiled interface files (.cmi) and compiled object code files
+(.cmo). By default, the current directory is searched first, then the
+standard library directory. Directories added with
+.B -I
+are searched
+after the current directory, in the order in which they were given on
+the command line, but before the standard library directory.
+
+.TP
+.BI \-o \ exec-file
+Specify the name of the output file produced by the linker. The
+default output name is 
+.BR a.out ,
+in keeping with the Unix tradition. If the 
+.B \-a
+option is given, specify the name of the library produced.
+
+.TP
+.B \-v
+Print the version number of the compiler.
+
+.TP
+.B \-unsafe
+Turn bound checking off on array and string accesses (the 
+.B v.(i)
+and
+.B s.[i]
+constructs). Programs compiled with 
+.B \-unsafe
+are therefore
+slightly faster, but unsafe: anything can happen if the program
+accesses an array or string outside of its bounds.
+
+.SH SEE ALSO
+.BR jocaml (1),
+.BR jocamlrun (1).
+.br
+.I The Objective Caml user's manual,
+chapter "Batch compilation".
diff --git a/debian/man/jocamldep.1 b/debian/man/jocamldep.1
new file mode 100644
index 0000000..8603c02
--- /dev/null
+++ b/debian/man/jocamldep.1
@@ -0,0 +1,79 @@
+.TH JOCAMLDEP 1
+
+.SH NAME
+jocamldep \- Dependency generator for JoCaml
+
+.SH SYNOPSIS
+.B jocamldep 
+[
+.BI \-I \ lib-dir
+]
+.I filename ...
+
+.SH DESCRIPTION
+
+The 
+.BR jocamldep (1)
+command scans a set of Objective Caml source files
+(.ml and .mli files) for references to external compilation units,
+and outputs dependency lines in a format suitable for the
+.BR make (1)
+utility. This ensures that make will compile the source files in the
+correct order, and recompile those files that need to when a source
+file is modified.
+
+The typical usage is:
+.P
+jocamldep 
+.I options
+*.mli *.ml > .depend
+.P
+where .depend is the file that should contain the
+dependencies.
+
+Dependencies are generated both for compiling with the bytecode
+compiler 
+.BR jocamlc (1)
+and with the native-code compiler 
+.BR jocamlopt (1).
+
+.SH OPTIONS
+
+The following command-line option is recognized by 
+.BR jocamldep (1).
+
+.TP
+.BI \-I \ directory
+Add the given directory to the list of directories searched for
+source files. If a source file foo.ml mentions an external
+compilation unit Bar, a dependency on that unit's interface
+bar.cmi is generated only if the source for bar is found in the
+current directory or in one of the directories specified with 
+.BR -I .
+Otherwise, Bar is assumed to be a module form the standard library,
+and no dependencies are generated. For programs that span multiple
+directories, it is recommended to pass 
+.BR jocamldep (1)
+the same -I options that are passed to the compiler.
+
+.TP
+.BI \-native
+Generate dependencies for a pure native-code program (no bytecode
+version).  When an implementation file (.ml file) has no explicit
+interface file (.mli file),
+.BR jocamldep (1)
+generates dependencies on the
+bytecode compiled file (.cmo file) to reflect interface changes.
+This can cause unnecessary bytecode recompilations for programs that
+are compiled to native-code only.  The flag
+.BR -native
+causes dependencies on native compiled files (.cmx) to be generated instead
+of on .cmo files.  (This flag makes no difference if all source files
+have explicit .mli interface files.)
+
+.SH SEE ALSO
+.BR jocamlc (1),
+.BR jocamlopt (1).
+.br
+.I The Objective Caml user's manual,
+chapter "Dependency generator".
diff --git a/debian/man/jocamllex.1 b/debian/man/jocamllex.1
new file mode 100644
index 0000000..97789a3
--- /dev/null
+++ b/debian/man/jocamllex.1
@@ -0,0 +1,71 @@
+.TH JOCAMLLEX 1
+
+.SH NAME
+jocamllex \- The JoCaml lexer generator
+
+.SH SYNOPSIS
+.B jocamllex
+[
+.BI \-o \ output-file
+]
+[
+.B \-ml
+]
+.I filename.mll
+
+.SH DESCRIPTION
+
+The
+.BR jocamllex (1)
+command generates Objective Caml lexers from a set of regular
+expressions with associated semantic actions, in the style of
+.BR lex (1).
+
+Running
+.BR jocamllex (1)
+on the input file
+.IR lexer \&.mll
+produces Caml code for a lexical analyzer in file 
+.IR lexer \&.ml.
+
+This file defines one lexing function per entry point in the lexer
+definition. These functions have the same names as the entry
+points. Lexing functions take as argument a lexer buffer, and return
+the semantic attribute of the corresponding entry point.
+
+Lexer buffers are an abstract data type implemented in the standard
+library module Lexing. The functions Lexing.from_channel,
+Lexing.from_string and Lexing.from_function create
+lexer buffers that read from an input channel, a character string, or
+any reading function, respectively.
+
+When used in conjunction with a parser generated by 
+.BR jocamlyacc (1),
+the semantic actions compute a value belonging to the type token defined
+by the generated parsing module.
+
+.SH OPTIONS
+
+The 
+.BR jocamllex (1)
+command recognizes the following options:
+
+.TP
+.BI \-o \ output-file
+Specify the output file name
+.IR output-file
+instead of the default naming convention.
+
+.TP
+.B \-ml
+Output code that does not use the Caml built-in automata
+interpreter. Instead, the automaton is encoded by Caml functions.
+This option is useful for debugging
+.BR jocamllex (1),
+using it for production lexers is not recommended.
+
+.SH SEE ALSO
+.BR jocamlyacc (1).
+.br
+.I The Objective Caml user's manual,
+chapter "Lexer and parser generators".
diff --git a/debian/man/jocamlmklib.1 b/debian/man/jocamlmklib.1
new file mode 100644
index 0000000..3b2359c
--- /dev/null
+++ b/debian/man/jocamlmklib.1
@@ -0,0 +1,127 @@
+.\"                                      Hey, EMACS: -*- nroff -*-
+.TH JOCAMLMKLIB 1 "August 19, 2004"
+.SH NAME
+jocamlmklib \- generate libraries with mixed C / Caml code.
+.SH SYNOPSIS
+.B ocalmklib
+.RI [ options ] " files"
+.SH DESCRIPTION
+The
+.B jocamlmklib
+command facilitates the construction of libraries containing both Caml code and C code, and usable both in static linking and dynamic linking modes.
+.SH OPTIONS
+.TP
+.B \-h, \-\-help
+Show summary of options.
+.TP
+.BI \-cclib\  lib
+C library passed to jocamlc
+.B \-a
+or
+.BR jocamlopt (1)
+.B \-a
+only.
+.TP
+.BI \-ccopt\  opt
+C option passed to
+.BR jocamlc (1)
+.B \-a
+or
+.BR jocamlopt (1)
+.B \-a
+only.
+.TP
+.B \-custom
+Disable dynamic loading.
+.TP
+.BI \-dllpath\  dir
+Add
+.I dir
+to the run-time search path for DLLs.
+.TP
+.BI \-I\  dir
+Add
+.I dir
+to the path searched for Caml object files.
+.TP
+.B \-failsafe
+Fall back to static linking if DLL construction failed.
+.TP
+.BI \-ldopt\ opt
+C option passed to the shared linker only.
+.TP
+.B \-linkall
+Build Caml archive with link-all behavior.
+.TP
+.BI \-l lib
+Specify a dependent C library.
+.TP
+.BI \-L dir
+Add
+.I dir
+to the path searched for C libraries.
+.TP
+.BI \-jocamlc\  cmd
+Use
+.I cmd
+in place of
+.BR jocamlc (1).
+.TP
+.BI \-jocamlopt\  cmd
+Use
+.I cmd
+in place of
+.BR jocamlopt (1).
+.TP
+.BI \-o\  name
+Generated Caml library is named
+.IR name .cma
+or
+.IR name .cmxa.
+.TP
+.BI \-oc\  name
+Generated C library is named
+.RI dll name .so
+or
+.RI lib name .a.
+.TP
+.BI \-rpath\  dir
+Same as
+.B \-dllpath
+.IR dir .
+.TP
+.BI \-R dir
+Same as
+.BR \-rpath .
+.TP
+.B \-verbose
+Print commands before executing them.
+.TP
+\fB\-Wl\fR, \fB\-rpath \fIdir
+Same as
+.B \-dllpath
+.IR dir .
+.TP
+\fB\-Wl\fR, \fB\-rpath\ \-Wl \fIdir
+Same as
+.B \-dllpath
+.IR dir .
+.TP
+\fB\-Wl\fR, \fB\-R\fIdir
+Same as
+.B \-dllpath
+.IR dir .
+.TP
+.BI \-F dir
+Specify a framework directory (MacOSX).
+.TP
+.BI \-framework\  name
+Use framework
+.I name
+(MacOSX).
+.SH SEE ALSO
+.BR jocamlc (1),
+.BR jocamlopt (1).
+.SH AUTHOR
+This manual page was written by Samuel Mimram <samuel.mimram at ens-lyon.org>,
+for the Debian project (but may be used by others).
diff --git a/debian/man/jocamlmktop.1 b/debian/man/jocamlmktop.1
new file mode 100644
index 0000000..d2b3d00
--- /dev/null
+++ b/debian/man/jocamlmktop.1
@@ -0,0 +1,84 @@
+.TH JOCAMLMKTOP 1
+
+.SH NAME
+jocamlmktop \- Building custom toplevel systems
+
+.SH SYNOPSIS
+.B jocamlmktop
+[
+.B \-v
+]
+[
+.BI \-cclib \ libname
+]
+[
+.BI \-ccopt \ option
+]
+[
+.B \-custom
+[
+.BI \-o \ exec-file
+]
+[
+.BI \-I \ lib-dir
+]
+.I filename ...
+
+.SH DESCRIPTION
+
+The 
+.BR jocamlmktop (1)
+command builds JoCaml toplevels that
+contain user code preloaded at start-up.
+The 
+.BR jocamlmktop (1)
+command takes as argument a set of
+.IR x \&.cmo
+and
+.IR x \&.cma
+files, and links them with the object files that implement the JoCaml toplevel.  If the
+.B -custom
+flag is given, C object files and libraries (.o and .a files) can also
+be given on the command line and are linked in the resulting toplevel.
+
+.SH OPTIONS
+
+The following command-line options are recognized by 
+.BR jocamlmktop (1).
+
+.TP
+.B \-v
+Print the version number of the compiler.
+
+.TP
+.BI \-cclib\ -l libname
+Pass the 
+.BI \-l libname
+option to the C linker when linking in
+``custom runtime'' mode (see the corresponding option for
+.BR jocamlc (1).
+
+.TP
+.B \-ccopt
+Pass the given option to the C compiler and linker, when linking in
+``custom runtime'' mode. See the corresponding option for
+.BR jocamlc (1).
+
+.TP
+.B \-custom
+Link in ``custom runtime'' mode. See the corresponding option for
+.BR jocamlc (1).
+
+.TP
+.BI \-I  directory
+Add the given directory to the list of directories searched for
+compiled interface files (.cmo and .cma).
+
+.TP
+.BI \-o \ exec-file
+Specify the name of the toplevel file produced by the linker.
+The default is is 
+.BR a.out .
+
+.SH SEE ALSO
+.BR jocamlc (1).
diff --git a/debian/man/jocamlopt.1 b/debian/man/jocamlopt.1
new file mode 100644
index 0000000..0385be2
--- /dev/null
+++ b/debian/man/jocamlopt.1
@@ -0,0 +1,231 @@
+.TH JOCAMLOPT 1
+
+.SH NAME
+jocamlopt \- The JoCaml native-code compiler
+
+
+.SH SYNOPSIS
+.B jocamlopt
+[
+.B \-acivS
+]
+[
+.BI \-cclib \ libname
+]
+[
+.BI \-ccopt \ option
+]
+[
+.B \-compact
+]
+[
+.B \-unsafe
+]
+[
+.BI \-o \ exec-file
+]
+[
+.BI \-I \ lib-dir
+]
+.I filename ...
+
+.B jocamlopt.opt
+.I (same options)
+
+.SH DESCRIPTION
+The JoCaml high-performance
+native-code compiler 
+.BR jocamlopt (1)
+compiles Caml source files to native code object files and link these
+object files to produce standalone executables.
+
+The 
+.BR jocamlopt (1)
+command has a command-line interface very close to that
+of 
+.BR jocamlc (1).
+It accepts the same types of arguments and processes them
+sequentially:
+
+Arguments ending in .mli are taken to be source files for
+compilation unit interfaces. Interfaces specify the names exported by
+compilation units: they declare value names with their types, define
+public data types, declare abstract data types, and so on. From the
+file 
+.IR x \&.mli,
+the 
+.BR jocamlopt (1)
+compiler produces a compiled interface
+in the file 
+.IR x \&.cmi.
+The interface produced is identical to that
+produced by the bytecode compiler 
+.BR jocamlc (1).
+
+Arguments ending in .ml are taken to be source files for compilation
+unit implementations. Implementations provide definitions for the
+names exported by the unit, and also contain expressions to be
+evaluated for their side-effects.  From the file 
+.IR x \&.ml,
+the 
+.BR jocamlopt (1)
+compiler produces two files: 
+.IR x \&.o,
+containing native object code, and 
+.IR x \&.cmx,
+containing extra information for linking and
+optimization of the clients of the unit. The compiled implementation
+should always be referred to under the name 
+.IR x \&.cmx
+(when given a .o file, 
+.BR jocamlopt (1)
+assumes that it contains code compiled from C, not from Caml).
+
+The implementation is checked against the interface file 
+.IR x \&.mli
+(if it exists) as described in the manual for 
+.BR jocamlc (1).
+
+Arguments ending in .cmx are taken to be compiled object code.  These
+files are linked together, along with the object files obtained
+by compiling .ml arguments (if any), and the Caml Light standard
+library, to produce a native-code executable program. The order in
+which .cmx and .ml arguments are presented on the command line is
+relevant: compilation units are initialized in that order at
+run-time, and it is a link-time error to use a component of a unit
+before having initialized it. Hence, a given 
+.IR x \&.cmx
+file must come
+before all .cmx files that refer to the unit 
+.IR x .
+
+Arguments ending in .cmxa are taken to be libraries of object code.
+Such a library packs in two files
+.IR lib \&.cmxa
+and 
+.IR lib \&.a
+a set of object files (.cmx/.o files). Libraries are build with
+.B jocamlopt \-a
+(see the description of the
+.B \-a
+option below). The object
+files contained in the library are linked as regular .cmx files (see
+above), in the order specified when the library was built. The only
+difference is that if an object file contained in a library is not
+referenced anywhere in the program, then it is not linked in.
+
+Arguments ending in .c are passed to the C compiler, which generates
+a .o object file. This object file is linked with the program.
+
+Arguments ending in .o or .a are assumed to be C object files and
+libraries. They are linked with the program.
+
+The output of the linking phase is a regular Unix executable file. It
+does not need 
+.BR jocamlrun (1)
+to run.
+
+.B jocamlopt.opt
+is the same compiler as
+.BR jocamlopt ,
+but compiled with itself instead of with the bytecode compiler
+.BR jocamlc (1).
+Thus, it behaves exactly like
+.BR jocamlopt ,
+but compiles faster.
+.B jocamlopt.opt
+is not available in all installations of JoCaml.
+
+.SH OPTIONS
+
+The following command-line options are recognized by 
+.BR jocamlopt (1).
+
+.TP
+.B \-a
+Build a library (.cmxa/.a file) with the object files (.cmx/.o
+files) given on the command line, instead of linking them into an
+executable file. The name of the library can be set with the 
+.B \-o
+option. The default name is library.cmxa.
+
+.TP
+.B \-c
+Compile only. Suppress the linking phase of the
+compilation. Source code files are turned into compiled files, but no
+executable file is produced. This option is useful to
+compile modules separately.
+
+.TP
+.BI \-cclib\ -l libname
+Pass the
+.BI -l libname
+option to the linker. This causes the given C library to be linked
+with the program.
+
+.TP
+.BI \-ccopt \ option
+Pass the given option to the C compiler and linker. For instance,
+.B -ccopt -L
+.I dir
+causes the C linker to search for C libraries in
+directory 
+.IR dir .
+
+.TP
+.B \-compact
+Optimize the produced code for space rather than for time. This
+results in smaller but slightly slower programs. The default is to
+optimize for speed.
+
+.TP
+.B \-i
+Cause the compiler to print all defined names (with their inferred
+types or their definitions) when compiling an implementation (.ml
+file). This can be useful to check the types inferred by the
+compiler. Also, since the output follows the syntax of interfaces, it
+can help in writing an explicit interface (.mli file) for a file:
+just redirect the standard output of the compiler to a .mli file,
+and edit that file to remove all declarations of unexported names.
+
+.TP
+.BI \-I \ directory
+Add the given directory to the list of directories searched for
+compiled interface files (.cmi) and compiled object code files
+(.cmo). By default, the current directory is searched first, then the
+standard library directory. Directories added with -I are searched
+after the current directory, in the order in which they were given on
+the command line, but before the standard library directory.
+
+.TP
+.BI \-o \ exec-file
+Specify the name of the output file produced by the linker. The
+default output name is a.out, in keeping with the Unix tradition. If
+the 
+.B \-a
+option is given, specify the name of the library produced.
+
+.TP
+.B \-S
+Keep the assembly code produced during the compilation. The assembly
+code for the source file 
+.IR x \&.ml
+is saved in the file 
+.IR x \&.s.
+
+.TP
+.B \-v
+Print the version number of the compiler.
+
+.TP
+.B \-unsafe
+Turn bound checking off on array and string accesses (the v.(i) and
+s.[i] constructs). Programs compiled with -unsafe are therefore
+faster, but unsafe: anything can happen if the program accesses an
+array or string outside of its bounds.
+
+.SH SEE ALSO
+.BR jocamlc (1).
+.br
+.I The Objective Caml user's manual,
+chapter "Native-code compilation".
diff --git a/debian/man/jocamlrun.1 b/debian/man/jocamlrun.1
new file mode 100644
index 0000000..1bae040
--- /dev/null
+++ b/debian/man/jocamlrun.1
@@ -0,0 +1,139 @@
+.TH JOCAMLRUN 1
+
+.SH NAME
+jocamlrun \- The JoCaml bytecode interpreter
+
+.SH SYNOPSIS
+.B jocamlrun
+[
+.B \-v
+]
+.I filename argument ...
+
+.SH DESCRIPTION
+The 
+.BR jocamlrun (1)
+command executes bytecode files produced by the
+linking phase of the 
+.BR jocamlc (1)
+command.
+
+The first non-option argument is taken to be the name of the file
+containing the executable bytecode. (That file is searched in the
+executable path as well as in the current directory.) The remaining
+arguments are passed to the Objective Caml program, in the string array
+Sys.argv. Element 0 of this array is the name of the
+bytecode executable file; elements 1 to 
+.I n
+are the remaining arguments.
+
+In most cases, the bytecode
+executable files produced by the 
+.BR jocamlc (1)
+command are self-executable,
+and manage to launch the 
+.BR jocamlrun (1)
+command on themselves automatically.
+
+.SH OPTIONS
+
+The following command-line option is recognized by 
+.BR jocamlrun (1).
+
+.TP
+.B \-v 
+When set, the memory manager prints verbose messages on standard error
+to signal garbage collections and heap extensions.
+
+.SH ENVIRONMENT VARIABLES
+
+The following environment variable are also consulted:
+
+.TP
+.B OCAMLRUNPARAM
+Set the garbage collection parameters.
+(If
+.B OCAMLRUNPARAM
+is not set,
+.B CAMLRUNPARAM
+will be used instead.)
+This variable must be a sequence of parameter specifications.
+A parameter specification is an option letter followed by an =
+sign, a decimal number, and an optional multiplier.  There are seven
+options:
+.TP
+.BR b \ (backtrace)
+Print a stack backtrace in case of an uncaught exception.
+.TP
+.BR s \ (minor_heap_size)
+Size of the minor heap.
+.TP
+.BR i \ (major_heap_increment)
+Minimum size increment for the major heap.
+.TP
+.BR o \ (space_overhead)
+The major GC speed setting.
+.TP
+.BR O \ (max_overhead)
+The heap compaction trigger setting.
+.TP
+.BR l \ (stack_limit)
+The limit (in words) of the stack size.
+.TP
+.BR h
+The initial size of the major heap (in words).
+.TP
+.BR v \ (verbose)
+What GC messages to print to stderr.  This is a sum of values selected
+from the following:
+.TP
+.BR 1
+Start of major GC cycle.
+.TP
+.BR 2
+Minor collection and major GC slice.
+.TP
+.BR 4
+Growing and shrinking of the heap.
+.TP
+.BR 8
+Resizing of stacks and memory manager tables.
+.TP
+.BR 16
+Heap compaction.
+.TP
+.BR 32
+Change of GC parameters.
+.TP
+.BR 64
+Computation of major GC slice size.
+.TP
+.BR 128
+Calling of finalisation function.
+.TP
+.BR 256
+Startup messages.
+
+The multiplier is
+.B k
+,
+.B M
+, or
+.B G
+, for multiplication by 2^10, 2^20, and 2^30 respectively.
+For example, on a 32-bit machine under bash, the command
+.B export OCAMLRUNPARAM='s=256k,v=1'
+tells a subsequent
+.B jocamlrun
+to set its initial minor heap size to 1 megabyte and to print
+a message at the start of each major GC cycle.
+
+.TP
+.B PATH
+List of directories searched to find the bytecode executable file.
+
+.SH SEE ALSO
+.BR jocamlc (1).
+.br
+.I The Objective Caml user's manual,
+chapter "Runtime system".
diff --git a/debian/man/jocamlyacc.1 b/debian/man/jocamlyacc.1
new file mode 100644
index 0000000..ec4a83e
--- /dev/null
+++ b/debian/man/jocamlyacc.1
@@ -0,0 +1,71 @@
+.TH JOCAMLYACC 1
+
+.SH NAME
+jocamlyacc \- The JoCaml parser generator
+
+.SH SYNOPSIS
+.B jocamlyacc
+[
+.B -v
+]
+[
+.BI \-b prefix
+]
+.I filename.mly
+
+.SH DESCRIPTION
+
+The 
+.BR jocamlyacc (1)
+command produces a parser from a LALR(1) context-free grammar
+specification with attached semantic actions, in the style of
+.BR yacc (1).
+Assuming the input file is 
+.IR grammar \&.mly,
+running
+.B jocamlyacc
+produces Caml code for a parser in the file 
+.IR grammar \&.ml,
+and its interface in file 
+.IR grammar \&.mli.
+
+The generated module defines one parsing function per entry point in
+the grammar. These functions have the same names as the entry points.
+Parsing functions take as arguments a lexical analyzer (a function
+from lexer buffers to tokens) and a lexer buffer, and return the
+semantic attribute of the corresponding entry point. Lexical analyzer
+functions are usually generated from a lexer specification by the
+.BR jocamllex (1)
+program. Lexer buffers are an abstract data type
+implemented in the standard library module Lexing. Tokens are values from
+the concrete type token, defined in the interface file
+.IR grammar \&.mli
+produced by 
+.BR jocamlyacc (1).
+
+.SH OPTIONS
+
+The 
+.BR jocamlyacc (1)
+command recognizes the following options:
+
+.TP
+.B \-v
+Generate a description of the parsing tables and a report on conflicts
+resulting from ambiguities in the grammar. The description is put in
+file 
+.IR grammar \&.output.
+
+.TP
+.BI \-b prefix
+Name the output files
+.IR prefix \&.ml,
+.IR prefix \&.mli,
+.IR prefix \&.output,
+instead of the default naming convention.
+
+.SH SEE ALSO
+.BR jocamllex (1).
+.br
+.I The Objective Caml user's manual,
+chapter "Lexer and parser generators".
diff --git a/debian/native-archs b/debian/native-archs
new file mode 100644
index 0000000..17daf3e
--- /dev/null
+++ b/debian/native-archs
@@ -0,0 +1 @@
+amd64 hurd-i386 i386 kfreebsd-i386 powerpc sparc
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 0000000..2d3fb6f
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,97 @@
+#!/usr/bin/make -f
+# -*- makefile -*-
+# Sample debian/rules that uses debhelper.
+#
+# This file was originally written by Joey Hess and Craig Small.
+# As a special exception, when this file is copied by dh-make into a
+# dh-make output file, you may use that output file without restriction.
+# This special exception was added by Craig Small in version 0.37 of dh-make.
+#
+# Modified to make a template file for a multi-binary package with separated
+# build-arch and build-indep targets  by Bill Allombert 2001
+
+#export DH_VERBOSE=1
+
+export DH_OPTIONS
+
+DEB_HOST_GNU_TYPE  := $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
+DEB_BUILD_GNU_TYPE := $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
+
+JOCAMLABI  := $(shell head -1 VERSION)
+ARCHS      := $(filter "`cat debian/native-archs`", $(DEB_HOST_GNU_TYPE))
+NATIVECODE := $(shell [ -z "$(ARCHS)" ] || echo yes)
+OPTTARGET  := $(if $(NATIVECODE),,opt opt.opt)
+OFILES     := $(patsubst %.in,%,$(wildcard debian/*.in))
+
+pre-config:
+	for f in $(OFILES); do sed -e 's/@JOCamlABI@/$(JOCAMLABI)/g' $$f.in > $$f; done
+	if [ -n "$(OPTTARGET)" ]; then                           \
+		cp  debian/jocaml.links.opt debian/jocaml.links; \
+	fi
+
+config-stamp: pre-config
+	dh_testdir
+	./configure --prefix /usr             \
+	--libdir /usr/lib/jocaml/$(JOCAMLABI) \
+	--mandir /usr/share/man               \
+	--host $(DEB_HOST_GNU_TYPE)
+	touch $@
+
+build-arch: config-stamp build-arch-stamp 
+build-arch-stamp:
+	if test ! -d boot.debian; then   \
+                cp -xa boot boot.debian; \
+        fi
+	$(MAKE) world $(OPTTARGET)
+	touch $@
+
+build-indep: config-stamp build-indep-stamp
+build-indep-stamp:
+	# create ocaml source tarball
+	touch $@
+
+clean: 
+	dh_testdir
+	dh_testroot
+	$(RM) -rf build-indep-stamp build-arch-stamp config-stamp myocamlbuild_config.ml _tags
+	$(RM) -f debian/jocaml.install debian/jocaml.dirs
+	if [ -f Makefile -a -f config/Makefile ]; then \
+		$(MAKE) clean;   \
+	fi
+	if test -d boot.debian; then \
+                $(RM) -r boot;       \
+                mv boot.debian boot; \
+        fi
+	dh_clean
+
+install: build-arch build-indep
+	dh_testdir
+	dh_testroot
+	dh_clean -k  
+	dh_installdirs 
+	$(MAKE) PREFIX=$(CURDIR)/debian/jocaml/usr LIBDIR=$(CURDIR)/debian/jocaml/usr/lib/jocaml/$(JOCAMLABI) install
+	chmod +x $(CURDIR)/debian/jocaml/usr/lib/jocaml/$(JOCAMLABI)/camlheader
+	find $(CURDIR)/debian/jocaml/ -type f -iname "*.ml" -exec rm -f {} \;
+
+binary-common:
+	dh_testdir
+	dh_testroot
+	dh_installchangelogs Changes
+	dh_installdocs
+	dh_installman
+	dh_link
+	dh_strip
+	dh_compress 
+	dh_fixperms
+	dh_makeshlibs
+	dh_installdeb
+	dh_shlibdeps
+	dh_gencontrol -- -VF:JOCamlABI="$(JOCAMLABI)"
+	dh_md5sums
+	dh_builddeb
+
+binary-arch: install
+	$(MAKE) -f debian/rules DH_OPTIONS=-s binary-common
+
+binary: binary-arch
+.PHONY: build clean binary-arch binary install build-arch build-indep config-stamp
diff --git a/debian/svn-deblayout b/debian/svn-deblayout
new file mode 100644
index 0000000..1208699
--- /dev/null
+++ b/debian/svn-deblayout
@@ -0,0 +1 @@
+tagsUrl=svn+ssh://svn.debian.org/svn/pkg-ocaml-maint/tags/packages/jocaml
diff --git a/debian/watch b/debian/watch
new file mode 100644
index 0000000..a11d791
--- /dev/null
+++ b/debian/watch
@@ -0,0 +1,3 @@
+version=3
+http://jocaml.inria.fr/pub/distri/jocaml-3.10/jocaml-(.*)\.tar\.gz
+

-- 
jocaml packaging



More information about the Pkg-ocaml-maint-commits mailing list