Skip to content

Commit c689a46

Browse files
committed
Merge pull request OCamlPro#123 from lefessan/without_js_of_ocaml
Without js of ocaml
2 parents 5289303 + 642634c commit c689a46

35 files changed

+1083
-223
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,3 +27,5 @@ try-js_of_ocaml/lessons.mli
2727
try-js_of_ocaml/try-js_of_ocaml.js
2828
try-js_of_ocaml/try-ocaml.js
2929
Makefile.config
30+
ocp-build.root*
31+
_obuild

Makefile

Lines changed: 1 addition & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,7 @@
22

33
all: Makefile.config
44
$(MAKE) -C cmicomp
5-
$(MAKE) -C ocp-jslib
6-
$(MAKE) -C ocaml-num
7-
$(MAKE) -C toplevel
8-
$(MAKE) -C tutorial
5+
ocp-build build try-make-lessons
96
$(MAKE) -C try-ocaml
107
$(MAKE) -C try-js_of_ocaml
118

@@ -14,21 +11,9 @@ Makefile.config:
1411

1512
clean:
1613
$(MAKE) -C cmicomp clean
17-
$(MAKE) -C ocp-jslib clean
18-
$(MAKE) -C toplevel clean
19-
$(MAKE) -C ocaml-num clean
20-
$(MAKE) -C toplevel clean
21-
$(MAKE) -C tutorial clean
2214
$(MAKE) -C try-ocaml clean
2315
$(MAKE) -C try-js_of_ocaml clean
2416

25-
depend:
26-
$(MAKE) -C ocp-jslib depend
27-
$(MAKE) -C toplevel depend
28-
$(MAKE) -C tutorial depend
29-
$(MAKE) -C try-ocaml depend
30-
$(MAKE) -C try-js_of_ocaml depend
31-
3217
update-lessons:
3318
touch ocaml-lessons/goodies.ml
3419
$(MAKE) -C try-ocaml

Makefile.jsconfig

Lines changed: 0 additions & 3 deletions
This file was deleted.

Makefile.rules

Lines changed: 0 additions & 14 deletions
This file was deleted.

Makefile.tryocaml

Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,20 @@
11
all: byte $(TRYOCAML_NAME).js
22

3-
include $(ROOT)/Makefile.jsconfig
4-
53
SOURCES= lessons.ml lessons.mli
64
TARGETS=$(TRYOCAML_NAME).byte $(TRYOCAML_NAME).js
75

86
include $(ROOT)/Makefile.config
97

108
all: lessons.ml byte
119

10+
clean:
11+
rm -f *~ $(SOURCES) $(TRYOCAML_NAME).tmp $(TRYOCAML_NAME).js
12+
ocp-build clean
13+
1214
lessons.mli: $(TUTORIAL_DIR)/lessons.mli
1315
cp -f $(TUTORIAL_DIR)/lessons.mli lessons.mli
14-
lessons.ml: lessons.cmi $(LESSON_SET)/goodies.ml
15-
$(TUTORIAL_DIR)/make_lessons $(LESSON_SET) > lessons.ml
16+
lessons.ml: $(LESSON_SET)/goodies.ml
17+
../_obuild/try-make-lessons/try-make-lessons.byte $(LESSON_SET) > lessons.ml
1618

1719
CMOS= $(SOURCES:.ml=.cmo)
1820

@@ -70,41 +72,39 @@ STDLIB_MODULES=\
7072
stringLabels \
7173
weak
7274

73-
TOPLEVEL_MODULES=$(STDLIB_MODULES) n regexp tutorial outcometree topdirs toploop toplevel clflags n big_int num topnum
75+
TOPLEVEL_MODULES=$(STDLIB_MODULES) n regexp tutorial outcometree topdirs toploop toplevel clflags n big_int num topnum lwt
7476

75-
TOPLEVEL_CMIS=$(TOPLEVEL_DIR)/toplevel.cmi
76-
TOPLEVEL_CMAS= \
77-
$(CMICOMP_DIR)/js_of_ocaml.cma $(JS_COMPILER_LIB)/js_of_ocaml_compiler.cma \
78-
$(TOPLEVELLIB_CMAS) \
79-
$(OCAMLNUM_DIR)/ocaml-num.cma \
80-
lessons.cmo \
81-
$(TUTORIAL_DIR)/tutorial.cma \
82-
$(OCPJSLIB_DIR)/ocp-jslib.cma
83-
TOPLEVEL_CMOS=$(TOPLEVEL_DIR)/toplevel.cmo \
84-
$(TOPLEVEL_DIR)/topmain.cmo main.cmo
77+
TOPLEVEL_CMIS=$(TOPLEVEL_INCDIR)/toplevel.cmi
8578

