Browse Source

add some platform tags to define info

Dan Korostelev 8 năm trước cách đây
mục cha
commit
2744f598b4
1 tập tin đã thay đổi với 55 bổ sung55 xóa
  1. 55 55
      src/context/common.ml

+ 55 - 55
src/context/common.ml

@@ -557,13 +557,13 @@ module Define = struct
 
 	let infos = function
 		| AbsolutePath -> "absolute_path",("Print absolute file path in trace output",[])
-		| AdvancedTelemetry -> "advanced-telemetry",("Allow the SWF to be measured with Monocle tool",[])
-		| AnnotateSource -> "annotate_source",("Add additional comments to generated source code",[])
+		| AdvancedTelemetry -> "advanced-telemetry",("Allow the SWF to be measured with Monocle tool",[Platform Flash])
+		| AnnotateSource -> "annotate_source",("Add additional comments to generated source code",[Platform Cpp])
 		(* | Analyzer -> "analyzer",("Use static analyzer for optimization (experimental)") *)
 		| As3 -> "as3",("Defined when outputing flash9 as3 source code",[])
 		| CheckXmlProxy -> "check_xml_proxy",("Check the used fields of the xml proxy",[])
 		| CoreApi -> "core_api",("Defined in the core api context",[])
-		| CoreApiSerialize -> "core_api_serialize",("Mark some generated core api classes with the Serializable attribute on C#",[])
+		| CoreApiSerialize -> "core_api_serialize",("Mark some generated core api classes with the Serializable attribute on C#",[Platform Cs])
 		| Cppia -> "cppia",("Generate cpp instruction assembly",[])
 		| CppiaAst -> "cppiaast",("Experimental cppia generation based on cpp ast",[])
 		| Dce -> "dce",("<mode:std|full|no> Set the dead code elimination mode (default std)",[])
@@ -571,87 +571,87 @@ module Define = struct
 		| Debug -> "debug",("Activated when compiling with -debug",[])
 		| Display -> "display",("Activated during completion",[])
 		| DisplayStdin -> "display_stdin",("Read the contents of a file specified in --display from standard input",[])
-		| DllExport -> "dll_export",("GenCPP experimental linking",[])
-		| DllImport -> "dll_import",("GenCPP experimental linking",[])
+		| DllExport -> "dll_export",("GenCPP experimental linking",[Platform Cpp])
+		| DllImport -> "dll_import",("Handle Haxe-generated .NET dll imports",[Platform Cs])
 		| DocGen -> "doc_gen",("Do not perform any removal/change in order to correctly generate documentation",[])
 		| Dump -> "dump",("<mode:pretty|record|legacy> Dump typed AST in dump subdirectory using specified mode or non-prettified default",[])
 		| DumpDependencies -> "dump_dependencies",("Dump the classes dependencies in a dump subdirectory",[])
 		| DumpIgnoreVarIds -> "dump_ignore_var_ids",("Remove variable IDs from non-pretty dumps (helps with diff)",[])
-		| DynamicInterfaceClosures -> "dynamic_interface_closures",("Use slow path for interface closures to save space",[])
-		| EraseGenerics -> "erase_generics",("Erase generic classes on C#",[])
+		| DynamicInterfaceClosures -> "dynamic_interface_closures",("Use slow path for interface closures to save space",[Platform Cpp])
+		| EraseGenerics -> "erase_generics",("Erase generic classes on C#",[Platform Cs])
 		| EvalDebugger -> "eval_debugger",("Support debugger in macro/interp mode. Allows host:port value to open a socket. Implies eval_stack.",[])
 		| EvalStack -> "eval_stack",("Record stack information in macro/interp mode",[])
 		| EvalTimes -> "eval_times",("Record per-method execution times in macro/interp mode. Implies eval_stack.",[])
-		| FastCast -> "fast_cast",("Enables an experimental casts cleanup on C# and Java",[])
-		| Fdb -> "fdb",("Enable full flash debug infos for FDB interactive debugging",[])
-		| FileExtension -> "file_extension",("Output filename extension for cpp source code",[])
-		| FlashStrict -> "flash_strict",("More strict typing for flash target",[])
-		| FlashUseStage -> "flash_use_stage",("Keep the SWF library initial stage",[])
+		| FastCast -> "fast_cast",("Enables an experimental casts cleanup on C# and Java",[Platforms [Cs;Java]])
+		| Fdb -> "fdb",("Enable full flash debug infos for FDB interactive debugging",[Platform Flash])
+		| FileExtension -> "file_extension",("Output filename extension for cpp source code",[Platform Cpp])
+		| FlashStrict -> "flash_strict",("More strict typing for flash target",[Platform Flash])
+		| FlashUseStage -> "flash_use_stage",("Keep the SWF library initial stage",[Platform Flash])
 		(* force_lib_check is only here as a debug facility - compiler checking allows errors to be found more easily *)
