Jump to page: 1 2
Thread overview
[dmd-beta] D1 & D2 alpha's for Win64
Oct 14, 2012
Walter Bright
Oct 24, 2012
Walter Bright
Oct 25, 2012
David Simcha
Oct 25, 2012
Walter Bright
Oct 25, 2012
David Simcha
Oct 25, 2012
Rainer Schuetze
Oct 25, 2012
Walter Bright
Oct 25, 2012
Rainer Schuetze
Oct 25, 2012
Walter Bright
Oct 25, 2012
Rainer Schuetze
Oct 25, 2012
Walter Bright
Nov 09, 2012
Jordi Sayol
Nov 09, 2012
Walter Bright
Nov 10, 2012
Jordi Sayol
Nov 12, 2012
Mike Wey
Nov 20, 2012
Walter Bright
October 14, 2012
http://ftp.digitalmars.com/dmd1beta.zip
http://ftp.digitalmars.com/dmd2beta.zip

Be the first kid on your block to build a dmd Win64 app!
_______________________________________________
dmd-beta mailing list
dmd-beta@puremagic.com
http://lists.puremagic.com/mailman/listinfo/dmd-beta

October 24, 2012
On 10/14/2012 12:55 PM, Walter Bright wrote:
>
> http://ftp.digitalmars.com/dmd2beta.zip

Now supports source line debugging with VS. No symbols yet.
_______________________________________________
dmd-beta mailing list
dmd-beta@puremagic.com
http://lists.puremagic.com/mailman/listinfo/dmd-beta

October 24, 2012
Finally got around to trying this out.  I just filed Bug
8889<http://d.puremagic.com/issues/show_bug.cgi?id=8889>.
 Additionally, I keep running into issues where the VC linker insists on
