MAK RTIspy API Documentation for HLA 4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
SpecificConfig.h
Go to the documentation of this file.
1 #pragma once
2 /***********************************************************************
3  The IEEE hereby grants a general, royalty-free license to copy, distribute,
4  display and make derivative works from this material, for all purposes,
5  provided that any use of the material contains the following
6  attribution: "Reprinted with permission from IEEE 1516.1(TM)-2025".
7  Should you require additional information, contact the Manager, Standards
8  Intellectual Property, IEEE Standards Association (stds-ipr@ieee.org).
9 ***********************************************************************/
10 
11 // Purpose: This file contains definitions that are used to isolate
12 // platform-specific elements of the API. It is not implementation-specific.
13 
14 //
15 // The following macros control import and export of library symbols:
16 //
17 // STATIC_RTI - Shall be defined when building librti as a static library
18 // or when building a federate that wants to link to it statically.
19 // STATIC_FEDTIME - Shall be defined when building libfedtime as a static library
20 // or when building a federate that wants to link to it statically.
21 // STATIC_AUTHORIZER - Shall be defined when building libauthorizer as a static library
22 // or when building a federate that wants to link to it statically.
23 //
24 // For internal RTI development on Windows only:
25 //
26 // BUILDING_RTI - Shall be defined when compiling librti as a DLL.
27 // BUILDING_FEDTIME - Shall be defined when building libfedtime as a DLL.
28 // BUILDING_AUTHORIZER - Shall be defined when building libauthorizer as a DLL.
29 //
30 
31 #if defined(_MSC_VER) && defined(RTI_DISABLE_WARNINGS)
32 // disable warnings about a "dllexport" class using a regular class
33  #pragma warning(disable: 4251)
34 #endif
35 
36 #if defined(STATIC_RTI)
37  #define RTI_EXPORT
38 #elif defined(_WIN32) || defined(__CYGWIN__)
39  #if defined(BUILDING_RTI)
40  #define RTI_EXPORT __declspec(dllexport)
41  #else
42  #define RTI_EXPORT __declspec(dllimport)
43  #endif
44 #else
45  #define RTI_EXPORT __attribute__((visibility ("default")))
46 #endif
47 
48 #if defined(STATIC_FEDTIME)
49  #define RTI_EXPORT_FEDTIME
50 #elif defined(_WIN32) || defined(__CYGWIN__)
51  #if defined(BUILDING_FEDTIME)
52  #define RTI_EXPORT_FEDTIME __declspec(dllexport)
53  #else
54  #define RTI_EXPORT_FEDTIME __declspec(dllimport)
55  #endif
56 #else
57  #define RTI_EXPORT_FEDTIME __attribute__((visibility ("default")))
58 #endif
59 
60 #if defined(STATIC_AUTHORIZER)
61  #define RTI_EXPORT_AUTHORIZER
62 #elif defined(_WIN32) || defined(__CYGWIN__)
63  #if defined(BUILDING_AUTHORIZER)
64  #define RTI_EXPORT_AUTHORIZER __declspec(dllexport)
65  #else
66  #define RTI_EXPORT_AUTHORIZER __declspec(dllimport)
67  #endif
68 #else
69  #define RTI_EXPORT_AUTHORIZER __attribute__((visibility ("default")))
70 #endif
71 

Document ID: Generated on Sun Jul 20 16:15:30 EDT 2025 from SVN revision 277985
Copyright © 2005-2025 MAK Technologies Inc. All Rights Reserved (www.mak.com)