Re: missing eu.a
- Posted by ne1uno Aug 18, 2009
- 1285 views
just has a problem with backslashed filenames in some cases depending on the shell used, and callbacks seem to be a problem.
What would be optimal is to solve these problems before the next beta release,
I wasn't aware that there was a problem with callbacks. What is the issue there?
tests/t_legacy_callback.e fails translated.
some win32lib programs fail interpreted or translated. watcom translated tests/t_legacy_callback.e works but does crash on some translated win32lib programs. having a hard time finding a reasonable size test.
I'm not sure what to do about the backslash problem. Are you saying that 'include std\file.e' fails because of this? Or that open("temp/test.txt", "w") fails?
using a just minGW built eui to build itself again is a pretty good test of sanity. include works with both slashes and open for write works as well. no surprize there.
there are a few moving parts to the problem.
- build system
current makefile requires a typical *nix shell which not every minGW user would have. cygwin is a little more forgiving about accepting either forward or back slashes. Jam requires a patch to run in Msys shell.
- eutest run from Msys bash shell.
$ make test cd ../tests && EUDIR=/usr/local/eu4 EUCOMPILEDIR=/usr/local/eu4 eui.exe ../source/eutest.ex -i ../include -cc gcc -exe /usr/local/eu4/source/eui.exe -ec /usr/local/eu4/source/euc.exe -lib /usr/local/eu4/source/eu.a interpreting t_c_crash.e: FAILURE: t_c_crash.e No ex.err has been generated. and more of the sameI assume the problem here is eutest building/joining BUILDDIR & SLASH &TEST or something equally hardwired. maybe eutest has a verbose mode?
it may be possible to run eutest from a dosbox in the test directory once minGW/eui is built.
...the typical way to deal with this is to have a standardize_file_seperator() function which would accept using either backslash or forward slashes as a file seperator and then return either all backslash on watcom or all forward slash on MinGW.
this is almost happening now. the constant SLASH should be set depending on what shell requires for SLASH. doswindow would be backslash, any kind of bash then forward. but then the drive can be a problem. Msys can't deal with c:\something has to be /c/something depending on how the path is used.