project.h revision 290000
1
2/**
3 * \file project.h
4 *
5 *  This file is part of AutoOpts, a companion to AutoGen.
6 *  AutoOpts is free software.
7 *  AutoOpts is Copyright (C) 1992-2015 by Bruce Korb - all rights reserved
8 *
9 *  AutoOpts is available under any one of two licenses.  The license
10 *  in use must be one of these two and the choice is under the control
11 *  of the user of the license.
12 *
13 *   The GNU Lesser General Public License, version 3 or later
14 *      See the files "COPYING.lgplv3" and "COPYING.gplv3"
15 *
16 *   The Modified Berkeley Software Distribution License
17 *      See the file "COPYING.mbsd"
18 *
19 *  These files have the following sha256 sums:
20 *
21 *  8584710e9b04216a394078dc156b781d0b47e1729104d666658aecef8ee32e95  COPYING.gplv3
22 *  4379e7444a0e2ce2b12dd6f5a52a27a4d02d39d247901d3285c88cf0d37f477b  COPYING.lgplv3
23 *  13aa749a5b0a454917a944ed8fffc530b784f5ead522b1aacaf4ec8aa55a6239  COPYING.mbsd
24 */
25
26#ifndef AUTOGEN_PROJECT_H
27#define AUTOGEN_PROJECT_H
28
29#include "config.h"
30#include "compat/compat.h"
31#include "ag-char-map.h"
32
33/*
34 *  Procedure success codes
35 *
36 *  USAGE:  define procedures to return "tSuccess".  Test their results
37 *          with the SUCCEEDED, FAILED and HADGLITCH macros.
38 *
39 *  Microsoft sticks its nose into user space here, so for Windows' sake,
40 *  make sure all of these are undefined.
41 */
42#undef  SUCCESS
43#undef  FAILURE
44#undef  PROBLEM
45#undef  SUCCEEDED
46#undef  SUCCESSFUL
47#undef  FAILED
48#undef  HADGLITCH
49
50#define SUCCESS  ((tSuccess) 0)
51#define FAILURE  ((tSuccess)-1)
52#define PROBLEM  ((tSuccess) 1)
53
54typedef int tSuccess;
55
56#define SUCCEEDED(p)    ((p) == SUCCESS)
57#define SUCCESSFUL(p)   SUCCEEDED(p)
58#define FAILED(p)       ((p) <  SUCCESS)
59#define HADGLITCH(p)    ((p) >  SUCCESS)
60
61#ifndef STR
62#  define __STR(s)      #s
63#  define STR(s)        __STR(s)
64#endif
65
66#ifdef DEFINING
67#  define VALUE(s)      = s
68#  define MODE
69#else
70#  define VALUE(s)
71#  define MODE extern
72#endif
73
74#define parse_duration option_parse_duration
75
76#endif /* AUTOGEN_PROJECT_H */
77/* end of project.h */
78