rdmd and extern(C)

Andrei Alexandrescu SeeWebsiteForEmail at erdani.org
Thu Dec 23 06:10:02 PST 2010


On 12/23/10 12:31 AM, Nick Sabalausky wrote:
> "Andrei Alexandrescu"<SeeWebsiteForEmail at erdani.org>  wrote in message
> news:iethab$2dj9$1 at digitalmars.com...
>> On 12/22/10 12:13 PM, spir wrote:
>>> Hello,
>>>
>>> Is it possible use rdmd (to automagically link against imported D
>>> modules), when also calling C funcs? I tried to add the C file at the end
>>> of the building command, like eg (removed all dmd options):
>>> rdmd --build-only -ofmyProg myProg.d myCFuncs.o
>>> but rdmd does not seem to transmit additional files to link against to
>>> dmd. (In addition to the ones guessed from imports.)
>>>
>>> [Also, we would be glad to get some feedback when rdmd fails: currently
>>> it ends silently. (At the very minimum: "Failed to compile/link." At
>>> best, some more accurate messages such as "Cannot find imported module
>>> 'foo.d'.")]
>>>
>>
>> Looks like a good enhancement for rdmd. That it doesn't "fail
>> successfully" is a bug.
>>
>
> @spir: rdmd's command-line syntax is like this:
>
> rdmd {args to dmd and rdmd} app.d {args sent to app.exe}
>
> So anything after the first *.d param is automatically considered a param
> for when rdmd runs the app your building, not for rdmd/dmd. Of course, if
> you're using --build-only, then such params just simply get ignored. In
> short, you have to do it like this:
>
> rdmd --build-only -ofmyProg myCFuncs.o myProg.d
>
> Unfortunately, that still doesn't work with the official version of rdmd.
> However...
>
> @Andrei: I submitted an rdmd patch for this not too long ago:
>
> http://d.puremagic.com/issues/show_bug.cgi?id=4928
>
> It fixes this problem for object files, static library files, ".def" files
> and response files.

Thanks! Did you test on all OSs?

Andrei


More information about the Digitalmars-d mailing list