[gcc-cross] Fix the hard coding problem in the software package building process
(cherry picked from commit 2697adf95cd2f8868d196082f5685093e61cd8ad)
This commit is contained in:
parent
4d1bc3499e
commit
0241eadfa4
2
build.sh
2
build.sh
@ -48,7 +48,7 @@ miss_tool_error bison --version
|
|||||||
miss_tool_error flex --version
|
miss_tool_error flex --version
|
||||||
miss_tool_error makeinfo --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
|
cd $1
|
||||||
elif [ "$1"x = "clean"x ] ; then
|
elif [ "$1"x = "clean"x ] ; then
|
||||||
clean
|
clean
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
Summary: C/C++ Cross Compiler Toolchain
|
Summary: C/C++ Cross Compiler Toolchain
|
||||||
Name: gcc-cross
|
Name: gcc-cross
|
||||||
Version: 1.0
|
Version: 1.0
|
||||||
Release: 2
|
Release: 3
|
||||||
# libgcc, libgfortran, libmudflap, libgomp, libstdc++ and crtstuff have
|
# libgcc, libgfortran, libmudflap, libgomp, libstdc++ and crtstuff have
|
||||||
# GCC Runtime Exception.
|
# GCC Runtime Exception.
|
||||||
License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2+ and BSD
|
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
|
ls *.tar | xargs -n1 tar xvf
|
||||||
fi
|
fi
|
||||||
bash download.sh
|
bash download.sh
|
||||||
bash build.sh openeuler_gcc_arm64le &
|
bash build.sh gcc_arm64le &
|
||||||
bash build.sh openeuler_gcc_arm32le
|
bash build.sh gcc_arm32le
|
||||||
wait
|
wait
|
||||||
|
|
||||||
%install
|
%install
|
||||||
mkdir -p %{buildroot}/tmp
|
mkdir -p %{buildroot}/tmp
|
||||||
cp %{_builddir}/output/openeuler_gcc_arm64le/openeuler_gcc_arm64le.tar.gz %{buildroot}/tmp
|
cp %{_builddir}/output/gcc_arm64le/gcc_arm64le.tar.gz %{buildroot}/tmp
|
||||||
cp %{_builddir}/output/openeuler_gcc_arm32le/openeuler_gcc_arm32le.tar.gz %{buildroot}/tmp
|
cp %{_builddir}/output/gcc_arm32le/gcc_arm32le.tar.gz %{buildroot}/tmp
|
||||||
|
|
||||||
%files
|
%files
|
||||||
%attr(755, root, root) /tmp/openeuler_gcc_arm64le.tar.gz
|
%attr(755, root, root) /tmp/gcc_arm64le.tar.gz
|
||||||
%attr(755, root, root) /tmp/openeuler_gcc_arm32le.tar.gz
|
%attr(755, root, root) /tmp/gcc_arm32le.tar.gz
|
||||||
|
|
||||||
%changelog
|
%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
|
* Thu Nov 17 2022 dingguangya <dingguangya1@huawei.com> - 1.0-2
|
||||||
-Type:Fix
|
-Type:Fix
|
||||||
-ID:NA
|
-ID:NA
|
||||||
|
|||||||
23
gcc_arm32le/build.sh
Executable file
23
gcc_arm32le/build.sh
Executable 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!"
|
||||||
@ -5,7 +5,7 @@ set -e
|
|||||||
# Target root directory,should be adapted according to your environment
|
# Target root directory,should be adapted according to your environment
|
||||||
readonly ROOT_TAR_DIR="$PWD/arm32le_build_dir"
|
readonly ROOT_TAR_DIR="$PWD/arm32le_build_dir"
|
||||||
readonly ROOT_TAR_SRC="$PWD/../../open_source"
|
readonly ROOT_TAR_SRC="$PWD/../../open_source"
|
||||||
readonly INSTALL="openeuler_gcc_arm32le"
|
readonly INSTALL="gcc_arm32le"
|
||||||
readonly PREFIX="$PWD/arm32le_build_dir/$INSTALL"
|
readonly PREFIX="$PWD/arm32le_build_dir/$INSTALL"
|
||||||
readonly OUTPUT="$PWD/../../output/$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_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 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 HOST="$(gcc -dumpmachine)"
|
||||||
readonly BUILD="$(gcc -dumpmachine)"
|
readonly BUILD="$(gcc -dumpmachine)"
|
||||||
|
|
||||||
@ -4,7 +4,7 @@ set -e
|
|||||||
set -x
|
set -x
|
||||||
|
|
||||||
readonly ROOT_BUILD_SRC="$PWD/../../open_source"
|
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
|
if [[ -z "$COMPILER_INFO" ]];then
|
||||||
source $PWD/../config.xml
|
source $PWD/../config.xml
|
||||||
21
gcc_arm64le/build.sh
Executable file
21
gcc_arm64le/build.sh
Executable 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!"
|
||||||
@ -5,7 +5,7 @@ set -e
|
|||||||
# Target root directory,should be adapted according to your environment
|
# Target root directory,should be adapted according to your environment
|
||||||
readonly ROOT_TAR_DIR="$PWD/arm64le_build_dir"
|
readonly ROOT_TAR_DIR="$PWD/arm64le_build_dir"
|
||||||
readonly ROOT_TAR_SRC="$PWD/../../open_source"
|
readonly ROOT_TAR_SRC="$PWD/../../open_source"
|
||||||
readonly INSTALL="openeuler_gcc_arm64le"
|
readonly INSTALL="gcc_arm64le"
|
||||||
readonly PREFIX="$PWD/arm64le_build_dir/$INSTALL"
|
readonly PREFIX="$PWD/arm64le_build_dir/$INSTALL"
|
||||||
readonly OUTPUT="$PWD/../../output/$INSTALL"
|
readonly OUTPUT="$PWD/../../output/$INSTALL"
|
||||||
|
|
||||||
@ -22,7 +22,7 @@ readonly SYSROOT="$PREFIX/sysroot"
|
|||||||
|
|
||||||
#OTHER CONFIG
|
#OTHER CONFIG
|
||||||
readonly ARCH="armv8-a"
|
readonly ARCH="armv8-a"
|
||||||
readonly TARGET="aarch64-openeuler-linux-gnu"
|
readonly TARGET="aarch64-linux-gnueabi"
|
||||||
|
|
||||||
source $PWD/../config.xml
|
source $PWD/../config.xml
|
||||||
|
|
||||||
@ -4,7 +4,7 @@ set -e
|
|||||||
set -x
|
set -x
|
||||||
|
|
||||||
readonly ROOT_BUILD_SRC="$PWD/../../open_source"
|
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
|
source $PWD/../config.xml
|
||||||
|
|
||||||
@ -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!"
|
|
||||||
@ -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!"
|
|
||||||
Loading…
x
Reference in New Issue
Block a user