aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ports/libmad/0001-Fix-MSVC-ARM.patch25
-rw-r--r--ports/libmad/CONTROL6
-rw-r--r--ports/libmad/portfile.cmake5
3 files changed, 31 insertions, 5 deletions
diff --git a/ports/libmad/0001-Fix-MSVC-ARM.patch b/ports/libmad/0001-Fix-MSVC-ARM.patch
new file mode 100644
index 000000000..9cdc57c7b
--- /dev/null
+++ b/ports/libmad/0001-Fix-MSVC-ARM.patch
@@ -0,0 +1,25 @@
+diff --git a/mad.h b/mad.h
+index 9ef6cc8..5e3f7aa 100644
+--- a/mad.h
++++ b/mad.h
+@@ -24,7 +24,11 @@
+ extern "C" {
+ # endif
+
++#ifdef _WIN64
++# define FPM_64BIT
++#else
+ # define FPM_INTEL
++#endif
+
+
+
+@@ -184,7 +188,7 @@ typedef mad_fixed_t mad_sample_t;
+
+ # elif defined(FPM_INTEL)
+
+-# if defined(_MSC_VER)
++# if defined(_MSC_VER) && defined(_M_IX86)
+ # pragma warning(push)
+ # pragma warning(disable: 4035) /* no return value */
+ static __forceinline
diff --git a/ports/libmad/CONTROL b/ports/libmad/CONTROL
index e0666dcc4..97e9e564a 100644
--- a/ports/libmad/CONTROL
+++ b/ports/libmad/CONTROL
@@ -1,3 +1,3 @@
-Source: libmad
-Version: 0.15.1-4
-Description: high-quality MPEG audio decoder
+Source: libmad
+Version: 0.15.1-5
+Description: high-quality MPEG audio decoder
diff --git a/ports/libmad/portfile.cmake b/ports/libmad/portfile.cmake
index d5831d301..c61df53de 100644
--- a/ports/libmad/portfile.cmake
+++ b/ports/libmad/portfile.cmake
@@ -11,14 +11,15 @@ vcpkg_download_distfile(ARCHIVE
vcpkg_extract_source_archive_ex(
ARCHIVE ${ARCHIVE}
OUT_SOURCE_PATH SOURCE_PATH
+ PATCHES
+ 0001-Fix-MSVC-ARM.patch
)
#The archive only contains a Visual Studio 6.0 era DSP project file, so use a custom CMakeLists.txt
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
-#Use the msvc++ config.h and mad.h header
+#Use the msvc++ config.h header
file(COPY ${SOURCE_PATH}/msvc++/config.h DESTINATION ${SOURCE_PATH})
-file(COPY ${SOURCE_PATH}/msvc++/mad.h DESTINATION ${SOURCE_PATH})
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}