Subversion Repositories tendra.SVN

Rev

Rev 2 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2 Rev 7
Line -... Line 1...
-
 
1
/*
-
 
2
 * Copyright (c) 2002-2005 The TenDRA Project <http://www.tendra.org/>.
-
 
3
 * All rights reserved.
-
 
4
 *
-
 
5
 * Redistribution and use in source and binary forms, with or without
-
 
6
 * modification, are permitted provided that the following conditions are met:
-
 
7
 *
-
 
8
 * 1. Redistributions of source code must retain the above copyright notice,
-
 
9
 *    this list of conditions and the following disclaimer.
-
 
10
 * 2. Redistributions in binary form must reproduce the above copyright notice,
-
 
11
 *    this list of conditions and the following disclaimer in the documentation
-
 
12
 *    and/or other materials provided with the distribution.
-
 
13
 * 3. Neither the name of The TenDRA Project nor the names of its contributors
-
 
14
 *    may be used to endorse or promote products derived from this software
-
 
15
 *    without specific, prior written permission.
-
 
16
 *
-
 
17
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS
-
 
18
 * IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
-
 
19
 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-
 
20
 * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR
-
 
21
 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-
 
22
 * EXEMPLARY OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-
 
23
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-
 
24
 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-
 
25
 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-
 
26
 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-
 
27
 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
 
28
 *
-
 
29
 * $Id$
-
 
30
 */
1
/*
31
/*
2
    		 Crown Copyright (c) 1997
32
    		 Crown Copyright (c) 1997
3
    
33
 
4
    This TenDRA(r) Computer Program is subject to Copyright
34
    This TenDRA(r) Computer Program is subject to Copyright
5
    owned by the United Kingdom Secretary of State for Defence
35
    owned by the United Kingdom Secretary of State for Defence
6
    acting through the Defence Evaluation and Research Agency
36
    acting through the Defence Evaluation and Research Agency
7
    (DERA).  It is made available to Recipients with a
37
    (DERA).  It is made available to Recipients with a
8
    royalty-free licence for its use, reproduction, transfer
38
    royalty-free licence for its use, reproduction, transfer
9
    to other parties and amendment for any purpose not excluding
39
    to other parties and amendment for any purpose not excluding
10
    product development provided that any such use et cetera
40
    product development provided that any such use et cetera
11
    shall be deemed to be acceptance of the following conditions:-
41
    shall be deemed to be acceptance of the following conditions:-
12
    
42
 
13
        (1) Its Recipients shall ensure that this Notice is
43
        (1) Its Recipients shall ensure that this Notice is
14
        reproduced upon any copies or amended versions of it;
44
        reproduced upon any copies or amended versions of it;
15
    
45
 
16
        (2) Any amended version of it shall be clearly marked to
46
        (2) Any amended version of it shall be clearly marked to
17
        show both the nature of and the organisation responsible
47
        show both the nature of and the organisation responsible
18
        for the relevant amendment or amendments;
48
        for the relevant amendment or amendments;
19
    
49
 
20
        (3) Its onward transfer from a recipient to another
50
        (3) Its onward transfer from a recipient to another
21
        party shall be deemed to be that party's acceptance of
51
        party shall be deemed to be that party's acceptance of
22
        these conditions;
52
        these conditions;
23
    
53
 
24
        (4) DERA gives no warranty or assurance as to its
54
        (4) DERA gives no warranty or assurance as to its
25
        quality or suitability for any purpose and DERA accepts
55
        quality or suitability for any purpose and DERA accepts
26
        no liability whatsoever in relation to any use to which
56
        no liability whatsoever in relation to any use to which
27
        it may be put.
57
        it may be put.
28
*/
58
*/
29
 
59
 
30
 
60
 
31
#ifndef NAME_INCLUDED
61
#ifndef NAME_INCLUDED
32
#define NAME_INCLUDED
62
#define NAME_INCLUDED
33
 
-
 
34
 
63
 
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
64
#ifndef CONFIG_INCLUDED
47
#define INCLUDE_DIR		"/u/g/release/Source/lib/include"
-
 
48
#endif
-
 
49
 
-
 
50
#ifndef SRC_DIR
65
#include "config.h"
51
#define SRC_DIR			"/u/g/release/Source/lib/building"
-
 
52
#endif
66
#endif
53
 
-
 
54
 
67
 
