!22 [sync] PR-20: [gcc-cross] Fix the hard coding problem in the software package building process

From: @openeuler-sync-bot 
Reviewed-by: @eastb233 
Signed-off-by: @eastb233
This commit is contained in:
openeuler-ci-bot 2022-12-21 02:23:18 +00:00 committed by Gitee
commit a7d728638f
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
12 changed files with 64 additions and 58 deletions

View File

@ -48,7 +48,7 @@ miss_tool_error bison --version
miss_tool_error flex --version
miss_tool_error makeinfo --version
if [ "$1"x = "openeuler_gcc_arm64le"x ] || [ "$1"x = "openeuler_gcc_arm32le"x ]; then
if [ "$1"x = "gcc_arm64le"x ] || [ "$1"x = "gcc_arm32le"x ]; then
cd $1
elif [ "$1"x = "clean"x ] ; then
clean

View File

@ -1,7 +1,7 @@
Summary: C/C++ Cross Compiler Toolchain
Name: gcc-cross
Version: 1.0
Release: 2
Release: 3
# libgcc, libgfortran, libmudflap, libgomp, libstdc++ and crtstuff have
# GCC Runtime Exception.
License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2+ and BSD
@ -28,20 +28,26 @@ 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_arm32le
bash build.sh gcc_arm64le &
bash build.sh gcc_arm32le
wait
%install
mkdir -p %{buildroot}/tmp
cp %{_builddir}/output/openeuler_gcc_arm64le/openeuler_gcc_arm64le.tar.gz %{buildroot}/tmp
cp %{_builddir}/output/openeuler_gcc_arm32le/openeuler_gcc_arm32le.tar.gz %{buildroot}/tmp
cp %{_builddir}/output/gcc_arm64le/gcc_arm64le.tar.gz %{buildroot}/tmp
cp %{_builddir}/output/gcc_arm32le/gcc_arm32le.tar.gz %{buildroot}/tmp
%files
%attr(755, root, root) /tmp/openeuler_gcc_arm64le.tar.gz
%attr(755, root, root) /tmp/openeuler_gcc_arm32le.tar.gz
%attr(755, root, root) /tmp/gcc_arm64le.tar.gz
%attr(755, root, root) /tmp/gcc_arm32le.tar.gz
%changelog
* Mon Nov 28 2022 dingguangya <dingguangya1@huawei.com> - 1.0-3
-Type:Fix
-ID:NA
-SUG:NA
-DESC: Fix the hard coding problem in the software package building process
* Thu Nov 17 2022 dingguangya <dingguangya1@huawei.com> - 1.0-2
-Type:Fix
-ID:NA

23
gcc_arm32le/build.sh Executable file
View File

@ -0,0 +1,23 @@
#!/bin/bash
set -e
set -x
readonly LOG_PATH="$PWD/../logs"
if [[ -z "$COMPILER_INFO" ]];then
source $PWD/../config.xml
fi
[ -e "$LOG_PATH/gcc_arm32le_patch.log" ] && rm $LOG_PATH/gcc_arm32le_patch.log
[ -e "$LOG_PATH/gcc_arm32le_build.log" ] && rm $LOG_PATH/gcc_arm32le_build.log
mkdir -p $LOG_PATH
source pre_construction.sh &>> $LOG_PATH/gcc_arm32le_patch.log
echo "------------------------------------------"
echo "Now building the "gcc_arm32le" toolchain ..."
echo "The entire build process takes about 45 minutes (build time is related to machine preformance), you can view the detailed build log in the ${LOG_PATH} file"
source gcc_update_sourcecode.sh
source gcc_arm_linux_release.sh &>> $LOG_PATH/gcc_arm32le_build.log
echo "Build gcc_arm32le toolchain completed!"

View File

@ -5,7 +5,7 @@ set -e
# Target root directory,should be adapted according to your environment
readonly ROOT_TAR_DIR="$PWD/arm32le_build_dir"
readonly ROOT_TAR_SRC="$PWD/../../open_source"
readonly INSTALL="openeuler_gcc_arm32le"
readonly INSTALL="gcc_arm32le"
readonly PREFIX="$PWD/arm32le_build_dir/$INSTALL"
readonly OUTPUT="$PWD/../../output/$INSTALL"
@ -15,7 +15,7 @@ readonly SECURE_CXXFLAGS="-O2 -Wall -fstack-protector-strong -D_FORTIFY_SOURCE=2
readonly SECURE_CFLAGS_FOR_TARGET="-O2 -Wall -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wl,-z,relro,-z,now,-z,noexecstack -Wtrampolines -Wno-stringop-overflow -march=armv7-a -mfloat-abi=soft -mfpu=vfp"
readonly SECURE_CXXFLAGS_FOR_TARGET="-O2 -Wall -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wl,-z,relro,-z,now,-z,noexecstack -Wtrampolines -Wno-stringop-overflow -march=armv7-a -mfloat-abi=soft -mfpu=vfp"
readonly TARGET="arm-openeuler-linux-gnueabi"
readonly TARGET="arm-linux-gnueabi"
readonly HOST="$(gcc -dumpmachine)"
readonly BUILD="$(gcc -dumpmachine)"

