Bruno Haible wrote: > Guido Draheim wrote: >> create a .NET wrappers for the linux dvb kernel api. It does >> work - getting libtool to compile a native shared library >> being called from a managed dll that imports symbols from it. > > Which are the command lines that you use for doing this? I'd like to > understand which tools are used for which step, before thinking about > Makefile variables and automake. >
There is absolutely no need to use autotools to create a unixish csharp wrapper pair of *.so/*.dll libraries. It just makes it so easy - with a few lines of autoconf/automake code we get a slew of portabilitiy tests to create the native library part via a configure-generated libtool.sh shell script. Just as well my autoconf macro creates a configure-generated shell script named csharpcomp.sh but that is just converting options for different csharp compilers that may be used (Microsoft, portableNET, Mono). If you do have your own build system then it is about easy to pick up the command line conversion in those shell scripts. The gcc usually just requires -shared and -l imports gcc -shared *.c -lzip -o libproject.so and the mono compiler wants -target:Library with -reference:s gmcs -target:Library -reference:Mono.Posix *.cs -out:Project.dll That's pretty much about it. If you do compile an example project then you will see the shell scripts (libtool / csharpcomp) logging the converted command lines to the terminal. Just check it out. have fun, (attaching my current csharpcomp.sh) -- guido http://google.de/search?q=guidod GCS/E/S/P C++/++++$ ULHS L++w- N++@ s+:a d->++ r+@>+++ y++ (geekcode)
csharpcomp.sh
Description: application/shellscript