aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoring. Federico Fuga <fuga@studiofuga.com>2018-12-13 11:59:19 +0100
committering. Federico Fuga <fuga@studiofuga.com>2018-12-13 11:59:19 +0100
commita2c846338ced13df79089419c3161c3d2fefb68c (patch)
treed241a91432a7373f8c210f731de9bffbe9bcbf51
parente04b4ed5b5ff5c1b61e5ce3d70ac101ffe3237c4 (diff)
downloadvcpkg-a2c846338ced13df79089419c3161c3d2fefb68c.tar.gz
vcpkg-a2c846338ced13df79089419c3161c3d2fefb68c.zip
Update mpfr to 4.0.1 and fix compilation under gcc 7
gcc 7 deprecates the use of varargs.h in favour of stdarg.h. mpfr already fixes it, but the fix is enabled if stdarg is available. This patch adds the test on CMakeLists.txt and enables the fix if needed.
-rw-r--r--ports/mpfr/CMakeLists.txt5
-rw-r--r--ports/mpfr/portfile.cmake9
-rw-r--r--ports/mpfr/test_stdarg.c6
3 files changed, 16 insertions, 4 deletions
diff --git a/ports/mpfr/CMakeLists.txt b/ports/mpfr/CMakeLists.txt
index ed48eaf59..7770b18fd 100644
--- a/ports/mpfr/CMakeLists.txt
+++ b/ports/mpfr/CMakeLists.txt
@@ -255,6 +255,11 @@ if(BUILD_SHARED_LIBS)
target_compile_definitions(mpfr PRIVATE __GMP_LIBGMP_DLL)
endif()
+try_compile(I_HAVE_STDARG ${CMAKE_BINARY_DIR} ${PROJECT_SOURCE_DIR}/test_stdarg.c)
+if (I_HAVE_STDARG)
+ target_compile_definitions(mpfr PRIVATE HAVE_STDARG)
+endif (I_HAVE_STDARG)
+
target_link_libraries(mpfr ${GMP_LIBRARIES})
target_include_directories(mpfr PUBLIC ${GMP_INCLUDE_DIRS})
diff --git a/ports/mpfr/portfile.cmake b/ports/mpfr/portfile.cmake
index 689b075fc..4b534ff0c 100644
--- a/ports/mpfr/portfile.cmake
+++ b/ports/mpfr/portfile.cmake
@@ -1,13 +1,14 @@
include(vcpkg_common_functions)
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/mpfr-3.1.6)
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/mpfr-4.0.1)
vcpkg_download_distfile(ARCHIVE
- URLS "http://www.mpfr.org/mpfr-3.1.6/mpfr-3.1.6.tar.xz"
- FILENAME "mpfr-3.1.6.tar.xz"
- SHA512 746ee74d5026f267f74ab352d850ed30ff627d530aa840c71b24793e44875f8503946bd7399905dea2b2dd5744326254d7889337fe94cfe58d03c4066e9d8054
+ URLS "http://www.mpfr.org/mpfr-4.0.1/mpfr-4.0.1.tar.xz"
+ FILENAME "mpfr-4.0.1.tar.xz"
+ SHA512 137ad68bc1e33a155edc1247fcdba27f999cf48ed526773136584090ddf2cfdfc9ea79fbf74ea1943b835b4b1ff29b05087114738c6ad3b485848540f30cac4f
)
vcpkg_extract_source_archive(${ARCHIVE})
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/test_stdarg.c DESTINATION ${SOURCE_PATH})
file(COPY ${CMAKE_CURRENT_LIST_DIR}/gmp_printf.c DESTINATION ${SOURCE_PATH}/src)
vcpkg_configure_cmake(
diff --git a/ports/mpfr/test_stdarg.c b/ports/mpfr/test_stdarg.c
new file mode 100644
index 000000000..dc1e2d7b4
--- /dev/null
+++ b/ports/mpfr/test_stdarg.c
@@ -0,0 +1,6 @@
+# include <stdarg.h>
+
+int main(int argc, char *argv) {
+ return 0;
+}
+