24 #ifndef PXR_BASE_ARCH_LIBRARY_H
25 #define PXR_BASE_ARCH_LIBRARY_H
28 #include "pxr/base/arch/api.h"
32 #if defined(ARCH_OS_WINDOWS)
33 # define ARCH_LIBRARY_LAZY 0
34 # define ARCH_LIBRARY_NOW 0
35 # define ARCH_LIBRARY_LOCAL 0
36 # define ARCH_LIBRARY_GLOBAL 0
37 # define ARCH_LIBRARY_SUFFIX ".dll"
38 # define ARCH_STATIC_LIBRARY_SUFFIX ".lib"
41 # define ARCH_LIBRARY_LAZY RTLD_LAZY
42 # define ARCH_LIBRARY_NOW RTLD_NOW
43 # define ARCH_LIBRARY_LOCAL RTLD_LOCAL
44 # define ARCH_LIBRARY_GLOBAL RTLD_GLOBAL
45 # if defined(ARCH_OS_DARWIN)
46 # define ARCH_LIBRARY_SUFFIX ".dylib"
48 # define ARCH_LIBRARY_SUFFIX ".so"
50 # define ARCH_STATIC_LIBRARY_SUFFIX ".a"
57 #if defined(ARCH_OS_DARWIN)
58 # define ARCH_PLUGIN_SUFFIX ".so"
60 # define ARCH_PLUGIN_SUFFIX ARCH_LIBRARY_SUFFIX
63 PXR_NAMESPACE_OPEN_SCOPE
97 PXR_NAMESPACE_CLOSE_SCOPE
99 #endif // PXR_BASE_ARCH_LIBRARY_H
ARCH_API int ArchLibraryClose(void *handle)
Closes an object opened with ArchLibraryOpen.
ARCH_API void * ArchLibraryGetSymbolAddress(void *handle, const char *name)
Obtain the address of a symbol defined within an object opened with ArchLibraryOpen.
ARCH_API void * ArchLibraryOpen(const std::string &filename, int flag)
library.h Architecture dependent loading and unloading of dynamic libraries.
ARCH_API std::string ArchLibraryError()
Obtain a description of the most recent error that occurred from ArchLibraryOpen. ...