* Peter Rosin wrote on Sat, Jun 19, 2010 at 09:54:22PM CEST: > The configure script has the following (admittedly boilerplate) > text in its --help output: > > Usage: ./configure [OPTION]... [VAR=VALUE]... > > To assign environment variables (e.g., CC, CFLAGS...), specify them as > VAR=VALUE. See below for descriptions of some of the useful variables. > > So, I think CC=cl should be propagated...
Problem is, we do the sub-configure for amhello manually, and we don't know what variables to propagate there; so you basically have to put them in the environment. > Further, if I work around the above by exporting CC and CFLAGS etc > instead, the make distcheck fails (or maybe some other dist related > make target) since MSVC creates a hello.exe.manifest file that isn't > cleaned up. These are the last lines of output: > ERROR: files left in build directory after distclean: > ./src/hello.exe.manifest > make[3]: *** [distcleancheck] Error 1 > Now, I can get past this if I rm the offending file with the correct > timing but I fear that I will have the same trouble with "real" projects. Yes, that will be an issue with several tests in the testsuite, and of course real project.s > It would be nice to be able to distcheck projects with MSVC so I'm > asking if it would be possible to clean up that file. I'm not that > familiar with neither perl nor the codebase, otherwise I would have > proposed a patch, but I'm sure someone can come up with the (expected) > one-liner pretty quickly if it's deemed OK to zap > %PROGRAM%%EXEEXT%.manifest (or however it's spelled) during make clean. > > But perhaps there are projects that provide a manually written > manifest file? In that case it would be pretty evil to zap the file. > Would it be possible to detect the difference between a manually > written manifest file and an auto-generated one automatically? > Maybe not zap it if it's older than the executable? Timing is not a good indicator. Let's get semantics right first. First issue will be that configure leaves conftest.exe.manifest files behind. You might have to edit _AC_COMPILER_EXEEXT_DEFAULT, _AC_COMPILER_OBJEXT_REJECT, _AC_COMPILER_EXEEXT in autoconf/lib/autoconf/lang.m4 for its testsuite to pass. Then programs in Automake. Something like "remove the .manifest unless there is a rule for it or it is listed in DISTFILES in the same makefile which has the *_PROGRAMS entry for it"? Cheers, Ralf