Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 92 lines (65 sloc) 3.928 kB
e66e404 @Aqua-Ye [doc] readme,changelog: added credits to bootstrat and font awesome
Aqua-Ye authored
1 # Opa #
fccc685 Initial open-source release
MLstate authored
2
1c2e3e0 @videlalvaro [doc] README: Converted README to Markdown
videlalvaro authored
3 ## Overview ##
fccc685 Initial open-source release
MLstate authored
4
a47b5ec [doc] README: updated for 1.0
Henri Binsztok authored
5 Opa is an advanced framework for JavaScript, made of two parts:
148033d @Aqua-Ye [doc] README: updated README for the new repo structure
Aqua-Ye authored
6
a47b5ec [doc] README: updated for 1.0
Henri Binsztok authored
7 * A compiler from the Opa language, which features JavaScript-like syntax but introduces many enhancements;
8 * A JavaScript library, which is used at runtime.
fccc685 Initial open-source release
MLstate authored
9
a47b5ec [doc] README: updated for 1.0
Henri Binsztok authored
10 This repository contains all the sources of both the Opa compiler and the Opa library.
fccc685 Initial open-source release
MLstate authored
11
1c2e3e0 @videlalvaro [doc] README: Converted README to Markdown
videlalvaro authored
12 ## Quick build instructions ##
fccc685 Initial open-source release
MLstate authored
13
1c2e3e0 @videlalvaro [doc] README: Converted README to Markdown
videlalvaro authored
14 $ ./configure
15 $ make
16 $ sudo make install
fccc685 Initial open-source release
MLstate authored
17
148033d @Aqua-Ye [doc] README: updated README for the new repo structure
Aqua-Ye authored
18 should get you there. `./configure` should report any missing dependencies and
fccc685 Initial open-source release
MLstate authored
19 point you to the packages you may install to fix them (although those may depend
148033d @Aqua-Ye [doc] README: updated README for the new repo structure
Aqua-Ye authored
20 on your distribution). `make` needs to be GNU make.
fccc685 Initial open-source release
MLstate authored
21
148033d @Aqua-Ye [doc] README: updated README for the new repo structure
Aqua-Ye authored
22 The main dependency of Opa is OCaml 3.12 and Node.js >= 0.6. In case your distribution doesn't provide a recent enough version, or if you miss some other dependencies, you can use the `installation_helper.sh` script, which automates the download and
fccc685 Initial open-source release
MLstate authored
23 installation of our dependencies. Try
24
148033d @Aqua-Ye [doc] README: updated README for the new repo structure
Aqua-Ye authored
25 $ tools/dependencies/installation_helper.sh --help
fccc685 Initial open-source release
MLstate authored
26
1c2e3e0 @videlalvaro [doc] README: Converted README to Markdown
videlalvaro authored
27 ## Directory layout ##
fccc685 Initial open-source release
MLstate authored
28
1c2e3e0 @videlalvaro [doc] README: Converted README to Markdown
videlalvaro authored
29 * \_build: compilation target directory
148033d @Aqua-Ye [doc] README: updated README for the new repo structure
Aqua-Ye authored
30 * compiler: compiler source files
31 * doc: documentation source files, guidelines, and miscellaneous copyright information
32 * lib: Opa standard library, plugins and binding system library source files
33 * ocamllib: OCaml libraries and runtime source files
34 * tools: various tools
35
36 Details of the lib directory:
37
38 * stdlib: the Opa standard library
39 * plugins: additional Opa library modules
40 * opabsl: the Opa binding system library, for binding various backends (currently node and OCaml)
41 * experimental: some experimental Opa libraries
42
43 Details of the doc directory:
44
fccc685 Initial open-source release
MLstate authored
45 * copyright: some copyright information used in our binary package, which
46 includes external software (as obtained from the dependency installation
148033d @Aqua-Ye [doc] README: updated README for the new repo structure
Aqua-Ye authored
47 helper)
48 * manual.omd: source of the Opa manual available in various languages (currently English and Chinese) viewable at [doc.opalang.org](http://doc.opalang.org)
49 * manual.src: source code of the examples of the manual
50 * `*.omd`: custom markdown file format (aka. Opa markdown)
51 * `*-LICENSE`: licenses used by the Opa project
52
53 Details of the tools directory:
54
55 * build: build scripts and auxiliary Makefiles
56 * dependencies: contains the dependency installation helper and various patches
fccc685 Initial open-source release
MLstate authored
57 * dissemination: contains helper programs to run on the cloud (transitional)
58 * installer: auxiliary files used to build binary packages
148033d @Aqua-Ye [doc] README: updated README for the new repo structure
Aqua-Ye authored
59 * tools: contains external checking tools
60 * bash: bash completion scripts
61 * editors: various helper tools for popular editors
62 * utils: packaging scripts, and various auxiliary tools
fccc685 Initial open-source release
MLstate authored
63
148033d @Aqua-Ye [doc] README: updated README for the new repo structure
Aqua-Ye authored
64 Other files usage:
1c2e3e0 @videlalvaro [doc] README: Converted README to Markdown
videlalvaro authored
65
66 * `*.mllib`: ocamlbuild target declaration for building an ocaml lib
67 * `*.itarget`: ocamlbuild target declaration for building a set of targets
148033d @Aqua-Ye [doc] README: updated README for the new repo structure
Aqua-Ye authored
68 * `tools/platform_helper.sh`: some helpers to guarantee script compatibility, mostly
fccc685 Initial open-source release
MLstate authored
69 between Linux and MacOS
148033d @Aqua-Ye [doc] README: updated README for the new repo structure
Aqua-Ye authored
70 * `tools/utils/install_release.sh`: builds a full Opa runtime in order to make a binary package
71 * `tools/utils/make_package.sh`: builds various kinds of binary packages from the file
72 hierarchy created by `tools/utils/install_release.sh`
fccc685 Initial open-source release
MLstate authored
73
1c2e3e0 @videlalvaro [doc] README: Converted README to Markdown
videlalvaro authored
74 ## The build system ##
fccc685 Initial open-source release
MLstate authored
75
148033d @Aqua-Ye [doc] README: updated README for the new repo structure
Aqua-Ye authored
76 The build system is based on OCamlbuild; the included `tools/build/Makefile.bld`
fccc685 Initial open-source release
MLstate authored
77 dynamically builds an ocamlbuild plugin and generates targets based on files
148033d @Aqua-Ye [doc] README: updated README for the new repo structure
Aqua-Ye authored
78 `tools/build/build_libs`, `tools/build/build_tools` and `tools/build/build_rules.ml`.
fccc685 Initial open-source release
MLstate authored
79
148033d @Aqua-Ye [doc] README: updated README for the new repo structure
Aqua-Ye authored
80 See `tools/build/Makefile.bld` and `tools/build/build_rules.ml` for more information. All generated files are put in `_build`, following the same hierarchy as the source directory.
fccc685 Initial open-source release
MLstate authored
81
2cac7a3 @Aqua-Ye [doc] README, Makefile: small update
Aqua-Ye authored
82 You can find more information about the build system in tools/build/README.
83
fccc685 Initial open-source release
MLstate authored
84 Contact
85 -------
86
148033d @Aqua-Ye [doc] README: updated README for the new repo structure
Aqua-Ye authored
87 All bug reports, feedback, comments, contributions or remarks are welcome: [http://opalang.org](http://opalang.org).
fccc685 Initial open-source release
MLstate authored
88
a47b5ec [doc] README: updated for 1.0
Henri Binsztok authored
89 In particular, users are welcome to:
90 * subscribe on the mailing list at [https://lists.owasp.org/listinfo/opa](OWASP);
91 * participate in the forum at [http://forum.opalang.org](opalang).
Something went wrong with that request. Please try again.