-		| ForceLibCheck -> "force_lib_check",("Force the compiler to check -net-lib and -java-lib added classes (internal)",[])
-		| ForceNativeProperty -> "force_native_property",("Tag all properties with :nativeProperty metadata for 3.1 compatibility",[])
+		| ForceLibCheck -> "force_lib_check",("Force the compiler to check -net-lib and -java-lib added classes (internal)",[Platforms [Cs;Java]])
+		| ForceNativeProperty -> "force_native_property",("Tag all properties with :nativeProperty metadata for 3.1 compatibility",[Platform Cpp])
 		| FormatWarning -> "format_warning",("Print a warning for each formated string, for 2.x compatibility",[])
-		| GencommonDebug -> "gencommon_debug",("GenCommon internal",[])
-		| HaxeBoot -> "haxe_boot",("Given the name 'haxe' to the flash boot class instead of a generated name",[])
+		| GencommonDebug -> "gencommon_debug",("GenCommon internal",[Platforms [Cs;Java]])
+		| HaxeBoot -> "haxe_boot",("Given the name 'haxe' to the flash boot class instead of a generated name",[Platform Flash])
 		| HaxeVer -> "haxe_ver",("The current Haxe version value",[])
-		| HxcppApiLevel -> "hxcpp_api_level",("Provided to allow compatibility between hxcpp versions",[])
-		| HxcppGcGenerational -> "HXCPP_GC_GENERATIONAL",("Experimental Garbage Collector",[])
-		| HxcppDebugger -> "HXCPP_DEBUGGER",("Include additional information for HXCPP_DEBUGGER",[])
-		| IncludePrefix -> "include_prefix",("prepend path to generated include files",[])
+		| HxcppApiLevel -> "hxcpp_api_level",("Provided to allow compatibility between hxcpp versions",[Platform Cpp])
+		| HxcppGcGenerational -> "HXCPP_GC_GENERATIONAL",("Experimental Garbage Collector",[Platform Cpp])
+		| HxcppDebugger -> "HXCPP_DEBUGGER",("Include additional information for HXCPP_DEBUGGER",[Platform Cpp])
+		| IncludePrefix -> "include_prefix",("prepend path to generated include files",[Platform Cpp])
 		| Interp -> "interp",("The code is compiled to be run with --interp",[])
-		| JavaVer -> "java_ver",("<version:5-7> Sets the Java version to be targeted",[])
-		| JqueryVer -> "jquery_ver",("The jQuery version supported by js.jquery.*. The version is encoded as an interger. e.g. 1.11.3 is encoded as 11103",[])
-		| JsClassic -> "js_classic",("Don't use a function wrapper and strict mode in JS output",[])
-		| JsEs -> "js_es",("Generate JS compilant with given ES standard version (default 5)",[])
-		| JsUnflatten -> "js_unflatten",("Generate nested objects for packages and types",[])
-		| JsSourceMap -> "js_source_map",("Generate JavaScript source map even in non-debug mode",[])
-		| SourceMap -> "source_map",("Generate source map for compiled files (Currently supported for php7 only)",[])
-		| KeepOldOutput -> "keep_old_output",("Keep old source files in the output directory (for C#/Java)",[])
+		| JavaVer -> "java_ver",("<version:5-7> Sets the Java version to be targeted",[Platform Java])
+		| JqueryVer -> "jquery_ver",("The jQuery version supported by js.jquery.*. The version is encoded as an interger. e.g. 1.11.3 is encoded as 11103",[Platform Js])
+		| JsClassic -> "js_classic",("Don't use a function wrapper and strict mode in JS output",[Platform Js])
+		| JsEs -> "js_es",("Generate JS compilant with given ES standard version (default 5)",[Platform Js; HasParam "version number"])
+		| JsUnflatten -> "js_unflatten",("Generate nested objects for packages and types",[Platform Js])
+		| JsSourceMap -> "js_source_map",("Generate JavaScript source map even in non-debug mode",[Platform Js])
+		| SourceMap -> "source_map",("Generate source map for compiled files (Currently supported for php7 only)",[Platform Php])
+		| KeepOldOutput -> "keep_old_output",("Keep old source files in the output directory (for C#/Java)",[Platforms [Cs;Java]])
 		| LoopUnrollMaxCost -> "loop_unroll_max_cost",("Maximum cost (number of expressions * iterations) before loop unrolling is canceled (default 250)",[])
