blob: 5c49e3ca552b74629d9cc19085d31aeb17e96698 [file] [log] [blame]
/*
* Copyright 1993, 2000 Christopher Seiwald.
*
* This file is part of Jam - see jam.c for Copyright information.
*/
/*
* variable.h - handle jam multi-element variables
*/
struct hash;
void var_defines( char* const *e, int preprocess );
int var_string( char *in, char *out, int outsize, LOL *lol );
LIST * var_get( char *symbol );
void var_set( char *symbol, LIST *value, int flag );
LIST * var_swap( char *symbol, LIST *value );
void var_done();
void var_hash_swap( struct hash** );
/** Expands the "in" expression directly into the "out" file.
The file can be one of: a path, STDOUT, or STDERR to send
the output to a file overwriting previous content, to
the console, or to the error output respectively.
*/
void var_string_to_file( const char * in, int insize, const char * out, LOL * lol );
/*
* 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 */