Subject: bug#50666: 28.0.50; Fix native compilation on Cygwin

From: Andrea Corallo <[email-masked]>
Date: Thu, 23 Sep 2021 19:37:22 +0000

Achim Gratz <[email-masked]> writes:

> Eli Zaretskii writes:
>> Out of curiosity, what do you do with the myriad DLLs that Windows
>> itself provides?  Aren't they part of the same problem with the Cygwin
>> implementation of 'fork'?
>
> These are never part of the Cygwin process.
>
>> No, there are no architecture-specific branches.  I guess the idea is
>> that the 2 hashes in the file name and the 3rd has in the directory
>> name (which depends on the Emacs binary) will take care of that.
>
> Hmm, I seem to remember some post from Andrea that showed a
> x86_64-pc-linux-gnu subdirectory for the cached files.  So how are these
> hashes generated, then?

Hi Achim,

the triplet is not mentioned explicitly in the generated path as it was
deemed to be excessively verbose.  It is now included in the hash of the
directory name.

To get practical I've:

~/.emacs.d/eln-cache/28.0.50-2045295c/apropos-7c1ecbdf-10e46ddb.eln
                              ^^^               ^^^       ^^^
                               A                 B         C

A- accounts for emacs-verison, system-configuration,
   system-configuration-options and the signatures of all the subr
   present in the C code.

B- accounts for the absolute filename of
   the source file

C- accounts for the content for the source file

Regards

  Andrea