The file stores all the config variables, which will be visible in make menuconfig. These variables can be accessed from or even from C sources, by including "uk/config.h", using the prefix CONFIG_.

For example, in the configuration file of lib-libhogweed, libhogweed/, we have:

  1. The main variable of the library which acts as an identifier for it:

    config LIBHOGWEED
    	bool "libhogweed - Public-key algorithms"
    	default n
  2. We can also set another library’s main variable, in this case newlib, which involves including it in the build process:

    select LIBNEWLIBC
  3. Creating an auxiliary menu, containing all the test cases:

    menuconfig TESTSUITE
    		bool "testsuite - tests for libhogweed"
    		default n
    		if TESTSUITE
    			config TEST_X
    				bool "test x functionality"
    				default y

    Each test case has its own variable in order to allow testing just some tests from the whole suite.