github.com/metux/go-metabuild@v0.0.0-20240118143255-d9ed5ab697f9/examples/conf/settings.yaml (about)

     1  ---
     2  distro:
     3      _default_:
     4          packages:
     5              main:
     6                  description: |
     7                    ${name} -- main package
     8                    ${description}
     9                  homepage:    ${homepage}
    10                  maintainer:  ${maintainer}
    11                  multiarch:   no
    12                  origin:      ${origin}
    13                  version:     ${buildconf::version}
    14                  section:     ${section}
    15              lib:
    16                  description: |
    17                    ${name} -- (runtime library)
    18                    ${description}
    19                    This package includes the shared library.
    20                  homepage:    ${homepage}
    21                  maintainer:  ${maintainer}
    22                  multiarch:   same
    23                  origin:      ${origin}
    24                  version:     ${buildconf::version}
    25                  section:     ${section}
    26              dev:
    27                  description: |
    28                    ${name} -- development package
    29                    ${description}
    30                    This package contains the development files (eg. includes, pkgconfig, static lib, ...)
    31                  homepage:    ${homepage}
    32                  maintainer:  ${maintainer}
    33                  multiarch:   no
    34                  origin:      ${origin}
    35                  version:     ${buildconf::version}
    36                  section:     ${section}
    37              prog:
    38                  description: |
    39                    ${name} -- utility programs
    40                    ${description}
    41                    This package contains the command line or daemon programs
    42                  homepage:    ${homepage}
    43                  maintainer:  ${maintainer}
    44                  multiarch:   no
    45                  origin:      ${origin}
    46                  version:     ${buildconf::version}
    47                  section:     ${section}
    48              prog-man:
    49                  description: |
    50                    ${name} -- manpages for utility programs
    51                    ${description}
    52                    This package contains the program manuals.
    53                  homepage:    ${homepage}
    54                  maintainer:  ${maintainer}
    55                  multiarch:   no
    56                  origin:      ${origin}
    57                  version:     ${buildconf::version}
    58                  section:     ${section}
    59              doc:
    60                  description: |
    61                    ${name} -- documentation
    62                    ${description}
    63                    This package contains the documentation.
    64                  homepage:    ${homepage}
    65                  maintainer:  ${maintainer}
    66                  multiarch:   no
    67                  origin:      ${origin}
    68                  version:     ${buildconf::version}
    69                  section:     ${section}
    70              data:
    71                  description: |
    72                    ${name} -- data
    73                    ${description}
    74                    This package contains the data files.
    75                  homepage:    ${homepage}
    76                  maintainer:  ${maintainer}
    77                  multiarch:   no
    78                  origin:      ${origin}
    79                  version:     ${buildconf::version}
    80                  section:     ${section}
    81  
    82      debian:
    83          dev-suffix:   -dev
    84          doc-suffix:   -doc
    85          data-suffix:  -data
    86          prog-suffix:  -prog
    87          lib-suffix:   -libs
    88  
    89          arch:         ${buildconf::@targetdistarch}
    90          targetsys:    ${buildconf::@targetdistarch}-gnu-linux
    91  
    92          package:      ${package}
    93  
    94          pkg-format:   deb
    95          platform:     ${platform::linux}
    96  
    97          # copied over to buildconf, so we can use @@^ references
    98          install-dirs:
    99              prefix:         /usr
   100              exec-prefix:    ${@@^::prefix}
   101              localstatedir:  /var
   102              sysconfdir:     /etc
   103              bindir:         ${@@^::prefix}/bin
   104              sbindir:        ${@@^::prefix}/sbin
   105              bootbindir:     /bin
   106              libdir:         ${@@^::prefix}/lib/${buildconf::@targetdist::targetsys}
   107              libdir-noarch:  ${@@^::prefix}/lib/
   108              libexecdir:     ${@@^::prefix}/libexec/
   109              bootlibdir:     /lib/${buildconf::targetsys}
   110              pkgconfigdir:   ${@@^::libdir}/pkgconfig
   111              datadir:        ${@@^::prefix}/share
   112              localedir:      ${@@^::datadir}/locale
   113              sharedlibdir:   ${@@^::sharedlibdir}
   114              mandir:         ${@@^::datadir}/man
   115              docdir:         ${@@^::datadir}/doc
   116              pixmapdir:      ${@@^::datadir}/pixmaps
   117              includedir:     ${@@^::prefix}/include
   118              fdo-appdir:     ${@@^::datadir}/applications
   119              metainfodir:    ${@@^::datadir}/metainfo
   120              infodir:        ${@@^::datadir}/info
   121              sharedstatedir: ${@@^::prefix}/com
   122              runstatedir:    ${@@^::localstatedir}/run
   123  
   124          depends:
   125              libc-dev: libc6-dev | libc-dev
   126              libc:     libc6:${@buildconf::@targetdistarch}
   127  
   128          packages:
   129              # fixme: should we have aliasing ?
   130              main:
   131                  arch:           ${buildconf::@targetdistarch}
   132                  bugs:           ${distro::_default_::packages::main::bugs}
   133                  description:    ${distro::_default_::packages::main::description}
   134                  homepage:       ${distro::_default_::packages::main::homepage}
   135                  local-depend:   [ prog, lib, data, doc ]
   136                  maintainer:     ${distro::_default_::packages::main::maintainer}
   137                  multiarch:      ${distro::_default_::packages::main::multiarch}
   138                  name:           ${buildconf::@targetdist::package}
   139                  origin:         ${distro::_default_::packages::main::origin}
   140                  pkg-depend:
   141                  priority:       ${distro::_default_::packages::main::priority}
   142                  section:        ${distro::_default_::packages::main::section}
   143                  skip:           ${distro::_default_::packages::main::skip}
   144                  template:       ${distro::_default_::packages::main}
   145                  version:        ${distro::_default_::packages::main::version}
   146              lib:
   147                  arch:           ${buildconf::@targetdistarch}
   148                  bugs:           ${distro::_default_::packages::lib::bugs}
   149                  description:    ${distro::_default_::packages::lib::description}
   150                  homepage:       ${distro::_default_::packages::lib::homepage}
   151                  local-depend:
   152                  maintainer:     ${distro::_default_::packages::lib::maintainer}
   153                  multiarch:      ${distro::_default_::packages::lib::multiarch}
   154                  name:           ${buildconf::@targetdist::package}${buildconf::@targetdist::lib-suffix}
   155                  origin:         ${distro::_default_::packages::lib::origin}
   156                  pkg-depend:     ${distro::debian::depends::libc}
   157                  priority:       ${distro::_default_::packages::lib::priority}
   158                  section:        ${distro::_default_::packages::lib::section}
   159                  skip:           ${distro::_default_::packages::lib::skip}
   160                  template:       ${distro::_default_::packages::lib}
   161                  version:        ${distro::_default_::packages::lib::version}
   162              dev:
   163                  arch:           ${buildconf::@targetdistarch}
   164                  bugs:           ${distro::_default_::packages::dev::bugs}
   165                  description:    ${distro::_default_::packages::dev::description}
   166                  homepage:       ${distro::_default_::packages::dev::homepage}
   167                  local-depend:   [ lib ]
   168                  maintainer:     ${distro::_default_::packages::dev::maintainer}
   169                  multiarch:      ${distro::_default_::packages::dev::multiarch}
   170                  name:           ${buildconf::@targetdist::package}${buildconf::@targetdist::dev-suffix}
   171                  origin:         ${distro::_default_::packages::dev::origin}
   172                  pkg-depend:     ${distro::debian::depends::libc-dev}
   173                  priority:       ${distro::_default_::packages::dev::priority}
   174                  section:        ${distro::_default_::packages::dev::section}
   175                  skip:           ${distro::_default_::packages::dev::skip}
   176                  template:       ${distro::_default_::packages::dev}
   177                  version:        ${distro::_default_::packages::dev::version}
   178              prog:
   179                  arch:           ${buildconf::@targetdistarch}
   180                  bugs:           ${distro::_default_::packages::prog::bugs}
   181                  description:    ${distro::_default_::packages::prog::description}
   182                  homepage:       ${distro::_default_::packages::prog::homepage}
   183                  local-depend:   [ lib, data ]
   184                  maintainer:     ${distro::_default_::packages::prog::maintainer}
   185                  multiarch:      ${distro::_default_::packages::prog::multiarch}
   186                  name:           ${buildconf::@targetdist::package}${buildconf::@targetdist::prog-suffix}
   187                  origin:         ${distro::_default_::packages::prog::origin}
   188                  pkg-depend:
   189                  priority:       ${distro::_default_::packages::prog::priority}
   190                  section:        ${distro::_default_::packages::prog::section}
   191                  skip:           ${distro::_default_::packages::prog::skip}
   192                  template:       ${distro::_default_::packages::prog}
   193                  version:        ${distro::_default_::packages::prog::version}
   194              doc:
   195                  arch:           all
   196                  bugs:           ${distro::_default_::packages::doc::bugs}
   197                  description:    ${distro::_default_::packages::doc::description}
   198                  homepage:       ${distro::_default_::packages::doc::homepage}
   199                  local-depend:
   200                  maintainer:     ${distro::_default_::packages::doc::maintainer}
   201                  multiarch:      ${distro::_default_::packages::doc::multiarch}
   202                  name:           ${buildconf::@targetdist::package}${buildconf::@targetdist::doc-suffix}
   203                  origin:         ${distro::_default_::packages::doc::origin}
   204                  pkg-depend:
   205                  priority:       ${distro::_default_::packages::doc::priority}
   206                  section:        ${distro::_default_::packages::doc::section}
   207                  skip:           ${distro::_default_::packages::doc::skip}
   208                  template:       ${distro::_default_::packages::doc}
   209                  version:        ${distro::_default_::packages::doc::version}
   210              data:
   211                  arch:           all
   212                  bugs:           ${distro::_default_::packages::data::bugs}
   213                  description:    ${distro::_default_::packages::data::description}
   214                  homepage:       ${distro::_default_::packages::data::homepage}
   215                  local-depend:
   216                  maintainer:     ${distro::_default_::packages::data::maintainer}
   217                  multiarch:      ${distro::_default_::packages::data::multiarch}
   218                  name:           ${buildconf::@targetdist::package}${buildconf::@targetdist::data-suffix}
   219                  origin:         ${distro::_default_::packages::data::origin}
   220                  pkg-depend:
   221                  priority:       ${distro::_default_::packages::data::priority}
   222                  section:        ${distro::_default_::packages::data::section}
   223                  skip:           ${distro::_default_::packages::data::skip}
   224                  template:       ${distro::_default_::packages::data}
   225                  version:        ${distro::_default_::packages::data::version}
   226  
   227  platform:
   228      linux:
   229          pkg:
   230              libc/math:
   231                  pkgspec:        libc/math
   232                  pkg:            libc/math
   233                  version:        0
   234                  shared/cflags:
   235                  shared/ldflags: -lm
   236                  static/cflags:
   237                  static/ldflags: -lm
   238  
   239          targets:
   240              # beware: these are copied over as raw values into c/library targets
   241              # thus magic references here are relative to the individual target entries
   242  
   243              c/library:
   244                  builder/driver:       c/library
   245  
   246                  ## defaults that may be overwritten
   247                  compiler/lang:        C
   248                  library/name:         ${@@^::@basename}
   249                  library/pkgid:        ${@@^::@id}
   250                  library/dir:          ${buildconf::@builddir/tmp}
   251                  install:              true
   252                  abi:                  1
   253  
   254                  ## fixme: pkg-config needs this ... really the right place ?
   255                  name:                 ${@@^::library/name}
   256  
   257                  description:          ${description}
   258                  version:              ${buildconf::version}
   259  
   260                  pkgconf:
   261                      build:                ${@@^2::build}
   262                      install:              ${@@^2::install}
   263                      install/dir:          ${buildconf::install-dirs::pkgconfigdir}
   264                      install/package:      dev
   265                      install/perm:         0644
   266                      file:                 ${@@^::name}.pc
   267                      version:              ${@@^2::version}
   268                      name:                 ${@@^2::library/name}
   269                      libdir:               ${@@^2::shared::install/dir}
   270                      sharedlibdir:         ${@@^2::shared::install/dir}
   271                      description:          ${@@^2::description}
   272                      prefix:               ${buildconf::install-dirs::prefix}
   273                      exec-prefix:          ${buildconf::install-dirs::exec-prefix}
   274                      includedir:           ${buildconf::install-dirs::includedir}
   275                      archive:              ${@@^::libdir}/${@@^2::static::name}
   276                      libname:              ${@@^2::library/name}
   277                      source/dir:           ${@@^2::source/dir}
   278  
   279                  shared:
   280                      build:                ${@@^2::build}
   281                      compiler/lang:        ${@@^2::compiler/lang}
   282                      install:              ${@@^2::install}
   283                      install/dir:          ${buildconf::install-dirs::libdir}
   284                      install/package:      lib
   285                      install/perm:         0644
   286                      name:                 lib${@@^2::library/name}.so.${@@^2::abi}
   287                      file:                 ${@@^::library/dir}/${@@^::name}
   288                      source/dir:           ${@@^2::source/dir}
   289                      library/dir:          ${@@^2::library/dir}
   290  
   291                  devlink:
   292                      build:                ${@@^2::build}
   293                      install:              ${@@^2::install}
   294                      install/dir:          ${buildconf::install-dirs::libdir}
   295                      install/package:      dev
   296                      install/perm:         0644
   297                      name:                 lib${@@^2::library/name}.so
   298                      target:               ${@@^2::shared::file}
   299                      file:                 ${@@^::library/dir}/${@@^::name}
   300                      source/dir:           ${@@^2::source/dir}
   301                      library/dir:          .
   302  
   303                  static:
   304                      build:                ${@@^2::build}
   305                      compiler/lang:        ${@@^2::compiler/lang}
   306                      install:              ${@@^2::install}
   307                      install/dir:          ${buildconf::install-dirs::libdir}
   308                      install/package:      dev
   309                      install/perm:         0644
   310                      name:                 lib${@@^2::library/name}.a
   311                      file:                 ${@@^::library/dir}/${@@^::name}
   312                      source/dir:           ${@@^2::source/dir}
   313                      library/dir:          ${@@^2::library/dir}
   314  
   315              c/header:
   316                  builder/driver:       c/header
   317                  install:              ${@@^3::install}
   318                  install/dir:          ${buildconf::install-dirs::includedir}
   319                  install/package:      dev
   320                  install/perm:         0664
   321                  source/dir:           ${@@^3::source/dir}
   322  
   323              c/executable:
   324                  builder/driver:       c/executable
   325                  compiler/lang:        C
   326                  install:              ${@@^2::install}
   327                  install/dir:          ${buildconf::install-dirs::bindir}
   328                  install/package:      prog
   329                  install/perm:         0755
   330  
   331                  name:                 ${@@^::@id}
   332                  file:                 ${@@^::name}
   333  
   334              c++/library:
   335                  builder/driver:       c/library
   336  
   337                  ## defaults that may be overwritten
   338                  compiler/lang:        C++
   339                  library/name:         ${@@^::@basename}
   340                  library/pkgid:        ${@@^::@id}
   341                  library/dir:          ${buildconf::@builddir/tmp}
   342                  install:              true
   343                  abi:                  1
   344  
   345                  ## fixme: pkg-config needs this ... really the right place ?
   346                  name:                 ${@@^::library/name}
   347  
   348                  description:          ${description}
   349                  version:              ${buildconf::version}
   350  
   351                  pkgconf:
   352                      build:                ${@@^2::build}
   353                      install:              ${@@^2::install}
   354                      install/dir:          ${buildconf::install-dirs::pkgconfigdir}
   355                      install/package:      dev
   356                      install/perm:         0644
   357                      file:                 ${@@^::name}.pc
   358                      version:              ${@@^2::version}
   359                      name:                 ${@@^2::library/name}
   360                      libdir:               ${@@^2::shared::install/dir}
   361                      sharedlibdir:         ${@@^2::shared::install/dir}
   362                      description:          ${@@^2::description}
   363                      prefix:               ${buildconf::install-dirs::prefix}
   364                      exec-prefix:          ${buildconf::install-dirs::exec-prefix}
   365                      includedir:           ${buildconf::install-dirs::includedir}
   366                      archive:              ${@@^::libdir}/${@@^2::static::name}
   367                      library/name:         ${@@^2::library/name}
   368                      source/dir:           ${@@^2::source/dir}
   369  
   370                  shared:
   371                      build:                ${@@^2::build}
   372                      compiler/lang:        ${@@^2::compiler/lang}
   373                      install:              ${@@^2::install}
   374                      install/dir:          ${buildconf::install-dirs::libdir}
   375                      install/package:      lib
   376                      install/perm:         0644
   377                      name:                 lib${@@^2::library/name}.so.${@@^2::abi}
   378                      file:                 ${@@^::library/dir}/${@@^::name}
   379                      source/dir:           ${@@^2::source/dir}
   380                      library/dir:          ${@@^2::library/dir}
   381  
   382                  devlink:
   383                      build:                ${@@^2::build}
   384                      install:              ${@@^2::install}
   385                      install/dir:          ${buildconf::install-dirs::libdir}
   386                      install/package:      dev
   387                      install/perm:         0644
   388                      name:                 lib${@@^2::library/name}.so
   389                      target:               ${@@^2::shared::file}
   390                      file:                 ${@@^::library/dir}/${@@^::name}
   391                      source/dir:           ${@@^2::source/dir}
   392                      library/dir:          ${@@^2::library/dir}
   393  
   394                  static:
   395                      build:                ${@@^2::build}
   396                      compiler/lang:        ${@@^2::compiler/lang}
   397                      install:              ${@@^2::install}
   398                      install/dir:          ${buildconf::install-dirs::libdir}
   399                      install/package:      dev
   400                      install/perm:         0644
   401                      name:                 lib${@@^2::library/name}.a
   402                      file:                 ${@@^::library/dir}/${@@^::name}
   403                      source/dir:           ${@@^2::source/dir}
   404                      library/dir:          ${@@^2::library/dir}
   405  
   406              c++/executable:
   407                  builder/driver:       c/executable
   408                  compiler/lang:        C++
   409                  install:              ${@@^2::install}
   410                  install/dir:          ${buildconf::install-dirs::bindir}
   411                  install/package:      prog
   412                  install/perm:         0755
   413  
   414                  name:                 ${@@^::@id}
   415                  file:                 ${@@^::name}
   416  
   417              data/misc:
   418                  builder/driver:       data/misc
   419                  install:              ${@@^2::install}
   420                  install/dir:          ${buildconf::install-dirs::datadir}
   421                  install/package:      data
   422                  install/perm:         0664
   423  
   424              data/lib-script:
   425                  builder/driver:       data/misc
   426                  install:              ${@@^2::install}
   427                  install/dir:          ${buildconf::install-dirs::libdir-noarch}/${package}
   428                  install/package:      data
   429                  install/perm:         0755
   430  
   431              data/lib-script-subdir:
   432                  builder/driver:       data/misc
   433                  install:              ${@@^2::install}
   434                  install/dir:          ${buildconf::install-dirs::libdir-noarch}/${package}
   435                  install/package:      data
   436                  install/perm:         0755
   437                  source/dir:           ${@@^::@id}
   438  
   439              data/pixmap:
   440                  builder/driver:       data/pixmap
   441                  install:              ${@@^2::install}
   442                  install/dir:          ${buildconf::install-dirs::pixmapdir}
   443                  install/package:      data
   444                  install/perm:         0664
   445                  source:               ${@@^::@id}
   446  
   447              data/desktop:
   448                  builder/driver:       data/desktop
   449                  install:              ${@@^2::install}
   450                  install/dir:          ${buildconf::install-dirs::fdo-appdir}
   451                  install/package:      data
   452                  install/perm:         0664
   453                  file:                 ${@@^::@id}
   454                  desktop/type:         Application
   455                  desktop/name:         ${shortname}
   456                  desktop/genericname:  ${name}
   457                  desktop/comment:      ${description}
   458                  desktop/icon-file:    ${buildconf::install-dirs::pixmapdir}/${@@^::desktop/icon}
   459                  desktop/terminal:     false
   460  
   461              i18n/po:
   462                  builder/driver:       i18n/po
   463                  builder/command:      msgfmt
   464                  install:              ${@@^2::install}
   465                  install/dir:          ${buildconf::install-dirs::localedir}
   466                  install/package:      data
   467                  install/perm:         0664
   468                  i18n/linguas:         ${i18n::linguas}
   469                  i18n/category:        LC_MESSAGES
   470                  i18n/domain:          ${package}
   471                  source/dir:           po
   472                  name:                 ${@@^::domain}.mo
   473  
   474              i18n/desktop:
   475                  builder/driver:       i18n/msgfmt
   476                  builder/command:      msgfmt
   477                  install:              true
   478                  install/dir:          ${buildconf::install-dirs::fdo-appdir}
   479                  install/package:      data
   480                  install/perm:         0664
   481                  i18n/linguas:         ${i18n::linguas}
   482                  i18n/po/dir:          po
   483                  i18n/type:            desktop
   484                  source/suffix:        .desktop.in
   485                  output/suffix:        .desktop
   486  
   487              i18n/appdata:
   488                  builder/driver:       i18n/msgfmt
   489                  builder/command:      msgfmt
   490                  install:              true
   491                  install/dir:          ${buildconf::install-dirs::metainfodir}
   492                  install/package:      data
   493                  install/perm:         0664
   494                  i18n/linguas:         ${i18n::linguas}
   495                  i18n/po/dir:          po
   496                  i18n/type:            xml
   497                  source/suffix:        .appdata.xml.in
   498                  output/suffix:        .appdata.xml
   499  
   500              doc/man:
   501                  builder/driver:       doc/man
   502                  install:              ${@@^2::install}
   503                  install/dir:          ${buildconf::install-dirs::mandir}
   504                  install/package:      doc
   505                  install/perm:         0664
   506                  man/compress:         gz
   507                  man/section:          ${@@^::@id/suffix}
   508                  source:               ${@@^::@id}
   509  
   510              doc/misc:
   511                  builder/driver:       doc/misc
   512                  install:              ${@@^2::install}
   513                  install/dir:          ${buildconf::install-dirs::docdir}
   514                  install/package:      doc
   515                  install/perm:         0664
   516                  install/subdir:       ${package}
   517                  compress:             gz
   518  
   519              doc/yelp:
   520                  builder/driver:       doc/yelp
   521                  builder/command:      yelp-build
   522                  install:              ${@@^2::install}
   523                  install/dir:          ${buildconf::install-dirs::docdir}
   524                  install/package:      doc
   525                  install/perm:         0664
   526                  install/subdir:       ${package}
   527                  output/format:        html
   528  
   529              gen/glib-resource:
   530                  builder/driver:       gen/glib-resource
   531                  builder/command:      glib-compile-resources
   532                  source:               ${@@^::@id}.xml
   533                  name:                 ${@@^::@id}
   534                  resource/name:        ${@@^::name}
   535                  resource/dir:         ${@@^::source/dir}
   536                  include/dir:          ${@@^::source/dir}
   537                  output/c/header:      ${@@^::resource/dir}/${@@^::resource/name}.h
   538                  output/c/source:      ${@@^::resource/dir}/${@@^::resource/name}.c
   539                  output/gresource:     ${@@^::resource/dir}/${@@^::resource/name}.gresource
   540  
   541              gen/glib-marshal:
   542                  builder/driver:       gen/glib-marshal
   543                  builder/command:      glib-genmarshal
   544                  source:               ${@@^::@id}.list
   545                  resource/name:        ${@@^::@id}
   546                  output/name:          ${@@^::@id}
   547                  output/c/source:      ${@@^::output/name}.c
   548                  output/c/header:      ${@@^::output/name}.h
   549  
   550              gen/xdt-csource:
   551                  builder/driver:       gen/xdt-csource
   552  
   553              gen/xxd-csource:
   554                  builder/driver:       gen/xxd-csource
   555                  output/c/header:      ${@@^::@id}
   556  
   557              c/glib-marshal:
   558                  builder/driver:       c/glib-marshal
   559  
   560                  source:               ${@@^::@id}.list
   561                  output/name:          ${@@^::@id}
   562                  output/c/source:      ${@@^::output/name}.c
   563                  output/c/header:      ${@@^::output/name}.h
   564                  resource/name:        ${@@^::@id}
   565                  library/name:         ${@@^::resource/name}
   566                  pkgconf/import:       GLIB
   567                  skip/pkgconf:         true
   568                  skip/shared:          true
   569                  install:              false
   570  
   571                  generate:
   572                      type:             gen/glib-marshal
   573                      resource/name:    ${@@^2::resource/name}
   574                      output/name:      ${@@^2::output/name}
   575                      output/c/header:  ${@@^2::output/c/header}
   576                      output/c/source:  ${@@^2::output/c/source}
   577                      source:           ${@@^2::source}
   578                      source/dir:       ${@@^2::source/dir}
   579                      job/depends:      ${@@^2::job/depends}
   580  
   581                  library:
   582                      type:             c/library
   583                      build:            ${@@^2::build}
   584                      library/name:     ${@@^2::library/name}
   585                      skip/pkgconf:     ${@@^2::skip/pkgconf}
   586                      skip/shared:      ${@@^2::skip/shared}
   587                      source/dir:       ${@@^2::source/dir}
   588                      source:           ${@@^2::generate::output/c/source}
   589                      pkgconf/import:   ${@@^2::pkgconf/import}
   590                      install:          ${@@^2::install}
   591                      job/depends:      [ "${@@^3::@id}/generate",
   592                                          "${@@^3::job/depends}" ]
   593                      library/pkgid:    ${@@^2::@id}
   594  
   595              c/glib-resource:
   596                  builder/driver:       c/glib-resource
   597  
   598                  source:               ${@@^::name}.xml
   599                  source/dir:           .
   600                  name:                 ${@@^::@id}
   601                  resource/name:        ${@@^::name}
   602                  resource/dir:         ${@@^::source/dir}
   603                  output/dir:           ${@@^::resource/dir}
   604                  output/c/header:      ${@@^::output/dir}/${@@^::resource/name}.h
   605                  output/c/source:      ${@@^::output/dir}/${@@^::resource/name}.c
   606                  output/gresource:     ${@@^::output/dir}/${@@^::resource/name}.gresource
   607                  include/dir:          ${@@^::resource/dir}
   608  
   609                  library/name:         ${@@^::resource/name}
   610                  skip/pkgconf:         true
   611                  skip/shared:          true
   612                  install:              false
   613                  pkgconf/import:       GLIB
   614  
   615                  generate:
   616                      type:             gen/glib-resource
   617                      source:           ${@@^2::source}
   618                      source/dir:       ${@@^2::source/dir}
   619                      resource/dir:     ${@@^2::resource/dir}
   620                      include/dir:      ${@@^2::include/dir}
   621                      output/c/header:  ${@@^2::output/c/header}
   622                      output/c/source:  ${@@^2::output/c/source}
   623                      output/gresource: ${@@^2::output/gresource}
   624                      job/depends:      ${@@^2::job/depends}
   625  
   626                  library:
   627                      type:             c/library
   628                      build:            ${@@^2::build}
   629                      library/name:     ${@@^2::library/name}
   630                      skip/pkgconf:     ${@@^2::skip/pkgconf}
   631                      skip/shared:      ${@@^2::skip/shared}
   632                      source:           ${@@^2::generate::output/c/source}
   633                      pkgconf/import:   ${@@^2::pkgconf/import}
   634                      install:          ${@@^2::install}
   635                      job/depends:      [ "${@@^3::@id}/generate",
   636                                          "${@@^3::job/depends}" ]
   637                      library/pkgid:    ${@@^2::@id}
   638                      library/link-whole:   true
   639  
   640              exec/basic:
   641                  builder/driver:           exec/basic
   642                  exec/log:                 true
   643  
   644  buildconf:
   645      install-dirs: # will be filled by configure stage
   646      version: ${version}
   647  
   648  i18n:
   649      linguas: ${buildconf::linguas}