Sorry for the delay, I couldn't reply earlier. I agree source separation isn't needed, using the tchar header and modifying the build scripts would suffice, but I wouldn't know how to modify the one for CMake accordingly.
I don't see the need to the flag being added outside of the pe_add_runtime()
function, unless Unicode builds are to be detected using the _UNICODE macro. If
you intend to detect an Unicode build when adding the appropriate startup code
you just need to check in pr_add_runtime() if it is such a build or not (that's
what the pe_is_unicode() was intended for).
As grischka mentioned directly executing Unicode builds would require the TCC
executable to be an Unicode build as well, and it would then need to take care
of the encoding conversion when running programs that use the traditional
variable-width strings. Personally, I don't think there's much benefit in being
able to run Unicode builds directly (passing Unicode arguments via a cmd
requires the default setup to be changed at least).
Attached to this email are a set of patches atop the current mob head:
- 001: Modifies crt1.c and wincrt1.c to add support for Unicode builds.
- 002: Enables such modifications in the Windows build script (build-tcc.bat)
and for Linux->Win32 cross compilations.
- 003: Replaces the ternary operator structure by the equivalent if-else tree
in tccpe.c.
- 004: Finally enables Unicode builds modifying tccpe.c, throws an error if a
Unicode build is detected to be directly ran.
Regards,
Alex.
001-add-unicode-startup-code-to-libtcc.patch
Description: Binary data
002-enable-unicode-startup-code-in-build-scripts.patch
Description: Binary data
003-replace-ternary-operator.patch
Description: Binary data
004-enable-support-for-unicode-programs.patch
Description: Binary data
_______________________________________________ Tinycc-devel mailing list [email protected] https://lists.nongnu.org/mailman/listinfo/tinycc-devel