8679
INCLUDES= \
80+
-I $(LWT_DIR) \
8781
-I $(CMICOMP_DIR) \
8882
-I $(JS_COMPILER_LIB) \
8983
-I $(JS_DIR) \
90-
-I $(TUTORIAL_DIR)/ \
84+
-I $(TUTORIAL_INCDIR)/ \
9185
$(INCLUDE_TOPLEVELLIB) \
92-
-I $(OCAMLNUM_DIR) \
93-
-I $(TOPLEVEL_DIR) \
94-
-I $(OCPJSLIB_DIR) \
86+
-I $(OCAMLNUM_INCDIR) \
87+
-I $(TOPLEVEL_INCDIR) \
88+
-I $(OCPJSLIB_INCDIR) \
9589
$(TRYOCAML_EXTRA_INCLUDES) \
9690
-I .
9791

98-
$(TRYOCAML_NAME).js: $(TRYOCAML_NAME).byte $(JSFILES)
99-
$(COMP) $(INCLUDES) -toplevel -linkall -noinline -noruntime $(JSFILES) $(TRYOCAML_NAME).byte $(OPTIONS)
92+
ALWAYS:
93+
94+
../_obuild/$(TRYOCAML_NAME)/$(TRYOCAML_NAME).byte: ALWAYS $(SOURCES)
95+
ocp-build $(TRYOCAML_NAME)
10096

101-
$(TRYOCAML_NAME).byte: $(TOPLEVEL_CMIS) $(TOPLEVEL_CMOS) $(TOPLEVEL_CMAS) \
102-
$(TRYOCAML_EXTRA_CMAS) $(TRYOCAML_EXTRA_CMIS)
103-
$(OCAMLFIND) $(OCAMLC) $(INCLUDES) -linkall $(OCAMLFIND_OPTIONS) -package str -linkpkg \
104-
-o [email protected] $(TOPLEVEL_CMAS) \
105-
$(TRYOCAML_EXTRA_CMAS) $(TRYOCAML_EXTRA_CMOS) $(TOPLEVEL_CMOS)
106-
$(EXPUNGE) [email protected] $@ $(TOPLEVEL_MODULES) $(TRYOCAML_EXTRA_MODULES)
107-
97+
$(TRYOCAML_NAME).js: \
98+
../_obuild/$(TRYOCAML_NAME)/$(TRYOCAML_NAME).byte \
99+
$(JSFILES)
100+
$(EXPUNGE) \
101+
../_obuild/$(TRYOCAML_NAME)/$(TRYOCAML_NAME).byte \
102+
$(TRYOCAML_NAME).tmp \
103+
$(TOPLEVEL_MODULES) $(TRYOCAML_EXTRA_MODULES)
104+
$(COMP) $(INCLUDES) \
105+
-toplevel -linkall -noinline -noruntime \
106+
$(JSFILES) $(TRYOCAML_NAME).tmp $(OPTIONS)
107+
# @rm -f $(TRYOCAML_NAME).tmp
108108

109-
byte: lessons.cmo $(TRYOCAML_NAME).byte
109+
byte: $(TRYOCAML_NAME).js
110110

configure

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,24 @@
11
#!/bin/sh
22
echo Generating Makefile.config
33

