export CFLAGS="${CFLAGS} -fPIC"
export CXXFLAGS="${CXXFLAGS} -fPIC"

D_LINKER=mold
D_COMPILER_FLAGS=''

if ab_match_arch loongson3; then
    abinfo "Setting extra build flags for loongson3 ..."
    D_COMPILER_FLAGS="-mabi=n64 -mcpu=mips64r2"
fi

if ab_match_arch loongarch64; then
    abinfo "Setting extra build flags for loongarch64 ..."
    D_LINKER=bfd
fi

if ab_match_arch riscv64; then
    abinfo "Setting extra build flags for riscv64 ..."
    D_COMPILER_FLAGS="-Xcc=-Wl,-mllvm=-mattr=+d -mabi=lp64d"
fi

abinfo "Setting LDC linker to ld.${D_LINKER} ..."
export LDFLAGS="${LDFLAGS} -fPIC -fuse-ld=${D_LINKER}"

# FIXME: -flto=full failed with LLVM ERROR: Broken module found, compilation aborted!
CMAKE_AFTER+=(-DD_COMPILER_FLAGS="-link-defaultlib-shared=false -linker=${D_LINKER} ${D_COMPILER_FLAGS}")
