Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo

Close

#164 Fix --enable-win32-relocatable

0.60
open
nobody
None
5
2010-04-19
2010-04-19
Martin Schlemmer
No

Hi

I did see that there is an older patch to do this, but I do not use Visual Studio for building, but MSYS/MinGW. Also that patch do not handle cases where you link against the DLL but the linked application is not in the same directory as the DLL, which this one does.

Patch is against 0.60.6 release version. Ask if more information is required.

Regards

Martin

Discussion

  • Sorry, uploaded earlier version with some issues.

     
  • Kevin Atkinson
    Kevin Atkinson
    2010-04-19

    Please include a Copyright notice at the top of dir_utils.cpp. See other files for a model. The copyright should be yours. If you got the code from somewhere else please give credit, and briefly indicate what changes you made.

    I will likely include in Aspell 0.60.7.

     
  • Kevin Atkinson
    Kevin Atkinson
    2010-04-19

    • milestone: --> 0.60
     
  • aspell-0.60.6-win32.patch (updated)

     
  • Added copyright, some notes, cleanups and tried to get the code formatting a bit more like the rest of Aspell. Let me know if anything is still out of order.

     
  • Kevin Atkinson
    Kevin Atkinson
    2010-04-20

    Thanks,

    Can you please look at the patch at http://www.wxperl.co.uk/aspell/ and tell me how it compares to yours. They both seam to do about the same thing and I can't include them both.

     
  • Hmm, guess Google is not the answer to everything.

    Anyhow, in spirit they are the same, that one just assumed that the DLL will be called "libaspell-15.dll" which I did not want to assume. So I guess it will be a choice between an extra dependency (Psapi), or changing the string for the DLL name when a major version updates occurs.

    I have no idea what people using VC++ are doing, so both could make assumptions about the name (for instance VC++ could just generate "aspell.dll"), but I guess that is something a person using that will have to attend to.

    Lastly, the last hunk of that patch (touching file_util.cpp) is rather another bug which I also ran into, but just did not report yet.

     
  • Kevin Atkinson
    Kevin Atkinson
    2010-04-20

    What is psapi, is it fairly common on Windows?

     
  • Kevin Atkinson
    Kevin Atkinson
    2010-04-20

    Also, it seams like the DLL name should be known when compiling...

     
  • It is the API used for EnumProcessModules() and GetModuleFileNameEx(), and only available from Windows 2000 and later, so if Win9x should still be supported, it will be a problem.

    I come more from a Linux/MinGW background than VC++, so I do not know what libtool does when using VC++. For MSYS/MinGW it generates it (like *nix environments) from the -version-info argument. Seems like it creates it for MSYS/MinGW as <libname>-<major - 1>.dll

    Anyhow, either leave as is, don't version the DLL (which might get you into trouble later on), or just hope libtool keep its versioning and do it automatically.

    I did last with that patch, and also fixed a problem where they changed the dict and data dirs, but did not reflect it during configure stage, so the data files still installed to lib/aspell-0.60.

    Patch follows.