Re: Bootstrap D template

2018-02-01 Thread Tony via Digitalmars-d-announce

On Friday, 2 February 2018 at 01:16:50 UTC, Seb wrote:



`DEFAULT_GOAL` allows to set an explicit target and keep a 
everything nicely ordered.


Thanks! (didn't even notice that line)


Is something not working when you just type `make`?

No


Or are you just trying to understand how things work?

Yes, sorry for the confusion.


What are you planning to do?


I was only trying to understand the Makefile.



Re: Bootstrap D template

2018-02-01 Thread Seb via Digitalmars-d-announce

On Thursday, 1 February 2018 at 23:35:43 UTC, Tony wrote:

On Thursday, 1 February 2018 at 22:01:52 UTC, Mike Wey wrote:


https://www.gnu.org/software/make/manual/html_node/Prerequisite-Types.html#Prerequisite-Types


Thanks! Couldn't seem to get a search to work.

I was hoping the "|"  would explain the behavior that I don't 
understand, but I don't think it does.


The instructions say to just type "make". My understanding is 
that without a specified target, the topmost target in the 
Makefile is used. In this case it is "bin", which has no 
dependencies, and one action - mkdir. I would think that the 
Makefile would stop after making that directory as no other 
actions are given and no dependencies were specified. But it 
doesn't.


`DEFAULT_GOAL` allows to set an explicit target and keep a 
everything nicely ordered.


Is something not working when you just type `make`?
Or are you just trying to understand how things work?
In the latter case: you don't need to use make, to build your 
files, I just use it for small projects because it's super easy.
Anyhow there are other ways you could use this without needing to 
dive into make:
- as a wrapper - call your actions from a new Makefile target and 
simply depend on the compiler (that's how I use dub in such 
projects)
- execute `make` as part of your build script. It will fetch the 
compiler if non-existent and be a no-op otherwise.


What are you planning to do?


Re: Bootstrap D template

2018-02-01 Thread Tony via Digitalmars-d-announce

On Thursday, 1 February 2018 at 22:01:52 UTC, Mike Wey wrote:


https://www.gnu.org/software/make/manual/html_node/Prerequisite-Types.html#Prerequisite-Types


Thanks! Couldn't seem to get a search to work.

I was hoping the "|"  would explain the behavior that I don't 
understand, but I don't think it does.


The instructions say to just type "make". My understanding is 
that without a specified target, the topmost target in the 
Makefile is used. In this case it is "bin", which has no 
dependencies, and one action - mkdir. I would think that the 
Makefile would stop after making that directory as no other 
actions are given and no dependencies were specified. But it 
doesn't.




Re: Bootstrap D template

2018-02-01 Thread Mike Wey via Digitalmars-d-announce

On 01-02-18 22:53, Tony wrote:

On Monday, 29 January 2018 at 11:04:19 UTC, Seb wrote:



https://github.com/wilzbach/d-bootstrap

Happy bootstrapping!


What does "|" do in a makefile?


The target depends on `bin` but don't rebuild the target if `bin` is 
newer than the target.


https://www.gnu.org/software/make/manual/html_node/Prerequisite-Types.html#Prerequisite-Types

--
Mike Wey


Re: Bootstrap D template

2018-02-01 Thread Tony via Digitalmars-d-announce

On Monday, 29 January 2018 at 11:04:19 UTC, Seb wrote:



https://github.com/wilzbach/d-bootstrap

Happy bootstrapping!


What does "|" do in a makefile?


Re: Release D 2.078.1

2018-02-01 Thread Rainer Schuetze via Digitalmars-d-announce



On 23/01/2018 14:08, thedeemon wrote:

On Monday, 22 January 2018 at 20:43:56 UTC, Martin Nowak wrote:

Glad to announce D 2.078.1.



The Windows 7z archive version now has much simpler sc.ini, in fact too 
simple.

With Visual C++ 2015 x64 Native Build Tools now trying to run
dmd -m64 hi.d
I get
LINK : fatal error LNK1104: cannot open file 'libucrt.lib'
Error: linker exited with status 1104

So I needed to edit sc.ini and add back
LIB=%LIB%;"%UniversalCRTSdkDir%\Lib\%UCRTVersion%\ucrt\x64"
to the [Environment64] section.

Then it went just as 2.078.0 - still missing 
legacy_stdio_definitions.lib that I need to add manually in the command 
line.


Should be fixed by https://github.com/dlang/dmd/pull/7828

Let's hope it makes it into 2.078.2 this time (I didn't expect another 
point-release).


Re: Release D 2.078.1

2018-02-01 Thread Rainer Schuetze via Digitalmars-d-announce



On 01/02/2018 17:16, Atila Neves wrote:






Should I file a bug for dmd or the installer?


It's a dmd issue.


https://issues.dlang.org/show_bug.cgi?id=18352


Thanks. https://github.com/dlang/dmd/pull/7827


Re: Beta 2.078.2

2018-02-01 Thread Seb via Digitalmars-d-announce

