X-Git-Url: http://git.asbjorn.biz/?p=swftools.git;a=blobdiff_plain;f=configure.in;h=89bd3b7745cb328b4c74775df278ba3bb94a034d;hp=e91312b6d8126debd440e99ba048c48cea831bef;hb=eea310f329b7409684f825c92a58dcc22b1de506;hpb=81bfd1b7109cfb1d375466b2c96daa70df2edd41 diff --git a/configure.in b/configure.in index e91312b..89bd3b7 100644 --- a/configure.in +++ b/configure.in @@ -1,74 +1,191 @@ dnl Process this file with autoconf to produce a configure script. -AC_INIT(src/) -AC_ARG_PROGRAM -export PACKAGE=swftools -export VERSION=0.2.0 +dnl AC_INIT(src/) # old autoconf +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(profiling, +[ --enable-profiling turn on profiling], PROFILING=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=2005-01-21-2006 + + +# ------------------------------------------------------------------ + +if test "x${srcdir}" != "x."; then + echo "--srcdir is not supported" + exit 1 +fi + +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$PROFILING" '!=' "x";then + DEBUG=yes +fi +if test "x$DEBUG" '!=' "x";then + if test "x$PROFILING" = "x";then + CFLAGS="$WARNINGS -g $CFLAGS" + CXXFLAGS="$WARNINGS -g $CXXFLAGS" + else + CFLAGS="$WARNINGS -O2 -g -pg $CFLAGS" + CXXFLAGS="$WARNINGS -O2 -g -pg $CXXFLAGS" + LDFLAGS="-g -pg $LIBS" + fi +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 + +SHARED="-shared" +MACOSX= +case $host_os in + *darwin* ) + MACOSX=yes + CFLAGS="$CFLAGS -fno-rtti" + CXXFLAGS="$CXXFLAGS -fno-rtti" + SHARED="-bundle" + ;; +esac -export CFLAGS="-O2 -fomit-frame-pointer" -export CXXFLAGS="-O2 -fomit-frame-pointer" +AC_SUBST(SHARED) 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 AC_PROG_LN_S + AC_PROG_LIBTOOL AC_CHECK_PROGS(UNCOMPRESS, gzip uncompress compress, ) dnl Checks for system services - AC_EXEEXT +OBJEXT="o" +AREXT=".a" + +AC_EXEEXT + +if test "x$EXEEXT" = "x.exe";then + OBJEXT="obj" + AREXT=".lib" +fi +AC_SUBST(OBJEXT) +AC_SUBST(AREXT) + +RFX_CHECK_MING + +SLEXT="so" +if test "x${MINGW}" != "xyes"; then + # no mingW + AC_DEFINE_UNQUOTED(O_BINARY, 0) +else + # mingW + SLEXT="dll" +fi +export SLEXT +AC_SUBST(SLEXT) + +# 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 + +#Mac OS: +#LDFLAGS "-L/sw/lib" ; CPPFLAGS "-I/sw/include -I/sw/include/lame" + + +# 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; - MISSINGLIBS="${MISSINGLIBS} zlib" - ) - AC_CHECK_LIB(jpeg, jpeg_write_raw_data,, - DISABLEPDF2SWF=true; - DISABLEJPEG2SWF=true; - MISSINGLIBS="${MISSINGLIBS} jpeglib" - ) - AC_CHECK_LIB(t1, T1_LoadFont,, - DISABLEPDF2SWF=true; - MISSINGLIBS="${MISSINGLIBS} T1lib" - ) + AC_CHECK_LIB(z, deflate,, ZLIBMISSING=true) + AC_CHECK_LIB(jpeg, jpeg_write_raw_data,, JPEGLIBMISSING=true) + AC_CHECK_LIB(t1, T1_LoadFont,, T1LIBMISSING=true) + AC_CHECK_LIB(ungif, EGifOpenFileName,, UNGIFMISSING=true) -SWF_CHECK_BYTEORDER +RFX_CHECK_BYTEORDER AC_SUBST(WORDS_BIGENDIAN) +RFX_CHECK_SYSTEM_BACKTICKS +AC_SUBST(SYSTEM_BACKTICKS) -dnl do we need those? -dnl AC_CHECK_LIB(pthread, pthread_create) -dnl AC_CHECK_LIB(X11, XFlush) +AC_ARG_PROGRAM 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(math.h fcntl.h limits.h malloc.h unistd.h memory.h zlib.h jpeglib.h t1lib.h sys/stat.h sys/types.h) - -if test "x${ac_cv_header_jpeglib_h}" != "xyes"; then - DISABLEPDF2SWF=true; - DISABLEJPEG2SWF=true; - MISSINGLIBS="${MISSINGLIBS} jpeglib.h" -fi -if test "x${ac_cv_header_t1lib_h}" != "xyes"; then - DISABLEPDF2SWF=true; - MISSINGLIBS="${MISSINGLIBS} t1lib.h" -fi -if test "x${ac_cv_header_zlib_h}" != "xyes"; then - DISABLEPDF2SWF=true; - MISSINGLIBS="${MISSINGLIBS} zlib.h" -fi + AC_CHECK_HEADERS(zlib.h gif_lib.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) AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE") AC_DEFINE_UNQUOTED(VERSION, "$VERSION") @@ -84,7 +201,8 @@ dnl Checks for typedefs, structures, and compiler characteristics. AC_TYPE_OFF_T AC_TYPE_SIZE_T AC_STRUCT_TM - AC_CHECK_TYPE(boolean,int) + AC_CHECK_TYPE(boolean,int) #needed for jpeglib + dnl AC_CHECK_TYPE(bool,char) dnl AC_CHECK_TYPE(uchar,unsigned char) dnl AC_CHECK_TYPE(schar,signed char) dnl AC_CHECK_TYPE(word,unsigned short int) @@ -92,33 +210,203 @@ dnl Checks for typedefs, structures, and compiler characteristics. dnl AC_CHECK_TYPE(uint,unsigned long int) dnl Checks for library functions. - AC_FUNC_MEMCMP - AC_FUNC_MMAP - AC_FUNC_VPRINTF - AC_CHECK_FUNCS(getcwd putenv socket strcspn strdup strerror strstr lrand48 rand srand48 srand) + AC_CHECK_FUNCS(popen mkstemp stat lrand48 rand srand48 srand bcopy bzero time) + +# ------------------------------------------------------------------ + +RFX_CHECK_FREETYPE + +RFX_CHECK_FONTCONFIG + +# ------------------------------------------------------------------ + +lame_objects= +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_makefile="lib/lame/Makefile" + CPPFLAGS="$CPPFLAGS -Ilame" + AC_DEFINE_UNQUOTED(HAVE_LAME, 1) + else + if test -d /usr/include/lame; then + CPPFLAGS="$CPPFLAGS -I /usr/include/lame" + else + if test -d /usr/local/include/lame; then + CPPFLAGS="$CPPFLAGS -I /usr/local/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) + fi + fi +fi +AC_SUBST(lame_objects) + +# ------------------------------------------------------------------ + +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) +fi + +if test "x${WIN32}" != "x"; then + #AC_CHECK_LIB(avifil32, AVIFileInit,AVIFIL32=true) + #if test "x${AVIFIL32}" != "x"; then + # VIDEO_LIBS="$VIDEO_LIBS -lavifil32" + #fi + VIDEO_LIBS="$VIDEO_LIBS -lavifil32" + AVIFIL32=true +fi + +AC_SUBST(VIDEO_LIBS) +AC_SUBST(VIDEO_CFLAGS) +# ------------------------------------------------------------------ if test "x${UNCOMPRESS}" = "xgzip"; then AC_DEFINE_UNQUOTED(USE_GZIP, 1) fi AC_SUBST(USE_GZIP) -export JPEG2SWF='jpeg2swf$(EXEEXT)' -if test "x${DISABLEPDF2SWF}" = "xtrue"; then +# ------------------------------------------------------------------ + +RFX_CHECK_PYTHON + +if test "x$PYTHON_OK" '!=' "xyes";then + echo all install uninstall clean: > lib/python/Makefile + # fail silently- the most users won't have any need for the + # python interface anyway +else + pythonrfxswf="lib/python/Makefile" +fi + +# ------------------------------------------------------------------ + +AC_MSG_CHECKING([for missing libraries]) + +if test "x$ZLIBMISSING" = "xtrue";then + MISSINGLIBS="${MISSINGLIBS} zlib" + DISABLEPNG2SWF=true + PARTIAL=true +fi +if test "x$JPEGLIBMISSING" = "xtrue";then + MISSINGLIBS="${MISSINGLIBS} jpeglib" + DISABLEPDF2SWF=true + DISABLEJPEG2SWF=true + PARTIAL=true +fi +if test "x$T1LIBMISSING" = "xtrue";then + MISSINGLIBS="${MISSINGLIBS} t1lib" +fi +if test "x$UNGIFMISSING" = "xtrue";then + DISABLEGIF2SWF=true + MISSINGLIBS="${MISSINGLIBS} ungif" + PARTIAL=true +fi + +if test "x${ac_cv_header_jpeglib_h}" '!=' "xyes"; then + DISABLEPDF2SWF=true; + DISABLEJPEG2SWF=true; + MISSINGLIBS="${MISSINGLIBS} jpeglib.h" + PARTIAL=true +fi +if test "x$HAVE_FREETYPE" '!=' "x1"; then + DISABLEPDF2SWF=true; + MISSINGLIBS="${MISSINGLIBS} freetype" + PARTIAL=true +fi +if test "x${ac_cv_header_t1lib_h}" '!=' "xyes"; then + MISSINGLIBS="${MISSINGLIBS} t1lib.h" +fi +if test "x${ac_cv_header_gif_lib_h}" '!=' "xyes"; then + DISABLEGIF2SWF=true + MISSINGLIBS="${MISSINGLIBS} gif_lib.h" + PARTIAL=true +fi +if test "x${ac_cv_header_zlib_h}" '!=' "xyes"; then + DISABLEPNG2SWF=true; + MISSINGLIBS="${MISSINGLIBS} zlib.h" + PARTIAL=true +fi +if test "x${AVIFILE}" '!=' "xtrue" -a "x${AVIFIL32}" '!=' "xtrue"; then + MISSINGLIBS="${MISSINGLIBS} avifile" + PARTIAL=true +fi + +AC_MSG_RESULT(${MISSINGLIBS}) + +# ------------------------------------------------------------------ + +if test "x${MISSINGLIBS}" '!=' "x"; then echo "***************************************************" - echo "The following headers/libraries are missing: " ${MISSINGLIBS} - echo "Disabling pdf2swf tool..." + echo "* The following headers/libraries are missing: " ${MISSINGLIBS} +fi + +avi2swf="avi2swf/Makefile" +if test "x${AVIFILE}" '!=' "xtrue" -a "x${AVIFIL32}" '!=' "xtrue"; then + echo "* Disabling avi2swf tool..." + echo all install uninstall clean: > avi2swf/Makefile + avi2swf= +fi + +pdf2swf_makefile="pdf2swf/Makefile pdf2swf/xpdf/Makefile" +if test "x${DISABLEPDF2SWF}" = "xtrue"; then + echo "* Disabling pdf2swf tool..." rm -f pdf2swf/Makefile - echo all: > pdf2swf/Makefile - echo install: >> pdf2swf/Makefile - if test "x${DISABLEJPEG2SWF}" = "xtrue"; then - echo "Disabling jpeg2swf tool..." - export JPEG2SWF= + echo all install uninstall clean: > pdf2swf/Makefile + pdf2swf_makefile="" +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 + +JPEG2SWF='jpeg2swf$(E)' +if test "x${DISABLEJPEG2SWF}" = "xtrue"; then + echo "* Disabling jpeg2swf tool..." + JPEG2SWF= +fi +export JPEG2SWF +AC_SUBST(JPEG2SWF) + +GIF2SWF='gif2swf$(E)' +if test "x${DISABLEGIF2SWF}" = "xtrue"; then + echo "* Disabling gif2swf tool..." + GIF2SWF= +fi +export GIF2SWF +AC_SUBST(GIF2SWF) + +PNG2SWF='png2swf$(E)' +if test "x${DISABLEPNG2SWF}" = "xtrue"; then + echo "* Disabling png2swf tool..." + PNG2SWF= +fi +export PNG2SWF +AC_SUBST(PNG2SWF) + +if test "x${MISSINGLIBS}" '!=' "x"; then + if test "x${PARTIAL}" '=' "x"; then + echo "* (never mind)" fi echo "***************************************************" - FILES="./release Makefile lib/Makefile src/Makefile" -else - FILES="./release Makefile lib/Makefile src/Makefile pdf2swf/Makefile pdf2swf/xpdf/Makefile pdf2swf/ttf2pt1/Makefile pdf2swf/fonts/Makefile" fi -AC_SUBST(JPEG2SWF) -AC_OUTPUT(${FILES}) +# ------------------------------------------------------------------ + +if test -f "release.in"; then release_in="./release"; fi +FILES="$release_in Makefile.common ${avi2swf} Makefile lib/Makefile lib/action/Makefile src/Makefile ${pdf2swf_makefile} swfs/Makefile ${pythonrfxswf} ${lame_makefile}" + +dnl AC_OUTPUT(${FILES}) old autoconf +AC_CONFIG_FILES([${FILES}]) +AC_OUTPUT +