From 39d643412018413d466ea66fe18f7907ef879c3c Mon Sep 17 00:00:00 2001 From: dingguangya Date: Fri, 4 Nov 2022 16:17:53 +0800 Subject: [PATCH] [gcc-cross] Provides the ability to build 32-bit and 64 bit programs in parallel (cherry picked from commit faa939e8ba6b0de255ef062b298ad587bb1b616f) --- config.xml | 2 ++ download.sh | 3 ++- gcc-cross.spec | 9 ++++++++- .../openeuler_gcc_aarch64_linux_release.sh | 2 +- openeuler_gcc_arm64le/pre_construction.sh | 4 ++-- 5 files changed, 15 insertions(+), 5 deletions(-) diff --git a/config.xml b/config.xml index 3c74fae..28e7676 100644 --- a/config.xml +++ b/config.xml @@ -15,4 +15,6 @@ ISL_DIR="isl-0.16.1" GLIBC="glibc" GLIBC_DIR="glibc-2.34" KERNEL_HEADERS="kernel_headers" +KERNEL_HEADERS_64="kernel_headers_64" LINUX_KERNEL="kernel" +LINUX_KERNEL_64="kernel-64" diff --git a/download.sh b/download.sh index 92292bd..b492ff4 100755 --- a/download.sh +++ b/download.sh @@ -56,4 +56,5 @@ do_patch $MPC echo "Download $ISL" && git clone -b openEuler-22.03-LTS https://gitee.com/src-openeuler/isl.git do_patch $ISL -echo "Download $KERNEL" && git clone -b 5.10.0-60.16.0 https://gitee.com/openeuler/kernel.git --depth 1 +echo "Download $LINUX_KERNEL" && git clone -b 5.10.0-60.16.0 https://gitee.com/openeuler/kernel.git --depth 1 +cp -a $LINUX_KERNEL $LINUX_KERNEL_64 diff --git a/gcc-cross.spec b/gcc-cross.spec index 378f524..6864189 100644 --- a/gcc-cross.spec +++ b/gcc-cross.spec @@ -28,8 +28,9 @@ if [ "$files" != 0 ]; then ls *.tar | xargs -n1 tar xvf fi bash download.sh -bash build.sh openeuler_gcc_arm64le +bash build.sh openeuler_gcc_arm64le & bash build.sh openeuler_gcc_arm32le +wait %install mkdir -p %{buildroot}/tmp @@ -41,6 +42,12 @@ cp %{_builddir}/output/openeuler_gcc_arm32le/openeuler_gcc_arm32le.tar.gz %{buil %attr(755, root, root) /tmp/openeuler_gcc_arm32le.tar.gz %changelog +* Tue Nov 8 2022 dingguangya +- Type:Fix +- ID:NA +- SUG:NA +- DESC: Increase parallel compilation capability + * Wed Mar 23 2022 dingguangya - Type:Init - ID:NA diff --git a/openeuler_gcc_arm64le/openeuler_gcc_aarch64_linux_release.sh b/openeuler_gcc_arm64le/openeuler_gcc_aarch64_linux_release.sh index dafb803..9d78fa2 100755 --- a/openeuler_gcc_arm64le/openeuler_gcc_aarch64_linux_release.sh +++ b/openeuler_gcc_arm64le/openeuler_gcc_aarch64_linux_release.sh @@ -62,7 +62,7 @@ echo "Building binutils..." && pushd $ROOT_TAR_DIR/obj/build-binutils LDFLAGS="${SECURE_LDFLAGS}" CFLAGS="${SECURE_CFLAGS}" CXXFLAGS="${SECURE_CXXFLAGS}" CFLAGS_FOR_TARGET="${SECURE_CFLAGS_FOR_TARGET}" CXXFLAGS_FOR_TARGET="${SECURE_CXXFLAGS_FOR_TARGET}" $ROOT_TAR_SRC/$BINUTILS/$BINUTILS_DIR/configure --build=$BUILD --target=$TARGET --prefix=$PREFIX --host=$HOST --with-pkgversion="${COMPILER_INFO}" --with-sysroot=$SYSROOT --enable-plugins --enable-ld=yes --disable-gdb --libdir=$PREFIX/lib64 make -j 32 && make install prefix=$PREFIX exec_prefix=$PREFIX libdir=$PREFIX/lib64 && popd -echo "Installing kernel headers..." && pushd $ROOT_TAR_SRC/$KERNEL_HEADERS/ +echo "Installing kernel headers..." && pushd $ROOT_TAR_SRC/$KERNEL_HEADERS_64/ mkdir -p $SYSROOT/usr/ && cp -r include $SYSROOT/usr/ mkdir -p $SYSROOT/usr/include/bits $SYSROOT/usr/include/gnu && popd diff --git a/openeuler_gcc_arm64le/pre_construction.sh b/openeuler_gcc_arm64le/pre_construction.sh index e28c6ce..a960766 100755 --- a/openeuler_gcc_arm64le/pre_construction.sh +++ b/openeuler_gcc_arm64le/pre_construction.sh @@ -20,6 +20,6 @@ clean chmod 777 $ROOT_BUILD_SRC -R # Extract kernel header files -cd $ROOT_BUILD_SRC/$LINUX_KERNEL -make headers_install ARCH=arm64 INSTALL_HDR_PATH=$ROOT_BUILD_SRC/$KERNEL_HEADERS +cd $ROOT_BUILD_SRC/$LINUX_KERNEL_64 +make headers_install ARCH=arm64 INSTALL_HDR_PATH=$ROOT_BUILD_SRC/$KERNEL_HEADERS_64 cd - -- Gitee