1. it should be WX_SUFFIX=u and not $WX_SUFFIX=u (latter didn't compile correctly for me)
Right, and this is why macro expansion was/is broken at all.
I spent 2 days searching what was wrong when in fact, nothing was wrong, only MacrosManager was given $VARIABLE instead of VARIABLE as name. I thought that this was only what is
shown in the dialog, but the variable name is actaully
changed. And you seem to have no way to do differently. If you delete the '$', it is added back when you close the dialog!
Unluckily, I could not find where the '$' is being added, so I finally did this before adding names to MacrosMap:
if(key[0] == _T('$'));
key = key.Mid(1);and it seemed to work immediately. My test project went ok, and even Code::Blocks (as the ultimate test) compiled fine. However, the problem you are having now seems to come exactly from these two lines. If I comment them out, that problem is gone (but the first problem is back).
Yiannis is doing a compiler overhaul today, so the build calculations are not all done before the build starts. In this course, he will look into the variable issue too, as variables are being initialised and replaced at different times anyway.
wx_cfg is missing in the latest build (1578). Is this intentional. I would think that it should be kept since this allows you to have different wx/setup.h files for unicode/nonunicode.
2. WX_CFG=Unicode is still needed to use the Directories settings as is:
Not intentional, and yes it is... I don't see a use for it really.
What you describe is exactly what WX_SUFFIX does (if it works). Your
setup.h is located either in
msw or in
mswu.
WX_CFG was used in a strange, unhealthy way, giving you a path like
lib/gcc_dllUnicode/msw when it really should just be
lib/gcc_dll/mswu. At least in my setup it always did... your mileage may vary.
But hey, if you absolutely need
WX_CFG, there is no reason against it