[ { "name": "AbsolutePath", "define": "absolute-path", "doc": "Print absolute file path in trace output." }, { "name": "AdvancedTelemetry", "define": "advanced-telemetry", "doc": "Allow the SWF to be measured with Monocle tool.", "platforms": ["flash"], "deprecated": "The flash target will be removed for Haxe 5" }, { "name": "AnalyzerOptimize", "define": "analyzer-optimize", "doc": "Perform advanced optimizations." }, { "name": "AnalyzerTimes", "define": "analyzer-times", "doc": "Record detailed timers for the analyzer", "params": ["level: 0 | 1 | 2"] }, { "name": "AnnotateSource", "define": "annotate-source", "doc": "Add additional comments to generated source code.", "platforms": ["cpp"] }, { "name": "CheckXmlProxy", "define": "check-xml-proxy", "doc": "Check the used fields of the XML proxy." }, { "name": "CoreApi", "define": "core-api", "doc": "Defined in the core API context." }, { "name": "Cppia", "define": "cppia", "doc": "Generate cpp instruction assembly." }, { "name": "NoCppiaAst", "define": "nocppiaast", "doc": "Use legacy cppia generation." }, { "name": "Dce", "define": "dce", "doc": "Set the dead code elimination mode. (default: std)", "params": ["mode: std | full | no"], "links": ["https://haxe.org/manual/cr-dce.html"] }, { "name": "DceDebug", "define": "dce-debug", "doc": "Show DCE log.", "links": ["https://haxe.org/manual/cr-dce.html"] }, { "name": "Debug", "define": "debug", "doc": "Activated when compiling with -debug." }, { "name": "DisableHxbCache", "define": "disable-hxb-cache", "doc": "Use in-memory cache instead of hxb powered cache." }, { "name": "DisableHxbOptimizations", "define": "disable-hxb-optimizations", "doc": "Disable shortcuts used by hxb cache to speed up display requests." }, { "name": "DisableUnicodeStrings", "define": "disable-unicode-strings", "doc": "Disable Unicode support in `String` type.", "platforms": ["cpp"] }, { "name": "Display", "define": "display", "doc": "Activated during completion.", "links": ["https://haxe.org/manual/cr-completion.html"] }, { "name": "DisplayStdin", "define": "display-stdin", "doc": "Read the contents of a file specified in `--display` from standard input." }, { "name": "DllExport", "define": "dll-export", "doc": "GenCPP experimental linking.", "platforms": ["cpp"] }, { "name": "DocGen", "define": "doc-gen", "doc": "Do not perform any removal/change in order to correctly generate documentation." }, { "name": "Dump", "define": "dump", "doc": "Dump typed AST in dump subdirectory using specified mode or non-prettified default.", "params": ["mode: pretty | record | position | legacy"] }, { "name": "DumpPath", "define": "dump-path", "doc": "Path to generate dumps to (default: \"dump\").", "params": ["path"] }, { "name": "DumpDependencies", "define": "dump-dependencies", "doc": "Dump the classes dependencies in a dump subdirectory." }, { "name": "DumpIgnoreVarIds", "define": "dump-ignore-var-ids", "doc": "Remove variable IDs from non-pretty dumps (helps with diff)." }, { "name": "DynamicInterfaceClosures", "define": "dynamic-interface-closures", "doc": "Use slow path for interface closures to save space.", "platforms": ["cpp"] }, { "name": "EvalCallStackDepth", "define": "eval-call-stack-depth", "doc": "Set maximum call stack depth for eval. (default: 1000)", "platforms": ["eval"], "params": ["depth"] }, { "name": "EvalDebugger", "define": "eval-debugger", "doc": "Support debugger in macro/interp mode. Allows `host:port` value to open a socket. Implies eval-stack.", "platforms": ["eval"] }, { "name": "EvalPrintDepth", "define": "eval-print-depth", "doc": "Set maximum print depth (before replacing with '<...>') for eval. (default: 5)", "platforms": ["eval"], "params": ["depth"] }, { "name": "EvalPrettyPrint", "define": "eval-pretty-print", "doc": "Enable indented output for eval printing.", "platforms": ["eval"] }, { "name": "EvalStack", "define": "eval-stack", "doc": "Record stack information in macro/interp mode.", "platforms": ["eval"] }, { "name": "EvalTimes", "define": "eval-times", "doc": "Record per-method execution times in macro/interp mode. Implies eval-stack.", "platforms": ["eval"] }, { "name": "FailFast", "define": "fail-fast", "doc": "Abort compilation when first error occurs." }, { "name": "FilterTimes", "define": "filter-times", "doc": "Record per-filter execution times upon --times." }, { "name": "Fdb", "define": "fdb", "doc": "Enable full flash debug infos for FDB interactive debugging.", "platforms": ["flash"], "deprecated": "The flash target will be removed for Haxe 5" }, { "name": "FileExtension", "define": "file-extension", "doc": "Output filename extension for cpp source code.", "platforms": ["cpp"] }, { "name": "FlashStrict", "define": "flash-strict", "doc": "More strict typing for flash target.", "platforms": ["flash"], "deprecated": "The flash target will be removed for Haxe 5" }, { "name": "FlashUseStage", "define": "flash-use-stage", "doc": "Keep the SWF library initial stage.", "platforms": ["flash"], "deprecated": "The flash target will be removed for Haxe 5" }, { "name": "ForceNativeProperty", "define": "force-native-property", "doc": "Tag all properties with `:nativeProperty` metadata for 3.1 compatibility.", "platforms": ["cpp"] }, { "name": "Haxe3Compat", "define": "haxe3compat", "doc": "Gives warnings about transition from Haxe 3.x to Haxe 4.0.", "deprecated": "This flag is no longer supported in Haxe 5" }, { "name": "HaxeBoot", "define": "haxe-boot", "doc": "Give the name 'haxe' to the flash boot class instead of a generated name.", "platforms": ["flash"], "deprecated": "The flash target will be removed for Haxe 5" }, { "name": "HaxeVer", "define": "haxe-ver", "doc": "The current Haxe version value as decimal number. E.g. 3.407 for 3.4.7.", "reserved": true }, { "name": "Haxe", "define": "haxe", "doc": "The current Haxe version value in SemVer format.", "reserved": true }, { "name": "HaxeNext", "define": "haxe-next", "doc": "Enable experimental features that are meant to be released on next Haxe version." }, { "name": "HaxeOutputFile", "define": "HAXE_OUTPUT_FILE", "doc": "Force the full output name of the executable/library without library prefix and debug suffix.", "platforms": ["cpp"], "params": ["name"] }, { "name": "HaxeOutputPart", "define": "HAXE_OUTPUT_PART", "doc": "Output name of the executable/library. (default: main class name)", "platforms": ["cpp"], "params": ["name"] }, { "name": "Hlc", "define": "hlc", "doc": "Defined by compiler when using hl/c target.", "platforms": ["hl"], "reserved": true }, { "name": "HlVer", "define": "hl-ver", "doc": "The HashLink version to target. (default: 1.10.0)", "platforms": ["hl"], "params": ["version"] }, { "name": "HxbTimes", "define": "hxb-times", "doc": "Display hxb timing when used with `--times`." }, { "name": "HxcppApiLevel", "define": "hxcpp-api-level", "doc": "Provided to allow compatibility between hxcpp versions.", "platforms": ["cpp"], "reserved": true }, { "name": "HxcppGcGenerational", "define": "HXCPP-GC-GENERATIONAL", "doc": "Experimental Garbage Collector.", "platforms": ["cpp"] }, { "name": "HxcppDebugger", "define": "HXCPP-DEBUGGER", "doc": "Include additional information for hxcpp-debugger.", "platforms": ["cpp"] }, { "name": "HxcppGcMoving", "define": "HXCPP-GC-MOVING", "doc": "Allow garbage collector to move memory to reduce fragmentation", "platforms": ["cpp"] }, { "name": "HxcppGcSummary", "define": "HXCPP-GC-SUMMARY", "doc": "Print small profiling summary at end of program", "platforms": ["cpp"] }, { "name": "HxcppGcDynamicSize", "define": "HXCPP-GC-DYNAMIC-SIZE", "doc": "Monitor GC times and expand memory working space if required", "platforms": ["cpp"] }, { "name": "HxcppGcBigBlocks", "define": "HXCPP-GC-BIG-BLOCKS", "doc": "Allow working memory greater than 1 Gig", "platforms": ["cpp"] }, { "name": "HxcppGcDebugLevel", "define": "HXCPP-GC-DEBUG-LEVEL", "doc": "Number 1-4 indicating additional debugging in GC", "platforms": ["cpp"] }, { "name": "HxcppDebugLink", "define": "HXCPP-DEBUG-LINK", "doc": "Add symbols to final binary, even in release mode.", "platforms": ["cpp"] }, { "name": "HxcppStackTrace", "define": "HXCPP-STACK-TRACE", "doc": "Have valid function-level stack traces, even in release mode.", "platforms": ["cpp"] }, { "name": "HxcppStackLine", "define": "HXCPP-STACK-LINE", "doc": "Include line information in stack traces, even in release mode.", "platforms": ["cpp"] }, { "name": "HxcppCheckPointer", "define": "HXCPP-CHECK-POINTER", "doc": "Add null-pointer checks, even in release mode.", "platforms": ["cpp"] }, { "name": "HxcppProfiler", "define": "HXCPP-PROFILER", "doc": "Add profiler support", "platforms": ["cpp"] }, { "name": "HxcppTelemetry", "define": "HXCPP-TELEMETRY", "doc": "Add telemetry support", "platforms": ["cpp"] }, { "name": "HxcppCpp11", "define": "HXCPP-CPP11", "doc": "Use C++11 features and link libraries", "platforms": ["cpp"] }, { "name": "HxcppVerbose", "define": "HXCPP-VERBOSE", "doc": "Print extra output from build tool.", "platforms": ["cpp"] }, { "name": "HxcppTimes", "define": "HXCPP-TIMES", "doc": "Show some basic profiling information", "platforms": ["cpp"] }, { "name": "HxcppM32", "define": "HXCPP-M32", "doc": "Force 32-bit compile for current desktop", "platforms": ["cpp"] }, { "name": "HxcppM64", "define": "HXCPP-M64", "doc": "Force 64-bit compile for current desktop", "platforms": ["cpp"] }, { "name": "HxcppArm64", "define": "HXCPP-ARM64", "doc": "Compile arm-based devices for 64 bits", "platforms": ["cpp"] }, { "name": "HxcppLinuxArm64", "define": "HXCPP-LINUX-ARM64", "doc": "Run on a linux ARM64 device", "platforms": ["cpp"] }, { "name": "HxcppSmartStings", "define": "hxcpp-smart-strings", "doc": "Use wide strings in hxcpp. (Turned on by default unless `-D disable-unicode-strings` is specified.)", "platforms": ["cpp"] }, { "name": "IncludePrefix", "define": "include-prefix", "doc": "Prepend path to generated include files.", "platforms": ["cpp"] }, { "name": "Interp", "define": "interp", "doc": "The code is compiled to be run with `--interp`." }, { "name": "JsClassic", "define": "js-classic", "doc": "Don't use a function wrapper and strict mode in JS output.", "platforms": ["js"] }, { "name": "JsEs", "define": "js-es", "doc": "Generate JS compliant with given ES standard version. (default: 5)", "platforms": ["js"], "params": ["version: 3 | 5 | 6"], "links": ["https://haxe.org/manual/target-javascript-es6.html"] }, { "name": "JsEnumsAsArrays", "define": "js-enums-as-arrays", "doc": "Generate enum representation as array instead of as object.", "platforms": ["js"] }, { "name": "JsGlobal", "define": "js_global", "doc": "Customizes the global object name.", "platforms": ["js"] }, { "name": "JsUnflatten", "define": "js-unflatten", "doc": "Generate nested objects for packages and types.", "platforms": ["js"] }, { "name": "JsSourceMap", "define": "js-source-map", "doc": "Generate JavaScript source map even in non-debug mode. Deprecated in favor of `-D source-map`.", "platforms": ["js"] }, { "name": "SourceMap", "define": "source-map", "doc": "Generate source map for compiled files.", "platforms": ["php", "js"] }, { "name": "JvmCompressionLevel", "define": "jvm.compression-level", "doc": "Set the compression level of the generated file between 0 (no compression) and 9 (highest compression). Default: 6", "platforms": ["jvm"] }, { "name": "JvmDynamicLevel", "define": "jvm.dynamic-level", "doc": "Controls the amount of dynamic support code being generated. 0 = none, 1 = field read/write optimization (default), 2 = compile-time method closures", "platforms": ["jvm"] }, { "name": "LoopUnrollMaxCost", "define": "loop-unroll-max-cost", "doc": "Maximum cost (number of expressions * iterations) before loop unrolling is canceled. (default: 250)", "params": ["cost"] }, { "name": "LuaJit", "define": "lua-jit", "doc": "Enable the jit compiler for lua (version 5.2 only).", "platforms": ["lua"] }, { "name": "LuaVanilla", "define": "lua-vanilla", "doc": "Generate code lacking compiled extern lib support (e.g. utf8).", "platforms": ["lua"] }, { "name": "LuaVer", "define": "lua-ver", "doc": "The lua version to target.", "platforms": ["lua"], "params": ["version"] }, { "name": "Macro", "define": "macro", "doc": "Defined when code is compiled in the macro context.", "links": ["https://haxe.org/manual/macro.html"], "reserved": true }, { "name": "MacroTimes", "define": "macro-times", "doc": "Display per-macro timing when used with `--times`." }, { "name": "NekoSource", "define": "neko-source", "doc": "Output neko source instead of bytecode.", "platforms": ["neko"] }, { "name": "NekoNoHaxelibPaths", "define": "neko-no-haxelib-paths", "doc": "Disable hard-coded Haxelib ndll paths.", "platforms": [ "neko" ] }, { "name": "NekoV1", "define": "neko-v1", "doc": "Keep Neko 1.x compatibility.", "platforms": ["neko"] }, { "name": "NetworkSandbox", "define": "network-sandbox", "doc": "Use local network sandbox instead of local file access one.", "platforms": ["flash"], "deprecated": "The flash target will be removed for Haxe 5" }, { "name": "NoCompilation", "define": "no-compilation", "doc": "Disable final compilation.", "platforms": ["cpp", "hl"] }, { "name": "NoDebug", "define": "no-debug", "doc": "Remove all debug macros from cpp output." }, { "name": "NoDeprecationWarnings", "define": "no-deprecation-warnings", "doc": "Do not warn if fields annotated with `@:deprecated` are used.", "deprecated": "Use -w to configure warnings. See https://haxe.org/manual/cr-warnings.html for more information." }, { "name": "NoFlashOverride", "define": "no-flash-override", "doc": "Change overrides on some basic classes into HX suffixed methods", "platforms": ["flash"], "deprecated": "The flash target will be removed for Haxe 5" }, { "name": "NoOpt", "define": "no-opt", "doc": "Disable optimizations." }, { "name": "NoInline", "define": "no-inline", "doc": "Disable inlining.", "links": ["https://haxe.org/manual/class-field-inline.html"] }, { "name": "KeepInlinePositions", "define": "keep-inline-positions", "doc": "Don't substitute positions of inlined expressions with the position of the place of inlining.", "links": ["https://haxe.org/manual/class-field-inline.html"] }, { "name": "NoMacroCache", "define": "no-macro-cache", "doc": "Disable macro context caching." }, { "name": "NoSwfCompress", "define": "no-swf-compress", "doc": "Disable SWF output compression.", "platforms": ["flash"], "deprecated": "The flash target will be removed for Haxe 5" }, { "name": "NoTraces", "define": "no-traces", "doc": "Disable all trace calls." }, { "name": "Objc", "define": "objc", "doc": "Sets the hxcpp output to Objective-C++ classes. Must be defined for interop.", "platforms": ["cpp"] }, { "name": "OldErrorFormat", "define": "old-error-format", "doc": "Use Haxe 3.x zero-based column error messages instead of new one-based format." }, { "name": "PhpPrefix", "define": "php-prefix", "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.", "platforms": ["php"], "params": ["dot-separated namespace"] }, { "name": "PhpLib", "define": "php-lib", "doc": "Select the name for the php lib folder.", "platforms": ["php"], "params": ["folder name"] }, { "name": "PhpFront", "define": "php-front", "doc": "Select the name for the php front file. (default: `index.php`)", "platforms": ["php"], "params": ["filename"] }, { "name": "PythonVersion", "define": "python-version", "doc": "The python version to target. (default: 3.3)", "platforms": ["python"], "params": ["version"] }, { "name": "RealPosition", "define": "real-position", "doc": "Removes position comments in Php output.", "platforms": ["php"] }, { "name": "RetainUntypedMeta", "define": "retain-untyped-meta", "doc": "Prevents arbitrary expression metadata from being discarded upon typing." }, { "name": "Scriptable", "define": "scriptable", "doc": "GenCPP internal.", "platforms": ["cpp"] }, { "name": "ShallowExpose", "define": "shallow-expose", "doc": "Expose types to surrounding scope of Haxe generated closure without writing to window object.", "platforms": ["js"] }, { "name": "SourceHeader", "define": "source-header", "doc": "Print value as comment on top of generated files, use '' value to disable." }, { "name": "SourceMapContent", "define": "source-map-content", "doc": "Include the Haxe sources as part of the JS source map.", "platforms": ["js"] }, { "name": "Static", "define": "static", "doc": "Defined if the current target is static.", "reserved": true }, { "name": "StdEncodingUtf8", "define": "std-encoding-utf8", "doc": "Force utf8 encoding for stdin, stdout and stderr", "platforms": ["python"] }, { "name": "Swc", "define": "swc", "doc": "Output a SWC instead of a SWF.", "platforms": ["flash"], "reserved": true, "deprecated": "The flash target will be removed for Haxe 5" }, { "name": "SwfCompressLevel", "define": "swf-compress-level", "doc": "Set the amount of compression for the SWF output.", "platforms": ["flash"], "params": ["level: 1-9"], "deprecated": "The flash target will be removed for Haxe 5" }, { "name": "SwfDebugPassword", "define": "swf-debug-password", "doc": "Set a password for debugging.", "platforms": ["flash"], "params": ["password"], "deprecated": "The flash target will be removed for Haxe 5" }, { "name": "SwfDirectBlit", "define": "swf-direct-blit", "doc": "Use hardware acceleration to blit graphics.", "platforms": ["flash"], "deprecated": "The flash target will be removed for Haxe 5" }, { "name": "SwfGpu", "define": "swf-gpu", "doc": "Use GPU compositing features when drawing graphics.", "platforms": ["flash"], "deprecated": "The flash target will be removed for Haxe 5" }, { "name": "SwfHeader", "define": "swf-header", "doc": "define SWF header (width:height:fps:color)", "platforms": ["flash"], "deprecated": "The flash target will be removed for Haxe 5" }, { "name": "SwfMetadata", "define": "swf-metadata", "doc": "Include contents of the given file as metadata in the SWF.", "platforms": ["flash"], "params": ["file"], "deprecated": "The flash target will be removed for Haxe 5" }, { "name": "SwfPreloaderFrame", "define": "swf-preloader-frame", "doc": "Insert empty first frame in SWF.", "platforms": ["flash"], "deprecated": "The flash target will be removed for Haxe 5" }, { "name": "SwfProtected", "define": "swf-protected", "doc": "Compile Haxe `private` as `protected` in the SWF instead of `public`.", "platforms": ["flash"], "deprecated": "The flash target will be removed for Haxe 5" }, { "name": "SwfScriptTimeout", "define": "swf-script-timeout", "doc": "Maximum ActionScript processing time before script stuck dialog box displays.", "platforms": ["flash"], "params": ["time in seconds"], "deprecated": "The flash target will be removed for Haxe 5" }, { "name": "SwfUseDoAbc", "define": "swf-use-doabc", "doc": "Use `DoAbc` SWF-tag instead of `DoAbcDefine`.", "platforms": ["flash"], "deprecated": "The flash target will be removed for Haxe 5" }, { "name": "Sys", "define": "sys", "doc": "Defined for all system platforms.", "reserved": true }, { "name": "UseNekoc", "define": "use-nekoc", "doc": "Use `nekoc` compiler instead of the internal one.", "platforms": ["neko"] }, { "name": "Utf16", "define": "utf16", "doc": "Defined for all platforms that use UTF-16 string encoding with UCS-2 API.", "reserved": true }, { "name": "Vcproj", "define": "vcproj", "doc": "GenCPP internal.", "platforms": ["cpp"] }, { "name": "WarnVarShadowing", "define": "warn-var-shadowing", "doc": "Warn about shadowing variable declarations.", "deprecated": "Use -w to configure warnings. See https://haxe.org/manual/cr-warnings.html for more information." }, { "name": "NoTre", "define": "no-tre", "doc": "Disable tail recursion elimination." }, { "name": "MessageReporting", "define": "message.reporting", "doc": "Select message reporting mode for compiler output. (default: pretty)", "params": ["mode: classic | pretty | indent"] }, { "name": "MessageNoColor", "define": "message.no-color", "doc": "Disable ANSI color codes in message reporting." }, { "name": "MessageAbsolutePositions", "define": "message.absolute-positions", "doc": "Use absolute character positions instead of line/columns for message reporting." }, { "name": "MessageLogFile", "define": "message.log-file", "doc": "Path to a text file to write message reporting to, in addition to regular output." }, { "name": "MessageLogFormat", "define": "message.log-format", "doc": "Select message reporting mode for message log file. (default: indent)", "params": ["format: classic | pretty | indent"] } ]