Hello Sergey,
My concern is: special cases in the source. So far I know of cygwin
and Msys which have different paths for root, and there is UWIN,
Microsoft services for Unix, and possibly others to support. Some
of these you can build to have / mounted elsewhere, anyway.
Convenience for the user is laudable, but if it is better handled by
compiling it, and this would result in each and every path not being
tested against various mount points, I think this has two
advantages. Firstly, the user gets faster code. Secondly, the user
doesn't have to second guess what manipulations the program is
applying to the supplied paths. They may not know of the Cygwin
project, but have created a directory called /cygdrive for some
other reason.
Most cross-platform languages that I have come across over the years
(Perl, Python, Tcl/Tk, Ruby, Lua are the ones I can think of just
now) sort the cross-platform aspects out at compile time. Some of
these I have not built from source for a while, though.
Cygwin is a Windows application, but it does path manipulation, it
has some constraints about interoperability, in particular the
acronym BLODA, and in my experience, some things just work better
when compiled under Cygwin.
It would be useful to know where Unicon fails when one tries to
build it under cygwin. I don't remember getting it fully working,
but I think I just made progress in improving the configure stage.
I expect those with more experience in these matters will demolish
some of this, but I hope that clarifies my reasoning.
Hugh
On Mon, 2 Jun 2014, Sergey Logichev wrote:Hi Hugh,
I don't really understand what is worring you with this path problem. It's
obvious for me that for different systems paths rules must be different.
Using in cross-platform program just one rule from many is a wrong way.
Program must be smart itself to define which rule it should use in
particular case. For pure Windows c:\work\q.q, for cygwin cygdrive/c/q/q,
for UNIX-like /somepath/q.q and so on. It must be defined in source code and
have not implemented by compiler as program may run only under one platform.
By the way, I couldn't compile current UNICON under cygwin. But under
windows it's compiled well and may be run for windows and cygwin both
(actually, cygwin is just an other windows application).
Best regards,
Sergey Logichev
02.06.2014, 13:24, "Hugh Sasse" <[email protected]>:
On Fri, 30 May 2014, Jafar Al-Gharaibeh wrote:
Dick,
From the look of it, the path "/cygdrive/c/file"
seems to be a cgywin
This is correct. However, the program also had a windows "C:"
style
path in it, and I believe it makes no sense to use both. If the
Unicon had been successfully compiled under Cygwin, which I have
not
attempted in ages, then the /cygdrive/c paths should work, but
not
the windows style ones. And vice versa.
thingy. I have very little experience with cgywin
but I believe unless you
use cgywin toolschains the application wont see
/"cygdrive/c", it is an
invalid path from Windows point of view. Unicon is
not a cgywin
application so I'm not surprised that this is not
working. A quick googling
returned this answer:
cygpath -w: converts to windows path
cygpath -u: converts to unix path
to use the correct path based on the application
(cgywin-based or not).
Somebody suggested that you can actually configure
cygwin to drop the
cygdrive prefix by editing the /etc/fstab in
cygwin. Just add a line that
says
none / cygdrive binary 0 0
This way all of you paths would say something like
"/c/file", and would be
consistent whether you are running a cgywin
application or not.
--Jafar
P.S. Unicon could be made smart enough to map
"/cgydrive/c" to "c:/" but
that means every single path used in Unicon
applications has to be checked
first for the string "/cgydrive" and do the
mapping. Not sure if that is
the right thing to do, will leave that for the
discussion.
But then one would would have some kind of obligation to support
paths for MSys, and the other Unix emulation layers. I think it
would be more fruitful to aim for successful builds of Unicon
under
the various Unix emulation layers. I may not be seeing the
whole
picture, though.
Hugh
On Fri, May 30, 2014 at 4:29 AM, Richard H.
McCullough <[email protected]>
wrote:
I got your hint that I should create a
ticket on Unicon bug tracker,
but I couldn't find any link to create
new ticket.
So here's another bug for you. Likely
fails on all Windows versions.
see attached cygdrive.icn
Dick McCullough
Context Knowledge Systems
What is your view?
--------------------------------------------------------------------------
----
Time is money. Stop wasting it! Get
your web API in 5 minutes.
www.restlet.com/download
http://p.sf.net/sfu/restlet
_______________________________________________
Unicon-group mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/unicon-group
---------------------------------------------------------------------------
---
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases
and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book
today!
http://p.sf.net/sfu/NeoTech
_______________________________________________
Unicon-group mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/unicon-group
------------------------------------------------------------------------------ Learn Graph Databases - Download FREE O'Reilly Book "Graph Databases" is the definitive new guide to graph databases and their applications. Written by three acclaimed leaders in the field, this first edition is now available. Download your free book today! http://p.sf.net/sfu/NeoTech
_______________________________________________ Unicon-group mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/unicon-group
