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
Line 
1/* $Id: kbuild.h 3140 2018-03-14 21:28:10Z bird $ */
2/** @file
3 * kBuild specific make functionality.
4 */
5
6/*
7 * Copyright (c) 2006-2010 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 ___kBuild_h
27#define ___kBuild_h
28
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);
34char *func_kbuild_expand_template(char *o, char **argv, const char *pszFuncName);
35
36void init_kbuild(int argc, char **argv);
37const char *get_kbuild_path(void);
38const char *get_kbuild_bin_path(void);
39const char *get_default_kbuild_shell(void);
40
41/** @name kBuild objects
42 * @{ */
43struct kbuild_eval_data;
44struct kbuild_object;
45
46extern struct kbuild_eval_data *g_pTopKbEvalData;
47
48
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,
60 floc const *pFileLoc);
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,
64 floc const *pFileLoc);
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,
68 const floc *pFileLoc);
69int eval_kbuild_read_hook(struct kbuild_eval_data **kdata, const floc *flocp,
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
76#endif
77
Note: See TracBrowser for help on using the repository browser.

© 2023 Oracle
ContactPrivacy policyTerms of Use