emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Interest in a Cosmopolitan build?


From: Alex Corcoles
Subject: Re: Interest in a Cosmopolitan build?
Date: Fri, 10 Nov 2023 11:10:27 +0100
User-agent: Evolution 3.40.4 (3.40.4-9.el9)

Hi,

>   > If I understand correctly, they found a way to make something
> that fits
>   > all executable formats that major OSs support, plus they embed a
> zip
>   > with binaries and dependencies (e.g. parts of /usr/ for Emacs),
> plus
>   > they even convinced the POSIX stewards to loosen up the
> definition of
>   > what's an executable. Plus a new libc...
> 
> Could you possibly explain concretely what "a new libc" means in
> this context?  In what sense is it "new"?  In what ways is it
> different from the existing libc that any POSIX system would have?

I am afraid I am a novice about systems programming, C, and
portability. I can quote parts from their README:

> Please note that the Cosmopolitan build configuration doesn't link
> any C/C++ library dependencies by default, so you still have the 
> flexibility to choose the one provided by your system. If you'd 
> prefer Cosmopolitan, just add $(LIBC) and $(CRT) to your linker
>arguments.

> The Cosmopolitan Library exports only the most stable canonical
> system calls for all supported operating systems, regardless of which
> platform is used for compilation. We polyfill many of the APIs, e.g.
> read(), write() so they work consistently everywhere while other 
> apis, e.g. CreateWindowEx(), might only work on one platform, in
> which case they become no-op functions on others.

> Please note that, unlike Cygwin or MinGW, Cosmopolitan does not
> achieve broad support by bolting on a POSIX emulation layer. We do
> nothing more than (in most cases) stateless API translations that get
> you 90% of the way there in a fast lightweight manner. We therefore 
> can't address some of the subtle differences, such as the nuances of
> absolute paths on Windows.

I can provide you further links, although they host their code on
GitHub. I'm happy to push it to some other Git forge, or host a tarball
of the source on a system of my own. I'm also happy to answer any other
question, although really I don't feel qualified for this discussion.

Not sure, though, if this remains on-topic for this list. Happy to
continue this discussion in some other place if needed.

Cheers,

Álex





reply via email to

[Prev in Thread] Current Thread [Next in Thread]