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-2018 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 54 typedef 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 #undef NUL 75 #define NUL '\0' 76 77 #define MOD_LOCAL static 78 #define parse_duration option_parse_duration 79 80 #ifdef _MSC_VER 81 #define lo_noreturn __declspec(noreturn) 82 #else 83 #define lo_noreturn noreturn 84 #endif 85 86 #endif /* AUTOGEN_PROJECT_H */ 87 /* end of project.h */ 88