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