This is build.info, produced by makeinfo version 4.0 from build.texi.

   This document describes the XEmacs package called build.  Copyright
(C) 2000-2001 Adrian Aichner.


File: build.info,  Node: Top,  Next: Build Overview,  Up: (dir)

Build Package
*************

   This is the XEmacs Build Reference Manual, Version 1.01 (for XEmacs
21.1, 21.2), released 2001-04-30, by Adrian Aichner <adrian@xemacs.org>.

* Menu:

* Build Overview::                    Overview of build package
* Build Installation::                Installation of the build package
* Build XEmacs::                      Choosing source and tools
* Build XEmacs From CVS::             Fetching sources with `CVS'
* Build XEmacs From Tarballs::        Fetching source tarballs with `EFS'
* Build XEmacs With GNU Tools::       UNIX-style build using configure, make
* Build XEmacs With Microsoft Tools:: Microsoft build using MS VC++ >= 4.0
* Generate XEmacs Build Report::      Reporting Success or Failure
* Known Problems of Build::           Problems, Workarounds, and Fixes
* Concept Index::                     An item for each concept


File: build.info,  Node: Build Overview,  Next: Build Installation,  Prev: Top,  Up: (dir)

Build Overview
**************

   `build' supports the building process of the `XEmacs' editor from
its sources.

   The build process consists of following steps:

  1. Download source code from FTP server or CVS repository.

  2. Configure any attributes of the build process, of the resulting
     XEmacs executable, and of the XEmacs environment.

  3. Start the make process to build XEmacs, install it, and run the
     regression tests.

  4. Report on the success or failure of the build, using build-report.


   The `build' command generates a widget-based interface to configure
and build XEmacs either using GNU Tools (`configure', `make') or
Microsoft Tools (`nmake' with command-line options (<= 21.2-b32) or
`config.inc' configuration file (> 21.2-b32)).


File: build.info,  Node: Build Installation,  Next: Build XEmacs,  Prev: Build Overview,  Up: (dir)

Build Installation
******************

   You have following three choices to install build (*note Using
Packages: (xemacs)Using Packages.):

  1. Use the package GUI:

        * In XEmacs Release 21.1:

          Select a download site under

               Options->Manage Packages->Add Download Site

          and after listing available packages with

               Options->Manage Packages->List & Install

          install `build' with

               Packages->Toggle install `build'
               Packages->Install/Remove Selected

          followed by starting a fresh XEmacs.

        * In XEmacs Beta Release 21.2-bXX:

          Menus have been re-arranged in XEmacs 21.2.

          Select a download site under

               Tools->Packages->Add Download Site

          and after listing available packages with

               Tools->Packages->List and Install

          install `build' with

               Packages->Toggle install `build'
               Packages->Install/Remove Selected

          followed by starting a fresh XEmacs.


  2. Run XEmacs command

          M-x package-admin-add-binary-package RET BUILD-PACKAGE-TARBALL-PATH

     after tarball download with EFS or ftp.

  3.  Extract the build tarball(s) into the xemacs-packages hierarchy
     from your favorite shell.

     `bash', `csh', `ksh', `zsh' come to mind on `UNIX' systems;
     `Cygwin's' `bash', `cmd.exe', and `command.exe' for `Windows
     95/98/NT'.

          cd INSTALLATION-DIRECTORY/xemacs-packages;
          gzip -dc BUILD-PACKAGE-TARBALL-PATH | tar -xvf -



File: build.info,  Node: Build XEmacs,  Next: Build XEmacs From CVS,  Prev: Build Installation,  Up: Top

Build XEmacs
************

   You may want to read through the build package info documentation
first.  It is accessed by following button.

     [View Build Info]

   Global build options can be browsed next.

     [Browse Build Options ...]

   You have to decide what to _build from_:

  1. CVS sources in the XEmacs CVS repository at
     `http://cvs.xemacs.org/'.

  2. Tarballs (tar.gz files) on the XEmacs FTP Site
     `http://ftp.xemacs.org/pub/xemacs/' or one of its mirror sites.


   and what to _build with_:

  1. GNU(1)/UNIX tools using `configure', `make', and `cc'.

  2. Microsoft tools using `nmake' and `cl', supported by
     `nt/xemacs.mak', and beginning with XEmacs 21.2-b33
     `nt/config.inc'.


   These two choices determine which of the following steps will be
taken.

     [Build XEmacs From CVS Now]

     [Build XEmacs From Tarballs Now]

   Finally either press the button labeled *Note Build XEmacs From CVS::
or *Note Build XEmacs From Tarballs::.  Only the button labeled
according to your choice under the _build from:_ menu will be active.
See *Note Build XEmacs:: and *Note Known Problems of Build::.

   Each of the following steps allow to return to a previous one with
the

     [Back]

   button to review your choices.

   Whether to build from tarballs or CVS sources depends on what the
user wants to do with the sources.

   * Tarballs are convenient for building a well-defined release of
     XEmacs.  These tarballs are big and users with slow or expensive
     network connections should avoid them.

     `gzip' and `tar' are required for this method.

   * For users who want to stay in close sync with the development of
     XEmacs, especially the Beta releases, create patches against files
     or whole directories, CVS is the way to go.

     You will obviously need to install `cvs' first.


   The choice is yours(2).

   ---------- Footnotes ----------

   (1) Alert readers will note: GNU's Not UNIX!

   (2) unless your access to the Internet is limited by firewalls or
disabled IP ports, you don't have gzip/tar, or cvs.


File: build.info,  Node: Build XEmacs From CVS,  Next: Build XEmacs From Tarballs,  Prev: Build XEmacs,  Up: Top

Build XEmacs From CVS
*********************

   The CVS commands to fetch XEmacs source code are run through the
XEmacs `compile' command (*note Compilation: (xemacs)Compilation.).

   The buffers are named uniquely with the current working directory
appropriately set to save the buffers with `C-x C-w' (`M-x write-file')
under the XEmacs source directory.

   After pressing the

     [CVS Checkout XEmacs]

   button (unless you have checked out before) and either one of

     [CVS Update XEmacs To Release]

   (as specified with

     [Browse Build CVS Options ...]

   ) or

     [CVS Update XEmacs To Latest]

   (resetting all *note Sticky tags: (cvs)Sticky tags.) you are ready
to proceed with

     [Build XEmacs Now ...]


File: build.info,  Node: Build XEmacs From Tarballs,  Next: Build XEmacs With GNU Tools,  Prev: Build XEmacs From CVS,  Up: Top

Build XEmacs From Tarballs
**************************

   The tarballs chosen with

     [Browse Build Tarball Options ...]

   Press

     [Download Build Tarball Set]

   to fetch tarballs with `EFS', which needs to be installed (1),
followed by

     [Install Downloaded Build Tarball Set]

   to extract tarballs using `gzip' and `tar' in a `compilation-mode'
buffer named accordingly (e.g. ???).

   Finally press the button either labeled *Note Build XEmacs With GNU
Tools:: or *Note Build XEmacs With Microsoft Tools:: according to your
choice under the _build with:_ menu.  See *Note Build XEmacs::.

   ---------- Footnotes ----------

   (1) If `EFS' is not installed you may obtain these tarballs by other
means and extract them to the configured directory.


File: build.info,  Node: Build XEmacs With GNU Tools,  Next: Build XEmacs With Microsoft Tools,  Prev: Build XEmacs From Tarballs,  Up: Top

Build XEmacs With GNU Tools
***************************

   Besides `GNU make' (make) and `GNU cc' (gcc) XEmacs can be built
with the equivalent programs from many UNIX vendors.

   The "configure"(1) script, which is run before `make', determines
the configuration of your system and warns about any problems it finds.

   ---------- Footnotes ----------

   (1) This shell script is on the top-level of the XEmacs source tree,
see also configure.usage there.


File: build.info,  Node: Build XEmacs With Microsoft Tools,  Next: Generate XEmacs Build Report,  Prev: Build XEmacs With GNU Tools,  Up: Top

Build XEmacs With Microsoft Tools
*********************************

   XEmacs is built using Microsoft's version of `make', "nmake", and
Microsoft's C++ compiler, "cl", which are both part of Microsoft Visual
Studio (1).

   Up to XEmacs 21.2-b32 all configuration choices are passed on to
`nmake' as command-line options.

   XEmacs versions > 21.2-b32 support `nt/config.inc' which is
generated according to user choices made under

     [Customize Build Make ...]

   by

     [Generate config.inc]

   which you have to save after reviewing it shortly.

   ---------- Footnotes ----------

   (1) Version 4.0 or greater is required.


File: build.info,  Node: Generate XEmacs Build Report,  Next: Known Problems of Build,  Prev: Build XEmacs With Microsoft Tools,  Up: Top

Generate XEmacs Build Report
****************************

   This is a GUI making use of the `build-report' feature provided with
XEmacs.

   You have to first

     [Customize Build Report ...]

   to pick up the information for the XEmacs build you would like to
generate the report for.

   Currently `build-report.el' is bundled with `build' to support
XEmacs 21.1, which doesn't have the latest version.


File: build.info,  Node: Known Problems of Build,  Next: Concept Index,  Prev: Generate XEmacs Build Report,  Up: Top

Known Problems of Build
***********************

  1. Activated buttons appear to be inactive.

        * Problem

          The buttons
               [Build XEmacs From CVS Now]
          and
               [Build XEmacs From Tarballs Now]
          don't show as active after being re-activated due to a bug in
          wid-edit.el in XEmacs 21.1.12 and below.

        * Workaround

          You can easily find which button is active by using `TAB'
          runs `widget-forward' or `Sh-TAB' runs `widget-backward'.

        * Fix

          `http://www.xemacs.org/list-archives/xemacs-patches/200010/msg00031.html'
          should fix this problem for later versions of XEmacs.


  2. Inactive buttons appear to be active.

        * Problem

          XEmacs 21.2-b36 and below have another bug which will not
          render the de-activated button as such.

        * Workaround

          You can easily find which button is active by using `TAB'
          runs `widget-forward' or `Sh-TAB' runs `widget-backward'.

        * Fix

          None as of 2000-10-21.  See
          `http://www.xemacs.org/list-archives/xemacs-beta/200010/msg00194.html'.




File: build.info,  Node: Concept Index,  Prev: Known Problems of Build,  Up: Top

Concept Index
*************

* Menu:

* Bugs:                                  Known Problems of Build.
* Building on UNIX:                      Build XEmacs With GNU Tools.
* Building on Windows 95/98/NT:          Build XEmacs With Microsoft Tools.
* Building with MS Visual Studio C++:    Build XEmacs With Microsoft Tools.
* cl:                                    Build XEmacs With Microsoft Tools.
* config.inc:                            Build XEmacs With Microsoft Tools.
* configure:                             Build XEmacs With GNU Tools.
* configure.usage:                       Build XEmacs With GNU Tools.
* gcc:                                   Build XEmacs With GNU Tools.
* Going Back:                            Build XEmacs.
* How to install build:                  Build Installation.
* Limitations:                           Known Problems of Build.
* make:                                  Build XEmacs With GNU Tools.
* nmake:                                 Build XEmacs With Microsoft Tools.
* Obtaining sources with CVS:            Build XEmacs From CVS.
* Obtaining sources with EFS:            Build XEmacs From Tarballs.
* What build is:                         Build Overview.
* XEmacs build process:                  Build Overview.
* xemacs.mak:                            Build XEmacs.



Tag Table:
Node: Top173
Node: Build Overview1117
Node: Build Installation1982
Node: Build XEmacs3663
Ref: Build XEmacs-Footnote-15688
Ref: Build XEmacs-Footnote-25737
Node: Build XEmacs From CVS5859
Node: Build XEmacs From Tarballs6709
Ref: Build XEmacs From Tarballs-Footnote-17485
Node: Build XEmacs With GNU Tools7610
Ref: Build XEmacs With GNU Tools-Footnote-18110
Node: Build XEmacs With Microsoft Tools8215
Ref: Build XEmacs With Microsoft Tools-Footnote-18955
Node: Generate XEmacs Build Report8999
Node: Known Problems of Build9551
Node: Concept Index10841

End Tag Table
