-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathopam
84 lines (73 loc) · 1.86 KB
/
opam
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
# -*- conf -*-
opam-version: "1.2"
name: "starterkit"
version: "1.1.0"
maintainer: "Edgar Aroutiounian <edgar.factorial@gmail.com>"
authors: [ "Edgar Aroutiounian <edgar.factorial@gmail.com>" ]
license: "BSD-3-clause"
homepage: "https://github.com/fxfactorial/ocaml-starterkit"
depends: [
"lambda-term"
"ocp-indent"
"utop"
"ocp-index"
"merlin"
"ocamlfind"
"oasis"
"ocamlbuild"
"tuareg"
"opam-publish"
]
post-messages: [
"Welcome to OCaml coding, here's an example _oasis file"
"
OASISFormat: 0.4
OCamlVersion: >= 4.04.0
Name: opam_package_name
Version: 0.1.0
Maintainers: New OCaml programmer
Homepage: http://my_coolsite.com
Synopsis: Some short description
Authors: Cool@me.com
License: BSD-3-clause
Plugins: META (0.4), DevFiles (0.4)
AlphaFeatures: ocamlbuild_more_args
Description:
Some cool description
# This is a comment and this below creates an binary program
Executable <some_program_name>
Path: src
BuildTools:ocamlbuild
install: true
MainIs: main.ml
CompiledObject: native
BuildDepends: package_one, package_two
# Another comment, this builds a library called pg
Library pg
Path: src
# oasis will figure out the dependencies,
# Just list the modules you want public,
# Note that there's no .ml, just give the name
Modules: Pg
CompiledObject: best
BuildDepends: some_package, another_package
# Here's one that uses C/C++ code, adapt as needed
Library lib_with_c
Path: src
BuildTools:ocamlbuild
install: true
CClib: -L/usr/local/lib -lfoo -lbar -lstdc++
CCOpt: -g -Wall -std=c++11 -x c++ -I/usr/local/include
NativeOpt: -cc g++
ByteOpt: -cc g++
Modules: Some_lib
CompiledObject: best
CSources: some_lib_stubs.c
BuildDepends: opam_lib1, opam_lib2
"
"Auto generate everything with:
`oasis setup -setup-update dynamic`
then a simple
`make` builds your project.
"
]