summaryrefslogtreecommitdiff
blob: c54d46ebc3dc2163a1f96b0f6d75c8759a25802c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
reported upstream: https://bugzilla.gnome.org/show_bug.cgi?id=652290

diff -ru vte-0.26.2.orig/configure.in vte-0.26.2/configure.in
--- vte-0.26.2.orig/configure.in	2011-08-17 08:30:55 +0200
+++ vte-0.26.2/configure.in	2011-08-17 08:35:42 +0200
@@ -362,7 +362,11 @@
 	AC_DEFINE(HAVE_RECVMSG,1,[Define if you have the recvmsg function.])
 fi
 AC_CHECK_FUNC(floor,,AC_CHECK_LIB(m,floor,LIBS=["$LIBS -lm"]))
-AC_CHECK_FUNCS([ceil floor])
+dnl if the first check didn't find floor, it caches the "no" value,
+dnl and doesn't recheck. this makes the below check fail always on
+dnl systems with floor in -lm. thus we unset the chached result.
+unset ac_cv_func_floor
+AC_CHECK_FUNCS([ceil floor round])
 
 # Look for tgetent
 
--- vte-0.26.2.orig/configure	2012-04-30 20:02:55.000000000 +0200
+++ vte-0.26.2/configure	2012-04-30 20:03:16.000000000 +0200
@@ -13277,7 +13277,7 @@
 
 fi
 
-for ac_func in ceil floor
+for ac_func in ceil floor round
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
diff -ru vte-0.26.2.orig/src/vte.c vte-0.26.2/src/vte.c
--- vte-0.26.2.orig/src/vte.c	2011-08-17 08:30:58 +0200
+++ vte-0.26.2/src/vte.c	2011-08-17 08:38:09 +0200
@@ -63,6 +63,18 @@
 #include <locale.h>
 #endif
 
+#ifndef HAVE_ROUND
+# if defined(HAVE_CEIL) && defined(HAVE_FLOOR)
+static inline double round(double x) {
+	if(x - floor(x) < 0.5) {
+		return floor(x);
+	} else {
+		return ceil(x);
+	}
+}
+# endif
+#endif
+
 #if GTK_CHECK_VERSION (2, 90, 7)
 #define GDK_KEY(symbol) GDK_KEY_##symbol
 #else