July 26, 2012
On 7/24/12, Walter Bright <walter@digitalmars.com> wrote:
> http://ftp.digitalmars.com/dmd2beta.zip

Found a linker bug for 2.060. Compiling with -c on a module-by-module basis creates linking errors and a linker crash. Test-case for a Win32 machine:

$ git clone https://github.com/AndrejMitrovic/WindowsAPI.git

Open the WindowsAPI folder and paste this D script:
module build;

import std.array;
import std.conv;
import std.stdio;
import std.parallelism;
import std.file;
import std.path;
import std.process;
import std.string;

alias std.string.join join;

void main()
{
    string[] objFiles;

    string[] entries;
    foreach (string entry; dirEntries(r"win32", SpanMode.shallow))
        entries ~= entry;  // .array won't work.., to!string[] won't work..

    foreach (string entry; parallel(entries, 1))
    {
        string objFile = entry.stripExtension.setExtension(".obj");
        objFiles ~= objFile;

        string cmd = format("dmd -c -version=Unicode
-version=WindowsXP %s -of%s", entry, objFile);
        system(cmd);
    }

    system("echo void main() { } > test.d");
    string cmd = format("dmd test.d -version=Unicode
-version=WindowsXP %s", objFiles.join(" "));
    system(cmd);
}

Run it:
$ rdmd build.d

This is what I get:

 Error 32: Data Outside Segment Bounds : _DATA
win32\mmsystem.obj(mmsystem)
 Error 32: Data Outside Segment Bounds : _DATA
win32\mmsystem.obj(mmsystem)
 Error 32: Data Outside Segment Bounds : _DATA
win32\mmsystem.obj(mmsystem)
 Error 32: Data Outside Segment Bounds : _DATA
win32\mmsystem.obj(mmsystem)
 Error 32: Data Outside Segment Bounds : _DATA

and a crash:

---------------------------
Unexpected OPTLINK Termination at EIP=00402C6C
---------------------------
EAX=017C0000 EBX=004C22F8 ECX=00000004 EDX=0001FFFF ESI=010524DC EDI=00003FF8 EBP=0012FFF0 ESP=0012FF84 First=00402000

The script works fine with 2.059.
_______________________________________________
dmd-beta mailing list
dmd-beta@puremagic.com
http://lists.puremagic.com/mailman/listinfo/dmd-beta

July 26, 2012
On 7/26/12, Andrej Mitrovic <andrej.mitrovich@gmail.com> wrote:
> On 7/24/12, Walter Bright <walter@digitalmars.com> wrote:
>> http://ftp.digitalmars.com/dmd2beta.zip
>
> Found a linker bug for 2.060.

Sorry, should have put in Bugzilla not in forum:
http://d.puremagic.com/issues/show_bug.cgi?id=8443
_______________________________________________
dmd-beta mailing list
dmd-beta@puremagic.com
http://lists.puremagic.com/mailman/listinfo/dmd-beta

July 27, 2012
On Tue, 24 Jul 2012 20:21:48 +0200, David Simcha <dsimcha@gmail.com> wrote:

> The more I think about it the more I think we need a tool for automatically
> checking out and building the latest releases of DMD/druntime/Phobos that's:
>
> 1.  Easy to use.
>
> 2.  Well-documented.
>
> 3.  Cross-platform.
>
> 4.  Configurability/not hard-coding everything.
>
> I don't know how many times I've put off creating pull requests for
> relatively minor improvements to Phobos because of the hassle of either
> writing such a tool myself (I've written a quick/dirty/ad-hoc one just for
> myself but it really sucks in almost all attributes mentioned) or manually
> updating everything before I could get started.
>
https://github.com/D-Programming-Language/tools/blob/master/update.sh
_______________________________________________
dmd-beta mailing list
dmd-beta@puremagic.com
http://lists.puremagic.com/mailman/listinfo/dmd-beta

July 27, 2012
On 27 jul 2012, at 02:18, Martin Nowak <dawg@dawgfoto.de> wrote:

> https://github.com/D-Programming-Language/tools/blob/master/update.sh

Since when are shell scripts cross platform?

--
/Jacob Carlborg
_______________________________________________
dmd-beta mailing list
dmd-beta@puremagic.com
http://lists.puremagic.com/mailman/listinfo/dmd-beta

July 27, 2012
On Fri, Jul 27, 2012 at 7:44 AM, Jacob Carlborg <doob@me.com> wrote:
> On 27 jul 2012, at 02:18, Martin Nowak <dawg@dawgfoto.de> wrote:
>
>> https://github.com/D-Programming-Language/tools/blob/master/update.sh
>
> Since when are shell scripts cross platform?
>
> --
> /Jacob Carlborg
> _______________________________________________
> dmd-beta mailing list
> dmd-beta@puremagic.com
> http://lists.puremagic.com/mailman/listinfo/dmd-beta

Since always? I mean, nobody actually uses cmd.exe on Windows, do they?

It's literally the only platform without a shell installed by default, and even then, getting a shell via MinGW or Cygwin is trivial.

Regards,
Alex
_______________________________________________
dmd-beta mailing list
dmd-beta@puremagic.com
http://lists.puremagic.com/mailman/listinfo/dmd-beta

July 27, 2012
On Jul 27, 2012, at 08:54 AM, Alex Rønne Petersen <xtzgzorex@gmail.com> wrote:

> Since always? I mean, nobody actually uses cmd.exe on Windows, do they?

First, shell scripts are not portable. You have to be very careful which language constructs you choose to use. It's very easy you suddenly use a language construct that is an extension only available in a particular shell.

> It's literally the only platform without a shell installed by default, and even then, getting a shell via MinGW or Cygwin is trivial.

I don't agree. I wouldn't want to ask my users of an application/tool to have to install MinGW or Cygwin. Preferably the shouldn't have to install anything. That basically means native code.

--
/Jacob Carlborg


July 27, 2012
On Fri, Jul 27, 2012 at 9:04 AM, Jacob Carlborg <doob@me.com> wrote:
> On Jul 27, 2012, at 08:54 AM, Alex Rønne Petersen <xtzgzorex@gmail.com> wrote:
>
> Since always? I mean, nobody actually uses cmd.exe on Windows, do they?
>
>
> First, shell scripts are not portable. You have to be very careful which language constructs you choose to use. It's very easy you suddenly use a language construct that is an extension only available in a particular shell.

Then I think you mean those extensions aren't portable. :)

Also, the script is written for zsh which is fully compatible with bash, which is available practically everywhere. It's not just a generic sh script, but is still portable enough by being written for bash.

>
>
> It's literally the only platform without a shell installed by default, and even then, getting a shell via MinGW or Cygwin is trivial.
>
>
> I don't agree. I wouldn't want to ask my users of an application/tool to have to install MinGW or Cygwin. Preferably the shouldn't have to install anything. That basically means native code.

This is a script for use by developers, not by end users. Can you honestly develop on Windows without MinGW/Cygwin? I wouldn't even bother with the platform if it wasn't for those two.

>
> --
> /Jacob Carlborg
>
> _______________________________________________
> dmd-beta mailing list
> dmd-beta@puremagic.com
> http://lists.puremagic.com/mailman/listinfo/dmd-beta

Regards,
Alex
_______________________________________________
dmd-beta mailing list
dmd-beta@puremagic.com
http://lists.puremagic.com/mailman/listinfo/dmd-beta

July 27, 2012
On 27-Jul-12 12:48, Alex Rønne Petersen wrote:
> On Fri, Jul 27, 2012 at 9:04 AM, Jacob Carlborg <doob@me.com> wrote:
>> On Jul 27, 2012, at 08:54 AM, Alex Rønne Petersen <xtzgzorex@gmail.com>
>> wrote:
>>
>> Since always? I mean, nobody actually uses cmd.exe on Windows, do they?
>>
>>
>> First, shell scripts are not portable. You have to be very careful which
>> language constructs you choose to use. It's very easy you suddenly use a
>> language construct that is an extension only available in a particular
>> shell.
> Then I think you mean those extensions aren't portable. :)
>
> Also, the script is written for zsh which is fully compatible with
> bash, which is available practically everywhere.
Nope. But say D script would indeed run on all interesting platforms.

>>
>> It's literally the only platform without a shell installed by default,
>> and even then, getting a shell via MinGW or Cygwin is trivial.
>>
>>
>> I don't agree. I wouldn't want to ask my users of an application/tool to
>> have to install MinGW or Cygwin. Preferably the shouldn't have to install
>> anything. That basically means native code.
> This is a script for use by developers, not by end users. Can you
> honestly develop on Windows without MinGW/Cygwin
I can and in fact do. Personally, I find shell scripts durty & unreliable. Quick & dirty is the first thing that comes to mind when I think shell scrip.  Yeah you may use them to do `this thing` on *NIX, but proposing them as portable tool - just meh.

-- 
Dmitry Olshansky

_______________________________________________
dmd-beta mailing list
dmd-beta@puremagic.com
http://lists.puremagic.com/mailman/listinfo/dmd-beta

July 27, 2012
On 27 July 2012 09:04, Jacob Carlborg <doob@me.com> wrote:
> On Jul 27, 2012, at 08:54 AM, Alex Rønne Petersen <xtzgzorex@gmail.com> wrote:
>
> Since always? I mean, nobody actually uses cmd.exe on Windows, do they?
>
>
> First, shell scripts are not portable. You have to be very careful which language constructs you choose to use. It's very easy you suddenly use a language construct that is an extension only available in a particular shell.
>
>
> It's literally the only platform without a shell installed by default, and even then, getting a shell via MinGW or Cygwin is trivial.
>
>
> I don't agree. I wouldn't want to ask my users of an application/tool to have to install MinGW or Cygwin. Preferably the shouldn't have to install anything. That basically means native code.

It's easy to download it, but integrating it into your system can go
pretty badly wrong.
For example, if you end up with gnu make installed, you need to make
sure it never
gets called instead of Windows make.
Oh the fun you can have if you end up with both MinGW and Cygwin installed...

Windows still has nearly 90% market share. it's not acceptable to treat it as a second class citizen, especially on something as trivial as this.

Seriously, we want to remove every possible to barrier to participation.
_______________________________________________
dmd-beta mailing list
dmd-beta@puremagic.com
http://lists.puremagic.com/mailman/listinfo/dmd-beta

July 27, 2012
On Fri, Jul 27, 2012 at 10:59 AM, Dmitry Olshansky <dmitry.olsh@gmail.com> wrote:
> On 27-Jul-12 12:48, Alex Rønne Petersen wrote:
>>
>> On Fri, Jul 27, 2012 at 9:04 AM, Jacob Carlborg <doob@me.com> wrote:
>>>
>>> On Jul 27, 2012, at 08:54 AM, Alex Rønne Petersen <xtzgzorex@gmail.com> wrote:
>>>
>>> Since always? I mean, nobody actually uses cmd.exe on Windows, do they?
>>>
>>>
>>> First, shell scripts are not portable. You have to be very careful which language constructs you choose to use. It's very easy you suddenly use a language construct that is an extension only available in a particular shell.
>>
>> Then I think you mean those extensions aren't portable. :)
>>
>> Also, the script is written for zsh which is fully compatible with bash, which is available practically everywhere.
>
> Nope. But say D script would indeed run on all interesting platforms.

"Nope" is not a very convincing argument. :)

D is most certainly *not* available on all interesting platforms yet, unless x86 is the only interesting platform to you...

>
>
>>>
>>> It's literally the only platform without a shell installed by default, and even then, getting a shell via MinGW or Cygwin is trivial.
>>>
>>>
>>> I don't agree. I wouldn't want to ask my users of an application/tool to have to install MinGW or Cygwin. Preferably the shouldn't have to install anything. That basically means native code.
>>
>> This is a script for use by developers, not by end users. Can you honestly develop on Windows without MinGW/Cygwin
>
> I can and in fact do. Personally, I find shell scripts durty & unreliable. Quick & dirty is the first thing that comes to mind when I think shell scrip.  Yeah you may use them to do `this thing` on *NIX, but proposing them as portable tool - just meh.

They are more portable than D 'scripts'.

>
> --
> Dmitry Olshansky
>
>
> _______________________________________________
> dmd-beta mailing list
> dmd-beta@puremagic.com
> http://lists.puremagic.com/mailman/listinfo/dmd-beta

Regards,
Alex
_______________________________________________
dmd-beta mailing list
dmd-beta@puremagic.com
http://lists.puremagic.com/mailman/listinfo/dmd-beta