Mercurial > hg > xemacs-beta
diff lib-src/add-little-package.sh @ 203:850242ba4a81 r20-3b28
Import from CVS: tag r20-3b28
author | cvs |
---|---|
date | Mon, 13 Aug 2007 10:02:21 +0200 |
parents | |
children | f220cc83d72e |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lib-src/add-little-package.sh Mon Aug 13 10:02:21 2007 +0200 @@ -0,0 +1,80 @@ +#! /bin/sh +# add-little-package.sh --- Add single file package to Package Lisp Hierarchy +# Copyright (C) 1997 Free Software Foundation, Inc. + +# Author: SL Baur <steve@altair.xemacs.org> +# Maintainer: SL Baur <steve@altair.xemacs.org> +# Keywords: packages internal + +# This file is part of XEmacs. + +# XEmacs is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# XEmacs is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with XEmacs; see the file COPYING. If not, write to +# the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +# Boston, MA 02111-1307, USA. + +### Commentary: + +## This file copies a single lisp file into an XEmacs package hierarchy and +## performs the necessary magic so that it will be autoloaded at the next +## dump. + +## Parameters: +## $1 -- Full path to an XEmacsen later than 20.3 +## $2 -- Full path to a lisp file to install +## $3 -- Full path to a lisp directory in an XEmacs package hierarchy +## This directory will be created if it does not exist. +## NOTE: the directory name should *not* end in a trailing slash + + +### Code: + +XEMACS=$1 +LISP_FILE=$2 +DEST_DIR=$3 + +# Test for valid XEmacs executable and valid input file +if [ \( ! -f ${LISP_FILE} \) -o \( ! -x ${XEMACS} \) ]; then + exit 1 +fi + +# Test for destination directory, creating if necessary +if [ ! -d ${DEST_DIR} ]; then + mkdir ${DEST_DIR} +fi + +cp ${LISP_FILE} ${DEST_DIR} +${XEMACS} -batch -q -no-site-file -f batch-byte-compile \ + ${DEST_DIR}/`basename ${LISP_FILE}` + +# recompute autoloads ... +${XEMACS} -batch -q -no-site-file -l autoload \ + -f batch-update-directory ${DEST_DIR} +# and bytecompile if one was created +if [ -f ${DEST_DIR}/auto-autoloads.el ]; then + ${XEMACS} -batch -q -no-site-file -f batch-byte-compile \ + ${DEST_DIR}/auto-autoloads.el +fi + +# recompute custom-loads +${XEMACS} -batch -q -no-site-file -l cus-dep \ + -f Custom-make-dependencies ${DEST_DIR} +# and bytecompile if one was created +if [ -f ${DEST_DIR}/custom-load.el ]; then + ${XEMACS} -batch -q -no-site-file -f batch-byte-compile \ + ${DEST_DIR}/custom-load.el +fi + +exit 0 + +### add-little-package.sh ends here