define.json 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665
  1. [
  2. {
  3. "name": "AbsolutePath",
  4. "define": "absolute_path",
  5. "doc": "Print absolute file path in trace output."
  6. },
  7. {
  8. "name": "AdvancedTelemetry",
  9. "define": "advanced-telemetry",
  10. "doc": "Allow the SWF to be measured with Monocle tool.",
  11. "platforms": ["flash"]
  12. },
  13. {
  14. "name": "AnalyzerOptimize",
  15. "define": "analyzer_optimize",
  16. "doc": "Perform advanced optimizations."
  17. },
  18. {
  19. "name": "AnnotateSource",
  20. "define": "annotate_source",
  21. "doc": "Add additional comments to generated source code.",
  22. "platforms": ["cpp"]
  23. },
  24. {
  25. "name": "Asys",
  26. "define": "asys",
  27. "doc": "Defined for all platforms that support the libuv-based asys package."
  28. },
  29. "name": "CheckXmlProxy",
  30. "define": "check_xml_proxy",
  31. "doc": "Check the used fields of the XML proxy."
  32. },
  33. {
  34. "name": "CoreApi",
  35. "define": "core_api",
  36. "doc": "Defined in the core API context."
  37. },
  38. {
  39. "name": "CoreApiSerialize",
  40. "define": "core_api_serialize",
  41. "doc": "Mark some generated core API classes with the `Serializable` attribute on C#.",
  42. "platforms": ["cs"]
  43. },
  44. {
  45. "name": "Cppia",
  46. "define": "cppia",
  47. "doc": "Generate cpp instruction assembly."
  48. },
  49. {
  50. "name": "CsVer",
  51. "define": "cs_ver",
  52. "doc": "The C# version to target.",
  53. "platforms": ["cs"]
  54. },
  55. {
  56. "name": "NoCppiaAst",
  57. "define": "nocppiaast",
  58. "doc": "Use legacy cppia generation."
  59. },
  60. {
  61. "name": "Dce",
  62. "define": "dce",
  63. "doc": "Set the dead code elimination mode. (default: std)",
  64. "params": ["mode: std | full | no"],
  65. "links": ["https://haxe.org/manual/cr-dce.html"]
  66. },
  67. {
  68. "name": "DceDebug",
  69. "define": "dce_debug",
  70. "doc": "Show DCE log.",
  71. "links": ["https://haxe.org/manual/cr-dce.html"]
  72. },
  73. {
  74. "name": "Debug",
  75. "define": "debug",
  76. "doc": "Activated when compiling with -debug."
  77. },
  78. {
  79. "name": "DisableUnicodeStrings",
  80. "define": "disable_unicode_strings",
  81. "doc": "Disable Unicode support in `String` type.",
  82. "platforms": ["cpp"]
  83. },
  84. {
  85. "name": "Display",
  86. "define": "display",
  87. "doc": "Activated during completion.",
  88. "links": ["https://haxe.org/manual/cr-completion.html"]
  89. },
  90. {
  91. "name": "DisplayStdin",
  92. "define": "display_stdin",
  93. "doc": "Read the contents of a file specified in `--display` from standard input."
  94. },
  95. {
  96. "name": "DllExport",
  97. "define": "dll_export",
  98. "doc": "GenCPP experimental linking.",
  99. "platforms": ["cpp"]
  100. },
  101. {
  102. "name": "DllImport",
  103. "define": "dll_import",
  104. "doc": "Handle Haxe-generated .NET DLL imports.",
  105. "platforms": ["cs"]
  106. },
  107. {
  108. "name": "DocGen",
  109. "define": "doc_gen",
  110. "doc": "Do not perform any removal/change in order to correctly generate documentation."
  111. },
  112. {
  113. "name": "Dump",
  114. "define": "dump",
  115. "doc": "Dump typed AST in dump subdirectory using specified mode or non-prettified default.",
  116. "params": ["mode: pretty | record | position | legacy"]
  117. },
  118. {
  119. "name": "DumpPath",
  120. "define": "dump_path",
  121. "doc": "Path to generate dumps to (default: \"dump\")."
  122. },
  123. {
  124. "name": "DumpDependencies",
  125. "define": "dump_dependencies",
  126. "doc": "Dump the classes dependencies in a dump subdirectory."
  127. },
  128. {
  129. "name": "DumpIgnoreVarIds",
  130. "define": "dump_ignore_var_ids",
  131. "doc": "Remove variable IDs from non-pretty dumps (helps with diff)."
  132. },
  133. {
  134. "name": "DynamicInterfaceClosures",
  135. "define": "dynamic_interface_closures",
  136. "doc": "Use slow path for interface closures to save space.",
  137. "platforms": ["cpp"]
  138. },
  139. {
  140. "name": "EraseGenerics",
  141. "define": "erase_generics",
  142. "doc": "Erase generic classes on C#.",
  143. "platforms": ["cs"]
  144. },
  145. {
  146. "name": "EvalCallStackDepth",
  147. "define": "eval_call_stack_depth",
  148. "doc": "Set maximum call stack depth for eval. (default: 1000)",
  149. "platforms": ["eval"],
  150. "params": ["depth"]
  151. },
  152. {
  153. "name": "EvalDebugger",
  154. "define": "eval_debugger",
  155. "doc": "Support debugger in macro/interp mode. Allows `host:port` value to open a socket. Implies eval_stack.",
  156. "platforms": ["eval"]
  157. },
  158. {
  159. "name": "EvalStack",
  160. "define": "eval_stack",
  161. "doc": "Record stack information in macro/interp mode.",
  162. "platforms": ["eval"]
  163. },
  164. {
  165. "name": "EvalTimes",
  166. "define": "eval_times",
  167. "doc": "Record per-method execution times in macro/interp mode. Implies eval_stack.",
  168. "platforms": ["eval"]
  169. },
  170. {
  171. "name": "FilterTimes",
  172. "define": "filter_times",
  173. "doc": "Record per-filter execution times upon --times."
  174. },
  175. {
  176. "name": "FastCast",
  177. "define": "fast_cast",
  178. "doc": "Enables an experimental casts cleanup on C# and Java.",
  179. "platforms": ["cs", "java"]
  180. },
  181. {
  182. "name": "Fdb",
  183. "define": "fdb",
  184. "doc": "Enable full flash debug infos for FDB interactive debugging.",
  185. "platforms": ["flash"]
  186. },
  187. {
  188. "name": "FileExtension",
  189. "define": "file_extension",
  190. "doc": "Output filename extension for cpp source code.",
  191. "platforms": ["cpp"]
  192. },
  193. {
  194. "name": "FlashStrict",
  195. "define": "flash_strict",
  196. "doc": "More strict typing for flash target.",
  197. "platforms": ["flash"]
  198. },
  199. {
  200. "name": "FlashUseStage",
  201. "define": "flash_use_stage",
  202. "doc": "Keep the SWF library initial stage.",
  203. "platforms": ["flash"]
  204. },
  205. {
  206. "devcomment": "force_lib_check is only here as a debug facility - compiler checking allows errors to be found more easily",
  207. "name": "ForceLibCheck",
  208. "define": "force_lib_check",
  209. "doc": "Force the compiler to check `--net-lib` and `–-java-lib` added classes (internal).",
  210. "platforms": ["cs", "java"]
  211. },
  212. {
  213. "name": "ForceNativeProperty",
  214. "define": "force_native_property",
  215. "doc": "Tag all properties with `:nativeProperty` metadata for 3.1 compatibility.",
  216. "platforms": ["cpp"]
  217. },
  218. {
  219. "name": "GencommonDebug",
  220. "define": "gencommon_debug",
  221. "doc": "GenCommon internal.",
  222. "platforms": ["cs", "java"]
  223. },
  224. {
  225. "name": "Haxe3Compat",
  226. "define": "haxe3compat",
  227. "doc": "Gives warnings about transition from Haxe 3.x to Haxe 4.0."
  228. },
  229. {
  230. "name": "HaxeBoot",
  231. "define": "haxe_boot",
  232. "doc": "Give the name 'haxe' to the flash boot class instead of a generated name.",
  233. "platforms": ["flash"]
  234. },
  235. {
  236. "name": "HaxeVer",
  237. "define": "haxe_ver",
  238. "doc": "The current Haxe version value as decimal number. E.g. 3.407 for 3.4.7."
  239. },
  240. {
  241. "name": "Haxe",
  242. "define": "haxe",
  243. "doc": "The current Haxe version value in SemVer format."
  244. },
  245. {
  246. "name": "HxcppApiLevel",
  247. "define": "hxcpp_api_level",
  248. "doc": "Provided to allow compatibility between hxcpp versions.",
  249. "platforms": ["cpp"]
  250. },
  251. {
  252. "name": "HxcppGcGenerational",
  253. "define": "HXCPP_GC_GENERATIONAL",
  254. "doc": "Experimental Garbage Collector.",
  255. "platforms": ["cpp"]
  256. },
  257. {
  258. "name": "HxcppDebugger",
  259. "define": "HXCPP_DEBUGGER",
  260. "doc": "Include additional information for hxcpp_debugger.",
  261. "platforms": ["cpp"]
  262. },
  263. {
  264. "name": "HxcppSmartStings",
  265. "define": "hxcpp_smart_strings",
  266. "doc": "Use wide strings in hxcpp. (Turned on by default unless `-D disable_unicode_strings` is specified.)",
  267. "platforms": ["cpp"]
  268. },
  269. {
  270. "name": "IncludePrefix",
  271. "define": "include_prefix",
  272. "doc": "Prepend path to generated include files.",
  273. "platforms": ["cpp"]
  274. },
  275. {
  276. "name": "Interp",
  277. "define": "interp",
  278. "doc": "The code is compiled to be run with `--interp`."
  279. },
  280. {
  281. "name": "JavaVer",
  282. "define": "java_ver",
  283. "doc": "Sets the Java version to be targeted.",
  284. "platforms": ["java"],
  285. "params": ["version: 5-7"]
  286. },
  287. {
  288. "name": "JsClassic",
  289. "define": "js_classic",
  290. "doc": "Don't use a function wrapper and strict mode in JS output.",
  291. "platforms": ["js"]
  292. },
  293. {
  294. "name": "JsEs",
  295. "define": "js_es",
  296. "doc": "Generate JS compliant with given ES standard version. (default: 5)",
  297. "platforms": ["js"],
  298. "params": ["version number"],
  299. "links": ["https://haxe.org/manual/target-javascript-es6.html"]
  300. },
  301. {
  302. "name": "JsEnumsAsArrays",
  303. "define": "js_enums_as_arrays",
  304. "doc": "Generate enum representation as array instead of as object.",
  305. "platforms": ["js"]
  306. },
  307. {
  308. "name": "JsUnflatten",
  309. "define": "js_unflatten",
  310. "doc": "Generate nested objects for packages and types.",
  311. "platforms": ["js"]
  312. },
  313. {
  314. "name": "JsSourceMap",
  315. "define": "js_source_map",
  316. "doc": "Generate JavaScript source map even in non-debug mode. Deprecated in favor of `-D source_map`.",
  317. "platforms": ["js"]
  318. },
  319. {
  320. "name": "SourceMap",
  321. "define": "source_map",
  322. "doc": "Generate source map for compiled files.",
  323. "platforms": ["php", "js"]
  324. },
  325. {
  326. "name": "Jvm",
  327. "define": "jvm",
  328. "doc": "Generate jvm directly.",
  329. "platforms": ["java"]
  330. },
  331. {
  332. "name": "KeepOldOutput",
  333. "define": "keep_old_output",
  334. "doc": "Keep old source files in the output directory.",
  335. "platforms": ["cs", "java"]
  336. },
  337. {
  338. "name": "LoopUnrollMaxCost",
  339. "define": "loop_unroll_max_cost",
  340. "doc": "Maximum cost (number of expressions * iterations) before loop unrolling is canceled. (default: 250)",
  341. "params": ["cost"]
  342. },
  343. {
  344. "name": "LuaJit",
  345. "define": "lua_jit",
  346. "doc": "Enable the jit compiler for lua (version 5.2 only).",
  347. "platforms": ["lua"]
  348. },
  349. {
  350. "name": "LuaVanilla",
  351. "define": "lua_vanilla",
  352. "doc": "Generate code lacking compiled extern lib support (e.g. utf8).",
  353. "platforms": ["lua"]
  354. },
  355. {
  356. "name": "LuaVer",
  357. "define": "lua_ver",
  358. "doc": "The lua version to target.",
  359. "platforms": ["lua"],
  360. "params": ["version"]
  361. },
  362. {
  363. "name": "Macro",
  364. "define": "macro",
  365. "doc": "Defined when code is compiled in the macro context.",
  366. "links": ["https://haxe.org/manual/macro.html"]
  367. },
  368. {
  369. "name": "MacroTimes",
  370. "define": "macro_times",
  371. "doc": "Display per-macro timing when used with `--times`."
  372. },
  373. {
  374. "name": "NetVer",
  375. "define": "net_ver",
  376. "doc": "Sets the .NET version to be targeted.",
  377. "platforms": ["cs"],
  378. "params": ["version: 20-45"]
  379. },
  380. {
  381. "name": "NetcoreVer",
  382. "define": "netcore_ver",
  383. "doc": "Sets the .NET core version to be targeted",
  384. "platforms": ["cs"],
  385. "params": ["version: x.x.x"]
  386. },
  387. {
  388. "name": "NetTarget",
  389. "define": "net_target",
  390. "doc": "Sets the .NET target. `netcore` (.NET core), `xbox`, `micro` (Micro Framework), `compact` (Compact Framework) are some valid values. (default: `net`)",
  391. "platforms": ["cs"],
  392. "params": ["name"]
  393. },
  394. {
  395. "name": "NekoSource",
  396. "define": "neko_source",
  397. "doc": "Output neko source instead of bytecode.",
  398. "platforms": ["neko"]
  399. },
  400. {
  401. "name": "NekoV1",
  402. "define": "neko_v1",
  403. "doc": "Keep Neko 1.x compatibility.",
  404. "platforms": ["neko"]
  405. },
  406. {
  407. "name": "NetworkSandbox",
  408. "define": "network-sandbox",
  409. "doc": "Use local network sandbox instead of local file access one.",
  410. "platforms": ["flash"]
  411. },
  412. {
  413. "name": "NoCompilation",
  414. "define": "no-compilation",
  415. "doc": "Disable final compilation.",
  416. "platforms": ["cs", "java", "cpp", "hl"]
  417. },
  418. {
  419. "name": "NoCOpt",
  420. "define": "no_copt",
  421. "doc": "Disable completion optimization (for debug purposes)."
  422. },
  423. {
  424. "name": "NoDebug",
  425. "define": "no_debug",
  426. "doc": "Remove all debug macros from cpp output."
  427. },
  428. {
  429. "name": "NoDeprecationWarnings",
  430. "define": "no-deprecation-warnings",
  431. "doc": "Do not warn if fields annotated with `@:deprecated` are used."
  432. },
  433. {
  434. "name": "NoFlashOverride",
  435. "define": "no-flash-override",
  436. "doc": "Change overrides on some basic classes into HX suffixed methods",
  437. "platforms": ["flash"]
  438. },
  439. {
  440. "name": "NoOpt",
  441. "define": "no_opt",
  442. "doc": "Disable optimizations."
  443. },
  444. {
  445. "name": "NoInline",
  446. "define": "no_inline",
  447. "doc": "Disable inlining.",
  448. "links": ["https://haxe.org/manual/class-field-inline.html"]
  449. },
  450. {
  451. "name": "KeepInlinePositions",
  452. "define": "keep_inline_positions",
  453. "doc": "Don't substitute positions of inlined expressions with the position of the place of inlining.",
  454. "links": ["https://haxe.org/manual/class-field-inline.html"]
  455. },
  456. {
  457. "name": "NoRoot",
  458. "define": "no_root",
  459. "doc": "Generate top-level types into the `haxe.root` namespace.",
  460. "platforms": ["cs"]
  461. },
  462. {
  463. "name": "NoMacroCache",
  464. "define": "no_macro_cache",
  465. "doc": "Disable macro context caching."
  466. },
  467. {
  468. "name": "NoSwfCompress",
  469. "define": "no_swf_compress",
  470. "doc": "Disable SWF output compression.",
  471. "platforms": ["flash"]
  472. },
  473. {
  474. "name": "NoTraces",
  475. "define": "no_traces",
  476. "doc": "Disable all trace calls."
  477. },
  478. {
  479. "name": "Objc",
  480. "define": "objc",
  481. "doc": "Sets the hxcpp output to Objective-C++ classes. Must be defined for interop.",
  482. "platforms": ["cpp"]
  483. },
  484. {
  485. "name": "OldConstructorInline",
  486. "define": "old-constructor-inline",
  487. "doc": "Use old constructor inlining logic (from Haxe 3.4.2) instead of the reworked version."
  488. },
  489. {
  490. "name": "OldErrorFormat",
  491. "define": "old-error-format",
  492. "doc": "Use Haxe 3.x zero-based column error messages instead of new one-based format."
  493. },
  494. {
  495. "name": "PhpPrefix",
  496. "define": "php_prefix",
  497. "doc": "Root namespace for generated php classes. E.g. if compiled with`-D php-prefix=some.sub`, then all classes will be generated in `\\some\\sub` namespace.",
  498. "platforms": ["php"],
  499. "params": ["dot-separated namespace"]
  500. },
  501. {
  502. "name": "PhpLib",
  503. "define": "php_lib",
  504. "doc": "Select the name for the php lib folder.",
  505. "platforms": ["php"],
  506. "params": ["folder name"]
  507. },
  508. {
  509. "name": "PhpFront",
  510. "define": "php_front",
  511. "doc": "Select the name for the php front file. (default: `index.php`)",
  512. "platforms": ["php"],
  513. "params": ["filename"]
  514. },
  515. {
  516. "name": "PythonVersion",
  517. "define": "python_version",
  518. "doc": "The python version to target. (default: 3.3)",
  519. "platforms": ["python"],
  520. "params": ["version"]
  521. },
  522. {
  523. "name": "RealPosition",
  524. "define": "real_position",
  525. "doc": "Disables Haxe source mapping when targetting C#, removes position comments in Java and Php output.",
  526. "platforms": ["cs", "java", "php"]
  527. },
  528. {
  529. "name": "ReplaceFiles",
  530. "define": "replace_files",
  531. "doc": "GenCommon internal.",
  532. "platforms": ["cs", "java"]
  533. },
  534. {
  535. "name": "Scriptable",
  536. "define": "scriptable",
  537. "doc": "GenCPP internal.",
  538. "platforms": ["cpp"]
  539. },
  540. {
  541. "name": "ShallowExpose",
  542. "define": "shallow-expose",
  543. "doc": "Expose types to surrounding scope of Haxe generated closure without writing to window object.",
  544. "platforms": ["js"]
  545. },
  546. {
  547. "name": "SourceHeader",
  548. "define": "source-header",
  549. "doc": "Print value as comment on top of generated files, use '' value to disable."
  550. },
  551. {
  552. "name": "SourceMapContent",
  553. "define": "source-map-content",
  554. "doc": "Include the Haxe sources as part of the JS source map.",
  555. "platforms": ["js"]
  556. },
  557. {
  558. "name": "Static",
  559. "define": "static",
  560. "doc": "Defined if the current target is static."
  561. },
  562. {
  563. "name": "StdEncodingUtf8",
  564. "define": "std-encoding-utf8",
  565. "doc": "Force utf8 encoding for stdin, stdout and stderr",
  566. "platforms": ["java", "cs", "python"]
  567. },
  568. {
  569. "name": "Swc",
  570. "define": "swc",
  571. "doc": "Output a SWC instead of a SWF.",
  572. "platforms": ["flash"]
  573. },
  574. {
  575. "name": "SwfCompressLevel",
  576. "define": "swf_compress_level",
  577. "doc": "Set the amount of compression for the SWF output.",
  578. "platforms": ["flash"],
  579. "params": ["level: 1-9"]
  580. },
  581. {
  582. "name": "SwfDebugPassword",
  583. "define": "swf_debug_password",
  584. "doc": "Set a password for debugging.",
  585. "platforms": ["flash"],
  586. "params": ["password"]
  587. },
  588. {
  589. "name": "SwfDirectBlit",
  590. "define": "swf_direct_blit",
  591. "doc": "Use hardware acceleration to blit graphics.",
  592. "platforms": ["flash"]
  593. },
  594. {
  595. "name": "SwfGpu",
  596. "define": "swf_gpu",
  597. "doc": "Use GPU compositing features when drawing graphics.",
  598. "platforms": ["flash"]
  599. },
  600. {
  601. "name": "SwfMetadata",
  602. "define": "swf_metadata",
  603. "doc": "Include contents of the given file as metadata in the SWF.",
  604. "platforms": ["flash"],
  605. "params": ["file"]
  606. },
  607. {
  608. "name": "SwfPreloaderFrame",
  609. "define": "swf_preloader_frame",
  610. "doc": "Insert empty first frame in SWF.",
  611. "platforms": ["flash"]
  612. },
  613. {
  614. "name": "SwfProtected",
  615. "define": "swf_protected",
  616. "doc": "Compile Haxe `private` as `protected` in the SWF instead of `public`.",
  617. "platforms": ["flash"]
  618. },
  619. {
  620. "name": "SwfScriptTimeout",
  621. "define": "swf_script_timeout",
  622. "doc": "Maximum ActionScript processing time before script stuck dialog box displays.",
  623. "platforms": ["flash"],
  624. "params": ["time in seconds"]
  625. },
  626. {
  627. "name": "SwfUseDoAbc",
  628. "define": "swf_use_doabc",
  629. "doc": "Use `DoAbc` SWF-tag instead of `DoAbcDefine`.",
  630. "platforms": ["flash"]
  631. },
  632. {
  633. "name": "Sys",
  634. "define": "sys",
  635. "doc": "Defined for all system platforms."
  636. },
  637. {
  638. "name": "Unsafe",
  639. "define": "unsafe",
  640. "doc": "Allow unsafe code when targeting C#.",
  641. "platforms": ["cs"]
  642. },
  643. {
  644. "name": "UseNekoc",
  645. "define": "use_nekoc",
  646. "doc": "Use `nekoc` compiler instead of the internal one.",
  647. "platforms": ["neko"]
  648. },
  649. {
  650. "name": "Utf16",
  651. "define": "utf16",
  652. "doc": "Defined for all platforms that use UTF-16 string encoding with UCS-2 API."
  653. },
  654. {
  655. "name": "Vcproj",
  656. "define": "vcproj",
  657. "doc": "GenCPP internal.",
  658. "platforms": ["cpp"]
  659. },
  660. {
  661. "name": "WarnVarShadowing",
  662. "define": "warn_var_shadowing",
  663. "doc": "Warn about shadowing variable declarations."
  664. }
  665. ]