Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 105 lines (72 sloc) 3.951 kb
1c2e3e0 @videlalvaro [doc] README: Converted README to Markdown
videlalvaro authored
1 # OPA #
fccc685 Initial open-source release
MLstate authored
2
3
1c2e3e0 @videlalvaro [doc] README: Converted README to Markdown
videlalvaro authored
4 ## Overview ##
fccc685 Initial open-source release
MLstate authored
5
6 Opa is a new generation of cloud development platform. It is a new programming
7 language, a new web server, a new database and a new distributed execution
8 engine, all of them tightly integrated to provide a great experience for cloud
9 developers.
10
11 This repository contains all the sources of the OPA compiler and libraries.
12
13
1c2e3e0 @videlalvaro [doc] README: Converted README to Markdown
videlalvaro authored
14 ## Quick build instructions ##
fccc685 Initial open-source release
MLstate authored
15
1c2e3e0 @videlalvaro [doc] README: Converted README to Markdown
videlalvaro authored
16 $ ./configure
17 $ make
18 $ sudo make install
fccc685 Initial open-source release
MLstate authored
19
1c2e3e0 @videlalvaro [doc] README: Converted README to Markdown
videlalvaro authored
20 should get you there `./configure` should report any missing dependencies and
fccc685 Initial open-source release
MLstate authored
21 point you to the packages you may install to fix them (although those may depend
1321ba9 @fperrin On FreeBSD check and use gmake, use make elsewhere
fperrin authored
22 on your distribution). make needs to be GNU make.
fccc685 Initial open-source release
MLstate authored
23
24 The main dependency of OPA is OCaml 3.12. In case your distribution doesn't
25 provide a recent enough version, or if you miss some other dependencies, you can
1c2e3e0 @videlalvaro [doc] README: Converted README to Markdown
videlalvaro authored
26 use the `installation_helper.sh` script, which automates the download and
fccc685 Initial open-source release
MLstate authored
27 installation of our dependencies. Try
28
1c2e3e0 @videlalvaro [doc] README: Converted README to Markdown
videlalvaro authored
29 $ dependencies/installation_helper.sh --help
fccc685 Initial open-source release
MLstate authored
30
1c2e3e0 @videlalvaro [doc] README: Converted README to Markdown
videlalvaro authored
31 ## Directory layout ##
fccc685 Initial open-source release
MLstate authored
32
1c2e3e0 @videlalvaro [doc] README: Converted README to Markdown
videlalvaro authored
33 * \_build: compilation target directory
fccc685 Initial open-source release
MLstate authored
34 * build: build scripts and auxiliary Makefiles
35 * copyright: some copyright information used in our binary package, which
36 includes external software (as obtained from the dependency installation
37 helper).
38 * dependencies: contains the dependency installation helper
39 * dissemination: contains helper programs to run on the cloud (transitional)
40 * installer: auxiliary files used to build binary packages
41 * plugins: additional OPA library modules (work in progress)
42 * stdlib: the OPA standard library
43 * tools: contains external checking tools; see Credits below
44 * utils: some auxiliary, independent tools like bash completion, syntax
45 highlighting for popular editors, etc.
46
47 The other directories contain the source of the OPA libraries, compiler, and
48 tools.
49
50 Files at the root of the repository:
1c2e3e0 @videlalvaro [doc] README: Converted README to Markdown
videlalvaro authored
51
52 * `*.mllib`: ocamlbuild target declaration for building an ocaml lib
53 * `*.itarget`: ocamlbuild target declaration for building a set of targets
54 * `install_release.sh`: builds a full OPA runtime in order to make a binary
fccc685 Initial open-source release
MLstate authored
55 package
1c2e3e0 @videlalvaro [doc] README: Converted README to Markdown
videlalvaro authored
56 * `platform_helper.sh`: some helpers to guarantee script compatibility, mostly
fccc685 Initial open-source release
MLstate authored
57 between Linux and MacOS
1c2e3e0 @videlalvaro [doc] README: Converted README to Markdown
videlalvaro authored
58 * `make_package.sh`: builds various kinds of binary packages from the file
59 hierarchy created by `install_release.sh`
fccc685 Initial open-source release
MLstate authored
60
61
1c2e3e0 @videlalvaro [doc] README: Converted README to Markdown
videlalvaro authored
62 ## The build system ##
fccc685 Initial open-source release
MLstate authored
63
1c2e3e0 @videlalvaro [doc] README: Converted README to Markdown
videlalvaro authored
64 The build system is based on OCamlbuild; the included `build/Makefile.bld`
fccc685 Initial open-source release
MLstate authored
65 dynamically builds an ocamlbuild plugin and generates targets based on files
1c2e3e0 @videlalvaro [doc] README: Converted README to Markdown
videlalvaro authored
66 `build_libs`, `build_tools` and `build_rules.ml`.
fccc685 Initial open-source release
MLstate authored
67
1c2e3e0 @videlalvaro [doc] README: Converted README to Markdown
videlalvaro authored
68 See `build/Makefile.bld` and `build_rules.ml` for more information. All generated
69 files are put in `_build`, following the same hierarchy as the source directory.
fccc685 Initial open-source release
MLstate authored
70
1c2e3e0 @videlalvaro [doc] README: Converted README to Markdown
videlalvaro authored
71 ## License & Credits ##
fccc685 Initial open-source release
MLstate authored
72
1c2e3e0 @videlalvaro [doc] README: Converted README to Markdown
videlalvaro authored
73 OPA is Copyright 2011, MLstate; it is distributed under the terms of the GNU
fccc685 Initial open-source release
MLstate authored
74 Affero General Public License, version 3. See file LICENSE for details.
75
76 The repository opalang is currently versioning 2 external tools in tools/
77 used only during the build process of Opa :
78
79 * The Closure Compiler (see tools/jschecker/README for copyright information)
80 * JsDoc Toolkit (see tools/jsdoc-toolkit/README.txt for copyright information)
81
82 The Closure Compiler is used as a checker for the Javascript part of the sources
83 of Opa, and JsDoc Toolkit is used for generating html documentation pages from this
84 Javascript code.
85
86 The use of these tools is transitional, and will soon be made optional.
87
59df0ea [release] add credits about jslib
Mathieu Barbin authored
88 Part of the jslang library, has been closely inspired by ocamljs/jslib:
89
90 * ocamljs/jslib, © 2007-2009 2007-9 Skydeck, Inc, distributed under LGPL v2
91
92 Files jslang/jsAst.ml and jslang/jsPrint.ml are extended versions of the modules
93 found in ocamljs, specialized for OPA specific needs.
94 We would like to thank the authors of the ocamljs/jslib.
95
fccc685 Initial open-source release
MLstate authored
96
97 Contact
98 -------
99
100 All bug reports, feedback, comments, contributions or remarks are welcome,
1c2e3e0 @videlalvaro [doc] README: Converted README to Markdown
videlalvaro authored
101 either on our website: [http://opalang.org](http://opalang.org)
fccc685 Initial open-source release
MLstate authored
102
103 or by email, to:
104 support@opalang.org
Something went wrong with that request. Please try again.