Commit cb6c95a3 authored by Glenn Morris's avatar Glenn Morris

Move runtime leim lisp files to lisp/leim directory

This allows us to reuse much of the lisp build and installation machinery,
rather than duplicating it.

* Makefile.in (abs_builddir, leimdir): Remove.
(buildlisppath, SUBDIR, COPYDIR, COPYDESTS): No more leim directory.
(epaths-force-w32): No longer set BLD.
(leim): Remove.
(install-arch-indep): No longer run or install leim.
(mostlyclean, clean): No longer run leim rule.
(bootstrap-clean): Change leim target.
(maintainer-clean): Add leim.
(check-declare): Remove leim.

* README: Update for leim changes.

* configure.ac (leimdir): Remove.
(standardlisppath): No more leimdir.

* make-dist: Update for files from leim/ now being in lisp/leim/.

* doc/lispref/loading.texi (Library Search):
* doc/lispref/os.texi (Startup Summary): No more leim directory.

* leim/Makefile.in (leimdir): New variable.
(TIT_GB, TIT_BIG5, MISC, changed.tit, changed.misc)
(${leimdir}/leim-list.el, ${leimdir}/ja-dic/ja-dic.el):
Generate in $leimdir.
(all): Remove compilation, add ja-dic.
(leim-list.el): Now PHONY.
(setwins, compile-targets, compile-main, clean, mostlyclean)
(extraclean): Remove.
(bootstrap-clean): Delete all generated files.

* leim/README: Update for moved leim/ directory.

* leim/leim-ext.el (ucs-input-activate, hangul-input-method-activate):
Remove manual autoloads; now in loaddefs.el.
Disable byte-compile, version-control, autoloads in the output.

* lisp/Makefile.in (setwins_for_subdirs): Skip leim/ directory.
(compile-main): Depend on lisp/leim rule.
(leim): New rule.

* lisp/loadup.el: Move leim-list.el to leim/ subdirectory.

* lisp/startup.el (normal-top-level): No more leim directory.

* lisp/international/ja-dic-cnv.el (skkdic-convert):
Disable version-control and autoloads in output files.
* lisp/international/titdic-cnv.el (titdic-convert, miscdic-convert):
Disable version-control and autoloads in output files.

* lisp/leim/quail: Move here from ../leim.

* lisp/leim/quail/hangul.el (hangul-input-method-activate):
Add autoload cookie.
(generated-autoload-load-name): Set file-local value.

* lisp/leim/quail/uni-input.el (ucs-input-activate): Add autoload cookie.
(generated-autoload-load-name): Set file-local value.

* nt/README.W32:
* nt/addpm.c (env_vars):
* nt/epaths.nt (PATH_LOADSEARCH, PATH_DUMPLOADSEARCH):
* nt/paths.h (PATH_LOADSEARCH): No more leim directory.

* src/Makefile.in (leimdir): Now in lisp source directory.
($(leimdir)/leim-list.el): Just use ../leim .

* src/epaths.in (PATH_DUMPLOADSEARCH):

* src/lread.c (load_path_default):

* src/nsterm.m (ns_load_path): No more leim directory.

