define.json 17 KB

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