编译机环境管理方法 #
以用户的方式管理 #
说明 #
- 创建一个
compiler
用户- 这个用户用于系统默认编译器的的编译
- 该用户的家目录下存放所有代码
- 所有添加的其他编译用户都处于
compiler
中户组(给compiler
设置 SGID 可以使其下面的文件夹都默认处于compiler
组里) - 该用户家目录的所有代码都要给组用户写权限
- 创建用户,以 NDK 为例,
%%android-ndk-r13b-linux-x86_64
对应的用户名android-ndk-r13
- 将编译器安装在对应的用户家目录中
- 将需要的环境变量配置在用户的
.bash_prefile
中 - 配置
umask
,给组与用户同样的权限
演示配置 android-ndk-r13 用户 #
# adduser android-ndk-r13 -g compiler
# echo "umask 002" >> /home/android-ndk-r13/.bashrc
# su - android-ndk-r13
# unzip android-ndk-r13b-linux-x86_64.zip
配置环境变量 #
在~/bash_prefile
中添加下面
export NDKROOT=/home/android-ndk-r13/android-ndk-r13b
export PATH=$NDKROOT:$PATH
INSTALLATION_PATH=/home/output/android-ndk-r13
export prefix=$INSTALLATION_PATH
export ANDROID_HOME=~/android-ndk-r13b
export TOOLCHAIN=$ANDROID_HOME/android-toolchain
export CROSS_SYSROOT=$TOOLCHAIN/sysroot
export PATH=$TOOLCHAIN/bin:$PATH
export TOOL=arm-linux-androideabi
export CC=$TOOLCHAIN/bin/${TOOL}-gcc
export CXX=$TOOLCHAIN/bin/${TOOL}-g++
export LINK=${CXX}
export LD=$TOOLCHAIN/bin/${TOOL}-ld
export AR=$TOOLCHAIN/bin/${TOOL}-ar
export RANLIB=$TOOLCHAIN/bin/${TOOL}-ranlib
export STRIP=$TOOLCHAIN/bin/${TOOL}-strip
export ARCH_FLAGS="-mthumb"
export ARCH_LINK=
export CFLAGS="${ARCH_FLAGS} -fpic -ffunction-sections -funwind-tables -fstack-protector -fno-strict-aliasing -finline-limit=64"
export CXXFLAGS="${CFLAGS} -frtti -fexceptions"
export LDFLAGS="${ARCH_LINK}"