emacs-devel
[Top][All Lists]
Advanced

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

Re: A better autogen.sh


From: Paul Eggert
Subject: Re: A better autogen.sh
Date: Wed, 16 Mar 2011 13:40:13 -0700
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.13) Gecko/20101209 Fedora/3.1.7-0.35.b3pre.fc14 Thunderbird/3.1.7

On 03/16/2011 11:54 AM, Eli Zaretskii wrote:
Anyone who makes changes to the build process or any files
that are related to the build process _must_ worry about lib/, because
without understanding how it works and how it affects the rest of the
code it is very easy to break something,

Yes, there are practical reasons why mainstream developers need to
worry about lib/ on occasion, just as they need to worry about their C
compiler, their 'make' implementation, etc.  But the overall goal of
lib/ is to make the current platform behave like a GNU platform, so
that the rest of Emacs can be written as if it were running in a GNU
environment.  Obviously lib/ not a perfect GNU emulation, but it does
help simplify the rest of Emacs.

without knowing that there are wrappers for system headers
there, it is impossible to understand how certain parts of Emacs code
work on any given platform.

Yes, but that's fine.  If one wants to *understand* how the porting
works, one obviously must look into lib/; and if one wants to port to
a non-POSIXy platform, it'll be helpful to understand lib/, at least
to some extent, as that can provide useful info on how to port to a
non-POSIXy platform.

But if one merely wants to develop Emacs proper, one can ignore lib/
(most of the time, anyway), and write mainstream code for the GNU
platform, and have it "just work" on other Unix-like platforms.  The
MS-DOS and MS-Windows code should be similar: as much as possible it
should be invisible to mainstream developers, and mainstream code
should "just work".

A simple guideline to encourage this separation of concerns is: if a
file is needed only because of MS-DOS, it should be under msdos/; and
similarly for MS-Windows and nt/.  This needn't be an ironclad rule,
but it's a good guideline to follow when possible, so that mainstream
developers are not distracted by the porting code.

"Separated" does not mean "segregated" or "ostracized".  People who
happen to use and build the Windows port are responsible for
non-trivial contributions to Emacs development that are certainly no
less than yours... They don't deserve this kind of attitude, under
which it is okay to make their life miserable and every other day
break the port they use

This appears to be reading more into my email than what's there (as
well as exaggerate a bit :-).  In no way has my email suggested the
pejorative connotations of "segregrated" or "ostricized", nor have I
suggested that it's OK to make anybody's life "miserable".  Let's
focus on the technical problems rather than personalizing the
discussion.




reply via email to

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