automake
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]