Board index » cppbuilder » Re: parallel bcc32 build tool

Re: parallel bcc32 build tool


2005-08-18 11:10:45 PM
cppbuilder1
Hi again,
for all of you who like to try the announced multithreaded compiler
wrappers here in an easy way, I made a new version of my ProjectMaker tool.
It has just on more property: Name of the compiler. Enter here "mtbcc32"
(without .exe) for the multithreaded wrapper and watch the difference.
Download address:
helene-lange-weg.mine.nu/Rutsch/cppcorner.html
Bye, Oliver.
 
 

Re:Re: parallel bcc32 build tool

Jonathan Benedicto wrote:
Quote
Please could you try the new one in attachments again. Thank you for
your patience.
Thread 1384: Creating pipe.
Thread 2888: Creating pipe.
Thread 2888: Creating process.
Thread 1384: Creating process.
Thread 1384: Waiting for process to terminate.
Thread 2888: Waiting for process to terminate.
Could you add this line
si.hStdIn = GetStdHandle(STD_INPUT_HANDLE);
to TBccThread::CompileThis.
Maybe it is waiting for input. Who knows. I had such a problem with
fprot.exe (a DOS-Extended app)
--
Regards,
Andreas Hausladen
 

Re:Re: parallel bcc32 build tool

"Andreas Hausladen" < XXXX@XXXXX.COM >wrote in message
Quote
Could you add this line
si.hStdIn = GetStdHandle(STD_INPUT_HANDLE);
to TBccThread::CompileThis.
Maybe it is waiting for input. Who knows. I had such a problem with
fprot.exe (a DOS-Extended app)
I've added that. Maybe it will work. Sometimes computers can be interesting
:)
The new one is in attachments.
Jonathan
 

{smallsort}

Re:Re: parallel bcc32 build tool

"Oliver Rutsch" < XXXX@XXXXX.COM >wrote in message
Quote
for all of you who like to try the announced multithreaded compiler
wrappers here in an easy way, I made a new version of my ProjectMaker
tool.
It has just on more property: Name of the compiler. Enter here "mtbcc32"
(without .exe) for the multithreaded wrapper and watch the difference.
Hopefully people will really find these add-ons useful.
Jonathan
 

Re:Re: parallel bcc32 build tool

