[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: [PATCH] Generating VC6 project files for swig bindings

From: Russell Yanofsky <rey4_at_columbia.edu>
Date: 2003-06-25 05:43:59 CEST

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

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.