ADA.MKFAM(1) — Series 300 Only (Requires Optional Ada Software)
NAME
ada.mkfam − make (or reinitialize) an Ada family
SYNOPSIS
ada.mkfam [ −f ] familyname
Remarks:
This command requires installation of optional ADA software (not included with the standard HP-UX operating system) before it can be used.
DESCRIPTION
Ada.mkfam creates the Ada family familyname in mode 777 (possibly altered by umask(1)). The Ada family created is used by the compiler to maintain groups of libraries which have visibility of each other.
Ada.mkfam requires write permission in the parent directory. Ada.mkfam only creates the last component of the specified path as the Ada family; all parent directories must already exist.
An Ada family is a group of Ada libraries that are visible to one another. Units in a library in a particular family can be dependent on units in another library in the same family and a program can be composed (bound) using units from any number of libraries in a given family.
Libraries that are members of different families are normally invisible to each other and cannot access each other’s units. There is one exception to this rule; libraries belonging to the INSTALLATION family (a family provided with the Ada compilation system) are accessible to libraries in any other family.
If familyname exists, ada.mkfam can be used to reinitialize it (thus making it an empty family).
If the standard input is a terminal, ada.mkfam requests confirmation before reinitializing an existing Ada family. Confirmation is not requested if the −f option is given or if the standard input is not a terminal.
The following options are recognized:
−f Do not ask for confirmation if the family being created already exists; reinitialize the existing Ada family to the empty state.
Environment Variables
The environment variable ADA_PATH is associated with all components of the Ada compilation system. It must be set properly and exported before any component of the Ada compilation system (including ada.mkfam) can be used (see ada(1), Environment Variables).
Locks
To ensure the integrity of their internal data structures, Ada libraries and families are locked for the duration of operations that are performed on them. Normally Ada families are locked only briefly when libraries within them are manipulated. However, sometimes multiple Ada libraries must be locked for longer periods during a single operation. If more than one library must be locked for a single operation, at most one library is locked for updating and all other locked libraries are locked for read-only.
An Ada family or library locked for updating cannot be accessed in any way by any part of the Ada compilation system except by the locking agent. An Ada family or library locked for reading can be accessed by any part of the Ada compilation system for read-only purposes.
If ada.mkfam cannot obtain a lock after a suitable number of retries, it displays an informational message and terminates.
Under some circumstances, an Ada family or Ada library might be locked, but the locking program(s) might have terminated (for example, due to system crash or network failure). If you determine that the Ada family or Ada library is locked but should not be locked, you can remove the lock.
Use ada.unlock(1) to unlock an Ada library and ada.funlock(1) to unlock an Ada family. However, unlocking should be done with care. If an Ada family or Ada library is actually locked by a tool, unlocking it permits access by other tools that might find the contents invalid or might damage the Ada family or Ada library.
DIAGNOSTICS
Ada.mkfam returns exit status 0 if the Ada family directory was successfully created. Otherwise a diagnostic is issued and a non-zero exit status is returned.
WARNINGS
An Ada family is a directory containing files for the use of the Ada compilation system. Users are strongly discouraged from placing any user files or directories in Ada family directories. User files/directories in Ada families are subject to damage by or might interfere with proper operation of the Ada compilation system. In particular, ada.mkfam does not preserve such user files when reinitializing an existing Ada family, and is unable to reinitialize an existing Ada family (effectively destroying it) if the existing Ada family directory contains any subdirectories.
AUTHOR
Ada.mkfam was developed by HP and Alsys.
FILES
$ADA_PATH/ada.mkfam Ada make family command.
$ADA_PATH/adacli Ada command language interpreter.
$ADA_PATH/ada.mngrs.bin
Ada components manager subprocess.
$ADA_PATH/ada.fmgr.hlp
Ada library manager help command data.
$ADA_PATH/ada.fmgr.btl Ada library manager command tables.
SEE ALSO
ada(1), ada.fmgr(1), ada.format(1), ada.funlock(1), ada.lmgr(1), ada.lsfam(1), ada.lslib(1), ada.make(1), ada.mklib(1), ada.mvfam(1), ada.mvlib(1), ada.probe(1), ada.protect(1), ada.rmfam(1), ada.rmlib(1), ada.umgr(1), ada.unlock(1), ada.xref(1),
Ada User’s Guide (Series 300).
EXTERNAL INFLUENCES
International Code Set Support
Single-byte character code sets are supported.
Hewlett-Packard Company — HP-UX Release 7.0: Sept 1989