dnl AC_INIT
dnl AC_CONFIG_SRCDIR([src/])
+# ------------------- option parsing -------------------------------
+
+DEBUG=
+CHECKMEM=
+PROFILING=
+ENABLE_WARNINGS=
+OPTIMIZE=
+USE_POPPLER=
+DISABLE_LAME=
+
AC_ARG_ENABLE(checkmem,
[ --enable-checkmem turn on ccmalloc debugging], CHECKMEM=true)
AC_ARG_ENABLE(debug,
[ --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(poppler,
+[ --enable-poppler link againist libpoppler], USE_POPPLER=true)
AC_ARG_ENABLE(lame,
-[ --disable-lame don't compile any L.A.M.E. mp3 encoding code in], DISABLE_LAME=true)
+[ --disable-lame "don't compile any L.A.M.E. mp3 encoding code in"],
-PACKAGE=swftools
-VERSION=2007-12-11-1640
+if test "x$enable_lame" = "xno";then
+ DISABLE_LAME=yes
+fi,DISABLE_LAME=)
+PACKAGE=swftools
+VERSION=0.9.1
# ------------------------------------------------------------------
exit 1
fi
-WARNINGS="-Wparentheses -Wimplicit -Wreturn-type"
+WARNINGS="-Wimplicit -Wreturn-type -Wno-write-strings -Wformat"
if test "x$ENABLE_WARNINGS" '!=' "x";then
- WARNINGS="-Wall -Wno-unused -Wno-format -Wno-redundant-decls -D_FORTIFY_SOURCE=2 "
+ WARNINGS="-Wall -Wno-unused -Wno-format -Wno-redundant-decls -Wno-write-strings -D_FORTIFY_SOURCE=2 "
fi
if test "x$CHECKMEM" '!=' "x";then
if test "x$PROFILING" = "x";then
CFLAGS="$WARNINGS -O2 -g $CFLAGS"
CXXFLAGS="$WARNINGS -O2 -g $CXXFLAGS"
- LDFLAGS="-g $LIBS"
+ LDFLAGS="-g $LDFLAGS"
else
CFLAGS="$WARNINGS -O2 -g -pg $CFLAGS"
CXXFLAGS="$WARNINGS -O2 -g -pg $CXXFLAGS"
- LDFLAGS="-g -pg $LIBS"
+ LDFLAGS="-g -pg $LDFLAGS"
fi
else if test "x$OPTIMIZE" '!=' "x"; then
CFLAGS="$WARNINGS -O3 -fomit-frame-pointer -Winline $CFLAGS"
AC_CANONICAL_HOST
+SLEXT="so"
SHARED="-shared"
MACOSX=
case $host_os in
CFLAGS="$CFLAGS"
CXXFLAGS="$CXXFLAGS -fno-rtti"
SHARED="-bundle"
+ SLEXT="bundle"
+ if test -d /opt/local/include && test -d /opt/local/lib; then
+ CPPFLAGS="${CPPFLAGS} -I/opt/local/include"
+ LDFLAGS="${LDFLAGS} -L/opt/local/lib"
+ fi
# Use fink packages if available.
#if test -d /sw/include && test -d /sw/lib; then
# CPPFLAGS="${CPPFLAGS} -I/sw/include"
echo "***************************************************"
echo "* Your gcc is too old to compile this!"
echo "* "
- echo "* The last version compilable by this compiler is "
+ echo "* The last version compileable by this compiler is "
echo "* swftools 0.7.0, which you can download from "
echo "* http://www.swftools.org/swftools-0.7.0.tar.gz "
echo "* ."
AC_PROG_LN_S
AC_CHECK_PROGS(UNCOMPRESS, gzip uncompress compress, )
+dnl PKG_PROG_PKG_CONFIG
+
dnl Checks for system services
OBJEXT="o"
AREXT=".a"
RFX_CHECK_MING
-SLEXT="so"
if test "x${MINGW}" != "xyes"; then
# no mingW
- AC_DEFINE_UNQUOTED(O_BINARY, 0)
+ AC_DEFINE([O_BINARY], [0], [Not defined on mingw])
else
# mingW
SLEXT="dll"
# this must be done after (I believe) AC_PROG_MAKE_SET
if test "x$DEBUG" '!=' "x" -o "x$STRIP" = "x";then
- STRIP="@echo debug enabled, not stripping "
+ if test "$MACOSX";then
+ STRIP=dsymutil
+ else
+ STRIP="@echo debug enabled, not stripping "
+ fi
export STRIP
AC_SUBST(STRIP)
fi
echo
exit
fi
-
+
+AC_CHECK_LIB(pdf, PDF_open_file,, PDFLIBMISSING=true)
AC_CHECK_LIB(jpeg, jpeg_write_raw_data,, JPEGLIBMISSING=true)
AC_CHECK_LIB(ungif, DGifOpen,, UNGIFMISSING=true)
if test "$UNGIFMISSING";then
UNGIFMISSING=
AC_CHECK_LIB(gif, DGifOpen,, UNGIFMISSING=true)
fi
+AC_CHECK_LIB(zzip, zzip_file_open,, ZZIPMISSING=true)
RFX_CHECK_BYTEORDER
AC_SUBST(WORDS_BIGENDIAN)
AC_CONFIG_HEADER(config.h)
AC_HEADER_DIRENT
AC_HEADER_STDC
- AC_CHECK_HEADERS(zlib.h gif_lib.h io.h jpeglib.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)
-AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
-AC_DEFINE_UNQUOTED(VERSION, "$VERSION")
+ AC_CHECK_HEADERS(zlib.h gif_lib.h io.h wchar.h jpeglib.h assert.h signal.h pthread.h sys/stat.h sys/mman.h sys/types.h dirent.h sys/bsdtypes.h sys/ndir.h sys/dir.h ndir.h time.h sys/time.h sys/resource.h pdflib.h zzip/lib.h)
+
+AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package])
+AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])
AC_SUBST(PACKAGE)
AC_SUBST(VERSION)
AC_TYPE_SIZE_T
AC_STRUCT_TM
AC_CHECK_TYPE(boolean,int) #needed for jpeglib
- AC_CHECK_FUNCS(popen mkstemp stat lrand48 rand srand48 srand bcopy bzero time)
+ AC_CHECK_FUNCS(popen wcschr wcsdup mkstemp stat mmap lrand48 rand srand48 srand bcopy bzero time getrusage mallinfo open64 calloc)
+AC_CHECK_SIZEOF([signed char])
+AC_CHECK_SIZEOF([signed short])
AC_CHECK_SIZEOF([signed])
-AC_CHECK_SIZEOF([unsigned])
-AC_CHECK_SIZEOF([signed long])
-AC_CHECK_SIZEOF([unsigned long])
AC_CHECK_SIZEOF([signed long long])
-AC_CHECK_SIZEOF([unsigned long long])
+AC_CHECK_SIZEOF([void*])
RFX_CHECK_FREETYPE
-#RFX_CHECK_FONTCONFIG
+RFX_CHECK_FONTCONFIG
+
+RFX_CHECK_FFTW
-lame_objects=
+# RFX_CHECK_OPENGL
+# if test "$HAVE_OPENGL";then
+# DEVICE_OPENGL='devices/opengl.$(O)'
+# AC_SUBST(DEVICE_OPENGL)
+# fi
+AC_SUBST(DEVICE_OPENGL)
+
+lame_in_source=
lame_makefile=
if test "x${DISABLE_LAME}" = "xtrue"; then
echo "*" Disabling lame support...
else
# old lame code at lib/lame
if test -f lib/lame/Makefile.in; then
- lame_objects="lame/psymodel.\$(O) lame/fft.\$(O) lame/newmdct.\$(O) lame/quantize.\$(O) lame/takehiro.\$(O) lame/reservoir.\$(O) lame/quantize_pvt.\$(O) lame/vbrquantize.\$(O) lame/encoder.\$(O) lame/id3tag.\$(O) lame/version.\$(O) lame/tables.\$(O) lame/util.\$(O) lame/bitstream.\$(O) lame/set_get.\$(O) lame/VbrTag.\$(O) lame/lame.\$(O)"
+ lame_in_source='$(lame_objects)'
lame_makefile="lib/lame/Makefile"
- CPPFLAGS="$CPPFLAGS -Ilame"
- AC_DEFINE_UNQUOTED(HAVE_LAME, 1)
+ CPPFLAGS="$CPPFLAGS -Ilame -Ilib/lame"
+ AC_DEFINE([HAVE_LAME], [1], [have/use internal l.a.m.e. mp3 library])
else
if test -d /usr/include/lame; then
CPPFLAGS="$CPPFLAGS -I /usr/include/lame"
fi
fi
AC_CHECK_LIB(mp3lame, lame_init,, NO_LIBMP3LAME=1)
- AC_CHECK_HEADERS(lame.h)
- if test "x$NO_LIBMP3LAME" "!=" "x1" -a "x$ac_cv_header_lame_h" "!=" "x";then
- AC_DEFINE_UNQUOTED(HAVE_LAME, 1)
+ HASLAMEHEADER=
+ AC_CHECK_HEADERS(lame.h,HASLAMEHEADER=1)
+ if test "x$NO_LIBMP3LAME" "!=" "x1" -a "x$HASLAMEHEADER" '!=' "x";then
+ AC_DEFINE([HAVE_LAME], [1])
fi
fi
fi
-AC_SUBST(lame_objects)
+AC_SUBST(lame_in_source)
+
+xpdf_in_source=
+splash_in_source=
+xpdf_include=
+
+if test "x$USE_POPPLER" = "xtrue"; then
+ AC_DEFINE([HAVE_POPPLER],[1],[use poppler])
+ PKG_CHECK_MODULES([POPPLER],[poppler poppler-splash],,[poppler_pkgconfig=no])
+ if test "x$poppler_pkgconfig" = "xno"; then
+ AC_LANG_PUSH([C++])
+ AC_CHECK_HEADERS([OutputDev.h],[
+ AC_CHECK_LIB([poppler],[main],,[])
+ ],[AC_MSG_ERROR([No poppler library found. This library is required.])])
+ AC_LANG_POP
+ else
+ CPPFLAGS="$CPPFLAGS $POPPLER_CFLAGS"
+ LIBS="$LIBS $POPPLER_LIBS"
+ AC_DEFINE([HAVE_POPPLER], [1])
+ fi
+else
+ splash_in_source='$(splash_objects)'
+ xpdf_in_source='$(xpdf_objects)'
+ xpdf_include=' -I xpdf '
+fi
+
+AC_SUBST([xpdf_in_source])
+AC_SUBST([splash_in_source])
+AC_SUBST([xpdf_include])
# ------------------------------------------------------------------
-
+
+RFX_CHECK_LOWERCASE_UPPERCASE
RFX_CHECK_AVI2SWF
if test "x${AVIFILE}" = "xtrue"; then
VIDEO_LIBS="$VIDEO_LIBS $AVIFILE_LIBS"
VIDEO_CFLAGS="$VIDEO_CFLAGS $AVIFILE_CFLAGS"
- AC_DEFINE_UNQUOTED(HAVE_AVIFILE, 1)
+ AC_DEFINE([HAVE_AVIFILE], [1], [Define if avifile is present])
fi
if test "x${WIN32}" != "x"; then
# ------------------------------------------------------------------
if test "x${UNCOMPRESS}" = "xgzip"; then
- AC_DEFINE_UNQUOTED(USE_GZIP, 1)
+ AC_DEFINE([USE_GZIP], [1], [Define if gzip is present])
fi
AC_SUBST(USE_GZIP)
# fail silently- the most users won't have any need for the
# python interface anyway
else
- pythonrfxswf="lib/python/Makefile"
+ pythongfx="lib/python/Makefile"
+fi
+
+# ------------------------------------------------------------------
+
+RFX_CHECK_RUBY
+
+if test "x$RUBY_OK" '!=' "xyes";then
+ if test -d "lib/ruby/";then
+ echo all install uninstall clean: > lib/ruby/Makefile
+ fi
+ # fail silently- the most users won't have any need for the
+ # ruby interface anyway
+else
+ if test -f "lib/ruby/Makefile.in";then
+ rubygfx="lib/ruby/Makefile"
+ fi
fi
# ------------------------------------------------------------------
DISABLEJPEG2SWF=true
PARTIAL=true
fi
+if test "x$PDFLIBMISSING" = "xtrue";then
+ DISABLEPDF2PDF=true;
+fi
#if test "x$T1LIBMISSING" = "xtrue";then
# MISSINGLIBS="${MISSINGLIBS} t1lib"
#fi
PARTIAL=true
fi
+if test "x${ac_cv_header_pdflib_h}" '!=' "xyes";then
+ DISABLEPDF2PDF=true;
+fi
if test "x${ac_cv_header_jpeglib_h}" '!=' "xyes"; then
DISABLEPDF2SWF=true;
DISABLEJPEG2SWF=true;
if test "x${DISABLEPDF2SWF}" = "xtrue"; then
echo "* Disabling pdf2swf tool..."
rm -f lib/pdf/Makefile
- echo all install uninstall clean: > lib/pdf/Makefile
+ echo all install uninstall clean libpdf libgfxpdf: > lib/pdf/Makefile
pdf2swf_makefile=""
PDF2SWF=
LIBPDF=
AC_SUBST(PDF2SWF)
AC_SUBST(LIBPDF)
+PDF2PDF='pdf2pdf$(E)'
+DEVICE_PDF='devices/pdf.$(O)'
+if test "x${DISABLEPDF2PDF}" = "xtrue"; then
+ #echo "* Disabling pdf2pdf tool..."
+ PDF2PDF=
+ DEVICE_PDF=
+fi
+AC_SUBST(DEVICE_PDF)
+AC_SUBST(PDF2PDF)
+
if test "x${ZLIBMISSING}" = "xtrue"; then
echo
echo "* Warning! Without zlib, you will not be able to read"
# ------------------------------------------------------------------
+AH_TOP([
+#ifndef __config_h__
+#define __config_h__
+])
+
+AH_BOTTOM([
+#ifdef HAVE_ZLIB_H
+#ifdef HAVE_LIBZ
+#define HAVE_ZLIB
+#endif
+#endif
+
+#ifdef HAVE_JPEGLIB_H
+#ifdef HAVE_LIBJPEG
+#define HAVE_JPEGLIB
+#endif
+#endif
+
+#ifdef HAVE_FT2BUILD_H
+#define HAVE_FREETYPE_H 1
+#endif
+
+#ifdef HAVE_GL_GL_H
+#ifdef HAVE_GL_GLUT_H
+#ifdef HAVE_OPENGL
+#define USE_OPENGL
+#endif
+#endif
+#endif
+
+#ifdef HAVE_POPPLER
+#define GString GooString
+#define GHash GooHash
+#define GHashIter GooHashIter
+#endif
+
+#ifdef HAVE_ZZIP_LIB_H
+#ifdef HAVE_LIBZZIP
+#define HAVE_ZZIP 1
+#endif
+#endif
+
+// supply a substitute calloc function if necessary
+#ifndef HAVE_CALLOC
+#define calloc rfx_calloc_replacement
+#endif
+
+#endif // __config_h__
+])
+
if test -f "release.in"; then release_in="./release"; fi
-if test -f "wx/Makefile.in"; then wx_in="wx/Makefile"; fi
-FILES="$release_in $wx_in Makefile.common ${avi2swf} Makefile lib/Makefile lib/action/Makefile src/Makefile ${pdf2swf_makefile} swfs/Makefile pdf2swf/fonts/Makefile ${pythonrfxswf} ${lame_makefile} lib/art/Makefile lib/swf/Makefile"
+if test -f "Makefile.new.in"; then mk_in="./Makefile.new"; fi
+FILES="$release_in $mk_in Makefile.common ${avi2swf} Makefile lib/Makefile lib/action/Makefile src/Makefile ${pdf2swf_makefile} swfs/Makefile ${pythongfx} ${rubygfx} ${lame_makefile} lib/readers/Makefile"
AC_OUTPUT(${FILES})
dnl new autoconf