Ralf Wildenhues wrote: > * Peter Ekberg wrote on Thu, Aug 11, 2005 at 11:38:59AM CEST: > > > > I ported the patch over to HEAD (took some work, but not too > > difficult, the worst incompatibility was that the > > $file_list_spec feature have been added for AIX which I hooked > > into instead of hardcoding approximately the same thing for > > MSVC) > > OK. I'm planning on rewriting that part eventually anyway. > > > Anyway, here's testsuite.log and I configured with: > > ../configure CC=cl CFLAGS=-MD CXX=cl CXXFLAGS=-MD STRIP=: RANLIB=: > > F77=no FC=no NM="dumpbin -symbols" AR=lib LD=link > > Good. > > > I also fixed the compile mode to add -TC or -TP for MSVC > > instead of removing those flags in func_mode_link, which > > was what you sufggested. But a couple of the tests (14 > > and 15, template.at) still trips on this issue as they > > use $CXX directly instead of libtool's compile mode... > > Hrmpf. We can do the -TC/-TP munging inside the libtool script, > but people expect to be able to use $CXX as done in the tests. > See, not everybody uses Automake, and these people cannot be > expected to use libtool for compilation of code which does not > end up in a shared library. > > I don't see an easy way out here. Either these people will just > have to rename their files *.cpp or use some wrapper for MSVC. :-/ > > I'm hesitant to change the testsuite to use libtool compile mode > everywhere, exactly so that we catch such issues before bug reports > reach us. So, let's change the respective file names. > > For the general case, I'm not certain which way is good: > Set -TC in CXX, and override CXXLD, or set -TC in per-target CPPFLAGS? > The latter still won't work for mixed C/C++ code. In any > case, the user > will have to manually adapt if the package author did not use .cpp.
Well, I didn't know about those tests when I figured fixing it in the compile mode was the easiest. And since people apparently also expect to link without libtool (see tests/demo-hardcode.test), there is as you say no easy way out here. Looks like my first assessment was correct, -TC/-TP are useless. I suppose one approach does not contradict the other, we can both add -TC/-TP in compile mode and zap them in link mode. But, since there is no perfect solution, I kind of think it should just be required that sources are named *.cpp if you want to be portable. Wonder if there is some other braindead C++ compiler that only understands *.cc or something. That would be ... fun. You lost me in the last paragraph. What is CXXLD? The linker used to link C++ stuff? What do you mean by "per-target CPPFLAGS"? The whole paragraph does not make sence to me, I just don't get what you are trying to say... Regarding those tests in the new testsuite, they are using both the -c and the -o flags, without regard to the outcome of the _LT_COMPILER_C_O macro. Not that I suffer from this and I guess you where aware of it, but it is a tiny tiny point in favour of using the libtool compile mode :-) > (Note: we need to provide patches for Automake.) I'm lost there, haven't really looked at perl code in ages, and my perl knowledge is, err, limited... > > Also, test 11 (link-order.at) seems to need some -no-undefined > > flags. I get: > > ACK. > > *snip* > > There are more similar warnings for other libs in that test. > > OK. I just realized that stresstest doesn't do half the damage > that I want it to expose on win32. Will propose an updated version > soon, which I expect to break on several platforms. Noooooo, more work :-) > Meanwhile, I installed these patches below. If inherited_flags still > fails, at least we should now be able to see why. Thanks! *snip*