Subversion Repositories DevTools

Rev

Rev 227 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
227 dpurdie 1
# -*- mode: perl; indent-width: 4; -*-
2
###############################################################################
3
# Copyright (c) ERG Transit Systems. 1996-2004
4
#
5
# File:         PLATFORM/eosp386
6
#
7
# Contents:     Generic EOS support
8
#
9
# Note:         Currently defaults to WATCOMC/EP toolset
10
#
11
# Revision History:
12
#   19/08/99  APY   Created
13
#   19/02/02  APY   Paradigm support
14
###############################################################################
15
#
16
 
17
Eosp386Init();
18
 
19
###############################################################################
20
#.  EOS P386 (Protected Mode 386) platform runtime configuration
21
#
22
#   Arguments:
23
#       --Watcom[=version]      WATCOMC compiler (default WC=100)
24
#       --Paradigm              Paradigm C++ compiler
25
#
26
###############################################################################
27
sub Eosp386Init
28
{
29
    my( @args ) = @ScmPlatformArgs;             # Platform arguments
30
    my( $wc, $paradigm );
31
 
32
#.. Parse arguments
33
#
34
    Debug( "eosp386(@args)\n" );
35
 
36
    $wc = 0; $paradigm = 0;
37
    foreach $_ ( @args ) {
38
        if (/^--Watcom$/) {                     # WatcomC compiler
39
            $wc = -1;
40
 
41
        } elsif (/^--Watcom=(.*)/) {            # WatcomC specific version
42
            $wc = "$1";
43
 
44
        } elsif (/^--Paradigm$/) {              # Paradigm compiler
45
            $paradigm = -1;
46
 
47
        } else {
48
            Message( "eosp386: unknown option $_ -- ignored\n" );
49
        }
50
    }
51
 
52
#... Toolset
53
#
54
    if ($paradigm)
55
    {                                           # Paradigm compiler
56
        PlatformDefine( "#################################################" );
57
        PlatformDefine( "# AMX/ET Paradigm toolset" );
58
        PlatformDefine( "#" );
59
        PlatformDefine( "amx_target     = amx722" );
60
        PlatformDefine( "amx_filesystem = afs728" );
61
        PlatformDefine( "amx_toolset    = TOOLPD" );
62
        PlatformDefine( "amx_name       = CJ722" );
63
        PlatformDefine( "amx_fsname     = FJ728" );
64
        PlatformDefine( "amx_calling    =" );
65
        PlatformDefine( "" );
66
 
67
        Toolset( '*', "pd386" );                # Paradigm 32bit toolset
68
    }
69
    else
70
    {                                           # WATCOMC (default)
71
        PlatformDefine( "#################################################" );
72
        PlatformDefine( "# AMX/EP WatcomC toolset" );
73
        PlatformDefine( "#" );
74
        PlatformDefine( "amx_target     = amx386" );
75
        PlatformDefine( "amx_toolset    = TOOLWC" );
76
        PlatformDefine( "amx_name       = CJ814" );
77
        PlatformDefine( "amx_calling    = r" );
78
        PlatformDefine( "" );
79
 
80
        if ($wc > 1) {                          # Watcom 32bit toolset
81
            Toolset( '*', "wc386", "--Version=$wc" );
82
        } else {
83
            Toolset( '*', "wc386" );
84
        }
85
    }
86
 
87
#... Generic EOS platform
88
#
89
    PlatformDefines( "eosp386.def" );
90
    PlatformRequire( "eos" );
91
}
92
 
93
 
94