summaryrefslogtreecommitdiff
path: root/tools/build/src/engine/variable.h
blob: ddb452bc1e99dbac4e4145dff9c3c54b19df5dce (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
/*
 * Copyright 1993, 2000 Christopher Seiwald.
 *
 * This file is part of Jam - see jam.c for Copyright information.
 */

/*
 * variable.h - handle jam multi-element variables
 */

#ifndef VARIABLE_SW20111119_H
#define VARIABLE_SW20111119_H

#include "lists.h"
#include "object.h"


struct module_t;

void   var_defines( struct module_t *, char * const * e, int preprocess );
LIST * var_get( struct module_t *, OBJECT * symbol );
void   var_set( struct module_t *, OBJECT * symbol, LIST * value, int flag );
LIST * var_swap( struct module_t *, OBJECT * symbol, LIST * value );
void   var_done( struct module_t * );

/*
 * Defines for var_set().
 */

#define VAR_SET      0   /* override previous value */
#define VAR_APPEND   1   /* append to previous value */
#define VAR_DEFAULT  2   /* set only if no previous value */

#endif