You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
126 lines
4.7 KiB
126 lines
4.7 KiB
Index: install.ml |
|
--- install.ml.orig 2006-08-02 17:59:19 +0200 |
|
+++ install.ml 2010-01-26 09:32:41 +0100 |
|
@@ -104,10 +104,10 @@ |
|
in |
|
let startdir = Sys.getcwd() in |
|
try |
|
- download(); |
|
+ (* download(); *) |
|
compile(); |
|
Sys.chdir startdir; |
|
with |
|
Failure msg -> |
|
Sys.chdir startdir; |
|
- prerr_endline msg; exit 1 |
|
\ No newline at end of file |
|
+ prerr_endline msg; exit 1 |
|
Index: ocaml/extc/extc_stubs.c |
|
--- ocaml/extc/extc_stubs.c.orig 2007-03-05 12:09:37 +0100 |
|
+++ ocaml/extc/extc_stubs.c 2010-01-26 09:32:41 +0100 |
|
@@ -32,6 +32,11 @@ |
|
# include <sys/syslimits.h> |
|
# include <mach-o/dyld.h> |
|
#endif |
|
+#ifdef __FreeBSD__ |
|
+# include <sys/param.h> |
|
+# include <sys/sysctl.h> |
|
+# include <sys/user.h> |
|
+#endif |
|
|
|
#define zval(z) ((z_streamp)(z)) |
|
|
|
@@ -125,7 +130,26 @@ |
|
} |
|
|
|
CAMLprim value executable_path(value u) { |
|
-#ifdef _WIN32 |
|
+#if defined(__FreeBSD__) |
|
+ char pathname[PATH_MAX]; |
|
+ int error, name[4]; |
|
+ size_t len; |
|
+ pid_t pid; |
|
+ |
|
+ pid = getpid(); |
|
+ name[0] = CTL_KERN; |
|
+ name[1] = KERN_PROC; |
|
+ name[2] = KERN_PROC_PATHNAME; |
|
+ name[3] = pid; |
|
+ |
|
+ len = sizeof(pathname); |
|
+ error = sysctl(name, 4, pathname, &len, NULL, 0); |
|
+ if (error < 0 && errno != ESRCH) |
|
+ warn("sysctl: kern.proc.pathname: %d", pid); |
|
+ if (error < 0) |
|
+ return caml_copy_string("-"); |
|
+ return caml_copy_string(pathname); |
|
+#elif defined(_WIN32) |
|
char path[MAX_PATH]; |
|
if( GetModuleFileName(NULL,path,MAX_PATH) == 0 ) |
|
failwith("executable_path"); |
|
Index: ocaml/mtasc/main.ml |
|
--- ocaml/mtasc/main.ml.orig 2008-09-01 07:53:38 +0200 |
|
+++ ocaml/mtasc/main.ml 2010-01-26 09:32:41 +0100 |
|
@@ -112,8 +112,8 @@ |
|
if do_exit then exit 1 |
|
;; |
|
try |
|
- let usage = "Motion-Twin ActionScript2 Compiler 1.14 - (c)2004-2008 Motion-Twin\n Usage : mtasc.exe [options] <files...>\n Options :" in |
|
- let base_path = normalize_path (try Extc.executable_path() with _ -> ".") in |
|
+ let usage = "Motion-Twin ActionScript2 Compiler 1.14 - (c)2004-2008 Motion-Twin\n Usage : mtasc [options] <files...>\n Options :" in |
|
+ let base_path = normalize_path (try Extc.executable_path() ^ "/.." with _ -> "..") in |
|
let files = ref [] in |
|
let time = Sys.time() in |
|
Plugin.class_path := [base_path;"";"/"]; |
|
@@ -132,8 +132,8 @@ |
|
),": use precompiled mx package"); |
|
] @ !Plugin.options in |
|
Arg.parse args_spec (fun file -> files := file :: !files) usage; |
|
- Plugin.class_path := (base_path ^ "std/") :: !Plugin.class_path; |
|
- if (match !GenSwf.version with Some x -> x >= 8 | None -> false) then Plugin.class_path := (base_path ^ "std8/") :: !Plugin.class_path; |
|
+ Plugin.class_path := (base_path ^ "share/mtasc/std/") :: !Plugin.class_path; |
|
+ if (match !GenSwf.version with Some x -> x >= 8 | None -> false) then Plugin.class_path := (base_path ^ "share/mtasc/std8/") :: !Plugin.class_path; |
|
Hashtbl.remove Lexer.keywords "add"; |
|
Parser.warning := (fun msg pos -> report ~do_exit:false (msg,pos) "Warning" (fun msg -> msg)); |
|
if !files = [] then begin |
|
Index: ocaml/mtasc/parser.ml |
|
--- ocaml/mtasc/parser.ml.orig 2007-02-04 14:56:04 +0100 |
|
+++ ocaml/mtasc/parser.ml 2010-01-26 09:32:41 +0100 |
|
@@ -166,8 +166,8 @@ |
|
| [< '(Kwd For,p); '(POpen,_); c = parse_expr_opt; e = parse_for p c >] -> e |
|
| [< '(Kwd If,p); cond = parse_eval; e = parse_expr_opt; e2 , p2 = parse_else (pos e) >] -> EIf (cond,wrap_var e,e2), punion p p2 |
|
| [< '(Kwd Return,p); v , p2 = parse_eval_option p; >] -> EReturn v , punion p p2 |
|
- | [< '(Kwd Break,p); >] -> EBreak , p |
|
- | [< '(Kwd Continue,p); >] -> EContinue , p |
|
+ | [< '(Kwd Break,p) >] -> EBreak , p |
|
+ | [< '(Kwd Continue,p) >] -> EContinue , p |
|
| [< '(Kwd While,p1); v = parse_eval; e = parse_expr_opt >] -> EWhile (v,wrap_var e,NormalWhile) , punion p1 (pos e) |
|
| [< '(Kwd Do,p1); e = parse_expr; '(Kwd While,_); v = parse_eval; >] -> EWhile (v,wrap_var e,DoWhile) , punion p1 (pos v) |
|
| [< '(Kwd Switch,p1); v = parse_eval; '(BrOpen,_); el, p2 = parse_switch false >] -> ESwitch (v,el) , punion p1 p2 |
|
@@ -278,7 +278,7 @@ |
|
|
|
and parse_expr_opt = parser |
|
| [< e = parse_expr >] -> e |
|
- | [< '(Next,p); >] -> EBlock [] , p |
|
+ | [< '(Next,p) >] -> EBlock [] , p |
|
|
|
and parse_for p c = parser |
|
| [< '(Kwd In,_); v = parse_eval; '(PClose,p2); e = parse_expr_opt >] -> EForIn(c,v,wrap_var e) , punion p p2 |
|
@@ -324,7 +324,7 @@ |
|
and parse_block callb sp = parser |
|
| [< e = callb; el,p = parse_block callb sp >] -> e :: el , p |
|
| [< '(Next,_); el = parse_block callb sp >] -> el |
|
- | [< '(BrClose,p); >] -> [] , p |
|
+ | [< '(BrClose,p) >] -> [] , p |
|
| [< '(Eof,_) >] -> error Unclosed_parenthesis sp |
|
|
|
and parse_expr_list p = parser |
|
@@ -351,7 +351,7 @@ |
|
|
|
and parse_import = parser |
|
| [< '(Const (Ident name),_); p = parse_import2 name >] -> p |
|
- | [< '(Binop OpMult,_); >] -> [] , None |
|
+ | [< '(Binop OpMult,_) >] -> [] , None |
|
|
|
and parse_import2 name = parser |
|
| [< '(Dot,_); p , n = parse_import >] -> name :: p , n
|
|
|