AC_CHECK_LIB(resolv,inet_aton,LIB="${LIB} -lresolv")
])
AC_CHECK_FUNCS(vasprintf)
+AC_CHECK_FUNCS(swab)
AC_CHECK_FUNC(getopt_long,[AC_DEFINE(HAVE_GETOPT_LONG,1,long getopt support)],
[ # FreeBSD has a gnugetopt library for this:
AC_TYPE_SIGNAL
AC_CHECK_LIB(dl,dlopen,LIB="${LIB} -ldl")
AC_CHECK_LIB(m,pow,LIB_YUV="${LIB_YUV} -lm")
-AC_MSG_CHECKING(for old style FreeBSD -pthread flag)
-AC_EGREP_CPP(yes,
- [#if defined(__FreeBSD_cc_version) && __FreeBSD_cc_version <= 500001
- yes
- #endif
- ], AC_MSG_RESULT(yes)
- DEFINE="${DEFINE} -D_THREAD_SAFE" LIB="${LIB} -pthread",
- AC_MSG_RESULT(no)
- AC_CHECK_LIB(pthread,pthread_create,LIB="${LIB} -lpthread"))
-AC_CHECK_LIB(threads,thread_create,LIB="${LIB} -lthreads")
CPPFLAGS="${CPPFLAGS} -I/usr/local/include"
+CFLAGS="${CFLAGS} -I/usr/local/include"
-dnl Check for headers
-AC_CHECK_HEADERS(stddef.h getopt.h strings.h)
-AC_CHECK_HEADERS(sys/sockio.h fcntl.h sys/time.h unistd.h)
-AC_CHECK_HEADERS(sys/soundcard.h machine/soundcard.h)
-AC_CHECK_HEADERS(dlfcn.h image.h)
-AC_CHECK_HEADERS(arpa/inet.h net/if.h netinet/in.h sys/socket.h)
-AC_CHECK_HEADERS(machine/param.h)
-
-dnl Check for threads library
-AC_CHECK_HEADERS(cthreads.h pthread.h kernel/scheduler.h kernel/OS.h)
+dnl Check for pthreads - borrowed from XMMS
+PTHREAD_LIBS=error
+AC_CHECK_LIB(pthread,pthread_attr_init,PTHREAD_LIBS="-lpthread")
+if test "x$PTHREAD_LIBS" = xerror; then
+ AC_CHECK_LIB(pthreads,pthread_attr_init,PTHREAD_LIBS="-lpthreads")
+fi
+if test "x$PTHREAD_LIBS" = xerror; then
+ AC_CHECK_LIB(c_r,pthread_attr_init,PTHREAD_LIBS="-lc_r")
+fi
+if test "x$PTHREAD_LIBS" = xerror; then
+ PTHREAD_LIBS=""
+ AC_CHECK_FUNC(pthread_attr_init)
+fi
+LIB="${LIB} ${PTHREAD_LIBS}"
dnl Check for misc headers
AC_EGREP_HEADER(pthread_cond_t,pthread.h,[
Define if <strings.h> defines strncasecmp.)
])
+dnl Check for headers
+AC_CHECK_HEADERS(stddef.h getopt.h strings.h)
+AC_CHECK_HEADERS(sys/sockio.h fcntl.h sys/time.h unistd.h)
+AC_CHECK_HEADERS(sys/soundcard.h machine/soundcard.h)
+AC_CHECK_HEADERS(dlfcn.h image.h)
+AC_CHECK_HEADERS(arpa/inet.h net/if.h netinet/in.h sys/socket.h)
+AC_CHECK_HEADERS(machine/param.h)
+
+dnl Check for threads library
+AC_CHECK_HEADERS(cthreads.h pthread.h kernel/scheduler.h kernel/OS.h)
+
dnl Check for ntohl, etc.
CFLAGS="${CFLAGS} -Wall -Werror"
AC_MSG_CHECKING([for ntohl in sys/param.h])
AC_DEFINE(NTOHL_IN_SYS_PARAM_H, 1, Define if <sys/param.h> defines ntohl.)
AC_MSG_RESULT(yes), AC_MSG_RESULT(no))
-dnl Check for -rdynamic flag
-CFLAGS="${CFLAGS} -rdynamic -Wall -Werror"
-AC_MSG_CHECKING([if \$CC groks -rdynamic without complaining too much])
-AC_TRY_COMPILE([],,
- LCFLAGS="${LCFLAGS} -rdynamic"
- AC_MSG_RESULT(yes), AC_MSG_RESULT(no))
-
dnl End of the bizarre compilation tests
CFLAGS="${save_CFLAGS}"
dnl
dnl default modules
dnl
-BUILTINS="${BUILTINS} es ps ts yuv idct idctclassic motion"
+BUILTINS="${BUILTINS} es ps ts yuv idct idctclassic motion imdct downmix"
+
+dnl
+dnl Accelerated modules
+dnl
case x$host_os in
- xbeos|xnto-qnx)
- ACCEL_PLUGINS="yuvmmx idctmmx motionmmx"
- ;;
xmingw32msvc)
- ACCEL_PLUGINS="idctmmx idctmmxext motionmmx motionmmxext"
+ MMX_PLUGINS="idctmmx motionmmx"
+ MMXEXT_PLUGINS="idctmmxext motionmmxext imdct3dn"
;;
*)
- ACCEL_PLUGINS="yuvmmx idctmmx idctmmxext motionmmx motionmmxext"
+ MMX_PLUGINS="yuvmmx idctmmx motionmmx"
+ MMXEXT_PLUGINS="idctmmxext motionmmxext imdct3dn imdctsse downmix3dn downmixsse"
;;
esac
+AC_MSG_CHECKING([if \$CC groks MMX inline assembly])
+AC_TRY_COMPILE([void quux(){void *p;asm("packuswb %%mm1,%%mm2"::"r"(p));}],,
+ ACCEL_PLUGINS="${ACCEL_PLUGINS} ${MMX_PLUGINS}"
+ AC_MSG_RESULT(yes), AC_MSG_RESULT(no))
+
+AC_MSG_CHECKING([if \$CC groks MMX EXT or SSE inline assembly])
+AC_TRY_COMPILE([void quux(){void *p;asm("maskmovq %%mm1,%%mm2"::"r"(p));}],,
+ ACCEL_PLUGINS="${ACCEL_PLUGINS} ${MMXEXT_PLUGINS}"
+ AC_MSG_RESULT(yes), AC_MSG_RESULT(no))
+
dnl
dnl DVD module: check for DVD ioctls
dnl
AC_CHECK_HEADERS(sys/ioctl.h,[
BUILTINS="${BUILTINS} dvd"
- AC_CHECK_HEADERS(linux/cdrom.h)
- AC_EGREP_HEADER(dvd,linux/cdrom.h,[
- AC_DEFINE(LINUX_DVD,1, DVD support for linux)
+ AC_CHECK_HEADERS(sys/cdio.h sys/dvdio.h linux/cdrom.h)
+ BSD_DVD_STRUCT=0
+ dnl
+ dnl Old FreeBSD: sys/cdio.h
+ dnl
+ AC_EGREP_HEADER(dvd_struct,sys/dvdio.h,[
+ AC_DEFINE(DVD_STRUCT_IN_SYS_DVDIO_H, 1,
+ Define if <sys/dvdio.h> defines dvd_struct.)
+ BSD_DVD_STRUCT=1
+ ])
+ dnl
+ dnl Newer FreeBSD: sys/dvdio.h
+ dnl
+ AC_EGREP_HEADER(dvd_struct,sys/cdio.h,[
+ AC_DEFINE(DVD_STRUCT_IN_SYS_CDIO_H, 1,
+ Define if <sys/cdio.h> defines dvd_struct.)
+ BSD_DVD_STRUCT=1
+ ])
+ if test x$BSD_DVD_STRUCT = x1; then
+ AC_DEFINE(HAVE_BSD_DVD_STRUCT, 1,
+ Define if BSD-like dvd_struct is defined.)
+ fi
+ dnl
+ dnl Linux: linux/cdrom.h
+ dnl
+ AC_EGREP_HEADER(dvd_struct,linux/cdrom.h,[
+ AC_DEFINE(DVD_STRUCT_IN_LINUX_CDROM_H, 1,
+ Define if <linux/cdrom.h> defines DVD_STRUCT.)
])
])
PLUGINS="${PLUGINS} glide";
if test "x$withval" != "xyes";
then
- LIB_GLIDE="-l"$withval
+ LIB_GLIDE="-l"$withval" -lm"
else
- LIB_GLIDE="-lglide2x"
+ LIB_GLIDE="-lglide2x -lm"
fi
fi ])
PLUGINS="${PLUGINS} qt"
ALIASES="${ALIASES} qvlc"
LIB_QT="-lqt -L${QTDIR}/lib"
+ if test -x ${QTDIR}/bin/moc ;
+ then
+ MOC=${QTDIR}/bin/moc
+ else
+ MOC=moc
+ fi
fi])
dnl
AC_SUBST(TRACE)
AC_SUBST(OPTIMS)
AC_SUBST(CSS)
+AC_SUBST(MOC)
AC_SUBST(LCFLAGS)
AC_SUBST(LIB)
optimizations : ${OPTIMS}
CSS decryption : ${CSS}
need builtin getopt : ${GETOPT}
-plugin modules :${PLUGINS}
built-in modules :${BUILTINS}
+plugin modules :${PLUGINS}
vlc aliases :${ALIASES}
You may now tune Makefile.opts at your convenience."