HaxeFoundation / haxe

Haxe - The Cross-Platform Toolkit
https://haxe.org
6.08k stars 646 forks source link

C# dll compiler flags not sensibly documented #3829

Closed pboyer closed 1 year ago

pboyer commented 9 years ago

As discussed here: https://groups.google.com/forum/?hl=en#!topic/haxelang/ytuctcHOFqk

Using -D dll provides the ability to generate a dll (as opposed to an exe) when compiling for C#. This is not documented at the command line or the docs - would be great if it was.

Thanks for this great tool!

Simn commented 9 years ago

The problem is that this flag is not used by the actual Haxe compiler but by the hxcs library: https://github.com/HaxeFoundation/hxcs

I don't know what to do with these target-specific flags; there are a lot of them for hxcpp as well and there might even be conflicts between different targets. It might be better to not have these on the command line but instead add them to the target details section of the manual.

Justinfront commented 9 years ago

I think we should require a library preface for well established libraries, so we could list them in the compiler. --help-library-defines but require they are clearly library associated -D hxcs-dll or maybe get haxelib to install them. If we define them when submitting a haxelib there would be no conflict but then again -D hxcs-dll is also package safe.

kLabz commented 5 years ago

@Simn should these defines be prefixed with hxcpp, hxcs etc.? There are already hxcpp-api-level and hxcpp-smart-strings in current --help-defines output.

I could make a PR to hxcs to support both prefixed and not prefixed versions + a PR here to add the prefixed ones in define.json.

Gama11 commented 5 years ago

If anything, should probably make use of the new "define namespaces"? hxcpp.api-level, hxcpp.smart-strings...

kLabz commented 5 years ago

Added support for hxcs.definename in hxcs PR

This also includes some kind of documentation for these specific defines, but I'm not sure how to expose them..

Simn commented 1 year ago

Closing old C# issue that won't be addressed.