Changeset 32ceb14 in rtems-libbsd for waf_generator.py


Ignore:
Timestamp:
Jun 16, 2016, 3:32:28 AM (3 years ago)
Author:
Chris Johns <chrisj@…>
Branches:
c1e05b9ea378b2971e3d7704779112b4bc4296da, freebsd-9.3, 4a77611a223ea883fb548679b516d326a020d447
Children:
616be5c
Parents:
5851034
git-author:
Chris Johns <chrisj@…> (06/16/16 03:32:28)
git-committer:
Chris Johns <chrisj@…> (06/16/16 03:33:06)
Message:

Add support for long command lines and fix some shell rules on Windows.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • waf_generator.py

    r5851034 r32ceb14  
    255255        self.add('from __future__ import print_function')
    256256        self.add('')
     257        self.add('import os')
    257258        self.add('import os.path')
     259        # Import check done in the top level wscript file.
    258260        self.add('import rtems_waf.rtems as rtems')
     261        self.add('')
     262        self.add('windows = os.name == "nt"')
     263        self.add('')
     264        self.add('if windows:')
     265        self.add('    host_shell = "sh -c "')
     266        self.add('else:')
     267        self.add('    host_shell = ""')
    259268        self.add('')
    260269        self.add('def init(ctx):')
     
    361370            self.add('    bld(target = "%s",' % (kvmsymbols['files']['all'][0]))
    362371            self.add('        source = "rtemsbsd/rtems/generate_kvm_symbols",')
    363             self.add('        rule = "./${SRC} > ${TGT}",')
     372            self.add('        rule = host_shell + "./${SRC} > ${TGT}",')
    364373            self.add('        update_outputs = True)')
    365374            self.add('    bld.objects(target = "kvmsymbols",')
     
    380389            self.add('        bld(target = "%s.h",' % (rpcname))
    381390            self.add('            source = "%s.x",' % (rpcname))
    382             self.add('            rule = "${RPCGEN} -h -o ${TGT} ${SRC}")')
     391            self.add('            rule = host_shell + "${RPCGEN} -h -o ${TGT} ${SRC}")')
    383392            self.add('')
    384393
     
    388397            self.add('    # Route keywords')
    389398            self.add('    if bld.env.AUTO_REGEN:')
    390             self.add('        rkw_rule = "cat ${SRC} | ' + \
     399            self.add('        rkw_rule = host_shell + "cat ${SRC} | ' + \
    391400                     'awk \'BEGIN { r = 0 } { if (NF == 1) ' + \
    392401                     'printf \\"#define\\\\tK_%%s\\\\t%%d\\\\n\\\\t{\\\\\\"%%s\\\\\\", K_%%s},\\\\n\\", ' + \
     
    413422                self.add('        bld(target = "%s.c",' % (lex['file'][:-2]))
    414423                self.add('            source = "%s",' % (lex['file']))
    415                 self.add('            rule = "${LEX} -P %s -t ${SRC} | ' % (lex['sym']) + \
     424                self.add('            rule = host_shell + "${LEX} -P %s -t ${SRC} | ' % (lex['sym']) + \
    416425                         'sed -e \'/YY_BUF_SIZE/s/16384/1024/\' > ${TGT}")')
    417426                self.add('    bld.objects(target = "lex_%s",' % (lex['sym']))
     
    446455                self.add('        bld(target = "%s.c",' % (yaccFile[:-2]))
    447456                self.add('            source = "%s",' % (yaccFile))
    448                 self.add('            rule = "${YACC} -b %s -d -p %s ${SRC} && ' % (yaccSym, yaccSym) + \
     457                self.add('            rule = host_shell + "${YACC} -b %s -d -p %s ${SRC} && ' % \
     458                         (yaccSym, yaccSym) + \
    449459                         'sed -e \'/YY_BUF_SIZE/s/16384/1024/\' < %s.tab.c > ${TGT} && ' % (yaccSym) + \
    450460                         'rm -f %s.tab.c && mv %s.tab.h %s")' % (yaccSym, yaccSym, yaccHeader))
Note: See TracChangeset for help on using the changeset viewer.