No, that had not helped. What is different between your and my problem?
z:\Qt\bor\qt-4\src\tools\rcc>make -B
MAKE Version 5.2 Copyright (c) 1987, 2000 Borland
Z:\Qt\bor\qt-4\bin\qmake.exe -o Makefile rcc.pro
mtbcc32 -debug -c -q -tWR -5 -d -O2 -w -w-hid -tWC -DUNICODE
-DQT_RCC -DQT_LITE_UNICODE -DQT
_NO_DATASTREAM -DQT_NO_THREAD -DQT_NO_QOBJECT -DQT_NO_UNICODETABLES
-DQT_NO_COMPONENT -DQT_NODLL -I"
..\..\corelib\arch\generic" -I"Z:/Qt/bor/qt-4/include" -I"."
-I"Z:/Qt/bor/qt-4/include/QtCore" -I"Z:
/Qt/bor/qt-4/include/QtXml" -I"..\..\3rdparty\zlib" -I"."
-I"Z:\Qt\bor\qt-4\mkspecs\win32-borland" -
ntmp\obj\debug_shared\ .\main.cpp .\rcc.cpp
..\..\corelib\global\qglobal.cpp ..\..\corelib\io\qbuffe
r.cpp ..\..\corelib\io\qdir.cpp ..\..\corelib\io\qfile.cpp
..\..\corelib\io\qfileinfo.cpp ..\..\core
lib\io\qfsfileengine.cpp ..\..\corelib\io\qiodevice.cpp
..\..\corelib\io\qtemporaryfile.cpp ..\..\co
relib\io\qtextstream.cpp ..\..\corelib\kernel\qinternal.cpp
..\..\corelib\tools\qbytearraymatcher.cp
p ..\..\corelib\tools\qchar.cpp ..\..\corelib\tools\qdatetime.cpp
..\..\corelib\tools\qhash.cpp ..\.
.\corelib\tools\qlistdata.cpp ..\..\corelib\tools\qlocale.cpp
..\..\corelib\tools\qmap.cpp ..\..\cor
elib\tools\qstring.cpp ..\..\corelib\tools\qstringlist.cpp
..\..\corelib\tools\qstringmatcher.cpp ..
\..\corelib\tools\qvector.cpp ..\..\corelib\io\qbufferedfsfileengine.cpp
..\..\corelib\io\qfileengin
e.cpp ..\..\corelib\tools\qbytearray.cpp ..\..\corelib\tools\qbitarray.cpp
..\..\corelib\tools\qunic
odetables.cpp ..\..\corelib\tools\qvsnprintf.cpp
..\..\corelib\tools\qregexp.cpp ..\..\corelib\codec
s\qtextcodec.cpp ..\..\corelib\codecs\qutfcodec.cpp
..\..\corelib\codecs\qisciicodec.cpp ..\..\corel
ib\codecs\qtsciicodec.cpp ..\..\corelib\codecs\qlatincodec.cpp
..\..\corelib\codecs\qsimplecodec.cpp
..\..\corelib\codecs\qfontlaocodec.cpp ..\..\xml\qdom.cpp
..\..\xml\qxml.cpp ..\..\corelib\io\qfsfi
leengine_win.cpp ..\..\3rdparty\zlib\adler32.c
..\..\3rdparty\zlib\compress.c ..\..\3rdparty\zlib\cr
c32.c ..\..\3rdparty\zlib\deflate.c ..\..\3rdparty\zlib\gzio.c
..\..\3rdparty\zlib\inffast.c ..\..\3
rdparty\zlib\inflate.c ..\..\3rdparty\zlib\inftrees.c
..\..\3rdparty\zlib\trees.c ..\..\3rdparty\zli
b\uncompr.c ..\..\3rdparty\zlib\zutil.c
Compiling...
Thread count: 2
Debug: true
Equalize: false - 1 files at a time.
Thread 364: Execute()
Waiting for threads to finish.
Thread 364: Getting file list.
Thread 1192: Execute()
Thread 1192: Getting file list.
Thread 364: bcc32 -c -q -tWR -5 -d -O2 -w -w-hid -tWC -DUNICODE -DQT_RCC
-DQT_LITE_UNICODE -DQT_NO_D
ATASTREAM -DQT_NO_THREAD -DQT_NO_QOBJECT -DQT_NO_UNICODETABLES
-DQT_NO_COMPONENT -DQT_NODLL -I"..\..
\corelib\arch\generic" -I"Z:/Qt/bor/qt-4/include" -I"."
-I"Z:/Qt/bor/qt-4/include/QtCore" -I"Z:/Qt/b
or/qt-4/include/QtXml" -I"..\..\3rdparty\zlib" -I"."
-I"Z:\Qt\bor\qt-4\mkspecs\win32-borland" -ntmp\
obj\debug_shared\ .\main.cpp .\rcc.cpp ..\..\corelib\global\qglobal.cpp
..\..\corelib\io\qbuffer.cpp
..\..\corelib\io\qdir.cpp ..\..\corelib\io\qfile.cpp
..\..\corelib\io\qfileinfo.cpp ..\..\corelib\i
o\qfsfileengine.cpp ..\..\corelib\io\qiodevice.cpp
..\..\corelib\io\qtemporaryfile.cpp ..\..\corelib
\io\qtextstream.cpp ..\..\corelib\kernel\qinternal.cpp
..\..\corelib\tools\qbytearraymatcher.cpp ..\
..\corelib\tools\qchar.cpp ..\..\corelib\tools\qdatetime.cpp
..\..\corelib\tools\qhash.cpp ..\..\cor
elib\tools\qlistdata.cpp ..\..\corelib\tools\qlocale.cpp
..\..\corelib\tools\qmap.cpp ..\..\corelib\
tools\qstring.cpp ..\..\corelib\tools\qstringlist.cpp
..\..\corelib\tools\qstringmatcher.cpp ..\..\c
orelib\tools\qvector.cpp ..\..\corelib\io\qbufferedfsfileengine.cpp
..\..\corelib\io\qfileengine.cpp
Thread 1192: bcc32 -c -q -tWR -5 -d -O2 -w -w-hid -tWC -DUNICODE -DQT_RCC
-DQT_LITE_UNICODE -DQT_NO_
DATASTREAM -DQT_NO_THREAD -DQT_NO_QOBJECT -DQT_NO_UNICODETABLES
-DQT_NO_COMPONENT -DQT_NODLL -I"..\.
.\corelib\arch\generic" -I"Z:/Qt/bor/qt-4/include" -I"."
-I"Z:/Qt/bor/qt-4/include/QtCore" -I"Z:/Qt/
bor/qt-4/include/QtXml" -I"..\..\3rdparty\zlib" -I"."
-I"Z:\Qt\bor\qt-4\mkspecs\win32-borland" -ntmp
\obj\debug_shared\ ..\..\corelib\tools\qbytearray.cpp
..\..\corelib\tools\qbitarray.cpp ..\..\coreli
b\tools\qunicodetables.cpp ..\..\corelib\tools\qvsnprintf.cpp
..\..\corelib\tools\qregexp.cpp ..\..\
corelib\codecs\qtextcodec.cpp ..\..\corelib\codecs\qutfcodec.cpp
..\..\corelib\codecs\qisciicodec.cp
p ..\..\corelib\codecs\qtsciicodec.cpp
..\..\corelib\codecs\qlatincodec.cpp ..\..\corelib\codecs\qsi
mplecodec.cpp ..\..\corelib\codecs\qfontlaocodec.cpp ..\..\xml\qdom.cpp
..\..\xml\qxml.cpp ..\..\cor
elib\io\qfsfileengine_win.cpp ..\..\3rdparty\zlib\adler32.c
..\..\3rdparty\zlib\compress.c ..\..\3rd
party\zlib\crc32.c ..\..\3rdparty\zlib\deflate.c
..\..\3rdparty\zlib\gzio.c ..\..\3rdparty\zlib\inff
ast.c ..\..\3rdparty\zlib\inflate.c ..\..\3rdparty\zlib\inftrees.c
..\..\3rdparty\zlib\trees.c ..\..
\3rdparty\zlib\uncompr.c
Thread 364: Creating pipe.
Thread 1192: Creating pipe.
Thread 364: Creating process.
Thread 1192: Creating process.
Thread 1192: Waiting for process to terminate.
Thread 364: Waiting for process to terminate.
 

