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@85: config LOCAL_TARBALLS_DIR yann@1: string yann@85: prompt "Local tarballs directory" yann@85: default "" yann@1: help yann@85: If you have previously downloaded the tarballs, enter the PATH where yann@85: you stored them here. 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@63: comment "Downloading" yann@1: yann@63: config FORCE_DOWNLOAD yann@1: bool yann@63: prompt "Force downloads" yann@1: default n yann@1: help yann@63: Force downloading tarballs, even if one already exists. yann@63: yann@63: Usefull if you suspect a tarball to be damaged. yann@1: yann@1: config ONLY_DOWNLOAD yann@1: bool yann@63: prompt "Stop after downloading tarballs" yann@1: default n 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@63: comment "Extracting" yann@63: depends on ! ONLY_DOWNLOAD 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@63: config ONLY_EXTRACT yann@63: bool yann@63: prompt "Stop after extracting tarballs" yann@63: depends on ! ONLY_DOWNLOAD yann@63: default n yann@63: help yann@63: Exit after unpacking and patching tarballs. yann@63: yann@63: Usefull to look at the code before doing the build itself. yann@63: 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@78: The same as above, plus lots of crosstool-NG debug information. yann@78: yann@78: config LOG_ALL yann@78: bool yann@78: prompt "ALL" yann@78: help yann@78: The same as above, plus all components 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@78: default "ALL" if LOG_ALL yann@1: yann@47: config LOG_SEE_TOOLS_WARN yann@47: bool yann@108: prompt "Warnings from the tool builds as CT warnings" yann@47: default n yann@47: depends on ! LOG_ERROR yann@47: help yann@108: Treat warnings fron the different tools as crosstool warnings. yann@108: If you say 'y' here, then those warnings will be prefixed with yann@108: '[WARN ]' instead of the default '[ALL ]'. yann@47: yann@108: You can safely say 'n' here. Those warnings will anyway be yann@108: recorded in the log file (provided you configured one). yann@47: yann@1: config LOG_PROGRESS_BAR yann@1: bool yann@1: prompt "Progress bar" yann@1: default n yann@78: depends on ! LOG_ALL yann@1: help yann@112: If you say 'y' here, you'll be able to see the elapsed time. yann@1: yann@112: As a bonus, you'll also get a rotating bar (/-\|) showing you yann@112: that the build is not stalled (the bar rotates 1/4 every 10 lines yann@112: of components build log). yann@112: yann@112: Note that the elapsed time can stall for a little while if a yann@112: component has long commands, as the elapsed time is only updated yann@112: each line. 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