Subject: Re: bug#61171: 30.0.50; macos build can't find native lisp folder

From: Eli Zaretskii <[email-masked]>
Date: Tue, 31 Jan 2023 15:37:30 +0200

[Please keep the bug address on the CC list.]

> From: Merrick Luo <[email-masked]>
> Date: Tue, 31 Jan 2023 11:18:55 +0800
> 
> Eli Zaretskii <[email-masked]> writes:
> 
> > Why did you build with ns-self-contained disabled?  AFAICT from
> > reading the top-level Makefile.in, this causes Emacs to install files
> > according to Posix conventions, which breaks on macOS. What you get is
> > the Emacs binary in a place unrelated to the directory where the
> > *.eln files are installed, and Emacs cannot find them.
> 
> yes, I want the files to be installed into /usr/local/ so I can use it
> in terminal more easily. AFAIR, the Emacs.app works fine with this
> option without native compilation enabled, I can also copy/move it to
> the Application folder and still works.

Without native-compilation Emacs doesn't need to look for and find
the *.eln files, so it's a small wonder you don't see the problem.

> > You could perhaps set ELN_DESTDIR explicitly when you run "Make", as
> > in
> >
> >    make ELN_DESTDIR=/Users/merrickluo/projs/emacs/nextstep/Emacs.app/Contents
> >
> > Maybe.
> 
> this looks like an absolute path though, so if I moved the Emacs.app to
> another place, like /Applciations, it will break /usr/local/bin/emacs?

Emacs with native-compilation supports relocatable
installations only if the relation between the directory with the
binary and the directory with the *.eln files is according to the
relation between BIN_DESTDIR and ELN_DESTDIR.  So if you want a
relocatable installation, you will need to play with the values of
those two Make-time variables to suit your needs.  If you use absolute
file names, moving the files will break the installation.