www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [OT] wanted: Makefile porter for DStress->Windows

reply "Thomas Kuehne" <thomas-dloop kuehne.cn> writes:
Hi everyone,

I am looking for someone willing to port a GNUMakefile (7.229 Bytes/239 lines)
to a make
format supported by the make.exe distributed with dmd.
(For the beginning all lines containing "complex" can be ignored as well as all
"complex.mak" files.)

It would be realy nice to be able to compare regression & bug tests results
from Linux and
Windows.

http://dmd.kuehne.cn/dstress.html

Thomas Kuehne
Oct 24 2004
parent reply J C Calvarese <jcc7 cox.net> writes:
Thomas Kuehne wrote:
 Hi everyone,
 
 I am looking for someone willing to port a GNUMakefile (7.229 Bytes/239 lines)
to a make
 format supported by the make.exe distributed with dmd.
 (For the beginning all lines containing "complex" can be ignored as well as all
 "complex.mak" files.)
 
 It would be realy nice to be able to compare regression & bug tests results
from Linux and
 Windows.

Are you still looking for help towards this goal? I'm no expert with makefiles, but I think I could rig-up a program to generate a batch file to output parallel results for Windows (based on the contents of a directory). What does the resulting file look like? I don't have Linux set up on my machine, so I can't just run it and find out what the produced file looks like.
 
 http://dmd.kuehne.cn/dstress.html
 
 Thomas Kuehne  

-- Justin (a/k/a jcc7) http://jcc_7.tripod.com/d/
Nov 16 2004
parent reply Thomas Kuehne <thomas-dloop kuehne.thisisspam.cn> writes:
J C Calvarese schrieb am Tue, 16 Nov 2004 17:22:08 -0600:
 I am looking for someone willing to port a GNUMakefile (7.229 Bytes/239 lines)
to a make
 format supported by the make.exe distributed with dmd.
 (For the beginning all lines containing "complex" can be ignored as well as all
 "complex.mak" files.)
 
 It would be realy nice to be able to compare regression & bug tests results
from Linux and
 Windows.

Are you still looking for help towards this goal?

Yes.
 I'm no expert with makefiles, but I think I could rig-up a program to 
 generate a batch file to output parallel results for Windows (based on 
 the contents of a directory).

This would be sweet ;) You can find the up-to-date Makefile at: http://svn.kuehne.cn/dstress/ For every test case the file is scanned for "__DSTRESS_DFLAGS__", and - if found - anything following it till the next line break is used as additional compiler flags. For those additional flags you probably have to replace "/" with "\\". See run/constructor_04.d for a sample.
 What does the resulting file look like? I don't have Linux set up on my 
 machine, so I can't just run it and find out what the produced file 
 looks like.

A bunch of raw result files: http://svn.kuehne.cn/dstress/raw_results/ In addition any other output - e.g. compiler errors, wrong assertions, etc. - gets appended to the "log.txt" file. Thanks for your interest. Thomas
Nov 16 2004
parent reply J C Calvarese <jcc7 cox.net> writes:
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Thomas Kuehne wrote:
 J C Calvarese schrieb am Tue, 16 Nov 2004 17:22:08 -0600:
 
I am looking for someone willing to port a GNUMakefile (7.229 Bytes/239 lines)
to a make
format supported by the make.exe distributed with dmd.
(For the beginning all lines containing "complex" can be ignored as well as all
"complex.mak" files.)

It would be realy nice to be able to compare regression & bug tests results
from Linux and
Windows.

Are you still looking for help towards this goal?

Yes.
I'm no expert with makefiles, but I think I could rig-up a program to 
generate a batch file to output parallel results for Windows (based on 
the contents of a directory).

This would be sweet ;) You can find the up-to-date Makefile at: http://svn.kuehne.cn/dstress/

