summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIgor Zlatkovic <igor@src.gnome.org>2002-11-14 17:48:25 +0000
committerIgor Zlatkovic <igor@src.gnome.org>2002-11-14 17:48:25 +0000
commitf69de936e6b2c5b1573363396fbfbb8d5cdf9be2 (patch)
tree6a9b74e1d2fba59775b882dc8e93a796176b50fa
parent8c1282f458c7e6e479e34bcb206f78d18d10332e (diff)
downloadlibxslt-f69de936e6b2c5b1573363396fbfbb8d5cdf9be2.tar.gz
libxslt-f69de936e6b2c5b1573363396fbfbb8d5cdf9be2.tar.bz2
libxslt-f69de936e6b2c5b1573363396fbfbb8d5cdf9be2.zip
integrated mingw into jscript configure
-rw-r--r--win32/Makefile.mingw319
-rw-r--r--win32/Makefile.msvc8
-rw-r--r--win32/configure.js37
3 files changed, 355 insertions, 9 deletions
diff --git a/win32/Makefile.mingw b/win32/Makefile.mingw
new file mode 100644
index 00000000..cafb1a59
--- /dev/null
+++ b/win32/Makefile.mingw
@@ -0,0 +1,319 @@
+# Makefile for libxslt, specific for Windows, GCC (mingw) and GNU make.
+#
+# Take a look at the beginning and modify the variables to suit your
+# environment. Having done that, you can do a
+#
+# nmake [all] to build the libxslt and the accompanying utilities.
+# nmake clean to remove all compiler output files and return to a
+# clean state.
+# nmake rebuild to rebuild everything from scratch. This basically does
+# a 'nmake clean' and then a 'nmake all'.
+# nmake install to install the library and its header files.
+#
+# November 2002, Igor Zlatkovic <igor@stud.fh-frankfurt.de>
+
+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.
+#BASEDIR = ..
+#XSLT_SRCDIR = $(BASEDIR)\libxslt
+#EXSLT_SRCDIR = $(BASEDIR)\libexslt
+#UTILS_SRCDIR = $(BASEDIR)\xsltproc
+#BINDIR = binaries
+#LIBXSLT_MAJOR_VERSION = 0 # set this to the right value.
+#LIBXSLT_MINOR_VERSION = 0 # set this to the right value.
+#LIBXSLT_MICRO_VERSION = 0 # set this to the right value.
+#LIBEXSLT_MAJOR_VERSION = 0 # set this to the right value.
+#LIBEXSLT_MINOR_VERSION = 0 # set this to the right value.
+#LIBEXSLT_MICRO_VERSION = 0 # set this to the right value.
+#WITH_XSLT_DEBUG = 1
+#WITH_MEM_DEBUG = 0
+#WITH_DEBUGGER = 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.
+# ----------------------------------------------------------------
+
+
+# Names of various input and output components.
+XSLT_NAME = xslt
+XSLT_BASENAME = lib$(XSLT_NAME)
+XSLT_SO = $(XSLT_BASENAME).dll
+XSLT_IMP = $(XSLT_BASENAME).lib
+XSLT_A = $(XSLT_BASENAME).a
+EXSLT_NAME = exslt
+EXSLT_BASENAME = lib$(EXSLT_NAME)
+EXSLT_SO = $(EXSLT_BASENAME).dll
+EXSLT_IMP = $(EXSLT_BASENAME).lib
+EXSLT_A = $(EXSLT_BASENAME).a
+
+# Places where intermediate files produced by the compiler go
+XSLT_INTDIR = $(XSLT_BASENAME).int
+XSLT_INTDIR_A = $(XSLT_BASENAME)_a.int
+EXSLT_INTDIR = $(EXSLT_BASENAME).int
+EXSLT_INTDIR_A = $(EXSLT_BASENAME)_a.int
+UTILS_INTDIR = utils.int
+
+# The preprocessor and its options.
+CPP = gcc.exe -E
+CPPFLAGS +=
+
+# The compiler and its options.
+CC = gcc.exe
+CFLAGS += -DWIN32 -D_WINDOWS -D_MBCS
+CFLAGS += -I$(BASEDIR) -I$(XSLT_SRCDIR) -I$(INCPREFIX)
+
+# The linker and its options.
+LD = gcc.exe
+LDFLAGS += -Wl,-L,$(BINDIR) -Wl,-L,$(LIBPREFIX)
+LIBS = -lwsock32
+
+# The archiver and its options.
+AR = ar.exe
+ARFLAGS = -r
+
+# Optimisation and debug symbols.
+ifeq ($(DEBUG),1)
+CFLAGS += -D_DEBUG -g
+LDFLAGS +=
+else
+CFLAGS += -DNDEBUG -O2
+LDFLAGS +=
+endif
+
+# Libxslt object files.
+XSLT_OBJS = $(XSLT_INTDIR)/attributes.o\
+ $(XSLT_INTDIR)/documents.o\
+ $(XSLT_INTDIR)/extensions.o\
+ $(XSLT_INTDIR)/extra.o\
+ $(XSLT_INTDIR)/functions.o\
+ $(XSLT_INTDIR)/imports.o\
+ $(XSLT_INTDIR)/keys.o\
+ $(XSLT_INTDIR)/namespaces.o\
+ $(XSLT_INTDIR)/numbers.o\
+ $(XSLT_INTDIR)/pattern.o\
+ $(XSLT_INTDIR)/preproc.o\
+ $(XSLT_INTDIR)/security.o\
+ $(XSLT_INTDIR)/templates.o\
+ $(XSLT_INTDIR)/transform.o\
+ $(XSLT_INTDIR)/variables.o\
+ $(XSLT_INTDIR)/xslt.o\
+ $(XSLT_INTDIR)/xsltutils.o
+XSLT_SRCS = $(subst .o,.c,$(subst $(XSLT_INTDIR)/,$(XSLT_SRCDIR)/,$(XSLT_OBJS)))
+
+# Static libxslt object files.
+XSLT_OBJS_A = $(XSLT_INTDIR_A)/attributes.o\
+ $(XSLT_INTDIR_A)/documents.o\
+ $(XSLT_INTDIR_A)/extensions.o\
+ $(XSLT_INTDIR_A)/extra.o\
+ $(XSLT_INTDIR_A)/functions.o\
+ $(XSLT_INTDIR_A)/imports.o\
+ $(XSLT_INTDIR_A)/keys.o\
+ $(XSLT_INTDIR_A)/namespaces.o\
+ $(XSLT_INTDIR_A)/numbers.o\
+ $(XSLT_INTDIR_A)/pattern.o\
+ $(XSLT_INTDIR_A)/preproc.o\
+ $(XSLT_INTDIR_A)/security.o\
+ $(XSLT_INTDIR_A)/templates.o\
+ $(XSLT_INTDIR_A)/transform.o\
+ $(XSLT_INTDIR_A)/variables.o\
+ $(XSLT_INTDIR_A)/xslt.o\
+ $(XSLT_INTDIR_A)/xsltutils.o
+
+# Libexslt object files.
+EXSLT_OBJS = $(EXSLT_INTDIR)/common.o\
+ $(EXSLT_INTDIR)/date.o\
+ $(EXSLT_INTDIR)/exslt.o\
+ $(EXSLT_INTDIR)/functions.o\
+ $(EXSLT_INTDIR)/math.o\
+ $(EXSLT_INTDIR)/saxon.o\
+ $(EXSLT_INTDIR)/sets.o\
+ $(EXSLT_INTDIR)/strings.o\
+ $(EXSLT_INTDIR)/dynamic.o
+EXSLT_SRCS = $(subst .o,.c,$(subst $(EXSLT_INTDIR)/,$(EXSLT_SRCDIR)/,$(EXSLT_OBJS)))
+
+# Static libexslt object files.
+EXSLT_OBJS_A = $(EXSLT_INTDIR_A)/common.o\
+ $(EXSLT_INTDIR_A)/date.o\
+ $(EXSLT_INTDIR_A)/exslt.o\
+ $(EXSLT_INTDIR_A)/functions.o\
+ $(EXSLT_INTDIR_A)/math.o\
+ $(EXSLT_INTDIR_A)/saxon.o\
+ $(EXSLT_INTDIR_A)/sets.o\
+ $(EXSLT_INTDIR_A)/strings.o\
+ $(EXSLT_INTDIR_A)/dynamic.o
+
+
+# Xsltproc and friends executables.
+UTILS = $(BINDIR)/xsltproc.exe
+
+all : dep libxslt libxslta libexslt libexslta utils
+
+libxslt : $(BINDIR)/$(XSLT_SO)
+
+libxslta : $(BINDIR)/$(XSLT_A)
+
+libexslt : $(BINDIR)/$(EXSLT_SO)
+
+libexslta : $(BINDIR)/$(EXSLT_A)
+
+utils : $(UTILS)
+
+clean :
+ if exist $(XSLT_INTDIR) rmdir /S /Q $(XSLT_INTDIR)
+ if exist $(XSLT_INTDIR_A) rmdir /S /Q $(XSLT_INTDIR_A)
+ if exist $(EXSLT_INTDIR) rmdir /S /Q $(EXSLT_INTDIR)
+ if exist $(EXSLT_INTDIR_A) rmdir /S /Q $(EXSLT_INTDIR_A)
+ if exist $(UTILS_INTDIR) rmdir /S /Q $(UTILS_INTDIR)
+ if exist $(BINDIR) rmdir /S /Q $(BINDIR)
+
+rebuild : clean all
+
+distclean : clean
+ if exist config.* del config.*
+ if exist Makefile del Makefile
+
+install : all
+ if not exist $(INCPREFIX)\$(XSLT_BASENAME) mkdir $(INCPREFIX)\$(XSLT_BASENAME)
+ if not exist $(INCPREFIX)\$(EXSLT_BASENAME) mkdir $(INCPREFIX)\$(EXSLT_BASENAME)
+ if not exist $(BINPREFIX) mkdir $(BINPREFIX)
+ if not exist $(LIBPREFIX) mkdir $(LIBPREFIX)
+ copy $(XSLT_SRCDIR)\*.h $(INCPREFIX)\$(XSLT_BASENAME)
+ copy $(EXSLT_SRCDIR)\*.h $(INCPREFIX)\$(EXSLT_BASENAME)
+ copy $(BINDIR)\$(XSLT_SO) $(SOPREFIX)
+ copy $(BINDIR)\$(XSLT_A) $(LIBPREFIX)
+ copy $(BINDIR)\$(XSLT_IMP) $(LIBPREFIX)
+ copy $(BINDIR)\$(EXSLT_SO) $(SOPREFIX)
+ copy $(BINDIR)\$(EXSLT_A) $(LIBPREFIX)
+ copy $(BINDIR)\$(EXSLT_IMP) $(LIBPREFIX)
+ copy $(BINDIR)\*.exe $(BINPREFIX)
+
+# This is a target for me, to make a binary distribution. Not for the public use,
+# keep your hands off :-)
+BDVERSION = $(LIBXSLT_MAJOR_VERSION).$(LIBXSLT_MINOR_VERSION).$(LIBXSLT_MICRO_VERSION)
+BDPREFIX = $(XSLT_BASENAME)-$(BDVERSION).win32
+bindist : all
+ $(MAKE) PREFIX=$(BDPREFIX) BINPREFIX=$(BDPREFIX)/util install
+ cscript //NoLogo configure.js genreadme $(XSLT_BASENAME) $(BDVERSION) $(BDPREFIX)\readme.txt
+
+# Creates the dependency files
+dep :
+ $(CC) $(CFLAGS) -M $(XSLT_SRCS) > depends.mingw
+ $(CC) $(CFLAGS) -M $(EXSLT_SRCS) >> depends.mingw
+
+
+# Makes the compiler output directory.
+$(BINDIR) :
+ if not exist $(BINDIR) mkdir $(BINDIR)
+
+
+# Makes the libxslt intermediate directory.
+$(XSLT_INTDIR) :
+ if not exist $(XSLT_INTDIR) mkdir $(XSLT_INTDIR)
+
+# Makes the static libxslt intermediate directory.
+$(XSLT_INTDIR_A) :
+ if not exist $(XSLT_INTDIR_A) mkdir $(XSLT_INTDIR_A)
+
+# An implicit rule for libxslt compilation.
+$(XSLT_INTDIR)/%.o : $(XSLT_SRCDIR)/%.c
+ $(CC) $(CFLAGS) -o $@ -c $<
+
+# An implicit rule for static libxslt compilation.
+$(XSLT_INTDIR_A)/%.o : $(XSLT_SRCDIR)/%.c
+ $(CC) $(CFLAGS) -DLIBXML_STATIC -DLIBXSLT_STATIC -o $@ -c $<
+
+# Compiles libxslt source. Uses the implicit rule for commands.
+$(XSLT_OBJS) : $(XSLT_INTDIR)
+
+# Compiles static libxslt source. Uses the implicit rule for commands.
+$(XSLT_OBJS_A) : $(XSLT_INTDIR_A)
+
+# Creates the libxslt shared object.
+XSLTSO_LDFLAGS = $(LDFLAGS) -shared -Wl,--dll -Wl,--out-implib,$(BINDIR)/$(XSLT_IMP)
+XSLTSO_LDFLAGS += -Wl,--major-image-version,$(LIBXSLT_MAJOR_VERSION)
+XSLTSO_LDFLAGS += -Wl,--minor-image-version,$(LIBXSLT_MINOR_VERSION)
+$(BINDIR)/$(XSLT_SO) : $(BINDIR) $(XSLT_OBJS)
+ $(LD) $(XSLTSO_LDFLAGS) -o $(BINDIR)/$(XSLT_SO) $(XSLT_OBJS) $(LIBS) -llibxml2
+
+# Creates the libxslt archive.
+$(BINDIR)/$(XSLT_A) : $(BINDIR) $(XSLT_OBJS_A)
+ $(AR) $(ARFLAGS) $(BINDIR)/$(XSLT_A) $(XSLT_OBJS_A)
+
+
+# Creates the libexslt intermediate directory.
+$(EXSLT_INTDIR) :
+ if not exist $(EXSLT_INTDIR) mkdir $(EXSLT_INTDIR)
+
+# Creates the static libexslt intermediate directory.
+$(EXSLT_INTDIR_A) :
+ if not exist $(EXSLT_INTDIR_A) mkdir $(EXSLT_INTDIR_A)
+
+# An implicit rule for libexslt compilation.
+$(EXSLT_INTDIR)/%.o : $(EXSLT_SRCDIR)/%.c
+ $(CC) $(CFLAGS) -I$(EXSLT_SRCDIR) -o $@ -c $<
+
+# An implicit rule for static libexslt compilation.
+$(EXSLT_INTDIR_A)/%.o : $(EXSLT_SRCDIR)/%.c
+ $(CC) $(CFLAGS) -DLIBXML_STATIC -DLIBXSLT_STATIC -DLIBEXSLT_STATIC \
+ -I$(EXSLT_SRCDIR) -o $@ -c $<
+
+# Compiles libxslt source. Uses the implicit rule for commands.
+$(EXSLT_OBJS) : $(EXSLT_INTDIR)
+
+# Compiles libxslt source. Uses the implicit rule for commands.
+$(EXSLT_OBJS_A) : $(EXSLT_INTDIR_A)
+
+# Creates the libexslt shared object.
+EXSLTSO_LDFLAGS = $(LDFLAGS) -shared -Wl,--dll -Wl,--out-implib,$(BINDIR)/$(EXSLT_IMP)
+EXSLTSO_LDFLAGS += -Wl,--major-image-version,$(LIBEXSLT_MAJOR_VERSION)
+EXSLTSO_LDFLAGS += -Wl,--minor-image-version,$(LIBEXSLT_MINOR_VERSION)
+$(BINDIR)/$(EXSLT_SO) : $(BINDIR) $(EXSLT_OBJS) libxslt
+ $(LD) $(EXSLTSO_LDFLAGS) -o $(BINDIR)/$(EXSLT_SO) $(EXSLT_OBJS) $(LIBS) -l$(XSLT_BASENAME) -llibxml2
+
+# Creates the libexslt archive.
+$(BINDIR)/$(EXSLT_A) : $(BINDIR) $(EXSLT_OBJS_A) libxslta
+ $(AR) $(ARFLAGS) $(BINDIR)\$(EXSLT_A) $(EXSLT_OBJS_A)
+
+
+# Creates the utils intermediate directory.
+$(UTILS_INTDIR) :
+ if not exist $(UTILS_INTDIR) mkdir $(UTILS_INTDIR)
+
+# An implicit rule for xsltproc and friends.
+APPLIBS = $(LIBS)
+APPLIBS += -llibxml2 -l$(XSLT_BASENAME) -l$(EXSLT_BASENAME)
+APP_LDFLAGS = $(LDFLAGS)
+APP_LDFLAGS += -Wl,--major-image-version,$(LIBXSLT_MAJOR_VERSION)
+APP_LDFLAGS += -Wl,--minor-image-version,$(LIBXSLT_MINOR_VERSION)
+ifeq ($(STATIC),1)
+CFLAGS += -DLIBXML_STATIC -DLIBXSLT_STATIC -DLIBEXSLT_STATIC
+APP_LDFLAGS += -Bstatic
+$(BINDIR)/%.exe : $(UTILS_SRCDIR)/%.c
+ $(CC) $(CFLAGS) -o $(subst .c,.o,$(UTILS_INTDIR)/$(<F)) -c $<
+ $(LD) $(APP_LDFLAGS) -o $@ $(APPLIBS) $(subst .c,.o,$(UTILS_INTDIR)/$(<F))
+else
+$(BINDIR)/%.exe : $(UTILS_SRCDIR)/%.c
+ $(CC) $(CFLAGS) -o $(subst .c,.o,$(UTILS_INTDIR)/$(<F)) -c $<
+ $(LD) $(APP_LDFLAGS) -o $@ $(APPLIBS) $(subst .c,.o,$(UTILS_INTDIR)/$(<F))
+endif
+
+# Builds xsltproc and friends. Uses the implicit rule for commands.
+$(UTILS) : $(UTILS_INTDIR) $(BINDIR) libxslt libxslta libexslt libexslta
+
+
+# Source dependencies
+#-include depends.mingw
+
diff --git a/win32/Makefile.msvc b/win32/Makefile.msvc
index 29e58007..39d96296 100644
--- a/win32/Makefile.msvc
+++ b/win32/Makefile.msvc
@@ -12,7 +12,7 @@
#
# March 2002, Igor Zlatkovic <igor@stud.fh-frankfurt.de>
-AUTOCONF = .\configure.txt
+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...
@@ -182,6 +182,10 @@ clean :
rebuild : clean all
+distclean : clean
+ if exist config.* del config.*
+ if exist Makefile del Makefile
+
install : all
if not exist $(INCPREFIX)\$(XSLT_BASENAME) mkdir $(INCPREFIX)\$(XSLT_BASENAME)
if not exist $(INCPREFIX)\$(EXSLT_BASENAME) mkdir $(INCPREFIX)\$(EXSLT_BASENAME)
@@ -285,7 +289,7 @@ $(BINDIR)\$(EXSLT_SO) : $(BINDIR) $(EXSLT_OBJS) $(EXSLT_INTDIR)\$(EXSLT_DEF) lib
$(EXSLT_OBJS) $(XSLT_IMP) $(LIBS) libxml2.lib
# Creates the libexslt archive.
-$(BINDIR)\$(EXSLT_A) : $(BINDIR) $(EXSLT_OBJS_A)
+$(BINDIR)\$(EXSLT_A) : $(BINDIR) $(EXSLT_OBJS_A) libxslta
$(AR) $(ARFLAGS) /OUT:$(BINDIR)\$(EXSLT_A) $(EXSLT_OBJS_A)
diff --git a/win32/configure.js b/win32/configure.js
index 71542cd0..4446d387 100644
--- a/win32/configure.js
+++ b/win32/configure.js
@@ -20,7 +20,7 @@ var baseNameExslt = "libexslt";
/* Configure file which contains the version and the output file where
we can store our build configuration. */
var configFile = baseDir + "\\configure.in";
-var versionFile = ".\\configure.txt";
+var versionFile = ".\\config.msvc";
/* Input and output files regarding the lib(e)xml features. The second
output file is there for the compatibility reasons, otherwise it
is identical to the first. */
@@ -39,11 +39,13 @@ var verMajorExslt;
var verMinorExslt;
var verMicroExslt;
/* Libxslt features. */
+var withTrio = false;
var withXsltDebug = true;
var withMemDebug = false;
var withDebugger = true;
var withIconv = true;
/* Win32 build options. */
+var compiler = "msvc";
var buildDebug = 0;
var buildStatic = 0;
var buildPrefix = ".";
@@ -61,11 +63,11 @@ var error = 0;
function boolToStr(opt)
{
if (opt == false)
- return "Disabled";
+ return "no";
else if (opt == true)
- return "Enabled";
+ return "yes";
error = 1;
- return "Undefined";
+ return "*** undefined ***";
}
/* Helper function, transforms the argument string into the boolean
@@ -90,11 +92,13 @@ function usage()
txt += "Options can be specified in the form <option>=<value>, where the value is\n";
txt += "either 'yes' or 'no'.\n\n";
txt += "XSLT processor options, default value given in parentheses:\n\n";
+ txt += " trio: Enable TRIO string manipulator (" + (withTrio? "yes" : "no") + ")\n";
txt += " xslt_debug: Enable XSLT debbugging module (" + (withXsltDebug? "yes" : "no") + ")\n";
txt += " mem_debug: Enable memory debugger (" + (withMemDebug? "yes" : "no") + ")\n";
txt += " debugger: Enable external debugger support (" + (withDebugger? "yes" : "no") + ")\n";
txt += " iconv: Use iconv library (" + (withIconv? "yes" : "no") + ")\n";
txt += "\nWin32 build options, default value given in parentheses:\n\n";
+ txt += " compiler: Compiler to be used [msvc|mingw] (" + compiler + ")\n";
txt += " debug: Build unoptimised debug executables (" + (buildDebug? "yes" : "no") + ")\n";
txt += " static: Link xsltproc statically to libxslt (" + (buildStatic? "yes" : "no") + ")\n";
txt += " prefix: Base directory for the installation (" + buildPrefix + ")\n";
@@ -121,6 +125,10 @@ function discoverVersion()
var fso, cf, vf, ln, s;
fso = new ActiveXObject("Scripting.FileSystemObject");
cf = fso.OpenTextFile(configFile, 1);
+ if (compiler == "msvc")
+ versionFile = ".\\config.msvc";
+ else if (compiler == "mingw")
+ versionFile = ".\\config.mingw";
vf = fso.CreateTextFile(versionFile, true);
vf.WriteLine("# " + versionFile);
vf.WriteLine("# This file is generated automatically by " + WScript.ScriptName + ".");
@@ -154,6 +162,7 @@ function discoverVersion()
vf.WriteLine("EXSLT_SRCDIR=" + srcDirExslt);
vf.WriteLine("UTILS_SRCDIR=" + srcDirUtils);
vf.WriteLine("BINDIR=" + binDir);
+ vf.WriteLine("WITH_TRIO=" + (withTrio? "1" : "0"));
vf.WriteLine("WITH_DEBUG=" + (withXsltDebug? "1" : "0"));
vf.WriteLine("WITH_MEM_DEBUG=" + (withMemDebug? "1" : "0"));
vf.WriteLine("WITH_DEBUGGER=" + (withDebugger? "1" : "0"));
@@ -165,8 +174,13 @@ function discoverVersion()
vf.WriteLine("INCPREFIX=" + buildIncPrefix);
vf.WriteLine("LIBPREFIX=" + buildLibPrefix);
vf.WriteLine("SOPREFIX=" + buildSoPrefix);
- vf.WriteLine("INCLUDE=$(INCLUDE);" + buildInclude);
- vf.WriteLine("LIB=$(LIB);" + buildLib);
+ if (compiler == "msvc") {
+ vf.WriteLine("INCLUDE=$(INCLUDE);" + buildInclude);
+ vf.WriteLine("LIB=$(LIB);" + buildLib);
+ } else if (compiler == "mingw") {
+ vf.WriteLine("INCLUDE+=;" + buildInclude);
+ vf.WriteLine("LIB+=;" + buildLib);
+ }
vf.Close();
}
@@ -187,6 +201,8 @@ function configureXslt()
} else if (s.search(/\@LIBXSLT_VERSION_NUMBER\@/) != -1) {
of.WriteLine(s.replace(/\@LIBXSLT_VERSION_NUMBER\@/,
verMajorXslt*10000 + verMinorXslt*100 + verMicroXslt*1));
+ } else if (s.search(/\@WITH_TRIO\@/) != -1) {
+ of.WriteLine(s.replace(/\@WITH_TRIO\@/, withTrio? "1" : "0"));
} else if (s.search(/\@WITH_XSLT_DEBUG\@/) != -1) {
of.WriteLine(s.replace(/\@WITH_XSLT_DEBUG\@/, withXsltDebug? "1" : "0"));
} else if (s.search(/\@WITH_MEM_DEBUG\@/) != -1) {
@@ -302,6 +318,8 @@ for (i = 0; (i < WScript.Arguments.length) && (error == 0); i++) {
buildDebug = strToBool(arg.substring(opt.length + 1, arg.length));
else if (opt == "iconv")
buildIconv = strToBool(arg.substring(opt.length + 1, arg.length));
+ else if (opt == "compiler")
+ compiler = arg.substring(opt.length + 1, arg.length);
else if (opt == "static")
buildStatic = strToBool(arg.substring(opt.length + 1, arg.length));
else if (opt == "prefix")
@@ -366,12 +384,16 @@ if (error != 0) {
// Create the Makefile.
var fso = new ActiveXObject("Scripting.FileSystemObject");
-fso.CopyFile(".\\Makefile.msvc", ".\\Makefile", true);
+var makefile = ".\\Makefile.msvc";
+if (compiler == "mingw")
+ makefile = ".\\Makefile.mingw";
+fso.CopyFile(makefile, ".\\Makefile", true);
WScript.Echo("Created Makefile.");
// Display the final configuration.
var txtOut = "\nXSLT processor configuration\n";
txtOut += "----------------------------\n";
+txtOut += " Trio: " + boolToStr(withTrio) + "\n";
txtOut += " Debugging module: " + boolToStr(withXsltDebug) + "\n";
txtOut += " Memory debugging: " + boolToStr(withMemDebug) + "\n";
txtOut += " Debugger support: " + boolToStr(withDebugger) + "\n";
@@ -379,6 +401,7 @@ txtOut += " Use iconv: " + boolToStr(withIconv) + "\n";
txtOut += "\n";
txtOut += "Win32 build configuration\n";
txtOut += "-------------------------\n";
+txtOut += " Compiler: " + compiler + "\n";
txtOut += " Debug symbols: " + boolToStr(buildDebug) + "\n";
txtOut += " Static xsltproc: " + boolToStr(buildStatic) + "\n";
txtOut += " Install prefix: " + buildPrefix + "\n";