VirtualBox

source: kBuild/trunk/src/kmk/kbuild.h@ 3387

Last change on this file since 3387 was 3140, checked in by bird, 6 years ago

kmk: Merged in changes from GNU make 4.2.1 (2e55f5e4abdc0e38c1d64be703b446695e70b3b6 / https://git.savannah.gnu.org/git/make.git).

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 3.6 KB
RevLine 
[933]1/* $Id: kbuild.h 3140 2018-03-14 21:28:10Z bird $ */
[813]2/** @file
3 * kBuild specific make functionality.
[2019]4 */
5
6/*
[2413]7 * Copyright (c) 2006-2010 knut st. osmundsen <bird-kBuild-spamx@anduin.net>
[813]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
[2019]13 * the Free Software Foundation; either version 3 of the License, or
[813]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
[2019]22 * along with kBuild. If not, see <http://www.gnu.org/licenses/>
[813]23 *
24 */
25
[2019]26#ifndef ___kBuild_h
27#define ___kBuild_h
[813]28
[903]29char *func_kbuild_source_tool(char *o, char **argv, const char *pszFuncName);
30char *func_kbuild_object_base(char *o, char **argv, const char *pszFuncName);
31char *func_kbuild_object_suffix(char *o, char **argv, const char *pszFuncName);
32char *func_kbuild_source_prop(char *o, char **argv, const char *pszFuncName);
33char *func_kbuild_source_one(char *o, char **argv, const char *pszFuncName);
[2011]34char *func_kbuild_expand_template(char *o, char **argv, const char *pszFuncName);
[813]35
[917]36void init_kbuild(int argc, char **argv);
[1503]37const char *get_kbuild_path(void);
38const char *get_kbuild_bin_path(void);
[1298]39const char *get_default_kbuild_shell(void);
[917]40
[2717]41/** @name kBuild objects
42 * @{ */
[2548]43struct kbuild_eval_data;
[2717]44struct kbuild_object;
[2548]45
[2717]46extern struct kbuild_eval_data *g_pTopKbEvalData;
[2548]47
[2549]48
[2717]49/** Special return value indicating variable name isn't an accessor. */
50#define KOBJ_NOT_KBUILD_ACCESSOR ( (struct kbuild_object *)~(size_t)0 )
51
52/** Special lookup_kbuild_object_variable return value. */
53#define VAR_NOT_KBUILD_ACCESSOR ( (struct variable *)~(size_t)0 )
54
55struct variable *lookup_kbuild_object_variable_accessor(const char *pchName, size_t cchName);
56int is_kbuild_object_variable_accessor(const char *pchName, size_t cchName);
57struct variable *try_define_kbuild_object_variable_via_accessor(const char *pszName, size_t cchName,
58 const char *pszValue, size_t cchValue, int fDuplicateValue,
59 enum variable_origin enmOrigin, int fRecursive,
[3140]60 floc const *pFileLoc);
[2717]61struct variable *define_kbuild_object_variable_in_top_obj(const char *pszName, size_t cchName,
62 const char *pszValue, size_t cchValue, int fDuplicateValue,
63 enum variable_origin enmOrigin, int fRecursive,
[3140]64 floc const *pFileLoc);
[2717]65struct variable *kbuild_object_variable_pre_append(const char *pchName, size_t cchName,
66 const char *pchValue, size_t cchValue, int fSimpleValue,
67 enum variable_origin enmOrigin, int fAppend,
[3140]68 const floc *pFileLoc);
69int eval_kbuild_read_hook(struct kbuild_eval_data **kdata, const floc *flocp,
[2717]70 const char *word, size_t wlen, const char *line, const char *eos, int ignoring);
71void print_kbuild_data_base(void);
72void print_kbuild_define_stats(void);
73void init_kbuild_object(void);
74/** @} */
75
[813]76#endif
[2019]77
Note: See TracBrowser for help on using the repository browser.

© 2023 Oracle
ContactPrivacy policyTerms of Use