Use Executable_cpp instead of default gcc as preprocessor for windres
...to avoid having GCC as yet another prerequisite on Windows. Cygwin 'man windres' states: "The default preprocessor argument is 'gcc -E -xc-header -DRC_INVOKED'." Of those arguments, -E and -xc-header are not relevant for Executable_cpp, so only -DRC_INVOKED is kept. Additional arguments that turned out to be necessary are: -I$(ATL_INCLUDE) So that #include <afxres.h> in workdir/UnpackedTarball/libgpg-error/src/versioninfo.rc is found. (Not sure how the original code using gcc found this.) -+ So that using a C++ style comment in #include "winres.h" // extract from windows header in afxres.h does not cause a "Syntax error in #include" from Executable_cpp. $(SOLARINC) So that #include "winres.h" // extract from windows header in afxres.h is found. (Not sure how the original code using gcc found this.) -DWINAPI_FAMILY=0 Because dlgs.h (included indirectly from afxres.h) contains #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) [...] typedef struct tagCRGB { BYTE bRed; BYTE bGreen; BYTE bBlue; BYTE bExtra; } CRGB; /* RGB Color */ and the WINAPI_FAMILY_PARTITION conditional (defined in winapifamily.h) would be true, causing the output to contain those "typedef struct tagCRGB ..." tokens that windres apparently doesn't expect (failing with "windres: can't open file `tagCRGB': No such file or directory"). (Not sure how the original code using gcc avoided this.) Change-Id: Ic2d031c72025f2e9dbde26c774215d2d2d0a43a9 Reviewed-on: https://gerrit.libreoffice.org/45334Reviewed-by:Stephan Bergmann <sbergman@redhat.com> Tested-by:
Stephan Bergmann <sbergman@redhat.com>
Showing
Please
register
or
sign in
to comment