* .bzrignore: Update for relocated leim files.
parent 4cbac8e9
2013-11-27 Glenn Morris <rgm@gnu.org>
* Makefile.in (abs_builddir, leimdir): Remove.
(buildlisppath, SUBDIR, COPYDIR, COPYDESTS): No more leim directory.
(epaths-force-w32): No longer set BLD.
(leim): Remove.
(install-arch-indep): No longer run or install leim.
(mostlyclean, clean): No longer run leim rule.
(bootstrap-clean): Change leim target.
(maintainer-clean): Add leim.
(check-declare): Remove leim.
* README: Update for leim changes.
* configure.ac (leimdir): Remove.
(standardlisppath): No more leimdir.
* make-dist: Update for files from leim/ now being in lisp/leim/.
2013-11-26 Glenn Morris <rgm@gnu.org> 2013-11-26 Glenn Morris <rgm@gnu.org>
Preload leim-list.el. Preload leim-list.el.
......
...@@ -164,7 +164,6 @@ bitmapdir=@bitmapdir@ ...@@ -164,7 +164,6 @@ bitmapdir=@bitmapdir@
# We use $(srcdir) explicitly in dependencies so as not to depend on VPATH. # We use $(srcdir) explicitly in dependencies so as not to depend on VPATH.
srcdir=@srcdir@ srcdir=@srcdir@
abs_srcdir=@abs_srcdir@ abs_srcdir=@abs_srcdir@
abs_builddir=@abs_builddir@
# MinGW CPPFLAGS may use this. # MinGW CPPFLAGS may use this.
abs_top_srcdir=@abs_top_srcdir@ abs_top_srcdir=@abs_top_srcdir@
...@@ -191,15 +190,13 @@ iconsrcdir=$(srcdir)/etc/images/icons ...@@ -191,15 +190,13 @@ iconsrcdir=$(srcdir)/etc/images/icons
# These variables hold the values Emacs will actually use. They are # These variables hold the values Emacs will actually use. They are
# based on the values of the standard Make variables above. # based on the values of the standard Make variables above.
# Where to install the lisp, leim files distributed with # Where to install the lisp files distributed with Emacs.
# Emacs. This includes the Emacs version, so that the # This includes the Emacs version, so that the lisp files for different
# lisp files for different versions of Emacs will install # versions of Emacs will install themselves in separate directories.
# themselves in separate directories.
lispdir=@lispdir@ lispdir=@lispdir@
leimdir=@leimdir@
# Directories Emacs should search for standard lisp files. # Directories Emacs should search for standard lisp files.
# The default is ${lispdir}:${leimdir}. # The default is ${lispdir}.
standardlisppath=@standardlisppath@ standardlisppath=@standardlisppath@
# Directories Emacs should search for lisp files specific to this # Directories Emacs should search for lisp files specific to this
...@@ -219,11 +216,9 @@ lisppath=@lisppath@ ...@@ -219,11 +216,9 @@ lisppath=@lisppath@
# to help Emacs find its lisp files before they've been installed # to help Emacs find its lisp files before they've been installed
# in their final location. # in their final location.
# This should be a colon-separated list of directories. # This should be a colon-separated list of directories.
# Normally it points to the lisp/ directory in the sources and # Normally it points to the lisp/ directory in the sources.
# the leim/ directory in the build tree.
# NB lread.c relies on lisp/ being first here. # NB lread.c relies on lisp/ being first here.
# TODO generate leim in srcdir also, prebuild in tarfiles. buildlisppath=${abs_srcdir}/lisp
buildlisppath=${abs_srcdir}/lisp:${abs_builddir}/leim
# Where to install the other architecture-independent # Where to install the other architecture-independent
# data files distributed with Emacs (like the tutorial, # data files distributed with Emacs (like the tutorial,
...@@ -278,7 +273,7 @@ EMACS = ${EMACS_NAME}${EXEEXT} ...@@ -278,7 +273,7 @@ EMACS = ${EMACS_NAME}${EXEEXT}
EMACSFULL = `echo emacs-${version} | sed '$(TRANSFORM)'`${EXEEXT} EMACSFULL = `echo emacs-${version} | sed '$(TRANSFORM)'`${EXEEXT}
# Subdirectories to make recursively. # Subdirectories to make recursively.
SUBDIR = $(NTDIR) lib lib-src src lisp leim SUBDIR = $(NTDIR) lib lib-src src lisp
# The subdir makefiles created by config.status. # The subdir makefiles created by config.status.
SUBDIR_MAKEFILES_IN = @SUBDIR_MAKEFILES_IN@ SUBDIR_MAKEFILES_IN = @SUBDIR_MAKEFILES_IN@
...@@ -287,10 +282,9 @@ SUBDIR_MAKEFILES = `echo $(SUBDIR_MAKEFILES_IN:.in=) | sed 's|$(srcdir)/||g'` ...@@ -287,10 +282,9 @@ SUBDIR_MAKEFILES = `echo $(SUBDIR_MAKEFILES_IN:.in=) | sed 's|$(srcdir)/||g'`
# Subdirectories to install, and where they'll go. lib-src's and nt's # Subdirectories to install, and where they'll go. lib-src's and nt's
# makefiles know how to install them, so we don't do that here. # makefiles know how to install them, so we don't do that here.
# Directories that cannot simply be copied, eg info, are treated # Directories that cannot simply be copied, eg info, are treated
# separately. quail appears twice because in out-of-tree builds, it # separately.
# exists twice. COPYDIR = ${srcdir}/etc ${srcdir}/lisp
COPYDIR = ${srcdir}/etc ${srcdir}/lisp ${srcdir}/leim/ja-dic ${srcdir}/leim/quail leim/quail COPYDESTS = "$(DESTDIR)${etcdir}" "$(DESTDIR)${lispdir}"
COPYDESTS = "$(DESTDIR)${etcdir}" "$(DESTDIR)${lispdir}" "$(DESTDIR)${leimdir}/ja-dic" "$(DESTDIR)${leimdir}/quail" "$(DESTDIR)${leimdir}/quail"
all: ${SUBDIR} all: ${SUBDIR}
...@@ -341,7 +335,6 @@ msys_sed_sh_escape=sed -e 's/[];$$*.^[]/\\\\&/g' ...@@ -341,7 +335,6 @@ msys_sed_sh_escape=sed -e 's/[];$$*.^[]/\\\\&/g'
# '/foo/bar'). # '/foo/bar').
epaths-force-w32: FRC epaths-force-w32: FRC
@(w32srcdir=`${srcdir}/build-aux/msys-to-w32 "${srcdir}"`; \ @(w32srcdir=`${srcdir}/build-aux/msys-to-w32 "${srcdir}"`; \
w32blddir=`${srcdir}/build-aux/msys-to-w32 .`; \
w32prefix=`${srcdir}/build-aux/msys-to-w32 "${prefix}" N`; \ w32prefix=`${srcdir}/build-aux/msys-to-w32 "${prefix}" N`; \
w32prefixpattern=`echo "${w32prefix}" | ${msys_sed_sh_escape}` ; \ w32prefixpattern=`echo "${w32prefix}" | ${msys_sed_sh_escape}` ; \
w32locallisppath=`${srcdir}/build-aux/msys-to-w32 "${locallisppath}" N ":" "\\;" | ${msys_w32prefix_subst}` ; \ w32locallisppath=`${srcdir}/build-aux/msys-to-w32 "${locallisppath}" N ":" "\\;" | ${msys_w32prefix_subst}` ; \
...@@ -349,7 +342,6 @@ epaths-force-w32: FRC ...@@ -349,7 +342,6 @@ epaths-force-w32: FRC
-e 's;\(#.*PATH_SITELOADSEARCH\).*$$;\1 "'"$${w32locallisppath}"'";' \ -e 's;\(#.*PATH_SITELOADSEARCH\).*$$;\1 "'"$${w32locallisppath}"'";' \
-e '/^.*#/s/@VER@/${version}/g' \ -e '/^.*#/s/@VER@/${version}/g' \
-e '/^.*#/s/@CFG@/${configuration}/g' \ -e '/^.*#/s/@CFG@/${configuration}/g' \
-e '/^.*#/s|@BLD@|$${w32blddir}|g' \
-e "/^.*#/s|@SRC@|$${w32srcdir}|g") && \ -e "/^.*#/s|@SRC@|$${w32srcdir}|g") && \
${srcdir}/build-aux/move-if-change epaths.h.$$$$ src/epaths.h ${srcdir}/build-aux/move-if-change epaths.h.$$$$ src/epaths.h
...@@ -361,12 +353,11 @@ lib-src src: $(NTDIR) lib ...@@ -361,12 +353,11 @@ lib-src src: $(NTDIR) lib
src: lib-src src: lib-src
# We need to build `emacs' in `src' to compile the *.elc files in `lisp' # We need to build `emacs' in `src' to compile the *.elc files in `lisp'.
# and `leim'. lisp: src
lisp leim: src
# These targets should be "${SUBDIR} without `src'". # These targets should be "${SUBDIR} without `src'".
lib lib-src lisp leim nt: Makefile FRC lib lib-src lisp nt: Makefile FRC
cd $@ && $(MAKE) all $(MFLAGS) \ cd $@ && $(MAKE) all $(MFLAGS) \
CC='${CC}' CFLAGS='${CFLAGS}' CPPFLAGS='${CPPFLAGS}' \ CC='${CC}' CFLAGS='${CFLAGS}' CPPFLAGS='${CPPFLAGS}' \
LDFLAGS='${LDFLAGS}' MAKE='${MAKE}' LDFLAGS='${LDFLAGS}' MAKE='${MAKE}'
...@@ -567,7 +558,7 @@ set_installuser=for installuser in $${LOGNAME} $${USERNAME} $${USER} \ ...@@ -567,7 +558,7 @@ set_installuser=for installuser in $${LOGNAME} $${USERNAME} $${USER} \
## work correctly, and therefore no idea when tar can be replaced. ## work correctly, and therefore no idea when tar can be replaced.
## See also these comments from 2004 about cp -r working fine: ## See also these comments from 2004 about cp -r working fine:
## http://lists.gnu.org/archive/html/autoconf-patches/2004-11/msg00005.html ## http://lists.gnu.org/archive/html/autoconf-patches/2004-11/msg00005.html
install-arch-indep: lisp leim install-info install-man ${INSTALL_ARCH_INDEP_EXTRA} install-arch-indep: lisp install-info install-man ${INSTALL_ARCH_INDEP_EXTRA}
-set ${COPYDESTS} ; \ -set ${COPYDESTS} ; \
unset CDPATH; \ unset CDPATH; \
$(set_installuser); \ $(set_installuser); \
...@@ -579,13 +570,8 @@ install-arch-indep: lisp leim install-info install-man ${INSTALL_ARCH_INDEP_EXTR ...@@ -579,13 +570,8 @@ install-arch-indep: lisp leim install-info install-man ${INSTALL_ARCH_INDEP_EXTR
[ "$$exp_dest" = "`cd $${dir} && /bin/pwd`" ] && continue ; \ [ "$$exp_dest" = "`cd $${dir} && /bin/pwd`" ] && continue ; \
else true; \ else true; \
fi; \ fi; \
if [ "$${dir}" = "leim/quail" ]; then \ rm -rf "$${dest}" ; \
[ "`cd $${dir} && /bin/pwd`" = "`cd ${srcdir}/leim/quail && /bin/pwd`" ] && \ umask 022; ${MKDIR_P} "$${dest}" ; \
continue ; \
else \
rm -rf "$${dest}" ; \
umask 022; ${MKDIR_P} "$${dest}" ; \
fi ; \
echo "Copying $${dir} to $${dest}..." ; \ echo "Copying $${dir} to $${dest}..." ; \
(cd $${dir}; tar -chf - . ) \ (cd $${dir}; tar -chf - . ) \
| (cd "$${dest}"; umask 022; \ | (cd "$${dest}"; umask 022; \
...@@ -612,8 +598,6 @@ install-arch-indep: lisp leim install-info install-man ${INSTALL_ARCH_INDEP_EXTR ...@@ -612,8 +598,6 @@ install-arch-indep: lisp leim install-info install-man ${INSTALL_ARCH_INDEP_EXTR
done ); \ done ); \
find "$${dest}" -exec chown $${installuser} {} ';' ;\ find "$${dest}" -exec chown $${installuser} {} ';' ;\
done done
-rm -f "$(DESTDIR)${leimdir}/leim-list.el"
${INSTALL_DATA} leim/leim-list.el "$(DESTDIR)${leimdir}/leim-list.el"
-rm -f "$(DESTDIR)${lispdir}/subdirs.el" -rm -f "$(DESTDIR)${lispdir}/subdirs.el"
umask 022; $(srcdir)/build-aux/update-subdirs "$(DESTDIR)${lispdir}" umask 022; $(srcdir)/build-aux/update-subdirs "$(DESTDIR)${lispdir}"
subdir="$(DESTDIR)${datadir}/emacs/${version}/site-lisp" ; \ subdir="$(DESTDIR)${datadir}/emacs/${version}/site-lisp" ; \
...@@ -624,7 +608,7 @@ install-arch-indep: lisp leim install-info install-man ${INSTALL_ARCH_INDEP_EXTR ...@@ -624,7 +608,7 @@ install-arch-indep: lisp leim install-info install-man ${INSTALL_ARCH_INDEP_EXTR
( echo "Compressing *.el ..." ; \ ( echo "Compressing *.el ..." ; \
unset CDPATH; \ unset CDPATH; \
thisdir=`/bin/pwd`; \ thisdir=`/bin/pwd`; \
for dir in "$(DESTDIR)${lispdir}" "$(DESTDIR)${leimdir}"; do \ for dir in "$(DESTDIR)${lispdir}"; do \
cd "$${thisdir}" ; \ cd "$${thisdir}" ; \
cd "$${dir}" || exit 1 ; \ cd "$${dir}" || exit 1 ; \
for f in `find . -name "*.elc" -print`; do \ for f in `find . -name "*.elc" -print`; do \
...@@ -821,7 +805,6 @@ mostlyclean: FRC ...@@ -821,7 +805,6 @@ mostlyclean: FRC
-cd doc/misc && $(MAKE) $(MFLAGS) mostlyclean -cd doc/misc && $(MAKE) $(MFLAGS) mostlyclean
-cd doc/lispref && $(MAKE) $(MFLAGS) mostlyclean -cd doc/lispref && $(MAKE) $(MFLAGS) mostlyclean
-cd doc/lispintro && $(MAKE) $(MFLAGS) mostlyclean -cd doc/lispintro && $(MAKE) $(MFLAGS) mostlyclean
cd leim && $(MAKE) $(MFLAGS) mostlyclean
### `clean' ### `clean'
### Delete all files from the current directory that are normally ### Delete all files from the current directory that are normally
...@@ -843,7 +826,6 @@ clean: FRC ...@@ -843,7 +826,6 @@ clean: FRC
-cd doc/misc && $(MAKE) $(MFLAGS) clean -cd doc/misc && $(MAKE) $(MFLAGS) clean
-cd doc/lispref && $(MAKE) $(MFLAGS) clean -cd doc/lispref && $(MAKE) $(MFLAGS) clean
-cd doc/lispintro && $(MAKE) $(MFLAGS) clean -cd doc/lispintro && $(MAKE) $(MFLAGS) clean
cd leim && $(MAKE) $(MFLAGS) clean
cd nextstep && $(MAKE) $(MFLAGS) clean cd nextstep && $(MAKE) $(MFLAGS) clean
### `bootclean' ### `bootclean'
...@@ -892,7 +874,7 @@ bootstrap-clean: FRC ...@@ -892,7 +874,7 @@ bootstrap-clean: FRC
-cd doc/misc && $(MAKE) $(MFLAGS) maintainer-clean -cd doc/misc && $(MAKE) $(MFLAGS) maintainer-clean
-cd doc/lispref && $(MAKE) $(MFLAGS) maintainer-clean -cd doc/lispref && $(MAKE) $(MFLAGS) maintainer-clean
-cd doc/lispintro && $(MAKE) $(MFLAGS) maintainer-clean -cd doc/lispintro && $(MAKE) $(MFLAGS) maintainer-clean
cd leim && $(MAKE) $(MFLAGS) maintainer-clean cd leim && $(MAKE) $(MFLAGS) bootstrap-clean
cd lisp && $(MAKE) $(MFLAGS) bootstrap-clean cd lisp && $(MAKE) $(MFLAGS) bootstrap-clean
cd nextstep && $(MAKE) $(MFLAGS) maintainer-clean cd nextstep && $(MAKE) $(MFLAGS) maintainer-clean
for dir in test/automated admin/unidata; do \ for dir in test/automated admin/unidata; do \
...@@ -917,6 +899,7 @@ top_maintainer_clean=\ ...@@ -917,6 +899,7 @@ top_maintainer_clean=\
rm -fr autom4te.cache rm -fr autom4te.cache
maintainer-clean: bootstrap-clean FRC maintainer-clean: bootstrap-clean FRC
cd src && $(MAKE) $(MFLAGS) maintainer-clean cd src && $(MAKE) $(MFLAGS) maintainer-clean
cd leim && $(MAKE) $(MFLAGS) maintainer-clean
cd lisp && $(MAKE) $(MFLAGS) maintainer-clean cd lisp && $(MAKE) $(MFLAGS) maintainer-clean
for dir in test/automated admin/unidata; do \ for dir in test/automated admin/unidata; do \
[ ! -d $$dir ] || (cd $$dir && $(MAKE) $(MFLAGS) maintainer-clean); \ [ ! -d $$dir ] || (cd $$dir && $(MAKE) $(MFLAGS) maintainer-clean); \
...@@ -1083,5 +1066,4 @@ check-declare: ...@@ -1083,5 +1066,4 @@ check-declare:
echo "You must build Emacs to use this command"; \ echo "You must build Emacs to use this command"; \
exit 1; \ exit 1; \
fi fi
cd leim && $(MAKE) $(MFLAGS) $@
cd lisp && $(MAKE) $(MFLAGS) $@ cd lisp && $(MAKE) $(MFLAGS) $@
...@@ -64,9 +64,10 @@ There are several subdirectories: ...@@ -64,9 +64,10 @@ There are several subdirectories:
its primitives, the redisplay code, and some basic editing its primitives, the redisplay code, and some basic editing
functions). functions).
`lisp' holds the Emacs Lisp code for Emacs (most everything else). `lisp' holds the Emacs Lisp code for Emacs (most everything else).
`leim' holds the library of Emacs input methods, Lisp code and `leim' holds the original source files for the generated files
auxiliary data files required to type international characters in lisp/leim. These form the library of Emacs input methods,
which can't be directly produced by your keyboard. required to type international characters that can't be
directly produced by your keyboard.
`lib' holds source code for libraries used by Emacs and its utilities `lib' holds source code for libraries used by Emacs and its utilities
`lib-src' holds the source code for some utility programs for use by or `lib-src' holds the source code for some utility programs for use by or
with Emacs, like movemail and etags. with Emacs, like movemail and etags.
......
...@@ -80,8 +80,7 @@ dnl hence the single quotes. This is per the GNU coding standards, see ...@@ -80,8 +80,7 @@ dnl hence the single quotes. This is per the GNU coding standards, see
dnl (autoconf) Installation Directory Variables dnl (autoconf) Installation Directory Variables
dnl See also epaths.h below. dnl See also epaths.h below.
lispdir='${datadir}/emacs/${version}/lisp' lispdir='${datadir}/emacs/${version}/lisp'
leimdir='${datadir}/emacs/${version}/leim' standardlisppath='${lispdir}'
standardlisppath='${lispdir}:${leimdir}'
locallisppath='${datadir}/emacs/${version}/site-lisp:'\ locallisppath='${datadir}/emacs/${version}/site-lisp:'\
'${datadir}/emacs/site-lisp' '${datadir}/emacs/site-lisp'
lisppath='${locallisppath}:${standardlisppath}' lisppath='${locallisppath}:${standardlisppath}'
...@@ -1683,7 +1682,6 @@ if test "${HAVE_NS}" = yes; then ...@@ -1683,7 +1682,6 @@ if test "${HAVE_NS}" = yes; then
infodir="\${ns_appresdir}/info" infodir="\${ns_appresdir}/info"
mandir="\${ns_appresdir}/man" mandir="\${ns_appresdir}/man"
lispdir="\${ns_appresdir}/lisp" lispdir="\${ns_appresdir}/lisp"
leimdir="\${ns_appresdir}/leim"
INSTALL_ARCH_INDEP_EXTRA= INSTALL_ARCH_INDEP_EXTRA=
fi fi
...@@ -4490,7 +4488,6 @@ AC_SUBST(libexecdir) ...@@ -4490,7 +4488,6 @@ AC_SUBST(libexecdir)
AC_SUBST(mandir) AC_SUBST(mandir)
AC_SUBST(infodir) AC_SUBST(infodir)
AC_SUBST(lispdir) AC_SUBST(lispdir)
AC_SUBST(leimdir)
AC_SUBST(standardlisppath) AC_SUBST(standardlisppath)
AC_SUBST(locallisppath) AC_SUBST(locallisppath)
AC_SUBST(lisppath) AC_SUBST(lisppath)
......
2013-11-27 Glenn Morris <rgm@gnu.org>
* loading.texi (Library Search):
* os.texi (Startup Summary): No more leim directory.
2013-11-26 Glenn Morris <rgm@gnu.org> 2013-11-26 Glenn Morris <rgm@gnu.org>
* os.texi (Startup Summary): Update for leim-list being preloaded. * os.texi (Startup Summary): Update for leim-list being preloaded.
......
...@@ -270,7 +270,6 @@ is a directory something like ...@@ -270,7 +270,6 @@ is a directory something like
"/usr/local/share/emacs/@var{version}/lisp" "/usr/local/share/emacs/@var{version}/lisp"
@end example @end example
followed by a similarly named @file{leim} directory.
(In this and the following examples, replace @file{/usr/local} with (In this and the following examples, replace @file{/usr/local} with
the installation prefix appropriate for your Emacs.) the installation prefix appropriate for your Emacs.)
These directories contain the standard Lisp files that come with These directories contain the standard Lisp files that come with
...@@ -278,10 +277,12 @@ Emacs. If Emacs cannot find them, it will not start correctly. ...@@ -278,10 +277,12 @@ Emacs. If Emacs cannot find them, it will not start correctly.
If you run Emacs from the directory where it was built---that is, an If you run Emacs from the directory where it was built---that is, an
executable that has not been formally installed---Emacs instead executable that has not been formally installed---Emacs instead
initializes @code{load-path} using the @file{lisp} and @file{leim} initializes @code{load-path} using the @file{lisp}
directories in the directory containing the sources from which it directory in the directory containing the sources from which it
was built. If you built Emacs in a separate directory from the was built.
sources, it also adds those directories from the build directory. @c Though there should be no *.el files in builddir/lisp, so it's pointless.
If you built Emacs in a separate directory from the
sources, it also adds the lisp directories from the build directory.
(In all cases, elements are represented as absolute file names.) (In all cases, elements are represented as absolute file names.)
@cindex site-lisp directories @cindex site-lisp directories
......
...@@ -74,11 +74,9 @@ automatically when Emacs is installed. ...@@ -74,11 +74,9 @@ automatically when Emacs is installed.
It loads any @file{leim-list.el} that it finds in the @code{load-path} It loads any @file{leim-list.el} that it finds in the @code{load-path}
directories. This file is intended for registering input methods. directories. This file is intended for registering input methods.
The search is only for any personal @file{leim-list.el} files that you The search is only for any personal @file{leim-list.el} files that you
may have created; so it skips the directories containing the standard Emacs may have created; it skips the directories containing the standard Emacs
libraries (for efficiency, since @file{leim-list.el} should not exist libraries (these should contain only a single @file{leim-list.el} file,
in those directories), as well as the @file{leim} directory that is which is compiled into the Emacs executable).
part of the distribution (since the @file{leim-list.el} file in this
directory is compiled into the Emacs executable).
@vindex before-init-time @vindex before-init-time
@item @item
......
2013-11-27 Glenn Morris <rgm@gnu.org>
* Makefile.in (leimdir): New variable.
(TIT_GB, TIT_BIG5, MISC, changed.tit, changed.misc)
(${leimdir}/leim-list.el, ${leimdir}/ja-dic/ja-dic.el):
Generate in $leimdir.
(all): Remove compilation, add ja-dic.
(leim-list.el): Now PHONY.
(setwins, compile-targets, compile-main, clean, mostlyclean)
(extraclean): Remove.
(bootstrap-clean): Delete all generated files.
* README: Update for moved leim/ directory.
* leim-ext.el (ucs-input-activate, hangul-input-method-activate):
Remove manual autoloads; now in loaddefs.el.
Disable byte-compile, version-control, autoloads in the output.
2013-11-23 Glenn Morris <rgm@gnu.org> 2013-11-23 Glenn Morris <rgm@gnu.org>
* Makefile.in (RUN_EMACS): Empty EMACSLOADPATH rather than unsetting. * Makefile.in (RUN_EMACS): Empty EMACSLOADPATH rather than unsetting.
......
...@@ -26,8 +26,11 @@ SHELL = @SHELL@ ...@@ -26,8 +26,11 @@ SHELL = @SHELL@
# Here are the things that we expect ../configure to edit. # Here are the things that we expect ../configure to edit.
srcdir=@srcdir@ srcdir=@srcdir@
# Where the generated files go.
leimdir = ${srcdir}/../lisp/leim
# Which Emacs to use to convert TIT files to Emacs Lisp files, # Which Emacs to use to convert TIT files to Emacs Lisp files,
# byte-compile Emacs Lisp files, and generate the file leim-list.el. # and generate the file leim-list.el.
EMACS = ../src/emacs EMACS = ../src/emacs
# How to run Emacs. # How to run Emacs.
...@@ -38,45 +41,39 @@ MKDIR_P = @MKDIR_P@ ...@@ -38,45 +41,39 @@ MKDIR_P = @MKDIR_P@
# Files generated from TIT dictionaries for Chinese GB character set. # Files generated from TIT dictionaries for Chinese GB character set.
TIT_GB=\ TIT_GB=\
quail/CCDOSPY.el \ ${leimdir}/quail/CCDOSPY.el \
quail/Punct.el \ ${leimdir}/quail/Punct.el \
quail/QJ.el \ ${leimdir}/quail/QJ.el \
quail/SW.el \ ${leimdir}/quail/SW.el \
quail/TONEPY.el ${leimdir}/quail/TONEPY.el
# Files generated from TIT dictionaries for Chinese BIG5 character set. # Files generated from TIT dictionaries for Chinese BIG5 character set.
TIT_BIG5=\ TIT_BIG5=\
quail/4Corner.el \ ${leimdir}/quail/4Corner.el \
quail/ARRAY30.el \ ${leimdir}/quail/ARRAY30.el \
quail/ECDICT.el \ ${leimdir}/quail/ECDICT.el \
quail/ETZY.el \ ${leimdir}/quail/ETZY.el \
quail/Punct-b5.el \ ${leimdir}/quail/Punct-b5.el \
quail/PY-b5.el \ ${leimdir}/quail/PY-b5.el \
quail/QJ-b5.el \ ${leimdir}/quail/QJ-b5.el \
quail/ZOZY.el ${leimdir}/quail/ZOZY.el
CHINESE_TIT=${TIT_GB} ${TIT_BIG5} CHINESE_TIT=${TIT_GB} ${TIT_BIG5}
MISC= \ MISC= \
quail/tsang-b5.el \ ${leimdir}/quail/tsang-b5.el \
quail/quick-b5.el \ ${leimdir}/quail/quick-b5.el \
quail/tsang-cns.el \ ${leimdir}/quail/tsang-cns.el \
quail/quick-cns.el \ ${leimdir}/quail/quick-cns.el \
quail/PY.el \ ${leimdir}/quail/PY.el \
quail/ZIRANMA.el \ ${leimdir}/quail/ZIRANMA.el \
quail/CTLau.el \ ${leimdir}/quail/CTLau.el \
quail/CTLau-b5.el ${leimdir}/quail/CTLau-b5.el
## The generated .el files. ## The generated .el files.
TIT_MISC=${CHINESE_TIT} ${MISC} TIT_MISC=${CHINESE_TIT} ${MISC}
.SUFFIXES: .elc .el all: ${leimdir}/leim-list.el ${leimdir}/ja-dic/ja-dic.el
.el.elc:
@echo Compiling $<
@${RUN_EMACS} -l international/quail -f batch-byte-compile $<
all: leim-list.el compile-main
.PHONY: all .PHONY: all
TIT_SOURCES= \ TIT_SOURCES= \
...@@ -106,10 +103,10 @@ ${CHINESE_TIT}: changed.tit ...@@ -106,10 +103,10 @@ ${CHINESE_TIT}: changed.tit
## quail/%.el: CXTERM-DIC/%.tit ## quail/%.el: CXTERM-DIC/%.tit
## It doesn't seem possible to do this with VPATH and suffix rules. ## It doesn't seem possible to do this with VPATH and suffix rules.
changed.tit: ${TIT_SOURCES} changed.tit: ${TIT_SOURCES}
@${MKDIR_P} quail @${MKDIR_P} ${leimdir}/quail
${RUN_EMACS} -l titdic-cnv \ ${RUN_EMACS} -l titdic-cnv \
-f batch-titdic-convert -dir quail ${srcdir}/CXTERM-DIC; \ -f batch-titdic-convert -dir ${leimdir}/quail ${srcdir}/CXTERM-DIC
echo "changed" > $@ echo "changed" > $@
MISC_SOURCES= \ MISC_SOURCES= \
${srcdir}/MISC-DIC/CTLau-b5.html \ ${srcdir}/MISC-DIC/CTLau-b5.html \
...@@ -123,75 +120,36 @@ ${MISC}: changed.misc ...@@ -123,75 +120,36 @@ ${MISC}: changed.misc
@true @true
changed.misc: ${MISC_SOURCES} changed.misc: ${MISC_SOURCES}
@${MKDIR_P} quail @${MKDIR_P} ${leimdir}/quail
${RUN_EMACS} -l titdic-cnv \ ${RUN_EMACS} -l titdic-cnv \
-f batch-miscdic-convert -dir quail ${srcdir}/MISC-DIC; \ -f batch-miscdic-convert -dir ${leimdir}/quail ${srcdir}/MISC-DIC
echo "changed" > $@ echo "changed" > $@
leim-list.el: ${TIT_MISC} ${srcdir}/leim-ext.el .PHONY: leim-list.el
rm -f leim-list.el leim-list.el: ${leimdir}/leim-list.el
if [ "`cd ${srcdir} && /bin/pwd`" = "`/bin/pwd`" ] ; then \
${RUN_EMACS} -l international/quail \ ${leimdir}/leim-list.el: ${TIT_MISC} ${srcdir}/leim-ext.el
--eval "(update-leim-list-file \".\")" ; \ rm -f $@
else \ ${RUN_EMACS} -l international/quail \
${RUN_EMACS} -l international/quail \ --eval "(update-leim-list-file (unmsys--file-name \"${leimdir}\"))"
--eval "(update-leim-list-file \".\" (unmsys--file-name \"${srcdir}\"))" ; \
fi
sed -n '/^[^;]/ p' < ${srcdir}/leim-ext.el >> $@ sed -n '/^[^;]/ p' < ${srcdir}/leim-ext.el >> $@
$(srcdir)/ja-dic/ja-dic.el: $(srcdir)/SKK-DIC/SKK-JISYO.L ${leimdir}/ja-dic/ja-dic.el: $(srcdir)/SKK-DIC/SKK-JISYO.L
@$(MKDIR_P) $(srcdir)/ja-dic @$(MKDIR_P) $(leimdir)/ja-dic
$(RUN_EMACS) -batch -l ja-dic-cnv \ $(RUN_EMACS) -batch -l ja-dic-cnv \
-f batch-skkdic-convert -dir "$(srcdir)/ja-dic" \ -f batch-skkdic-convert -dir "$(leimdir)/ja-dic" \
"$(srcdir)/SKK-DIC/SKK-JISYO.L" "$(srcdir)/SKK-DIC/SKK-JISYO.L"
## Following adapted from lisp/Makefile.in. .PHONY: bootstrap-clean distclean maintainer-clean
setwins=wins="${srcdir}/ja-dic quail"; \
[ "`cd ${srcdir} && /bin/pwd`" != "`/bin/pwd`" ] && \
wins="$$wins ${srcdir}/quail"
.PHONY: compile-targets
# TARGETS is set dynamically in the recursive call from `compile-main'.
compile-targets: $(TARGETS)
# Compile all the Elisp files that need it. Beware: it approximates
# `no-byte-compile', so watch out for false-positives!
.PHONY: compile-main
compile-main: ${TIT_MISC} $(srcdir)/ja-dic/ja-dic.el
@($(setwins); \
els=`echo "$$wins " | sed -e 's| |/*.el |g'`; \
for el in $$els; do \
test -f $$el || continue; \
test ! -f $${el}c && GREP_OPTIONS= grep '^;.*no-byte-compile: t' $$el > /dev/null && continue; \
echo "$${el}c"; \
done | xargs echo) | \
while read chunk; do \
$(MAKE) $(MFLAGS) compile-targets EMACS="$(EMACS)" TARGETS="$$chunk"; \
done
.PHONY: clean mostlyclean bootstrap-clean distclean maintainer-clean extraclean
clean mostlyclean:
rm -f ${TIT_MISC} ${TIT_MISC:.el=.elc} \
leim-list.el changed.tit changed.misc
# The following target is needed because the `clean' target only removes bootstrap-clean:
# TIT-generated files and doesn't touch compiled Quail packages. But rm -f ${TIT_MISC} ${TIT_MISC:.el=.elc} \
# bootstrapping should not leave non-fresh .elc files behind. ${leimdir}/leim-list.el changed.tit changed.misc
bootstrap-clean: clean rm -rf ${leimdir}/ja-dic
$(setwins); for w in $$wins; do rm -f $$w/*.elc; done
distclean: clean distclean:
-[ "`cd ${srcdir} && /bin/pwd`" != "`/bin/pwd`" ] && rm -rf quail
rm -f Makefile rm -f Makefile
maintainer-clean: distclean bootstrap-clean maintainer-clean: distclean bootstrap-clean
extraclean: maintainer-clean ### Makefile.in ends here
-rm -f *~ \#* */*~ */\#*
.PHONY: check-declare
check-declare:
$(RUN_EMACS) -l check-declare \
--eval '(check-declare-directory (unmsys--file-name "$(srcdir)"))'
...@@ -20,24 +20,22 @@ This directory contains various dictionaries for Chinese input ...@@ -20,24 +20,22 @@ This directory contains various dictionaries for Chinese input
methods. These dictionaries are automatically converted to Quail methods. These dictionaries are automatically converted to Quail
packages (Emacs Lisp source files) by `make'. packages (Emacs Lisp source files) by `make'.
quail:
This directory contains Emacs Lisp source files for Quail packages.
SKK-DIC: SKK-DIC:
This directory contains source dictionary for Japanese input method This directory contains source dictionary for Japanese input method
distributed with SKK (Japanese input method run with Mule). But, you distributed with SKK (Japanese input method run with Mule).
don't need this file because we distribute an Emacs Lisp source file
ja-dic/ja-dic.el which has already been converted from the source
dictionary (See below). The above source files are used to generate the following outputs:
../lisp/leim/quail:
This directory contains Emacs Lisp source files for Quail packages.
ja-dic: ../lisp/leim/ja-dic:
This directory contains Emacs Lisp source file ja-dic.el which is This directory contains Emacs Lisp source file ja-dic.el,
generated from a source dictionary in SKK-DIC directory. The generated from a source dictionary in SKK-DIC directory.
inclusion of this file is for users convenience because it takes