4+
ocp-build init
5+
ocp-build configure
6+
47
echo OCAMLC=ocamlc > Makefile.config.temp
58
echo OCAMLDEP=ocamldep.opt >> Makefile.config.temp
6-
echo OCAMLVNUM=`ocamlc -version` >> Makefile.config.temp
7-
echo JS_DIR=`ocamlfind -query js_of_ocaml` >> Makefile.config.temp
9+
echo OCAMLVNUM=`ocamlc -version | cut -b 1-6` >> Makefile.config.temp
10+
echo JS_DIR=`ocp-build query -libdir js_of_ocaml` >> Makefile.config.temp
11+
echo LWT_DIR=`ocp-build query -libdir lwt` >> Makefile.config.temp
812
echo JS_COMP=`which js_of_ocaml` >> Makefile.config.temp
9-
echo JS_COMPILER_LIB=`ocamlfind -query js_of_ocaml_compiler` >> Makefile.config.temp
13+
echo JS_COMPILER_LIB=`ocp-build query -libdir js_of_ocaml_compiler` >> Makefile.config.temp
1014
echo 'TOPLEVEL_DIR=$(ROOT)/toplevel' >> Makefile.config.temp
11-
echo 'OCAMLNUM_DIR=$(ROOT)/ocaml-num' >> Makefile.config.temp
15+
echo 'TOPLEVEL_INCDIR=$(ROOT)/_obuild/try-toplevel' >> Makefile.config.temp
16+
echo 'OCAMLNUM_INCDIR=$(ROOT)/_obuild/ocaml-num' >> Makefile.config.temp
17+
echo 'TUTORIAL_INCDIR=$(ROOT)/_obuild/try-tutorial' >> Makefile.config.temp
1218
echo 'TUTORIAL_DIR=$(ROOT)/tutorial' >> Makefile.config.temp
1319
echo 'TOPLEVELLIB_DIR=$(ROOT)/toplevellib/toplevellib-$(OCAMLVNUM)' >> Makefile.config.temp
1420
echo 'CMICOMP_DIR=$(ROOT)/cmicomp' >> Makefile.config.temp
15-
echo 'OCPJSLIB_DIR=$(ROOT)/ocp-jslib' >> Makefile.config.temp
21+
echo 'OCPJSLIB_INCDIR=$(ROOT)/_obuild/ocp-jslib' >> Makefile.config.temp
1622
echo 'SCP=scp' >> Makefile.config.temp
1723

1824
mv Makefile.config.temp Makefile.config

ocaml-num/Makefile

Lines changed: 0 additions & 32 deletions
This file was deleted.

ocaml-num/ocaml-num.ocp

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
begin library "ocaml-num"
2+
files = [ "int_misc.ml" "nat.ml" "big_int.ml"
3+
"arith_flags.ml" "ratio.ml" "num.ml"
4+
"arith_status.ml" "topnum.ml"
5+
]
6+
end
7+
8+
(*
9+
begin program "testdiv"
10+
files = [ "tests/testdiv.ml" ]
11+
requires = [ "ocaml-num" ]
12+
end
13+
*)
14+
15+
(*
16+
numtop: OCamlNum.cmo
17+
ocamlmktop -o numtop nums.cma OCamlNum.cmo
18+
*)

ocp-jslib/.depend