Re:Re: parallel bcc32 build tool

I use the security descriptor (&sa) in the CreateProcess call.
But I cannot see anything other different (except that I wait only 30ms
and then parse the output, wait again, ...)
--
Regards,
Andreas Hausladen
 

Re:Re: parallel bcc32 build tool

"Andreas Hausladen" < XXXX@XXXXX.COM >wrote in message
Quote
I use the security descriptor (&sa) in the CreateProcess call.
But I cannot see anything other different (except that I wait only 30ms
and then parse the output, wait again, ...)
I'll get the qt4 source code and try to compile it and see if it hangs on
my machine.
Jonathan
 

Re:Re: parallel bcc32 build tool

Well... it seems to work fine. I'll let you know the times when it finishes,
but at least is now compiling the files without problems.
Thanks!
--
Rodrigo Gómez
www.rodrigogomez.com.mx/gallery/
"Jonathan Benedicto" < XXXX@XXXXX.COM >escribi?en el mensaje
Quote
"Rodrigo Gómez" < XXXX@XXXXX.COM >wrote in message
news:43037f8b$ XXXX@XXXXX.COM ...
>Great!
>
>Let me know when you have it so I can try here :-)

Ok, I've found the error and fixed it. I was using ParamStr and ParamCount
to get the command line parameters, and for some reason, quotes on the
command line were being stripped. So, I had to write my own command line
parsing function using GetCommandLine.

