[BACK]Return to extern.h CVS log [TXT][DIR] Up to [local] / src / usr.bin / make

Annotation of src/usr.bin/make/extern.h, Revision 1.37

1.37    ! espie       1: /*     $OpenPackages$ */
        !             2: /*     $OpenBSD: nonints.h,v 1.7 1998/12/05 00:06:28 espie Exp $       */
1.6       millert     3: /*     $NetBSD: nonints.h,v 1.12 1996/11/06 17:59:19 christos Exp $    */
1.1       deraadt     4:
                      5: /*-
1.6       millert     6:  * Copyright (c) 1988, 1989, 1990, 1993
                      7:  *     The Regents of the University of California.  All rights reserved.
1.1       deraadt     8:  * Copyright (c) 1989 by Berkeley Softworks
                      9:  * All rights reserved.
                     10:  *
                     11:  * This code is derived from software contributed to Berkeley by
                     12:  * Adam de Boor.
                     13:  *
                     14:  * Redistribution and use in source and binary forms, with or without
                     15:  * modification, are permitted provided that the following conditions
                     16:  * are met:
                     17:  * 1. Redistributions of source code must retain the above copyright
                     18:  *    notice, this list of conditions and the following disclaimer.
                     19:  * 2. Redistributions in binary form must reproduce the above copyright
                     20:  *    notice, this list of conditions and the following disclaimer in the
                     21:  *    documentation and/or other materials provided with the distribution.
                     22:  * 3. All advertising materials mentioning features or use of this software
                     23:  *    must display the following acknowledgement:
                     24:  *     This product includes software developed by the University of
                     25:  *     California, Berkeley and its contributors.
                     26:  * 4. Neither the name of the University nor the names of its contributors
                     27:  *    may be used to endorse or promote products derived from this software
                     28:  *    without specific prior written permission.
                     29:  *
                     30:  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
                     31:  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
                     32:  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
                     33:  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
                     34:  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
                     35:  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
                     36:  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
                     37:  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
                     38:  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
                     39:  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
                     40:  * SUCH DAMAGE.
                     41:  *
1.6       millert    42:  *     from: @(#)nonints.h     8.3 (Berkeley) 3/19/94
1.1       deraadt    43:  */
                     44:
                     45: /* arch.c */
1.37    ! espie      46: extern ReturnStatus Arch_ParseArchive(char **, Lst, SymTable *);
        !            47: extern void Arch_Touch(GNode *);
        !            48: extern void Arch_TouchLib(GNode *);
        !            49: extern TIMESTAMP Arch_MTime(GNode *);
        !            50: extern TIMESTAMP Arch_MemMTime(GNode *);
        !            51: extern void Arch_FindLib(GNode *, Lst);
        !            52: extern Boolean Arch_LibOODate(GNode *);
        !            53: extern void Arch_Init(void);
        !            54: extern void Arch_End(void);
        !            55: extern Boolean Arch_IsLib(GNode *);
1.1       deraadt    56:
                     57: /* compat.c */
1.37    ! espie      58: extern void Compat_Run(Lst);
1.1       deraadt    59:
                     60: /* cond.c */
1.37    ! espie      61: extern int Cond_Eval(char *);
        !            62: extern void Cond_End(void);
1.1       deraadt    63:
1.15      espie      64: #include "error.h"
                     65:
1.1       deraadt    66: /* for.c */
1.16      espie      67: typedef struct For_ For;
1.37    ! espie      68: extern For *For_Eval(const char *);
        !            69: extern Boolean For_Accumulate(For *, const char *);
        !            70: extern void For_Run (For *);
1.1       deraadt    71:
                     72: /* main.c */
1.37    ! espie      73: extern void Main_ParseArgLine(char *);
        !            74: extern char *Cmd_Exec(const char *, char **);
        !            75: extern void Error(char *, ...);
        !            76: extern void Fatal(char *, ...);
        !            77: extern void Punt(char *, ...);
        !            78: extern void DieHorribly(void);
        !            79: extern void PrintAddr(void *);
        !            80: extern void Finish(int);
1.8       espie      81:
                     82: /* make.c */
1.37    ! espie      83: extern void Make_TimeStamp(GNode *, GNode *);
        !            84: extern Boolean Make_OODate(GNode *);
        !            85: extern void Make_HandleUse(GNode *, GNode *);
        !            86: extern void Make_Update(GNode *);
        !            87: extern void Make_DoAllVar(GNode *);
        !            88: extern Boolean Make_Run(Lst);
1.1       deraadt    89:
                     90: /* parse.c */
1.37    ! espie      91: extern void Parse_Error(int, char *, ...);
        !            92: extern Boolean Parse_AnyExport(void);
        !            93: extern Boolean Parse_IsVar(char *);
        !            94: extern void Parse_DoVar(const char *, GSymT *);
        !            95: extern void Parse_AddIncludeDir(const char *);
        !            96: extern void Parse_File(char *, FILE *);
        !            97: extern void Parse_Init(void);
        !            98: extern void Parse_End(void);
        !            99: extern void Parse_FromString(char *, unsigned long);
        !           100: extern unsigned long Parse_Getlineno(void);
        !           101: extern const char *Parse_Getfilename(void);
        !           102: extern void Parse_MainName(Lst);
        !           103:
        !           104: /* stats.h */
        !           105: extern void Init_Stats(void);
