config/global/download_extract.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Wed May 21 22:00:52 2008 +0000 (2008-05-21)
changeset 527 4ac12179ef23
parent 492 ef8ef3493392
child 601 d3f712796549
permissions -rw-r--r--
Introduce target-specific LDFLAGS, the same way we have CFLAGS for the target.
It seems to be helping gcc somewhat into telling the correct endianness to ld that sticks with little endian even when the target is big (eg armeb-unknown-linux-uclibcgnueabi).
There's still work to do, especially finish the gcc part that is not in this commit.

/trunk/scripts/functions | 9 7 2 0 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
yann@445
     1
# Options specific to downloading and extracting packages
yann@174
     2
yann@63
     3
comment "Downloading"
yann@1
     4
yann@63
     5
config FORCE_DOWNLOAD
yann@1
     6
    bool
yann@63
     7
    prompt "Force downloads"
yann@1
     8
    default n
yann@1
     9
    help
yann@63
    10
      Force downloading tarballs, even if one already exists.
yann@63
    11
      
yann@63
    12
      Usefull if you suspect a tarball to be damaged.
yann@1
    13
yann@1
    14
config ONLY_DOWNLOAD
yann@1
    15
    bool
yann@63
    16
    prompt "Stop after downloading tarballs"
yann@1
    17
    default n
yann@1
    18
    help
yann@1
    19
      Only download the tarballs. Exit once it done.
yann@1
    20
      
yann@1
    21
      Usefull to pre-retrieve the tarballs before going off-line.
yann@1
    22
yann@492
    23
config CONNECT_TIMEOUT
yann@492
    24
    int
yann@492
    25
    prompt "connection timeout"
yann@492
    26
    default 10
yann@492
    27
    help
yann@492
    28
      From the curl manual:
yann@492
    29
        Maximum time in seconds that you allow the connection to the server to take.
yann@492
    30
yann@492
    31
      The scenario is as follows;
yann@492
    32
        - some enterprise networks have firewalls that prohibit FTP traffic, while
yann@492
    33
          still allowing HTTP
yann@492
    34
        - most download sites have http:// equivalent for the ftp:// URL
yann@492
    35
        - after this number of seconds, it is considered that the connection could
yann@492
    36
          not be established, and the next URL in the list is tried, until we reach
yann@492
    37
          an URL that will go through the firewall, most probably an http:// URL.
yann@492
    38
yann@492
    39
      If you have a slow network, you'd better set this value higher than the default
yann@492
    40
      10s. If you know a firewall is blocking connections, but your network is globally
yann@492
    41
      fast, you can try to lower this value to jump more quickly to allowed URLs. YMMV.
yann@492
    42
yann@492
    43
      Note that this value applies equally to wget if you have that installed.
yann@492
    44
yann@492
    45
      Of course, you'd be better off to use a proxy, as offered by the following
yann@492
    46
      choice of options.
yann@492
    47
yann@441
    48
choice
yann@441
    49
    bool
yann@441
    50
    prompt "Proxy type"
yann@487
    51
    default PROXY_TYPE_NONE
yann@441
    52
yann@442
    53
config PROXY_TYPE_NONE
yann@441
    54
    bool
yann@441
    55
    prompt "No proxy"
yann@441
    56
    help
yann@441
    57
      Select this option if you have a direct connection to the internet,
yann@441
    58
      or if you already set the environment adequately.
yann@441
    59
yann@442
    60
config PROXY_TYPE_HTTP
yann@441
    61
    bool
yann@441
    62
    prompt "HTTP proxy"
yann@441
    63
    help
yann@441
    64
      Use an HTTP proxy to connect to to the internet.
yann@442
    65
      Only the http and ftp protocols will be tunneled through this
yann@441
    66
      proxy.
yann@441
    67
yann@442
    68
      Alternatively to setting this option, you can set and export the
yann@442
    69
      following variables in your environment:
yann@441
    70
        ftp_proxy=http://user:passwd@proxy.server:port/
yann@441
    71
        http_proxy=http://user:passwd@proxy.server:port/
