Changeset c5b5493 in rtems-source-builder


Ignore:
Timestamp:
Feb 11, 2014, 3:06:45 AM (6 years ago)
Author:
Chris Johns <chrisj@…>
Branches:
4.10, 4.11, 4.9, master
Children:
7c04790
Parents:
55e52f4
Message:

config: Change pkgconfig to check.

Add the extra actions: ccflags, cflags, ldflags and libs to allow the
fetching of these from pkg-config files.

Files:
5 edited

Legend:

Unmodified
Added
Removed
  • bare/config/devel/gettext-0.18.3.1-1.cfg

    r55e52f4 rc5b5493  
    1414# The GetText build instructions. We use 0.x.x Release 1.
    1515#
    16 %ifn %{pkgconfig gettext}
     16%ifn %{check gettext}
    1717 %include %{_configdir}/gettext-0-1.cfg
    1818%endif
  • bare/config/devel/glib-2.39.3-1.cfg

    r55e52f4 rc5b5493  
    1616# The GLib build instructions. We use 2.x.x Release 1.
    1717#
    18 %ifn %{pkgconfig glib-2.0}
     18%ifn %{check glib-2.0}
    1919 %include %{_configdir}/glib-2-1.cfg
    2020%endif
  • bare/config/devel/libffi-3.0.13-1.cfg

    r55e52f4 rc5b5493  
    1414# The LibFFI build instructions. We use 3.x.x Release 1.
    1515#
    16 %ifn %{pkgconfig libffi}
     16%ifn %{check libffi}
    1717 %include %{_configdir}/libffi-3-1.cfg
    1818%endif
  • bare/config/devel/pixman-0.32.4-1.cfg

    r55e52f4 rc5b5493  
    1414# The Pixman build instructions. We use 0.x.x Release 1.
    1515#
    16 %ifn %{pkgconfig pixman-1}
     16%ifn %{check pixman-1}
    1717 %include %{_configdir}/pixman-0-1.cfg
    1818%endif
  • source-builder/sb/config.py

    r55e52f4 rc5b5493  
    369369        return line
    370370
    371     def _pkgconfig(self, test):
     371    def _pkgconfig_check(self, test):
    372372        ts = test.split()
    373373        ok = False
    374374        pkg = pkgconfig.package(ts[0], output = log.output)
    375         if len(ts) > 1 and len(ts) != 3:
    376             self._error('malformed pkgconfig check')
     375        if len(ts) != 1 and len(ts) != 3:
     376            self._error('malformed check')
    377377        else:
    378378            op = '>='
     
    384384                ok = pkg.check(op, ver)
    385385            except pkgconfig.error, pe:
    386                 self._error('pkgconfig: %s' % (pe))
     386                self._error('check: %s' % (pe))
    387387            except:
    388388                raise error.interal('pkgconfig failure')
    389389        return ok
     390
     391    def _pkgconfig_flags(self, package, flags):
     392        pkg_flags = None
     393        pkg = pkgconfig.package(package, output = log.output)
     394        try:
     395            pkg_flags = pkg.get(flags)
     396        except pkgconfig.error, pe:
     397            self._error('flags:%s: %s' % (flags, pe))
     398        except:
     399            raise error.interal('pkgconfig failure')
     400        return pkg_flags
    390401
    391402    def _expand(self, s):
     
    451462                    expanded = True
    452463                    mn = None
    453                 elif m.startswith('%{pkgconfig'):
    454                     if self._pkgconfig(m[11:-1].strip()):
     464                elif m.startswith('%{check'):
     465                    if self._pkgconfig_check(m[7:-1].strip()):
    455466                        s = s.replace(m, '1')
    456467                    else:
    457468                        s = s.replace(m, '0')
     469                    expanded = True
     470                    mn = None
     471                elif m.startswith('%{ccflags'):
     472                    flags = self._pkgconfig_flags(m[9:-1].strip(), 'ccflags')
     473                    if flags:
     474                        s = s.replace(m, flags)
     475                    else:
     476                        self._error('ccflags error: %s' % (m[9:-1].strip()))
     477                    expanded = True
     478                    mn = None
     479                elif m.startswith('%{cflags'):
     480                    flags = self._pkgconfig_flags(m[8:-1].strip(), 'cflags')
     481                    if flags:
     482                        s = s.replace(m, flags)
     483                    else:
     484                        self._error('cflags error: %s' % (m[8:-1].strip()))
     485                    expanded = True
     486                    mn = None
     487                elif m.startswith('%{ldflags'):
     488                    flags = self._pkgconfig_flags(m[9:-1].strip(), 'ldflags')
     489                    if flags:
     490                        s = s.replace(m, flags)
     491                    else:
     492                        self._error('ldflags error: %s' % (m[9:-1].strip()))
     493                    expanded = True
     494                    mn = None
     495                elif m.startswith('%{libs'):
     496                    flags = self._pkgconfig_flags(m[6:-1].strip(), 'libs')
     497                    if flags:
     498                        s = s.replace(m, flags)
     499                    else:
     500                        self._error('libs error: %s' % (m[6:-1].strip()))
    458501                    expanded = True
    459502                    mn = None
Note: See TracChangeset for help on using the changeset viewer.