1 /* $Id: kmk_cc_exec.h 2788 2015-09-06 15:43:10Z bird $ */ 2 /** @file 3 * kmk_cc - Make "Compiler". 4 */ 5 6 /* 7 * Copyright (c) 2015 knut st. osmundsen <bird-kBuild-spamx@anduin.net> 8 * 9 * This file is part of kBuild. 10 * 11 * kBuild is free software; you can redistribute it and/or modify 12 * it under the terms of the GNU General Public License as published by 13 * the Free Software Foundation; either version 3 of the License, or 14 * (at your option) any later version. 15 * 16 * kBuild is distributed in the hope that it will be useful, 17 * but WITHOUT ANY WARRANTY; without even the implied warranty of 18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19 * GNU General Public License for more details. 20 * 21 * You should have received a copy of the GNU General Public License 22 * along with kBuild. If not, see <http://www.gnu.org/licenses/> 23 * 24 */ 25 26 #ifndef ___kmk_cc_and_exech 27 #define ___kmk_cc_and_exech 28 #ifdef CONFIG_WITH_COMPILER 29 30 #include <stdio.h> 31 32 33 void kmk_cc_init(void); 34 void kmk_cc_print_stats(void); 35 36 struct variable; 37 extern struct kmk_cc_expandprog *kmk_cc_compile_variable_for_expand(struct variable *pVar); 38 extern struct kmk_cc_evalprog *kmk_cc_compile_variable_for_eval(struct variable *pVar); 39 extern struct kmk_cc_evalprog *kmk_cc_compile_file_for_eval(FILE *pFile, const char *pszFilename); 40 extern char *kmk_exec_expand_to_var_buf(struct variable *pVar, char *pchDst); 41 extern void kmk_exec_eval_file(struct kmk_cc_evalprog *pProg); 42 extern void kmk_exec_eval_variable(struct variable *pVar); 43 extern void kmk_cc_variable_changed(struct variable *pVar); 44 extern void kmk_cc_variable_deleted(struct variable *pVar); 45 46 47 #endif /* CONFIG_WITH_COMPILER */ 48 #endif 49