message(" -- CMAKE_BUILD_TOOL ${CMAKE_BUILD_TOOL}")
message(" -- LINKER ${CMAKE_LINKER}")
message(" -- CMAKE_GENERATOR ${CMAKE_GENERATOR}")
- message(" -- INCLUDES ${INCLUDES}\n\n")
- set(__STRICT_ANSI__ 1)
- set(_MSC_VER 1)
- set(_XBT_WIN32 1)
+ message(" -- INCLUDES ${INCLUDES}")
+ message(" -- BORLAND ${BORLAND}")
+ message(" -- VISUALC ${MSVC}")
+ message(" -- GNUC ${CMAKE_COMPILER_IS_GNUCC}\n\n")
if(BORLAND) ### BORLAND COMPILER
set(__BORLANDC__ 1)
set(_XBT_BORLANDC_COMPILER 1)
endif(BORLAND)
- if(MSVC_VERSION) ### MicroSoftVisualC COMPILER
+
+ if(MSVC) ### MicroSoftVisualC COMPILER
set(__VISUALC__ 1)
set(_XBT_VISUALC_COMPILER 1)
- endif(MSVC_VERSION)
+ set(_MSC_VER 1)
+ set(__STRICT_ANSI__ 1)
+ set(_M_IX86 1)
+ endif(MSVC)
+
+ if(CMAKE_COMPILER_IS_GNUCC)
+ set(__GNUC__ 1)
+ endif(CMAKE_COMPILER_IS_GNUCC)
+
if(ARCH_32_BITS) ### Arch 32bits
- set(_WIN32 1)
+ set(_WIN32 1)
else(ARCH_32_BITS) ### Arch 64bits
- set(_WIN64 1)
+ set(_WIN64 1)
endif(ARCH_32_BITS)
+
+ set(_XBT_WIN32 1)
endif(WIN32)
add_definitions (${INCLUDES})
### Make Libs and Exes
if(WIN32)
-include(${PROJECT_DIRECTORY}/buildtools/Cmake/MakeExeLibWin.cmake)
+ include(${PROJECT_DIRECTORY}/buildtools/Cmake/MakeExeLibWin.cmake)
else(WIN32)
-include(${PROJECT_DIRECTORY}/buildtools/Cmake/MakeExeLib.cmake)
+ include(${PROJECT_DIRECTORY}/buildtools/Cmake/MakeExeLib.cmake)
endif(WIN32)
### Build the doc
--- /dev/null
+echo off\r
+set CC=C:\Dev-Cpp\bin\gcc\r
+set CXX=C:\Dev-Cpp\bin\g++\r
+\r
+set INCLUDE=C:\Dev-Cpp\include;C:\Program Files\Microsoft SDKs\Windows\v7.0A\Include\r
+set LIB=C:\Dev-Cpp\lib;C:\Program Files\Microsoft SDKs\Windows\v7.0A\Lib\r
+\r
+set RC=C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin\RC\r
+\r
+set Path=%Path%;C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin\r
+set Path=%Path%;C:\Program Files\Microsoft SDKs\Windows\v7.0A\Lib\r
+set Path=%Path%;C:\Program Files\Microsoft SDKs\Windows\v7.0A\Include\r
+\r
+set Path=%Path%;C:\Borland\BCC55\r
+set Path=%Path%;C:\Dev-Cpp\bin
\ No newline at end of file
--- /dev/null
+echo off\r
+set CC=C:\Borland\BCC55\Bin\bcc32\r
+set CXX=C:\Borland\BCC55\Bin\bcc32\r
+set INCLUDE=C:\Borland\BCC55\Include;C:\Program Files\Microsoft SDKs\Windows\v7.0A\Include\r
+set LIB=C:\Borland\BCC55\Lib;C:\Program Files\Microsoft SDKs\Windows\v7.0A\Lib\r
+set RC=C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin\RC\r
+set Path=%Path%;C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin\r
+set Path=%Path%;C:\Program Files\Microsoft SDKs\Windows\v7.0A\Lib\r
+set Path=%Path%;C:\Program Files\Microsoft SDKs\Windows\v7.0A\Include\r
+set Path=%Path%;C:\Borland\BCC55\r
+set Path=%Path%;C:\Borland\BCC55\Bin
\ No newline at end of file
set(mcsc_flags "-D_XOPEN_SOURCE")
endif(CMAKE_SYSTEM_NAME MATCHES "Darwin")
+if(WIN32)
+ if(__VISUALC__)
+ set(mcsc_flags "/D_XBT_WIN32 /I${PROJECT_DIRECTORY}/include/xbt /I${PROJECT_DIRECTORY}/src/xbt")
+ endif(__VISUALC__)
+ if(__GNUC__)
+ set(mcsc_flags "-D_XBT_WIN32 -I${PROJECT_DIRECTORY}/include/xbt -I${PROJECT_DIRECTORY}/src/xbt")
+ endif(__GNUC__)
+endif(WIN32)
+
try_run(RUN_mcsc_VAR COMPILE_mcsc_VAR
${PROJECT_DIRECTORY}
${PROJECT_DIRECTORY}/buildtools/Cmake/test_prog/prog_AC_CHECK_MCSC.c
COMPILE_DEFINITIONS "${mcsc_flags}"
+ OUTPUT_VARIABLE var_compil
)
-
-if(EXISTS "${simgrid_BINARY_DIR}/conftestval")
+
+if(EXISTS "${simgrid_BINARY_DIR}/conftestval" AND COMPILE_mcsc_VAR)
file(READ "${simgrid_BINARY_DIR}/conftestval" mcsc)
STRING(REPLACE "\n" "" mcsc "${mcsc}")
if(mcsc)
elseif(mcsc)
set(mcsc "no")
endif(mcsc)
-else(EXISTS "${simgrid_BINARY_DIR}/conftestval")
+else(EXISTS "${simgrid_BINARY_DIR}/conftestval" AND COMPILE_mcsc_VAR)
set(mcsc "no")
-endif(EXISTS "${simgrid_BINARY_DIR}/conftestval")
+endif(EXISTS "${simgrid_BINARY_DIR}/conftestval" AND COMPILE_mcsc_VAR)
if(mcsc MATCHES "no" AND pthread)
if(HAVE_WINDOWS_H)
set(makecontext_CPPFLAGS_2 "-DOSX")
endif(CMAKE_SYSTEM_NAME MATCHES "Darwin")
- if(WIN32)
- set(makecontext_CPPFLAGS_2 "-D_XBT_WIN32 ${INCLUDES}")
- endif(WIN32)
+ if(WIN32)
+ if(__VISUALC__)
+ set(makecontext_CPPFLAGS "/DTEST_makecontext")
+ set(makecontext_CPPFLAGS_2 "/D_XBT_WIN32 /I${PROJECT_DIRECTORY}/include/xbt /I${PROJECT_DIRECTORY}/src/xbt")
+ endif(__VISUALC__)
+ if(__GNUC__)
+ set(makecontext_CPPFLAGS "-DTEST_makecontext")
+ set(makecontext_CPPFLAGS_2 "-D_XBT_WIN32 -I${PROJECT_DIRECTORY}/include/xbt -I${PROJECT_DIRECTORY}/src/xbt")
+ endif(__GNUC__)
+ endif(WIN32)
try_run(RUN_makecontext_VAR COMPILE_makecontext_VAR
${PROJECT_DIRECTORY}
string(REPLACE "," "" makecontext_size "${MAKECONTEXT_SIZE}")
set(pth_skaddr_makecontext "#define pth_skaddr_makecontext(skaddr,sksize) (${makecontext_addr})")
set(pth_sksize_makecontext "#define pth_sksize_makecontext(skaddr,sksize) (${makecontext_size})")
-
endif(HAVE_MAKECONTEXT OR WIN32)
#--------------------------------------------------------------------------------------------------
if(NOT COMPILE_RESULT_VAR)
SET(need_getline "#define SIMGRID_NEED_GETLINE 1")
+SET(SIMGRID_NEED_GETLINE 1)
else(NOT COMPILE_RESULT_VAR)
SET(need_getline "")
+SET(SIMGRID_NEED_GETLINE 0)
endif(NOT COMPILE_RESULT_VAR)
### check for a working snprintf
### check for asprintf function familly
if(HAVE_ASPRINTF)
- SET(need_asprintf "")
+ SET(simgrid_need_asprintf "")
+ SET(NEED_ASPRINTF 0)
else(HAVE_ASPRINTF)
- SET(need_asprintf "#define SIMGRID_NEED_ASPRINTF 1")
+ SET(simgrid_need_asprintf "#define SIMGRID_NEED_ASPRINTF 1")
+ SET(NEED_ASPRINTF 1)
endif(HAVE_ASPRINTF)
if(HAVE_VASPRINTF)
- SET(need_vasprintf "")
+ SET(simgrid_need_vasprintf "")
+ SET(NEED_VASPRINTF 0)
else(HAVE_VASPRINTF)
- SET(need_vasprintf "#define SIMGRID_NEED_VASPRINTF 1")
+ SET(simgrid_need_vasprintf "#define SIMGRID_NEED_VASPRINTF 1")
+ SET(NEED_VASPRINTF 1)
endif(HAVE_VASPRINTF)
### check for addr2line
set(warnCFLAGS "")
set(optCFLAGS "")
-if(NOT WIN32)
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}-g3 ${custom_flags}")
-endif(NOT WIN32)
+if(NOT __VISUALC__ AND NOT __BORLANDC__)
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}-g3")
+else(NOT __VISUALC__ AND NOT __BORLANDC__)
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}/Zi")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}/Zi")
+ set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS}/DEBUG")
+endif(NOT __VISUALC__ AND NOT __BORLANDC__)
+
+set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${custom_flags}")
if(enable_supernovae)
set(warnCFLAGS "-Wall -Wunused -Wmissing-prototypes -Wmissing-declarations -Wpointer-arith -Wchar-subscripts -Wcomment -Wformat -Wwrite-strings -Wno-unused-function -Wno-unused-parameter -Wno-strict-aliasing -Wno-format-nonliteral -Werror ")
set_target_properties(simgrid PROPERTIES VERSION ${libsimgrid_version})\r
set_target_properties(gras PROPERTIES VERSION ${libgras_version})\r
\r
-set_target_properties(gras PROPERTIES COMPILE_FLAGS "/D _XBT_DLL_EXPORT")\r
-set_target_properties(gras_static PROPERTIES COMPILE_FLAGS "/D _XBT_DLL_STATIC"\r
- OUTPUT_NAME "gras")\r
-set_target_properties(simgrid PROPERTIES COMPILE_FLAGS "/D _XBT_DLL_EXPORT")\r
-set_target_properties(simgrid_static PROPERTIES COMPILE_FLAGS "/D _XBT_DLL_STATIC"\r
- OUTPUT_NAME "simgrid")\r
+\r
+if(MSVC)\r
+ set_target_properties(gras PROPERTIES COMPILE_FLAGS "/D _XBT_DLL_EXPORT")\r
+ set_target_properties(gras_static PROPERTIES COMPILE_FLAGS "/D _XBT_DLL_STATIC"\r
+ OUTPUT_NAME "gras")\r
+ set_target_properties(simgrid PROPERTIES COMPILE_FLAGS "/D _XBT_DLL_EXPORT")\r
+ set_target_properties(simgrid_static PROPERTIES COMPILE_FLAGS "/D _XBT_DLL_STATIC"\r
+ OUTPUT_NAME "simgrid")\r
+else(MSVC)\r
+ if(CMAKE_COMPILER_IS_GNUCC)\r
+ set_target_properties(gras PROPERTIES COMPILE_FLAGS "-D _XBT_DLL_EXPORT")\r
+ set_target_properties(gras_static PROPERTIES COMPILE_FLAGS "-D _XBT_DLL_STATIC"\r
+ OUTPUT_NAME "gras")\r
+ set_target_properties(simgrid PROPERTIES COMPILE_FLAGS "-D _XBT_DLL_EXPORT")\r
+ set_target_properties(simgrid_static PROPERTIES COMPILE_FLAGS "-D _XBT_DLL_STATIC"\r
+ OUTPUT_NAME "simgrid")\r
+ else(CMAKE_COMPILER_IS_GNUCC)\r
+ message(FATAL_ERROR "Compilateur non connu!!!")\r
+ endif(CMAKE_COMPILER_IS_GNUCC)\r
+endif(MSVC)\r
\r
set(GRAS_DEP "wsock32")\r
set(SIMGRID_DEP "wsock32")\r
#src/testall\r
add_subdirectory(${PROJECT_DIRECTORY}/src)\r
\r
-#tools/gras\r
-add_subdirectory(${PROJECT_DIRECTORY}/tools/gras)\r
-\r
-#tools/tesh\r
-add_subdirectory(${PROJECT_DIRECTORY}/tools/tesh)\r
+#examples\r
+add_subdirectory(${PROJECT_DIRECTORY}/examples/msg/icomms)\r
\r
#testsuite/xbt\r
add_subdirectory(${PROJECT_DIRECTORY}/testsuite/xbt)\r
add_subdirectory(${PROJECT_DIRECTORY}/testsuite/surf)\r
\r
#testsuite/simdag\r
-add_subdirectory(${PROJECT_DIRECTORY}/testsuite/simdag)\r
-\r
-#teshsuite\r
-add_subdirectory(${PROJECT_DIRECTORY}/teshsuite/xbt)\r
-add_subdirectory(${PROJECT_DIRECTORY}/teshsuite/gras/datadesc)\r
-add_subdirectory(${PROJECT_DIRECTORY}/teshsuite/gras/msg_handle)\r
-add_subdirectory(${PROJECT_DIRECTORY}/teshsuite/gras/empty_main)\r
-add_subdirectory(${PROJECT_DIRECTORY}/teshsuite/gras/small_sleep)\r
-add_subdirectory(${PROJECT_DIRECTORY}/teshsuite/simdag)\r
-add_subdirectory(${PROJECT_DIRECTORY}/teshsuite/simdag/network)\r
-add_subdirectory(${PROJECT_DIRECTORY}/teshsuite/simdag/network/p2p)\r
-add_subdirectory(${PROJECT_DIRECTORY}/teshsuite/simdag/network/mxn)\r
-add_subdirectory(${PROJECT_DIRECTORY}/teshsuite/simdag/partask)\r
-add_subdirectory(${PROJECT_DIRECTORY}/teshsuite/simdag/platforms)\r
-add_subdirectory(${PROJECT_DIRECTORY}/teshsuite/msg)\r
-\r
-#examples\r
-add_subdirectory(${PROJECT_DIRECTORY}/examples/gras/ping)\r
-add_subdirectory(${PROJECT_DIRECTORY}/examples/gras/rpc)\r
-add_subdirectory(${PROJECT_DIRECTORY}/examples/gras/spawn)\r
-add_subdirectory(${PROJECT_DIRECTORY}/examples/gras/timer)\r
-add_subdirectory(${PROJECT_DIRECTORY}/examples/gras/chrono)\r
-add_subdirectory(${PROJECT_DIRECTORY}/examples/gras/mutual_exclusion/simple_token)\r
-add_subdirectory(${PROJECT_DIRECTORY}/examples/gras/mmrpc)\r
-add_subdirectory(${PROJECT_DIRECTORY}/examples/gras/all2all)\r
-add_subdirectory(${PROJECT_DIRECTORY}/examples/gras/pmm)\r
-add_subdirectory(${PROJECT_DIRECTORY}/examples/gras/synchro)\r
-add_subdirectory(${PROJECT_DIRECTORY}/examples/gras/properties)\r
-\r
-add_subdirectory(${PROJECT_DIRECTORY}/examples/msg/properties)\r
-add_subdirectory(${PROJECT_DIRECTORY}/examples/msg/actions)\r
-add_subdirectory(${PROJECT_DIRECTORY}/examples/msg/migration)\r
-add_subdirectory(${PROJECT_DIRECTORY}/examples/msg/sendrecv)\r
-add_subdirectory(${PROJECT_DIRECTORY}/examples/msg/suspend)\r
-add_subdirectory(${PROJECT_DIRECTORY}/examples/msg/parallel_task)\r
-add_subdirectory(${PROJECT_DIRECTORY}/examples/msg/priority)\r
-add_subdirectory(${PROJECT_DIRECTORY}/examples/msg/masterslave)\r
-add_subdirectory(${PROJECT_DIRECTORY}/examples/msg/trace)\r
-add_subdirectory(${PROJECT_DIRECTORY}/examples/msg/tracing)\r
-\r
-if(HAVE_MC)\r
- add_subdirectory(${PROJECT_DIRECTORY}/examples/msg/mc)\r
-endif(HAVE_MC)\r
-\r
-add_subdirectory(${PROJECT_DIRECTORY}/examples/amok/bandwidth)\r
-add_subdirectory(${PROJECT_DIRECTORY}/examples/amok/saturate)\r
-\r
-add_subdirectory(${PROJECT_DIRECTORY}/examples/simdag)\r
-add_subdirectory(${PROJECT_DIRECTORY}/examples/simdag/dax)\r
-add_subdirectory(${PROJECT_DIRECTORY}/examples/simdag/metaxml)\r
-add_subdirectory(${PROJECT_DIRECTORY}/examples/simdag/properties)\r
-add_subdirectory(${PROJECT_DIRECTORY}/examples/simdag/scheduling)\r
+add_subdirectory(${PROJECT_DIRECTORY}/testsuite/simdag)
\ No newline at end of file
message("Mode supernovae and maintainer disable with Windows.")
set(enable_supernovae false CACHE TYPE INTERNAL FORCE)
set(enable_maintainer_mode false CACHE TYPE INTERNAL FORCE)
+ set(enable_java false CACHE TYPE INTERNAL FORCE)
+ set(enable_lua false CACHE TYPE INTERNAL FORCE)
+ set(enable_ruby false CACHE TYPE INTERNAL FORCE)
+ set(enable_smpi false CACHE TYPE INTERNAL FORCE)
+ set(enable_gtnets false CACHE TYPE INTERNAL FORCE)
endif(WIN32)
if(enable_supernovae AND enable_model-checking)
message("SIZEOF_MAX : ${SIZEOF_MAX}")
message("PTH_STACKGROWTH ${PTH_STACKGROWTH}")
message("need_getline ${need_getline}")
- message("need_asprintf ${need_asprintf}")
- message("need_vasprintf ${need_vasprintf}")
+ message("need_asprintf ${simgrid_need_asprintf}")
+ message("need_vasprintf ${simgrid_need_vasprintf}")
message("PREFER_PORTABLE_SNPRINTF ${PREFER_PORTABLE_SNPRINTF}")
message("HAVE_VA_COPY ${HAVE_VA_COPY}")
message("GRAS_BIGENDIAN ${GRAS_BIGENDIAN}")
message("HAVE_STAT_H ${HAVE_STAT_H}")
message("HAVE_SYS_STAT_H ${HAVE_SYS_STAT_H}")
message("HAVE_WINDOWS_H ${HAVE_WINDOWS_H}")
- message("HAVE_WINSOCK_H ${HAVE_WINSOCK_H}")
+ message("HAVE_WINSOCK_H ${HAVE_WINSOCK_H}")
message("HAVE_WINSOCK2_H ${HAVE_WINSOCK2_H}")
message("HAVE_ERRNO_H ${HAVE_ERRNO_H}")
message("HAVE_UNISTD_H ${HAVE_UNISTD_H}")
#ifndef _MSC_VER
#cmakedefine _MSC_VER @_MSC_VER@
#endif
+#ifndef _M_IX86
+ #cmakedefine _M_IX86 @_M_IX86@
+#endif
#cmakedefine _XBT_WIN32 @_XBT_WIN32@ //this variable is set if it is a windows platform
#cmakedefine _WIN32 @_WIN32@ //this variable is set if it is a 32 bits windows platform
#cmakedefine _WIN64 @_WIN64@ //this variable is set if it is a 64 bits windows platform
#cmakedefine __VISUALC__ @__VISUALC__@
#cmakedefine __BORLANDC__ @__BORLANDC__@
-
+#ifdef _XBT_WIN32
+ #ifndef __GNUC__
+ #cmakedefine __GNUC__ @__GNUC__@
+ #endif
+#endif
/* Set to true if enable_model-checking is true */
#cmakedefine MMALLOC_WANT_OVERIDE_LEGACY @MMALLOC_WANT_OVERIDE_LEGACY@
#cmakedefine HAVE_MC @HAVE_MC@
#include <stdio.h>
#include <stdlib.h>
+
#ifdef _XBT_WIN32
-#include <win32_ucontext.h>
+ #include "win32_ucontext.h"
+ #include "win32_ucontext.c"
#else
-#include <ucontext.h>
+ #include <ucontext.h>
#endif
void child(void);
#include <signal.h>
#include <unistd.h>
#endif
+
#if defined(TEST_makecontext)
-#include <ucontext.h>
+#ifdef _XBT_WIN32
+ #include "win32_ucontext.h"
+#else
+ #include <ucontext.h>
+#endif
+
#endif
union alltypes {
long l;
#cmakedefine _WIN64 @_WIN64@ /*this variable is set if it is a 64 bits windows platform*/
#cmakedefine __VISUALC__ @__VISUALC__@
#cmakedefine __BORLANDC__ @__BORLANDC__@
+#ifdef _XBT_WIN32
+ #ifndef __GNUC__
+ #cmakedefine __GNUC__ @__GNUC__@
+ #endif
+#endif
#ifndef SIMGRID_PUBLIC_CONFIG_H
#define SIMGRID_PUBLIC_CONFIG_H
#undef SIMGRID_NEED_ASPRINTF
#undef SIMGRID_NEED_VASPRINTF
@need_getline@
-@need_asprintf@
-@need_vasprintf@
+@simgrid_need_asprintf@
+@simgrid_need_vasprintf@
/* Use that config to declare missing elements */
#ifdef SIMGRID_NEED_GETLINE
#endif /* HAVE_VALGRIND_VALGRIND_H */
#ifdef _XBT_WIN32
+ #include "win32_ucontext.h"
+ #include "win32_ucontext.c"
+#else
#include "ucontext.h"
#include "ucontext.c"
#endif
#endif /*CONTEXT_STACK_SIZE */
#include "context_sysv_config.h" /* loads context system definitions */
+#ifdef _XBT_WIN32
+#include <win32_ucontext.h> /* context relative declarations */
+#else
#include <ucontext.h> /* context relative declarations */
-
+#endif
typedef struct s_smx_ctx_sysv {
s_smx_ctx_base_t super; /* Fields of super implementation */
ucontext_t uc; /* the thread that execute the code */
static unsigned int _seed = 2147483647;
+#ifdef __VISUALC__
typedef unsigned __int64 uint64_t;
typedef unsigned int uint32_t;
+#endif
struct drand48_data {
unsigned short int __x[3]; /* Current state. */
/*The function ffs doesn't exist for windows*/
#ifdef _XBT_WIN32
- int XBT_INLINE ffs(int x)
- {
- int r;
- __asm{
- mov ecx, [x]
- bsf eax, ecx
- jnz ffs1
- mov eax, -1
- ffs1:
- mov[r],eax
+ int ffs(int bits)
+ {
+ int i;
+ if (bits == 0)
+ return (0);
+ for (i = 1; ; i++, bits >>= 1)
+ {
+ if (bits & 1) break;
}
- return(r);
+ return (i);
}
#endif
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA\r
*/\r
\r
-#include "ucontext.h"\r
+#include "win32_ucontext.h"\r
\r
int getcontext(ucontext_t *ucp)\r
{\r
* under the terms of the license (GNU LGPL) which comes with this package. */
#include "xbt/misc.h"
-#include "simgrid_config.h" /*HAVE_MMAP*/
+#include "simgrid_config.h" /*HAVE_MMAP _XBT_WIN32*/
#include "time.h" /* to seed the random generator */
#include "xbt/sysdep.h"
*/
static void xbt_preinit(void) _XBT_GNUC_CONSTRUCTOR;
static void xbt_postexit(void) _XBT_GNUC_DESTRUCTOR;
+
+#ifdef _XBT_WIN32
+ # undef _XBT_NEED_INIT_PRAGMA
+#endif
+
#ifdef _XBT_NEED_INIT_PRAGMA
#pragma init (xbt_preinit)
#pragma fini (xbt_postexit)
--- /dev/null
+echo off\r
+set CC=C:\MicrosoftVisualStudio10\VC\bin\cl\r
+set CXX=C:\MicrosoftVisualStudio10\VC\bin\cl\r
+set INCLUDE=C:\MicrosoftVisualStudio10\VC\include;C:\Program Files\Microsoft SDKs\Windows\v7.0A\Include\r
+set LIB=C:\MicrosoftVisualStudio10\VC\lib;C:\Program Files\Microsoft SDKs\Windows\v7.0A\Lib\r
+set RC=C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin\RC\r
+set Path=%Path%;C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin\r
+set Path=%Path%;C:\Program Files\Microsoft SDKs\Windows\v7.0A\Lib\r
+set Path=%Path%;C:\Program Files\Microsoft SDKs\Windows\v7.0A\Include\r
+set Path=%Path%;C:\MicrosoftVisualStudio10\VC\\r
+set Path=%Path%;C:\MicrosoftVisualStudio10\Common7\IDE\r
+set Path=%Path%;C:\MicrosoftVisualStudio10\VC\bin
\ No newline at end of file