Config.uk

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

For example, in the configuration file of lib-libhogweed, libhogweed/Config.uk, 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
    		endif
    

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