* merge r22734 from trunk
authorNathan Letwory <nathan@letworyinteractive.com>
Mon, 24 Aug 2009 02:51:59 +0000 (02:51 +0000)
committerNathan Letwory <nathan@letworyinteractive.com>
Mon, 24 Aug 2009 02:51:59 +0000 (02:51 +0000)
NOTE: Remember to svn up your lib/windows. Also, CMake files might need updating still

1  2 
SConstruct
config/win32-mingw-config.py
config/win32-vc-config.py

diff --combined SConstruct
index dad9ef544462459734a42c1784ef0fe62890c8d9,4ce3aa25d112c553d59fbfcb54f19f0fe9c0bf28..f2eb7146930b79e7804871389a1cfea05e4f7195
  # Set up some custom actions and target/argument handling
  # Then read all SConscripts and build
  
 +import platform as pltfrm
 +
 +# Need a better way to do this. Automagical maybe is not the best thing, maybe it is.
 +if pltfrm.architecture()[0] == '64bit':
 +      bitness = 64
 +else:
 +      bitness = 32
 +
  import sys
  import os
  import os.path
@@@ -60,10 -52,13 +60,10 @@@ B = tools.Blende
  platform = sys.platform
  quickie = None
  quickdebug = None
 -nsis_build = None
  
  ##### BEGIN SETUP #####
  
 -B.possible_types = ['core', 'common', 'blender', 'intern',
 -                                      'international', 'game', 'game2',
 -                                      'player', 'player2', 'system']
 +B.possible_types = ['core', 'player', 'intern', 'extern']
  
  B.binarykind = ['blender' , 'blenderplayer']
  ##################################
@@@ -139,17 -134,14 +139,17 @@@ if cxx
        env['CXX'] = cxx
  
  if env['CC'] in ['cl', 'cl.exe'] and sys.platform=='win32':
 -      platform = 'win32-vc'
 +      if bitness == 64:
 +              platform = 'win64-vc'
 +      else:
 +              platform = 'win32-vc'
  elif env['CC'] in ['gcc'] and sys.platform=='win32':
        platform = 'win32-mingw'
  
  env.SConscriptChdir(0)
  
  crossbuild = B.arguments.get('BF_CROSS', None)
 -if crossbuild and platform!='win32':
 +if crossbuild and platform not in ('win32-vc', 'win64-vc'):
        platform = 'linuxcross'
  
  env['OURPLATFORM'] = platform
@@@ -193,7 -185,7 +193,7 @@@ if env['BF_NO_ELBEEM'] == 1
        env['CCFLAGS'].append('-DDISABLE_ELBEEM')
  
  if env['WITH_BF_OPENMP'] == 1:
 -              if env['OURPLATFORM']=='win32-vc':
 +              if env['OURPLATFORM'] in ('win32-vc', 'win64-vc'):
                                env['CCFLAGS'].append('/openmp')
                                env['CPPFLAGS'].append('/openmp')
                                env['CXXFLAGS'].append('/openmp')
@@@ -279,13 -271,17 +279,13 @@@ if 'blenderlite' in B.targets
        target_env_defs['WITH_BF_OPENJPEG'] = False
        target_env_defs['WITH_BF_FFMPEG'] = False
        target_env_defs['WITH_BF_QUICKTIME'] = False
 -      target_env_defs['WITH_BF_YAFRAY'] = False
        target_env_defs['WITH_BF_REDCODE'] = False
 -      target_env_defs['WITH_BF_FTGL'] = False
        target_env_defs['WITH_BF_DDS'] = False
        target_env_defs['WITH_BF_ZLIB'] = False
        target_env_defs['WITH_BF_SDL'] = False
        target_env_defs['WITH_BF_JPEG'] = False
        target_env_defs['WITH_BF_PNG'] = False
 -      target_env_defs['WITH_BF_ODE'] = False
        target_env_defs['WITH_BF_BULLET'] = False
 -      target_env_defs['WITH_BF_SOLID'] = False
        target_env_defs['WITH_BF_BINRELOC'] = False
        target_env_defs['BF_BUILDINFO'] = False
        target_env_defs['BF_NO_ELBEEM'] = True
                if k not in B.arguments:
                        env[k] = v
  
 +if env['WITH_BF_SDL'] == False and env['OURPLATFORM'] in ('win32-vc', 'win32-ming', 'win64-vc'):
 +      env['PLATFORM_LINKFLAGS'].remove('/ENTRY:mainCRTStartup')
 +      env['PLATFORM_LINKFLAGS'].append('/ENTRY:main')
 +
  # lastly we check for root_build_dir ( we should not do before, otherwise we might do wrong builddir
  #B.root_build_dir = B.arguments.get('BF_BUILDDIR', '..'+os.sep+'build'+os.sep+platform+os.sep)
  B.root_build_dir = env['BF_BUILDDIR']
