浏览代码

demo plugin via dune

Simon Krajewski 6 年之前
父节点
当前提交
410234eed7
共有 3 个文件被更改,包括 32 次插入3 次删除
  1. 9 0
      myplugin/dune
  2. 11 0
      myplugin/myplugin.ml
  3. 12 3
      src/dune

+ 9 - 0
myplugin/dune

@@ -0,0 +1,9 @@
+(include_subdirs no)
+
+(library
+	(name myplugin)
+	(libraries
+		haxe
+	)
+	(wrapped false)
+)

+ 11 - 0
myplugin/myplugin.ml

@@ -0,0 +1,11 @@
+open EvalValue
+open EvalEncode
+open EvalContext
+open MacroApi
+
+let generate () =
+	let com = (get_ctx()).curapi.get_com() in
+	Genjs.generate com;
+	vnull
+;;
+EvalStdLib.StdContext.register ["generate",vfun0 generate]

+ 12 - 3
src/dune

@@ -6,10 +6,10 @@
 	)
 )
 
-(executable
+
+(library
 	(name haxe)
-	(public_name haxe)
-	(package haxe)
+	(modules (:standard \ Haxe))
 	(libraries
 		extc extproc extlib_leftovers ilib javalib neko objsize pcre swflib ttflib ziplib
 		json
@@ -19,5 +19,14 @@
 	(preprocess (per_module
 		((pps sedlex.ppx) json lexer)
 	))
+	(wrapped false)
+)
+
+(executable
+	(name haxe)
+	(public_name haxe)
+	(package haxe)
+	(libraries haxe)
 	(link_flags (:include ../lib.sexp))
+	(modules Haxe)
 )