2014-10-23 23:45:58 +01:00
|
|
|
--- a/Makefile 2012-02-04 01:24:21.000000000 +0000
|
|
|
|
+++ b/Makefile 2014-10-29 14:42:08.690188302 +0000
|
|
|
|
@@ -4,6 +4,8 @@
|
|
|
|
version.ml pipeline.mli pipeline.ml common.mli common.ml \
|
|
|
|
utils.mli utils.ml ocaml.mli ocaml.ml
|
|
|
|
|
|
|
|
+CAMLP4 := $(shell ocamlfind query camlp4)
|
|
|
|
+
|
|
|
|
STDBIN = $(shell dirname `which ocamlfind`)
|
|
|
|
ifndef PREFIX
|
|
|
|
PREFIX = $(shell dirname $(STDBIN))
|
2014-11-08 14:26:43 +00:00
|
|
|
@@ -15,7 +17,7 @@
|
|
|
|
endif
|
|
|
|
export BINDIR
|
|
|
|
|
|
|
|
-PACKS = unix str
|
|
|
|
+PACKS = unix str findlib
|
|
|
|
PP = camlp4o -I . -parser pa_tryfinally.cmo -parser pa_opt.cmo
|
|
|
|
export PP
|
|
|
|
|
2014-10-23 23:45:58 +01:00
|
|
|
@@ -36,11 +38,11 @@
|
|
|
|
|
|
|
|
common: version.ml
|
|
|
|
ocamlc -pp 'camlp4orf -loc _loc' -c \
|
|
|
|
- -I +camlp4 pa_opt310.ml && \
|
|
|
|
+ -I $(CAMLP4) pa_opt310.ml && \
|
|
|
|
cp pa_opt310.cmo pa_opt.cmo && \
|
|
|
|
cp pa_opt310.cmi pa_opt.cmi
|
|
|
|
ocamlc -pp 'camlp4orf -loc _loc' -c \
|
|
|
|
- -I +camlp4 pa_tryfinally310.ml && \
|
|
|
|
+ -I $(CAMLP4) pa_tryfinally310.ml && \
|
|
|
|
cp pa_tryfinally310.cmo pa_tryfinally.cmo && \
|
|
|
|
cp pa_tryfinally310.cmi pa_tryfinally.cmi
|
|
|
|
|
2014-11-08 14:26:43 +00:00
|
|
|
--- a/main.ml 2014-11-08 09:05:12.516401313 +0000
|
|
|
|
+++ b/main.ml 2014-11-08 09:09:59.801311230 +0000
|
|
|
|
@@ -250,9 +250,15 @@
|
|
|
|
Sys.getcwd ())
|
|
|
|
| `File script_name -> "", get_dir script_name in
|
|
|
|
|
|
|
|
+ let findlibdir =
|
|
|
|
+ Filename.(
|
|
|
|
+ concat (Findlib.package_directory "findlib") parent_dir_name
|
|
|
|
+ ) in
|
|
|
|
+
|
|
|
|
let file, oc = Filename.open_temp_file "meta" ".ml" in
|
|
|
|
fprintf oc "\
|
|
|
|
#%i %S;;
|
|
|
|
+#directory \"%s\";;
|
|
|
|
#use \"topfind\";;
|
|
|
|
#require \"ocamlscript\";;
|
|
|
|
Ocamlscript.Common.verbose := %s;;
|
|
|
|
@@ -261,7 +267,7 @@
|
|
|
|
open Ocamlscript;;
|
|
|
|
open Utils;;
|
|
|
|
#%i %S;;\n"
|
|
|
|
- pos source verbose script_dir extra_args trash pos source;
|
|
|
|
+ pos source findlibdir verbose script_dir extra_args trash pos source;
|
|
|
|
|
|
|
|
List.iter (output_line oc) lines;
|
|
|
|
|
|
|
|
@@ -544,6 +550,7 @@
|
|
|
|
exit compilation_status
|
|
|
|
|
|
|
|
let _ =
|
|
|
|
+ Findlib.init ();
|
|
|
|
try main ()
|
|
|
|
with Failure s ->
|
|
|
|
eprintf "ocamlscript: %s\n%!" s;
|
|
|
|
|