1290001Sglebius
2290001Sglebius/**
3290001Sglebius * \file project.h
4290001Sglebius *
5290001Sglebius *  This file is part of AutoOpts, a companion to AutoGen.
6290001Sglebius *  AutoOpts is free software.
7290001Sglebius *  AutoOpts is Copyright (C) 1992-2015 by Bruce Korb - all rights reserved
8290001Sglebius *
9290001Sglebius *  AutoOpts is available under any one of two licenses.  The license
10290001Sglebius *  in use must be one of these two and the choice is under the control
11290001Sglebius *  of the user of the license.
12290001Sglebius *
13290001Sglebius *   The GNU Lesser General Public License, version 3 or later
14290001Sglebius *      See the files "COPYING.lgplv3" and "COPYING.gplv3"
15290001Sglebius *
16290001Sglebius *   The Modified Berkeley Software Distribution License
17290001Sglebius *      See the file "COPYING.mbsd"
18290001Sglebius *
19290001Sglebius *  These files have the following sha256 sums:
20290001Sglebius *
21290001Sglebius *  8584710e9b04216a394078dc156b781d0b47e1729104d666658aecef8ee32e95  COPYING.gplv3
22290001Sglebius *  4379e7444a0e2ce2b12dd6f5a52a27a4d02d39d247901d3285c88cf0d37f477b  COPYING.lgplv3
23290001Sglebius *  13aa749a5b0a454917a944ed8fffc530b784f5ead522b1aacaf4ec8aa55a6239  COPYING.mbsd
24290001Sglebius */
25290001Sglebius
26290001Sglebius#ifndef AUTOGEN_PROJECT_H
27290001Sglebius#define AUTOGEN_PROJECT_H
28290001Sglebius
29290001Sglebius#include "config.h"
30290001Sglebius#include "compat/compat.h"
31290001Sglebius#include "ag-char-map.h"
32290001Sglebius
33290001Sglebius/*
34290001Sglebius *  Procedure success codes
35290001Sglebius *
36290001Sglebius *  USAGE:  define procedures to return "tSuccess".  Test their results
37290001Sglebius *          with the SUCCEEDED, FAILED and HADGLITCH macros.
38290001Sglebius *
39290001Sglebius *  Microsoft sticks its nose into user space here, so for Windows' sake,
40290001Sglebius *  make sure all of these are undefined.
41290001Sglebius */
42290001Sglebius#undef  SUCCESS
43290001Sglebius#undef  FAILURE
44290001Sglebius#undef  PROBLEM
45290001Sglebius#undef  SUCCEEDED
46290001Sglebius#undef  SUCCESSFUL
47290001Sglebius#undef  FAILED
48290001Sglebius#undef  HADGLITCH
49290001Sglebius
50290001Sglebius#define SUCCESS  ((tSuccess) 0)
51290001Sglebius#define FAILURE  ((tSuccess)-1)
52290001Sglebius#define PROBLEM  ((tSuccess) 1)
53290001Sglebius
54290001Sglebiustypedef int tSuccess;
55290001Sglebius
56290001Sglebius#define SUCCEEDED(p)    ((p) == SUCCESS)
57290001Sglebius#define SUCCESSFUL(p)   SUCCEEDED(p)
58290001Sglebius#define FAILED(p)       ((p) <  SUCCESS)
59290001Sglebius#define HADGLITCH(p)    ((p) >  SUCCESS)
60290001Sglebius
61290001Sglebius#ifndef STR
62290001Sglebius#  define __STR(s)      #s
63290001Sglebius#  define STR(s)        __STR(s)
64290001Sglebius#endif
65290001Sglebius
66290001Sglebius#ifdef DEFINING
67290001Sglebius#  define VALUE(s)      = s
68290001Sglebius#  define MODE
69290001Sglebius#else
70290001Sglebius#  define VALUE(s)
71290001Sglebius#  define MODE extern
72290001Sglebius#endif
73290001Sglebius
74290001Sglebius#define parse_duration option_parse_duration
75290001Sglebius
76290001Sglebius#endif /* AUTOGEN_PROJECT_H */
77290001Sglebius/* end of project.h */
78