mirror of
https://github.com/google/pebble.git
synced 2025-06-05 01:33:11 +00:00
Import of the watch repository from Pebble
This commit is contained in:
commit
3b92768480
10334 changed files with 2564465 additions and 0 deletions
59
third_party/waf/waf-light/waflib/Tools/compiler_d.py
vendored
Normal file
59
third_party/waf/waf-light/waflib/Tools/compiler_d.py
vendored
Normal file
|
@ -0,0 +1,59 @@
|
|||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
# Carlos Rafael Giani, 2007 (dv)
|
||||
# Thomas Nagy, 2010 (ita)
|
||||
|
||||
"""
|
||||
Try to detect a D compiler from the list of supported compilers::
|
||||
|
||||
def options(opt):
|
||||
opt.load('compiler_d')
|
||||
def configure(cnf):
|
||||
cnf.load('compiler_d')
|
||||
def build(bld):
|
||||
bld.program(source='main.d', target='app')
|
||||
|
||||
Only three D compilers are really present at the moment:
|
||||
|
||||
* gdc
|
||||
* dmd, the ldc compiler having a very similar command-line interface
|
||||
* ldc2
|
||||
"""
|
||||
|
||||
import os, sys, imp, types
|
||||
from waflib import Utils, Configure, Options, Logs
|
||||
|
||||
def configure(conf):
|
||||
"""
|
||||
Try to find a suitable D compiler or raise a :py:class:`waflib.Errors.ConfigurationError`.
|
||||
"""
|
||||
for compiler in conf.options.dcheck.split(','):
|
||||
conf.env.stash()
|
||||
conf.start_msg('Checking for %r (d compiler)' % compiler)
|
||||
try:
|
||||
conf.load(compiler)
|
||||
except conf.errors.ConfigurationError as e:
|
||||
conf.env.revert()
|
||||
conf.end_msg(False)
|
||||
Logs.debug('compiler_d: %r' % e)
|
||||
else:
|
||||
if conf.env.D:
|
||||
conf.end_msg(conf.env.get_flat('D'))
|
||||
conf.env['COMPILER_D'] = compiler
|
||||
break
|
||||
conf.end_msg(False)
|
||||
else:
|
||||
conf.fatal('no suitable d compiler was found')
|
||||
|
||||
def options(opt):
|
||||
"""
|
||||
Restrict the compiler detection from the command-line::
|
||||
|
||||
$ waf configure --check-d-compiler=dmd
|
||||
"""
|
||||
d_compiler_opts = opt.add_option_group('D Compiler Options')
|
||||
d_compiler_opts.add_option('--check-d-compiler', default='gdc,dmd,ldc2', action='store',
|
||||
help='check for the compiler [Default:gdc,dmd,ldc2]', dest='dcheck')
|
||||
for d_compiler in ['gdc', 'dmd', 'ldc2']:
|
||||
opt.load('%s' % d_compiler)
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue