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
63PXR_NAMESPACE_OPEN_SCOPE
97PXR_NAMESPACE_CLOSE_SCOPE
ARCH_API std::string ArchLibraryError()
Obtain a description of the most recent error that occurred from ArchLibraryOpen.
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.