cdesktopenv/cde/admin/man/man5/binstall.5

199 lines
6.3 KiB
Groff

.\" $XConsortium: binstall.5 /main/3 1995/10/30 14:07:47 rswiston $
.TH binstall 5 "" "" CDE
.ds )H Common Desktop Environment
.ds ]W January 1994
.SH NAME
binstall \- build environment installation mechanism administration
.SH DESCRIPTION
This man page describes the administration of the build environment
installation mechanism on all architectures.
This mechanism was set up to allow developers to use alternative build
environments (usually from some previous day's build) when build trees
are unstable. It uses
.I imake
configuration to extract libraries,
headers, make configuration, and binaries from a build tree and installs
them in a designated location. If
.I installpath
is the installation location,
.I make binstall
will create the following directories under
.IR installpath :
.I include
(and subdirectories),
.IR lib ,
.IR bin ,
.IR config ,
and
.IR util .
The mechanism can also create any other needed directories under
.IR installpath .
These directories can then be accessed by a developer by pointing the
.I TOP
of his Makefiles to
.IR installpath .
Most components (including imake-oriented components not in any build
tree) can then leverage the libraries, headers, etc. in the binstall
path and build correctly.
(See
.IR binstall(1) ).
A new pass has been added to
.I imake
to accomodate installing build environments ->
.I make
.IR binstall .
.TP 2
New cpp macros for \fIbinstall\fR have been added to \fIconfig/cde/cdeImake.tmpl:
.nf
\fIBInstallCmd\fR - location of standard make \fIinstall\fR command.
default -> /etc/install.
\fIBInstallTop\fR - destination location of installed build.
default -> /tmp/binstall.
\fIBInstallDate\fR - suffix added to installed build path (See Examples).
default -> /**/ (nothing)
.fi
.TP 2
New make macros for \fIbinstall\fR have been added to \fIconfig/cde/cdeImake.tmpl:
.nf
.I BINSTALL = BInstallCmd
.I BINSTALLDATE = BInstallDate
.I BINSTALLTOP = BInstallTop
.I BINSTALLPATH = $(BINSTALLTOP)$(BINSTALLDATE)
.I BINSTALL_LIBDIR = $(BINSTALLPATH)/lib
This macro is used by vendorLib.tmpl and Project.tmpl to set new
library paths when developer's use an installed build.
.I BINSTALL_INCDIR = $(BINSTALLPATH)/include
This macro resets the default include paths to the installed
build location.
.fi
.TP 2
New make rules for \fIbinstall\fR have been added to \fIconfig/cde/cde.rules :
.nf
NOTE: \fIdest\fR below refers to a subdirectory of \fI$BINSTALLPATH\fR.
It is usually one of \fIlib, bin, \fRor \fIinclude.
\fIBuildInstall(file,dest)\fR - install \fIfile\fR to \fIdest\fR.
\fIBuildMultipleInstall(list,dest)\fR - install \fIlist\fR to \fIdest\fR.
\fINormalLibraryBuildInstall(libname,dest)\fR - install a .a to \fIdest\fR.
\fISharedLibraryBuildInstall(libname,rev,dest)\fR - install shlib to \fIdest\fR.
\fIDirectoryInstall(dir,dest)\fR - install directory \fIdir\fR to \fIdest\fR.
\fISharedLibraryBuildInstall\fR is defined in vendorLib.rules.
The other rules are defined in \fIconfig/cde/cde.rules\fR.
.fi
.P
When a build environment is installed to a path, the
.I config
and
.I util
directories are copied to the installation path. The file
.I config/UseInstalledBuildtemplate
is copied to the file
.I config/treedefines
in the install path
.I config
directory. This file sets the cpp macro
.IR UseInstalledBuild .
.I UseInstalledBuild
will correctly point all library and header access requests to the
install path when a developer resets the
.I TOP
of his Makefiles to the install path.
.SH SETUP
The install package path
.I BINSTALLPATH
is where the results of make binstall are stored. It is easiest to set
this from the command-line or through the
.I master_build
script. If you want a default action for make binstall,
each build tree may
set
.I BINSTALLTOP
and optionally
.I BINSTALLDATE
to an appropriate path.
These 2 macros are easiest to set through their cpp macros
.I BInstallTop
and
.IR BInstallDate .
It is recommended that
.I BInstallTop
be defined in the
file
.IR config/BuildTree.name .
.I BINSTALLDATE
allows you to add another
automatically generated addition to the path set by
.I BINSTALLTOP . In
.IR config/hp.cf ,
.I BInstallDate
is defined to add
.I /mm_dd
to the
.IR BINSTALLTOP .
You may not want this to happen on your hp systems at other sites.
Thus you should set
.I BInstallDate to either /**/ or whatever is
appropriate for your site in
.I config/BuildTree.name
for your hp builds.
.P
Thus, you have a choice of defining
.I BInstallPath
for each tree by
defining it in
.IR config/BuildTree.name .
If you don't define it there, you
will either get the default
.I BInstallPath
for that architecture or the
global default (/**/). It is each vendor's responsibility to set
.I BInstallDate
in their .cf file if they want to add something to the
default package install path for each of their own builds. It is
likewise their responsibility to turn off
.I BInstallDate
if they do not
want to use this mechanism for other architectures that have turned it
on.
.P
However, it is still easier to set the
.I BINSTALLPATH
from the command line using
.I make
.IR BINSTALLPATH=somepath
or from the
.I master_build
script(See running
.I binstall
below).
.SH RUNNING BINSTALL
Installing the build can be done in a number of ways:
.nf
1) running \fImake -k BINSTALLPATH=yourpath binstall\fR.
2) running \fImake -k binstall\fR in a build tree.
3) using the \fImaster_build\fR script with the following options:
\fI-ba <path>\fR (run \fImake binstall\fR and supply only the \fIBINSTALLTOP\fR
portion of the install path. \fIBINSTALLDATE\fR will be
automatically generated and will be added to
\fIBINSTALLTOP\fR as a subdirectory of the form \fI/mm_dd\fR.
e.g. -ba /binstall/cde_hp700_90 on Jan 3rd. will run
make -k BINSTALLPATH =/binstall/cde_hp700_90/01_03
.SH FURTHER INFORMATION
Access to binstall paths may vary for each vendor site. For information
about the binstall paths available to developers, each site should
create a man page of the form
.I binstall_vendor.1
in the
.I admin/man/man1
directory -> binstall_hp(1), binstall_sun(1), binstall_novell(1), binstall_ibm(1), etc..
.SH AUTHOR
The binstall mechanism
was developed by Marc Ayotte,
WTD-CV, Hewlett-Packard.
.SH SEE ALSO
master_build(1),
binstall(1),
binstall_hp(1),
binstall_sun(1),
binstall_novell(1),
binstall_ibm(1).