Back to home page

Enduro/X

 
 

    


0001 BUILDTMS(8)
0002 ===========
0003 :doctype: manpage
0004 
0005 
0006 NAME
0007 ----
0008 buildtms - Build transaction manager server
0009 
0010 
0011 SYNOPSIS
0012 --------
0013 *buildtms* ['OPTIONS']
0014 
0015 
0016 DESCRIPTION
0017 -----------
0018 This binary is used for building transaction manager which has the linked in XA
0019 switch variable name. Otherwise the binary is the same as the *tmsrv(8)*. Also
0020 the Enduro/X XA init procedure is standard one, and XA init procedure starts with
0021 loading shared library loading from the *NDRX_XA_DRIVERLIB* env variable (see *ex_env(5)*).
0022 
0023 Thus for this kind of built-in XA switches, *libndrxxatmsx(8)* driver must be used.
0024 
0025 To link-in the XA switch, the output server is main is generated and compiled
0026 during the buildtms run.
0027 
0028 The command line template, how C compiler is invoked, is following:
0029 
0030 --------------------------------------------------------------------------------
0031 <CC> [$CFLAGS] -o <binary_name> <generated_source>.c [-I<$NDRX_HOME>/include 
0032 -L<NDRX_HOME>/{lib|lib64}] [<RM_libs>] -latmisrvinteg -latmi -lubf -lnstd
0033 --------------------------------------------------------------------------------
0034 
0035 All file system path related buffers internally are set to 5120 bytes + EOS byte,
0036 thus for example if build command is longer than 5120, it will be truncated
0037 to 5120.
0038 
0039 ENVIRONMENT
0040 -----------
0041 [*CC*]::
0042 Optional environment variable indicating which C compiler to use. If parameter is
0043 not set, the *cc* command is used.
0044 
0045 [*CFLAGS*]::
0046 Optional C flags to be passed to C compiler during the *cc* execution. There
0047 is set of compiler flags that are required for certain platforms and compilers. 
0048 see "PLATFORM SPECIFIC COMPILER FLAGS" section in *buildserver(8)* program
0049 manpage for these requirements.
0050 
0051 [*NDRX_HOME*]::
0052 Optional environment variable indicating the Enduro/X installation home. If variable
0053 is set then, "-I$NDRX_HOME/include" and "-L$NDRX_HOME/lib" (or lib64) is added 
0054 to the *cc* command line.
0055 
0056 OPTIONS
0057 -------
0058 
0059 [*-C*]::
0060 COBOL mode. Reserved for future use.
0061 
0062 *-o* filename::
0063 Output binary file name.
0064 
0065 [*-r* rm_name]::
0066 This is resource manager name. The resource manager according the specified name
0067 shall be configured in *$NDRX_RMFILE* (first priority) or *$NDRX_HOME/udataobj/RM* file.
0068 The file format is following 'rm_name:xa_switch_name:<compiler libraries>'. If 
0069 specified, then 'xa_switch_name' is included in the process. Thus later *libndrxxatmsx(8)*
0070 XA driver can be used (set in *NDRX_XA_DRIVERLIB* env var, see *ex_env(5)*), 
0071 so that driver resolves built in symbols. Compiler libraries from resource manager 
0072 are passed in command line after the first files. If switch name is not specified,
0073 then default null switch 'tmnull_switch' is reference (present in *libatmi*).
0074 File format is described in *buildserver(8)* manpage.
0075 
0076 [*-k*]::
0077 Keep the the generate source code with the main function. If not set, the file
0078 is deleted when *buildtms* finishes.
0079 
0080 [*-v*]::
0081 Verbose mode. This will print the build command to stderr.
0082 
0083 [*-h*]::
0084 Print the help.
0085 
0086 EXAMPLE
0087 -------
0088 See *atmitest/test071_buildtools/run.sh* for samples. Some of them:
0089 
0090 --------------------------------------------------------------------------------
0091 $ export CC=cc
0092 $ export CFLAGS="-g -I../../include -L../../libatmi -L../../libubf -L../../tmsrv -L../../libatmisrv -L../../libexuuid -L../../libexthpool -L../../libnstd"
0093 
0094 $ buildtms -k -o tmstest -rTestSw -v
0095 
0096 --------------------------------------------------------------------------------
0097 
0098 That would result in following compilation unit:
0099 
0100 --------------------------------------------------------------------------------
0101 
0102 $ cc -I../../include -L../../libatmi -L../../libubf -L../../tmsrv -L../../libatmisrv \
0103  -L../../libexuuid -L../../libexthpool -L../../libnstd -o tmstest ndrx_tms_YJPUnv.c \
0104  -I./include -L./lib -L ../test021_xafull -l xadrv -ltms -latmisrvinteg -latmi \
0105  -lubf -lexuuid -lexthpool -lnstd -lrt -ldl -lm -lc -lpthread
0106 
0107 --------------------------------------------------------------------------------
0108 
0109 
0110 EXIT STATUS
0111 -----------
0112 *0*::
0113 Success
0114 
0115 *1*::
0116 Failure
0117 
0118 BUGS
0119 ----
0120 Report bugs to support@mavimax.com
0121 
0122 SEE ALSO
0123 --------
0124 *ex_env(5)* *buildclient(8)* *buildserver(8)* *tmsrv(8)*
0125 
0126 COPYING
0127 -------
0128 (C) Mavimax, Ltd
0129