Max is suggesting we should not reply on old thread. So I'll reply your post on this thread.
Formalizing the unavailability of Core Foundation - #13 by compnerd
Yes. So I just create a CoreFoundation fork and try to maintain a cross-platform solution myself.
After all, what I need is just the handy macros of CF not the implementations of the .c file.
#if !defined(CF_EXTERN_C_BEGIN)
#if defined(__cplusplus)
#define CF_EXTERN_C_BEGIN extern "C" {
#define CF_EXTERN_C_END }
#else
#define CF_EXTERN_C_BEGIN
#define CF_EXTERN_C_END
#endif
#endif
#if TARGET_OS_WIN32
#if defined(__cplusplus)
#define _CF_EXTERN extern "C"
#else
#define _CF_EXTERN extern
#endif
#if defined(_WINDLL)
#if defined(CoreFoundation_EXPORTS) || defined(CF_BUILDING_CF)
#define CF_EXPORT _CF_EXTERN __declspec(dllexport)
#else
#define CF_EXPORT _CF_EXTERN __declspec(dllimport)
#endif
#else
#define CF_EXPORT _CF_EXTERN
#endif
#else
#define CF_EXPORT extern
#endif
cc @compnerd