# Check the form of mkdir()
AC_FUNC_MKDIR
-AC_ARG_ENABLE(compression-support, AC_HELP_STRING([--enable-compression-support],[Support for compressed files.]),[
- case "${enableval}" in
- yes) use_compression=true ;;
- no) use_compression=false ;;
- *) AC_MSG_ERROR(bad value ${enableval} for --enable-compression-support) ;;
- esac
-],[use_compression=true])
-if test $use_compression=true ; then
- AC_CHECK_HEADERS(zlib.h, use_compression=true, use_compression=false)
- AC_CHECK_LIB(z, gzopen,[use_compression=true;LIBS="$LIBS -lz"], use_compression=false)
- if test $use_compression = true ; then
- AC_DEFINE(USE_COMPRESSION, 1, [Define as 1 if you want to support compressed files.])
- lyx_flags="compression $lyx_flags"
- fi
-fi
-AM_CONDITIONAL(USE_COMPRESSION, test x$use_compression = xtrue)
-AC_MSG_CHECKING([whether to support compressed files])
-AC_MSG_RESULT($use_compression)
-
+# check for compression support
+AC_CHECK_HEADERS(zlib.h,
+ [AC_CHECK_LIB(z, gzopen, [LIBS="$LIBS -lz"], LYX_ERROR([zlib not found!]))],
+ [LYX_ERROR([zlib.h not found!])])
dnl This is a slight hack: the tests generated by autoconf 2.52 do not
dnl work correctly because of some conflict with stdlib.h with g++ 2.96
#include "support/lyxalgo.h"
#include "support/filetools.h"
#include "support/fs_extras.h"
-#ifdef USE_COMPRESSION
# include <boost/iostreams/filtering_stream.hpp>
# include <boost/iostreams/filter/gzip.hpp>
# include <boost/iostreams/device/file.hpp>
namespace io = boost::iostreams;
-#endif
#include "support/lyxlib.h"
#include "support/os.h"
#include "support/path.h"
bool retval = false;
if (params().compressed) {
-#ifdef USE_COMPRESSION
io::filtering_ostream ofs(io::gzip_compressor() | io::file_sink(fname));
if (!ofs)
return false;
retval = do_writeFile(ofs);
-#else
- return false;
-#endif
} else {
ofstream ofs(fname.c_str(), ios::out|ios::trunc);
if (!ofs)
if (format == "gzip" || format == "zip" || format == "compress") {
lyxerr[Debug::LYXLEX] << "lyxlex: compressed" << endl;
-#ifdef USE_COMPRESSION
// The check only outputs a debug message, because it triggers
// a bug in compaq cxx 6.2, where is_open() returns 'true' for
// a fresh new filebuf. (JMarc)
name = filename;
lineno = 0;
return gz_.component<io::file_source>(1)->is_open() && is.good();
-#else
- return false;
-#endif
} else {
lyxerr[Debug::LYXLEX] << "lyxlex: UNcompressed" << endl;
#include "lyxlex.h"
-#ifdef USE_COMPRESSION
# include <boost/iostreams/filtering_streambuf.hpp>
# include <boost/iostreams/filter/gzip.hpp>
# include <boost/iostreams/device/file.hpp>
namespace io = boost::iostreams;
-#endif
#include <boost/utility.hpp>
/// fb_ is only used to open files, the stream is accessed through is.
std::filebuf fb_;
-#ifdef USE_COMPRESSION
/// gz_ is only used to open files, the stream is accessed through is.
io::filtering_istreambuf gz_;
-#endif
/// the stream that we use.
std::istream is;
BOOST_LIBS = $(BOOST_REGEX) $(BOOST_FILESYSTEM) $(BOOST_IOSTREAMS)
-if USE_COMPRESSION
COMPRESSIONLIB = -lz
-endif
LINKED_FILES = \
FloatList.C \