Mercurial > repos > rliterman > csp2
comparison CSP2/CSP2_env/env-d9b9114564458d9d-741b3de822f2aaca6c6caa4325c4afce/include/ncurses_dll.h @ 69:33d812a61356
planemo upload commit 2e9511a184a1ca667c7be0c6321a36dc4e3d116d
author | jpayne |
---|---|
date | Tue, 18 Mar 2025 17:55:14 -0400 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
67:0e9998148a16 | 69:33d812a61356 |
---|---|
1 /**************************************************************************** | |
2 * Copyright 2018-2020,2023 Thomas E. Dickey * | |
3 * Copyright 2009,2014 Free Software Foundation, Inc. * | |
4 * * | |
5 * Permission is hereby granted, free of charge, to any person obtaining a * | |
6 * copy of this software and associated documentation files (the * | |
7 * "Software"), to deal in the Software without restriction, including * | |
8 * without limitation the rights to use, copy, modify, merge, publish, * | |
9 * distribute, distribute with modifications, sublicense, and/or sell * | |
10 * copies of the Software, and to permit persons to whom the Software is * | |
11 * furnished to do so, subject to the following conditions: * | |
12 * * | |
13 * The above copyright notice and this permission notice shall be included * | |
14 * in all copies or substantial portions of the Software. * | |
15 * * | |
16 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * | |
17 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * | |
18 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * | |
19 * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * | |
20 * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * | |
21 * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * | |
22 * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * | |
23 * * | |
24 * Except as contained in this notice, the name(s) of the above copyright * | |
25 * holders shall not be used in advertising or otherwise to promote the * | |
26 * sale, use or other dealings in this Software without prior written * | |
27 * authorization. * | |
28 ****************************************************************************/ | |
29 /* $Id: ncurses_dll.h.in,v 1.18 2023/05/06 20:12:43 tom Exp $ */ | |
30 | |
31 #ifndef NCURSES_DLL_H_incl | |
32 #define NCURSES_DLL_H_incl 1 | |
33 | |
34 /* | |
35 * MinGW gcc (unlike MSYS2 and Cygwin) should define _WIN32 and possibly _WIN64. | |
36 */ | |
37 #if defined(__MINGW64__) | |
38 | |
39 #ifndef _WIN64 | |
40 #define _WIN64 1 | |
41 #endif | |
42 | |
43 #elif defined(__MINGW32__) | |
44 | |
45 #ifndef _WIN32 | |
46 #define _WIN32 1 | |
47 #endif | |
48 | |
49 /* 2014-08-02 workaround for broken MinGW compiler. | |
50 * Oddly, only TRACE is mapped to trace - the other -D's are okay. | |
51 * suggest TDM as an alternative. | |
52 */ | |
53 #if (__GNUC__ == 4) && (__GNUC_MINOR__ == 8) | |
54 | |
55 #ifdef trace | |
56 #undef trace | |
57 #define TRACE | |
58 #endif | |
59 | |
60 #endif /* broken compiler */ | |
61 | |
62 #endif /* MingW */ | |
63 | |
64 /* | |
65 * For reentrant code, we map the various global variables into SCREEN by | |
66 * using functions to access them. | |
67 */ | |
68 #define NCURSES_PUBLIC_VAR(name) _nc_##name | |
69 | |
70 #if defined(BUILDING_NCURSES) | |
71 # define NCURSES_IMPEXP NCURSES_EXPORT_GENERAL_EXPORT | |
72 #else | |
73 # define NCURSES_IMPEXP NCURSES_EXPORT_GENERAL_IMPORT | |
74 #endif | |
75 | |
76 #define NCURSES_WRAPPED_VAR(type,name) extern NCURSES_IMPEXP type NCURSES_PUBLIC_VAR(name)(void) | |
77 | |
78 #define NCURSES_EXPORT(type) NCURSES_IMPEXP type NCURSES_API | |
79 #define NCURSES_EXPORT_VAR(type) NCURSES_IMPEXP type | |
80 | |
81 /* | |
82 * These symbols hide dllimport/dllexport, for compilers which care about it. | |
83 */ | |
84 #if defined(__CYGWIN__) || (defined(_WIN32) || defined(_WIN64)) | |
85 # if defined(NCURSES_STATIC) /* "static" here only implies "not-a-DLL" */ | |
86 # define NCURSES_EXPORT_GENERAL_IMPORT | |
87 # define NCURSES_EXPORT_GENERAL_EXPORT | |
88 # else | |
89 # define NCURSES_EXPORT_GENERAL_IMPORT __declspec(dllimport) | |
90 # define NCURSES_EXPORT_GENERAL_EXPORT __declspec(dllexport) | |
91 # endif | |
92 # define NCURSES_API __cdecl | |
93 #else | |
94 # define NCURSES_EXPORT_GENERAL_IMPORT | |
95 # if (__GNUC__ >= 4) && !defined(__cplusplus) | |
96 # define NCURSES_EXPORT_GENERAL_EXPORT __attribute__((visibility ("default"))) | |
97 # else | |
98 # define NCURSES_EXPORT_GENERAL_EXPORT | |
99 # endif | |
100 # define NCURSES_API /* FIXME: __attribute__ ((cdecl)) is only available on x86 */ | |
101 #endif | |
102 | |
103 #endif /* NCURSES_DLL_H_incl */ |