Lines changed: 41 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,42 @@
1-
button.cmo : utils.cmi /home/cago/.opam/4/lib/js_of_ocaml/js.cmi \
2-
/home/cago/.opam/4/lib/js_of_ocaml/dom_html.cmi button.cmi
3-
button.cmx : utils.cmx /home/cago/.opam/4/lib/js_of_ocaml/js.cmi \
4-
/home/cago/.opam/4/lib/js_of_ocaml/dom_html.cmi button.cmi
5-
cookie.cmo : /home/cago/.opam/4/lib/js_of_ocaml/regexp.cmi \
6-
/home/cago/.opam/4/lib/js_of_ocaml/js.cmi \
7-
/home/cago/.opam/4/lib/js_of_ocaml/dom_html.cmi cookie.cmi
8-
cookie.cmx : /home/cago/.opam/4/lib/js_of_ocaml/regexp.cmi \
9-
/home/cago/.opam/4/lib/js_of_ocaml/js.cmi \
10-
/home/cago/.opam/4/lib/js_of_ocaml/dom_html.cmi cookie.cmi
11-
dragnDrop.cmo : utils.cmi /home/cago/.opam/4/lib/js_of_ocaml/js.cmi \
12-
/home/cago/.opam/4/lib/js_of_ocaml/dom_html.cmi \
13-
/home/cago/.opam/4/lib/js_of_ocaml/dom.cmi dragnDrop.cmi
14-
dragnDrop.cmx : utils.cmx /home/cago/.opam/4/lib/js_of_ocaml/js.cmi \
15-
/home/cago/.opam/4/lib/js_of_ocaml/dom_html.cmi \
16-
/home/cago/.opam/4/lib/js_of_ocaml/dom.cmi dragnDrop.cmi
17-
graphics.cmo : utils.cmi /home/cago/.opam/4/lib/js_of_ocaml/js.cmi \
18-
/home/cago/.opam/4/lib/js_of_ocaml/dom_html.cmi \
19-
/home/cago/.opam/4/lib/js_of_ocaml/dom.cmi graphics.cmi
20-
graphics.cmx : utils.cmx /home/cago/.opam/4/lib/js_of_ocaml/js.cmi \
21-
/home/cago/.opam/4/lib/js_of_ocaml/dom_html.cmi \
22-
/home/cago/.opam/4/lib/js_of_ocaml/dom.cmi graphics.cmi
23-
utils.cmo : /home/cago/.opam/4/lib/js_of_ocaml/js.cmi \
24-
/home/cago/.opam/4/lib/js_of_ocaml/dom_html.cmi \
25-
/home/cago/.opam/4/lib/js_of_ocaml/dom.cmi utils.cmi
26-
utils.cmx : /home/cago/.opam/4/lib/js_of_ocaml/js.cmi \
27-
/home/cago/.opam/4/lib/js_of_ocaml/dom_html.cmi \
28-
/home/cago/.opam/4/lib/js_of_ocaml/dom.cmi utils.cmi
29-
button.cmi : /home/cago/.opam/4/lib/js_of_ocaml/js.cmi \
30-
/home/cago/.opam/4/lib/js_of_ocaml/dom_html.cmi
31-
cookie.cmi : /home/cago/.opam/4/lib/js_of_ocaml/js.cmi
32-
dragnDrop.cmi : /home/cago/.opam/4/lib/js_of_ocaml/js.cmi \
33-
/home/cago/.opam/4/lib/js_of_ocaml/dom_html.cmi
1+
button.cmo : utils.cmi /home/lefessan/.opam/4.00.1/lib/js_of_ocaml/js.cmi \
2+
/home/lefessan/.opam/4.00.1/lib/js_of_ocaml/dom_html.cmi button.cmi
3+
button.cmx : utils.cmx /home/lefessan/.opam/4.00.1/lib/js_of_ocaml/js.cmi \
4+
/home/lefessan/.opam/4.00.1/lib/js_of_ocaml/dom_html.cmi button.cmi
5+
cookie.cmo : /home/lefessan/.opam/4.00.1/lib/js_of_ocaml/regexp.cmi \
6+
/home/lefessan/.opam/4.00.1/lib/js_of_ocaml/js.cmi \
7+
/home/lefessan/.opam/4.00.1/lib/js_of_ocaml/dom_html.cmi cookie.cmi
8+
cookie.cmx : /home/lefessan/.opam/4.00.1/lib/js_of_ocaml/regexp.cmi \
9+
/home/lefessan/.opam/4.00.1/lib/js_of_ocaml/js.cmi \
10+
/home/lefessan/.opam/4.00.1/lib/js_of_ocaml/dom_html.cmi cookie.cmi
11+
dragnDrop.cmo : utils.cmi /home/lefessan/.opam/4.00.1/lib/js_of_ocaml/js.cmi \
12+
/home/lefessan/.opam/4.00.1/lib/js_of_ocaml/dom_html.cmi \
13+
/home/lefessan/.opam/4.00.1/lib/js_of_ocaml/dom.cmi dragnDrop.cmi
14+
dragnDrop.cmx : utils.cmx /home/lefessan/.opam/4.00.1/lib/js_of_ocaml/js.cmi \
15+
/home/lefessan/.opam/4.00.1/lib/js_of_ocaml/dom_html.cmi \
16+
/home/lefessan/.opam/4.00.1/lib/js_of_ocaml/dom.cmi dragnDrop.cmi
17+
gra.cmo : utils.cmi /home/lefessan/.opam/4.00.1/lib/js_of_ocaml/js.cmi \
18+
/home/lefessan/.opam/4.00.1/lib/js_of_ocaml/dom_html.cmi \
19+
/home/lefessan/.opam/4.00.1/lib/js_of_ocaml/dom.cmi
20+
gra.cmx : utils.cmx /home/lefessan/.opam/4.00.1/lib/js_of_ocaml/js.cmi \
21+
/home/lefessan/.opam/4.00.1/lib/js_of_ocaml/dom_html.cmi \
22+
/home/lefessan/.opam/4.00.1/lib/js_of_ocaml/dom.cmi
23+
graphics.cmo : utils.cmi /home/lefessan/.opam/4.00.1/lib/js_of_ocaml/js.cmi \
24+
/home/lefessan/.opam/4.00.1/lib/js_of_ocaml/dom_html.cmi \
25+
/home/lefessan/.opam/4.00.1/lib/js_of_ocaml/dom.cmi graphics.cmi
26+
graphics.cmx : utils.cmx /home/lefessan/.opam/4.00.1/lib/js_of_ocaml/js.cmi \
27+
/home/lefessan/.opam/4.00.1/lib/js_of_ocaml/dom_html.cmi \
28+
/home/lefessan/.opam/4.00.1/lib/js_of_ocaml/dom.cmi graphics.cmi
29+
utils.cmo : /home/lefessan/.opam/4.00.1/lib/js_of_ocaml/js.cmi \
30+
/home/lefessan/.opam/4.00.1/lib/js_of_ocaml/dom_html.cmi \
31+
/home/lefessan/.opam/4.00.1/lib/js_of_ocaml/dom.cmi utils.cmi
32+
utils.cmx : /home/lefessan/.opam/4.00.1/lib/js_of_ocaml/js.cmi \
33+
/home/lefessan/.opam/4.00.1/lib/js_of_ocaml/dom_html.cmi \
34+
/home/lefessan/.opam/4.00.1/lib/js_of_ocaml/dom.cmi utils.cmi
35+
button.cmi : /home/lefessan/.opam/4.00.1/lib/js_of_ocaml/js.cmi \
36+
/home/lefessan/.opam/4.00.1/lib/js_of_ocaml/dom_html.cmi
37+
cookie.cmi : /home/lefessan/.opam/4.00.1/lib/js_of_ocaml/js.cmi
38+
dragnDrop.cmi : /home/lefessan/.opam/4.00.1/lib/js_of_ocaml/js.cmi \
39+
/home/lefessan/.opam/4.00.1/lib/js_of_ocaml/dom_html.cmi
3440
graphics.cmi :
35-
utils.cmi : /home/cago/.opam/4/lib/js_of_ocaml/js.cmi \
36-
/home/cago/.opam/4/lib/js_of_ocaml/dom_html.cmi
41+
utils.cmi : /home/lefessan/.opam/4.00.1/lib/js_of_ocaml/js.cmi \
42+
/home/lefessan/.opam/4.00.1/lib/js_of_ocaml/dom_html.cmi

