by the way, I have recently used a combination of mono and automake to 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.
You will find an autoconf macro AX_PROG_CSC attached to this mail that will autodetect a C# compiler in the system and create a little wrapper script to call it for compilation. Both parts are partially derived from the gettext variants even that I had to expand on it quite a bit. Now, it is simple to create a C# dll (tested on Linux): * configure.ac add AX_PROG_CSC(2.0) # will pick gmcs on most linux stations * makefile.am add pkglib_PROGRAMS = LinuxDVB.dll LinuxDVB_dll_LDFLAGS = -l Mono.Posix LinuxDVB_dll_SOURCES = linuxdvb.cs assemblyinfo.cs LinuxDVB.dll : $(LinuxDVB_dll_SOURCES) $(CSC) $(LinuxDVB_dll_LDFLAGS) $^ -o $@ however, it seems there is a little difference in installation paths for linux vs windows - it is common practice in unix to install all the *.dll / *.exe into $(pkglibdir) aka /usr/lib/pkg/ plus a bin_SCRIPT that does call the real exe over there. ... I guess that is different on windows where everything will go directly to $(bindir) not using any wrapper script. So far I am using a definition dlldir = $(pkglibdir) and dll_PROGRAMS to make this configurable but it feels suboptimal. -- have fun, Guido Jirka Hanika wrote: >>> Are inter-library dependencies specified? >> As far as I know, inter-library dependencies are handled automatically. > Not all implementations are as clever as this, although they are > permitted (not required) to be by the ECMA standard.
ax_prog_csc.m4
Description: application/text