Charles Wilson wrote:
First, tho, the proposed change should NOT be committed. Since I'm the
one who created the exe wrapper system, maybe I should explain why it's
there: to fix the "relink on install" problem. Remember when 'make
install' would rebuild every executable (sometimes multiple times),
because the make target was foo$(EXE) but the only prog that existed
where make could see it was the shell script wrapper foo?
That's why libtool, on Windows platforms, creates an executable wrapper
named ./foo$(EXE) -- to ensure that make will not try to rebuild the
"real" executable unless it really needs to. The exe-wrapper has a
simple job: it runs the shell script wrapper foo, which in turn sets up
the environment so that the REAL exe, .libs/foo.exe (or sometimes
..libs/foo-lt.exe), can operate properly (find its DLLs, etc).
Yes, it's cumbersome and overly complicated -- but we can't dispense
with the shell script wrapper, because there are times when libtool
itself needs to parse the CONTENTS of that wrapper. If ALL we had were
the exe-wrapper, then libtool wouldn't be able to do that. So, on
Windows, we have both, chained together -- because they solve different
problems.
I think I understand what you said. However, the fact is I have solve
some little problem in Mingw/msys using this patch. For example, without
this patch, I can't make successful installation with gettext-cvs(I
configured with --enable-shared), and can't make nobase.test of
automake-cvs pass.
Sorry for that I haven't test this patch on other platform.