You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Russell Yanofsky <re...@columbia.edu> on 2003/06/14 02:27:26 UTC

[PATCH] Generating VC6 project files for swig bindings

Log Message:

Changes to make/project generator to generate VC6 .dsp projects for the swig
bindings. This required some small changes to gen_base.py and gen_win.py,
but they do not effect the vcproj or makefile output. The resulting python
binaries seem to work fine, at least for the cvs2svn script. I didn't
attempt
to build the java projects.

* subversion/bindings/swig/INSTALL: Added some instructions for Windows.

* build/generator/msvc_dsp.ezt: New "custom_build" property for sources.
  Renamed target's "is_apache_mod" property to "is_dll".

* build/generator/gen_base.py (TargetSWIG.add_dependencies): Adds SWIGObject
  representing the generated C file as a dependency of the object file
  instead of adding a string containing the C file's name. This makes it
  possible to determine the name of the .i file associated with a
SWIGLibrary
  object using the dependency graph.

* build/generator/gen_base.py
(get_win_defines,get_win_includes,get_win_libs):
  Added more hardcoded dependencies for the swig projects :(

* build/generator/gen_msvc_dsp.py (Generator.write_project): Added
  conditionals to detect if target is a swig library, and if so write out
  sources with custom build steps and set some attributes on the target
  object.

  (Generator.write): Changed to iterate over the targets in
  graph.get_all_sources(DT_INSTALL), making the dsp project generator
  more consistent with the vcproj and makefile generators. It still
  goes over the targets in the self.targets dictionary, though, to pick
  up fake targets like __ALL__ , depsubr, and so on.


begin 666 swig.diff
M26YD97@Z('-U8G9E<G-I;VXO8FEN9&EN9W,O<W=I9R])3E-404Q,"CT]/3T]
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
M/3T]/3T]/3T]/3T]/3T]/3T*+2TM('-U8G9E<G-I;VXO8FEN9&EN9W,O<W=I
M9R])3E-404Q,"2AR979I<VEO;B V,C(Q*0HK*RL@<W5B=F5R<VEO;B]B:6YD
M:6YG<R]S=VEG+TE.4U1!3$P)*'=O<FMI;F<@8V]P>2D*0$ @+34U+#<@*S4U
M+#<@0$ *(" @(" @("!F:6QE<RP@<F5S=6QT:6YG(&EN(&$@8V]L;&5C=&EO
M;B!O9B N8R!S;W5R8V4@9FEL97,N("!)="!W:6QL"B @(" @(" @=&AE;B!C
M;VUP:6QE(&%N9"!L:6YK('1H;W-E("YC(&9I;&5S(&EN=&\@4'ET:&]N(&QI
M8G)A<FEE<RX*( HM(" @(" @($]N(%=I;F1O=W,L(#\_/PHK(" @(" @($]N
M(%=I;F1O=W,L(&)U:6QD('1H92!P>71H;VY?*B!P<F]J96-T<R!I;B!6:7-U
M86P@4W1U9&EO+@H@"B @(" R+B @3VX@56YI>"!S>7-T96US+"!R=6X@)VUA
M:V4@:6YS=&%L;"US=VEG+7!Y)R H87,@<F]O="P@='EP:6-A;&QY*0H@(" @
M(" @(&9R;VT@=&AE('1O<"!O9B!T:&4@4W5B=F5R<VEO;B!S;W5R8V4@=')E
M92X@(%1H:7,@=VEL;"!C;W!Y"D! ("TW,2PX("LW,2PQ.2! 0 H@(" @(" @
M(&5X86UP;&4@;V8@9&]I;F<@=&AI<R!F;W(@8G5I;&1I;F<@<G!M<R!L;V]K
M<R!L:6ME"B @(" @(" @)VUA:V4@:6YS=&%L;"US=VEG+7!Y($1%4U1$25(]
M)%)035]"54E,1%]23T]4+W5S<B<N"B *+2 @(" @("!/;B!7:6YD;W=S+" _
M/S\**R @(" @("!/;B!7:6YD;W=S+"!C;W!Y('1H92!S=6)V97)S:6]N7&)I
M;F1I;F=S7'-W:6=<<'ET:&]N7'-V;B!F;VQD97(@=&\**R @(" @(" \4%E4
M2$]./EQ,:6)<<VET92UP86-K86=E<RP@86YD('1H96X@8V]P>2!T:&4**R @
M(" @("!296QE87-E7'-U8G9E<G-I;VY<8FEN9&EN9W-<<W=I9UQP>71H;VY<
M*BYD;&P@9FEL97,@=&\**R @(" @(" \4%E42$]./EQ,:6)<<VET92UP86-K
M86=E<UQS=FXN"B **R @(" @("!/<'1I;VYA;&QY+"!Y;W4@8V%N(')U;B!T
M:&4@9F]L;&]W:6YG(&-O;6UA;F0@=&\@8V]M<&EL92!T:&4@<'ET:&]N"BL@
M(" @(" @<V]U<F-E<R!I;G1O(&)Y=&5C;V1E.@HK(" @(" @( HK(" @(" @
M(" @<'ET:&]N(#Q0651(3TX^7&QI8EQC;VUP:6QE86QL+G!Y(#Q0651(3TX^
M7$QI8EQS:71E+7!A8VMA9V5S7'-V;@HK(" @(" @(" @"BL@(" @(" @5&AI
M<R!C86X@;6%K92!T:&4@;6]D=6QE<R!L;V%D(&9A<W1E<B!F;W(@=7-E<G,@
M=VET:&]U="!W<FET92!A8V-E<W,**R @(" @("!T;R \4%E42$]./EQ,:6)<
M<VET92UP86-K86=E<UQS=FXN(" @(" @( HK"B @(" S+B @5F5R:69Y('1H
M870@86X@)W-V;B<@<&%C:V%G92!H87,@8F5E;B!I;G-T86QL960@8V]R<F5C
M=&QY+B @66]U(&-A;@H@(" @(" @(&1O('1H:7,@8GD@<G5N;FEN9R!P>71H
M;VX@=FEA("=P>71H;VX@+6,@(F9R;VT@<W9N(&EM<&]R="!C;&EE;G0B)RX*
M( I);F1E>#H@8G5I;&0O9V5N97)A=&]R+VUS=F-?9'-P+F5Z= H]/3T]/3T]
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
M/3T]/3T]/3T]/3T]/3T]"BTM+2!B=6EL9"]G96YE<F%T;W(O;7-V8U]D<W N
M97IT"2AR979I<VEO;B V,C(Q*0HK*RL@8G5I;&0O9V5N97)A=&]R+VUS=F-?
M9'-P+F5Z= DH=V]R:VEN9R!C;W!Y*0I 0" M-#8L-R K-#8L-R! 0 H@(R!!
M1$0@4E-#("]L(%MI9BUA;GD@:7-?97AE73!X-# Y6V5L<V5=,'@T,C1;96YD
M72 O9"!;:7,@8V]N9FEG<RYN86UE(")$96)U9R)=(E]$14)51R);96QS95TB
M3D1%0E5'(EME;F1="B!"4T,S,CUB<V-M86ME+F5X90H@3$E.2S,R/6QI;FLN
M97AE"BU;:68M86YY(&ES7V5X92!I<U]A<&%C:&5?;6]D72,@041$($Q)3DLS
M,B O;F]L;V=O6VEF+6%N>2!I<U]E>&5=("]S=6)S>7-T96TZ8V]N<V]L95ME
M;F1=6VEF+6%N>2!I<U]A<&%C:&5?;6]D72 O9&QL6V5N9%T@+V1E8G5G("]M
M86-H:6YE.DE8.#9;9F]R(&-O;F9I9W,N;&EB<UT@6V-O;F9I9W,N;&EB<UU;
M96YD75MF;W(@8V]N9FEG<RYL:6)D:7)S72 O;&EB<&%T:#HB6V-O;F9I9W,N
M;&EB9&ER<UTB6V5N9%T@+V]U=#HB6W)O;W1P871H75Q;8V]N9FEG<RYN86UE
M75Q;=&%R9V5T+G!A=&A=7%MT87)G970N;W5T<'5T7VYA;65=(EMI9BUA;GD@
M:6YS=')U;65N=%]P=7)I9GE?<75A;G1I9GE=("]F:7AE9#IN;UME;F1="BM;
M:68M86YY(&ES7V5X92!I<U]D;&Q=(R!!1$0@3$E.2S,R("]N;VQO9V];:68M
M86YY(&ES7V5X95T@+W-U8G-Y<W1E;3IC;VYS;VQE6V5N9%U;:68M86YY(&ES
M7V1L;%T@+V1L;%ME;F1=("]D96)U9R O;6%C:&EN93I)6#@V6V9O<B!C;VYF
M:6=S+FQI8G-=(%MC;VYF:6=S+FQI8G-=6V5N9%U;9F]R(&-O;F9I9W,N;&EB
M9&ER<UT@+VQI8G!A=&@Z(EMC;VYF:6=S+FQI8F1I<G-=(EME;F1=("]O=70Z
M(EMR;V]T<&%T:%U<6V-O;F9I9W,N;F%M95U<6W1A<F=E="YP871H75Q;=&%R
M9V5T+F]U='!U=%]N86UE72);:68M86YY(&EN<W1R=6UE;G1?<'5R:69Y7W%U
M86YT:69Y72 O9FEX960Z;F];96YD70H@6V5N9%U;96YD75ME;F1=6V5N9%U;
M96YD70H@(45.1$E&( H@"D! ("TV,BPV("LV,BPQ,B! 0 H@(R!04D]0($EN
M=&5R;65D:6%T95]$:7(@(EMR;V]T<&%T:%U<6V-O;F9I9W,N;F%M95U<6W1A
M<F=E="YP871H75Q;<V]U<F-E<RYR96QD:7)=(@H@6V5N9%U;96YD70H@(45.
M1$E&"BM;96YD75MI9BUA;GD@<V]U<F-E<RYC=7-T;VU?8G5I;&1="BL**R,@
M0F5G:6X@0W5S=&]M($)U:6QD"BM;<V]U<F-E<RYC=7-T;VU?8G5I;&1="BLC
M($5N9"!#=7-T;VT@0G5I;&0**PH@6V5N9%T*(",@16YD(%-O=7)C92!&:6QE
M"B!;96YD70I);F1E>#H@8G5I;&0O9V5N97)A=&]R+V=E;E]B87-E+G!Y"CT]
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
M/3T]/3T]/3T]/3T]/3T]/3T]/3T*+2TM(&)U:6QD+V=E;F5R871O<B]G96Y?
M8F%S92YP>0DH<F5V:7-I;VX@-C(R,2D**RLK(&)U:6QD+V=E;F5R871O<B]G
M96Y?8F%S92YP>0DH=V]R:VEN9R!C;W!Y*0I 0" M-#DT+#@@*S0Y-"PX($! 
M"B @(" @("!A8F)R978@/2!L86YG7V%B8G)E=EML86YG70H@"B @(" @(" C
M('1H92 N8R!F:6QE(&1E<&5N9',@=7!O;B!T:&4@+FD@9FEL90HM(" @(" @
M8V9I;&4@/2!O<RYP871H+FIO:6XH9&ER+"!L86YG+"!C;F%M92D*+2 @(" @
M(&=R87!H+F%D9"A$5%]35TE'7T,L(%-724=/8FIE8W0H8V9I;&4L(&QA;F<I
M+"!I9FEL92D**R @(" @(&-F:6QE(#T@4U=)1T]B:F5C="AO<RYP871H+FIO
M:6XH9&ER+"!L86YG+"!C;F%M92DL(&QA;F<I"BL@(" @("!G<F%P:"YA9&0H
M1%1?4U=)1U]#+"!C9FEL92P@:69I;&4I"B *(" @(" @(",@=&AE(&]B:F5C
M="!D97!E;F1S('5P;VX@=&AE("YC(&9I;&4*(" @(" @(&]F:6QE(#T@4U=)
M1T]B:F5C="AO<RYP871H+FIO:6XH9&ER+"!L86YG+"!O;F%M92DL(&QA;F<I
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-S8L-B K,C<V+#$P($! "B @(" @96QS
M93H*(" @(" @(&9A:V5D969I;F5S+F5X=&5N9"A;(D%04E]$14-,05)%7U-4
M051)0R(L(D%055]$14-,05)%7U-4051)0R)=*0H@"BL@(" @:68@:7-I;G-T
M86YC92AT87)G970L(&=E;E]B87-E+E-724=,:6)R87)Y*3H**R @(" @(&9A
M:V5D969I;F5S+F%P<&5N9"@B4U=)1U]'3$]"04PB*0HK(" @(" @9F%K961E
M9FEN97,N87!P96YD*")35$%424-?3$E.2T5$(BD**PH@(" @(&EF(&-F9R ]
M/2 G1&5B=6<G.@H@(" @(" @9F%K961E9FEN97,N97AT96YD*%LB7T1%0E5'
M(BPB4U9.7T1%0E5'(ETI"B @(" @96QI9B!C9F<@/3T@)U)E;&5A<V4G.@I 
M0" M,S V+#8@*S,Q,"PY($! "B @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(B)=+ H@(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @<F]O='!A=&@I"B **R @(" @(&EF(&ES:6YS=&%N
M8V4H=&%R9V5T+"!G96Y?8F%S92Y35TE'3&EB<F%R>2DZ"BL@(" @(" @(&9A
M:V5I;F-L=61E<RYA<'!E;F0H)R5S7%QS=6)V97)S:6]N7%QB:6YD:6YG<UQ<
M<W=I9R<@)2!R;V]T<&%T:"D**PH@(" @(')E='5R;B!S96QF+FUA:V5?=VEN
M9&ER<RAF86ME:6YC;'5D97,I"B *(" @9&5F(&=E=%]W:6Y?;&EB7V1I<G,H
M<V5L9BP@=&%R9V5T+"!R;V]T<&%T:"P@8V9G*3H*0$ @+3,T-RPV("LS-30L
M,30@0$ *(" @(" @(" @(" @(" @(" @(" @)W-H9F]L9&5R+FQI8B<@72D*
M(" @(" @(')E='5R;B!L:6)S"B **R @("!I9B!I<VEN<W1A;F-E*'1A<F=E
M="P@9V5N7V)A<V4N4U=)1TQI8G)A<GDI.@HK(" @(" @<F5T=7)N(%L@<V5L
M9BYD8FQI8FYA;64K*&-F9R ]/2 G1&5B=6<G(&%N9" G9"YL:6(G(&]R("<N
M;&EB)RDL"BL@(" @(" @(" @(" @(" G;7-W<V]C:RYL:6(G+ HK(" @(" @
M(" @(" @(" @)W=S,E\S,BYL:6(G+ HK(" @(" @(" @(" @(" @)V%D=F%P
M:3,R+FQI8B<L"BL@(" @(" @(" @(" @(" G<G!C<G0T+FQI8B<L"BL@(" @
M(" @(" @(" @(" G<VAF;VQD97(N;&EB)R!="BL*(" @("!I9B!N;W0@:7-I
M;G-T86YC92AT87)G970L(&=E;E]B87-E+E1A<F=E=$5X92DZ"B @(" @("!R
M971U<FX@6UT*( I);F1E>#H@8G5I;&0O9V5N97)A=&]R+V=E;E]M<W9C7V1S
M<"YP>0H]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]"BTM+2!B=6EL9"]G96YE<F%T
M;W(O9V5N7VUS=F-?9'-P+G!Y"2AR979I<VEO;B V,C(Q*0HK*RL@8G5I;&0O
M9V5N97)A=&]R+V=E;E]M<W9C7V1S<"YP>0DH=V]R:VEN9R!C;W!Y*0I 0" M
M-#,L-B K-#,L,3(@0$ *(" @("!E;&EF(&ES:6YS=&%N8V4H=&%R9V5T+"!G
M96Y?8F%S92Y487)G971%>'1E<FYA;"DZ"B @(" @("!T87)G='EP92 ](")7
M:6XS,B H>#@V*2!%>'1E<FYA;"!487)G970B"B @(" @("!T87)G=F%L(#T@
M(C!X,#$P-B(**R @("!E;&EF(&ES:6YS=&%N8V4H=&%R9V5T+"!G96Y?8F%S
M92Y35TE'3&EB<F%R>2DZ"BL@(" @("!T87)G='EP92 ](")7:6XS,B H>#@V
M*2!$>6YA;6EC+4QI;FL@3&EB<F%R>2(**R @(" @('1A<F=V86P@/2 B,'@P
M,3 R(@HK(" @(" @=&%R9V5T+F]U='!U=%]N86UE(#T@;W,N<&%T:"YB87-E
M;F%M92AT87)G970N9FYA;64I"BL@(" @("!T87)G970N9&5S8R ]($YO;F4*
M*R @(" @('1A<F=E="YI<U]A<&%C:&5?;6]D(#T@, H@(" @(&5L<V4Z"B @
M(" @("!R86ES92!G96Y?8F%S92Y'96Y%<G)O<B@B0V%N;F]T(&-R96%T92!P
M<F]J96-T(&9O<B E<R(@)2!T87)G970N;F%M92D*( I 0" M-C$L-R K-C<L
M,S$@0$ *(" @(" @(" @<G-R8R ]('-T<FEN9RYR97!L86-E*&]S+G!A=&@N
M:F]I;BAR;V]T<&%T:"P@<W)C*2P@;W,N<V5P+" G7%PG*0H@(" @(" @("!I
M9B G+2<@:6X@<G-R8SH*(" @(" @(" @("!R<W)C(#T@)R(E<R(G("4@<G-R
M8PHM(" @(" @("!S;W5R8V5S+F%P<&5N9"A?:71E;2AP871H/7)S<F,L(')E
M;&1I<CUR96QD:7(I*0HK(" @(" @("!S;W5R8V5S+F%P<&5N9"A?:71E;2AP
M871H/7)S<F,L(')E;&1I<CUR96QD:7(L(&-U<W1O;5]B=6EL9#U.;VYE*2D*
M*PHK(" @(&EF(&ES:6YS=&%N8V4H=&%R9V5T+"!G96Y?8F%S92Y35TE'3&EB
M<F%R>2DZ"BL@(" @("!F;W(@;V)J(&EN('-E;&8N9W)A<&@N9V5T7W-O=7)C
M97,H9V5N7V)A<V4N1%1?3$E.2RP@=&%R9V5T*3H**R @(" @(" @:68@:7-I
M;G-T86YC92AO8FHL(&=E;E]B87-E+E-724=/8FIE8W0I.@HK(" @(" @(" @
M(&9O<B!C;V)J(&EN('-E;&8N9W)A<&@N9V5T7W-O=7)C97,H9V5N7V)A<V4N
M1%1?3T)*14-4+"!O8FHI.@HK(" @(" @(" @(" @:68@:7-I;G-T86YC92AC
M;V)J+"!G96Y?8F%S92Y35TE'3V)J96-T*3H**R @(" @(" @(" @(" @8W-R
M8R ](')O;W1P871H("L@)UQ<)R K('-T<FEN9RYR97!L86-E*&-O8FHN9FYA
M;64L("<O)RP@)UQ<)RD**R @(" @(" @(" @(" @<V]U<F-E<RYA<'!E;F0H
M7VET96TH<&%T:#UC<W)C+"!R96QD:7(]3F]N92P@8W5S=&]M7V)U:6QD/4YO
M;F4I*0HK"BL@(" @(" @(" @(" @(&9O<B!I9FEL92!I;B!S96QF+F=R87!H
M+F=E=%]S;W5R8V5S*&=E;E]B87-E+D147U-724=?0RP@8V]B:BDZ"BL@(" @
M(" @(" @(" @(" @:7-R8R ](')O;W1P871H("L@)UQ<)R K('-T<FEN9RYR
M97!L86-E*&EF:6QE+" G+R<L("=<7"<I"BL**R @(" @(" @(" @(" @("!C
M8B ]("=);G!U=%!A=&@])7-<<EQN7')<;B<@(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @("!<"BL@(" @(" @(" @(" @(" @(" @*R G(B5S(B Z
M("0H4T]54D-%*2 B)"A)3E1$25(I(B B)"A/551$25(I(EQR7&XG(" @(" @
M(" @7 HK(" @(" @(" @(" @(" @(" @("L@)UQT<W=I9R M)7,@+6YO<')O
M>'D@+4DE<R M225S("U))7,@+6\@)7,@)"A);G!U=%!A=&@I)PHK"BL@(" @
M(" @(" @(" @(" @8V(@/2!C8B E("AI<W)C+"!C<W)C+"!T87)G970N;&%N
M9RP**R @(" @(" @(" @(" @(" @(" @(" @(" @(')O;W1P871H("L@)UQ<
M<W5B=F5R<VEO;EQ<8FEN9&EN9W-<7'-W:6<G+ HK(" @(" @(" @(" @(" @
M(" @(" @(" @(" @<F]O='!A=&@@*R G7%QS=6)V97)S:6]N7%QI;F-L=61E
M)RP**R @(" @(" @(" @(" @(" @(" @(" @(" @(')O;W1P871H("L@)UQ<
M87!R7%QI;F-L=61E)RP**R @(" @(" @(" @(" @(" @(" @(" @(" @(&-S
M<F,I"BL**R @(" @(" @(" @(" @("!S;W5R8V5S+F%P<&5N9"A?:71E;2AP
M871H/6ES<F,L(')E;&1I<CU.;VYE+"!C=7-T;VU?8G5I;&0]8V(I*0HK(" @
M(" @(" *(" @("!S;W5R8V5S+G-O<G0H;&%M8F1A('@L('DZ(&-M<"AX+G!A
M=&@L('DN<&%T:"DI"B *(" @("!D871A(#T@>PI 0" M.# L-R K,3$P+#@@
M0$ *(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(&=E;E]B87-E+E1A<F=E=$5X=&5R;F%L*2DL"B @(" @(" G:7-?=71I
M;&ET>2<@.B!E>G0N8F]O;&5A;BAI<VEN<W1A;F-E*'1A<F=E="P*(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @9V5N7V)A
M<V4N5&%R9V5T571I;&ET>2DI+ HM(" @(" @)VES7V%P86-H95]M;V0G(#H@
M97IT+F)O;VQE86XH=&%R9V5T+FES7V%P86-H95]M;V0I+ HK(" @(" @)VES
M7V1L;"<@.B!E>G0N8F]O;&5A;BAI<VEN<W1A;F-E*'1A<F=E="P@9V5N7V)A
M<V4N4U=)1TQI8G)A<GDI"BL@(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(&]R('1A<F=E="YI<U]A<&%C:&5?;6]D*2P*(" @(" @("=I;G-T<G5M96YT
M7V%P<E]P;V]L<R<@.B!S96QF+FEN<W1R=6UE;G1?87!R7W!O;VQS+ H@(" @
M(" @)VEN<W1R=6UE;G1?<'5R:69Y7W%U86YT:69Y)R Z('-E;&8N:6YS=')U
M;65N=%]P=7)I9GE?<75A;G1I9GDL"B @(" @("!]"D! ("TQ,# L,C,@*S$S
M,2PR.2! 0 H@(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @3F]N92P@3F]N92P@<V5L9BYC9F<L"B @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @("!.;VYE*0H@"BL@(" @:6YS=&%L;%]T87)G971S(#T@=6YI<75E*'-E
M;&8N9W)A<&@N9V5T7V%L;%]S;W5R8V5S*&=E;E]B87-E+D147TE.4U1!3$PI
M"BL@(" @(" @(" @(" @(" @(" @(" @(" @(" @("L@<V5L9BYT87)G971S
M+G9A;'5E<R@I*0HK"BL@(" @(R!S;W)T('1H97-E(&9O<B!O=71P=70@<W1A
M8FEL:71Y+"!T;R!W871C:"!O=70@9F]R(')E9W)E<W-I;VYS+@HK(" @(&EN
M<W1A;&Q?=&%R9V5T<RYS;W)T*"D**PH@(" @('1A<F=E=',@/2!;(%T*( H@
M(" @(",@1V5N97)A=&4@+F1S<"!F:6QE(&YA;65S(&9O<B!T:&4@=&%R9V5T
M<SH@<F5P;&%C92!D87-H97,@=VET: H@(" @(",@=6YD97)S8V]R97,@86YD
M(')E<&QA8V4@*BUT97-T('=I=&@@=&5S=%\J("AS;R!T:&%T('1H92!T97-T
M"B @(" @(R!P<F]G<F%M<R!A<F4@=FES=6%L;'D@<V5P87)A<F4@9G)O;2!T
M:&4@<F5S="!O9B!T:&4@<')O:F5C=',I"BT@(" @9F]R(&YA;64@:6X@<V5L
M9BYT87)G971S+FME>7,H*3H**R @("!F;W(@=&%R9V5T(&EN(&EN<W1A;&Q?
M=&%R9V5T<SH**R @(" @(&YA;64@/2!T87)G970N;F%M90H@(" @(" @<&]S
M(#T@<W1R:6YG+F9I;F0H;F%M92P@)RUT97-T)RD*(" @(" @(&EF('!O<R ^
M/2 P.@H@(" @(" @("!D<W!?;F%M92 ]("=T97-T7R<@*R!S=')I;F<N<F5P
M;&%C92AN86UE6SIP;W-=+" G+2<L("=?)RD*(" @(" @(&5L<V4Z"B @(" @
M(" @(&1S<%]N86UE(#T@<W1R:6YG+G)E<&QA8V4H;F%M92P@)RTG+" G7R<I
M"BT@(" @("!S96QF+G1A<F=E='-;;F%M95TN9'-P7VYA;64@/2!D<W!?;F%M
M90HK(" @(" @=&%R9V5T+F1S<%]N86UE(#T@9'-P7VYA;64*( H@(" @(",@
M5')A=F5R<V4@=&AE('1A<F=E=',@86YD(&=E;F5R871E('1H92!P<F]J96-T
M(&9I;&5S"BT@(" @:71E;7,@/2!S96QF+G1A<F=E=',N:71E;7,H*0HM(" @
M(&ET96US+G-O<G0H*0HM(" @(&9O<B!N86UE+"!T87)G970@:6X@:71E;7,Z
M"BL@(" @9F]R('1A<F=E="!I;B!I;G-T86QL7W1A<F=E=',Z"BL@(" @("!N
M86UE(#T@=&%R9V5T+FYA;64*(" @(" @(",@5&AE<V4@87)E;B=T('=O<FMI
M;F<@>65T"B @(" @("!I9B!I<VEN<W1A;F-E*'1A<F=E="P@9V5N7V)A<V4N
M5&%R9V5T4V-R:7!T*2!<"B @(" @(" @("!O<B!I<VEN<W1A;F-E*'1A<F=E
M="P@9V5N7V)A<V4N5&%R9V5T4U=)1RDZ"D! ("TQ-S0L-B K,C$Q+#$Q($! 
M"B @(" @(" @(" @9&5P96YD<RYE>'1E;F0H9&5P<RD*(" @(" @(" @96QS
M93H*(" @(" @(" @("!D97!E;F1S+F5X=&5N9"AS96QF+F=E=%]U;FEQ=65?
M=VEN7V1E<&5N9',H=&%R9V5T*2D**R @(" @(&5L:68@:7-I;G-T86YC92AT
M87)G970L(&=E;E]B87-E+E-724=,:6)R87)Y*3H**R @(" @(" @9F]R(&QI
M8B!I;B!S96QF+F=R87!H+F=E=%]S;W5R8V5S*&=E;E]B87-E+D147TQ)3DLL
M('1A<F=E="DZ"BL@(" @(" @(" @:68@:&%S871T<BAL:6(L("=D<W!?;F%M
M92<I.@HK(" @(" @(" @(" @9&5P96YD<RYA<'!E;F0H;&EB*0HK(" @(" @
M(" @(" @9&5P96YD<RYE>'1E;F0H<V5L9BYG971?=VEN7V1E<&5N9',H;&EB
M+" P*2D@(" @(" @(" @"B @(" @("!E;'-E.@H@(" @(" @("!A<W-E<G0@
M, H@"D! ("TQ.38L,R K,C,X+#D@0$ *(&-L87-S(%]I=&5M.@H@("!D968@
M7U]I;FET7U\H<V5L9BP@*BIK=RDZ"B @(" @=F%R<RAS96QF*2YU<&1A=&4H
M:W<I"BL**V1E9B!U;FEQ=64H<V5Q*3H**R @9" ]('M]"BL@(&9O<B!I(&EN
J('-E<3H**R @("!D6VE=(#T@3F]N90HK("!R971U<FX@9"YK97ES*"D*
`
end



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

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

Posted by Branko Čibej <br...@xbc.nu>.
Russell Yanofsky wrote:

>"Branko Cibej" <br...@xbc.nu> wrote in message news:3EEE5F0B.9010404@xbc.nu...
>  
>
>>...
>>Surely the last two lines aren't necessary? target.is_apache_mod should
>>never be set in build.conf for SWIG targets. OTOH, target.desc could be
>>quite useful to put version info into the Python extension DLLs.
>>    
>>
>
>These assignments are needed because SWIGLibrary inherits from DependencyNode
>instead of Target. Without them, there'd be AttributeErrors later on.
>
Ah, I see. Pity about the description field... it would be really nice
if we could automagically add the version info into the DLLs. Oh well,
maybe some other time.

>>...
>>These include paths should be generated in the template, using the
>>includes data item. The same probably goes for expanding target.lang,
>>and I suspect that isrc and csrc could be passed to EZT, too.
>>    
>>
>
>You are right. A new patch is attached.
>
This looks much nicer, thanks. I'll commit this once I've tested it
here. I might move the unique() function from gen_msvc_dsp.py to
gen_base.py, as I think we can use it in other places, too.


-- 
Brane Čibej   <br...@xbc.nu>   http://www.xbc.nu/brane/


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

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

Posted by Branko Čibej <br...@xbc.nu>.
Russell Yanofsky wrote:

>>Now I'd like to see a few things changed, if you don't mind. :-)
>>    
>>
>
>Ok. I was able to handle these things:
>
>  
>
>>    * Move the unique() function to gen_base.py. There are quite a few
>>      places where we can use it.
>>    * Prefix the project names with "swig_"; e.g., "swig_python_core"
>>      instead of just "python_core". This will make the project lists
>>      more readable.
>>    * Add new pseudo projects (in build.conf): __SWIG_PYTHON__ and
>>      __SWIG_JAVA__, to build all the relevant bindings in one fell
>>    swoop. * Put the target description back in, so that we get
>>      version info in the generated DLLs.
>>
Great!

>But not these:
>  
>
>>    * Change the SWIG custom build commands to generate the C files in
>>      the build tree (Release or Debug), _not_ the source tree. This
>>      means tweaking the source file definitions for the C files, too.
>>
Oh well, I guess we can live with that.

>>    * Fix the link warnings about not finding aprutil_src.pdb or
>>      xml_src.pdb -- I guess that means adding library dependencies to
>>      the link lines for the DLLs.
>>    
>>
>
>I couldn't figure out a way to tell Visual C++ to compile different C source
>files depending on the configuration (release or debug). I tried putting
>conditionals ('!IF  "$(CFG)" == "whatever" / !ENDIF) around the SOURCE=...
>statements in the project files, but that made only them unloadable. So swig
>still outputs the C files in the source tree since it's a neutral location.
>
>I couldn't do anything about the link warnings since I don't get them and I
>don't know what causes them.
>
Hm, maybe I did something stupid the last time I built apr-util.

Thanks for the patch. I'll review and/or install, as appropriate.


-- 
Brane Čibej   <br...@xbc.nu>   http://www.xbc.nu/brane/


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

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

Posted by Branko Čibej <br...@xbc.nu>.
Philip Martin wrote:

>Branko ÄŒibej <br...@xbc.nu> writes:
>
>  
>
>>This seems to work fine on Windows, but I'm worried about the change in
>>gen_base.py -- I can't easily test it on Unix right now. Could somebody
>>who regularly builds SWIG bindings on Unix test this patch, please?
>>    
>>
>
>It builds and installs on my Linux box.  I don't really know how to
>exercise the swig stuff, but when I try to run svnlook.py I get
>
>$ python -V
>Python 2.1.3
>$ svnlook.py repo
>Traceback (most recent call last):
>  File "/home/pm/sw/subversion/svn/tools/examples/svnlook.py", line 23, in ?
>    from svn import core, fs, delta, repos
>  File "/usr/local/subversion/lib/svn-python/svn/core.py", line 21, in ?
>    from libsvn.core import *
>ImportError: dynamic module does not define init function (initcore)
>
Huh? That's weird. initcore is definitely there in core.c (albeit
disguised). I wonder what's going wrong...

>reverting the patch and trying again I get
>
>$ svnlook.py repo
>2003-06-22 15:28
>45
>This log message brought to you by /bin/echo
>
>Traceback (most recent call last):
>  File "/home/pm/sw/subversion/svn/tools/examples/svnlook.py", line 391, in ?
>    main()
>  File "/home/pm/sw/subversion/svn/tools/examples/svnlook.py", line 388, in main
>    core.run_app(SVNLook, sys.argv[1], cmd, rev, txn)
>  File "/usr/local/subversion/lib/svn-python/svn/core.py", line 33, in run_app
>    return apply(func, (pool,) + args, kw)
>  File "/home/pm/sw/subversion/svn/tools/examples/svnlook.py", line 42, in __init__
>    getattr(self, 'cmd_' + cmd)()
>  File "/home/pm/sw/subversion/svn/tools/examples/svnlook.py", line 49, in cmd_default
>    self.cmd_tree()
>  File "/home/pm/sw/subversion/svn/tools/examples/svnlook.py", line 98, in cmd_tree
>    self._print_tree(Editor, base_rev=0)
>  File "/home/pm/sw/subversion/svn/tools/examples/svnlook.py", line 133, in _print_tree
>    e_ptr, e_baton, 0, 1, 0, 1, 0, self.pool)
>TypeError: svn_repos_dir_delta() takes exactly 12 arguments (13 given)
>
>which appears to work until an out-of-date API call is used.
>  
>
Yes, it looks like svnlook.py should be updated. The same thing happens
to me if I try any command that needs a dir delta.

-- 
Brane Čibej   <br...@xbc.nu>   http://www.xbc.nu/brane/


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

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

Posted by Philip Martin <ph...@codematters.co.uk>.
"Russell Yanofsky" <re...@columbia.edu> writes:

> Hmm, what version of swig are you using?

1.3.16

-- 
Philip Martin

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

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

Posted by Russell Yanofsky <re...@columbia.edu>.
Philip Martin wrote:
> It builds and installs on my Linux box.  I don't really know how to
> exercise the swig stuff, but when I try to run svnlook.py I get
>
> $ python -V
> Python 2.1.3
> $ svnlook.py repo
> Traceback (most recent call last):
>   File "/home/pm/sw/subversion/svn/tools/examples/svnlook.py", line
>     23, in ? from svn import core, fs, delta, repos
>   File "/usr/local/subversion/lib/svn-python/svn/core.py", line 21,
>     in ? from libsvn.core import *
> ImportError: dynamic module does not define init function (initcore)

Hmm, what version of swig are you using?

The SWIG docs include this compatibility note:

  In SWIG-1.3.13 and earlier releases, module names did not
  include the leading underscore. This is because modules were
  normally created as C-only extensions without the extra
  Python support file (instead, creating Python code was
  supported as an optional feature). This has been changed in
  SWIG-1.3.14 and is consistent with other Python extension
  modules. For example, the socket module actually consists of
  two files; socket.py and _socket.so. Many other built-in
  Python modules follow a similar convention.

So maybe you're using an older version of swig which automatically puts in an
underscore and defines an init_core() function.

 - Russ




---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

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

Posted by Philip Martin <ph...@codematters.co.uk>.
Branko Čibej <br...@xbc.nu> writes:

> This seems to work fine on Windows, but I'm worried about the change in
> gen_base.py -- I can't easily test it on Unix right now. Could somebody
> who regularly builds SWIG bindings on Unix test this patch, please?

It builds and installs on my Linux box.  I don't really know how to
exercise the swig stuff, but when I try to run svnlook.py I get

$ python -V
Python 2.1.3
$ svnlook.py repo
Traceback (most recent call last):
  File "/home/pm/sw/subversion/svn/tools/examples/svnlook.py", line 23, in ?
    from svn import core, fs, delta, repos
  File "/usr/local/subversion/lib/svn-python/svn/core.py", line 21, in ?
    from libsvn.core import *
ImportError: dynamic module does not define init function (initcore)

reverting the patch and trying again I get

$ svnlook.py repo
2003-06-22 15:28
45
This log message brought to you by /bin/echo

Traceback (most recent call last):
  File "/home/pm/sw/subversion/svn/tools/examples/svnlook.py", line 391, in ?
    main()
  File "/home/pm/sw/subversion/svn/tools/examples/svnlook.py", line 388, in main
    core.run_app(SVNLook, sys.argv[1], cmd, rev, txn)
  File "/usr/local/subversion/lib/svn-python/svn/core.py", line 33, in run_app
    return apply(func, (pool,) + args, kw)
  File "/home/pm/sw/subversion/svn/tools/examples/svnlook.py", line 42, in __init__
    getattr(self, 'cmd_' + cmd)()
  File "/home/pm/sw/subversion/svn/tools/examples/svnlook.py", line 49, in cmd_default
    self.cmd_tree()
  File "/home/pm/sw/subversion/svn/tools/examples/svnlook.py", line 98, in cmd_tree
    self._print_tree(Editor, base_rev=0)
  File "/home/pm/sw/subversion/svn/tools/examples/svnlook.py", line 133, in _print_tree
    e_ptr, e_baton, 0, 1, 0, 1, 0, self.pool)
TypeError: svn_repos_dir_delta() takes exactly 12 arguments (13 given)

which appears to work until an out-of-date API call is used.

-- 
Philip Martin

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

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

Posted by Branko Čibej <br...@xbc.nu>.
Russell Yanofsky wrote:

>Branko Cibej wrote:
>  
>
>>Hm. With this patch attached, the bindings don't work for me;
>>specifically, importing libsvn.core fails, because the name of the
>>module is libsvn._core. How are the names of the binding libraries
>>defined on Unix? I suppose the underscore has to go away?
>>    
>>
>
>No, my first patch made the underscore go away, but that was a mistake. With the
>new patch, proxying is enabled and swig will now generate a file called core.py
>in the same directory as the generated C file (subversion\bindings\swig\python).
>The generated file looks like:
>
>  import _core
>  ...
>  svn_node_none = _core.svn_node_none
>  svn_node_file = _core.svn_node_file
>  svn_node_dir = _core.svn_node_dir
>  ...
>
>You need to copy the newly generated .py files to your site packages\libsvn
>directory as descibed in the new INSTALL.
>  
>
Oh! Sorry, I missed that. My apologies. I'll retest with your updated
patch right away.

-- 
Brane Čibej   <br...@xbc.nu>   http://www.xbc.nu/brane/


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

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

Posted by Russell Yanofsky <re...@columbia.edu>.
Branko Cibej wrote:
> Hm. With this patch attached, the bindings don't work for me;
> specifically, importing libsvn.core fails, because the name of the
> module is libsvn._core. How are the names of the binding libraries
> defined on Unix? I suppose the underscore has to go away?

No, my first patch made the underscore go away, but that was a mistake. With the
new patch, proxying is enabled and swig will now generate a file called core.py
in the same directory as the generated C file (subversion\bindings\swig\python).
The generated file looks like:

  import _core
  ...
  svn_node_none = _core.svn_node_none
  svn_node_file = _core.svn_node_file
  svn_node_dir = _core.svn_node_dir
  ...

You need to copy the newly generated .py files to your site packages\libsvn
directory as descibed in the new INSTALL.

- Russ




---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

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

Posted by Branko Čibej <br...@xbc.nu>.
Russell Yanofsky wrote:

>Branko Cibej wrote:
>  
>
>>This seems to work fine on Windows, but I'm worried about the change
>>in gen_base.py -- I can't easily test it on Unix right now. Could
>>somebody
>>who regularly builds SWIG bindings on Unix test this patch, please?
>>    
>>
>
>The changes to gen_base worked on windows and not unix because the .dsp projects
>called swig with the -noproxy option while the makefile invoked swig
>without -noproxy. A new patch which leaves out -noproxy on windows and doesn't
>require changes to gen_base.py is attached.
>
Hm. With this patch attached, the bindings don't work for me;
specifically, importing libsvn.core fails, because the name of the
module is libsvn._core. How are the names of the binding libraries
defined on Unix? I suppose the underscore has to go away?

-- 
Brane Čibej   <br...@xbc.nu>   http://www.xbc.nu/brane/


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

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

Posted by Russell Yanofsky <re...@columbia.edu>.
Branko Cibej wrote:
> Russell Yanofsky wrote:
>> On a
>> semi-related note, can you possibly look into commiting my "fix for
>> FileDiff class in python bindings" patch [1]? It's pretty
>> straightforward and it's neccessary for ViewCVS to be able to work
>> with Subversion on Windows.
>>
>>
> I haven't done any work on the bindings themselves, so I don't feel
> competent to approve patches in that area. However, I _can_ say that
> your patch violates Python naming conventions. Apart from that, it
> looks O.K. to me, if a bit weird -- but that's Windows for you...
>
> What I don't understand is a) why the FileDiff class doesn't use the
> internal diff library, since we have it? We can just ignore the diff
> options for now, can't we?

I think ViewCVS uses the diff options, although that isn't really a reason to
implement them in the python bindings. Anyway, thanks for looking into this.
I'll fix the function names and resubmit my weird patch sometime soon. ;)

- Russ




---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

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

Posted by Branko Čibej <br...@xbc.nu>.
Russell Yanofsky wrote:

>Branko Cibej wrote:
>  
>
>>Committed in revision 6329. Thanks!
>>
>>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.
>>    
>>
>
>I think I know how that can be done for VC6. I'll work on that later today.
>
Cool.

> On a
>semi-related note, can you possibly look into commiting my "fix for FileDiff
>class in python bindings" patch [1]? It's pretty straightforward and it's
>neccessary for ViewCVS to be able to work with Subversion on Windows.
>  
>
I haven't done any work on the bindings themselves, so I don't feel
competent to approve patches in that area. However, I _can_ say that
your patch violates Python naming conventions. Apart from that, it looks
O.K. to me, if a bit weird -- but that's Windows for you...

What I don't understand is a) why the FileDiff class doesn't use the
internal diff library, since we have it? We can just ignore the diff
options for now, can't we?

-- 
Brane Čibej   <br...@xbc.nu>   http://www.xbc.nu/brane/


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

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

Posted by Russell Yanofsky <re...@columbia.edu>.
Branko Cibej wrote:
> Committed in revision 6329. Thanks!
>
> 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.

I think I know how that can be done for VC6. I'll work on that later today. On a
semi-related note, can you possibly look into commiting my "fix for FileDiff
class in python bindings" patch [1]? It's pretty straightforward and it's
neccessary for ViewCVS to be able to work with Subversion on Windows.

- Russ

[1] http://subversion.tigris.org/servlets/ReadMsg?list=dev&msgId=265660




---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

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

Posted by "D.J. Heap" <dj...@dhiprovo.com>.
I will try to get the vcproj template updated this weekend, but my home
is currently undergoing some renovation, so it might be next week.

DJ

-----Original Message-----
From: Branko Cibej [mailto:brane@xbc.nu] 
Sent: Tuesday, July 01, 2003 1:14 AM
To: Russell Yanofsky
Cc: dev@subversion.tigris.org
Subject: Re: [PATCH] Generating VC6 project files for swig bindings


Russell Yanofsky wrote:
>
>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.

[snip]

>
Committed in revision 6379. Thanks!

-- 
Brane Čibej   <br...@xbc.nu>   http://www.xbc.nu/brane/




**********************************************************************
This email and any files transmitted with it are confidential
and intended solely for the use of the individual or entity to
whom they are addressed. If you have received this email
in error please notify the system manager.

This footnote also confirms that this email message has been
swept by MIMEsweeper for the presence of computer viruses.

www.mimesweeper.com
**********************************************************************


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org


[PATCH] VC7 vcproj generator

Posted by "D.J. Heap" <dj...@shadyvale.net>.
Small patch to update the vcproj generator.

* build/generator/vcnet_vcproj.ezt:
   Added new "sources.user_deps" property, changed debug symbols
   file to match target name rather than project name, and fixed
   some path quoting in the swig stuff.


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

Posted by Branko Čibej <br...@xbc.nu>.
Russell Yanofsky wrote:

>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.
>  
>
Committed in revision 6379. Thanks!

-- 
Brane Čibej   <br...@xbc.nu>   http://www.xbc.nu/brane/


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

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

Posted by Paul L Lussier <pl...@lanminds.com>.


>>>>> On Tue, 24 Jun 2003, "Russell" == Russell Yanofsky wrote:

  Russell> A patch is attached which adds dependencies on the headers
  Russell> /included/ by the .i files.

Filed as issue 1376 here:

	http://subversion.tigris.org/issues/show_bug.cgi?id=1376
-- 

Seeya,
Paul
--
Key fingerprint = 1660 FECC 5D21 D286 F853  E808 BB07 9239 53F1 28EE

	It may look like I'm just sitting here doing nothing,
   but I'm really actively waiting for all my problems to go away.

	 If you're not having fun, you're not doing it right!



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

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

Posted by Russell Yanofsky <re...@columbia.edu>.
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

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

Posted by Branko Čibej <br...@xbc.nu>.
Russell Yanofsky wrote:

>Russell Yanofsky wrote:
>  
>
>>>This new patch conflicts with DJ's refactoring patch. If you commit
>>>his patch first, I can update and resubmit this one.
>>>      
>>>
>
>DJ's patch is commited, an updated patch is attached.
>
>Log Message:
>
>Changes to make swig bindings actually function on windows.
>
>* build/generator/gen_win.py (WinGeneratorBase.get_win_defines): Removed
>  STATIC_LINKED preprocessor definition for swig bindings.
>
>* build/generator/msvc_dsp.ezt:
>* build/generator/vcnet_vcproj.ezt: Got rid of -noproxy argument for swig.
>  Added new property sources.swig_target which holds the same path
>  sources.swig_output except that swig_output uses forward slashes
>  and swig_target uses backslashes
>
>* build/generator/gen_win.py (WinGeneratorBase.get_proj_sources): Removed
>  extraneous arguments to two ProjectItem constructor calls.
>  Added new source property "swig_target".
>
>* subversion/bindings/swig/INSTALL: updated instructions
>  
>
Committed in revision 6329. Thanks!

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.

-- 
Brane Čibej   <br...@xbc.nu>   http://www.xbc.nu/brane/


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

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

Posted by Russell Yanofsky <re...@columbia.edu>.
Russell Yanofsky wrote:
>> This new patch conflicts with DJ's refactoring patch. If you commit
>> his patch first, I can update and resubmit this one.

DJ's patch is commited, an updated patch is attached.

Log Message:

Changes to make swig bindings actually function on windows.

* build/generator/gen_win.py (WinGeneratorBase.get_win_defines): Removed
  STATIC_LINKED preprocessor definition for swig bindings.

* build/generator/msvc_dsp.ezt:
* build/generator/vcnet_vcproj.ezt: Got rid of -noproxy argument for swig.
  Added new property sources.swig_target which holds the same path
  sources.swig_output except that swig_output uses forward slashes
  and swig_target uses backslashes

* build/generator/gen_win.py (WinGeneratorBase.get_proj_sources): Removed
  extraneous arguments to two ProjectItem constructor calls.
  Added new source property "swig_target".

* subversion/bindings/swig/INSTALL: updated instructions


begin 666 swig6.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."D**RLK(&)U:6QD+V=E;F5R871O<B]M<W9C7V1S
M<"YE>G0)*'=O<FMI;F<@8V]P>2D*0$ @+38X+#@@*S8X+#@@0$ *( H@26YP
M=710871H/5MS;W5R8V5S+G!A=&A="B *+5MS;W5R8V5S+G-W:6=?;W5T<'5T
M72 Z("0H4T]54D-%*2 B)"A)3E1$25(I(B B)"A/551$25(I(@HM"7-W:6<@
M+5MS;W5R8V5S+G-W:6=?;&%N9W5A9V5=("UN;W!R;WAY6V9O<B!I;F-L=61E
M<UT@+4DB6VEN8VQU9&5S72);96YD72 M;R!;<V]U<F-E<RYS=VEG7V]U='!U
M=%T@)"A);G!U=%!A=&@I"BM;<V]U<F-E<RYS=VEG7W1A<F=E=%T@.B D*%-/
M55)#12D@(B0H24Y41$E2*2(@(B0H3U541$E2*2(**PES=VEG("U;<V]U<F-E
M<RYS=VEG7VQA;F=U86=E75MF;W(@:6YC;'5D97-=("U)(EMI;F-L=61E<UTB
M6V5N9%T@+6\@6W-O=7)C97,N<W=I9U]O=71P=71=("0H26YP=710871H*0H@
M"0H@(R!%;F0@0W5S=&]M($)U:6QD"B *26YD97@Z(&)U:6QD+V=E;F5R871O
M<B]V8VYE=%]V8W!R;VHN97IT"CT]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T*+2TM
M(&)U:6QD+V=E;F5R871O<B]V8VYE=%]V8W!R;VHN97IT"2AR979I<VEO;B V
M,S(X*0HK*RL@8G5I;&0O9V5N97)A=&]R+W9C;F5T7W9C<')O:BYE>G0)*'=O
M<FMI;F<@8V]P>2D*0$ @+3DU+#@@*SDU+#@@0$ *( D)"0E.86UE/2);8V]N
M9FEG<RYN86UE77Q7:6XS,B(^"B )"0D)/%1O;VP*( D)"0D)3F%M93TB5D-#
M=7-T;VU"=6EL9%1O;VPB"BT)"0D)"4-O;6UA;F1,:6YE/2)S=VEG("U;<V]U
M<F-E<RYS=VEG7VQA;F=U86=E72 M;F]P<F]X>5MF;W(@:6YC;'5D97-=("U)
M)G%U;W0[6VEN8VQU9&5S729Q=6]T.UME;F1=("UO(%MS;W5R8V5S+G-W:6=?
M;W5T<'5T72 D*$EN<'5T4&%T:"DB"BT)"0D)"4]U='!U=',](EMS;W5R8V5S
M+G-W:6=?;W5T<'5T72(O/@HK"0D)"0E#;VUM86YD3&EN93TB<W=I9R M6W-O
M=7)C97,N<W=I9U]L86YG=6%G95U;9F]R(&EN8VQU9&5S72 M229Q=6]T.UMI
M;F-L=61E<UTF<75O=#M;96YD72 M;R!;<V]U<F-E<RYS=VEG7V]U='!U=%T@
M)"A);G!U=%!A=&@I(@HK"0D)"0E/=71P=71S/2);<V]U<F-E<RYS=VEG7W1A
M<F=E=%TB+SX*( D)"3PO1FEL94-O;F9I9W5R871I;VX^"B!;96YD75ME;F1=
M"B!;:68M86YY('-O=7)C97,N<F5L9&ER75MF;W(@8V]N9FEG<UT*26YD97@Z
M(&)U:6QD+V=E;F5R871O<B]G96Y?=VEN+G!Y"CT]/3T]/3T]/3T]/3T]/3T]
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
M/3T]/3T*+2TM(&)U:6QD+V=E;F5R871O<B]G96Y?=VEN+G!Y"2AR979I<VEO
M;B V,S(X*0HK*RL@8G5I;&0O9V5N97)A=&]R+V=E;E]W:6XN<'D)*'=O<FMI
M;F<@8V]P>2D*0$ @+3(U.2PW("LR-3DL-R! 0 H@(" @(" @("!I9B!Q=6]T
M95]P871H(&%N9" G+2<@:6X@<G-R8SH*(" @(" @(" @("!R<W)C(#T@)R(E
M<R(G("4@<G-R8PH@(" @(" @("!S;W5R8V5S+F%P<&5N9"A0<F]J96-T271E
M;2AP871H/7)S<F,L(')E;&1I<CUR96QD:7(L"BT@(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @('-W:6=?;&%N9W5A9V4]3F]N92P@<W=I9U]O
M=71P=70]3F]N92DI"BL@(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @('-W:6=?;&%N9W5A9V4]3F]N92DI"B *(" @("!I9B!I<VEN<W1A;F-E
M*'1A<F=E="P@9V5N7V)A<V4N4U=)1TQI8G)A<GDI.@H@(" @(" @9F]R(&]B
M:B!I;B!S96QF+F=R87!H+F=E=%]S;W5R8V5S*&=E;E]B87-E+D147TQ)3DLL
M('1A<F=E="DZ"D! ("TR-C@L,3,@*S(V."PQ."! 0 H@(" @(" @(" @(" @
M:68@:7-I;G-T86YC92AC;V)J+"!G96Y?8F%S92Y35TE'3V)J96-T*3H*(" @
M(" @(" @(" @(" @8W-R8R ](')O;W1P871H("L@)UQ<)R K('-T<FEN9RYR
M97!L86-E*&-O8FHN9FYA;64L("<O)RP@)UQ<)RD*(" @(" @(" @(" @(" @
M<V]U<F-E<RYA<'!E;F0H4')O:F5C=$ET96TH<&%T:#UC<W)C+"!R96QD:7(]
M3F]N92P*+2 @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @<W=I9U]L86YG=6%G93U.;VYE+"!S=VEG7V]U='!U=#U.;VYE*2D**R @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @<W=I9U]L
M86YG=6%G93U.;VYE*2D*( HK(" @(" @(" @(" @(" C(&]U='!U="!P871H
M('!A<W-E9"!T;R!S=VEG(&AA<R!T;R!U<V4@9F]R=V%R9"!S;&%S:&5S+"!O
M=&AE<G=I<V4**R @(" @(" @(" @(" @(R!T:&4@9V5N97)A=&%T960@<'ET
M:&]N(&9I;&5S("AF;W(@<VAA9&]W(&-L87-S97,I('=I;&P@8F4@<V%V960*
M*R @(" @(" @(" @(" @(R!T;R!T:&4@=W)O;F<@9&ER96-T;W)Y"BL@(" @
M(" @(" @(" @(&-O=70@/2!S=')I;F<N<F5P;&%C92AO<RYP871H+FIO:6XH
M<F]O='!A=&@L(&-O8FHN9FYA;64I+"!O<RYS97 L("<O)RD**PH@(" @(" @
M(" @(" @("!F;W(@:69I;&4@:6X@<V5L9BYG<F%P:"YG971?<V]U<F-E<RAG
M96Y?8F%S92Y$5%]35TE'7T,L(&-O8FHI.@H@(" @(" @(" @(" @(" @(&ES
M<F,@/2!R;V]T<&%T:" K("=<7"<@*R!S=')I;F<N<F5P;&%C92AI9FEL92P@
M)R\G+" G7%PG*0H@(" @(" @(" @(" @(" @('-O=7)C97,N87!P96YD*%!R
M;VIE8W1)=&5M*'!A=&@]:7-R8RP@<F5L9&ER/4YO;F4L( H@(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @('-W:6=?;&%N9W5A
M9V4]=&%R9V5T+FQA;F<L"BT@(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @<W=I9U]O=71P=70]8W-R8RDI"BL@(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @<W=I9U]T87)G970]
M8W-R8RP@<W=I9U]O=71P=70]8V]U="DI"B @(" @(" @( H@(" @('-O=7)C
M97,N<V]R="AL86UB9&$@>"P@>3H@8VUP*'@N<&%T:"P@>2YP871H*2D*(" @
M("!R971U<FX@<V]U<F-E<PI 0" M-# X+#<@*S0Q,RPV($! "B *(" @("!I
M9B!I<VEN<W1A;F-E*'1A<F=E="P@9V5N7V)A<V4N4U=)1TQI8G)A<GDI.@H@
M(" @(" @9F%K961E9FEN97,N87!P96YD*")35TE'7T=,3T)!3"(I"BT@(" @
M("!F86ME9&5F:6YE<RYA<'!E;F0H(E-4051)0U],24Y+140B*0H@"B @(" @
M:68@8V9G(#T]("=$96)U9R<Z"B @(" @("!F86ME9&5F:6YE<RYE>'1E;F0H
M6R)?1$5"54<B+")35DY?1$5"54<B72D*26YD97@Z('-U8G9E<G-I;VXO8FEN
M9&EN9W,O<W=I9R])3E-404Q,"CT]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T*+2TM
M('-U8G9E<G-I;VXO8FEN9&EN9W,O<W=I9R])3E-404Q,"2AR979I<VEO;B V
M,S(X*0HK*RL@<W5B=F5R<VEO;B]B:6YD:6YG<R]S=VEG+TE.4U1!3$P)*'=O
M<FMI;F<@8V]P>2D*0$ @+34U+#<@*S4U+#<@0$ *(" @(" @("!F:6QE<RP@
M<F5S=6QT:6YG(&EN(&$@8V]L;&5C=&EO;B!O9B N8R!S;W5R8V4@9FEL97,N
M("!)="!W:6QL"B @(" @(" @=&AE;B!C;VUP:6QE(&%N9"!L:6YK('1H;W-E
M("YC(&9I;&5S(&EN=&\@4'ET:&]N(&QI8G)A<FEE<RX*( HM(" @(" @($]N
M(%=I;F1O=W,L(&)U:6QD('1H92!P>71H;VY?*B!P<F]J96-T<R!I;B!6:7-U
M86P@4W1U9&EO+@HK(" @(" @($]N(%=I;F1O=W,L(&)U:6QD('1H92!?7U-7
M24=?4%E42$].7U\@<')O:F5C="!I;B!6:7-U86P@4W1U9&EO+@H@"B @(" R
M+B @3VX@56YI>"!S>7-T96US+"!R=6X@)VUA:V4@:6YS=&%L;"US=VEG+7!Y
M)R H87,@<F]O="P@='EP:6-A;&QY*0H@(" @(" @(&9R;VT@=&AE('1O<"!O
M9B!T:&4@4W5B=F5R<VEO;B!S;W5R8V4@=')E92X@(%1H:7,@=VEL;"!C;W!Y
M"D! ("TW,2PQ." K-S$L,C,@0$ *(" @(" @("!E>&%M<&QE(&]F(&1O:6YG
M('1H:7,@9F]R(&)U:6QD:6YG(')P;7,@;&]O:W,@;&EK90H@(" @(" @("=M
M86ME(&EN<W1A;&PM<W=I9RUP>2!$15-41$E2/2124$U?0E5)3$1?4D]/5"]U
M<W(G+@H@"BT@(" @(" @3VX@5VEN9&]W<RP@8V]P>2!T:&4@<W5B=F5R<VEO
M;EQB:6YD:6YG<UQS=VEG7'!Y=&AO;EQS=FX@9F]L9&5R('1O"BT@(" @(" @
M/%!95$A/3CY<3&EB7'-I=&4M<&%C:V%G97,L(&%N9"!T:&5N(&-O<'D@=&AE
M"BT@(" @(" @4F5L96%S95QS=6)V97)S:6]N7&)I;F1I;F=S7'-W:6=<<'ET
M:&]N7"HN9&QL(&9I;&5S('1O"BT@(" @(" @/%!95$A/3CY<3&EB7'-I=&4M
M<&%C:V%G97-<<W9N+@HK(" @(" @($]N(%=I;F1O=W,L(&-R96%T92!T=V\@
M9F]L9&5R<SH*( HM(" @(" @($]P=&EO;F%L;'DL('EO=2!C86X@<G5N('1H
M92!F;VQL;W=I;F<@8V]M;6%N9"!T;R!C;VUP:6QE('1H92!P>71H;VX**R @
M(" @(" @(#Q0651(3TX^7$QI8EQS:71E+7!A8VMA9V5S7'-V;@HK(" @(" @
M(" @/%!95$A/3CY<3&EB7'-I=&4M<&%C:V%G97-<;&EB<W9N"BL**R @(" @
M("!#;W!Y('-U8G9E<G-I;VY<8FEN9&EN9W-<<W=I9UQP>71H;VY<<W9N7"HN
M<'D@:6YT;R!T:&4@<W9N(&9O;&1E<BX**R @(" @("!#;W!Y('-U8G9E<G-I
M;VY<8FEN9&EN9W-<<W=I9UQP>71H;VY<*BYP>2!A;F0**R @(" @("!296QE
M87-E7'-U8G9E<G-I;VY<8FEN9&EN9W-<<W=I9UQP>71H;VY<*BYD;&P@:6YT
M;R!T:&4@;&EB<W9N(&9O;&1E<BX**PHK(" @(" @($]P=&EO;F%L;'DL('EO
M=2!C86X@<G5N('1H92!F;VQL;W=I;F<@8V]M;6%N9',@=&\@8V]M<&EL92!T
M:&4@<'ET:&]N"B @(" @(" @<V]U<F-E<R!I;G1O(&)Y=&5C;V1E.@HM(" @
M(" @( HK"B @(" @(" @("!P>71H;VX@/%!95$A/3CY<;&EB7&-O;7!I;&5A
M;&PN<'D@/%!95$A/3CY<3&EB7'-I=&4M<&%C:V%G97-<<W9N"BT@(" @(" @
M(" **R @(" @(" @('!Y=&AO;B \4%E42$]./EQL:6)<8V]M<&EL96%L;"YP
M>2 \4%E42$]./EQ,:6)<<VET92UP86-K86=E<UQL:6)S=FX**PH@(" @(" @
M(%1H:7,@8V%N(&UA:V4@=&AE(&UO9'5L97,@;&]A9"!F87-T97(@9F]R('5S
M97)S('=I=&AO=70@=W)I=&4@86-C97-S"BT@(" @(" @=&\@/%!95$A/3CY<
M3&EB7'-I=&4M<&%C:V%G97-<<W9N+B @(" @(" **R @(" @("!T;R!T:&4@
M<VET92UP86-K86=E<R!D:7)E8W1O<GDN"B *(" @(#,N("!697)I9GD@=&AA
M="!A;B G<W9N)R!P86-K86=E(&AA<R!B965N(&EN<W1A;&QE9"!C;W)R96-T
M;'DN("!9;W4@8V%N"B @(" @(" @9&\@=&AI<R!B>2!R=6YN:6YG('!Y=&AO
L;B!V:6$@)W!Y=&AO;B M8R B9G)O;2!S=FX@:6UP;W)T(&-L:65N="(G+@H`
`
end



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

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

Posted by Russell Yanofsky <re...@columbia.edu>.
Branko Cibej wrote:
> This seems to work fine on Windows, but I'm worried about the change
> in gen_base.py -- I can't easily test it on Unix right now. Could
> somebody
> who regularly builds SWIG bindings on Unix test this patch, please?

The changes to gen_base worked on windows and not unix because the .dsp projects
called swig with the -noproxy option while the makefile invoked swig
without -noproxy. A new patch which leaves out -noproxy on windows and doesn't
require changes to gen_base.py is attached.

This new patch conflicts with DJ's refactoring patch. If you commit his patch
first, I can update and resubmit this one.

Log Message:

* build/generator/gen_win.py (WinGeneratorBase.get_win_defines): Removed
  STATIC_LINKED preprocessor definition for swig bindings.

* build/generator/msvc_dsp.ezt: Got rid of -noproxy argument for swig.
  Added new property sources.swig_target which holds the same path
  sources.swig_output except that swig_output uses forward slashes
  and swig_target uses backslashes

* build/generator/gen_msvc_dsp.py (Generator.write_project): Removed
  extraneous arguments to two _item constructor calls.
  Added new source property "swig_target".

* subversion/bindings/swig/INSTALL: Updated instructions.


begin 666 swig5.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,RD**RLK(&)U:6QD+V=E;F5R871O<B]M<W9C7V1S
M<"YE>G0)*'=O<FMI;F<@8V]P>2D*0$ @+38X+#@@*S8X+#@@0$ *( H@26YP
M=710871H/5MS;W5R8V5S+G!A=&A="B *+5MS;W5R8V5S+G-W:6=?;W5T<'5T
M72 Z("0H4T]54D-%*2 B)"A)3E1$25(I(B B)"A/551$25(I(@HM"7-W:6<@
M+5MS;W5R8V5S+G-W:6=?;&%N9W5A9V5=("UN;W!R;WAY6V9O<B!I;F-L=61E
M<UT@+4DB6VEN8VQU9&5S72);96YD72 M;R!;<V]U<F-E<RYS=VEG7V]U='!U
M=%T@)"A);G!U=%!A=&@I"BM;<V]U<F-E<RYS=VEG7W1A<F=E=%T@.B D*%-/
M55)#12D@(B0H24Y41$E2*2(@(B0H3U541$E2*2(**PES=VEG("U;<V]U<F-E
M<RYS=VEG7VQA;F=U86=E75MF;W(@:6YC;'5D97-=("U)(EMI;F-L=61E<UTB
M6V5N9%T@+6\@6W-O=7)C97,N<W=I9U]O=71P=71=("0H26YP=710871H*0H@
M"0H@(R!%;F0@0W5S=&]M($)U:6QD"B *26YD97@Z(&)U:6QD+V=E;F5R871O
M<B]G96Y?=VEN+G!Y"CT]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T*+2TM(&)U:6QD
M+V=E;F5R871O<B]G96Y?=VEN+G!Y"2AR979I<VEO;B V,S(S*0HK*RL@8G5I
M;&0O9V5N97)A=&]R+V=E;E]W:6XN<'D)*'=O<FMI;F<@8V]P>2D*0$ @+3,U
M,"PW("LS-3 L-B! 0 H@"B @(" @:68@:7-I;G-T86YC92AT87)G970L(&=E
M;E]B87-E+E-724=,:6)R87)Y*3H*(" @(" @(&9A:V5D969I;F5S+F%P<&5N
M9"@B4U=)1U]'3$]"04PB*0HM(" @(" @9F%K961E9FEN97,N87!P96YD*")3
M5$%424-?3$E.2T5$(BD*( H@(" @(&EF(&-F9R ]/2 G1&5B=6<G.@H@(" @
M(" @9F%K961E9FEN97,N97AT96YD*%LB7T1%0E5'(BPB4U9.7T1%0E5'(ETI
M"DEN9&5X.B!B=6EL9"]G96YE<F%T;W(O9V5N7VUS=F-?9'-P+G!Y"CT]/3T]
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
M/3T]/3T]/3T]/3T]/3T]/3T*+2TM(&)U:6QD+V=E;F5R871O<B]G96Y?;7-V
M8U]D<W N<'D)*')E=FES:6]N(#8S,C,I"BLK*R!B=6EL9"]G96YE<F%T;W(O
M9V5N7VUS=F-?9'-P+G!Y"2AW;W)K:6YG(&-O<'DI"D! ("TV-BPX("LV-BPW
M($! "B @(" @(" @(')S<F,@/2!S=')I;F<N<F5P;&%C92AO<RYP871H+FIO
M:6XH<F]O='!A=&@L('-R8RDL(&]S+G-E<"P@)UQ<)RD*(" @(" @(" @:68@
M)RTG(&EN(')S<F,Z"B @(" @(" @(" @<G-R8R ]("<B)7,B)R E(')S<F,*
M+2 @(" @(" @<V]U<F-E<RYA<'!E;F0H7VET96TH<&%T:#UR<W)C+"!R96QD
M:7(]<F5L9&ER+"!S=VEG7VQA;F=U86=E/4YO;F4L"BT@(" @(" @(" @(" @
M(" @(" @(" @(" @(" @('-W:6=?;W5T<'5T/4YO;F4I*0HK(" @(" @("!S
M;W5R8V5S+F%P<&5N9"A?:71E;2AP871H/7)S<F,L(')E;&1I<CUR96QD:7(L
M('-W:6=?;&%N9W5A9V4]3F]N92DI"B *(" @("!I9B!I<VEN<W1A;F-E*'1A
M<F=E="P@9V5N7V)A<V4N4U=)1TQI8G)A<GDI.@H@(" @(" @9F]R(&]B:B!I
M;B!S96QF+F=R87!H+F=E=%]S;W5R8V5S*&=E;E]B87-E+D147TQ)3DLL('1A
M<F=E="DZ"D! ("TW-2PQ-" K-S0L,3@@0$ *(" @(" @(" @("!F;W(@8V]B
M:B!I;B!S96QF+F=R87!H+F=E=%]S;W5R8V5S*&=E;E]B87-E+D147T]"2D5#
M5"P@;V)J*3H*(" @(" @(" @(" @(&EF(&ES:6YS=&%N8V4H8V]B:BP@9V5N
M7V)A<V4N4U=)1T]B:F5C="DZ"B @(" @(" @(" @(" @(&-S<F,@/2!R;V]T
M<&%T:" K("=<7"<@*R!S=')I;F<N<F5P;&%C92AC;V)J+F9N86UE+" G+R<L
M("=<7"<I"BT@(" @(" @(" @(" @('-O=7)C97,N87!P96YD*%]I=&5M*'!A
M=&@]8W-R8RP@<F5L9&ER/4YO;F4L('-W:6=?;&%N9W5A9V4]3F]N92P*+2 @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @<W=I9U]O=71P=70]
M3F]N92DI"BL@(" @(" @(" @(" @('-O=7)C97,N87!P96YD*%]I=&5M*'!A
M=&@]8W-R8RP@<F5L9&ER/4YO;F4L('-W:6=?;&%N9W5A9V4]3F]N92DI"B *
M*R @(" @(" @(" @(" @(R!O=71P=70@<&%T:"!P87-S960@=&\@<W=I9R!H
M87,@=&\@=7-E(&9O<G=A<F0@<VQA<VAE<RP@;W1H97)W:7-E"BL@(" @(" @
M(" @(" @(",@=&AE(&=E;F5R871A=&5D('!Y=&AO;B!F:6QE<R H9F]R('-H
M861O=R!C;&%S<V5S*2!W:6QL(&)E('-A=F5D"BL@(" @(" @(" @(" @(",@
M=&\@=&AE('=R;VYG(&1I<F5C=&]R>0HK(" @(" @(" @(" @("!C;W5T(#T@
M<W1R:6YG+G)E<&QA8V4H;W,N<&%T:"YJ;VEN*')O;W1P871H+"!C;V)J+F9N
M86UE*2P@;W,N<V5P+" G+R<I"BL*(" @(" @(" @(" @(" @9F]R(&EF:6QE
M(&EN('-E;&8N9W)A<&@N9V5T7W-O=7)C97,H9V5N7V)A<V4N1%1?4U=)1U]#
M+"!C;V)J*3H*(" @(" @(" @(" @(" @("!I<W)C(#T@<F]O='!A=&@@*R G
M7%PG("L@<W1R:6YG+G)E<&QA8V4H:69I;&4L("<O)RP@)UQ<)RD*(" @(" @
M(" @(" @(" @("!S;W5R8V5S+F%P<&5N9"A?:71E;2AP871H/6ES<F,L(')E
M;&1I<CU.;VYE+" *(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @("!S=VEG7VQA;F=U86=E/71A<F=E="YL86YG+ HM(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @('-W:6=?;W5T<'5T/6-S<F,I*0HK
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @('-W:6=?=&%R
M9V5T/6-S<F,L('-W:6=?;W5T<'5T/6-O=70I*0H@(" @(" @(" *(" @("!S
M;W5R8V5S+G-O<G0H;&%M8F1A('@L('DZ(&-M<"AX+G!A=&@L('DN<&%T:"DI
M"B *26YD97@Z('-U8G9E<G-I;VXO8FEN9&EN9W,O<W=I9R])3E-404Q,"CT]
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
M/3T]/3T]/3T]/3T]/3T]/3T]/3T*+2TM('-U8G9E<G-I;VXO8FEN9&EN9W,O
M<W=I9R])3E-404Q,"2AR979I<VEO;B V,S(S*0HK*RL@<W5B=F5R<VEO;B]B
M:6YD:6YG<R]S=VEG+TE.4U1!3$P)*'=O<FMI;F<@8V]P>2D*0$ @+34U+#<@
M*S4U+#<@0$ *(" @(" @("!F:6QE<RP@<F5S=6QT:6YG(&EN(&$@8V]L;&5C
M=&EO;B!O9B N8R!S;W5R8V4@9FEL97,N("!)="!W:6QL"B @(" @(" @=&AE
M;B!C;VUP:6QE(&%N9"!L:6YK('1H;W-E("YC(&9I;&5S(&EN=&\@4'ET:&]N
M(&QI8G)A<FEE<RX*( HM(" @(" @($]N(%=I;F1O=W,L(&)U:6QD('1H92!P
M>71H;VY?*B!P<F]J96-T<R!I;B!6:7-U86P@4W1U9&EO+@HK(" @(" @($]N
M(%=I;F1O=W,L(&)U:6QD('1H92!?7U-724=?4%E42$].7U\@<')O:F5C="!I
M;B!6:7-U86P@4W1U9&EO+@H@"B @(" R+B @3VX@56YI>"!S>7-T96US+"!R
M=6X@)VUA:V4@:6YS=&%L;"US=VEG+7!Y)R H87,@<F]O="P@='EP:6-A;&QY
M*0H@(" @(" @(&9R;VT@=&AE('1O<"!O9B!T:&4@4W5B=F5R<VEO;B!S;W5R
M8V4@=')E92X@(%1H:7,@=VEL;"!C;W!Y"D! ("TW,2PQ." K-S$L,C,@0$ *
M(" @(" @("!E>&%M<&QE(&]F(&1O:6YG('1H:7,@9F]R(&)U:6QD:6YG(')P
M;7,@;&]O:W,@;&EK90H@(" @(" @("=M86ME(&EN<W1A;&PM<W=I9RUP>2!$
M15-41$E2/2124$U?0E5)3$1?4D]/5"]U<W(G+@H@"BT@(" @(" @3VX@5VEN
M9&]W<RP@8V]P>2!T:&4@<W5B=F5R<VEO;EQB:6YD:6YG<UQS=VEG7'!Y=&AO
M;EQS=FX@9F]L9&5R('1O"BT@(" @(" @/%!95$A/3CY<3&EB7'-I=&4M<&%C
M:V%G97,L(&%N9"!T:&5N(&-O<'D@=&AE"BT@(" @(" @4F5L96%S95QS=6)V
M97)S:6]N7&)I;F1I;F=S7'-W:6=<<'ET:&]N7"HN9&QL(&9I;&5S('1O"BT@
M(" @(" @/%!95$A/3CY<3&EB7'-I=&4M<&%C:V%G97-<<W9N+@HK(" @(" @
M($]N(%=I;F1O=W,L(&-R96%T92!T=V\@9F]L9&5R<SH*( HM(" @(" @($]P
M=&EO;F%L;'DL('EO=2!C86X@<G5N('1H92!F;VQL;W=I;F<@8V]M;6%N9"!T
M;R!C;VUP:6QE('1H92!P>71H;VX**R @(" @(" @(#Q0651(3TX^7$QI8EQS
M:71E+7!A8VMA9V5S7'-V;@HK(" @(" @(" @/%!95$A/3CY<3&EB7'-I=&4M
M<&%C:V%G97-<;&EB<W9N"BL**R @(" @("!#;W!Y('-U8G9E<G-I;VY<8FEN
M9&EN9W-<<W=I9UQP>71H;VY<<W9N7"HN<'D@:6YT;R!T:&4@<W9N(&9O;&1E
M<BX**R @(" @("!#;W!Y('-U8G9E<G-I;VY<8FEN9&EN9W-<<W=I9UQP>71H
M;VY<*BYP>2!A;F0**R @(" @("!296QE87-E7'-U8G9E<G-I;VY<8FEN9&EN
M9W-<<W=I9UQP>71H;VY<*BYD;&P@:6YT;R!T:&4@;&EB<W9N(&9O;&1E<BX*
M*PHK(" @(" @($]P=&EO;F%L;'DL('EO=2!C86X@<G5N('1H92!F;VQL;W=I
M;F<@8V]M;6%N9',@=&\@8V]M<&EL92!T:&4@<'ET:&]N"B @(" @(" @<V]U
M<F-E<R!I;G1O(&)Y=&5C;V1E.@HM(" @(" @( HK"B @(" @(" @("!P>71H
M;VX@/%!95$A/3CY<;&EB7&-O;7!I;&5A;&PN<'D@/%!95$A/3CY<3&EB7'-I
M=&4M<&%C:V%G97-<<W9N"BT@(" @(" @(" **R @(" @(" @('!Y=&AO;B \
M4%E42$]./EQL:6)<8V]M<&EL96%L;"YP>2 \4%E42$]./EQ,:6)<<VET92UP
M86-K86=E<UQL:6)S=FX**PH@(" @(" @(%1H:7,@8V%N(&UA:V4@=&AE(&UO
M9'5L97,@;&]A9"!F87-T97(@9F]R('5S97)S('=I=&AO=70@=W)I=&4@86-C
M97-S"BT@(" @(" @=&\@/%!95$A/3CY<3&EB7'-I=&4M<&%C:V%G97-<<W9N
M+B @(" @(" **R @(" @("!T;R!T:&4@<VET92UP86-K86=E<R!D:7)E8W1O
M<GDN"B *(" @(#,N("!697)I9GD@=&AA="!A;B G<W9N)R!P86-K86=E(&AA
M<R!B965N(&EN<W1A;&QE9"!C;W)R96-T;'DN("!9;W4@8V%N"B @(" @(" @
M9&\@=&AI<R!B>2!R=6YN:6YG('!Y=&AO;B!V:6$@)W!Y=&AO;B M8R B9G)O
7;2!S=FX@:6UP;W)T(&-L:65N="(G+@H`
`
end



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

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

Posted by Branko Čibej <br...@xbc.nu>.
Russell Yanofsky wrote:

>Turns out few more changes are neccessary to get the swig bindings to actually
>work. Patch is attached.
>
>Log Message:
>
>More fixes for building swig bindings.
>
>build/generator/gen_base.py (TargetSWIG.add_dependencies,
>  SWIGLibrary.__init__): removed leading underscores from
>  module filenames.
>
>build/generator/gen_win.py (WinGeneratorBase.get_win_defines): removed
>  STATIC_LINKED preprocessor definition for swig bindings
>
>subversion/bindings/swig/INSTALL: updated instructions
>  
>

This seems to work fine on Windows, but I'm worried about the change in
gen_base.py -- I can't easily test it on Unix right now. Could somebody
who regularly builds SWIG bindings on Unix test this patch, please?

-- 
Brane Čibej   <br...@xbc.nu>   http://www.xbc.nu/brane/


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

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

Posted by Russell Yanofsky <re...@columbia.edu>.
Turns out few more changes are neccessary to get the swig bindings to actually
work. Patch is attached.

Log Message:

More fixes for building swig bindings.

build/generator/gen_base.py (TargetSWIG.add_dependencies,
  SWIGLibrary.__init__): removed leading underscores from
  module filenames.

build/generator/gen_win.py (WinGeneratorBase.get_win_defines): removed
  STATIC_LINKED preprocessor definition for swig bindings

subversion/bindings/swig/INSTALL: updated instructions


begin 666 swig4.diff
M26YD97@Z(&)U:6QD+V=E;F5R871O<B]G96Y?8F%S92YP>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(O9V5N7V)A<V4N<'D)
M*')E=FES:6]N(#8S,38I"BLK*R!B=6EL9"]G96YE<F%T;W(O9V5N7V)A<V4N
M<'D)*'=O<FMI;F<@8V]P>2D*0$ @+3,Q.2PW("LS,3DL-R! 0 H@"B @(" @
M<V5L9BYP871H(#T@;W,N<&%T:"YD:7)N86UE*&9N86UE*0H@"BT@(" @<V5L
M9BYN86UE(#T@;&%N9R K(&]S+G!A=&@N<W!L:71E>'0H;W,N<&%T:"YB87-E
M;F%M92AF;F%M92DI6S!="BL@(" @<V5L9BYN86UE(#T@;&%N9R K("=?)R K
M(&]S+G!A=&@N<W!L:71E>'0H;W,N<&%T:"YB87-E;F%M92AF;F%M92DI6S!=
M"B @(" @<V5L9BYD97-C(#T@9&5S8R K("<@9F]R("<@*R!L86YG7V9U;&Q?
M;F%M95ML86YG70H@"B @(" @(R,C(&UA>6)E('1W96%K('1O(&%V;VED('1H
M97-E(&1U<&QI8V%T92!A='1R<PI 0" M-3 S+#D@*S4P,RPY($! "B *(" @
M(" C(R,@=V4@<VAO=6QD(')E86QL>2!E>'1R86-T('1H92 E;6]D=6QE(&QI
M;F4*(" @("!I9B!I;F%M95LZ-%T@/3T@)W-V;E\G.@HM(" @(" @;&EB;F%M
M92 ](&EN86UE6S,Z+3)=("L@<V5L9BY?;&EB97AT"BL@(" @("!L:6)N86UE
M(#T@:6YA;65;-#HM,ET@*R!S96QF+E]L:6)E>'0*(" @("!E;'-E.@HM(" @
M(" @;&EB;F%M92 ]("=?)R K(&EN86UE6SHM,ET@*R!S96QF+E]L:6)E>'0*
M*R @(" @(&QI8FYA;64@/2!I;F%M95LZ+3)=("L@<V5L9BY?;&EB97AT"B *
M(" @("!F;W(@;&%N9R!I;B!S96QF+F-F9RYS=VEG7VQA;F<Z"B @(" @("!A
M8F)R978@/2!L86YG7V%B8G)E=EML86YG70I);F1E>#H@8G5I;&0O9V5N97)A
M=&]R+V=E;E]W:6XN<'D*/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/0HM+2T@8G5I
M;&0O9V5N97)A=&]R+V=E;E]W:6XN<'D)*')E=FES:6]N(#8S,38I"BLK*R!B
M=6EL9"]G96YE<F%T;W(O9V5N7W=I;BYP>0DH=V]R:VEN9R!C;W!Y*0I 0" M
M,S4P+#<@*S,U,"PV($! "B *(" @("!I9B!I<VEN<W1A;F-E*'1A<F=E="P@
M9V5N7V)A<V4N4U=)1TQI8G)A<GDI.@H@(" @(" @9F%K961E9FEN97,N87!P
M96YD*")35TE'7T=,3T)!3"(I"BT@(" @("!F86ME9&5F:6YE<RYA<'!E;F0H
M(E-4051)0U],24Y+140B*0H@"B @(" @:68@8V9G(#T]("=$96)U9R<Z"B @
M(" @("!F86ME9&5F:6YE<RYE>'1E;F0H6R)?1$5"54<B+")35DY?1$5"54<B
M72D*26YD97@Z('-U8G9E<G-I;VXO8FEN9&EN9W,O<W=I9R])3E-404Q,"CT]
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
M/3T]/3T]/3T]/3T]/3T]/3T]/3T*+2TM('-U8G9E<G-I;VXO8FEN9&EN9W,O
M<W=I9R])3E-404Q,"2AR979I<VEO;B V,S$V*0HK*RL@<W5B=F5R<VEO;B]B
M:6YD:6YG<R]S=VEG+TE.4U1!3$P)*'=O<FMI;F<@8V]P>2D*0$ @+34U+#<@
M*S4U+#<@0$ *(" @(" @("!F:6QE<RP@<F5S=6QT:6YG(&EN(&$@8V]L;&5C
M=&EO;B!O9B N8R!S;W5R8V4@9FEL97,N("!)="!W:6QL"B @(" @(" @=&AE
M;B!C;VUP:6QE(&%N9"!L:6YK('1H;W-E("YC(&9I;&5S(&EN=&\@4'ET:&]N
M(&QI8G)A<FEE<RX*( HM(" @(" @($]N(%=I;F1O=W,L(&)U:6QD('1H92!P
M>71H;VY?*B!P<F]J96-T<R!I;B!6:7-U86P@4W1U9&EO+@HK(" @(" @($]N
M(%=I;F1O=W,L(&)U:6QD('1H92!?7U-724=?4%E42$].7U\@<')O:F5C="!I
M;B!6:7-U86P@4W1U9&EO+@H@"B @(" R+B @3VX@56YI>"!S>7-T96US+"!R
M=6X@)VUA:V4@:6YS=&%L;"US=VEG+7!Y)R H87,@<F]O="P@='EP:6-A;&QY
M*0H@(" @(" @(&9R;VT@=&AE('1O<"!O9B!T:&4@4W5B=F5R<VEO;B!S;W5R
M8V4@=')E92X@(%1H:7,@=VEL;"!C;W!Y"D! ("TW,2PQ." K-S$L,C,@0$ *
M(" @(" @("!E>&%M<&QE(&]F(&1O:6YG('1H:7,@9F]R(&)U:6QD:6YG(')P
M;7,@;&]O:W,@;&EK90H@(" @(" @("=M86ME(&EN<W1A;&PM<W=I9RUP>2!$
M15-41$E2/2124$U?0E5)3$1?4D]/5"]U<W(G+@H@"BT@(" @(" @3VX@5VEN
M9&]W<RP@8V]P>2!T:&4@<W5B=F5R<VEO;EQB:6YD:6YG<UQS=VEG7'!Y=&AO
M;EQS=FX@9F]L9&5R('1O"BT@(" @(" @/%!95$A/3CY<3&EB7'-I=&4M<&%C
M:V%G97,L(&%N9"!T:&5N(&-O<'D@=&AE"BT@(" @(" @4F5L96%S95QS=6)V
M97)S:6]N7&)I;F1I;F=S7'-W:6=<<'ET:&]N7"HN9&QL(&9I;&5S('1O"BT@
M(" @(" @/%!95$A/3CY<3&EB7'-I=&4M<&%C:V%G97-<<W9N+@HK(" @(" @
M($]N(%=I;F1O=W,L(&-R96%T92!T=V\@9F]L9&5R<SH*( HM(" @(" @($]P
M=&EO;F%L;'DL('EO=2!C86X@<G5N('1H92!F;VQL;W=I;F<@8V]M;6%N9"!T
M;R!C;VUP:6QE('1H92!P>71H;VX**R @(" @(" @(#Q0651(3TX^7$QI8EQS
M:71E+7!A8VMA9V5S7'-V;@HK(" @(" @(" @/%!95$A/3CY<3&EB7'-I=&4M
M<&%C:V%G97-<;&EB<W9N"BL**R @(" @("!#;W!Y('-U8G9E<G-I;VY<8FEN
M9&EN9W-<<W=I9UQP>71H;VY<<W9N7"HN<'D@:6YT;R!T:&4@<W9N(&9O;&1E
M<BX**R @(" @("!#;W!Y('-U8G9E<G-I;VY<8FEN9&EN9W-<<W=I9UQP>71H
M;VY<*BYP>2!A;F0**R @(" @("!296QE87-E7'-U8G9E<G-I;VY<8FEN9&EN
M9W-<<W=I9UQP>71H;VY<*BYD;&P@:6YT;R!T:&4@;&EB<W9N(&9O;&1E<BX*
M*PHK(" @(" @($]P=&EO;F%L;'DL('EO=2!C86X@<G5N('1H92!F;VQL;W=I
M;F<@8V]M;6%N9',@=&\@8V]M<&EL92!T:&4@<'ET:&]N"B @(" @(" @<V]U
M<F-E<R!I;G1O(&)Y=&5C;V1E.@HM(" @(" @( HK"B @(" @(" @("!P>71H
M;VX@/%!95$A/3CY<;&EB7&-O;7!I;&5A;&PN<'D@/%!95$A/3CY<3&EB7'-I
M=&4M<&%C:V%G97-<<W9N"BT@(" @(" @(" **R @(" @(" @('!Y=&AO;B \
M4%E42$]./EQL:6)<8V]M<&EL96%L;"YP>2 \4%E42$]./EQ,:6)<<VET92UP
M86-K86=E<UQL:6)S=FX**PH@(" @(" @(%1H:7,@8V%N(&UA:V4@=&AE(&UO
M9'5L97,@;&]A9"!F87-T97(@9F]R('5S97)S('=I=&AO=70@=W)I=&4@86-C
M97-S"BT@(" @(" @=&\@/%!95$A/3CY<3&EB7'-I=&4M<&%C:V%G97-<<W9N
M+B @(" @(" **R @(" @("!T;R!T:&4@<VET92UP86-K86=E<R!D:7)E8W1O
M<GDN"B *(" @(#,N("!697)I9GD@=&AA="!A;B G<W9N)R!P86-K86=E(&AA
M<R!B965N(&EN<W1A;&QE9"!C;W)R96-T;'DN("!9;W4@8V%N"B @(" @(" @
M9&\@=&AI<R!B>2!R=6YN:6YG('!Y=&AO;B!V:6$@)W!Y=&AO;B M8R B9G)O
7;2!S=FX@:6UP;W)T(&-L:65N="(G+@H`
`
end



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

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

Posted by Russell Yanofsky <re...@columbia.edu>.
> Anyway, I think the bindings generator is now in a fairly beautoful
> shape. What remains now is testing, testing and more testing; I hope
> somebody's done that. :-)
>
> Oh, and whoever is maintaining the .vcproj generator can now import the
> changes from the .dsp generator.
>
> And thanks, Russel!
>
No problem. And the result is all the better for your scrutiny. I'm going to use
the bindings to do some work on ViewCVS, so they'll get at least a little
testing. ;)

- Russ




---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

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

Posted by Branko Čibej <br...@xbc.nu>.
Russell Yanofsky wrote:

>>Now I'd like to see a few things changed, if you don't mind. :-)
>>    
>>
>
>Ok. I was able to handle these things:
>  
>
Committed, with changes, in revision 6304. I moved a few things around,
but mainly I added a tweak to the .dsp generator to optionally append
the target name to the Intermediate_Dir. Without this, all the object
files -- and more importantly, the version resource -- for the SWIG
bindings would be built in the same directory. The result was strange
because all the DLLs used the same resource file, and had the same
description -- e.g., _ra.dll asserted that it was the client library
bindings. :-) Confusing.

Anyway, I think the bindings generator is now in a fairly beautoful
shape. What remains now is testing, testing and more testing; I hope
somebody's done that. :-)

Oh, and whoever is maintaining the .vcproj generator can now import the
changes from the .dsp generator.

And thanks, Russel!

-- 
Brane Čibej   <br...@xbc.nu>   http://www.xbc.nu/brane/


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

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

Posted by Russell Yanofsky <re...@columbia.edu>.
> Now I'd like to see a few things changed, if you don't mind. :-)

Ok. I was able to handle these things:

>     * Move the unique() function to gen_base.py. There are quite a few
>       places where we can use it.
>     * Prefix the project names with "swig_"; e.g., "swig_python_core"
>       instead of just "python_core". This will make the project lists
>       more readable.
>     * Add new pseudo projects (in build.conf): __SWIG_PYTHON__ and
>       __SWIG_JAVA__, to build all the relevant bindings in one fell
>     swoop. * Put the target description back in, so that we get
>       version info in the generated DLLs.

But not these:

>     * Change the SWIG custom build commands to generate the C files in
>       the build tree (Release or Debug), _not_ the source tree. This
>       means tweaking the source file definitions for the C files, too.
>     * Fix the link warnings about not finding aprutil_src.pdb or
>       xml_src.pdb -- I guess that means adding library dependencies to
>       the link lines for the DLLs.

I couldn't figure out a way to tell Visual C++ to compile different C source
files depending on the configuration (release or debug). I tried putting
conditionals ('!IF  "$(CFG)" == "whatever" / !ENDIF) around the SOURCE=...
statements in the project files, but that made only them unloadable. So swig
still outputs the C files in the source tree since it's a neutral location.

I couldn't do anything about the link warnings since I don't get them and I
don't know what causes them.

Patch is attached.

- Russ


Log Message:

* build.conf: added description strings for swig libraries and two new
  utility targets, __SWIG_PYTHON__ and __SWIG_JAVA__.

* build/generator/gen_base.py (GeneratorBase.__init__): added new parser
  option "language" which is needed for the new __SWIG_*_ targets.

  (TargetSWIG.add_dependencies): changed to set the description attribute
  on each newly created SWIGLibrary.

  Declared a new class called TargetSwigUtility which inherits from
  TargetUtility for swig utility targets.

* build/generator/gen_win.py: (unique) transplanted this function from
  gen_msvc_dsp.py

  (WinGeneratorBase.get_unique_win_depends): now adds SWIGLibraries as
  dependencies of TargetSwigUtility targets.

* build/generator/gen_msvc_dsp.py: (unique) moved this function to a
  gen_win.py

  (Generator.write_project): no longer assigns None to the SWIGLibraries'
  "desc" attributes.


begin 666 swig3.diff
M26YD97@Z(&)U:6QD+F-O;F8-"CT]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T-"BTM
M+2!B=6EL9"YC;VYF"2AR979I<VEO;B V,C<T*0HK*RL@8G5I;&0N8V]N9@DH
M=V]R:VEN9R!C;W!Y*0I 0" M,C(P+#0R("LR,C L-#D@0$ *('!A=&@@/2!S
M=6)V97)S:6]N+V)I;F1I;F=S+W-W:6<*('-O=7)C97,@/2!S=FY?8VQI96YT
M+FD*(&QI8G,@/2!L:6)S=FY?8VQI96YT"BMD97-C<FEP=&EO;B ](%-U8G9E
M<G-I;VX@0VQI96YT($QI8G)A<GD@0FEN9&EN9W,*( H@6W-W:6=?9&5L=&%=
M"B!T>7!E(#T@<W=I9PH@<&%T:" ]('-U8G9E<G-I;VXO8FEN9&EN9W,O<W=I
M9PH@<V]U<F-E<R ]('-V;E]D96QT82YI"B!L:6)S(#T@;&EB<W9N7V1E;'1A
M"BMD97-C<FEP=&EO;B ](%-U8G9E<G-I;VX@1&5L=&$@3&EB<F%R>2!":6YD
M:6YG<PH@"B!;<W=I9U]F<UT*('1Y<&4@/2!S=VEG"B!P871H(#T@<W5B=F5R
M<VEO;B]B:6YD:6YG<R]S=VEG"B!S;W5R8V5S(#T@<W9N7V9S+FD*(&QI8G,@
M/2!L:6)S=FY?9G,**V1E<V-R:7!T:6]N(#T@4W5B=F5R<VEO;B!&4R!,:6)R
M87)Y($)I;F1I;F=S"B *(%MS=VEG7W)A70H@='EP92 ]('-W:6<*('!A=&@@
M/2!S=6)V97)S:6]N+V)I;F1I;F=S+W-W:6<*('-O=7)C97,@/2!S=FY?<F$N
M:0H@;&EB<R ](&QI8G-V;E]R80HK9&5S8W)I<'1I;VX@/2!3=6)V97)S:6]N
M(%)!($QI8G)A<GD@0FEN9&EN9W,*( H@6W-W:6=?<F5P;W-="B!T>7!E(#T@
M<W=I9PH@<&%T:" ]('-U8G9E<G-I;VXO8FEN9&EN9W,O<W=I9PH@<V]U<F-E
M<R ]('-V;E]R97!O<RYI"B!L:6)S(#T@;&EB<W9N7W)E<&]S"BMD97-C<FEP
M=&EO;B ](%-U8G9E<G-I;VX@4F5P;W-I=&]R>2!,:6)R87)Y($)I;F1I;F=S
M"B *(%MS=VEG7W=C70H@='EP92 ]('-W:6<*('!A=&@@/2!S=6)V97)S:6]N
M+V)I;F1I;F=S+W-W:6<*('-O=7)C97,@/2!S=FY?=V,N:0H@;&EB<R ](&QI
M8G-V;E]W8PHK9&5S8W)I<'1I;VX@/2!3=6)V97)S:6]N(%=#($QI8G)A<GD@
M0FEN9&EN9W,*( H@6W-W:6=?8V]R95T*('1Y<&4@/2!S=VEG"B!P871H(#T@
M<W5B=F5R<VEO;B]B:6YD:6YG<R]S=VEG"B!S;W5R8V5S(#T@8V]R92YI"B!L
M:6)S(#T@;&EB<W9N7W-U8G(@)"A35DY?05!27TQ)0E,I"BMD97-C<FEP=&EO
M;B ](%-U8G9E<G-I;VX@0V]R92!,:6)R87)Y($)I;F1I;F=S"B *(",@4U=)
M1R!U=&EL:71Y(&QI8G)A<GD@9F]R(%!Y=&AO;B!M;V1U;&5S"B!;;&EB<W9N
M7W-W:6=?<'E="D! ("TV,C L-2 K-C(W+#$W($! "B!R96QE87-E(#T@+BY<
M+BY<4F5L96%S95QS=FXM<V5T=7 N97AE"B!D96)U9R ]("XN7"XN7$1E8G5G
M7'-V;BUS971U<"YE>&4*( HK6U]?4U=)1U]0651(3TY?7UT**W1Y<&4@/2!S
M=VEG7W5T:6QI='D**W!A=&@@/2!B=6EL9"]W:6XS,@HK;&EB<R ]('-W:6=?
M8VQI96YT('-W:6=?9&5L=&$@<W=I9U]F<R!S=VEG7W)A('-W:6=?<F5P;W,@
M<W=I9U]W8R!S=VEG7V-O<F4@;&EB<W9N7W-W:6=?<'D**VQA;F=U86=E(#T@
M<'ET:&]N"BL**UM?7U-724=?2D%605]?70HK='EP92 ]('-W:6=?=71I;&ET
M>0HK<&%T:" ](&)U:6QD+W=I;C,R"BML:6)S(#T@<W=I9U]C;&EE;G0@<W=I
M9U]D96QT82!S=VEG7V9S('-W:6=?<F$@<W=I9U]R97!O<R!S=VEG7W=C('-W
M:6=?8V]R92!L:6)S=FY?<W=I9U]J879A"BML86YG=6%G92 ](&IA=F$**PH@
M(R M+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM
M+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM"B *26YD97@Z(&)U
M:6QD+V=E;F5R871O<B]G96Y?8F%S92YP>0T*/3T]/3T]/3T]/3T]/3T]/3T]
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
M/3T]/0T*+2TM(&)U:6QD+V=E;F5R871O<B]G96Y?8F%S92YP>0DH<F5V:7-I
M;VX@-C(W-"D**RLK(&)U:6QD+V=E;F5R871O<B]G96Y?8F%S92YP>0DH=V]R
M:VEN9R!C;W!Y*0I 0" M.#,L-B K.#,L.2! 0 H@"B @(" @("!I9B!P87)S
M97(N9V5T*'1A<F=E="P@)W!R;VIE8W1?;F%M92<I.@H@(" @(" @("!T87)G
M971?;V(N<')O:F5C=%]N86UE(#T@<&%R<V5R+F=E="AT87)G970L("=P<F]J
M96-T7VYA;64G*0HK(" @(" @(" **R @(" @(&EF('!A<G-E<BYH87-?;W!T
M:6]N*'1A<F=E="P@)VQA;F=U86=E)RDZ"BL@(" @(" @('1A<F=E=%]O8BYL
M86YG=6%G92 ]('!A<G-E<BYG970H=&%R9V5T+" G;&%N9W5A9V4G*0H@"B @
M(" @("!S96QF+G1A<F=E='-;=&%R9V5T72 ]('1A<F=E=%]O8@H@"D! ("TU
M,C$L-B K-3(T+#D@0$ *( H@(" @(" @(R!T:&4@<W!E8VEF:65D(&EN<W1A
M;&P@87)E82!D97!E;F1S('5P;VX@=&AE(&QI8G)A<GD*(" @(" @(&=R87!H
M+F%D9"A$5%])3E-404Q,+"!S96QF+FEN<W1A;&P@*R G+2<@*R!A8F)R978L
M(&QI8G)A<GDI"BL@(" @(" **R @(" @(",@<&%S<R!487)G97135TE')W,@
M9&5S8W)I<'1I;VX@;VYT;R!I=',@4U=)1TQI8G)A<FEE<PHK(" @(" @;&EB
M<F%R>2YD97-C(#T@<V5L9BYD97-C"B *(",C(R!)(&1O;B=T('1H:6YK('1H
M:7,@<VAO=6QD(&)E(%1A<F=E=$QI;FME9"P@8G5T("=A<'(G('5S97,@=&AE
M("=L:6)S)PH@(R,C(&]P=&EO;BP@=VAI8V@@;65A;G,@=V4@;F5E9"!T;R!M
M86ME('1H:7,@5&%R9V5T3&EN:V5D('-O('1H870@=&AE"D! ("TU-# L-B K
M-30V+#@@0$ *(&-L87-S(%1A<F=E=%5T:6QI='DH5&%R9V5T4W!E8VEA;"DZ
M"B @(&1E9F%U;'1?:6YS=&%L;" ]("=U=&EL:71Y)PH@"BMC;&%S<R!487)G
M9713=VEG571I;&ET>2A487)G9715=&EL:71Y*3H**R @9&5F875L=%]I;G-T
M86QL(#T@)W-W:6=?=71I;&ET>2<*( H@7V)U:6QD7W1Y<&5S(#T@>PH@(" G
M97AE)R Z(%1A<F=E=$5X92P*0$ @+34U,"PV("LU-3@L-R! 0 H@(" G<')O
M:F5C="<@.B!487)G9710<F]J96-T+ H@(" G97AT97)N86PG(#H@5&%R9V5T
M17AT97)N86PL"B @("=U=&EL:71Y)R Z(%1A<F=E=%5T:6QI='DL"BL@("=S
M=VEG7W5T:6QI='DG(#H@5&%R9V5T4W=I9U5T:6QI='DL"B @('T*( H@"DEN
M9&5X.B!B=6EL9"]G96YE<F%T;W(O9V5N7W=I;BYP>0T*/3T]/3T]/3T]/3T]
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
M/3T]/3T]/3T]/0T*+2TM(&)U:6QD+V=E;F5R871O<B]G96Y?=VEN+G!Y"2AR
M979I<VEO;B V,C<T*0HK*RL@8G5I;&0O9V5N97)A=&]R+V=E;E]W:6XN<'D)
M*'=O<FMI;F<@8V]P>2D*0$ @+3(U-RPV("LR-3<L,3(@0$ *(" @(" @(&EF
M(&YO="!I<VEN<W1A;F-E*&]B:BP@9V5N7V)A<V4N5&%R9V5T*3H*(" @(" @
M(" @8V]N=&EN=64*( HK(" @(" @:68@:7-I;G-T86YC92AO8FHL(&=E;E]B
M87-E+E1A<F=E=%-724<I.@HK(" @(" @("!T;F%M92 ](&]B:BYI;G-T86QL
M("L@)RTG("L@9V5N7V)A<V4N;&%N9U]A8F)R979;=&%R9V5T+FQA;F=U86=E
M70HK(" @(" @("!F;W(@9&5P(&EN('-E;&8N9W)A<&@N9V5T7W-O=7)C97,H
M9V5N7V)A<V4N1%1?24Y35$%,3"P@=&YA;64I.@HK(" @(" @(" @(&1E<'-;
M9&5P72 ]($YO;F4**R @(" @(" @8V]N=&EN=64**R @(" @(" @"B @(" @
M(" C(&EF('1H92!O8FIE8W0@:7,@:6X@)W-U8B<L('1H96X@<VMI<"!I= H@
M(" @(" @:68@;V)J(&YO="!I;B!S=6(Z"B @(" @(" @(&1E<'-;;V)J72 ]
M($YO;F4*0$ @+30T,RPS("LT-#DL."! 0 H@"B @(" @<F%I<V4@3F]T26UP
M;&5M96YT961%<G)O<@H@"BMD968@=6YI<75E*'-E<2DZ"BL@(&0@/2![?0HK
M("!F;W(@:2!I;B!S97$Z"BL@(" @9%MI72 ]($YO;F4**R @<F5T=7)N(&0N
M:V5Y<R@I"DEN9&5X.B!B=6EL9"]G96YE<F%T;W(O9V5N7VUS=F-?9'-P+G!Y
M#0H]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]#0HM+2T@8G5I;&0O9V5N97)A=&]R
M+V=E;E]M<W9C7V1S<"YP>0DH<F5V:7-I;VX@-C(W-"D**RLK(&)U:6QD+V=E
M;F5R871O<B]G96Y?;7-V8U]D<W N<'D)*'=O<FMI;F<@8V]P>2D*0$ @+30W
M+#<@*S0W+#8@0$ *(" @(" @('1A<F=T>7!E(#T@(E=I;C,R("AX.#8I($1Y
M;F%M:6,M3&EN:R!,:6)R87)Y(@H@(" @(" @=&%R9W9A;" ]("(P># Q,#(B
M"B @(" @("!T87)G970N;W5T<'5T7VYA;64@/2!O<RYP871H+F)A<V5N86UE
M*'1A<F=E="YF;F%M92D*+2 @(" @('1A<F=E="YD97-C(#T@3F]N90H@(" @
M(" @=&%R9V5T+FES7V%P86-H95]M;V0@/2 P"B @(" @96QS93H*(" @(" @
M(')A:7-E(&=E;E]B87-E+D=E;D5R<F]R*")#86YN;W0@8W)E871E('!R;VIE
M8W0@9F]R("5S(B E('1A<F=E="YN86UE*0I 0" M,3(T+#@@*S$R,RPX($! 
M"B @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @("!.;VYE+"!.;VYE+"!S96QF+F-F9RP*(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @($YO
M;F4I"B *+2 @("!I;G-T86QL7W1A<F=E=',@/2!U;FEQ=64H<V5L9BYG<F%P
M:"YG971?86QL7W-O=7)C97,H9V5N7V)A<V4N1%1?24Y35$%,3"D*+2 @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @*R!S96QF+G1A<F=E=',N=F%L=65S
M*"DI"BL@(" @:6YS=&%L;%]T87)G971S(#T@9V5N7W=I;BYU;FEQ=64H<V5L
M9BYT87)G971S+G9A;'5E<R@I"BL@(" @(" @(" @(" @(" @(" @("L@<V5L
M9BYG<F%P:"YG971?86QL7W-O=7)C97,H9V5N7V)A<V4N1%1?24Y35$%,3"DI
M"B *(" @(" C('-O<G0@=&AE<V4@9F]R(&]U='!U="!S=&%B:6QI='DL('1O
M('=A=&-H(&]U="!F;W(@<F5G<F5S<VEO;G,N"B @(" @:6YS=&%L;%]T87)G
M971S+G-O<G0H*0I 0" M,30P+#8@*S$S.2PX($! "B @(" @("!P;W,@/2!S
M=')I;F<N9FEN9"AN86UE+" G+71E<W0G*0H@(" @(" @:68@<&]S(#X](# Z
M"B @(" @(" @(&1S<%]N86UE(#T@)W1E<W1?)R K('-T<FEN9RYR97!L86-E
M*&YA;65;.G!O<UTL("<M)RP@)U\G*0HK(" @(" @96QI9B!I<VEN<W1A;F-E
M*'1A<F=E="P@9V5N7V)A<V4N4U=)1TQI8G)A<GDI.@HK(" @(" @("!D<W!?
M;F%M92 ]("=S=VEG7R<@*R!S=')I;F<N<F5P;&%C92AN86UE+" G+2<L("=?
M)RD*(" @(" @(&5L<V4Z"B @(" @(" @(&1S<%]N86UE(#T@<W1R:6YG+G)E
M<&QA8V4H;F%M92P@)RTG+" G7R<I"B @(" @("!T87)G970N9'-P7VYA;64@
M/2!D<W!?;F%M90I 0" M,C,Q+#D@*S(S,BPS($! "B!C;&%S<R!?:71E;3H*
M(" @9&5F(%]?:6YI=%]?*'-E;&8L("HJ:W<I.@H@(" @('9A<G,H<V5L9BDN
M=7!D871E*&MW*0HM"BUD968@=6YI<75E*'-E<2DZ"BT@(&0@/2![?0HM("!F
M;W(@:2!I;B!S97$Z"BT@(" @9%MI72 ]($YO;F4*+2 @<F5T=7)N(&0N:V5Y
$<R@I"@``
`
end



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

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

Posted by Branko Čibej <br...@xbc.nu>.
O.K., committed this in revision 6272. Thanks!

Now I'd like to see a few things changed, if you don't mind. :-)

    * Move the unique() function to gen_base.py. There are quite a few
      places where we can use it.
    * Change the SWIG custom build commands to generate the C files in
      the build tree (Release or Debug), _not_ the source tree. This
      means tweaking the source file definitions for the C files, too.
    * Fix the link warnings about not finding aprutil_src.pdb or
      xml_src.pdb -- I guess that means adding library dependencies to
      the link lines for the DLLs.
    * Prefix the project names with "swig_"; e.g., "swig_python_core"
      instead of just "python_core". This will make the project lists
      more readable.
    * Add new pseudo projects (in build.conf): __SWIG_PYTHON__ and
      __SWIG_JAVA__, to build all the relevant bindings in one fell swoop.
    * Put the target description back in, so that we get version info in
      the generated DLLs.


-- 
Brane Čibej   <br...@xbc.nu>   http://www.xbc.nu/brane/


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

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

Posted by Russell Yanofsky <re...@columbia.edu>.
Branko Cibej wrote:
> Can you give me a hint how you got Visual Studio to pass the
> PYTHON_INCLUDE and PYTHON_LIB environment variables to swig? VS seems
> to "kindly" jump all over the environment before it calls an external
> program...

I don't have those variables set and swig doesn't seem to mind. Does swig need
to access python headers and libraries?

- Russ




---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

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

Posted by Branko Čibej <br...@xbc.nu>.
Can you give me a hint how you got Visual Studio to pass the
PYTHON_INCLUDE and PYTHON_LIB environment variables to swig? VS seems to
"kindly" jump all over the environment before it calls an external
program...

-- 
Brane Čibej   <br...@xbc.nu>   http://www.xbc.nu/brane/


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

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

Posted by Russell Yanofsky <re...@columbia.edu>.
"Branko Cibej" <br...@xbc.nu> wrote in message news:3EEE5F0B.9010404@xbc.nu...
> ...
> Surely the last two lines aren't necessary? target.is_apache_mod should
> never be set in build.conf for SWIG targets. OTOH, target.desc could be
> quite useful to put version info into the Python extension DLLs.

These assignments are needed because SWIGLibrary inherits from DependencyNode
instead of Target. Without them, there'd be AttributeErrors later on.

> ...
> These include paths should be generated in the template, using the
> includes data item. The same probably goes for expanding target.lang,
> and I suspect that isrc and csrc could be passed to EZT, too.

You are right. A new patch is attached.

Log Message:

Changes to make/project generator to generate VC6 .dsp projects for the swig
bindings. This required some small changes to gen_base.py and gen_win.py,
but they do not effect the vcproj or makefile output. The resulting python
binaries seem to work fine, at least for the cvs2svn script. I didn't attempt
to build the java projects.

* build/generator/msvc_dsp.ezt: New custom build section and two new
  attributes ("swig_language" and "swig_output") for swig sources.
  Renamed target's "is_apache_mod" property to "is_dll".

* build/generator/gen_base.py (TargetSWIG.add_dependencies): Adds SWIGObject
  representing the generated C file as a dependency of the object file
  instead of adding a string containing the C file's name. This makes it
  possible to determine the name of the .i file associated with a SWIGLibrary
  object using the dependency graph.

* build/generator/gen_win.py (get_win_defines,get_win_includes,get_win_libs):
  Added more hardcoded dependencies for the swig projects :(

* build/generator/gen_msvc_dsp.py (Generator.write_project): Added
  conditionals to detect if target is a swig library, and if so write out
  sources with custom build steps and set some attributes on the target
  object.

  (Generator.write): Changed to iterate over the targets in
  graph.get_all_sources(DT_INSTALL), making the dsp project generator
  more consistent with the vcproj and makefile generators. It still
  goes over the targets in the self.targets dictionary, though, to pick
  up fake targets like __ALL__ , depsubr, and so on.

* subversion/bindings/swig/INSTALL: Filled in instructions for Windows.


begin 666 swig2.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(U-BD**RLK(&)U:6QD+V=E;F5R871O<B]M<W9C7V1S
M<"YE>G0)*'=O<FMI;F<@8V]P>2D*0$ @+30V+#<@*S0V+#<@0$ *(",@041$
M(%)30R O;"!;:68M86YY(&ES7V5X95TP>#0P.5ME;'-E73!X-#(T6V5N9%T@
M+V0@6VES(&-O;F9I9W,N;F%M92 B1&5B=6<B72)?1$5"54<B6V5L<V5=(DY$
M14)51R);96YD70H@0E-#,S(]8G-C;6%K92YE>&4*($Q)3DLS,CUL:6YK+F5X
M90HM6VEF+6%N>2!I<U]E>&4@:7-?87!A8VAE7VUO9%TC($%$1"!,24Y+,S(@
M+VYO;&]G;UMI9BUA;GD@:7-?97AE72 O<W5B<WES=&5M.F-O;G-O;&5;96YD
M75MI9BUA;GD@:7-?87!A8VAE7VUO9%T@+V1L;%ME;F1=("]D96)U9R O;6%C
M:&EN93I)6#@V6V9O<B!C;VYF:6=S+FQI8G-=(%MC;VYF:6=S+FQI8G-=6V5N
M9%U;9F]R(&-O;F9I9W,N;&EB9&ER<UT@+VQI8G!A=&@Z(EMC;VYF:6=S+FQI
M8F1I<G-=(EME;F1=("]O=70Z(EMR;V]T<&%T:%U<6V-O;F9I9W,N;F%M95U<
M6W1A<F=E="YP871H75Q;=&%R9V5T+F]U='!U=%]N86UE72);:68M86YY(&EN
M<W1R=6UE;G1?<'5R:69Y7W%U86YT:69Y72 O9FEX960Z;F];96YD70HK6VEF
M+6%N>2!I<U]E>&4@:7-?9&QL72,@041$($Q)3DLS,B O;F]L;V=O6VEF+6%N
M>2!I<U]E>&5=("]S=6)S>7-T96TZ8V]N<V]L95ME;F1=6VEF+6%N>2!I<U]D
M;&Q=("]D;&Q;96YD72 O9&5B=6<@+VUA8VAI;F4Z25@X-EMF;W(@8V]N9FEG
M<RYL:6)S72!;8V]N9FEG<RYL:6)S75ME;F1=6V9O<B!C;VYF:6=S+FQI8F1I
M<G-=("]L:6)P871H.B);8V]N9FEG<RYL:6)D:7)S72);96YD72 O;W5T.B);
M<F]O='!A=&A=7%MC;VYF:6=S+FYA;65=7%MT87)G970N<&%T:%U<6W1A<F=E
M="YO=71P=71?;F%M95TB6VEF+6%N>2!I;G-T<G5M96YT7W!U<FEF>5]Q=6%N
M=&EF>5T@+V9I>&5D.FYO6V5N9%T*(%ME;F1=6V5N9%U;96YD75ME;F1=6V5N
M9%T*("%%3D1)1B *( I 0" M-C(L-B K-C(L,3<@0$ *(",@4%)/4"!);G1E
M<FUE9&EA=&5?1&ER(");<F]O='!A=&A=7%MC;VYF:6=S+FYA;65=7%MT87)G
M970N<&%T:%U<6W-O=7)C97,N<F5L9&ER72(*(%ME;F1=6V5N9%T*("%%3D1)
M1@HK6V5N9%U;:68M86YY('-O=7)C97,N<W=I9U]L86YG=6%G95T**PHK(R!"
M96=I;B!#=7-T;VT@0G5I;&0**PHK26YP=710871H/5MS;W5R8V5S+G!A=&A=
M"BL**UMS;W5R8V5S+G-W:6=?;W5T<'5T72 Z("0H4T]54D-%*2 B)"A)3E1$
M25(I(B B)"A/551$25(I(@HK"7-W:6<@+5MS;W5R8V5S+G-W:6=?;&%N9W5A
M9V5=("UN;W!R;WAY6V9O<B!I;F-L=61E<UT@+4DB6VEN8VQU9&5S72);96YD
M72 M;R!;<V]U<F-E<RYS=VEG7V]U='!U=%T@)"A);G!U=%!A=&@I"BL)"BLC
M($5N9"!#=7-T;VT@0G5I;&0**PH@6V5N9%T*(",@16YD(%-O=7)C92!&:6QE
M"B!;96YD70I);F1E>#H@8G5I;&0O9V5N97)A=&]R+V=E;E]B87-E+G!Y"CT]
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
M/3T]/3T]/3T]/3T]/3T]/3T]/3T*+2TM(&)U:6QD+V=E;F5R871O<B]G96Y?
M8F%S92YP>0DH<F5V:7-I;VX@-C(U-BD**RLK(&)U:6QD+V=E;F5R871O<B]G
M96Y?8F%S92YP>0DH=V]R:VEN9R!C;W!Y*0I 0" M-#DT+#@@*S0Y-"PX($! 
M"B @(" @("!A8F)R978@/2!L86YG7V%B8G)E=EML86YG70H@"B @(" @(" C
M('1H92 N8R!F:6QE(&1E<&5N9',@=7!O;B!T:&4@+FD@9FEL90HM(" @(" @
M8V9I;&4@/2!O<RYP871H+FIO:6XH9&ER+"!L86YG+"!C;F%M92D*+2 @(" @
M(&=R87!H+F%D9"A$5%]35TE'7T,L(%-724=/8FIE8W0H8V9I;&4L(&QA;F<I
M+"!I9FEL92D**R @(" @(&-F:6QE(#T@4U=)1T]B:F5C="AO<RYP871H+FIO
M:6XH9&ER+"!L86YG+"!C;F%M92DL(&QA;F<I"BL@(" @("!G<F%P:"YA9&0H
M1%1?4U=)1U]#+"!C9FEL92P@:69I;&4I"B *(" @(" @(",@=&AE(&]B:F5C
M="!D97!E;F1S('5P;VX@=&AE("YC(&9I;&4*(" @(" @(&]F:6QE(#T@4U=)
M1T]B:F5C="AO<RYP871H+FIO:6XH9&ER+"!L86YG+"!O;F%M92DL(&QA;F<I
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(U-BD**RLK(&)U:6QD+V=E;F5R871O<B]G96Y?=VEN+G!Y
M"2AW;W)K:6YG(&-O<'DI"D! ("TR-S8L-B K,C<V+#$P($! "B @(" @96QS
M93H*(" @(" @(&9A:V5D969I;F5S+F5X=&5N9"A;(D%04E]$14-,05)%7U-4
M051)0R(L(D%055]$14-,05)%7U-4051)0R)=*0H@"BL@(" @:68@:7-I;G-T
M86YC92AT87)G970L(&=E;E]B87-E+E-724=,:6)R87)Y*3H**R @(" @(&9A
M:V5D969I;F5S+F%P<&5N9"@B4U=)1U]'3$]"04PB*0HK(" @(" @9F%K961E
M9FEN97,N87!P96YD*")35$%424-?3$E.2T5$(BD**PH@(" @(&EF(&-F9R ]
M/2 G1&5B=6<G.@H@(" @(" @9F%K961E9FEN97,N97AT96YD*%LB7T1%0E5'
M(BPB4U9.7T1%0E5'(ETI"B @(" @96QI9B!C9F<@/3T@)U)E;&5A<V4G.@I 
M0" M,CDV+#8@*S,P,"PQ,"! 0 H@(" @(" @("!S96QF+FAT='!D7W!A=&@@
M*R B+W-R8VQI8B]A<'(M=71I;"]X;6PO97AP870O;&EB(BP*(" @(" @(" @
M<V5L9BYH='1P9%]P871H("L@(B]I;F-L=61E(@H@(" @(" @("!=*0HK(" @
M(&5L:68@:7-I;G-T86YC92AT87)G970L(&=E;E]B87-E+E-724=,:6)R87)Y
M*3H**R @(" @(&9A:V5I;F-L=61E<R ]('-E;&8N;6%P7W)O;W1P871H*%LB
M<W5B=F5R<VEO;B]B:6YD:6YG<R]S=VEG(BP**R @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" B<W5B=F5R<VEO;B]I;F-L=61E(BP*
M*R @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" B87!R
M+VEN8VQU9&4B72P@<F]O='!A=&@I(" *(" @("!E;'-E.@H@(" @(" @9F%K
M96EN8VQU9&5S(#T@<V5L9BYM87!?<F]O='!A=&@H6R)S=6)V97)S:6]N+VEN
M8VQU9&4B+ H@(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(")A<'(O:6YC;'5D92(L"D! ("TS-#<L-B K,S4U+#$T($! "B @(" @
M(" @(" @(" @(" @(" @("=S:&9O;&1E<BYL:6(G(%TI"B @(" @("!R971U
M<FX@;&EB<PH@"BL@(" @:68@:7-I;G-T86YC92AT87)G970L(&=E;E]B87-E
M+E-724=,:6)R87)Y*3H**R @(" @(')E='5R;B!;('-E;&8N9&)L:6)N86UE
M*RAC9F<@/3T@)T1E8G5G)R!A;F0@)V0N;&EB)R!O<B G+FQI8B<I+ HK(" @
M(" @(" @(" @(" @)VUS=W-O8VLN;&EB)RP**R @(" @(" @(" @(" @("=W
M<S)?,S(N;&EB)RP**R @(" @(" @(" @(" @("=A9'9A<&DS,BYL:6(G+ HK
M(" @(" @(" @(" @(" @)W)P8W)T-"YL:6(G+ HK(" @(" @(" @(" @(" @
M)W-H9F]L9&5R+FQI8B<@70HK"B @(" @:68@;F]T(&ES:6YS=&%N8V4H=&%R
M9V5T+"!G96Y?8F%S92Y487)G971%>&4I.@H@(" @(" @<F5T=7)N(%M="B *
M26YD97@Z(&)U:6QD+V=E;F5R871O<B]G96Y?;7-V8U]D<W N<'D*/3T]/3T]
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
M/3T]/3T]/3T]/3T]/3T]/0HM+2T@8G5I;&0O9V5N97)A=&]R+V=E;E]M<W9C
M7V1S<"YP>0DH<F5V:7-I;VX@-C(U-BD**RLK(&)U:6QD+V=E;F5R871O<B]G
M96Y?;7-V8U]D<W N<'D)*'=O<FMI;F<@8V]P>2D*0$ @+30S+#8@*S0S+#$R
M($! "B @(" @96QI9B!I<VEN<W1A;F-E*'1A<F=E="P@9V5N7V)A<V4N5&%R
M9V5T17AT97)N86PI.@H@(" @(" @=&%R9W1Y<&4@/2 B5VEN,S(@*'@X-BD@
M17AT97)N86P@5&%R9V5T(@H@(" @(" @=&%R9W9A;" ]("(P># Q,#8B"BL@
M(" @96QI9B!I<VEN<W1A;F-E*'1A<F=E="P@9V5N7V)A<V4N4U=)1TQI8G)A
M<GDI.@HK(" @(" @=&%R9W1Y<&4@/2 B5VEN,S(@*'@X-BD@1'EN86UI8RU,
M:6YK($QI8G)A<GDB"BL@(" @("!T87)G=F%L(#T@(C!X,#$P,B(**R @(" @
M('1A<F=E="YO=71P=71?;F%M92 ](&]S+G!A=&@N8F%S96YA;64H=&%R9V5T
M+F9N86UE*0HK(" @(" @=&%R9V5T+F1E<V,@/2!.;VYE"BL@(" @("!T87)G
M970N:7-?87!A8VAE7VUO9" ](# *(" @("!E;'-E.@H@(" @(" @<F%I<V4@
M9V5N7V)A<V4N1V5N17)R;W(H(D-A;FYO="!C<F5A=&4@<')O:F5C="!F;W(@
M)7,B("4@=&%R9V5T+FYA;64I"B *0$ @+38Q+#<@*S8W+#(T($! "B @(" @
M(" @(')S<F,@/2!S=')I;F<N<F5P;&%C92AO<RYP871H+FIO:6XH<F]O='!A
M=&@L('-R8RDL(&]S+G-E<"P@)UQ<)RD*(" @(" @(" @:68@)RTG(&EN(')S
M<F,Z"B @(" @(" @(" @<G-R8R ]("<B)7,B)R E(')S<F,*+2 @(" @(" @
M<V]U<F-E<RYA<'!E;F0H7VET96TH<&%T:#UR<W)C+"!R96QD:7(]<F5L9&ER
M*2D**R @(" @(" @<V]U<F-E<RYA<'!E;F0H7VET96TH<&%T:#UR<W)C+"!R
M96QD:7(]<F5L9&ER+"!S=VEG7VQA;F=U86=E/4YO;F4L"BL@(" @(" @(" @
M(" @(" @(" @(" @(" @(" @('-W:6=?;W5T<'5T/4YO;F4I*0HK"BL@(" @
M:68@:7-I;G-T86YC92AT87)G970L(&=E;E]B87-E+E-724=,:6)R87)Y*3H*
M*R @(" @(&9O<B!O8FH@:6X@<V5L9BYG<F%P:"YG971?<V]U<F-E<RAG96Y?
M8F%S92Y$5%],24Y++"!T87)G970I.@HK(" @(" @("!I9B!I<VEN<W1A;F-E
M*&]B:BP@9V5N7V)A<V4N4U=)1T]B:F5C="DZ"BL@(" @(" @(" @9F]R(&-O
M8FH@:6X@<V5L9BYG<F%P:"YG971?<V]U<F-E<RAG96Y?8F%S92Y$5%]/0DI%
M0U0L(&]B:BDZ"BL@(" @(" @(" @("!I9B!I<VEN<W1A;F-E*&-O8FHL(&=E
M;E]B87-E+E-724=/8FIE8W0I.@HK(" @(" @(" @(" @("!C<W)C(#T@<F]O
M='!A=&@@*R G7%PG("L@<W1R:6YG+G)E<&QA8V4H8V]B:BYF;F%M92P@)R\G
M+" G7%PG*0HK(" @(" @(" @(" @("!S;W5R8V5S+F%P<&5N9"A?:71E;2AP
M871H/6-S<F,L(')E;&1I<CU.;VYE+"!S=VEG7VQA;F=U86=E/4YO;F4L"BL@
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @('-W:6=?;W5T<'5T
M/4YO;F4I*0HK"BL@(" @(" @(" @(" @(&9O<B!I9FEL92!I;B!S96QF+F=R
M87!H+F=E=%]S;W5R8V5S*&=E;E]B87-E+D147U-724=?0RP@8V]B:BDZ"BL@
M(" @(" @(" @(" @(" @:7-R8R ](')O;W1P871H("L@)UQ<)R K('-T<FEN
M9RYR97!L86-E*&EF:6QE+" G+R<L("=<7"<I"BL@(" @(" @(" @(" @(" @
M<V]U<F-E<RYA<'!E;F0H7VET96TH<&%T:#UI<W)C+"!R96QD:7(]3F]N92P@
M"BL@(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @<W=I9U]L
M86YG=6%G93UT87)G970N;&%N9RP**R @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @("!S=VEG7V]U='!U=#UC<W)C*2D**R @(" @(" @"B @
M(" @<V]U<F-E<RYS;W)T*&QA;6)D82!X+"!Y.B!C;7 H>"YP871H+"!Y+G!A
M=&@I*0H@"B @(" @9&%T82 ]('L*0$ @+3@P+#<@*S$P,RPX($! "B @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @("!G96Y?
M8F%S92Y487)G971%>'1E<FYA;"DI+ H@(" @(" @)VES7W5T:6QI='DG(#H@
M97IT+F)O;VQE86XH:7-I;G-T86YC92AT87)G970L"B @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(&=E;E]B87-E+E1A<F=E
M=%5T:6QI='DI*2P*+2 @(" @("=I<U]A<&%C:&5?;6]D)R Z(&5Z="YB;V]L
M96%N*'1A<F=E="YI<U]A<&%C:&5?;6]D*2P**R @(" @("=I<U]D;&PG(#H@
M97IT+F)O;VQE86XH:7-I;G-T86YC92AT87)G970L(&=E;E]B87-E+E-724=,
M:6)R87)Y*0HK(" @(" @(" @(" @(" @(" @(" @(" @(" @("!O<B!T87)G
M970N:7-?87!A8VAE7VUO9"DL"B @(" @(" G:6YS=')U;65N=%]A<')?<&]O
M;',G(#H@<V5L9BYI;G-T<G5M96YT7V%P<E]P;V]L<RP*(" @(" @("=I;G-T
M<G5M96YT7W!U<FEF>5]Q=6%N=&EF>2<@.B!S96QF+FEN<W1R=6UE;G1?<'5R
M:69Y7W%U86YT:69Y+ H@(" @(" @?0I 0" M,3 P+#(S("LQ,C0L,CD@0$ *
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @($YO;F4L($YO;F4L('-E;&8N8V9G+ H@(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @3F]N
M92D*( HK(" @(&EN<W1A;&Q?=&%R9V5T<R ]('5N:7%U92AS96QF+F=R87!H
M+F=E=%]A;&Q?<V]U<F-E<RAG96Y?8F%S92Y$5%])3E-404Q,*0HK(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" K('-E;&8N=&%R9V5T<RYV86QU97,H
M*2D**PHK(" @(",@<V]R="!T:&5S92!F;W(@;W5T<'5T('-T86)I;&ET>2P@
M=&\@=V%T8V@@;W5T(&9O<B!R96=R97-S:6]N<RX**R @("!I;G-T86QL7W1A
M<F=E=',N<V]R="@I"BL*(" @("!T87)G971S(#T@6R!="B *(" @(" C($=E
M;F5R871E("YD<W @9FEL92!N86UE<R!F;W(@=&AE('1A<F=E=',Z(')E<&QA
M8V4@9&%S:&5S('=I=&@*(" @(" C('5N9&5R<V-O<F5S(&%N9"!R97!L86-E
M("HM=&5S="!W:71H('1E<W1?*B H<V\@=&AA="!T:&4@=&5S= H@(" @(",@
M<')O9W)A;7,@87)E('9I<W5A;&QY('-E<&%R87)E(&9R;VT@=&AE(')E<W0@
M;V8@=&AE('!R;VIE8W1S*0HM(" @(&9O<B!N86UE(&EN('-E;&8N=&%R9V5T
M<RYK97ES*"DZ"BL@(" @9F]R('1A<F=E="!I;B!I;G-T86QL7W1A<F=E=',Z
M"BL@(" @("!N86UE(#T@=&%R9V5T+FYA;64*(" @(" @('!O<R ]('-T<FEN
M9RYF:6YD*&YA;64L("<M=&5S="<I"B @(" @("!I9B!P;W,@/CT@,#H*(" @
M(" @(" @9'-P7VYA;64@/2 G=&5S=%\G("L@<W1R:6YG+G)E<&QA8V4H;F%M
M95LZ<&]S72P@)RTG+" G7R<I"B @(" @("!E;'-E.@H@(" @(" @("!D<W!?
M;F%M92 ]('-T<FEN9RYR97!L86-E*&YA;64L("<M)RP@)U\G*0HM(" @(" @
M<V5L9BYT87)G971S6VYA;65=+F1S<%]N86UE(#T@9'-P7VYA;64**R @(" @
M('1A<F=E="YD<W!?;F%M92 ](&1S<%]N86UE"B *(" @(" C(%1R879E<G-E
M('1H92!T87)G971S(&%N9"!G96YE<F%T92!T:&4@<')O:F5C="!F:6QE<PHM
M(" @(&ET96US(#T@<V5L9BYT87)G971S+FET96US*"D*+2 @("!I=&5M<RYS
M;W)T*"D*+2 @("!F;W(@;F%M92P@=&%R9V5T(&EN(&ET96US.@HK(" @(&9O
M<B!T87)G970@:6X@:6YS=&%L;%]T87)G971S.@HK(" @(" @;F%M92 ]('1A
M<F=E="YN86UE"B @(" @(" C(%1H97-E(&%R96XG="!W;W)K:6YG('EE= H@
M(" @(" @:68@:7-I;G-T86YC92AT87)G970L(&=E;E]B87-E+E1A<F=E=%-C
M<FEP="D@7 H@(" @(" @(" @;W(@:7-I;G-T86YC92AT87)G970L(&=E;E]B
M87-E+E1A<F=E=%-724<I.@I 0" M,3<T+#8@*S(P-"PQ,2! 0 H@(" @(" @
M(" @(&1E<&5N9',N97AT96YD*&1E<',I"B @(" @(" @(&5L<V4Z"B @(" @
M(" @(" @9&5P96YD<RYE>'1E;F0H<V5L9BYG971?=6YI<75E7W=I;E]D97!E
M;F1S*'1A<F=E="DI"BL@(" @("!E;&EF(&ES:6YS=&%N8V4H=&%R9V5T+"!G
M96Y?8F%S92Y35TE'3&EB<F%R>2DZ"BL@(" @(" @(&9O<B!L:6(@:6X@<V5L
M9BYG<F%P:"YG971?<V]U<F-E<RAG96Y?8F%S92Y$5%],24Y++"!T87)G970I
M.@HK(" @(" @(" @(&EF(&AA<V%T='(H;&EB+" G9'-P7VYA;64G*3H**R @
M(" @(" @(" @(&1E<&5N9',N87!P96YD*&QI8BD**R @(" @(" @(" @(&1E
M<&5N9',N97AT96YD*'-E;&8N9V5T7W=I;E]D97!E;F1S*&QI8BP@,"DI(" @
M(" @(" @( H@(" @(" @96QS93H*(" @(" @(" @87-S97)T(# *( I 0" M
M,3DV+#,@*S(S,2PY($! "B!C;&%S<R!?:71E;3H*(" @9&5F(%]?:6YI=%]?
M*'-E;&8L("HJ:W<I.@H@(" @('9A<G,H<V5L9BDN=7!D871E*&MW*0HK"BMD
M968@=6YI<75E*'-E<2DZ"BL@(&0@/2![?0HK("!F;W(@:2!I;B!S97$Z"BL@
M(" @9%MI72 ]($YO;F4**R @<F5T=7)N(&0N:V5Y<R@I"DEN9&5X.B!S=6)V
M97)S:6]N+V)I;F1I;F=S+W-W:6<O24Y35$%,3 H]/3T]/3T]/3T]/3T]/3T]
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
M/3T]/3T]"BTM+2!S=6)V97)S:6]N+V)I;F1I;F=S+W-W:6<O24Y35$%,3 DH
M<F5V:7-I;VX@-C(U-BD**RLK('-U8G9E<G-I;VXO8FEN9&EN9W,O<W=I9R])
M3E-404Q,"2AW;W)K:6YG(&-O<'DI"D! ("TU-2PW("LU-2PW($! "B @(" @
M(" @9FEL97,L(')E<W5L=&EN9R!I;B!A(&-O;&QE8W1I;VX@;V8@+F,@<V]U
M<F-E(&9I;&5S+B @270@=VEL; H@(" @(" @('1H96X@8V]M<&EL92!A;F0@
M;&EN:R!T:&]S92 N8R!F:6QE<R!I;G1O(%!Y=&AO;B!L:6)R87)I97,N"B *
M+2 @(" @("!/;B!7:6YD;W=S+" _/S\**R @(" @("!/;B!7:6YD;W=S+"!B
M=6EL9"!T:&4@<'ET:&]N7RH@<')O:F5C=',@:6X@5FES=6%L(%-T=61I;RX*
M( H@(" @,BX@($]N(%5N:7@@<WES=&5M<RP@<G5N("=M86ME(&EN<W1A;&PM
M<W=I9RUP>2<@*&%S(')O;W0L('1Y<&EC86QL>2D*(" @(" @("!F<F]M('1H
M92!T;W @;V8@=&AE(%-U8G9E<G-I;VX@<V]U<F-E('1R964N("!4:&ES('=I
M;&P@8V]P>0I 0" M-S$L." K-S$L,3D@0$ *(" @(" @("!E>&%M<&QE(&]F
M(&1O:6YG('1H:7,@9F]R(&)U:6QD:6YG(')P;7,@;&]O:W,@;&EK90H@(" @
M(" @("=M86ME(&EN<W1A;&PM<W=I9RUP>2!$15-41$E2/2124$U?0E5)3$1?
M4D]/5"]U<W(G+@H@"BT@(" @(" @3VX@5VEN9&]W<RP@/S\_"BL@(" @(" @
M3VX@5VEN9&]W<RP@8V]P>2!T:&4@<W5B=F5R<VEO;EQB:6YD:6YG<UQS=VEG
M7'!Y=&AO;EQS=FX@9F]L9&5R('1O"BL@(" @(" @/%!95$A/3CY<3&EB7'-I
M=&4M<&%C:V%G97,L(&%N9"!T:&5N(&-O<'D@=&AE"BL@(" @(" @4F5L96%S
M95QS=6)V97)S:6]N7&)I;F1I;F=S7'-W:6=<<'ET:&]N7"HN9&QL(&9I;&5S
M('1O"BL@(" @(" @/%!95$A/3CY<3&EB7'-I=&4M<&%C:V%G97-<<W9N+@H@
M"BL@(" @(" @3W!T:6]N86QL>2P@>6]U(&-A;B!R=6X@=&AE(&9O;&QO=VEN
M9R!C;VUM86YD('1O(&-O;7!I;&4@=&AE('!Y=&AO;@HK(" @(" @('-O=7)C
M97,@:6YT;R!B>71E8V]D93H**R @(" @(" **R @(" @(" @('!Y=&AO;B \
M4%E42$]./EQL:6)<8V]M<&EL96%L;"YP>2 \4%E42$]./EQ,:6)<<VET92UP
M86-K86=E<UQS=FX**R @(" @(" @( HK(" @(" @(%1H:7,@8V%N(&UA:V4@
M=&AE(&UO9'5L97,@;&]A9"!F87-T97(@9F]R('5S97)S('=I=&AO=70@=W)I
M=&4@86-C97-S"BL@(" @(" @=&\@/%!95$A/3CY<3&EB7'-I=&4M<&%C:V%G
M97-<<W9N+B @(" @(" **PH@(" @,RX@(%9E<FEF>2!T:&%T(&%N("=S=FXG
M('!A8VMA9V4@:&%S(&)E96X@:6YS=&%L;&5D(&-O<G)E8W1L>2X@(%EO=2!C
M86X*(" @(" @("!D;R!T:&ES(&)Y(')U;FYI;F<@<'ET:&]N('9I82 G<'ET
D:&]N("UC(")F<F]M('-V;B!I;7!O<G0@8VQI96YT(B<N"B *
`
end



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

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

Posted by Branko Čibej <br...@xbc.nu>.
I finally had time to take a closer look at this patch.

> Index: build/generator/msvc_dsp.ezt
> ===================================================================
> --- build/generator/msvc_dsp.ezt (revision 6221) +++
> build/generator/msvc_dsp.ezt (working copy) @@ -46,7 +46,7 @@ # ADD
> RSC /l [if-any is_exe]0x409[else]0x424[end] /d [is configs.name
> "Debug"]"_DEBUG"[else]"NDEBUG"[end] BSC32=bscmake.exe LINK32=link.exe
> -[if-any is_exe is_apache_mod]# ADD LINK32 /nologo[if-any is_exe]
> /subsystem:console[end][if-any is_apache_mod] /dll[end] /debug
> /machine:IX86[for configs.libs] [configs.libs][end][for
> configs.libdirs] /libpath:"[configs.libdirs]"[end]
> /out:"[rootpath]\[configs.name]\[target.path]\[target.output_name]"[if-any
> instrument_purify_quantify] /fixed:no[end] +[if-any is_exe is_dll]#
> ADD LINK32 /nologo[if-any is_exe] /subsystem:console[end][if-any
> is_dll] /dll[end] /debug /machine:IX86[for configs.libs]
> [configs.libs][end][for configs.libdirs]
> /libpath:"[configs.libdirs]"[end]
> /out:"[rootpath]\[configs.name]\[target.path]\[target.output_name]"[if-any
> instrument_purify_quantify] /fixed:no[end] [end][end][end][end][end]
> !ENDIF 

This looks fine at second glance. Sorry about jumping at you about the
is_dll issue before.

> Index: build/generator/gen_msvc_dsp.py
> ===================================================================
> --- build/generator/gen_msvc_dsp.py (revision 6221) +++
> build/generator/gen_msvc_dsp.py (working copy) @@ -43,6 +43,12 @@ elif
> isinstance(target, gen_base.TargetExternal): targtype = "Win32 (x86)
> External Target" targval = "0x0106" + elif isinstance(target,
> gen_base.SWIGLibrary): + targtype = "Win32 (x86) Dynamic-Link Library"
> + targval = "0x0102" + target.output_name =
> os.path.basename(target.fname) + target.desc = None +
> target.is_apache_mod = 0

Surely the last two lines aren't necessary? target.is_apache_mod should
never be set in build.conf for SWIG targets. OTOH, target.desc could be
quite useful to put version info into the Python extension DLLs.

> @@ -61,7 +67,31 @@ rsrc = string.replace(os.path.join(rootpath, src),
> os.sep, '\\') if '-' in rsrc: rsrc = '"%s"' % rsrc -
> sources.append(_item(path=rsrc, reldir=reldir)) +
> sources.append(_item(path=rsrc, reldir=reldir, custom_build=None)) + +
> if isinstance(target, gen_base.SWIGLibrary): + for obj in
> self.graph.get_sources(gen_base.DT_LINK, target): + if isinstance(obj,
> gen_base.SWIGObject): + for cobj in
> self.graph.get_sources(gen_base.DT_OBJECT, obj): + if isinstance(cobj,
> gen_base.SWIGObject): + csrc = rootpath + '\\' +
> string.replace(cobj.fname, '/', '\\') +
> sources.append(_item(path=csrc, reldir=None, custom_build=None)) + +
> for ifile in self.graph.get_sources(gen_base.DT_SWIG_C, cobj): + isrc
> = rootpath + '\\' + string.replace(ifile, '/', '\\') + + cb =
> 'InputPath=%s\r\n\r\n' \ + + '"%s" : $(SOURCE) "$(INTDIR)"
> "$(OUTDIR)"\r\n' \ + + '\tswig -%s -noproxy -I%s -I%s -I%s -o %s
> $(InputPath)' + + cb = cb % (isrc, csrc, target.lang, + rootpath +
> '\\subversion\\bindings\\swig', + rootpath + '\\subversion\\include',
> + rootpath + '\\apr\\include', + csrc)

These include paths should be generated in the template, using the
includes data item. The same probably goes for expanding target.lang,
and I suspect that isrc and csrc could be passed to EZT, too.

-- 
Brane Čibej   <br...@xbc.nu>   http://www.xbc.nu/brane/


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

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

Posted by Russell Yanofsky <re...@columbia.edu>.
>> * build/generator/msvc_dsp.ezt: New "custom_build" property for
>>  sources. Renamed target's "is_apache_mod" property to "is_dll".
>>
> This is not a good idea. Apache modules have to be handled differently
> from other DLLs.

The is_dll property is only used to determine whether the "/dll" option gets
passed to the linker. is_apache_mod is still used for all the apache-specific
stuff.

More generally, this patch doesn't affect any existing dsp project. The only
change you get after applying it is that gen-make -t dsp creates additional
projects for building swig bindings.

- Russ




---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

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

Posted by Branko Čibej <br...@xbc.nu>.
Russell Yanofsky wrote:

>Log Message:
>
>Changes to make/project generator to generate VC6 .dsp projects for the swig
>bindings. This required some small changes to gen_base.py and gen_win.py,
>but they do not effect the vcproj or makefile output. The resulting python
>binaries seem to work fine, at least for the cvs2svn script. I didn't
>attempt to build the java projects.
>
>* subversion/bindings/swig/INSTALL: Added some instructions for Windows.
>
>* build/generator/msvc_dsp.ezt: New "custom_build" property for sources.
>  Renamed target's "is_apache_mod" property to "is_dll".
>
This is not a good idea. Apache modules have to be handled differently
from other DLLs.

-- 
Brane Čibej   <br...@xbc.nu>   http://www.xbc.nu/brane/


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org