* building emacs
@ 2017-05-31 10:52 Jean-Christophe Helary
2017-05-31 11:19 ` Tim Visher
2017-05-31 11:26 ` Eli Zaretskii
0 siblings, 2 replies; 10+ messages in thread
From: Jean-Christophe Helary @ 2017-05-31 10:52 UTC (permalink / raw)
To: help-gnu-emacs
I'm building emacs with
./configure --with-ns
make install
When I update my git repository (presumably with git pull origin master), do I need to reconfigure the build with the command *each time* I update the code ? Or can I proceed directly to make install ?
Also, are there ways to do incremental builds ? Where only the modified parts are built and the rest stays as it were ?
Jean-Christophe
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: building emacs
2017-05-31 10:52 building emacs Jean-Christophe Helary
@ 2017-05-31 11:19 ` Tim Visher
2017-05-31 11:24 ` Jean-Christophe Helary
2017-05-31 11:26 ` Eli Zaretskii
1 sibling, 1 reply; 10+ messages in thread
From: Tim Visher @ 2017-05-31 11:19 UTC (permalink / raw)
To: Jean-Christophe Helary; +Cc: emacs
I'm not an authoritative source but:
1. I'd generally always run ./configure again no matter what the software
is unless I absolutely knew the ins and outs of the configure script and
knew nothing had changed.
2. make is an incremental build system generally, though emacs use of it
might not be such. Have you tested it? Just run make and then modify a
single source file and run make again and see what happens.
On Wed, May 31, 2017 at 6:52 AM, Jean-Christophe Helary <
jean.christophe.helary@gmail.com> wrote:
> I'm building emacs with
> ./configure --with-ns
> make install
>
> When I update my git repository (presumably with git pull origin master),
> do I need to reconfigure the build with the command *each time* I update
> the code ? Or can I proceed directly to make install ?
>
> Also, are there ways to do incremental builds ? Where only the modified
> parts are built and the rest stays as it were ?
>
> Jean-Christophe
>
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: building emacs
2017-05-31 11:19 ` Tim Visher
@ 2017-05-31 11:24 ` Jean-Christophe Helary
0 siblings, 0 replies; 10+ messages in thread
From: Jean-Christophe Helary @ 2017-05-31 11:24 UTC (permalink / raw)
To: Tim Visher; +Cc: emacs
> On May 31, 2017, at 20:19, Tim Visher <tim.visher@gmail.com> wrote:
>
> I'm not an authoritative source but:
>
> 1. I'd generally always run ./configure again no matter what the software is unless I absolutely knew the ins and outs of the configure script and knew nothing had changed.
OK.
> 2. make is an incremental build system generally, though emacs use of it might not be such. Have you tested it? Just run make and then modify a single source file and run make again and see what happens.
I did build emacs twice today and the second time did not feel noticeably shorter than the first. But I'll check again. I thought maybe there was a parameter to make to have it work incrementally.
Thank you.
Jean-Christophe
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: building emacs
2017-05-31 10:52 building emacs Jean-Christophe Helary
2017-05-31 11:19 ` Tim Visher
@ 2017-05-31 11:26 ` Eli Zaretskii
2017-05-31 11:41 ` Jean-Christophe Helary
1 sibling, 1 reply; 10+ messages in thread
From: Eli Zaretskii @ 2017-05-31 11:26 UTC (permalink / raw)
To: help-gnu-emacs
> From: Jean-Christophe Helary <jean.christophe.helary@gmail.com>
> Date: Wed, 31 May 2017 19:52:31 +0900
>
> I'm building emacs with
> ./configure --with-ns
> make install
>
> When I update my git repository (presumably with git pull origin master), do I need to reconfigure the build with the command *each time* I update the code ? Or can I proceed directly to make install ?
No. Yes.
> Also, are there ways to do incremental builds ? Where only the modified parts are built and the rest stays as it were ?
That's the default, that's why we use the Make utility. Or maybe I
don't understand what you mean by "incremental builds".
P.S. IMO, these are not questions for this list.
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: building emacs
2017-05-31 11:26 ` Eli Zaretskii
@ 2017-05-31 11:41 ` Jean-Christophe Helary
2017-05-31 12:09 ` Emanuel Berg
0 siblings, 1 reply; 10+ messages in thread
From: Jean-Christophe Helary @ 2017-05-31 11:41 UTC (permalink / raw)
To: emacs
> On May 31, 2017, at 20:26, Eli Zaretskii <eliz@gnu.org> wrote:
>
> That's the default, that's why we use the Make utility. Or maybe I
> don't understand what you mean by "incremental builds".
You understood right. I'm the one who did not understand what make was doing.
> P.S. IMO, these are not questions for this list.
Thank you. Wherever I write, everybody seems like an uber-geek so I thought this not-strictly "development" related question was fine here too.
Jean-Christophe
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: building emacs
2017-05-31 11:41 ` Jean-Christophe Helary
@ 2017-05-31 12:09 ` Emanuel Berg
2017-05-31 13:22 ` Skip Montanaro
2017-06-01 7:19 ` Shakthi Kannan
0 siblings, 2 replies; 10+ messages in thread
From: Emanuel Berg @ 2017-05-31 12:09 UTC (permalink / raw)
To: help-gnu-emacs
Jean-Christophe Helary wrote:
> You understood right. I'm the one who did not
> understand what make was doing.
make is the ever-lasting workhorse of building
all kinds of computer projects, not just
programming ones, and it is not
that complicated.
It seems every generation of programmers has
a bunch of people who tries to make a new and
better make, but it is still there while their
projects are long gone.
make has basically three components, a target,
which is the file you wish to create, its
dependencies, which are files from which it
draws data, and a shell command which will
create the target from that data. This is
specified in a Makefile.
The incremental part of it is that whenever you
create a target, make checks if the target
already exists. If it does, make goes on to
check if the dependencies has been changed
since the target was created. If they have,
obviously the target isn't up to date so the
shell command to create it is executed again.
When this principle is understood, it is just
a matter of looking up the Makefile syntax and
get going :)
For example, here is the Makefile that does my
Elisp:
http://user.it.uu.se/~embe8573/emacs-init/Makefile
(It looks more complicated than it is.)
--
underground experts united
http://user.it.uu.se/~embe8573
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2017-06-01 13:36 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-05-31 10:52 building emacs Jean-Christophe Helary
2017-05-31 11:19 ` Tim Visher
2017-05-31 11:24 ` Jean-Christophe Helary
2017-05-31 11:26 ` Eli Zaretskii
2017-05-31 11:41 ` Jean-Christophe Helary
2017-05-31 12:09 ` Emanuel Berg
2017-05-31 13:22 ` Skip Montanaro
2017-05-31 14:00 ` Emanuel Berg
2017-06-01 7:19 ` Shakthi Kannan
2017-06-01 13:36 ` Jean-Christophe Helary
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).