Fix src.rpm build error.
This commit is contained in:
parent
f6c8a43d7f
commit
f897ec343b
@ -1,7 +1,7 @@
|
||||
Summary: C/C++ Cross Compiler Toolchain
|
||||
Name: gcc-cross
|
||||
Version: 1.0
|
||||
Release: 7
|
||||
Release: 8
|
||||
# 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
|
||||
@ -9,8 +9,8 @@ URL: http://gcc.gnu.org
|
||||
Source0: build.sh
|
||||
Source1: config.xml
|
||||
Source2: download.sh
|
||||
Source3: gcc_arm32le
|
||||
Source4: gcc_arm64le
|
||||
Source3: gcc_arm32le.tar.gz
|
||||
Source4: gcc_arm64le.tar.gz
|
||||
Source5: README.en.md
|
||||
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||
@ -31,9 +31,9 @@ cp -r %{_sourcedir}/* ./
|
||||
|
||||
%build
|
||||
cd %{_builddir}/%{name}-%{version}
|
||||
files=$(ls *.tar 2> /dev/null | wc -l)
|
||||
files=$(ls *.tar.gz 2> /dev/null | wc -l)
|
||||
if [ "$files" != 0 ]; then
|
||||
ls *.tar | xargs -n1 tar xvf
|
||||
ls *.tar.gz | xargs -n1 tar xvf
|
||||
fi
|
||||
bash download.sh
|
||||
bash build.sh gcc_arm64le &
|
||||
@ -50,6 +50,12 @@ cp %{_builddir}/output/gcc_arm32le/gcc_arm32le.tar.gz %{buildroot}/tmp
|
||||
%attr(755, root, root) /tmp/gcc_arm32le.tar.gz
|
||||
|
||||
%changelog
|
||||
* Mon Dec 9 2024 zhengchenhui <zhengchenhui1@huawei.com> - 1.0-8
|
||||
-Type:Fix
|
||||
-ID:NA
|
||||
-SUG:NA
|
||||
-DESC: Fix src.rpm build error.
|
||||
|
||||
* Thu Apr 11 2024 liqian <liqian@kylinos.cn> - 1.0-7
|
||||
-Type:Fix
|
||||
-ID:NA
|
||||
|
||||
BIN
gcc_arm32le.tar.gz
Normal file
BIN
gcc_arm32le.tar.gz
Normal file
Binary file not shown.
@ -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/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 2>&1 | tee $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 2>&1 | tee $LOG_PATH/gcc_arm32le_build.log
|
||||
echo "Build gcc_arm32le toolchain completed!"
|
||||
@ -1,130 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
set -x
|
||||
|
||||
# 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="gcc_arm32le"
|
||||
readonly PREFIX="$PWD/arm32le_build_dir/$INSTALL"
|
||||
readonly OUTPUT="$PWD/../../output/$INSTALL"
|
||||
|
||||
readonly SECURE_LDFLAGS="-z relro -z now -z noexecstack"
|
||||
readonly SECURE_CFLAGS="-O2 -Wall -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wl,-z,relro,-z,now,-z,noexecstack -Wtrampolines -Wno-stringop-overflow -fPIE"
|
||||
readonly SECURE_CXXFLAGS="-O2 -Wall -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wl,-z,relro,-z,now,-z,noexecstack -Wtrampolines -Wno-stringop-overflow -fPIE"
|
||||
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-linux-gnueabi"
|
||||
readonly HOST="$(gcc -dumpmachine)"
|
||||
readonly BUILD="$(gcc -dumpmachine)"
|
||||
|
||||
readonly SYSROOT="$PREFIX/sysroot"
|
||||
|
||||
#OTHER CONFIG
|
||||
readonly ARCH="armv7-a"
|
||||
|
||||
if [[ -z "$COMPILER_INFO" ]];then
|
||||
source $PWD/../config.xml
|
||||
fi
|
||||
|
||||
declare -x 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"
|
||||
declare -x CXXFLAGS_FOR_TARGET="$CFLAGS_FOR_TARGET"
|
||||
|
||||
#Create an empty file
|
||||
create_new_file(){
|
||||
while [ $# != 0 ] ; do
|
||||
[ -n "$1" ] && rm -rf $1 ; mkdir -p $1; shift; done }
|
||||
|
||||
create_new_file $ROOT_TAR_DIR/obj $PREFIX $OUTPUT $ROOT_TAR_DIR/obj/build-gmp $ROOT_TAR_DIR/obj/build-mpfr $ROOT_TAR_DIR/obj/build-isl $ROOT_TAR_DIR/obj/build-mpc $ROOT_TAR_DIR/obj/build-binutils $ROOT_TAR_DIR/obj/build-gcc-first $ROOT_TAR_DIR/obj/glibc-headers $ROOT_TAR_DIR/obj/build-gcc-second $ROOT_TAR_DIR/obj/build-eglibc $ROOT_TAR_DIR/obj/build-gcc-final
|
||||
|
||||
# Change libstdc++.so option
|
||||
sed -i "s#^\\t\$(OPT_LDFLAGS).*#\\t\$(OPT_LDFLAGS) \$(SECTION_LDFLAGS) \$(AM_CXXFLAGS) \$(LTLDFLAGS) -Wl,-z,relro,-z,now,-z,noexecstack -Wtrampolines -o \$\@#g" $ROOT_TAR_SRC/$GCC/$GCC_DIR/libstdc++-v3/src/Makefile.in
|
||||
|
||||
echo "Building gmp..." && pushd $ROOT_TAR_DIR/obj/build-gmp
|
||||
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/$GMP/$GMP_DIR/configure --build=$BUILD --prefix=$PREFIX --disable-shared --host=$HOST --enable-cxx
|
||||
make -j 32 && make install && popd
|
||||
|
||||
echo "Building mpfr..." && pushd $ROOT_TAR_DIR/obj/build-mpfr
|
||||
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/$MPFR/$MPFR_DIR/configure --build=$BUILD --target=$TARGET --prefix=$PREFIX --disable-shared --host=$HOST --with-gmp=$PREFIX
|
||||
make -j 32 && make install && popd
|
||||
|
||||
echo "Building isl..." && pushd $ROOT_TAR_DIR/obj/build-isl
|
||||
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/$ISL/$ISL_DIR/configure --build=$BUILD --host=$HOST --prefix=$PREFIX --with-gmp-prefix=$PREFIX --disable-shared
|
||||
make -j 32 && make install && popd
|
||||
|
||||
echo "Building mpc..." && pushd $ROOT_TAR_DIR/obj/build-mpc
|
||||
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/$MPC/$MPC_DIR/configure --build=$BUILD --target=$TARGET --prefix=$PREFIX --disable-shared --host=$HOST --with-gmp=$PREFIX
|
||||
make -j 32 && make install && popd
|
||||
|
||||
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/lib
|
||||
make -j 32 && make install prefix=$PREFIX exec_prefix=$PREFIX libdir=$PREFIX/lib && popd
|
||||
|
||||
echo "Installing kernel headers..." && pushd $ROOT_TAR_SRC/$KERNEL_HEADERS/
|
||||
mkdir -p $SYSROOT/usr/ && cp -r include $SYSROOT/usr/
|
||||
mkdir -p $SYSROOT/usr/include/bits $SYSROOT/usr/include/gnu && popd
|
||||
|
||||
echo "Building GCC first..." && pushd $ROOT_TAR_DIR/obj/build-gcc-first
|
||||
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/$GCC/$GCC_DIR/configure --build=$BUILD --host=$HOST --target=$TARGET --prefix=$PREFIX --disable-multilib --disable-libmudflap --without-headers --with-newlib --enable-threads=no --disable-shared --disable-nls --with-arch=$ARCH --with-gnu-as --with-gnu-ld --enable-poison-system-directories --disable-libssp --enable-symvers=gnu --enable-__cxa_atexit --disable-libgomp --disable-libstdcxx-pch --disable-libquadmath --disable-lto --enable-languages=c --with-pkgversion="${COMPILER_INFO}" --with-gmp=$PREFIX --with-mpfr=$PREFIX --with-mpc=$PREFIX --with-isl=$PREFIX --with-sysroot=$SYSROOT --with-build-sysroot=$SYSROOT --with-build-time-tools=$PREFIX/$TARGET/bin --libdir=$PREFIX/lib --disable-bootstrap --disable-libatomic --disable-libcilkrts --disable-libstdcxx-dual-abi --with-system-zlib
|
||||
make -j 32 CPPFLAGS_FOR_TARGET=--sysroot=$SYSROOT && make install prefix=$PREFIX exec_prefix=$PREFIX libdir=$PREFIX/lib && popd
|
||||
|
||||
echo "Installing eglibc headers for little-endian..." && mkdir -p $SYSROOT/lib/ $SYSROOT/usr/lib/ && pushd "$ROOT_TAR_DIR/obj/glibc-headers"
|
||||
cp -f $ROOT_TAR_SRC/$GLIBC/$GLIBC_DIR/include/gnu/stubs.h $SYSROOT/usr/include/gnu
|
||||
CC="$PREFIX/bin/$TARGET-gcc $CFLAGS_FOR_TARGET" $ROOT_TAR_SRC/$GLIBC/$GLIBC_DIR/configure --prefix=/usr --with-headers=$SYSROOT/usr/include --build=$BUILD --host=$TARGET --disable-profile --without-gd --without-cvs --disable-multi-arch --enable-add-ons libc_cv_forced_unwind=yes libc_cv_c_cleanup=yes --with-float=soft --with-fp=no --enable-stack-protector=strong libc_cv_ssp=yes
|
||||
make install-bootstrap-headers=yes install-headers install_root=$SYSROOT && make -j 32 csu/subdir_lib
|
||||
cp csu/crt1.o csu/crti.o csu/crtn.o $SYSROOT/usr/lib/
|
||||
$PREFIX/bin/$TARGET-gcc $CFLAGS_FOR_TARGET -o "$SYSROOT/usr/lib/libc.so" -nostdlib -nostartfiles -shared -x c /dev/null && popd
|
||||
|
||||
echo "Building GCC second..." && pushd $ROOT_TAR_DIR/obj/build-gcc-second
|
||||
# Fix this issue https://gitee.com/src-openeuler/gcc-cross/issues/I7KWH4. The reason is that gcc_arm32le/sysroot/usr/include/bits/stdio_lim.h is generated after glibc is upgraded.
|
||||
#cp $ROOT_TAR_DIR/obj/glibc-headers/bits/stdio_lim.h $SYSROOT/usr/include/bits
|
||||
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/$GCC/$GCC_DIR/configure --build=$BUILD --host=$HOST --target=$TARGET --prefix=$PREFIX --disable-multilib --disable-libmudflap --enable-shared --with-arch=$ARCH --enable-__cxa_atexit --with-gnu-as --with-gnu-ld --disable-nls --disable-libssp --disable-libgomp --enable-lto --disable-libquadmath --enable-poison-system-directories --enable-symvers=gnu --enable-languages=c --with-pkgversion="${COMPILER_INFO}" --with-sysroot=$SYSROOT --with-build-sysroot=$SYSROOT --with-gmp=$PREFIX --with-mpfr=$PREFIX --with-mpc=$PREFIX --with-isl=$PREFIX --with-build-time-tools=$PREFIX/$TARGET/bin --libdir=$PREFIX/lib --disable-bootstrap --disable-libatomic --disable-libcilkrts --disable-libstdcxx-dual-abi --with-system-zlib
|
||||
make -j 32 CPPFLAGS_FOR_TARGET=--sysroot=$SYSROOT build_tooldir=$PREFIX/$TARGET && make install-gcc install-target-libgcc prefix=$PREFIX exec_prefix=$PREFIX libdir=$PREFIX/lib && popd
|
||||
|
||||
echo "Building eglibc for little-endian..." && mkdir -p $SYSROOT/lib/ $SYSROOT/usr/lib/ && pushd $ROOT_TAR_DIR/obj/build-eglibc
|
||||
CC="$PREFIX/bin/$TARGET-gcc $CFLAGS_FOR_TARGET" CXX="$PREFIX/bin/$TARGET-g++ $CXXFLAGS_FOR_TARGET" LDFLAGS="${SECURE_LDFLAGS}" $ROOT_TAR_SRC/$GLIBC/$GLIBC_DIR/configure --prefix=/usr --with-headers=$SYSROOT/usr/include --build=$BUILD --host=$TARGET --disable-profile --without-gd --enable-obsolete-rpc --without-cvs --with-__thread --with-tls --disable-multi-arch --enable-shared --with-fp --enable-add-ons libc_cv_forced_unwind=yes libc_cv_c_cleanup=yes --libdir=/usr/lib --with-float=soft --with-fp=no --enable-stack-protector=strong libc_cv_ssp=yes
|
||||
make -j 32 && make install_root=$SYSROOT slibdir=/lib rtlddir=/lib install && popd
|
||||
|
||||
echo "Building GCC final..." && pushd $ROOT_TAR_DIR/obj/build-gcc-final
|
||||
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/$GCC/$GCC_DIR/configure --build=$BUILD --host=$HOST --target=$TARGET --with-arch=$ARCH --prefix=$PREFIX --disable-multilib --enable-__cxa_atexit --with-gnu-as --with-gnu-ld --disable-libmudflap --enable-libgomp --disable-libquadmath --enable-threads --enable-plugin --enable-c99 --enable-long-long --disable-nls --enable-shared --enable-poison-system-directories --enable-symvers=gnu --with-pkgversion="${COMPILER_INFO}" --enable-languages=c,c++,fortran --with-headers=$SYSROOT/usr/include --with-sysroot=$SYSROOT --with-build-sysroot=$SYSROOT --with-gmp=$PREFIX --with-mpfr=$PREFIX --with-mpc=$PREFIX --with-isl=$PREFIX --with-build-time-tools=$PREFIX/$TARGET/bin --libdir=$PREFIX/lib --disable-bootstrap --disable-libcilkrts --disable-libstdcxx-dual-abi --enable-default-pie --with-system-zlib
|
||||
make -j 32 CPPFLAGS_FOR_TARGET=--sysroot=$SYSROOT && make install prefix=$PREFIX exec_prefix=$PREFIX libdir=$PREFIX/lib && popd
|
||||
|
||||
# handle rpath
|
||||
for file in $(find "$PREFIX" -name "lib*so*.0") ; do
|
||||
chrpath --delete $file
|
||||
done
|
||||
|
||||
for file in $(find "$PREFIX/sysroot/usr/lib/gconv" -name "*so") ; do
|
||||
chrpath --delete $file
|
||||
done
|
||||
|
||||
for file in $(find "$PREFIX" -name "*") ; do
|
||||
if [ -f "$file" ]
|
||||
then
|
||||
result=$(file $file)
|
||||
res=$(echo $result | grep "ELF" | cat)
|
||||
if [[ "$res" != "" ]]
|
||||
then
|
||||
get_arch=`arch`
|
||||
if [[ $get_arch =~ "x86_64" ]]
|
||||
then
|
||||
res1=$(echo $result | grep "ARM" | cat)
|
||||
if [[ "$res1" != "" ]]
|
||||
then
|
||||
$PREFIX/bin/$TARGET-strip $file
|
||||
else
|
||||
strip $file
|
||||
fi
|
||||
else
|
||||
strip $file
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
pushd $PREFIX/.. && chmod 750 $INSTALL -R
|
||||
tar --format=gnu -czf $OUTPUT/$INSTALL.tar.gz $INSTALL && popd
|
||||
|
||||
echo "Build Complete!" && echo "To use this newly-built $INSTALL cross toolchain, add $PREFIX/bin to your PATH!"
|
||||
@ -1,41 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
set -x
|
||||
|
||||
readonly ROOT_TOUCH_SRC="$PWD/../../open_source"
|
||||
|
||||
if [[ -z "$COMPILER_INFO" ]];then
|
||||
source $PWD/../config.xml
|
||||
fi
|
||||
|
||||
#[task 002/007] touch .info files in source code for binutils
|
||||
find $ROOT_TOUCH_SRC/$BINUTILS/$BINUTILS_DIR -name "*.info"|xargs -i bash -c "touch {}"
|
||||
|
||||
touch $ROOT_TOUCH_SRC/$BINUTILS/$BINUTILS_DIR/binutils/doc/binutils.texi
|
||||
|
||||
find $ROOT_TOUCH_SRC/$BINUTILS/$BINUTILS_DIR -name "*.1"|xargs -i bash -c "touch {}"
|
||||
|
||||
touch $ROOT_TOUCH_SRC/$GCC/$GCC_DIR/gcc/config/arm/iterators.md
|
||||
|
||||
find $ROOT_TOUCH_SRC/$GCC/$GCC_DIR -name "*.1"|xargs -i bash -c "touch {}"
|
||||
|
||||
find $ROOT_TOUCH_SRC/$GCC/$GCC_DIR -name "*.info"|xargs -i bash -c "touch {}"
|
||||
|
||||
touch $ROOT_TOUCH_SRC/$GLIBC/$GLIBC_DIR/locale/programs/*-kw.h
|
||||
|
||||
touch $ROOT_TOUCH_SRC/$MPFR/$MPFR_DIR/*.m4
|
||||
touch $ROOT_TOUCH_SRC/$MPFR/$MPFR_DIR/configure
|
||||
touch $ROOT_TOUCH_SRC/$MPFR/$MPFR_DIR/Makefile.*
|
||||
touch $ROOT_TOUCH_SRC/$MPFR/$MPFR_DIR/doc/*
|
||||
touch $ROOT_TOUCH_SRC/$GMP/$GMP_DIR/*.m4
|
||||
touch $ROOT_TOUCH_SRC/$GMP/$GMP_DIR/configure
|
||||
touch $ROOT_TOUCH_SRC/$GMP/$GMP_DIR/Makefile.*
|
||||
touch $ROOT_TOUCH_SRC/$GMP/$GMP_DIR/doc/*
|
||||
touch $ROOT_TOUCH_SRC/$MPC/$MPC_DIR/*.m4
|
||||
touch $ROOT_TOUCH_SRC/$MPC/$MPC_DIR/configure
|
||||
touch $ROOT_TOUCH_SRC/$MPC/$MPC_DIR/Makefile.*
|
||||
touch $ROOT_TOUCH_SRC/$MPC/$MPC_DIR/doc/*
|
||||
touch $ROOT_TOUCH_SRC/$ISL/$ISL_DIR/*.m4
|
||||
touch $ROOT_TOUCH_SRC/$ISL/$ISL_DIR/configure
|
||||
touch $ROOT_TOUCH_SRC/$ISL/$ISL_DIR/Makefile.*
|
||||
@ -1,27 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
set -x
|
||||
|
||||
readonly ROOT_BUILD_SRC="$PWD/../../open_source"
|
||||
readonly OUTPUT_INSTALL="$PWD/../../output/gcc_arm32le"
|
||||
|
||||
if [[ -z "$COMPILER_INFO" ]];then
|
||||
source $PWD/../config.xml
|
||||
fi
|
||||
|
||||
#clear history build legacy files
|
||||
clean(){
|
||||
[ -n "$OUTPUT_INSTALL" ] && rm -rf $OUTPUT_INSTALL
|
||||
mkdir -p $OUTPUT_INSTALL
|
||||
}
|
||||
|
||||
#clean the build direcoty
|
||||
clean
|
||||
|
||||
chmod 777 $ROOT_BUILD_SRC -R
|
||||
|
||||
# Extract kernel header files
|
||||
cd $ROOT_BUILD_SRC/$LINUX_KERNEL
|
||||
make headers_install ARCH=arm INSTALL_HDR_PATH=$ROOT_BUILD_SRC/$KERNEL_HEADERS
|
||||
cd -
|
||||
BIN
gcc_arm64le.tar.gz
Normal file
BIN
gcc_arm64le.tar.gz
Normal file
Binary file not shown.
@ -1,21 +0,0 @@
|
||||
#!/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 2>&1 | tee $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 2>&1 | tee $LOG_PATH/gcc_arm64le_build.log
|
||||
echo "Build gcc_arm64le toolchain completed!"
|
||||
@ -1,131 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
set -x
|
||||
|
||||
# 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="gcc_arm64le"
|
||||
readonly PREFIX="$PWD/arm64le_build_dir/$INSTALL"
|
||||
readonly OUTPUT="$PWD/../../output/$INSTALL"
|
||||
|
||||
readonly SECURE_LDFLAGS="-z relro -z now -z noexecstack"
|
||||
readonly SECURE_CFLAGS="-fPIC -O2 -Wall -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wl,-z,relro,-z,now,-z,noexecstack -Wtrampolines -fPIE"
|
||||
readonly SECURE_CXXFLAGS="-fPIC -O2 -Wall -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wl,-z,relro,-z,now,-z,noexecstack -Wtrampolines -fPIE"
|
||||
readonly SECURE_CFLAGS_FOR_TARGET="-fPIC -O2 -Wall -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wl,-z,relro,-z,now,-z,noexecstack -Wtrampolines -mlittle-endian -march=armv8-a -DDONT_USE_DC"
|
||||
readonly SECURE_CXXFLAGS_FOR_TARGET="-fPIC -O2 -Wall -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wl,-z,relro,-z,now,-z,noexecstack -Wtrampolines -mlittle-endian -march=armv8-a -DDONT_USE_DC"
|
||||
|
||||
readonly HOST="$(gcc -dumpmachine)"
|
||||
readonly BUILD="$(gcc -dumpmachine)"
|
||||
|
||||
readonly SYSROOT="$PREFIX/sysroot"
|
||||
|
||||
#OTHER CONFIG
|
||||
readonly ARCH="armv8-a"
|
||||
readonly TARGET="aarch64-linux-gnueabi"
|
||||
|
||||
source $PWD/../config.xml
|
||||
|
||||
declare -x CFLAGS_FOR_TARGET="-fPIC -O2 -Wall -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wl,-z,relro,-z,now,-z,noexecstack -Wtrampolines -mlittle-endian -march=armv8-a -DDONT_USE_DC"
|
||||
declare -x CXXFLAGS_FOR_TARGET="$CFLAGS_FOR_TARGET"
|
||||
|
||||
#Create an empty file
|
||||
create_new_file(){
|
||||
while [ $# != 0 ] ; do
|
||||
[ -n "$1" ] && rm -rf $1 ; mkdir -p $1; shift; done }
|
||||
|
||||
create_new_file $ROOT_TAR_DIR/obj $PREFIX $OUTPUT $ROOT_TAR_DIR/obj/build-gmp $ROOT_TAR_DIR/obj/build-mpfr $ROOT_TAR_DIR/obj/build-isl $ROOT_TAR_DIR/obj/build-mpc $ROOT_TAR_DIR/obj/build-binutils $ROOT_TAR_DIR/obj/build-gcc-first $ROOT_TAR_DIR/obj/glibc-headers-lp64 $ROOT_TAR_DIR/obj/build-gcc-second $ROOT_TAR_DIR/obj/build-eglibc-lp64 $ROOT_TAR_DIR/obj/build-gcc-final
|
||||
|
||||
# Change GLIBC_DYNAMIC_LINKER.
|
||||
sed -i "s#^\#define GLIBC_DYNAMIC_LINKER.*#\#undef STANDARD_STARTFILE_PREFIX_2\n\#define STANDARD_STARTFILE_PREFIX_2 \"/usr/lib64/\"\n\#define GLIBC_DYNAMIC_LINKER \"/lib%{mabi=lp64:64}%{mabi=ilp32:ilp32}/ld-linux-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1\"#g" $ROOT_TAR_SRC/$GCC/$GCC_DIR/gcc/config/aarch64/aarch64-linux.h
|
||||
|
||||
# Change libstdc++.so option
|
||||
sed -i "s#^\\t\$(OPT_LDFLAGS).*#\\t\$(OPT_LDFLAGS) \$(SECTION_LDFLAGS) \$(AM_CXXFLAGS) \$(LTLDFLAGS) -Wl,-z,relro,-z,now,-z,noexecstack -Wtrampolines -o \$\@#g" $ROOT_TAR_SRC/$GCC/$GCC_DIR/libstdc++-v3/src/Makefile.in
|
||||
|
||||
echo "Building gmp..." && pushd $ROOT_TAR_DIR/obj/build-gmp
|
||||
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/$GMP/$GMP_DIR/configure --build=$BUILD --prefix=$PREFIX --disable-shared --host=$HOST --enable-cxx
|
||||
make -j 32 && make install && popd
|
||||
|
||||
echo "Building mpfr..." && pushd $ROOT_TAR_DIR/obj/build-mpfr
|
||||
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/$MPFR/$MPFR_DIR/configure --build=$BUILD --target=$TARGET --prefix=$PREFIX --disable-shared --host=$HOST --with-gmp=$PREFIX
|
||||
make -j 32 && make install && popd
|
||||
|
||||
echo "Building isl..." && pushd $ROOT_TAR_DIR/obj/build-isl
|
||||
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/$ISL/$ISL_DIR/configure --build=$BUILD --host=$HOST --prefix=$PREFIX --with-gmp-prefix=$PREFIX --disable-shared
|
||||
make -j 32 && make install && popd
|
||||
|
||||
echo "Building mpc..." && pushd $ROOT_TAR_DIR/obj/build-mpc
|
||||
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/$MPC/$MPC_DIR/configure --build=$BUILD --target=$TARGET --prefix=$PREFIX --disable-shared --host=$HOST --with-gmp=$PREFIX
|
||||
make -j 32 && make install && popd
|
||||
|
||||
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_64/
|
||||
mkdir -p $SYSROOT/usr/ && cp -r include $SYSROOT/usr/
|
||||
mkdir -p $SYSROOT/usr/include/bits $SYSROOT/usr/include/gnu && popd
|
||||
|
||||
echo "Building GCC first..." && pushd $ROOT_TAR_DIR/obj/build-gcc-first
|
||||
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/$GCC/$GCC_DIR/configure --build=$BUILD --host=$HOST --target=$TARGET --prefix=$PREFIX --with-multilib-list=lp64 --disable-libmudflap --without-headers --with-newlib --enable-threads=no --disable-shared --disable-nls --with-arch=$ARCH --with-gnu-as --with-gnu-ld --enable-poison-system-directories --disable-libssp --enable-symvers=gnu --enable-__cxa_atexit --disable-libgomp --disable-libstdcxx-pch --disable-libquadmath --disable-lto --enable-languages=c --with-pkgversion="${COMPILER_INFO}" --with-gmp=$PREFIX --with-mpfr=$PREFIX --with-mpc=$PREFIX --with-isl=$PREFIX --with-sysroot=$SYSROOT --with-build-sysroot=$SYSROOT --with-build-time-tools=$PREFIX/$TARGET/bin --libdir=$PREFIX/lib64 --disable-bootstrap --disable-libatomic --disable-libcilkrts --disable-libstdcxx-dual-abi --with-system-zlib
|
||||
echo $PATH
|
||||
echo $LD_LIBRARY_PATH
|
||||
make -j 32 CPPFLAGS_FOR_TARGET=--sysroot=$SYSROOT && make install prefix=$PREFIX exec_prefix=$PREFIX libdir=$PREFIX/lib64 && popd
|
||||
|
||||
echo "Installing eglibc headers for lp64..." && mkdir -p $SYSROOT/lib64/ $SYSROOT/usr/lib64/ && pushd "$ROOT_TAR_DIR/obj/glibc-headers-lp64"
|
||||
cp -af $ROOT_TAR_SRC/$GLIBC/$GLIBC_DIR/include/gnu/stubs.h $SYSROOT/usr/include/gnu
|
||||
CC="$PREFIX/bin/$TARGET-gcc $CFLAGS_FOR_TARGET" $ROOT_TAR_SRC/$GLIBC/$GLIBC_DIR/configure --prefix=/usr --with-headers=$SYSROOT/usr/include --build=$BUILD --host=$TARGET --enable-obsolete-rpc --disable-profile --without-gd --without-cvs --disable-multi-arch --enable-add-ons libc_cv_forced_unwind=yes libc_cv_c_cleanup=yes --enable-stack-protector=strong libc_cv_ssp=yes
|
||||
make install-bootstrap-headers=yes install-headers install_root=$SYSROOT && make -j 32 csu/subdir_lib
|
||||
cp csu/crt1.o csu/crti.o csu/crtn.o $SYSROOT/usr/lib64/
|
||||
$PREFIX/bin/$TARGET-gcc $CFLAGS_FOR_TARGET -o "$SYSROOT/usr/lib64/libc.so" -nostdlib -nostartfiles -shared -x c /dev/null && popd
|
||||
|
||||
echo "Building GCC second..." && pushd $ROOT_TAR_DIR/obj/build-gcc-second
|
||||
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/$GCC/$GCC_DIR/configure --build=$BUILD --host=$HOST --target=$TARGET --prefix=$PREFIX --with-multilib-list=lp64 --disable-libmudflap --enable-shared --with-arch=$ARCH --enable-__cxa_atexit --with-gnu-as --with-gnu-ld --disable-nls --disable-libssp --disable-libgomp --enable-lto --disable-libquadmath --enable-poison-system-directories --enable-symvers=gnu --enable-languages=c --with-pkgversion="${COMPILER_INFO}" --with-sysroot=$SYSROOT --with-build-sysroot=$SYSROOT --with-gmp=$PREFIX --with-mpfr=$PREFIX --with-mpc=$PREFIX --with-isl=$PREFIX --with-build-time-tools=$PREFIX/$TARGET/bin --libdir=$PREFIX/lib64 --disable-bootstrap --disable-libatomic --disable-libcilkrts --disable-libstdcxx-dual-abi --with-system-zlib
|
||||
make -j 32 CPPFLAGS_FOR_TARGET=--sysroot=$SYSROOT build_tooldir=$PREFIX/$TARGET && make install-gcc install-target-libgcc prefix=$PREFIX exec_prefix=$PREFIX libdir=$PREFIX/lib64 && popd
|
||||
|
||||
echo "Building eglibc for lp64..." && mkdir -p $SYSROOT/lib64/ $SYSROOT/usr/lib64/ && pushd $ROOT_TAR_DIR/obj/build-eglibc-lp64
|
||||
CC="$PREFIX/bin/$TARGET-gcc $CFLAGS_FOR_TARGET" CXX="$PREFIX/bin/$TARGET-g++ $CXXFLAGS_FOR_TARGET" LDFLAGS="${SECURE_LDFLAGS}" $ROOT_TAR_SRC/$GLIBC/$GLIBC_DIR/configure --prefix=/usr --with-headers=$SYSROOT/usr/include --build=$BUILD --host=$TARGET --disable-profile --without-gd --enable-obsolete-rpc --without-cvs --with-__thread --with-tls --disable-multi-arch --enable-shared --with-fp --enable-add-ons libc_cv_forced_unwind=yes libc_cv_c_cleanup=yes --libdir=/usr/lib64 --enable-stack-protector=strong libc_cv_ssp=yes
|
||||
make -j 32 && make install_root=$SYSROOT slibdir=/lib64 rtlddir=/lib64 install && popd
|
||||
|
||||
echo "Building GCC final..." && pushd $ROOT_TAR_DIR/obj/build-gcc-final
|
||||
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/$GCC/$GCC_DIR/configure --build=$BUILD --host=$HOST --target=$TARGET --with-arch=$ARCH --prefix=$PREFIX --with-multilib-list=lp64 --enable-__cxa_atexit --with-gnu-as --with-gnu-ld --disable-libmudflap --enable-libgomp --enable-threads --enable-plugin --enable-c99 --enable-long-long --disable-nls --enable-shared --enable-poison-system-directories --enable-symvers=gnu --with-pkgversion="${COMPILER_INFO}" --enable-languages=c,c++,fortran --with-headers=$SYSROOT/usr/include --with-sysroot=$SYSROOT --with-build-sysroot=$SYSROOT --with-gmp=$PREFIX --with-mpfr=$PREFIX --with-mpc=$PREFIX --with-isl=$PREFIX --with-build-time-tools=$PREFIX/$TARGET/bin --libdir=$PREFIX/lib64 --disable-bootstrap --disable-libsanitizer --disable-libcilkrts --disable-libstdcxx-dual-abi --enable-default-pie --with-system-zlib
|
||||
make -j 32 CPPFLAGS_FOR_TARGET=--sysroot=$SYSROOT && make install prefix=$PREFIX exec_prefix=$PREFIX libdir=$PREFIX/lib64 && popd
|
||||
|
||||
# handle rpath
|
||||
for file in $(find "$PREFIX" -name "lib*so*.0") ; do
|
||||
chrpath --delete $file
|
||||
done
|
||||
|
||||
for file in $(find "$PREFIX/sysroot/usr/lib64/gconv" -name "*so") ; do
|
||||
chrpath --delete $file
|
||||
done
|
||||
|
||||
for file in $(find "$PREFIX" -name "*") ; do
|
||||
if [ -f "$file" ]
|
||||
then
|
||||
result=$(file $file)
|
||||
res=$(echo $result | grep "ELF" | cat)
|
||||
if [[ "$res" != "" ]]
|
||||
then
|
||||
get_arch=`arch`
|
||||
if [[ $get_arch =~ "x86_64" ]]
|
||||
then
|
||||
res1=$(echo $result | grep "ARM" | cat)
|
||||
if [[ "$res1" != "" ]]
|
||||
then
|
||||
$PREFIX/bin/$TARGET-strip $file
|
||||
else
|
||||
strip $file
|
||||
fi
|
||||
else
|
||||
strip $file
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
pushd $PREFIX/.. && chmod 750 $INSTALL -R
|
||||
tar --format=gnu -czf $OUTPUT/$INSTALL.tar.gz $INSTALL && popd
|
||||
|
||||
echo "Build Complete!" && echo "To use this newly-built $INSTALL cross toolchain, add $PREFIX/bin to your PATH!"
|
||||
@ -1,39 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
set -x
|
||||
|
||||
readonly ROOT_TOUCH_SRC="$PWD/../../open_source"
|
||||
|
||||
source $PWD/../config.xml
|
||||
|
||||
#[task 002/007] touch .info files in source code for binutils
|
||||
find $ROOT_TOUCH_SRC/$BINUTILS/$BINUTILS_DIR -name "*.info"|xargs -i bash -c "touch {}"
|
||||
|
||||
touch $ROOT_TOUCH_SRC/$BINUTILS/$BINUTILS_DIR/binutils/doc/binutils.texi
|
||||
|
||||
find $ROOT_TOUCH_SRC/$BINUTILS/$BINUTILS_DIR -name "*.1"|xargs -i bash -c "touch {}"
|
||||
|
||||
touch $ROOT_TOUCH_SRC/$GCC/$GCC_DIR/gcc/config/aarch64/iterators.md
|
||||
|
||||
find $ROOT_TOUCH_SRC/$GCC/$GCC_DIR -name "*.1"|xargs -i bash -c "touch {}"
|
||||
|
||||
find $ROOT_TOUCH_SRC/$GCC/$GCC_DIR -name "*.info"|xargs -i bash -c "touch {}"
|
||||
|
||||
touch $ROOT_TOUCH_SRC/$GLIBC/$GLIBC_DIR/locale/programs/*-kw.h
|
||||
|
||||
touch $ROOT_TOUCH_SRC/$MPFR/$MPFR_DIR/*.m4
|
||||
touch $ROOT_TOUCH_SRC/$MPFR/$MPFR_DIR/configure
|
||||
touch $ROOT_TOUCH_SRC/$MPFR/$MPFR_DIR/Makefile.*
|
||||
touch $ROOT_TOUCH_SRC/$MPFR/$MPFR_DIR/doc/*
|
||||
touch $ROOT_TOUCH_SRC/$GMP/$GMP_DIR/*.m4
|
||||
touch $ROOT_TOUCH_SRC/$GMP/$GMP_DIR/configure
|
||||
touch $ROOT_TOUCH_SRC/$GMP/$GMP_DIR/Makefile.*
|
||||
touch $ROOT_TOUCH_SRC/$GMP/$GMP_DIR/doc/*
|
||||
touch $ROOT_TOUCH_SRC/$MPC/$MPC_DIR/*.m4
|
||||
touch $ROOT_TOUCH_SRC/$MPC/$MPC_DIR/configure
|
||||
touch $ROOT_TOUCH_SRC/$MPC/$MPC_DIR/Makefile.*
|
||||
touch $ROOT_TOUCH_SRC/$MPC/$MPC_DIR/doc/*
|
||||
touch $ROOT_TOUCH_SRC/$ISL/$ISL_DIR/*.m4
|
||||
touch $ROOT_TOUCH_SRC/$ISL/$ISL_DIR/configure
|
||||
touch $ROOT_TOUCH_SRC/$ISL/$ISL_DIR/Makefile.*
|
||||
@ -1,25 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
set -x
|
||||
|
||||
readonly ROOT_BUILD_SRC="$PWD/../../open_source"
|
||||
readonly OUTPUT_INSTALL="$PWD/../../output/gcc_arm64le"
|
||||
|
||||
source $PWD/../config.xml
|
||||
|
||||
#clear history build legacy files
|
||||
clean(){
|
||||
[ -n "$OUTPUT_INSTALL" ] && rm -rf $OUTPUT_INSTALL
|
||||
mkdir -p $OUTPUT_INSTALL
|
||||
}
|
||||
|
||||
#clean the build direcoty
|
||||
clean
|
||||
|
||||
chmod 777 $ROOT_BUILD_SRC -R
|
||||
|
||||
# Extract kernel header files
|
||||
cd $ROOT_BUILD_SRC/$LINUX_KERNEL_64
|
||||
make headers_install ARCH=arm64 INSTALL_HDR_PATH=$ROOT_BUILD_SRC/$KERNEL_HEADERS_64
|
||||
cd -
|
||||
Loading…
x
Reference in New Issue
Block a user