Subversion Repositories tendra.SVN

Rev

Rev 7 | Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 7u83 1
/*
2
    		 Crown Copyright (c) 1997
3
 
4
    This TenDRA(r) Computer Program is subject to Copyright
5
    owned by the United Kingdom Secretary of State for Defence
6
    acting through the Defence Evaluation and Research Agency
7
    (DERA).  It is made available to Recipients with a
8
    royalty-free licence for its use, reproduction, transfer
9
    to other parties and amendment for any purpose not excluding
10
    product development provided that any such use et cetera
11
    shall be deemed to be acceptance of the following conditions:-
12
 
13
        (1) Its Recipients shall ensure that this Notice is
14
        reproduced upon any copies or amended versions of it;
15
 
16
        (2) Any amended version of it shall be clearly marked to
17
        show both the nature of and the organisation responsible
18
        for the relevant amendment or amendments;
19
 
20
        (3) Its onward transfer from a recipient to another
21
        party shall be deemed to be that party's acceptance of
22
        these conditions;
23
 
24
        (4) DERA gives no warranty or assurance as to its
25
        quality or suitability for any purpose and DERA accepts
26
        no liability whatsoever in relation to any use to which
27
        it may be put.
28
*/
29
 
30
 
31
#ifndef NAME_INCLUDED
32
#define NAME_INCLUDED
33
 
34
 
35
/*
36
    INPUT AND OUTPUT DIRECTORIES
37
 
38
    These macros give the standard input and output directories, and may
39
    vary between machines.
40
*/
41
 
42
#ifndef INPUT_DIR
43
#define INPUT_DIR		"/u/g/release/Source/src/lib/apis"
44
#endif
45
 
46
#ifndef INCLUDE_DIR
47
#define INCLUDE_DIR		"/u/g/release/Source/lib/include"
48
#endif
49
 
50
#ifndef SRC_DIR
51
#define SRC_DIR			"/u/g/release/Source/lib/building"
52
#endif
53
 
54
 
55
/*
56
    ENVIRONMENTAL VARIABLES
57
 
58
    These macros give the names of the various environmental variables
59
    which are checked for input and output directories.
60
*/
61
 
62
#define INPUT_ENV		"TSPEC_INPUT"
63
#define OUTPUT_ENV		"TSPEC_OUTPUT"
64
#define INCLUDE_ENV		"TSPEC_INCL_OUTPUT"
65
#define SRC_ENV			"TSPEC_SRC_OUTPUT"
66
#define COPYRIGHT_ENV		"TSPEC_COPYRIGHT"
67
 
68
 
69
/*
70
    OUTPUT INCLUDE FILES
71
 
72
    These macros are concerned with the include output files.
73
*/
74
 
75
#define OUTPUT_API		"%s/shared/%s.api/MASTER.h"
76
#define OUTPUT_FILE		"%s/%s.api/%s"
77
#define OUTPUT_SUBSET		"%s/shared/%s.api/%s.h"
78
#define OUTPUT_SUFFIX		".api"
79
#define OUTPUT_LENGTH		8
80
 
81
 
82
/*
83
    OUTPUT SOURCE FILES
84
 
85
    These macros are concerned with the source output files.
86
*/
87
 
88
#define SOURCE_API		"%s/%s.api/MASTER.c"
89
#define SOURCE_FILE		"%s/%s.api/%s.c"
90
#define SOURCE_SUBSET		"%s/%s.api/%s.c"
91
 
92
 
93
/*
94
    OUTPUT MAKEFILES
95
 
96
    These macros give the location of the output makefiles.
97
*/
98
 
99
#define MAKEFILE		"%s/%s.api/Makefile"
100
#define MAKEFILE_API		"%s/%s.api/M_%s"
101
 
102
 
103
/*
104
    MISCELLANEOUS FILES
105
 
106
    These macros give certain standard file names.
107
*/
108
 
109
#define MASTER_FILE		"MASTER"
110
#define LOCAL_API		"LOCAL"
111
 
112
 
113
/*
114
    NAME CONSTANTS
115
 
116
    These macros give various name prefixes and other standard names.
117
*/
118
 
119
#define HIDDEN_NAME		"__local_"
120
#define HIDDEN_LEN		sizeof ( HIDDEN_NAME )
121
#define BUILDING_MACRO		"__BUILDING_LIBS"
122
#define PROTECT_PREFIX		"__TDF"
123
#define DEFINE_PREFIX		"__BUILDING_TDF"
124
#define WEAK_PROTO		"__WEAK_SPEC"
125
#define WRONG_PREFIX		"__WRONG"
126
 
127
 
128
/*
129
    PROCEDURE DECLARATIONS
130
 
131
    These routines concerned with generating names of various sorts - file
132
    names, token names etc.
133
*/
134
 
135
extern char *basename PROTO_S ( ( char * ) ) ;
136
extern char *dirname PROTO_S ( ( char * ) ) ;
137
extern char *relative PROTO_S ( ( char *, char *, int ) ) ;
138
extern char *hack_name PROTO_S ( ( char *, char * ) ) ;
139
extern char *token_name PROTO_S ( ( char * ) ) ;
140
extern char *token_prefix PROTO_S ( ( char *, char *, char * ) ) ;
141
extern char *subset_name PROTO_S ( ( char *, char *, char * ) ) ;
142
extern char *include_name PROTO_S ( ( char *, char *, char *, char * ) ) ;
143
extern char *src_name PROTO_S ( ( char *, char *, char *, char * ) ) ;
144
extern char *macro_name PROTO_S ( ( char *, char *, char *, char * ) ) ;
145
extern char *block_name PROTO_S ( ( char *, char *, char * ) ) ;
146
 
147
 
148
/*
149
    STANDARD FLAGS
150
 
151
    These are standard flags which are set by command line options.
152
*/
153
 
154
extern boolean allow_long_long ;
155
extern boolean force_output ;
156
extern boolean local_input ;
157
extern boolean restrict_depth ;
158
extern boolean restrict_use ;
159
extern boolean unique_names ;
160
extern int verbose ;
161
 
162
 
163
/*
164
    INPUT AND OUTPUT DIRECTORIES
165
 
166
    These variables give the input and output directories.
167
*/
168
 
169
extern char *input_dir ;
170
extern char *output_incl_dir ;
171
extern char *output_src_dir ;
172
extern int output_incl_len ;
173
extern int output_src_len ;
174
 
175
 
176
#endif