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 6b18c88f..1d58f296 100644 Binary files a/library/server/libfcgi/spec/lib/win64/msc/libfcgi.dll and b/library/server/libfcgi/spec/lib/win64/msc/libfcgi.dll differ diff --git a/library/server/libfcgi/spec/lib/win64/msc/libfcgi.lib b/library/server/libfcgi/spec/lib/win64/msc/libfcgi.lib index 839cda3f..8ab59465 100644 Binary files a/library/server/libfcgi/spec/lib/win64/msc/libfcgi.lib and b/library/server/libfcgi/spec/lib/win64/msc/libfcgi.lib differ