[liblouis-liblouisxml] Re: Question aout liblouisxml structure

  • From: "John J. Boyer" <johnjboyer@xxxxxxxxxxxxx>
  • To: liblouis-liblouisxml@xxxxxxxxxxxxx
  • Date: Thu, 5 Feb 2009 14:47:26 -0600

I think the calling conventions are different if a program is compiled 
under gcc, as the Windows binary was, since Michel used mingw, and if it 
is compiled with a Microsoft compiler. They are almost certainly C 
conventions.

John

On Thu, Feb 05, 2009 at 12:29:22PM -0800, Yuemei Sun wrote:
> Hi, Michel,
> 
> Thank you for your effort of building a Windows binary.  We have been 
> compiling the Windows binary (DLL) by ourselves and have to do so 
> whenever we want to include a new release into our braille translation 
> program (a VB6 Office plug in project). 
> 
> I just tried calling "lou_version" and "lou_translateString()" that are 
> exported from liblouis.dll from our VB6 project, and "lou_version()" 
> works fine.  However, with "lou_translateString()", I got "Bad Calling 
> Convention Error".  Which calling convention do you use for the exported 
> functions, C calling convection (__cdecl) or the WINAPI (__stdcall)?  
> Our program expects a WINAPI calling convention.  BTW, I double checked 
> the parameter list of lou_translateSttring() in the doucmentation coming 
> with your ZIP file; it is the same as in liblouis 1.3.9 (the version we 
> use in our current braille translation program), so there is nothing 
> wrong with the number or the type of of parameters passed from our 
> program into the DLL. 
> 
> Thanks,
> 
> Yuemei
> 
> Michel such wrote:
> 
> >John,
> >
> >At this point, I can propose a simple zip file with all the binaries.
> >You only have to unzip it and can run the programs from its bin 
> >subdirectory.
> >This can be done at once.
> >In the future, I would like to add some bells and whistles like an 
> >installer and some gui environment.
> >
> >But for now, you can download the zip file at:
> >http://www.nvda.fr/dl/liblouisxml-1.8.0-win32.zip
> >
> >Unzipping it will create a louis directory that you can place anywhere.
> >The archive also contains antiword for convenience.
> >
> > ----- Original Message ----- 
> > From: John J. Boyer 
> > To: liblouis-liblouisxml@xxxxxxxxxxxxx 
> > Sent: Thursday, February 05, 2009 6:31 PM
> > Subject: [liblouis-liblouisxml] Re: Question aout liblouisxml structure
> >
> >
> > Michel,
> >
> > This is something I've been wanting for a long time. I assume that the 
> > binary is a zip file. It should need only a few simple installation 
> > instructions. Can you put the zip file and the instructions on a website 
> > and post a link to the list?
> >
> > I know you had a hard time reaching this goal, and I'm rather concerned 
> > that your setup with mingw, etc. might be hard to duplicate.
> >
> > Thanks,
> > John
> >
> > On Thu, Feb 05, 2009 at 06:04:26PM +0100, Michel such wrote:
> > > John,
> > > 
> > > Just tested it on my wife's machine which is free of any development 
> > environment (no mingw or cygwin)
> > > and it works fine.
> > > 
> > > I'll let you know how to build it (at least under mingw).
> > > 
> > > It is straight forward for liblouis and libxml2.
> > > For liblouisxml, you need to install pkg-config which I spent spme time 
> > to setup correctly.
> > > 
> > >   ----- Original Message ----- 
> > >   From: John J. Boyer 
> > >   To: liblouis-liblouisxml@xxxxxxxxxxxxx 
> > >   Sent: Thursday, February 05, 2009 5:30 PM
> > >   Subject: [liblouis-liblouisxml] Re: Question aout liblouisxml 
> > structure
> > > 
> > > 
> > >   Michel,
> > > 
> > >   This is great. I think your paths.c can be combined with the original 
> > >   one to handle all situations. Can you make the binary and then test 
> > it >   on machines that don't have either Mingw or Cygwin? If it works 
> > under >   those circumstances we can figure out the best way to 
> > distribute it. >   Please also give me a description of how you made it.
> > > 
> > >   Thanks,
> > >   John
> > > 
> > >   On Thu, Feb 05, 2009 at 05:09:55PM +0100, Michel such wrote:
> > >   > Hi John,
> > >   > 
> > >   > Oops, I understand the problem.
> > >   > 
> > >   > So this new one seems to work fine, at least it finds all needed 
> > files on my machine (liblouis tables and lbx files).
> > >   > So, here it is attached.
> > >   > 
> > >   >   ----- Original Message ----- 
> > >   >   From: John J. Boyer 
> > >   >   To: liblouis-liblouisxml@xxxxxxxxxxxxx 
> > >   >   Sent: Thursday, February 05, 2009 1:46 PM
> > >   >   Subject: [liblouis-liblouisxml] Re: Question aout liblouisxml 
> > structure
> > >   > 
> > >   > 
> > >   >   michel,
> > >   > 
> > >   >   This is a good start. It will work for now in getting the Windows 
> > >   >   version mp and running, but as you probably realize it can't 
> > replace the >   >   paths.c in the distribution. I do see a problem at 
> > line 152. You have to >   >   add paths for both 
> > \usr\share|liblouisxml\lbx_files and >   >   \usr\share\liblouis\tables . 
> > I'm really happy that we are so close.
> > >   > 
> > >   >   John
> > >   > 
> > >   >   On Wed, Feb 04, 2009 at 06:33:28PM +0100, Michel such wrote:
> > >   >   > Hi John,
> > >   >   > 
> > >   >   > Here is a modified paths.c
> > >   >   > 
> > >   >   > The _win32 code has been changed so that it returns the current 
> > path of the module instead of "c:\Program Files".
> > >   >   > 
> > >   >   > So, if you run for example xlm2brl.exe from directory 
> > d:\louis\bin,
> > >   >   > it will return
> > >   >   > d:\louis\bin\
> > >   >   > 
> > >   >   > then you can concatenate the appropriate subdir.
> > >   >   > 
> > >   >   > the conde has been borrowed from BRLTTY (essentially from file 
> > sys_prog_windows.h)
> > >   >   > and adapted by me to fit my needs.
> > >   >   > 
> > >   >   > As I am not a great c expert, it probably might be improved.
> > >   >   > 
> > >   >   > So here it is attached.
> > >   >   >   ----- Original Message ----- 
> > >   >   >   From: John J. Boyer 
> > >   >   >   To: liblouis-liblouisxml@xxxxxxxxxxxxx 
> > >   >   >   Sent: Monday, February 02, 2009 9:00 PM
> > >   >   >   Subject: [liblouis-liblouisxml] Re: Question aout liblouisxml 
> > structure
> > >   >   > 
> > >   >   > 
> > >   >   >   Michel,
> > >   >   > 
> > >   >   >   When liblouis and liblouisxml are built under Linux you can 
> > specify the >   >   >   directory in which they will be placed with the 
> > --prefix option in >   >   >   configure. I think 
> > >   >   >   that it would be good if we didn't try to put them in 
> > "program Files". >   >   >   Neither Cygwin nor Mingw installs under that 
> > directory. Suppose, >   >   >   however, we install them in c:\louss 
> > using configure --prefix=c:\louis . >   >   >   Then xml2brl.exe, 
> > lou_allround.exe, etc. will be in c:\louis\bin . The >   >   >   DLLs 
> > will be in c|\louis\lib and the liblouis tables will be in >   >   >   
> > c:\louis\usr\share\liblouis\tables . The liblouisxml semantic-action >   
> > >   >   files and configuration files will be in >   >   >   
> > c:\louis\usr\share\liblouisxml\lbx_files. The programs will thus be able 
> > >   >   >   to find what they need and we can make the Windows binary by 
> > zipping the >   >   >   c:\louis directory recursively. 
> > >   >   > 
> > >   >   >   At least that is how I hope it would work. I'll have to try 
> > to duplicate
> > >   >   >   your setup with Mingw and Msys. I have the zip file you put 
> > up a couple
> > >   >   >   of weeks ago, but I think you have added some other packages. 
> > Could you
> > >   >   >   provide a new file with these other packages? I'll have tr 
> > discover how
> > >   >   >   the compiler can know that it is in Mingw as well as Windows. 
> > Then I can
> > >   >   >   modify paths.c accordingly.
> > >   >   > 
> > >   >   >   You are making a real contribution. I think we are close to 
> > having those
> > >   >   >   Windows binaries.
> > >   >   > 
> > >   >   >   Thanks,
> > >   >   >   John
> > >   >   > 
> > >   >   >   On Mon, Feb 02, 2009 at 07:15:36PM +0100, Michel such wrote:
> > >   >   >   > John,
> > >   >   >   > 
> > >   >   >   > It appears that, when compiling with mingw, it is 
> > recognized as being in _win32 environment.
> > >   >   >   > So it compiles the lines corresponding to this in paths.c.
> > >   >   >   > It assumes that the directory containing the conversion 
> > tables and the .cfg files should be somewhere under "c:\Program Files".
> > >   >   >   > It would be better, in my opinion, if it would be "Program 
> > " independant.
> > >   >   >   > The better would be to retrieve the directory where the 
> > program runs from.
> > >   >   >   > for example if I run the program from:
> > >   >   >   > c:\liblouisxml\bin\xml2brl.exe
> > >   >   >   > it should return
> > >   >   >   > c:\liblouisxml\bin as currentPath.
> > >   >   >   > Then, in yourSubDir, we could put something like
> > >   >   >   > ".\\etc\\tables"
> > >   >   >   > So, if you install liblouisxml in
> > >   >   >   > c:\Program Files\liblouisxml
> > >   >   >   > the path you would retrieve in the end would be:
> > >   >   >   > c:\Program Files\liblouisxml\bin..\etc\tables
> > >   >   >   > wich is like
> > >   >   >   > c:\Program Files\liblouisxml\etc\tables
> > >   >   >   > 
> > >   >   >   >   ----- Original Message ----- 
> > >   >   >   >   From: John J. Boyer 
> > >   >   >   >   To: liblouis-liblouisxml@xxxxxxxxxxxxx 
> > >   >   >   >   Sent: Saturday, January 31, 2009 4:27 PM
> > >   >   >   >   Subject: [liblouis-liblouisxml] Re: Question aout 
> > liblouisxml structure
> > >   >   >   > 
> > >   >   >   > 
> > >   >   >   >   Michel,
> > >   >   >   > 
> > >   >   >   >   i assume you are using Mingw and Msys. The mysubdir line 
> > was intended >   >   >   >   for building liblouisxml with a Microsoft 
> > compiler such as VC6. On line >   >   >   >   38 of paths.c there is  the 
> > statement:
> > >   >   >   >   #ifdef _WIN32 
> > >   >   >   >   Which checks whether you are compiling under Windows. It 
> > should also be >   >   >   >   possible to check whether you are using 
> > Mingw. I'm not sure just what >   >   >   >   this variable is called. 
> > But if you are compiling under Mingw you want >   >   >   >   to skip all 
> > the code up to line 118, where there is a comment about Unix >   >   >   
> > >   paths. This can be done by modifying the #ifdef statement at line 38. 
> > >   >   >   >   Let's hope someone more familiar with Mingw knows how to 
> > do this.
> > >   >   >   > 
> > >   >   >   >   Once this is done, we will have to decide on a suitable 
> > value for the >   >   >   >   --prefix option in configure for both 
> > liblouis and liblouisxml. >   >   >   > 
> > >   >   >   >   John
> > >   >   >   > 
> > >   >   >   > 
> > >   >   >   >   On Sat, Jan 31, 2009 at 02:55:54PM +0100, Michel such 
> > wrote:
> > >   >   >   >   > Hi all,
> > >   >   >   >   > 
> > >   >   >   >   > After 2 weeks of hard fight, I finally succeeded 
> > building liblouisxml under Windows.
> > >   >   >   >   > 
> > >   >   >   >   > Now a question:
> > >   >   >   >   > 
> > >   >   >   >   > I have changed the file paths.c (line 114).
> > >   >   >   >   > I replaced yoursubdir by a directory name of mine (I 
> > called it "tables").
> > >   >   >   >   > As I understand, this directory should contain 
> > conversion tables and maybe cfg files.
> > >   >   >   >   > 
> > >   >   >   >   > Where should this directory be located in the 
> > liblouisxml directory structure?
> > >   >   >   >   > I currently have a standard structire (bin, etc, 
> > include...)
> > >   >   >   >   -- 
> > >   >   >   >   My websites:
> > >   >   >   >   http://www.godtouches.org
> > >   >   >   >   http://www.jjb-software.com
> > >   >   >   >   Location: Madison, WI, USA
> > >   >   >   > 
> > >   >   >   >   For a description of the software and to download it go to
> > >   >   >   >   http://www.jjb-software.com
> > >   >   > 
> > >   >   >   -- 
> > >   >   >   My websites:
> > >   >   >   http://www.godtouches.org
> > >   >   >   http://www.jjb-software.com
> > >   >   >   Location: Madison, WI, USA
> > >   >   > 
> > >   >   >   For a description of the software and to download it go to
> > >   >   >   http://www.jjb-software.com
> > >   > 
> > >   > 
> > >   > 
> > >   >   -- 
> > >   >   My websites:
> > >   >   http://www.godtouches.org
> > >   >   http://www.jjb-software.com
> > >   >   Location: Madison, WI, USA
> > >   > 
> > >   >   For a description of the software and to download it go to
> > >   >   http://www.jjb-software.com
> > > 
> > > 
> > > 
> > >   -- 
> > >   John J. Boyer, Executive Director
> > >   GodTouches Digital Ministry, Inc.
> > >   http://www.godtouches.org
> > >   Madison, Wisconsin, USA
> > >   Peace, Love, Service
> > > 
> > >   For a description of the software and to download it go to
> > >   http://www.jjb-software.com
> >
> > -- 
> > My websites:
> > http://www.godtouches.org
> > http://www.jjb-software.com
> > Location: Madison, WI, USA
> >
> > For a description of the software and to download it go to
> > http://www.jjb-software.com
> >
> > 
> >
> 
> For a description of the software and to download it go to
> http://www.jjb-software.com

-- 
My websites:
http://www.godtouches.org
http://www.jjb-software.com
Location: Madison, WI, USA

For a description of the software and to download it go to
http://www.jjb-software.com

Other related posts: