diff options
Diffstat (limited to 'src/boost/tools/build/src/engine/frames.h')
-rw-r--r-- | src/boost/tools/build/src/engine/frames.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/src/boost/tools/build/src/engine/frames.h b/src/boost/tools/build/src/engine/frames.h new file mode 100644 index 000000000..c134d9c79 --- /dev/null +++ b/src/boost/tools/build/src/engine/frames.h @@ -0,0 +1,46 @@ +/* + * Copyright 2001-2004 David Abrahams. + * Distributed under the Boost Software License, Version 1.0. + * (See accompanying file LICENSE_1_0.txt or copy at + * http://www.boost.org/LICENSE_1_0.txt) + */ + +#ifndef FRAMES_DWA20011021_H +#define FRAMES_DWA20011021_H + +#include "config.h" +#include "lists.h" +#include "modules.h" +#include "object.h" + + +typedef struct frame FRAME; + +struct frame +{ + FRAME * prev; + FRAME * prev_user; /* The nearest enclosing frame for which + module->user_module is true. */ + LOL args[ 1 ]; + module_t * module; + OBJECT * file; + int line; + char const * rulename; +#ifdef JAM_DEBUGGER + void * function; +#endif +}; + + +/* When a call into Python is in progress, this variable points to the bjam + * frame that was current at the moment of the call. When the call completes, + * the variable is not defined. Furthermore, if Jam calls Python which calls Jam + * and so on, this variable only keeps the most recent Jam frame. + */ +extern FRAME * frame_before_python_call; + + +void frame_init( FRAME * ); +void frame_free( FRAME * ); + +#endif |