# Contributor: 小肉头君 <chenbaodi@huawei.com>
# Maintainer: 小肉头君 <chenbaodi@huawei.com>

pkgname=libtess2 
pkgver=v1.0.2 
pkgrel=0 
pkgdesc="Game and tools oriented refactored version of GLU tesselator." 
url="https://github.com/memononen/libtess2" 
archs=("armeabi-v7a" "arm64-v8a")
license=("SGI FREE SOFTWARE LICENSE B")
depends=() 
makedepends=("premake4") 
install= 
source="https://github.com/memononen/$pkgname/archive/refs/tags/$pkgver.tar.gz" 

downloadpackage=true
patchflag=true
buildtools="make"

builddir=$pkgname-${pkgver:1} 
packagename=$builddir.tar.gz 

cc=
prepare() {
    if $patchflag
    then
        cd $builddir
        # 本库example依赖gl相关套件,ohos暂不支持
        # 所以打patch修改example源码,注释gl相关代码,只是进行example的计算(源库是一个算法库),不涉及gl的显示
        # 修改premake4.lua,让example不依赖gl相关套件
        patch -p1 < `pwd`/../libtess2_oh_pkg.patch
        # patch只需要打一次,关闭打patch
        patchflag=false
        cd $OLDPWD
    fi
    cp -rf $builddir $builddir-$ARCH-build
    if [ $ARCH == "armeabi-v7a" ]
    then
        cc=${OHOS_SDK}/native/llvm/bin/arm-linux-ohos-clang
    fi
    if [ $ARCH == "arm64-v8a" ]
    then
        cc=${OHOS_SDK}/native/llvm/bin/aarch64-linux-ohos-clang
    fi
}

build() {
    cd $builddir-$ARCH-build
    premake4 gmake > $buildlog 2>&1
    cd $OLDPWD
    cd $builddir-$ARCH-build/Build
    $MAKE CC=${cc} >> $buildlog 2>&1
    # 对最关键一步的退出码进行判断
    ret=$?
    cd $OLDPWD
    return $ret
}

# 安装打包
package() {
    cd $builddir-$ARCH-build
    # 源库Makefile 没有make install,这里手动copy到usr目录
    mkdir -p $LYCIUM_ROOT/usr/$pkgname/$ARCH/include/
    mkdir -p $LYCIUM_ROOT/usr/$pkgname/$ARCH/lib/
    cp Source/*.h Include/*.h $LYCIUM_ROOT/usr/$pkgname/$ARCH/include/
    cp Build/libtess2.a $LYCIUM_ROOT/usr/$pkgname/$ARCH/lib/
    cd $OLDPWD
    unset cc
}

# 测试,需要在 ohos 设备上进行
check() {
    echo "The test must be on an OpenHarmony device!"
    # ./example
    # loading...
    # go...
    # view0: -34.327606
    # view1: 377.603638
}

# 清理环境
cleanbuild(){
   rm -rf ${PWD}/$builddir $builddir-armeabi-v7a-build  $builddir-arm64-v8a-build #${PWD}/$packagename
}