[Top][All Lists]

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

Re: [gpsd-dev] Mingw port

From: address@hidden
Subject: Re: [gpsd-dev] Mingw port
Date: Thu, 09 Aug 2012 15:13:06 +0200


i have done a few basic investigations using the library as a windows dll too, 
the only a bit problematic file i found is netlib.c.
(An openCPN on windows with an network connection to a gpsd would be great...)

Do you expect to have a source tree, where i can compile libgps.dll for a 32 
bit and/or a 64 bit windows, ready within the next few weeks?

Regarding the port of the daemon to windows, i can provide and test the 
nmea2000 part.


Von: Ukygerkgubiekd Ukygerkgubiekd <address@hidden>
An: "address@hidden" <address@hidden>
Cc: "address@hidden" <address@hidden>
Betreff: Re: [gpsd-dev] Mingw port
Datum: Thu, 09 Aug 2012 14:52:51 +0200

Regarding serial.c and gpsd.c: yes, these are problematic for a Windows 
port. But I now feel that this is a problem for later on.

>From Googling, it seems to me that most Windows users interested in GPSd 
want a libgps.dll ( that they can call into from their GUI 
programs.There seems to be much less demand for a fully-featured daemon on 
I imagine this is partly 
because many vendors ship poor-quality Windows software with their 
devices, but it's probably also partly due to the fact that Windows is more 
often used to run client-side GUI programs than UI-less server daemons like 

My experience with the mingw 
branch has taught me that a client-only port can be done much more 
easily and more cleanly than a full daemon-too port.So I feel that if we ever 
do a daemon port to Windows, we should do it only after a client-only port has 
been bedded down.

Consequently I believe we should proceed as follows:

1. Get preparatory cleanups in (see my previous message), then
2. Gradually trickle in only the client changes from the mingw branch, 
cleaning them up as I go, and this time in more granular commits that are 
each 'obviously right'; then
3. Pause one release, watch for regressions, give everyone a good opportunity 
to read/criticise/improve the changes so far; then
4. Commence a better-informed discussion about how to get a fully-featured 
working on Windows *without* littering the source tree with Win32 API
 calls and '#ifdef _WIN32', but also without re-inventing Cygwin.

It may be that the outcome of 4 is that the ugliness is too high, and the 
demand too low, to proceed with a daemon-too port.
That would be rather sad, but even then we would have accomplished a useful 
client-only Windows port.



----- Original Message -----
From: Eric S. Raymond <address@hidden>
To: Ukygerkgubiekd Ukygerkgubiekd <address@hidden>
Cc: "address@hidden" <address@hidden>
Sent: Tuesday, 31 July 2012 2:09 PM
Subject: Re: [gpsd-dev] Mingw port

Ukygerkgubiekd Ukygerkgubiekd <address@hidden>:
> However, Windows has a completely different set of APIs for serial comms, and 
> for timing/handshaking/waiting etc.
> To get drivers, the daemon and the regression tests working under Windows 
> hence requires some abstraction layer over those differences.
> My idea is that such a layer could also incorporate the existing differences 
> between shm, dbus, QT, sockets and fds.
> Your comments appreciated!

Sounds useful if done right, but quite ugly and obtrusive if done wrong.

I am, at least, open to refactoring changes that would narrow thw coupling to 
the base OS.  Most of the changes would be in gpsd.c and serial.c, correct?
        <a href="";>Eric S. Raymond</a>

reply via email to

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