1 /* 2 * Copyright 1993, 2000 Christopher Seiwald. 3 * 4 * This file is part of Jam - see jam.c for Copyright information. 5 */ 6 7 /* 8 * variable.h - handle jam multi-element variables 9 */ 10 11 #ifndef VARIABLE_SW20111119_H 12 #define VARIABLE_SW20111119_H 13 14 #include "config.h" 15 #include "lists.h" 16 #include "object.h" 17 18 19 struct module_t; 20 21 void var_defines( struct module_t *, const char * const * e, int preprocess ); 22 LIST * var_get( struct module_t *, OBJECT * symbol ); 23 void var_set( struct module_t *, OBJECT * symbol, LIST * value, int flag ); 24 LIST * var_swap( struct module_t *, OBJECT * symbol, LIST * value ); 25 void var_done( struct module_t * ); 26 27 /* 28 * Defines for var_set(). 29 */ 30 31 #define VAR_SET 0 /* override previous value */ 32 #define VAR_APPEND 1 /* append to previous value */ 33 #define VAR_DEFAULT 2 /* set only if no previous value */ 34 35 #endif 36