[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: make distcheck is not using the specified compiler
From: |
Ralf Wildenhues |
Subject: |
Re: make distcheck is not using the specified compiler |
Date: |
Sat, 19 Jun 2010 23:06:08 +0200 |
User-agent: |
Mutt/1.5.20 (2010-04-22) |
* 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