yann@445: # Options specific to downloading and extracting packages yann@174: 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@492: config CONNECT_TIMEOUT yann@492: int yann@492: prompt "connection timeout" yann@492: default 10 yann@492: help yann@492: From the curl manual: yann@492: Maximum time in seconds that you allow the connection to the server to take. yann@492: yann@492: The scenario is as follows; yann@492: - some enterprise networks have firewalls that prohibit FTP traffic, while yann@492: still allowing HTTP yann@492: - most download sites have http:// equivalent for the ftp:// URL yann@492: - after this number of seconds, it is considered that the connection could yann@492: not be established, and the next URL in the list is tried, until we reach yann@492: an URL that will go through the firewall, most probably an http:// URL. yann@492: yann@492: If you have a slow network, you'd better set this value higher than the default yann@492: 10s. If you know a firewall is blocking connections, but your network is globally yann@492: fast, you can try to lower this value to jump more quickly to allowed URLs. YMMV. yann@492: yann@492: Note that this value applies equally to wget if you have that installed. yann@492: yann@492: Of course, you'd be better off to use a proxy, as offered by the following yann@492: choice of options. yann@492: yann@441: choice yann@441: bool yann@441: prompt "Proxy type" yann@487: default PROXY_TYPE_NONE yann@441: yann@442: config PROXY_TYPE_NONE yann@441: bool yann@441: prompt "No proxy" yann@441: help yann@441: Select this option if you have a direct connection to the internet, yann@441: or if you already set the environment adequately. yann@441: yann@442: config PROXY_TYPE_HTTP yann@441: bool yann@441: prompt "HTTP proxy" yann@441: help yann@441: Use an HTTP proxy to connect to to the internet. yann@442: Only the http and ftp protocols will be tunneled through this yann@441: proxy. yann@441: yann@442: Alternatively to setting this option, you can set and export the yann@442: following variables in your environment: yann@441: ftp_proxy=http://user:passwd@proxy.server:port/ yann@441: http_proxy=http://user:passwd@proxy.server:port/ yann@441: https_proxy=http://user:passwd@proxy.server:port/ yann@441: yann@441: # Haha! Here is an interesting feature/bug of mconf! yann@441: # The following config entries will be shown out-side the yann@441: # choice menu! yann@441: # To add a third entry in the choice menu, add it after the yann@441: # if...endif conditional below, and so on for a fourth entry... yann@442: if PROXY_TYPE_HTTP yann@441: yann@442: config PROXY_HOST yann@441: string yann@442: prompt "hostname/IP" yann@441: yann@442: config PROXY_PORT yann@441: int yann@442: prompt "port" yann@452: default 8080 yann@441: yann@442: config PROXY_USER yann@441: string yann@442: prompt "user name" yann@441: yann@442: config PROXY_PASS yann@441: string yann@442: prompt "password" yann@441: yann@441: endif # USE_HTTP_PROXY yann@441: yann@442: config PROXY_TYPE_SOCKS yann@442: bool yann@451: prompt "SOCKS 4/5 proxy (EXPERIMENTAL)" yann@451: depends on EXPERIMENTAL yann@442: help yann@442: Use a Socks 4/5 proxy to connect to the internet. yann@442: All protocols can get tunneled through this kind of proxy (depending yann@601: on your proxy configuration, some do not allow all protocols, but yann@442: chances are that protocols needed by crosstool-NG are allowed). yann@442: yann@452: Alternatively to setting this option, you can configure tsocks yann@452: system-wide, and set and export the following variable in your yann@452: environment: yann@442: LD_PRELOAD=/path/to/your/tsocks-library.so yann@442: yann@442: This option makes use of the tsocks library. You will have to have tsocks yann@442: installed on your system, of course. yann@442: yann@442: If you think you do not know what tsocks is, or how to configure it, yann@442: chances are that you do not need to set this option. yann@442: yann@442: if PROXY_TYPE_SOCKS yann@442: yann@442: choice yann@442: bool yann@442: prompt "type" yann@451: default PROXY_TYPE_SOCKS_SYS yann@451: yann@451: config PROXY_TYPE_SOCKS_SYS yann@451: bool yann@451: prompt "Use system settings" yann@451: help yann@452: Use that if tsocks is already configured on your system. yann@451: yann@451: config PROXY_TYPE_SOCKS_AUTO yann@451: bool yann@601: prompt "Auto" yann@451: help yann@452: crosstool-NG will attempt to guess what type of SOCKS version yann@452: the proxy speaks. yann@451: yann@451: config PROXY_TYPE_SOCKS_4 yann@451: bool yann@601: prompt "SOCKS 4" yann@442: yann@442: config PROXY_TYPE_SOCKS_5 yann@442: bool yann@601: prompt "SOCKS 5" yann@442: yann@451: endchoice yann@442: yann@451: if ! PROXY_TYPE_SOCKS_SYS yann@451: yann@442: config PROXY_HOST yann@442: string yann@442: prompt "hostname/IP" yann@442: yann@442: config PROXY_PORT yann@442: int yann@442: prompt "port" yann@452: default 1080 yann@442: yann@442: config PROXY_USER yann@442: string yann@442: prompt "user name" yann@442: yann@442: config PROXY_PASS yann@442: string yann@442: prompt "password" yann@442: yann@451: endif # ! PROXY_TYPE_SOCKS_SYS yann@451: yann@442: endif # USE_SOCKS_PROXY yann@442: yann@442: endchoice yann@442: yann@442: config PROXY_TYPE yann@442: string yann@451: default "none" if PROXY_TYPE_NONE yann@451: default "http" if PROXY_TYPE_HTTP yann@451: default "sockssys" if PROXY_TYPE_SOCKS_SYS yann@451: default "socksauto" if PROXY_TYPE_SOCKS_AUTO yann@451: default "socks4" if PROXY_TYPE_SOCKS_4 yann@451: default "socks5" if PROXY_TYPE_SOCKS_5 yann@442: yann@441: # Force restore indentation yann@445: config BREAK_INDENT yann@445: bool yann@445: default n yann@121: yann@244: if ! ONLY_DOWNLOAD yann@244: yann@63: comment "Extracting" yann@1: yann@1: config FORCE_EXTRACT yann@1: bool yann@1: prompt "Force extractions" 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@508: config OVERIDE_CONFIG_GUESS_SUB yann@508: bool yann@508: prompt "Override config.{guess,sub}" yann@508: default y yann@508: help yann@508: Override tools' versions of config.guess and config.sub with the ones yann@508: from crosstool-NG. This means that all instances of config.guess and yann@508: config.sub in gcc, binutils, glibc, etc... will be replaced. yann@508: yann@508: Most of the time, the versions of those scripts found in packages are old yann@508: versions, thus lacking some target definitions. This is the case for yann@508: uClibc-based tuples in old versions of gcc and gdb, for example. yann@508: yann@508: Also, doing so will guarantee that all components have the same tuples yann@508: definitions for your target, and not diverging ones. yann@508: yann@508: You can update the ones provided with crosstool-NG by first running: yann@508: ct-ng updatetools yann@508: in the directory where you want to run crosstool-NG prior to the build. yann@508: yann@63: config ONLY_EXTRACT yann@63: bool yann@63: prompt "Stop after extracting tarballs" 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@244: endif # ! ONLY_DOWNLOAD