aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormathias <mathias>2005-05-12 20:00:18 (GMT)
committermathias <mathias>2005-05-12 20:00:18 (GMT)
commitc55dce44fafa732a9ff01c3b9ea28df00feff8c7 (patch)
tree3f18f4fb2feb9d9c15d8a0d333c3edb7730b768a
parent87212dd2496af3e88e50fb08de079683227ce9cd (diff)
downloadfluxbox-c55dce44fafa732a9ff01c3b9ea28df00feff8c7.zip
fluxbox-c55dce44fafa732a9ff01c3b9ea28df00feff8c7.tar.bz2
on some systems (openbsd, solaris, freebsd) the iconv was not really well
recognized and/or added to the LIBS .. i tested this version on a lot of different platforms and it SHOULD work propperly, even if it looks a bit strange.
-rw-r--r--configure.in95
1 files changed, 64 insertions, 31 deletions
diff --git a/configure.in b/configure.in
index 1f3fa71..043992a 100644
--- a/configure.in
+++ b/configure.in
@@ -72,44 +72,77 @@ size_t x = strftime(s, 5, "%a", localtime(&t));
72dnl --------------- 72dnl ---------------
73dnl CHECK FOR ICONV 73dnl CHECK FOR ICONV
74dnl --------------- 74dnl ---------------
75
76dnl Find iconv. It may be in libiconv and may be iconv() or libiconv() 75dnl Find iconv. It may be in libiconv and may be iconv() or libiconv()
77if test "x$ac_cv_header_iconv_h" = "xyes"; then 76if test "x$ac_cv_header_iconv_h" = "xyes"; then
78 AC_CHECK_FUNC(iconv, ac_found_iconv=yes, ac_found_iconv=no) 77 ac_found_iconv=no
79 if test "x$ac_found_iconv" = "xno"; then 78 AC_COMPILE_IFELSE(
80 AC_CHECK_LIB(iconv, iconv, ac_found_iconv=yes) 79 [AC_LANG_PROGRAM(
81 if test "x$ac_found_iconv" = "xno"; then 80 [[#include <stdlib.h>
82 AC_CHECK_LIB(iconv, libiconv, ac_found_iconv=yes) 81 #include <iconv.h>]],
83 fi 82 [[
84 if test "x$ac_found_iconv" != "xno"; then 83 iconv_open(NULL, NULL);
85 LIBS="-liconv $LIBS" 84 return 0;
86 fi 85 ]]
87 fi 86 )],
88fi 87 [
89if test "x$ac_found_iconv" = xyes; then 88 ac_found_iconv=yes
90 AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.]) 89 ],
91fi 90 [ ])
92 91
92 AC_COMPILE_IFELSE(
93 [AC_LANG_PROGRAM(
94 [[#include <stdlib.h>
95 #include <iconv.h>]],
96 [[
97 libiconv_open(NULL, NULL);
98 return 0;
99 ]]
100 )],
101 [
102 ac_found_iconv=yes
103 ],
104 [ ])
105
106 if test "x$ac_found_iconv" = xyes; then
107 AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.])
108 AC_CHECK_LIB([iconv],
109 [iconv_open],
110 [
111 LIBS="$LIBS -liconv"
112 ],
113 [])
114 AC_CHECK_LIB([iconv],
115 [libiconv_open],
116 [
117 LIBS="$LIBS -liconv"
118 ],
119 [])
93 120
94dnl Check if iconv uses const in prototype declaration 121dnl Check if iconv uses const in prototype declaration
95if test "x$ac_found_iconv" = "xyes"; then 122 AC_CACHE_CHECK(for iconv declaration,
96 AC_CACHE_CHECK(for iconv declaration, ac_cv_iconv_const, 123 ac_cv_iconv_const,
97 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stdlib.h> 124 [AC_COMPILE_IFELSE(
98 #include <iconv.h>]], 125 [AC_LANG_PROGRAM(
99 [[ 126 [[#include <stdlib.h>
100 char **msg, **new_msg; 127 #include <iconv.h>]],
101 size_t result, inleft, outleft; 128 [[
102 result = iconv((iconv_t)(-1), msg, &inleft, new_msg, &outleft); 129 char **msg, **new_msg;
103 return 0; 130 size_t result, inleft, outleft;
104 ]])], 131 result = iconv((iconv_t)(-1), msg, &inleft, new_msg, &outleft);
105 [ac_cv_iconv_const=no], 132 return 0;
106 [ac_cv_iconv_const=yes])]) 133 ]]
107 if test "x$ac_cv_iconv_const" = xyes; then 134 )],
108 AC_DEFINE(HAVE_CONST_ICONV, 1, [Define if you have the iconv() function.]) 135 [ac_cv_iconv_const=no],
109 fi 136 [ac_cv_iconv_const=yes])
137 ])
138 if test "x$ac_cv_iconv_const" = xyes; then
139 AC_DEFINE(HAVE_CONST_ICONV, 1, [Define if you have the iconv() function.])
140 fi
141 fi
110fi 142fi
111 143
112 144
145
113AC_CHECK_LIB(nsl, t_open, LIBS="$LIBS -lnsl") 146AC_CHECK_LIB(nsl, t_open, LIBS="$LIBS -lnsl")
114AC_CHECK_LIB(socket, socket, LIBS="$LIBS -lsocket") 147AC_CHECK_LIB(socket, socket, LIBS="$LIBS -lsocket")
115 148