Owner's manual
SQL managed builds
NSDEE's managed builds support both SQL/MX and SQL/MP. To create a project with managed
builds that will support SQL/MX or SQL/MP, you must select the SQL/MX or SQL/MP radio button
on Initial Build Settings page of the new project wizard. When you create a project that supports
SQL/MX or SQL/MP, NSDEE will add SQL tools to the tool chain for your project. For more
information, see “Tool Chains” (page 51).
SQL builds require access to a NonStop system to process SQL statements during object builds
and for final SQL compilation. This access requires that compilers and linkers authenticate your
credentials during builds. NSDEE provides a program named nsdee-auth that will obtain your
password from NSDEE and pass it to compilers and linkers during builds. For details, see
“NSDEE_CONN_PORT, nsdee-auth, and Deploy.jar” (page 43).
IMPORTANT: If you build an SQL/MP project behind a Windows firewall, the firewall will block
Portmapper.exe. To prevent this block, create a new firewall rule to allow Portmapper.exe
for both TCP and UDP.
The SQL/MX preprocessor, managed build, and header files
Managed builds run the SQL/MX preprocessor on SQL/MX preprocessor files as a separate step
from source file compilation, which results in each preprocessor run creating a source file. Because
the source file is derived, it is written to the output directory for the build and not the source directory
where the preprocessor file resides. For C and C++ sources, this means relative paths to header
files are different for preprocessor files and the source files derived from them.
Environment variables and build variables
For local projects, NSDEE sets a number of environment variables and build variables on your
behalf. Build variables are internal to Eclipse and are evaluated prior to creating makefiles and
launching a build. Environment variables, on the other hand, are passed to the shell in which a
build is launched and are evaluated when discovered by make in makefiles.
Build variables and environment variables look similar. Build variables are enclosed in curly braces:
for example, ${VARNAME}; whereas environment variables are enclosed in parentheses: for
example, $(VARNAME). The following sections describe each of the build variables and environment
variables defined by NSDEE. Table 3 (page 40) provides an overview of these build variables
and environment variables and what types of projects NSDEE sets them for.
Table 3 Build Variables and Environment Variables
PurposeLocal Projects TypeTypeVariable Name
Specifies location of system
headers for cross compilers.
environmentCOMP_ROOT Managed, unmanaged
(optional for unmanaged)
Location of the SQL/MX
preprocessor DLL for C/C++
SQL/MX projects.
environmentMXSQLC Managed, unmanaged
(optional for unmanaged)
Location of the SQL/MX
preprocessor DLL for COBOL
SQL/MX projects.
environmentMXSQLC Managed, unmanaged
(optional for unmanaged)
Specifies where C/C++ indexer
can find system headers.
environmentNSDEE_SYS_INCLUDE_PATH Managed, unmanaged
Used in C/C++ header
dependency generation to
environmentNSDEE_SYS_INCLUDE_PATH_ESC Managed
(optionally) remove system
headers from dependency lists.
40 Concepts