Remove MinGW support
The Issue ======= For a long time now MinGW has been unsupported and unmaintained and at this point, it looks like something that we should just leave behind and move on. Why Remove ========== One of the big motivations for MinGW back in the day is that it was free compared to MSVC which was licensed based. However, now that this is no longer true we have basically stopped updating the need CMake files. Along with the CMake files, there are several patches to the extern libs needed to make this work. For example, see: https://developer.blender.org/diffusion/B/browse/master/extern/carve/patches/mingw_w64.patch If we wanted to keep MinGW then we would need to make more custom patches to the external libs and this is not something our platform maintainers are willing to do. For example, here is the patches needed to build python: https://github.com/Alexpux/MINGW-packages/tree/master/mingw-w64-python3 Fixes T51301 Differential Revision: https://developer.blender.org/D2648
This commit is contained in:
parent
275e2fb0ff
commit
9f044cb422
|
@ -49,7 +49,7 @@ def get_platform(filename):
|
|||
tokens = filename.split("-")
|
||||
platforms = ('osx', 'mac', 'bsd',
|
||||
'win', 'linux', 'source',
|
||||
'irix', 'solaris', 'mingw')
|
||||
'irix', 'solaris')
|
||||
platform_tokens = []
|
||||
found = False
|
||||
|
||||
|
|
|
@ -63,17 +63,10 @@ if(UNIX AND NOT APPLE)
|
|||
set(WITH_OPENSUBDIV ON CACHE BOOL "" FORCE)
|
||||
elseif(WIN32)
|
||||
set(WITH_JACK OFF CACHE BOOL "" FORCE)
|
||||
if(NOT CMAKE_COMPILER_IS_GNUCC)
|
||||
set(WITH_OPENSUBDIV ON CACHE BOOL "" FORCE)
|
||||
else()
|
||||
# MinGW exceptions
|
||||
set(WITH_OPENSUBDIV OFF CACHE BOOL "" FORCE)
|
||||
set(WITH_CODEC_SNDFILE OFF CACHE BOOL "" FORCE)
|
||||
set(WITH_CYCLES_OSL OFF CACHE BOOL "" FORCE)
|
||||
endif()
|
||||
set(WITH_OPENSUBDIV ON CACHE BOOL "" FORCE)
|
||||
elseif(APPLE)
|
||||
set(WITH_JACK ON CACHE BOOL "" FORCE)
|
||||
set(WITH_CODEC_QUICKTIME OFF CACHE BOOL "" FORCE)
|
||||
set(WITH_CODEC_QUICKTIME OFF CACHE BOOL "" FORCE)
|
||||
set(WITH_OPENSUBDIV OFF CACHE BOOL "" FORCE)
|
||||
|
||||
# include("${CMAKE_CURRENT_SOURCE_DIR}/../platform/platform_apple_xcode.cmake")
|
||||
|
|
|
@ -64,17 +64,10 @@ if(UNIX AND NOT APPLE)
|
|||
set(WITH_OPENSUBDIV ON CACHE BOOL "" FORCE)
|
||||
elseif(WIN32)
|
||||
set(WITH_JACK OFF CACHE BOOL "" FORCE)
|
||||
if(NOT CMAKE_COMPILER_IS_GNUCC)
|
||||
set(WITH_OPENSUBDIV ON CACHE BOOL "" FORCE)
|
||||
else()
|
||||
# MinGW exceptions
|
||||
set(WITH_OPENSUBDIV OFF CACHE BOOL "" FORCE)
|
||||
set(WITH_CODEC_SNDFILE OFF CACHE BOOL "" FORCE)
|
||||
set(WITH_CYCLES_OSL OFF CACHE BOOL "" FORCE)
|
||||
endif()
|
||||
set(WITH_OPENSUBDIV ON CACHE BOOL "" FORCE)
|
||||
elseif(APPLE)
|
||||
set(WITH_JACK ON CACHE BOOL "" FORCE)
|
||||
set(WITH_CODEC_QUICKTIME OFF CACHE BOOL "" FORCE)
|
||||
set(WITH_CODEC_QUICKTIME OFF CACHE BOOL "" FORCE)
|
||||
set(WITH_OPENSUBDIV OFF CACHE BOOL "" FORCE)
|
||||
|
||||
# include("${CMAKE_CURRENT_SOURCE_DIR}/../platform/platform_apple_xcode.cmake")
|
||||
|
|
|
@ -1247,17 +1247,6 @@ endfunction()
|
|||
# hacks to override initial project settings
|
||||
# these macros must be called directly before/after project(Blender)
|
||||
macro(blender_project_hack_pre)
|
||||
# ----------------
|
||||
# MINGW HACK START
|
||||
# ignore system set flag, use our own
|
||||
# must be before project(...)
|
||||
# if the user wants to add their own its ok after first run.
|
||||
if(DEFINED CMAKE_C_STANDARD_LIBRARIES)
|
||||
set(_reset_standard_libraries OFF)
|
||||
else()
|
||||
set(_reset_standard_libraries ON)
|
||||
endif()
|
||||
|
||||
# ------------------
|
||||
# GCC -O3 HACK START
|
||||
# needed because O3 can cause problems but
|
||||
|
@ -1276,25 +1265,6 @@ endmacro()
|
|||
|
||||
|
||||
macro(blender_project_hack_post)
|
||||
# --------------
|
||||
# MINGW HACK END
|
||||
if(_reset_standard_libraries)
|
||||
# Must come after projecINCt(...)
|
||||
#
|
||||
# MINGW workaround for -ladvapi32 being included which surprisingly causes
|
||||
# string formatting of floats, eg: printf("%.*f", 3, value). to crash blender
|
||||
# with a meaningless stack trace. by overriding this flag we ensure we only
|
||||
# have libs we define.
|
||||
set(CMAKE_C_STANDARD_LIBRARIES "" CACHE STRING "" FORCE)
|
||||
set(CMAKE_CXX_STANDARD_LIBRARIES "" CACHE STRING "" FORCE)
|
||||
mark_as_advanced(
|
||||
CMAKE_C_STANDARD_LIBRARIES
|
||||
CMAKE_CXX_STANDARD_LIBRARIES
|
||||
)
|
||||
endif()
|
||||
unset(_reset_standard_libraries)
|
||||
|
||||
|
||||
# ----------------
|
||||
# GCC -O3 HACK END
|
||||
if(_reset_standard_cflags_rel)
|
||||
|
|
|
@ -27,12 +27,10 @@ add_definitions(-DWIN32)
|
|||
|
||||
if(MSVC)
|
||||
include(platform_win32_msvc)
|
||||
elseif(CMAKE_COMPILER_IS_GNUCC)
|
||||
include(platform_win32_mingw)
|
||||
else()
|
||||
message(FATAL_ERROR "Compiler is unsupported")
|
||||
endif()
|
||||
|
||||
# Things common to both mingw and MSVC should go here
|
||||
|
||||
set(WINTAB_INC ${LIBDIR}/wintab/include)
|
||||
|
||||
if(WITH_OPENAL)
|
||||
|
|
|
@ -1,302 +0,0 @@
|
|||
# ***** BEGIN GPL LICENSE BLOCK *****
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
# as published by the Free Software Foundation; either version 2
|
||||
# of the License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
#
|
||||
# The Original Code is Copyright (C) 2016, Blender Foundation
|
||||
# All rights reserved.
|
||||
#
|
||||
# Contributor(s): Sergey Sharybin.
|
||||
#
|
||||
# ***** END GPL LICENSE BLOCK *****
|
||||
|
||||
# Libraries configuration for Windows when compiling with MinGW.
|
||||
|
||||
# keep GCC specific stuff here
|
||||
include(CheckCSourceCompiles)
|
||||
# Setup 64bit and 64bit windows systems
|
||||
CHECK_C_SOURCE_COMPILES("
|
||||
#ifndef __MINGW64__
|
||||
#error
|
||||
#endif
|
||||
int main(void) { return 0; }
|
||||
"
|
||||
WITH_MINGW64
|
||||
)
|
||||
|
||||
if(NOT DEFINED LIBDIR)
|
||||
if(WITH_MINGW64)
|
||||
message(STATUS "Compiling for 64 bit with MinGW-w64.")
|
||||
set(LIBDIR ${CMAKE_SOURCE_DIR}/../lib/mingw64)
|
||||
else()
|
||||
message(STATUS "Compiling for 32 bit with MinGW-w32.")
|
||||
set(LIBDIR ${CMAKE_SOURCE_DIR}/../lib/mingw32)
|
||||
|
||||
if(WITH_RAYOPTIMIZATION)
|
||||
message(WARNING "MinGW-w32 is known to be unstable with 'WITH_RAYOPTIMIZATION' option enabled.")
|
||||
endif()
|
||||
endif()
|
||||
else()
|
||||
message(STATUS "Using pre-compiled LIBDIR: ${LIBDIR}")
|
||||
endif()
|
||||
if(NOT EXISTS "${LIBDIR}/")
|
||||
message(FATAL_ERROR "Windows requires pre-compiled libs at: '${LIBDIR}'")
|
||||
endif()
|
||||
|
||||
list(APPEND PLATFORM_LINKLIBS
|
||||
-lshell32 -lshfolder -lgdi32 -lmsvcrt -lwinmm -lmingw32 -lm -lws2_32
|
||||
-lz -lstdc++ -lole32 -luuid -lwsock32 -lpsapi -ldbghelp
|
||||
)
|
||||
|
||||
if(WITH_INPUT_IME)
|
||||
list(APPEND PLATFORM_LINKLIBS -limm32)
|
||||
endif()
|
||||
|
||||
set(PLATFORM_CFLAGS "-pipe -funsigned-char -fno-strict-aliasing")
|
||||
|
||||
if(WITH_MINGW64)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fpermissive")
|
||||
list(APPEND PLATFORM_LINKLIBS -lpthread)
|
||||
|
||||
add_definitions(-DFREE_WINDOWS64 -DMS_WIN64)
|
||||
endif()
|
||||
|
||||
add_definitions(-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE)
|
||||
|
||||
add_definitions(-DFREE_WINDOWS)
|
||||
|
||||
set(PNG "${LIBDIR}/png")
|
||||
set(PNG_INCLUDE_DIRS "${PNG}/include")
|
||||
set(PNG_LIBPATH ${PNG}/lib) # not cmake defined
|
||||
|
||||
if(WITH_MINGW64)
|
||||
set(JPEG_LIBRARIES jpeg)
|
||||
else()
|
||||
set(JPEG_LIBRARIES libjpeg)
|
||||
endif()
|
||||
set(PNG_LIBRARIES png)
|
||||
|
||||
set(ZLIB ${LIBDIR}/zlib)
|
||||
set(ZLIB_INCLUDE_DIRS ${ZLIB}/include)
|
||||
set(ZLIB_LIBPATH ${ZLIB}/lib)
|
||||
set(ZLIB_LIBRARIES z)
|
||||
|
||||
set(JPEG "${LIBDIR}/jpeg")
|
||||
set(JPEG_INCLUDE_DIR "${JPEG}/include")
|
||||
set(JPEG_LIBPATH ${JPEG}/lib) # not cmake defined
|
||||
|
||||
# comes with own pthread library
|
||||
if(NOT WITH_MINGW64)
|
||||
set(PTHREADS ${LIBDIR}/pthreads)
|
||||
#set(PTHREADS_INCLUDE_DIRS ${PTHREADS}/include)
|
||||
set(PTHREADS_LIBPATH ${PTHREADS}/lib)
|
||||
set(PTHREADS_LIBRARIES pthreadGC2)
|
||||
endif()
|
||||
|
||||
set(FREETYPE ${LIBDIR}/freetype)
|
||||
set(FREETYPE_INCLUDE_DIRS ${FREETYPE}/include ${FREETYPE}/include/freetype2)
|
||||
set(FREETYPE_LIBPATH ${FREETYPE}/lib)
|
||||
set(FREETYPE_LIBRARY freetype)
|
||||
|
||||
if(WITH_FFTW3)
|
||||
set(FFTW3 ${LIBDIR}/fftw3)
|
||||
set(FFTW3_LIBRARIES fftw3)
|
||||
set(FFTW3_INCLUDE_DIRS ${FFTW3}/include)
|
||||
set(FFTW3_LIBPATH ${FFTW3}/lib)
|
||||
endif()
|
||||
|
||||
if(WITH_OPENCOLLADA)
|
||||
set(OPENCOLLADA ${LIBDIR}/opencollada)
|
||||
set(OPENCOLLADA_INCLUDE_DIRS
|
||||
${OPENCOLLADA}/include/opencollada/COLLADAStreamWriter
|
||||
${OPENCOLLADA}/include/opencollada/COLLADABaseUtils
|
||||
${OPENCOLLADA}/include/opencollada/COLLADAFramework
|
||||
${OPENCOLLADA}/include/opencollada/COLLADASaxFrameworkLoader
|
||||
${OPENCOLLADA}/include/opencollada/GeneratedSaxParser
|
||||
)
|
||||
set(OPENCOLLADA_LIBPATH ${OPENCOLLADA}/lib/opencollada)
|
||||
set(OPENCOLLADA_LIBRARIES
|
||||
OpenCOLLADAStreamWriter
|
||||
OpenCOLLADASaxFrameworkLoader
|
||||
OpenCOLLADAFramework
|
||||
OpenCOLLADABaseUtils
|
||||
GeneratedSaxParser
|
||||
UTF MathMLSolver buffer ftoa xml
|
||||
)
|
||||
set(PCRE_LIBRARIES pcre)
|
||||
endif()
|
||||
|
||||
if(WITH_CODEC_FFMPEG)
|
||||
set(FFMPEG ${LIBDIR}/ffmpeg)
|
||||
set(FFMPEG_INCLUDE_DIRS ${FFMPEG}/include)
|
||||
if(WITH_MINGW64)
|
||||
set(FFMPEG_LIBRARIES avcodec.dll avformat.dll avdevice.dll avutil.dll swscale.dll swresample.dll)
|
||||
else()
|
||||
set(FFMPEG_LIBRARIES avcodec-55 avformat-55 avdevice-55 avutil-52 swscale-2)
|
||||
endif()
|
||||
set(FFMPEG_LIBPATH ${FFMPEG}/lib)
|
||||
endif()
|
||||
|
||||
if(WITH_IMAGE_OPENEXR)
|
||||
set(OPENEXR ${LIBDIR}/openexr)
|
||||
set(OPENEXR_INCLUDE_DIR ${OPENEXR}/include)
|
||||
set(OPENEXR_INCLUDE_DIRS ${OPENEXR}/include/OpenEXR)
|
||||
set(OPENEXR_LIBRARIES Half IlmImf Imath IlmThread Iex)
|
||||
set(OPENEXR_LIBPATH ${OPENEXR}/lib)
|
||||
endif()
|
||||
|
||||
if(WITH_IMAGE_TIFF)
|
||||
set(TIFF ${LIBDIR}/tiff)
|
||||
set(TIFF_LIBRARY tiff)
|
||||
set(TIFF_INCLUDE_DIR ${TIFF}/include)
|
||||
set(TIFF_LIBPATH ${TIFF}/lib)
|
||||
endif()
|
||||
|
||||
if(WITH_JACK)
|
||||
set(JACK ${LIBDIR}/jack)
|
||||
set(JACK_INCLUDE_DIRS ${JACK}/include/jack ${JACK}/include)
|
||||
set(JACK_LIBRARIES jack)
|
||||
set(JACK_LIBPATH ${JACK}/lib)
|
||||
|
||||
# TODO, gives linking errors, force off
|
||||
set(WITH_JACK OFF)
|
||||
endif()
|
||||
|
||||
if(WITH_PYTHON)
|
||||
# normally cached but not since we include them with blender
|
||||
set(PYTHON_VERSION 3.5) # CACHE STRING)
|
||||
string(REPLACE "." "" _PYTHON_VERSION_NO_DOTS ${PYTHON_VERSION})
|
||||
set(PYTHON_INCLUDE_DIR "${LIBDIR}/python/include/python${PYTHON_VERSION}") # CACHE PATH)
|
||||
set(PYTHON_LIBRARY "${LIBDIR}/python/lib/python${_PYTHON_VERSION_NO_DOTS}mw.lib") # CACHE FILEPATH)
|
||||
unset(_PYTHON_VERSION_NO_DOTS)
|
||||
|
||||
# uncached vars
|
||||
set(PYTHON_INCLUDE_DIRS "${PYTHON_INCLUDE_DIR}")
|
||||
set(PYTHON_LIBRARIES "${PYTHON_LIBRARY}")
|
||||
endif()
|
||||
|
||||
if(WITH_BOOST)
|
||||
set(BOOST ${LIBDIR}/boost)
|
||||
set(BOOST_INCLUDE_DIR ${BOOST}/include)
|
||||
if(WITH_MINGW64)
|
||||
set(BOOST_POSTFIX "mgw47-mt-s-1_49")
|
||||
set(BOOST_DEBUG_POSTFIX "mgw47-mt-sd-1_49")
|
||||
else()
|
||||
set(BOOST_POSTFIX "mgw46-mt-s-1_49")
|
||||
set(BOOST_DEBUG_POSTFIX "mgw46-mt-sd-1_49")
|
||||
endif()
|
||||
set(BOOST_LIBRARIES
|
||||
optimized boost_date_time-${BOOST_POSTFIX} boost_filesystem-${BOOST_POSTFIX}
|
||||
boost_regex-${BOOST_POSTFIX}
|
||||
boost_system-${BOOST_POSTFIX} boost_thread-${BOOST_POSTFIX}
|
||||
debug boost_date_time-${BOOST_DEBUG_POSTFIX} boost_filesystem-${BOOST_DEBUG_POSTFIX}
|
||||
boost_regex-${BOOST_DEBUG_POSTFIX}
|
||||
boost_system-${BOOST_DEBUG_POSTFIX} boost_thread-${BOOST_DEBUG_POSTFIX})
|
||||
if(WITH_INTERNATIONAL)
|
||||
set(BOOST_LIBRARIES ${BOOST_LIBRARIES}
|
||||
optimized boost_locale-${BOOST_POSTFIX}
|
||||
debug boost_locale-${BOOST_DEBUG_POSTFIX}
|
||||
)
|
||||
endif()
|
||||
if(WITH_CYCLES_OSL)
|
||||
set(BOOST_LIBRARIES ${BOOST_LIBRARIES}
|
||||
optimized boost_wave-${BOOST_POSTFIX}
|
||||
debug boost_wave-${BOOST_DEBUG_POSTFIX}
|
||||
)
|
||||
endif()
|
||||
set(BOOST_LIBPATH ${BOOST}/lib)
|
||||
set(BOOST_DEFINITIONS "-DBOOST_ALL_NO_LIB -DBOOST_THREAD_USE_LIB ")
|
||||
endif()
|
||||
|
||||
if(WITH_OPENIMAGEIO)
|
||||
set(OPENIMAGEIO ${LIBDIR}/openimageio)
|
||||
set(OPENIMAGEIO_INCLUDE_DIRS ${OPENIMAGEIO}/include)
|
||||
set(OPENIMAGEIO_LIBRARIES OpenImageIO)
|
||||
set(OPENIMAGEIO_LIBPATH ${OPENIMAGEIO}/lib)
|
||||
set(OPENIMAGEIO_DEFINITIONS "")
|
||||
set(OPENIMAGEIO_IDIFF "${OPENIMAGEIO}/bin/idiff.exe")
|
||||
endif()
|
||||
|
||||
if(WITH_LLVM)
|
||||
set(LLVM_ROOT_DIR ${LIBDIR}/llvm CACHE PATH "Path to the LLVM installation")
|
||||
set(LLVM_LIBPATH ${LLVM_ROOT_DIR}/lib)
|
||||
# Explicitly set llvm lib order.
|
||||
#---- WARNING ON GCC ORDER OF LIBS IS IMPORTANT, DO NOT CHANGE! ---------
|
||||
set(LLVM_LIBRARY LLVMSelectionDAG LLVMCodeGen LLVMScalarOpts LLVMAnalysis LLVMArchive
|
||||
LLVMAsmParser LLVMAsmPrinter
|
||||
LLVMBitReader LLVMBitWriter
|
||||
LLVMDebugInfo LLVMExecutionEngine
|
||||
LLVMInstCombine LLVMInstrumentation
|
||||
LLVMInterpreter LLVMJIT
|
||||
LLVMLinker LLVMMC
|
||||
LLVMMCDisassembler LLVMMCJIT
|
||||
LLVMMCParser LLVMObject
|
||||
LLVMRuntimeDyld
|
||||
LLVMSupport
|
||||
LLVMTableGen LLVMTarget
|
||||
LLVMTransformUtils LLVMVectorize
|
||||
LLVMX86AsmParser LLVMX86AsmPrinter
|
||||
LLVMX86CodeGen LLVMX86Desc
|
||||
LLVMX86Disassembler LLVMX86Info
|
||||
LLVMX86Utils LLVMipa
|
||||
LLVMipo LLVMCore)
|
||||
# imagehelp is needed by LLVM 3.1 on MinGW, check lib\Support\Windows\Signals.inc
|
||||
list(APPEND PLATFORM_LINKLIBS -limagehlp)
|
||||
endif()
|
||||
|
||||
if(WITH_OPENCOLORIO)
|
||||
set(OPENCOLORIO ${LIBDIR}/opencolorio)
|
||||
set(OPENCOLORIO_INCLUDE_DIRS ${OPENCOLORIO}/include)
|
||||
set(OPENCOLORIO_LIBRARIES OpenColorIO)
|
||||
set(OPENCOLORIO_LIBPATH ${OPENCOLORIO}/lib)
|
||||
set(OPENCOLORIO_DEFINITIONS)
|
||||
endif()
|
||||
|
||||
if(WITH_SDL)
|
||||
set(SDL ${LIBDIR}/sdl)
|
||||
set(SDL_INCLUDE_DIR ${SDL}/include)
|
||||
set(SDL_LIBRARY SDL)
|
||||
set(SDL_LIBPATH ${SDL}/lib)
|
||||
endif()
|
||||
|
||||
if(WITH_OPENVDB)
|
||||
set(OPENVDB ${LIBDIR}/openvdb)
|
||||
set(OPENVDB_INCLUDE_DIRS ${OPENVDB}/include)
|
||||
set(OPENVDB_LIBRARIES openvdb ${TBB_LIBRARIES})
|
||||
set(OPENVDB_LIBPATH ${LIBDIR}/openvdb/lib)
|
||||
set(OPENVDB_DEFINITIONS)
|
||||
endif()
|
||||
|
||||
if(WITH_ALEMBIC)
|
||||
# TODO(sergey): For until someone drops by and compiles libraries for
|
||||
# MinGW we allow users to compile their own Alembic library and use
|
||||
# that via find_package(),
|
||||
#
|
||||
# Once precompiled libraries are there we'll use hardcoded locations.
|
||||
find_package_wrapper(Alembic)
|
||||
if(WITH_ALEMBIC_HDF5)
|
||||
set(HDF5_ROOT_DIR ${LIBDIR}/hdf5)
|
||||
find_package_wrapper(HDF5)
|
||||
endif()
|
||||
if(NOT ALEMBIC_FOUND OR (WITH_ALEMBIC_HDF5 AND NOT HDF5_FOUND))
|
||||
set(WITH_ALEMBIC OFF)
|
||||
set(WITH_ALEMBIC_HDF5 OFF)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
set(PLATFORM_LINKFLAGS "-Xlinker --stack=2097152")
|
||||
|
||||
## DISABLE - causes linking errors
|
||||
## for re-distribution, so users dont need mingw installed
|
||||
# set(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -static-libgcc -static-libstdc++")
|
|
@ -116,7 +116,6 @@ set(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} /NODEFAULTLIB:msvcrt.lib /NODEFAUL
|
|||
set(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} /ignore:4049 /ignore:4217 /ignore:4221")
|
||||
set(CMAKE_STATIC_LINKER_FLAGS "${CMAKE_STATIC_LINKER_FLAGS} /ignore:4221")
|
||||
|
||||
# MSVC only, Mingw doesnt need
|
||||
if(CMAKE_CL_64)
|
||||
set(PLATFORM_LINKFLAGS "/MACHINE:X64 ${PLATFORM_LINKFLAGS}")
|
||||
else()
|
||||
|
@ -473,12 +472,7 @@ if(WITH_SDL)
|
|||
set(SDL ${LIBDIR}/sdl)
|
||||
set(SDL_INCLUDE_DIR ${SDL}/include)
|
||||
set(SDL_LIBPATH ${SDL}/lib)
|
||||
# MinGW TODO: Update MinGW to SDL2
|
||||
if(NOT CMAKE_COMPILER_IS_GNUCC)
|
||||
set(SDL_LIBRARY SDL2)
|
||||
else()
|
||||
set(SDL_LIBRARY SDL)
|
||||
endif()
|
||||
set(SDL_LIBRARY SDL2)
|
||||
endif()
|
||||
|
||||
# Audio IO
|
||||
|
|
|
@ -145,7 +145,7 @@ def cmake_advanced_info():
|
|||
def create_eclipse_project():
|
||||
print("CMAKE_DIR %r" % CMAKE_DIR)
|
||||
if sys.platform == "win32":
|
||||
cmd = 'cmake "%s" -G"Eclipse CDT4 - MinGW Makefiles"' % CMAKE_DIR
|
||||
raise Exception("Error: win32 is not supported")
|
||||
else:
|
||||
if make_exe_basename.startswith(("make", "gmake")):
|
||||
cmd = 'cmake "%s" -G"Eclipse CDT4 - Unix Makefiles"' % CMAKE_DIR
|
||||
|
|
|
@ -8,11 +8,9 @@
|
|||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#if !defined(__MINGW32__)
|
||||
inline int strcasecmp(const char *a, const char *b) {
|
||||
return _stricmp(a,b);
|
||||
}
|
||||
#endif
|
||||
|
||||
inline void srandom(unsigned long input) {
|
||||
srand(input);
|
||||
|
@ -34,7 +32,7 @@ typedef unsigned long uintptr_t;
|
|||
|
||||
# if _MSC_VER < 1600
|
||||
// stdint.h is not available before VS2010
|
||||
#if defined(_WIN32) && !defined(__MINGW32__)
|
||||
#if defined(_WIN32)
|
||||
/* The __intXX are built-in types of the visual complier! So we don't
|
||||
need to include anything else here.
|
||||
This typedefs should be in sync with types from MEM_sys_types.h */
|
||||
|
|
|
@ -1,15 +0,0 @@
|
|||
diff -r 525472fb477a include/carve/win32.h
|
||||
--- a/include/carve/win32.h Sun Jan 15 23:07:40 2012 -0500
|
||||
+++ b/include/carve/win32.h Wed Jan 18 00:40:10 2012 +0600
|
||||
@@ -8,9 +8,11 @@
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
+#if !defined(__MINGW32__)
|
||||
inline int strcasecmp(const char *a, const char *b) {
|
||||
return _stricmp(a,b);
|
||||
}
|
||||
+#endif
|
||||
|
||||
inline void srandom(unsigned long input) {
|
||||
srand(input);
|
|
@ -1,13 +0,0 @@
|
|||
Index: bundle.sh
|
||||
===================================================================
|
||||
--- bundle.sh (revision 45912)
|
||||
+++ bundle.sh (working copy)
|
||||
@@ -114,7 +114,7 @@
|
||||
if env['WITH_BF_BOOST']:
|
||||
if env['OURPLATFORM'] not in ('win32-vc', 'win64-vc'):
|
||||
# Boost is setting as preferred collections library in the Carve code when using MSVC compiler
|
||||
- if env['OURPLATFORM'] != 'win32-mingw':
|
||||
+ if env['OURPLATFORM'] not in ('win32-mingw', 'win64-mingw'):
|
||||
defs.append('HAVE_BOOST_UNORDERED_COLLECTIONS')
|
||||
|
||||
defs.append('CARVE_SYSTEM_BOOST')
|
|
@ -1,7 +1,6 @@
|
|||
includes.patch
|
||||
win32.patch
|
||||
mesh_iterator.patch
|
||||
mingw.patch
|
||||
gcc46.patch
|
||||
clang_is_heap_fix.patch
|
||||
strict_flags.patch
|
||||
|
|
|
@ -8,7 +8,7 @@ diff -r e82d852e4fb0 include/carve/win32.h
|
|||
-typedef char int8_t;
|
||||
-typedef short int16_t;
|
||||
-typedef long int32_t;
|
||||
+#if defined(_WIN32) && !defined(__MINGW32__)
|
||||
+#if defined(_WIN32)
|
||||
+/* The __intXX are built-in types of the visual complier! So we don't
|
||||
+ need to include anything else here.
|
||||
+ This typedefs should be in sync with types from MEM_sys_types.h */
|
||||
|
|
|
@ -29,7 +29,7 @@
|
|||
#define CONTAINS_INDEX
|
||||
#define GRID_DIMENSION 20
|
||||
|
||||
#if defined(_WIN32) && !defined(__MINGW32__) && !(_MSC_VER >= 1900)
|
||||
#if defined(_WIN32) && !(_MSC_VER >= 1900)
|
||||
#define isnan(n) _isnan(n)
|
||||
#define LONG __int64
|
||||
#define int64_t __int64
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
#include <cstdio>
|
||||
#include <float.h>
|
||||
|
||||
#if defined(_WIN32) && !defined(__MINGW32__)
|
||||
#if defined(_WIN32)
|
||||
#define isnan(n) _isnan(n)
|
||||
#endif
|
||||
|
||||
|
|
|
@ -23,12 +23,10 @@
|
|||
#define mvmFloat double
|
||||
|
||||
#ifdef WIN32
|
||||
#ifndef FREE_WINDOWS
|
||||
#include "float.h"
|
||||
#define isnan(n) _isnan(n)
|
||||
#define finite _finite
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef sun
|
||||
#include "ieeefp.h"
|
||||
|
|
|
@ -38,7 +38,7 @@
|
|||
# include <tchar.h>
|
||||
#
|
||||
# ifndef ERROR_PROFILE_DOES_NOT_MATCH_DEVICE
|
||||
# define ERROR_PROFILE_DOES_NOT_MATCH_DEVICE 0x7E7 // Mingw64 headers may have had this
|
||||
# define ERROR_PROFILE_DOES_NOT_MATCH_DEVICE 0x7E7
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
|
|
@ -41,9 +41,7 @@
|
|||
|
||||
// We do not support multiple monitors at the moment
|
||||
#define COMPILE_MULTIMON_STUBS
|
||||
#ifndef FREE_WINDOWS
|
||||
#include <multimon.h>
|
||||
#endif
|
||||
|
||||
|
||||
GHOST_DisplayManagerWin32::GHOST_DisplayManagerWin32(void)
|
||||
|
|
|
@ -37,30 +37,6 @@
|
|||
#include <shlobj.h>
|
||||
#include "utfconv.h"
|
||||
|
||||
#ifdef __MINGW32__
|
||||
|
||||
#if !defined(SHARD_PIDL)
|
||||
#define SHARD_PIDL 0x00000001L
|
||||
#endif
|
||||
|
||||
#if !defined(SHARD_PATHA)
|
||||
#define SHARD_PATHA 0x00000002L
|
||||
#endif
|
||||
|
||||
#if !defined(SHARD_PATHW)
|
||||
#define SHARD_PATHW 0x00000003L
|
||||
#endif
|
||||
|
||||
#if !defined(SHARD_PATH)
|
||||
#ifdef UNICODE
|
||||
#define SHARD_PATH SHARD_PATHW
|
||||
#else
|
||||
#define SHARD_PATH SHARD_PATHA
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
GHOST_SystemPathsWin32::GHOST_SystemPathsWin32()
|
||||
{
|
||||
}
|
||||
|
|
|
@ -890,25 +890,15 @@ bool GHOST_SystemWin32::processNDOF(RAWINPUT const &raw)
|
|||
// send motion. Mark as 'sent' so motion will always get dispatched.
|
||||
eventSent = true;
|
||||
|
||||
#if defined(_MSC_VER) || defined(FREE_WINDOWS64)
|
||||
#if defined(_MSC_VER)
|
||||
// using Microsoft compiler & header files
|
||||
// they invented the RawInput API, so this version is (probably) correct.
|
||||
// MinGW64 also works fine with this
|
||||
BYTE const *data = raw.data.hid.bRawData;
|
||||
// struct RAWHID {
|
||||
// DWORD dwSizeHid;
|
||||
// DWORD dwCount;
|
||||
// BYTE bRawData[1];
|
||||
// };
|
||||
#else
|
||||
// MinGW's definition (below) doesn't agree, so we need a slight
|
||||
// workaround until it's fixed
|
||||
BYTE const *data = &raw.data.hid.bRawData;
|
||||
// struct RAWHID {
|
||||
// DWORD dwSizeHid;
|
||||
// DWORD dwCount;
|
||||
// BYTE bRawData; // <== isn't this s'posed to be a BYTE*?
|
||||
// };
|
||||
#endif
|
||||
|
||||
BYTE packetType = data[0];
|
||||
|
|
|
@ -37,10 +37,10 @@
|
|||
#error WIN32 only!
|
||||
#endif // WIN32
|
||||
|
||||
#ifndef __MINGW64__
|
||||
# undef _WIN32_WINNT
|
||||
# define _WIN32_WINNT 0x501 // require Windows XP or newer
|
||||
#endif
|
||||
/* require Windows XP or newer */
|
||||
#undef _WIN32_WINNT
|
||||
#define _WIN32_WINNT 0x501
|
||||
|
||||
#define WIN32_LEAN_AND_MEAN
|
||||
#include <windows.h>
|
||||
#include <ole2.h> // for drag-n-drop
|
||||
|
|
|
@ -8,10 +8,10 @@
|
|||
#error WIN32 only!
|
||||
#endif // WIN32
|
||||
|
||||
#ifndef __MINGW64__
|
||||
# undef _WIN32_WINNT
|
||||
# define _WIN32_WINNT 0x501 // require Windows XP or newer
|
||||
#endif
|
||||
/* require Windows XP or newer */
|
||||
#undef _WIN32_WINNT
|
||||
#define _WIN32_WINNT 0x501
|
||||
|
||||
#define WIN32_LEAN_AND_MEAN
|
||||
#include <windows.h>
|
||||
#include <shlobj.h>
|
||||
|
|
|
@ -89,14 +89,6 @@
|
|||
|
||||
#if !defined(__APPLE__) && !defined(__FreeBSD__) && !defined(__NetBSD__)
|
||||
// Needed for memalign on Linux and _aligned_alloc on Windows.
|
||||
# ifdef FREE_WINDOWS
|
||||
/* make sure _aligned_malloc is included */
|
||||
# ifdef __MSVCRT_VERSION__
|
||||
# undef __MSVCRT_VERSION__
|
||||
# endif
|
||||
|
||||
# define __MSVCRT_VERSION__ 0x0700
|
||||
# endif // FREE_WINDOWS
|
||||
|
||||
# include <malloc.h>
|
||||
#else
|
||||
|
|
|
@ -59,7 +59,7 @@ if(WITH_OPENCOLORIO)
|
|||
ocio_impl_glsl.cc
|
||||
)
|
||||
|
||||
if(WIN32 AND NOT MINGW)
|
||||
if(WIN32)
|
||||
list(APPEND INC_SYS
|
||||
${BOOST_INCLUDE_DIR}
|
||||
)
|
||||
|
|
|
@ -189,11 +189,6 @@ enum {
|
|||
# error Either __BIG_ENDIAN__ or __LITTLE_ENDIAN__ must be defined.
|
||||
#endif
|
||||
|
||||
/* there is really no good place for this */
|
||||
#if defined(FREE_WINDOWS) && ((__GNUC__ < 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ < 6)))
|
||||
# error "Mingw requires GCC 4.6 minimum"
|
||||
#endif
|
||||
|
||||
#define L_ENDIAN 1
|
||||
#define B_ENDIAN 0
|
||||
|
||||
|
|
|
@ -268,11 +268,7 @@ int BKE_frameserver_loop(void *context_v, RenderData *rd, ReportList *UNUSED(rep
|
|||
struct timeval tv;
|
||||
struct sockaddr_in addr;
|
||||
int len, rval;
|
||||
#ifdef FREE_WINDOWS
|
||||
int socklen;
|
||||
#else
|
||||
unsigned int socklen;
|
||||
#endif
|
||||
char buf[4096];
|
||||
|
||||
FrameserverContext *context = context_v;
|
||||
|
|
|
@ -29,10 +29,6 @@
|
|||
|
||||
/* BLI_array_alloca / alloca */
|
||||
|
||||
#if defined(__MINGW32__)
|
||||
# include <malloc.h> /* mingw needs for alloca() */
|
||||
#endif
|
||||
|
||||
#if defined(__GNUC__) || defined(__clang__)
|
||||
#if defined(__cplusplus) && (__cplusplus > 199711L)
|
||||
#define BLI_array_alloca(arr, realsize) \
|
||||
|
|
|
@ -32,11 +32,6 @@
|
|||
# define alloca _alloca
|
||||
#endif
|
||||
|
||||
/* alloca is defined here for MinGW32 */
|
||||
#ifdef __MINGW32__
|
||||
# include <malloc.h>
|
||||
#endif
|
||||
|
||||
#if defined(__cplusplus) && ((__cplusplus >= 201103L) || defined(_MSC_VER))
|
||||
# define HAS_CPP11_FEATURES
|
||||
#endif
|
||||
|
|
|
@ -65,10 +65,8 @@ int BLI_create_symlink(const char *path, const char *to) ATTR_NONNULL();
|
|||
|
||||
/* keep in sync with the definition of struct direntry in BLI_fileops_types.h */
|
||||
#ifdef WIN32
|
||||
# if defined(_MSC_VER) || defined(__MINGW64__)
|
||||
# if defined(_MSC_VER)
|
||||
typedef struct _stat64 BLI_stat_t;
|
||||
# elif defined(__MINGW32__)
|
||||
typedef struct _stati64 BLI_stat_t;
|
||||
# else
|
||||
typedef struct _stat BLI_stat_t;
|
||||
# endif
|
||||
|
|
|
@ -35,7 +35,7 @@
|
|||
|
||||
#include <sys/stat.h>
|
||||
|
||||
#if defined(WIN32) && !defined(FREE_WINDOWS)
|
||||
#if defined(WIN32)
|
||||
typedef unsigned int mode_t;
|
||||
#endif
|
||||
|
||||
|
@ -50,10 +50,8 @@ struct direntry {
|
|||
const char *relname;
|
||||
const char *path;
|
||||
#ifdef WIN32 /* keep in sync with the definition of BLI_stat_t in BLI_fileops.h */
|
||||
# if defined(_MSC_VER) || defined(__MINGW64__)
|
||||
# if defined(_MSC_VER)
|
||||
struct _stat64 s;
|
||||
# elif defined(__MINGW32__)
|
||||
struct _stati64 s;
|
||||
# else
|
||||
struct _stat s;
|
||||
# endif
|
||||
|
|
|
@ -65,8 +65,8 @@ typedef uint64_t u_int64_t;
|
|||
|
||||
#include <inttypes.h>
|
||||
|
||||
/* MinGW and MSVC >= 2010 */
|
||||
#elif defined(FREE_WINDOWS) || defined(_MSC_VER)
|
||||
/* MSVC >= 2010 */
|
||||
#elif defined(_MSC_VER)
|
||||
#include <stdint.h>
|
||||
|
||||
#else
|
||||
|
|
|
@ -37,15 +37,6 @@
|
|||
# error "This include is for Windows only!"
|
||||
#endif
|
||||
|
||||
#ifdef FREE_WINDOWS
|
||||
# ifdef WINVER
|
||||
# undef WINVER
|
||||
# endif
|
||||
|
||||
/* Some stuff requires WINVER 0x500, but mingw's default is 0x400 */
|
||||
# define WINVER 0x0501
|
||||
#endif
|
||||
|
||||
#define WIN32_LEAN_AND_MEAN
|
||||
|
||||
#ifndef WIN32_SKIP_HKEY_PROTECTION
|
||||
|
@ -94,7 +85,7 @@ extern "C" {
|
|||
# define snprintf _snprintf
|
||||
#endif
|
||||
|
||||
#if defined(_MSC_VER) || (defined(FREE_WINDOWS) && !defined(FREE_WINDOWS64))
|
||||
#if defined(_MSC_VER)
|
||||
# define R_OK 4
|
||||
# define W_OK 2
|
||||
// not accepted by access() on windows
|
||||
|
@ -102,28 +93,22 @@ extern "C" {
|
|||
# define F_OK 0
|
||||
#endif
|
||||
|
||||
#ifndef FREE_WINDOWS
|
||||
typedef unsigned int mode_t;
|
||||
#endif
|
||||
|
||||
/* use functions that take a 64 bit offset for files larger than 4GB */
|
||||
#ifndef FREE_WINDOWS
|
||||
# include <stdio.h>
|
||||
# define fseek(stream, offset, origin) _fseeki64(stream, offset, origin)
|
||||
# define ftell(stream) _ftelli64(stream)
|
||||
# define lseek(fd, offset, origin) _lseeki64(fd, offset, origin)
|
||||
# define tell(fd) _telli64(fd)
|
||||
#endif
|
||||
#include <stdio.h>
|
||||
#define fseek(stream, offset, origin) _fseeki64(stream, offset, origin)
|
||||
#define ftell(stream) _ftelli64(stream)
|
||||
#define lseek(fd, offset, origin) _lseeki64(fd, offset, origin)
|
||||
#define tell(fd) _telli64(fd)
|
||||
|
||||
|
||||
/* mingw using _SSIZE_T_ to declare ssize_t type */
|
||||
#ifndef _SSIZE_T_
|
||||
# define _SSIZE_T_
|
||||
/* python uses HAVE_SSIZE_T */
|
||||
# ifndef HAVE_SSIZE_T
|
||||
# define HAVE_SSIZE_T 1
|
||||
# ifndef FREE_WINDOWS64
|
||||
typedef long ssize_t;
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
|
|
@ -42,9 +42,6 @@
|
|||
#include "zlib.h"
|
||||
|
||||
#ifdef WIN32
|
||||
# ifdef __MINGW32__
|
||||
# include <ctype.h>
|
||||
# endif
|
||||
# include <io.h>
|
||||
# include "BLI_winstuff.h"
|
||||
# include "BLI_callbacks.h"
|
||||
|
@ -265,7 +262,7 @@ void *BLI_gzopen(const char *filename, const char *mode)
|
|||
|
||||
/* temporary #if until we update all libraries to 1.2.7
|
||||
* for correct wide char path handling */
|
||||
#if ZLIB_VERNUM >= 0x1270 && !defined(FREE_WINDOWS)
|
||||
#if ZLIB_VERNUM >= 0x1270
|
||||
UTF16_ENCODE(filename);
|
||||
|
||||
gzfile = gzopen_w(filename_16, mode);
|
||||
|
|
|
@ -1173,22 +1173,10 @@ bool BLI_path_program_search(
|
|||
void BLI_setenv(const char *env, const char *val)
|
||||
{
|
||||
/* free windows */
|
||||
#if (defined(WIN32) || defined(WIN64)) && defined(FREE_WINDOWS)
|
||||
char *envstr;
|
||||
|
||||
if (val)
|
||||
envstr = BLI_sprintfN("%s=%s", env, val);
|
||||
else
|
||||
envstr = BLI_sprintfN("%s=", env);
|
||||
|
||||
putenv(envstr);
|
||||
MEM_freeN(envstr);
|
||||
|
||||
/* non-free windows */
|
||||
#elif (defined(WIN32) || defined(WIN64)) /* not free windows */
|
||||
#if (defined(WIN32) || defined(WIN64))
|
||||
uputenv(env, val);
|
||||
|
||||
|
||||
#else
|
||||
/* linux/osx/bsd */
|
||||
if (val)
|
||||
|
|
|
@ -253,10 +253,8 @@ int BLI_stat(const char *path, BLI_stat_t *buffer)
|
|||
|
||||
int BLI_wstat(const wchar_t *path, BLI_stat_t *buffer)
|
||||
{
|
||||
#if defined(_MSC_VER) || defined(__MINGW64__)
|
||||
#if defined(_MSC_VER)
|
||||
return _wstat64(path, buffer);
|
||||
#elif defined(__MINGW32__)
|
||||
return _wstati64(path, buffer);
|
||||
#else
|
||||
return _wstat(path, buffer);
|
||||
#endif
|
||||
|
@ -424,23 +422,13 @@ void BLI_file_free_lines(LinkNode *lines)
|
|||
bool BLI_file_older(const char *file1, const char *file2)
|
||||
{
|
||||
#ifdef WIN32
|
||||
#ifndef __MINGW32__
|
||||
struct _stat st1, st2;
|
||||
#else
|
||||
struct _stati64 st1, st2;
|
||||
#endif
|
||||
struct _stat st1, st2;
|
||||
|
||||
UTF16_ENCODE(file1);
|
||||
UTF16_ENCODE(file2);
|
||||
|
||||
#ifndef __MINGW32__
|
||||
if (_wstat(file1_16, &st1)) return false;
|
||||
if (_wstat(file2_16, &st2)) return false;
|
||||
#else
|
||||
if (_wstati64(file1_16, &st1)) return false;
|
||||
if (_wstati64(file2_16, &st2)) return false;
|
||||
#endif
|
||||
|
||||
if (_wstat(file2_16, &st2)) return false;
|
||||
|
||||
UTF16_UN_ENCODE(file2);
|
||||
UTF16_UN_ENCODE(file1);
|
||||
|
|
|
@ -160,8 +160,6 @@ void RegisterBlendExtension(void)
|
|||
GetSystemDirectory(SysDir, FILE_MAXDIR);
|
||||
#ifdef _WIN64
|
||||
ThumbHandlerDLL = "BlendThumb64.dll";
|
||||
#elif defined(__MINGW32__)
|
||||
ThumbHandlerDLL = "BlendThumb.dll";
|
||||
#else
|
||||
IsWow64Process(GetCurrentProcess(), &IsWOW64);
|
||||
if (IsWOW64 == true)
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
|
||||
#include <algorithm>
|
||||
|
||||
#if !defined(WIN32) || defined(FREE_WINDOWS)
|
||||
#if !defined(WIN32)
|
||||
#include <iostream>
|
||||
#endif
|
||||
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
|
||||
#include <algorithm>
|
||||
|
||||
#if !defined(WIN32) || defined(FREE_WINDOWS)
|
||||
#if !defined(WIN32)
|
||||
#include <stdint.h>
|
||||
#endif
|
||||
|
||||
|
|
|
@ -48,9 +48,6 @@
|
|||
|
||||
#ifdef WIN32
|
||||
# include <windows.h> /* need to include windows.h so _WIN32_IE is defined */
|
||||
# ifndef _WIN32_IE
|
||||
# define _WIN32_IE 0x0400 /* minimal requirements for SHGetSpecialFolderPath on MINGW MSVC has this defined already */
|
||||
# endif
|
||||
# include <shlobj.h> /* for SHGetSpecialFolderPath, has to be done before BLI_winstuff
|
||||
* because 'near' is disabled through BLI_windstuff */
|
||||
# include "BLI_winstuff.h"
|
||||
|
|
|
@ -40,10 +40,7 @@
|
|||
# include <mmsystem.h>
|
||||
# include <memory.h>
|
||||
# include <commdlg.h>
|
||||
|
||||
# ifndef FREE_WINDOWS
|
||||
# include <vfw.h>
|
||||
# endif
|
||||
# include <vfw.h>
|
||||
|
||||
# undef AVIIF_KEYFRAME // redefined in AVI_avi.h
|
||||
# undef AVIIF_LIST // redefined in AVI_avi.h
|
||||
|
@ -130,7 +127,7 @@ struct anim {
|
|||
/* avi */
|
||||
struct _AviMovie *avi;
|
||||
|
||||
#if defined(_WIN32) && !defined(FREE_WINDOWS)
|
||||
#if defined(_WIN32)
|
||||
/* windows avi */
|
||||
int avistreams;
|
||||
int firstvideo;
|
||||
|
|
|
@ -37,10 +37,7 @@
|
|||
#include <mmsystem.h>
|
||||
#include <memory.h>
|
||||
#include <commdlg.h>
|
||||
|
||||
#ifndef FREE_WINDOWS
|
||||
#include <vfw.h>
|
||||
#endif
|
||||
|
||||
#undef AVIIF_KEYFRAME /* redefined in AVI_avi.h */
|
||||
#undef AVIIF_LIST /* redefined in AVI_avi.h */
|
||||
|
@ -173,7 +170,7 @@ static void an_stringenc(char *string, const char *head, const char *tail, unsig
|
|||
#ifdef WITH_AVI
|
||||
static void free_anim_avi(struct anim *anim)
|
||||
{
|
||||
#if defined(_WIN32) && !defined(FREE_WINDOWS)
|
||||
#if defined(_WIN32)
|
||||
int i;
|
||||
#endif
|
||||
|
||||
|
@ -184,7 +181,7 @@ static void free_anim_avi(struct anim *anim)
|
|||
MEM_freeN(anim->avi);
|
||||
anim->avi = NULL;
|
||||
|
||||
#if defined(_WIN32) && !defined(FREE_WINDOWS)
|
||||
#if defined(_WIN32)
|
||||
|
||||
if (anim->pgf) {
|
||||
AVIStreamGetFrameClose(anim->pgf);
|
||||
|
@ -283,7 +280,7 @@ static int startavi(struct anim *anim)
|
|||
{
|
||||
|
||||
AviError avierror;
|
||||
#if defined(_WIN32) && !defined(FREE_WINDOWS)
|
||||
#if defined(_WIN32)
|
||||
HRESULT hr;
|
||||
int i, firstvideo = -1;
|
||||
int streamcount;
|
||||
|
@ -304,7 +301,7 @@ static int startavi(struct anim *anim)
|
|||
|
||||
avierror = AVI_open_movie(anim->name, anim->avi);
|
||||
|
||||
#if defined(_WIN32) && !defined(FREE_WINDOWS)
|
||||
#if defined(_WIN32)
|
||||
if (avierror == AVI_ERROR_COMPRESSION) {
|
||||
AVIFileInit();
|
||||
hr = AVIFileOpen(&anim->pfile, anim->name, OF_READ, 0L);
|
||||
|
@ -401,7 +398,7 @@ static ImBuf *avi_fetchibuf(struct anim *anim, int position)
|
|||
return NULL;
|
||||
}
|
||||
|
||||
#if defined(_WIN32) && !defined(FREE_WINDOWS)
|
||||
#if defined(_WIN32)
|
||||
if (anim->avistreams) {
|
||||
LPBITMAPINFOHEADER lpbi;
|
||||
|
||||
|
|
|
@ -37,7 +37,7 @@ extern "C" {
|
|||
#include <stdio.h> // printf
|
||||
#include <fstream>
|
||||
|
||||
#if defined (WIN32) && !defined(FREE_WINDOWS)
|
||||
#if defined (WIN32)
|
||||
#include "utfconv.h"
|
||||
#endif
|
||||
|
||||
|
@ -62,7 +62,7 @@ int imb_save_dds(struct ImBuf *ibuf, const char *name, int /*flags*/)
|
|||
/* open file for writing */
|
||||
std::ofstream fildes;
|
||||
|
||||
#if defined (WIN32) && !defined(FREE_WINDOWS)
|
||||
#if defined (WIN32)
|
||||
wchar_t *wname = alloc_utf16_from_8(name, 0);
|
||||
fildes.open(wname);
|
||||
free(wname);
|
||||
|
|
|
@ -31,7 +31,7 @@
|
|||
|
||||
#include <set>
|
||||
|
||||
#if defined(WIN32) && !defined(FREE_WINDOWS)
|
||||
#if defined(WIN32)
|
||||
#include "utfconv.h"
|
||||
#endif
|
||||
|
||||
|
|
|
@ -69,7 +69,7 @@
|
|||
|
||||
#include <openexr_api.h>
|
||||
|
||||
#if defined (WIN32) && !defined(FREE_WINDOWS)
|
||||
#if defined (WIN32)
|
||||
#include "utfconv.h"
|
||||
#endif
|
||||
|
||||
|
@ -77,7 +77,7 @@ extern "C"
|
|||
{
|
||||
|
||||
// The following prevents a linking error in debug mode for MSVC using the libs in CVS
|
||||
#if defined(WITH_OPENEXR) && defined(_WIN32) && defined(DEBUG) && !defined(__MINGW32__) && _MSC_VER < 1900
|
||||
#if defined(WITH_OPENEXR) && defined(_WIN32) && defined(DEBUG) && _MSC_VER < 1900
|
||||
_CRTIMP void __cdecl _invalid_parameter_noinfo(void)
|
||||
{
|
||||
}
|
||||
|
@ -180,7 +180,7 @@ public:
|
|||
: IStream(filename)
|
||||
{
|
||||
/* utf-8 file path support on windows */
|
||||
#if defined (WIN32) && !defined(FREE_WINDOWS)
|
||||
#if defined (WIN32)
|
||||
wchar_t *wfilename = alloc_utf16_from_8(filename, 0);
|
||||
ifs.open(wfilename, std::ios_base::binary);
|
||||
free(wfilename);
|
||||
|
@ -243,7 +243,7 @@ public:
|
|||
: OStream(filename)
|
||||
{
|
||||
/* utf-8 file path support on windows */
|
||||
#if defined (WIN32) && !defined(FREE_WINDOWS)
|
||||
#if defined (WIN32)
|
||||
wchar_t *wfilename = alloc_utf16_from_8(filename, 0);
|
||||
ofs.open(wfilename, std::ios_base::binary);
|
||||
free(wfilename);
|
||||
|
|
|
@ -433,10 +433,6 @@ static void rna_Object_parent_set(PointerRNA *ptr, PointerRNA value)
|
|||
Object *ob = (Object *)ptr->data;
|
||||
Object *par = (Object *)value.data;
|
||||
|
||||
#ifdef FREE_WINDOWS
|
||||
/* NOTE: this dummy check here prevents this method causing weird runtime errors on mingw 4.6.2 */
|
||||
if (ob)
|
||||
#endif
|
||||
{
|
||||
ED_object_parent(ob, par, ob->partype, ob->parsubstr);
|
||||
}
|
||||
|
|
|
@ -126,7 +126,7 @@ static PyObject *bpy_app_handlers_persistent_new(PyTypeObject *UNUSED(type), PyO
|
|||
/* dummy type because decorators can't be PyCFunctions */
|
||||
static PyTypeObject BPyPersistent_Type = {
|
||||
|
||||
#if defined(_MSC_VER) || defined(FREE_WINDOWS)
|
||||
#if defined(_MSC_VER)
|
||||
PyVarObject_HEAD_INIT(NULL, 0)
|
||||
#else
|
||||
PyVarObject_HEAD_INIT(&PyType_Type, 0)
|
||||
|
@ -206,7 +206,7 @@ PyObject *BPY_app_handlers_struct(void)
|
|||
{
|
||||
PyObject *ret;
|
||||
|
||||
#if defined(_MSC_VER) || defined(FREE_WINDOWS)
|
||||
#if defined(_MSC_VER)
|
||||
BPyPersistent_Type.ob_base.ob_base.ob_type = &PyType_Type;
|
||||
#endif
|
||||
|
||||
|
|
|
@ -5692,7 +5692,7 @@ PyTypeObject pyrna_struct_meta_idprop_Type = {
|
|||
NULL, /* struct PyMethodDef *tp_methods; */
|
||||
NULL, /* struct PyMemberDef *tp_members; */
|
||||
NULL, /* struct PyGetSetDef *tp_getset; */
|
||||
#if defined(_MSC_VER) || defined(FREE_WINDOWS)
|
||||
#if defined(_MSC_VER)
|
||||
NULL, /* defer assignment */
|
||||
#else
|
||||
&PyType_Type, /* struct _typeobject *tp_base; */
|
||||
|
@ -6267,7 +6267,7 @@ static PyTypeObject pyrna_prop_collection_iter_Type = {
|
|||
NULL, /* reprfunc tp_str; */
|
||||
|
||||
/* will only use these if this is a subtype of a py class */
|
||||
#if defined(_MSC_VER) || defined(FREE_WINDOWS)
|
||||
#if defined(_MSC_VER)
|
||||
NULL, /* defer assignment */
|
||||
#else
|
||||
PyObject_GenericGetAttr, /* getattrofunc tp_getattro; */
|
||||
|
@ -6300,7 +6300,7 @@ static PyTypeObject pyrna_prop_collection_iter_Type = {
|
|||
#endif
|
||||
/*** Added in release 2.2 ***/
|
||||
/* Iterators */
|
||||
#if defined(_MSC_VER) || defined(FREE_WINDOWS)
|
||||
#if defined(_MSC_VER)
|
||||
NULL, /* defer assignment */
|
||||
#else
|
||||
PyObject_SelfIter, /* getiterfunc tp_iter; */
|
||||
|
@ -6776,7 +6776,7 @@ void BPY_rna_init(void)
|
|||
#endif
|
||||
|
||||
/* for some reason MSVC complains of these */
|
||||
#if defined(_MSC_VER) || defined(FREE_WINDOWS)
|
||||
#if defined(_MSC_VER)
|
||||
pyrna_struct_meta_idprop_Type.tp_base = &PyType_Type;
|
||||
|
||||
pyrna_prop_collection_iter_Type.tp_iter = PyObject_SelfIter;
|
||||
|
|
|
@ -35,24 +35,13 @@ if(WIN32 AND NOT UNIX)
|
|||
string(SUBSTRING ${BLENDER_VERSION} 0 1 bver1)
|
||||
string(SUBSTRING ${BLENDER_VERSION} 2 1 bver2)
|
||||
string(SUBSTRING ${BLENDER_VERSION} 3 1 bver3)
|
||||
if(MINGW)
|
||||
add_definitions(
|
||||
-DWINDRES
|
||||
-DBLEN_VER_RC_STR_M=${BLENDER_VERSION}
|
||||
-DBLEN_VER_RC_1=${bver1}
|
||||
-DBLEN_VER_RC_2=${bver2}
|
||||
-DBLEN_VER_RC_3=${bver3}
|
||||
-DBLEN_VER_RC_4=0
|
||||
)
|
||||
else()
|
||||
add_definitions(
|
||||
-DBLEN_VER_RC_STR=${BLENDER_VERSION}
|
||||
-DBLEN_VER_RC_1=${bver1}
|
||||
-DBLEN_VER_RC_2=${bver2}
|
||||
-DBLEN_VER_RC_3=${bver3}
|
||||
-DBLEN_VER_RC_4=0
|
||||
)
|
||||
endif()
|
||||
add_definitions(
|
||||
-DBLEN_VER_RC_STR=${BLENDER_VERSION}
|
||||
-DBLEN_VER_RC_1=${bver1}
|
||||
-DBLEN_VER_RC_2=${bver2}
|
||||
-DBLEN_VER_RC_3=${bver3}
|
||||
-DBLEN_VER_RC_4=0
|
||||
)
|
||||
|
||||
add_executable(
|
||||
blenderplayer ${EXETYPE}
|
||||
|
|
|
@ -113,24 +113,13 @@ if(WIN32 AND NOT UNIX)
|
|||
string(SUBSTRING ${BLENDER_VERSION} 0 1 bver1)
|
||||
string(SUBSTRING ${BLENDER_VERSION} 2 1 bver2)
|
||||
string(SUBSTRING ${BLENDER_VERSION} 3 1 bver3)
|
||||
if(MINGW)
|
||||
add_definitions(
|
||||
-DWINDRES
|
||||
-DBLEN_VER_RC_STR_M=${BLENDER_VERSION}
|
||||
-DBLEN_VER_RC_1=${bver1}
|
||||
-DBLEN_VER_RC_2=${bver2}
|
||||
-DBLEN_VER_RC_3=${bver3}
|
||||
-DBLEN_VER_RC_4=0
|
||||
)
|
||||
else()
|
||||
add_definitions(
|
||||
-DBLEN_VER_RC_STR=${BLENDER_VERSION}
|
||||
-DBLEN_VER_RC_1=${bver1}
|
||||
-DBLEN_VER_RC_2=${bver2}
|
||||
-DBLEN_VER_RC_3=${bver3}
|
||||
-DBLEN_VER_RC_4=0
|
||||
)
|
||||
endif()
|
||||
add_definitions(
|
||||
-DBLEN_VER_RC_STR=${BLENDER_VERSION}
|
||||
-DBLEN_VER_RC_1=${bver1}
|
||||
-DBLEN_VER_RC_2=${bver2}
|
||||
-DBLEN_VER_RC_3=${bver3}
|
||||
-DBLEN_VER_RC_4=0
|
||||
)
|
||||
|
||||
|
||||
list(APPEND SRC
|
||||
|
@ -652,7 +641,6 @@ elseif(WIN32)
|
|||
if(WITH_PYTHON)
|
||||
string(REPLACE "." "" _PYTHON_VERSION_NO_DOTS ${PYTHON_VERSION})
|
||||
|
||||
# MinGW TODO: This bit of Python configuration diverges from MSVC
|
||||
if(NOT CMAKE_COMPILER_IS_GNUCC)
|
||||
install(
|
||||
FILES ${LIBDIR}/python/lib/python${_PYTHON_VERSION_NO_DOTS}.dll
|
||||
|
@ -749,20 +737,6 @@ elseif(WIN32)
|
|||
DESTINATION ${BLENDER_VERSION}/python/bin
|
||||
CONFIGURATIONS Debug
|
||||
)
|
||||
|
||||
# MinGW needs Python DLL
|
||||
if(MINGW)
|
||||
install(
|
||||
FILES ${LIBDIR}/python/lib/python${_PYTHON_VERSION_NO_DOTS}.dll
|
||||
DESTINATION "."
|
||||
CONFIGURATIONS Release;RelWithDebInfo;MinSizeRel
|
||||
)
|
||||
install(
|
||||
FILES ${LIBDIR}/python/lib/python${_PYTHON_VERSION_NO_DOTS}_d.dll
|
||||
DESTINATION "."
|
||||
CONFIGURATIONS Debug
|
||||
)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
unset(_PYTHON_VERSION_NO_DOTS)
|
||||
|
@ -785,57 +759,19 @@ elseif(WIN32)
|
|||
FILES ${LIBDIR}/pthreads/lib/pthreadVC2.dll
|
||||
DESTINATION "."
|
||||
)
|
||||
else()
|
||||
#MinGW64 comes with own version. For portable builds it will probaly have to be copied to work
|
||||
if(NOT WITH_MINGW64)
|
||||
install(
|
||||
FILES ${LIBDIR}/pthreads/lib/pthreadGC2.dll
|
||||
DESTINATION "."
|
||||
)
|
||||
elseif(WITH_MINGW64)
|
||||
install(
|
||||
FILES
|
||||
${LIBDIR}/binaries/libgcc_s_sjlj-1.dll
|
||||
${LIBDIR}/binaries/libwinpthread-1.dll
|
||||
${LIBDIR}/binaries/libstdc++-6.dll
|
||||
DESTINATION "."
|
||||
)
|
||||
|
||||
if(WITH_OPENMP)
|
||||
install(
|
||||
FILES
|
||||
${LIBDIR}/binaries/libgomp-1.dll
|
||||
DESTINATION "."
|
||||
)
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(WITH_CODEC_FFMPEG)
|
||||
if(WITH_MINGW64)
|
||||
install(
|
||||
FILES
|
||||
${LIBDIR}/ffmpeg/lib/avcodec-53.dll
|
||||
${LIBDIR}/ffmpeg/lib/avformat-53.dll
|
||||
${LIBDIR}/ffmpeg/lib/avdevice-53.dll
|
||||
${LIBDIR}/ffmpeg/lib/avutil-51.dll
|
||||
${LIBDIR}/ffmpeg/lib/swscale-2.dll
|
||||
${LIBDIR}/ffmpeg/lib/swresample-0.dll
|
||||
${LIBDIR}/ffmpeg/lib/xvidcore.dll
|
||||
DESTINATION "."
|
||||
)
|
||||
else()
|
||||
install(
|
||||
FILES
|
||||
${LIBDIR}/ffmpeg/lib/avcodec-57.dll
|
||||
${LIBDIR}/ffmpeg/lib/avformat-57.dll
|
||||
${LIBDIR}/ffmpeg/lib/avdevice-57.dll
|
||||
${LIBDIR}/ffmpeg/lib/avutil-55.dll
|
||||
${LIBDIR}/ffmpeg/lib/swscale-4.dll
|
||||
${LIBDIR}/ffmpeg/lib/swresample-2.dll
|
||||
DESTINATION "."
|
||||
)
|
||||
endif()
|
||||
install(
|
||||
FILES
|
||||
${LIBDIR}/ffmpeg/lib/avcodec-57.dll
|
||||
${LIBDIR}/ffmpeg/lib/avformat-57.dll
|
||||
${LIBDIR}/ffmpeg/lib/avdevice-57.dll
|
||||
${LIBDIR}/ffmpeg/lib/avutil-55.dll
|
||||
${LIBDIR}/ffmpeg/lib/swscale-4.dll
|
||||
${LIBDIR}/ffmpeg/lib/swresample-2.dll
|
||||
DESTINATION "."
|
||||
)
|
||||
endif()
|
||||
|
||||
if(WITH_CODEC_SNDFILE)
|
||||
|
@ -851,30 +787,13 @@ elseif(WIN32)
|
|||
${LIBDIR}/openal/lib/OpenAL32.dll
|
||||
DESTINATION "."
|
||||
)
|
||||
# MinGW TODO: Need to update to a newer OpenAL version
|
||||
# which does not depend on wrap_oal.dll
|
||||
if(CMAKE_COMPILER_IS_GNUCC)
|
||||
install(
|
||||
FILES
|
||||
${LIBDIR}/openal/lib/wrap_oal.dll
|
||||
DESTINATION "."
|
||||
)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(WITH_SDL)
|
||||
#MinGW TODO: Update to SDL2
|
||||
if(NOT CMAKE_COMPILER_IS_GNUCC)
|
||||
install(
|
||||
FILES ${LIBDIR}/sdl/lib/SDL2.dll
|
||||
DESTINATION "."
|
||||
)
|
||||
else()
|
||||
install(
|
||||
FILES ${LIBDIR}/sdl/lib/SDL.dll
|
||||
DESTINATION "."
|
||||
)
|
||||
endif()
|
||||
install(
|
||||
FILES ${LIBDIR}/sdl/lib/SDL2.dll
|
||||
DESTINATION "."
|
||||
)
|
||||
endif()
|
||||
|
||||
if(WITH_SYSTEM_AUDASPACE)
|
||||
|
@ -901,19 +820,11 @@ elseif(WIN32)
|
|||
|
||||
if(WITH_OPENCOLORIO)
|
||||
set(OCIOBIN ${LIBDIR}/opencolorio/bin)
|
||||
if(NOT MINGW)
|
||||
install(
|
||||
FILES
|
||||
${OCIOBIN}/OpenColorIO.dll
|
||||
DESTINATION "."
|
||||
)
|
||||
else()
|
||||
install(
|
||||
FILES
|
||||
${OCIOBIN}/libOpenColorIO.dll
|
||||
DESTINATION "."
|
||||
)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
elseif(APPLE)
|
||||
|
|
|
@ -40,10 +40,8 @@ CHashedPtr::CHashedPtr(void* val) : m_valptr(val)
|
|||
|
||||
unsigned int CHashedPtr::hash() const
|
||||
{
|
||||
#if defined(_WIN64) && !defined(FREE_WINDOWS64)
|
||||
#if defined(_WIN64)
|
||||
unsigned __int64 key = (unsigned __int64)m_valptr;
|
||||
#elif defined(FREE_WINDOWS64)
|
||||
unsigned long long key = (unsigned long long)m_valptr;
|
||||
#else
|
||||
unsigned long key = (unsigned long)m_valptr;
|
||||
#endif
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
// cool things like (IF(LOD==1,CCurvedValue,IF(LOD==2,CCurvedValue2)) etc...
|
||||
#include "EXP_IfExpr.h"
|
||||
|
||||
#if (defined(WIN32) || defined(WIN64)) && !defined(FREE_WINDOWS)
|
||||
#if defined(WIN32) || defined(WIN64)
|
||||
#define strcasecmp _stricmp
|
||||
|
||||
#ifndef strtoll
|
||||
|
|
|
@ -31,10 +31,8 @@
|
|||
*/
|
||||
|
||||
|
||||
#if defined(_WIN64) && !defined(FREE_WINDOWS64)
|
||||
#if defined(_WIN64)
|
||||
typedef unsigned __int64 uint_ptr;
|
||||
#elif defined(FREE_WINDOWS64)
|
||||
typedef unsigned long long uint_ptr;
|
||||
#else
|
||||
typedef unsigned long uint_ptr;
|
||||
#endif
|
||||
|
|
|
@ -80,12 +80,6 @@
|
|||
#define DEFAULT_LOGIC_TIC_RATE 60.0
|
||||
//#define DEFAULT_PHYSICS_TIC_RATE 60.0
|
||||
|
||||
#ifdef FREE_WINDOWS /* XXX mingw64 (gcc 4.7.0) defines a macro for DrawText that translates to DrawTextA. Not good */
|
||||
#ifdef DrawText
|
||||
#undef DrawText
|
||||
#endif
|
||||
#endif
|
||||
|
||||
const char KX_KetsjiEngine::m_profileLabels[tc_numCategories][15] = {
|
||||
"Physics:", // tc_physics
|
||||
"Logic:", // tc_logic
|
||||
|
|
|
@ -43,7 +43,7 @@ extern "C" {
|
|||
|
||||
#include "Exception.h"
|
||||
|
||||
#if (defined(WIN32) || defined(WIN64)) && !defined(FREE_WINDOWS)
|
||||
#if (defined(WIN32) || defined(WIN64))
|
||||
#define strcasecmp _stricmp
|
||||
#endif
|
||||
|
||||
|
|
Loading…
Reference in New Issue