digitalmars.D.announce - Build v3.03 released
- Derek Parnell (40/40) Sep 21 2006 Release 3.03 (build #2371) is now available 20 Sep 2006
- =?ISO-8859-1?Q?Anders_F_Bj=F6rklund?= (15/19) Sep 21 2006 Seems that it needs GDC 0.20 (DMD 0.163+) to compile ? :-(
- Derek Parnell (9/33) Sep 21 2006 Sorry. I didn't know that. I haven't used GDC. I guess it will catch up
- =?ISO-8859-1?Q?Anders_F_Bj=F6rklund?= (19/28) Sep 21 2006 According to the changelog it was introduced in DMD 0.163,
- Sean Kelly (4/13) Sep 21 2006 FWIW, the GDC source available via SVN is more up to date. I believe
- =?ISO-8859-1?Q?Anders_F_Bj=F6rklund?= (5/10) Sep 21 2006 Cool, haven't really payed attention while trying to wxD out...
- Lutger (4/9) Sep 21 2006 Thank you, this is great, now I can use the new import syntax with build...
- John Reimer (16/61) Sep 21 2006 Thanks, Derek!
- dickl (4/52) Sep 21 2006 Sorry to say, 3.03 is messed up for Windows builds.
- Derek Parnell (15/19) Sep 21 2006 Damn! So am I! I forgot to retest this.
- dickl (14/34) Sep 21 2006 That won't quite work, it leaves a trailing '+' which the linker doesn't...
- Derek Parnell (24/26) Sep 21 2006 LOL. Yeah, I found that out in my testing.
- dickl (5/31) Sep 22 2006 I forgot to mention & since you are fixing things... the same problem
- ns (5/31) Oct 10 2006 Can someone please send me the windows binary of fixed version of build
- Derek Parnell (7/9) Oct 10 2006 I was going to release 3.04 yesterday but dsource was down for me. I jus...
- Gregor Richards (16/16) Sep 21 2006 In util/fdt.d, the section:
- Derek Parnell (7/25) Sep 21 2006 Hmmm...I'll have to check this out a bit more. They ought to be mutually
- Gregor Richards (4/28) Sep 21 2006 GNU/Linux on gdc is version(linux), version(Unix) and version(Posix).
- Hasan Aljudy (2/7) Sep 21 2006 Hmm, what does Mac OS X have to do with darwin and Unix?
- Gregor Richards (5/17) Sep 21 2006 ... Mac OS X is Darwin. Darwin is Unix.
- Hasan Aljudy (5/25) Sep 21 2006 Ah! Really?
- Gregor Richards (10/47) Sep 21 2006 Unix is an entire tree of operating systems, so it would be reasonable
- =?ISO-8859-1?Q?Jari-Matti_M=E4kel=E4?= (8/12) Sep 22 2006 And if a Linux-user even considered mentioning Linux and Unix (I mean
- jicman (5/49) Sep 27 2006 Derek,
- Derek Parnell (8/12) Sep 27 2006 Damn!? It doesn't? I'll go and check 'cos it was supposed to.
URL: http://www.dsource.org/projects/build Change Log Summary ------------------ '-g' is used instead of '/co' to generate debug data, '-o ' is used instead of '-of', and spaces are placed in between consecutive '-L' switches. Note that if you want to place library files on the command line, you still have to include the '.a' file suffix. is now '-L-l', 'gphobos' is used instead of 'phobos', and the makefile includes the '-version=BuildVerbose' switch. line files. ** FIX If you use the '-od' switch then the '-op' switch is not used. you can change it to anything you like. ** ENH The utility now also checks for a '[darwin]' section in the Configuration File. ** ENH The utility now supports the import syntax that was introduced with DMD v0.163. ** ENH The distribution now includes example configuration files for a number of environments. ** ENH The Configuration File now supports a new FINAL command that allows you to run jobs after a successful build. There are a number of example configuration files now distributed with the source. Please select the one closest to your own environment and tweak as needed if you are having problems with the 'default' settings. If you can't get it to run using the compiler/linker/librarian of your choice after trying the configuration files, please let me know. Note that the distributed Windows executable files have been compressed with UPX. This shouldn't be an issue but I thought you might like to know. _________________ -- Derek (skype: derek.j.parnell) Melbourne, Australia "Down with mediocrity!" 21/09/2006 6:12:20 PM
Sep 21 2006
Derek Parnell wrote:URL: http://www.dsource.org/projects/build[...]** ENH The utility now supports the import syntax that was introduced with DMD v0.163.Seems that it needs GDC 0.20 (DMD 0.163+) to compile ? :-( util/fdt.d:69: ';' expected util/fdt.d:69: no identifier for declarator std.c.windows.windows util/fdt.d:70: ';' expected util/fdt.d:70: no identifier for declarator std.c.linux.linux util/fdt.d:71: ';' expected util/fdt.d:71: no identifier for declarator std.c.darwin.darwin util/fdt.d:72: ';' expected Old compiler doesn't like those "static import" statements. --anders PS. Maybe it should be mentioned that std.c.darwin.darwin is deprecated in favor of std.c.unix.unix for all Unix
Sep 21 2006
On Thu, 21 Sep 2006 10:46:27 +0200, Anders F Björklund wrote:Derek Parnell wrote:Sorry. I didn't know that. I haven't used GDC. I guess it will catch up soon. Is there a special version that GDC sets?URL: http://www.dsource.org/projects/build[...]** ENH The utility now supports the import syntax that was introduced with DMD v0.163.Seems that it needs GDC 0.20 (DMD 0.163+) to compile ? :-( util/fdt.d:69: ';' expected util/fdt.d:69: no identifier for declarator std.c.windows.windows util/fdt.d:70: ';' expected util/fdt.d:70: no identifier for declarator std.c.linux.linux util/fdt.d:71: ';' expected util/fdt.d:71: no identifier for declarator std.c.darwin.darwin util/fdt.d:72: ';' expected Old compiler doesn't like those "static import" statements.PS. Maybe it should be mentioned that std.c.darwin.darwin is deprecated in favor of std.c.unix.unix for all UnixDidn't know that either. -- Derek Parnell Melbourne, Australia "Down with mediocrity!"
Sep 21 2006
Derek Parnell wrote:According to the changelog it was introduced in DMD 0.163, while GDC 0.19 is currently DMD 0.162 - so it was close :-)Old compiler doesn't like those "static import" statements.Sorry. I didn't know that. I haven't used GDC. I guess it will catch up soon.Is there a special version that GDC sets?Yes, GDC sets "version(GNU)" and DMD sets "version(DigitalMars)" This information is available from the "unofficial" page at: http://www.prowiki.org/wiki4d/wiki.cgi?DocComments/VersionBoth are available, and they include the same thing: (autoconf) module std.c.darwin.darwin; import gcc.configunix; The theory is that all the common stuff goes in std.c.unix.unix and that the platform specific stuff goes in std.c.${OS}.${OS} module std.c.unix.unix; /* This module imports the unix module for the currect target system. Currently, all targets can be handled with the autoconf'd version. */ import gcc.configunix; An exception is std.c.linux.linux which also imports some extra modules to stay backwards compatible with the module from DMD... --andersPS. Maybe it should be mentioned that std.c.darwin.darwin is deprecated in favor of std.c.unix.unix for all UnixDidn't know that either.
Sep 21 2006
Anders F Björklund wrote:Derek Parnell wrote:FWIW, the GDC source available via SVN is more up to date. I believe it's in synch with DMD 166. SeanAccording to the changelog it was introduced in DMD 0.163, while GDC 0.19 is currently DMD 0.162 - so it was close :-)Old compiler doesn't like those "static import" statements.Sorry. I didn't know that. I haven't used GDC. I guess it will catch up soon.
Sep 21 2006
Sean Kelly wrote:Cool, haven't really payed attention while trying to wxD out... Maybe we need nightly builds of GDC ? :-) I might do an interim release for Mac and Win, since I had planned to upgrade GCC anyway. --andersAccording to the changelog it was introduced in DMD 0.163, while GDC 0.19 is currently DMD 0.162 - so it was close :-)FWIW, the GDC source available via SVN is more up to date. I believe it's in synch with DMD 166.
Sep 21 2006
Derek Parnell wrote:URL: http://www.dsource.org/projects/build Change Log Summary (...)Thank you, this is great, now I can use the new import syntax with build! The changes to the -od switch will make generating documentation with build quite effortless.
Sep 21 2006
Thanks, Derek! I've been waiting for this update. :D -JJR On Thu, 21 Sep 2006 01:17:35 -0700, Derek Parnell = <derek nomail.afraid.org> wrote:URL: http://www.dsource.org/projects/build Change Log Summary ------------------ry,'-g' is used instead of '/co' to generate debug data, '-o ' is used =instead of '-of', and spaces are placed in between consecutive '-L' switches. ==Note that if you want to place library files on the command line, you still==have to include the '.a' file suffix.switch is now '-L-l', 'gphobos' is used instead of 'phobos', and the makefile=includes the '-version=3DBuildVerbose' switch.command line files. ** FIX If you use the '-od' switch then the '-op' switch is not used.utyou can change it to anything you like. ** ENH The utility now also checks for a '[darwin]' section in the Configuration File. ** ENH The utility now supports the import syntax that was introduced ==with DMD v0.163. ** ENH The distribution now includes example configuration files for a=number of environments. ** ENH The Configuration File now supports a new FINAL command that =allows you to run jobs after a successful build. There are a number of example configuration files now distributed with==the source. Please select the one closest to your own environment and twea=k =as needed if you are having problems with the 'default' settings. If you ==can't get it to run using the compiler/linker/librarian of your choice after=trying the configuration files, please let me know. Note that the distributed Windows executable files have been compresse=dwith UPX. This shouldn't be an issue but I thought you might like to =know. _________________-- = Using Opera's revolutionary e-mail client: http://www.opera.com/mail/
Sep 21 2006
Derek Parnell wrote:URL: http://www.dsource.org/projects/build Change Log Summary ------------------ '-g' is used instead of '/co' to generate debug data, '-o ' is used instead of '-of', and spaces are placed in between consecutive '-L' switches. Note that if you want to place library files on the command line, you still have to include the '.a' file suffix. is now '-L-l', 'gphobos' is used instead of 'phobos', and the makefile includes the '-version=BuildVerbose' switch. line files. ** FIX If you use the '-od' switch then the '-op' switch is not used. you can change it to anything you like. ** ENH The utility now also checks for a '[darwin]' section in the Configuration File. ** ENH The utility now supports the import syntax that was introduced with DMD v0.163. ** ENH The distribution now includes example configuration files for a number of environments. ** ENH The Configuration File now supports a new FINAL command that allows you to run jobs after a successful build. There are a number of example configuration files now distributed with the source. Please select the one closest to your own environment and tweak as needed if you are having problems with the 'default' settings. If you can't get it to run using the compiler/linker/librarian of your choice after trying the configuration files, please let me know. Note that the distributed Windows executable files have been compressed with UPX. This shouldn't be an issue but I thought you might like to know. _________________Sorry to say, 3.03 is messed up for Windows builds. In the linker .rsp file, the libraries are placed on separate lines. Optlink wants all the libraries on 1 line with '+' between the lib names.
Sep 21 2006
On Thu, 21 Sep 2006 13:24:33 -0400, dickl wrote:Sorry to say, 3.03 is messed up for Windows builds.Damn! So am I! I forgot to retest this.In the linker .rsp file, the libraries are placed on separate lines. Optlink wants all the libraries on 1 line with '+' between the lib names.A quick fix would be to replace lines 1079-1082 in build.d with ... lCommandLine ~= vLinkLibSwitch ~ util.str.enquote(lLib) ~ vArgFileDelim; } } lCommandLine ~= "\n"; I think this will work but I haven't tested it yet. I'll do that later today. -- Derek Parnell Melbourne, Australia "Down with mediocrity!"
Sep 21 2006
That won't quite work, it leaves a trailing '+' which the linker doesn't like. The change needs to be something like this if (lLibraryFiles.length > 0) { foreach( char[] lLib; lLibraryFiles) { lLib = std.path.addExt(lLib, vLibExtention); lCommandLine ~= vLinkLibSwitch ~ util.str.enquote(lLib) ~ vArgFileDelim; } lCommandLine.length = lCommandLine.length -1; } lCommandLine ~= "\n"; Derek Parnell wrote:On Thu, 21 Sep 2006 13:24:33 -0400, dickl wrote:Sorry to say, 3.03 is messed up for Windows builds.Damn! So am I! I forgot to retest this.In the linker .rsp file, the libraries are placed on separate lines. Optlink wants all the libraries on 1 line with '+' between the lib names.A quick fix would be to replace lines 1079-1082 in build.d with ... lCommandLine ~= vLinkLibSwitch ~ util.str.enquote(lLib) ~ vArgFileDelim; } } lCommandLine ~= "\n"; I think this will work but I haven't tested it yet. I'll do that later today.
Sep 21 2006
On Thu, 21 Sep 2006 22:17:57 -0400, dickl wrote:That won't quite work, it leaves a trailing '+' which the linker doesn't like.LOL. Yeah, I found that out in my testing. Here is the code I ended up using.... lLibraryFiles = vDefaultLibs ~ lLibraryFiles; if (lLibraryFiles.length > 0) { foreach( int i, char[] lLib; lLibraryFiles) { lLib = std.path.addExt(lLib, vLibExtention); if (i > 0) lCommandLine ~= vArgFileDelim; lCommandLine ~= vLinkLibSwitch ~ util.str.enquote(lLib); } } lCommandLine ~= "\n"; This caters for situations where the 'vArgFileDelim' is longer than one character. -- Derek (skype: derek.j.parnell) Melbourne, Australia "Down with mediocrity!" 22/09/2006 2:18:58 PM
Sep 21 2006
I forgot to mention & since you are fixing things... the same problem occurs with the .RES file, a '+' is on there after the file and before the linker flags. The linker doesn't seem to care but it really shouldn't be there. Derek Parnell wrote:On Thu, 21 Sep 2006 22:17:57 -0400, dickl wrote:That won't quite work, it leaves a trailing '+' which the linker doesn't like.LOL. Yeah, I found that out in my testing. Here is the code I ended up using.... lLibraryFiles = vDefaultLibs ~ lLibraryFiles; if (lLibraryFiles.length > 0) { foreach( int i, char[] lLib; lLibraryFiles) { lLib = std.path.addExt(lLib, vLibExtention); if (i > 0) lCommandLine ~= vArgFileDelim; lCommandLine ~= vLinkLibSwitch ~ util.str.enquote(lLib); } } lCommandLine ~= "\n"; This caters for situations where the 'vArgFileDelim' is longer than one character.
Sep 22 2006
Can someone please send me the windows binary of fixed version of build ? I cannot compile my projects :-( Thanks ns Derek Parnell wrote:On Thu, 21 Sep 2006 22:17:57 -0400, dickl wrote:That won't quite work, it leaves a trailing '+' which the linker doesn't like.LOL. Yeah, I found that out in my testing. Here is the code I ended up using.... lLibraryFiles = vDefaultLibs ~ lLibraryFiles; if (lLibraryFiles.length > 0) { foreach( int i, char[] lLib; lLibraryFiles) { lLib = std.path.addExt(lLib, vLibExtention); if (i > 0) lCommandLine ~= vArgFileDelim; lCommandLine ~= vLinkLibSwitch ~ util.str.enquote(lLib); } } lCommandLine ~= "\n"; This caters for situations where the 'vArgFileDelim' is longer than one character.
Oct 10 2006
On Tue, 10 Oct 2006 14:33:11 -0400, ns wrote:Can someone please send me the windows binary of fixed version of build ? I cannot compile my projects :-(I was going to release 3.04 yesterday but dsource was down for me. I just checked and its up again so I'll make a release in the next few hours. -- Derek Parnell Melbourne, Australia "Down with mediocrity!"
Oct 10 2006
In util/fdt.d, the section: version(Windows) static import opsys = std.c.windows.windows; version(linux) static import opsys = std.c.linux.linux; version(darwin) static import opsys = std.c.darwin.darwin; version(Unix) static import opsys = std.c.unix; version(Posix) static import std.string; needs to become: version(Windows) static import opsys = std.c.windows.windows; else version(linux) static import opsys = std.c.linux.linux; else version(darwin) static import opsys = std.c.darwin.darwin; else version(Unix) static import opsys = std.c.unix; else version(Posix) static import std.string; This is because the different platforms aren't mutually exclusive, so it'll end up importing two modules as opsys, oops :( - Gregor Richards PS: With that change, works fine with GDC-svn
Sep 21 2006
On Thu, 21 Sep 2006 11:44:08 -0700, Gregor Richards wrote:In util/fdt.d, the section: version(Windows) static import opsys = std.c.windows.windows; version(linux) static import opsys = std.c.linux.linux; version(darwin) static import opsys = std.c.darwin.darwin; version(Unix) static import opsys = std.c.unix; version(Posix) static import std.string; needs to become: version(Windows) static import opsys = std.c.windows.windows; else version(linux) static import opsys = std.c.linux.linux; else version(darwin) static import opsys = std.c.darwin.darwin; else version(Unix) static import opsys = std.c.unix; else version(Posix) static import std.string; This is because the different platforms aren't mutually exclusive, so it'll end up importing two modules as opsys, oops :(Hmmm...I'll have to check this out a bit more. They ought to be mutually exclusive, IMHO. -- Derek Parnell Melbourne, Australia "Down with mediocrity!"
Sep 21 2006
Derek Parnell wrote:On Thu, 21 Sep 2006 11:44:08 -0700, Gregor Richards wrote:GNU/Linux on gdc is version(linux), version(Unix) and version(Posix). Mac OS X is version(darwin), version(Unix) and version(Posix). - Gregor RichardsIn util/fdt.d, the section: version(Windows) static import opsys = std.c.windows.windows; version(linux) static import opsys = std.c.linux.linux; version(darwin) static import opsys = std.c.darwin.darwin; version(Unix) static import opsys = std.c.unix; version(Posix) static import std.string; needs to become: version(Windows) static import opsys = std.c.windows.windows; else version(linux) static import opsys = std.c.linux.linux; else version(darwin) static import opsys = std.c.darwin.darwin; else version(Unix) static import opsys = std.c.unix; else version(Posix) static import std.string; This is because the different platforms aren't mutually exclusive, so it'll end up importing two modules as opsys, oops :(Hmmm...I'll have to check this out a bit more. They ought to be mutually exclusive, IMHO.
Sep 21 2006
Gregor Richards wrote:GNU/Linux on gdc is version(linux), version(Unix) and version(Posix). Mac OS X is version(darwin), version(Unix) and version(Posix). - Gregor RichardsHmm, what does Mac OS X have to do with darwin and Unix?
Sep 21 2006
Hasan Aljudy wrote:Gregor Richards wrote:... Mac OS X is Darwin. Darwin is Unix. - Gregor Richards PS: Actually, it would be reasonable to remove version(Unix) from GNU/Linux, as GNU's Not Unix, but Mac OS X most certainly is.GNU/Linux on gdc is version(linux), version(Unix) and version(Posix). Mac OS X is version(darwin), version(Unix) and version(Posix). - Gregor RichardsHmm, what does Mac OS X have to do with darwin and Unix?
Sep 21 2006
Gregor Richards wrote:Hasan Aljudy wrote:Ah! Really? I thought darwin was just another linux distribution! hahaha!Gregor Richards wrote:... Mac OS X is Darwin. Darwin is Unix.GNU/Linux on gdc is version(linux), version(Unix) and version(Posix). Mac OS X is version(darwin), version(Unix) and version(Posix). - Gregor RichardsHmm, what does Mac OS X have to do with darwin and Unix?- Gregor Richards PS: Actually, it would be reasonable to remove version(Unix) from GNU/Linux, as GNU's Not Unix, but Mac OS X most certainly is.OK, is it "Darwin is Unix" or is it "Darwin is *a* Unix"? Sorry, I don't understand the Unix/Linux/GNU world. <g>
Sep 21 2006
Hasan Aljudy wrote:Gregor Richards wrote:Unix is an entire tree of operating systems, so it would be reasonable to say "Darwin is *a* Unix". Darwin is a Unix because, if you trace back its lineage, it has its roots in the original Unixes (SysVR4, BSD, etc). And the reason that linux is marked as a Unix is being linux works very much like a Unix, even though it's not actually based in code on Unix at all. So while it's technically not a Unix, it acts like one. More so than Mac OS X, actually ;) - Gregor RichardsHasan Aljudy wrote:Ah! Really? I thought darwin was just another linux distribution! hahaha!Gregor Richards wrote:... Mac OS X is Darwin. Darwin is Unix.GNU/Linux on gdc is version(linux), version(Unix) and version(Posix). Mac OS X is version(darwin), version(Unix) and version(Posix). - Gregor RichardsHmm, what does Mac OS X have to do with darwin and Unix?- Gregor Richards PS: Actually, it would be reasonable to remove version(Unix) from GNU/Linux, as GNU's Not Unix, but Mac OS X most certainly is.OK, is it "Darwin is Unix" or is it "Darwin is *a* Unix"? Sorry, I don't understand the Unix/Linux/GNU world. <g>
Sep 21 2006
Gregor Richards wrote:And the reason that linux is marked as a Unix is being linux works very much like a Unix, even though it's not actually based in code on Unix at all. So while it's technically not a Unix, it acts like one. More so than Mac OS X, actually ;)And if a Linux-user even considered mentioning Linux and Unix (I mean *nix :) in the same sentence, SCO would immediately sue them all for infringing their copyrights/trademarks/patents/etc. BTW, the patent trolls are again trying to ram through software patents here in EU. It seems they'll never stop until they get that stupid law. -- Jari-Matti
Sep 22 2006
Derek, this build does not have the _bn fix? Does it? I tried it and it still does not increase the build count. "Derek Parnell" wrote in message news:1chqqg0sml1xa.lnznj8tffy3u$.dlg 40tude.net...URL: http://www.dsource.org/projects/build Change Log Summary ------------------ '-g' is used instead of '/co' to generate debug data, '-o ' is used instead of '-of', and spaces are placed in between consecutive '-L' switches. Note that if you want to place library files on the command line, you still have to include the '.a' file suffix. switch is now '-L-l', 'gphobos' is used instead of 'phobos', and the makefile includes the '-version=BuildVerbose' switch. line files. ** FIX If you use the '-od' switch then the '-op' switch is not used. you can change it to anything you like. ** ENH The utility now also checks for a '[darwin]' section in the Configuration File. ** ENH The utility now supports the import syntax that was introduced with DMD v0.163. ** ENH The distribution now includes example configuration files for a number of environments. ** ENH The Configuration File now supports a new FINAL command that allows you to run jobs after a successful build. There are a number of example configuration files now distributed with the source. Please select the one closest to your own environment and tweak as needed if you are having problems with the 'default' settings. If you can't get it to run using the compiler/linker/librarian of your choice after trying the configuration files, please let me know. Note that the distributed Windows executable files have been compressed with UPX. This shouldn't be an issue but I thought you might like to know. _________________ -- Derek (skype: derek.j.parnell) Melbourne, Australia "Down with mediocrity!" 21/09/2006 6:12:20 PM
Sep 27 2006
On Wed, 27 Sep 2006 23:52:43 -0400, jicman wrote:Derek, this build does not have the _bn fix? Does it? I tried it and it still does not increase the build count.Damn!? It doesn't? I'll go and check 'cos it was supposed to. -- Derek (skype: derek.j.parnell) Melbourne, Australia "Down with mediocrity!" 28/09/2006 3:49:52 PM
Sep 27 2006