yann@441
    72
        https_proxy=http://user:passwd@proxy.server:port/
yann@441
    73
yann@441
    74
# Haha! Here is an interesting feature/bug of mconf!
yann@441
    75
# The following config entries will be shown out-side the
yann@441
    76
# choice menu!
yann@441
    77
# To add a third entry in the choice menu, add it after the
yann@441
    78
# if...endif conditional below, and so on for a fourth entry...
yann@442
    79
if PROXY_TYPE_HTTP
yann@441
    80
yann@442
    81
config PROXY_HOST
yann@441
    82
    string
yann@442
    83
    prompt "hostname/IP"
yann@441
    84
yann@442
    85
config PROXY_PORT
yann@441
    86
    int
yann@442
    87
    prompt "port"
yann@452
    88
    default 8080
yann@441
    89
    
yann@442
    90
config PROXY_USER
yann@441
    91
    string
yann@442
    92
    prompt "user name"
yann@441
    93
yann@442
    94
config PROXY_PASS
yann@441
    95
    string
yann@442
    96
    prompt "password"
yann@441
    97
yann@441
    98
endif # USE_HTTP_PROXY
yann@441
    99
yann@442
   100
config PROXY_TYPE_SOCKS
yann@442
   101
    bool
yann@451
   102
    prompt "SOCKS 4/5 proxy (EXPERIMENTAL)"
yann@451
   103
    depends on EXPERIMENTAL
yann@442
   104
    help
yann@442
   105
      Use a Socks 4/5 proxy to connect to the internet.
yann@442
   106
      All protocols can get tunneled through this kind of proxy (depending
yann@442
   107
      on your proxy configuration, so;e do not allow all protocols, but
yann@442
   108
      chances are that protocols needed by crosstool-NG are allowed).
yann@442
   109
yann@452
   110
      Please note that the proxy you are using MUST be on the same subnet
yann@452
   111
      as your machine. That is, it must be reachable without a hop through
yann@452
   112
      any gate. If this is not the case, then do NOT use this option, and
yann@452
   113
      setup tsocks system-wide.
yann@452
   114
yann@452
   115
      Alternatively to setting this option, you can configure tsocks
yann@452
   116
      system-wide, and set and export the following variable in your
yann@452
   117
      environment:
yann@442
   118
        LD_PRELOAD=/path/to/your/tsocks-library.so
yann@442
   119
yann@442
   120
      This option makes use of the tsocks library. You will have to have tsocks
yann@442
   121
      installed on your system, of course.
yann@442
   122
yann@442
   123
      If you think you do not know what tsocks is, or how to configure it,
yann@442
   124
      chances are that you do not need to set this option.
yann@442
   125
yann@442
   126
if PROXY_TYPE_SOCKS
yann@442
   127
yann@442
   128
choice
yann@442
   129
    bool
yann@442
   130
    prompt "type"
yann@451
   131
    default PROXY_TYPE_SOCKS_SYS
yann@451
   132
yann@451
   133
config PROXY_TYPE_SOCKS_SYS
yann@451
   134
    bool
yann@451
   135
    prompt "Use system settings"
yann@451
   136
    help
yann@452
   137
      Use that if tsocks is already configured on your system.
yann@451
   138
yann@451
   139
config PROXY_TYPE_SOCKS_AUTO
yann@451
   140
    bool
yann@452
   141
    prompt "Auto (BROKEN)"
yann@452
   142
    depends on BROKEN
yann@451
   143
    help
yann@452
   144
      crosstool-NG will attempt to guess what type of SOCKS version
yann@452
   145
      the proxy speaks.
yann@451
   146
yann@451
   147
config PROXY_TYPE_SOCKS_4
yann@451
   148
    bool
yann@452
   149
    prompt "SOCKS 4 (BROKEN)"
yann@452
   150
    depends on BROKEN
yann@442
   151
yann@442
   152
config PROXY_TYPE_SOCKS_5
yann@442
   153
    bool
yann@452
   154
    prompt "SOCKS 5 (BROKEN)"