ocp-jslib/Makefile

Lines changed: 0 additions & 18 deletions
This file was deleted.

ocp-jslib/graphics.ml

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11

2+
let graphics_title_id = "graphics-title"
3+
let graphics_id = "graphics"
4+
25
exception Graphic_failure of string
36

47
(* NOT IMPLEMENTED:
@@ -31,6 +34,7 @@ type state = {
3134
}
3235

3336
let state = ref None
37+
let graphics_title = ref "Graphics Window"
3438

3539
let get_state () =
3640
match !state with
@@ -90,6 +94,8 @@ let _ =
9094
Callback.register_exception "Graphics.Graphic_failure" (Graphic_failure "")
9195

9296
let set_window_title title =
97+
graphics_title := title;
98+
Utils.set_div_by_id graphics_title_id !graphics_title;
9399
(* TODO *) ()
94100

95101
let resize_window width height =
@@ -419,12 +425,13 @@ let close_graph () =
419425
let canvas = c.canvas in
420426
canvas##width <- 0;
421427
canvas##height <- 0;
422-
Utils.set_div_by_id "graphics" ""
428+
Utils.set_div_by_id graphics_id "";
429+
Utils.set_div_by_id graphics_title_id ""
423430

424431
let open_graph string =
425432
close_graph ();
426433
let canvas = Dom_html.createCanvas doc in
427-
let body = Utils.get_element_by_id "graphics" in
434+
let body = Utils.get_element_by_id graphics_id in
428435
let context = canvas##getContext (Dom_html._2d_) in
429436
Dom.appendChild body canvas;
430437
let x = 0 in
@@ -442,4 +449,6 @@ let open_graph string =
442449
clear_graph ();
443450
raw_set_color blue;
444451
set_text_size text_size;
445-
raw_set_line_width line_width
452+
raw_set_line_width line_width;
453+
Utils.set_div_by_id graphics_title_id !graphics_title;
454+
()

0 commit comments

Comments
 (0)