Changeset 4295d3d in rtems-source-builder


Ignore:
Timestamp:
Mar 2, 2020, 3:49:28 AM (4 months ago)
Author:
Chris Johns <chrisj@…>
Branches:
5, master
Children:
96d55ab
Parents:
175ce0b
git-author:
Chris Johns <chrisj@…> (03/02/20 03:49:28)
git-committer:
Chris Johns <chrisj@…> (03/03/20 00:18:05)
Message:

sb/config: Add paths checks to %{path ...}

Updates #3893

File:
1 edited

Legend:

Unmodified
Added
Removed
  • source-builder/sb/config.py

    r175ce0b r4295d3d  
    473473            return '0'
    474474        ok = False
     475        log.trace('pkgconfig: check: crossc=%d pkg_crossc=%d prefix=%s' % ( self._cross_compile(),
     476                                                                            self.pkgconfig_crosscompile,
     477                                                                            self.pkgconfig_prefix))
     478        log.trace('pkgconfig: check: test=%s' % (test))
    475479        if type(test) == str:
    476480            test = test.split()
     
    668672                    pl = m[7:-1].strip().split()
    669673                    ok = False
    670                     if len(pl) == 2:
    671                         ok = True
    672                         epl = []
    673                         for p in pl[1:]:
    674                             epl += [self._expand(p)]
    675                         p = ' '.join(epl)
    676                         if pl[0].lower() == 'prepend':
     674                    result = ''
     675                    pl_0 = pl[0].lower()
     676                    if pl_0 == 'prepend':
     677                        if len(pl) == 2:
     678                            ok = True
     679                            p = ' '.join([self._expand(pp) for pp in pl[1:]])
    677680                            if len(self.macros['_pathprepend']):
    678681                                self.macros['_pathprepend'] = \
     
    680683                            else:
    681684                                self.macros['_pathprepend'] = p
    682                         elif pl[0].lower() == 'postpend':
     685                    elif pl_0 == 'postpend':
     686                        if len(pl) == 2:
     687                            ok = True
     688                            p = ' '.join([self._expand(pp) for pp in pl[1:]])
    683689                            if len(self.macros['_pathprepend']):
    684690                                self.macros['_pathprepend'] = \
     
    686692                            else:
    687693                                self.macros['_pathprepend'] = p
    688                         else:
    689                             ok = False
     694                    elif pl_0 == 'check':
     695                        if len(pl) == 3:
     696                            pl_1 = pl[1].lower()
     697                            p = ' '.join([self._expand(pp) for pp in pl[2:]])
     698                            if pl_1 == 'exists':
     699                                ok = True
     700                                if path.exists(p):
     701                                    result = '1'
     702                                else:
     703                                    result = '0'
     704                            elif pl_1 == 'isdir':
     705                                ok = True
     706                                if path.isdir(p):
     707                                    result = '1'
     708                                else:
     709                                    result = '0'
     710                            elif pl_1 == 'isfile':
     711                                ok = True
     712                                if path.isfile(p):
     713                                    result = '1'
     714                                else:
     715                                    result = '0'
    690716                    if ok:
    691                         s = s.replace(m, '')
     717                        s = s.replace(m, result)
    692718                    else:
    693719                        self._error('path error: %s' % (' '.join(pl)))
Note: See TracChangeset for help on using the changeset viewer.