(install-arch-indep): Set shell var thisdir=`pwd` before cd and cd back to
$thisdir, rather than the directory `this_dir', which seems exceptionally
unlikely to just happen to be a symlink to the Emacs build directory, which
must have been the intent of the author.
directory's makefile. This allows the invocation of CPP which
builds xmakefile to receive these switches. The SunSoft C
preprocessor inserts spaces between tokens if it doesn't get the
-Xs flag requested in src/s/sol2.h.
(src/Makefile): Edit CPP into src/Makefile.
Bring mumbleclean targets into conformance with GNU coding standards.
* Makefile.in (mostlyclean, clean): Separate these two; just have
them pass the request to the subdirectory makefiles.
(distclean): Pass the request down, and then get rid of the
files configure built, and get rid of the Makefiles.
(realclean): Pass the request down, and then do the same things
distclean does.
(uninstall, info, dvi): New targets.
* Makefile.in (YACC): New variable.
(lib-src/Makefile.in): Edit YACC into the makefile.
* Makefile.in (YACC): New variable, to be set by top-level Makefile.
instead of a `local-lisp' directory, which hasn't been the
appropriate name for a long time.
* Makefile.in (@rip_paths@locallisppath): Use site-lisp directory
from the distribution first, then /usr/local/lib/emacs/site-lisp.
if it's the same as the source. If ${srcdir}/info == ${infodir},
don't try to copy the info files.
* Makefile.in (COPYDIR, COPYDESTS): Don't mention etc twice; this
doesn't work if you're not using a separate source directory.
(do-install): Copy the build tree's etc directory only after
making sure it's not also the source tree's etc directory.
too, as the value of the PATH_INFO macro.
* Makefile.in (install): Split this into `install' and
`do-install', to give people more control over exactly what gets
done.
(do-install): New target, containing the guts of `install'. Don't
remove and recreate the directories inside the copying loop - do
it all before the copying loop. Pass more flags to the lib-src
make.
(mkdir): Create ${infodir}, ${mandir}, and ${sitelispdir} here, to
avoid errors and warnings.
* Makefile.in: Accept that support.
* configure.in: Use the AC_PROG_INSTALL macro.
* Makefile.in (INSTALL): Variable removed.
(INSTALL_PROGRAM, INSTALL_DATA): Accept these values from configure.
* Makefile.in (prefix): Add support for it here.
* Makefile.in (install): Don't assume that the files in the `info'
subdirectory match *.info. They don't have that prefix.
* Makefile.in (install.sysv, install.xenix, install.aix): Targets
removed; autoconf and config.h should specify all these
differences.
(buildlisppath): Make this path depend on ${srcdir}.
(INSTALLFLAGS): Removed.
(INSTALL): Include the -c flag.
(install): Change the way we invoke install accordingly.
* Makefile.in (SUBDIR_MAKEFILES): Add oldXMenu/Makefile to this
list.
(COPYDIR, COPYDESTS): Install files from both the etc directory in
the source tree and the etc directory in the object tree.
(${SUBDIR}): Pass the prefix variable down to submakes.
(everywhere): Use `sed', not `/bin/sed'. Not all systems have sed
in /bin.
(lib-src/Makefile, src/Makefile, oldXMenu/Makefile): Edit in
values for srcdir and VPATH.
(install): Add `v' flag to tar command. Make sure that `dir'
exists in ${srcdir}/info before copying it. Remember that the man
pages come from the source tree, not the object tree.
* configure.in: Remove remarks saying that the --srcdir option
doesn't work.
Create the etc directory in the object tree.
Recognize configuration names of the form *-sun-solaris*.
Recognize sunos5 and solaris as operating system names.
this is always just -DHAVE_CONFIG_H.
The GNU coding standards specify that CFLAGS should be left for
users to set.
* Makefile.in (CFLAGS): Let configure determine the default value
for this. Don't
have it default to DEFS.
(${SUBDIR}): Pass CFLAGS down to submakes, not DEFS.
(lib-src/Makefile, src/Makefile): Edit the default value for
CFLAGS into these files, not DEFS.
* configure.in (CFLAGS): Choose a default value for this - "-g"
normally, or "-g -O" if we're using GCC. Edit it into the
top-level Makefile.
* configure.in: Add AC_LN_S test, so we can tell whether or not we
can use a symbolic link to get the X Menu library into src.
* Makefile.in (LN_S): New variable.
(src/Makefile): Edit the value of LN_S into this makefile.
* Makefile.in (ALLOCA): New variable, to be set by ./configure.
(lib-src/Makefile): Edit the value of ALLOCA into lib-src/Makefile.
* Makefile.in (install): Print out the name of the directory we're
copying, so people can have some idea of whether we're making
progress.
* Makefile.in (install.aix, install.xenix, install.sysv, install):
Don't forget to re-create the COPYDESTS directories after we clear
them out.
* Makefile.in: Add autoconf cookies so that the configure
script can comment out sections of path variable definitions to
choose between the installable configuration and the run-in-place
configuration.
* configure.in: Add new option `--run-in-place', to select the
run-in-place path definitions.
* Makefile.in (install, install.sysv, install.xenix, install.aix):
Make sure that each source directory exists, and is different from
the destination directory; then, delete the destination before
copying over the source.
Change `configure' to a mixture of custom code and autoconf stuff.
autoconf can't derive all the information we need, but we'd really
like to be able to take advantage of some of its tests, and its
file-editing facilities.
* configure.in: Renamed from configure.
Quote the sections of shell script we want copied literally to
the configure script.
(compile): Initialize this to make the autoconf macros' code happy.
Use AC_PROG_CC, AC_CONST, and AC_RETSIGTYPE instead of writing out
code to do their jobs.
Use autoconf to produce Makefile and src/config.h.
Remove the Makefile-style comment that autoconf places at the top
of src/config.h.
(config_h_opts): Removed - no longer necessary.
* Makefile.in (configname): Renamed to configuration.
(CONFIG_CFLAGS): Renamed to DEFS.
(CC, DEFS, C_SWITCH_SYSTEM, version, configuration): Adjusted to
get values via autoload @cookies@.
(libsrc_libs): Get this from autoconf. We used to do nothing
about this.
(${SUBDIR}): Pass DEFS to submakes instead of CONFIG_CFLAGS.
* Makefile.in (src/paths.h, lib-src/Makefile, src/Makefile): Don't
echo the move-if-change command.
C_SWITCH_SYSTEM from the configuration files.
* configure: Extract C_SWITCH_SYSTEM from the machine and
system-dependent files, and save it in the top-level Makefile.
* Makefile.in (C_SWITCH_SYSTEM): New flag for configure to edit.
(lib-src/Makefile): Edit C_SWITCH_SYSTEM into lib-src/Makefile.
CFLAGS.
* Makefile.in (locallisppath): Make this default to
${datadir}/emacs/site-lisp, instead of
${datadir}/emacs/local-lisp. ${datadir} and ${statedir} are often
the same thing, and local-lisp causes completion conflicts with
lock.
(lisppath): Add ${externallispdir} to this.
* INSTALL: Adjust installation directions.
* Makefile.in (externallispdir): New variable, to say where to
install the externally-maintained lisp files.
(COPYDIR, COPYDESTS): Copy the external lisp directory just like
the others.
* INSTALL: Describe external-lisp and the new externallispdir
variable.
${infodir} from these variables; we have written out explicit code
to install the info files.
* Makefile.in: Some makes can't handle comments in the middle of
commands; move them to before the whole rule.
now. Change references.
* Makefile.in: Adjust `install.mumble' targets to install
`src/emacs', not `src/xemacs'.
* Makefile.in (install, install.sysv, install.xenix, install.aix):
Don't try to copy the info files if there aren't any; the
unexpanded globbing pattern disappoints `install'. Ignore the
return status of that command.
Install the info files in ${infodir}. Install the executable
under both `emacs' and `emacs-VERSION'.
* Makefile.in: Doc fix.
* Makefile.in (exec_prefix): New variable, as per latest version
of coding standards.
(bindir, libdir): Use it, instead of `prefix'.
(lib-src/Makefile): Edit value of exec_prefix into lib-src/Makefile.
* Makefile.in (mandir): Make the default value for this depend on
$(prefix).
* Makefile.in (datadir, statedir, libdir): Make these all default
to ${prefix}/lib.
(lispdir, locallisppath, etcdir, lockdir, archlibdir): Adjusted
to compensate.
* Makefile.in (install, install.sysv, install.xenix, install.aix):
Install the etags and ctags man pages too.
* Makefile.in (distclean): Don't delete backup files; that's the
job of extraclean.
(extraclean): Like distclean, but deletes backup and autosave files.
Make path specification conform to GNU coding standards.
* configure (long_usage): Remove all traces of old arguments from
usage messages, and document the options we do accept in more
detail: -with-x... and --srcdir.
(options, boolean_opts): Deleted; we don't have enough options to
make this worthwhile.
(prefix, bindir, lisppath, datadir, libdir, lockdir): Deleted,
along with the code which supported them; these should be set as
arguments to the top-level make.
(config_h_opts): Since this no longer doubles as a list of option
names, make them upper case; this simplifies the code which uses
them to build the sed command to edit src/config.h. Change the
code which sets them.
(cc, g, O): Don't allow the user to set these using options; they
should be specified using `CC=' and `CFLAGS=' arguments to the
top-level make. Just choose reasonable default values for them,
and edit them into Makefile.in's default CC and CONFIG_CFLAGS
values.
(gnu_malloc, rel_alloc): Don't allow the user to set these using
options; use them whenever the configuration files say they're
possible.
Simplify the argument processing loop. Don't accept abbreviations
for option names; these might conflict with other configuration
options in the future.
Add some support for the `--srcdir' option. Check for the sources
in . and .. if `--srcdir' is omitted. If the directories we will
compile in don't exist yet, create them under the current directory.
Note that the rest of the build process doesn't really support
this.
Edit only the top Makefile. That should edit the others. Edit
into the makefile: `version', from lisp/version.el, `configname'
and `srcdir' from the configuration arguments, `CC' and
`CONFIG_CFLAGS' as guessed from the presence or absence of GCC in
the user's path, and LOADLIBES as gleaned from the system
description files.
Simplify the report generated; it doesn't need to include any
description of paths now.
Make `config.status' exec configure instead of just calling it, so
there's no harm in overwriting `config.status'.
* Makefile.in (version, configname): New variables, used to choose
the default values for datadir and libdir.
Path variables rearranged into two clearer groups:
- In the first group are the variables specified by the GNU coding
standards (prefix, bindir, datadir, statedir, libdir, mandir,
manext, infodir, and srcdir).
- In the second are the variables actually used for Emacs's paths
(lispdir, locallisppath, lisppath, buildlisppath, etcdir, lockdir,
archlibdir), which depend on the first category.
datadir and libdir default to directories under
${prefix}/lib/emacs instead of ${prefix}/emacs, by popular
demand.
etcdir and lispdir default to subdirectories of datadir.
archlibdir defaults to libdir.
The new installation tree is a bit deeper than it used to be, so
use the new make-path program in lib-src to build them all.
Always build a new src/paths.h.tmp and then move-if-change it to
src/paths.h, to avoid unnecessary rebuilds while responding to the
right changes.
Remove all mention of arch-lib. Run utility commands from
lib-src, and let the executables be copied into archlibdir when
Emacs is installed.
Add targets for src/Makefile, lib-src/Makefile, and
oldXMenu/Makefile, editing the values of the path variables into
them.
Let lib-src do its own installation.
(datadir): Default to putting data files under
${prefix}/lib/emacs/${version}, not /usr/local/emacs.
(emacsdir): Variable deleted; it would only be confusing to use.
(lispdir, etcdir): Default to ${datadir}/lisp.
(mkdir): Use make-path for this.
(lockdir): Do this in mkdir.
(Makefile): New target.