trying to link in shell32.lib.  I tried commenting out the LIB line in
sc.ini (which makes it so link can't find phobos64.lib without help either)
and using the following command:

C:\test>dmd -v -m64 test.d -L d:/dmd2/windows/lib/phobos64.lib
binary    D:\dmd2\windows\bin\dmd.exe
version   v2.061
config    D:\dmd2\windows\bin\sc.ini
parse     test
importall test
import    object
 (D:\dmd2\windows\bin\..\..\src\druntime\import\object.di
)
import    core.stdc.stdio
(D:\dmd2\windows\bin\..\..\src\druntime\import\c
ore\stdc\stdio.d)
import    core.stdc.config
 (D:\dmd2\windows\bin\..\..\src\druntime\import\c
ore\stdc\config.d)
import    core.stdc.stddef
 (D:\dmd2\windows\bin\..\..\src\druntime\import\c
ore\stdc\stddef.d)
import    core.stdc.stdarg
 (D:\dmd2\windows\bin\..\..\src\druntime\import\c
ore\stdc\stdarg.d)
semantic  test
semantic2 test
semantic3 test
code      test
function  D main
C:\Program Files (x86)\Microsoft Visual Studio
11.0\VC\bin\x86_amd64\link.exe test
/DEFAULTLIB:"d:\dmd2\windows\lib\phobos64.lib"
/MERGE:.minfobg=.minfodt /MERGE:.minfoen=.minfodt
/MERGE:._deh_bg=._deh_eh /MERGE:._deh_en=._deh_eh  "/LIBPATH:C:\Program
Files (x86)\Microsoft Visual Studio 11.0\VC\lib\amd64" "/LIBPATH:C:\Program
Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\x64"
Microsoft (R) Incremental Linker Version 11.00.50727.1
Copyright (C) Microsoft Corporation.  All rights reserved.

LINK : fatal error LNK1104: cannot open file 'shell32.lib'
--- errorlevel 1104

How is shell32.lib even getting pulled in?  My LIB environment variable is not defined.  The LIB line in sc.ini is commented out.  Neither shell32.lib nor the directory it lives in appears in the linker command line output by DMD.  However, according to grep phobos64.lib contains the string "shell32.lib".  I'm not familiar with the .lib format, but does it allow for references to other object/library files that automatically get pulled in when linking a library?

On Wed, Oct 24, 2012 at 7:38 PM, Walter Bright <walter@digitalmars.com>wrote:

>
> On 10/14/2012 12:55 PM, Walter Bright wrote:
>
>>
>> http://ftp.digitalmars.com/**dmd2beta.zip<http://ftp.digitalmars.com/dmd2beta.zip>
>>
>
> Now supports source line debugging with VS. No symbols yet.
>
> ______________________________**_________________
> dmd-beta mailing list
> dmd-beta@puremagic.com
> http://lists.puremagic.com/**mailman/listinfo/dmd-beta<http://lists.puremagic.com/mailman/listinfo/dmd-beta>
>


October 24, 2012
On 10/24/2012 8:05 PM, David Simcha wrote:
>
> LINK : fatal error LNK1104: cannot open file 'shell32.lib'
> --- errorlevel 1104
>
> How is shell32.lib even getting pulled in?

c:\cbx\mars>grep -r shell32.lib *.d
runtime\src\rt\dmain2.d: pragma(lib, "shell32.lib"); // needed for
CommandLineToArgvW
hobos\std\process.d:    pragma(lib,"shell32.lib");


October 25, 2012
So I guess these should be versioned out in the Win64 builds then?  What libs should replace them?

On Wed, Oct 24, 2012 at 11:28 PM, Walter Bright <walter@digitalmars.com>wrote:

>
> On 10/24/2012 8:05 PM, David Simcha wrote:
>
>
>  LINK : fatal error LNK1104: cannot open file 'shell32.lib'
> --- errorlevel 1104
>
>  How is shell32.lib even getting pulled in?
>
>
>  c:\cbx\mars>grep -r shell32.lib *.d
>  runtime\src\rt\dmain2.d:    pragma(lib, "shell32.lib"); // needed for
> CommandLineToArgvW
> hobos\std\process.d:    pragma(lib,"shell32.lib");
>
> _______________________________________________
> dmd-beta mailing list
> dmd-beta@puremagic.com
> http://lists.puremagic.com/mailman/listinfo/dmd-beta
>


October 25, 2012
On 10/25/2012 6:34 PM, David Simcha wrote:
> So I guess these should be versioned out in the Win64 builds then?
>  What libs should replace them?
>

The SDK import libraries are called the same for both win32 and win64 builds, but they are in different directories. That's why I suspect we'll need a different setting for LIB for Win64 in sc.ini.


> On Wed, Oct 24, 2012 at 11:28 PM, Walter Bright <walter@digitalmars.com <mailto:walter@digitalmars.com>> wrote:
>
>
>     On 10/24/2012 8:05 PM, David Simcha wrote:
>>
>>     LINK : fatal error LNK1104: cannot open file 'shell32.lib'
>>     --- errorlevel 1104
>>
>>     How is shell32.lib even getting pulled in?
>
>     c:\cbx\mars>grep -r shell32.lib *.d
>     runtime\src\rt\dmain2.d: pragma(lib, "shell32.lib"); // needed for
>     CommandLineToArgvW
>     hobos\std\process.d:    pragma(lib,"shell32.lib");
>



October 25, 2012
I'm not really sure what to do about this. Microsoft's linker reads the LIB environment variable.

Perhaps we can have link.c use putenv to reset LIB when calling the linker.

On 10/25/2012 11:00 AM, Rainer Schuetze wrote:
>
> On 10/25/2012 6:34 PM, David Simcha wrote:
>> So I guess these should be versioned out in the Win64 builds then?  What libs should replace them?
>>
>
> The SDK import libraries are called the same for both win32 and win64 builds, but they are in different directories. That's why I suspect we'll need a different setting for LIB for Win64 in sc.ini.
>
>
>> On Wed, Oct 24, 2012 at 11:28 PM, Walter Bright <walter@digitalmars.com <mailto:walter@digitalmars.com>> wrote:
>>
>>
>>     On 10/24/2012 8:05 PM, David Simcha wrote:
>>>
>>>     LINK : fatal error LNK1104: cannot open file 'shell32.lib'
>>>     --- errorlevel 1104
>>>
>>>     How is shell32.lib even getting pulled in?
>>
>>     c:\cbx\mars>grep -r shell32.lib *.d
>>     runtime\src\rt\dmain2.d: pragma(lib, "shell32.lib"); // needed for
>>     CommandLineToArgvW
>>     hobos\std\process.d:    pragma(lib,"shell32.lib");
>>
>
>
>
> _______________________________________________
> dmd-beta mailing list
> dmd-beta@puremagic.com
> http://lists.puremagic.com/mailman/listinfo/dmd-beta



October 25, 2012
What about a different environment block for Win64 in sc.ini?

process [Environment] before command line processing, and process [Environment32] or [Environment64] afterwards, when the architecture is known.


On 10/25/2012 8:32 PM, Walter Bright wrote:
> I'm not really sure what to do about this. Microsoft's linker reads the LIB environment variable.
>
> Perhaps we can have link.c use putenv to reset LIB when calling the linker.
>
> On 10/25/2012 11:00 AM, Rainer Schuetze wrote:
>>
>> On 10/25/2012 6:34 PM, David Simcha wrote:
>>> So I guess these should be versioned out in the Win64 builds then?
>>>  What libs should replace them?
>>>
>>
>> The SDK import libraries are called the same for both win32 and win64 builds, but they are in different directories. That's why I suspect we'll need a different setting for LIB for Win64 in sc.ini.
>>
>>
>>> On Wed, Oct 24, 2012 at 11:28 PM, Walter Bright <walter@digitalmars.com <mailto:walter@digitalmars.com>> wrote:
>>>
>>>
>>>     On 10/24/2012 8:05 PM, David Simcha wrote:
>>>>
>>>>     LINK : fatal error LNK1104: cannot open file 'shell32.lib'
>>>>     --- errorlevel 1104
>>>>
>>>>     How is shell32.lib even getting pulled in?
>>>
>>>     c:\cbx\mars>grep -r shell32.lib *.d
>>>     runtime\src\rt\dmain2.d: pragma(lib, "shell32.lib"); // needed
>>>     for CommandLineToArgvW
>>>     hobos\std\process.d:    pragma(lib,"shell32.lib");
>>>
>>
>>
>>
>> _______________________________________________
>> dmd-beta mailing list
>> dmd-beta@puremagic.com
>> http://lists.puremagic.com/mailman/listinfo/dmd-beta
>
>
>
> _______________________________________________
> dmd-beta mailing list
> dmd-beta@puremagic.com
> http://lists.puremagic.com/mailman/listinfo/dmd-beta



October 25, 2012
That may be more implementation effort :-)

