脚本
build.sh
#! /bin/bash
if [ ! -f ncurses-6.2.tar.gz ]
then
wget http://ftp.gnu.org/pub/gnu/ncurses/ncurses-6.2.tar.gz
fi
tar -xvf ncurses-6.2.tar.gz
chmod +x run.sh
cp run.sh ncurses-6.2/
cd ncurses-6.2
./run.sh
run.sh
#! /bin/bash
###############################
ARM_TOOL_PATH=/home/z/allwinner/h6/lichee/brandy/armv8_toolchain/external-toolchain/bin
SYS_LIB_DIR=/home/z/allwinner/h6/lichee/brandy/armv8_toolchain/external-toolchain/aarch64-linux-gnu/libc/usr
vcom=aarch64-linux-gnu
nthread=8
###############################
export PATH=$PATH:$ARM_TOOL_PATH
OUT_TARGET=`pwd`/../ncurses_arm
mkdir -p $OUT_TARGET
./configure \
--prefix=$OUT_TARGET \
--host=$vcom \
--without-progs \
--without-debug \
--with-shared
make -j$nthread && make install
echo "output directory is $OUT_TARGET"
tar czvf $OUT_TARGET.tar $OUT_TARGET
cp -rvf $OUT_TARGET/* $SYS_LIB_DIR/
echo "$SYS_LIB_DIR"
echo "finish"
make -j1
32位编译器下使用1个线程,64位编译器下可以使用多线程编译。
编译
chmod a+x build.sh
chmod a+x run.sh
./build.sh
输出
ls ncurses_arm
include lib share
ls ncurses_arm/lib/
libform.a libform.so.6 libmenu.a libmenu.so.6 libncurses.a libncurses.so.6 libpanel.a libpanel.so.6
libform.so libform.so.6.2 libmenu.so libmenu.so.6.2 libncurses.so libncurses.so.6.2 libpanel.so libpanel.so.6.2
file ncurses_arm/lib/libncurses.so.6.2
ncurses_arm/lib/libncurses.so.6.2: ELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=b7059a797ca0d48c4ca80e9f8f6e6ab3d17ad18c, not stripped