Changeset e1e10cd in rtems-libbsd for waf_generator.py


Ignore:
Timestamp:
Apr 23, 2016, 7:37:27 AM (3 years ago)
Author:
Chris Johns <chrisj@…>
Branches:
fd86c091b97759106da7355ce1dd81ebe030e285, freebsd-9.3, f020f08430150c1656a0ad0a1de13699db9b980b
Children:
7d0050d
Parents:
051ef30
Message:

waf: Add the ability to set FreeBSD options on the configure command line.

Add --freebsd-options to add specific FreeBSD compile time options to
the build. This is a developer tool.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • waf_generator.py

    r051ef30 re1e10cd  
    294294        self.add('    cflags = %r + common_flags' % (builder.cflags()))
    295295        self.add('    cxxflags = %r + common_flags' % (builder.cxxflags()))
     296        self.add('')
     297        self.add('    # Defines')
     298        self.add('    defines = []')
     299        self.add('    for o in bld.env.FREEBSD_OPTIONS.split(","):')
     300        self.add('        defines += ["%s=1" % (o.strip().upper())]')
    296301        self.add('')
    297302        self.add('    # Include paths')
     
    410415            lexes = data['lex']
    411416            self.add('    # Lex')
    412             for l in lexes:
     417            for l in sorted(lexes.keys()):
    413418                lex = lexes[l]['all']
    414419                if 'cflags' in lex:
     
    429434                self.add('                cflags = cflags,')
    430435                self.add('                includes = %r + includes,' % (lex_includes))
    431                 self.add('                defines = %r,' % (lex_defines))
     436                self.add('                defines = defines + %r,' % (lex_defines))
    432437                self.add('                source = "%s.c")' % (lex['file'][:-2]))
    433438                self.add('    libbsd_use += ["lex_%s"]' % (lex['sym']))
     
    437442            yaccs = data['yacc']
    438443            self.add('    # Yacc')
    439             for y in yaccs:
     444            for y in sorted(yaccs.keys()):
    440445                yacc = yaccs[y]['all']
    441446                yacc_file = yacc['file']
     
    463468                self.add('                cflags = cflags,')
    464469                self.add('                includes = %r + includes,' % (yacc_includes))
    465                 self.add('                defines = %r,' % (yacc_defines))
     470                self.add('                defines = defines + %r,' % (yacc_defines))
    466471                self.add('                source = "%s.c")' % (yacc_file[:-2]))
    467472                self.add('    libbsd_use += ["yacc_%s"]' % (yacc_sym))
     
    497502                self.add('                cflags = cflags,')
    498503                self.add('                includes = %r + includes,' % (includes))
    499                 self.add('                defines = %r,' % (defines))
     504                self.add('                defines = defines + %r,' % (defines))
    500505                self.add('                source = objs%02d_source)' % objs)
    501506                self.add('    libbsd_use += ["objs%02d"]' % (objs))
     
    519524        self.add('              cxxflags = cxxflags,')
    520525        self.add('              includes = includes,')
     526        self.add('              defines = defines,')
    521527        self.add('              source = source,')
    522528        self.add('              use = libbsd_use)')
Note: See TracChangeset for help on using the changeset viewer.