From: Earnie B. <ear...@ya...> - 2003-07-08 13:14:22
|
Juan Jose Garcia-Ripoll wrote: > [Sorry if this message is duplicated -- I just noticed I used the wrong e-mail > address when sending the previous copy] > > Hi, > > I am quite sure someone must have explained this somewhere, but really I > cannot find any documentation shown how to do the following. > > I have a program that compiles and runs in many different unix environments > by means of "configure". The program in question is a Lisp interpreter > called ECL (http://ecl.sf.net). > > I gave MSYS an attempt and it works almost fine, except when my program tries > to locate files. My feeling is that MSYS forces, during configuration > process, all pathnames from windows format to what I would call > "MSYS-format". However, when I build my program, the open(), fopen(), and > other functions do not understand this convention. > Your problem has a focus point on my round tuit list. I supply msys dll dependent versions of such things a perl, guile, etc for this very reason. The focus point is set to with or beyond version MSYS-2.0.0 I'm afraid. > To give an idea of what goes on, in the bootstrap process ECL needs to load a > bunch of files that it locates using @srcdir@. Even though I initially set to > a valid windows path, d:/msys/1.0/home/user1/ecl, in my Makefile.in it > appears as /home/user1/ecl, and when ECL tries to > fopen("@srcdir@/boot.lisp"), it fails. > You say that you explicitly use an absolute win32 path and MSYS is converting it to posix? Which version of MSYS? Can you provide a small test case? > Is there a standard tool which converts MSYS paths into windows ones? What is > the name of this tool? Or do I have to link my program against the MSYS DLL > so that fopen() learns about MSYS paths? If so, how do I do it and how should > I distribute the resulting executable? > Well, that is what MSYS is about, convert to win32 paths where appropriate, so no external tool should be needed. I want to work with you on getting this resolved. A possible work around would be to use a macro instead for you boot.lisp path. So that you have ``fopen(BOOT_LISP)'' and have the a -DBOOT_LISP="$srcdir/boot.lisp" in the Makefile. Notice the use of a variable instead of the configure replacement of @srcdir@. Earnie. |