Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 92 lines (64 sloc) 3.853 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
12
1c2e3e0 @videlalvaro [doc] README: Converted README to Markdown
videlalvaro authored
13 ## Quick build instructions ##
fccc685 Initial open-source release
MLstate authored
14
1c2e3e0 @videlalvaro [doc] README: Converted README to Markdown
videlalvaro authored
15 $ ./configure
16 $ make
17 $ sudo make install
fccc685 Initial open-source release
MLstate authored
18
148033d @Aqua-Ye [doc] README: updated README for the new repo structure
Aqua-Ye authored
19 should get you there. `./configure` should report any missing dependencies and
fccc685 Initial open-source release
MLstate authored
20 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
21 on your distribution). `make` needs to be GNU make.
fccc685 Initial open-source release
MLstate authored
22
148033d @Aqua-Ye [doc] README: updated README for the new repo structure
Aqua-Ye authored
23 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
24 installation of our dependencies. Try
25
148033d @Aqua-Ye [doc] README: updated README for the new repo structure
Aqua-Ye authored
26 $ tools/dependencies/installation_helper.sh --help
fccc685 Initial open-source release
MLstate authored
27
1c2e3e0 @videlalvaro [doc] README: Converted README to Markdown
videlalvaro authored
28 ## Directory layout ##
fccc685 Initial open-source release
MLstate authored
29
1c2e3e0 @videlalvaro [doc] README: Converted README to Markdown
videlalvaro authored
30 * \_build: compilation target directory
148033d @Aqua-Ye [doc] README: updated README for the new repo structure
Aqua-Ye authored
31 * compiler: compiler source files
32 * doc: documentation source files, guidelines, and miscellaneous copyright information
33 * lib: Opa standard library, plugins and binding system library source files
34 * ocamllib: OCaml libraries and runtime source files
35 * tools: various tools
36
37 Details of the lib directory:
38
39 * stdlib: the Opa standard library
40 * plugins: additional Opa library modules
41 * opabsl: the Opa binding system library, for binding various backends (currently node and OCaml)
42 * experimental: some experimental Opa libraries
43
44 Details of the doc directory:
45
fccc685 Initial open-source release
MLstate authored
46 * copyright: some copyright information used in our binary package, which
47 includes external software (as obtained from the dependency installation
148033d @Aqua-Ye [doc] README: updated README for the new repo structure
Aqua-Ye authored
48 helper)
49 * manual.omd: source of the Opa manual available in various languages (currently English and Chinese) viewable at [doc.opalang.org](http://doc.opalang.org)
50 * manual.src: source code of the examples of the manual
51 * `*.omd`: custom markdown file format (aka. Opa markdown)
52 * `*-LICENSE`: licenses used by the Opa project
53
54 Details of the tools directory:
55
56 * build: build scripts and auxiliary Makefiles
57 * dependencies: contains the dependency installation helper and various patches
fccc685 Initial open-source release
MLstate authored
58 * dissemination: contains helper programs to run on the cloud (transitional)
59 * installer: auxiliary files used to build binary packages
148033d @Aqua-Ye [doc] README: updated README for the new repo structure
Aqua-Ye authored
60 * tools: contains external checking tools
61 * bash: bash completion scripts
62 * editors: various helper tools for popular editors
63 * utils: packaging scripts, and various auxiliary tools
fccc685 Initial open-source release
MLstate authored
64
148033d @Aqua-Ye [doc] README: updated README for the new repo structure
Aqua-Ye authored
65 Other files usage:
1c2e3e0 @videlalvaro [doc] README: Converted README to Markdown
videlalvaro authored
66
67 * `*.mllib`: ocamlbuild target declaration for building an ocaml lib
68 * `*.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
69 * `tools/platform_helper.sh`: some helpers to guarantee script compatibility, mostly
fccc685 Initial open-source release
MLstate authored
70 between Linux and MacOS
148033d @Aqua-Ye [doc] README: updated README for the new repo structure
Aqua-Ye authored
71 * `tools/utils/install_release.sh`: builds a full Opa runtime in order to make a binary package
72 * `tools/utils/make_package.sh`: builds various kinds of binary packages from the file
73 hierarchy created by `tools/utils/install_release.sh`
fccc685 Initial open-source release
MLstate authored
74
75
1c2e3e0 @videlalvaro [doc] README: Converted README to Markdown
videlalvaro authored
76 ## The build system ##
fccc685 Initial open-source release
MLstate authored
77
148033d @Aqua-Ye [doc] README: updated README for the new repo structure
Aqua-Ye authored
78 The build system is based on OCamlbuild; the included `tools/build/Makefile.bld`
fccc685 Initial open-source release
MLstate authored
79 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
80 `tools/build/build_libs`, `tools/build/build_tools` and `tools/build/build_rules.ml`.
fccc685 Initial open-source release
MLstate authored
81
148033d @Aqua-Ye [doc] README: updated README for the new repo structure
Aqua-Ye authored
82 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
83
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.