/** * \file project.h * * This file is part of AutoOpts, a companion to AutoGen. * AutoOpts is free software. * AutoOpts is Copyright (C) 1992-2018 by Bruce Korb - all rights reserved * * AutoOpts is available under any one of two licenses. The license * in use must be one of these two and the choice is under the control * of the user of the license. * * The GNU Lesser General Public License, version 3 or later * See the files "COPYING.lgplv3" and "COPYING.gplv3" * * The Modified Berkeley Software Distribution License * See the file "COPYING.mbsd" * * These files have the following sha256 sums: * * 8584710e9b04216a394078dc156b781d0b47e1729104d666658aecef8ee32e95 COPYING.gplv3 * 4379e7444a0e2ce2b12dd6f5a52a27a4d02d39d247901d3285c88cf0d37f477b COPYING.lgplv3 * 13aa749a5b0a454917a944ed8fffc530b784f5ead522b1aacaf4ec8aa55a6239 COPYING.mbsd */ #ifndef AUTOGEN_PROJECT_H #define AUTOGEN_PROJECT_H #include "config.h" #include "compat/compat.h" #include "ag-char-map.h" /* * Procedure success codes * * USAGE: define procedures to return "tSuccess". Test their results * with the SUCCEEDED, FAILED and HADGLITCH macros. * * Microsoft sticks its nose into user space here, so for Windows' sake, * make sure all of these are undefined. */ #undef SUCCESS #undef FAILURE #undef PROBLEM #undef SUCCEEDED #undef SUCCESSFUL #undef FAILED #undef HADGLITCH #define SUCCESS ((tSuccess) 0) #define FAILURE ((tSuccess)-1) #define PROBLEM ((tSuccess) 1) typedef int tSuccess; #define SUCCEEDED(p) ((p) == SUCCESS) #define SUCCESSFUL(p) SUCCEEDED(p) #define FAILED(p) ((p) < SUCCESS) #define HADGLITCH(p) ((p) > SUCCESS) #ifndef STR # define __STR(s) #s # define STR(s) __STR(s) #endif #ifdef DEFINING # define VALUE(s) = s # define MODE #else # define VALUE(s) # define MODE extern #endif #undef NUL #define NUL '\0' #define MOD_LOCAL static #define parse_duration option_parse_duration #ifdef _MSC_VER #define lo_noreturn __declspec(noreturn) #else #define lo_noreturn noreturn #endif #endif /* AUTOGEN_PROJECT_H */ /* end of project.h */