compile.h #1

  • //
  • guest/
  • miklos_fazekas/
  • jam/
  • src/
  • compile.h
  • View
  • Commits
  • Open Download .zip Download (2 KB)
/*
 * Copyright 1993, 2000 Christopher Seiwald.
 *
 * This file is part of Jam - see jam.c for Copyright information.
 */

/*
 * compile.h - compile parsed jam statements
 */

void compile_builtins();

LIST *compile_append( PARSE *parse, LOL *args );
LIST *compile_foreach( PARSE *parse, LOL *args );
LIST *compile_if( PARSE *parse, LOL *args );
LIST *compile_include( PARSE *parse, LOL *args );
LIST *compile_list( PARSE *parse, LOL *args );
LIST *compile_local( PARSE *parse, LOL *args );
LIST *compile_null( PARSE *parse, LOL *args );
LIST *compile_rule( PARSE *parse, LOL *args );
LIST *compile_rules( PARSE *parse, LOL *args );
LIST *compile_set( PARSE *parse, LOL *args );
LIST *compile_setcomp( PARSE *parse, LOL *args );
LIST *compile_setexec( PARSE *parse, LOL *args );
LIST *compile_settings( PARSE *parse, LOL *args );
LIST *compile_switch( PARSE *parse, LOL *args );

LIST *evaluate_rule( char *rulename, LOL *args );

/* Flags for compile_set(), etc */

# define ASSIGN_SET	0x00	/* = assign variable */
# define ASSIGN_APPEND	0x01	/* += append variable */
# define ASSIGN_DEFAULT	0x02	/* set only if unset */

/* Flags for compile_setexec() */

# define EXEC_UPDATED	0x01	/* executes updated */
# define EXEC_TOGETHER	0x02	/* executes together */
# define EXEC_IGNORE	0x04	/* executes ignore */
# define EXEC_QUIETLY	0x08	/* executes quietly */
# define EXEC_PIECEMEAL	0x10	/* executes piecemeal */
# define EXEC_EXISTING	0x20	/* executes existing */

/* Conditions for compile_if() */

# define COND_NOT	0	/* ! cond */
# define COND_AND	1	/* cond && cond */
# define COND_OR	2	/* cond || cond */

# define COND_EXISTS	3	/* arg */
# define COND_EQUALS	4	/* arg = arg */
# define COND_NOTEQ	5	/* arg != arg */
# define COND_LESS	6	/* arg < arg  */
# define COND_LESSEQ	7	/* arg <= arg */
# define COND_MORE	8	/* arg > arg  */
# define COND_MOREEQ	9	/* arg >= arg */
# define COND_IN	10	/* arg in arg */
# Change User Description Committed
#7 2577 Miklos Fazekas "Integrate to jam2.5rc1"
#6 2519 Miklos Fazekas Sync to 2.5rc1
#5 1573 Miklos Fazekas Merge to jam mainline.
#4 1569 Miklos Fazekas Integrate with lates mainline
#3 1395 Miklos Fazekas Merge with main jam
#2 1221 Miklos Fazekas Introduced dontdelete action modifier.
This modifier is usefull for actions with multiple targets, in this case failure means only partial failure, and not full failure. First target might be compiled succesfully, so deleting it is not good.
#1 1212 Miklos Fazekas Created a Jam branch
//guest/perforce_software/jam/src/compile.h
#2 486 Perforce staff Jam 2.3.
 See RELNOTES for a list of changes from 2.2.x.

Just about every source file was touched when jam got ANSI-fied.
#1 2 laura Add Jam/MR 2.2 source