# Despite an explicit name, it still might display as 'stdlib' as the module
# name and the metadata name are different and while this will go in the
# the metadata, if the stdlib loading does not use the metadata name it won't be
# the same always.
name: libvsl
description: Standard Library for VSL source

version: 0.1.0-beta.1

# Don't change this otherwise you'll have an infinite loop of stdlib loading the
# stdlib. Yes, there is infinite loop protection but not for the stdlib because
# why would you remove this. If you can provide me a half-decent reason for why
# it should exist I'll add it but that reason does not exist.
stdlib: false

# Specify that this is library (i.e. not an executable)
# Dynamic library because it doesn't make sense for each VSL proc to launch its
# own copy of the STL
target: obj

# Cache the stdlib compilation
cache:
    directory: cache

# One-depth wildcard can be used but this also serves as an example module.ymlPath
# and you usually in 99% of cases want a recursive vsl source path
sources:
    - src/*.vsl
    - src/private/*.vsl
    - src/!(private)/**/*.vsl
    - path: src/private/win32/**/*.vsl
      filters:
        - os: win32
    - path: src/private/wasm/**/*.vsl
      filters:
        - arch: wasm
    - path: src/private/libc/**/*.vsl
      filters:
        - not.arch: wasm
    - path: src/private/posix/**/*.vsl
      filters:
        - not.arch: wasm
          not.os: win32

# C libraries to link with
linker:
    libraries:
        # libc
        - c
        # libm
        - m

# Specify options for the documentation generator
docgen:
    # The theme color for the documentation.
    themeColor: '#E26350'
