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

from gettext import install
from waflib import Utils
import os, sys

top = '.'
PROJECT_NAME = 'inputsystem'

def options(opt):
	# stub
	return

def configure(conf):
	conf.define('VERSION_SAFE_STEAM_API_INTERFACES',1)

def build(bld):
	source = [
		'inputsystem.cpp',
		'joystick_sdl.cpp',
		'touch_sdl.cpp',
		'key_translation.cpp',
		'steamcontroller.cpp',
		'../public/tier0/memoverride.cpp'
	]

	if bld.env.DEST_OS == 'win32':
		source += [
			'novint.cpp'
		]

	includes = [
		'.',
		'../common',
		'../public',
		'../public/tier0'
	]

	defines = []

	libs = ['tier0','tier1','tier2','vstdlib','SDL2','steam_api']

	if bld.env.DEST_OS == 'win32':
		libs += ['USER32']
		
	install_path = bld.env.LIBDIR

	# Copy SDL2 dependency
	if bld.env.DEST_OS == 'win32':
		bld(
			rule=(('cp' if 'MSYSTEM' in os.environ or sys.platform != 'win32' else 'copy')+' ${SRC} ${TGT}'),
			source='../lib/win32/'+bld.env.DEST_CPU+'/SDL2.dll',
			target='SDL2.dll',
			install_path=install_path,
		)

	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()
	)