define.json 17 KB

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