www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - Build version 3.02 released

reply "Derek Parnell" <derek psych.ward> writes:
The version 3.02 can be downloaded from ...

   http://www.dsource.org/projects/build/wiki

A list of changes and fixes that have been made.

** FIX: Ticket #27 When using 'gcc' as the linker tool, Build now uses a  
space character to delimit file names.

** FIX: Ticket #28 The Optlink switch options are now correctly placed in  
a response file

** FIX: Ticket #29 The -exec now works correctly.

** FIX: Ticket #32 The Windows executable in the distro now updates the  
auto_build_number.

** ENH: Ticket #30 The Rules subsystem can now be used to generate D  
source code. There are number of changes in this area so read the rules  
documentation and pragma documentation for details.

** ENH: Ticket #31 It is now possible to stop a source file from being  
compiled. A new "pragma(ignore)" has been implemented.

** ENH: There are some new configuration items that can be used to adjust  
the tools usage. Have a look at the example configuration file in the  
distrubution package.

-- 
Derek Parnell
Melbourne, Australia
Jun 23 2006
next sibling parent reply David Ferenczi <raggae ferenczi.net> writes:
Thank you very much for the new version!

Unfortunately, I still have some problems with linking (taking the simplest
case form last time, so everey file in the same folder):

****************************************************************************
./build kludge.d

/usr/lib/gcc/i686-pc-linux-gnu/3.4.4/../../../libphobos.a(monitor.o): In
function `_STI_monitor_staticctor':
: undefined reference to `pthread_mutexattr_init'
/usr/lib/gcc/i686-pc-linux-gnu/3.4.4/../../../libphobos.a(monitor.o): In
function `_STI_monitor_staticctor':
: undefined reference to `pthread_mutexattr_settype'
/usr/lib/gcc/i686-pc-linux-gnu/3.4.4/../../../libphobos.a(monitor.o): In
function `_STD_monitor_staticdtor':
: undefined reference to `pthread_mutexattr_destroy'
/usr/lib/gcc/i686-pc-linux-gnu/3.4.4/../../../libphobos.a(thread.o): In
function `_D3std6thread6Thread5startFZv':
: undefined reference to `pthread_create'
/usr/lib/gcc/i686-pc-linux-gnu/3.4.4/../../../libphobos.a(thread.o): In
function `_D3std6thread6Thread4waitFZv':
: undefined reference to `pthread_join'
/usr/lib/gcc/i686-pc-linux-gnu/3.4.4/../../../libphobos.a(thread.o): In
function `_D3std6thread6Thread4waitFkZv':
: undefined reference to `pthread_cancel'
/usr/lib/gcc/i686-pc-linux-gnu/3.4.4/../../../libphobos.a(thread.o): In
function `_D3std6thread6Thread5pauseFZv':
: undefined reference to `pthread_kill'
/usr/lib/gcc/i686-pc-linux-gnu/3.4.4/../../../libphobos.a(thread.o): In
function `_D3std6thread6Thread5pauseFZv':
: undefined reference to `sem_wait'
/usr/lib/gcc/i686-pc-linux-gnu/3.4.4/../../../libphobos.a(thread.o): In
function `_D3std6thread6Thread6resumeFZv':
: undefined reference to `pthread_kill'
/usr/lib/gcc/i686-pc-linux-gnu/3.4.4/../../../libphobos.a(thread.o): In
function `_D3std6thread6Thread8pauseAllFZv':
: undefined reference to `pthread_kill'
/usr/lib/gcc/i686-pc-linux-gnu/3.4.4/../../../libphobos.a(thread.o): In
function `_D3std6thread6Thread8pauseAllFZv':
: undefined reference to `sem_wait'
/usr/lib/gcc/i686-pc-linux-gnu/3.4.4/../../../libphobos.a(thread.o): In
function `_D3std6thread6Thread4initFkZv':
: undefined reference to `pthread_attr_setstacksize'
/usr/lib/gcc/i686-pc-linux-gnu/3.4.4/../../../libphobos.a(thread.o): In
function `_D3std6thread6Thread11thread_initFZv':
: undefined reference to `sem_init'
/usr/lib/gcc/i686-pc-linux-gnu/3.4.4/../../../libphobos.a(thread.o): In
function `_D3std6thread6Thread12pauseHandlerUiZv':
: undefined reference to `sem_post'
/usr/lib/gcc/i686-pc-linux-gnu/3.4.4/../../../libphobos.a(critical.o): In
function `_STI_critical_init':
: undefined reference to `pthread_mutexattr_init'
/usr/lib/gcc/i686-pc-linux-gnu/3.4.4/../../../libphobos.a(critical.o): In
function `_STI_critical_init':
: undefined reference to `pthread_mutexattr_settype'
collect2: ld returned 1 exit status
****************************************************************************


