.\" -*- mode: troff; coding: utf-8 -*-
.\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>.
.ie n \{\
.    ds C` ""
.    ds C' ""
'br\}
.el\{\
.    ds C`
.    ds C'
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.\"
.\" If the F register is >0, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD.  Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.\"
.\" Avoid warning from groff about undefined register 'F'.
.de IX
..
.nr rF 0
.if \n(.g .if rF .nr rF 1
.if (\n(rF:(\n(.g==0)) \{\
.    if \nF \{\
.        de IX
.        tm Index:\\$1\t\\n%\t"\\$2"
..
.        if !\nF==2 \{\
.            nr % 0
.            nr F 2
.        \}
.    \}
.\}
.rr rF
.\" ========================================================================
.\"
.IX Title "mst_envs l"
.TH mst_envs l 2026-06-29 " " " "
.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH NAME
mst_envs \- configure MST environment
.SH SYNOPSIS
.IX Header "SYNOPSIS"
mst_envs [options]
.SH OPTIONS
.IX Header "OPTIONS"
.IP "\fB\-\-shell\fR \fIenumerated value\fR" 8
.IX Item "--shell enumerated value"
output commands compatible with the specified shell.  Available shells are
.Sp
.Vb 5
\&  sh
\&  bash
\&  ksh
\&  csh
\&  tcsh
.Ve
.IP "\fB\-\-define\fR|\fB\-D\fR \fIoption\fR=\fIvalue\fR" 8
.IX Item "--define|-D option=value"
Define a subsystem specific option; see <L/Subsystem Options> for more information.
.IP "\fB\-\-env\fR \fIenvironment variable name\fR" 8
.IX Item "--env environment variable name"
Only output the specified environment variable.  This option may be repeated.
.IP \fB\-\-envs\fR 8
.IX Item "--envs"
only output the environment variables
.IP \fB\-\-path\fR 8
.IX Item "--path"
only output the path
.IP \fB\-\-prepend\fR 8
.IX Item "--prepend"
add MST executables to the front of the user's path (default behavior)
.IP \fB\-\-append\fR 8
.IX Item "--append"
add MST executables to the end of the user's path
.IP "\fB\-\-export\fR, \fB\-\-noexport\fR" 8
.IX Item "--export, --noexport"
whether the MST variables will be exported; defaults to \fB\-\-export\fR
.IP "\fB\-\-fullpath\fR, \fB\-\-nofullpath\fR" 8
.IX Item "--fullpath, --nofullpath"
whether the output PATH will include the user's PATH; defaults to
\&\fB\-\-fullpath\fR (yes)
.IP \fB\-\-ignore\-errors\fR 8
.IX Item "--ignore-errors"
Ignore the absence of Perl or Lua; normally this would be a fatail
occurrence.
.IP "\fB\-\-ldlibrarypath\fR, \fB\-\-noldlibrarypath\fR" 8
.IX Item "--ldlibrarypath, --noldlibrarypath"
whether the output will include the LD_LIBRARY_PATH environment variable;
defaults to \fB\-\-noldlibrarypath\fR (no)
.IP "\fB\-\-ldrunpath\fR, \fB\-\-noldrunpath\fR" 8
.IX Item "--ldrunpath, --noldrunpath"
whether the output will include the LD_RUN_PATH at all environment variable;
defaults to \fB\-\-ldrunpath\fR (yes)
.IP "\fB\-\-pfx\fR|\fB\-\-prefix\fR \fIpfx\fR" 8
.IX Item "--pfx|--prefix pfx"
prefix the MST variable names with the given string.
.IP "\fB\-\-sysarch\fR, \fB\-\-nosysarch\fR" 8
.IX Item "--sysarch, --nosysarch"
whether to output the system architecture variables; defaults to
\&\fB\-\-nosysarch\fR.
.IP "\fB\-\-exclude\fR \fIfile glob pattern\fR" 8
.IX Item "--exclude file glob pattern"
Don't output variables which match the pattern.  May be used more than once.
.IP \fB\-\-help\fR 8
.IX Item "--help"
print a short help message and exit.
.IP \fB\-\-usage\fR 8
.IX Item "--usage"
print detailed usage instructions and exit.
.SH DESCRIPTION
.IX Header "DESCRIPTION"
\&\fBmst_envs\fR is normally used inside a shell script (most likely the
user's shell startup script, like \fI.cshrc\fR or \fI.profile\fR) to add the
required entities to the user's environment to access the MST programs
and facilities.  \fBmst_envs\fR is designed to be \f(CW\*(C`eval\*(C'\fR'd by the shell,
e.g.
.PP
.Vb 1
\&  eval \`mst_envs \-csh\`
.Ve
.PP
normally this results in the setting of various environment
variables, including the user's path.  To have the MST variables
treated as shell variables, use the \fB\-\-noexport\fR flag.
.PP
the \fB\-\-sysarch\fR flag causes variables containing architecture
specific info to be output.  these variables are used in constructing
paths in the MST enviroment.  by outputing these variables, the user
may make use of them at a later point without having to run the
\&\fBsysarch\fR script separately.
.PP
In general, play with the options; it'll be pretty obvious what they do.
Just don't \fBeval\fR the output until you've got what you want.
.SS "Subsystem Options"
.IX Subsection "Subsystem Options"
The \f(CW\*(C`\-\-define\*(C'\fR option is used to provide extra options for various subsystems:
.IP \(bu 4
perl_version
.Sp
The version of Perl to enable access to.  It may take the following values:
.RS 4
.ie n .IP """path""" 4
.el .IP \f(CWpath\fR 4
.IX Item "path"
Use the Perl in the current path.
.ie n .IP """default""" 4
.el .IP \f(CWdefault\fR 4
.IX Item "default"
Use the Perl pointed to by \fI/proj/axaf/ots/pkgs/perl\fR.
.IP \fIversion\fR 4
.IX Item "version"
Use the Perl found at \fI/proj/axaf/ots/pkgs/perl\-\fR\fIversion\fR.
.RE
.RS 4
.Sp
The \f(CW\*(C`MSTENVS_WRAP_perl\*(C'\fR environment variable is set if the requested Perl isn't the default one so that
the \fI/proj/axaf/bin/perl\fR wrapper will use that specified.
.RE
.IP \(bu 4
lua_version
.Sp
The version of Lua to enable access to.  It may take the following values:
.RS 4
.ie n .IP """path""" 4
.el .IP \f(CWpath\fR 4
.IX Item "path"
Use the Lua in the current path.
.ie n .IP """default""" 4
.el .IP \f(CWdefault\fR 4
.IX Item "default"
Use the Lua found in \fI/proj/axaf/ots/\fR\fIsystem\fR\fI/bin/lua\fR.
.IP \fIversion\fR 4
.IX Item "version"
Use the Lua found at \fI/proj/axaf/ots/pkgs/lua\-\fR\fIversion\fR.
.RE
.RS 4
.RE
.SH "SPECIAL CASES"
.IX Header "SPECIAL CASES"
The LD_LIBRARY_PATH variable is set up to behave a bit differently
from the other environment variables.  Since we have chosen to avoid
setting LD_LIBRARY_PATH in a user's environment in the past, if it is
not present in the user's environment \fBmst_envs\fR will not output an
LD_LIBRARY_PATH.  If it is present, \fBmst_envs\fR with treat it much
like it does PATH and MANPATH.  Expect \fI\-\-append\fR, \fI\-\-prepend\fR, and
\&\fI\-\-nofullpath\fR to work as they would for PATH.
.SH AUTHOR
.IX Header "AUTHOR"
Diab Jerius (djerius@cfa.harvard.edu)
.PP
M Tibbetts ( mtibbetts@cfa.harvard.edu )
