This is the mail archive of the automake@gnu.org mailing list for the automake project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Programs differing only by ".exe" suffix: subtle Libtool 1.3



On 25-May-99 Alexandre Oliva wrote:
> On May 23, 1999, Thomas Tanner <tanner@gmx.de> wrote:
> 
>> On 22-May-99 Matthew D. Langston wrote:
>>> In a nutshell, an Automake/Libtool package becomes "broken" when two
>>> programs (i.e. in some Automake "_PROGRAMS" primary) differ in their
>>> names only by the suffix ".exe".  For example, the following snippet
>>> from `Makefile.am' works as expected:
> 
>>  Thanks. Fixed.
>  
> Yep, but your fix will break msdos/djgpp :-(

Ah.  I hadn't noticed =(O|
 
> We could add *msdos* and *djgpp* to the list of matches, but I fear we
> might forget some platform, so I'd rather revert the patch for 1.3.2,
> for considering it too risky, and install a proper fix for 1.4, which
> would involve checking for AC_EXEEXT in AC_LIBTOOL_SETUP and arrange
> that the detected extension is passed to ltconfig, and that ltconfig
> creates a sed script to provide the script name, given the executable
> name, and stores it in the configuration section of libtool.

I agree.  1.4 is probably some months away, and it would be nice to not
have to maintain 1.3.2 too much...
 
> What do you think, should we just add more alternatives to .exe
> removal or retain the 1.3 behavior in 1.3.2?

I think we should revert the patch for 1.3.2. 

Unfortunately the correct fix is somewhat more complicated than how you
describe it.  As you know, because the win32 kernel insists that all files with
an .exe suffix do not have their magic number checked and are simply executed
as binaries, we are creating wrapper scripts with the exe suffix stripped.  The
problem that this introduces is that any make rules which depend on the
presence of the .exe file will trigger if shared libraries have been built by
libtool and wrapper scripts are used.  In other words, when using shared
libraries on win32 with libtool. all executables are rebuilt every time make is
run (because the .exe file is not present even after a successful link).

I'm not even sure how to fix this cleanly.  I fear it may involve yet more
stamp-files and changes to automake =(O|

Cheers,
        Gary.
-- 
  ___              _   ___   __              _  email:gary@oranda.demon.co.uk
 / __|__ _ _ ___ _| | / / | / /_ _ _  _ __ _| |_  __ _ ___       gary@gnu.org 
| (_ / _` | '_|// / |/ /| |/ / _` | || / _` | ' \/ _` | _ \
 \___\__,_|_|\_, /|___(_)___/\__,_|\_,_\__, |_||_\__,_|//_/
home page:  /___/                      /___/                pgp-2 public key:
http://www.oranda.demon.co.uk               http://www.oranda.demon.co.uk/pgp


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]