mirror of
https://github.com/GNOME/libxml2.git
synced 2025-02-23 18:29:14 +08:00
- win32/README.MSDev win32/libxml2/libxml2_a.dsp win32/libxml2/libxml2_so.dsp: new makefiles and update provided by Igor Zlatkovic <igor@stud.fh-frankfurt.de> Daniel
92 lines
3.0 KiB
Plaintext
92 lines
3.0 KiB
Plaintext
-----------------------------------------------------------------------
|
|
[January the 16th, 2001, igor@stud.fh-frankfurt.de]
|
|
|
|
The following applies only if you use Microsoft Visual C/C++ compiler,
|
|
in combination with Visual C++ IDE. Risk a glance further below for
|
|
information on using GNU C compilers, such as Mingw32.
|
|
|
|
There are two new project files in win32/libxml2:
|
|
|
|
libxml2_a.dsp: Use this one to build an object archive, a thing known
|
|
as a static library in the wonderful world of Windows.
|
|
|
|
libxml2_so.dsp: Use this one to build a shared object, or a DLL if you
|
|
prefer calling it using the dialect mentioned above.
|
|
|
|
There are few things to note about these project files and their
|
|
differences to the originally supplied project file (libxml2.dsp):
|
|
|
|
1. C-Runtime is not LIBC anymore. LIBC is fairly old and should be
|
|
considered obsolete today. Microsoft had considered it apropriate to
|
|
produce a better C-Runtime library, and indeed, their new one is
|
|
called MSVCRT. All decent Win32 systems have this newer library, save
|
|
for the oldest incarnations of Win95, which can be ignored safely.
|
|
Following that, I changed the dependencies and now both project files
|
|
mentioned above use MSVCRT.
|
|
|
|
2. Both project files cause the resulting binary to depend on a shared
|
|
version of MSVCRT. Yes, that is what I am saying, the C-Runtime is
|
|
linked dynamically, not statically. This enables the programmer to do
|
|
likewise with his libxml2-based software, an action I like to think
|
|
everyone would perform without hesitation.
|
|
|
|
3. There was a small flaw in the previous project file. The source file
|
|
xpointer.c was not included in the project file and that caused a
|
|
linkage problem with libxml2-based program, but not with libxml2
|
|
itself, if XPointer feature was enabled. This is now fixed.
|
|
-----------------------------------------------------------------------
|
|
|
|
|
|
If you're creating libxml2 with the "mingw" compiler, just copy the
|
|
Makefile.mingw to the root directory as "Makefile", edit the PREFIX
|
|
value, and run "make".
|
|
|
|
If you're using MSVC, here are some instructions for how you can
|
|
proceed:
|
|
|
|
The configuration stuff (i.e. what should be enabled/disabled) is in
|
|
xmlversion.h I only tested it compiled fine with the current settings
|
|
(that is nearly everything disabled, I didn't need many features)
|
|
|
|
----------------------------
|
|
|
|
How did I get everything in place so the MSDev project works from the
|
|
original archive?
|
|
|
|
from the cygwin prompt (http://sources.redhat.com/cygwin) :
|
|
$ ./configure --disable-corba --without-ftp --without-http --without-html --wit
|
|
hout-xpath --without-iconv --without-debug
|
|
|
|
built the project file for the static library
|
|
|
|
----------------------------
|
|
|
|
diff after doing the changes and cleaning up the generated stuff:
|
|
|
|
[Note: this is out of date]
|
|
diff libxml2-2.2.4/xmlversion.h libxml2-2.2.4-reference/xmlversion.h
|
|
38c38
|
|
< #if 0
|
|
---
|
|
> #if 1
|
|
47c47
|
|
< #if 0
|
|
---
|
|
> #if 1
|
|
56c56
|
|
< #if 0
|
|
---
|
|
> #if 1
|
|
74c74
|
|
< #if 0
|
|
---
|
|
> #if 1
|
|
83c83
|
|
< #if 0
|
|
---
|
|
> #if 1
|
|
92c92
|
|
< #if 0
|
|
---
|
|
> #if 1
|