config.h is platform depend, so it shouldn't be installed by make install.
But what is the best way to deal with the platform depend stuff in the
interface?
For example:
#ifdef HAVE_HASHMAP
# include <hash_map>
typedef std::hash_map<string, int> myTableType;
#else
# include <map>
typedef std::map<string, int> myTableType;
#endif
myTableType container;
another example:
#ifdef _POSIX_C_SOURCE
typedef pthread_t iThreadID;
typedef pthread_t iThreadHandle;
#endif
#ifdef USE_SPROC
typedef pid_t iThreadID;
typedef pid_t iThreadHandle;
#endif
#ifdef WIN32
typedef DWORD iThreadID;
typedef HANDLE iThreadHandle;
#endif
The symbols are defined or not in the config.h, thus I have to include
it in the header and then to install.
The other way is to define a wrapper-class and use pointers to this
class, but this is cumbersomely.
Is there another way to solve this kind of problem?