su - -c chown -R shell:shell $PWD

if [ "$CC"x = ""x ] ; then
  echo "Reading the file /system/bin/init_clang19_env ..."
  if [ ! -r /system/bin/init_clang19_env ] ; then
    echo "ERROR: /system/bin/init_clang19_env not found -- please install the Magisk Module with the clang19"
    exit 10
  fi
  source /system/bin/init_clang19_env
else
  echo "clang environment already set (CC is defined)"
fi

which yacc
if [ $? -ne 0 ] ; then
  echo "ERROR: yacc not found -- please install the Magisk Module with bison"
  exit 11
fi


echo "Checking the compiler ..."
which cc
if  [ $? -ne 0 ] ; then
  echo "Creating cc ..."
  echo 'clang $*' >/data/local/tmp/develop/sysroot/usr/bin/cc
  chmod 755 /data/local/tmp/develop/sysroot/usr/bin/cc
fi

cc --version
if [ $? -ne 0 ] ;  then
  echo "ERROR: no compiler found"
  exit 5
fi

LOCALE_CONFIG="-DNO_LOCALE -DNO_LOCALE_CTYPE -DNO_LOCALE_NUMERIC -DNO_LOCALE_COLLATE -DNO_LOCALE_TIME -DNO_LOCALE_MESSAGES -DNO_LOCALE_MONETARY -DNO_LOCALE_ADDRESS -DNO_LOCALE_IDENTIFICATION  -DNO_LOCALE_MEASUREMENT -DNO_LOCALE_PAPER  -DNO_LOCALE_TELEPHONE -DNO_LOCALE_NAME -DNO_LOCALE_SYNTAX -DNO_LOCALE_TOD"

SYSROOT=/system/usr/ndk/r27b/sysroot

export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/data/local/tmp/develop/sysroot/usr/lib 

echo "$LDFLAGS" | grep /data/local/tmp/develop/sysroot/usr/lib >/dev/null
if [ $? -ne 0 ] ; then
  export LDFLAGS="${LDFLAGS} -L/data/local/tmp/develop/sysroot/usr/lib "
fi

if [ "$CC"x = ""x ] ; then
  echo "Reading the file /system/bin/init_clang19_env ..."
  sourc /system/bin/init_clang19_env
else
  echo "clang environment already set (CC is defined)"
fi

./Configure -Dprefix="/system/usr"  -Dsysroot="${SYSROOT}"  \
   -Dccflags=" -fPIE -fPIC -pie --std=gnu99 --sysroot=${SYSROOT} ${CFLAGS}  -Wno-implicit-function-declaration -Wno-int-conversion -DHAS_SHMAT_PROTOTYPE ${LOCALE_CONFIG} "  \
   -Uuselocale \
   -Dldflags="-fPIC ${LDFLAGS} " \
   -Accflags='-fPIC' \
   -Aldflags='-Wl,-export-dynamic' \
   -Dnoextensions=Locale

[ "$API"x = ""x ] && API=31
cp /system/usr/ndk/r27b/sysroot/usr/lib/aarch64-linux-android/$API/crtend*.o .
cp /system/usr/ndk/r27b/sysroot/usr/lib/aarch64-linux-android/$API/crtbegin*.o .

echo "Press RETURN to start make ..."
read USER_INPUT
make -j$( nproc )
:
