#!/bin/sh

cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=ROCm-Device-Libs
#VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
VERSION=5.1.1
BUILD=${BUILD:-1}

# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
  case "$( uname -m )" in
    i?86) export ARCH=i586 ;;
    arm*) export ARCH=arm ;;
    # Unless $ARCH is already set, use uname -m for all other archs:
       *) export ARCH=$( uname -m ) ;;
  esac
fi

if [ "$ARCH" = "i586" ]; then
  SLKCFLAGS="-O2 -march=i586 -mtune=i686"
  LIBDIRSUFFIX=""
elif [ "$ARCH" = "s390" ]; then
  SLKCFLAGS="-O2"
  LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
  SLKCFLAGS="-O2 -fPIC"
  LIBDIRSUFFIX="64"
else
  SLKCFLAGS="-O2"
  LIBDIRSUFFIX=""
fi


NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}


# Set to 1 if you'd like to install/upgrade package as they are built.
# This is recommended.
#INST=1

export CMAKE_BUILD_TYPE="Release"
export CMAKE_DEBUG_TRACE=0

TMP=${TMP:-/tmp}
PKG=$TMP/package-${PKGNAM}
rm -rf $PKG
mkdir -p $TMP $PKG

cd $TMP || exit 1
rm -rf ${PKGNAM}-${VERSION}
cp -a $CWD/${PKGNAM} ${PKGNAM}-$VERSION
cd ${PKGNAM}-$VERSION || exit 1

chown -R root:root .
find . \
 \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
 -exec chmod 755 {} \; -o \
 \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
 -exec chmod 644 {} \;

mkdir -p build
cd build
#export LLVM_BUILD=${TMP}/llvm_amd-common/build
#export LLVM_BUILD=${TMP}/llvm_temp_install

export LLVM_BUILD=/usr/lib64/cmake/llvm

#CC=$LLVM_BUILD/bin/clang \


#-DLLVM_LIBRARY_DIRS=${LLVM_BUILD}/lib64 \ -DLLVM_INCLUDE_DIRS=${LLVM_BUILD}/include \ -DLLVM_CMAKE_DIR=${LLVM_BUILD}/lib64/cmake/llvm \

#  -DCMAKE_INSTALL_PREFIX=/usr/ \

CC=clang \
CXXFLAGS="$SLKCFLAGS" \
CFLAGS="$SLKCFLAGS" \
cmake \
  -DCMAKE_INSTALL_PREFIX=/opt/rocm \
  -DLLVM_DIR=${LLVM_BUILD} \
  -DCMAKE_BUILD_TYPE=Release \
  .. || exit 1

make -j ${NUMJOBS} || exit 1

make install DESTDIR=$PKG || exit 1

unset LLVM_BUILD
unset CMAKE_BUILD_TYPE
unset CMAKE_DEBUG_TRACE
#rm -rf ${SOURCE_DIR}

mv $PKG/usr/lib $PKG/usr/lib64

#cmake --build . --target install

# Back to source tarball root directory:
cd $CWD

find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
  | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null


cd $PKG
/sbin/makepkg -l y -c n $TMP/${PKGNAM}-$VERSION-$ARCH-$BUILD.txz

