fltk: Link to uuid only when linking statically.

Fixes #10293.
This commit is contained in:
Markus Mützel
2021-12-09 12:21:54 +01:00
parent 7bbf8f5d46
commit 1d8d25dbbd
3 changed files with 35 additions and 19 deletions

View File

@@ -0,0 +1,28 @@
Remove "-uuid" from linker flags for shared linking
diff -Nur fltk-config.in.orig fltk-config.in
--- a/fltk-config.in 2021-07-25 15:16:28.000000000 +0200
+++ b/fltk-config.in 2021-12-09 12:07:46.974536600 +0100
@@ -233,8 +233,20 @@
fi
# Calculate needed libraries
-LDSTATIC="$libdir/libfltk.a $LDLIBS"
-LDLIBS="-lfltk$SHAREDSUFFIX $LDLIBS"
+
+# Remove "-luuid" from shared linker flags. Only needed for mingw.
+LDSTATICLIBS="$LDLIBS"
+LDSHAREDLIBS=""
+for L in $LDLIBS
+do
+ if [ $L != "-luuid" ]
+ then
+ LDSHAREDLIBS="${LDSHAREDLIBS} $L"
+ fi
+done
+
+LDSTATIC="$libdir/libfltk.a $LDSTATICLIBS"
+LDLIBS="-lfltk$SHAREDSUFFIX $LDSHAREDLIBS"
if test x$use_forms = xyes; then
LDLIBS="-lfltk_forms$SHAREDSUFFIX $LDLIBS"

View File

@@ -1,12 +0,0 @@
$ diff -Naur ./CMake/variables.cmake.orig ./CMake/variables.cmake
--- ./CMake/variables.cmake.orig 2021-05-15 12:22:19.000000000 +0200
+++ ./CMake/variables.cmake 2021-07-23 20:57:26.975131400 +0200
@@ -40,7 +40,7 @@
# FIXME: check fontconfig conditions (only if Xft is used or ...)
if (WIN32)
- list (APPEND FLTK_LDLIBS -lole32 -luuid -lcomctl32 -lws2_32)
+ list (APPEND FLTK_LDLIBS -lole32 -lcomctl32 -lws2_32)
elseif (APPLE AND NOT OPTION_APPLE_X11)
list (APPEND FLTK_LDLIBS "-framework Cocoa")
else ()

View File

@@ -4,7 +4,7 @@ _realname=fltk
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=1.3.7
pkgrel=1
pkgrel=2
pkgdesc="C++ user interface toolkit (mingw-w64)"
arch=('any')
mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32')
@@ -22,21 +22,21 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-cmake"
options=('strip' 'staticlibs' 'buildflags')
source=("${_realname}-${pkgver}.tar.gz::https://github.com/${_realname}/${_realname}/archive/release-${pkgver}.tar.gz"
"0001-cmake-fix-install.patch"
"0002-uuid-mod.patch")
"0002-fltk-config-uuid-shared.patch")
sha256sums=('019f65810fb0ea5acac14c852193e8f374e822e6a3034a3c80ed8676f6f3a090'
'2d474bf2587d35aca548c542c897c0add7b19ca427b513419634ce334984c395'
'd236e644590c913aaed5ca216d2cb5e1010314a7ea078a8131175e342a60ff4b')
'c20691e1a11994d0d7d681751f1812abd5dfeca7550293d1edacb0c88f62a03c')
prepare() {
cd "${srcdir}/${_realname}-release-${pkgver}"
patch -p1 -i "${srcdir}/0001-cmake-fix-install.patch"
patch -p1 -i "${srcdir}/0002-uuid-mod.patch"
patch -p1 -i "${srcdir}/0002-fltk-config-uuid-shared.patch"
}
build() {
[[ -d "${srcdir}/build-${MINGW_CHOST}" ]] && rm -rf "${srcdir}/build-${MINGW_CHOST}"
mkdir -p "${srcdir}/build-${MINGW_CHOST}" && cd "${srcdir}/build-${MINGW_CHOST}"
[[ -d "${srcdir}/build-${MSYSTEM}" ]] && rm -rf "${srcdir}/build-${MSYSTEM}"
mkdir -p "${srcdir}/build-${MSYSTEM}" && cd "${srcdir}/build-${MSYSTEM}"
declare -a _extra_config
if check_option "debug" "n"; then
@@ -65,7 +65,7 @@ build() {
}
package() {
cd ${srcdir}/build-${MINGW_CHOST}
cd ${srcdir}/build-${MSYSTEM}
DESTDIR="${pkgdir}" ${MINGW_PREFIX}/bin/cmake.exe --build ./ --target install
local PREFIX_WIN=$(cygpath -wm ${MINGW_PREFIX})