55
/*
68
/*
56
    ENVIRONMENTAL VARIABLES
69
    ENVIRONMENTAL VARIABLES
57
 
70
 
58
    These macros give the names of the various environmental variables
71
    These macros give the names of the various environmental variables
Line 115... Line 128...
115
 
128
 
116
    These macros give various name prefixes and other standard names.
129
    These macros give various name prefixes and other standard names.
117
*/
130
*/
118
 
131
 
119
#define HIDDEN_NAME		"__local_"
132
#define HIDDEN_NAME		"__local_"
120
#define HIDDEN_LEN		sizeof ( HIDDEN_NAME )
133
#define HIDDEN_LEN		sizeof(HIDDEN_NAME)
121
#define BUILDING_MACRO		"__BUILDING_LIBS"
134
#define BUILDING_MACRO		"__BUILDING_LIBS"
122
#define PROTECT_PREFIX		"__TDF"
135
#define PROTECT_PREFIX		"__TDF"
123
#define DEFINE_PREFIX		"__BUILDING_TDF"
136
#define DEFINE_PREFIX		"__BUILDING_TDF"
124
#define WEAK_PROTO		"__WEAK_SPEC"
137
#define WEAK_PROTO		"__WEAK_SPEC"
125
#define WRONG_PREFIX		"__WRONG"
138
#define WRONG_PREFIX		"__WRONG"
Line 130... Line 143...
130
 
143
 
131
    These routines concerned with generating names of various sorts - file
144
    These routines concerned with generating names of various sorts - file
132
    names, token names etc.
145
    names, token names etc.
133
*/
146
*/
134
 
147
 
135
extern char *basename PROTO_S ( ( char * ) ) ;
148
extern char *basename(char *);
136
extern char *dirname PROTO_S ( ( char * ) ) ;
149
extern char *dirname(char *);
137
extern char *relative PROTO_S ( ( char *, char *, int ) ) ;
150
extern char *relative(char *, char *, int);
138
extern char *hack_name PROTO_S ( ( char *, char * ) ) ;
151
extern char *hack_name(char *, char *);
139
extern char *token_name PROTO_S ( ( char * ) ) ;
152
extern char *token_name(char *);
140
extern char *token_prefix PROTO_S ( ( char *, char *, char * ) ) ;
153
extern char *token_prefix(char *, char *, char *);
141
extern char *subset_name PROTO_S ( ( char *, char *, char * ) ) ;
154
extern char *subset_name(char *, char *, char *);
142
extern char *include_name PROTO_S ( ( char *, char *, char *, char * ) ) ;
155
extern char *include_name(char *, char *, char *, char *);
143
extern char *src_name PROTO_S ( ( char *, char *, char *, char * ) ) ;
156
extern char *src_name(char *, char *, char *, char *);
144
extern char *macro_name PROTO_S ( ( char *, char *, char *, char * ) ) ;
157
extern char *macro_name(char *, char *, char *, char *);
145
extern char *block_name PROTO_S ( ( char *, char *, char * ) ) ;
158
extern char *block_name(char *, char *, char *);
146
 
159
 
147
 
160
 
148
/*
161
/*
149
    STANDARD FLAGS
162
    STANDARD FLAGS
150
 
163
 
151
    These are standard flags which are set by command line options.
164
    These are standard flags which are set by command line options.
152
*/
165
*/
153
 
166
 
154
extern boolean allow_long_long ;
167
extern boolean allow_long_long;
155
extern boolean force_output ;
168
extern boolean force_output;
156
extern boolean local_input ;
169
extern boolean local_input;
157
extern boolean restrict_depth ;
170
extern boolean restrict_depth;
158
extern boolean restrict_use ;
171
extern boolean restrict_use;
159
extern boolean unique_names ;
172
extern boolean unique_names;
160
extern int verbose ;
173
extern int verbose;
161
 
174
 
162
 
175
 
163
/*
176
/*
164
    INPUT AND OUTPUT DIRECTORIES
177
    INPUT AND OUTPUT DIRECTORIES
165
 
178
 
166
    These variables give the input and output directories.
179
    These variables give the input and output directories.
167
*/
180
*/
168
 
181
 
169
extern char *input_dir ;
182
extern char *input_dir;
170
extern char *output_incl_dir ;
183
extern char *output_incl_dir;
171
extern char *output_src_dir ;
184
extern char *output_src_dir;
172
extern int output_incl_len ;
185
extern int output_incl_len;
173
extern int output_src_len ;
186
extern int output_src_len;
174
 
187
 
175
 
188
 
176
#endif
189
#endif