Okay, I think it's close enough to let you try my program. You might want to change the name of the output files and where my program is located (and I can help you with that if you want). I've attached dstresstest.d and create_test.bat. All the other files should be created by running create_test.bat and then running test.bat. All of these files are located in \dstress on my system. They can be placed elsewhere, but it'll require changing some code. dstresstest.d source code create_test.bat compiles dstresstest and creates test.bat dstresstest.exe produced by running create_test.bat test.bat produced by dstresstest.exe win32_log.txt produced by test.bat (logFile) win32_dmd.txt produced by test.bat (resultFile) How does it look? I'm sure I could've done some things in the code differently, but I think the concept is valid and it works. In the process of writing this program, I think I might have found a bug in DMD, but I found a work-around. Line 198 shouldn't be necessary (and it slows down the program), but the program doesn't work without it. I wonder if the problem is the string gets too long, but printing it "fixes" the problem. I guess I'll try to nail down why the work-around is required, but it strikes me as a compiler bug and I always have a hard time producing a sufficiently short bug report. -- Justin (a/k/a jcc7) http://jcc_7.tripod.com/d/
Nov 21 2004
parent reply Thomas Kuehne <thomas-dloop kuehne.thisisspam.cn> writes:
J C Calvarese schrieb am Sun, 21 Nov 2004 18:46:45 -0600:
I am looking for someone willing to port a GNUMakefile (7.229 Bytes/239 lines)
to a make
format supported by the make.exe distributed with dmd.
(For the beginning all lines containing "complex" can be ignored as well as all
"complex.mak" files.)

It would be realy nice to be able to compare regression & bug tests results
from Linux and
Windows.

Are you still looking for help towards this goal?

Yes.
I'm no expert with makefiles, but I think I could rig-up a program to 
generate a batch file to output parallel results for Windows (based on 
the contents of a directory).

This would be sweet ;) You can find the up-to-date Makefile at: http://svn.kuehne.cn/dstress/

Okay, I think it's close enough to let you try my program. You might want to change the name of the output files and where my program is located (and I can help you with that if you want). I've attached dstresstest.d and create_test.bat. All the other files should be created by running create_test.bat and then running test.bat. All of these files are located in \dstress on my system. They can be placed elsewhere, but it'll require changing some code. dstresstest.d source code create_test.bat compiles dstresstest and creates test.bat dstresstest.exe produced by running create_test.bat test.bat produced by dstresstest.exe win32_log.txt produced by test.bat (logFile) win32_dmd.txt produced by test.bat (resultFile) How does it look? I'm sure I could've done some things in the code differently, but I think the concept is valid and it works.

As std.recls is on strike ... I can't test it :{ I've done some 'blind' editing. 1) Started to change ":", "\\", "\r\n" to OS independent pathSep, dirSep and lineSep. 2) The files in benchmark partly depend on eachother, thus trying to compile them as stand-alone files doesn't make sense. 3) The files in "complex" are special - no way to write a generic test code for them. 4) added shouldRun/shouldntRun as todo targets Hope I can get hold of a Windows box in order to try your code. Thomas
Nov 22 2004
parent reply J C Calvarese <jcc7 cox.net> writes:
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Thomas Kuehne wrote:
 As std.recls is on strike ... I can't test it :{

I wonder if std.recls is compiled into the Linux version of Phobos. I vaguely remember that there used to be a problem where it was left out of the make routine for the Linux version or something like that.
 I've done some 'blind' editing.
 
 1) Started to change ":", "\\", "\r\n" to OS independent pathSep,
 dirSep and lineSep.
 
 2) The files in benchmark partly depend on eachother, thus trying
 to compile them as stand-alone files doesn't make sense.
 
 3) The files in "complex" are special - no way to write a generic test
 code for them.
 
 4) added shouldRun/shouldntRun as todo targets

Well, it still runs after I patched your changes, so I don't see anything wrong with them. I'm attaching the latest results in case you want to examine them.
 
 Hope I can get hold of a Windows box in order to try your code.

Oh, I didn't realize you didn't have access to a Windows machine. I just thought you prefered Linux.
 
 Thomas

-- Justin (a/k/a jcc7) http://jcc_7.tripod.com/d/
Nov 22 2004
parent Thomas Kuehne <thomas-dloop kuehne.thisisspam.cn> writes:
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

J C Calvarese schrieb am Dienstag, 23. November 2004 02:18:
 As std.recls is on strike ... I can't test it :{

I wonder if std.recls is compiled into the Linux version of Phobos. I vaguely remember that there used to be a problem where it was left out of the make routine for the Linux version or something like that.

I played around with recls(1.5.2) and stlsoft-libs(1.7.1) but couldn't compile them - neither with gcc-3.4.3 nor gcc-3.3.2 ...
 Well, it still runs after I patched your changes, so I don't see
 anything wrong with them.

1) I forgot a break statement 2) XFAIL and FAIL were mixed up 3) Stripped of the file ending in order to ease the table generation (*.html and *.htm are also valid source files) I have added your files to DStress: http://svn.kuehne.cn/dstress/beta/ Thomas
Nov 23 2004