7#ifndef PXR_BASE_ARCH_LIBRARY_H
8#define PXR_BASE_ARCH_LIBRARY_H
11#include "pxr/base/arch/api.h"
15#if defined(ARCH_OS_WINDOWS)
16# define ARCH_LIBRARY_LAZY 0
17# define ARCH_LIBRARY_NOW 0
18# define ARCH_LIBRARY_LOCAL 0
19# define ARCH_LIBRARY_GLOBAL 0
20# define ARCH_LIBRARY_SUFFIX ".dll"
21# define ARCH_STATIC_LIBRARY_SUFFIX ".lib"
24# define ARCH_LIBRARY_LAZY RTLD_LAZY
25# define ARCH_LIBRARY_NOW RTLD_NOW
26# define ARCH_LIBRARY_LOCAL RTLD_LOCAL
27# define ARCH_LIBRARY_GLOBAL RTLD_GLOBAL
28# if defined(ARCH_OS_DARWIN)
29# define ARCH_LIBRARY_SUFFIX ".dylib"
31# define ARCH_LIBRARY_SUFFIX ".so"
33# define ARCH_STATIC_LIBRARY_SUFFIX ".a"
40#if defined(ARCH_OS_DARWIN)
41# define ARCH_PLUGIN_SUFFIX ".so"
43# define ARCH_PLUGIN_SUFFIX ARCH_LIBRARY_SUFFIX
46PXR_NAMESPACE_OPEN_SCOPE
80PXR_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.