summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD63
1 files changed, 57 insertions, 6 deletions
diff --git a/PKGBUILD b/PKGBUILD
index 44427d3fe06b..47f7458eaff6 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -4,9 +4,16 @@
# Contributor: Maxime Gauduin <alucryd@archlinux.org>
# Contributor: Jeremy Newton (Mystro256) <alexjnewt@gmail.com>
+## useful links
+# https://dolphin-emu.org
+# https://github.com/dolphin-emu/dolphin
+
# options
: ${_debugfast:=false}
+: ${_build_clang:=true}
+: ${_build_mold:=true}
+
: ${_build_debugfast:=true}
: ${_build_avx:=false}
: ${_build_git:=true}
@@ -18,12 +25,11 @@
# basic info
_pkgname="dolphin-emu"
pkgname="$_pkgname${_pkgtype:-}"
-pkgver=5.0.r20822.g70b7a59456
+pkgver=5.0.r20840.g57327be7f3
pkgrel=1
pkgdesc='A Gamecube / Wii / Triforce emulator'
arch=(x86_64)
_url="https://github.com/dolphin-emu/dolphin"
-url="https://dolphin-emu.org"
license=(GPL2)
# main package
@@ -80,9 +86,24 @@ _main_package() {
'pulseaudio: PulseAudio backend'
)
- options=(!emptydirs !lto)
+ options=(!emptydirs)
+
+ if [[ "${_build_clang::1}" == "t" ]] ; then
+ makedepends+=(
+ clang
+ lld
+ llvm
+ mold
+ )
+ else
+ options+=(!lto)
+ fi
+
+ if [[ "${_build_mold::1}" == "t" ]] ; then
+ makedepends+=(mold)
+ fi
- if [ "${pkgname: -4}" != "-git" ] ; then
+ if [[ "${_build_git::1}" != "t" ]] ; then
_main_stable
else
_main_git
@@ -217,12 +238,15 @@ prepare() {
# Fix minizip-ng name for Arch
sed -E -e 's@(pkgconfig\(MINIZIP minizip)([^a-z]+)@\1-ng\2@' \
-i "${srcdir:?}/$_pkgsrc/CMakeLists.txt"
+
+ # Delete gcc specific options
+ sed '/_ARCHIVE_/d' -i "${srcdir:?}/$_pkgsrc/CMakeLists.txt"
}
build() {
if [[ "${_build_avx::1}" == "t" ]] ; then
export CFLAGS="$(echo "$CFLAGS" | sed -E 's@(\s*-(march|mtune)=\S+\s*)@ @g;s@\s*-O[0-9]\s*@ @g;s@\s+@ @g') -march=x86-64-v3 -mtune=skylake -O3"
- export CXXFLAGS="$(echo "$CFLAGS" | sed -E 's@(\s*-(march|mtune)=\S+\s*)@ @g;s@\s*-O[0-9]\s*@ @g;s@\s+@ @g') -march=x86-64-v3 -mtune=skylake -O3"
+ export CXXFLAGS="$(echo "$CXXFLAGS" | sed -E 's@(\s*-(march|mtune)=\S+\s*)@ @g;s@\s*-O[0-9]\s*@ @g;s@\s+@ @g') -march=x86-64-v3 -mtune=skylake -O3"
fi
local _cmake_options=(
@@ -241,7 +265,6 @@ build() {
-DUSE_SYSTEM_XXHASH=OFF
-DUSE_SYSTEM_ZLIB=OFF
- -DENABLE_LTO=OFF # segfault when on
-DENABLE_TESTS=OFF
-Wno-dev
)
@@ -250,6 +273,34 @@ build() {
_cmake_options+=(-DFASTLOG=ON)
fi
+ if [[ "${_build_clang::1}" == "t" ]] ; then
+ export AR=llvm-ar
+ export NM=llvm-nm
+
+ _cmake_options+=(
+ -DCMAKE_C_COMPILER=clang
+ -DCMAKE_CXX_COMPILER=clang++
+ -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON
+ -DENABLE_LTO=ON
+ )
+ else
+ _cmake_options+=(-DENABLE_LTO=OFF)
+ fi
+
+ if [[ "${_build_mold::1}" == "t" ]] ; then
+ _cmake_options+=(
+ -DCMAKE_EXE_LINKER_FLAGS_INIT="-fuse-ld=mold"
+ -DCMAKE_MODULE_LINKER_FLAGS_INIT="-fuse-ld=mold"
+ -DCMAKE_SHARED_LINKER_FLAGS_INIT="-fuse-ld=mold"
+ )
+ else
+ _cmake_options+=(
+ -DCMAKE_EXE_LINKER_FLAGS_INIT="-fuse-ld=lld"
+ -DCMAKE_MODULE_LINKER_FLAGS_INIT="-fuse-ld=lld"
+ -DCMAKE_SHARED_LINKER_FLAGS_INIT="-fuse-ld=lld"
+ )
+ fi
+
cmake "${_cmake_options[@]}"
cmake --build build
}