*
* \version $Id$
*
- * \author Bernardo Innocenti <bernie@develer.com>
+ * \author Bernie Innocenti <bernie@codewiz.org>
*/
#ifndef DEVLIB_OS_H
#define DEVLIB_OS_H
/** Macro to include OS-specific versions of the headers. */
-#define OS_HEADER(module) PP_STRINGIZE(PP_CAT3(module, _, OS_ID).h)
-#define OS_CSOURCE(module) PP_STRINGIZE(PP_CAT3(module, _, OS_ID).c)
+#define OS_HEADER(module) PP_STRINGIZE(emul/PP_CAT3(module, _, OS_ID).h)
+#define OS_CSOURCE(module) PP_STRINGIZE(emul/PP_CAT3(module, _, OS_ID).c)
/*
* OS autodetection (Some systems trigger multiple OS definitions)
// FIXME: Maybe disable Win32 exceptions?
typedef int cpuflags_t;
- #define IRQ_DISABLE /* FIXME */
- #define IRQ_ENABLE /* FIXME */
- #define IRQ_SAVE_DISABLE(old_sigs) /* FIXME */
- #define IRQ_RESTORE(old_sigs) /* FIXME */
+ #define IRQ_DISABLE FIXME
+ #define IRQ_ENABLE FIXME
+ #define IRQ_SAVE_DISABLE(old_sigs) FIXME
+ #define IRQ_RESTORE(old_sigs) FIXME
#else
#define OS_WIN32 0
#define IRQ_ENABLED() \
({ \
- sigset_t sigs; \
- sigprocmask(SIG_SETMASK, NULL, &sigs); \
- sigismember(&sigs, SIGALRM) ? false : true; \
+ sigset_t sigs__; \
+ sigprocmask(SIG_SETMASK, NULL, &sigs__); \
+ sigismember(&sigs__, SIGALRM) ? false : true; \
})
#else
#define OS_DARWIN 0
#endif
+
+#include <cfg/cfg_arch.h> /* For ARCH_QT */
+
/*
* We want Qt and other frameworks to look like OSes because you would
* tipically want their portable abstractions if you're using one of these.
*/
-#if defined(_QT)
+#if defined(_QT) || (defined(ARCH_QT) && (ARCH & ARCH_QT))
#define OS_QT 1
#undef OS_ID
#define OS_ID qt