#!/bin/sh
# test we are root
if [ "$(id -u)" != "0" ]; then
   echo "run as root now exitting"
   exit 1
fi

export CFLAGS="-march=armv8-a+crc -mtune=cortex-a72 -Os -pipe" 
export CXXFLAGS="-march=armv8-a+crc -mtune=cortex-a72 -Os -pipe \
-fno-exceptions -fno-rtti"

P=openjpeg
V=2.3.1
SRC=$P-$V
USER=`cat /etc/sysconfig/tcuser`
LIST="compiletc wget squashfs-tools zsync cmake lcms2-dev libpng-dev libtiff-dev  "
for Z in $LIST
    do 
    su -c "tce-load -i $Z" $USER
done

cd /tmp
su -c "/usr/local/bin/wget -nc --no-check-certificate \
https://github.com/uclouvain/$P/archive/v$V.tar.gz" $USER
mkdir $P
tar xvf v$V*gz
cd $SRC
mkdir build && cd build
# It appears setting Release implies -DNDEBUG as its not available to set here
cmake -LAH  -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_BUILD_TYPE=Release \
-Wno-dev -DCMAKE_VERBOSE_MAKEFILE=TRUE -DCMAKE_C_FLAGS="-s" BUILD_STATIC_LIBS:BOOL=OFF ../ 
##############
# Your system seems to have a Z lib available, we will use it to generate PNG lib
# Your system seems to have a PNG lib available, we will use it
# Your system seems to have a TIFF lib available, we will use it
# Your system seems to have a LCMS2 lib available, we will use it
make -j5 # 1M 20 s seconds
make install DESTDIR=/tmp/$P
cd /tmp

# dev
#####
mkdir -p $P-dev/usr/local/lib
mv $P/usr/local/include $P-dev/usr/local/
mv $P/usr/local/lib/pkgconfig $P-dev/usr/local/lib/
mv $P/usr/local/lib/openjpeg* $P-dev/usr/local/lib/

# main
######
mkdir -p $P/usr/local/share/doc/$P
cp $SRC/LICENSE $P/usr/local/share/doc/$P

# TCZ them
#######  
LIST="$P $P-dev "
for Z in $LIST
do
	mksquashfs $Z $Z.tcz
	md5sum $Z.tcz > $Z.tcz.md5.txt
	cd $Z
	find usr -not -type d > /tmp/$Z.tcz.list
        sed 's|usr|/usr|g' -i /tmp/$Z.tcz.list
	cd /tmp
        zsyncmake $Z.tcz
done

ls -hal

echo 'Title:          openjpeg-dev.tcz
Description:    openjpeg devs
Version:        2.3.1
Author:         https://github.com/uclouvain/openjpeg/blob/master/AUTHORS.md
Original-site:  https://github.com/openjpeg/openjpeg/
Copying-policy: accompanied
Size:           20K
Extension_by:   aus9
Tags:           jpeg
Comments:       dev files

Change-log:     2020/09/25 Original v 2.3.1 on 12x 
Current:        2020/09/25  ' > $P-dev.tcz.info

echo 'Title:          openjpeg.tcz
Description:    open-source JPEG 2000 codec written in C language
Version:        2.3.1
Author:         https://github.com/uclouvain/openjpeg/blob/master/AUTHORS.md
Original-site:  https://github.com/openjpeg/openjpeg/
Copying-policy: accompanied
Size:           540K
Extension_by:   aus9
Tags:           jpeg
Comments:       Optional TCEs liblcms2, libpng and tiff-bin
                Supports pnm pgm ppm pgx png bmp tif raw tga
                sample $ opj_compress -i apps.png  -o /tmp/test.j2k

Change-log:     2020/09/25 Original v 2.3.1 on 12x 
Current:        2020/09/25   ' > $P.tcz.info

echo 'openjpeg.tcz
cmake.tcz 
lcms2-dev.tcz 
libpng-dev.tcz 
tiff-dev.tcz  ' > $P-dev.tcz.dep

