define.json 16 KB

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