Subject: bug#55846: make bootstrap -j2 fails on macOS

From: Po Lu <[email-masked]>
Date: Thu, 09 Jun 2022 21:45:39 +0800

Lars Ingebrigtsen <[email-masked]> writes:

> Mattias Engdegård <[email-masked]> writes:
>
>> Just making one target depend on the other, as in the diff below,
>> makes it work, but I'm not sure of the purpose of ns_check_file.
>
> Let's see...
>
> if test "$HAVE_NS" = "yes"; then
>   if test "$NS_IMPL_GNUSTEP" = yes; then
>     AC_CONFIG_FILES([nextstep/GNUstep/Emacs.base/Resources/Info-gnustep.plist:nextstep/templates/Info-gnustep.plist.in \
>       nextstep/GNUstep/Emacs.base/Resources/Emacs.desktop:nextstep/templates/Emacs.desktop.in])
>     ns_check_file=Resources/Info-gnustep.plist
>   else
>     AC_CONFIG_FILES([nextstep/Cocoa/Emacs.base/Contents/Info.plist:nextstep/templates/Info.plist.in \
>       nextstep/Cocoa/Emacs.base/Contents/Resources/English.lproj/InfoPlist.strings:nextstep/templates/InfoPlist.strings.in])
>     ns_check_file=Contents/Info.plist
>   fi
>   AC_SUBST(ns_check_file)
> fi
>
> Uhm...  OK, still not sure.  Seems like this was added by
>
> commit 63dae8e97d343fd4ebfe3dc08f0e8dc932630a4c
> Author:     Joakim Verona <[email-masked]>
> AuthorDate: Tue Sep 10 23:52:26 2013 +0200
>
> but the commit is just "merge upstream".  I've added Joakim to the CCs;
> perhaps he remembers.

AFAICT ns_check_file is some kind of "bundle metadata" file used by
Nextstep that has to be generated from a template
(Info-gnustep.plist.in).  They are similar to .desktop files on
GNU/Linux.

Creating it depends on ns_appdir being created, since that's where it
resides.  The current rule is a mistake.  It should depend on ns_appdir.

Further more I might just be sleepy, but I can't see what is actually
creating Info-gnustep.plist in the ns_check_file and ns_appdir rule.