May 12, 2015
On 2015-05-12 17:03, Andrei Alexandrescu wrote:

> dvm is fine as long as its installation itself is automated.

The installation is a one-liner command:

curl -L -o dvm https://github.com/jacob-carlborg/dvm/releases/download/v0.4.3/dvm-0.4.3-osx && chmod +x dvm && ./dvm install dvm

Binaries are available on Windows, Linux (32 and 64bit) and OS X.

-- 
/Jacob Carlborg
May 12, 2015
On Mon, May 11, 2015 at 11:20 PM, Ali Çehreli <digitalmars-d@puremagic.com> wrote:

> On 05/11/2015 10:23 AM, Timothee Cour via Digitalmars-d wrote:
>
> > I notice CC is set to 'g++' in posix.mak which is untypical (instead
> > of gcc for example)
>
> That is required because although all implementation files are C++, they have extension .c. If CC were gcc, it would assume C compilation. Therefore, g++ is needed to make it C++ compilation.
>
> Ali
>
>
That seems like a hacky patch to fix issue with wrong extension. why not use this: 'g++ -x c++ ' (ie treats input file as c++) That looks cleaner than assigning CC=g++


May 12, 2015
On Tue, May 12, 2015 at 4:45 AM, Daniel Murphy via Digitalmars-d < digitalmars-d@puremagic.com> wrote:

>
> "Timothee Cour via Digitalmars-d" <digitalmars-d@puremagic.com> wrote in message news:mailman.896.1431405519.4581.digitalmars-d@puremagic.com...
>
>  I still think it is a regression.
>> I did have dmd (2.067) in the path, see the whole thread for my
>> diagnostic:
>>
>> http://forum.dlang.org/thread/mailman.861.1431333078.4581.digitalmars-d@puremagic.com#post-mailman.878.1431365007.4581.digitalmars-d:40puremagic.com
>> (cf message 'I had 'export'...)
>>
>
> DMD uses 'CC' as the linker, but I'm not sure why settings CC would generate that error.
>
>  g++ -m64: No such file or directory
>>>
>>
>
Try setting it, it fails when I do.


> This should mean that there is no g++ in path, but it does look like CC is being set correctly by the makefile.
>

g++ is in the path.


May 12, 2015
On Tuesday, 12 May 2015 at 15:03:59 UTC, Andrei Alexandrescu wrote:
> On 5/12/15 4:47 AM, Daniel Murphy wrote:
>> "Andrei Alexandrescu"  wrote in message
>> news:mis2ub$j0s$1@digitalmars.com...
>>
>>> Can we automate installation of the last C++-based dmd via scripting?
>>> -- Andrei
>>
>> Can't people just use dvm?  I suppose we could add a makefile target
>> that grabs the zip or something...
>
> dvm is fine as long as its installation itself is automated.
>
> Sadly I just hit this matter head-on after updating dmd last night. It seems to me unacceptable to leave the build process flapping in the wind like that. Guess I'll need to work on that.
>
>
> Andrei

Automating the installation of the last C++-based dmd is one (good and necessary thing).

But either I am mistaken, or in future years you shall still face a choice between manually hacking up Phobos and DMD so they compile under this last C++-based dmd (a gulf which will widen increasingly) or you need to iteratively build compilers to cross the multiple-version bridges where changes to the source of dmd+phobos mean that they no longer compile with the last but one version.


Thought experiment (I am making up the numbers, and in practice the gap between incompatible compilers and dmd+phobos source will be several releases):

suppose the last C++-based dmd is 2.05.
and suppose 2.05 dmd compiles 2.06 but not 2.07
and suppose 2.06 dmd compiles 2.07 but not 2.08

If you are porting dmd to a new platform (and I suppose this is true for all other D compilers since they, too, will move to using ddmd), then it's not just enough to download dmd 2.05.

You have to download 2.05, compile it using a C++ compiler.  Now you can download the 2.06 source, compile it so you have a dmd 2.06.  You can't compile the latest release 2.08 so you either need to hack the source, or download 2.07, compile it with 2.06 and _then_ compile 2.08.

Over time this will become more of a nuisance, because it's not necessarily the case on a new platform that it all just works.  So unless I have got it wrong, it's worth changing tools now so the bootstrap from the last c++ dmd to the latest ddmd is done for you.
May 12, 2015
On 5/12/15 10:32 AM, Laeeth Isharc wrote:
> But either I am mistaken, or in future years you shall still face a
> choice between manually hacking up Phobos and DMD so they compile under
> this last C++-based dmd (a gulf which will widen increasingly) or you
> need to iteratively build compilers to cross the multiple-version
> bridges where changes to the source of dmd+phobos mean that they no
> longer compile with the last but one version.

Yah, that's a classic. Usually multi-stage bootstrapping is used. One simpler way to accelerate that is to just download the last version's binaries (which is what https://github.com/D-Programming-Language/dmd/pull/4645 does). -- Andrei
May 12, 2015
On Tuesday, 12 May 2015 at 17:41:16 UTC, Andrei Alexandrescu wrote:
> On 5/12/15 10:32 AM, Laeeth Isharc wrote:
>> But either I am mistaken, or in future years you shall still face a
>> choice between manually hacking up Phobos and DMD so they compile under
>> this last C++-based dmd (a gulf which will widen increasingly) or you
>> need to iteratively build compilers to cross the multiple-version
>> bridges where changes to the source of dmd+phobos mean that they no
>> longer compile with the last but one version.
>
> Yah, that's a classic. Usually multi-stage bootstrapping is used. One simpler way to accelerate that is to just download the last version's binaries (which is what https://github.com/D-Programming-Language/dmd/pull/4645 does). -- Andrei

I guess that is fine if the binaries exist for the new platform.  Otherwise it should be just a screenful of code to iterate through the chain of versions required, calling the build process each time - either update_sh or perhaps it could be added to Cybershadow's tool.
May 12, 2015
On Tuesday, 12 May 2015 at 19:58:02 UTC, Laeeth Isharc wrote:
> I guess that is fine if the binaries exist for the new platform.  Otherwise it should be just a screenful of code to iterate through the chain of versions required, calling the build process each time - either update_sh or perhaps it could be added to Cybershadow's tool.

https://github.com/CyberShadow/Digger/commit/cf1ae944c1ff82ddcc8c5adf35f9e7140231ea81
May 13, 2015
"Timothee Cour via Digitalmars-d" <digitalmars-d@puremagic.com> wrote in message news:mailman.928.1431451389.4581.digitalmars-d@puremagic.com...

> > g++ -m64: No such file or directory

> Try setting it, it fails when I do.

I don't know what's going on.  It 'make's no sense. 

1 2 3
Next ›   Last »