yann@1: # Overall toolchain configuration: paths, jobs, etc... yann@1: yann@1: menu "Paths and misc options" yann@1: yann@1: config PARALLEL_JOBS yann@1: int yann@1: prompt "Number of parallel jobs" yann@1: default 1 yann@1: help yann@1: Number of jobs make will be allowed to run concurently. yann@1: Set this higher than the number of processors you have, but not too high. yann@1: A good rule of thumb is twice the number of processors you have. yann@1: yann@1: Enter 1 (or 0) to have only one job at a time. yann@1: yann@1: config LOAD yann@1: int yann@1: prompt "Maximum allowed load" yann@1: default 0 yann@1: help yann@1: Specifies that no new jobs should be started if there are others jobs yann@1: running and the load average is at least this value. yann@1: yann@1: Makes sense on SMP machines only. yann@1: yann@1: Enter 0 to have no limit on the load average. yann@1: yann@1: Note: only the integer part of the load is allowed here (you can't enter yann@1: 0.75 for example). yann@1: yann@1: config NICE yann@1: int yann@1: prompt "Nice level" yann@1: default 0 yann@1: range 0 19 yann@1: help yann@1: Renices the build process up. yann@1: yann@1: config USE_PIPES yann@1: bool yann@1: prompt "Use -pipe" yann@1: default y yann@1: help yann@1: Use gcc's option -pipe to use pipes rather than temp files when building yann@1: the toolchain. yann@1: yann@1: comment "Paths" yann@1: yann@1: config TARBALLS_DIR yann@1: string yann@1: prompt "Tarballs directory" yann@1: default "`pwd`/tarballs" yann@1: help yann@1: This is the directory into which tarballs are going to be stored once yann@1: they are downloaded (or otherwise retrieved). yann@1: yann@1: config SRC_DIR yann@1: string yann@1: prompt "Extract directory" yann@1: default "`pwd`/${CT_TARGET}/src" yann@1: help yann@1: This is the directory into which tarballs will be extracted. yann@1: yann@1: If you will build multiple toolchains, you should arrange to have one yann@1: SRC_DIR for each toolchain, as different targets may require different yann@1: patches to be applied. yann@1: yann@1: config BUILD_DIR yann@1: string yann@1: prompt "Build directory" yann@1: default "`pwd`/${CT_TARGET}/gcc-${CT_CC_VERSION}-${CT_LIBC}-${CT_LIBC_VERSION}" yann@1: help yann@1: This is the directory into which builds will occur. yann@1: yann@1: Once again, arrange for one build directory for each toolchain you build, yann@1: to avoid collision. yann@1: yann@1: config PREFIX_DIR yann@1: string yann@1: prompt "Prefix directory" yann@1: default "${HOME}/${CT_TARGET}" yann@1: help yann@1: This is the path the toolchain will run from. yann@1: yann@1: config INSTALL_DIR yann@1: string yann@1: # prompt "Install directory" yann@1: default "${CT_PREFIX_DIR}" yann@1: # help yann@1: # This is the path the target will be installed into. yann@1: # yann@1: # Normally, you would set this to ${CT_PREFIX_DIR}, but if for some reasons yann@1: # you can't write there, you can install somewhere else and have a third yann@1: # person do the install for you. yann@1: # The reason you might also want to install elsewhere is if you are going yann@1: # to package your shinny new toolchain for distribution. yann@1: yann@1: config CUSTOM_PATCH yann@1: bool yann@1: prompt "Use custom patch directory" yann@1: default n yann@1: help yann@1: If you have custom patches that you want to be applied, say 'Y' here and yann@1: enter the path directory below. yann@1: yann@1: Note that you must ensure that the patch directory is arranged the same yann@1: way the official directory is. yann@1: yann@1: config CUSTOM_PATCH_ONLY yann@1: bool yann@1: prompt "Only use custom patches" yann@1: default n yann@1: depends on CUSTOM_PATCH yann@1: help yann@1: Don't apply patches coming with CT-NG, only those patches available in yann@1: the directory below. yann@1: yann@1: If you say 'N' here, then the patches provided with CT-NG will be applied yann@1: first, and then your patches. yann@1: yann@1: config CUSTOM_PATCH_DIR yann@1: string yann@1: prompt "Custom patch directory" yann@1: default "" yann@1: depends on CUSTOM_PATCH yann@1: help yann@1: Enter the custom patch directory here. yann@1: yann@1: comment "Downloading and extracting" yann@1: yann@1: config NO_DOWNLOAD yann@1: bool yann@1: prompt "Avoid downloads" yann@1: default n yann@1: help yann@1: Avoid downloading anything. Bail out if a tarball is missing. yann@1: yann@1: config ONLY_DOWNLOAD yann@1: bool yann@1: prompt "Only download tarballs" yann@1: default n yann@1: depends on ! NO_DOWNLOAD yann@1: help yann@1: Only download the tarballs. Exit once it done. yann@1: yann@1: Usefull to pre-retrieve the tarballs before going off-line. yann@1: yann@1: config FORCE_DOWNLOAD yann@1: bool yann@1: prompt "Force downloads" yann@1: default n yann@1: depends on ! NO_DOWNLOAD yann@1: help yann@1: Force downloading tarballs, even if one already exists. yann@1: Usefull if you suspect a tarball to be damaged. yann@1: yann@1: config FORCE_EXTRACT yann@1: bool yann@1: prompt "Force extractions" yann@1: depends on ! ONLY_DOWNLOAD yann@1: default n yann@1: help yann@1: Force extraction of already exctracted tarballs. yann@1: yann@1: Usefull if you suspect a previous extract did not complete (eg. broken yann@1: tarball), or you added a new set of patches for this component. yann@1: yann@1: comment "Logging" yann@1: yann@1: choice yann@1: bool yann@1: prompt "Maximum log level to see:" yann@1: default LOG_INFO yann@1: yann@1: config LOG_ERROR yann@1: bool yann@1: prompt "ERROR" yann@1: help yann@1: The build will be silent. yann@1: Only if there is an error will you see a mesage. yann@1: yann@1: config LOG_WARN yann@1: bool yann@1: prompt "WARN" yann@1: help yann@1: The same as above, plus warnings. yann@1: yann@1: config LOG_INFO yann@1: bool yann@1: prompt "INFO" yann@1: help yann@1: The same as above, plus informational messages (main steps). yann@1: yann@1: config LOG_EXTRA yann@1: bool yann@1: prompt "EXTRA" yann@1: help yann@1: The same as above, plus extra messages (sub-steps). yann@1: yann@1: config LOG_DEBUG yann@1: bool yann@1: prompt "DEBUG" yann@1: help yann@1: The same as above, plus lots of debug information, of which each yann@1: component's build messages (very noisy!). yann@1: yann@1: endchoice yann@1: yann@1: config LOG_LEVEL_MAX yann@1: string yann@1: default "ERROR" if LOG_ERROR yann@1: default "WARN" if LOG_WARN yann@1: default "INFO" if LOG_INFO yann@1: default "EXTRA" if LOG_EXTRA yann@1: default "DEBUG" if LOG_DEBUG yann@1: yann@1: config LOG_PROGRESS_BAR yann@1: bool yann@1: prompt "Progress bar" yann@1: default n yann@1: depends on ! LOG_DEBUG yann@1: help yann@1: This option will print a "rotating bar" (/-\|) below the last log line yann@1: to show work is not stalled. yann@1: yann@1: Available when not in DEBUG log level. yann@1: yann@1: config LOG_USE_COLORS yann@1: bool yann@1: prompt "Use colors for logging to console" yann@1: default n yann@1: help yann@1: Use colors to highlight important messages. yann@1: ERROR: bright red yann@1: WARN : bright yellow yann@1: INFO : bright green yann@1: EXTRA: dim green yann@1: DEBUG: dim white yann@1: yann@1: config LOG_TO_FILE yann@1: bool yann@1: prompt "Log to a file" yann@1: default y yann@1: help yann@1: Save *full* logs to a file. Even log levels you didn't specify above yann@1: will be available in this file. yann@1: yann@1: config LOG_FILE yann@1: string yann@1: prompt "Log file" yann@1: default "${CT_PREFIX_DIR}/${CT_TARGET}.log" yann@1: depends on LOG_TO_FILE yann@1: help yann@1: File name into which to put logs. yann@1: yann@1: endmenu