summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config/global/download.in18
-rw-r--r--scripts/functions6
2 files changed, 24 insertions, 0 deletions
diff --git a/config/global/download.in b/config/global/download.in
index 910cb21..a82cda8 100644
--- a/config/global/download.in
+++ b/config/global/download.in
@@ -2,6 +2,22 @@
comment "Downloading"
+config FORBID_DOWNLOAD
+ bool
+ prompt "Forbid downloads"
+ default n
+ help
+ Normally, crosstool-NG will try to download missing tarballs (or
+ checkout from CVS/SVN...).
+ If you do not have network connectivity when you run crosstool-NG,
+ and some files are missing, it can be a long time before crosstool-NG
+ fails.
+
+ Saying 'y' here will prevent crosstool-NG from downloading missing
+ files, thus failing early so that you don't get stuck.
+
+if ! FORBID_DOWNLOAD
+
config FORCE_DOWNLOAD
bool
prompt "Force downloads"
@@ -281,3 +297,5 @@ config ONLY_DOWNLOAD
Only download the tarballs. Exit once it done.
Usefull to pre-retrieve the tarballs before going off-line.
+
+endif # ! FORBID_DOWNLOAD
diff --git a/scripts/functions b/scripts/functions
index fa6ed3e..3a540a3 100644
--- a/scripts/functions
+++ b/scripts/functions
@@ -480,6 +480,9 @@ CT_GetFile() {
CT_GetLocal "${file}" ${first_ext} && return 0 || true
# No, it does not...
+ # Are downloads allowed ?
+ CT_TestAndAbort "File '${file}' not present locally, and downloads are not allowed" "${CT_FORBID_DOWNLOAD}" = "y"
+
# Try to retrieve the file
CT_DoLog EXTRA "Retrieving '${file}'"
CT_Pushd "${CT_TARBALLS_DIR}"
@@ -539,6 +542,9 @@ CT_GetCVS() {
CT_GetLocal "${basename}" && return 0 || true
# No, it does not...
+ # Are downloads allowed ?
+ CT_TestAndAbort "File '${file}' not present locally, and downloads are not allowed" "${CT_FORBID_DOWNLOAD}" = "y"
+
CT_DoLog EXTRA "Retrieving '${basename}'"
CT_MktempDir tmp_dir