Simutrans Tools
Know our tools that can help you to create add-ons, install and customize Simutrans.

Disabled windres command

Started by Ters, October 06, 2013, 03:03:44 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.


I just noticed that simres.d is generated in the project root directory rather than in build/default like all the other .d files. As far as I can tell, this means that dependency evaluation for simres.rc don't work, so the entire .d file generation could as well be turned off.
The change (r5750) that disabled correct placement of simres.d has the comment "Fixes for compiling with Mingw GCC 4.x (current)". Does anyone remember any details about the problem? GCC 4.8.1 doesn't appear to have any problems if I uncomment the old command (and comment out the current).


I thing truelight did this, so I have no information on that either.


Parsley, sage, rosemary, and maggikraut.



r7131 breaks things again...

$ make
===> RES simres.rc
windres --preprocessor "g++ -E -xc -DRC_INVOKED -MMD -MF /build/simres.d -MT /build/simres.o" -O COFF simres.rc /build/simres.o
simres.rc:4:0: fatal error: opening dependency file /build/simres.d: No such file or directory
compilation terminated.
c:\MinGW\bin\windres.exe: preprocessing failed.
make: *** [/build/simres.o] Error 1


"/build"? That doesn't look right, unless you have a rather strange project setup.


BUILDDIR = /build

in config.default.  /build maps to RAM drive.


I deleted by build directory and started a build. There were no problems. My only difference is that I use the default BUILDDIR of "build/default" rather than "/build".


The default does work, but this beaks the BUILDDIR= ability.

===> RES simres.rc
windres --preprocessor "g++ -E -xc -DRC_INVOKED -MMD -MF build/default/simres.d -MT build/default/simres.o" -O COFF simr
es.rc build/default/simres.o
===> LD  build/default/sim


It is strange, because the command seems like it's interpreted correctly, since the error message shows a correct path. According to the error message, it seems it just can't open/create a file under /build. Perhaps the RAM-disk is full or something. Does it still fail if simres is moved earlier in the list of files to link?


Disk isn't full, and the order doesn't matter. I tried symlinks of trunk/build to the RAM disk, and mounting it under trunk/build instead of /build, but then none of the dependencies work. Limitations of MSYS I presume. But as long as the simres.d file is created in trunk/, it's happy with a nondefault BUILDDIR. Otherwise the simres.d just isn't created.


I would think the prime reason for setting a non-default builddir is because one doesn't want the build to happen in trunk (or subdirectory thereof) at all.