Home | History | Annotate | Line # | Download | only in Configurations
      1 #### Nonstop configurations
      2     # Common for all
      3     'nonstop-common' => {
      4         inherit_from     => [ 'BASE_unix' ],
      5         template         => 1,
      6         cc               => 'c99',
      7         cflags           => add_before(picker(debug   => '-g -O0',
      8                                               release => '-g -O2'),
      9                                        '-Wextensions',
     10                                        '-Wnowarn=203,220,272,734,770,1506',
     11                                        '-Wbuild_neutral_library',
     12                                        '-Wverbose'),
     13         defines          => add('OPENSSL_VPROC=$(OPENSSL_VPROC)',
     14                                 '_XOPEN_SOURCE',
     15                                 '_XOPEN_SOURCE_EXTENDED=1',
     16                                 '_TANDEM_SOURCE',
     17                                 '__NSK_OPTIONAL_TYPES__',
     18                                 'B_ENDIAN'),
     19         perl             => '/usr/bin/perl',
     20         shared_target    => 'nonstop-shared',
     21         shared_extension => ".so",
     22         ex_libs          => add('-lrld'),
     23         enable           => ['egd'],
     24 	# Not currently inherited
     25         disable          => ['atexit'],
     26         dso_scheme       => 'DLFCN',
     27         sys_id           => 'TANDEM',
     28     },
     29 
     30     ######################################################################
     31     # Additional variant settings, to be combined with nonstop-common
     32     # Note that these do not inherit anything.  However, the diverse values
     33     # are merged with other entries in an 'inherit_from'.
     34     #
     35     # These combine:
     36     # - System architecture (MIPS, Itanium, or x86)
     37     # - Execution environment (oss [default] or guardian)
     38     #
     39     # Unfortunately, they can't be separated into independent templates, because
     40     # a number of the above are encoded as different linkers, and by consequence,
     41     # different c99 linker flags (-Wld, -Weld, and -Wxld)
     42     #
     43     # In addition, the are modifiers for:
     44     # - Size of long + pointer (ilp32 [default] and lp64)
     45     # - Float type (neutral and tandem)
     46     #
     47     # Unfortunately, because the float types affect the linker settings, those
     48     # are divided per system architecture
     49     #
     50     # MIPS + guardian (unused but present for convenience):
     51     'nonstop-archenv-mips-guardian' => {
     52         template         => 1,
     53         defines          => ['NO_GETPID'],
     54         cflags           => '-Wtarget=tns/r -Wsystype=guardian',
     55         lflags           => '-Wld="-set systype guardian"',
     56         shared_ldflag    => '-Wshared -Wld="-soname $(@:lib%.so=%)"',
     57         shared_defflag   => '-Wld_obey=',
     58         shared_argfileflag => '-Wld_obey=',
     59     },
     60 
     61     # Itanium + guardian:
     62     'nonstop-archenv-itanium-guardian' => {
     63         template         => 1,
     64         defines          => ['NO_GETPID'],
     65         cflags           => '-Wtarget=tns/e -Wsystype=guardian',
     66         lflags           => '-Weld="-set systype guardian"',
     67         shared_ldflag    => '-Wshared -Weld="-soname $(@:lib%.so=%)"',
     68         shared_defflag   => '-Weld_obey=',
     69         shared_argfileflag => '-Weld_obey=',
     70     },
     71 
     72     # x86 + guardian:
     73     'nonstop-archenv-x86_64-guardian' => {
     74         template         => 1,
     75         defines          => ['NO_GETPID'],
     76         cflags           => '-Wtarget=tns/x -Wsystype=guardian',
     77         lflags           => '-Wxld="-set systype guardian"',
     78         shared_ldflag    => '-Wshared -Wxld="-soname $(@:lib%.so=%)"',
     79         shared_defflag   => '-Wxld_obey=',
     80         shared_argfileflag => '-Wxld_obey=',
     81     },
     82 
     83     # MIPS + oss (unused but present for convenience):
     84     'nonstop-archenv-mips-oss' => {
     85         template         => 1,
     86         cflags           => '-Wtarget=tns/r -Wsystype=oss',
     87         lflags           => '-Wld="-set systype oss"',
     88         shared_ldflag    => '-Wshared',
     89         shared_defflag   => '-Wld_obey=',
     90         shared_argfileflag => '-Wld_obey=',
     91     },
     92     # Itanium + oss:
     93     'nonstop-archenv-itanium-oss' => {
     94         template         => 1,
     95         cflags           => '-Wtarget=tns/e -Wsystype=oss',
     96         lflags           => '-Weld="-set systype oss"',
     97         shared_ldflag    => '-Wshared',
     98         shared_defflag   => '-Weld_obey=',
     99         shared_argfileflag => '-Weld_obey=',
    100     },
    101     # x86_64 + oss:
    102     'nonstop-archenv-x86_64-oss' => {
    103         template         => 1,
    104         cflags           => '-Wtarget=tns/x -Wsystype=oss',
    105         lflags           => '-Wxld="-set systype oss"',
    106         shared_ldflag    => '-Wshared',
    107         shared_defflag   => '-Wxld_obey=',
    108         shared_argfileflag => '-Wxld_obey=',
    109     },
    110 
    111     # Size variants
    112     'nonstop-ilp32' => {
    113         template         => 1,
    114         cflags           => '-Wilp32',
    115         bn_ops           => 'THIRTY_TWO_BIT',
    116     },
    117     'nonstop-lp64-itanium' => {
    118         template         => 1,
    119         cflags           => '-Wlp64',
    120         bn_ops           => 'SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR',
    121     },
    122     'nonstop-lp64-x86_64' => {
    123         template         => 1,
    124         cflags           => '-Wlp64',
    125         lflags           => '-Wxld="-set data_model lp64"',
    126         bn_ops           => 'SIXTY_FOUR_BIT',
    127     },
    128 
    129     # Float variants
    130     'nonstop-nfloat-mips' => {
    131         template         => 1,
    132         lflags           => '-Wld="-set floattype neutral_float"',
    133     },
    134     'nonstop-tfloat-mips' => {
    135         template         => 1,
    136         lflags           => '-Wld="-set floattype tandem_float"',
    137     },
    138     'nonstop-efloat-itanium' => {
    139         template         => 1,
    140         cflags           => '-WIEEE_float',
    141         lflags           => '-Weld="-set floattype ieee_float"',
    142     },
    143     'nonstop-nfloat-itanium' => {
    144         template         => 1,
    145         lflags           => '-Weld="-set floattype neutral_float"',
    146     },
    147     'nonstop-tfloat-itanium' => {
    148         template         => 1,
    149         cflags           => '-WTandem_float',
    150         lflags           => '-Weld="-set floattype tandem_float"',
    151     },
    152     'nonstop-efloat-x86_64' => {
    153         template         => 1,
    154         cflags           => '-WIEEE_float',
    155         lflags           => '-Wxld="-set floattype ieee_float"',
    156     },
    157     'nonstop-nfloat-x86_64' => {
    158         template         => 1,
    159         lflags           => '-Wxld="-set floattype neutral_float"',
    160     },
    161     'nonstop-tfloat-x86_64' => {
    162         template         => 1,
    163         cflags           => '-WTandem_float',
    164         lflags           => '-Wxld="-set floattype tandem_float"',
    165     },
    166 
    167     ######################################################################
    168     # Build models
    169     'nonstop-model-put' => {
    170         template         => 1,
    171         disable          => ['secure-memory'],
    172         defines          => ['_PUT_MODEL_',
    173                              '_REENTRANT', '_THREAD_SUPPORT_FUNCTIONS'],
    174         ex_libs          => '-lput',
    175     },
    176 
    177     ######################################################################
    178     # Build models
    179     'nonstop-model-klt' => {
    180         template         => 1,
    181         disable          => ['secure-memory'],
    182         defines          => ['_KLT_MODEL_',
    183                              '_REENTRANT', '_THREAD_SUPPORT_FUNCTIONS'],
    184         ex_libs          => '-lklt',
    185     },
    186 
    187     ######################################################################
    188     # Now for the entries themselves, let's combine things!
    189     'nonstop-nsx' => {
    190         inherit_from     => [ 'nonstop-common',
    191                               'nonstop-archenv-x86_64-oss',
    192                               'nonstop-ilp32',
    193                               'nonstop-efloat-x86_64' ],
    194         disable          => ['threads','atexit'],
    195     },
    196     'nonstop-nsx_put' => {
    197         inherit_from     => [ 'nonstop-common',
    198                               'nonstop-archenv-x86_64-oss',
    199                               'nonstop-ilp32',
    200                               'nonstop-efloat-x86_64',
    201                               'nonstop-model-put' ],
    202         multilib         => '-put',
    203         multibin         => '-put',
    204         disable          => ['atexit'],
    205     },
    206     'nonstop-nsx_64' => {
    207         inherit_from     => [ 'nonstop-common',
    208                               'nonstop-archenv-x86_64-oss',
    209                               'nonstop-lp64-x86_64',
    210                               'nonstop-efloat-x86_64' ],
    211         multilib         => '64',
    212         multibin         => '64',
    213         disable          => ['threads','atexit'],
    214     },
    215     'nonstop-nsx_64_put' => {
    216         inherit_from     => [ 'nonstop-common',
    217                               'nonstop-archenv-x86_64-oss',
    218                               'nonstop-lp64-x86_64',
    219                               'nonstop-efloat-x86_64',
    220                               'nonstop-model-put' ],
    221         multilib         => '64-put',
    222         multibin         => '64-put',
    223         disable          => ['atexit'],
    224     },
    225     'nonstop-nsx_64_klt' => {
    226         inherit_from     => [ 'nonstop-common',
    227                               'nonstop-archenv-x86_64-oss',
    228                               'nonstop-lp64-x86_64',
    229                               'nonstop-efloat-x86_64',
    230                               'nonstop-model-klt' ],
    231         multilib         => '64-klt',
    232         multibin         => '64-klt',
    233         disable          => ['atexit'],
    234     },
    235     'nonstop-nsx_g' => {
    236         inherit_from     => [ 'nonstop-common',
    237                               'nonstop-archenv-x86_64-guardian',
    238                               'nonstop-ilp32', 'nonstop-nfloat-x86_64' ],
    239         disable          => ['threads','atexit'],
    240     },
    241     'nonstop-nsx_g_tandem' => {
    242         inherit_from     => [ 'nonstop-common',
    243                               'nonstop-archenv-x86_64-guardian',
    244                               'nonstop-ilp32', 'nonstop-tfloat-x86_64' ],
    245         disable          => ['threads','atexit'],
    246     },
    247     'nonstop-nsv' => {
    248         inherit_from     => [ 'nonstop-nsx' ],
    249     },
    250     'nonstop-nse' => {
    251         inherit_from     => [ 'nonstop-common',
    252                               'nonstop-archenv-itanium-oss',
    253                               'nonstop-ilp32',
    254                               'nonstop-efloat-itanium' ],
    255         disable          => ['threads','atexit'],
    256     },
    257     'nonstop-nse_put' => {
    258         inherit_from     => [ 'nonstop-common',
    259                               'nonstop-archenv-itanium-oss',
    260                               'nonstop-ilp32',
    261                               'nonstop-efloat-itanium',
    262                               'nonstop-model-put' ],
    263         multilib         => '-put',
    264         multibin         => '-put',
    265         disable          => ['atexit'],
    266     },
    267     'nonstop-nse_64' => {
    268         inherit_from     => [ 'nonstop-common',
    269                               'nonstop-archenv-itanium-oss',
    270                               'nonstop-lp64-itanium',
    271                               'nonstop-efloat-itanium' ],
    272         multilib         => '64',
    273         multibin         => '64',
    274         disable          => ['threads','atexit'],
    275     },
    276     'nonstop-nse_64_put' => {
    277         inherit_from     => [ 'nonstop-common',
    278                               'nonstop-archenv-itanium-oss',
    279                               'nonstop-lp64-itanium',
    280                               'nonstop-efloat-itanium',
    281                               'nonstop-model-put' ],
    282         multilib         => '64-put',
    283         multibin         => '64-put',
    284         disable          => ['atexit'],
    285     },
    286