cvsuser 02/02/21 10:15:46
Modified: . Configure.pl embed.c pdump.c
Log:
this patch adds support for the freely availabe borland c++ 5.5.1 compiler
depends on:
- josh's patch to remove ssize_t from CPrederef.pm
- working borland compiler (compiler must know where to find headers and libs)
- Perl's Config.pm modified to use cc='bcc32.exe' not of cc='cl.exe'
- a working make utility (borland make doesn't work, nmake does)
changes:
- add bcc in hints/mswin32.pl
- clean up for msvc++ in hints/mswin32.pl
- remove a space from Configure.pl (very very important for bcc)
- add a O_BINARY flag to open() in pdump.c, embed.c (required by bcc)
- define O_BINARY 0 when it's not defined (win32 knows it, linux not)
and the why:
- parrot is MUCH faster when compiled with borland c (make test on p2-450, 320MB):
* msvc++: 313 seconds
* bcc: 251 seconds
Courtesy of "Ritz Daniel" <[EMAIL PROTECTED]>
Revision Changes Path
1.93 +3 -3 parrot/Configure.pl
Index: Configure.pl
===================================================================
RCS file: /home/perlcvs/parrot/Configure.pl,v
retrieving revision 1.92
retrieving revision 1.93
diff -u -w -r1.92 -r1.93
--- Configure.pl 15 Feb 2002 23:20:31 -0000 1.92
+++ Configure.pl 21 Feb 2002 18:15:45 -0000 1.93
@@ -2,7 +2,7 @@
#
# Configure.pl
#
-# $Id: Configure.pl,v 1.92 2002/02/15 23:20:31 brentdax Exp $
+# $Id: Configure.pl,v 1.93 2002/02/21 18:15:45 dan Exp $
#
# Author: Brent Dax
#
@@ -75,7 +75,7 @@
if($opt_version) {
print "Parrot Version $parrot_version Configure\n";
- print '$Id: Configure.pl,v 1.92 2002/02/15 23:20:31 brentdax Exp $' . "\n";
+ print '$Id: Configure.pl,v 1.93 2002/02/21 18:15:45 dan Exp $' . "\n";
exit;
}
1.12 +2 -2 parrot/embed.c
Index: embed.c
===================================================================
RCS file: /home/perlcvs/parrot/embed.c,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -w -r1.11 -r1.12
--- embed.c 18 Feb 2002 08:26:03 -0000 1.11
+++ embed.c 21 Feb 2002 18:15:45 -0000 1.12
@@ -1,7 +1,7 @@
/* embed.c
* Copyright: (When this is determined...it will go here)
* CVS Info
- * $Id: embed.c,v 1.11 2002/02/18 08:26:03 simon Exp $
+ * $Id: embed.c,v 1.12 2002/02/21 18:15:45 dan Exp $
* Overview:
* The Parrot embedding interface.
* Data Structure and Algorithms:
@@ -96,7 +96,7 @@
return NULL;
}
- fd = open(filename, O_RDONLY);
+ fd = open(filename, O_RDONLY | O_BINARY);
if (!fd) {
fprintf(stderr, "Parrot VM: Can't open %s, code %i.\n", filename,
errno);
return NULL;
1.11 +2 -2 parrot/pdump.c
Index: pdump.c
===================================================================
RCS file: /home/perlcvs/parrot/pdump.c,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -w -r1.10 -r1.11
--- pdump.c 18 Feb 2002 08:26:03 -0000 1.10
+++ pdump.c 21 Feb 2002 18:15:45 -0000 1.11
@@ -1,7 +1,7 @@
/* pdump.c
* Copyright: (When this is determined...it will go here)
* CVS Info
- * $Id: pdump.c,v 1.10 2002/02/18 08:26:03 simon Exp $
+ * $Id: pdump.c,v 1.11 2002/02/21 18:15:45 dan Exp $
* Overview:
* A program to dump pack files to human readable form.
* Data Structure and Algorithms:
@@ -30,7 +30,7 @@
printf("can't stat %s, code %i\n", argv[1], errno);
return 1;
}
- fd = open(argv[1], O_RDONLY);
+ fd = open(argv[1], O_RDONLY | O_BINARY);
if (!fd) {
printf("Can't open, error %i\n", errno);
return 1;