Branko Cibej wrote:
> The next step is to add dependencies on the headers converted by the
> .i files, so that SWIG regenerates the bindings correctly when the
> headers change.
A patch is attached which adds dependencies on the headers /included/ by the .i
files. I'm not sure if this creates more (or less?) dependencies than are
actually neccessary. VC7 support for these changes needs to be added and the
patch also needs to be tested on unix. I did compare the new generated makefiles
with the old generated makefiles and they look correct.
Log Message:
Changes to make swig's generated .c files explicitly dependent on the headers
included in its .i files. This patch affects the generated makefile and
VC6 projects but not the VC7 projects.
* build/generator/msvc_dsp.ezt: Added new "sources.user_deps" property.
* build/generator/gen_base.py (GeneratorBase.compute_hdr_deps): Now computes
header dependencies for generated swig files.
(SWIGSource): new DependencyNode class to hold information about .i source
files.
(TargetSWIG.add_dependencies): changed to add SWIGSource nodes to the
dependency graph instead of strings containing the paths to .i files
* build/generator/gen_win.py (WinGeneratorBase.get_proj_sources): Now adds
swig header dependencies from the dependency graph as user-defined
dependencies of the generated .c files in visual studio projects.
* build/generator/gen_make.py (Generator.write): SWIGSource nodes are
cast to strings in two places so string and path operations can
be performed on them.
begin 666 swig7.diff
M26YD97@Z(&)U:6QD+V=E;F5R871O<B]M<W9C7V1S<"YE>G0*/3T]/3T]/3T]
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
M/3T]/3T]/3T]/3T]/0HM+2T@8G5I;&0O9V5N97)A=&]R+VUS=F-?9'-P+F5Z
M= DH<F5V:7-I;VX@-C,R.2D**RLK(&)U:6QD+V=E;F5R871O<B]M<W9C7V1S
M<"YE>G0)*'=O<FMI;F<@8V]P>2D*0$ @+38R+#<@*S8R+#@@0$ *(",@4%)/
M4"!);G1E<FUE9&EA=&5?1&ER(");<F]O='!A=&A=7%MC;VYF:6=S+FYA;65=
M7%MT87)G970N<&%T:%U<6W-O=7)C97,N<F5L9&ER72(*(%ME;F1=6V5N9%T*
M("%%3D1)1@HM6V5N9%U;:68M86YY('-O=7)C97,N<W=I9U]L86YG=6%G95T*
M*UME;F1=6V9O<B!S;W5R8V5S+G5S97)?9&5P<UU;:68M:6YD97@@<V]U<F-E
M<RYU<V5R7V1E<',@9FER<W1="BM54T521$507U\]6V5L<V5=(%ME;F1=(EMS
M;W5R8V5S+G5S97)?9&5P<UTB6V5N9%U;:68M86YY('-O=7)C97,N<W=I9U]L
M86YG=6%G95T*( H@(R!"96=I;B!#=7-T;VT@0G5I;&0*( I);F1E>#H@8G5I
M;&0O9V5N97)A=&]R+V=E;E]B87-E+G!Y"CT]/3T]/3T]/3T]/3T]/3T]/3T]
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
M/3T*+2TM(&)U:6QD+V=E;F5R871O<B]G96Y?8F%S92YP>0DH<F5V:7-I;VX@
M-C,R.2D**RLK(&)U:6QD+V=E;F5R871O<B]G96Y?8F%S92YP>0DH=V]R:VEN
M9R!C;W!Y*0I 0" M,3DP+#$S("LQ.3 L,30@0$ *(" @(" @(" @:6YC;'5D
M95]D97!S+G5P9&%T92AM;W)E7V1E<',I"B *(" @("!F;W(@;V)J;F%M92P@
M<V]U<F-E<R!I;B!S96QF+F=R87!H+F=E=%]D97!S*$147T]"2D5#5"DZ"BL@
M(" @("!A<W-E<G0@;&5N*'-O=7)C97,I(#T](#$*(" @(" @(&EF(&ES:6YS
M=&%N8V4H;V)J;F%M92P@4U=)1T]B:F5C="DZ"BT@(" @(" @(",C(R!T:&4@
M+F,@9FEL92!I<R!G96YE<F%T960L('-O('=E(&-A;B=T('-C86X@:70N('1H
M:7,@:7-N)W0@80HM(" @(" @(" C(R,@=F5R>2!G;V]D('1E<W0N(&ED96%L
M;'DL('1H92!T97-T('=O=6QD(&)E('1O(&QO;VL@9F]R(&$*+2 @(" @(" @
M(R,C(&1E<&5N9&5N8WD@;F]D92!F;W(@=&AE('-O=7)C92P@;65A;FEN9R!I
M="!I<R!G96YE<F%T960L(&%N9 HM(" @(" @(" C(R,@<'5N="!O;B!I="!T
M:&5N+@HK(" @(" @("!F;W(@:69I;&4@:6X@<V5L9BYG<F%P:"YG971?<V]U
M<F-E<RA$5%]35TE'7T,L('-O=7)C97-;,%TI.@HK(" @(" @(" @(&EF(&ES
M:6YS=&%N8V4H:69I;&4L(%-724=3;W5R8V4I.@HK(" @(" @(" @(" @9F]R
M('-H;W)T(&EN(%]F:6YD7VEN8VQU9&5S*&EF:6QE+F9N86UE+"!I;F-L=61E
M7V1E<',I.@HK(" @(" @(" @(" @("!S96QF+F=R87!H+F%D9"A$5%]35TE'
M7T,L('-O=7)C97-;,%TL(&EN8VQU9&5?9&5P<UMS:&]R=%U;,%TI"B @(" @
M(" @(&-O;G1I;G5E"BT@(" @("!A<W-E<G0@;&5N*'-O=7)C97,I(#T](#$*
M*PH@(" @(" @:&1R<R ](%L@70H@(" @(" @9F]R('-H;W)T(&EN(%]F:6YD
M7VEN8VQU9&5S*'-O=7)C97-;,%TN9FYA;64L(&EN8VQU9&5?9&5P<RDZ"B @
M(" @(" @('-E;&8N9W)A<&@N861D*$147T]"2D5#5"P@;V)J;F%M92P@:6YC
M;'5D95]D97!S6W-H;W)T75LP72D*0$ @+3(Y,RPV("LR.30L,3 @0$ *(" @
M9&5F(%]?:6YI=%]?*'-E;&8L(&9N86UE+"!R96QD:7(I.@H@(" @($1E<&5N
M9&5N8WE.;V1E+E]?:6YI=%]?*'-E;&8L(&9N86UE*0H@(" @('-E;&8N<F5L
M9&ER(#T@<F5L9&ER"BMC;&%S<R!35TE'4V]U<F-E*%-O=7)C949I;&4I.@HK
M("!D968@7U]I;FET7U\H<V5L9BP@9FYA;64I.@HK(" @(%-O=7)C949I;&4N
M7U]I;FET7U\H<V5L9BP@9FYA;64L(&]S+G!A=&@N9&ER;F%M92AF;F%M92DI
M"BL@('!A<W,*( H@(R!T:&4@4U=)1R!U=&EL:71Y(&QI8G)A<FEE<PH@8VQA
M<W,@4U=)1U5T:6Q0>71H;VXH3V)J96-T1FEL92DZ"D! ("TT.30L,3 @*S0Y
M.2PQ,"! 0 H@(" @(",C(R!S:6UP;&4@87-S97)T:6]N<R!F;W(@;F]W"B @
M(" @87-S97)T(&QE;BAS;W5R8V5S*2 ]/2 Q"B *+2 @("!I9FEL92P@<F5L
M9&ER(#T@<V]U<F-E<ULP70HM(" @(&%S<V5R="!I9FEL95LM,CI=(#T]("<N
M:2<**R @("!I<&%T:"P@<F5L9&ER(#T@<V]U<F-E<ULP70HK(" @(&%S<V5R
M="!I<&%T:%LM,CI=(#T]("<N:2<*( HM(" @(&1I<BP@:6YA;64@/2!O<RYP
M871H+G-P;&ET*&EF:6QE*0HK(" @(&1I<BP@:6YA;64@/2!O<RYP871H+G-P
M;&ET*&EP871H*0H@(" @(&-N86UE(#T@:6YA;65;.BTR72 K("<N8R<*(" @
M("!O;F%M92 ](&EN86UE6SHM,ET@*R!S96QF+E]O8FIE>'0*( I 0" M-3 W
M+#8@*S4Q,BPX($! "B @(" @96QS93H*(" @(" @(&QI8FYA;64@/2 G7R<@
M*R!I;F%M95LZ+3)=("L@<V5L9BY?;&EB97AT"B **R @("!I9FEL92 ](%-7
M24=3;W5R8V4H:7!A=&@I"BL*(" @("!F;W(@;&%N9R!I;B!S96QF+F-F9RYS
M=VEG7VQA;F<Z"B @(" @("!A8F)R978@/2!L86YG7V%B8G)E=EML86YG70H@
M"DEN9&5X.B!B=6EL9"]G96YE<F%T;W(O9V5N7W=I;BYP>0H]/3T]/3T]/3T]
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
M/3T]/3T]/3T]/3T]"BTM+2!B=6EL9"]G96YE<F%T;W(O9V5N7W=I;BYP>0DH
M<F5V:7-I;VX@-C,R.2D**RLK(&)U:6QD+V=E;F5R871O<B]G96Y?=VEN+G!Y
M"2AW;W)K:6YG(&-O<'DI"D! ("TR-3@L-R K,C4X+#<@0$ *(" @(" @(" @
M<G-R8R ]('-T<FEN9RYR97!L86-E*&]S+G!A=&@N:F]I;BAR;V]T<&%T:"P@
M<W)C*2P@;W,N<V5P+" G7%PG*0H@(" @(" @("!I9B!Q=6]T95]P871H(&%N
M9" G+2<@:6X@<G-R8SH*(" @(" @(" @("!R<W)C(#T@)R(E<R(G("4@<G-R
M8PHM(" @(" @("!S;W5R8V5S+F%P<&5N9"A0<F]J96-T271E;2AP871H/7)S
M<F,L(')E;&1I<CUR96QD:7(L"BL@(" @(" @('-O=7)C97,N87!P96YD*%!R
M;VIE8W1)=&5M*'!A=&@]<G-R8RP@<F5L9&ER/7)E;&1I<BP@=7-E<E]D97!S
M/2@I+ H@(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @("!S=VEG
M7VQA;F=U86=E/4YO;F4I*0H@"B @(" @:68@:7-I;G-T86YC92AT87)G970L
M(&=E;E]B87-E+E-724=,:6)R87)Y*3H*0$ @+3(V-RPW("LR-C<L-R! 0 H@
M(" @(" @(" @(&9O<B!C;V)J(&EN('-E;&8N9W)A<&@N9V5T7W-O=7)C97,H
M9V5N7V)A<V4N1%1?3T)*14-4+"!O8FHI.@H@(" @(" @(" @(" @:68@:7-I
M;G-T86YC92AC;V)J+"!G96Y?8F%S92Y35TE'3V)J96-T*3H*(" @(" @(" @
M(" @(" @8W-R8R ](')O;W1P871H("L@)UQ<)R K('-T<FEN9RYR97!L86-E
M*&-O8FHN9FYA;64L("<O)RP@)UQ<)RD*+2 @(" @(" @(" @(" @<V]U<F-E
M<RYA<'!E;F0H4')O:F5C=$ET96TH<&%T:#UC<W)C+"!R96QD:7(]3F]N92P*
M*R @(" @(" @(" @(" @<V]U<F-E<RYA<'!E;F0H4')O:F5C=$ET96TH<&%T
M:#UC<W)C+"!R96QD:7(]3F]N92P@=7-E<E]D97!S/2@I+ H@(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @("!S=VEG7VQA;F=U86=E
M/4YO;F4I*0H@"B @(" @(" @(" @(" @(",@;W5T<'5T('!A=&@@<&%S<V5D
M('1O('-W:6<@:&%S('1O('5S92!F;W)W87)D('-L87-H97,L"D! ("TR-S4L
M,3 @*S(W-2PQ.2! 0 H@(" @(" @(" @(" @(" C(&-L87-S97,I('=I;&P@
M8F4@<V%V960@=&\@=&AE('=R;VYG(&1I<F5C=&]R>0H@(" @(" @(" @(" @
M("!C;W5T(#T@<W1R:6YG+G)E<&QA8V4H;W,N<&%T:"YJ;VEN*')O;W1P871H
M+"!C;V)J+F9N86UE*2P*(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(&]S+G-E<"P@)R\G*0HK(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @"BL@(" @(" @(" @(" @(",@:6YC;'5D960@:&5A9&5R
M(&9I;&5S('1H870@=&AE(&=E;F5R871E9"!C(&9I;&4@9&5P96YD<R!O;@HK
M(" @(" @(" @(" @("!U<V5R7V1E<',@/2!;70H@"BT@(" @(" @(" @(" @
M(&9O<B!I9FEL92!I;B!S96QF+F=R87!H+F=E=%]S;W5R8V5S*&=E;E]B87-E
M+D147U-724=?0RP@8V]B:BDZ"BT@(" @(" @(" @(" @(" @:7-R8R ](')O
M;W1P871H("L@)UQ<)R K('-T<FEN9RYR97!L86-E*&EF:6QE+" G+R<L("=<
M7"<I"BT@(" @(" @(" @(" @(" @<V]U<F-E<RYA<'!E;F0H4')O:F5C=$ET
M96TH<&%T:#UI<W)C+"!R96QD:7(]3F]N92P@"BL@(" @(" @(" @(" @(&9O
M<B!I;V)J(&EN('-E;&8N9W)A<&@N9V5T7W-O=7)C97,H9V5N7V)A<V4N1%1?
M4U=)1U]#+"!C;V)J*3H**R @(" @(" @(" @(" @("!I<W)C(#T@<F]O='!A
M=&@@*R G7%PG("L@<W1R:6YG+G)E<&QA8V4H<W1R*&EO8FHI+" G+R<L("=<
M7"<I"BL**R @(" @(" @(" @(" @("!I9B!N;W0@:7-I;G-T86YC92AI;V)J
M+"!G96Y?8F%S92Y35TE'4V]U<F-E*3H**R @(" @(" @(" @(" @(" @('5S
M97)?9&5P<RYA<'!E;F0H:7-R8RD**R @(" @(" @(" @(" @(" @(&-O;G1I
M;G5E"BL**R @(" @(" @(" @(" @("!S;W5R8V5S+F%P<&5N9"A0<F]J96-T
M271E;2AP871H/6ES<F,L(')E;&1I<CU.;VYE+ HK(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @('5S97)?9&5P<SUU<V5R7V1E
M<',L"B @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @<W=I9U]L86YG=6%G93UT87)G970N;&%N9RP*(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @("!S=VEG7W1A<F=E=#UC<W)C
M+"!S=VEG7V]U='!U=#UC;W5T*2D*(" @(" @(" @"DEN9&5X.B!B=6EL9"]G
M96YE<F%T;W(O9V5N7VUA:V4N<'D*/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/0HM
M+2T@8G5I;&0O9V5N97)A=&]R+V=E;E]M86ME+G!Y"2AR979I<VEO;B V,S(Y
M*0HK*RL@8G5I;&0O9V5N97)A=&]R+V=E;E]M86ME+G!Y"2AW;W)K:6YG(&-O
M<'DI"D! ("TR,#<L,3 @*S(P-RPQ,"! 0 H@(" @('-E;&8N;V9I;&4N=W)I
M=&4H)TU!3E!!1T53(#T@)7-<;EQN)R E('-T<FEN9RYJ;VEN*'-E;&8N;6%N
M<&%G97,I*0H@"B @(" @9F]R(&]B:FYA;64L('-O=7)C97,@:6X@<V5L9BYG
M<F%P:"YG971?9&5P<RAG96Y?8F%S92Y$5%]35TE'7T,I.@HM(" @(" @9&5P
M<R ]('-T<FEN9RYJ;VEN*'-O=7)C97,I"BL@(" @("!D97!S(#T@<W1R:6YG
M+FIO:6XH;6%P*'-T<BP@<V]U<F-E<RDI"B @(" @("!S96QF+F]F:6QE+G=R
M:71E*"<E<SH@)7-<;EQT)"A254Y?4U=)1U\E<RD@)7-<;B<*(" @(" @(" @
M(" @(" @(" @(" @(" @)2 H;V)J;F%M92P@9&5P<RP@<W1R:6YG+G5P<&5R
M*&]B:FYA;64N;&%N9U]A8F)R978I+ HM(" @(" @(" @(" @(" @(" @(" @
M(" @("!O<RYP871H+FIO:6XH)R0H=&]P7W-R8V1I<BDG+"!S;W5R8V5S6S!=
M*2DI"BL@(" @(" @(" @(" @(" @(" @(" @(" @(&]S+G!A=&@N:F]I;B@G
M)"AT;W!?<W)C9&ER*2<L('-T<BAS;W5R8V5S6S!=*2DI*0H@"B @(" @9F]R
M(&]B:FYA;64L('-O=7)C97,@:6X@<V5L9BYG<F%P:"YG971?9&5P<RAG96Y?
M8F%S92Y$5%]/0DI%0U0I.@H@(" @(" @9&5P<R ]('-T<FEN9RYJ;VEN*&UA
1<"AS='(L('-O=7)C97,I*0H`
`
end
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Wed Jun 25 05:49:35 2003