Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 96 lines (67 sloc) 4.044 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
bd15dfa @cedricss [doc] Readme: link to the dedicated Getting Started guide added
cedricss authored
12 ## Getting Started ##
13
14 Check out the dedicated guide here: https://github.com/MLstate/opalang/wiki/Getting-Started
15
1c2e3e0 @videlalvaro [doc] README: Converted README to Markdown
videlalvaro authored
16 ## Quick build instructions ##
fccc685 Initial open-source release
MLstate authored
17
1c2e3e0 @videlalvaro [doc] README: Converted README to Markdown
videlalvaro authored
18 $ ./configure
19 $ make
20 $ sudo make install
fccc685 Initial open-source release
MLstate authored
21
148033d @Aqua-Ye [doc] README: updated README for the new repo structure
Aqua-Ye authored
22 should get you there. `./configure` should report any missing dependencies and
fccc685 Initial open-source release
MLstate authored
23 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
24 on your distribution). `make` needs to be GNU make.
fccc685 Initial open-source release
MLstate authored
25
148033d @Aqua-Ye [doc] README: updated README for the new repo structure
Aqua-Ye authored
26 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
27 installation of our dependencies. Try
28
148033d @Aqua-Ye [doc] README: updated README for the new repo structure
Aqua-Ye authored
29 $ tools/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
148033d @Aqua-Ye [doc] README: updated README for the new repo structure
Aqua-Ye authored
34 * compiler: compiler source files
35 * doc: documentation source files, guidelines, and miscellaneous copyright information
36 * lib: Opa standard library, plugins and binding system library source files
37 * ocamllib: OCaml libraries and runtime source files
38 * tools: various tools
39
40 Details of the lib directory:
41
42 * stdlib: the Opa standard library
43 * plugins: additional Opa library modules
44 * opabsl: the Opa binding system library, for binding various backends (currently node and OCaml)
45 * experimental: some experimental Opa libraries
46
47 Details of the doc directory:
48
fccc685 Initial open-source release
MLstate authored
49 * copyright: some copyright information used in our binary package, which
50 includes external software (as obtained from the dependency installation
148033d @Aqua-Ye [doc] README: updated README for the new repo structure
Aqua-Ye authored
51 helper)
52 * manual.omd: source of the Opa manual available in various languages (currently English and Chinese) viewable at [doc.opalang.org](http://doc.opalang.org)
53 * manual.src: source code of the examples of the manual
54 * `*.omd`: custom markdown file format (aka. Opa markdown)
55 * `*-LICENSE`: licenses used by the Opa project
56
57 Details of the tools directory:
58
59 * build: build scripts and auxiliary Makefiles
60 * dependencies: contains the dependency installation helper and various patches
fccc685 Initial open-source release
MLstate authored
61 * dissemination: contains helper programs to run on the cloud (transitional)
62 * installer: auxiliary files used to build binary packages
148033d @Aqua-Ye [doc] README: updated README for the new repo structure
Aqua-Ye authored
63 * tools: contains external checking tools
64 * bash: bash completion scripts
65 * editors: various helper tools for popular editors
66 * utils: packaging scripts, and various auxiliary tools
fccc685 Initial open-source release
MLstate authored
67
148033d @Aqua-Ye [doc] README: updated README for the new repo structure
Aqua-Ye authored
68 Other files usage:
1c2e3e0 @videlalvaro [doc] README: Converted README to Markdown
videlalvaro authored
69
70 * `*.mllib`: ocamlbuild target declaration for building an ocaml lib
71 * `*.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
72 * `tools/platform_helper.sh`: some helpers to guarantee script compatibility, mostly
fccc685 Initial open-source release
MLstate authored
73 between Linux and MacOS
148033d @Aqua-Ye [doc] README: updated README for the new repo structure
Aqua-Ye authored
74 * `tools/utils/install_release.sh`: builds a full Opa runtime in order to make a binary package
75 * `tools/utils/make_package.sh`: builds various kinds of binary packages from the file
76 hierarchy created by `tools/utils/install_release.sh`
fccc685 Initial open-source release
MLstate authored
77
1c2e3e0 @videlalvaro [doc] README: Converted README to Markdown
videlalvaro authored
78 ## The build system ##
fccc685 Initial open-source release
MLstate authored
79
148033d @Aqua-Ye [doc] README: updated README for the new repo structure
Aqua-Ye authored
80 The build system is based on OCamlbuild; the included `tools/build/Makefile.bld`
fccc685 Initial open-source release
MLstate authored
81 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
82 `tools/build/build_libs`, `tools/build/build_tools` and `tools/build/build_rules.ml`.
fccc685 Initial open-source release
MLstate authored
83
148033d @Aqua-Ye [doc] README: updated README for the new repo structure
Aqua-Ye authored
84 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
85
2cac7a3 @Aqua-Ye [doc] README, Makefile: small update
Aqua-Ye authored
86 You can find more information about the build system in tools/build/README.
87
fccc685 Initial open-source release
MLstate authored
88 Contact
89 -------
90
148033d @Aqua-Ye [doc] README: updated README for the new repo structure
Aqua-Ye authored
91 All bug reports, feedback, comments, contributions or remarks are welcome: [http://opalang.org](http://opalang.org).
fccc685 Initial open-source release
MLstate authored
92
a47b5ec [doc] README: updated for 1.0
Henri Binsztok authored
93 In particular, users are welcome to:
94 * subscribe on the mailing list at [https://lists.owasp.org/listinfo/opa](OWASP);
95 * participate in the forum at [http://forum.opalang.org](opalang).
Something went wrong with that request. Please try again.