66166b8f0398b2dd2ae60295623d34d322e72b8f
[chise/xemacs-chise.git.1] / man / xemacs / packages.texi
1 @node Packages, Abbrevs, Running, Top
2 @comment  node-name,  next,  previous,  up
3
4 @section Introduction to XEmacs Packages
5 @cindex packages
6
7 The XEmacs 21 distribution comes only with a very basic set of
8 built-in modes and packages.  Most of the packages that were part of
9 the distribution of earlier versions of XEmacs are now separately
10 available.  The installer as well as the user can choose which
11 packages to install; the actual installation process is easy.
12 This gives an installer the ability to tailor an XEmacs installation for
13 local needs with safe removal of unnecessary code.
14
15 @subsection Package Flavors
16
17 There are two main flavors of packages.
18
19 @itemize @emph
20 @item Regular Packages
21 A regular package is one in which multiple files are involved and one
22 may not in general safely remove any of them.
23
24 @item Single-File Packages
25 A single-file package is an aggregate collection of thematically
26 related but otherwise independent lisp files.  These files are bundled 
27 together for download convenience and individual files may deleted at
28 will without any loss of functionality.
29 @end itemize
30
31 @subsection Package Distributions
32
33 XEmacs Lisp packages are distributed in two ways depending on the
34 intended use.  Binary Packages are for installers and end-users and may
35 be installed directly into an XEmacs package directory.  Source Packages
36 are for developers and include all files necessary for rebuilding
37 bytecompiled lisp and creating tarballs for distribution.
38
39 @subsection Binary Packages
40 Binary packages may be installed directly into an XEmacs package
41 hierarchy.
42
43 @subsection Source Packages
44
45 Source packages contain all of the Package author's (where appropriate
46 in regular packages) source code plus all of the files necessary to
47 build distribution tarballs (Unix Tar format files and gzipped for space
48 savings).
49
50 @subsection Prerequisites for building Source Packages
51
52 You must have GNU @code{cp}, GNU @code{install} (or a BSD compatible
53 @code{install} program) GNU @code{make} (3.75 or later preferred),
54 @code{makeinfo} (1.68 from @code{texinfo-3.11} or later required), GNU
55 @code{tar} and XEmacs 21.0.  The source packages will untar into a
56 correct directory structure.  At the top level you must have
57 @file{XEmacs.rules} and @file{package-compile.el}.  These files are
58 available from the XEmacs FTP site from the same place you obtained your
59 source package distributions.
60
61 @subsection What you can do with Source Packages
62
63 NB:  A global build operation doesn't exist yet as of 13 January 1998.
64
65 Source packages are most useful for creating XEmacs package tarballs
66 for installation into your own XEmacs installations or for
67 distributing to others.
68
69 Supported operations from Make are:
70
71 @table @code
72 @item clean
73 Remove all built files except @file{auto-autoloads.el} and @file{custom-load.el}.
74
75 @item distclean
76 Remove XEmacs backups as well as the files deleted by @code{make clean}.
77
78 @item all
79 Bytecompile all files, build and bytecompile byproduct files like
80 @file{auto-autoloads.el} and @file{custom-load.el}.  Create info version
81 of TeXinfo documentation if present.
82
83 @item srckit
84 Usually aliased to @code{make srckit-std}.  This does a @code{make
85 distclean} and creates a package source tarball in the staging
86 directory.  This is generally only of use for package maintainers.
87
88 @item binkit
89 May be aliased to @code{binkit-sourceonly}, @code{binkit-sourceinfo},
90 @code{binkit-sourcedata}, or
91 @code{binkit-sourcedatainfo}. @code{sourceonly} indicates there is
92 nothing to install in a data directory or info directory.
93 @code{sourceinfo} indicates that source and info files are to be
94 installed.  @code{sourcedata} indicates that source and etc (data) files
95 are to be installed.  @code{sourcedatainfo} indicates source, etc
96 (data), and info files are to be installed.  A few packages have needs
97 beyond the basic templates so this is not yet complete.
98
99 @item dist
100 Runs the rules @code{srckit} followed by @code{binkit}.  This is
101 primarily of use by XEmacs maintainers producing files for distribution.
102
103 @end table