fis-gtm/sr_unix/gtm_env.csh

238 lines
8.9 KiB
Tcsh

#################################################################
# #
# Copyright 2001, 2010 Fidelity Information Services, Inc #
# #
# This source code contains the intellectual property #
# of its copyright holder(s), and is made available #
# under a license. If you do not know the terms of #
# the license, please stop and do not read further. #
# #
#################################################################
#
##################################################################################
#
# gtm_env.csh - establish GT.M environment
#
# This script defines reasonable default values for environment variables
# and aliases generally compatible with as many Unix platforms as possible.
#
# Each environment variable or alias used in any non-platform-specific Unix
# shell script should have a default value defined in here. In addition,
# this script can contain definitions of other environment variables and
# aliases considered to be generally useful.
#
# To accomodate platform-specific peculiarities, this script also invokes
# gtm_env_sp.csh (if one exists) to provide over-riding definitions for any
# of the environment variables or aliases defined here.
#
# Naming conventions are designed so an alphabetically-sorted list of
# environment variables or aliases will cause related definitions to appear
# together. Common abbreviations:
#
# gt Greystone Technology
# gt_ar archiver (library maintenance)
# gt_as assembler
# gt_cc C compiler
# gt_ld linker
# gt_lint C de-lint utility
# gtm GT.M-specific (as opposed to GT.SQL-specific, for example)
# shl shared-library
#
##################################################################################
# Once the environment variables have been initialized, be careful not to
# re-initialize them for each subshell (i.e., don't undo any explicit changes that
# have been made since the last version change).
if ( $?gtm_version_change == "1" ) then
# Generic archiver information:
setenv gt_ar_archiver "ar" # name of archiver utility
setenv gt_ar_gtmrpc_name "" # set to "gtmrpc" to create libgtmrpc.a from libgtmrpc.list
setenv gt_ar_option_create "qlv" # quick, use local directory for temp files, verbose
setenv gt_ar_option_update "rlv" # replace, use local directory for temp files, verbose
setenv gt_ar_option_delete "dlv" # delete, use local directory for temp files, verbose
setenv gt_ar_use_ranlib "no" # don't run ranlib over final archive -- not necessary
# Generic assembler information:
setenv gt_as_assembler "as" # name of assembler
setenv gt_as_inc_convert "false" # if true, convert non-native assembly language header files
# to native dialect
setenv gt_as_src_convert "false" # if true, convert non-native assembly language source files
# to native dialect
setenv gt_as_src_suffix ".s" # filename suffix for assembly language source files
setenv gt_as_option_DDEBUG "-DDEBUG" # define DEBUG compilation-/assembly-time macro
setenv gt_as_option_I "" # specify header (include) file directory
# (set by gtmsrc.csh during version command)
setenv gt_as_option_debug "" # generate debugger information
setenv gt_as_option_nooptimize "" # don't optimize generated code
setenv gt_as_option_optimize "" # optimize generated code (if applicable)
setenv gt_as_options_common "" # generally-required assembler option(s)
# Generic C compiler information:
setenv gt_cc_compiler "cc" # name of C compiler
setenv gt_cpp_compiler "cpp" # name of C preprocessor
setenv gt_cc_option_DBTABLD "-DNOLIBGTMSHR" # define NOLIBGTMSHR macro to statically link mumps for bta image
setenv gt_cc_option_DDEBUG "-DDEBUG" # define DEBUG compilation-time macro
setenv gt_cc_option_I "-I/usr/local/include" # specify ICU header (include) file directory
setenv gt_cc_option_I " $gt_cc_option_I -I/usr/include/libelf" # Libelf is under different directory in SUSE
# (set by gtmsrc.csh during version command)
setenv gt_cc_option_debug "-g" # generate debugger information
setenv gt_cc_option_nooptimize "" # don't optimize generated code
setenv gt_cc_option_optimize "-O" # optimize generated code
setenv gt_cc_options_common "-c" # suppress link phase; force .o for each .c file even if only one
setenv gt_cpp_options_common "" # Options for C preprocessor
# Generic linker information:
setenv gt_ld_linker "$gt_cc_compiler" # name of link editor; use cc instead of ld to ensure correct
# startup routines and C runtime libraries
setenv gt_ld_option_output "-o " # option to specify where linker should write output
# (some linkers do not allow a space; some require it)
setenv gt_ld_options_common "" # generally-required linker options
setenv gt_ld_options_bta "$gt_ld_options_common"
setenv gt_ld_options_dbg "$gt_ld_options_common"
setenv gt_ld_options_pro "$gt_ld_options_common"
setenv gt_ld_options_gtmshr ""
# force the linker to retain gtmci.o & dependent modules even if not referenced.
setenv gt_ld_ci_u_option "-Wl,-u,gtm_ci"
setenv gt_ld_extra_libs "" # platform specific GT.M libraries
setenv gt_ld_syslibs "-lcurses -lm" # system libraries needed for link (in addition to defaults)
setenv gt_ld_sysrtns "" # system routines needed for link (in addition to defaults)
setenv gt_ld_aio_syslib "" # system libraries needed for async I/O routines
# Linker options to create shared libraries from GT.M generated objects
setenv gt_ld_m_shl_linker "ld"
setenv gt_ld_m_shl_options ""
# Generic shared library information:
# setenv gt_cc_shl_options "" # there is no good default for this; leave uninitialized here,
# forcing initialization in gtm_env_sp.csh
setenv gt_ld_shl_linker "$gt_ld_linker"
# setenv gt_ld_shl_options "" # there is no good default for this; leave uninitialized here,
# forcing initialization in gtm_env_sp.csh
setenv gt_ld_shl_suffix ".sl"
# Generic lint information:
setenv gt_lint_linter "lint" # name of linter; parameterized to allow use of non-default
setenv gt_lint_option_output "-o " # option to specify where lint should write output library
# (some lints do not allow a space; some require it)
setenv gt_lint_options_common "" # generally-required lint options
setenv gt_lint_options_library "" # lint options specific to lint library generation
# (e.g., ignore undefined externals because libraries typically
# only # contain a subset of sources for a program)
setenv gt_lint_options_bta "$gt_cc_option_DDEBUG"
setenv gt_lint_options_dbg "$gt_cc_option_DDEBUG"
setenv gt_lint_options_pro ""
setenv gt_lint_syslibs "" # system libraries against which to check for compatibility
endif
# Alias definitions. In some Unix implementations, alias definitions are not inherited
# by subshells, so they need to be re-initialized each time. Aliases should not be
# redefined by users; they should be defined to depend on environment variables which
# can be changed by users.
# Generic archiver invocations:
alias gt_ar '$gt_ar_archiver'
# Generic assembler invocations:
alias gt_as '$gt_as_assembler $gt_as_options_common $gt_as_option_I'
alias gt_as_bta 'gt_as $gt_as_option_debug $gt_as_option_nooptimize'
alias gt_as_dbg 'gt_as $gt_as_option_DDEBUG $gt_as_option_debug $gt_as_option_nooptimize'
alias gt_as_pro 'gt_as $gt_as_option_optimize'
# Generic C compiler invocations:
alias gt_cpp '$gt_cpp_compiler $gt_cpp_options_common $gt_cc_option_I'
alias gt_cc '$gt_cc_compiler $gt_cc_options_common $gt_cc_option_I'
alias gt_cc_bta 'gt_cc $gt_cc_option_DBTABLD $gt_cc_option_debug $gt_cc_option_nooptimize'
alias gt_cc_dbg 'gt_cc $gt_cc_option_DDEBUG $gt_cc_option_debug $gt_cc_option_nooptimize'
alias gt_cc_pro 'gt_cc $gt_cc_option_optimize'
# Generic linker invocation:
alias gt_ld '$gt_ld_linker'
alias gt_ld_shl '$gt_ld_shl_linker'
# Generic lint invocation:
alias gt_lint '$gt_lint_linter'
# GT.M commands and utilities:
alias dse '$gtm_exe/dse'
alias gde 'mumps -run GDE'
alias gtm 'mumps -direct'
alias lke '$gtm_exe/lke'
alias mumps '$gtm_exe/mumps'
alias mupip '$gtm_exe/mupip'
# Note: on VMS, this is defined as the symbol VER*SION, allowing abbreviation by
# omitting trailing characters as long as the first three ("VER") are specified.
alias version 'set setactive_parms=(\!*); source $gtm_tools/setactive.csh'
if ( $?prompt == "1" ) then
# On Unix, we have to define all of the shorter forms as individual symbols, although
# it's unlikely any forms other than "ver" or "version" are ever used. Note we only
# do this for login (interactive) processes; shell scripts should not need to abbreviate.
alias ver version
alias vers version
alias versi version
alias versio version
endif
# Platform-specific overrides, if any:
if ( -f $gtm_tools/gtm_env_sp.csh ) then
source $gtm_tools/gtm_env_sp.csh
endif
# Allow platform specific gt_ld_ci related symbol changes
# force the linker to retain gtmci.o & dependent modules even if not referenced.
setenv gt_ld_ci_options "$gt_ld_ci_u_option $gt_ld_options_gtmshr"