abinfo "Checking version consistency ..."
MAJOR="${PKGVER%%.*}"
if [ "${PKGNAME/$MAJOR/}" == "$PKGNAME" ] ; then
	abdie "Either version or PKGNAME is wrong: ‘$PKGNAME’ with version ‘$PKGVER’."
fi

# You will see this in "gcc -v" output.
# BASE-VER identifies the GCC version, please DO NOT EDIT.
# * DEV-PHASE are used as branding identification, you may alter the line.
abinfo "Appending AOSC versions to gcc -v ..."
echo 'AOSC OS' > "$SRCDIR"/gcc/DEV-PHASE

if ab_match_arch loongarch64 ; then
	abinfo "Setting code model to medium ..."a
	export CFLAGS="${CFLAGS} -mcmodel=medium"
	export CXXFLAGS="${CXXFLAGS} -mcmodel=medium"
	# -march=la64v1.0 is only available to GCC 14 and up.
	abinfo "Setting -march to \`loongarch64' ..."
	export CFLAGS="${CFLAGS/la64v1.0/loongarch64}"
	export CXXFLAGS="${CXXFLAGS/la64v1.0/loongarch64}"
elif ab_match_arch riscv64 ; then
	# -mno-omit-leaf-frame-pointer is only available to GCC 14 and up.
	# -mno-fence-tso is only available to GCC 15 and up.
	abinfo "Removing -mno-omit-leaf-frame-pointer from compiler flags ..."
	export CFLAGS="${CFLAGS/-mno-omit-leaf-frame-pointer/}"
	export CFLAGS="${CFLAGS/-mno-fence-tso/}"
	export CXXFLAGS="${CXXFLAGS/-mno-omit-leaf-frame-pointer/}"
	export CXXFLAGS="${CXXFLAGS/-mno-fence-tso/}"
fi

abinfo "Configuring libgccjit ..."
mkdir -pv "$SRCDIR"/jitbuild
cd "$SRCDIR"/jitbuild
"$SRCDIR"/configure \
    ${AUTOTOOLS_DEF[@]} \
    ${AUTOTOOLS_AFTER[@]} \
    --disable-bootstrap \
    --enable-host-shared \
    --enable-languages=jit \
    --build="${ARCH_TARGET[$ARCH]}" \
    --host="${ARCH_TARGET[$ARCH]}"

abinfo "Building libgccjit ..."
make
