mirror of
https://gitlab.gnome.org/GNOME/libxml2.git
synced 2024-12-30 13:17:37 +03:00
modified for compiler coexistence, added xmlwriter, added cruntime option
This commit is contained in:
parent
b23de5ad89
commit
4f92821508
@ -15,52 +15,16 @@
|
||||
# March 2002, Igor Zlatkovic <igor@zlatkovic.com>
|
||||
#
|
||||
|
||||
AUTOCONF = .\config.bcb
|
||||
|
||||
# Extra setting to control whether to use dynamic or static Borland runtime.
|
||||
# Set to "1" to use static RTL, anything else to use dynamic RTL
|
||||
STATIC_RTL = 0
|
||||
|
||||
# If you cannot run the configuration script, which would take the burden of
|
||||
# editing this file from your back, then remove the following line...
|
||||
!include $(AUTOCONF)
|
||||
# ...and enable the following lines and adapt them to your environment.
|
||||
#XML_SRCDIR = ..
|
||||
#UTILS_SRCDIR = ..
|
||||
#BINDIR = binaries
|
||||
#LIBXML_MAJOR_VERSION = 0 # set this to the right value.
|
||||
#LIBXML_MINOR_VERSION = 0 # set this to the right value.
|
||||
#LIBXML_MICRO_VERSION = 0 # set this to the right value.
|
||||
#WITH_TRIO = 0
|
||||
#WITH_THREADS = 0
|
||||
#WITH_FTP = 1
|
||||
#WITH_HTTP = 1
|
||||
#WITH_HTML = 1
|
||||
#WITH_C14N = 1
|
||||
#WITH_CATALOG = 1
|
||||
#WITH_DOCB = 1
|
||||
#WITH_XPATH = 1
|
||||
#WITH_XPTR = 1
|
||||
#WITH_XINCLUDE = 1
|
||||
#WITH_ICONV = 1
|
||||
#WITH_ZLIB = 0
|
||||
#WITH_DEBUG = 1
|
||||
#WITH_MEM_DEBUG = 0
|
||||
#WITH_SCHEMAS = 1
|
||||
#DEBUG = 0
|
||||
#STATIC = 0
|
||||
#PREFIX = . # set this to the right value.
|
||||
#BINPREFIX = $(PREFIX)\bin
|
||||
#INCPREFIX = $(PREFIX)\include
|
||||
#LIBPREFIX = $(PREFIX)\lib
|
||||
#SOPREFIX = $(PREFIX)\lib
|
||||
#INCLUDE = $(INCLUDE);$(INCPREFIX)
|
||||
#LIB = $(LIB);$(LIBPREFIX)
|
||||
|
||||
|
||||
# There should never be a need to modify anything below this line.
|
||||
# ----------------------------------------------------------------
|
||||
|
||||
AUTOCONF = .\config.bcb
|
||||
!include $(AUTOCONF)
|
||||
|
||||
!if !$d(BCB)
|
||||
BCB = $(MAKEDIR)\..
|
||||
!endif
|
||||
@ -76,9 +40,10 @@ XML_A = $(XML_BASENAME)_a.lib
|
||||
DUMMY = dir.exists
|
||||
|
||||
# Place where we let the compiler put its intermediate trash.
|
||||
XML_INTDIR = $(XML_BASENAME).int
|
||||
XML_INTDIR_A = $(XML_BASENAME)_a.int
|
||||
UTILS_INTDIR = utils.int
|
||||
BINDIR = bin.bcb
|
||||
XML_INTDIR = int.bcb
|
||||
XML_INTDIR_A = int.a.bcb
|
||||
UTILS_INTDIR = int.utils.bcb
|
||||
|
||||
# The preprocessor and its options.
|
||||
CPP = cpp32.exe -P- -DWIN32
|
||||
@ -184,6 +149,7 @@ XML_OBJS = $(XML_INTDIR)\c14n.obj\
|
||||
$(XML_INTDIR)\xmlschemas.obj\
|
||||
$(XML_INTDIR)\xmlschemastypes.obj\
|
||||
$(XML_INTDIR)\xmlunicode.obj\
|
||||
$(XML_INTDIR)\xmlwriter.obj\
|
||||
$(XML_INTDIR)\xpath.obj\
|
||||
$(XML_INTDIR)\xpointer.obj
|
||||
|
||||
@ -223,6 +189,7 @@ XML_OBJS_A = $(XML_INTDIR_A)\c14n.obj\
|
||||
$(XML_INTDIR_A)\xmlschemas.obj\
|
||||
$(XML_INTDIR_A)\xmlschemastypes.obj\
|
||||
$(XML_INTDIR_A)\xmlunicode.obj\
|
||||
$(XML_INTDIR_A)\xmlwriter.obj\
|
||||
$(XML_INTDIR_A)\xpath.obj\
|
||||
$(XML_INTDIR_A)\xpointer.obj
|
||||
|
||||
|
@ -12,48 +12,11 @@
|
||||
#
|
||||
# November 2002, Igor Zlatkovic <igor@zlatkovic.com>
|
||||
|
||||
AUTOCONF = .\config.mingw
|
||||
|
||||
# If you cannot run the configuration script, which would take the burden of
|
||||
# editing this file from your back, then remove the following line...
|
||||
include $(AUTOCONF)
|
||||
# ...and enable the following lines and adapt them to your environment.
|
||||
#XML_SRCDIR = ..
|
||||
#UTILS_SRCDIR = ..
|
||||
#BINDIR = binaries
|
||||
#LIBXML_MAJOR_VERSION = 0 # set this to the right value.
|
||||
#LIBXML_MINOR_VERSION = 0 # set this to the right value.
|
||||
#LIBXML_MICRO_VERSION = 0 # set this to the right value.
|
||||
#WITH_TRIO = 0
|
||||
#WITH_THREADS = 0
|
||||
#WITH_FTP = 1
|
||||
#WITH_HTTP = 1
|
||||
#WITH_HTML = 1
|
||||
#WITH_C14N = 1
|
||||
#WITH_CATALOG = 1
|
||||
#WITH_DOCB = 1
|
||||
#WITH_XPATH = 1
|
||||
#WITH_XPTR = 1
|
||||
#WITH_XINCLUDE = 1
|
||||
#WITH_ICONV = 1
|
||||
#WITH_ZLIB = 0
|
||||
#WITH_DEBUG = 1
|
||||
#WITH_MEM_DEBUG = 0
|
||||
#WITH_SCHEMAS = 1
|
||||
#DEBUG = 0
|
||||
#STATIC = 0
|
||||
#PREFIX = . # set this to the right value.
|
||||
#BINPREFIX = $(PREFIX)\bin
|
||||
#INCPREFIX = $(PREFIX)\include
|
||||
#LIBPREFIX = $(PREFIX)\lib
|
||||
#SOPREFIX = $(PREFIX)\lib
|
||||
#INCLUDE += ;$(INCPREFIX)
|
||||
#LIB += ;$(LIBPREFIX)
|
||||
|
||||
|
||||
# There should never be a need to modify anything below this line.
|
||||
# ----------------------------------------------------------------
|
||||
|
||||
AUTOCONF = .\config.mingw
|
||||
include $(AUTOCONF)
|
||||
|
||||
# Names of various input and output components.
|
||||
XML_NAME = xml2
|
||||
@ -62,10 +25,11 @@ XML_SO = $(XML_BASENAME).dll
|
||||
XML_IMP = $(XML_BASENAME).lib
|
||||
XML_A = $(XML_BASENAME).a
|
||||
|
||||
# Place where we let the compiler put its intermediate trash.
|
||||
XML_INTDIR = $(XML_BASENAME).int
|
||||
XML_INTDIR_A = $(XML_BASENAME)_a.int
|
||||
UTILS_INTDIR = utils.int
|
||||
# Place where we let the compiler put its output.
|
||||
BINDIR = bin.mingw
|
||||
XML_INTDIR = int.mingw
|
||||
XML_INTDIR_A = int.a.mingw
|
||||
UTILS_INTDIR = int.utils.mingw
|
||||
|
||||
# The preprocessor and its options.
|
||||
CPP = gcc.exe -E
|
||||
@ -171,6 +135,7 @@ XML_OBJS = $(XML_INTDIR)/c14n.o\
|
||||
$(XML_INTDIR)/xmlschemas.o\
|
||||
$(XML_INTDIR)/xmlschemastypes.o\
|
||||
$(XML_INTDIR)/xmlunicode.o\
|
||||
$(XML_INTDIR)/xmlwriter.o\
|
||||
$(XML_INTDIR)/xpath.o\
|
||||
$(XML_INTDIR)/xpointer.o
|
||||
|
||||
@ -212,6 +177,7 @@ XML_OBJS_A = $(XML_INTDIR_A)/c14n.o\
|
||||
$(XML_INTDIR_A)/xmlschemas.o\
|
||||
$(XML_INTDIR_A)/xmlschemastypes.o\
|
||||
$(XML_INTDIR_A)/xmlunicode.o\
|
||||
$(XML_INTDIR_A)/xmlwriter.o\
|
||||
$(XML_INTDIR_A)/xpath.o\
|
||||
$(XML_INTDIR_A)/xpointer.o
|
||||
|
||||
|
@ -12,48 +12,11 @@
|
||||
#
|
||||
# March 2002, Igor Zlatkovic <igor@zlatkovic.com>
|
||||
|
||||
AUTOCONF = .\config.msvc
|
||||
|
||||
# If you cannot run the configuration script, which would take the burden of
|
||||
# editing this file from your back, then remove the following line...
|
||||
!include $(AUTOCONF)
|
||||
# ...and enable the following lines and adapt them to your environment.
|
||||
#XML_SRCDIR = ..
|
||||
#UTILS_SRCDIR = ..
|
||||
#BINDIR = binaries
|
||||
#LIBXML_MAJOR_VERSION = 0 # set this to the right value.
|
||||
#LIBXML_MINOR_VERSION = 0 # set this to the right value.
|
||||
#LIBXML_MICRO_VERSION = 0 # set this to the right value.
|
||||
#WITH_TRIO = 0
|
||||
#WITH_THREADS = 0
|
||||
#WITH_FTP = 1
|
||||
#WITH_HTTP = 1
|
||||
#WITH_HTML = 1
|
||||
#WITH_C14N = 1
|
||||
#WITH_CATALOG = 1
|
||||
#WITH_DOCB = 1
|
||||
#WITH_XPATH = 1
|
||||
#WITH_XPTR = 1
|
||||
#WITH_XINCLUDE = 1
|
||||
#WITH_ICONV = 1
|
||||
#WITH_ZLIB = 0
|
||||
#WITH_DEBUG = 1
|
||||
#WITH_MEM_DEBUG = 0
|
||||
#WITH_SCHEMAS = 1
|
||||
#DEBUG = 0
|
||||
#STATIC = 0
|
||||
#PREFIX = . # set this to the right value.
|
||||
#BINPREFIX = $(PREFIX)\bin
|
||||
#INCPREFIX = $(PREFIX)\include
|
||||
#LIBPREFIX = $(PREFIX)\lib
|
||||
#SOPREFIX = $(PREFIX)\lib
|
||||
#INCLUDE = $(INCLUDE);$(INCPREFIX)
|
||||
#LIB = $(LIB);$(LIBPREFIX)
|
||||
|
||||
|
||||
# There should never be a need to modify anything below this line.
|
||||
# ----------------------------------------------------------------
|
||||
|
||||
AUTOCONF = .\config.msvc
|
||||
!include $(AUTOCONF)
|
||||
|
||||
# Names of various input and output components.
|
||||
XML_NAME = xml2
|
||||
@ -63,10 +26,11 @@ XML_IMP = $(XML_BASENAME).lib
|
||||
XML_DEF = $(XML_BASENAME).def
|
||||
XML_A = $(XML_BASENAME)_a.lib
|
||||
|
||||
# Place where we let the compiler put its intermediate trash.
|
||||
XML_INTDIR = $(XML_BASENAME).int
|
||||
XML_INTDIR_A = $(XML_BASENAME)_a.int
|
||||
UTILS_INTDIR = utils.int
|
||||
# Place where we let the compiler put its output.
|
||||
BINDIR = bin.msvc
|
||||
XML_INTDIR = int.msvc
|
||||
XML_INTDIR_A = int.a.msvc
|
||||
UTILS_INTDIR = int.utils.msvc
|
||||
|
||||
# The preprocessor and its options.
|
||||
CPP = cl.exe /EP
|
||||
@ -77,7 +41,7 @@ CPPFLAGS = $(CPPFLAGS) /D "_REENTRANT"
|
||||
|
||||
# The compiler and its options.
|
||||
CC = cl.exe
|
||||
CFLAGS = /nologo /D "WIN32" /D "_WINDOWS" /D "_MBCS" /W1 /MD
|
||||
CFLAGS = /nologo /D "WIN32" /D "_WINDOWS" /D "_MBCS" /W1 $(CRUNTIME)
|
||||
CFLAGS = $(CFLAGS) /I$(XML_SRCDIR) /I$(XML_SRCDIR)\include /I$(INCPREFIX)
|
||||
!if "$(WITH_THREADS)" != "no"
|
||||
CFLAGS = $(CFLAGS) /D "_REENTRANT"
|
||||
@ -160,6 +124,7 @@ XML_OBJS = $(XML_INTDIR)\c14n.obj\
|
||||
$(XML_INTDIR)\xmlschemas.obj\
|
||||
$(XML_INTDIR)\xmlschemastypes.obj\
|
||||
$(XML_INTDIR)\xmlunicode.obj\
|
||||
$(XML_INTDIR)\xmlwriter.obj\
|
||||
$(XML_INTDIR)\xpath.obj\
|
||||
$(XML_INTDIR)\xpointer.obj
|
||||
|
||||
@ -199,6 +164,7 @@ XML_OBJS_A = $(XML_INTDIR_A)\c14n.obj\
|
||||
$(XML_INTDIR_A)\xmlschemas.obj\
|
||||
$(XML_INTDIR_A)\xmlschemastypes.obj\
|
||||
$(XML_INTDIR_A)\xmlunicode.obj\
|
||||
$(XML_INTDIR_A)\xmlwriter.obj\
|
||||
$(XML_INTDIR_A)\xpath.obj\
|
||||
$(XML_INTDIR_A)\xpointer.obj
|
||||
|
||||
|
@ -79,13 +79,13 @@ Windows port.
|
||||
Once you have decided which options suit you, run the script with that
|
||||
options. Here is an example:
|
||||
|
||||
cscript configure.js prefix=c:\opt include=c:\opt\include
|
||||
lib=c:\opt\lib debug=yes
|
||||
cscript configure.js compiler=msvc prefix=c:\opt
|
||||
include=c:\opt\include lib=c:\opt\lib debug=yes
|
||||
|
||||
The previous example will configure the process to install the library
|
||||
in c:\opt, use c:\opt\include and c:\opt\lib as additional search
|
||||
paths for the compiler and the linker and build executables with debug
|
||||
symbols.
|
||||
The previous example will configure the process to use the Microsoft's
|
||||
compiler, install the library in c:\opt, use c:\opt\include and
|
||||
c:\opt\lib as additional search paths for the compiler and the linker
|
||||
and build executables with debug symbols.
|
||||
|
||||
Note: Please do not use path names which contain spaces. This will
|
||||
fail. Allowing this would require me to put almost everything in the
|
||||
@ -106,19 +106,29 @@ with Microsoft's MSVC compiler, you would use the NMAKE utility. If
|
||||
you configured it to build with GNU C compiler, mingw edition, you
|
||||
would use the GNU make. Assuming you use MSVC, type
|
||||
|
||||
nmake
|
||||
nmake /f Makefile.msvc
|
||||
|
||||
and if you use MinGW, you would type
|
||||
|
||||
make -f Makefile.mingw
|
||||
|
||||
and if you use Borland's compiler, you would type
|
||||
|
||||
bmake -f Makefile.bcb
|
||||
|
||||
in the win32 subdirectory. When the building completes, you will find
|
||||
the executable files in win32\binaries directory.
|
||||
|
||||
the executable files in win32\bin.* directory, where * stands for the
|
||||
name of the compiler you have used.
|
||||
|
||||
|
||||
1.4 Installing
|
||||
--------------
|
||||
|
||||
You can install the software into the directory you specified to the
|
||||
configure script during the configure stage by typing
|
||||
configure script during the configure stage by typing (with MSVC in
|
||||
this example)
|
||||
|
||||
nmake install
|
||||
nmake /f Makefile.msvc install
|
||||
|
||||
That would be it, enjoy.
|
||||
|
||||
@ -134,8 +144,9 @@ That would be it, enjoy.
|
||||
--------------------------
|
||||
|
||||
If you use the compiler which comes with Visual Studio .NET, note that
|
||||
it will link to its own C-runtime named msvcr70.dll. This file is not
|
||||
available on any machine which doesn't have .NET installed.
|
||||
it will link to its own C-runtime named msvcr70.dll or msvcr71.dll. This
|
||||
file is not available on any machine which doesn't have Visual Studio
|
||||
.NET installed.
|
||||
|
||||
|
||||
2.2 GNU C/C++, Mingw edition
|
||||
@ -143,8 +154,8 @@ available on any machine which doesn't have .NET installed.
|
||||
|
||||
When specifying paths to configure.js, please use slashes instead of
|
||||
backslashes for directory separation. Sometimes Mingw needs this. If
|
||||
this is the case, then 'make install' won't work correctly and you'll
|
||||
have to install manually.
|
||||
this is the case, and you specify backslashes, then the compiler will
|
||||
complain about not finding necessary header files.
|
||||
|
||||
|
||||
2.2 Borland C++ Builder
|
||||
@ -204,7 +215,8 @@ A similar problem is likely with Cygwin.
|
||||
|
||||
2.2.3 Other caveats
|
||||
|
||||
I have tested this only with BCB6, Professional Edition.
|
||||
We have tested this only with BCB6, Professional Edition, and BCB 5.5 free
|
||||
command-line tools.
|
||||
|
||||
|
||||
|
||||
|
@ -10,8 +10,6 @@
|
||||
/* The source directory, relative to the one where this file resides. */
|
||||
var srcDirXml = "..";
|
||||
var srcDirUtils = "..";
|
||||
/* The directory where we put the binaries after compilation. */
|
||||
var binDir = "binaries";
|
||||
/* Base name of what we are building. */
|
||||
var baseName = "libxml2";
|
||||
/* Configure file which contains the version and the output file where
|
||||
@ -59,6 +57,7 @@ var withPython = false;
|
||||
/* Win32 build options. */
|
||||
var dirSep = "\\";
|
||||
var compiler = "msvc";
|
||||
var cruntime = "/MD";
|
||||
var buildDebug = 0;
|
||||
var buildStatic = 0;
|
||||
var buildPrefix = ".";
|
||||
@ -135,6 +134,7 @@ function usage()
|
||||
txt += " python: Build Python bindings (" + (withPython? "yes" : "no") + ")\n";
|
||||
txt += "\nWin32 build options, default value given in parentheses:\n\n";
|
||||
txt += " compiler: Compiler to be used [msvc|mingw|bcb] (" + compiler + ")\n";
|
||||
txt += " cruntime: C-runtime compiler option (only msvc) (" + cruntime + ")\n";
|
||||
txt += " debug: Build unoptimised debug executables (" + (buildDebug? "yes" : "no") + ")\n";
|
||||
txt += " static: Link xmllint statically to libxml2 (" + (buildStatic? "yes" : "no") + ")\n";
|
||||
txt += " prefix: Base directory for the installation (" + buildPrefix + ")\n";
|
||||
@ -191,7 +191,6 @@ function discoverVersion()
|
||||
cf.Close();
|
||||
vf.WriteLine("XML_SRCDIR=" + srcDirXml);
|
||||
vf.WriteLine("UTILS_SRCDIR=" + srcDirUtils);
|
||||
vf.WriteLine("BINDIR=" + binDir);
|
||||
vf.WriteLine("WITH_TRIO=" + (withTrio? "1" : "0"));
|
||||
vf.WriteLine("WITH_THREADS=" + withThreads);
|
||||
vf.WriteLine("WITH_FTP=" + (withFtp? "1" : "0"));
|
||||
@ -230,6 +229,7 @@ function discoverVersion()
|
||||
if (compiler == "msvc") {
|
||||
vf.WriteLine("INCLUDE=$(INCLUDE);" + buildInclude);
|
||||
vf.WriteLine("LIB=$(LIB);" + buildLib);
|
||||
vf.WriteLine("CRUNTIME=" + cruntime);
|
||||
} else if (compiler == "mingw") {
|
||||
vf.WriteLine("INCLUDE+=;" + buildInclude);
|
||||
vf.WriteLine("LIB+=;" + buildLib);
|
||||
@ -468,6 +468,8 @@ for (i = 0; (i < WScript.Arguments.length) && (error == 0); i++) {
|
||||
withPython = strToBool(arg.substring(opt.length + 1, arg.length));
|
||||
else if (opt == "compiler")
|
||||
compiler = arg.substring(opt.length + 1, arg.length);
|
||||
else if (opt == "cruntime")
|
||||
cruntime = arg.substring(opt.length + 1, arg.length);
|
||||
else if (opt == "debug")
|
||||
buildDebug = strToBool(arg.substring(opt.length + 1, arg.length));
|
||||
else if (opt == "static")
|
||||
@ -605,6 +607,8 @@ txtOut += "\n";
|
||||
txtOut += "Win32 build configuration\n";
|
||||
txtOut += "-------------------------\n";
|
||||
txtOut += " Compiler: " + compiler + "\n";
|
||||
if (compiler == "msvc")
|
||||
txtOut += " C-Runtime option: " + cruntime + "\n";
|
||||
txtOut += " Debug symbols: " + boolToStr(buildDebug) + "\n";
|
||||
txtOut += " Static xmllint: " + boolToStr(buildStatic) + "\n";
|
||||
txtOut += " Install prefix: " + buildPrefix + "\n";
|
||||
|
Loading…
Reference in New Issue
Block a user