Browse Source

Fix flac and libsndfile for univesal builds

tags/v1.0
falkTX 2 years ago
parent
commit
f1dc9f64ed
5 changed files with 98 additions and 1 deletions
  1. +3
    -0
      .gitignore
  2. +4
    -1
      bootstrap-common.sh
  3. +22
    -0
      patches/flac/macos-universal/01_cpu-no-asm-aarch64.patch
  4. +52
    -0
      patches/libsndfile/11_fix-external-lib-checks.patch
  5. +17
    -0
      patches/libsndfile/12_fix-multiple-is-defined-macro.patch

+ 3
- 0
.gitignore View File

@@ -1,2 +1,5 @@
.DS_Store
*.exe
*.pkg
*-e
/jack2/

+ 4
- 1
bootstrap-common.sh View File

@@ -67,13 +67,16 @@ build_autoconf libvorbis "${LIBVORBIS_VERSION}" "--disable-examples"
# ---------------------------------------------------------------------------------------------------------------------
# flac

FLAC_EXTRAFLAGS="--disable-doxygen-docs --disable-examples --disable-thorough-tests"
FLAC_EXTRAFLAGS="--disable-doxygen-docs --disable-examples --disable-thorough-tests --disable-xmms-plugin"

if [ "${MACOS_OLD}" -eq 1 ]; then
FLAC_EXTRAFLAGS="${FLAC_EXTRAFLAGS} --disable-asm-optimizations"
elif [ "${MACOS_UNIVERSAL}" -eq 1 ]; then
FLAC_EXTRAFLAGS="${FLAC_EXTRAFLAGS} ac_cv_header_x86intrin_h=yes asm_opt=yes"
fi

download flac "${FLAC_VERSION}" "https://ftp.osuosl.org/pub/xiph/releases/flac" "tar.xz"
patch_file flac "${FLAC_VERSION}" "configure" 's/amd64|x86_64/amd64|arm|x86_64/'
build_autoconf flac "${FLAC_VERSION}" "${FLAC_EXTRAFLAGS}"

# ---------------------------------------------------------------------------------------------------------------------


+ 22
- 0
patches/flac/macos-universal/01_cpu-no-asm-aarch64.patch View File

@@ -0,0 +1,22 @@
diff --git a/src/libFLAC/cpu.c b/src/libFLAC/cpu.c
index 64da9cb..6b1ca7c 100644
--- a/src/libFLAC/cpu.c
+++ b/src/libFLAC/cpu.c
@@ -57,7 +57,7 @@
#include <sys/auxv.h>
#endif
-#if (defined FLAC__CPU_IA32 || defined FLAC__CPU_X86_64) && (defined FLAC__HAS_NASM || FLAC__HAS_X86INTRIN) && !defined FLAC__NO_ASM
+#if (defined FLAC__CPU_IA32 || defined FLAC__CPU_X86_64) && (defined FLAC__HAS_NASM || FLAC__HAS_X86INTRIN) && !defined FLAC__NO_ASM && !defined(__aarch64__)
/* these are flags in EDX of CPUID AX=00000001 */
static const uint32_t FLAC__CPUINFO_X86_CPUID_CMOV = 0x00008000;
@@ -163,7 +163,7 @@ cpuinfo_x86(FLAC__uint32 level, FLAC__uint32 *eax, FLAC__uint32 *ebx, FLAC__uint
static void
x86_cpu_info (FLAC__CPUInfo *info)
{
-#if (defined FLAC__CPU_IA32 || defined FLAC__CPU_X86_64) && (defined FLAC__HAS_NASM || FLAC__HAS_X86INTRIN) && !defined FLAC__NO_ASM
+#if (defined FLAC__CPU_IA32 || defined FLAC__CPU_X86_64) && (defined FLAC__HAS_NASM || FLAC__HAS_X86INTRIN) && !defined FLAC__NO_ASM && !defined(__aarch64__)
FLAC__bool x86_osxsave = false;
FLAC__bool os_avx = false;
FLAC__uint32 flags_eax, flags_ebx, flags_ecx, flags_edx;

+ 52
- 0
patches/libsndfile/11_fix-external-lib-checks.patch View File

@@ -0,0 +1,52 @@
diff --git a/configure b/configure
index 87d9990..0e8c97f 100755
--- a/configure
+++ b/configure
@@ -19443,6 +19443,7 @@ LIBS="$LIBS $pkg_LIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
+#include <stdio.h>
int
main ()
@@ -19552,6 +19553,7 @@ LIBS="$LIBS $pkg_LIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
+#include <stdio.h>
int
main ()
@@ -19659,6 +19661,7 @@ LIBS="$LIBS $pkg_LIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
+#include <stdio.h>
int
main ()
@@ -19772,6 +19775,7 @@ LIBS="$LIBS $pkg_LIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
+#include <stdio.h>
int
main ()
@@ -19877,6 +19881,7 @@ LIBS="$LIBS $pkg_LIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
+#include <stdio.h>
int
main ()
@@ -20021,6 +20026,7 @@ LIBS="$LIBS $pkg_LIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
+#include <stdio.h>
int
main ()

+ 17
- 0
patches/libsndfile/12_fix-multiple-is-defined-macro.patch View File

@@ -0,0 +1,17 @@
diff --git a/src/sfconfig.h b/src/sfconfig.h
index 0f30855..a36477b 100644
--- a/src/sfconfig.h
+++ b/src/sfconfig.h
@@ -113,7 +113,11 @@
#define HAVE_X86INTRIN_H 0
#endif
-#define CPU_IS_X86 (defined __i486__ || defined __i586__ || defined __i686__ || defined __x86_64__)
+#if (defined __i486__ || defined __i586__ || defined __i686__ || defined __x86_64__)
+#define CPU_IS_X86 1
+#else
+#define CPU_IS_X86 0
+#endif
#define CPU_IS_X86_64 (defined __x86_64__)
#endif

Loading…
Cancel
Save