1#!/usr/bin/env python
2# encoding: utf-8
3# Jérôme Carretero, 2011 (zougloub)
4
5from waflib import Options
6from waflib.Tools import ccroot
7from waflib.Configure import conf
8
9@conf
10def find_dcc(conf):
11	conf.find_program(['dcc'], var='CC', path_list=getattr(Options.options, 'diabbindir', ""))
12	conf.env.CC_NAME = 'dcc'
13
14@conf
15def find_dld(conf):
16	conf.find_program(['dld'], var='LINK_CC', path_list=getattr(Options.options, 'diabbindir', ""))
17	conf.env.LINK_CC_NAME = 'dld'
18
19@conf
20def find_dar(conf):
21	conf.find_program(['dar'], var='AR', path_list=getattr(Options.options, 'diabbindir', ""))
22	conf.env.AR_NAME = 'dar'
23	conf.env.ARFLAGS = 'rcs'
24
25@conf
26def find_ddump(conf):
27	conf.find_program(['ddump'], var='DDUMP', path_list=getattr(Options.options, 'diabbindir', ""))
28
29@conf
30def dcc_common_flags(conf):
31	v = conf.env
32	v['CC_SRC_F']            = []
33	v['CC_TGT_F']            = ['-c', '-o']
34
35	# linker
36	if not v['LINK_CC']:
37		v['LINK_CC'] = v['CC']
38	v['CCLNK_SRC_F']         = []
39	v['CCLNK_TGT_F']         = ['-o']
40	v['CPPPATH_ST']          = '-I%s'
41	v['DEFINES_ST']          = '-D%s'
42
43	v['LIB_ST']              = '-l:%s' # template for adding libs
44	v['LIBPATH_ST']          = '-L%s' # template for adding libpaths
45	v['STLIB_ST']            = '-l:%s'
46	v['STLIBPATH_ST']        = '-L%s'
47	v['RPATH_ST']            = '-Wl,-rpath,%s'
48	#v['STLIB_MARKER']        = '-Wl,-Bstatic'
49
50	# program
51	v['cprogram_PATTERN']    = '%s.elf'
52
53	# static lib
54	v['LINKFLAGS_cstlib']    = ['-Wl,-Bstatic']
55	v['cstlib_PATTERN']      = 'lib%s.a'
56
57def configure(conf):
58	conf.find_dcc()
59	conf.find_dar()
60	conf.find_dld()
61	conf.find_ddump()
62	conf.dcc_common_flags()
63	conf.cc_load_tools()
64	conf.cc_add_flags()
65	conf.link_add_flags()
66
67def options(opt):
68	"""
69	Add the ``--with-diab-bindir`` command-line options.
70	"""
71	opt.add_option('--with-diab-bindir', type='string', dest='diabbindir', help = 'Specify alternate diab bin folder', default="")
72
73