4
4
edit_GCC_download_prereqs_file_if_necessary ()
5
5
{
6
6
# Only modify download_prerequisites if wget is unavailable
7
- if type wget & > /dev/null; then
8
- info " wget available. Invoking unmodified GCC script contrib/download_prerequisites."
9
- else
7
+ if type wget & > /dev/null; then
8
+ info " wget available. Invoking unmodified GCC script contrib/download_prerequisites."
9
+ else
10
10
info " wget unavailable. Editing GCC contrib/download_prerequisites to replace it with ${gcc_prereqs_fetch} "
11
11
12
12
download_prereqs_file=" ${PWD} /contrib/download_prerequisites"
13
13
14
14
# Define a file extension for the download_prerequisites backup
15
15
backup_extension=" .original"
16
16
backup_file=" ${download_prereqs_file}${backup_extension} "
17
- if [[ " $( uname) " != " Linux" ]]; then
18
- # Adjust for POSIX OS (e.g., OSX/macOS):
19
- backup_extension=" ${backup_extension} "
20
- fi
21
17
if [[ -f ${backup_file} ]]; then
22
18
# Prevent overwriting an existing backup:
23
19
backup_extension=" "
@@ -43,24 +39,29 @@ edit_GCC_download_prereqs_file_if_necessary()
43
39
# Check for wget format used before GCC 7
44
40
if [[ " ${wget_line} " == * " ftp" * ]]; then
45
41
gcc7_format=" false"
46
- wget_command=" ${wget_line%% ftp* } " # grab everything before " ftp"
42
+ wget_command=" ${wget_line%% ftp* } " # grab everything before ftp
47
43
48
44
# Check for wget format adopted in GCC 7
49
45
elif [[ " ${wget_line} " == * " base_url" * ]]; then
50
46
gcc7_format=" true"
51
- if [[ " ${gcc_prereqs_fetch} " == " ftp_url" ]]; then
52
- # Insert a new line after line 2 to include ftp_url.sh as a download option
53
- sed -i${backup_extension} -e ' 2 a\' $' \n ' " . ${OPENCOARRAYS_SRC_DIR} /prerequisites/build-functions/ftp_url.sh" $' \n ' " ${download_prereqs_file} "
54
- wget_command=' wget --no-verbose -O "${directory}\/${ar}"'
55
- else
56
- wget_command=" ${wget_line%% \"\$\{ base_url\} * } " # grab everything before "${base_url}
57
- wget_command=" wget${wget_command#* wget} " # keep everything from wget forward
58
- fi
47
+ case " ${gcc_prereqs_fetch} " in
48
+ " ftp_url" )
49
+ # Insert a new line after line 2 to include ftp_url.sh as a download option
50
+ sed -i${backup_extension} -e ' 2 a\' $' \n ' " . ${OPENCOARRAYS_SRC_DIR} /prerequisites/build-functions/ftp_url.sh" $' \n ' " ${download_prereqs_file} "
51
+ wget_command=' wget --no-verbose -O "${directory}\/${ar}"'
52
+ ;;
53
+ " curl" )
54
+ wget_command=" ${wget_line%% \"\$\{ directory\} * } " # grab everything before "${base_url}
55
+ wget_command=" wget${wget_command#* wget} " # keep everything from wget forward
56
+ ;;
57
+ * )
58
+ emergency " Unknown download program ${gcc_prereqs_fetch} in edit_GCC_download_prereqs_file_if_necessary.sh"
59
+ ;;
60
+ esac
59
61
60
62
else
61
63
emergency " gcc contrib/download_prerequisites does not use a known URL format"
62
64
fi
63
- info " GCC contrib/download_prerequisites wget command is ${wget_command} "
64
65
65
66
arg_string=" ${gcc_prereqs_fetch_args[@]:- } "
66
67
@@ -73,17 +74,25 @@ edit_GCC_download_prereqs_file_if_necessary()
73
74
debug " if problem downloading, ensure that the gcc download_prerequisites edits are compatible with ${gcc_prereqs_fetch} "
74
75
;;
75
76
esac
76
- # Protect against missing sha512sum command adopted in GCC 7 (not available by on a default on all Linux platforms )
77
+ # Protect against missing sha512sum command adopted in GCC 7 (not available by default on Lubuntu Linux)
77
78
if ! type sha512sum & > /dev/null; then
78
79
info " sha512sum unavailable. Turning off file integrity verification in GCC contrib/download_prerequisites."
79
- sed -i${backup_extension} s/" verify=1" /" verify=0" / " ${download_prereqs_file} "
80
+ if [[ " $( uname) " == " Linux" ]]; then
81
+ # Adjust for non-POSIX OS
82
+ sed -i" ${backup_extension} " s/" verify=1" /" verify=0" / " ${download_prereqs_file} "
83
+ else
84
+ sed -i " ${backup_extension} " s/" verify=1" /" verify=0" / " ${download_prereqs_file} "
85
+ fi
80
86
fi
81
87
fi
82
-
83
88
info " Using the following command to replacing wget in the GCC download_prerequisites file:"
84
89
info " sed -i${backup_extension} s/\" ${wget_command} \" /\" ${gcc_prereqs_fetch} ${arg_string} \" / \" ${download_prereqs_file} \" "
85
- sed -i${backup_extension} s/" ${wget_command} " /" ${gcc_prereqs_fetch} ${arg_string} " / " ${download_prereqs_file} "
90
+ if [[ " $( uname) " == " Linux" ]]; then
91
+ sed -i" ${backup_extension} " s/" ${wget_command} " /" ${gcc_prereqs_fetch} ${arg_string} " / " ${download_prereqs_file} "
92
+ else
93
+ sed -i " ${backup_extension} " s/" ${wget_command} " /" ${gcc_prereqs_fetch} ${arg_string} " / " ${download_prereqs_file} "
94
+ fi
86
95
87
96
fi # end if [[ ${already_modified_downloader:-} != "true" ]];
88
- fi # end if ! type wget &> /dev/null;
97
+ fi # end if ! type wget &> /dev/null;
89
98
}
0 commit comments