PIPS
pipsmake.h
Go to the documentation of this file.
1 /* Warning! Do not modify this file that is automatically generated! */
2 /* Modify src/Libs/pipsmake/pipsmake-local.h instead, to add your own modifications. */
3 
4 /* header file built by cproto */
5 
6 #ifndef pipsmake_header_included
7 #define pipsmake_header_included
8 /* pipsmake-local.h */
9 /*
10 
11  $Id: pipsmake-local.h 23656 2022-05-08 06:45:50Z coelho $
12 
13  Copyright 1989-2016 MINES ParisTech
14 
15  This file is part of PIPS.
16 
17  PIPS is free software: you can redistribute it and/or modify it
18  under the terms of the GNU General Public License as published by
19  the Free Software Foundation, either version 3 of the License, or
20  any later version.
21 
22  PIPS is distributed in the hope that it will be useful, but WITHOUT ANY
23  WARRANTY; without even the implied warranty of MERCHANTABILITY or
24  FITNESS FOR A PARTICULAR PURPOSE.
25 
26  See the GNU General Public License for more details.
27 
28  You should have received a copy of the GNU General Public License
29  along with PIPS. If not, see <http://www.gnu.org/licenses/>.
30 
31 */
32 #include "makefile.h"
34 
35 /* symbols exported by lex / yacc */
36 extern void pipsmake_error(const char *);
37 extern FILE *pipsmake_in;
38 extern int pipsmake_lex(void);
39 extern int pipsmake_parse(void);
40 
41 /* work around cproto 4.7t issue */
42 /* symbols from readmakefile.y */
43 extern void yyerror(const char *);
44 extern void fprint_virtual_resources(FILE *, const char *, list);
45 extern void fprint_makefile(FILE *, makefile);
46 extern makefile parse_makefile(void);
47 extern rule find_rule_by_phase(const char *);
48 extern void add_rule(rule);
49 extern makefile open_makefile(const char *);
50 extern void save_makefile(const char *);
51 extern bool close_makefile(const char *);
52 /* symbols form lexer.l */
53 extern int yywrap(void);
54 extern int init_lex(void);
55 extern void yyerror_lex_part(const char *);
56 /* cproto-generated files */
57 /* pipsmake.c */
58 extern void set_current_phase_context(const char */*rname*/, const char */*oname*/);
59 extern void reset_current_phase_context(void);
60 extern void reset_make_cache(void);
61 extern void init_make_cache(void);
62 extern bool make_cache_p(void);
63 extern void reinit_make_cache_if_necessary(void);
64 extern bool make_cache_hit_p(void */*rr_id*/);
65 extern void add_resource_to_make_cache(void */*res_id*/);
66 extern void remove_resource_from_make_cache(void */*res_id*/);
67 extern void print_make_cache(void);
68 extern bool make_cache_consistent_p(void);
69 extern void reset_static_phase_variables(void);
70 extern rule find_rule_by_resource(const char */*rname*/);
71 extern bool rmake(const char */*rname*/, const char */*oname*/);
72 extern int delete_obsolete_resources(void);
73 extern void delete_some_resources(void);
74 extern bool check_resource_up_to_date(const char */*rname*/, const char */*oname*/);
75 extern void delete_named_resources(const char */*rn*/);
76 extern void delete_all_resources(void);
77 extern string get_first_main_module(void);
78 extern void do_resource_usage_check(const char */*oname*/, rule /*ru*/);
79 extern bool safe_make(const char */*res_n*/, const char */*module_n*/);
80 extern bool safe_apply(const char */*phase_n*/, const char */*module_n*/);
81 extern bool safe_concurrent_apply(const char */*phase_n*/, gen_array_t /*modules*/);
82 extern bool safe_set_property(const char */*propname*/, const char */*value*/);
83 extern gen_array_t get_callers(string /*module*/);
84 extern gen_array_t get_callees(string /*module*/);
85 /* activate.c */
86 extern void save_active_phases(void);
87 extern void retrieve_active_phases(void);
88 extern bool active_phase_p(const char */*phase*/);
89 extern bool saved_active_phase_p(const char */*phase*/);
90 extern void fprint_activated(FILE */*fd*/);
91 extern string active_phase_for_resource(string /*res*/);
92 extern const char *activate_phase(const char */*phase*/);
93 extern const char *activate(const char */*phase*/);
94 extern bool activate_phases(void);
95 extern void activate_language(language /*l*/);
96 extern bool rule_use_resource_produced(rule /*r*/);
97 /* openclose.c */
98 extern string build_pgm_makefile(const char */*n*/);
99 extern string make_open_workspace(const char */*name*/);
100 extern bool make_close_workspace(bool /*is_quit*/);
101 extern void checkpoint_workspace(void);
102 /* callback.c */
104 extern void reset_pipsmake_callback(void);
105 extern bool run_pipsmake_callback(void);
106 /* unsplit.c */
107 extern bool unsplit(const string /*name*/);
108 extern bool unsplit_parsed(const string /*name*/);
109 /* stubs.c */
110 extern bool array_dfg(string /*module*/);
111 extern bool print_array_dfg(string /*module*/);
112 extern bool scheduling(string /*module*/);
113 extern bool print_bdt(string /*module*/);
114 extern bool prgm_mapping(string /*module*/);
115 extern bool print_plc(string /*module*/);
116 extern bool reindexing(string /*module*/);
117 extern bool print_parallelizedCMF_code(string /*module*/);
118 extern bool print_parallelizedCRAFT_code(string /*module*/);
119 /* view.c */
120 extern string build_view_file(const char */*print_type*/);
121 extern string get_dont_build_view_file(const char */*print_type*/);
122 /* signal.c */
123 extern void reset_pips_timeout(void);
124 extern void set_pips_timeout(unsigned int /*delay*/);
125 extern void set_pips_timeout_from_env(void);
126 extern void initialize_signal_catcher(void);
127 /* readmakefile.c */
128 extern int pipsmake_char;
129 extern int pipsmake_nerrs;
130 extern int pipsmake_parse(void);
131 extern void pipsmake_error(const char */*s*/);
132 extern void fprint_virtual_resources(FILE */*fd*/, const char */*dir*/, list /*lrv*/);
133 extern void fprint_makefile(FILE */*fd*/, makefile /*m*/);
134 extern makefile parse_makefile(void);
135 extern rule find_rule_by_phase(const char */*pname*/);
136 extern void add_rule(rule /*r*/);
137 extern makefile open_makefile(const char */*name*/);
138 extern void save_makefile(const char */*name*/);
139 extern bool close_makefile(const char */*name*/);
140 /* lexer.c */
141 extern int pipsmake_leng;
142 extern FILE *pipsmake_in;
143 extern FILE *pipsmake_out;
144 extern int pipsmake_lineno;
145 extern int pipsmake__flex_debug;
146 extern char *pipsmake_text;
147 extern int pipsmake_lex(void);
148 extern void pipsmake_restart(FILE */*input_file*/);
149 extern void pipsmake_pop_buffer_state(void);
150 extern int pipsmake_get_lineno(void);
151 extern FILE *pipsmake_get_in(void);
152 extern FILE *pipsmake_get_out(void);
153 extern int pipsmake_get_leng(void);
154 extern char *pipsmake_get_text(void);
155 extern void pipsmake_set_lineno(int /*_line_number*/);
156 extern void pipsmake_set_in(FILE */*_in_str*/);
157 extern void pipsmake_set_out(FILE */*_out_str*/);
158 extern int pipsmake_get_debug(void);
159 extern void pipsmake_set_debug(int /*_bdebug*/);
160 extern int pipsmake_lex_destroy(void);
161 extern void *pipsmake_alloc(yy_size_t /*size*/);
162 extern void *pipsmake_realloc(void */*ptr*/, yy_size_t /*size*/);
163 extern void pipsmake_free(void */*ptr*/);
164 extern int pipsmake_wrap(void);
165 extern int init_lex(void);
166 extern void yyerror_lex_part(const char */*s*/);
167 #endif /* pipsmake_header_included */
size_t yy_size_t
Definition: genread_lex.c:413
int bool
we cannot use an enum or stdbool because we need to be compatible with newgen, thus boolean need to h...
Definition: newgen_types.h:78
bool make_close_workspace(bool)
FI->GO: could be in top-level, no?
Definition: openclose.c:102
void delete_some_resources(void)
this is quite ugly, but I wanted to put the enumeration down to pipsdbm.
Definition: pipsmake.c:1446
bool print_bdt(string)
=================================================================
Definition: scheduling.c:89
int pipsmake_leng
lexer.c
void reset_static_phase_variables(void)
Static variables used by phases must be reset on error although pipsmake does not know which ones are...
Definition: pipsmake.c:298
void do_resource_usage_check(const char *, rule)
check the usage of resources
Definition: pipsmake.c:1559
string get_dont_build_view_file(const char *)
Definition: view.c:102
void initialize_signal_catcher(void)
Definition: signal.c:126
bool make_cache_consistent_p(void)
Debug function: make sure that up-to-date resources do exist in the resource database.
Definition: pipsmake.c:275
string make_open_workspace(const char *)
Definition: openclose.c:72
void fprint_virtual_resources(FILE *, const char *, list)
FILE * pipsmake_out
void set_pips_timeout(unsigned int)
set pips timeout on delay setting to 0 removes the current timeout.
Definition: signal.c:70
bool rmake(const char *, const char *)
recursive make resource.
Definition: pipsmake.c:919
FILE * pipsmake_get_in(void)
void save_makefile(const char *)
bool make_cache_p(void)
Can the make cache be used?
Definition: pipsmake.c:207
const char * activate(const char *)
Definition: activate.c:214
void yyerror(const char *)
work around cproto 4.7t issue
void reset_pips_timeout(void)
signal.c
Definition: signal.c:60
bool unsplit(const string)
unsplit.c
Definition: unsplit.c:185
bool unsplit_parsed(const string)
Definition: unsplit.c:190
void set_current_phase_context(const char *, const char *)
cproto-generated files
Definition: pipsmake.c:89
bool make_cache_hit_p(void *)
Definition: pipsmake.c:219
void pipsmake_free(void *)
bool(* pipsmake_callback_handler_type)(void)
Warning! Do not modify this file that is automatically generated!
Definition: pipsmake.h:33
bool scheduling(string)
=================================================================
Definition: scheduling.c:133
bool safe_concurrent_apply(const char *, gen_array_t)
Definition: pipsmake.c:1729
int delete_obsolete_resources(void)
Definition: pipsmake.c:1432
bool close_makefile(const char *)
void pipsmake_restart(FILE *)
void print_make_cache(void)
Debug function, to be tested...
Definition: pipsmake.c:251
bool print_parallelizedCMF_code(string)
======================================================================
Definition: prettyprint.c:401
gen_array_t get_callees(string)
Get all the callers of the specified module.
Definition: pipsmake.c:1816
void delete_named_resources(const char *)
Delete from up_to_date_resources make cache all the resources with a given resource name.
Definition: pipsmake.c:1482
char * pipsmake_text
bool safe_make(const char *, const char *)
Definition: pipsmake.c:1717
int pipsmake_get_leng(void)
void pipsmake_pop_buffer_state(void)
string get_first_main_module(void)
Should be able to handle Fortran applications, C applications and mixed Fortran/C applications.
Definition: pipsmake.c:1525
void * pipsmake_alloc(yy_size_t)
bool safe_apply(const char *, const char *)
Definition: pipsmake.c:1723
int pipsmake_lex(void)
void remove_resource_from_make_cache(void *)
Definition: pipsmake.c:239
void pipsmake_set_out(FILE *)
int pipsmake_lineno
void save_active_phases(void)
activate.c
Definition: activate.c:49
bool activate_phases(void)
Use property ACTIVE_PHASES to active the phases required by the user.
Definition: activate.c:224
bool active_phase_p(const char *)
Definition: activate.c:80
bool print_array_dfg(string)
int pipsmake_get_debug(void)
int pipsmake__flex_debug
void pipsmake_set_debug(int)
void set_pips_timeout_from_env(void)
set pips timeout using PIPS_TIMEOUT environment variable
Definition: signal.c:84
bool check_resource_up_to_date(const char *, const char *)
To be used in a rule.
Definition: pipsmake.c:1468
bool rule_use_resource_produced(rule)
Test if a rule uses a resource it produces.
Definition: activate.c:353
bool run_pipsmake_callback(void)
Definition: callback.c:59
void pipsmake_error(const char *)
symbols exported by lex / yacc
void pipsmake_set_lineno(int)
void yyerror_lex_part(const char *)
void init_make_cache(void)
Definition: pipsmake.c:199
void retrieve_active_phases(void)
Definition: activate.c:58
bool print_parallelizedCRAFT_code(string)
======================================================================
Definition: prettyprint.c:482
int yywrap(void)
symbols form lexer.l
void add_resource_to_make_cache(void *)
Definition: pipsmake.c:225
bool prgm_mapping(string)
=========================================================================
void activate_language(language)
Choose the right combination of activate and setproperty for a given language.
Definition: activate.c:254
int pipsmake_wrap(void)
void fprint_activated(FILE *)
Definition: activate.c:110
rule find_rule_by_phase(const char *)
this function returns the rule that defines builder pname
makefile open_makefile(const char *)
void reset_current_phase_context(void)
Definition: pipsmake.c:96
int pipsmake_parse(void)
char * pipsmake_get_text(void)
FILE * pipsmake_get_out(void)
string active_phase_for_resource(string)
return the phase which would be used to build a given resource.
Definition: activate.c:119
FILE * pipsmake_in
Definition: pipsmake.h:142
void reset_pipsmake_callback(void)
Definition: callback.c:51
void set_pipsmake_callback(pipsmake_callback_handler_type)
callback.c
Definition: callback.c:43
void reset_make_cache(void)
Definition: pipsmake.c:191
rule find_rule_by_resource(const char *)
This function returns the active rule to produce resource rname.
Definition: pipsmake.c:694
void * pipsmake_realloc(void *, yy_size_t)
void add_rule(rule)
string build_pgm_makefile(const char *)
openclose.c
const char * activate_phase(const char *)
Definition: activate.c:124
bool safe_set_property(const char *, const char *)
Definition: pipsmake.c:1781
void fprint_makefile(FILE *, makefile)
bool array_dfg(string)
stubs.c
Definition: array_dfg.c:501
void delete_all_resources(void)
Definition: pipsmake.c:1513
int init_lex(void)
gen_array_t get_callers(string)
Get all the callers of the specified module.
Definition: pipsmake.c:1799
int pipsmake_nerrs
void pipsmake_set_in(FILE *)
void reinit_make_cache_if_necessary(void)
Definition: pipsmake.c:212
void checkpoint_workspace(void)
checkpoint the current workspace, i.e.
Definition: openclose.c:129
bool saved_active_phase_p(const char *)
Debugging function.
Definition: activate.c:93
int pipsmake_lex_destroy(void)
bool print_plc(string)
makefile parse_makefile(void)
string build_view_file(const char *)
view.c
Definition: view.c:97
bool reindexing(string)
======================================================================
Definition: reindexing.c:664
int pipsmake_get_lineno(void)
int pipsmake_char
readmakefile.c
The structure used to build lists in NewGen.
Definition: newgen_list.h:41