but, adding the -g switch in the same case:

****************************************************************************
./build kludge.d -g

gcc: /co: No such file or directory
****************************************************************************

Using my fully configured build environment:

****************************************************************************
util/build src/kludge.d -debug -g -odobj/debug -ofkludgedebug -unittest -w

gcc: /co: No such file or directory
gcc: obj/debug/src/kludge.o: No such file or directory
gcc: obj/debug/src/application.o: No such file or directory
gcc: obj/debug/src/game.o: No such file or directory
gcc: obj/debug/src/searchengine.o: No such file or directory
gcc: obj/debug/src/board.o: No such file or directory
****************************************************************************

The object files are generated in the correct folder (obj/debug/), but the
linker searches for them in obj/debug/src/, since the source files are in
the src/ folder.

Could you please take a look at these issues?

Thank you very much and keep up the good work!

David

Derek Parnell wrote:

 The version 3.02 can be downloaded from ...
 
    http://www.dsource.org/projects/build/wiki
 
 A list of changes and fixes that have been made.
 
 ** FIX: Ticket #27 When using 'gcc' as the linker tool, Build now uses a
 space character to delimit file names.
 
 ** FIX: Ticket #28 The Optlink switch options are now correctly placed in
 a response file
 
 ** FIX: Ticket #29 The -exec now works correctly.
 
 ** FIX: Ticket #32 The Windows executable in the distro now updates the
 auto_build_number.
 
 ** ENH: Ticket #30 The Rules subsystem can now be used to generate D
 source code. There are number of changes in this area so read the rules
 documentation and pragma documentation for details.
 
 ** ENH: Ticket #31 It is now possible to stop a source file from being
 compiled. A new "pragma(ignore)" has been implemented.
 
 ** ENH: There are some new configuration items that can be used to adjust
 the tools usage. Have a look at the example configuration file in the
 distrubution package.
 

Jun 23 2006
parent reply "Derek Parnell" <derek psych.ward> writes:
On Sat, 24 Jun 2006 14:41:45 +1000, David Ferenczi <raggae ferenczi.net>=
  =

wrote:

 Thank you very much for the new version!

 Unfortunately, I still have some problems with linking (taking the  =

 simplest
 case form last time, so everey file in the same folder):

 **********************************************************************=

 ./build kludge.d

 /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/../../../libphobos.a(monitor.o): =

 function `_STI_monitor_staticctor':

Sounds like a library not getting used. I don't know which library or ho= w = it's being referred to. Maybe somebody with GCC experience can help us = here.
 but, adding the -g switch in the same case:

 **********************************************************************=

 ./build kludge.d -g

 gcc: /co: No such file or directory

The "/co" has been added because that's what I guessed was the GCC switc= h = to create debugging info. It seems that this is not the right switch to = = use. Create or update the build.cfg file to include a line ... INIT:SymInfoSwitch =3D <what_ever_is_correct> Have a look at the Configuration file documentation for more details... http://build.dsource.org/configuration_file.html
 Using my fully configured build environment:

 **********************************************************************=

 util/build src/kludge.d -debug -g -odobj/debug -ofkludgedebug -unittes=

 -w

 gcc: /co: No such file or directory
 gcc: obj/debug/src/kludge.o: No such file or directory
 gcc: obj/debug/src/application.o: No such file or directory
 gcc: obj/debug/src/game.o: No such file or directory
 gcc: obj/debug/src/searchengine.o: No such file or directory
 gcc: obj/debug/src/board.o: No such file or directory
 **********************************************************************=

 The object files are generated in the correct folder (obj/debug/), but=

 the
 linker searches for them in obj/debug/src/, since the source files are=

 the src/ folder.

Okay, this might be a bug in unix builds as it works on my windows syste= m. = I'll look into this. -- = Derek Parnell Melbourne, Australia
Jun 24 2006
parent Carlos Santander <csantander619 gmail.com> writes:
Derek Parnell escribió:
 On Sat, 24 Jun 2006 14:41:45 +1000, David Ferenczi <raggae ferenczi.net> 
 wrote:
 
 Thank you very much for the new version!

 Unfortunately, I still have some problems with linking (taking the 
 simplest
 case form last time, so everey file in the same folder):

 **************************************************************************** 

 ./build kludge.d

 /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/../../../libphobos.a(monitor.o): In
 function `_STI_monitor_staticctor':

