Changeset 581a54a in mainline for uspace/meson.build


Ignore:
Timestamp:
2021-12-20T20:44:44Z (2 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
dbc1398
Parents:
c0436cb
git-author:
Jiri Svoboda <jiri@…> (2021-12-20 20:30:41)
git-committer:
Jiri Svoboda <jiri@…> (2021-12-20 20:44:44)
Message:

Allow filtering list of drivers even in non-barebone mode

This reduces the size of RAM disk / OS image for platforms that do not
use barebone by default, namely amd64, ia32, ia64 and ppc32,
in some cases significantly.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/meson.build

    rc0436cb r581a54a  
    5858endforeach
    5959
     60if CONFIG_BAREBONE
     61        drv_list = rd_essential_drv
     62else
     63        drv_list = rd_drv
     64endif
     65
    6066foreach drv : drvs
    6167        _basename = run_command(basename, drv, check: true).stdout().strip()
     
    6874
    6975        # Install driver metadata.
    70         if not CONFIG_BAREBONE or rd_essential.contains('drv' / drv)
     76        if drv_list.contains('drv' / drv)
    7177                _src = meson.current_source_dir() / 'drv' / drv / _basename + '.ma'
    7278                _dstdir = 'drv' / _basename
     
    9399        installdir = appdirs.get('installdir')
    94100
    95         install = not CONFIG_BAREBONE or rd_essential.contains(dir)
     101        is_drv = (dir.split('/')[0] == 'drv')
     102
     103        if is_drv
     104                # Drivers are installed based on rd_[essential_]drv list
     105                install = drv_list.contains(dir)
     106        else
     107                #
     108                # Servers and applications are installed all or
     109                # based on rd_essential in case of barebone build
     110                #
     111                install = not CONFIG_BAREBONE or rd_essential.contains(dir)
     112        endif
    96113
    97114        if install
     
    129146        # Binaries in the 'drv' subdirectory link libdrv by default.
    130147
    131         is_drv = (dir.split('/')[0] == 'drv')
    132148
    133149        if is_drv
Note: See TracChangeset for help on using the changeset viewer.