peiyongz 2002/07/29 14:32:29
Modified: c/scripts packageBinaries.pl
Log:
Build Xerces with ICU -- Itanium/WinXP/IntelC++Compiler
Revision Changes Path
1.91 +37 -5 xml-xerces/c/scripts/packageBinaries.pl
Index: packageBinaries.pl
===================================================================
RCS file: /home/cvs/xml-xerces/c/scripts/packageBinaries.pl,v
retrieving revision 1.90
retrieving revision 1.91
diff -u -r1.90 -r1.91
--- packageBinaries.pl 29 Jul 2002 16:10:18 -0000 1.90
+++ packageBinaries.pl 29 Jul 2002 21:32:29 -0000 1.91
@@ -165,16 +165,16 @@
psystem ("del /s /f *.dep *.ncb *.plg *.opt");
# Make the icu dlls
- pchdir ("$ICUROOT\\source\\allinone");
+ pchdir ("$ICUROOT\\source\\allinone\\all");
if (!(length($opt_j) > 0)) { # Optionally suppress ICU build, to speed up
overlong builds while debugging.
- #For nt we ship both debug and release dlls
- psystem("msdev allinone.dsw /MAKE \"all - $platformname Release\" /REBUILD
/OUT buildlog.txt");
+ #For XP we ship both release and debug dlls
+ psystem("nmake -f all_win64_release.mak \"CFG=all - $platformname
Release\" CPP=$opt_x.exe >buildlog.txt 2>&1");
psystem("type buildlog.txt");
- psystem("msdev allinone.dsw /MAKE \"all - $platformname Debug\" /REBUILD
/OUT buildlog.txt");
+ psystem("nmake -f all_win64_debug.mak \"CFG=all - $platformname Debug\"
CPP=$opt_x.exe >buildlog.txt 2>&1");
psystem("type buildlog.txt");
}
-
change_windows_project_for_ICU("$XERCESCROOT/Projects/Win32/VC6/xerces-all/XercesLib/XercesLib.dsp");
+
change_windows_makefile_for_ICU("$XERCESCROOT\\Projects\\Win64\\Nmake\\xerces-all/XercesLib/XercesLib.mak");
}
# Clean up all the dependency files, causes problems for nmake
@@ -1226,6 +1226,7 @@
$line =~ s/user32.lib/user32.lib $icuuc.lib icudata.lib/g;
$line =~
s/Transcoders\\Win32\\Win32TransService.cpp/Transcoders\\ICU\\ICUTransService.cpp/g;
$line =~
s/Transcoders\\Win32\\Win32TransService.hpp/Transcoders\\ICU\\ICUTransService.hpp/g;
+
print FIZZLEOUT $line;
}
close (FIZZLEOUT);
@@ -1233,6 +1234,37 @@
unlink ($thefiledotbak);
}
+sub change_windows_makefile_for_ICU() {
+ my ($thefile) = @_;
+ print "\nConverting Windows Xerces library makefile ($thefile) for ICU
usage...";
+ my $thefiledotbak = $thefile . ".bak";
+ rename ($thefile, $thefiledotbak);
+
+ open (FIZZLE, $thefiledotbak);
+ open (FIZZLEOUT, ">$thefile");
+ while ($line = <FIZZLE>) {
+ if ($line =~ /Win64 Debug/ ){
+ $icuuc = "icuucd";
+ }
+ if ($line =~ /Win64 Release/ ) {
+ $icuuc = "icuuc";
+ }
+
+ $line =~ s[/D "PROJ_XMLPARSER"][/I "$ICUROOT\\include" /D
"PROJ_XMLPARSER"];
+ #$line =~
s[/implib:"\$(OUTDIR)\\xerces-c_2.lib"][/implib:"\$(OUTDIR)\\xerces-c_2.lib"
/libpath:"$ICUROOT\\lib" /libpath:"$ICUROOT\\source\\data"];
+ #$line =~
s[/implib:"\$(OUTDIR)\\xerces-c_2D.lib"][/implib:"\$(OUTDIR)\\xerces-c_2D.lib"
/libpath:"$ICUROOT\\lib" /libpath:"$ICUROOT\\source\\data"];
+ $line =~ s[/machine:IA64][/libpath:"$ICUROOT\\lib"
/libpath:"$ICUROOT\\source\\data" /machine:IA64];
+ $line =~ s/XML_USE_WIN32_TRANSCODER/XML_USE_ICU_TRANSCODER/g;
+ $line =~ s/user32.lib/user32.lib $icuuc.lib icudata.lib/g;
+ $line =~
s/Transcoders\\Win32\\Win32TransService/Transcoders\\ICU\\ICUTransService/g;
+ $line =~ s/Win32TransService/ICUTransService/g;
+
+ print FIZZLEOUT $line;
+ }
+ close (FIZZLEOUT);
+ close (FIZZLE);
+ unlink ($thefiledotbak);
+}
#
# This subroutine is used to munge the XercesLib project file to remove all
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]