1.1       deraadt   106:
                    107: /* str.c */
1.37    ! espie     108: extern void str_init(void);
        !           109: extern void str_end(void);
        !           110: extern char *lastchar(const char *, const char *, int);
        !           111: extern char *str_concati(const char *, const char *, const char *, int);
        !           112: #define str_concat(s1, s2, sep) str_concati(s1, s2, strchr(s2, '\0'), sep)
        !           113: extern char **brk_string(const char *, int *, char **);
        !           114: extern const char *iterate_words(const char **);
        !           115: extern Boolean Str_Matchi(const char *, const char *, const char *);
        !           116: #define Str_Match(string, pattern) \
        !           117:        Str_Matchi(string, pattern, strchr(pattern, '\0'))
        !           118: extern const char *Str_SYSVMatch(const char *, const char *, size_t *);
        !           119: extern void Str_SYSVSubst(Buffer, const char *, const char *, size_t);
        !           120: extern char *interval_dup(const char *, const char *);
        !           121: extern char *escape_dup(const char *, const char *, const char *);
1.1       deraadt   122:
                    123: /* suff.c */
1.37    ! espie     124: extern void Suff_ClearSuffixes(void);
        !           125: extern Boolean Suff_IsTransform(const char *);
        !           126: extern GNode *Suff_AddTransform(const char *);
        !           127: extern void Suff_EndTransform(void *);
        !           128: extern void Suff_AddSuffix(char *);
        !           129: extern Lst Suff_GetPath(char *);
        !           130: extern void Suff_DoPaths(void);
        !           131: extern void Suff_AddInclude(char *);
        !           132: extern void Suff_AddLib(char *);
        !           133: extern void Suff_FindDeps(GNode *);
        !           134: extern void Suff_SetNull(char *);
        !           135: extern void Suff_Init(void);
        !           136: extern void Suff_End(void);
        !           137: extern void Suff_PrintAll(void);
1.1       deraadt   138:
                    139: /* targ.c */
1.37    ! espie     140: extern void Targ_Init(void);
        !           141: extern void Targ_End(void);
        !           142: extern GNode *Targ_NewGN(const char *, const char *);
        !           143: extern GNode *Targ_FindNode(const char *, const char *, int);
        !           144: extern void Targ_FindList(Lst, Lst);
        !           145: extern Boolean Targ_Ignore(GNode *);
        !           146: extern Boolean Targ_Silent(GNode *);
        !           147: extern Boolean Targ_Precious(GNode *);
        !           148: extern void Targ_SetMain(GNode *);
        !           149: extern void Targ_PrintCmd(void *);
        !           150: extern char *Targ_FmtTime(TIMESTAMP);
        !           151: extern void Targ_PrintType(int);
        !           152: extern void Targ_PrintGraph(int);
1.1       deraadt   153:
                    154: /* var.c */
1.37    ! espie     155: extern void Var_Delete(const char *);
        !           156: extern void Var_Set_interval(const char *, const char *, const char *,
        !           157:        GSymT *);
        !           158: extern void Varq_Set(int, const char *, GNode *);
        !           159: extern void Var_Append_interval(const char *, const char *,
        !           160:        const char *, GSymT  *);
        !           161: extern void Varq_Append(int, const char *, GNode *);
        !           162: extern char *Var_Value_interval(const char *, const char *);
        !           163: extern char *Varq_Value(int,  GNode *);
        !           164: extern char *Var_Parse(const char *, SymTable *, Boolean, size_t *,
        !           165:        Boolean *);
        !           166: extern size_t Var_ParseSkip(const char *, SymTable *, ReturnStatus *);
        !           167: extern ReturnStatus Var_ParseBuffer(Buffer, const char *, SymTable *,
        !           168:        Boolean, size_t *);
        !           169: extern char *Var_Subst(const char *, SymTable *, Boolean);
        !           170: extern void Var_SubstVar(Buffer, const char *, const char *, const char *);
        !           171: extern void Var_Init(void);
        !           172: extern void Var_End(void);
        !           173: extern void Var_Dump(void);
        !           174: extern void SymTable_Init(SymTable *);
        !           175: extern void SymTable_Destroy(SymTable *);
        !           176: #define Var_Set(n, v, ctxt)    Var_Set_interval(n, NULL, v, ctxt)
        !           177: #define Var_Append(n, v, ctxt) Var_Append_interval(n, NULL, v, ctxt)
        !           178: #define Var_Value(n)   Var_Value_interval(n, NULL)
        !           179: extern void Var_AddCmdline(const char *);
        !           180:
        !           181: /* Used to store temporary names, after $ expansion */
        !           182: struct Name {
        !           183:        const char      *s;
        !           184:        const char      *e;
        !           185:        Boolean         tofree;
        !           186: };
        !           187:
        !           188: extern const char *Var_Name_Get(const char *, struct Name *, SymTable *,
        !           189:     Boolean, const char *(*)(const char *));
        !           190: extern void Var_Name_Free(struct Name *);