1gdnl Process this file with autoconf to produce a configure script. 2AC_PREREQ(2.57) 3 4ifdef([m4_pattern_allow], 5 [m4_pattern_allow([^AC_.*])]) 6 7AC_INIT(electricsheep,2.7b33-svn,http://code.google.com/p/electricsheep/issues/list) 8AC_CANONICAL_HOST 9AC_CANONICAL_TARGET 10 11 12AC_CONFIG_SRCDIR([Makefile.am]) 13AM_INIT_AUTOMAKE([1.9 tar-pax dist-bzip2]) 14 15AM_MAINTAINER_MODE 16 17dnl Uncomment next line to have it build in /usr by default rather than /usr/local 18dnl AC_PREFIX_DEFAULT(/usr) 19 20AC_GNU_SOURCE 21AC_ISC_POSIX 22AC_PROG_INSTALL 23AC_PROG_CC 24AC_PROG_CXX 25 26dnl AC_CONFIG_MACRO_DIR([m4]) 27 28AC_LIBTOOL_DLOPEN 29AC_PROG_LIBTOOL 30AM_PROG_CC_STDC 31AM_PROG_CC_C_O 32AC_HEADER_STDC 33AC_C_BIGENDIAN 34AC_C_CONST 35AC_C_INLINE 36AC_SYS_LARGEFILE 37 38AM_PROG_AS 39 40PTHREAD_OK=true 41 42IS_LINUX_GNU="false" 43 44case "{$target_os}" in 45 *linux-gnu*) 46 IS_LINUX_GNU="true" 47 echo "O/S is GNU/Linux" 48 ;; 49 *) 50 ;; 51esac 52 53AC_PATH_PROG(PKG_CONFIG, pkg-config, no) 54 55if test x$PKG_CONFIG = xno; then 56 AC_MSG_ERROR([Cannot find pkg-config, make sure it is installed and in your PATH]) 57fi 58 59 60AM_CONDITIONAL(IS_LINUX_GNU,$IS_LINUX_GNU) 61 62dnl Use -Wall if we have gcc. 63changequote(,)dnl 64if test "x$GCC" = "xyes"; then 65 case " $CFLAGS " in 66 *[\ \ ]-Wall[\ \ ]*) ;; 67 *) CFLAGS="$CFLAGS -Wall" ;; 68 esac 69fi 70changequote([,])dnl 71 72 73 74dnl Check for WXWidgets 75WX_VER_291="" 76 77#AC_PATH_PROGS(WX_CONFIG, [wx-config-2.9 wx-config], no) 78 79if test x$WX_CONFIG != xno; then 80 WX_VERSION=`$WX_CONFIG --version` 81 82 WX_MAJOR=${WX_VERSION%%.*}; 83 WX_MINOR=${WX_VERSION#*.}; 84 WX_MINOR=${WX_MINOR%%.*}; 85 WX_MICRO=${WX_VERSION##*.}; 86 87 if test $WX_MAJOR -gt 2; then 88 WX_VER_291=yes 89 else 90 if test $WX_MAJOR -eq 2; then 91 if test $WX_MINOR -gt 9; then 92 WX_VER_291=yes 93 else 94 if test $WX_MINOR -eq 9; then 95 if test $WX_MICRO -ge 1; then 96 WX_VER_291=yes 97 fi 98 fi 99 fi 100 fi 101 fi 102fi 103 104if test "$WX_VER_291" != "yes"; then 105 106 dnl Use static version 107 echo "installed version of wx is too old," 108 109 AC_MSG_ERROR([Please install development libraries for wxWidgets 2.9.1 or higher, and then run this configure script again.]) 110fi 111 112WX_CXXFLAGS="`$WX_CONFIG --cxxflags`" 113WX_LIBS="-static `$WX_CONFIG --libs` `$WX_CONFIG --libs richtext`" 114 115echo "WX_CXXFLAGS is $WX_CXXFLAGS" 116echo "WX_LIBS is $WX_LIBS" 117 118WX_LDADD="$WX_LIBS" 119 120AC_SUBST(WX_CXXFLAGS) 121AC_SUBST(WX_LDADD) 122 123 124 125dnl Check for avcodec 126 127 128PKG_CHECK_MODULES([AVCODEC],[libavcodec]) 129 130dnl Check for avcodec_decode_video2 131AC_CHECK_LIB([avcodec],[avcodec_decode_video2],HAVE_AVC_VID2=true,HAVE_AVC_VID2=false) 132 133AM_CONDITIONAL(HAVE_AVC_VID2,$HAVE_AVC_VID2) 134 135AC_SUBST(AVCODEC_CFLAGS) 136AC_SUBST(AVCODEC_LIBS) 137 138 139 140dnl Check for avformat 141 142PKG_CHECK_MODULES(AVFORMAT,libavformat) 143 144AC_SUBST(AVFORMAT_CFLAGS) 145AC_SUBST(AVFORMAT_LIBS) 146 147AC_CHECK_LIB([avformat], [av_open_input_file], AC_DEFINE([USE_OLD_FFMPEG_API]), AC_DEFINE([USE_NEW_FFMPEG_API])) 148 149dnl Check for swscale 150 151PKG_CHECK_MODULES(SWSCALE,libswscale) 152 153AC_SUBST(SWSCALE_CFLAGS) 154AC_SUBST(SWSCALE_LIBS) 155 156 157dnl Check for avutil 158 159PKG_CHECK_MODULES(AVUTIL,libavutil) 160 161AC_SUBST(AVUTIL_CFLAGS) 162AC_SUBST(AVUTIL_LIBS) 163 164 165dnl Check for lua 166 167PKG_CHECK_MODULES([LUA], [lua-5.1],, 168 [PKG_CHECK_MODULES([LUA], [lua >= 5.1]) 169]) 170 171AC_SUBST(LUA_CFLAGS) 172AC_SUBST(LUA_LIBS) 173 174 175 176dnl Check for glee 177 178PKG_CHECK_MODULES([GLEE],[glee], [HAVE_GLEE=true] , [HAVE_GLEE=false] ) 179if test "$HAVE_GLEE" = "false"; then 180 181 PKG_CHECK_MODULES([GLEE],[GLee], [HAVE_GLEE=true] , [HAVE_GLEE=false] ) 182 if test "$HAVE_GLEE" = "false"; then 183 AC_MSG_CHECKING(for GLee.h) 184 AC_CHECK_HEADERS(GLee.h GL/GLee.h) 185 186 if test "x$ac_cv_header_GLee_h" = "xno"; then 187 if test "xac_cv_header_GL_GLee_h" = "xno"; then 188 AC_MSG_ERROR([neither GLee.h nor GL/GLee.h were found. Please make sure you have GLee.h installed in your include path.]) 189 fi 190 dnl found GLee.h in GL subdir 191 GLEE_CFLAGS="-I $includedir/GL -I/usr/include/GL" 192 fi 193 194 AC_CHECK_LIB([GLee],[main],GLEE_LIBS="-lGLee", 195 AC_CHECK_LIB([glee],[main],GLEE_LIBS="-lglee",,)) 196 197 fi 198 199fi 200AC_SUBST(GLEE_CFLAGS) 201AC_SUBST(GLEE_LIBS) 202 203 204dnl Check for curl 205 206PKG_CHECK_MODULES(CURL,libcurl) 207 208AC_SUBST(CURL_CFLAGS) 209AC_SUBST(CURL_LIBS) 210 211 212dnl Check for libpng 213 214PKG_CHECK_MODULES(PNG,libpng) 215 216AC_SUBST(PNG_CFLAGS) 217AC_SUBST(PNG_LIBS) 218 219 220 221dnl Check for Xrender 222 223PKG_CHECK_MODULES(XRENDER,xrender) 224 225AC_SUBST(XRENDER_CFLAGS) 226AC_SUBST(XRENDER_LIBS) 227 228 229# Check for flam3-animate 230AC_PATH_PROG(FLAM3_ANIMATE, flam3-animate, no) 231if test x$FLAM3_ANIMATE = xno; then 232 AC_MSG_ERROR([Cannot find flam3-animate, make sure it is installed and in your PATH]) 233fi 234 235 236dnl Check for libgtop-2.0 237 238PKG_CHECK_MODULES(LIBGTOP,libgtop-2.0) 239 240AC_SUBST(LIBGTOP_CFLAGS) 241AC_SUBST(LIBGTOP_LIBS) 242 243 244dnl Checks for boost 245AC_LANG_PUSH([C++]) 246 247dnl Check boost version 248 249REQ_BOOST_VERSION=103900 250AC_MSG_CHECKING(for libboost >= 1.39) 251 252AC_RUN_IFELSE([ 253 AC_LANG_PROGRAM( 254 [ 255 #include <boost/version.hpp> 256 #include <fstream> 257 ], 258 [dnl 259#if BOOST_VERSION >= $REQ_BOOST_VERSION 260 std::ofstream ofs("conftest.out"); 261 ofs << BOOST_VERSION / 100000 << '.' << BOOST_VERSION / 100 % 1000; 262#else 263# error Boost version is too old 264#endif 265 ])], 266 [ 267 BOOST_VERSION=`cat conftest.out` 268 AC_MSG_RESULT(yes) 269 succeeded=yes 270 found_system=yes 271 ], 272 []) 273 274AC_LANG_POP([C++]) 275 276 277dnl Check result of boost version 278if test "x$succeeded" != "xyes"; then 279 AC_MSG_ERROR([libboost version 1.41 or higher is required to compile electricsheep.]) 280fi 281 282 283AC_LANG_PUSH([C++]) 284 285dnl Check for boost/thread.hpp 286AC_CHECK_HEADER([boost/thread.hpp],, 287 [AC_MSG_ERROR([you must install libboost-thread to compile electricsheep.]) 288]) 289 290AC_CHECK_LIB([boost_thread],[main],, 291 [AC_MSG_ERROR([you must install libboost-thread to compile electricsheep.]) 292]) 293 294 295dnl Check for boost/filesystem.hpp 296AC_CHECK_HEADER([boost/filesystem.hpp],, 297 [AC_MSG_ERROR([you must install libboost-filesystem to compile electricsheep.]) 298]) 299 300AC_CHECK_LIB([boost_filesystem],[main],, 301 [AC_MSG_ERROR([you must install libboost-filesystem to compile electricsheep.]) 302]) 303 304dnl Check for boost/system/config.hpp 305AC_CHECK_HEADER([boost/system/config.hpp],, 306 [AC_MSG_ERROR([you must install libboost-system to compile electricsheep.]) 307]) 308 309AC_CHECK_LIB([boost_system],[main],, 310 [AC_MSG_ERROR([you must install libboost-system to compile electricsheep.]) 311]) 312 313AC_LANG_POP([C++]) 314 315 316 317BOOST_LDADD="-lboost_system" 318 319AC_SUBST(BOOST_LDADD) 320 321 322dnl Check for libtinyxml 323AC_CHECK_LIB([tinyxml],[main],, 324 [AC_MSG_ERROR([you must install libtinyxml dev to compile electricsheep.]) 325]) 326 327dnl Check for libglut 328AC_CHECK_LIB([glut],[glutMainLoop],, 329 [AC_MSG_ERROR([you must install libglut dev to compile electricsheep.]) 330]) 331 332 333AC_CHECK_LIB([GL],[glXCreateNewContext],, 334 [AC_MSG_ERROR([you must install libGL to compile electricsheep.]) 335]) 336 337AC_CHECK_LIB([rt],[clock_gettime],, 338 [AC_MSG_ERROR([you must install librt to compile electricsheep.]) 339]) 340 341 342 343AC_OUTPUT([ 344Makefile 345Client/Makefile 346MSVC/SettingsGUI/Makefile 347]) 348