blob: 891d32294eb950e582b79615b6533234159a0469 [file] [log] [blame]
/*
* Copyright 2011 Steven Watanabe
*
* This file is part of Jam - see jam.c for Copyright information.
*/
/*
* constants.c - constant objects
*
* External functions:
*
* constants_init() - initialize constants
* constants_done() - free constants
*
*/
#include "constants.h"
void constants_init( void )
{
constant_empty = object_new( "" );
constant_dot = object_new( "." );
constant_plus = object_new( "+" );
constant_star = object_new( "*" );
constant_question_mark = object_new( "?" );
constant_ok = object_new( "ok" );
constant_true = object_new( "true" );
constant_name = object_new( "__name__" );
constant_bases = object_new( "__bases__" );
constant_class = object_new( "__class__" );
constant_typecheck = object_new( ".typecheck" );
constant_builtin = object_new( "(builtin)" );
constant_HCACHEFILE = object_new( "HCACHEFILE" );
constant_HCACHEMAXAGE = object_new( "HCACHEMAXAGE" );
constant_HDRSCAN = object_new( "HDRSCAN" );
constant_HDRRULE = object_new( "HDRRULE" );
constant_BINDRULE = object_new( "BINDRULE" );
constant_LOCATE = object_new( "LOCATE" );
constant_SEARCH = object_new( "SEARCH" );
constant_JAM_SEMAPHORE = object_new( "JAM_SEMAPHORE" );
constant_TIMING_RULE = object_new( "__TIMING_RULE__" );
constant_ACTION_RULE = object_new( "__ACTION_RULE__" );
constant_JAMSHELL = object_new( "JAMSHELL" );
constant_TMPDIR = object_new( "TMPDIR" );
constant_TMPNAME = object_new( "TMPNAME" );
constant_TMPFILE = object_new( "TMPFILE" );
constant_STDOUT = object_new( "STDOUT" );
constant_STDERR = object_new( "STDERR" );
constant_JAMDATE = object_new( "JAMDATE" );
constant_JAM_TIMESTAMP_RESOLUTION = object_new( "JAM_TIMESTAMP_RESOLUTION" );
constant_JAM_VERSION = object_new( "JAM_VERSION" );
constant_JAMUNAME = object_new( "JAMUNAME" );
constant_ENVIRON = object_new( ".ENVIRON" );
constant_ARGV = object_new( "ARGV" );
constant_all = object_new( "all" );
constant_PARALLELISM = object_new( "PARALLELISM" );
constant_KEEP_GOING = object_new( "KEEP_GOING" );
constant_other = object_new( "[OTHER]" );
constant_total = object_new( "[TOTAL]" );
constant_FILE_DIRSCAN = object_new( "FILE_DIRSCAN" );
constant_MAIN = object_new( "MAIN" );
constant_MAIN_MAKE = object_new( "MAIN_MAKE" );
constant_MAKE_MAKE0 = object_new( "MAKE_MAKE0" );
constant_MAKE_MAKE1 = object_new( "MAKE_MAKE1" );
constant_MAKE_MAKE0SORT = object_new( "MAKE_MAKE0SORT" );
constant_BINDMODULE = object_new( "BINDMODULE" );
constant_IMPORT_MODULE = object_new( "IMPORT_MODULE" );
constant_BUILTIN_GLOB_BACK = object_new( "BUILTIN_GLOB_BACK" );
constant_timestamp = object_new( "timestamp" );
constant_python = object_new("__python__");
constant_python_interface = object_new( "python_interface" );
constant_extra_pythonpath = object_new( "EXTRA_PYTHONPATH" );
constant_MAIN_PYTHON = object_new( "MAIN_PYTHON" );
}
void constants_done( void )
{
object_free( constant_empty );
object_free( constant_dot );
object_free( constant_plus );
object_free( constant_star );
object_free( constant_question_mark );
object_free( constant_ok );
object_free( constant_true );
object_free( constant_name );
object_free( constant_bases );
object_free( constant_class );
object_free( constant_typecheck );
object_free( constant_builtin );
object_free( constant_HCACHEFILE );
object_free( constant_HCACHEMAXAGE );
object_free( constant_HDRSCAN );
object_free( constant_HDRRULE );
object_free( constant_BINDRULE );
object_free( constant_LOCATE );
object_free( constant_SEARCH );
object_free( constant_JAM_SEMAPHORE );
object_free( constant_TIMING_RULE );
object_free( constant_ACTION_RULE );
object_free( constant_JAMSHELL );
object_free( constant_TMPDIR );
object_free( constant_TMPNAME );
object_free( constant_TMPFILE );
object_free( constant_STDOUT );
object_free( constant_STDERR );
object_free( constant_JAMDATE );
object_free( constant_JAM_TIMESTAMP_RESOLUTION );
object_free( constant_JAM_VERSION );
object_free( constant_JAMUNAME );
object_free( constant_ENVIRON );
object_free( constant_ARGV );
object_free( constant_all );
object_free( constant_PARALLELISM );
object_free( constant_KEEP_GOING );
object_free( constant_other );
object_free( constant_total );
object_free( constant_FILE_DIRSCAN );
object_free( constant_MAIN );
object_free( constant_MAIN_MAKE );
object_free( constant_MAKE_MAKE0 );
object_free( constant_MAKE_MAKE1 );
object_free( constant_MAKE_MAKE0SORT );
object_free( constant_BINDMODULE );
object_free( constant_IMPORT_MODULE );
object_free( constant_BUILTIN_GLOB_BACK );
object_free( constant_timestamp );
object_free( constant_python );
object_free( constant_python_interface );
object_free( constant_extra_pythonpath );
object_free( constant_MAIN_PYTHON );
}
OBJECT * constant_empty;
OBJECT * constant_dot;
OBJECT * constant_plus;
OBJECT * constant_star;
OBJECT * constant_question_mark;
OBJECT * constant_ok;
OBJECT * constant_true;
OBJECT * constant_name;
OBJECT * constant_bases;
OBJECT * constant_class;
OBJECT * constant_typecheck;
OBJECT * constant_builtin;
OBJECT * constant_HCACHEFILE;
OBJECT * constant_HCACHEMAXAGE;
OBJECT * constant_HDRSCAN;
OBJECT * constant_HDRRULE;
OBJECT * constant_BINDRULE;
OBJECT * constant_LOCATE;
OBJECT * constant_SEARCH;
OBJECT * constant_JAM_SEMAPHORE;
OBJECT * constant_TIMING_RULE;
OBJECT * constant_ACTION_RULE;
OBJECT * constant_JAMSHELL;
OBJECT * constant_TMPDIR;
OBJECT * constant_TMPNAME;
OBJECT * constant_TMPFILE;
OBJECT * constant_STDOUT;
OBJECT * constant_STDERR;
OBJECT * constant_JAMDATE;
OBJECT * constant_JAM_VERSION;
OBJECT * constant_JAMUNAME;
OBJECT * constant_ENVIRON;
OBJECT * constant_ARGV;
OBJECT * constant_all;
OBJECT * constant_PARALLELISM;
OBJECT * constant_KEEP_GOING;
OBJECT * constant_other;
OBJECT * constant_total;
OBJECT * constant_FILE_DIRSCAN;
OBJECT * constant_MAIN;
OBJECT * constant_MAIN_MAKE;
OBJECT * constant_MAKE_MAKE0;
OBJECT * constant_MAKE_MAKE1;
OBJECT * constant_MAKE_MAKE0SORT;
OBJECT * constant_BINDMODULE;
OBJECT * constant_IMPORT_MODULE;
OBJECT * constant_BUILTIN_GLOB_BACK;
OBJECT * constant_timestamp;
OBJECT * constant_JAM_TIMESTAMP_RESOLUTION;
OBJECT * constant_python;
OBJECT * constant_python_interface;
OBJECT * constant_extra_pythonpath;
OBJECT * constant_MAIN_PYTHON;