| 1 | dnl Process this file with autoconf to produce a configure script. |
|---|
| 2 | AC_INIT([msx264],[1.1.8]) |
|---|
| 3 | |
|---|
| 4 | AM_INIT_AUTOMAKE([tar-ustar]) |
|---|
| 5 | |
|---|
| 6 | AC_CANONICAL_SYSTEM |
|---|
| 7 | |
|---|
| 8 | AC_MSG_CHECKING([warning make an error on compilation]) |
|---|
| 9 | AC_ARG_ENABLE(strict, |
|---|
| 10 | [ --enable-strict Enable error on compilation warning [default=yes]], |
|---|
| 11 | [wall_werror=$enableval], |
|---|
| 12 | [wall_werror=yes] |
|---|
| 13 | ) |
|---|
| 14 | |
|---|
| 15 | |
|---|
| 16 | dnl Checks for programs. |
|---|
| 17 | AC_PROG_CC |
|---|
| 18 | |
|---|
| 19 | AC_LIBTOOL_WIN32_DLL |
|---|
| 20 | AC_DISABLE_STATIC |
|---|
| 21 | AC_PROG_LIBTOOL |
|---|
| 22 | |
|---|
| 23 | |
|---|
| 24 | case $target_os in |
|---|
| 25 | *mingw*) |
|---|
| 26 | mingw_found=yes |
|---|
| 27 | ;; |
|---|
| 28 | esac |
|---|
| 29 | |
|---|
| 30 | if test "$mingw_found" = "yes" ; then |
|---|
| 31 | AC_MSG_NOTICE([Hacking libtool to work with mingw...]) |
|---|
| 32 | sed -e 's/\*\" \$a_deplib \"\*/\*/' < ./libtool > libtool.tmp |
|---|
| 33 | cp -f ./libtool.tmp ./libtool |
|---|
| 34 | rm -f ./libtool.tmp |
|---|
| 35 | fi |
|---|
| 36 | |
|---|
| 37 | CFLAGS="$CFLAGS -Wall" |
|---|
| 38 | |
|---|
| 39 | |
|---|
| 40 | dnl Checks for header files. |
|---|
| 41 | AC_HEADER_STDC |
|---|
| 42 | |
|---|
| 43 | dnl Checks for typedefs, structures, and compiler characteristics. |
|---|
| 44 | AC_C_CONST |
|---|
| 45 | AC_C_INLINE |
|---|
| 46 | AC_HEADER_TIME |
|---|
| 47 | AC_WORDS_BIGENDIAN |
|---|
| 48 | if test x$ac_cv_c_bigendian = xyes ; then |
|---|
| 49 | CFLAGS="$CFLAGS -D_BIGENDIAN" |
|---|
| 50 | fi |
|---|
| 51 | |
|---|
| 52 | if test $GCC = yes && test $wall_werror = yes; then |
|---|
| 53 | CFLAGS="$CFLAGS -Werror " |
|---|
| 54 | fi |
|---|
| 55 | |
|---|
| 56 | PKG_CHECK_MODULES(MEDIASTREAMER, mediastreamer >= 2.1.0) |
|---|
| 57 | |
|---|
| 58 | PKG_CHECK_MODULES(X264, x264 >= 0.58.0) |
|---|
| 59 | |
|---|
| 60 | AC_ARG_ENABLE(hacked-x264, |
|---|
| 61 | [ --enable-hacked-x264 Turn on compilation over a patched x264 that allows multislicing [default=no]], |
|---|
| 62 | [hacked_x264=$enableval], |
|---|
| 63 | [hacked_x264=no] |
|---|
| 64 | ) |
|---|
| 65 | |
|---|
| 66 | dnl test for ffmpeg presence |
|---|
| 67 | PKG_CHECK_MODULES(FFMPEG, [libavcodec >= 50.0.0 ],ffmpeg_found=yes , ffmpeg_found=no) |
|---|
| 68 | dnl workaround for debian... |
|---|
| 69 | PKG_CHECK_MODULES(FFMPEG, [libavcodec >= 0d.50.0.0 ], ffmpeg_found=yes, ffmpeg_found=no) |
|---|
| 70 | if test x$ffmpeg_found = xno ; then |
|---|
| 71 | AC_MSG_ERROR([Could not find ffmpeg headers and library. This is mandatory for video support]) |
|---|
| 72 | fi |
|---|
| 73 | |
|---|
| 74 | dnl check for new/old ffmpeg header file layout |
|---|
| 75 | CPPFLAGS_save=$CPPFLAGS |
|---|
| 76 | CPPFLAGS=$FFMPEG_CFLAGS |
|---|
| 77 | AC_CHECK_HEADERS(libavcodec/avcodec.h) |
|---|
| 78 | CPPFLAGS=$CPPFLAGS_save |
|---|
| 79 | |
|---|
| 80 | CFLAGS="$CFLAGS \$(MEDIASTREAMER_CFLAGS) \$(FFMPEG_CFLAGS)" |
|---|
| 81 | if test "$hacked_x264" = "yes" ; then |
|---|
| 82 | AC_MSG_WARN([Trying to compile with multislicing patched version of X264]) |
|---|
| 83 | CFLAGS="$CFLAGS -DHACKED_X264" |
|---|
| 84 | fi |
|---|
| 85 | |
|---|
| 86 | LIBS="$LIBS \$(X264_LIBS) " |
|---|
| 87 | LDFLAGS="$LDFLAGS -rdynamic " |
|---|
| 88 | |
|---|
| 89 | dnl define path of plugins: |
|---|
| 90 | PACKAGE_PLUGINS_DIR="\$(libdir)/mediastreamer/plugins" |
|---|
| 91 | AC_SUBST(PACKAGE_PLUGINS_DIR) |
|---|
| 92 | |
|---|
| 93 | dnl ################################################## |
|---|
| 94 | dnl # Check for ESP Packager |
|---|
| 95 | dnl ################################################## |
|---|
| 96 | |
|---|
| 97 | AC_PATH_PROG(EPM,epm,false) |
|---|
| 98 | AC_PATH_PROG(MKEPMLIST,mkepmlist,false) |
|---|
| 99 | AC_PATH_PROG(EPMINSTALL,epminstall,false) |
|---|
| 100 | AM_CONDITIONAL(WITH_EPM,test $EPM != false && test $MKEPMLIST != false && test $EPMINSTALL != false) |
|---|
| 101 | |
|---|
| 102 | |
|---|
| 103 | # Preferred packaging system, as per EPM terminology |
|---|
| 104 | case $target in |
|---|
| 105 | *-*-linux*) |
|---|
| 106 | if test -f /etc/debian_version ; then |
|---|
| 107 | EPM_PKG_EXT=deb |
|---|
| 108 | else |
|---|
| 109 | EPM_PKG_EXT=rpm |
|---|
| 110 | fi |
|---|
| 111 | ;; |
|---|
| 112 | *-hp-hpux*) |
|---|
| 113 | EPM_PKG_EXT=depot.gz;; |
|---|
| 114 | *-dec-osf*) |
|---|
| 115 | EPM_PKG_EXT=setld;; |
|---|
| 116 | esac |
|---|
| 117 | AC_SUBST(EPM_PKG_EXT) |
|---|
| 118 | |
|---|
| 119 | # System software User & Group names |
|---|
| 120 | case $target in |
|---|
| 121 | *-*-linux*) |
|---|
| 122 | SYS_USER=root |
|---|
| 123 | SYS_GROUP=root |
|---|
| 124 | ;; |
|---|
| 125 | *-*-hpux*|*-dec-osf*) |
|---|
| 126 | SYS_USER=bin |
|---|
| 127 | SYS_GROUP=bin |
|---|
| 128 | ;; |
|---|
| 129 | esac |
|---|
| 130 | AC_SUBST(SYS_USER) |
|---|
| 131 | AC_SUBST(SYS_GROUP) |
|---|
| 132 | |
|---|
| 133 | # CPU Architecture |
|---|
| 134 | case $target_cpu in |
|---|
| 135 | i?86) ARCH=i386;; |
|---|
| 136 | *) ARCH=$target_cpu;; |
|---|
| 137 | esac |
|---|
| 138 | AC_SUBST(ARCH) |
|---|
| 139 | |
|---|
| 140 | # Various other packaging variables, that can be over-ridden ad `make |
|---|
| 141 | # package' time |
|---|
| 142 | SUMMARY="A H264 codec mediastreamer plugin" |
|---|
| 143 | AC_SUBST(SUMMARY) |
|---|
| 144 | PACKAGER=anonymous |
|---|
| 145 | AC_SUBST(PACKAGER) |
|---|
| 146 | LICENSE=GPL |
|---|
| 147 | AC_SUBST(LICENSE) |
|---|
| 148 | VENDOR=Linphone |
|---|
| 149 | AC_SUBST(VENDOR) |
|---|
| 150 | RELEASE=1 |
|---|
| 151 | AC_SUBST(RELEASE) |
|---|
| 152 | |
|---|
| 153 | |
|---|
| 154 | AC_OUTPUT( |
|---|
| 155 | Makefile |
|---|
| 156 | src/Makefile |
|---|
| 157 | ) |
|---|