@@@ -402,15 -394,11 +402,15 @@@ dobj = B.buildinfo(env, "dynamic") + B.
  thestatlibs, thelibincs = B.setup_staticlibs(env)
  thesyslibs = B.setup_syslibs(env)
  
 +if env['WITH_BF_PLAYER']:
 +      print("Warning: Game player may not build on 2.5")
 +
  if 'blender' in B.targets or not env['WITH_BF_NOBLENDER']:
 -      env.BlenderProg(B.root_build_dir, "blender", dobj + mainlist + thestatlibs, [], thesyslibs, [B.root_build_dir+'/lib'] + thelibincs, 'blender')
 +      #env.BlenderProg(B.root_build_dir, "blender", dobj , [], mainlist + thestatlibs + thesyslibs, [B.root_build_dir+'/lib'] + thelibincs, 'blender')
 +      env.BlenderProg(B.root_build_dir, "blender", dobj + mainlist, [], thestatlibs + thesyslibs, [B.root_build_dir+'/lib'] + thelibincs, 'blender')
  if env['WITH_BF_PLAYER']:
        playerlist = B.create_blender_liblist(env, 'player')
 -      env.BlenderProg(B.root_build_dir, "blenderplayer", dobj + playerlist + thestatlibs, [], thesyslibs, [B.root_build_dir+'/lib'] + thelibincs, 'blenderplayer')
 +      env.BlenderProg(B.root_build_dir, "blenderplayer", dobj + playerlist, [], thestatlibs + thesyslibs, [B.root_build_dir+'/lib'] + thelibincs, 'blenderplayer')
  
  ##### Now define some targets
  
@@@ -424,6 -412,8 +424,6 @@@ if  env['OURPLATFORM']=='darwin'
                bundle = '%s.app' % prg[0]
                bundledir = os.path.dirname(bundle)
                for dp, dn, df in os.walk(bundle):
 -                      if 'CVS' in dn:
 -                              dn.remove('CVS')
                        if '.svn' in dn:
                                dn.remove('.svn')
                        dir=env['BF_INSTALLDIR']+dp[len(bundledir):]
