cmake: don't attempt to use LTO with GCC 12 when building Fortran codediff -r1.210 -r1.211 pkgsrc/devel/cmake/Makefile
(tnn)
@@ -1,16 +1,17 @@ | @@ -1,16 +1,17 @@ | |||
1 | # $NetBSD: Makefile,v 1.210 2023/08/02 15:25:21 adam Exp $ | 1 | # $NetBSD: Makefile,v 1.211 2023/08/09 06:45:06 tnn Exp $ | |
2 | 2 | |||
3 | .include "Makefile.common" | 3 | .include "Makefile.common" | |
4 | PKGREVISION= 1 | |||
4 | 5 | |||
5 | COMMENT= Cross platform make | 6 | COMMENT= Cross platform make | |
6 | 7 | |||
7 | USE_TOOLS+= gmake | 8 | USE_TOOLS+= gmake | |
8 | HAS_CONFIGURE= yes | 9 | HAS_CONFIGURE= yes | |
9 | CONFIGURE_SCRIPT= bootstrap | 10 | CONFIGURE_SCRIPT= bootstrap | |
10 | 11 | |||
11 | BUILD_TARGET= default_target | 12 | BUILD_TARGET= default_target | |
12 | 13 | |||
13 | CONFIGURE_HAS_MANDIR= no | 14 | CONFIGURE_HAS_MANDIR= no | |
14 | CONFIGURE_ARGS+= --bootstrap-system-libuv | 15 | CONFIGURE_ARGS+= --bootstrap-system-libuv | |
15 | CONFIGURE_ARGS+= --bootstrap-system-librhash | 16 | CONFIGURE_ARGS+= --bootstrap-system-librhash | |
16 | CONFIGURE_ARGS+= --mandir=/${PKGMANDIR} | 17 | CONFIGURE_ARGS+= --mandir=/${PKGMANDIR} | |
@@ -59,27 +60,27 @@ SUBST_VARS.cmake= LOCALBASE X11BASE | @@ -59,27 +60,27 @@ SUBST_VARS.cmake= LOCALBASE X11BASE | |||
59 | # On Darwin, system /bin/sh is restricted, so DYLD_LIBRARY_PATH can't be used. | 60 | # On Darwin, system /bin/sh is restricted, so DYLD_LIBRARY_PATH can't be used. | |
60 | # This is needed for packages that execute binaries linked with not-yet | 61 | # This is needed for packages that execute binaries linked with not-yet | |
61 | # installed shared libraries, like qt6-qtbase. | 62 | # installed shared libraries, like qt6-qtbase. | |
62 | SUBST_CLASSES+= shell | 63 | SUBST_CLASSES+= shell | |
63 | SUBST_STAGE.shell= pre-configure | 64 | SUBST_STAGE.shell= pre-configure | |
64 | SUBST_MESSAGE.shell= Set custom SHELL in generated Makefiles. | 65 | SUBST_MESSAGE.shell= Set custom SHELL in generated Makefiles. | |
65 | SUBST_FILES.shell+= Source/cmLocalUnixMakefileGenerator3.cxx | 66 | SUBST_FILES.shell+= Source/cmLocalUnixMakefileGenerator3.cxx | |
66 | SUBST_SED.shell= -e 's,/bin/sh,${SH},g' | 67 | SUBST_SED.shell= -e 's,/bin/sh,${SH},g' | |
67 | 68 | |||
68 | pre-configure: | 69 | pre-configure: | |
69 | ${CP} ${FILESDIR}/Source_Checks_cm_cxx_cbegin.cxx ${WRKSRC}/Source/Checks/cm_cxx_cbegin.cxx | 70 | ${CP} ${FILESDIR}/Source_Checks_cm_cxx_cbegin.cxx ${WRKSRC}/Source/Checks/cm_cxx_cbegin.cxx | |
70 | ${CP} ${FILESDIR}/Source_Checks_cm_cxx_cend.cxx ${WRKSRC}/Source/Checks/cm_cxx_cend.cxx | 71 | ${CP} ${FILESDIR}/Source_Checks_cm_cxx_cend.cxx ${WRKSRC}/Source/Checks/cm_cxx_cend.cxx | |
71 | ${CP} ${FILESDIR}/Source_Checks_cm_cxx_size_t.cxx ${WRKSRC}/Source/Checks/cm_cxx_size_t.cxx | 72 | ${CP} ${FILESDIR}/Source_Checks_cm_cxx_size_t.cxx ${WRKSRC}/Source/Checks/cm_cxx_size_t.cxx | |
72 | ${RM} -f ${WRKSRC}/Modules/*.orig ${WRKSRC}/Modules/Compiler/*.orig ${WRKSRC}/Modules/Platform/*.orig ${WRKSRC}/Modules/FindPython/*.orig | 73 | ${FIND} ${WRKSRC}/Modules -type f -a -name "*.orig" -print | ${XARGS} ${RM} | |
73 | ${LN} -f ${WRKSRC}/Modules/Platform/OpenBSD.cmake ${WRKSRC}/Modules/Platform/MirBSD.cmake | 74 | ${LN} -f ${WRKSRC}/Modules/Platform/OpenBSD.cmake ${WRKSRC}/Modules/Platform/MirBSD.cmake | |
74 | .for lang in C CXX Fortran | 75 | .for lang in C CXX Fortran | |
75 | ${LN} -f ${WRKSRC}/Modules/Platform/SunOS-GNU-${lang}.cmake \ | 76 | ${LN} -f ${WRKSRC}/Modules/Platform/SunOS-GNU-${lang}.cmake \ | |
76 | ${WRKSRC}/Modules/Platform/SunOS-Clang-${lang}.cmake | 77 | ${WRKSRC}/Modules/Platform/SunOS-Clang-${lang}.cmake | |
77 | .endfor | 78 | .endfor | |
78 | 79 | |||
79 | USE_CURSES= wsyncup | 80 | USE_CURSES= wsyncup | |
80 | 81 | |||
81 | BUILDLINK_API_DEPENDS.libarchive+= libarchive>=3.3.3 | 82 | BUILDLINK_API_DEPENDS.libarchive+= libarchive>=3.3.3 | |
82 | BUILDLINK_API_DEPENDS.rhash+= rhash>=1.4.2nb1 | 83 | BUILDLINK_API_DEPENDS.rhash+= rhash>=1.4.2nb1 | |
83 | .include "../../archivers/libarchive/buildlink3.mk" | 84 | .include "../../archivers/libarchive/buildlink3.mk" | |
84 | .include "../../archivers/zstd/buildlink3.mk" | 85 | .include "../../archivers/zstd/buildlink3.mk" | |
85 | .include "../../devel/libexecinfo/buildlink3.mk" | 86 | .include "../../devel/libexecinfo/buildlink3.mk" |
@@ -1,24 +1,25 @@ | @@ -1,24 +1,25 @@ | |||
1 | $NetBSD: distinfo,v 1.213 2023/07/26 08:46:53 adam Exp $ | 1 | $NetBSD: distinfo,v 1.214 2023/08/09 06:45:06 tnn Exp $ | |
2 | 2 | |||
3 | BLAKE2s (cmake-3.27.1.tar.gz) = 62f93b37fa71ed78684719f0f7afb08027112065152596aa5467adaefcf5a129 | 3 | BLAKE2s (cmake-3.27.1.tar.gz) = 62f93b37fa71ed78684719f0f7afb08027112065152596aa5467adaefcf5a129 | |
4 | SHA512 (cmake-3.27.1.tar.gz) = d8831105fed3772bcb821a2b184fe0ffbff15795a5b0a89f2ad1cb0372a40c8f22f2bab72c671a6d17464521b7337067df929a5c3ece99f84848cc3a2fe6716f | 4 | SHA512 (cmake-3.27.1.tar.gz) = d8831105fed3772bcb821a2b184fe0ffbff15795a5b0a89f2ad1cb0372a40c8f22f2bab72c671a6d17464521b7337067df929a5c3ece99f84848cc3a2fe6716f | |
5 | Size (cmake-3.27.1.tar.gz) = 10977868 bytes | 5 | Size (cmake-3.27.1.tar.gz) = 10977868 bytes | |
6 | SHA1 (patch-Auxiliary_CMakeLists.txt) = 7a26ef79be53b9d0370029e83f203440aa0be2a4 | 6 | SHA1 (patch-Auxiliary_CMakeLists.txt) = 7a26ef79be53b9d0370029e83f203440aa0be2a4 | |
7 | SHA1 (patch-CMakeLists.txt) = 0fb79458828a021a96e350bc4cf12875914f868b | 7 | SHA1 (patch-CMakeLists.txt) = 0fb79458828a021a96e350bc4cf12875914f868b | |
8 | SHA1 (patch-Modules_Compiler_GNU.cmake) = e091c53ac3f3a6cd811119d3231563df32e76bf9 | 8 | SHA1 (patch-Modules_Compiler_GNU.cmake) = e091c53ac3f3a6cd811119d3231563df32e76bf9 | |
9 | SHA1 (patch-Modules_FindCurses.cmake) = 98cac805a6abafcfb8b61e441b50a1d6aec27ad0 | 9 | SHA1 (patch-Modules_FindCurses.cmake) = 98cac805a6abafcfb8b61e441b50a1d6aec27ad0 | |
10 | SHA1 (patch-Modules_FindGTK2.cmake) = 51b7520d35fdec2a7bfcf494fe35ce0e3863e4ee | 10 | SHA1 (patch-Modules_FindGTK2.cmake) = 51b7520d35fdec2a7bfcf494fe35ce0e3863e4ee | |
11 | SHA1 (patch-Modules_FindPythonInterp.cmake) = d1b39bdcd654f2a4fc63463cd20de656cce3cf8f | 11 | SHA1 (patch-Modules_FindPythonInterp.cmake) = d1b39bdcd654f2a4fc63463cd20de656cce3cf8f | |
12 | SHA1 (patch-Modules_FindPythonLibs.cmake) = b5cedc6a2354beaf08e06d416c150154a7dc1f05 | 12 | SHA1 (patch-Modules_FindPythonLibs.cmake) = b5cedc6a2354beaf08e06d416c150154a7dc1f05 | |
13 | SHA1 (patch-Modules_FindPython_Support.cmake) = aaec7767cad795dd269c851bd110ccefbfc87eb3 | 13 | SHA1 (patch-Modules_FindPython_Support.cmake) = aaec7767cad795dd269c851bd110ccefbfc87eb3 | |
14 | SHA1 (patch-Modules_FindX11.cmake) = 124a2d51155cb4455e8b829dc74598cbd50a4e1c | 14 | SHA1 (patch-Modules_FindX11.cmake) = 124a2d51155cb4455e8b829dc74598cbd50a4e1c | |
15 | SHA1 (patch-Modules_FortranCInterface_CMakeLists.txt) = 9782cba399e47770efc51a254267d6013fce9b50 | |||
15 | SHA1 (patch-Modules_Platform_Darwin.cmake) = 7629f034111ff64b144ff41316299d5edcfe081a | 16 | SHA1 (patch-Modules_Platform_Darwin.cmake) = 7629f034111ff64b144ff41316299d5edcfe081a | |
16 | SHA1 (patch-Modules_Platform_UnixPaths.cmake) = 911271546d3ac52be0e8000857bdb236ac50ec1c | 17 | SHA1 (patch-Modules_Platform_UnixPaths.cmake) = 911271546d3ac52be0e8000857bdb236ac50ec1c | |
17 | SHA1 (patch-Source_Checks_Curses_CMakeLists.txt) = 88b6eb834ce7f186f2ebf63a5c40355d0ace9cd9 | 18 | SHA1 (patch-Source_Checks_Curses_CMakeLists.txt) = 88b6eb834ce7f186f2ebf63a5c40355d0ace9cd9 | |
18 | SHA1 (patch-Source_Checks_Curses_CheckCurses.c) = c86cae48f7b39fb735eba4788d4e9d595b2ccf3b | 19 | SHA1 (patch-Source_Checks_Curses_CheckCurses.c) = c86cae48f7b39fb735eba4788d4e9d595b2ccf3b | |
19 | SHA1 (patch-Source_Checks_cm__cxx17__check.cpp) = d5e2708df6fcda078b1b5ea59264c663d2633ced | 20 | SHA1 (patch-Source_Checks_cm__cxx17__check.cpp) = d5e2708df6fcda078b1b5ea59264c663d2633ced | |
20 | SHA1 (patch-Source_Modules_CMakeBuildUtilities.cmake) = 7046fb8a0d2aadb81e027d8e2f1a4bccf2bd79cf | 21 | SHA1 (patch-Source_Modules_CMakeBuildUtilities.cmake) = 7046fb8a0d2aadb81e027d8e2f1a4bccf2bd79cf | |
21 | SHA1 (patch-Source_QtDialog_CMakeLists.txt) = 1cefaa7ee6cd09e84d699ea54844ae3811d890f7 | 22 | SHA1 (patch-Source_QtDialog_CMakeLists.txt) = 1cefaa7ee6cd09e84d699ea54844ae3811d890f7 | |
22 | SHA1 (patch-Source_cmSystemTools.cxx) = 31d736e21ce7f03192cf029a8b6419caa6f00a65 | 23 | SHA1 (patch-Source_cmSystemTools.cxx) = 31d736e21ce7f03192cf029a8b6419caa6f00a65 | |
23 | SHA1 (patch-Utilities_KWIML_CMakeLists.txt) = e4bdf9fc58757e87bf7e3e3e195839eededbc796 | 24 | SHA1 (patch-Utilities_KWIML_CMakeLists.txt) = e4bdf9fc58757e87bf7e3e3e195839eededbc796 | |
24 | SHA1 (patch-bootstrap) = e34f5b888790e766338086b8c3680be79b71ef18 | 25 | SHA1 (patch-bootstrap) = e34f5b888790e766338086b8c3680be79b71ef18 |
$NetBSD: patch-Modules_FortranCInterface_CMakeLists.txt,v 1.1 2023/08/09 06:45:06 tnn Exp $
Don't attempt to use LTO with GCC 12 when building Fortran code.
It breaks FortranCInterface (math/lapack and others) when the compiler
lacks working LTO support. Such as with lang/gcc12 from pkgsrc.
Upstream PR about the problem:
https://gitlab.kitware.com/cmake/cmake/-/issues/23525
--- Modules/FortranCInterface/CMakeLists.txt.orig 2023-07-25 17:58:09.000000000 +0000
+++ Modules/FortranCInterface/CMakeLists.txt
@@ -113,11 +113,11 @@ target_link_libraries(FortranCInterface
if(CMAKE_Fortran_COMPILER_ID STREQUAL "GNU" AND
CMAKE_Fortran_COMPILER_VERSION VERSION_GREATER_EQUAL 12)
target_compile_options(FortranCInterface PRIVATE "-fno-lto")
- target_compile_options(myfort PRIVATE "-flto=auto" "-ffat-lto-objects")
+ target_compile_options(myfort PRIVATE "-fno-lto")
endif()
if(CMAKE_C_COMPILER_ID STREQUAL "GNU" AND
CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 12)
- target_compile_options(symbols PRIVATE "-flto=auto" "-ffat-lto-objects")
+ target_compile_options(symbols PRIVATE "-fno-lto")
endif()
file(GENERATE OUTPUT exe-$<CONFIG>.cmake CONTENT [[