www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - rdmd for Windows - rdmd.d

reply Roberto Mariottini <Roberto_member pathlink.com> writes:
Hi,
attached you can find a version of rdmd for Windows (it should still work on
Linux, though).

Modified:

- Ported to Windows
- It runs also ".ds" extension 
- Added the --verbose argument
- Optimized the loop in progstat(): now exits the loop after a file is found

Open problems:

- The map file is still generated in the current directory, even specifying
"-L/nomap" on the dmd command line (I think it's a linker bug).

Ciao

---
http://www.mariottini.net/roberto/
begin 0644 rdmd.d
M+R\ <F1M9"`M(&$ <')O9W)A;2!T;R!C;VUP:6QE+"!C86-H92!A;F0 97AE

M=FEA(&5I=&AE<B!T:&4 8V]M;6%N9"UL:6YE(&]R(&%S(&$-"B\O("=P<V5U
M9&\ <VAE;&P <V-R:7!T)R!O;B!03U-)6"!C;VYF;W)M:6YG($QI;G5X('-Y

M;&5A<V5D(&EN=&\ =&AE('!U8FQI8R!D;VUA:6X 87,-"B\O(&5X<&QA:6YE
M9"!B>2!H='1P.B\O8W)E871I=F5C;VUM;VYS+F]R9R]L:6-E;G-E<R]P=6)L

M4R!)4R( 86YD('=I=&AO=70 86YY(&5X<')E<W, ;W(-"B\O(&EM<&QI960 
M=V%R<F%N=&EE<RP :6YC;'5D:6YG(&%N9"!W:71H;W5T(&QI;6ET871I;VX 
M=&\L(&%N>0T*+R\ =V%R<F%N='D ;V8 ;65R8VAA;G1A8FEL:71Y(&]R(&9I



M("!C:&%R6UT <&%T:%-E<&%R871O<B`]("([(CL-"B` 8VAA<EM=(&]B:F5C
M=$5X=&5N<VEO;B`]("(N;V)J(CL-"B` 8VAA<EM=(&5X945X=&5N<VEO;B`]
M("(N97AE(CL-"GT-"F5L<V4-"GL-"B` :6UP;W)T('-T9"YC+FQI;G5X+FQI

M6UT <&%T:%-E<&%R871O<B`]("(Z(CL-"B` 8VAA<EM=(&]B:F5C=$5X=&5N

M" T*8F]O;"!V97)B;W-E(#T
M:6(L('-T9"YF:6QE+"!S=&0N;60U+"!S=&0N<')O8V5S<RP <W1D+G-T9&EO

M("` (&EN="!R971V86P /2`M,3L-"B` ("!B;V]L(&AA=F5F:6QE(#T 9F%L
M<V4L(&9O<F-E(#T
M("` +R\ 8VUP=B`](&-O;7!I;&5R(&%R9W5M96YT<RP 87)G=B`]('!R;V=R

M8V]M<&EL97( /2`B9&UD(BP =&UP9&ER(#T


M87)G<ULP73L-" T*("` (&9O<F5A8V H:6YT(&DL(&-H87);72!A<F<[(&%R

M;VYT:6YU93L-" T*("` ("` ("!I9BAF:6YD*&%R9RPB+F0B*2`^/2`P("!\
M?"` 9FEN9"AA<F<L(BYD<R(I(#X
M("` (&AA=F5F:6QE(#T =')U93L-"B` ("` ("` ("` (&1F:6QE<&%T:"`]

M("` ("` ("` (&EF*&AA=F5F:6QE(#T](&9A;'-E*0T*("` ("` ("` ("` 
M>PT*("` ("` ("` ("` ("` (&)O;VP <VMI<"`](&9A;'-E.PT*("` ("` 
M("` ("` ("` (&EF*&%R9R`]/2`B+2UH96QP(BD-"B` ("` ("` ("` ("` 

M(BTM9F]R8V4B*0T*("` ("` ("` ("` ("` ("` ("!S:VEP(#T 9F]R8V4 
M/2!T<G5E.PT*("` ("` ("` ("` ("` (&5L<V4 :68H87)G(#T]("(M+79E
M<F)O<V4B*0T*("` ("` ("` ("` ("` ("` ("!S:VEP(#T =F5R8F]S92`]

M('L-"B` ("` ("` ("` ("` ("` ("` 8V]N<W0 8VAA<EM=(&-S(#T (BTM
M8V]M<&EL97(](CL-"B` ("` ("` ("` ("` ("` ("` :68H87)G+FQE;F=T
M:"`^(&-S+FQE;F=T:"`F)B!A<F=;,"XN8W,N;&5N9W1H72`]/2!C<RD-"B` 
M("` ("` ("` ("` ("` ("` >PT*("` ("` ("` ("` ("` ("` ("` ("` 
M8V]M<&EL97( /2!S<&QI="AA<F<L(CTB*5LQ73L-"B` ("` ("` ("` ("` 
M("` ("` ("` ('-K:7` /2!T<G5E.PT*("` ("` ("` ("` ("` ("` ("!]

M<&1I<CTB.PT*("` ("` ("` ("` ("` ("` ("!I9BAA<F<N;&5N9W1H(#X 
M=&0N;&5N9W1H("8F(&%R9ULP+BYT9"YL96YG=&A=(#T]('1D*0T*("` ("` 

M:7( /2!S<&QI="AA<F<L(CTB*5LQ73L-"B` ("` ("` ("` ("` ("` ("` 


M("` ("` ("` ("` ("` ("` (&-M<'8 ?CT 87)G.PT*("` ("` ("` ("` 
M?0T*("` ("` ("` ("` 96QS90T*("` ("` ("` ("` ("` (&%R9W8 ?CT 

M("` ("` ("!E<G)O<B B0V]U;&1N)W0 9FEN9"!A;GD 1"!S;W5R8V4 8V]D

M("` :68H8V]M<&EL92AT;7!D:7(L8V]M<&EL97(L9F]R8V4L9&9I;&5P871H



M("` ("` :68H=F5R8F]S92D-"B` ("` ("` >PT*("` ("` ("` ("` 9G=R
M:71E9BAS=&1E<G(L(G)U;FYI;F<Z("(I.PT*("` ("` ("` ("` 9F]R96%C
M:"AC:&%R6UT 87)G.R!E>&5A<F=V*0T*("` ("` ("` ("` >PT*("` ("` 
M("` ("` ("` (&9W<FET968H<W1D97)R+&%R9RPB("(I.PT*("` ("` ("` 



M=G`H<W1D+F,N<')O8V5S<RY?4%]704E4+"!E>&5P871H+"!E>&5A<F=V*3L-









M;VED('5S86=E*"D-"GL-"B` ("!F=W)I=&5F;&XH<W1D97)R+")5<V%G93HB
M*3L-"B` ("!F=W)I=&5F;&XH<W1D97)R+"( ("(L;7EN86UE+"( 6T0 8V]M
M<&EL97( 87)G=6UE;G1S72!;(BQM>6YA;64L(B!A<F=U;65N='-=('!R;V=F
M:6QE+F0 6W!R;V=R86T 87)G=6UE;G1S72(I.PT*("` (&9W<FET969L;BAS
M=&1E<G(I.PT*("` (&9W<FET969L;BAS=&1E<G(L;7EN86UE+"( 87)G=6UE
M;G1S.B(I.PT*("` (&9W<FET969L;BAS=&1E<G(L(B` +2UH96QP7'1<=%1H
M:7, ;65S<V%G92(I.PT*("` (&9W<FET969L;BAS=&1E<G(L(B` +2UF;W)C
M95QT7'1&;W)C92!R92UC;VUP:6QA=&EO;B!O9B!S;W5R8V4 8V]D92!;9&5F
M875L="`](&1O(&YO="!F;W)C95TB*3L-"B` ("!F=W)I=&5F;&XH<W1D97)R
M+"( ("TM=F5R8F]S95QT7'13:&]W(&1E=&%I;&5D(&EN9F\ ;V8 ;W!E<F%T
M:6]N<R!;9&5F875L="`](&1O(&YO="!S:&]W72(I.PT*("` (&9W<FET969L
M;BAS=&1E<G(L(B` +2UC;VUP:6QE<CTH9&UD?&=D;60I7'13<&5C:69Y(&-O
M;7!I;&5R(%MD969A=6QT(#T 9&UD72(I.PT*("` (&9W<FET969L;BAS=&1E
M<G(L(B` +2UT;7!D:7(]=&UP7V1I<E]P871H7'13<&5C:69Y(&1I<F5C=&]R
M>2!T;R!S=&]R92!C86-H960 <')O9W)A;2!A;F0 ;W1H97( =&5M<&]R87)I
M97, 6V1E9F%U;'0 /2`O=&UP72(I.PT*("` (&9W<FET969L;BAS=&1E<G(I
M.PT*("` (&9W<FET969L;BAS=&1E<G(L(DYO=&5S.B(I.PT*("` (&9W<FET
M969L;BAS=&1E<G(L(B` 9&UD(&]R(&=D;60 ;75S="!B92!I;B!T:&4 8W5R
M<F5N="!U<V5R(&-O;G1E>'0 )%!!5$ B*3L-"B` ("!F=W)I=&5F;&XH<W1D
M97)R+"( ("(L;7EN86UE+"( 9&]E<R!N;W0 <W5P<&]R="!E>&5C=71I;VX 
M;V8 1"!S;W5R8V4 8V]D92!V:6$ <W1D:6XB*3L-"B` ("!F=W)I=&5F;&XH
M<W1D97)R+"( ("(L;7EN86UE+"( =VEL;"!O;FQY(&-O;7!I;&4 86YD(&5X
M96-U=&4 9FEL97, =VET:"!A("<N9"< 9FEL92!E>'1E;G-I;VXB*3L-"B` 

M6UT =&UP9&ER+"!C:&%R6UT 8V]M<&EL97(L(&)O;VP 9F]R8V4L(&-H87);
M72!D9FEL97!A=& L(&-H87);75M=(&-M<'8L(&EN;W5T(&-H87);72!E>&5P

M870 9&9I;&5S=&%T.R` +R\ 1"!S;W5R8V4 8V]D92!F:6QE('-T871U<R!I
M;F9O+ T*("` (&EN="!F:6QR=B`]('-T870H9&9I;&5P871H+"9D9FEL97-T

M871H+&9I;&5397!A<F%T;W(I.PT*("` (&-H87);72!E>&5F:6QE(#T <W!L
M:70H<&%T:&-O;7!S6R0M,5TL(BXB*5LP73L-" T*("` (&-H87);72!C;61L
M:6YE(#T

M("` ("!C;61L:6YE('X]("( (B!^('-T<CL-" T*("` ("\O($U$-2!S=6T 


M+R\ 9&ER96-T;W)Y(&9O<B!T96UP+B!F:6QE<PT*("` (&EF*"%T;7!D:7(N
M;&5N9W1H*0T*("` ("` ("!T;7!D:7( /2`B+W1M<"\B.PT*("` (&5L<V4-
M"B` ("` ("` :68H=&UP9&ER6R0M,5T (3T 9FEL95-E<&%R871O<ELP72D-

M+R\ 97AE(&9I;&5N86UE(&9O<FUA="!I<R!B87-E;F%M92UU:60M9FEL97-Y

M8V]M<&EL97( 87)G=6UE;G1S(&]N=&\ =&AE(&9I;&4 ;F%M92!T;R!F;W)C
M92!R96-O;7!I;&4 :68 =&AE>2!H879E(&-H86YG960-"B` ("!E>&5P871H
M(#T =&UP9&ER('X 97AE9FEL92!^("(M(B!^('1O4W1R:6YG*&=E='5I9" I
M*2!^("(M(B!^('1O4W1R:6YG*&1F:6QE<W1A="YS=%]D978I('X (BTB('X 
M=&]3=')I;F<H9&9I;&5S=&%T+G-T7VEN;RD ?B`B+2( ?B!D:6=E<W14;U-T

M870 97AE<W1A=#L ("` +R\ =&5M<"X 97AE8W5T86)L92!S=&%T=7, :6YF
M;RX-"B` ("!I;G0 97AE<G8 /2!S=&%T*&5X97!A=& L)F5X97-T870I.PT*
M("` (&EF*&9O<F-E('Q\("` ("` ("` ("` ("` ("` ("` ("` ("` ("` 
M("` +R\ 9F]R8V4 8V]M<&EL871I;VX-"B` ("` ("!E>&5R=B!\?"` ("` 
M("` ("` ("` ("` ("` ("` ("` ("` ("` ("\O('-T870 <F5T=7)N960 

M+G-T7VUT:6UE(#X 97AE<W1A="YS=%]M=&EM92!\?"`O+R!S;W5R8V4 8V]D
M92!F:6QE(&ES(&YE=V5R('1H86X 97AE8W5T86)L90T*("` ("` ('!R;V=S
M=&%T*"YM>6YA;64I+G-T7VUT:6UE(#X 97AE<W1A="YS=%]M=&EM92!\?"`O

M("` <')O9W-T870H8V]M<&EL97(I+G-T7VUT:6UE(#X 97AE<W1A="YS=%]M
M=&EM92D ("\O(&-O;7!I;&5R(&ES(&YE=V5R('1H86X 97AE8W5T86)L90T*
M("` ('L-"B` ("` ("` 8VUD;&EN92!^/2`B("( ?B!D9FEL97!A=&  ?B`B
M("UO9B( ?B!E>&5P871H('X (B`M;V0B('X =&UP9&ER.PT*("` ("` ("!I





M*'1M<&1I<B!^(&5X969I;&4 ?B!O8FIE8W1%>'1E;G-I;VXI.R!](&-A=&-H


M("` ('-T<G5C=%]S=&%T('!R;V=S=&%T.R` +R\ 1"!S;W5R8V4 8V]D92!F


M=&]R*2`^/2`P*0T*("` ("` ("` ("` <')G<G8 /2!S=&%T*'!R;V=R86TL


M("` ("` ("` ("!C:&%R6UU;72!P871H9&ER<R`]('-P;&ET*'1O4W1R:6YG
M*&=E=&5N=B B4$%42"(I*2QP871H4V5P87)A=&]R*3L-"B` ("` ("` ("` 


M<F%T;W( ?B!P<F]G<F%M+"`F<')O9W-T870I.PT*("` ("` ("` ("` ("` 
M(&EF("AP<F=R=B`]/2`P*0T*("` ("` ("` ("` ("` ('L-"B` ("` ("` 



M;G0 <W!A=VYA<'`H8VAA<EM=('!A=&AN86UE+"!C:&%R6UU;72!A<F=V*0T*
M>PT*("` (&EN="!R971V86P /2`P.PT*("` ('!I9%]T('!I9"`](&9O<FLH


M92QA<F=V*3L-"B` ("` ("` ("` (&=O=&\ 3&5R<F]R.PT*("` ("` ("!]

M:6YT('-T871U<SL-"B` ("` ("` ("` ('!I9%]T('=P:60 /2!W86ET<&ED

M='5S*2D-"B` ("` ("` ("` ('L-"B` ("` ("` ("` ("` ("!R971V86P 



M=F%L(#T +71E<FUS:6<H<W1A='5S*3L-"B` ("` ("` ("` ("` ("!B<F5A
M:SL-"B` ("` ("` ("` ('T-"B` ("` ("` ("` (&5L<V4 :68H<W1O<'!E
M9"AS=&%T=7,I*2`O+R!P=')A8V4 <W5P<&]R=`T*("` ("` ("` ("` ("` 
M(&-O;G1I;G5E.PT*("` ("` ("` ("` 96QS90T*("` ("` ("` ("` ("` 

M='9A;#L-
M;SL-"B` ("!E<G)O<B B0V%N;F]T('-P87=N("( ?B!T;U-T<FEN9RAP871H
M;F%M92D ?B`B.R`B('X =&]3=')I;F<H<W1R97)R;W(H<F5T=F%L*2D ?B`B
M(%ME<G)N;R`B('X =&]3=')I;F<H<F5T=F%L*2!^(")=(BP <F5T=F%L*3L-

M:&%R*B!S=')E<G)O<BAI;G0I.PT*("` ('5S:&]R="!G971U:60H*3L-"GT-
M"F)O;VP <W1O<'!E9"AI;G0 <W1A='5S*2` ("![(')E='5R;B!C87-T*&)O

M9"AI;G0 <W1A='5S*2` ('L <F5T=7)N(&-A<W0H8F]O;"DH*&-A<W0H8VAA


M('T-"F)O;VP 97AI=&5D*&EN="!S=&%T=7,I("` ("![(')E='5R;B!C87-T




M=$9I;&54:6UE*$A!3D1,12!H1FEL92P 3%!&24Q%5$E-12!L<$-R96%T:6]N
M5&EM92P-"B` ("` ("` ("` ("` ("` ("` ($Q01DE,151)344 ;'!,87-T
M06-C97-S5&EM92P 3%!&24Q%5$E-12!L<$QA<W17<FET951I;64I.PT*("` 
M($)/3TP 1V5T57-E<DYA;65!*$Q05%-44B!L<$)U9F9E<BP 3%!$5T]21"!N




M<G5C=%]S=&%T*B!S="D-"B` >PT*("` (&EN="!R971V86P /2`M,3L-"B` 
M("!(04Y$3$4 :"`]($-R96%T949I;&5!*&YA;64L($9)3$5?1T5.15))0U]2
M14%$+"`P+"!N=6QL+"!/4$5.7T5825-424Y'+"!&24Q%7T%45%))0E5415].
M3U)-04PL(&YU;&PI.PT*("` (&EF("AH("$]($E.5D%,241?2$%.1$Q%7U9!

M("` ("!I9B`H1V5T1FEL951I;64H:"P ;G5L;"P ;G5L;"P )FQA<W17<FET
M951I;64I*0T*("` ("` >PT*("` ("` ("!S="YS=%]M=&EM92`](&QA<W17

M(#P\/2`S,CL-"B` ("` ("` <W0N<W1?;71I;64 ?#T ;&%S=%=R:71E5&EM
M92YD=TQO=T1A=&54:6UE.PT*("` ("` ("!R971V86P /2`P.PT*("` ("` 


M;U-T<FEN9RAN86UE*2PB(#H (BQR971V86PI.PT*("` ('T-"B` ("!R971U


M("` ($173U)$('-I>F4 /2!B=69F97(N;&5N9W1H(#T
M1V5T57-E<DYA;65!*&)U9F9E<BP )G-I>F4I*0T*("` ('L-"B` ("` (&)U
M9F9E<BYL96YG=&  /2!S:7IE.PT*("` ("` <F5T=7)N(&)U9F9E<CL-"B` 


`
end
Feb 14 2006
next sibling parent Dave <Dave_member pathlink.com> writes:
In article <dssvit$1u5k$1 digitaldaemon.com>, Roberto Mariottini says...
Hi,
attached you can find a version of rdmd for Windows (it should still work on
Linux, though).
Nice additions Roberto! Thanks for catching that 'progstat' bug as well. - Dave
Modified:

- Ported to Windows
- It runs also ".ds" extension 
- Added the --verbose argument
- Optimized the loop in progstat(): now exits the loop after a file is found

Open problems:

- The map file is still generated in the current directory, even specifying
"-L/nomap" on the dmd command line (I think it's a linker bug).

Ciao
Feb 17 2006
prev sibling parent reply "Walter Bright" <newshound digitalmars.com> writes:
"Roberto Mariottini" <Roberto_member pathlink.com> wrote in message 
news:dssvit$1u5k$1 digitaldaemon.com...
 Hi,
 attached you can find a version of rdmd for Windows (it should still work 
 on
 Linux, though).
For some inexplicable reason, Outlook Express cannot decode the attachment. Can you email it to me please?
Feb 18 2006
parent Roberto Mariottini <Roberto_member pathlink.com> writes:
In article <dt7lgd$2grk$1 digitaldaemon.com>, Walter Bright says...
"Roberto Mariottini" <Roberto_member pathlink.com> wrote in message 
news:dssvit$1u5k$1 digitaldaemon.com...
 Hi,
 attached you can find a version of rdmd for Windows (it should still work 
 on
 Linux, though).
For some inexplicable reason, Outlook Express cannot decode the attachment. Can you email it to me please?
It's the magic of the digitalmars web interface :-) While it can uuencode files, the uudecode feature does not work. Ciao
Feb 20 2006