* ns build symlinks all libexec programs into bin directory
@ 2012-05-12 18:18 Glenn Morris
2012-05-13 6:27 ` Jan Djärv
0 siblings, 1 reply; 4+ messages in thread
From: Glenn Morris @ 2012-05-12 18:18 UTC (permalink / raw)
To: emacs-devel
Why does a --with-ns build do this (in install-arch-dep):
cd nextstep/Emacs.app/bin
ls -l
hexl -> ../libexec/hexl
movemail -> ../libexec/movemail
profile -> ../libexec/profile
rcs2log -> ../libexec/rcs2log
update-game-score -> ../libexec/update-game-score
vcdiff -> ../libexec/vcdiff
Ie, create symlinks to the libexec programs in the bin directory?
These programs are supposed to be for internal Emacs use only, which is
why they get installed in libexec in the first place.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: ns build symlinks all libexec programs into bin directory
2012-05-12 18:18 ns build symlinks all libexec programs into bin directory Glenn Morris
@ 2012-05-13 6:27 ` Jan Djärv
2012-05-14 16:39 ` Glenn Morris
0 siblings, 1 reply; 4+ messages in thread
From: Jan Djärv @ 2012-05-13 6:27 UTC (permalink / raw)
To: Glenn Morris; +Cc: emacs-devel
Hello.
12 maj 2012 kl. 20:18 skrev Glenn Morris:
>
> Why does a --with-ns build do this (in install-arch-dep):
>
> cd nextstep/Emacs.app/bin
> ls -l
> hexl -> ../libexec/hexl
> movemail -> ../libexec/movemail
> profile -> ../libexec/profile
> rcs2log -> ../libexec/rcs2log
> update-game-score -> ../libexec/update-game-score
> vcdiff -> ../libexec/vcdiff
>
> Ie, create symlinks to the libexec programs in the bin directory?
>
> These programs are supposed to be for internal Emacs use only, which is
> why they get installed in libexec in the first place.
Short answer: So Emacs can find them :-)
Long answer:
The path to libexec is in PATH_EXEC epaths.h from epaths.in and then added to exec-path.
epaths.h is created at make time by the top level Makefile.
make install for --with-ns installs to nextstep/Emacs.app in the emacs tree.
Emacs.app can then be copied to its final place, which can be anywhere or another machine.
Thus, PATH_EXEC points to libexec in nextstep/Emacs.app, but when Emacs.app is installed (say on another machine), that values is not valid. Hence the links into bin as bin is in exec-path (derived from invocation directory and not by a compile time constant).
The idea is that Emacs.app is self contained and can be relocated anywhere as is how app-bundles are supposed to work. A more intelligent search for libexec would also solve it. For NS we know it is in the same place as bin, so we could just add libexec to exe-path the same way as bin. But I guess nobody thought of this as a problem.
Jan D.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: ns build symlinks all libexec programs into bin directory
2012-05-13 6:27 ` Jan Djärv
@ 2012-05-14 16:39 ` Glenn Morris
2012-05-15 16:26 ` Jan Djärv
0 siblings, 1 reply; 4+ messages in thread
From: Glenn Morris @ 2012-05-14 16:39 UTC (permalink / raw)
To: Jan Djärv; +Cc: emacs-devel
Jan Djärv wrote:
> Thus, PATH_EXEC points to libexec in nextstep/Emacs.app, but when
> Emacs.app is installed (say on another machine), that values is not
> valid. Hence the links into bin as bin is in exec-path (derived from
> invocation directory and not by a compile time constant).
Right, but if it can find its own bin/ directory, it can find ../libexec
just as easily (and if it can't, why not just install everything to bin).
I've just installed a simple ns_init_paths change that I think
removes the need for the symlinks (seems to work on GNUstep anyway).
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: ns build symlinks all libexec programs into bin directory
2012-05-14 16:39 ` Glenn Morris
@ 2012-05-15 16:26 ` Jan Djärv
0 siblings, 0 replies; 4+ messages in thread
From: Jan Djärv @ 2012-05-15 16:26 UTC (permalink / raw)
To: Glenn Morris; +Cc: emacs-devel
14 maj 2012 kl. 18:39 skrev Glenn Morris:
> Jan Djärv wrote:
>
>> Thus, PATH_EXEC points to libexec in nextstep/Emacs.app, but when
>> Emacs.app is installed (say on another machine), that values is not
>> valid. Hence the links into bin as bin is in exec-path (derived from
>> invocation directory and not by a compile time constant).
>
> Right, but if it can find its own bin/ directory, it can find ../libexec
> just as easily (and if it can't, why not just install everything to bin).
Right, I just wrote that.
> I've just installed a simple ns_init_paths change that I think
> removes the need for the symlinks (seems to work on GNUstep anyway).
The change works on OSX also.
Jan D.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2012-05-15 16:26 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-05-12 18:18 ns build symlinks all libexec programs into bin directory Glenn Morris
2012-05-13 6:27 ` Jan Djärv
2012-05-14 16:39 ` Glenn Morris
2012-05-15 16:26 ` Jan Djärv
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.