NCBI C++ ToolKit
gui_export.h
Go to the documentation of this file.

Go to the SVN repository for this file.

1 #ifndef GUI___GUI_EXPORT__H
2 #define GUI___GUI_EXPORT__H
3 
4 /* $Id: gui_export.h 47538 2023-08-11 21:37:05Z ucko $
5  * ===========================================================================
6  *
7  * PUBLIC DOMAIN NOTICE
8  * National Center for Biotechnology Information
9  *
10  * This software/database is a "United States Government Work" under the
11  * terms of the United States Copyright Act. It was written as part of
12  * the author's official duties as a United States Government employee and
13  * thus cannot be copyrighted. This software/database is freely available
14  * to the public for use. The National Library of Medicine and the U.S.
15  * Government have not placed any restriction on its use or reproduction.
16  *
17  * Although all reasonable efforts have been taken to ensure the accuracy
18  * and reliability of the software and data, the NLM and the U.S.
19  * Government do not and cannot warrant the performance or results that
20  * may be obtained by using this software or data. The NLM and the U.S.
21  * Government disclaim all warranties, express or implied, including
22  * warranties of performance, merchantability or fitness for any particular
23  * purpose.
24  *
25  * Please cite the author in any work or product based on this material.
26  *
27  * ===========================================================================
28  *
29  * Author: Mike DiCuccio
30  *
31  */
32 
33 /**
34  * @file gui_export.h
35  *
36  * Defines to provide correct exporting from DLLs in Windows.
37  * These are necessary to compile DLLs with Visual C++ - exports must be
38  * explicitly labeled as such.
39  *
40  */
41 
42 #include <common/ncbi_export.h>
43 
44 
45 /** @addtogroup WinDLL
46  *
47  * @{
48  */
49 
50 #if defined(NCBI_OS_MSWIN) && defined(NCBI_DLL_BUILD)
51 
52 #ifndef _MSC_VER
53 # error "This toolkit is not buildable with a compiler other than MSVC."
54 #endif
55 
56 
57 /*
58  * Dumping ground for Windows-specific stuff
59  */
60 #pragma warning (disable : 4191)
61 
62 
63 /*
64  * -------------------------------------------------
65  * DLL clusters
66  */
67 
68 
69 /*
70  * Definitions for GUI_UTILS.DLL
71  */
72 #ifdef NCBI_GUIUTILS_EXPORTS
73 # define NCBI_GUIOBJUTILS_EXPORTS
74 # define NCBI_GUIOBJCOORDS_EXPORTS
75 # define NCBI_GUIMATH_EXPORTS
76 #endif
77 
78 #ifdef NCBI_GUIOPENGL_EXPORTS
79 # define NCBI_GUIPRINT_EXPORTS
80 #endif
81 
82 
83 /*
84  * Definitions for GUI_WIDGETS.DLL
85  */
86 #ifdef NCBI_GUIWIDGETS_EXPORTS
87 # define NCBI_GUIWIDGETS_WX_EXPORTS
88 # define NCBI_GUIWIDGETS_GL_EXPORTS
89 # define NCBI_GUIWIDGETS_CONFIG_EXPORTS
90 # define NCBI_GUIWIDGETS_DATA_EXPORTS
91 # define NCBI_GUIWIDGETS_LOADERS_EXPORTS
92 # define NCBI_GUIWIDGETS_ALNSCORE_EXPORTS
93 # define NCBI_GUIWIDGETS_FEEDBACK_EXPORTS
94 #endif
95 
96 
97 /*
98  * Definitions for GUI_WIDGETS_ALN.DLL
99  */
100 #ifdef NCBI_GUIWIDGETS_ALN_EXPORTS
101 # define NCBI_GUIWIDGETS_ALNCROSSALN_EXPORTS
102 # define NCBI_GUIWIDGETS_ALNMULTIPLE_EXPORTS
103 # define NCBI_GUIWIDGETS_ALNTABLE_EXPORTS
104 # define NCBI_GUIWIDGETS_HIT_MATRIX_EXPORTS
105 #endif
106 
107 /*
108  * Definitions for GUI_WIDGETS_MISC.DLL
109  */
110 #ifdef NCBI_GUIWIDGETS_MISC_EXPORTS
111 # define NCBI_GUIWIDGETS_PHYLO_TREE_EXPORTS
112 # define NCBI_GUIWIDGETS_OBJECT_LIST_EXPORTS
113 # define NCBI_GUIWIDGETS_TEXT_WIDGET_EXPORTS
114 # define NCBI_GUIWIDGETS_GRID_WIDGET_EXPORTS
115 # define NCBI_GUIWIDGETS_MACRO_EDIT_EXPORTS
116 #endif
117 
118 /*
119  * Definitions for GUI_WIDGETS_SEQ.DLL
120  */
121 #ifdef NCBI_GUIWIDGETS_SEQ_EXPORTS
122 # define NCBI_GUIWIDGETS_EDIT_EXPORTS
123 # define NCBI_GUIWIDGETS_FEATCOMPARE_EXPORTS
124 # define NCBI_GUIWIDGETS_FEATTABLE_EXPORTS
125 # define NCBI_GUIWIDGETS_SEQGRAPHIC_EXPORTS
126 # define NCBI_GUIWIDGETS_SEQTEXT_EXPORTS
127 # define NCBI_GUIWIDGETS_TAXTREE_EXPORTS
128 # define NCBI_GUIWIDGETS_DESKTOP_EXPORTS
129 #endif
130 
131 /*
132  * Definitions for GUI_CORE.DLL
133  */
134 #ifdef NCBI_GUICORE_EXPORTS
135 # define NCBI_GUIFRAMEWORK_EXPORTS
136 #endif
137 
138 
139 
140 /* ------------------------------------------------- */
141 /*
142  * Individual Library Definitions
143  * Please keep alphabetized!
144  */
145 
146 /*
147  * Export specifier for library w_config
148  */
149 #ifdef NCBI_GUIWIDGETS_CONFIG_EXPORTS
150 # define NCBI_GUIWIDGETS_CONFIG_EXPORT __declspec(dllexport)
151 #else
152 # define NCBI_GUIWIDGETS_CONFIG_EXPORT __declspec(dllimport)
153 #endif
154 
155 /*
156  * Export specifier for library gui_config
157  */
158 #ifdef NCBI_GUICONFIG_EXPORTS
159 # define NCBI_GUICONFIG_EXPORT __declspec(dllexport)
160 #else
161 # define NCBI_GUICONFIG_EXPORT __declspec(dllimport)
162 #endif
163 
164 /*
165  * Export specifier for library gui_core
166  */
167 #ifdef NCBI_GUICORE_EXPORTS
168 # define NCBI_GUICORE_EXPORT __declspec(dllexport)
169 #else
170 # define NCBI_GUICORE_EXPORT __declspec(dllimport)
171 #endif
172 
173 
174 /*
175  * Export specifier for library gui_objects
176  */
177 #ifdef NCBI_GUIOBJECTS_EXPORTS
178 # define NCBI_GUIOBJECTS_EXPORT __declspec(dllexport)
179 #else
180 # define NCBI_GUIOBJECTS_EXPORT __declspec(dllimport)
181 #endif
182 
183 
184 /*
185  * Export specifier for library gui_graph
186  */
187 #ifdef NCBI_GUIGRAPH_EXPORTS
188 # define NCBI_GUIGRAPH_EXPORT __declspec(dllexport)
189 #else
190 # define NCBI_GUIGRAPH_EXPORT __declspec(dllimport)
191 #endif
192 
193 /*
194  * Export specifier for library gui_objutils
195  */
196 #ifdef NCBI_GUIOBJUTILS_EXPORTS
197 # define NCBI_GUIOBJUTILS_EXPORT __declspec(dllexport)
198 #else
199 # define NCBI_GUIOBJUTILS_EXPORT __declspec(dllimport)
200 #endif
201 
202 /*
203  * Export specifier for library gui_objutils
204  */
205 #ifdef NCBI_GUIOBJCOORDS_EXPORTS
206 # define NCBI_GUIOBJCOORDS_EXPORT __declspec(dllexport)
207 #else
208 # define NCBI_GUIOBJCOORDS_EXPORT __declspec(dllimport)
209 #endif
210 
211 /*
212  * Export specifier for library gui_opengl
213  */
214 #ifdef NCBI_GUIOPENGL_EXPORTS
215 # define NCBI_GUIOPENGL_EXPORT __declspec(dllexport)
216 #else
217 # define NCBI_GUIOPENGL_EXPORT __declspec(dllimport)
218 #endif
219 
220 /*
221  * Export specifier for library gui_print
222  */
223 #ifdef NCBI_GUIPRINT_EXPORTS
224 # define NCBI_GUIPRINT_EXPORT __declspec(dllexport)
225 #else
226 # define NCBI_GUIPRINT_EXPORT __declspec(dllimport)
227 #endif
228 
229 /*
230  * Export specifier for library gui_utils
231  */
232 #ifdef NCBI_GUIUTILS_EXPORTS
233 # define NCBI_GUIUTILS_EXPORT __declspec(dllexport)
234 #else
235 # define NCBI_GUIUTILS_EXPORT __declspec(dllimport)
236 #endif
237 
238 /*
239  * Export specifier for library w_seq
240  */
241 #ifdef NCBI_GUIWIDGETS_SEQ_EXPORTS
242 # define NCBI_GUIWIDGETS_SEQ_EXPORT __declspec(dllexport)
243 #else
244 # define NCBI_GUIWIDGETS_SEQ_EXPORT __declspec(dllimport)
245 #endif
246 
247 /*
248  * Export specifier for library w_seqtext
249  */
250 #ifdef NCBI_GUIWIDGETS_SEQTEXT_EXPORTS
251 # define NCBI_GUIWIDGETS_SEQTEXT_EXPORT __declspec(dllexport)
252 #else
253 # define NCBI_GUIWIDGETS_SEQTEXT_EXPORT __declspec(dllimport)
254 #endif
255 
256 /*
257 * Export specifier for library w_seq_desktop
258 */
259 #ifdef NCBI_GUIWIDGETS_DESKTOP_EXPORTS
260 # define NCBI_GUIWIDGETS_DESKTOP_EXPORT __declspec(dllexport)
261 #else
262 # define NCBI_GUIWIDGETS_DESKTOP_EXPORT __declspec(dllimport)
263 #endif
264 
265 /*
266  * Export specifier for library w_feat_compare
267  */
268 #ifdef NCBI_GUIWIDGETS_FEATCOMPARE_EXPORTS
269 # define NCBI_GUIWIDGETS_FEATCOMPARE_EXPORT __declspec(dllexport)
270 #else
271 # define NCBI_GUIWIDGETS_FEATCOMPARE_EXPORT __declspec(dllimport)
272 #endif
273 
274 /*
275  * Export specifier for library w_feattable
276  */
277 #ifdef NCBI_GUIWIDGETS_FEATTABLE_EXPORTS
278 # define NCBI_GUIWIDGETS_FEATTABLE_EXPORT __declspec(dllexport)
279 #else
280 # define NCBI_GUIWIDGETS_FEATTABLE_EXPORT __declspec(dllimport)
281 #endif
282 
283 /*
284  * Export specifier for library w_data
285  */
286 #ifdef NCBI_GUIWIDGETS_DATA_EXPORTS
287 # define NCBI_GUIWIDGETS_DATA_EXPORT __declspec(dllexport)
288 #else
289 # define NCBI_GUIWIDGETS_DATA_EXPORT __declspec(dllimport)
290 #endif
291 
292 /*
293  * Export specifier for library w_loaders
294  */
295 #ifdef NCBI_GUIWIDGETS_LOADERS_EXPORTS
296 # define NCBI_GUIWIDGETS_LOADERS_EXPORT __declspec(dllexport)
297 #else
298 # define NCBI_GUIWIDGETS_LOADERS_EXPORT __declspec(dllimport)
299 #endif
300 
301 /*
302  * Export specifier for library w_alncrossaln
303  */
304 #ifdef NCBI_GUIWIDGETS_ALNCROSSALN_EXPORTS
305 # define NCBI_GUIWIDGETS_ALNCROSSALN_EXPORT __declspec(dllexport)
306 #else
307 # define NCBI_GUIWIDGETS_ALNCROSSALN_EXPORT __declspec(dllimport)
308 #endif
309 
310 /*
311  * Export specifier for library w_alnmultiple
312  */
313 #ifdef NCBI_GUIWIDGETS_ALNMULTIPLE_EXPORTS
314 # define NCBI_GUIWIDGETS_ALNMULTIPLE_EXPORT __declspec(dllexport)
315 #else
316 # define NCBI_GUIWIDGETS_ALNMULTIPLE_EXPORT __declspec(dllimport)
317 #endif
318 
319 /*
320  * Export specifier for library w_alnscore
321  */
322 #ifdef NCBI_GUIWIDGETS_ALNSCORE_EXPORTS
323 # define NCBI_GUIWIDGETS_ALNSCORE_EXPORT __declspec(dllexport)
324 #else
325 # define NCBI_GUIWIDGETS_ALNSCORE_EXPORT __declspec(dllimport)
326 #endif
327 
328 /*
329  * Export specifier for library w_alntable
330  */
331 #ifdef NCBI_GUIWIDGETS_ALNTABLE_EXPORTS
332 # define NCBI_GUIWIDGETS_ALNTABLE_EXPORT __declspec(dllexport)
333 #else
334 # define NCBI_GUIWIDGETS_ALNTABLE_EXPORT __declspec(dllimport)
335 #endif
336 
337 /*
338  * Export specifier for library w_wx
339  */
340 #ifdef NCBI_GUIWIDGETS_WX_EXPORTS
341 # define NCBI_GUIWIDGETS_WX_EXPORT __declspec(dllexport)
342 #else
343 # define NCBI_GUIWIDGETS_WX_EXPORT __declspec(dllimport)
344 #endif
345 
346 /*
347  * Export specifier for library w_gl
348  */
349 #ifdef NCBI_GUIWIDGETS_GL_EXPORTS
350 # define NCBI_GUIWIDGETS_GL_EXPORT __declspec(dllexport)
351 #else
352 # define NCBI_GUIWIDGETS_GL_EXPORT __declspec(dllimport)
353 #endif
354 
355 /*
356  * Export specifier for library w_hitmatrix
357  */
358 #ifdef NCBI_GUIWIDGETS_HIT_MATRIX_EXPORTS
359 # define NCBI_GUIWIDGETS_HIT_MATRIX_EXPORT __declspec(dllexport)
360 #else
361 # define NCBI_GUIWIDGETS_HIT_MATRIX_EXPORT __declspec(dllimport)
362 #endif
363 
364 /*
365  * Export specifier for library w_phylo_tree
366  */
367 #ifdef NCBI_GUIWIDGETS_PHYLO_TREE_EXPORTS
368 # define NCBI_GUIWIDGETS_PHYLO_TREE_EXPORT __declspec(dllexport)
369 #else
370 # define NCBI_GUIWIDGETS_PHYLO_TREE_EXPORT __declspec(dllimport)
371 #endif
372 
373 /*
374  * Export specifier for library w_seqgraphic
375  */
376 #ifdef NCBI_GUIWIDGETS_SEQGRAPHIC_EXPORTS
377 # define NCBI_GUIWIDGETS_SEQGRAPHIC_EXPORT __declspec(dllexport)
378 #else
379 # define NCBI_GUIWIDGETS_SEQGRAPHIC_EXPORT __declspec(dllimport)
380 #endif
381 
382 /*
383  * Export specifier for library w_seq
384  */
385 #ifdef NCBI_GUIWIDGETS_SEQ_EXPORTS
386 # define NCBI_GUIWIDGETS_SEQ_EXPORT __declspec(dllexport)
387 #else
388 # define NCBI_GUIWIDGETS_SEQ_EXPORT __declspec(dllimport)
389 #endif
390 
391 /*
392  * Export specifier for library w_snp
393  */
394 #ifdef NCBI_GUIWIDGETS_SNP_EXPORTS
395 # define NCBI_GUIWIDGETS_SNP_EXPORT __declspec(dllexport)
396 #else
397 # define NCBI_GUIWIDGETS_SNP_EXPORT __declspec(dllimport)
398 #endif
399 
400 /*
401  * Export specifier for library w_taxtree
402  */
403 #ifdef NCBI_GUIWIDGETS_TAXTREE_EXPORTS
404 # define NCBI_GUIWIDGETS_TAXTREE_EXPORT __declspec(dllexport)
405 #else
406 # define NCBI_GUIWIDGETS_TAXTREE_EXPORT __declspec(dllimport)
407 #endif
408 
409 /*
410  * Export specifier for library w_object_list
411  */
412 #ifdef NCBI_GUIWIDGETS_OBJECT_LIST_EXPORTS
413 # define NCBI_GUIWIDGETS_OBJECT_LIST_EXPORT __declspec(dllexport)
414 #else
415 # define NCBI_GUIWIDGETS_OBJECT_LIST_EXPORT __declspec(dllimport)
416 #endif
417 
418 /*
419  * Export specifier for library w_text_widget
420  */
421 #ifdef NCBI_GUIWIDGETS_TEXT_WIDGET_EXPORTS
422 # define NCBI_GUIWIDGETS_TEXT_WIDGET_EXPORT __declspec(dllexport)
423 #else
424 # define NCBI_GUIWIDGETS_TEXT_WIDGET_EXPORT __declspec(dllimport)
425 #endif
426 
427 /*
428  * Export specifier for library w_grid_widget
429  */
430 #ifdef NCBI_GUIWIDGETS_GRID_WIDGET_EXPORTS
431 # define NCBI_GUIWIDGETS_GRID_WIDGET_EXPORT __declspec(dllexport)
432 #else
433 # define NCBI_GUIWIDGETS_GRID_WIDGET_EXPORT __declspec(dllimport)
434 #endif
435 
436 /*
437  * Export specifier for library w_macro_edit
438  */
439 #ifdef NCBI_GUIWIDGETS_MACRO_EDIT_EXPORTS
440 # define NCBI_GUIWIDGETS_MACRO_EDIT_EXPORT __declspec(dllexport)
441 #else
442 # define NCBI_GUIWIDGETS_MACRO_EDIT_EXPORT __declspec(dllimport)
443 #endif
444 
445 /*
446  * Export specifier for library w_edit
447  */
448 #ifdef NCBI_GUIWIDGETS_EDIT_EXPORTS
449 # define NCBI_GUIWIDGETS_EDIT_EXPORT __declspec(dllexport)
450 #else
451 # define NCBI_GUIWIDGETS_EDIT_EXPORT __declspec(dllimport)
452 #endif
453 
454 /*
455  * Export specifier for library gui_pkg_sequence_edit
456  */
457 
458 #ifdef NCBI_GUIPKG_SEQUENCE_EDIT_EXPORTS
459 # define NCBI_GUIPKG_SEQUENCE_EDIT_EXPORT __declspec(dllexport)
460 #else
461 # define NCBI_GUIPKG_SEQUENCE_EDIT_EXPORT __declspec(dllimport)
462 #endif
463 
464 
465 /*
466  * Export specifier for library gui_services
467  */
468 #ifdef NCBI_GUISERVICES_EXPORTS
469 # define NCBI_GUISERVICES_EXPORT __declspec(dllexport)
470 #else
471 # define NCBI_GUISERVICES_EXPORT __declspec(dllimport)
472 #endif
473 
474 /*
475  * Export specifier for library gui_framework
476  */
477 #ifdef NCBI_GUIFRAMEWORK_EXPORTS
478 # define NCBI_GUIFRAMEWORK_EXPORT __declspec(dllexport)
479 #else
480 # define NCBI_GUIFRAMEWORK_EXPORT __declspec(dllimport)
481 #endif
482 
483 /*
484  * Export specifier for library gui_view_align
485  */
486 #ifdef NCBI_GUIVIEW_ALIGN_EXPORTS
487 # define NCBI_GUIVIEW_ALIGN_EXPORT __declspec(dllexport)
488 #else
489 # define NCBI_GUIVIEW_ALIGN_EXPORT __declspec(dllimport)
490 #endif
491 
492 /*
493 * Export specifier for library w_feedback
494 */
495 #ifdef NCBI_GUIWIDGETS_FEEDBACK_EXPORTS
496 # define NCBI_GUIWIDGETS_FEEDBACK_EXPORT __declspec(dllexport)
497 #else
498 # define NCBI_GUIWIDGETS_FEEDBACK_EXPORT __declspec(dllimport)
499 #endif
500 
501 #else /* !defined(NCBI_OS_MSWIN) || !defined(NCBI_DLL_BUILD) */
502 
503 /*
504  * NULL operations for other cases
505  */
506 
507 # define NCBI_GUICONFIG_EXPORT
508 # define NCBI_GUICORE_EXPORT
509 # define NCBI_GUIFRAMEWORK_EXPORT
510 # define NCBI_GUIGRAPH_EXPORT
511 # define NCBI_GUIOBJECTS_EXPORT
512 # define NCBI_GUIOBJUTILS_EXPORT
513 # define NCBI_GUIOBJCOORDS_EXPORT
514 # define NCBI_GUIOPENGL_EXPORT
515 # define NCBI_GUIPKG_SEQUENCE_EDIT_EXPORT
516 # define NCBI_GUIPRINT_EXPORT
517 # define NCBI_GUISERVICES_EXPORT
518 # define NCBI_GUIUTILS_EXPORT
519 # define NCBI_GUIWIDGETS_ALNCROSSALN_EXPORT
520 # define NCBI_GUIWIDGETS_ALNMULTIPLE_EXPORT
521 # define NCBI_GUIWIDGETS_ALNSCORE_EXPORT
522 # define NCBI_GUIWIDGETS_ALNTABLE_EXPORT
523 # define NCBI_GUIWIDGETS_CONFIG_EXPORT
524 # define NCBI_GUIWIDGETS_DATA_EXPORT
525 # define NCBI_GUIWIDGETS_LOADERS_EXPORT
526 # define NCBI_GUIWIDGETS_EDIT_EXPORT
527 # define NCBI_GUIWIDGETS_FEATCOMPARE_EXPORT
528 # define NCBI_GUIWIDGETS_FEATTABLE_EXPORT
529 # define NCBI_GUIWIDGETS_GL_EXPORT
530 # define NCBI_GUIWIDGETS_HIT_MATRIX_EXPORT
531 # define NCBI_GUIWIDGETS_OBJECT_LIST_EXPORT
532 # define NCBI_GUIWIDGETS_TEXT_WIDGET_EXPORT
533 # define NCBI_GUIWIDGETS_GRID_WIDGET_EXPORT
534 # define NCBI_GUIWIDGETS_MACRO_EDIT_EXPORT
535 # define NCBI_GUIWIDGETS_PHYLO_TREE_EXPORT
536 # define NCBI_GUIWIDGETS_SEQGRAPHIC_EXPORT
537 # define NCBI_GUIWIDGETS_SEQTREE_EXPORT
538 # define NCBI_GUIWIDGETS_SEQTEXT_EXPORT
539 # define NCBI_GUIWIDGETS_SEQ_EXPORT
540 # define NCBI_GUIWIDGETS_SNP_EXPORT
541 # define NCBI_GUIWIDGETS_TAXTREE_EXPORT
542 # define NCBI_GUIWIDGETS_DESKTOP_EXPORT
543 # define NCBI_GUIWIDGETS_WX_EXPORT
544 # define NCBI_GUIVIEW_ALIGN_EXPORT
545 # define NCBI_GUIWIDGETS_FEEDBACK_EXPORT
546 
547 #endif
548 
549 
550 /* @} */
551 
552 #endif /* GUI___GUI_EXPORT__H */
Defines to provide correct exporting from DLLs in some configurations.
Modified on Wed Sep 04 15:03:17 2024 by modify_doxy.py rev. 669887