Rainer, GDAL and Proj4 compile on systems like Cygwin because someone spent the time to adjust and test these packages on the various systems. For example do a grep for CYGWIN on the source code of GDAL and you will see that there are numerous #ifdef CYGWIN together with other flavors of Windows. It is naive to think that any software with a complexity of GDAL, Proj4 or as you want QMapShack will compile and run out of the box on every system.
Therefore it's best practice to limit system specific patches only to those systems tested. There is a good chance that QMapShack will run on other *unix based systems, like the ones you listed. But as long as no one is trying and testing the stuff it would be careless to widen the scope of the system specific code. Anyway, the GPS device support of QMapShack is completely system dependent. The Linux version relies on DBus and UDisk2. These aren't available on all *nix based systems. That is probably the trickiest part to fix. I can just repeat: If you think QMapShack should run on Cygwin you have to check all system dependent code sections. They are easy to find by the OS_ defines. For every define you have to analyze the code and decide if you can make use of one of the existing flavors. In that case you can widen the compiler scope. If not you have to fix the code. When done you have to test if QMapShack is still working with the new code. If it does you can send you changes via a pull request to the repository. After a review they will be part of the repository. By that you do not have to patch later versions. This is the way how all open source packages have been ported in the past. QMapShack won't be an exception. Oliver Am 29.02.2016 um 13:39 schrieb Dr Rainer Woitok: > Oliver, > > On Friday, 2016-02-26 15:30:33 +0100, you wrote: > >> ... >> The Q_ should tell you it's a Qt macro. Have a look at the Qt5 >> documentation. >> >> I do not know your motivation to compile QMapShack in a Cygwin >> environment. But if you insist, you are on your own. > I have compiled quite a few software packages in a Cygwin environment, > including GPSBabel (which uses Qt5), NetCDF, and Proj4 (the latter two > both using "cmake"), but none of these products (or their maintainers) > had problems treating Cygwin and Unix/Linux more or less the same. Thus > my problems compiling and running QMapShack on Cygwin are neither Qt nor > "cmake" related. So, to slightly rephrase your own words: I do not know > your motivation to prevent QMapShack from compiling and running in a > Cygwin environment. After all, even though Cygwin DEFINITELY IS differ- > ent from Unix/Linux, the differences are marginal, and require at most a > few additional "#ifdef" clauses in the source code, if any at all. > > Best proof is that making QMapShack run on Cygwin only required to ex- > plicitly define the "Q_OS_LINUX" macro whenever calling the C compiler. > > By the way, QMapShack will currently also fail to compile and run on > real Unix systems like, to name just a few, Solaris, HP-UX, and AIX. Is > that really what you want? Where all you initially had to do would be > to use the "cpp" standard macro "__unix__" rather than "Q_OS_LINUX" in > your handful of relevant "#ifdef" clauses? > > Sincerely, > Rainer ------------------------------------------------------------------------------ Site24x7 APM Insight: Get Deep Visibility into Application Performance APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month Monitor end-to-end web transactions and take corrective actions now Troubleshoot faster and improve end-user experience. Signup Now! http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140 _______________________________________________ Qlandkartegt-users mailing list Qlandkartegt-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/qlandkartegt-users