unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Mac OS X GNU Emacs Installer (make-package)
@ 2002-11-30 22:23 Steven Tamm
  2002-11-30 22:38 ` Kai Großjohann
                   ` (3 more replies)
  0 siblings, 4 replies; 16+ messages in thread
From: Steven Tamm @ 2002-11-30 22:23 UTC (permalink / raw)
  Cc: emacs-devel

I just checked in a bunch of changes to the make-package installer.  
They are reduce the size of the installer and the amount of disk space 
required.  Before the changes the disk image for the installer was 25.6 
MB after compression, now it is 16.4MB with no compression.  In fact, 
compression doesn't really reduce the size that much so the script 
doesn't bother.

By default, it no longer installs the .el files that are precompiled 
(use --full-dist to bring them back).  If you specify the --symlink 
flag, the Emacs binary inside the Carbon Emacs.app will be a symlink to 
$prefix/bin/emacs.   This makes the Emacs app very small (60K), which 
is probably a good thing.  I also added a flag to create self-contained 
binaries (where the binary is placed in 
Emacs.app/Contents/Resources/bin).  There were some other changes too, 
but not really that important.  I'd suggest rerunning make-package if 
you are running out of bandwidth on your site.

For the list: Why does "make install" install two identical copies of 
the executable; emacs & emacs-21.3.50?  Why is emacs not a symbolic 
link?

-Steven

^ permalink raw reply	[flat|nested] 16+ messages in thread
* Re: Mac OS X GNU Emacs Installer (make-package)
@ 2002-12-02 19:22 Steven Tamm
  2002-12-02 19:45 ` Andrew Choi
  0 siblings, 1 reply; 16+ messages in thread
From: Steven Tamm @ 2002-12-02 19:22 UTC (permalink / raw)
  Cc: emacs-devel

>Hi Steven,
>
>Actually the idea (which hasn't been implemented) was to have `make
>install' install only one executable on the entire system: the one in
>the Emacs.app application bundle.  Then /usr/local/bin/emacs would be
>the shell script:
>
>#!/bin/sh
>/Applications/Emacs.app/Contents/MacOS/Emacs "$@"
>

Actually, I think this is a good idea, but in the reverse.  I would have the single copy of the executable in /usr/local/bin/emacs and have the Emacs executable be a link (either sym or hard).  The main reason is that it is likely to have the application move, but extremely unlikely that /usr/local/bin/emacs would move.

I have a patch that tests if -nw is not specified and we are not in an application bundle (i.e. in /usr/local/bin/emacs), then fork and execute /Applications/Emacs.app/...   This makes the behavior from the command line more desirable.  The downside (as David) is that it will be confusing for most Mac users.  Two or more emacs executables will be running at the same time with each appearing in the dock as a separate icon.  This behavior is better than the current one, and using Launch Services, we can find the location of the Emacs application without resorting to hard coding or using libexec.

The behavior I would like to have the command line appear to act more like emacsclient (or more appropriately the gnuclient from the NT port).  The gnuclient port will, by default, instantiate emacs if one does not exist, something you need to do set by hand with emacsclient.  It would also require that the server is started, which is questionable.

>I don't have a strong preference to implement package distribution one
>way or another.  But I was considering the different options one can
>specify for make-package, which will result in the quite a few
>differently-configured packages people can distribute.  I also think
>some of the options are not achievable by people building from source
>using `make', which is a little strange.  Imagine the amount of
>questions we'll be getting :-).

I think I'll add in some documentation detailing about what to do.  After all the discussions on version tracker, I think a "strong" admonition about not using --prefix=/usr should be included (since, at least on my system, /usr/bin/emacs has been destroyed by system updates twice).

>I've also remove mac/make-bin-dist and mac/osx-install, which are
>obsolete now.  Perhaps we should mention make-package in mac/INSTALL.

I'll add in an explanation of make-package today.

On another note, I'm probably going to put in an #ifdef in terminfo.c to remove the redefinition of UP, BC, & PC on darwin 6.2.  This will fix some linking warnings.  This test should probably should be placed in configure.in.  Something like this:

AC_MSG_CHECKING(whether termcap global variables are defined externally)
AC_TRY_LINK([extern char *UP;],[*UP=0],[termcap_global_vars_extern=yes],[termcap_global_vars_extern=no])


-Steven

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2002-12-02 19:45 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-11-30 22:23 Mac OS X GNU Emacs Installer (make-package) Steven Tamm
2002-11-30 22:38 ` Kai Großjohann
2002-11-30 22:48 ` David Caldwell
2002-11-30 23:19   ` Steven Tamm
2002-11-30 23:50     ` David Caldwell
2002-12-01  1:53       ` Steven Tamm
2002-12-01  2:04         ` Miles Bader
2002-12-01  2:23           ` Steven Tamm
2002-12-02 15:46           ` Richard Stallman
2002-12-01  3:38         ` David Caldwell
2002-12-02 18:26     ` Andrew Choi
2002-12-02 15:46   ` Richard Stallman
2002-12-02 15:46 ` Richard Stallman
2002-12-02 16:04 ` Stefan Monnier
  -- strict thread matches above, loose matches on Subject: below --
2002-12-02 19:22 Steven Tamm
2002-12-02 19:45 ` Andrew Choi

Code repositories for project(s) associated with this public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).