It is in attachments.

Jonathan

 

Re:Re: parallel bcc32 build tool

Jonathan Benedicto wrote:
Quote
I'll get the qt4 source code and try to compile it and see if it hangs
on my machine.
Not that easy because Qt-4 does not support Borland C++ compiler. And the
open desktop edition only supports mingw compilation.
If you want bcc32 support you must download from
cvs -d:pserver: XXXX@XXXXX.COM :/cvsroot/qtwin login
cvs -z3 -d:pserver: XXXX@XXXXX.COM :/cvsroot/qtwin co -P qt-4
Or you use the download from Trolltech and I send you the patch.
--
Regards,
Andreas Hausladen
 

Re:Re: parallel bcc32 build tool

"Rodrigo Gómez" < XXXX@XXXXX.COM >wrote in message
Quote
Well... it seems to have done about 50 seconds less (from 9:50 to 9:08)
to compile this project. I only have an HT machine, not a dual core, so
maybe it's ok. Anyway, any time saved is time saved!

With this last version, does the ini works? It has to be where? in the
same directory as mtbcc32, or in the system32, or where?
AFAIK, the ini file does work. Place it into the same dir as mtbcc32.
You might want to try 4 threads since you have a HT. As well as
the -equalize option.
Jonathan
 

Re:Re: parallel bcc32 build tool

"Andreas Hausladen" < XXXX@XXXXX.COM >wrote in message
Quote
Not that easy because Qt-4 does not support Borland C++ compiler. And the
open desktop edition only supports mingw compilation.
If you want bcc32 support you must download from

cvs -d:pserver: XXXX@XXXXX.COM :/cvsroot/qtwin login

cvs -z3 -d:pserver: XXXX@XXXXX.COM :/cvsroot/qtwin co -P
qt-4

Or you use the download from Trolltech and I send you the patch.
I'm currently doing the CVS. I had downloaded the zip from TrollTech, but
decided to CVS instead.
Thank you for the links / commands.
Jonathan
 

Re:Re: parallel bcc32 build tool

Jonathan Benedicto wrote:
Quote
Thank you for the links / commands.
Here is the patch (against the HEAD revision)
andy.jgknet.de/misc/qt4patch.zip
Extract the files to the qt-4 directory and then execute dopatch.bat
--
Regards,
Andreas Hausladen
 

Re:Re: parallel bcc32 build tool

"Andreas Hausladen" < XXXX@XXXXX.COM >wrote in message
Quote
Here is the patch (against the HEAD revision)
andy.jgknet.de/misc/qt4patch.zip

Extract the files to the qt-4 directory and then execute dopatch.bat
Thank you. I'll do this.
Jonathan
 

Re:Re: parallel bcc32 build tool

The makefiles are autogenerated. You have to change the the compiler in
mkspec/win32-borland/qmake.conf
--
Regards,
Andreas Hausladen
 

Re:Re: parallel bcc32 build tool

"Andreas Hausladen" < XXXX@XXXXX.COM >wrote in message
Quote
Here is the patch (against the HEAD revision)
andy.jgknet.de/misc/qt4patch.zip

Extract the files to the qt-4 directory and then execute dopatch.bat
I assumed that you meant run this on the CVS download of qtwin, but when I
tried it, it returned this message:
C:\lib\qtwin\qt-4>dopatch
patching file mkspecs/win32-borland/qmake.conf
patch: **** Can't create file 'C:\DOCUME~1\Owner\LOCALS~1\Temp/poa00276' :
File exists
Now I'm the person with the problems :)
Jonathan