]> git.saurik.com Git - wxWidgets.git/commitdiff
Add wxUSE_ARCSTREAM so that other archive classes can be used without wxZip
authorMichael Wetherell <mike.wetherell@ntlworld.com>
Thu, 10 Feb 2005 13:54:41 +0000 (13:54 +0000)
committerMichael Wetherell <mike.wetherell@ntlworld.com>
Thu, 10 Feb 2005 13:54:41 +0000 (13:54 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@31891 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 files changed:
configure
configure.in
include/wx/archive.h
include/wx/chkconf.h
include/wx/mac/setup0.h
include/wx/msw/setup0.h
include/wx/palmos/setup0.h
include/wx/setup_inc.h
include/wx/univ/setup0.h
include/wx/zipstrm.h
setup.h.in
setup.h_vms
src/common/archive.cpp

index f538689fcee48f5f6a8e4eebeba12559e4819b62..7267aaa22ad07736d4eafc841389f407154027ec 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,7 +1,7 @@
 #! /bin/sh
 # From configure.in Id: configure.in.
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.59 for wxWidgets 2.5.3.
+# Generated by GNU Autoconf 2.59 for wxWidgets 2.5.4.
 #
 # Report bugs to <wx-dev@lists.wxwidgets.org>.
 #
@@ -270,8 +270,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
 # Identity of this package.
 PACKAGE_NAME='wxWidgets'
 PACKAGE_TARNAME='wxwidgets'
-PACKAGE_VERSION='2.5.3'
-PACKAGE_STRING='wxWidgets 2.5.3'
+PACKAGE_VERSION='2.5.4'
+PACKAGE_STRING='wxWidgets 2.5.4'
 PACKAGE_BUGREPORT='wx-dev@lists.wxwidgets.org'
 
 ac_unique_file="wx-config.in"
@@ -794,7 +794,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures wxWidgets 2.5.3 to adapt to many kinds of systems.
+\`configure' configures wxWidgets 2.5.4 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -860,7 +860,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of wxWidgets 2.5.3:";;
+     short | recursive ) echo "Configuration of wxWidgets 2.5.4:";;
    esac
   cat <<\_ACEOF
 
@@ -903,6 +903,7 @@ Optional Features:
   --enable-dataobj        use data object classes
   --enable-ipc            use interprocess communication (wxSocket etc.)
   --enable-apple_ieee     use the Apple IEEE codec
+  --enable-arcstream      use wxArchive streams
   --enable-catch_segvs    catch signals in wxApp::OnFatalException (Unix only)
   --enable-backtrace      use wxStackWalker class for getting backtraces
   --enable-cmdline        use wxCmdLineParser class
@@ -934,7 +935,7 @@ Optional Features:
   --enable-sound          use wxSound class
   --enable-mediactrl      use wxMediaCtrl class
   --enable-wxprintfv      use wxWidgets implementation of vprintf()
-  --enable-zipstream      use wxZipInputStream
+  --enable-zipstream      use wxZip streams
   --enable-url            use wxURL class
   --enable-protocol       use wxProtocol class
   --enable-protocol-http  HTTP support in wxProtocol
@@ -1192,7 +1193,7 @@ fi
 test -n "$ac_init_help" && exit 0
 if $ac_init_version; then
   cat <<\_ACEOF
-wxWidgets configure 2.5.3
+wxWidgets configure 2.5.4
 generated by GNU Autoconf 2.59
 
 Copyright (C) 2003 Free Software Foundation, Inc.
@@ -1206,7 +1207,7 @@ cat >&5 <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by wxWidgets $as_me 2.5.3, which was
+It was created by wxWidgets $as_me 2.5.4, which was
 generated by GNU Autoconf 2.59.  Invocation command line was
 
   $ $0 $@
@@ -2154,6 +2155,7 @@ if test $DEBUG_CONFIGURE = 1; then
   DEFAULT_wxUSE_FS_INET=no
   DEFAULT_wxUSE_FS_ZIP=no
   DEFAULT_wxUSE_BUSYINFO=no
+  DEFAULT_wxUSE_ARCSTREAM=no
   DEFAULT_wxUSE_ZIPSTREAM=no
   DEFAULT_wxUSE_VALIDATORS=no
 
@@ -2346,6 +2348,7 @@ else
   DEFAULT_wxUSE_FS_INET=yes
   DEFAULT_wxUSE_FS_ZIP=yes
   DEFAULT_wxUSE_BUSYINFO=yes
+  DEFAULT_wxUSE_ARCSTREAM=yes
   DEFAULT_wxUSE_ZIPSTREAM=yes
   DEFAULT_wxUSE_VALIDATORS=yes
 
@@ -4669,6 +4672,47 @@ echo "${ECHO_T}no" >&6
           fi
 
 
+         enablestring=
+          echo "$as_me:$LINENO: checking for --${enablestring:-enable}-arcstream" >&5
+echo $ECHO_N "checking for --${enablestring:-enable}-arcstream... $ECHO_C" >&6
+          no_cache=0
+          # Check whether --enable-arcstream or --disable-arcstream was given.
+if test "${enable_arcstream+set}" = set; then
+  enableval="$enable_arcstream"
+
+                          if test "$enableval" = yes; then
+                            ac_cv_use_arcstream='wxUSE_ARCSTREAM=yes'
+                          else
+                            ac_cv_use_arcstream='wxUSE_ARCSTREAM=no'
+                          fi
+
+else
+
+                          LINE=`grep "wxUSE_ARCSTREAM" ${wx_arg_cache_file}`
+                          if test "x$LINE" != x ; then
+                            eval "DEFAULT_$LINE"
+                          else
+                            no_cache=1
+                          fi
+
+                          ac_cv_use_arcstream='wxUSE_ARCSTREAM='$DEFAULT_wxUSE_ARCSTREAM
+
+fi;
+
+          eval "$ac_cv_use_arcstream"
+          if test "$no_cache" != 1; then
+            echo $ac_cv_use_arcstream >> ${wx_arg_cache_file}.tmp
+          fi
+
+          if test "$wxUSE_ARCSTREAM" = yes; then
+            echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+          else
+            echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+          fi
+
+
          enablestring=
           echo "$as_me:$LINENO: checking for --${enablestring:-enable}-catch_segvs" >&5
 echo $ECHO_N "checking for --${enablestring:-enable}-catch_segvs... $ECHO_C" >&6
@@ -28448,6 +28492,11 @@ EOF
         TOOLCHAIN_DLL_DEFS="${TOOLCHAIN_DLL_DEFS} -DWXUSINGDLL=1"
        ;;
 
+      *-*-hpux* )
+        SAMPLES_RPATH_FLAG="-Wl,+b,\$(top_builddir)lib"
+        WXCONFIG_RPATH="-Wl,+b,\$libdir"
+       ;;
+
     esac
 
     if test $wxUSE_RPATH = "no"; then
@@ -29509,7 +29558,7 @@ _ACEOF
 
     fi
 
-        if test "$USE_HPUX" = 1 -a "x$GCC" != "xyes"; then
+        if test "$USE_HPUX" = 1; then
         CPPFLAGS="$CPPFLAGS -D_INCLUDE__STDC_A1_SOURCE "
     fi
 
@@ -35511,11 +35560,26 @@ _ACEOF
 
 fi
 
-if test "$wxUSE_ZIPSTREAM" = "yes"; then
+if test "$wxUSE_ARCSTREAM" = "yes"; then
   cat >>confdefs.h <<\_ACEOF
+#define wxUSE_ARCSTREAM 1
+_ACEOF
+
+fi
+
+if test "$wxUSE_ZIPSTREAM" = "yes"; then
+  if test "$wxUSE_ARCSTREAM" != "yes"; then
+    { echo "$as_me:$LINENO: WARNING: wxZip requires wxArchive... disabled" >&5
+echo "$as_me: WARNING: wxZip requires wxArchive... disabled" >&2;}
+  elif test "$wxUSE_ZLIB" = "no"; then
+    { echo "$as_me:$LINENO: WARNING: wxZip requires wxZlib... disabled" >&5
+echo "$as_me: WARNING: wxZip requires wxZlib... disabled" >&2;}
+  else
+    cat >>confdefs.h <<\_ACEOF
 #define wxUSE_ZIPSTREAM 1
 _ACEOF
 
+  fi
 fi
 
 if test "$wxUSE_ON_FATAL_EXCEPTION" = "yes"; then
@@ -40772,9 +40836,9 @@ echo $ECHO_N "checking for dependency tracking method... $ECHO_C" >&6
         echo "$as_me:$LINENO: result: gcc" >&5
 echo "${ECHO_T}gcc" >&6
     elif test "x$MWCC" = "xyes"; then
-        DEPSMODE=gcc
+        DEPSMODE=mwcc
         DEPS_TRACKING=1
-        DEPSFLAG_GCC="-MMD"
+        DEPSFLAG_MWCC="-MM"
         echo "$as_me:$LINENO: result: mwcc" >&5
 echo "${ECHO_T}mwcc" >&6
     else
@@ -40796,6 +40860,7 @@ cat <<EOF >bk-deps
 DEPSMODE=${DEPSMODE}
 DEPSDIR=.deps
 DEPSFLAG_GCC="${DEPSFLAG_GCC}"
+DEPSFLAG_MWCC="${DEPSFLAG_MWCC}"
 
 mkdir -p ${D}DEPSDIR
 
@@ -40833,6 +40898,31 @@ if test ${D}DEPSMODE = gcc ; then
         fi
     fi
     exit 0
+elif test ${D}DEPSMODE = mwcc ; then
+    ${D}*
+    status=${D}?
+    if test ${D}{status} != 0 ; then
+        exit ${D}{status}
+    fi
+    # Run mwcc again with -MM and redirect into the dep file we want
+    # NOTE: We can't use shift here because we need ${D}* to be valid
+    prevarg=
+    for arg in ${D}* ; do
+        if test "${D}prevarg" = "-o"; then
+            objfile=${D}arg
+        else
+            case "${D}arg" in
+                -* )
+                ;;
+                * )
+                    srcfile=${D}arg
+                ;;
+            esac
+        fi
+        prevarg="${D}arg"
+    done
+    ${D}* ${D}DEPSFLAG_MWCC >${D}{DEPSDIR}/${D}{objfile}.d
+    exit 0
 else
     ${D}*
     exit ${D}?
 
 
 
-    BAKEFILE_BAKEFILE_M4_VERSION="0.1.5"
+    BAKEFILE_BAKEFILE_M4_VERSION="0.1.6"
 
 
-BAKEFILE_AUTOCONF_INC_M4_VERSION="0.1.5"
+BAKEFILE_AUTOCONF_INC_M4_VERSION="0.1.6"
 
 
 
@@ -42526,7 +42616,7 @@ _ASBOX
 } >&5
 cat >&5 <<_CSEOF
 
-This file was extended by wxWidgets $as_me 2.5.3, which was
+This file was extended by wxWidgets $as_me 2.5.4, which was
 generated by GNU Autoconf 2.59.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -42589,7 +42679,7 @@ _ACEOF
 
 cat >>$CONFIG_STATUS <<_ACEOF
 ac_cs_version="\\
-wxWidgets config.status 2.5.3
+wxWidgets config.status 2.5.4
 configured by $0, generated by GNU Autoconf 2.59,
   with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
 
index 6162af773722421e62851cdc7e183f9c1af08c9d..312ed748b83ec6e5e31686137945f048c1268292 100644 (file)
@@ -500,6 +500,7 @@ if test $DEBUG_CONFIGURE = 1; then
   DEFAULT_wxUSE_FS_INET=no
   DEFAULT_wxUSE_FS_ZIP=no
   DEFAULT_wxUSE_BUSYINFO=no
+  DEFAULT_wxUSE_ARCSTREAM=no
   DEFAULT_wxUSE_ZIPSTREAM=no
   DEFAULT_wxUSE_VALIDATORS=no
 
@@ -692,6 +693,7 @@ else
   DEFAULT_wxUSE_FS_INET=yes
   DEFAULT_wxUSE_FS_ZIP=yes
   DEFAULT_wxUSE_BUSYINFO=yes
+  DEFAULT_wxUSE_ARCSTREAM=yes
   DEFAULT_wxUSE_ZIPSTREAM=yes
   DEFAULT_wxUSE_VALIDATORS=yes
 
@@ -884,6 +886,7 @@ WX_ARG_ENABLE(ipc,           [  --enable-ipc            use interprocess communi
 
 dnl please keep the settings below in alphabetical order
 WX_ARG_ENABLE(apple_ieee,    [  --enable-apple_ieee     use the Apple IEEE codec], wxUSE_APPLE_IEEE)
+WX_ARG_ENABLE(arcstream,     [  --enable-arcstream      use wxArchive streams], wxUSE_ARCSTREAM)
 WX_ARG_ENABLE(catch_segvs,   [  --enable-catch_segvs    catch signals in wxApp::OnFatalException (Unix only)], wxUSE_ON_FATAL_EXCEPTION)
 WX_ARG_ENABLE(backtrace,     [  --enable-backtrace      use wxStackWalker class for getting backtraces], wxUSE_STACKWALKER)
 WX_ARG_ENABLE(cmdline,       [  --enable-cmdline        use wxCmdLineParser class], wxUSE_CMDLINE_PARSER)
@@ -915,7 +918,7 @@ WX_ARG_ENABLE(unicode,       [  --enable-unicode        compile wxString with Un
 WX_ARG_ENABLE(sound,         [  --enable-sound          use wxSound class], wxUSE_SOUND)
 WX_ARG_ENABLE(mediactrl,     [  --enable-mediactrl      use wxMediaCtrl class], wxUSE_MEDIACTRL)
 WX_ARG_ENABLE(wxprintfv,     [  --enable-wxprintfv      use wxWidgets implementation of vprintf()], wxUSE_EXPERIMENTAL_PRINTF)
-WX_ARG_ENABLE(zipstream,     [  --enable-zipstream      use wxZipInputStream], wxUSE_ZIPSTREAM)
+WX_ARG_ENABLE(zipstream,     [  --enable-zipstream      use wxZip streams], wxUSE_ZIPSTREAM)
 
 WX_ARG_ENABLE(url,           [  --enable-url            use wxURL class], wxUSE_URL)
 WX_ARG_ENABLE(protocol,      [  --enable-protocol       use wxProtocol class], wxUSE_PROTOCOL)
@@ -4792,8 +4795,18 @@ if test "$wxUSE_FS_ZIP" = "yes"; then
   AC_DEFINE(wxUSE_FS_ZIP)
 fi
 
+if test "$wxUSE_ARCSTREAM" = "yes"; then
+  AC_DEFINE(wxUSE_ARCSTREAM)
+fi
+
 if test "$wxUSE_ZIPSTREAM" = "yes"; then
-  AC_DEFINE(wxUSE_ZIPSTREAM)
+  if test "$wxUSE_ARCSTREAM" != "yes"; then
+    AC_MSG_WARN(wxZip requires wxArchive... disabled)
+  elif test "$wxUSE_ZLIB" = "no"; then
+    AC_MSG_WARN(wxZip requires wxZlib... disabled)
+  else
+    AC_DEFINE(wxUSE_ZIPSTREAM)
+  fi
 fi
 
 if test "$wxUSE_ON_FATAL_EXCEPTION" = "yes"; then
index e6003c66cb784445ebecb9c4737350ac4353e773..aee02d5bee1cc078ccffbbe6a8cc0f9c4ed5dea3 100644 (file)
@@ -16,7 +16,7 @@
 
 #include "wx/defs.h"
 
-#if wxUSE_ZLIB && wxUSE_STREAMS && wxUSE_ZIPSTREAM
+#if wxUSE_STREAMS && wxUSE_ARCSTREAM
 
 #include "wx/stream.h"
 #include "wx/filename.h"
@@ -161,47 +161,6 @@ private:
 };
 
 
-/////////////////////////////////////////////////////////////////////////////
-// wxArchiveClassFactory
-//
-// A wxArchiveClassFactory instance for a particular archive type allows
-// the creation of the other classes that may be needed.
-
-class WXDLLIMPEXP_BASE wxArchiveClassFactory : public wxObject
-{
-public:
-    virtual ~wxArchiveClassFactory() { }
-
-    wxArchiveEntry *NewEntry() const
-        { return DoNewEntry(); }
-    wxArchiveInputStream *NewStream(wxInputStream& stream) const
-        { return DoNewStream(stream); }
-    wxArchiveOutputStream *NewStream(wxOutputStream& stream) const
-        { return DoNewStream(stream); }
-
-    virtual wxString GetInternalName(
-        const wxString& name,
-        wxPathFormat format = wxPATH_NATIVE) const = 0;
-
-    void SetConv(wxMBConv& conv) { m_pConv = &conv; }
-    wxMBConv& GetConv() const { return *m_pConv; }
-
-protected:
-    virtual wxArchiveEntry        *DoNewEntry() const = 0;
-    virtual wxArchiveInputStream  *DoNewStream(wxInputStream& stream) const = 0;
-    virtual wxArchiveOutputStream *DoNewStream(wxOutputStream& stream) const = 0;
-
-    wxArchiveClassFactory() : m_pConv(&wxConvLocal) { }
-    wxArchiveClassFactory& operator=(const wxArchiveClassFactory& WXUNUSED(f))
-        { return *this; }
-
-private:
-    wxMBConv *m_pConv;
-
-    DECLARE_ABSTRACT_CLASS(wxArchiveClassFactory)
-};
-
-
 /////////////////////////////////////////////////////////////////////////////
 // wxArchiveIterator
 //
@@ -346,6 +305,56 @@ typedef wxArchiveIterator<wxArchiveInputStream,
 
 #endif // wxUSE_STL || defined WX_TEST_ARCHIVE_ITERATOR
 
-#endif // wxUSE_STREAMS
+
+/////////////////////////////////////////////////////////////////////////////
+// wxArchiveClassFactory
+//
+// A wxArchiveClassFactory instance for a particular archive type allows
+// the creation of the other classes that may be needed.
+
+class WXDLLIMPEXP_BASE wxArchiveClassFactory : public wxObject
+{
+public:
+    typedef wxArchiveEntry        entry_type;
+    typedef wxArchiveInputStream  instream_type;
+    typedef wxArchiveOutputStream outstream_type;
+    typedef wxArchiveNotifier     notifier_type;
+#if wxUSE_STL || defined WX_TEST_ARCHIVE_ITERATOR
+    typedef wxArchiveIter         iter_type;
+    typedef wxArchivePairIter     pairiter_type;
+#endif
+
+    virtual ~wxArchiveClassFactory() { }
+
+    wxArchiveEntry *NewEntry() const
+        { return DoNewEntry(); }
+    wxArchiveInputStream *NewStream(wxInputStream& stream) const
+        { return DoNewStream(stream); }
+    wxArchiveOutputStream *NewStream(wxOutputStream& stream) const
+        { return DoNewStream(stream); }
+
+    virtual wxString GetInternalName(
+        const wxString& name,
+        wxPathFormat format = wxPATH_NATIVE) const = 0;
+
+    void SetConv(wxMBConv& conv) { m_pConv = &conv; }
+    wxMBConv& GetConv() const { return *m_pConv; }
+
+protected:
+    virtual wxArchiveEntry        *DoNewEntry() const = 0;
+    virtual wxArchiveInputStream  *DoNewStream(wxInputStream& stream) const = 0;
+    virtual wxArchiveOutputStream *DoNewStream(wxOutputStream& stream) const = 0;
+
+    wxArchiveClassFactory() : m_pConv(&wxConvLocal) { }
+    wxArchiveClassFactory& operator=(const wxArchiveClassFactory& WXUNUSED(f))
+        { return *this; }
+
+private:
+    wxMBConv *m_pConv;
+
+    DECLARE_ABSTRACT_CLASS(wxArchiveClassFactory)
+};
+
+#endif // wxUSE_STREAMS && wxUSE_ARCSTREAM
 
 #endif // _WX_ARCHIVE_H__
index 5ff16d4f32465ac3a0d518b8cbe4062ad888e4ff..744fbf061765672a765548e2b8b1af0f0916422d 100644 (file)
 #   endif
 #endif  /* wxUSE_DYNLIB_CLASS */
 
+#if wxUSE_ZIPSTREAM
+#   if !wxUSE_ZLIB
+#       ifdef wxABORT_ON_CONFIG_ERROR
+#           error "wxZip requires wxZlib"
+#       else
+#           undef wxUSE_ZLIB
+#           define wxUSE_ZLIB 1
+#       endif
+#   endif
+#   if !wxUSE_ARCSTREAM
+#       ifdef wxABORT_ON_CONFIG_ERROR
+#           error "wxZip requires wxArchive"
+#       else
+#           undef wxUSE_ARCSTREAM
+#           define wxUSE_ARCSTREAM 1
+#       endif
+#   endif
+#endif /* wxUSE_ZIPSTREAM */
+
 /* the rest of the tests is for the GUI settings only */
 #if wxUSE_GUI
 
index ebe106942545381f7537667d7d60eeab411a1b48..4016f8c0b782ec565c1b7948212d89fdfc75bc7a 100644 (file)
 // Set to 1 to enable virtual Internet filesystem (requires wxUSE_FILESYSTEM)
 #define wxUSE_FS_INET       1
 
+// wxArchive classes for accessing archives such as zip and tar
+#define wxUSE_ARCSTREAM     1
+
 // Set to 1 to compile wxZipInput/OutputStream classes.
 #define wxUSE_ZIPSTREAM     1
 
 // Default is 1 for the platforms where native status bar is supported.
 //
 // Recommended setting: 1 (there is no advantage in using the generic one)
-#if defined(__WXMSW__) || defined(__WXMAC__)
 #define wxUSE_NATIVE_STATUSBAR        1
-#else
-#define wxUSE_NATIVE_STATUSBAR        0
-#endif
 
 // wxToolBar related settings: if wxUSE_TOOLBAR is 0, don't compile any toolbar
 // classes at all. Otherwise, use the native toolbar class unless
index 9217ade6daaf15f7ed840551002a1762b6bf16cf..072614db88b1e3f8b4c80a2d01f32bd7e0407e61 100644 (file)
 // Set to 1 to enable virtual Internet filesystem (requires wxUSE_FILESYSTEM)
 #define wxUSE_FS_INET       1
 
+// wxArchive classes for accessing archives such as zip and tar
+#define wxUSE_ARCSTREAM     1
+
 // Set to 1 to compile wxZipInput/OutputStream classes.
 #define wxUSE_ZIPSTREAM     1
 
index 6a2dd44c5c879dc0f80f2c3c5c97706506e5fa1f..393bb97f8d4f99201def2a4444e8787f1c1203f8 100644 (file)
 // Set to 1 to enable virtual Internet filesystem (requires wxUSE_FILESYSTEM)
 #define wxUSE_FS_INET       0
 
+// wxArchive classes for accessing archives such as zip and tar
+#define wxUSE_ARCSTREAM     0
+
 // Set to 1 to compile wxZipInput/OutputStream classes.
 #define wxUSE_ZIPSTREAM     0
 
index ceb554f57e25153c106817df854cf9eb74943ddb..924ae0452c7a76af16ade1b645927e3fbe59727c 100644 (file)
 // Set to 1 to enable virtual Internet filesystem (requires wxUSE_FILESYSTEM)
 #define wxUSE_FS_INET       1
 
+// wxArchive classes for accessing archives such as zip and tar
+#define wxUSE_ARCSTREAM     1
+
 // Set to 1 to compile wxZipInput/OutputStream classes.
 #define wxUSE_ZIPSTREAM     1
 
index d108f055c69c953c1042202120293b2071418ba0..fd9e2f27ee9fe0cd3a3b56f50d687b8b89e81857 100644 (file)
 // Set to 1 to enable virtual ZIP filesystem (requires wxUSE_FILESYSTEM)
 #define wxUSE_FS_ZIP 1
 
+// wxArchive classes for accessing archives such as zip and tar
+#define wxUSE_ARCSTREAM 1
+
 // Set to 1 to compile wxZipInput/OutputStream classes.
 #define wxUSE_ZIPSTREAM 1
 
index 1ef1fcdefc6655a9547bfc94dcfa7f0331f20bbf..976a17050b9156409de9aabaad723eb0e6591458 100644 (file)
@@ -419,12 +419,31 @@ private:
 };
 
 
+/////////////////////////////////////////////////////////////////////////////
+// Iterators
+
+#if wxUSE_STL || defined WX_TEST_ARCHIVE_ITERATOR
+typedef wxArchiveIterator<wxZipInputStream> wxZipIter;
+typedef wxArchiveIterator<wxZipInputStream,
+         std::pair<wxString, wxZipEntry*> > wxZipPairIter;
+#endif
+
+
 /////////////////////////////////////////////////////////////////////////////
 // wxZipClassFactory
 
 class WXDLLIMPEXP_BASE wxZipClassFactory : public wxArchiveClassFactory
 {
 public:
+    typedef wxZipEntry        entry_type;
+    typedef wxZipInputStream  instream_type;
+    typedef wxZipOutputStream outstream_type;
+    typedef wxZipNotifier     notifier_type;
+#if wxUSE_STL || defined WX_TEST_ARCHIVE_ITERATOR
+    typedef wxZipIter         iter_type;
+    typedef wxZipPairIter     pairiter_type;
+#endif
+
     wxZipEntry *NewEntry() const
         { return new wxZipEntry; }
     wxZipInputStream *NewStream(wxInputStream& stream) const
@@ -449,16 +468,6 @@ private:
 };
 
 
-/////////////////////////////////////////////////////////////////////////////
-// Iterators
-
-#if wxUSE_STL || defined WX_TEST_ARCHIVE_ITERATOR
-typedef wxArchiveIterator<wxZipInputStream> wxZipIter;
-typedef wxArchiveIterator<wxZipInputStream,
-         std::pair<wxString, wxZipEntry*> > wxZipPairIter;
-#endif
-
-
 /////////////////////////////////////////////////////////////////////////////
 // wxZipEntry inlines
 
index faa8c5e6647f90971ca601aa86cb21a22855405a..a2d34d8709f639e101e27fa0da63a6bc58da397d 100644 (file)
 
 #define wxUSE_FS_INET       0
 
+#define wxUSE_ARCSTREAM     0
+
 #define wxUSE_ZIPSTREAM     0
 
 #define wxUSE_ZLIB          0
index b59cfdc6126f560df935c27f5cb745f5b6f9c786..aba06441bff19c08db45ecb0b5e39a4200a223a8 100644 (file)
 
 #define wxUSE_FS_INET       1
 
+#define wxUSE_ARCSTREAM     1
+
 #define wxUSE_ZIPSTREAM     1
 
 #define wxUSE_ZLIB          1
index 22a053b4c46b8dccfc945cc5c7c901a19944a29b..debb3b0bbeeadc0196b7524981afcb339b995cec 100644 (file)
@@ -22,7 +22,7 @@
   #include "wx/defs.h"
 #endif
 
-#if wxUSE_ZLIB && wxUSE_STREAMS && wxUSE_ZIPSTREAM
+#if wxUSE_STREAMS && wxUSE_ARCSTREAM
 
 #include "wx/archive.h"
 #include "wx/html/forcelnk.h"
@@ -30,7 +30,9 @@
 IMPLEMENT_ABSTRACT_CLASS(wxArchiveEntry, wxObject)
 IMPLEMENT_ABSTRACT_CLASS(wxArchiveClassFactory, wxObject)
 
+#if wxUSE_ZIPSTREAM
 FORCE_LINK(zipstrm)
+#endif
 
 
 /////////////////////////////////////////////////////////////////////////////
@@ -71,4 +73,4 @@ wxArchiveEntry& wxArchiveEntry::operator=(const wxArchiveEntry& WXUNUSED(e))
     return *this;
 }
 
-#endif
+#endif // wxUSE_STREAMS && wxUSE_ARCSTREAM