digitalmars.D - rdmd and extern(C)
- spir (14/14) Dec 22 2010 Hello,
- Andrei Alexandrescu (4/13) Dec 22 2010 Looks like a good enhancement for rdmd. That it doesn't "fail
- Nick Sabalausky (15/32) Dec 22 2010 @spir: rdmd's command-line syntax is like this:
- spir (20/41) Dec 23 2010 May I suggest that rmdm prints out the command it sends to dmd (even whe...
- Andrei Alexandrescu (3/8) Dec 23 2010 The --chatty option should help.
- Andrei Alexandrescu (3/37) Dec 23 2010 Thanks! Did you test on all OSs?
- Nick Sabalausky (4/50) Dec 23 2010 All that I have access to. Which is two: WinXP and Kubuntu (both x86,
- Nick Sabalausky (4/60) Dec 23 2010 I have some other rdmd patches in bugzilla too. A bugzilla search on "rd...
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 bui= lding 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, som= e more accurate messages such as "Cannot find imported module 'foo.d'.")] Denis -- -- -- -- -- -- -- vit esse estrany =E2=98=A3 spir.wikidot.com
Dec 22 2010
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'.")] Denis -- -- -- -- -- -- -- vit esse estrany ☣ spir.wikidot.comLooks like a good enhancement for rdmd. That it doesn't "fail successfully" is a bug. Andrei
Dec 22 2010
"Andrei Alexandrescu" <SeeWebsiteForEmail erdani.org> wrote in message news:iethab$2dj9$1 digitalmars.com...On 12/22/10 12:13 PM, spir wrote: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.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.
Dec 22 2010
On Thu, 23 Dec 2010 01:31:29 -0500 "Nick Sabalausky" <a a.a> wrote:May I suggest that rmdm prints out the command it sends to dmd (even when s= uccessful)? Not only it's "educative" but it should provide the correct lis= t of modules ;-) (so that solving the issue about C files is then 3s work).Looks like a good enhancement for rdmd. That it doesn't "fail=20 successfully" is a bug.spir: rdmd's command-line syntax is like this: =20 rdmd {args to dmd and rdmd} app.d {args sent to app.exe} =20 So anything after the first *.d param is automatically considered a param==20for when rdmd runs the app your building, not for rdmd/dmd. Of course, if==20you're using --build-only, then such params just simply get ignored. In=20 short, you have to do it like this: =20 rdmd --build-only -ofmyProg myCFuncs.o myProg.dRight, than you. Anyway finishing with the "program" module (the only only = one that should have a main()) makes sense. And if it's for running its arg= s come next. But the: how would rdmd makes the distinction when a prog happens to apply = on modules? (You know, refactoring tools or such). My choice would be that = they must first be 'built-only'.Unfortunately, that still doesn't work with the official version of rdmd.==20However... =20 Andrei: I submitted an rdmd patch for this not too long ago: =20 http://d.puremagic.com/issues/show_bug.cgi?id=3D4928 =20 It fixes this problem for object files, static library files, ".def" file=s=20and response files.Great! Denis -- -- -- -- -- -- -- vit esse estrany =E2=98=A3 spir.wikidot.com
Dec 23 2010
On 12/23/10 5:23 AM, spir wrote:On Thu, 23 Dec 2010 01:31:29 -0500 "Nick Sabalausky"<a a.a> wrote:The --chatty option should help. AndreiMay I suggest that rmdm prints out the command it sends to dmd (even when successful)? Not only it's "educative" but it should provide the correct list of modules ;-) (so that solving the issue about C files is then 3s work).Looks like a good enhancement for rdmd. That it doesn't "fail successfully" is a bug.
Dec 23 2010
On 12/23/10 12:31 AM, Nick Sabalausky wrote:"Andrei Alexandrescu"<SeeWebsiteForEmail erdani.org> wrote in message news:iethab$2dj9$1 digitalmars.com...Thanks! Did you test on all OSs? AndreiOn 12/22/10 12:13 PM, spir wrote: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.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.
Dec 23 2010
"Andrei Alexandrescu" <SeeWebsiteForEmail erdani.org> wrote in message news:ievlbg$elu$2 digitalmars.com...On 12/23/10 12:31 AM, Nick Sabalausky wrote:All that I have access to. Which is two: WinXP and Kubuntu (both x86, 32-bit)."Andrei Alexandrescu"<SeeWebsiteForEmail erdani.org> wrote in message news:iethab$2dj9$1 digitalmars.com...Thanks! Did you test on all OSs?On 12/22/10 12:13 PM, spir wrote: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.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.
Dec 23 2010
"Nick Sabalausky" <a a.a> wrote in message news:if04me$1vpa$1 digitalmars.com..."Andrei Alexandrescu" <SeeWebsiteForEmail erdani.org> wrote in message news:ievlbg$elu$2 digitalmars.com...I have some other rdmd patches in bugzilla too. A bugzilla search on "rdmd" will find them all.On 12/23/10 12:31 AM, Nick Sabalausky wrote:All that I have access to. Which is two: WinXP and Kubuntu (both x86, 32-bit)."Andrei Alexandrescu"<SeeWebsiteForEmail erdani.org> wrote in message news:iethab$2dj9$1 digitalmars.com...Thanks! Did you test on all OSs?On 12/22/10 12:13 PM, spir wrote: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.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.
Dec 23 2010