@@@ -440,6 -430,8 +440,6 @@@ scriptinstall = [
  
  if  env['OURPLATFORM']!='darwin':
                for dp, dn, df in os.walk('bin/.blender'):
 -                      if 'CVS' in dn:
 -                              dn.remove('CVS')
                        if '.svn' in dn:
                                dn.remove('.svn')
                        
                        dotblenderinstall.append(env.Install(dir=td, source=srcfile))
                
                if env['WITH_BF_PYTHON']:
 -                      #-- .blender/scripts    
 -                      scriptpath='release/scripts'
 -                      for dp, dn, df in os.walk(scriptpath):
 -                              if 'CVS' in dn:
 -                                      dn.remove('CVS')
 -                              if '.svn' in dn:
 -                                      dn.remove('.svn')
 -                              dir=env['BF_INSTALLDIR']+'/.blender/scripts'+dp[len(scriptpath):]
 -                              source=[dp+os.sep+f for f in df]
 -                              scriptinstall.append(env.Install(dir=dir,source=source))
 +                      #-- .blender/scripts, .blender/ui, .blender/io
 +                      scriptpaths=['release/scripts', 'release/ui', 'release/io']
 +                      for scriptpath in scriptpaths:
 +                              for dp, dn, df in os.walk(scriptpath):
 +                                      if '.svn' in dn:
 +                                              dn.remove('.svn')
 +                                      dir=env['BF_INSTALLDIR']+'/.blender/'+os.path.basename(scriptpath)+dp[len(scriptpath):]
 +                                      source=[dp+os.sep+f for f in df]
 +                                      scriptinstall.append(env.Install(dir=dir,source=source))
  
  #-- icons
  if env['OURPLATFORM']=='linux2':
        icontargetlist = []
  
        for tp, tn, tf in os.walk('release/freedesktop/icons'):
 -              if 'CVS' in tn:
 -                      tn.remove('CVS')
                if '.svn' in tn:
                        tn.remove('.svn')
                for f in tf:
@@@ -500,6 -495,8 +500,6 @@@ if env['OURPLATFORM']=='linuxcross'
  pluglist = []
  plugtargetlist = []
  for tp, tn, tf in os.walk('release/plugins'):
 -      if 'CVS' in tn:
 -              tn.remove('CVS')
        if '.svn' in tn:
                tn.remove('.svn')
        for f in tf:
@@@ -530,6 -527,8 +530,6 @@@ for targetdir,srcfile in zip(plugtarget
  textlist = []
  texttargetlist = []
  for tp, tn, tf in os.walk('release/text'):
 -      if 'CVS' in tn:
 -              tn.remove('CVS')
        if '.svn' in tn:
                tn.remove('.svn')
        for f in tf:
@@@ -544,20 -543,14 +544,20 @@@ elif env['OURPLATFORM']=='linux2'
  else:
                allinstall = [blenderinstall, dotblenderinstall, scriptinstall, plugininstall, textinstall]
  
 -if env['OURPLATFORM'] in ('win32-vc', 'win32-mingw'):
 -      dllsources = ['${LCGDIR}/gettext/lib/gnu_gettext.dll',
 -                                              '${BF_PNG_LIBPATH}/libpng.dll',
 -                                              '${BF_ZLIB_LIBPATH}/zlib.dll',
 -                                              '${BF_TIFF_LIBPATH}/${BF_TIFF_LIB}.dll']
 +if env['OURPLATFORM'] in ('win32-vc', 'win32-mingw', 'win64-vc'):
 +      if env['OURPLATFORM'] == 'win64-vc':
 +              dllsources = []
 +      else:
 +              dllsources = ['${LCGDIR}/gettext/lib/gnu_gettext.dll',
 +                              '${BF_PNG_LIBPATH}/libpng.dll',
 +                              '${BF_ZLIB_LIBPATH}/zlib.dll',
 +                              '${BF_TIFF_LIBPATH}/${BF_TIFF_LIB}.dll']
        dllsources += ['${BF_PTHREADS_LIBPATH}/${BF_PTHREADS_LIB}.dll']
        if env['WITH_BF_SDL']:
 -              dllsources.append('${BF_SDL_LIBPATH}/SDL.dll')
 +              if env['OURPLATFORM'] == 'win64-vc':
 +                      pass # we link statically already to SDL on win64
 +              else:
 +                      dllsources.append('${BF_SDL_LIBPATH}/SDL.dll')
        if env['WITH_BF_PYTHON']:
                ver = env["BF_PYTHON_VERSION"].replace(".", "")
                
                else:
                        dllsources.append('${BF_PYTHON_LIBPATH}/${BF_PYTHON_LIB}.dll')
        if env['WITH_BF_ICONV']:
 -              dllsources += ['${BF_ICONV_LIBPATH}/iconv.dll']
 +              if env['OURPLATFORM'] == 'win64-vc':
 +                      pass # we link statically to iconv on win64
 +              else:
 +                      dllsources += ['${BF_ICONV_LIBPATH}/iconv.dll']
        if env['WITH_BF_OPENAL']:
                dllsources.append('${LCGDIR}/openal/lib/OpenAL32.dll')
                dllsources.append('${LCGDIR}/openal/lib/wrap_oal.dll')
                                                '${LCGDIR}/ffmpeg/lib/avformat-52.dll',
                                                '${LCGDIR}/ffmpeg/lib/avdevice-52.dll',
                                                '${LCGDIR}/ffmpeg/lib/avutil-50.dll',
                                              '${LCGDIR}/ffmpeg/lib/libfaad-2.dll',
                                              '${LCGDIR}/ffmpeg/lib/libfaac-0.dll',
                                              '${LCGDIR}/ffmpeg/lib/libmp3lame-0.dll',
                                              '${LCGDIR}/ffmpeg/lib/libx264-67.dll',
                                              '${LCGDIR}/ffmpeg/lib/xvidcore.dll',
#                                             '${LCGDIR}/ffmpeg/lib/libfaad-2.dll',
#                                             '${LCGDIR}/ffmpeg/lib/libfaac-0.dll',
#                                             '${LCGDIR}/ffmpeg/lib/libmp3lame-0.dll',
#                                             '${LCGDIR}/ffmpeg/lib/libx264-67.dll',
#                                             '${LCGDIR}/ffmpeg/lib/xvidcore.dll',
                                                '${LCGDIR}/ffmpeg/lib/swscale-0.dll']
 +      if env['WITH_BF_JACK']:
 +              dllsources += ['${LCGDIR}/jack/lib/libjack.dll']
        windlls = env.Install(dir=env['BF_INSTALLDIR'], source = dllsources)
        allinstall += windlls
  
@@@ -621,6 -609,12 +621,6 @@@ Default(B.program_list
  if not env['WITHOUT_BF_INSTALL']:
                Default(installtarget)
  
 -#------------ RELEASE
 -# TODO: zipup the installation
 -
 -#------------ BLENDERPLAYER
 -# TODO: build stubs and link into blenderplayer
 -
  #------------ EPYDOC
  if env['WITH_BF_DOCS']:
        try:            import epydoc
index a7de3f6111e55ad55c22e0f2a68be3142ec1803c,f7130cb4ac33e0effd7e5b0dd35cbda699b9149e..cde41d6ffba7459637ed00ff45cd9c4debc18f33
@@@ -1,9 -1,11 +1,9 @@@
  LCGDIR = '#../lib/windows'
  LIBDIR = "${LCGDIR}"
  
 -WITH_BF_VERSE = False
 -BF_VERSE_INCLUDE = "#extern/verse/dist"
 -
  BF_PYTHON = LIBDIR + '/python'
 -BF_PYTHON_VERSION = '2.5'
 +BF_PYTHON_VERSION = '3.1'
 +#BF_PYTHON_VERSION = '2.6'
  #BF_PYTHON_VERSION = '2.6'
  WITH_BF_STATICPYTHON = False
  BF_PYTHON_INC = '${BF_PYTHON}/include/python${BF_PYTHON_VERSION}'
@@@ -16,27 -18,19 +16,27 @@@ BF_PYTHON_LIBPATH = '${BF_PYTHON}/lib
  BF_PYTHON_LIB_STATIC = '${BF_PYTHON}/lib/libpython${BF_PYTHON_VERSION[0]}${BF_PYTHON_VERSION[2]}.a'
  
  WITH_BF_OPENAL = True
 -WITH_BF_STATICOPENAL = False
  BF_OPENAL = LIBDIR + '/openal'
  BF_OPENAL_INC = '${BF_OPENAL}/include'
  BF_OPENAL_LIB = 'wrap_oal'
  BF_OPENAL_LIBPATH = '${BF_OPENAL}/lib'
 -# Warning, this static lib configuration is untested! users of this OS please confirm.
 -BF_OPENAL_LIB_STATIC = '${BF_OPENAL}/lib/libopenal.a'
  
 -WITH_BF_FFMPEG = True
 +WITH_BF_FFMPEG = False
- BF_FFMPEG_LIB = 'avformat swscale avcodec avutil avdevice xvidcore x264'
- BF_FFMPEG_LIBPATH = LIBDIR + '/gcc/ffmpeg/lib'
- BF_FFMPEG_INC =  LIBDIR + '/gcc/ffmpeg/include'
+ BF_FFMPEG_LIB = 'avformat-52 avcodec-52 avdevice-52 avutil-50 swscale-0'
+ BF_FFMPEG_LIBPATH = LIBDIR + '/ffmpeg/lib'
+ BF_FFMPEG_INC =  LIBDIR + '/ffmpeg/include'
  
 +BF_LIBSAMPLERATE = LIBDIR + '/samplerate'
 +BF_LIBSAMPLERATE_INC = '${BF_LIBSAMPLERATE}/include'
 +BF_LIBSAMPLERATE_LIB = 'libsamplerate'
 +BF_LIBSAMPLERATE_LIBPATH = '${BF_LIBSAMPLERATE}/lib'
 +
 +WITH_BF_JACK = False
 +BF_JACK = LIBDIR + '/jack'
 +BF_JACK_INC = '${BF_JACK}/include'
 +BF_JACK_LIB = 'libjack'
 +BF_JACK_LIBPATH = '${BF_JACK}/lib'
 +
  WITH_BF_SDL = True
  BF_SDL = LIBDIR + '/sdl'
  BF_SDL_INC = '${BF_SDL}/include'
@@@ -88,17 -82,32 +88,17 @@@ BF_GETTEXT_INC = '${BF_GETTEXT}/include
  BF_GETTEXT_LIB = 'gnu_gettext'
  BF_GETTEXT_LIBPATH = '${BF_GETTEXT}/lib'
  
 -WITH_BF_FTGL = True
 -BF_FTGL = LIBDIR + '/ftgl'
 -BF_FTGL_INC = '${BF_FTGL}/include'
 -BF_FTGL_LIB = 'extern_ftgl'
 -
  WITH_BF_GAMEENGINE = False
 -
 -WITH_BF_ODE = True
 -BF_ODE = LIBDIR + '/ode'
 -BF_ODE_INC = BF_ODE + '/include'
 -BF_ODE_LIB = BF_ODE + '/lib/libode.a'
 +WITH_BF_PLAYER = False
  
  WITH_BF_BULLET = True
  BF_BULLET = '#extern/bullet2/src'
  BF_BULLET_INC = '${BF_BULLET}'
  BF_BULLET_LIB = 'extern_bullet'
  
 -BF_SOLID = '#extern/solid'
 -BF_SOLID_INC = '${BF_SOLID}'
 -BF_SOLID_LIB = 'extern_solid'
 -
  BF_WINTAB = LIBDIR + '/wintab'
  BF_WINTAB_INC = '${BF_WINTAB}/INCLUDE'
  
 -WITH_BF_YAFRAY = True
 -
  #WITH_BF_NSPR = True
  #BF_NSPR = $(LIBDIR)/nspr
  #BF_NSPR_INC = -I$(BF_NSPR)/include -I$(BF_NSPR)/include/nspr
@@@ -158,9 -167,8 +158,9 @@@ LLIBS = ['-lshell32', '-lshfolder', '-l
  BF_DEBUG = False
  BF_DEBUG_CCFLAGS= ['-g']
  
 -BF_PROFILE_CCFLAGS = ['-pg', '-g ']
 +BF_PROFILE_CCFLAGS = ['-pg', '-g']
  BF_PROFILE_LINKFLAGS = ['-pg']
 +BF_PROFILE_FLAGS = BF_PROFILE_CCFLAGS
  BF_PROFILE = False
  
  BF_BUILDDIR = '..\\build\\win32-mingw'
index e9bbd42e915126859e1ea15d245964d63195d94e,3ec76d464bcaec5e671b784d1964732edd50c259..2c21963354062187dc86d115464d2b1fdf0ca75f
@@@ -1,25 -1,31 +1,25 @@@
  LCGDIR = '#../lib/windows'
  LIBDIR = '${LCGDIR}'
  
 -WITH_BF_VERSE = False
 -BF_VERSE_INCLUDE = "#extern/verse/dist"
 -
  # enable ffmpeg  support
  WITH_BF_FFMPEG = True  # -DWITH_FFMPEG
  BF_FFMPEG = LIBDIR +'/ffmpeg'
- BF_FFMPEG_INC = '${BF_FFMPEG}/include'
+ BF_FFMPEG_INC = '${BF_FFMPEG}/include ${BF_FFMPEG}/include/msvc'
  BF_FFMPEG_LIBPATH='${BF_FFMPEG}/lib'
  BF_FFMPEG_LIB = 'avformat-52.lib avcodec-52.lib avdevice-52.lib avutil-50.lib swscale-0.lib'
  
  BF_PYTHON = LIBDIR + '/python'
 -BF_PYTHON_VERSION = '2.6'
 +BF_PYTHON_VERSION = '3.1'
  BF_PYTHON_INC = '${BF_PYTHON}/include/python${BF_PYTHON_VERSION}'
  BF_PYTHON_BINARY = 'python'
 -BF_PYTHON_LIB = 'python26'
 +BF_PYTHON_LIB = 'python31'
  BF_PYTHON_LIBPATH = '${BF_PYTHON}/lib'
  
  WITH_BF_OPENAL = True
 -WITH_BF_STATICOPENAL = False
  BF_OPENAL = LIBDIR + '/openal'
 -BF_OPENAL_INC = '${BF_OPENAL}/include ${BF_OPENAL}/include/AL '
 +BF_OPENAL_INC = '${BF_OPENAL}/include '
  BF_OPENAL_LIB = 'wrap_oal'
  BF_OPENAL_LIBPATH = '${BF_OPENAL}/lib'
 -# Warning, this static lib configuration is untested! users of this OS please confirm.
 -BF_OPENAL_LIB_STATIC = '${BF_OPENAL}/lib/libopenal.a'
  
  # TODO - are these useful on win32?
  # BF_CXX = '/usr'
@@@ -32,17 -38,6 +32,17 @@@ BF_ICONV_INC = '${BF_ICONV}/include
  BF_ICONV_LIB = 'iconv'
  BF_ICONV_LIBPATH = '${BF_ICONV}/lib'
  
 +BF_LIBSAMPLERATE = LIBDIR + '/samplerate'
 +BF_LIBSAMPLERATE_INC = '${BF_LIBSAMPLERATE}/include'
 +BF_LIBSAMPLERATE_LIB = 'libsamplerate'
 +BF_LIBSAMPLERATE_LIBPATH = '${BF_LIBSAMPLERATE}/lib'
 +
 +WITH_BF_JACK = False
 +BF_JACK = LIBDIR + '/jack'
 +BF_JACK_INC = '${BF_JACK}/include'
 +BF_JACK_LIB = 'libjack'
 +BF_JACK_LIBPATH = '${BF_JACK}/lib'
 +
  WITH_BF_SDL = True
  BF_SDL = LIBDIR + '/sdl'
  BF_SDL_INC = '${BF_SDL}/include'
@@@ -95,17 -90,33 +95,17 @@@ BF_GETTEXT_INC = '${BF_GETTEXT}/include
  BF_GETTEXT_LIB = 'gnu_gettext'
  BF_GETTEXT_LIBPATH = '${BF_GETTEXT}/lib'
  
 -WITH_BF_FTGL = True
 -BF_FTGL = LIBDIR + '/ftgl'
 -BF_FTGL_INC = '${BF_FTGL}/include'
 -BF_FTGL_LIB = 'extern_ftgl'
 -
  WITH_BF_GAMEENGINE = True
 -WITH_BF_PLAYER = True
 -
 -WITH_BF_ODE = True
 -BF_ODE = LIBDIR + '/ode'
 -BF_ODE_INC = BF_ODE + '/include'
 -BF_ODE_LIB = BF_ODE + '/lib/libode.a'
 +WITH_BF_PLAYER = False
  
  WITH_BF_BULLET = True
  BF_BULLET = '#extern/bullet2/src'
  BF_BULLET_INC = '${BF_BULLET}'
  BF_BULLET_LIB = 'extern_bullet'
  
 -BF_SOLID = '#extern/solid'
 -BF_SOLID_INC = '${BF_SOLID}'
 -BF_SOLID_LIB = 'extern_solid'
 -
  BF_WINTAB = LIBDIR + '/wintab'
  BF_WINTAB_INC = '${BF_WINTAB}/INCLUDE'
  
 -WITH_BF_YAFRAY = True
 -
  WITH_BF_BINRELOC = False
  
  #WITH_BF_NSPR = True
@@@ -144,12 -155,6 +144,12 @@@ BF_OPENJPEG_LIB = '
  BF_OPENJPEG_INC = '${BF_OPENJPEG}'
  BF_OPENJPEG_LIBPATH='${BF_OPENJPEG}/lib'
  
 +WITH_BF_FFTW3 = False
 +BF_FFTW3 = LIBDIR + '/fftw3'
 +BF_FFTW3_INC = '${BF_FFTW3}/include'
 +BF_FFTW3_LIB = 'libfftw'
 +BF_FFTW3_LIBPATH = '${BF_FFTW3}/lib'
 +
  WITH_BF_REDCODE = False  
  BF_REDCODE_INC = '#extern'
  
@@@ -163,7 -168,7 +163,7 @@@ BF_OPENGL_LIB_STATIC = [ '${BF_OPENGL}/
  CC = 'cl.exe'
  CXX = 'cl.exe'
  
 -CCFLAGS = ['/nologo', '/Ob1', '/J', '/W3', '/Gd', '/MT']
 +CCFLAGS = ['/nologo', '/Ob1', '/J', '/W3', '/Gd', '/wd4244', '/wd4305', '/wd4800', '/wd4065', '/wd4267']
  CXXFLAGS = ['/EHsc']
  
  BF_DEBUG_CCFLAGS = ['/Zi', '/FR${TARGET}.sbr']
@@@ -179,7 -184,19 +179,7 @@@ CXX_WARN = [
  
  LLIBS = ['ws2_32', 'vfw32', 'winmm', 'kernel32', 'user32', 'gdi32', 'comdlg32', 'advapi32', 'shfolder', 'shell32', 'ole32', 'oleaut32', 'uuid']
  
 -PLATFORM_LINKFLAGS = '''
 -                       /SUBSYSTEM:CONSOLE
 -                       /MACHINE:IX86
 -                       /ENTRY:mainCRTStartup
 -                       /INCREMENTAL:NO
 -                       /NODEFAULTLIB:"msvcprt.lib"
 -                       /NODEFAULTLIB:"glut32.lib"
 -                       /NODEFAULTLIB:"libc.lib"
 -                       /NODEFAULTLIB:"libcd.lib"
 -                       /NODEFAULTLIB:"libcpd.lib"
 -                       /NODEFAULTLIB:"libcp.lib"
 -                       /LARGEADDRESSAWARE
 -                   '''
 +PLATFORM_LINKFLAGS = ['/SUBSYSTEM:CONSOLE','/MACHINE:IX86','/INCREMENTAL:NO','/NODEFAULTLIB:"msvcprt.lib"','/NODEFAULTLIB:"msvcprtd.lib"','/NODEFAULTLIB:"glut32.lib"','/NODEFAULTLIB:"libc.lib"','/NODEFAULTLIB:"libcd.lib"','/NODEFAULTLIB:"libcpd.lib"','/NODEFAULTLIB:"libcp.lib"','/NODEFAULTLIB:"msvcrt.lib"', '/NODEFAULTLIB:"msvcrtd.lib"', '/NODEFAULTLIB:"msvcmrt.lib"', '/NODEFAULTLIB:"msvcurt.lib"', '/LARGEADDRESSAWARE']
  
  # # Todo
  # BF_PROFILE_CCFLAGS = ['-pg', '-g ']