##### Control part variables
UPDATE=${PKGVER:2:-3}
BUILD=${PKGVER:(-2)}
SJAVAC=0
ab_match_arch "amd64" && export JARCH="x86_64" CONFARCH="amd64"
ab_match_arch "armv7hf" && export JARCH="aarch32" CONFARCH="aarch32"
ab_match_arch "arm64" && export JARCH="aarch64" CONFARCH="aarch64"
ab_match_arch "loongson3" && export JARCH="mipsel" CONFARCH="mipsel"
ab_match_arch "powerpc" && export JARCH="ppc" CONFARCH="ppc"
ab_match_arch "ppc64el" && export JARCH="ppc64le" CONFARCH="ppc64le"

if ! ab_match_arch "amd64" && \
   ! ab_match_arch "armv7hf" && \
   ! ab_match_arch "ppc64" && \
   ! ab_match_arch "ppc64el" && \
   ! ab_match_arch "arm64" && \
   ! ab_match_arch "riscv64"; then
    config_zero="--with-jvm-variants=zero --enable-precompiled-headers"
    SJAVAC=0
else
    config_zero=" "
fi

if [[ "${SJAVAC}" == "1" ]]; then
    use_sjavac="--enable-sjavac" # Just a simple switch. And sjavac.jar is not needed, since JDK 8 has built-in a similar routine
fi

ab_match_arch "armv7hf" && config_bits="--host=armv7a-hardfloat-linux-gnueabi --build=armv7a-hardfloat-linux-gnueabi"

unset JAVA_HOME
unset _JAVA_OPTIONS

install -dv -m 755 "$SRCDIR"/image
sh "$SRCDIR"/configure \
    --prefix="$SRCDIR"/image \
    --with-version-pre='' \
    --with-version-opt="AOSC" \
    --with-stdc++lib=dynamic \
    --disable-warnings-as-errors \
    --enable-unlimited-crypto \
    --with-zlib=system \
    --with-libpng=system \
    --with-libjpeg=system \
    ${config_zero} ${use_sjavac} \
    ${config_bits} \
    --enable-precompiled-headers \
    --with-extra-cxxflags="${EXTRA_CPP_FLAGS}" \
    --with-extra-cflags="${EXTRA_CFLAGS}" \
    --with-extra-ldflags="${LDFLAGS}"

# FIXME: use system giflibwhen possible

make images docs

mkdir -pv "$PKGDIR"/usr/lib/java-11
mkdir -pv "$PKGDIR/etc/"

IMAGE_FOLDER="$(readlink -f build/linux-*-normal-*-release/images/)"
cp -rv "${IMAGE_FOLDER}"/jdk/* "$PKGDIR"/usr/lib/java-11/
mv -v "$PKGDIR"/usr/lib/java-11/conf "$PKGDIR"/etc/openjdk-11/
ln -sv ../../../etc/openjdk-11/ "$PKGDIR"/usr/lib/java-11/conf

find "$PKGDIR"/usr/lib/java-11/man -type l -delete
find "$PKGDIR" -iname '*.diz' -exec rm {} \;
find "$PKGDIR" -iname '*.debuginfo' -exec rm {} \;

mkdir -pv "$PKGDIR"/usr/src/openjdk-11
mv -v "$PKGDIR"/usr/lib/java-11/lib/src.zip "$PKGDIR"/usr/src/openjdk-11/src.zip
ln -sv ../../src/openjdk-11/src.zip "$PKGDIR"/usr/lib/java-11/lib/src.zip

abinfo "Linking system CA certificate store ..."
rm -v "$PKGDIR"/usr/lib/java-11/lib/security/cacerts
ln -sv ../../../../../etc/ssl/certs/java/cacerts "$PKGDIR"/usr/lib/java-11/lib/security/cacerts

cat > "$SRCDIR"/autobuild/conffiles << EOF
/etc/openjdk-11/security/java.policy
/etc/openjdk-11/security/policy/limited/default_US_export.policy
/etc/openjdk-11/security/policy/limited/default_local.policy
/etc/openjdk-11/security/policy/limited/exempt_local.policy
/etc/openjdk-11/security/policy/unlimited/default_US_export.policy
/etc/openjdk-11/security/policy/unlimited/default_local.policy
/etc/openjdk-11/security/policy/README.txt
/etc/openjdk-11/security/java.security
/etc/openjdk-11/management/jmxremote.password.template
/etc/openjdk-11/management/management.properties
/etc/openjdk-11/management/jmxremote.access
/etc/openjdk-11/net.properties
/etc/openjdk-11/sound.properties
/etc/openjdk-11/logging.properties
EOF

unset JARCH CONFARCH