-		| LuaJit -> "lua_jit",("Enable the jit compiler for lua (version 5.2 only",[])
-		| LuaVer -> "lua_ver",("The lua version to target",[])
+		| LuaJit -> "lua_jit",("Enable the jit compiler for lua (version 5.2 only)",[Platform Lua])
+		| LuaVer -> "lua_ver",("The lua version to target",[Platform Lua])
 		| Macro -> "macro",("Defined when code is compiled in the macro context",[])
 		| MacroDebug -> "macro_debug",("Show warnings for potential macro problems (e.g. macro-in-macro calls)",[])
 		| MacroTimes -> "macro_times",("Display per-macro timing when used with --times",[])
-		| NetVer -> "net_ver",("<version:20-45> Sets the .NET version to be targeted",[])
-		| NetTarget -> "net_target",("<name> Sets the .NET target. Defaults to \"net\". xbox, micro (Micro Framework), compact (Compact Framework) are some valid values",[])
-		| NekoSource -> "neko_source",("Output neko source instead of bytecode",[])
-		| NekoV1 -> "neko_v1",("Keep Neko 1.x compatibility",[])
-		| NetworkSandbox -> "network-sandbox",("Use local network sandbox instead of local file access one",[])
-		| NoCompilation -> "no-compilation",("Disable final compilation for Cs, Cpp and Java",[])
+		| NetVer -> "net_ver",("<version:20-45> Sets the .NET version to be targeted",[Platform Cs])
+		| NetTarget -> "net_target",("<name> Sets the .NET target. Defaults to \"net\". xbox, micro (Micro Framework), compact (Compact Framework) are some valid values",[Platform Cs])
+		| NekoSource -> "neko_source",("Output neko source instead of bytecode",[Platform Neko])
+		| NekoV1 -> "neko_v1",("Keep Neko 1.x compatibility",[Platform Neko])
+		| NetworkSandbox -> "network-sandbox",("Use local network sandbox instead of local file access one",[Platform Flash])
+		| NoCompilation -> "no-compilation",("Disable final compilation",[Platforms [Cs;Java;Cpp;Hl]])
 		| NoCOpt -> "no_copt",("Disable completion optimization (for debug purposes)",[])
 		| NoDebug -> "no_debug",("Remove all debug macros from cpp output",[])
 		| NoDeprecationWarnings -> "no-deprecation-warnings",("Do not warn if fields annotated with @:deprecated are used",[])
-		| NoFlashOverride -> "no-flash-override",("Change overrides on some basic classes into HX suffixed methods, flash only",[])
+		| NoFlashOverride -> "no-flash-override",("Change overrides on some basic classes into HX suffixed methods, flash only",[Platform Flash])
 		| NoOpt -> "no_opt",("Disable optimizations",[])
 		| NoInline -> "no_inline",("Disable inlining",[])
-		| NoRoot -> "no_root",("Generate top-level types into haxe.root namespace",[])
+		| NoRoot -> "no_root",("Generate top-level types into haxe.root namespace",[Platform Cs])
 		| NoMacroCache -> "no_macro_cache",("Disable macro context caching",[])
-		| NoSwfCompress -> "no_swf_compress",("Disable SWF output compression",[])
+		| NoSwfCompress -> "no_swf_compress",("Disable SWF output compression",[Platform Flash])
 		| NoTraces -> "no_traces",("Disable all trace calls",[])
-		| Objc -> "objc",("Sets the hxcpp output to objective-c++ classes. Must be defined for interop",[])
+		| Objc -> "objc",("Sets the hxcpp output to objective-c++ classes. Must be defined for interop",[Platform Cpp])
 		| OldConstructorInline -> "old-constructor-inline",("Use old constructor inlining logic (from haxe 3.4.2) instead of the reworked version.",[])
 		| OldErrorFormat -> "old-error-format",("Use Haxe 3.x zero-based column error messages instead of new one-based format.",[])
