~ubuntu-branches/ubuntu/karmic/psi/karmic

« back to all changes in this revision

Viewing changes to third-party/cppunit/cppunit/include/cppunit/config/SelectDllLoader.h

  • Committer: Bazaar Package Importer
  • Author(s): Jan Niehusmann
  • Date: 2008-08-28 18:46:52 UTC
  • mfrom: (1.2.4 upstream)
  • Revision ID: james.westby@ubuntu.com-20080828184652-iiik12dl91nq7cdi
Tags: 0.12-2
Uploading to unstable (Closes: Bug#494352)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#ifndef CPPUNIT_CONFIG_SELECTDLLLOADER_H
 
2
#define CPPUNIT_CONFIG_SELECTDLLLOADER_H
 
3
 
 
4
/*! \file
 
5
 * Selects DynamicLibraryManager implementation.
 
6
 *
 
7
 * Don't include this file directly. Include Portability.h instead.
 
8
 */
 
9
 
 
10
/*!
 
11
 * \def CPPUNIT_NO_TESTPLUGIN
 
12
 * \brief If defined, then plug-in related classes and functions will not be compiled.
 
13
 * 
 
14
 * \internal
 
15
 * CPPUNIT_HAVE_WIN32_DLL_LOADER
 
16
 * If defined, Win32 implementation of DynamicLibraryManager will be used.
 
17
 * 
 
18
 * CPPUNIT_HAVE_BEOS_DLL_LOADER
 
19
 * If defined, BeOs implementation of DynamicLibraryManager will be used.
 
20
 * 
 
21
 * CPPUNIT_HAVE_UNIX_DLL_LOADER
 
22
 * If defined, Unix implementation (dlfcn.h) of DynamicLibraryManager will be used.
 
23
 */
 
24
 
 
25
/*!
 
26
 * \def CPPUNIT_PLUGIN_EXPORT
 
27
 * \ingroup WritingTestPlugIn
 
28
 * \brief A macro to export a function from a dynamic library
 
29
 *
 
30
 * This macro export the C function following it from a dynamic library. 
 
31
 * Exporting the function makes it accessible to the DynamicLibraryManager.
 
32
 *
 
33
 * Example of usage:
 
34
 * \code
 
35
 * #include <cppunit/include/plugin/TestPlugIn.h>
 
36
 *
 
37
 * CPPUNIT_PLUGIN_EXPORT CppUnitTestPlugIn *CPPUNIT_PLUGIN_EXPORTED_NAME(void)
 
38
 * {
 
39
 *   ...
 
40
 *   return &myPlugInInterface;
 
41
 * }
 
42
 * \endcode
 
43
 */
 
44
 
 
45
#if !defined(CPPUNIT_NO_TESTPLUGIN)
 
46
 
 
47
// Is WIN32 platform ?
 
48
#if defined(WIN32)
 
49
#define CPPUNIT_HAVE_WIN32_DLL_LOADER 1
 
50
#undef CPPUNIT_PLUGIN_EXPORT
 
51
#define CPPUNIT_PLUGIN_EXPORT extern "C" __declspec(dllexport)
 
52
 
 
53
// Is BeOS platform ?
 
54
#elif defined(__BEOS__)
 
55
#define CPPUNIT_HAVE_BEOS_DLL_LOADER 1
 
56
 
 
57
// Is Unix platform and have shl_load() (hp-ux)
 
58
#elif defined(CPPUNIT_HAVE_SHL_LOAD)
 
59
#define CPPUNIT_HAVE_UNIX_SHL_LOADER 1
 
60
 
 
61
// Is Unix platform and have include <dlfcn.h>
 
62
#elif defined(CPPUNIT_HAVE_LIBDL)
 
63
#define CPPUNIT_HAVE_UNIX_DLL_LOADER 1
 
64
 
 
65
// Otherwise, disable support for DllLoader
 
66
#else
 
67
#define CPPUNIT_NO_TESTPLUGIN 1
 
68
#endif
 
69
 
 
70
#if !defined(CPPUNIT_PLUGIN_EXPORT)
 
71
#define CPPUNIT_PLUGIN_EXPORT extern "C"
 
72
#endif // !defined(CPPUNIT_PLUGIN_EXPORT)
 
73
 
 
74
#endif // !defined(CPPUNIT_NO_TESTPLUGIN)
 
75
 
 
76
#endif // CPPUNIT_CONFIG_SELECTDLLLOADER_H