Mime-proxy

Version 2.x,  Patrick Lamaizière <patrick.softs(at)lamaiziere(dot)net>



How to compile Mime-proxy

You can compile Mime-proxy from the Eiffel code, or from the C code generated by SmartEiffel.
Mime-proxy requires Libiconv to be installed (c code and binary).

Compilation from C code.

The C-code directory contains all the files needed (include c-code from Yaesockets) to compile.
See and adapt the compile-c-code shell script. The compile-c-code shell script is only for *nix because I provide Windows binary.

Compilation from Eiffel code.

You need SmartEiffel 1.1 (not 2!) and a C compiler.

SmartEiffel 1.1 : http://SmartEiffel.loria.fr
Under Windows i use the Microsoft Free C compiler.
Under *nix, i use Gcc

Mime-proxy uses theses libraries :
Gobo (3.1) : http://elj.sourceforge.net/projects/other/gobo/
Nenie (on the CVS, module NET only):  http://sourceforge.net/projects/nenie/
Yaesockets (on the CVS) : http://sourceforge.net/projects/yaesockets/
Libiconv (1.9.x) : http://www.gnu.org/software/libiconv/

You can find a package of theses libraries (except libiconv) here : http://www.lamaiziere.net/download/mproxylib.zip

+ First install theses libraries (for Yaesockets you have to compile a C source code first) .
+ Unzip Mime-proxy sources.
+ Edit the "compile-mproxy" shell script or "compile-mproxy.bat" file to change files paths to theses libraries. If you don't use Msvc or Gcc, adjust C compiler options in the compile-mproxy.bat command.

To compile Mime-proxy in boost mode (no assertions check) :
compile-mproxy -boost

To compile Mime-proxy in all_check mode (all assertions check) :
compile-mproxy -all_check

Notes.

Mime-proxy is made under FreeBSD and NetBSD (i386), i used previous versions under Linux but i don't know if recent versions run under Linux. But it should, tell me if there are some problems.

It may have some problems with others plateforms than i386, because SmartEiffel maps his INTEGER type to a C int and it is hard to know in the Eiffel code what is a C int. This may impact shared buffers between C and Eiffel.