#!/usr/bin/python

# TODO, split into 3 files.

Import ('env')

incs = '. ../editors/include ../makesdna ../makesrna ../blenfont ../blenlib ../blenkernel ../nodes'
incs += ' ../imbuf ../blenloader ../bmesh ../gpu ../render/extern/include ../windowmanager'
incs += ' #intern/guardedalloc #intern/memutil #extern/glew/include #intern/cycles/blender'
incs += ' #intern/audaspace/intern ' + env['BF_PYTHON_INC']

is_debug = (env['OURPLATFORM'] in ('win32-mingw', 'win32-vc','win64-vc', 'win64-mingw') and env['BF_DEBUG'])

# bmesh
defs = []

sources = env.Glob('bmesh/*.c')
env.BlenderLib( libname = 'bf_python_bmesh', sources = Split(sources), includes = Split(incs), defines = defs, libtype = ['core','player'], priority = [362,165])

# generic
defs = []

if is_debug:
    defs.append('_DEBUG')

sources = env.Glob('generic/*.c')
env.BlenderLib( libname = 'bf_python_ext', sources = Split(sources), includes = Split(incs), defines = defs, libtype = ['core','player'], priority = [363,165]) # ketsji is 360


# mathutils
defs = []

sources = env.Glob('mathutils/*.c')
env.BlenderLib( libname = 'bf_python_mathutils', sources = Split(sources), includes = Split(incs), defines = defs, libtype = ['core','player'], priority = [362,165])


# bpy
defs = []

if is_debug:
    defs.append('_DEBUG')

if env['WITH_BF_PYTHON_SAFETY']:
    defs.append('WITH_PYTHON_SAFETY')

if env['BF_BUILDINFO']:
    defs.append('BUILD_DATE')

if env['WITH_BF_INTERNATIONAL']:
    defs.append('WITH_INTERNATIONAL')

if env['WITH_BF_CYCLES']:
    defs.append('WITH_CYCLES')

if env['WITH_BF_FFMPEG']:
    defs.append('WITH_FFMPEG')
    incs += ' ' + env['BF_FFMPEG_INC']
    
if env['OURPLATFORM'] in ('win32-vc', 'win32-mingw', 'win64-mingw', 'linuxcross', 'win64-vc'):
    incs += ' ' + env['BF_PTHREADS_INC']

sources = env.Glob('intern/*.c')
env.BlenderLib( libname = 'bf_python', sources = Split(sources), includes = Split(incs), defines = defs, libtype = ['core'], priority = [361])
