summaryrefslogtreecommitdiff
path: root/Build/source/libs/zziplib/zziplib-0.13.58/docs/README.MSVC6
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/libs/zziplib/zziplib-0.13.58/docs/README.MSVC6')
-rw-r--r--Build/source/libs/zziplib/zziplib-0.13.58/docs/README.MSVC6137
1 files changed, 137 insertions, 0 deletions
diff --git a/Build/source/libs/zziplib/zziplib-0.13.58/docs/README.MSVC6 b/Build/source/libs/zziplib/zziplib-0.13.58/docs/README.MSVC6
new file mode 100644
index 00000000000..ee042c35092
--- /dev/null
+++ b/Build/source/libs/zziplib/zziplib-0.13.58/docs/README.MSVC6
@@ -0,0 +1,137 @@
+To compile zziplib with MSVC++ 6 you can use the workspace and project
+files shipped along with the zziplib tarball in the msvc6/ directory.
+This will save you most of the following steps, atleast skip step 1.
+
+Step 1: create zziplib workspace file
+
+- Create a workspace and a project file for "zzip".
+- Add all .c and .h files in the zzip/ directory. Yes, all.
+- Add the toplevel directory (containing the zzip/ directory) as an
+ "Additional Include Directory" to the search path. Best do this in
+ -> Project -> Settings -> Tab: C/C++
+ -> Category: Preprocessor -> "Additional Include Directories".
+ This is a comma-separated list, in the workspace files shipped along
+ with the zziplib tarball, you will see ".." in there where ".." (or ..\..)
+ is the path to the toplevel directory of the unpacked sources.
+- if you did choose "DLL" as a project type then you will automatically
+ see a define _USRDLL and ZZIP_EXPORTS in (this is just a hint)...
+ -> Project -> Settings -> Tab: C/C++
+ -> Category: Preprocessor -> "Preprocessor Definitions".
+- remove any LIB imports other than "kernel32.lib"
+ -> Project -> Settings -> Tab: Link
+ -> Category: Input -> "Object/Library Modules"
+
+Step 2: add zlib dependencies of zziplib.dll
+
+- if you do not have installed zlib in the system then you may want to
+ download "lib" + "bin" parts from http://gnuwin32.sf.net/packages/zlib.htm
+ (I found this msvcrt package via a reference at http://www.zlib.org)
+- suppose you have the zlib.h file in "D:\include" and the libz.lib file
+ is in "D:\lib" then we need to add those dependencies to the project.
+- add the path to zlib.h as an "Additional Include Path", best do this in
+ -> Project -> Settings -> Tab: C/C++
+ -> Category: Preprocessor -> "Additional Include Directories".
+ This is a comma-separated list, after you have changed it, it might
+ look like "..,.,D:\include" (for ".." part see description in Step 1)
+- That is enough to build a zziplib.lib, in order to create a zziplib.dll
+ we need to resolve its linker dependencies as well, best do this in
+ -> Project -> Settings -> Tab: Link
+ -> Category: Input -> "Object/Library Modules"
+ This is a space separated list (!!), add "libz.lib" there, so after
+ changing it it might look like "kernel32.lib libz.lib". Also modify
+ -> Project -> Settings -> Tab: Link
+ -> Category: Input -> "Additional Library Path"
+ which is usually empty. After changing it, it might contain "D:\lib".
+- Also add ZZIP_DLL or ZZIP_EXPORTS for dllspec(exports), best do this in
+ -> Project -> Settings -> Tab: C/C++
+ -> Category: Preprocessor" -> "Preprocessor Definitions".
+ After changing it, it might look like
+ "NDEBUG,WIN32,_WINDOWS,_MBCS,_USRDLL,ZZIP_EXPORTS"
+
+Step 3: example binaries to link with zziplib.dll
+
+- dynamic linking is best to avoid any copyright problems, the "Lesser GPL"
+ does not restrict usage of zziplib for the case of a separated zzip.dll
+- the example workspace builds two zziplib libraries, where zziplib.lib
+ points to the staticlink variant and zzip.lib to the dynalink variant
+ which will add a dependency on zzip-1.dll being in the PATH
+- the example binaries shipped with zziplib tarball do only have a single
+ .c file per output .exe, we pick zzcat.exe to guide you through.
+- if you do not use our shipped project files, create a project "zzcat"
+ and add "bins/zzcat.c" in there.
+- adjust the "Additional Include Directories":
+ -> Project -> Settings -> Tab: C/C++
+ -> Category: Preprocessor -> "Additional Include Directories".
+ like in Step 1 add the path to "./zzip" owning the zziplib headers.
+ We do _not_ need the zlib headers to compile "zzcat.exe", so it might
+ just look like ".." (or "..\.." or "..\zziplib-0.10.82")
+- adjust the "Object/Library Modules"
+ -> Project -> Settings -> Tab: Link
+ -> Category: Input -> "Object/Library Modules"
+ adding "zzip.lib libz.lib" with a space. The result might look like
+ "kernel32.lib zzip.lib libz.lib" or "kernel32.lib zziplib.lib libz.lib".
+- adjust the "Additional Library Path"
+ -> Project -> Settings -> Tab: Link
+ -> Category: Input -> "Additional Library Path"
+ and add both zziplib libpath and libz libpath, separated by comma, i.e.
+ ".\Release,D:\lib" or ".\Debug,D:\lib"
+
+Step 4: Customization
+- have a look at the info parts that can be put into the DLL project:
+ -> Project -> Settings -> Tab: Link
+ -> Category: Output -> "Version Information"
+ e.g. Major: "10" Minor: "82" for Release 0.10.82 of zziplib
+ -> Project -> Settings -> Tab: Resources -> "Language"
+ or just ignore the value when no messages are there
+ -> Project -> Settings -> Tab: Link
+ -> Category: General -> "Output Filename"
+ e.g. "zzip-1.dll" intead of "zzip.dll" for this first generation
+ (needs also to rename dll dependencies from "zzip.lib" to "zzip-1.lib")
+- there are a few defines that trigger extra code in zziplib, e.g.
+ ZZIP_HARDEN - extra sanity check for obfuscated zip files
+ ZZIP_CHECK_BACKSLASH_DIRSEPARATOR - to check for win32-like paths
+ (for the magic part within a zip archive we always assume a "/" separator)
+ ZZIP_USE_ZIPLIKES - not only do magic checks for ".zip" files to
+ be handled like directories, also do that for a few other zip documents
+ ZZIP_WRAPWRAP - if there problems on unusual targets then try this one.
+ -> Project -> Settings -> Tab: C/C++
+ -> Category: Preprocessor" -> "Preprocessor Definitions".
+
+Step 5: Testing
+- copy the *.dll and *.exe files from msvc6/Release/ to a place reachable
+ from your PATH (perhaps d:\bin), or even simpler, go the other way round,
+ copy the file test/test.zip to the msvc6/Release/ directory.
+- open a command window (usually with a "MSDOS" symbol) and go the
+ directory containing the test.zip (e.g. cd zziplib-0.10.82/msvc6/Release)
+- run `zzcat test/README` which should extract the file README from the
+ test.zip archive and print it to the screen. Try `zzdir test` to see
+ that it was really a compressed file printed to the screen.
+- If it works then everything is alright round zziplib which is a good
+ thing to know when there are other problems
+- at the time of writing (0.10.82 of zziplib), the set of bin files are
+ precompiled with msvc6 and pushed to the download center at sourceforge.
+
+cheers, -- guido
+
+# finally, the older description for zziplib 0.10.5x
+
+To build zziplib you need to add the path to zlib to the include directories
+search path. You find this under
+
+ Project, Settings, C/C++, Preprocessor, Additional Include Directories.
+
+Example:
+You have installed zlib to D:\zlib. You then change the edit box
+ Additional Include Directories
+from
+ ..
+to
+ ..,D:\zlib
+
+
+Included are two project files for zziplib. One that creates
+zziplib as a DLL, and one that creates zziplib as a static library.
+The DLL version is compiled with multi-threaded support. The static library
+version is currently set to link with libc(d).lib, i.e. only single-threaded
+CRT. If this does not suit your needs, you can change this under
+ Project, Settings, C/C++, Code Generation, Use run-time library.