View File

@ -4,7 +4,7 @@ set -e
set -x
readonly ROOT_BUILD_SRC="$PWD/../../open_source"
readonly OUTPUT_INSTALL="$PWD/../../output/openeuler_gcc_arm32le"
readonly OUTPUT_INSTALL="$PWD/../../output/gcc_arm32le"
if [[ -z "$COMPILER_INFO" ]];then
source $PWD/../config.xml

21
gcc_arm64le/build.sh Executable file
View File

@ -0,0 +1,21 @@
#!/bin/bash
set -e
set -x
readonly LOG_PATH="$PWD/../logs"
source $PWD/../config.xml
[ -e "$LOG_PATH/gcc_arm64le_patch.log" ] && rm $LOG_PATH/gcc_arm64le_patch.log
[ -e "$LOG_PATH/gcc_arm64le_build.log" ] && rm $LOG_PATH/gcc_arm64le_build.log
mkdir -p $LOG_PATH
source pre_construction.sh &>> $LOG_PATH/gcc_arm64le_patch.log
echo "------------------------------------------"
echo "Now building the "gcc_arm64le" toolchain ..."
echo "The entire build process takes about 45 minutes (build time is related to machine preformance), you can view the detailed build log in the ${LOG_PATH} file"
source gcc_update_sourcecode.sh
source gcc_aarch64_linux_release.sh &>> $LOG_PATH/gcc_arm64le_build.log
echo "Build gcc_arm64le toolchain completed!"

View File

@ -5,7 +5,7 @@ set -e
# Target root directory,should be adapted according to your environment
readonly ROOT_TAR_DIR="$PWD/arm64le_build_dir"
readonly ROOT_TAR_SRC="$PWD/../../open_source"
readonly INSTALL="openeuler_gcc_arm64le"
readonly INSTALL="gcc_arm64le"
readonly PREFIX="$PWD/arm64le_build_dir/$INSTALL"
readonly OUTPUT="$PWD/../../output/$INSTALL"
@ -22,7 +22,7 @@ readonly SYSROOT="$PREFIX/sysroot"
#OTHER CONFIG
readonly ARCH="armv8-a"
readonly TARGET="aarch64-openeuler-linux-gnu"
readonly TARGET="aarch64-linux-gnueabi"
source $PWD/../config.xml

View File

@ -4,7 +4,7 @@ set -e
set -x
readonly ROOT_BUILD_SRC="$PWD/../../open_source"
readonly OUTPUT_INSTALL="$PWD/../../output/openeuler_gcc_arm64le"
readonly OUTPUT_INSTALL="$PWD/../../output/gcc_arm64le"
source $PWD/../config.xml

View File

@ -1,23 +0,0 @@
#!/bin/bash
set -e
set -x
readonly LOG_PATH="$PWD/../logs"
if [[ -z "$COMPILER_INFO" ]];then
source $PWD/../config.xml
fi
[ -e "$LOG_PATH/openeuler_gcc_arm32le_patch.log" ] && rm $LOG_PATH/openeuler_gcc_arm32le_patch.log
[ -e "$LOG_PATH/openeuler_gcc_arm32le_build.log" ] && rm $LOG_PATH/openeuler_gcc_arm32le_build.log
mkdir -p $LOG_PATH
source pre_construction.sh &>> $LOG_PATH/openeuler_gcc_arm32le_patch.log
echo "------------------------------------------"
echo "Now building the "openeuler_gcc_arm32le" toolchain ..."
echo "The entire build process takes about 45 minutes (build time is related to machine preformance), you can view the detailed build log in the ${LOG_PATH} file"
source openeuler_gcc_update_sourcecode.sh
source openeuler_gcc_arm_linux_release.sh &>> $LOG_PATH/openeuler_gcc_arm32le_build.log
echo "Build openeuler_gcc_arm32le toolchain completed!"

View File

@ -1,21 +0,0 @@
#!/bin/bash
set -e
set -x
readonly LOG_PATH="$PWD/../logs"
source $PWD/../config.xml
[ -e "$LOG_PATH/openeuler_gcc_arm64le_patch.log" ] && rm $LOG_PATH/openeuler_gcc_arm64le_patch.log
[ -e "$LOG_PATH/openeuler_gcc_arm64le_build.log" ] && rm $LOG_PATH/openeuler_gcc_arm64le_build.log
mkdir -p $LOG_PATH
source pre_construction.sh &>> $LOG_PATH/openeuler_gcc_arm64le_patch.log
echo "------------------------------------------"
echo "Now building the "openeuler_gcc_arm64le" toolchain ..."
echo "The entire build process takes about 45 minutes (build time is related to machine preformance), you can view the detailed build log in the ${LOG_PATH} file"
source openeuler_gcc_update_sourcecode.sh
source openeuler_gcc_aarch64_linux_release.sh &>> $LOG_PATH/openeuler_gcc_arm64le_build.log
echo "Build openeuler_gcc_arm64le toolchain completed!"