@@ -199,7 +199,7 @@ function(toolchain_deps toolchain_deps_dir toolchain_install_dir toolchain_suffi
199199 )
200200
201201 ExternalProject_add(libyaml${suffix}
202- URL http ://pyyaml.org/download/libyaml/yaml-${LIBYAML_VERSION} .tar.gz
202+ URL https ://pyyaml.org/download/libyaml/yaml-${LIBYAML_VERSION} .tar.gz
203203 URL_HASH ${LIBYAML_HASH}
204204 DOWNLOAD_DIR ${DOWNLOAD_DIR}
205205 PATCH_COMMAND sh ${PROJECT_SOURCE_DIR} /cmake/update_config_files.sh <SOURCE_DIR>/config
@@ -213,19 +213,21 @@ function(toolchain_deps toolchain_deps_dir toolchain_install_dir toolchain_suffi
213213 "CFLAGS=-DYAML_DECLARE_STATIC"
214214 )
215215
216- # GMP assembly doesn't work on ARM64 macOS - need to disable it
217- if (${CMAKE_SYSTEM_NAME} STREQUAL "Darwin" AND ${CMAKE_HOST_SYSTEM_PROCESSOR} STREQUAL "arm64" )
216+ # GMP assembly causes issues on macOS - need to disable it and use PIC
217+ if (${CMAKE_SYSTEM_NAME} STREQUAL "Darwin" )
218218 set (gmp_asm_flag --disable-assembly)
219+ set (gmp_env_command ${CMAKE_COMMAND} -E env "CFLAGS=-fPIC -fexceptions" "CXXFLAGS=-fPIC" )
219220 else ()
220221 set (gmp_asm_flag "" )
222+ set (gmp_env_command ${CMAKE_COMMAND} -E env "CPPFLAGS=-fexceptions" )
221223 endif ()
222224
223225 ExternalProject_add(gmp${suffix}
224- URL http ://ftp .gnu.org/gnu/gmp/gmp-${GMP_VERSION} .tar.bz2
226+ URL https ://ftpmirror .gnu.org/gnu/gmp/gmp-${GMP_VERSION} .tar.bz2
225227 URL_HASH ${GMP_HASH}
226228 DOWNLOAD_DIR ${DOWNLOAD_DIR}
227229 PATCH_COMMAND sh ${PROJECT_SOURCE_DIR} /cmake/update_config_files.sh <SOURCE_DIR>
228- CONFIGURE_COMMAND CPPFLAGS=-fexceptions ${compiler_flags} ${wrapper_command} <SOURCE_DIR>/configure
230+ CONFIGURE_COMMAND ${gmp_env_command} ${compiler_flags} ${wrapper_command} <SOURCE_DIR>/configure
229231 --build =${build_native}
230232 --host=${toolchain_host}
231233 --prefix =${toolchain_deps_dir}
@@ -238,7 +240,7 @@ function(toolchain_deps toolchain_deps_dir toolchain_install_dir toolchain_suffi
238240
239241 ExternalProject_add(mpfr${suffix}
240242 DEPENDS gmp${suffix}
241- URL http ://ftp .gnu.org/gnu/mpfr/mpfr-${MPFR_VERSION} .tar.bz2
243+ URL https ://ftpmirror .gnu.org/gnu/mpfr/mpfr-${MPFR_VERSION} .tar.bz2
242244 URL_HASH ${MPFR_HASH}
243245 DOWNLOAD_DIR ${DOWNLOAD_DIR}
244246 PATCH_COMMAND sh ${PROJECT_SOURCE_DIR} /cmake/update_config_files.sh <SOURCE_DIR>
@@ -253,7 +255,7 @@ function(toolchain_deps toolchain_deps_dir toolchain_install_dir toolchain_suffi
253255
254256 ExternalProject_add(mpc${suffix}
255257 DEPENDS gmp${suffix} mpfr${suffix}
256- URL https://ftp .gnu.org/gnu/mpc/mpc-${MPC_VERSION} .tar.gz
258+ URL https://ftpmirror .gnu.org/gnu/mpc/mpc-${MPC_VERSION} .tar.gz
257259 URL_HASH ${MPC_HASH}
258260 DOWNLOAD_DIR ${DOWNLOAD_DIR}
259261 PATCH_COMMAND sh ${PROJECT_SOURCE_DIR} /cmake/update_config_files.sh <SOURCE_DIR>
@@ -312,7 +314,7 @@ function(toolchain_deps toolchain_deps_dir toolchain_install_dir toolchain_suffi
312314 )
313315
314316 ExternalProject_Add(binutils${suffix}
315- URL https://ftp .gnu.org/gnu/binutils/binutils-${BINUTILS_VERSION} .tar.xz
317+ URL https://ftpmirror .gnu.org/gnu/binutils/binutils-${BINUTILS_VERSION} .tar.xz
316318 URL_HASH ${BINUTILS_HASH}
317319 DOWNLOAD_DIR ${DOWNLOAD_DIR}
318320 PATCH_COMMAND
@@ -339,7 +341,7 @@ function(toolchain_deps toolchain_deps_dir toolchain_install_dir toolchain_suffi
339341 )
340342
341343 ExternalProject_Add(gdb${suffix}
342- URL https://ftp .gnu.org/gnu/gdb/gdb-${GDB_VERSION} .tar.xz
344+ URL https://ftpmirror .gnu.org/gnu/gdb/gdb-${GDB_VERSION} .tar.xz
343345 URL_HASH ${GDB_HASH}
344346 DOWNLOAD_DIR ${DOWNLOAD_DIR}
345347 PATCH_COMMAND patch -d <SOURCE_DIR> -p1 -t -N < ${PROJECT_SOURCE_DIR} /patches/gdb.patch
@@ -482,7 +484,7 @@ endif()
482484# Build a basic gcc compiler, needed to compile newlib
483485ExternalProject_add(gcc-base
484486 DEPENDS gmp_${build_suffix} mpfr_${build_suffix} mpc_${build_suffix} isl_${build_suffix} libelf_${build_suffix}
485- URL http ://ftp .gnu.org/gnu/gcc/gcc-${GCC_VERSION} /gcc-${GCC_VERSION} .tar.xz
487+ URL https ://ftpmirror .gnu.org/gnu/gcc/gcc-${GCC_VERSION} /gcc-${GCC_VERSION} .tar.xz
486488 URL_HASH ${GCC_HASH}
487489 DOWNLOAD_DIR ${DOWNLOAD_DIR}
488490 PATCH_COMMAND patch -d <SOURCE_DIR> -p1 -t -N < ${PROJECT_SOURCE_DIR} /patches/gcc/0001-gcc-10.patch
@@ -582,7 +584,7 @@ ExternalProject_Add(newlib
582584if (CMAKE_TOOLCHAIN_FILE)
583585 ExternalProject_add(gcc-complete
584586 DEPENDS newlib gmp_${build_suffix} mpfr_${build_suffix} mpc_${build_suffix} isl_${build_suffix} libelf_${build_suffix}
585- URL http ://ftp .gnu.org/gnu/gcc/gcc-${GCC_VERSION} /gcc-${GCC_VERSION} .tar.xz
587+ URL https ://ftpmirror .gnu.org/gnu/gcc/gcc-${GCC_VERSION} /gcc-${GCC_VERSION} .tar.xz
586588 URL_HASH ${GCC_HASH}
587589 DOWNLOAD_DIR ${DOWNLOAD_DIR}
588590 PATCH_COMMAND patch -d <SOURCE_DIR> -p1 -t -N < ${PROJECT_SOURCE_DIR} /patches/gcc/0001-gcc-10.patch
@@ -640,7 +642,7 @@ ExternalProject_Add(pthread-embedded
640642ExternalProject_add(gcc-final
641643 DEPENDS gmp_${target_suffix} mpfr_${target_suffix} mpc_${target_suffix} isl_${target_suffix} libelf_${target_suffix}
642644 DEPENDS newlib ${GCC_DEPENDS} pthread-embedded
643- URL http ://ftp .gnu.org/gnu/gcc/gcc-${GCC_VERSION} /gcc-${GCC_VERSION} .tar.xz
645+ URL https ://ftpmirror .gnu.org/gnu/gcc/gcc-${GCC_VERSION} /gcc-${GCC_VERSION} .tar.xz
644646 URL_HASH ${GCC_HASH}
645647 DOWNLOAD_DIR ${DOWNLOAD_DIR}
646648 PATCH_COMMAND patch -d <SOURCE_DIR> -p1 -t -N < ${PROJECT_SOURCE_DIR} /patches/gcc/0001-gcc-10.patch
0 commit comments