define.json 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913
  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": "AnalyzerTimes",
  20. "define": "times.analyzer",
  21. "deprecatedDefine": "analyzer-times",
  22. "signatureNeutral": true,
  23. "doc": "Record detailed timers for the analyzer",
  24. "params": ["level: 0 | 1 | 2"]
  25. },
  26. {
  27. "name": "AnnotateSource",
  28. "define": "annotate-source",
  29. "doc": "Add additional comments to generated source code.",
  30. "platforms": ["cpp"]
  31. },
  32. {
  33. "name": "CheckXmlProxy",
  34. "define": "check-xml-proxy",
  35. "doc": "Check the used fields of the XML proxy."
  36. },
  37. {
  38. "name": "CoreApi",
  39. "define": "core-api",
  40. "doc": "Defined in the core API context."
  41. },
  42. {
  43. "name": "Cppia",
  44. "define": "cppia",
  45. "doc": "Generate cpp instruction assembly."
  46. },
  47. {
  48. "name": "NoCppiaAst",
  49. "define": "nocppiaast",
  50. "doc": "Use legacy cppia generation."
  51. },
  52. {
  53. "name": "Dce",
  54. "define": "dce",
  55. "doc": "Set the dead code elimination mode. (default: std)",
  56. "params": ["mode: std | full | no"],
  57. "default": "std",
  58. "links": ["https://haxe.org/manual/cr-dce.html"]
  59. },
  60. {
  61. "name": "DceDebug",
  62. "define": "dce-debug",
  63. "signatureNeutral": true,
  64. "doc": "Show DCE log.",
  65. "links": ["https://haxe.org/manual/cr-dce.html"]
  66. },
  67. {
  68. "name": "Debug",
  69. "define": "debug",
  70. "doc": "Activated when compiling with -debug."
  71. },
  72. {
  73. "name": "DisableHxbCache",
  74. "define": "disable-hxb-cache",
  75. "signatureNeutral": true,
  76. "doc": "Use in-memory cache instead of hxb powered cache."
  77. },
  78. {
  79. "name": "DisableHxbOptimizations",
  80. "define": "disable-hxb-optimizations",
  81. "signatureNeutral": true,
  82. "doc": "Disable shortcuts used by hxb cache to speed up display requests."
  83. },
  84. {
  85. "name": "DisableParallelism",
  86. "define": "disable-parallelism",
  87. "signatureNeutral": true,
  88. "doc": "Disable experimental uses of parallelism in the compiler."
  89. },
  90. {
  91. "name": "EnableParallelAbstractCast",
  92. "define": "enable-parallel-abstract-cast",
  93. "signatureNeutral": true,
  94. "doc": "Enable experimental uses of parallelism in the abstract cast filter (can trigger memory leaks)."
  95. },
  96. {
  97. "name": "EnableParallelAnalyzer",
  98. "define": "enable-parallel-analyzer",
  99. "signatureNeutral": true,
  100. "doc": "Enable experimental uses of parallelism in the analyzer (can trigger memory leaks)."
  101. },
  102. {
  103. "name": "DisableUnicodeStrings",
  104. "define": "disable-unicode-strings",
  105. "doc": "Disable Unicode support in `String` type.",
  106. "platforms": ["cpp"]
  107. },
  108. {
  109. "name": "Display",
  110. "define": "display",
  111. "signatureNeutral": true,
  112. "doc": "Activated during completion.",
  113. "links": ["https://haxe.org/manual/cr-completion.html"]
  114. },
  115. {
  116. "name": "DisplayStdin",
  117. "define": "display-stdin",
  118. "signatureNeutral": true,
  119. "doc": "Read the contents of a file specified in `--display` from standard input."
  120. },
  121. {
  122. "name": "DisplayDetails",
  123. "define": "display-details",
  124. "signatureNeutral": true,
  125. "doc": "Not used anymore, but still sent by vshaxe.",
  126. "deprecated": "This flag is no longer supported in Haxe 5"
  127. },
  128. {
  129. "name": "DllExport",
  130. "define": "dll-export",
  131. "doc": "GenCPP experimental linking.",
  132. "platforms": ["cpp"]
  133. },
  134. {
  135. "name": "DocGen",
  136. "define": "doc-gen",
  137. "doc": "Do not perform any removal/change in order to correctly generate documentation."
  138. },
  139. {
  140. "name": "Dump",
  141. "define": "dump",
  142. "signatureNeutral": true,
  143. "doc": "Dump typed AST in dump subdirectory using specified mode or non-prettified default.",
  144. "params": ["mode: pretty | record | position | legacy"]
  145. },
  146. {
  147. "name": "DumpStage",
  148. "define": "dump.stage",
  149. "signatureNeutral": true,
  150. "doc": "The compiler stage after which to generate the dump",
  151. "params": ["stage: typing | casting | inlining | analyzing | dce"],
  152. "default": "dce"
  153. },
  154. {
  155. "name": "DumpPath",
  156. "define": "dump-path",
  157. "signatureNeutral": true,
  158. "doc": "Path to generate dumps to (default: \"dump\").",
  159. "default": "dump",
  160. "params": ["path"]
  161. },
  162. {
  163. "name": "DumpDependencies",
  164. "define": "dump-dependencies",
  165. "signatureNeutral": true,
  166. "doc": "Dump the classes dependencies in a dump subdirectory."
  167. },
  168. {
  169. "name": "DumpIgnoreVarIds",
  170. "define": "dump-ignore-var-ids",
  171. "signatureNeutral": true,
  172. "doc": "Remove variable IDs from non-pretty dumps (helps with diff).",
  173. "default": "1"
  174. },
  175. {
  176. "name": "DynamicInterfaceClosures",
  177. "define": "dynamic-interface-closures",
  178. "doc": "Use slow path for interface closures to save space.",
  179. "platforms": ["cpp"]
  180. },
  181. {
  182. "name": "EvalCallStackDepth",
  183. "define": "eval-call-stack-depth",
  184. "doc": "Set maximum call stack depth for eval. (default: 1000)",
  185. "platforms": ["eval"],
  186. "default": "1000",
  187. "params": ["depth"]
  188. },
  189. {
  190. "name": "EvalDebugger",
  191. "define": "eval-debugger",
  192. "doc": "Support debugger in macro/interp mode. Allows `host:port` value to open a socket. Implies eval-stack.",
  193. "platforms": ["eval"]
  194. },
  195. {
  196. "name": "EvalPrintDepth",
  197. "define": "eval-print-depth",
  198. "doc": "Set maximum print depth (before replacing with '<...>') for eval. (default: 5)",
  199. "platforms": ["eval"],
  200. "default": "5",
  201. "params": ["depth"]
  202. },
  203. {
  204. "name": "EvalPrettyPrint",
  205. "define": "eval-pretty-print",
  206. "doc": "Enable indented output for eval printing.",
  207. "platforms": ["eval"]
  208. },
  209. {
  210. "name": "EvalStack",
  211. "define": "eval-stack",
  212. "doc": "Record stack information in macro/interp mode.",
  213. "platforms": ["eval"]
  214. },
  215. {
  216. "name": "EvalTimes",
  217. "define": "times.eval",
  218. "deprecatedDefine": "eval-times",
  219. "signatureNeutral": true,
  220. "doc": "Record per-method execution times in macro/interp mode. Implies eval-stack.",
  221. "platforms": ["eval"]
  222. },
  223. {
  224. "name": "FailFast",
  225. "define": "fail-fast",
  226. "signatureNeutral": true,
  227. "doc": "Abort compilation when first error occurs."
  228. },
  229. {
  230. "name": "FilterTimes",
  231. "define": "times.filter",
  232. "deprecatedDefine": "filter-times",
  233. "signatureNeutral": true,
  234. "doc": "Record per-filter execution times upon --times."
  235. },
  236. {
  237. "name": "Fdb",
  238. "define": "fdb",
  239. "doc": "Enable full flash debug infos for FDB interactive debugging.",
  240. "platforms": ["flash"]
  241. },
  242. {
  243. "name": "FileExtension",
  244. "define": "file-extension",
  245. "doc": "Output filename extension for cpp source code.",
  246. "platforms": ["cpp"]
  247. },
  248. {
  249. "name": "FlashStrict",
  250. "define": "flash-strict",
  251. "doc": "More strict typing for flash target.",
  252. "platforms": ["flash"]
  253. },
  254. {
  255. "name": "FlashUseStage",
  256. "define": "flash-use-stage",
  257. "doc": "Keep the SWF library initial stage.",
  258. "platforms": ["flash"]
  259. },
  260. {
  261. "name": "ForceNativeProperty",
  262. "define": "force-native-property",
  263. "doc": "Tag all properties with `:nativeProperty` metadata for 3.1 compatibility.",
  264. "platforms": ["cpp"]
  265. },
  266. {
  267. "name": "Haxe3Compat",
  268. "define": "haxe3compat",
  269. "doc": "Gives warnings about transition from Haxe 3.x to Haxe 4.0.",
  270. "deprecated": "This flag is no longer supported in Haxe 5"
  271. },
  272. {
  273. "name": "HaxeBoot",
  274. "define": "haxe-boot",
  275. "doc": "Give the name 'haxe' to the flash boot class instead of a generated name.",
  276. "platforms": ["flash"]
  277. },
  278. {
  279. "name": "HaxeVer",
  280. "define": "haxe-ver",
  281. "doc": "The current Haxe version value as decimal number. E.g. 3.407 for 3.4.7.",
  282. "reserved": true
  283. },
  284. {
  285. "name": "Haxe",
  286. "define": "haxe",
  287. "doc": "The current Haxe version value in SemVer format.",
  288. "reserved": true
  289. },
  290. {
  291. "name": "Haxe3",
  292. "define": "haxe3",
  293. "doc": "The current Haxe major version is >= 3.",
  294. "default": "1",
  295. "reserved": true
  296. },
  297. {
  298. "name": "Haxe4",
  299. "define": "haxe4",
  300. "doc": "The current Haxe major version is >= 4.",
  301. "default": "1",
  302. "reserved": true
  303. },
  304. {
  305. "name": "Haxe5",
  306. "define": "haxe5",
  307. "doc": "The current Haxe major version is >= 5.",
  308. "default": "1",
  309. "reserved": true
  310. },
  311. {
  312. "name": "HaxeNext",
  313. "define": "haxe-next",
  314. "doc": "Enable experimental features that are meant to be released on next Haxe version."
  315. },
  316. {
  317. "name": "HaxeOutputFile",
  318. "define": "HAXE-OUTPUT-FILE",
  319. "doc": "Force the full output name of the executable/library without library prefix and debug suffix.",
  320. "platforms": ["cpp"],
  321. "params": ["name"]
  322. },
  323. {
  324. "name": "HaxeOutputPart",
  325. "define": "HAXE-OUTPUT-PART",
  326. "doc": "Output name of the executable/library. (default: main class name)",
  327. "platforms": ["cpp"],
  328. "params": ["name"]
  329. },
  330. {
  331. "name": "Hlc",
  332. "define": "hlc",
  333. "doc": "Defined by compiler when using hl/c target.",
  334. "platforms": ["hl"],
  335. "reserved": true
  336. },
  337. {
  338. "name": "HlVer",
  339. "define": "hl-ver",
  340. "doc": "The HashLink version to target. (default: 1.15.0)",
  341. "platforms": ["hl"],
  342. "params": ["version"]
  343. },
  344. {
  345. "name": "HxbTimes",
  346. "define": "times.hxb",
  347. "deprecatedDefine": "hxb-times",
  348. "signatureNeutral": true,
  349. "doc": "Display hxb timing when used with `--times`."
  350. },
  351. {
  352. "name": "HxbStats",
  353. "define": "hxb.stats",
  354. "signatureNeutral": true,
  355. "doc": "Display some hxb related stats (only with compilation server)."
  356. },
  357. {
  358. "name": "HxcppApiLevel",
  359. "define": "hxcpp-api-level",
  360. "doc": "Provided to allow compatibility between hxcpp versions.",
  361. "platforms": ["cpp"],
  362. "reserved": true
  363. },
  364. {
  365. "name": "HxcppGcGenerational",
  366. "define": "HXCPP-GC-GENERATIONAL",
  367. "doc": "Experimental Garbage Collector.",
  368. "platforms": ["cpp"]
  369. },
  370. {
  371. "name": "HxcppDebugger",
  372. "define": "HXCPP-DEBUGGER",
  373. "doc": "Include additional information for hxcpp-debugger.",
  374. "platforms": ["cpp"]
  375. },
  376. {
  377. "name": "HxcppGcMoving",
  378. "define": "HXCPP-GC-MOVING",
  379. "doc": "Allow garbage collector to move memory to reduce fragmentation",
  380. "platforms": ["cpp"]
  381. },
  382. {
  383. "name": "HxcppGcSummary",
  384. "define": "HXCPP-GC-SUMMARY",
  385. "doc": "Print small profiling summary at end of program",
  386. "platforms": ["cpp"]
  387. },
  388. {
  389. "name": "HxcppGcDynamicSize",
  390. "define": "HXCPP-GC-DYNAMIC-SIZE",
  391. "doc": "Monitor GC times and expand memory working space if required",
  392. "platforms": ["cpp"]
  393. },
  394. {
  395. "name": "HxcppGcBigBlocks",
  396. "define": "HXCPP-GC-BIG-BLOCKS",
  397. "doc": "Allow working memory greater than 1 Gig",
  398. "platforms": ["cpp"]
  399. },
  400. {
  401. "name": "HxcppGcDebugLevel",
  402. "define": "HXCPP-GC-DEBUG-LEVEL",
  403. "doc": "Number 1-4 indicating additional debugging in GC",
  404. "platforms": ["cpp"]
  405. },
  406. {
  407. "name": "HxcppDebugLink",
  408. "define": "HXCPP-DEBUG-LINK",
  409. "doc": "Add symbols to final binary, even in release mode.",
  410. "platforms": ["cpp"]
  411. },
  412. {
  413. "name": "HxcppStackTrace",
  414. "define": "HXCPP-STACK-TRACE",
  415. "doc": "Have valid function-level stack traces, even in release mode.",
  416. "platforms": ["cpp"]
  417. },
  418. {
  419. "name": "HxcppStackLine",
  420. "define": "HXCPP-STACK-LINE",
  421. "doc": "Include line information in stack traces, even in release mode.",
  422. "platforms": ["cpp"]
  423. },
  424. {
  425. "name": "HxcppCheckPointer",
  426. "define": "HXCPP-CHECK-POINTER",
  427. "doc": "Add null-pointer checks, even in release mode.",
  428. "platforms": ["cpp"]
  429. },
  430. {
  431. "name": "HxcppProfiler",
  432. "define": "HXCPP-PROFILER",
  433. "doc": "Add profiler support",
  434. "platforms": ["cpp"]
  435. },
  436. {
  437. "name": "HxcppTelemetry",
  438. "define": "HXCPP-TELEMETRY",
  439. "doc": "Add telemetry support",
  440. "platforms": ["cpp"]
  441. },
  442. {
  443. "name": "HxcppCpp11",
  444. "define": "HXCPP-CPP11",
  445. "doc": "Use C++11 features and link libraries",
  446. "platforms": ["cpp"]
  447. },
  448. {
  449. "name": "HxcppVerbose",
  450. "define": "HXCPP-VERBOSE",
  451. "doc": "Print extra output from build tool.",
  452. "platforms": ["cpp"]
  453. },
  454. {
  455. "name": "HxcppTimes",
  456. "define": "HXCPP-TIMES",
  457. "doc": "Show some basic profiling information",
  458. "platforms": ["cpp"]
  459. },
  460. {
  461. "name": "HxcppM32",
  462. "define": "HXCPP-M32",
  463. "doc": "Force 32-bit compile for current desktop",
  464. "platforms": ["cpp"]
  465. },
  466. {
  467. "name": "HxcppM64",
  468. "define": "HXCPP-M64",
  469. "doc": "Force 64-bit compile for current desktop",
  470. "platforms": ["cpp"]
  471. },
  472. {
  473. "name": "HxcppArm64",
  474. "define": "HXCPP-ARM64",
  475. "doc": "Compile arm-based devices for 64 bits",
  476. "platforms": ["cpp"]
  477. },
  478. {
  479. "name": "HxcppLinuxArm64",
  480. "define": "HXCPP-LINUX-ARM64",
  481. "doc": "Run on a linux ARM64 device",
  482. "platforms": ["cpp"]
  483. },
  484. {
  485. "name": "HxcppSmartStings",
  486. "define": "hxcpp-smart-strings",
  487. "doc": "Use wide strings in hxcpp. (Turned on by default unless `-D disable-unicode-strings` is specified.)",
  488. "platforms": ["cpp"]
  489. },
  490. {
  491. "name": "IncludePrefix",
  492. "define": "include-prefix",
  493. "doc": "Prepend path to generated include files.",
  494. "platforms": ["cpp"]
  495. },
  496. {
  497. "name": "Interp",
  498. "define": "interp",
  499. "doc": "The code is compiled to be run with `--interp`."
  500. },
  501. {
  502. "name": "JsClassic",
  503. "define": "js-classic",
  504. "doc": "Don't use a function wrapper and strict mode in JS output.",
  505. "platforms": ["js"]
  506. },
  507. {
  508. "name": "JsEs",
  509. "define": "js-es",
  510. "doc": "Generate JS compliant with given ES standard version. (default: 5)",
  511. "platforms": ["js"],
  512. "params": ["version: 3 | 5 | 6"],
  513. "links": ["https://haxe.org/manual/target-javascript-es6.html"]
  514. },
  515. {
  516. "name": "JsEnumsAsArrays",
  517. "define": "js-enums-as-arrays",
  518. "doc": "Generate enum representation as array instead of as object.",
  519. "platforms": ["js"]
  520. },
  521. {
  522. "name": "JsGlobal",
  523. "define": "js-global",
  524. "doc": "Customizes the global object name.",
  525. "platforms": ["js"]
  526. },
  527. {
  528. "name": "JsUnflatten",
  529. "define": "js-unflatten",
  530. "doc": "Generate nested objects for packages and types.",
  531. "platforms": ["js"]
  532. },
  533. {
  534. "name": "JsSourceMap",
  535. "define": "js-source-map",
  536. "doc": "Generate JavaScript source map even in non-debug mode. Deprecated in favor of `-D source-map`.",
  537. "platforms": ["js"]
  538. },
  539. {
  540. "name": "SourceMap",
  541. "define": "source-map",
  542. "doc": "Generate source map for compiled files.",
  543. "platforms": ["php", "js"]
  544. },
  545. {
  546. "name": "JvmCompressionLevel",
  547. "define": "jvm.compression-level",
  548. "doc": "Set the compression level of the generated file between 0 (no compression) and 9 (highest compression). Default: 6",
  549. "platforms": ["jvm"]
  550. },
  551. {
  552. "name": "JvmDynamicLevel",
  553. "define": "jvm.dynamic-level",
  554. "doc": "Controls the amount of dynamic support code being generated. 0 = none, 1 = field read/write optimization (default), 2 = compile-time method closures",
  555. "platforms": ["jvm"]
  556. },
  557. {
  558. "name": "LoopUnrollMaxCost",
  559. "define": "loop-unroll-max-cost",
  560. "doc": "Maximum cost (number of expressions * iterations) before loop unrolling is canceled. (default: 250)",
  561. "default": "250",
  562. "params": ["cost"]
  563. },
  564. {
  565. "name": "LuaJit",
  566. "define": "lua-jit",
  567. "doc": "Enable the jit compiler for lua (version 5.2 only).",
  568. "platforms": ["lua"]
  569. },
  570. {
  571. "name": "LuaVanilla",
  572. "define": "lua-vanilla",
  573. "doc": "Generate code lacking compiled extern lib support (e.g. utf8).",
  574. "platforms": ["lua"]
  575. },
  576. {
  577. "name": "LuaVer",
  578. "define": "lua-ver",
  579. "doc": "The lua version to target.",
  580. "platforms": ["lua"],
  581. "params": ["version"]
  582. },
  583. {
  584. "name": "Macro",
  585. "define": "macro",
  586. "doc": "Defined when code is compiled in the macro context.",
  587. "links": ["https://haxe.org/manual/macro.html"],
  588. "reserved": true
  589. },
  590. {
  591. "name": "MacroTimes",
  592. "define": "times.macro",
  593. "deprecatedDefine": "macro-times",
  594. "signatureNeutral": true,
  595. "doc": "Display per-macro timing when used with `--times`."
  596. },
  597. {
  598. "name": "NekoSource",
  599. "define": "neko-source",
  600. "doc": "Output neko source instead of bytecode.",
  601. "platforms": ["neko"]
  602. },
  603. {
  604. "name": "NekoNoHaxelibPaths",
  605. "define": "neko-no-haxelib-paths",
  606. "doc": "Disable hard-coded Haxelib ndll paths.",
  607. "platforms": [
  608. "neko"
  609. ]
  610. },
  611. {
  612. "name": "NekoV1",
  613. "define": "neko-v1",
  614. "doc": "Keep Neko 1.x compatibility.",
  615. "platforms": ["neko"]
  616. },
  617. {
  618. "name": "NetworkSandbox",
  619. "define": "network-sandbox",
  620. "doc": "Use local network sandbox instead of local file access one.",
  621. "platforms": ["flash"]
  622. },
  623. {
  624. "name": "NoCompilation",
  625. "define": "no-compilation",
  626. "signatureNeutral": true,
  627. "doc": "Disable final compilation.",
  628. "platforms": ["cpp", "hl"]
  629. },
  630. {
  631. "name": "NoDebug",
  632. "define": "no-debug",
  633. "doc": "Remove all debug macros from cpp output."
  634. },
  635. {
  636. "name": "NoDeprecationWarnings",
  637. "define": "no-deprecation-warnings",
  638. "doc": "Do not warn if fields annotated with `@:deprecated` are used.",
  639. "deprecated": "Use -w to configure warnings. See https://haxe.org/manual/cr-warnings.html for more information."
  640. },
  641. {
  642. "name": "NoFlashOverride",
  643. "define": "no-flash-override",
  644. "doc": "Change overrides on some basic classes into HX suffixed methods",
  645. "platforms": ["flash"]
  646. },
  647. {
  648. "name": "NoOpt",
  649. "define": "no-opt",
  650. "doc": "Disable optimizations."
  651. },
  652. {
  653. "name": "NoInline",
  654. "define": "no-inline",
  655. "doc": "Disable inlining.",
  656. "links": ["https://haxe.org/manual/class-field-inline.html"]
  657. },
  658. {
  659. "name": "KeepInlinePositions",
  660. "define": "keep-inline-positions",
  661. "doc": "Don't substitute positions of inlined expressions with the position of the place of inlining.",
  662. "links": ["https://haxe.org/manual/class-field-inline.html"]
  663. },
  664. {
  665. "name": "NoMacroCache",
  666. "define": "no-macro-cache",
  667. "doc": "Disable macro context caching."
  668. },
  669. {
  670. "name": "NoSwfCompress",
  671. "define": "no-swf-compress",
  672. "doc": "Disable SWF output compression.",
  673. "platforms": ["flash"]
  674. },
  675. {
  676. "name": "NoTraces",
  677. "define": "no-traces",
  678. "doc": "Disable all trace calls."
  679. },
  680. {
  681. "name": "Objc",
  682. "define": "objc",
  683. "doc": "Sets the hxcpp output to Objective-C++ classes. Must be defined for interop.",
  684. "platforms": ["cpp"]
  685. },
  686. {
  687. "name": "OldErrorFormat",
  688. "define": "old-error-format",
  689. "doc": "Use Haxe 3.x zero-based column error messages instead of new one-based format.",
  690. "deprecated": "OldErrorFormat has been removed in Haxe 5"
  691. },
  692. {
  693. "name": "PhpPrefix",
  694. "define": "php-prefix",
  695. "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.",
  696. "platforms": ["php"],
  697. "params": ["dot-separated namespace"]
  698. },
  699. {
  700. "name": "PhpLib",
  701. "define": "php-lib",
  702. "doc": "Select the name for the php lib folder.",
  703. "platforms": ["php"],
  704. "params": ["folder name"]
  705. },
  706. {
  707. "name": "PhpFront",
  708. "define": "php-front",
  709. "doc": "Select the name for the php front file. (default: `index.php`)",
  710. "platforms": ["php"],
  711. "params": ["filename"]
  712. },
  713. {
  714. "name": "PythonVersion",
  715. "define": "python-version",
  716. "doc": "The python version to target. (default: 3.3)",
  717. "platforms": ["python"],
  718. "params": ["version"]
  719. },
  720. {
  721. "name": "RealPosition",
  722. "define": "real-position",
  723. "doc": "Removes position comments in Php output.",
  724. "platforms": ["php"]
  725. },
  726. {
  727. "name": "RetainUntypedMeta",
  728. "define": "retain-untyped-meta",
  729. "doc": "Prevents arbitrary expression metadata from being discarded upon typing."
  730. },
  731. {
  732. "name": "Scriptable",
  733. "define": "scriptable",
  734. "doc": "GenCPP internal.",
  735. "platforms": ["cpp"]
  736. },
  737. {
  738. "name": "ShallowExpose",
  739. "define": "shallow-expose",
  740. "doc": "Expose types to surrounding scope of Haxe generated closure without writing to window object.",
  741. "platforms": ["js"]
  742. },
  743. {
  744. "name": "SourceHeader",
  745. "define": "source-header",
  746. "doc": "Print value as comment on top of generated files, use '' value to disable."
  747. },
  748. {
  749. "name": "SourceMapContent",
  750. "define": "source-map-content",
  751. "doc": "Include the Haxe sources as part of the JS source map.",
  752. "platforms": ["js"]
  753. },
  754. {
  755. "name": "Static",
  756. "define": "static",
  757. "doc": "Defined if the current target is static.",
  758. "reserved": true
  759. },
  760. {
  761. "name": "StdEncodingUtf8",
  762. "define": "std-encoding-utf8",
  763. "doc": "Force utf8 encoding for stdin, stdout and stderr",
  764. "platforms": ["python"]
  765. },
  766. {
  767. "name": "Swc",
  768. "define": "swc",
  769. "doc": "Output a SWC instead of a SWF.",
  770. "platforms": ["flash"],
  771. "reserved": true
  772. },
  773. {
  774. "name": "SwfCompressLevel",
  775. "define": "swf-compress-level",
  776. "doc": "Set the amount of compression for the SWF output.",
  777. "platforms": ["flash"],
  778. "params": ["level: 1-9"]
  779. },
  780. {
  781. "name": "SwfDebugPassword",
  782. "define": "swf-debug-password",
  783. "doc": "Set a password for debugging.",
  784. "platforms": ["flash"],
  785. "params": ["password"]
  786. },
  787. {
  788. "name": "SwfDirectBlit",
  789. "define": "swf-direct-blit",
  790. "doc": "Use hardware acceleration to blit graphics.",
  791. "platforms": ["flash"]
  792. },
  793. {
  794. "name": "SwfGpu",
  795. "define": "swf-gpu",
  796. "doc": "Use GPU compositing features when drawing graphics.",
  797. "platforms": ["flash"]
  798. },
  799. {
  800. "name": "SwfHeader",
  801. "define": "swf-header",
  802. "doc": "define SWF header (width:height:fps:color)",
  803. "platforms": ["flash"]
  804. },
  805. {
  806. "name": "SwfMetadata",
  807. "define": "swf-metadata",
  808. "doc": "Include contents of the given file as metadata in the SWF.",
  809. "platforms": ["flash"],
  810. "params": ["file"]
  811. },
  812. {
  813. "name": "SwfPreloaderFrame",
  814. "define": "swf-preloader-frame",
  815. "doc": "Insert empty first frame in SWF.",
  816. "platforms": ["flash"]
  817. },
  818. {
  819. "name": "SwfProtected",
  820. "define": "swf-protected",
  821. "doc": "Compile Haxe `private` as `protected` in the SWF instead of `public`.",
  822. "platforms": ["flash"]
  823. },
  824. {
  825. "name": "SwfScriptTimeout",
  826. "define": "swf-script-timeout",
  827. "doc": "Maximum ActionScript processing time before script stuck dialog box displays.",
  828. "platforms": ["flash"],
  829. "params": ["time in seconds"]
  830. },
  831. {
  832. "name": "SwfUseDoAbc",
  833. "define": "swf-use-doabc",
  834. "doc": "Use `DoAbc` SWF-tag instead of `DoAbcDefine`.",
  835. "platforms": ["flash"]
  836. },
  837. {
  838. "name": "Sys",
  839. "define": "sys",
  840. "doc": "Defined for all system platforms.",
  841. "reserved": true
  842. },
  843. {
  844. "name": "UseNekoc",
  845. "define": "use-nekoc",
  846. "doc": "Use `nekoc` compiler instead of the internal one.",
  847. "platforms": ["neko"]
  848. },
  849. {
  850. "name": "Utf16",
  851. "define": "utf16",
  852. "doc": "Defined for all platforms that use UTF-16 string encoding with UCS-2 API.",
  853. "reserved": true
  854. },
  855. {
  856. "name": "Vcproj",
  857. "define": "vcproj",
  858. "doc": "GenCPP internal.",
  859. "platforms": ["cpp"]
  860. },
  861. {
  862. "name": "WarnVarShadowing",
  863. "define": "warn-var-shadowing",
  864. "doc": "Warn about shadowing variable declarations.",
  865. "deprecated": "Use -w to configure warnings. See https://haxe.org/manual/cr-warnings.html for more information."
  866. },
  867. {
  868. "name": "NoTre",
  869. "define": "no-tre",
  870. "doc": "Disable tail recursion elimination."
  871. },
  872. {
  873. "name": "MessageReporting",
  874. "define": "message.reporting",
  875. "signatureNeutral": true,
  876. "doc": "Select message reporting mode for compiler output. (default: pretty)",
  877. "default": "pretty",
  878. "params": ["mode: classic | pretty | indent"]
  879. },
  880. {
  881. "name": "MessageColor",
  882. "define": "message.color",
  883. "signatureNeutral": true,
  884. "doc": "Enable ANSI color codes in message reporting."
  885. },
  886. {
  887. "name": "MessageNoColor",
  888. "define": "message.no-color",
  889. "signatureNeutral": true,
  890. "doc": "Disable ANSI color codes in message reporting.",
  891. "deprecated": "Color is now disabled by default; use -D message.color to enable ANSI coloring."
  892. },
  893. {
  894. "name": "MessageAbsolutePositions",
  895. "define": "message.absolute-positions",
  896. "signatureNeutral": true,
  897. "doc": "Use absolute character positions instead of line/columns for message reporting."
  898. },
  899. {
  900. "name": "MessageLogFile",
  901. "define": "message.log-file",
  902. "signatureNeutral": true,
  903. "doc": "Path to a text file to write message reporting to, in addition to regular output."
  904. },
  905. {
  906. "name": "MessageLogFormat",
  907. "define": "message.log-format",
  908. "signatureNeutral": true,
  909. "doc": "Select message reporting mode for message log file. (default: indent)",
  910. "default": "indent",
  911. "params": ["format: classic | pretty | indent"]
  912. }
  913. ]