all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Andy Moreton <andrewjmoreton@gmail.com>
To: emacs-devel@gnu.org
Subject: Re: CHECK_STRUCTS/dmpstruct.h mechanism is broken.
Date: Wed, 10 Apr 2019 15:59:36 +0100	[thread overview]
Message-ID: <vz15zrlgb3b.fsf@gmail.com> (raw)
In-Reply-To: vz1ef6a3sy3.fsf@gmail.com

On Wed 10 Apr 2019, Andy Moreton wrote:

> On Tue 09 Apr 2019, Paul Eggert wrote:
>
>> On 3/4/19 6:17 PM, Paul Eggert wrote:
>>> On 2/28/19 12:59 PM, Alan Mackenzie wrote:
>>>> is all this really needed?  Is pdumper.c really that fragile,
>>>> that it can't cope with changes in certain structs?
>>> No, it's not needed, and in my experience the mechanism's costs far
>>> exceed any benefit.
>>
>> No further comment and the mechanism just bit me again, so I installed
>> the attached patch to disable it. We can reenable it later if needed
>> (which I hope won't happen....).
>
> This patch seems to be ok, but your following patch in commit d826037475
> ("Remove the need for temacs.in") breaks out of tree builds.
>
> It seems to me that the patch contains a mixture of changes to remove
> temacs.in support, and a number of unrelated changes to Makefile.in
> files which break the build.
>
> For example, this breaks out-of-tree builds, as make tries to use
> /path/to/emacs/admin/charsets/Makefile rather than the correct path
> <builddir>/admin/charsets/Makefile:
>
>     diff --git a/src/Makefile.in b/src/Makefile.in
>     index 0613a0dbed..f8a2ffadc2 100644
>     --- a/src/Makefile.in
>     +++ b/src/Makefile.in
>     @@ -533,7 +533,7 @@ ${lispintdir}/cp51932.el ${lispintdir}/eucjp-ms.el:
>
>      charsets = ${top_srcdir}/admin/charsets/charsets.stamp
>      ${charsets}: FORCE
>     -	${MAKE} -C ../admin/charsets all
>     +	$(MAKE) -C $(dir $@) all
>
>      charscript = ${lispintdir}/charscript.el
>      ${charscript}: FORCE
>
> The unrelated changes should have been committed in a separate patch
> for easier bisection: a patch should contain a single logical change.
>
> Please revert all of the unrelated makefile path handling changes so
> master is buildable (the example above is one of many breakages).

The following changes (a partial revert of commit d826037475) make it
possible to build emacs out of tree on Windows (msys2 mingw64):


diff --git a/src/Makefile.in b/src/Makefile.in
index f8a2ffadc2..6816b8bf8d 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -533,7 +533,7 @@ ${lispintdir}/cp51932.el ${lispintdir}/eucjp-ms.el:
 
 charsets = ${top_srcdir}/admin/charsets/charsets.stamp
 ${charsets}: FORCE
-	$(MAKE) -C $(dir $@) all
+	$(MAKE) -C ../admin/charsets all
 
 charscript = ${lispintdir}/charscript.el
 ${charscript}: FORCE
@@ -586,7 +586,7 @@ $(etc)/DOC:
 
 $(libsrc)/make-docfile$(EXEEXT) $(libsrc)/make-fingerprint$(EXEEXT): \
   $(lib)/libgnu.a
-	$(MAKE) -C $(dir $@) $(notdir $@)
+	$(MAKE) -C $(libsrc) make-docfile$(EXEEXT)
 
 buildobj.h: Makefile
 	$(AM_V_GEN)for i in $(ALLOBJS); do \
@@ -614,7 +614,7 @@ $(ALLOBJS):
 LIBEGNU_ARCHIVE = $(lib)/lib$(if $(HYBRID_MALLOC),e)gnu.a
 
 $(LIBEGNU_ARCHIVE): $(config_h)
-	$(MAKE) -C $(dir $@) all
+	$(MAKE) -C $(lib) all
 
 FINGERPRINTED = $(LIBXMENU) $(ALLOBJS) $(LIBEGNU_ARCHIVE) $(EMACSRES)
 fingerprint.c: $(FINGERPRINTED) $(libsrc)/make-fingerprint$(EXEEXT)
@@ -639,15 +639,15 @@ temacs$(EXEEXT):
 ## The following oldxmenu-related rules are only (possibly) used if
 ## HAVE_X11 && !USE_GTK, but there is no harm in always defining them.
 $(lwlibdir)/liblw.a: $(config_h) globals.h lisp.h FORCE
-	$(MAKE) -C $(dir $@) $(notdir $@)
+	$(MAKE) -C $(lwlibdir) liblw.a
 $(oldXMenudir)/libXMenu11.a: FORCE
-	$(MAKE) -C $(dir $@) $(notdir $@)
+	$(MAKE) -C -C $(oldXMenudir) libXMenu11.a
 FORCE:
 .PHONY: FORCE
 
 .PRECIOUS: ../config.status Makefile
 ../config.status: $(top_srcdir)/configure.ac $(top_srcdir)/m4/*.m4
-	$(MAKE) -C $(dir $@) $(notdir $@)
+	$(MAKE) -C .. $(notdir $@)
 Makefile: ../config.status $(srcdir)/Makefile.in
 	$(MAKE) -C .. src/$@
 
@@ -703,7 +703,7 @@ extraclean:
 ETAGS = ../lib-src/etags${EXEEXT}
 
 ${ETAGS}: FORCE
-	$(MAKE) -C $(dir $@) $(notdir $@)
+	$(MAKE) -C ../lib-src $(notdir $@)
 
 # Remove macuvs.h and fingerprint.c since they'd cause `src/emacs`
 # to be built before we can get TAGS.
@@ -728,8 +728,11 @@ TAGS:
 
 ## Arrange to make tags tables for ../lisp and ../lwlib,
 ## which the above TAGS file for the C files includes by reference.
-../lisp/TAGS $(lwlibdir)/TAGS: FORCE
-	$(MAKE) -C $(dir $@) $(notdir $@) ETAGS="$(ETAGS)"
+../lisp/TAGS: FORCE
+	$(MAKE) -C ../lisp TAGS ETAGS="$(ETAGS)"
+
+$(lwlibdir)/TAGS: FORCE
+	$(MAKE) -C $(lwlibdir) TAGS ETAGS="$(ETAGS)"
 
 tags: TAGS ../lisp/TAGS $(lwlibdir)/TAGS
 .PHONY: tags
@@ -765,7 +768,7 @@ VCSWITNESS =
 
 $(lispsource)/loaddefs.el: $(VCSWITNESS) | \
 		bootstrap-emacs$(EXEEXT) $(bootstrap_pdmp)
-	$(MAKE) -C $(dir $@) autoloads EMACS="$(bootstrap_exe)"
+	$(MAKE) -C ../lisp autoloads EMACS="$(bootstrap_exe)"
 
 ## Dump an Emacs executable named bootstrap-emacs containing the
 ## files from loadup.el in source form.




  reply	other threads:[~2019-04-10 14:59 UTC|newest]

Thread overview: 77+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-02-28 20:21 CHECK_STRUCTS/dmpstruct.h mechanism is broken Alan Mackenzie
2019-02-28 20:55 ` Eli Zaretskii
2019-02-28 20:59 ` Alan Mackenzie
2019-03-01  7:31   ` Eli Zaretskii
2019-03-01 13:09     ` Alan Mackenzie
2019-03-05  2:17   ` Paul Eggert
2019-04-09 22:47     ` Paul Eggert
2019-04-10 13:12       ` Andy Moreton
2019-04-10 14:59         ` Andy Moreton [this message]
2019-04-10 17:36         ` Paul Eggert
2019-04-10 19:26           ` Andy Moreton
2019-04-10 19:43             ` Daniel Colascione
2019-04-10 16:22       ` Alan Mackenzie
2019-04-10 18:05         ` Paul Eggert
2019-04-10 19:45           ` Alan Mackenzie
2019-04-10 20:11             ` Daniel Colascione
2019-04-11  4:11               ` Paul Eggert
2019-04-15 12:36                 ` Andy Moreton
2019-04-15 15:32                   ` Andy Moreton
2019-04-15 15:53                     ` Paul Eggert
2019-04-11 13:13               ` Stefan Monnier
2019-04-11  4:17             ` Paul Eggert
2019-04-10 18:47         ` Daniel Colascione
2019-04-10 18:58           ` Paul Eggert
2019-04-10 19:02             ` Daniel Colascione
2019-04-10 19:22             ` Eli Zaretskii
2019-04-11  9:35             ` Robert Pluim
2019-04-11 18:31               ` Paul Eggert
2019-04-11 19:15                 ` Eli Zaretskii
2019-04-11 22:13                   ` Daniel Colascione
2019-04-12  6:44                     ` Eli Zaretskii
2019-04-11 22:23                   ` Paul Eggert
2019-04-11 22:26                     ` Daniel Colascione
2019-04-11 22:38                       ` Paul Eggert
2019-04-12  6:39                     ` Eli Zaretskii
2019-04-12 19:40                       ` Paul Eggert
2019-04-13  9:36                         ` Eli Zaretskii
2019-04-14  2:52                           ` Paul Eggert
2019-04-12 12:21                     ` Andy Moreton
2019-04-12 13:37                     ` Alan Mackenzie
2019-04-12 13:55                       ` Eli Zaretskii
2019-04-12 13:58                       ` Noam Postavsky
2019-04-13 14:06                         ` Alan Mackenzie
2019-04-13 14:46                           ` About ./configure --cache-file (WAS: CHECK_STRUCTS/dmpstruct.h mechanism is broken.) Noam Postavsky
2019-04-14  2:44                             ` Paul Eggert
2019-04-14  3:26                               ` Daniel Colascione
2019-04-14  3:49                                 ` Noam Postavsky
2019-04-14  9:45                               ` Alan Mackenzie
2019-04-14 14:08                                 ` Eli Zaretskii
2019-04-14 14:44                                   ` Noam Postavsky
2019-04-14 14:53                                     ` Eli Zaretskii
2019-04-13  8:11                     ` CHECK_STRUCTS/dmpstruct.h mechanism is broken Achim Gratz
2019-04-14  2:52                       ` Paul Eggert
2019-04-14  3:28                         ` Daniel Colascione
2019-04-14  7:22                         ` Achim Gratz
2019-04-14 23:29                           ` Paul Eggert
2019-04-15 11:31                             ` Alan Mackenzie
2019-04-15 14:14                               ` Paul Eggert
2019-04-15 18:11                             ` Richard Stallman
2019-04-16 18:10                               ` Paul Eggert
2019-04-22  2:18                                 ` Richard Stallman
2019-04-22  4:07                                   ` Paul Eggert
2019-04-23  1:41                                     ` Richard Stallman
2019-04-23  3:48                                       ` Paul Eggert
2019-04-23  6:25                                         ` Eli Zaretskii
2019-04-23 16:28                                           ` Paul Eggert
2019-04-23 17:08                                             ` Eli Zaretskii
2019-04-23 17:19                                             ` Stefan Monnier
2019-04-24  2:26                                             ` Richard Stallman
2019-04-15  3:36                         ` Richard Stallman
2019-04-15  5:30                           ` Paul Eggert
2019-04-11 19:55                 ` Achim Gratz
2019-04-11 22:10                   ` Daniel Colascione
2019-04-11 22:47                     ` Paul Eggert
2019-04-11 22:44                   ` Paul Eggert
2019-04-12 17:02                     ` Daniele Nicolodi
2019-04-13  8:26                     ` Achim Gratz

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=vz15zrlgb3b.fsf@gmail.com \
    --to=andrewjmoreton@gmail.com \
    --cc=emacs-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.