February 01, 2015
On Sun, 01 Feb 2015 12:31:25 +0000, Vladimir Panteleev wrote:

> On Sunday, 1 February 2015 at 12:18:41 UTC, ketmar wrote:
>> i *can* hack my build tool to add batch compilation,
>> but i don't want to.
> 
> I don't think batch compilation is required. Separately compiling a module to an .obj file will put the .init in the .obj, so linking should succeed.

it's easier to make a full batch compilation than to teach build tool that it must sometimes compile .d file to .o file and sometimes just add it as is. and then i should remember where that .d was added to not add it second time by accident. all in all it will create more problems that it meant to solve. ;-)

February 01, 2015
On Sun, 01 Feb 2015 13:27:27 +0100, Jacob Carlborg wrote:

> On 2015-02-01 12:01, ketmar wrote:
> 
>> i have my own library to work with http. but you can substitute any other windows dlls in place of of wininet, the story will not change. the story is about (lack of) usability.
> 
> I have successfully used the Tango net modules on Windows without needing to fiddle with DLL's, import libs or def files. It seems you're doing something different.

i *have* to use "wininet" in this case. but you can change it to something completely different, like "urlmon", for example. everything else will remain intact.

February 01, 2015
On 2/1/15 3:04 AM, Vladimir Panteleev wrote:
> Here's what you had to do to create a DLL in D:
>
> http://digitalmars.com/d/1.0/dll.html
>
> (The page is old, but the situation didn't change for a long time, until
> fairly recently.)

Could you please update that and bring to dlang.org? -- Andrei
February 01, 2015
On Sunday, 1 February 2015 at 15:57:40 UTC, Andrei Alexandrescu wrote:
> On 2/1/15 3:04 AM, Vladimir Panteleev wrote:
>> Here's what you had to do to create a DLL in D:
>>
>> http://digitalmars.com/d/1.0/dll.html
>>
>> (The page is old, but the situation didn't change for a long time, until
>> fairly recently.)
>
> Could you please update that and bring to dlang.org? -- Andrei

The page was on dlang.org all the time, it has recently been moved to the wiki:

http://wiki.dlang.org/Win32_DLLs_in_D

More improvements coming in next release (SimpleDllMain mixin).
February 01, 2015
On 2015-02-01 at 12:29, ketmar wrote:
> the best thing, of course, is to kill that ancient toolchain altogether
> and switch to binutils, they are already working for mingw and they are
> free. and there is COFF writer already too. so only one little step is
> needed: drop dmc and build dmd with mingw. and with dmc all it's tools
> will go.
>
> besides, this will allow makefile unification, as alot of "posix.mak" can
> be reused for mingw builds. i did that myself while hunting for
> multithreading heisenbug. the side effect of switching to mingw was
> faster dmd.exe: compiling phobos took only 2/3 of time comparing to dmc
> version.

What? How did you do that and what problems did you encounter?
Does it work with regular DMD/Druntime/Phobos or only with Aliced[1]?

[1] I only saw it mentioned once in the forum. What exactly is it?
February 01, 2015
On Sun, 01 Feb 2015 17:12:11 +0100, FG wrote:

> On 2015-02-01 at 12:29, ketmar wrote:
>> the best thing, of course, is to kill that ancient toolchain altogether and switch to binutils, they are already working for mingw and they are free. and there is COFF writer already too. so only one little step is needed: drop dmc and build dmd with mingw. and with dmc all it's tools will go.
>>
>> besides, this will allow makefile unification, as alot of "posix.mak" can be reused for mingw builds. i did that myself while hunting for multithreading heisenbug. the side effect of switching to mingw was faster dmd.exe: compiling phobos took only 2/3 of time comparing to dmc version.
> 
> What? How did you do that and what problems did you encounter?
> Does it work with regular DMD/Druntime/Phobos or only with Aliced[1]?
> 
> [1] I only saw it mentioned once in the forum. What exactly is it?

i only built dmd.exe with mingw, i wasn't invested any efforts to make dmd.exe itself work with binutils. but i believe that with "-m32mscoff" switch making dmd.exe using "ld.exe" and other tools will be trivial, as those using COFF object files. yet i'm not interested enough in windows to work on that, and i will not write a single line of code without it being preliminary approved by BOTH Walter and Andrei.

February 01, 2015
On Sun, 01 Feb 2015 17:12:11 +0100, FG wrote:

> What? How did you do that and what problems did you encounter?
> Does it work with regular DMD/Druntime/Phobos or only with Aliced[1]?
> 
> [1] I only saw it mentioned once in the forum. What exactly is it?

p.s. "Aliced" is my private D fork. it's mostly parser enhancements and rejected PRs which i found useful, but don't believe that they will go into mainline. but it doesn't matter, as Aliced does everything that vanilla D can do, and all my patches are rebased on git head on dayly basis. so it doesn't matter whether it DMD or "aliced DMD" for this case.

February 01, 2015
On Sunday, 1 February 2015 at 16:12:13 UTC, FG wrote:
> What? How did you do that and what problems did you encounter?
> Does it work with regular DMD/Druntime/Phobos or only with Aliced[1]?

You can gain a big DMD compilation speed boost by using practically any C++ compiler other than DMC to build DMD. For example, there's Visual Studio project files included with the compiler source (although they often go out of date).
1 2 3 4
Next ›   Last »