1 /*
2  * Copyright 1993-2002 Christopher Seiwald and Perforce Software, Inc.
3  *
4  * This file is part of Jam - see jam.c for Copyright information.
5  */
6 
7 #ifndef JAM_BUILTINS_H
8 # define JAM_BUILTINS_H
9 
10 # include "frames.h"
11 
12 /*
13  * builtins.h - compile parsed jam statements
14  */
15 
16 void load_builtins();
17 void init_set();
18 void init_path();
19 void init_regex();
20 void init_property_set();
21 void init_sequence();
22 void init_order();
23 
24 void property_set_done();
25 
26 LIST *builtin_calc( FRAME * frame, int flags );
27 LIST *builtin_depends( FRAME * frame, int flags );
28 LIST *builtin_rebuilds( FRAME * frame, int flags );
29 LIST *builtin_echo( FRAME * frame, int flags );
30 LIST *builtin_exit( FRAME * frame, int flags );
31 LIST *builtin_flags( FRAME * frame, int flags );
32 LIST *builtin_glob( FRAME * frame, int flags );
33 LIST *builtin_glob_recursive( FRAME * frame, int flags );
34 LIST *builtin_subst( FRAME * frame, int flags );
35 LIST *builtin_match( FRAME * frame, int flags );
36 LIST *builtin_split_by_characters( FRAME * frame, int flags );
37 LIST *builtin_hdrmacro( FRAME * frame, int flags );
38 LIST *builtin_rulenames( FRAME * frame, int flags );
39 LIST *builtin_varnames( FRAME * frame, int flags );
40 LIST *builtin_delete_module( FRAME * frame, int flags );
41 LIST *builtin_import( FRAME * frame, int flags );
42 LIST *builtin_export( FRAME * frame, int flags );
43 LIST *builtin_caller_module( FRAME * frame, int flags );
44 LIST *builtin_backtrace( FRAME * frame, int flags );
45 LIST *builtin_pwd( FRAME * frame, int flags );
46 LIST *builtin_update( FRAME * frame, int flags );
47 LIST *builtin_update_now( FRAME * frame, int flags );
48 LIST *builtin_import_module( FRAME * frame, int flags );
49 LIST *builtin_imported_modules( FRAME * frame, int flags );
50 LIST *builtin_instance( FRAME * frame, int flags );
51 LIST *builtin_sort( FRAME * frame, int flags );
52 LIST *builtin_normalize_path( FRAME * frame, int flags );
53 LIST *builtin_native_rule( FRAME * frame, int flags );
54 LIST *builtin_has_native_rule( FRAME * frame, int flags );
55 LIST *builtin_user_module( FRAME * frame, int flags );
56 LIST *builtin_nearest_user_location( FRAME * frame, int flags );
57 LIST *builtin_check_if_file( FRAME * frame, int flags );
58 LIST *builtin_python_import_rule( FRAME * frame, int flags );
59 LIST *builtin_shell( FRAME * frame, int flags );
60 LIST *builtin_md5( FRAME * frame, int flags );
61 LIST *builtin_file_open( FRAME * frame, int flags );
62 LIST *builtin_pad( FRAME * frame, int flags );
63 LIST *builtin_precious( FRAME * frame, int flags );
64 LIST *builtin_self_path( FRAME * frame, int flags );
65 LIST *builtin_makedir( FRAME * frame, int flags );
66 LIST *builtin_readlink( FRAME * frame, int flags );
67 
68 void backtrace( FRAME *frame );
69 extern int last_update_now_status;
70 
71 #endif
72