Hello,
in order to get GSLL to run on Windows7+CCL+MSYS2+GSL, I needed to customize *cc* and *cc-flags*. Right now, I do this by modifying the code in grovel.lisp, as for *cc-flags*:
#+(and windows msys2) (list "-I" "E:/msys64/mingw64/lib/libffi-3.2.1/include/" "-I" "c:/Users/977315/quicklisp/dists/quicklisp/software/cffi_0.14.0/")
(I prefer not to modify system-wide environment variables on my PC)
I see alternate ways of achieving the same effect:
1. Write own gsll loader that customizes *cc* and *cc-flags* 2. Write own cffi-libffi loader that customizes the variables 3. (somehow) advise gsll or cffi-libffi loaders in my lisp-init files to customize the variables 4. Modify environment variables for my process.
What is the advised way to do this? I would prefer 3: in my lisp startup file, I (somehow) write some advice code to asdf that customize *cc* and *cc-flags*. But I don't know how to do that.
Thank you,
Mirko
[just noticed I failed to include the list adress in my earlier reply]
On Sat, May 23, 2015 at 3:21 PM, Mirko Vukovic mirko.vukovic@gmail.com wrote:
in order to get GSLL to run on Windows7+CCL+MSYS2+GSL, I needed to customize *cc* and *cc-flags*. Right now, I do this by modifying the code in grovel.lisp, as for *cc-flags*:
#+(and windows msys2) (list "-I" "E:/msys64/mingw64/lib/libffi-3.2.1/include/" "-I" "c:/Users/977315/quicklisp/dists/quicklisp/software/cffi_0.14.0/")
(I prefer not to modify system-wide environment variables on my PC)
We've recently added pkg-config-cflags to cffi-grovel and cffi-libffi was its first user. If you use CFFI from Git, which uses this scheme, does it fix this particular problem? pkg-config needs to be in your path, of course, but if it isn't that's probably more obvious to fix.
[For the record, Mirko then replied he'd like to try this out via Quicklisp rather than pulling CFFI from Git. The next CFFI release will most likely be included in the June distribution.]
Cheers,
On Mon, May 25, 2015 at 7:58 PM, Luís Oliveira luismbo@gmail.com wrote:
[just noticed I failed to include the list adress in my earlier reply]
On Sat, May 23, 2015 at 3:21 PM, Mirko Vukovic mirko.vukovic@gmail.com wrote:
in order to get GSLL to run on Windows7+CCL+MSYS2+GSL, I needed to customize *cc* and *cc-flags*. Right now, I do this by modifying the code in grovel.lisp, as for *cc-flags*:
#+(and windows msys2) (list "-I" "E:/msys64/mingw64/lib/libffi-3.2.1/include/" "-I" "c:/Users/977315/quicklisp/dists/quicklisp/software/cffi_0.14.0/")
(I prefer not to modify system-wide environment variables on my PC)
We've recently added pkg-config-cflags to cffi-grovel and cffi-libffi was its first user. If you use CFFI from Git, which uses this scheme, does it fix this particular problem? pkg-config needs to be in your path, of course, but if it isn't that's probably more obvious to fix.
[For the record, Mirko then replied he'd like to try this out via Quicklisp rather than pulling CFFI from Git. The next CFFI release will most likely be included in the June distribution.]
Cheers,
-- Luís Oliveira http://kerno.org/~luis/
But libffi-win32.lisp shows no use of pkg-config-cflags; does pkg-config work on Windows? (I've already learned it doesn't work on Mac OSX.) If so, I will add (pkg-config-cflags "libffi" :optional t) to libffi-win32.lisp. I want to make sure everything works and I understand the proper way to define paths in cffi-libffi before I fix up GSLL.
Thanks, Liam
On Sun, Jul 26, 2015 at 11:05 PM, Liam Healy lnp@healy.washington.dc.us wrote:
But libffi-win32.lisp shows no use of pkg-config-cflags; does pkg-config work on Windows? (I've already learned it doesn't work on Mac OSX.) If so, I will add (pkg-config-cflags "libffi" :optional t) to libffi-win32.lisp. I want to make sure everything works and I understand the proper way to define paths in cffi-libffi before I fix up GSLL.
I believe MSYS2 ships with pkg-config. I have no idea about other environments. Adding pkg-config-cflags to libffi-win32.lisp sounds like a good idea.
Cheers,
On Mon, Jul 27, 2015 at 11:37 AM, Luís Oliveira luismbo@gmail.com wrote:
On Sun, Jul 26, 2015 at 11:05 PM, Liam Healy lnp@healy.washington.dc.us wrote:
But libffi-win32.lisp shows no use of pkg-config-cflags; does pkg-config work on Windows? (I've already learned it doesn't work on Mac OSX.) If so, I will add (pkg-config-cflags "libffi" :optional t) to libffi-win32.lisp. I want to make sure everything works and I understand the proper way to define paths in cffi-libffi before I fix up GSLL.
I believe MSYS2 ships with pkg-config. I have no idea about other environments. Adding pkg-config-cflags to libffi-win32.lisp sounds like a good idea.
Cheers,
-- Luís Oliveira http://kerno.org/~luis/
I have pushed 17d2b03cf2 that adds this, conditionalized to msys2. Mirko, please test and confirm that problem is solved. Thanks.
Liam
Hello Liam,
On Sun, Aug 2, 2015 at 8:41 PM, Liam Healy lnp@healy.washington.dc.us wrote:
I have pushed 17d2b03cf2 that adds this, conditionalized to msys2.
I don't think Lisps are aware of the presence of msys2, so they don't push that onto *features*. The :optional t argument to pkg-config-cflags will automatically skip that step if pkg-config is not available, so you should simply remove the #+msys2 line.
Cheers,