On 10/25/2012 11:50 AM, Rainer Schuetze wrote:
>
> What about a different environment block for Win64 in sc.ini?
>
> process [Environment] before command line processing, and process [Environment32] or [Environment64] afterwards, when the architecture is known.
>
>
> On 10/25/2012 8:32 PM, Walter Bright wrote:
>> I'm not really sure what to do about this. Microsoft's linker reads the LIB environment variable.
>>
>> Perhaps we can have link.c use putenv to reset LIB when calling the linker.
>>
>> On 10/25/2012 11:00 AM, Rainer Schuetze wrote:
>>>
>>> On 10/25/2012 6:34 PM, David Simcha wrote:
>>>> So I guess these should be versioned out in the Win64 builds then?  What libs should replace them?
>>>>
>>>
>>> The SDK import libraries are called the same for both win32 and win64 builds, but they are in different directories. That's why I suspect we'll need a different setting for LIB for Win64 in sc.ini.
>>>
>>>
>>>> On Wed, Oct 24, 2012 at 11:28 PM, Walter Bright <walter@digitalmars.com <mailto:walter@digitalmars.com>> wrote:
>>>>
>>>>
>>>>     On 10/24/2012 8:05 PM, David Simcha wrote:
>>>>>
>>>>>     LINK : fatal error LNK1104: cannot open file 'shell32.lib'
>>>>>     --- errorlevel 1104
>>>>>
>>>>>     How is shell32.lib even getting pulled in?
>>>>
>>>>     c:\cbx\mars>grep -r shell32.lib *.d
>>>>     runtime\src\rt\dmain2.d: pragma(lib, "shell32.lib"); // needed for
>>>>     CommandLineToArgvW
>>>>     hobos\std\process.d:    pragma(lib,"shell32.lib");
>>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> dmd-beta mailing list
>>> dmd-beta@puremagic.com
>>> http://lists.puremagic.com/mailman/listinfo/dmd-beta
>>
>>
>>
>> _______________________________________________
>> dmd-beta mailing list
>> dmd-beta@puremagic.com
>> http://lists.puremagic.com/mailman/listinfo/dmd-beta
>
>
>
> _______________________________________________
> dmd-beta mailing list
> dmd-beta@puremagic.com
> http://lists.puremagic.com/mailman/listinfo/dmd-beta



