#! /usr/bin/env python
# encoding: utf-8

from waflib import Utils
import os

top = '.'
PROJECT_NAME = 'shaderapidx9'

def options(opt):
	# stub
	return

def configure(conf):
	conf.env.append_unique('DEFINES',[
		'SHADERAPIDX9',
		'SHADER_DLL_EXPORT',
		#'PROTECTED_THINGS_ENABLE', # conflicts with stlport
		'strncpy=use_Q_strncpy_instead',
		'_snprintf=use_Q_snprintf_instead',
		'GL_GLEXT_PROTOTYPES',
		'DX_TO_GL_ABSTRACTION'
	])

def build(bld):
	source = [
		'colorformatdx8.cpp',
		'../../public/filesystem_helpers.cpp',
		'hardwareconfig.cpp',
		'meshbase.cpp',
		'meshdx8.cpp',
		#'recording.cpp',								[$WIN32 && !$GL]
		'shaderapidx8.cpp',
		'shaderdevicebase.cpp',
		'shaderapibase.cpp',
		'shaderdevicedx8.cpp',
		'shadershadowdx8.cpp',
		'texturedx8.cpp',
		'TransitionTable.cpp',
		'cvballoctracker.cpp',
		'vertexdecl.cpp',
		'vertexshaderdx8.cpp',
		#'wmi.cpp',									[$WIN32 && !$GL]
		#'textureheap.cpp',							[$X360]
		'winutils.cpp'#							[!$WIN32]
	]

	includes = [
		'.',
		'../../public',
		'../../public/tier0',
		'../../public/tier1',
		'../../common',
		'../'
	] + bld.env.INCLUDES_SDL2

	defines = []

	libs = ['tier0','tier1','tier2','vstdlib','togl','bitmap','mathlib']

	if bld.env.DEST_OS == 'android':
		libs += ['ANDROID_SUPPORT']

	install_path = bld.env.LIBDIR

	bld.shlib(
		source   = source,
		target   = PROJECT_NAME,
		name     = PROJECT_NAME,
		features = 'c cxx',
		includes = includes,
		defines  = defines,
		use      = libs,
		install_path = install_path,
		subsystem = bld.env.MSVC_SUBSYSTEM,
		idx      = bld.get_taskgen_count()
	)