all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* 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.