dnl Process this file with autoconf to produce a configure script.
-AC_INIT(src/)
+AC_INIT
+AC_CONFIG_SRCDIR([src/])
+
+AC_ARG_ENABLE(checkmem,
+[ --enable-checkmem turn on ccmalloc debugging], CHECKMEM=true)
+AC_ARG_ENABLE(debug,
+[ --enable-debug turn on debugging], DEBUG=true)
+AC_ARG_ENABLE(warnings,
+[ --enable-warnings turn on compiler warnings], ENABLE_WARNINGS=true)
+AC_ARG_ENABLE(optimizations,
+[ --enable-optimizations turn on compiler optimizations (recommended for avi2swf)], OPTIMIZE=true)
+AC_ARG_ENABLE(lame,
+[ --disable-lame don't compile any L.A.M.E. mp3 encoding code in], DISABLE_LAME=true)
PACKAGE=swftools
-VERSION=0.4.0
-CFLAGS="-Winline -Wparentheses -Wimplicit -Wreturn-type -O2 -fomit-frame-pointer"
-CXXFLAGS="-Winline -Wparentheses -Wimplicit -Wreturn-type -O2 -fomit-frame-pointer"
+VERSION=0.5.1
+
+
+WARNINGS="-Wparentheses -Wimplicit -Wreturn-type"
+if test "x$ENABLE_WARNINGS" '!=' "x";then
+ WARNINGS="-Wall -Wno-unused -Wno-format -Wno-redundant-decls"
+fi
+
+if test "x$CHECKMEM" '!=' "x";then
+ DEBUG=yes
+fi
+if test "x$DEBUG" '!=' "x";then
+ CFLAGS="$WARNINGS -g $CFLAGS"
+ CXXFLAGS="$WARNINGS -g $CXXFLAGS"
+else if test "x$OPTIMIZE" '!=' "x"; then
+ CFLAGS="$WARNINGS -O3 -fomit-frame-pointer -Winline $CFLAGS"
+ CXXFLAGS="$WARNINGS -O3 -fomit-frame-pointer -Winline $CXXFLAGS"
+else
+ CFLAGS="$WARNINGS -O -fomit-frame-pointer $CFLAGS"
+ CXXFLAGS="$WARNINGS -O -fomit-frame-pointer $CXXFLAGS"
+fi
+fi
+#OLDGCC=1
+#if test "x$OLDGCC" '!=' "x";then
+# #CFLAGS="$CFLAGS --std=c89 -ansi -pendantic"
+# #CXXFLAGS="$CXXFLAGS --std=c89 -ansi -pendantic"
+# CFLAGS="$CFLAGS -ansi -pendantic"
+# CXXFLAGS="$CXXFLAGS -ansi -pendantic"
+#fi
+
export PACKAGE VERSION CFLAGS CXXFLAGS
dnl Checks for programs.
+ AC_CANONICAL_HOST
+MACOSX=
+case $host_os in
+ *darwin* )
+ MACOSX=yes
+ CFLAGS="$CFLAGS -fno-rtti"
+ CXXFLAGS="$CXXFLAGS -fno-rtti"
+ ;;
+esac
+dnl Checks for programs.
AC_PROG_CC
- AC_PROG_CPP
AC_PROG_CXX
+
+if test "x$CHECKMEM" '!=' "x";then
+ CC="ccmalloc $CC"
+ CXX="ccmalloc $CXX"
+ #echo running again
+ #unset ac_cv_prog_CC
+ #unset ac_cv_prog_CXX
+ #AC_PROG_CC
+ #AC_PROG_CXX
+fi
+ AC_PROG_CPP
+
AC_PROG_RANLIB
AC_PROG_MAKE_SET
AC_PROG_INSTALL
dnl Checks for system services
AC_EXEEXT
+RFX_CHECK_MING
+
+if test "x${MINGW}" != "xyes"; then
+ AC_DEFINE_UNQUOTED(O_BINARY, 0)
+fi
+# The following tries to make use of includes and libraries in
+# /usr/local, too. Notice: A -I/usr/local/include might break
+# things (MingW, cross-compiling etc.) in the same way as -I/usr/include,
+# especially on systems which link /usr/local to /usr, so it has yet
+# to be seen how useful this is.
+if test -d /usr/local/lib; then
+ LDFLAGS="$LDFLAGS -L/usr/local/lib"
+fi
+if test -d /usr/local/include; then
+# Leave that alone. It's causing trouble e.g. with gcc 3.2 on gentoo.
+# CPPFLAGS="$CPPFLAGS -I/usr/local/include"
+ echo > /dev/null
+fi
+if test "$prefix" != "NONE" -a "$prefix" != "/usr/local" -a "$prefix" != "/usr/local/"; then
+ # if the user has a special prefix (like /opt), there might also be $prefix/lib
+ # and $prefix/include, which should be included in our search paths for libraries
+ # and includes.
+ LDFLAGS="$LDFLAGS -L${libdir}"
+ CPPFLAGS="$CPPFLAGS -I${includedir}"
+ # TODO- test whether gcc still works after this
+fi
+
+# this must be done after (I believe) AC_PROG_MAKE_SET
+if test "x$DEBUG" '!=' "x";then
+ STRIP="@echo debug enabled, not stripping "
+ export STRIP
+ AC_SUBST(STRIP)
+fi
+
dnl Checks for libraries.
AC_CHECK_LIB(m, sin,,
echo "Error: Math library not found.";
exit;
)
AC_CHECK_LIB(z, deflate,,
- echo "Error: The zlib compression library is required."
- DISABLEPDF2SWF=true;
+ DISABLEPNG2SWF=true;
MISSINGLIBS="${MISSINGLIBS} zlib"
- exit;
+ ZLIBMISSING=true;
)
AC_CHECK_LIB(jpeg, jpeg_write_raw_data,,
DISABLEPDF2SWF=true;
)
AC_CHECK_LIB(t1, T1_LoadFont,,
DISABLEPDF2SWF=true;
- MISSINGLIBS="${MISSINGLIBS} T1lib"
+ MISSINGLIBS="${MISSINGLIBS} t1lib"
)
+RFX_CHECK_FREETYPE
+
RFX_CHECK_BYTEORDER
AC_SUBST(WORDS_BIGENDIAN)
RFX_CHECK_SYSTEM_BACKTICKS
AC_ARG_PROGRAM
-dnl do we need those?
-dnl AC_CHECK_LIB(pthread, pthread_create)
-dnl AC_CHECK_LIB(X11, XFlush)
-
dnl Checks for header files.
AC_CONFIG_HEADER(config.h)
-dnl AC_PATH_X
-dnl AC_PATH_XTRA
AC_HEADER_DIRENT
AC_HEADER_STDC
- AC_CHECK_HEADERS(zlib.h jpeglib.h t1lib.h sys/stat.h sys/types.h dirent.h sys/bsdtypes.h sys/ndir.h sys/dir.h ndir.h)
+ AC_CHECK_HEADERS(zlib.h jpeglib.h t1lib.h assert.h signal.h pthread.h sys/stat.h sys/types.h dirent.h sys/bsdtypes.h sys/ndir.h sys/dir.h ndir.h time.h)
if test "x${ac_cv_header_jpeglib_h}" != "xyes"; then
DISABLEPDF2SWF=true;
MISSINGLIBS="${MISSINGLIBS} t1lib.h"
fi
if test "x${ac_cv_header_zlib_h}" != "xyes"; then
- DISABLEPDF2SWF=true;
+ DISABLEPNG2SWF=true;
MISSINGLIBS="${MISSINGLIBS} zlib.h"
+ ZLIBMISSING=true;
fi
AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
dnl AC_CHECK_TYPE(uint,unsigned long int)
dnl Checks for library functions.
- AC_CHECK_FUNCS(popen mkstemp stat lrand48 rand srand48 srand)
+ AC_CHECK_FUNCS(popen mkstemp stat lrand48 rand srand48 srand bcopy bzero time)
RFX_CHECK_AVI2SWF
avi2swf="avi2swf/Makefile"
if test "x${AVIFILE}" != "xtrue"; then
echo "* Couldn't compile the avifile test program."
echo "* Disabling avi2swf tool..."
- echo all: > avi2swf/Makefile
- echo install: >> avi2swf/Makefile
- echo clean: >> avi2swf/Makefile
+ echo all install uninstall clean: > avi2swf/Makefile
avi2swf=
fi
+if test "x${DISABLE_LAME}" = "xtrue"; then
+ echo "*" Disabling lame support...
+ lame_objects=
+else
+ AC_DEFINE_UNQUOTED(HAVE_LAME, 1)
+ lame_objects='$(lame_objects_2)'
+fi
+AC_SUBST(lame_objects)
+
if test "x${UNCOMPRESS}" = "xgzip"; then
AC_DEFINE_UNQUOTED(USE_GZIP, 1)
fi
AC_SUBST(USE_GZIP)
-JPEG2SWF='jpeg2swf$(EXEEXT)'
+JPEG2SWF='jpeg2swf$(E)'
export JPEG2SWF
+PNG2SWF='png2swf$(E)'
+export PNG2SWF
+
+if test "x" = "x"; then
+ pythonrfxswf="lib/python/Makefile"
+else
+ echo all install uninstall clean: > lib/python/Makefile
+fi
+
if test "x${DISABLEPDF2SWF}" = "xtrue"; then
echo "***************************************************"
echo "The following headers/libraries are missing: " ${MISSINGLIBS}
- echo "Disabling pdf2swf tool..."
- rm -f pdf2swf/Makefile
- echo all: > pdf2swf/Makefile
- echo install: >> pdf2swf/Makefile
- echo clean: >> pdf2swf/Makefile
+ if test "x${DISABLEPDF2SWF}" = "xtrue"; then
+ echo "Disabling pdf2swf tool..."
+ rm -f pdf2swf/Makefile
+ echo all install uninstall clean: > pdf2swf/Makefile
+ fi
if test "x${DISABLEJPEG2SWF}" = "xtrue"; then
echo "Disabling jpeg2swf tool..."
JPEG2SWF=
export JPEG2SWF
fi
+ if test "x${DISABLEPNG2SWF}" = "xtrue"; then
+ echo "Disabling png2swf tool..."
+ PNG2SWF=
+ export PNG2SWF
+ fi
+ if test "x${ZLIBMISSING}" = "xtrue"; then
+ echo
+ echo "Warning! Without zlib, you will not be able to read"
+ echo "or write compressed Flash MX files!"
+ fi
echo "***************************************************"
- FILES="./release ${avi2swf} Makefile lib/lame/Makefile lib/Makefile src/Makefile swfs/Makefile"
+ FILES="./release Makefile.common ${avi2swf} Makefile lib/lame/Makefile lib/Makefile lib/action/Makefile src/Makefile swfs/Makefile ${pythonrfxswf}"
else
- FILES="./release ${avi2swf} Makefile lib/lame/Makefile lib/Makefile src/Makefile pdf2swf/Makefile pdf2swf/xpdf/Makefile pdf2swf/ttf2pt1/Makefile pdf2swf/fonts/Makefile swfs/Makefile"
+ FILES="./release Makefile.common ${avi2swf} Makefile lib/lame/Makefile lib/Makefile lib/action/Makefile src/Makefile pdf2swf/Makefile pdf2swf/xpdf/Makefile pdf2swf/ttf2pt1/Makefile swfs/Makefile ${pythonrfxswf}"
fi
AC_SUBST(JPEG2SWF)
+AC_SUBST(PNG2SWF)
-AC_OUTPUT(${FILES})
+AC_CONFIG_FILES([${FILES}])
+AC_OUTPUT
+
+if test "x${srcdir}" != "x."; then
+ echo "Warning: --srcdir is not supported"
+fi