diff --git a/middleware/BUILD.gn b/middleware/BUILD.gn index 939c4abf35c7e65199a0e587a440ae8effb86be9..afa562c5c065ea75219e39a5fb4e6f897ae84126 100755 --- a/middleware/BUILD.gn +++ b/middleware/BUILD.gn @@ -21,7 +21,10 @@ if (defined(ohos_lite)) { if (ohos_build_compiler_dir != "") { clang_dir = rebase_path("${ohos_build_compiler_dir}/bin") } - command = "./build.sh ${outdir} ${board} ${ohos_kernel_type} ${ohos_build_compiler} ${storage_type} ${clang_dir}" + sysroot_path = rebase_path(ohos_current_sysroot) + arch_cflags = string_join(" ", target_arch_cflags) + arch_cflags += " --target=$target_triple" + command = "./build.sh ${outdir} ${board} ${ohos_kernel_type} ${ohos_build_compiler} ${storage_type} ${clang_dir} ${sysroot_path} \"${arch_cflags}\"" } } else { group("middleware_group") { diff --git a/middleware/build.sh b/middleware/build.sh index 7827dbea3fac869b426f5bdd3ca7f73ca8eb1f9f..306ba70293030738661cd0741138b3cf935f9bb5 100755 --- a/middleware/build.sh +++ b/middleware/build.sh @@ -21,22 +21,29 @@ function main(){ if [ "$HOS_BUILD_COMPILER" == "clang" ]; then COMPILER_TYPE=llvm fi - cd $CUR_DIR/source + COMPILER_VER="himix100" + if [ "$BOARD_NAME" = "hi3516dv300" ];then + COMPILER_VER="himix200" + fi if [ "$HOS_KERNEL_TYPE" == "liteos_a" ]; then if [ "$COMPILER_TYPE" == "llvm" ]; then - ./build.sh $OUT_DIR $BOARD_NAME $HOS_KERNEL_TYPE $COMPILER_TYPE $CC_PATH - else - ./build_another.sh $OUT_DIR $BOARD_NAME $HOS_KERNEL_TYPE $COMPILER_TYPE $CC_PATH + COMPILER_VER="himix410" fi elif [ "$HOS_KERNEL_TYPE" == "linux" ]; then if [ "$STORAGE_TYPE" == "emmc" ]; then - ./build.sh $OUT_DIR $BOARD_NAME $HOS_KERNEL_TYPE $COMPILER_TYPE $CC_PATH - else - ./build_another.sh $OUT_DIR $BOARD_NAME $HOS_KERNEL_TYPE $COMPILER_TYPE $CC_PATH + COMPILER_VER="himix410" fi fi - cd $CUR_DIR + + cd $CUR_DIR/source && ./build.sh $OUT_DIR $BOARD_NAME $HOS_KERNEL_TYPE $COMPILER_TYPE $CC_PATH $COMPILER_VER } +if [ "x" != "x$7" ]; then +export SYSROOT_PATH=$7 +fi +if [ "x" != "x$8" ]; then +export ARCH_CFLAGS="$8" +fi + main "$@" diff --git a/middleware/source/build.sh b/middleware/source/build.sh index e10860c3bdd809811fde7be3418a266089e834ef..035d98dab3b3fbf1b3c53b7beba985d7f15f1a72 100755 --- a/middleware/source/build.sh +++ b/middleware/source/build.sh @@ -19,33 +19,31 @@ set -e OUT_DIR="$1" BOARD_NAME="$2" HOS_KERNEL_TYPE="$3" -HOS_BUILD_COMPILER="$4" +BUILD_COMPILER="$4" OHOS_BUILD_PATH="$5" +COMPILER_VER="$6" function main(){ CUR_DIR=$(cd $(dirname "$0");pwd) ROOT_DIR=$CUR_DIR/../../../../.. unset OS_TYPE - BUILD_COMPILER="llvm" + COMPILER_TYPE=$BUILD_COMPILER if [ "$HOS_KERNEL_TYPE" = "liteos_a" ];then OS_TYPE="ohos" elif [ "$HOS_KERNEL_TYPE" = "linux" ];then OS_TYPE="linux" fi - if [ "$HOS_BUILD_COMPILER" = "gcc" ];then - BUILD_COMPILER="gcc" + if [ "$BUILD_COMPILER" = "llvm" ];then + COMPILER_TYPE="clang" fi - COMPILER_VER="himix410" - echo "###### $BOARD_NAME:$OS_TYPE:$COMPILER_VER;$HOS_BUILD_COMPILER;$BUILD_COMPILER ######" - sed -i "/^CFG_CHIP_TYPE=/cCFG_CHIP_TYPE=$BOARD_NAME" $ROOT_DIR/device/hisilicon/third_party/ffmpeg/cfg.mak - sed -i "/^CFG_OS_TYPE=/cCFG_OS_TYPE=$OS_TYPE" $ROOT_DIR/device/hisilicon/third_party/ffmpeg/cfg.mak - sed -i "/^CFG_LINUX_COMPILER_VER=/cCFG_LINUX_COMPILER_VER=$COMPILER_VER" $ROOT_DIR/device/hisilicon/third_party/ffmpeg/cfg.mak - sed -i "/^CFG_COMPILE_TYPE=/cCFG_COMPILE_TYPE=clang" $ROOT_DIR/device/hisilicon/third_party/ffmpeg/cfg.mak - if [ "$HOS_BUILD_COMPILER" = "gcc" ];then - sed -i "/^CFG_COMPILE_TYPE=/cCFG_COMPILE_TYPE=gcc" $ROOT_DIR/device/hisilicon/third_party/ffmpeg/cfg.mak - fi - sed -i "/^CFG_OHOS_BUILD_PATH=/cCFG_OHOS_BUILD_PATH=$OHOS_BUILD_PATH" $ROOT_DIR/device/hisilicon/third_party/ffmpeg/cfg.mak - sed -i "/^LD=/cLD=$OHOS_BUILD_PATH/clang" $ROOT_DIR/device/hisilicon/third_party/ffmpeg/configure_llvm + echo "###### $BOARD_NAME:$OS_TYPE:$COMPILER_VER;$COMPILER_TYPE;$BUILD_COMPILER ######" + cat <<-EOF >$ROOT_DIR/device/hisilicon/third_party/ffmpeg/cfg.mak + CFG_CHIP_TYPE=$BOARD_NAME + CFG_OS_TYPE=$OS_TYPE + CFG_COMPILE_TYPE=$COMPILER_TYPE + CFG_LINUX_COMPILER_VER=$COMPILER_VER + CFG_OHOS_BUILD_PATH=$OHOS_BUILD_PATH + EOF cd $ROOT_DIR/device/hisilicon/third_party/ffmpeg; make clean; make -j; cd -; cp -rf $ROOT_DIR/device/hisilicon/third_party/ffmpeg/ffmpeg-y/install/lib/libavcodec.so $OUT_DIR/ diff --git a/middleware/source/build_another.sh b/middleware/source/build_another.sh deleted file mode 100755 index a3a8203df8d630eb660316a23d4df34faab5c8d9..0000000000000000000000000000000000000000 --- a/middleware/source/build_another.sh +++ /dev/null @@ -1,70 +0,0 @@ -#!/bin/bash -# Copyright (c) 2021 HiSilicon (Shanghai) Technologies CO., LIMITED. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Compile middleware project, this is the entrance script - -# error out on errors -set -e -OUT_DIR="$1" -BOARD_NAME="$2" -HOS_KERNEL_TYPE="$3" -HOS_BUILD_COMPILER="$4" -OHOS_BUILD_PATH="$5" -function main(){ - CUR_DIR=$(cd $(dirname "$0");pwd) - ROOT_DIR=$CUR_DIR/../../../../.. - unset OS_TYPE - COMPILER="llvm" - if [ "$HOS_KERNEL_TYPE" = "liteos_a" ];then - OS_TYPE="ohos" - elif [ "$HOS_KERNEL_TYPE" = "linux" ];then - OS_TYPE="linux" - fi - if [ "$HOS_BUILD_COMPILER" = "gcc" ];then - COMPILER="gcc" - fi - COMPILER_VER="himix100" - if [ "$BOARD_NAME" = "hi3516dv300" ];then - COMPILER_VER="himix200" - fi - echo "###$BOARD_NAME:$OS_TYPE:$COMPILER_VER###" - sed -i "/^CFG_CHIP_TYPE=/cCFG_CHIP_TYPE=$BOARD_NAME" $ROOT_DIR/device/hisilicon/third_party/ffmpeg/cfg.mak - sed -i "/^CFG_OS_TYPE=/cCFG_OS_TYPE=$OS_TYPE" $ROOT_DIR/device/hisilicon/third_party/ffmpeg/cfg.mak - sed -i "/^CFG_LINUX_COMPILER_VER=/cCFG_LINUX_COMPILER_VER=$COMPILER_VER" $ROOT_DIR/device/hisilicon/third_party/ffmpeg/cfg.mak - sed -i "/^CFG_COMPILE_TYPE=/cCFG_COMPILE_TYPE=clang" $ROOT_DIR/device/hisilicon/third_party/ffmpeg/cfg.mak - if [ "$HOS_BUILD_COMPILER" = "gcc" ];then - sed -i "/^CFG_COMPILE_TYPE=/cCFG_COMPILE_TYPE=gcc" $ROOT_DIR/device/hisilicon/third_party/ffmpeg/cfg.mak - fi - sed -i "/^CFG_OHOS_BUILD_PATH=/cCFG_OHOS_BUILD_PATH=$OHOS_BUILD_PATH" $ROOT_DIR/device/hisilicon/third_party/ffmpeg/cfg.mak - sed -i "/^LD=/cLD=$OHOS_BUILD_PATH/clang" $ROOT_DIR/device/hisilicon/third_party/ffmpeg/configure_llvm - cd $ROOT_DIR/device/hisilicon/third_party/ffmpeg; make clean; make -j; cd -; - - cp -rf $ROOT_DIR/device/hisilicon/third_party/ffmpeg/ffmpeg-y/install/lib/libavcodec.so $OUT_DIR/ - cp -rf $ROOT_DIR/device/hisilicon/third_party/ffmpeg/ffmpeg-y/install/lib/libavformat.so $OUT_DIR/ - cp -rf $ROOT_DIR/device/hisilicon/third_party/ffmpeg/ffmpeg-y/install/lib/libavutil.so $OUT_DIR/ - - cp -rf $CUR_DIR/component/fileformat/mp4/lib/$COMPILER/$OS_TYPE/libmp4.so $OUT_DIR/ - cp -rf $CUR_DIR/component/fileformat/ts/lib/$COMPILER/$OS_TYPE/libts.so $OUT_DIR/ - cp -rf $CUR_DIR/component/fileformat/exif/lib/$COMPILER/$OS_TYPE/libexif.so $OUT_DIR/ - cp -rf $CUR_DIR/component/fileformat/common/lib/$COMPILER/$OS_TYPE/libfileformat.so $OUT_DIR/ - cp -rf $CUR_DIR/component/recorder_pro/lib/$COMPILER/$OS_TYPE/librecorder_pro.so $OUT_DIR/ - cp -rf $CUR_DIR/component/dtcf/lib/$COMPILER/$OS_TYPE/libdtcf.so $OUT_DIR/ - cp -rf $CUR_DIR/component/fstool/lib/$COMPILER/$OS_TYPE/libfstool.so $OUT_DIR/ - cp -rf $CUR_DIR/common/hitimer/lib/$COMPILER/$OS_TYPE/libhitimer.so $OUT_DIR/ - cp -rf $CUR_DIR/common/mbuffer/lib/$COMPILER/$OS_TYPE/libmbuf.so $OUT_DIR/ - cp -rf $CUR_DIR/common/log/lib/$COMPILER/$OS_TYPE/libmwlog.so $OUT_DIR/ - -} - -main "$@"