yann@1: # Overall toolchain configuration: paths, jobs, etc... yann@1: yann@1: menu "Paths and misc options" yann@1: yann@41: config EXPERIMENTAL yann@41: bool yann@41: prompt "Try features marked as EXPERIMENTAL" yann@41: default n yann@41: help yann@41: If you set this to Y, then you will be able to try very experimental yann@41: features. yann@41: yann@41: Experimental features can be one of: yann@41: - working, in which case you should tell me it is! yann@41: - buggy, in which case you could try patching and send me the result yann@41: - unfinished, in which case you could try hacking it and send me the result yann@41: - non-existant, in which case you could also try hacking it in and send the result yann@41: yann@61: config OBSOLETE yann@61: bool yann@61: prompt "Use obsolete features" yann@61: default n yann@61: help yann@61: If you set this to Y, you will be able to select obsolete features. yann@61: yann@61: Such obsolete features are the use of old kernel headers, old yann@61: gcc versions, etc... yann@61: 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@31: default "${CT_TOP_DIR}/build/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@31: default "${CT_TOP_DIR}/build/${CT_TARGET}/${CT_CC}-${CT_CC_VERSION}-${CT_LIBC}-${CT_LIBC_VERSION}/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@31: You should not need to change this from the default. yann@31: yann@1: config BUILD_DIR yann@1: string yann@1: prompt "Build directory" yann@31: default "${CT_TOP_DIR}/build/${CT_TARGET}/${CT_CC}-${CT_CC_VERSION}-${CT_LIBC}-${CT_LIBC_VERSION}/build" 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@31: You should not need to change this from the default. yann@31: 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@14: config REMOVE_DOCS yann@14: bool yann@14: prompt "Remove documentation" yann@14: default n yann@14: help yann@14: Remove the installed documentation (man and info pages). yann@14: Gains around 8MiB for a uClibc-based, C and C++ compiler. yann@14: 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@47: config LOG_SEE_TOOLS_WARN yann@47: bool yann@47: prompt "See warnings from the tool builds" yann@47: default n yann@47: depends on ! LOG_ERROR yann@47: help yann@47: If you say Y here, then you will have see the warning lines from yann@47: the components builds. yann@47: yann@47: It should suffice to say N here, as those will anyway be visible yann@47: in the log file (if you want one). yann@47: 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@47: As a bonus, there is a script in tools/extractConfig.sh that is able yann@47: to extract the configuration of crosstool-NG from the log file. yann@47: yann@47: Definitely, say Y. yann@47: 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