-		| PhpPrefix -> "php_prefix",("Compiled with --php-prefix",[])
-		| RealPosition -> "real_position",("Disables Haxe source mapping when targetting C#, removes position comments in Java and Php7 output",[])
+		| PhpPrefix -> "php_prefix",("Compiled with --php-prefix",[Platform Php])
+		| RealPosition -> "real_position",("Disables Haxe source mapping when targetting C#, removes position comments in Java and Php7 output",[Platforms [Cs;Java;Php]])
 		| ReplaceFiles -> "replace_files",("GenCommon internal",[Platforms [Java;Cs]])
 		| Scriptable -> "scriptable",("GenCPP internal",[Platform Cpp])
 		| ShallowExpose -> "shallow-expose",("Expose types to surrounding scope of Haxe generated closure without writing to window object",[Platform Js])
 		| SourceHeader -> "source-header",("Print value as comment on top of generated files, use '' value to disable",[])
-		| SourceMapContent -> "source-map-content",("Include the hx sources as part of the JS source map",[])
-		| Swc -> "swc",("Output a SWC instead of a SWF",[])
-		| SwfCompressLevel -> "swf_compress_level",("<level:1-9> Set the amount of compression for the SWF output",[])
-		| SwfDebugPassword -> "swf_debug_password",("Set a password for debugging",[])
-		| SwfDirectBlit -> "swf_direct_blit",("Use hardware acceleration to blit graphics",[])
-		| SwfGpu -> "swf_gpu",("Use GPU compositing features when drawing graphics",[])
-		| SwfMetadata -> "swf_metadata",("<file> Include contents of <file> as metadata in the swf",[])
-		| SwfPreloaderFrame -> "swf_preloader_frame",("Insert empty first frame in swf",[])
-		| SwfProtected -> "swf_protected",("Compile Haxe private as protected in the SWF instead of public",[])
-		| SwfScriptTimeout -> "swf_script_timeout",("Maximum ActionScript processing time before script stuck dialog box displays (in seconds)",[])
-		| SwfUseDoAbc -> "swf_use_doabc",("Use DoAbc swf-tag instead of DoAbcDefine",[])
+		| SourceMapContent -> "source-map-content",("Include the hx sources as part of the JS source map",[Platform Js])
+		| Swc -> "swc",("Output a SWC instead of a SWF",[Platform Flash])
+		| SwfCompressLevel -> "swf_compress_level",("<level:1-9> Set the amount of compression for the SWF output",[Platform Flash])
+		| SwfDebugPassword -> "swf_debug_password",("Set a password for debugging",[Platform Flash])
+		| SwfDirectBlit -> "swf_direct_blit",("Use hardware acceleration to blit graphics",[Platform Flash])
+		| SwfGpu -> "swf_gpu",("Use GPU compositing features when drawing graphics",[Platform Flash])
+		| SwfMetadata -> "swf_metadata",("<file> Include contents of <file> as metadata in the swf",[Platform Flash])
+		| SwfPreloaderFrame -> "swf_preloader_frame",("Insert empty first frame in swf",[Platform Flash])
+		| SwfProtected -> "swf_protected",("Compile Haxe private as protected in the SWF instead of public",[Platform Flash])
+		| SwfScriptTimeout -> "swf_script_timeout",("Maximum ActionScript processing time before script stuck dialog box displays (in seconds)",[Platform Flash])
+		| SwfUseDoAbc -> "swf_use_doabc",("Use DoAbc swf-tag instead of DoAbcDefine",[Platform Flash])
 		| Sys -> "sys",("Defined for all system platforms",[])
-		| Unsafe -> "unsafe",("Allow unsafe code when targeting C#",[])
-		| UseNekoc -> "use_nekoc",("Use nekoc compiler instead of internal one",[])
+		| Unsafe -> "unsafe",("Allow unsafe code when targeting C#",[Platform Cs])
+		| UseNekoc -> "use_nekoc",("Use nekoc compiler instead of internal one",[Platform Neko])
 		| UseRttiDoc -> "use_rtti_doc",("Allows access to documentation during compilation",[])
 		| Vcproj -> "vcproj",("GenCPP internal",[Platform Cpp])
 		| Last -> assert false