It's not a matter of validity.
TCC_TARGET_PE is defined while compiling e.g. tcc.c if the resulting tcc
binary generates windows (32, 64, or CE) binaries. This can be either if the
resulting tcc is a "normal" windows compiler, or if it's a cross compiler which
target windows (e.g. runs on linux but creates windows binaries).
_WIN32 is defined when the resulting tcc binary itself is a windows executable
(which doesn't guarantee it's a native windows compiler - it can be a cross
compiler which runs on windows and generates linux binaries).
So if one of _WIN32/TCC_TARGET_PE is defined but the other isn't, it means it's
a cross compiler from/to windows - which should disable -run by making sure
none of the inner tests ever get the chance to define TCC_IS_NATIVE .
On Tuesday, December 19, 2017 3:34 AM, Michael B. Smith <address@hidden> wrote:
Forgive me for my ignorance. What targets is TCC_TARGET_PE valid for?
From: Tinycc-devel [mailto:address@hidden
On Behalf Of avih
Sent: Monday, December 18, 2017 8:15 PM
To: address@hidden
Subject: Re: [Tinycc-devel] a patch
I don't think so, or else you'll disable -run on any non-win32 platform.
As far as I can tell, the goal of this condition is to test that it's not
a win32 cross compiler, i.e. either native win32 binary which targets win32, or
not win32 binary and not targeting win32.
On Tuesday, December 19, 2017 2:18 AM, Michael B. Smith <address@hidden> wrote:
tcc.h line 153 should be:
#if
defined
_WIN32
&&
defined
TCC_TARGET_PE
Sorry. I don’t have git set up yet. Working on it.