From 8d75a04068f96ff4b8338f64f69c41df15d8c589 Mon Sep 17 00:00:00 2001 From: Jocelyn Fiat Date: Mon, 21 Nov 2011 16:38:36 +0100 Subject: [PATCH] Added scripts to help building the libfcgi.dll and .lib from modified source of libfcgi --- library/server/libfcgi/Clib/README.md | 8 ++++++++ library/server/libfcgi/Clib/build_win32.bat | 18 ++++++++++++++++++ library/server/libfcgi/Clib/build_win64.bat | 18 ++++++++++++++++++ .../libfcgi/Clib/get_libfcgi_source.bat | 1 + .../libfcgi/spec/lib/win64/msc/libfcgi.dll | Bin 51200 -> 47616 bytes .../libfcgi/spec/lib/win64/msc/libfcgi.lib | Bin 27710 -> 27710 bytes 6 files changed, 45 insertions(+) create mode 100644 library/server/libfcgi/Clib/README.md create mode 100644 library/server/libfcgi/Clib/build_win32.bat create mode 100644 library/server/libfcgi/Clib/build_win64.bat create mode 100644 library/server/libfcgi/Clib/get_libfcgi_source.bat diff --git a/library/server/libfcgi/Clib/README.md b/library/server/libfcgi/Clib/README.md new file mode 100644 index 00000000..0b0be041 --- /dev/null +++ b/library/server/libfcgi/Clib/README.md @@ -0,0 +1,8 @@ +On Windows + +The Eiffel libFCGI wrapper needs a modified version of libFCGI (provided by http://www.fastcgi.com/devkit/libfcgi/) + +To get the source code, please use the script : get_libfcgi_source.bat +And then to build the needed .dll and .lib file, use either build_win32.bat or build_win64.bat + +Hope this helps diff --git a/library/server/libfcgi/Clib/build_win32.bat b/library/server/libfcgi/Clib/build_win32.bat new file mode 100644 index 00000000..2eae0679 --- /dev/null +++ b/library/server/libfcgi/Clib/build_win32.bat @@ -0,0 +1,18 @@ +rem This script is to help compiling the Win x86 version of libfcgi +setlocal + +set E_libFCGI_OUTDIR=%~dp0_win32 + +set CL_FLAGS= /Ilibfcgi\include /nologo /W3 /WX- /O2 /Ob2 /D _SCL_SECURE_NO_WARNINGS /D _CRT_SECURE_NO_WARNINGS /D NDEBUG /D WIN32 /D _CONSOLE /D LIBFCGI_EXPORTS /D WINVER=0x501 /D _WIN32_WINNT=0x501 /D _SECURE_SCL=0 /D _VC80_UPGRADE=0x0600 /D _WINDLL /D _MBCS /GF /Gm- /EHsc /MD /GS /Gy /fp:precise /Zc:wchar_t /Zc:forScope /Gd /errorReport:queue /Fo"%E_libFCGI_OUTDIR%/" + +set LINK_FLAGS= /ERRORREPORT:QUEUE /OUT:"%E_libFCGI_OUTDIR%\libfcgi.dll" /INCREMENTAL:NO /NOLOGO Ws2_32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /TLBID:1 /DYNAMICBASE:NO /IMPLIB:"%E_libFCGI_OUTDIR%\libfcgi.lib" /MACHINE:X86 + +mkdir %E_libFCGI_OUTDIR% +copy libfcgi\include\fcgi_config_x86.h libfcgi\include\fcgi_config.h +CL.exe /c %CL_FLAGS% /TC libfcgi\libfcgi\fcgi_stdio.c libfcgi\libfcgi\fcgiapp.c libfcgi\libfcgi\os_win32.c +CL.exe /c %CL_FLAGS% /TP libfcgi\libfcgi\fcgio.cpp +link.exe %LINK_FLAGS% /DLL %E_libFCGI_OUTDIR%\fcgi_stdio.obj %E_libFCGI_OUTDIR%\fcgiapp.obj %E_libFCGI_OUTDIR%\os_win32.obj %E_libFCGI_OUTDIR%\fcgio.obj + +copy %E_libFCGI_OUTDIR%\libfcgi.* %~dp0..\spec\lib\windows\msc + +endlocal diff --git a/library/server/libfcgi/Clib/build_win64.bat b/library/server/libfcgi/Clib/build_win64.bat new file mode 100644 index 00000000..303632cf --- /dev/null +++ b/library/server/libfcgi/Clib/build_win64.bat @@ -0,0 +1,18 @@ +rem This script is to help compiling the Win64 version of libfcgi +setlocal + +set E_libFCGI_OUTDIR=%~dp0_win64 + +set CL_FLAGS= /Ilibfcgi\include /nologo /W3 /WX- /O2 /Ob2 /D _WIN64 /D _SCL_SECURE_NO_WARNINGS /D _CRT_SECURE_NO_WARNINGS /D NDEBUG /D WIN32 /D _CONSOLE /D LIBFCGI_EXPORTS /D WINVER=0x501 /D _WIN32_WINNT=0x501 /D _SECURE_SCL=0 /D _VC80_UPGRADE=0x0600 /D _WINDLL /D _MBCS /GF /Gm- /EHsc /MD /GS /Gy /fp:precise /Zc:wchar_t /Zc:forScope /Gd /errorReport:queue /Fo"%E_libFCGI_OUTDIR%/" + +set LINK_FLAGS= /ERRORREPORT:QUEUE /OUT:"%E_libFCGI_OUTDIR%\libfcgi.dll" /INCREMENTAL:NO /NOLOGO Ws2_32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /TLBID:1 /DYNAMICBASE:NO /IMPLIB:"%E_libFCGI_OUTDIR%\libfcgi.lib" /MACHINE:X64 + +mkdir %E_libFCGI_OUTDIR% +copy libfcgi\include\fcgi_config_x86.h libfcgi\include\fcgi_config.h +CL.exe /c %CL_FLAGS% /TC libfcgi\libfcgi\fcgi_stdio.c libfcgi\libfcgi\fcgiapp.c libfcgi\libfcgi\os_win32.c +CL.exe /c %CL_FLAGS% /TP libfcgi\libfcgi\fcgio.cpp +link.exe %LINK_FLAGS% /DLL %E_libFCGI_OUTDIR%\fcgi_stdio.obj %E_libFCGI_OUTDIR%\fcgiapp.obj %E_libFCGI_OUTDIR%\os_win32.obj %E_libFCGI_OUTDIR%\fcgio.obj + +copy %E_libFCGI_OUTDIR%\libfcgi.* %~dp0..\spec\lib\win64\msc + +endlocal diff --git a/library/server/libfcgi/Clib/get_libfcgi_source.bat b/library/server/libfcgi/Clib/get_libfcgi_source.bat new file mode 100644 index 00000000..ebee0f4c --- /dev/null +++ b/library/server/libfcgi/Clib/get_libfcgi_source.bat @@ -0,0 +1 @@ +git clone https://github.com/EiffelSoftware/libfcgi diff --git a/library/server/libfcgi/spec/lib/win64/msc/libfcgi.dll b/library/server/libfcgi/spec/lib/win64/msc/libfcgi.dll index 6b18c88f16aa50ecc0b936ff819559d6fb26cf09..1d58f296d86fb01579041dec1cc1b06b71609eb0 100644 GIT binary patch delta 20349 zcmeHvdt8*&_V=C#hC2?5k6Z@^91&3z0To3Q6!lR-Nm0owCSJ2bgET7#Ma=0DMYffh z7Iv)T?U-dH+HFb`QjeK+%CZu>oHL{rR>v&M=l!nd*<+)p-|v0@eE&G}Y0Y=-wbx#I z@3r?{`!ZNnoln(IQe9Q4|Hp-WhQ88yj)zLRzd2_F(x#e?!M{^JmQ?n;Tj>+0D#$&#^H~eA-x|Em#U-Y#szl4WUxb zqfK3d!c2_$>JmQMl$zSMm$A}zjGcOtu`*Fwhc?EJ1b7Qftc+ilGWjPkvUm=1!a(zQ zkQCRhCUzy1-F2yZCe|x}9zb78#nv_VT?Dxxq1p#z=t1{U1pwrh1>` zdf$lNFG5g}R-IEyOl4QMIgK$zH4my_Y*@zG0;hHDXN&eXXXaxW75c zbPw-o?lE@Ay-;lOfo*o7lcJ6eP-@<-u((xtOlcab`$xU1)S8!_g&_M(MFRNcf|tRs z6nvnf9@pfr`A&0u;%kectD2M=S4EJbHY-|}UAknXZrt4ZVJQFBoNQXa!~MF2xdV@djXAjx1h_QoKG)|MR@N*E{{)gZwxA@0qcJl~O&DOhw zLkxceQeT3}4aobY{D!6bbW3mjAsEir`^OJm2Z5q`8d;9Mld}y63OB2v-9CX5%=*LR zG`&D*oDi8?2lC7QR!fpD9*53iBw87_1|(R%yN9ttH8-FTJ~6kZ@xp+lc;^|zRDdSG zf$R(IF|H2@Sts|Cygr~{=x}5xs>fD&;GeZg4%7>s*4rfO1?1}=lWnShAWsOiTE4j3 z+fFVo42-_*S)r4l$-9tU<64@JIkXWbxqf+D-W@)3maXJ~=?wxXVbSNG^@q0fqp zU?ZdTp;*2msHbTf-xri*dWC-+q?jJn`PFm3sApzf%1`0IN*Ja&dlu46%%A1y9RpgW!#2^dsLK8t3rY ziBYIr>fVB7uGEIsT+y^9^MxIHOkqxQD>(P|BFu=K&%v^aQceD39%C726{k6X>^ZH0 z08Ks&sZ#AqgTRoRe>qL^-6VHfeMz_4Rf=MlApu$~-{4)4W!Qav@r3h@85}97Jw*TJJs0cejgmOduhqBc}Q&xQ3>>JW|NA z+bB6xZZ9(xr)J6zBs2?fnRriK5JSyyrbfA#`7?vj06z=cR{zsEkH=0L> z50HvS^NHch>O1b|A9Rf8L*%5m4`)$5hXa)C8DWbrp~;&37KzmNG`VpWZ|f4x8)RSJ zvC{}?=gj@nI%S!p&dUDBBjQYw&j@}XazXlEO7#}xsUPZ%xawYZRnzjak63EzFgr%h zx`^hXX|)BtOhRCBrP&R5b!e`pgF$Z3ZhA;xmaIW�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 X5WrRs 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 Y-qyIy^1SW&qUZPB-}JbFH5&r{7d?qB)Bpeg diff --git a/library/server/libfcgi/spec/lib/win64/msc/libfcgi.lib b/library/server/libfcgi/spec/lib/win64/msc/libfcgi.lib index 839cda3f7123e43265e605d0e130ff7e675b21b9..8ab594656f95a20e3d40aa10fe9bdbd24cde6c11 100644 GIT binary patch delta 3319 zcma)8T}+c#7=Byp6bFK|VkuHur_O*fDJ_)$wql|Dl$QSr(iRG|1p)B~H`#`X7mLdr zaBhfk#$`*k%mraw$py=nT^O^AZ5NAKykN;LxLD?vctMsKcfR&~@A*FYNaTWx=REK8 zKJRmWzOFr1tvy!F8g^NV?DjHS$+9`DCYN{IBs1z~Wa@~G7_8YVt(tFllY2$EE9+S~ z>Xm(I-=rA!yk(OA6%{juIdk?(VYWp@HVpM7WcZ-$DFBSa1?YuQI0qwe1+Kyv48l9` zF1!uXFal8?VrBB`r67zZe)X`}L&4lCCk0Kk^c9PAEB5Na8RZAr*E4S<>lQ^Y|sFi$*{eAp1yFi?)usWu@QYf$Z>aOGRcKn zH^&c<|7vxK6e3jfARS0$3XmV<=Xm+FHbKd!lw3+#O3x#IoyMS;dV*3wDMm`!yVpc1 zspP&(%bV#5np<K4`=#4j5*^eN9K1T__v22A#;Q=`x_KAe{A5I*vQ(*!D~TQe!KA`HbSPli8B$5 zOTc|GR{o0w#4*d8xg}(N-mIXR>g6CZFG@hveBxEmbhjv!FDijqKF&nV_k0SP8%j){ zUxB&m=bD((p;iuJqZ_Tf9Fu?6s*wDdHeOCOGlf@5PtRI4yC?kRl>w_N4G-x zSKSKbnE}oezSJjz?D9?rN-!zmk-jj<7B&KQTtI7`XSgp5@I@_l^`4Uzgo|3d~6fh+d!cNxVuEs||7o=yxe7_xnQ3 zH!H+r#FKbEw2k(kA+C+nb%(iUZ1{bcH$>0J`nfJXle7I>pUL?F{z}rPGx3Eo(<>Aa zzEJ*?`^m=x_=_j;%kJqgI~IQoNF0iX(-%>2xEkROaTe1cXUdM-jX|ChZsDec{m+Q_ zm=7uFJ{*$k=7@eR!+d(-AU%(1wZem;qtlMjXyoln0Gl z@>`S}!>xA2I8*44L4FzIy3APeMbgC!w_dy}aV~>9yB?R!hI=u>lfcYYN4PZvO{2#D E0g%G1-2eap delta 3335 zcma)8TTE0}6x}mo1quZjkPFDjv?@jvVHnOkPG(!t|cfULN2F$}LI1LMM24>)On1!=&4vxb#oPalB z3Qoctn80ki?E~Khlrj_a$tH zx)zjCSFvRYca*ChKQAkxwjm4Fa$fM2tLB%=IV1rpr@LPmh!d$VTT}3Q1$jg&I#&@= z6pZ^ZgYq1BDpfz@l~v?trBZFXQQ5f}oT?&FJzd34sjwpnJ6RUH7`7<9U1iZ~W!iML zn)ln){ftZaiAyygIqMit!b7gOpy4Y{7vqWepEF)*=NIjEi*}~89{eVBwpWg-lIusE zT&hUEA`el9D7A_qDxXJFY%2bF^f|LSQ)@0VrHt5THL7%3O_L_AEhx5fgtkrC+DJQ~ zzfI`tQzLcN+NsdyQNdfa4g!fOxtZy4tIS1r5i!5gz`xu)GB&@;9I7+W{H~5Qsga|e z!3$os{91h$H6o_Dftdsbbl}bjwfrX?NZTxGWJ|>SxY0l}s)<2jp3;G&`Jl-_)75NH ze#;2l)xu2DJl|rV`Ot{j;xS;}^ROnR^lB@E)aX(xms9fpv>GJe+s5TWGftjkNz7WA zm}6IUjoUkmu?>6a#3-|a?ICr+D|J~1l9zwm4ZQd}47_~XVW4U6WRNtkcCsdcVO-Mo{YWTH}8V5$ zWZW)|a87iDPju|RC$-0X)IfKAG*mZ5^J^dD-OC$!I$^QM4@SJ$?X=i!bDP&Wh)1na8Cf-h2hAanD@I}>0TI@yhYZf|rJ Rlbi%)c5jlc5tue*{U6sjX6XO`