diff --git a/CMakeLists.txt b/CMakeLists.txt index 3e587f304..dacccd332 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -12,24 +12,31 @@ set(MOZART_DIR "${CMAKE_CURRENT_SOURCE_DIR}") set(MOZART_BUILD_DIR "${CMAKE_CURRENT_BINARY_DIR}") # Some helpers when using MinGW - if(MINGW) get_filename_component(CMAKE_MAKE_PROGRAM_PATH "${CMAKE_MAKE_PROGRAM}" PATH) get_filename_component(CMAKE_MAKE_PROGRAM_PATH_PARENT "${CMAKE_MAKE_PROGRAM_PATH}" PATH) set(MINGW_ROOT "${CMAKE_MAKE_PROGRAM_PATH_PARENT}" CACHE PATH "Path where MinGW is installed") - set(MINGW_COMPILER_VERSION "4.7.2" + set(MINGW_COMPILER_VERSION "4.9.1" CACHE STRING "Version of GCC in your MinGW installation") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-format -Wno-format-extra-args") - set(CMAKE_CXX_STANDARD_LIBRARIES "-lwsock32 -lws2_32 ${CMAKE_CSS_STANDARD_LIBRARIES}") - set(DEFAULT_MOZART_GENERATOR_FLAGS - "-I${MINGW_ROOT}/include/c++/${MINGW_COMPILER_VERSION}" - "-I${MINGW_ROOT}/include/c++/${MINGW_COMPILER_VERSION}/i686-pc-mingw32") + set(CMAKE_CXX_STANDARD_LIBRARIES "-static -lwsock32 -lws2_32 ${CMAKE_CSS_STANDARD_LIBRARIES}") + + # Check for gcc target architecture + execute_process(COMMAND ${CMAKE_C_COMPILER} -dumpmachine OUTPUT_VARIABLE GCC_ARCH) + string(STRIP "${GCC_ARCH}" GCC_ARCH_TRIPLE) + message(STATUS "Target architecture : ${GCC_ARCH_TRIPLE}") + set(DEFAULT_MOZART_GENERATOR_FLAGS + "-I${MINGW_ROOT}/${GCC_ARCH_TRIPLE}/include/c++" + "-I${MINGW_ROOT}/${GCC_ARCH_TRIPLE}/include/c++/${GCC_ARCH_TRIPLE}" + "-I${MINGW_ROOT}/${GCC_ARCH_TRIPLE}/include") + set(BOOST_ROOT "${MINGW_ROOT}" CACHE PATH "Path where Boost is installed") + else() set(DEFAULT_MOZART_GENERATOR_FLAGS "") endif() diff --git a/boosthost/emulator/emulator.cc b/boosthost/emulator/emulator.cc index 1b01d34ab..a47eb16b6 100644 --- a/boosthost/emulator/emulator.cc +++ b/boosthost/emulator/emulator.cc @@ -162,7 +162,11 @@ int main(int argc, char** argv) { std::string ozSearchPath, ozSearchLoad, appURL; std::vector appArgs; size_t minMemoryMega = 32; +#if defined(_WIN32) && !defined(_WIN64) + size_t maxMemoryMega = 512; +#else size_t maxMemoryMega = 768; +#endif bool appGUI; // DEFINE OPTIONS diff --git a/lib/main/wp/Tk.oz b/lib/main/wp/Tk.oz index 3b99283f3..a00f17bfb 100644 --- a/lib/main/wp/Tk.oz +++ b/lib/main/wp/Tk.oz @@ -457,7 +457,7 @@ define % RS: on MS Windows we use a socket: before we used % pipes, but on NT this made problems when certain background % tasks where running: Tk could get stuck here - if {Property.get 'platform.name'} == 'win32-i386' then + if {Property.get 'platform.os'} == 'win32' then Stream Port in thread diff --git a/opi/emacs/CMakeLists.txt b/opi/emacs/CMakeLists.txt index 665815f2d..22d9045be 100644 --- a/opi/emacs/CMakeLists.txt +++ b/opi/emacs/CMakeLists.txt @@ -29,7 +29,7 @@ else() OUTPUT ${tgt_file} COMMAND ${CMAKE_COMMAND} -E copy "${el_file}" "${gen_el_file}" COMMAND ${EMACS} - -eval "(setq load-path (append load-path '(\"${CMAKE_CURRENT_SOURCE_DIR}\")))" + -L "${CMAKE_CURRENT_SOURCE_DIR}" ${EMACS_OPTIONS} "${gen_el_file}" DEPENDS "${el_file}" WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} diff --git a/platform-test/CMakeLists.txt b/platform-test/CMakeLists.txt index db2e0bd19..3ebe96281 100644 --- a/platform-test/CMakeLists.txt +++ b/platform-test/CMakeLists.txt @@ -200,7 +200,11 @@ if(BUILD_TESTING) # running vmtest (gtest) add_test("vmtest" "${CMAKE_CURRENT_BINARY_DIR}/../vm/vm/test/vmtest") # running tests in platform-test - set(OZEMULATOR "${CMAKE_CURRENT_BINARY_DIR}/../boosthost/emulator/ozemulator") + if(NOT WIN32) + set(OZEMULATOR "${CMAKE_CURRENT_BINARY_DIR}/../boosthost/emulator/ozemulator") + else() + set(OZEMULATOR "${CMAKE_CURRENT_BINARY_DIR}/../boosthost/emulator/ozengine") + endif() foreach(FUNCTOR ${TEST_FUNCTORS} ${DEBUG_FUNCTORS_OZ}) set(FUNCTOR_OZF "${CMAKE_CURRENT_BINARY_DIR}${FUNCTOR}f") set(TEST_FUNCTORS_OZF ${TEST_FUNCTORS_OZF} "${FUNCTOR_OZF}") diff --git a/vm/boostenv/main/modos.hh b/vm/boostenv/main/modos.hh index 3c18d93e5..3b52a0728 100644 --- a/vm/boostenv/main/modos.hh +++ b/vm/boostenv/main/modos.hh @@ -1193,7 +1193,7 @@ public: static void call(VM vm, Out pid) { #ifdef MOZART_WINDOWS - pid = build(vm, GetCurrentProcessId()); + pid = SmallInt::build(vm, GetCurrentProcessId()); #else pid = build(vm, getpid()); #endif