From: j-cerney1 AT ti DOT com (John Cerney) Subject: Patch to Build Dynamic-Lib (DLL) version of perl using gnuwin32 b17.1 2 Apr 1997 11:10:32 -0800 Approved: cygnus DOT gnu-win32 AT cygnus DOT com Distribution: cygnus Message-ID: Reply-To: John Cerney Mime-Version: 1.0 Content-Type: Multipart/Mixed; boundary="BeyondBoundary_1_Wed_Apr_02_10:20:13_1997__29" X-Mailer: BeyondMail for Windows/Professional 2.3 Original-To: gnu-win32 AT cygnus DOT com X-BeyondMail-Priority: 1 Conversation-ID: X-Receipt-From-Agent: true Original-Sender: owner-gnu-win32 AT cygnus DOT com --BeyondBoundary_1_Wed_Apr_02_10:20:13_1997__29 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7Bit I have successfully built a dynamic-lib (dll) version of perl version 5.003_94 using the gnuwin32 tools on windows 95 and windows NT 3.51. This port builds all extension libs for perl as DLLs. A patch is attached to this message. Detailed Instructions: The following assumes you have the gnuwin32 (version b17.1) package installed and configured on your system. See http://www.cygnus.com/misc/gnu-win32/ for details on the gnuwin32 package. 1) Obtain perl5.003_94 (from www.perl.com or CPAN) and extract to a directory on your system. 2) cd to the path where perl5.003_94 is installed. e.g, if you installed to /perl5.003_94, then cd to /perl5.003_94. 3) Apply this patch: patch -p1 < dllpatch Note: If you have problems with the patch that comes with the gnuwin32 package, (I have had problems getting it to apply multiple patches in a single file) try the patch located at http://www.simtel.net/pub/simtelnet/win95/prog/gpatch2b.zip. Also, the files pp_sys.c and perl.h that the patch modifies must be in unix format. If your extraction utility (like winzip) converts to dos format, change the format of these files back before applying the patch. 5) Modify the ld2 script Change the PERLPATH variable to the location you extracted perl. for example, if you extracted perl to /perl5.003_94, change so the line looks like: PERLPATH=/perl5.003_94 4) Copy the two scripts ld2, and gcc2 to a directory in your PATH environment variable. For example, copy to /bin, assuming /bin is in your PATH. (These two scripts ld2 and gcc2 are 'wrapper' scripts that encapsulate the multiple-pass dll building steps used by gnuwin32 ld/gcc.) 5) Run the perl Configuration script as stated in the perl README file; e.g. sh Configure select gnuwin32 at this prompt: First time through, eh? I have some defaults handy for the following systems: . . . Which of these apply, if any? The defaults should be OK for everything else, except for the specific pathnames for the gnuwin32 libs, include files, installation dirs, etc on your system. Note: On windows 95, the configuration script only stops every other time for responses from the command line. In this case you can manually edit the gnuwin32.sh hint file for your paths, copy hints/gnuwin32.sh to config.sh, and run Configure non-interactively using sh Configure -d. 6) Do a make, as stated in the perl README file 7) Do a make test. Some test will fail, but you should get around a 83% OK result. (Most failures seem to be due to unix'ism that don't apply for win32.) 8) Do a make install. This will fail about 1/2 of the way thru. It appears that perl can't find itself when it forks because it cd's to another directory during the install process. You get around this by invoking the install script using a full pathname for perl. For example, if perl is extracted to perl5.003_94, do a '/perl5.003_94/perl installperl'. This should complete the install process. --BeyondBoundary_1_Wed_Apr_02_10:20:13_1997__29 Content-Type: application/octet-stream; name="ATTRIBS.BND" Content-Transfer-Encoding: X-UUENCODE Content-Disposition: attachment; filename="ATTRIBS.BND" begin 666 ATTRIBS.BND M0F5Y;VYD(%!A8VME9"!!='1R:6)U=&5S ! N !< * 4&%T8V@@=&\@ M0G5I;&0 AT 1'EN86UI8RU,:6(@*$1,3"D@=F5R2!T:&4@;&0R('-C6]U(&5X=')A8W1E9"!P M97)L+@H@(" @9F]R(&5X86UP;&4L(&EF('EO=2!E>'1R86-T960@<&5R;"!T M;R O<&5R;#4N,# S7SDT+"!C:&%N9V4@6]U M3\*"B @(%1H M92!D969A=6QT6]U7-T96TN( H*(" @3F]T93H*(" @3VX@=VEN M9&]W 0$ MGP&_ 0$ P ' 0$ P0$ @$ 0(D @$ )0(E @$ )@)D @$ 90*= @$ G@*> M @$ GP*S @$ M +) @$ R@+* @$ RP(& P$ !P-+ P$ 3 .) P$ B@/. P$ MSP,4! $ %01>! $ 7P2H! $ J02X! $ N032! $ TP06!0$ %P59!0$ 6 AT 5R M!0$ #!P$ A >(!P$ B0>- M!P$ C@>N!P$ KP>O!P$ L <(" $ "0A5" $ 5 AT A6" $ 5PA?" $ 8 BF" $ MIPCR" $ \PA%"0$ 1 AT F%"0$ A AT F&"0$ APFV"0$ MPFW"0$ N G\"0$ _0D[ M"@$ / I;"@$ 7 I<"@$ 70JG"@$ J KN"@$ [PH\"P$ /0N'"P$ B NQ"P$ ML AT OU"P$ ]@L&# $ !PP'# $ " P)# &0 6 # < & 2 * M 8 - > 0 4 4 : 7 0 ; 6 > < A 2 E 8 H > K 4 O; 0 M 8 !!='1A8VAM96YT($-O=6YT! ! M 0 * , !&'1E;G-I;VX@;&EB6=N=7,@ M9VYU=VEN,S(@<&%C:V%G92!O;B!W:6YD;W=S(#DU(&]R('=I;F1O=W,@3E0N M#0H-"E1H92!F;VQL;W=I;F<@87-S=6UE6]U7-T96TN(%-E92!H='1P.B\O=W=W+F-Y9VYU M'1R86-T( T*(" @("!T M;R!A(&1I2!O;B!Y;W5R('-Y2!T:&4@ M;&0R('-C'1R86-T960@<&5R;"X-"B @("!F;W(@ M97AA;7!L92P@:68@>6]U(&5X=')A8W1E9"!P97)L('1O("]P97)L-2XP,#-? M.30L(&-H86YG92!S;PT*(" @('1H92!L:6YE(&QO;VMS(&QI:V4Z#0I015), M4$%42#TO<&5R;#4N,# S7SDT#0H-"C0I($-O<'D@=&AE('1W;R!S8W)I<'1S M(&QD,BP AT 86YD(&=C8S(@=&\@82!D:7)E8W1O6]U&%M<&QE+"!C;W!Y('1O M("]B:6XL(&%S6]U('-H;W5L M9"!G970 AT 87)O=6YD(&$@#0H).#,E($]+(')E"=I'1R86-T960@=&\@<&5R;#4N,# S M7SDT+"!D;R!A( T*"2'0O1'EN84QO861E',)5'5E($%P71 :&EP+F-O;2D- M"BL@("H AT 0W)E871E9#H)02!W87)M(&1A>2!I;B!*=6YE+" Q.3DU#0HK(" J M#0HK(" J($UO9&EF:65D DOT AT T**R @*B @("!!=6=U71H:6YG('=H96X AT 20T**R @ M*B @(" @(" @(" @(" @(" @(" @(" @=VEP960@;V9F(&UY($Y4('!A6YA;6EC86QL>2!B=6EL="X AT 5&AI7!E9&5F('9O:60@*DA!3D1, M13L-"BL@='EP961E9B!(04Y$3$4 AT 2$E.4U1!3D-%.PT**R C9&5F:6YE(%-4 M1$-!3$P@(" @(%]?871T45X02@-"BL@"2 @(" @("!C:&%R M*B!L<$QI8D9I;&5.86UE+ T**R )(" @(" @($A!3D1,12!H1FEL92P-"BL@ M"2 @(" @("!U;G-I9VYE9"!I;G0 AT 9'=&;&%G6YA3&]A9&5R"5!! M0TM!1T4@/2!$>6YA3&]A9&5R#0HK( T**R!"3T]4 DOT AT T**R @(" @*'9O:60I M9&Q?<')I=F%T95]I;FET*"D[#0HK( T**R!V;VED("H-"BL AT 9&Q?;&]A9%]F M:6QE*&9I;&5N86UE+&9L86=S/3 I#0HK(" @("!C:&%R("H)"69I;&5N86UE M#0HK(" @("!I;G0)"0EF;&%G$$H9FEL96YA;64L($Y53$PL($Q/041? M5TE42%]!3%1%4D5$7U-%05)#2%]0051(("D AT DOT PT**R -"BL@(" @($1,1$5" M54%QN(BP AT 4D545D%,*2D[ M#0HK(" @("!35"@P*2 ]('-V7VYE=VUOPT**R )"7!R:6YT9B AT B1VYU=VEN M,S(@1'EN86QO861E6UB;VQN86UE#0HK(" @("!#3T1%.@T**R @(" @1$Q$14)5 M1R AT R+&9P6UB;VQN86UE*3L-"BL@(" @($1,1$5"546UB;VQR968@/2 E>%QN(BP AT 4D545D%, M*2D[#0HK(" @("!35"@P*2 ]('-V7VYE=VUO'-U8BAP97)L7VYA;64L M('-Y;7)E9BP AT 9FEL96YA;64](B1086-K86=E(BD-"BL@(" @(&-H87(@*@D) M<&5R;%]N86UE#0HK(" @("!V;VED("H)"7-Y;7)E9B -"BL@(" @(&-H87(@ M*@D)9FEL96YA;64-"BL@(" @($-/1$4Z#0HK(" @("!$3$1%0E5'*#(L9G!R M:6YT9BAS=&1E'-U8BAN86UE/25S+"!S>6UR968] M)7 AT I7&XB+ T**R )"7!E"!<+F\D("\O92]T96UP,B]P97)L M-2XP,#-?.30O97AT3&EB26YC+F@@<&5R;#4N,# S7SDT+V5X=$QI8DEN8RYH M#0HJ*BH@+R]E+W1E;7 R+W!E'1,:6));F,N: E4=64@ M07!R(# Q(#$V.C R.C$S(#$Y.3<-"BTM+2!P97)L-2XP,#-?.30O97AT3&EB M26YC+F@)5'5E($%P2!T:&4 AT 97AT M96YS:6]N(&1L;',@=VAE;B!T:&5Y(&%R92!B=6EL="X-"BL@(" @1VQO8F%L M('9A2!T M:&4 AT 97AT96YS:6]N(&UO9'5L90T**R @("!D;&P AT 8GD@=7-I;F<@7U]I;7!? M=F%R3F%M92P@=VAE'!O2!P97)L+F5X90T**R @(" @+6IC(#0O M,2\Y-PT**R J+PT**R -"BL@(V1E9FEN92 @:6UP=7)E7W-E='5P<'1R(" @ M*"I?7VEM<%]I;7!U6-H87(I#0HK M("-D969I;F4@(%!E7EC:&5C:R @("@J7U]I;7!?4&5R;%]Y>6-H96-K M*0T**R C9&5F:6YE("!097)L7WEY9&5B=6<@(" H*E]?:6UP7U!E7ED M96)U9RD-"BL@(V1E9FEN92 @4&5R;%]Y>61E9G)E9" @("@J7U]I;7!?4&5R M;%]Y>61E9G)E9"D-"BL@(V1E9FEN92 @4&5R;%]Y>61G;W1O(" @*"I?7VEM M<%]097)L7WEY9&=O=&\I#0HK("-D969I;F4@(%!E7EE6=I M;F1E>" @("@J7U]I;7!?4&5R;%]Y>6=I;F1E>"D-"BL@(V1E9FEN92 @4&5R M;%]Y>6QE;B @("@J7U]I;7!?4&5R;%]Y>6QE;BD-"BL@(V1E9FEN92 @4&5R M;%]Y>6QH6QH6QV86P@(" H*E]?:6UP7U!E7EL=F%L*0T**R C9&5F:6YE("!0 M97)L7WEY;F5R7EN97)R7)I;F1E>" @("@J7U]I;7!?4&5R;%]Y>7)I;F1E>"D-"BL@ M(V1E9FEN92 @4&5R;%]Y>7-I;F1E>" @("@J7U]I;7!?4&5R;%]Y>7-I;F1E M>"D-"BL@(V1E9FEN92 @4&5R;%]Y>71A8FQE(" @*"I?7VEM<%]097)L7WEY M=&%B;&4I#0HK("-D969I;F4@(%!E7EV86P@(" H*E]?:6UP7U!E7EV86PI#0HK("-D969I;F4@(%!E2 @("@J M7U]I;7!?4&5R;%]R96=D=6UM>2D-"BL@(V1E9FEN92 @4&5R;%]R96=K:6YD M(" @*"I?7VEM<%]097)L7W)E9VMI;F0I#0HK("-D969I;F4@(%!E&9R;5]B87-E*0T**R C M9&5F:6YE("!097)L7V-O;&QX9G)M7VUU;'0@(" H*E]?:6UP7U!E" @("@J7U]I;7!?4&5R;%]C;W!?'!E8W0I#0HK M("-D969I;F4@(%!E%]B M%]C87-E%]D;VIO M:6X@(" H*E]?:6UP7U!E%]E>'!E8W0I#0HK("-D M969I;F4@(%!E%]F;W)M8G)A8VL@(" H M*E]?:6UP7U!E%]I;G=H870@(" H*E]?:6UP7U!E%]R97!L(" @*"I?7VEM<%]097)L7VQE M>%]R97!L*0T**R C9&5F:6YE("!097)L7VQE>%]S=&%R=',@(" H*E]?:6UP M7U!E%]S='5F9B @("@J7U]I;7!?4&5R;%]L97A?" @("@J7U]I;7!?4&5R M;%]M87)K"D-"BL@(V1E M9FEN92 @4&5R;%]O<&%R9W,@(" H*E]?:6UP7U!EF4@(" H*E]?:6UP7U!E'!R*0T**R C9&5F:6YE("!097)L7W1I;65S8G5F(" @*"I?7VEM<%]0 M97)L7W1I;65S8G5F*0T**R C9&5F:6YE("!097)L7W1O:V5N8G5F(" @*"I? M7VEM<%]097)L7W1O:V5N8G5F*0T**R C9&5F:6YE("!097)L7W5I9" @("@J M7U]I;7!?4&5R;%]U:60I#0HK("-D969I;F4@(%!E&9R;2D-"BL@(V1E9FEN92 @ M4&5R;%]V=&)L7V1B;&EN92 @("@J7U]I;7!?4&5R;%]V=&)L7V1B;&EN92D- M"BL@(V1E9FEN92 @4&5R;%]V=&)L7V5N=B @("@J7U]I;7!?4&5R;%]V=&)L M7V5N=BD-"BL@(V1E9FEN92 @4&5R;%]V=&)L7V5N=F5L96T@(" H*E]?:6UP M7U!E&EV M7V%R96YA'-T M86-K(" @*"I?7VEM<%]C>'-T86-K*0T**R C9&5F:6YE("!C>'-T86-K7VEX M(" @*"I?7VEM<%]C>'-T86-K7VEX*0T**R C9&5F:6YE("!C>'-T86-K7VUA M>" @("@J7U]I;7!?8WAS=&%C:U]M87 AT I#0HK("-D969I;F4@(&1B87)G6UA9VEC(" @ M*"I?7VEM<%]D96QA>6UA9VEC*0T**R C9&5F:6YE("!D:65H;V]K(" @*"I? M7VEM<%]D:65H;V]K*0T**R C9&5F:6YE("!D:7)T>2 @("@J7U]I;7!?9&ER M='DI#0HK("-D969I;F4@(&1L979E;" @("@J7U]I;7!?9&QE=F5L*0T**R C M9&5F:6YE("!D;&UA>" @("@J7U]I;7!?9&QM87 AT I#0HK("-D969I;F4@(&1O M7W5N9'5M<" @("@J7U]I;7!?9&]?=6YD=6UP*0T**R C9&5F:6YE("!D;V5X M=')A8W0@(" H*E]?:6UP7V1O97AT6TI#0HK("-D969I M;F4@(&EN7V5V86P@(" H*E]?:6UP7VEN7V5V86PI#0HK("-D969I;F4@(&EN M8V=V(" @*"I?7VEM<%]I;F-G=BD-"BL@(V1E9FEN92 @:6YP;&%C92 @("@J M7U]I;7!?:6YP;&%C92D-"BL@(V1E9FEN92 @;&%S=%]I;E]G=B @("@J7U]I M;7!?;&%S=%]I;E]G=BD-"BL@(V1E9FEN92 @;&%S=&9D(" @*"I?7VEM<%]L M87-T9F0I#0HK("-D969I;F4@(&QA'-C M7-F M9" @("@J7U]I;7!?;6%X7-T M86-K7V)A7-T86-K7W-P(" @*"I?7VEM<%]M>7-T86-K7W-P*0T**R C9&5F:6YE M("!M>7-TF4I#0HK("-D969I M;F4@(&YR"D- M"BL@(V1E9FEN92 @=&UP'0])RYE>&4G#0HK(&9I&4[('1H96X@6=W M:6XS,B]I;F-L=61E)PT**R!L:6)P=&@])R]G;G5W:6XS,B](+6DS.#8M8WEG M=VEN,S(O:3,X-BUC>6=W:6XS,B]L:6(@+V=N=7=I;C,R+T AT M:3,X-BUC>6=W M:6XS,B]L:6(G#0HK(&QI8G,])RUL8WEG=VEN("UL;2 M;&,@+6QK97)N96PS M,B<-"BL@(R!D>6YA;6EC(&QI8B!S='5F9 AT T**R!S;STG9&QL)PT**R C:5]D M;&9C;CTG9&5F:6YE)PT**R!D;'-R8STG9&Q?9VYU=VEN,S(N>',G#0HK('5S M961L/2=Y)PT**R C(&9L86<@=&\@:6YC;'5D92!T:&4@<&5R;"YE>&4 AT 97AP M;W)T('9A6=W:6XS,B]L:6(@+6QP97)L M97AP("UL8WEG=VEN)PT**R!D7W9O:61S:6<])W5N9&5F)PT**R!E>'1E;G-I M;VYS/2=&8VYT;"!)3R!/<&-O9&4 AT 4T1"35]&:6QE)PT**R!L;G,])V-P)PT* M*R!S:6=N86Q?=#TG:6YT)PT**R!U#TG9F%L6=W:6XS,B]I M,S AT V+6-Y9W=I;C,R+VEN8VQU9&4G#0ID:69F("U#(#0@+7(@+7@@7"YO)" O M+V4O=&5M<#(O<&5R;#4N,# S7SDT+VQD,B!P97)L-2XP,#-?.30O;&0R#0HJ M*BH@+R]E+W1E;7 R+W!E"!<+F\D("\O92]T96UP,B]P97)L-2XP,#-?.30O<&5R;"YH M('!E'1,:6));F,N:"(-"BL@(V5N9&EF#0HK("-I;F-L=61E(")O<&-O9&4N:"(- M"B @(VEN8VQU9&4@(F-O<"YH(@T*(" C:6YC;'5D92 B878N:"(-"B @(VEN M8VQU9&4@(FAV+F AT B#0H@("-I;F-L=61E(")M9RYH(@T*9&EF9B M0R T("UR M("UX(%PN;R0@+R]E+W1E;7 R+W!E'!O2! ;&EB;V)S.PT**R!M>2! ;V)S M.PT**R!M>2! ;&EB1FQA9W,[#0HK(&UY("1L:6)S=')I;F<[#0HK(&9O7-T96TH)&-O;6UA;F0I.R -"BL@#0HK(",@ M8VAA;F=E(&YA;64@;V8 AT 97AP;W)T(&QI8B!T;R!L:6)P97)L97AP('-O('1H M870@:7,@8V%N(&)E('5N9&5R2 D8W)T M," ](&!G8V,@+7!R:6YT+69I;&4M;F%M93UC6=W:6XN86 [#0HK(&-H;VUP("1L:6)D:7([#0HK("1L:6)D:7(@/7X@ M6=W:6Y<+F$O+V<[#0HK( T**R C($QI;FL AT 97AE DOT AT T**R D8V]M M;6%N9" ](")L9" M+6)A&4@ M)&-R=# @)&]B&4@+2UD968@<&5R;"YD968@+2UB87-E+69I;&4@ M<&5R;"YB87-E("TM;W5T<'5T+65X<"!P97)L+F5X<"([#0HK('!R:6YT("(D M8V]M;6%N9%QN(CL-"BL@7-T96TH)&-O;6UA;F0I.PT**R -"BL@)&-O;6UA;F0@/2 B9&QL=&]O;" M M+6%S/6%S("TM9&QL;F%M92!P97)L+F5X92 M+61E9B!P97)L+F1E9B M+6)A M7-T96TH)&-O;6UA;F0I.PT**R - M"BL@)&-O;6UA;F0@/2 B;&0@<&5R;"YE>' @+6\@<&5R;"YE>&4@)&-R=# @ M)&]B"!< M+F\D("\O92]T96UP,B]P97)L-2XP,#-?.30O<&5R;&QD('!E2!T M:&5N(&-O<'D@=&\@86YO=&AE2 D87)G2 D87)G.PT**R -"BL@;7D AT 0&]B:G,[#0HK(&UY($!F;&%G2 D M9FEX=7 @/2 B9FEX=7 B.PT**R -"BL@;7D@)'!A=&@[#0HK( T**R -"BL@ MPT**R )"21P871H(#T@)#$[#0HK( D))&QI8FYA;64@/2 D M,CL-"BL@"0DC('!R:6YT("(\)'!A=&@^(#PD;&EB;F%M93Y<;B([#0HK( E] M#0HK( D-"BL@"69O'0[#0HK( D)?0T**R )"7!U'5P+F-<;B([ M#0HK( EP'!<;B([#0HK( EP7-T96TH M)&-O;6UA;F0I.PD)"0T**R -"BL@"21C;VUM86YD(#T@(FQD("1L:6)N86UE M+F5X<" M+61L;" M;R D;&EB;F%M92YD;&P@(BYJ;VEN*"(@(BQ ;V)J'5P+F\@(CL-"BL@( DD8V]M;6%N9" N/2!J;VEN M*"(@(BQ 9FQA9W,I+B(@+64 AT 7V1L;%]E;G1R>5Q ,3(@7&XB.PT**R )<')I M;G0@)&-O;6UA;F0["0T**R )6=N=7,@4V]L=71I;VYS#0HK( T**R!4:&ES M('!R;V=R86T@:7,@9G)E92!S;V9T=V%R93L@>6]U(&-A;B!R961I0T**R!I="!U;F1E0T**R!T:&4 AT 1G)E92!3;V9T=V%R92!&;W5N9&%T:6]N.R!E:71H97(@=F5R M6]U2!L871E&5C=71A8FQE)W,@ M'1EPT* M*R @(" @8V%S92!$3$Q?4%)/0T534U]!5%1!0T AT Z#0HK(" @(" @(&)R96%K M.PT**R @(" @8V%S92!$3$Q?4%)/0T534U]$151!0T AT Z#0HK(" @(" @(&)R M96%K.PT**R @(" @8V%S92!$3$Q?5$A214%$7T%45$%#2#H-"BL@(" @(" @ M8G)E86L[#0HK(" @("!C87-E($1,3%]42%)%041?1$5404-(.@T**R @(" @ M("!B"!<+F\D("\O92]T96UP,B]P97)L-2XP M,#-?.30O<'!?7,N8PE4:'4 AT 36%R(#(P(#(P.C,X M.C(Y(#$Y.3<-"BTM+2!P97)L-2XP,#-?.30O<'!?