File: Building_SAMBA_VMS.TXT

15-Oct-2000	J. Malmberg


Building this port of SAMBA_VMS is a complex business.

This SAMBA for VMS port requires the FRONTPORT library.  It must be installed
before SAMBA can be run or built.


The sources are spread through three directory trees.  Logical names are used
to keep the path lengths short.  Unfortunately the number of logical names
used for such a big project will require the JTQUOTA for the building account
to be set to 30000.

The first directory tree in search precedence is for the binaries and other
intermediate files from the build process and for source modules where work
is in progress.

The second directory tree is for VMS specific SAMBA modules that have not been
released by the SAMBA UNIX team.  This is maintained as a set of CMS libraries.

The third directory tree contains the SAMBA UNIX source as released by the
SAMBA team.  It is maintained as a set of CMS libraries to track the changes by
the SAMBA team between releases.

A logical name search list is used for each subdirectory for the build
procedure to find the modules needed.  The procedure SETUP_SAMBA_VMS_BUILD.COM
will create the logical names that I use.  It is located in the [.source]
directory of the SAMBA VMS specific source modules.  Before running it you
should set your default directory to the base of the directory that you will
be putting the files resulting from the build.  It will create the
subdirectories as needed.


The SAMBA UNIX source is in multiple directories, and can not be stored in a
single CMS library easily.  I have chosen to create a CMS library for each
directory that is in the SAMBA source.

This CMS library tree will only have source that is released by the main
SAMBA team.  A DCL command procedure is used to load in new releases.  It
does a diff of each module, and only enters in changed generations.  It
also removes from the reference directory any modules that are no longer used.


These Reference directories are at the end of the search lists that used by the
build procedure SAMBA.MMS.


A second CMS library tree is used to contain the VMS specific changes for
building SAMBA.  This can be set to readonly.  This is in the middle of the
search list.


A third library tree is used to contained any source modules in progress.  It
also contains the binaries from the build process.  This directory is in the
beginning of the search list.

The SETUP_SAMBA_VMS_BUILD command procedure assumes that CMS library trees for
the SAMBA UNIX code and the SAMBA VMS code are on the same device.  It also
will create the directory structure for directory tree that is needed for the
build products.

The directory for the build product files does not have to be on same device as
the CMS libraries.


The SETUP_SAMBA_VMS_BUILD procedure sets up a symbol "make_samba" that when
typed at the DCL prompt will build samba.