compilation-how to compile BEA TUXEDO system application components
In order to compile application clients and servers, and subroutines that are link edited with the BEA TUXEDO system-supplied client, mio
, programmers need to know:
This reference page provides this information.
Header File Sequence
UNIX header files should always be included before any BEA TUXEDO system header files. Commonly used UNIX header files are stdio.h
and ctype.h
.
In general, the following environment variables should be set and exported:
TERM
TUXDIR
PATH
$TUXDIR/bin
)
ULOGPFX
ULOG
)
More information about these variables can be found in the Transaction Monitor Programmer's Guide
and the Transaction Monitor Administrator's Guide
.
Header File Sequence
Form files do not contain header information.
C programs that call mio
functions should include the following header files, in the order listed below:
#include <UNIX header files> (if needed by the application)
#include "fml.h"
#include "Usysflds.h"
C programs that call BEA TUXEDO system functions that access the Bulletin Board should include the following header files, in the order listed below:
#include <UNIX header files> (if needed by the application)
#include "atmi.h"
Additionally, programs that call amaskout
should include the following:
#include <signal.h>
#include "Usignal.h"
Note:
If a program uses amaskout
and other BEA TUXEDO system functions, UNIX header file(s) should be included before including BEA TUXEDO system header files.
Usignal.h
, atmi.h
, fml.h
, and Usysflds.h
may be specified in any order, as long as fml.h
is specified before Usysflds.h
. For example, the following are both valid:
Applications using the functions on the Execute the command:
where
tpservice
(3), tpalloc
(3), tpbegin
(3), tpcall
(3), tpinit
(3), and tpopen
(3) reference pages should include the atmi.h
header file.
Compilation of UFORM Masks
UFORM
masks are compiled as follows:
Create field tables and field table header files.
and
Set and export FIELDTBLSFLDTBLDIR
.
mc filename.m
filename.m
is the name of the file containing UFORM
mask definitions.
FIELDTBLS
and FLDTDIR
are defined in the Environment
vuform
(1) is used to develop UFORM
masks, compilation is included.
To build an mio
program, do the following:
UFORM
or vuform
(1).
lastval
and firstval
functions (if desired).
mio
program by executing:
buildmio [-w] [-o
outfile
] [-v vallib
] [-d dfltlib
] [-f lib
] [-a genlib
]
where
outfile
is the name of the executable
vallib
is the archive file of validation functions
dfltlib
is the archive file of default functions.
lib
is a library or object file containing externals needed by the validation or default functions.
genlib
is a library or object file containing both validation and default functions.
To build a non- where
mio
client program, execute:
buildclient [ -v ] [ -w ] [ -o
name
] [ -f firstfiles
] [ -l lastfiles
] [ -r rmname
]
v
indicates verbose mode
name
is the executable file name
rmname
is specified as the resource manager associated with the client.
To compile a BEA TUXEDO system server, execute:
where
buildserver [ -o
pgm
] [ -s services
] [ -f objectfiles
] [ -r rmname
]
pgm
is the name of the executable file
services
is a comma separated list of services to be offered by the server.
objectfiles
is a list of the objectfiles to be linked.
rmname
is specified as the resource manager associated with the server.
The following environment variables should be set and exported before executing Environment Variables
mc
(1) or vuform
(1):
FIELDTBLS
FLDTBLDIR
FIELDTBLS
)
The following environment variables can be set and exported before executing mio
.
MASKPATH
MASKIPCKEY
If a default or validation routine references FML fields, set:
FIELDTBLS
FLDTBLDIR
FIELDTBLS
)
To restrict access to forms, set:
OKXACTS
NGXACTS
Note:
OKXACTS
is checked first. If the form is listed in OKXACTS
(or OKXACTS
is ALL
), then NGXACTS
is checked. If the form is listed in NGXACTS
, then an error is reported. More information about running mio
can be found in the Transaction Monitor Programmer's Guide
, the Transaction Monitor Administrator's Guide
and the Data Entry System Guide
.
When the system has been built with shared libraries, the following environment variable must be set as shown before executing a client:
LD_LIBRARY_PATH=$TUXDIR/lib
The following environment variable should be set before executing a server:
TUXCONFIG
The following environment variable should be set and exported before executing system supplied clients ( bkenq
(1), mio
, tmadmin
(1), ud
(1)) in an application with security turned on:
APP_PW
The following environment variables should be set and exported before executing workstation clients:
WSENVFILE
WSDEVICE
WSTYPE
More information about options for servers can be found on the servopts
(5) reference page.
Header File Sequence
C programs that call FML functions should include the following header files, in the order listed below:
#include <UNIX header files> (if needed by the application)
#include "fml.h"
Note:
mio
programs that use FML must also include fml.h
.
To compile a program that contains FML functions, execute:
cc pgm.c -I $TUXDIR/include -L $TUXDIR/lib -lfml -lgp -o pgm
where pgm
is the name of the executable file.
If the -L
option is not locally supported, use the following command instead:
cc pgm.c -I $TUXDIR/include $TUXDIR/lib/libfml.a $TUXDIR/lib/libgp.a -o pgm
Note: The order in which libraries are specified is significant. Use the order given above.
To use the FML view compiler, execute:
viewc view_file
where
view_file
is one or more files containing source view descriptions.
Note:
viewc
invokes the C compiler. The environment variable CC can be used to designate the compiler to use. The environment variable CFLAGS can be used to pass a set of parameters to the compiler.
The following environment variables should be set and exported when running an application that uses FML:
FIELDTBLS
FLDTBLDIR
FIELDTBLS
)
The following environment variables should be set and exported when executing viewc
:
FIELDTBLS
FLDTBLDIR
FIELDTBLS
)
VIEWDIR
The buildclient
(1) alias buildclt
(1) must be used on MS-DOS and OS/2 machines because of file naming restrictions. Differences in file naming semantics and syntax also affect the following environment variables:
See Also
buildclient
(1), buildserver
(1), buildmio
(1), mc
(1), viewc
(1), cc
(1) in a UNIX reference manual