[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 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
|
||||
|
||||
@ -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
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
|
||||
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)"
|
||||
|
||||
@ -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
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
|
||||
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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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