Skip to content

Config: INI (Beta)

鄭余玄 edited this page Jan 21, 2019 · 2 revisions

pkg.ini

Define all available packages.

ex:

[gcc]
    [gcc-8.2.0]
    alias: gcc8
    prefix: /opt/gcc/8.2.0

    [gcc-7.3.0]
    alias: gcc7, gcc
    prefix: /opt/gcc/7.3.0

[cudnn]
    [cudnn-7.3+cuda10]
    alias: cudnn
    prefix: /opt/cuda/10.0/cudnn-7.3
  • gcc-8.2.0 is the unique name of a package.
  • lowercase keys are reserved; while uppercase keys are directly used for environment variables.
    • alias (list of string): provide short alias(es) of a package.
    • prefix (string): use for {PREFIX} string interpolation.
    • cmd (string): direct command execution.
  • the value of an environment variable is a string separated by : or ,.
  • string interpolation
    • {HOME}: defined by the environment variable $HOME.
    • {PREFIX}: defined by prefix value.

meta.ini

Define meta package templates.

ex:

[gcc]
    LD_LIBRARY_PATH={PREFIX}/lib, {PREFIX}/lib64, {PREFIX}/libexec
    PATH={PREFIX}/bin

[intel]
    cmd: source {PREFIX}/bin/compilervars.sh intel64

[standard-64]
    alias: cudnn
    PATH={PREFIX}/bin
    LD_LIBRARY_PATH={PREFIX}/lib64
    CPATH={PREFIX}/include
    LIBRARY_PATH={PREFIX}/lib64
  • gcc is the unique name of a meta package.
  • lowercase keys are reserved; while uppercase keys are directly used for environment variables.
    • alias (list of string): provide short alias(es) of a meta package.
    • cmd (string): direct command execution.
  • the value of an environment variable is a string separated by : or ,.
  • strings can be prepared for further string interpolations.
Clone this wiki locally