October 25, 2012
Not that much: https://github.com/rainers/dmd/commit/e867c1a637530578d27c9e40d35674a56d2a10b6 Make it a pull request?

On 10/25/2012 9:06 PM, Walter Bright wrote:
> That may be more implementation effort :-)
>
> On 10/25/2012 11:50 AM, Rainer Schuetze wrote:
>>
>> What about a different environment block for Win64 in sc.ini?
>>
>> process [Environment] before command line processing, and process [Environment32] or [Environment64] afterwards, when the architecture is known.
>>
>>
>> On 10/25/2012 8:32 PM, Walter Bright wrote:
>>> I'm not really sure what to do about this. Microsoft's linker reads the LIB environment variable.
>>>
>>> Perhaps we can have link.c use putenv to reset LIB when calling the linker.
>>>
>>> On 10/25/2012 11:00 AM, Rainer Schuetze wrote:
>>>>
>>>> On 10/25/2012 6:34 PM, David Simcha wrote:
>>>>> So I guess these should be versioned out in the Win64 builds then?
>>>>>  What libs should replace them?
>>>>>
>>>>
>>>> The SDK import libraries are called the same for both win32 and win64 builds, but they are in different directories. That's why I suspect we'll need a different setting for LIB for Win64 in sc.ini.
>>>>
>>>>
>>>>> On Wed, Oct 24, 2012 at 11:28 PM, Walter Bright <walter@digitalmars.com <mailto:walter@digitalmars.com>> wrote:
>>>>>
>>>>>
>>>>>     On 10/24/2012 8:05 PM, David Simcha wrote:
>>>>>>
>>>>>>     LINK : fatal error LNK1104: cannot open file 'shell32.lib'
>>>>>>     --- errorlevel 1104
>>>>>>
>>>>>>     How is shell32.lib even getting pulled in?
>>>>>
>>>>>     c:\cbx\mars>grep -r shell32.lib *.d
>>>>>     runtime\src\rt\dmain2.d: pragma(lib, "shell32.lib"); // needed
>>>>>     for CommandLineToArgvW
>>>>>     hobos\std\process.d:    pragma(lib,"shell32.lib");
>>>>>
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> dmd-beta mailing list
>>>> dmd-beta@puremagic.com
>>>> http://lists.puremagic.com/mailman/listinfo/dmd-beta
>>>
>>>
>>>
>>> _______________________________________________
>>> dmd-beta mailing list
>>> dmd-beta@puremagic.com
>>> http://lists.puremagic.com/mailman/listinfo/dmd-beta
>>
>>
>>
>> _______________________________________________
>> dmd-beta mailing list
>> dmd-beta@puremagic.com
>> http://lists.puremagic.com/mailman/listinfo/dmd-beta
>
>
>
> _______________________________________________
> dmd-beta mailing list
> dmd-beta@puremagic.com
> http://lists.puremagic.com/mailman/listinfo/dmd-beta



« First   ‹ Prev
1 2