Blame include/cppunit/config/SelectDllLoader.h

Packit 8c9aa0
#ifndef CPPUNIT_CONFIG_SELECTDLLLOADER_H
Packit 8c9aa0
#define CPPUNIT_CONFIG_SELECTDLLLOADER_H
Packit 8c9aa0
Packit 8c9aa0
/*! \file
Packit 8c9aa0
 * Selects DynamicLibraryManager implementation.
Packit 8c9aa0
 *
Packit 8c9aa0
 * Don't include this file directly. Include Portability.h instead.
Packit 8c9aa0
 */
Packit 8c9aa0
Packit 8c9aa0
/*!
Packit 8c9aa0
 * \def CPPUNIT_NO_TESTPLUGIN
Packit 8c9aa0
 * \brief If defined, then plug-in related classes and functions will not be compiled.
Packit 8c9aa0
 * 
Packit 8c9aa0
 * \internal
Packit 8c9aa0
 * CPPUNIT_HAVE_WIN32_DLL_LOADER
Packit 8c9aa0
 * If defined, Win32 implementation of DynamicLibraryManager will be used.
Packit 8c9aa0
 * 
Packit 8c9aa0
 * CPPUNIT_HAVE_UNIX_DLL_LOADER
Packit 8c9aa0
 * If defined, Unix implementation (dlfcn.h) of DynamicLibraryManager will be used.
Packit 8c9aa0
 */
Packit 8c9aa0
Packit 8c9aa0
/*!
Packit 8c9aa0
 * \def CPPUNIT_PLUGIN_EXPORT
Packit 8c9aa0
 * \ingroup WritingTestPlugIn
Packit 8c9aa0
 * \brief A macro to export a function from a dynamic library
Packit 8c9aa0
 *
Packit 8c9aa0
 * This macro export the C function following it from a dynamic library. 
Packit 8c9aa0
 * Exporting the function makes it accessible to the DynamicLibraryManager.
Packit 8c9aa0
 *
Packit 8c9aa0
 * Example of usage:
Packit 8c9aa0
 * \code
Packit 8c9aa0
 * #include <cppunit/include/plugin/TestPlugIn.h>
Packit 8c9aa0
 *
Packit 8c9aa0
 * CPPUNIT_PLUGIN_EXPORT CppUnitTestPlugIn *CPPUNIT_PLUGIN_EXPORTED_NAME(void)
Packit 8c9aa0
 * {
Packit 8c9aa0
 *   ...
Packit 8c9aa0
 *   return &myPlugInInterface;
Packit 8c9aa0
 * }
Packit 8c9aa0
 * \endcode
Packit 8c9aa0
 */
Packit 8c9aa0
Packit 8c9aa0
#if !defined(CPPUNIT_NO_TESTPLUGIN)
Packit 8c9aa0
Packit 8c9aa0
// Is WIN32 platform ?
Packit 8c9aa0
#if defined(WIN32)
Packit 8c9aa0
#define CPPUNIT_HAVE_WIN32_DLL_LOADER 1
Packit 8c9aa0
#undef CPPUNIT_PLUGIN_EXPORT
Packit 8c9aa0
#define CPPUNIT_PLUGIN_EXPORT extern "C" __declspec(dllexport)
Packit 8c9aa0
Packit 8c9aa0
// Is Unix platform and have shl_load() (hp-ux)
Packit 8c9aa0
#elif defined(CPPUNIT_HAVE_SHL_LOAD)
Packit 8c9aa0
#define CPPUNIT_HAVE_UNIX_SHL_LOADER 1
Packit 8c9aa0
Packit 8c9aa0
// Is Unix platform and have include <dlfcn.h>
Packit 8c9aa0
#elif defined(CPPUNIT_HAVE_LIBDL)
Packit 8c9aa0
#define CPPUNIT_HAVE_UNIX_DLL_LOADER 1
Packit 8c9aa0
Packit 8c9aa0
// Otherwise, disable support for DllLoader
Packit 8c9aa0
#else
Packit 8c9aa0
#define CPPUNIT_NO_TESTPLUGIN 1
Packit 8c9aa0
#endif
Packit 8c9aa0
Packit 8c9aa0
#if !defined(CPPUNIT_PLUGIN_EXPORT)
Packit 8c9aa0
#define CPPUNIT_PLUGIN_EXPORT extern "C"
Packit 8c9aa0
#endif // !defined(CPPUNIT_PLUGIN_EXPORT)
Packit 8c9aa0
Packit 8c9aa0
#endif // !defined(CPPUNIT_NO_TESTPLUGIN)
Packit 8c9aa0
Packit 8c9aa0
#endif // CPPUNIT_CONFIG_SELECTDLLLOADER_H