Annotation of src/usr.bin/make/nonints.h, Revision 1.70
1.70 ! christos 1: /* $NetBSD: nonints.h,v 1.69 2015/10/11 04:51:24 sjg Exp $ */
1.6 christos 2:
1.1 cgd 3: /*-
1.12 christos 4: * Copyright (c) 1988, 1989, 1990, 1993
5: * The Regents of the University of California. All rights reserved.
1.29 agc 6: *
7: * This code is derived from software contributed to Berkeley by
8: * Adam de Boor.
9: *
10: * Redistribution and use in source and binary forms, with or without
11: * modification, are permitted provided that the following conditions
12: * are met:
13: * 1. Redistributions of source code must retain the above copyright
14: * notice, this list of conditions and the following disclaimer.
15: * 2. Redistributions in binary form must reproduce the above copyright
16: * notice, this list of conditions and the following disclaimer in the
17: * documentation and/or other materials provided with the distribution.
18: * 3. Neither the name of the University nor the names of its contributors
19: * may be used to endorse or promote products derived from this software
20: * without specific prior written permission.
21: *
22: * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
23: * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24: * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
25: * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
26: * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
27: * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
28: * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
29: * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
30: * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
31: * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
32: * SUCH DAMAGE.
33: *
34: * from: @(#)nonints.h 8.3 (Berkeley) 3/19/94
35: */
36:
37: /*-
1.1 cgd 38: * Copyright (c) 1989 by Berkeley Softworks
39: * All rights reserved.
40: *
41: * This code is derived from software contributed to Berkeley by
42: * Adam de Boor.
43: *
44: * Redistribution and use in source and binary forms, with or without
45: * modification, are permitted provided that the following conditions
46: * are met:
47: * 1. Redistributions of source code must retain the above copyright
48: * notice, this list of conditions and the following disclaimer.
49: * 2. Redistributions in binary form must reproduce the above copyright
50: * notice, this list of conditions and the following disclaimer in the
51: * documentation and/or other materials provided with the distribution.
52: * 3. All advertising materials mentioning features or use of this software
53: * must display the following acknowledgement:
54: * This product includes software developed by the University of
55: * California, Berkeley and its contributors.
56: * 4. Neither the name of the University nor the names of its contributors
57: * may be used to endorse or promote products derived from this software
58: * without specific prior written permission.
59: *
60: * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
61: * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
62: * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
63: * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
64: * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
65: * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
66: * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
67: * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
68: * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
69: * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
70: * SUCH DAMAGE.
71: *
1.12 christos 72: * from: @(#)nonints.h 8.3 (Berkeley) 3/19/94
1.1 cgd 73: */
1.23 eeh 74:
1.3 cgd 75: /* arch.c */
1.27 wiz 76: ReturnStatus Arch_ParseArchive(char **, Lst, GNode *);
77: void Arch_Touch(GNode *);
78: void Arch_TouchLib(GNode *);
79: time_t Arch_MTime(GNode *);
80: time_t Arch_MemMTime(GNode *);
81: void Arch_FindLib(GNode *, Lst);
82: Boolean Arch_LibOODate(GNode *);
83: void Arch_Init(void);
84: void Arch_End(void);
85: int Arch_IsLib(GNode *);
1.1 cgd 86:
1.3 cgd 87: /* compat.c */
1.54 dsl 88: int CompatRunCommand(void *, void *);
1.27 wiz 89: void Compat_Run(Lst);
1.54 dsl 90: int Compat_Make(void *, void *);
1.3 cgd 91:
92: /* cond.c */
1.56 dsl 93: struct If;
1.68 sjg 94: int Cond_EvalExpression(const struct If *, char *, Boolean *, int, Boolean);
1.27 wiz 95: int Cond_Eval(char *);
1.43 dsl 96: void Cond_restore_depth(unsigned int);
97: unsigned int Cond_save_depth(void);
1.3 cgd 98:
99: /* for.c */
1.27 wiz 100: int For_Eval(char *);
1.50 dsl 101: int For_Accum(char *);
1.30 enami 102: void For_Run(int);
1.3 cgd 103:
1.60 sjg 104: /* job.c */
105: void JobReapChild(pid_t, int, Boolean);
106:
1.3 cgd 107: /* main.c */
1.52 dsl 108: void Main_ParseArgLine(const char *);
1.58 sjg 109: void MakeMode(const char *);
1.27 wiz 110: int main(int, char **);
1.28 christos 111: char *Cmd_Exec(const char *, const char **);
1.64 joerg 112: void Error(const char *, ...) MAKE_ATTR_PRINTFLIKE(1, 2);
113: void Fatal(const char *, ...) MAKE_ATTR_PRINTFLIKE(1, 2) MAKE_ATTR_DEAD;
114: void Punt(const char *, ...) MAKE_ATTR_PRINTFLIKE(1, 2) MAKE_ATTR_DEAD;
115: void DieHorribly(void) MAKE_ATTR_DEAD;
1.54 dsl 116: int PrintAddr(void *, void *);
1.64 joerg 117: void Finish(int) MAKE_ATTR_DEAD;
1.27 wiz 118: int eunlink(const char *);
119: void execError(const char *, const char *);
1.61 sjg 120: char *getTmpdir(void);
1.65 sjg 121: Boolean getBoolean(const char *, Boolean);
1.3 cgd 122:
123: /* parse.c */
1.64 joerg 124: void Parse_Error(int, const char *, ...) MAKE_ATTR_PRINTFLIKE(2, 3);
1.27 wiz 125: Boolean Parse_AnyExport(void);
126: Boolean Parse_IsVar(char *);
127: void Parse_DoVar(char *, GNode *);
128: void Parse_AddIncludeDir(char *);
1.42 dsl 129: void Parse_File(const char *, int);
1.27 wiz 130: void Parse_Init(void);
131: void Parse_End(void);
1.62 dholland 132: void Parse_SetInput(const char *, int, int, char *(*)(void *, size_t *), void *);
1.27 wiz 133: Lst Parse_MainName(void);
1.3 cgd 134:
135: /* str.c */
1.28 christos 136: char *str_concat(const char *, const char *, int);
1.48 christos 137: char **brk_string(const char *, int *, Boolean, char **);
1.28 christos 138: char *Str_FindSubstring(const char *, const char *);
139: int Str_Match(const char *, const char *);
1.48 christos 140: char *Str_SYSVMatch(const char *, const char *, int *len);
1.53 dsl 141: void Str_SYSVSubst(Buffer *, char *, char *, int);
1.3 cgd 142:
143: /* suff.c */
1.27 wiz 144: void Suff_ClearSuffixes(void);
1.67 joerg 145: Boolean Suff_IsTransform(char *);
146: GNode *Suff_AddTransform(char *);
1.54 dsl 147: int Suff_EndTransform(void *, void *);
1.67 joerg 148: void Suff_AddSuffix(char *, GNode **);
1.27 wiz 149: Lst Suff_GetPath(char *);
150: void Suff_DoPaths(void);
151: void Suff_AddInclude(char *);
152: void Suff_AddLib(char *);
153: void Suff_FindDeps(GNode *);
1.33 christos 154: Lst Suff_FindPath(GNode *);
1.67 joerg 155: void Suff_SetNull(char *);
1.27 wiz 156: void Suff_Init(void);
157: void Suff_End(void);
158: void Suff_PrintAll(void);
1.3 cgd 159:
160: /* targ.c */
1.27 wiz 161: void Targ_Init(void);
162: void Targ_End(void);
163: Lst Targ_List(void);
1.28 christos 164: GNode *Targ_NewGN(const char *);
165: GNode *Targ_FindNode(const char *, int);
1.27 wiz 166: Lst Targ_FindList(Lst, int);
167: Boolean Targ_Ignore(GNode *);
168: Boolean Targ_Silent(GNode *);
169: Boolean Targ_Precious(GNode *);
170: void Targ_SetMain(GNode *);
1.54 dsl 171: int Targ_PrintCmd(void *, void *);
172: int Targ_PrintNode(void *, void *);
1.27 wiz 173: char *Targ_FmtTime(time_t);
1.48 christos 174: void Targ_PrintType(int);
1.27 wiz 175: void Targ_PrintGraph(int);
176: void Targ_Propagate(void);
1.41 dsl 177: void Targ_Propagate_Wait(void);
1.3 cgd 178:
179: /* var.c */
1.28 christos 180: void Var_Delete(const char *, GNode *);
181: void Var_Set(const char *, const char *, GNode *, int);
182: void Var_Append(const char *, const char *, GNode *);
183: Boolean Var_Exists(const char *, GNode *);
184: char *Var_Value(const char *, GNode *, char **);
1.70 ! christos 185: char *Var_Parse(const char *, GNode *, Boolean, Boolean, Boolean,
! 186: int *, void **);
! 187: char *Var_Subst(const char *, const char *, GNode *, Boolean, Boolean, Boolean);
1.28 christos 188: char *Var_GetTail(const char *);
189: char *Var_GetHead(const char *);
1.27 wiz 190: void Var_Init(void);
191: void Var_End(void);
192: void Var_Dump(GNode *);
1.44 sjg 193: void Var_ExportVars(void);
194: void Var_Export(char *, int);
1.57 sjg 195: void Var_UnExport(char *);
1.59 sjg 196:
197: /* util.c */
198: void (*bmake_signal(int, void (*)(int)))(int);
CVSweb <webmaster@jp.NetBSD.org>