Sounds like a library not getting used. I don't know which library or how it's being referred to. Maybe somebody with GCC experience can help us here.

-lpthread If you didn't add that, maybe you didn't add -lm either. Just remember to add them after -lphobos. And speaking of which (just in case, I haven't checked yet) it's -lgphobos for gdc.
 but, adding the -g switch in the same case:

 **************************************************************************** 

 ./build kludge.d -g

 gcc: /co: No such file or directory

The "/co" has been added because that's what I guessed was the GCC switch to create debugging info. It seems that this is not the right switch to use. Create or update the build.cfg file to include a line ... INIT:SymInfoSwitch = <what_ever_is_correct> Have a look at the Configuration file documentation for more details... http://build.dsource.org/configuration_file.html

The correct flag is -g
 Using my fully configured build environment:

 **************************************************************************** 

 util/build src/kludge.d -debug -g -odobj/debug -ofkludgedebug 
 -unittest -w

 gcc: /co: No such file or directory
 gcc: obj/debug/src/kludge.o: No such file or directory
 gcc: obj/debug/src/application.o: No such file or directory
 gcc: obj/debug/src/game.o: No such file or directory
 gcc: obj/debug/src/searchengine.o: No such file or directory
 gcc: obj/debug/src/board.o: No such file or directory
 **************************************************************************** 


 The object files are generated in the correct folder (obj/debug/), but 
 the
 linker searches for them in obj/debug/src/, since the source files are in
 the src/ folder.

Okay, this might be a bug in unix builds as it works on my windows system. I'll look into this. --Derek Parnell Melbourne, Australia

-- Carlos Santander Bernal
Jun 24 2006
prev sibling next sibling parent dickl <dick221z yahoo.com> writes:
The new version seems to be working for me. Thanks much !!!

I noticed in the .ksp file that there is a '+' after the resource file 
and before the linker options.  Doesn't seem to break anything though.

Dick


Derek Parnell wrote:
 The version 3.02 can be downloaded from ...
 
   http://www.dsource.org/projects/build/wiki
 
 A list of changes and fixes that have been made.
 
 ** FIX: Ticket #27 When using 'gcc' as the linker tool, Build now uses a 
 space character to delimit file names.
 
 ** FIX: Ticket #28 The Optlink switch options are now correctly placed 
 in a response file
 
 ** FIX: Ticket #29 The -exec now works correctly.
 
 ** FIX: Ticket #32 The Windows executable in the distro now updates the 
 auto_build_number.
 
 ** ENH: Ticket #30 The Rules subsystem can now be used to generate D 
 source code. There are number of changes in this area so read the rules 
 documentation and pragma documentation for details.
 
 ** ENH: Ticket #31 It is now possible to stop a source file from being 
 compiled. A new "pragma(ignore)" has been implemented.
 
 ** ENH: There are some new configuration items that can be used to 
 adjust the tools usage. Have a look at the example configuration file in 
 the distrubution package.
 
 --Derek Parnell
 Melbourne, Australia

Jun 24 2006
prev sibling parent Vladimir <vlasov scatt.com> writes:
Thank you

Derek Parnell wrote:
 The version 3.02 can be downloaded from ...
 
   http://www.dsource.org/projects/build/wiki
 
 A list of changes and fixes that have been made.
 
 ** FIX: Ticket #27 When using 'gcc' as the linker tool, Build now uses a 
 space character to delimit file names.
 
 ** FIX: Ticket #28 The Optlink switch options are now correctly placed 
 in a response file
 
 ** FIX: Ticket #29 The -exec now works correctly.
 
 ** FIX: Ticket #32 The Windows executable in the distro now updates the 
 auto_build_number.
 
 ** ENH: Ticket #30 The Rules subsystem can now be used to generate D 
 source code. There are number of changes in this area so read the rules 
 documentation and pragma documentation for details.
 
 ** ENH: Ticket #31 It is now possible to stop a source file from being 
 compiled. A new "pragma(ignore)" has been implemented.
 
 ** ENH: There are some new configuration items that can be used to 
 adjust the tools usage. Have a look at the example configuration file in 
 the distrubution package.
 
 --Derek Parnell
 Melbourne, Australia

Jun 26 2006