yann@452
   155
    depends on BROKEN
yann@442
   156
yann@451
   157
endchoice
yann@442
   158
yann@451
   159
if ! PROXY_TYPE_SOCKS_SYS
yann@451
   160
yann@442
   161
config PROXY_HOST
yann@442
   162
    string
yann@442
   163
    prompt "hostname/IP"
yann@442
   164
yann@442
   165
config PROXY_PORT
yann@442
   166
    int
yann@442
   167
    prompt "port"
yann@452
   168
    default 1080
yann@442
   169
yann@442
   170
config PROXY_USER
yann@442
   171
    string
yann@442
   172
    prompt "user name"
yann@442
   173
yann@442
   174
config PROXY_PASS
yann@442
   175
    string
yann@442
   176
    prompt "password"
yann@442
   177
yann@451
   178
endif # ! PROXY_TYPE_SOCKS_SYS
yann@451
   179
yann@442
   180
endif # USE_SOCKS_PROXY
yann@442
   181
yann@442
   182
endchoice
yann@442
   183
yann@442
   184
config PROXY_TYPE
yann@442
   185
    string
yann@451
   186
    default "none"      if PROXY_TYPE_NONE
yann@451
   187
    default "http"      if PROXY_TYPE_HTTP
yann@451
   188
    default "sockssys"  if PROXY_TYPE_SOCKS_SYS
yann@451
   189
    default "socksauto" if PROXY_TYPE_SOCKS_AUTO
yann@451
   190
    default "socks4"    if PROXY_TYPE_SOCKS_4
yann@451
   191
    default "socks5"    if PROXY_TYPE_SOCKS_5
yann@442
   192
yann@441
   193
# Force restore indentation
yann@445
   194
config BREAK_INDENT
yann@445
   195
    bool
yann@445
   196
    default n
yann@121
   197
yann@244
   198
if ! ONLY_DOWNLOAD
yann@244
   199
yann@63
   200
comment "Extracting"
yann@1
   201
yann@1
   202
config FORCE_EXTRACT
yann@1
   203
    bool
yann@1
   204
    prompt "Force extractions"
yann@1
   205
    default n
yann@1
   206
    help
yann@1
   207
      Force extraction of already exctracted tarballs.
yann@1
   208
      
yann@1
   209
      Usefull if you suspect a previous extract did not complete (eg. broken
yann@1
   210
      tarball), or you added a new set of patches for this component.
yann@1
   211
yann@508
   212
config OVERIDE_CONFIG_GUESS_SUB
yann@508
   213
    bool
yann@508
   214
    prompt "Override config.{guess,sub}"
yann@508
   215
    default y
yann@508
   216
    help
yann@508
   217
      Override tools' versions of config.guess and config.sub with the ones
yann@508
   218
      from crosstool-NG. This means that all instances of config.guess and
yann@508
   219
      config.sub in gcc, binutils, glibc, etc... will be replaced.
yann@508
   220
yann@508
   221
      Most of the time, the versions of those scripts found in packages are old
yann@508
   222
      versions, thus lacking some target definitions. This is the case for
yann@508
   223
      uClibc-based tuples in old versions of gcc and gdb, for example.
yann@508
   224
yann@508
   225
      Also, doing so will guarantee that all components have the same tuples
yann@508
   226
      definitions for your target, and not diverging ones.
yann@508
   227
yann@508
   228
      You can update the ones provided with crosstool-NG by first running:
yann@508
   229
        ct-ng updatetools
yann@508
   230
      in the directory where you want to run crosstool-NG prior to the build.
yann@508
   231
yann@63
   232
config ONLY_EXTRACT
yann@63
   233
    bool
yann@63
   234
    prompt "Stop after extracting tarballs"
yann@63
   235
    default n
yann@63
   236
    help
yann@63
   237
      Exit after unpacking and patching tarballs.
yann@63
   238
      
yann@63
   239
      Usefull to look at the code before doing the build itself.
yann@63
   240
yann@244
   241
endif # ! ONLY_DOWNLOAD