Explicitly link with libm

This commit is contained in:
Kalev Lember 2012-09-19 22:02:18 +02:00
parent 52ffd9426a
commit 429491a5ca
2 changed files with 219 additions and 0 deletions

216
eog-link-with-libm.patch Normal file
View File

@ -0,0 +1,216 @@
diff -urN eog-3.5.92.orig/configure.ac eog-3.5.92/configure.ac
--- eog-3.5.92.orig/configure.ac 2012-09-07 18:49:10.000000000 +0200
+++ eog-3.5.92/configure.ac 2012-09-19 22:10:55.323809810 +0200
@@ -119,6 +119,13 @@
fi
# ***************
+# libm (required)
+# ***************
+
+AC_CHECK_LIBM
+AC_SUBST(LIBM)
+
+# ***************
# ZLIB (required)
# ***************
diff -urN eog-3.5.92.orig/configure eog-3.5.92/configure
--- eog-3.5.92.orig/configure 2012-09-19 22:10:38.305211643 +0200
+++ eog-3.5.92/configure 2012-09-19 22:11:01.244669958 +0200
@@ -674,6 +674,7 @@
HAVE_EXIF_TRUE
EXIF_LIBS
EXIF_CFLAGS
+LIBM
HAVE_INTROSPECTION_FALSE
HAVE_INTROSPECTION_TRUE
INTROSPECTION_MAKEFILE
@@ -14879,6 +14880,144 @@
fi
# ***************
+# libm (required)
+# ***************
+
+LIBM=
+case $host in
+*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*)
+ # These system don't have libm, or don't need it
+ ;;
+*-ncr-sysv4.3*)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _mwvalidcheckl in -lmw" >&5
+$as_echo_n "checking for _mwvalidcheckl in -lmw... " >&6; }
+if ${ac_cv_lib_mw__mwvalidcheckl+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lmw $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char _mwvalidcheckl ();
+int
+main ()
+{
+return _mwvalidcheckl ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_mw__mwvalidcheckl=yes
+else
+ ac_cv_lib_mw__mwvalidcheckl=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mw__mwvalidcheckl" >&5
+$as_echo "$ac_cv_lib_mw__mwvalidcheckl" >&6; }
+if test "x$ac_cv_lib_mw__mwvalidcheckl" = xyes; then :
+ LIBM="-lmw"
+fi
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cos in -lm" >&5
+$as_echo_n "checking for cos in -lm... " >&6; }
+if ${ac_cv_lib_m_cos+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lm $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char cos ();
+int
+main ()
+{
+return cos ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_m_cos=yes
+else
+ ac_cv_lib_m_cos=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_cos" >&5
+$as_echo "$ac_cv_lib_m_cos" >&6; }
+if test "x$ac_cv_lib_m_cos" = xyes; then :
+ LIBM="$LIBM -lm"
+fi
+
+ ;;
+*)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cos in -lm" >&5
+$as_echo_n "checking for cos in -lm... " >&6; }
+if ${ac_cv_lib_m_cos+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lm $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char cos ();
+int
+main ()
+{
+return cos ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_m_cos=yes
+else
+ ac_cv_lib_m_cos=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_cos" >&5
+$as_echo "$ac_cv_lib_m_cos" >&6; }
+if test "x$ac_cv_lib_m_cos" = xyes; then :
+ LIBM="-lm"
+fi
+
+ ;;
+esac
+
+
+
+
+# ***************
# ZLIB (required)
# ***************
diff -urN eog-3.5.92.orig/src/Makefile.am eog-3.5.92/src/Makefile.am
--- eog-3.5.92.orig/src/Makefile.am 2012-08-12 16:50:31.000000000 +0200
+++ eog-3.5.92/src/Makefile.am 2012-09-19 22:10:55.323809810 +0200
@@ -150,7 +150,8 @@
$(WARN_CFLAGS)
libeog_la_LIBADD = \
- $(EOG_LIBS)
+ $(EOG_LIBS) \
+ $(LIBM)
if HAVE_LCMS
libeog_la_CFLAGS += \
diff -urN eog-3.5.92.orig/src/Makefile.in eog-3.5.92/src/Makefile.in
--- eog-3.5.92.orig/src/Makefile.in 2012-09-19 22:10:40.678155628 +0200
+++ eog-3.5.92/src/Makefile.in 2012-09-19 22:11:03.603614231 +0200
@@ -92,7 +92,8 @@
LTLIBRARIES = $(noinst_LTLIBRARIES)
am__DEPENDENCIES_1 =
@HAVE_LCMS_TRUE@am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1)
-libeog_la_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2)
+libeog_la_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
+ $(am__DEPENDENCIES_2)
am__libeog_la_SOURCES_DIST = eog-application.c \
eog-application-activatable.c eog-clipboard-handler.c \
eog-close-confirmation-dialog.c eog-debug.c eog-dialog.c \
@@ -339,6 +340,7 @@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBJPEG = @LIBJPEG@
+LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
@@ -520,7 +522,7 @@
-DLIBDIR=\""$(libdir)"\"
libeog_la_CFLAGS = $(EOG_CFLAGS) $(WARN_CFLAGS) $(am__append_5)
-libeog_la_LIBADD = $(EOG_LIBS) $(am__append_6)
+libeog_la_LIBADD = $(EOG_LIBS) $(LIBM) $(am__append_6)
libeog_la_LDFLAGS = -export-dynamic -no-undefined -export-symbols-regex "^[[^_]].*"
eog_SOURCES = main.c
eog_CFLAGS = \

View File

@ -12,6 +12,8 @@ Release: 1%{?dist}
URL: http://projects.gnome.org/eog/ URL: http://projects.gnome.org/eog/
#VCS: git:git://git.gnome.org/eog #VCS: git:git://git.gnome.org/eog
Source: http://download.gnome.org/sources/eog/3.5/%{name}-%{version}.tar.xz Source: http://download.gnome.org/sources/eog/3.5/%{name}-%{version}.tar.xz
# https://bugzilla.gnome.org/show_bug.cgi?id=684401
Patch0: eog-link-with-libm.patch
# The GFDL has an "or later version" clause embedded inside the license. # The GFDL has an "or later version" clause embedded inside the license.
# There is no need to add the + here. # There is no need to add the + here.
License: GPLv2+ and GFDL License: GPLv2+ and GFDL
@ -65,6 +67,7 @@ functionality to eog.
%prep %prep
%setup -q %setup -q
%patch0 -p1 -b .libm
%build %build
%configure --disable-scrollkeeper %configure --disable-scrollkeeper