[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [DotGNU]Windows specifica

From: Rhys Weatherley
Subject: Re: [DotGNU]Windows specifica
Date: Sun, 16 Feb 2003 17:48:39 +1000
User-agent: KMail/1.4.3

On Sunday 16 February 2003 10:52 am, Tobias Oberstein wrote:
> I'd like to build a DLL under Windows using VC++ and statically
> link Portable.NET.

I don't like your chances of using VC++ to build Portable.NET.  Pnet makes 
heavy use of shell scripts, bison, flex, and treecc to build source files on 
the fly to compile with gcc.  Integrating these meta-conversion tools into 
VC++ will be extremely difficult.

If you wish to submit patches for VC++, then we'd welcome them, but it isn't a 
high priority for us to work around broken MS compilers.

> So here's my question: How can I tell the build process to spit
> out those *.def files?

Eventually we will be moving pnet to build with dynamic libraries.  When we 
do, "dlltool" will take care of this detail.

> -lwsock32
> instead of "-lm -lpthread". I suppose, native Win32 threading headers are
> used then? E.g. does Pnet use the native Win32 thread API for e.g. it's
> Metadata Mutex?

The native threads are used instead of pthreads under Win32, because pthreads 
implementations are unreliable in a Win32 environment.  Also, libgc uses 
Win32 threads and so pnet has to use the same package to match up with libgc.

> Also, I'd like to reduce the set of linked in libraries as much as
> possible, to reduce problems (I'm embedding into a server app, which will
> get complex enough) especially the dynamics. That is: what is "-lwsock32"?
> Is it essential?

-lwsock32 is necessary to get the socket routines.  Network support (e.g. 
System.Net) won't be possible without it.

> How to avoid? What is /can I avoid "libffi.a" and "libgc.a"?

You can build without libffi if you like by using "./configure 
--without-libffi", but you lose access to PInvoke.  Building without libgc is 
not recommended: it implements the garbage collector.  You can build without, 
but you won't be able to run anything except simple "Hello World" examples.

>     gcc -mno-cygwin -DHAVE_CONFIG_H -I. -I. -I../include   
> -I../libgc/inclu de -I../include                        
> -DCSCC_LIB_PREFIX=\"/usr/local/lib\" -DCSCC_BIN_PREFIX=\"/usr/local/bin\"
> -g -O2 -Wall >./errno_map.c
> gcc.exe: /tmp/gerr2100.c: No such file or directory
> gcc.exe: no input files

That's strange.  I haven't seen that one before, so I'm not sure what to 

> Finally, a "make check" showed up 4 errors (everything else was fine):

Log these "make check" errors in Savannah and I'll try to find the time to 
look into them soon.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]