1dnl 2dnl Check for minimum version of libtool 3dnl AC_PREREQ_LIBTOOL([MINIMUM VERSION],[ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND ]]) 4AC_DEFUN([AC_PREREQ_LIBTOOL], 5 [ 6 lt_min_full=ifelse([$1], ,1.3.5,$1) 7 lt_min=`echo $lt_min_full | sed -e 's/\.//g'` 8 AC_MSG_CHECKING(for libtool >= $lt_min_full) 9 lpwd="`pwd`" 10 lt_pathname="`echo $lpwd/ltmain.sh | sed -e 's/\=build\///g'`" 11 lt_version="`grep '^VERSION' $lt_pathname | sed -e 's/\.//g;s/VERSION\=//g;s/[a-zA-Z]//g;s/-//g'`" 12 13 if test $lt_version -lt 100; then 14 lt_version=`expr $lt_version \* 10` 15 fi 16 17 if test $lt_version -lt $lt_min; then 18 AC_MSG_RESULT(no) 19 ifelse([$3], , :, [$3]) 20 fi 21 AC_MSG_RESULT(yes) 22 ifelse([$2], , :, [$2]) 23 ]) 24 25dnl 26AC_DEFUN([AC_CHECK_LIRC], 27 [AC_ARG_ENABLE(lirc, 28 [AS_HELP_STRING([--disable-lirc], [turn off LIRC support])], 29 [given=Y], [given=N; enable_lirc=yes]) 30 31 found_lirc=no 32 if test x"$enable_lirc" = xyes; then 33 have_lirc=yes 34 PKG_CHECK_MODULES(LIRC, liblircclient0, [found_lirc=yes], [:]) 35 if test "$found_lirc" = yes; then 36 LIRC_INCLUDE="$LIRC_CFLAGS" 37 else 38 AC_REQUIRE_CPP 39 AC_CHECK_LIB(lirc_client,lirc_init, 40 [AC_CHECK_HEADER(lirc/lirc_client.h, true, have_lirc=no)], have_lirc=no) 41 if test "$have_lirc" = "yes"; then 42 saved_CFLAGS=$CFLAGS 43 saved_LIBS=$LIBS 44 if test x"$LIRC_PREFIX" != "x"; then 45 LIRC_INCLUDE="-I$LIRC_PREFIX/include" 46 fi 47 AC_MSG_CHECKING([for liblircclient]) 48 for type in "$shrext" .a; do 49 for lib in lib32 lib lib64; do 50 for llirc in "$LIRC_PREFIX/$lib" /$lib /usr/$lib /usr/local/$lib; do 51 CFLAGS="$saved_CFLAGS $LIRC_INCLUDE" 52 LIBS="$saved_LIBS $llirc/liblirc_client$type" 53 AC_LINK_IFELSE( 54 [AC_LANG_PROGRAM([#include <lirc/lirc_client.h>], [lirc_init("",0)])], 55 [LIRC_LIBS="$llirc/liblirc_client$type" 56 found_lirc=yes] 57 AC_DEFINE([HAVE_LIRC],,[Define this if you have LIRC (liblirc_client) installed]), 58 ) 59 if test x"$found_lirc" = xyes; then break 3; fi 60 done 61 done 62 done 63 CFLAGS=$saved_CFLAGS 64 LIBS=$saved_LIBS 65 if test x"$found_lirc" = xyes; then 66 AC_MSG_RESULT([$LIRC_LIBS]) 67 else 68 AC_MSG_RESULT([no]) 69 fi 70 else 71 test $given = Y && AC_MSG_ERROR([LIRC client support requested but not available]) 72 AC_MSG_RESULT([*** LIRC client support not available, LIRC support will be disabled ***]) 73 fi 74 fi 75 fi 76 if test "$found_lirc" = yes; then 77 AC_DEFINE([HAVE_LIRC],,[Define this if you have LIRC (liblirc_client) installed]) 78 fi 79 AM_CONDITIONAL([HAVE_LIRC], [test "$found_lirc" = yes]) 80 AC_SUBST(LIRC_LIBS) 81 AC_SUBST(LIRC_INCLUDE) 82]) 83 84dnl AC_C_ATTRIBUTE_ALIGNED 85dnl define ATTRIBUTE_ALIGNED_MAX to the maximum alignment if this is supported 86AC_DEFUN([AC_C_ATTRIBUTE_ALIGNED], 87 [AC_CACHE_CHECK([__attribute__ ((aligned ())) support], 88 [ac_cv_c_attribute_aligned], 89 [ac_cv_c_attribute_aligned=0 90 for ac_cv_c_attr_align_try in 2 4 8 16 32 64; do 91 AC_TRY_COMPILE([], 92 [static char c __attribute__ ((aligned($ac_cv_c_attr_align_try))) = 0 93; return c;], 94 [ac_cv_c_attribute_aligned=$ac_cv_c_attr_align_try]) 95 done]) 96 if test x"$ac_cv_c_attribute_aligned" != x"0"; then 97 AC_DEFINE_UNQUOTED([ATTRIBUTE_ALIGNED_MAX], 98 [$ac_cv_c_attribute_aligned],[maximum supported data alignment]) 99 fi]) 100 101dnl AC_TRY_CFLAGS (CFLAGS, [ACTION-IF-WORKS], [ACTION-IF-FAILS]) 102dnl check if $CC supports a given set of cflags 103AC_DEFUN([AC_TRY_CFLAGS], 104 [AC_MSG_CHECKING([if $CC supports $1 flags]) 105 SAVE_CFLAGS="$CFLAGS" 106 CFLAGS="$1" 107 AC_TRY_COMPILE([],[],[ac_cv_try_cflags_ok=yes],[ac_cv_try_cflags_ok=no]) 108 CFLAGS="$SAVE_CFLAGS" 109 AC_MSG_RESULT([$ac_cv_try_cflags_ok]) 110 if test x"$ac_cv_try_cflags_ok" = x"yes"; then 111 ifelse([$2],[],[:],[$2]) 112 else 113 ifelse([$3],[],[:],[$3]) 114 fi]) 115 116 117dnl AC_CHECK_GENERATE_INTTYPES_H (INCLUDE-DIRECTORY) 118dnl generate a default inttypes.h if the header file does not exist already 119AC_DEFUN([AC_CHECK_GENERATE_INTTYPES], 120 [AC_CHECK_HEADER([inttypes.h],[], 121 [AC_COMPILE_CHECK_SIZEOF([char],[1]) 122 AC_COMPILE_CHECK_SIZEOF([short],[2]) 123 AC_COMPILE_CHECK_SIZEOF([int],[4]) 124 AC_COMPILE_CHECK_SIZEOF([long long],[8]) 125 cat >$1/inttypes.h << EOF 126#ifndef _INTTYPES_H 127#define _INTTYPES_H 128/* default inttypes.h for people who do not have it on their system */ 129#if (!defined __int8_t_defined) && (!defined __BIT_TYPES_DEFINED__) 130#define __int8_t_defined 131typedef signed char int8_t; 132typedef signed short int16_t; 133typedef signed int int32_t; 134#ifdef ARCH_X86 135typedef signed long long int64_t; 136#endif 137#endif 138#if (!defined _LINUX_TYPES_H) 139typedef unsigned char uint8_t; 140typedef unsigned short uint16_t; 141typedef unsigned int uint32_t; 142#ifdef ARCH_X86 143typedef unsigned long long uint64_t; 144#endif 145#endif 146#endif 147EOF 148 ])]) 149 150 151dnl AC_COMPILE_CHECK_SIZEOF (TYPE SUPPOSED-SIZE) 152dnl abort if the given type does not have the supposed size 153AC_DEFUN([AC_COMPILE_CHECK_SIZEOF], 154 [AC_MSG_CHECKING(that size of $1 is $2) 155 AC_TRY_COMPILE([],[switch (0) case 0: case (sizeof ($1) == $2):;],[], 156 [AC_MSG_ERROR([can not build a default inttypes.h])]) 157 AC_MSG_RESULT([yes])]) 158 159 160dnl AC_PROG_GMSGFMT_PLURAL 161dnl ---------------------- 162dnl Validate the GMSGFMT program found by gettext.m4; reject old versions 163dnl of GNU msgfmt that do not support the "msgid_plural" extension. 164AC_DEFUN([AC_PROG_GMSGFMT_PLURAL], 165 [dnl AC_REQUIRE(AM_GNU_GETTEXT) 166 167 if test "$GMSGFMT" != ":"; then 168 AC_MSG_CHECKING([for plural forms in GNU msgfmt]) 169 170 changequote(,)dnl We use [ and ] in in .po test input 171 172 dnl If the GNU msgfmt does not accept msgid_plural we define it 173 dnl as : so that the Makefiles still can work. 174 cat >conftest.po <<_ACEOF 175msgid "channel" 176msgid_plural "channels" 177msgstr[0] "canal" 178msgstr[1] "canal" 179 180_ACEOF 181 changequote([,])dnl 182 183 if $GMSGFMT -o /dev/null conftest.po >/dev/null 2>&1; then 184 AC_MSG_RESULT(yes) 185 else 186 AC_MSG_RESULT(no) 187 AC_MSG_RESULT( 188 [found GNU msgfmt program is too old, it does not support plural forms; ignore it]) 189 GMSGFMT=":" 190 fi 191 rm -f conftest.po 192 fi 193])dnl AC_PROG_GMSGFMT_PLURAL 194 195dnl Shims for various functions which are present in newer xine-lib 196AC_DEFUN([XINE_LIB_SHIMS], 197 [AC_MSG_CHECKING([for re-entrant XML parser in xine-lib]) 198 tmp_CFLAGS="$CFLAGS" 199 tmp_LIBS="$LIBS" 200 CFLAGS="$CFLAGS $XINE_CFLAGS" 201 LIBS="$LIBS $XINE_LIBS" 202 AC_LINK_IFELSE( 203 [AC_LANG_PROGRAM([#include <xine/xmlparser.h>], 204 [xml_parser_init_r ((void *)0, 0, XML_PARSER_CASE_INSENSITIVE);])], 205 [AC_DEFINE([HAVE_XML_PARSER_REENTRANT], [1], [Define if xml_parser_init_r etc. are available]) 206 AC_MSG_RESULT([yes])], 207 [AC_MSG_RESULT([no])]) 208 CFLAGS="$tmp_CFLAGS" 209 LIBS="$tmp_LIBS" 210 ]) 211 212dnl Test for xine_open_cloexec function 213AC_DEFUN([XINE_LIB_OPEN_CLOEXEC], 214 [AC_MSG_CHECKING([for xine_open_cloexec within xine-lib]) 215 tmp_CFLAGS="$CFLAGS" 216 tmp_LIBS="$LIBS" 217 CFLAGS="$CFLAGS $XINE_CFLAGS" 218 LIBS="$LIBS $XINE_LIBS" 219 AC_LINK_IFELSE( 220 [AC_LANG_PROGRAM([],[xine_open_cloexec();])], 221 [AC_DEFINE([HAVE_XINE_OPEN_CLOEXEC], [1], [Define if xine-lib supports xine_open_cloexec]) 222 AC_MSG_RESULT([yes])], 223 [AC_MSG_RESULT([no])]) 224 CFLAGS="$tmp_CFLAGS" 225 LIBS="$tmp_LIBS" 226 ]) 227 228dnl Test for xine_socket_cloexec function 229AC_DEFUN([XINE_LIB_SOCKET_CLOEXEC], 230 [AC_MSG_CHECKING([for xine_socket_cloexec within xine-lib]) 231 tmp_CFLAGS="$CFLAGS" 232 tmp_LIBS="$LIBS" 233 CFLAGS="$CFLAGS $XINE_CFLAGS" 234 LIBS="$LIBS $XINE_LIBS" 235 AC_LINK_IFELSE( 236 [AC_LANG_PROGRAM([],[xine_socket_cloexec();])], 237 [AC_DEFINE([HAVE_XINE_SOCKET_CLOEXEC], [1], [Define if xine-lib supports xine_socket_cloexec]) 238 AC_MSG_RESULT([yes])], 239 [AC_MSG_RESULT([no])]) 240 CFLAGS="$tmp_CFLAGS" 241 LIBS="$tmp_LIBS" 242 ]) 243 244dnl Test for xine_list_next_value function 245AC_DEFUN([XINE_LIB_LIST_NEXT_VALUE], 246 [AC_MSG_CHECKING([for xine_list_next_value within xine-lib]) 247 tmp_CFLAGS="$CFLAGS" 248 tmp_LIBS="$LIBS" 249 CFLAGS="$CFLAGS $XINE_CFLAGS" 250 LIBS="$LIBS $XINE_LIBS" 251 AC_LINK_IFELSE( 252 [AC_LANG_PROGRAM([ 253 ],[ 254xine_list_next_value (); 255 ])], 256 [AC_DEFINE([HAVE_XINE_LIST_NEXT_VALUE], [1], [Define if xine-lib supports xine_list_next_value]) 257 AC_MSG_RESULT([yes])], 258 [AC_MSG_RESULT([no])]) 259 CFLAGS="$tmp_CFLAGS" 260 LIBS="$tmp_LIBS" 261 ]) 262