On Thursday, 1 February 2018 at 17:32:09 UTC, Andrew Benton wrote:
On Thursday, 1 February 2018 at 16:01:18 UTC, Martin Nowak 
wrote:

First beta for the 2.078.2 patch release.

Contains a major regression fix for hashtable array comparison 
and comes with  more reliable retries and fallback mirror 
usage for dub (https://github.com/dlang/dub/pull/1339).


http://dlang.org/download.html#dmd_beta 
http://dlang.org/changelog/2.078.2.html


Please report any bugs at https://issues.dlang.org

- -Martin


Changelog page returns a 404


It got lost in the merge queue - 
https://github.com/dlang/dlang.org/pull/2158


I just merged it. It should be up in a few minutes.


Re: Beta 2.078.2

2018-02-01 Thread Andrew Benton via Digitalmars-d-announce

On Thursday, 1 February 2018 at 16:01:18 UTC, Martin Nowak wrote:

First beta for the 2.078.2 patch release.

Contains a major regression fix for hashtable array comparison 
and comes with  more reliable retries and fallback mirror usage 
for dub (https://github.com/dlang/dub/pull/1339).


http://dlang.org/download.html#dmd_beta 
http://dlang.org/changelog/2.078.2.html


Please report any bugs at https://issues.dlang.org

- -Martin


Changelog page returns a 404


Re: Release D 2.078.1

2018-02-01 Thread Atila Neves via Digitalmars-d-announce
On Wednesday, 31 January 2018 at 19:09:03 UTC, Rainer Schuetze 
wrote:



On 31/01/2018 16:58, Atila Neves wrote:
On Thursday, 25 January 2018 at 20:11:54 UTC, Rainer Schuetze 
wrote:



On 25.01.2018 14:54, Atila Neves wrote:
On Tuesday, 23 January 2018 at 15:16:02 UTC, Andre Pany 
wrote:
On Tuesday, 23 January 2018 at 13:08:35 UTC, thedeemon 
wrote:
On Monday, 22 January 2018 at 20:43:56 UTC, Martin Nowak 
wrote:

Glad to announce D 2.078.1.



The Windows 7z archive version now has much simpler 
sc.ini, in fact too simple.
With Visual C++ 2015 x64 Native Build Tools now trying to 
run

dmd -m64 hi.d
I get
LINK : fatal error LNK1104: cannot open file 'libucrt.lib'
Error: linker exited with status 1104

So I needed to edit sc.ini and add back
LIB=%LIB%;"%UniversalCRTSdkDir%\Lib\%UCRTVersion%\ucrt\x64"
to the [Environment64] section.

Then it went just as 2.078.0 - still missing 
legacy_stdio_definitions.lib that I need to add manually 
in the command line.


Did you call vcvarsall in the current dos box/PowerShell? 
It is a tool included with all visual studio variants.


Kind regards
Andre


I just ran into this today. With the dmd 2.077.1 Windows 
installer things just work, and it's never necessary to call 
vcvarsall.bat to build D code for 64-bit.


Since dmd 2.078.0, with Visual Studio 2015, nothing works 
anymore, and sc.ini doesn't seem to reference Visual Studio 
at all like it used to.


Atila


Visual Studio is supposed to be detected by dmd now, either 
from the environment or from the registry.


What errors do you get? Try running with -v to show the 
linker command line.


$ dub init
$ dub build --arch=x86_64
Performing "debug" build using C:\D\dmd2\windows\bin\dmd.exe 
for x86_64.

example ~master: building configuration "application"...
Linking...
LINK : fatal error LNK1104: cannot open file 'shell32.lib'

-v shows that it's linking like so:

C:\D\dmd2\windows\bin\dmd.exe 
-of.dub\build\application-debug-windows-x86_64-dmd_2078-70A25404824ECE07D24A9F4D03E746CD\example.exe .dub\build\application-debug-windows-x86_64-dmd_2078-70A25404824ECE07D24A9F4D03E746CD\example.obj -m64 -g


Unfortunately, that is not dmds output of the linker command 
line, but dubs invocation of dmd. Just try "dmd -v -m64 test.d".


Sorry, I misunderstood what you meant. It's:

C:\Program Files (x86)\Microsoft Visual Studio 
14.0\VC\bin\link.exe /NOLOGO app   /OPT:NOICF  
/LIBPATH:"C:\Program Files (x86)\Microsoft Visual Studio 
14.0\VC\lib\amd64" /LIBPATH:"C:\Program Files (x86)\Windows 
Kits\10\Lib\10.0.10240.0\ucrt\x64" legacy_stdio_definitions.lib



There are 3 shell32.lib files on my system, located at:

C:\Program Files (x86)\Windows 
Kits\8.1\Lib\winv6.3\um\{arm,x64,x86}


Notice that it's similar to the path being used above. Given that 
cl.exe doesn't have a problem running on my system I went and 
looked at vcvarsall.bat expecting there to be checks for either 
8.1 or 10. I was right, there's logic to figure it out.


It'd probably be easier to `executeShell("vcvarsall.bat")` than 
trying to replicate the logic in dmd itself. It's bound to get it 
wrong (as it has) and we don't have Microsoft's resources to test 
backwards compatibility.




Does Arjan's suggestion help, i.e. are you working as a 
restricted user? Did you install VS for the current user only 
(not sure if that's actually possible)?


I've installed dmd 2.077.1 and dmd 2.078.1 now several times, 
each time erasing the other. It's a regression.






Should I file a bug for dmd or the installer?


It's a dmd issue.


https://issues.dlang.org/show_bug.cgi?id=18352




Re: Release D 2.078.1

2018-02-01 Thread Atila Neves via Digitalmars-d-announce

On Wednesday, 31 January 2018 at 16:35:59 UTC, Arjan wrote:
On Wednesday, 31 January 2018 at 15:58:02 UTC, Atila Neves 
wrote:

[...]


By any chance, is this on a corperate machine? I've hit the 
same issue seems to do with enforced windows group-policy which 
disables registry access for certain type of applications at my 
place.


No, regular Windows 10 with VS 2015. Even if it were, dmd 2.077.1 
works fine, 2.078.0 and 2.078.1 do not.


Atila


Beta 2.078.2

2018-02-01 Thread Martin Nowak via Digitalmars-d-announce
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA512

First beta for the 2.078.2 patch release.

Contains a major regression fix for hashtable array comparison and
comes with  more reliable retries and fallback mirror usage for dub
(https://github.com/dlang/dub/pull/1339).

http://dlang.org/download.html#dmd_beta
http://dlang.org/changelog/2.078.2.html

Please report any bugs at https://issues.dlang.org

- -Martin
-BEGIN PGP SIGNATURE-

iQIzBAEBCgAdFiEEpzRNrTw0HqEtE8TmsnOBFhK7GTkFAlpzOc0ACgkQsnOBFhK7
GTmGYw/6An60r/FOjUiK9btvaeAQxUxFYgnyv/dFzcrdZ5m6jYtfBhbrL0LfROHr
G+pq2dpvwcSUAyUByj5XCVZ/D9/Rv8bwT+zZYueE09xpkRNNQRmlOZ3lUvzKy6bG
xC16V89Q6FgOL3VI77u4ic3fQgNsGJE2PJ1NEbxiZTZxoyYPNDcEgaA4ijSk1VgT
SrPjcr9dk57SRiXCb6wlC42LJ2cIEXUMKsvJ1vvHkK8ahVL+UpOvV1LGSPZMQvJF
aPJM3V0NhJDOtmnOd+OvCv/TQdm4yhUttHKjTGyo5IZbHq5m8rU6gRKCyL30A3XB
3MXJyHTQJcYm74pPlHocIOr53CC8UjHsmGBBuKlD3c5AtpUzvKyci7ovFXsqFPcO
iKmrYukWvNqv6Som1QPkWiQH/xPhKUTt7ulVi7CkHM7Uc9X970+zDwmoUcbRFwHL
V6+DlTsNpfp6y6/WxAw2v7omMmdd7XYCwtvPTiFNhnEylEd8khj0LoHpR+pi7LzC
jILSlCgDLnCdGhxTPyqHWoyIqohV9R6c7f+hJe4golsG87qC3GMIs5xqW8KHOxiv
exSWlOKXSyS06XZJQ7mQGnQL4rLdIDA3g9Jh/WlxxmT5j7YFLR3i5j6G9heMv6GK
Of1SCRY5vhdpFAsXNnuNxjQLRsEah1pxWV0xRrxply8BCV/e5ww=
=VfAz
-END PGP SIGNATURE-


Re: [howto] Serve ddox documentation on github.io deployed by Travis CI

2018-02-01 Thread Denis F via Digitalmars-d-announce
(3) Docs from proposed site can be easily wrapped into 
DevDocs/Zeal/Dash docs for comfort offline usage.


Re: [howto] Serve ddox documentation on github.io deployed by Travis CI

2018-02-01 Thread Denis F via Digitalmars-d-announce
On Saturday, 13 January 2018 at 11:42:42 UTC, Bastiaan Veelo 
wrote:
On Saturday, 13 January 2018 at 10:02:18 UTC, Jacob Carlborg 
wrote:

On 2018-01-13 05:59, Martin Nowak wrote:
On Wednesday, 10 January 2018 at 08:50:37 UTC, Bastiaan Veelo 
wrote:
Maybe worthwile to add this scaffolding to dub or some 
other tool? Anyone volunteering?


This could be a good idea. Probably even better is to let 
code.dlang.org take care of it, which would make the whole 
token issue and setup obsolete.


What do you mean with "taking care of it"?


Perhaps to automatically generate documentation for all 
packages on code.dlang.org and publish it there as well.


Yes that is what I meant, sorry for being vague. It’s been 
suggested before I think. It would be a lot more work than what 
you are suggesting and one does not have to exclude the other: 
a bot could clone the project repositories and generate 
documentation for each, without project owners needing to 
manage tokens.


I like this idea because:
1) it is more secure than allow to access Travis CI to my public 
repos
2) this can encourage writing documentation in those projects 
that not thinked about documentation