Hello, Lassi!
> (Apropos: autoconf should be able to keep the LIBS and LDFLAGS for
> different languages separate. I am not sure it should do it by default,
> but it should be possible.)
I like this idea, but I don't see how to implement it without breaking
backward compatability. It's a good topic for another thread, but please
change the subject.
> - In 2.13 (2.12?), AC_PROG_CXXCPP had a bug in that if `$CXXCPP'
> was set, it got nuked instead of getting used. This happens
> because it assigns value to `CXXCPP' from `ac_cv_prog_CXXCPP',
> but only sets the latter if the former was empty...
This has been fixed.
> ...> cl -E foo.c > nul
> Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8804 for
> 80x86
> Copyright (C) Microsoft Corp 1984-1998. All rights reserved.
>
> foo.c
So, it it M$VC that prints the file name to stderr! We shouldn't need to
filter it out - see below why.
> foo.c(1) : fatal error C1083: Cannot open include file: 'nonexistent.h':
> No such file or directory
> ...> echo %errorlevel%
> 2
Yes! Thank you!
The output of cl doesn't need to be checked - the exit status should.
> ...> cl -E -TP foo.cc >nul
> Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8804 for
> 80x86
> Copyright (C) Microsoft Corp 1984-1998. All rights reserved.
>
> foo.cc
> foo.cc(1) : fatal error C1083: Cannot open include file:
> 'nonexistent.h': No such file or directory
> ...> echo %errorlevel%
> 2
The same for C++. Time to remove two (!!!) workaronds for the same
problem. The patch will go to [EMAIL PROTECTED]
> c++ -o foo foo.o -L/some/where -lbar
> must become:
> cl -c -Tpfoo.cxx -Fofoo.obj
> cl -Fefoo.exe foo.obj bar.lib -link -LIBPATH:\some\where
This is too dirty. Only a wrapper can help. Make sure to preserve
errorlevel.
Regards,
Pavel Roskin