From: cherierm Date: Fri, 29 Sep 2006 08:35:08 +0000 (+0000) Subject: Add win32/platform/select_platform_features.h for Windows compatibility. X-Git-Tag: v3.3~2518 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/9fc587b7c117eaf1e706e623597a4c1ade1c93d9?hp=8dcdec139b0bf2540da12afeb39a6d60642cbbb0 Add win32/platform/select_platform_features.h for Windows compatibility. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@2841 48e7efb5-ca39-0410-a469-dd3cf9ba447f --- diff --git a/src/win32/platform/select_platform_features.h b/src/win32/platform/select_platform_features.h new file mode 100644 index 0000000000..406fcf3946 --- /dev/null +++ b/src/win32/platform/select_platform_features.h @@ -0,0 +1,98 @@ +#ifndef __XBT_SELECT_PLATFORM_FEATURES_H__ +#define __XBT_SELECT_PLATFORM_FEATURES_H__ + + +/* select_platform_features.h - platform features selection */ + +/* Copyright (c) 2003, 2004 Cherier Malek. All rights reserved. */ + +/* This program is free software; you can redistribute it and/or modify it + * under the terms of the license (GNU LGPL) which comes with this package. */ + +/* Windows platforms. */ + + +/* + * win32 or win64 (__WIN32 is defined for win32 and win64 applications, __TOS_WIN__ is defined by xlC). +*/ + +/* If the platform is not resolved _XBT_PLATFORM_ID is set to zero. */ +#define _XBT_PLATFORM_ID 0 + + +#if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__) + #undef _XBT_PLATFORM_ID + #define _XBT_WIN32_PLATFORM 1 + #define _XBT_PLATFORM_ID _XBT_WIN32_PLATFORM + #define _XBT_PLATFORM_NAME "Windows 32 bits platform" +/* + * win64. + */ +#elif defined(_WIN64) + #undef _XBT_PLATFORM_ID + #ifdef _XBT_WIN32_PLATFORM + #undef _XBT_WIN32_PLATFORM + #endif + + #define _XBT_PLATFORM_NAME "Windows 64 bits platform" + #define _XBT_WIN64_PLATFORM 2 + #define _XBT_PLATFORM_ID _XBT_WIN64_PLATFORM +/* + * win16. + */ +#elif defined(_WIN16) + #undef _XBT_PLATFORM_ID + #define _XBT_WIN16_PLATFORM 3 + #define _XBT_PLATFORM_NAME "Windows 16 bits platform" + #define _XBT_PLATFORM_ID _XBT_WIN16_PLATFORM +/* + * wince. + */ +#elif defined(UNDER_CE) + #undef _XBT_PLATFORM_ID + #define __XBT_WINCE_PLATFORM 4 + #define _XBT_PLATFORM_ID _XBT_WINCE_PLATFORM + #define _XBT_PLATFORM_NAME "Windows CE bits platform" + +#elif defined(linux) || defined(__linux) || defined(__linux__) +/* linux. */ + #undef _XBT_PLATFORM_ID + #define __XBT_LINUX_PLATFORM 5 + #define _XBT_PLATFORM_ID _XBT_LINUX_PLATFORM + #define _XBT_PLATFORM_NAME "Linux platform" + +#elif defined (_XBT_ASSERT_CONFIG) + // This must come last - generate an error if we don't + // resolve the platform: + #error "Unknown platform - please configure (simgrid.gforge.inria.fr/xbt/libs/config/config.htm#configuring) and report the results to the main simgrid mailing list (simgrid.gforge.inra.fr/more/mailing_lists.htm#main)" +#endif + + +/* Returns true if the platform is resolved, false in the other case. */ +#define _xbt_is_platform_resolved() (_XBT_PLATFORM_ID != 0) + +/* Returns the platform name. */ +#define _xbt_get_platform_name() _XBT_PLATFORM_NAME + +/* Returns the platform id. */ +#define _xbt_get_platform_id() _XBT_PLATFORM_ID + +/* Returns true if the platform is Windows 32 bits. */ +#define _xbt_is_win32() (_XBT_PLATFORM_ID == 1) + +/* Returns true if the platform is Windows 64 bits. */ +#define _xbt_is_win64() (_XBT_PLATFORM_ID == 2) + +/* Returns true if the platform is Windows 16 bits. */ +#define _xbt_is_win16() (_XBT_PLATFORM_ID == 3) + +/* Returns true if the platform is Windows CE. */ +#define _xbt_is_wince() (_XBT_PLATFORM_ID == 4) + +/* Returns true if the platform is linux. */ +#define _xbt_is_linux() (_XBT_PLATFORM_ID == 5) + + + + +#endif /* #define __XBT_SELECT_PLATFORM_FEATURES_H__ */ \ No newline at end of file