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.
                                          

Attachment: 001-add-unicode-startup-code-to-libtcc.patch
Description: Binary data

Attachment: 002-enable-unicode-startup-code-in-build-scripts.patch
Description: Binary data

Attachment: 003-replace-ternary-operator.patch
Description: Binary data

Attachment: 004-enable-support-for-unicode-programs.patch
Description: Binary data

_______________________________________________
Tinycc-devel mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/tinycc-devel

Reply via email to