MSYS patch

Kevin Tew <[email protected]>
Newsgroups gmane.comp.gnu.aspell.devel
Message-ID <[email protected]>
The Makefile.am diff you may have issue with, MSYS's automake doesn't 
seem to preserve the \ at the end of lines when appended to 
libaspell_la_SOURCES inside a AM conditional
note that modules/filter/genconv.cpp gets appended twice so I removed it 
from my long single line append
I don't think these changes would hurt.

get_module_handle assumes static lib and returns 0
GetModuleHandle will return the handle to a dll if it is loaded ( 
dynameic link ) or NULL if the dll is not found ( static link )
NULL = reinterpret_cast<HMODULE>0
This is actually cleaner in my opinion.
I also include settings.h before #IF WIN32PORT
because the configure.ac change I made adds WIN32PORT to settings.h for msys

I couple of things I'm not sure how to do:
1)  -lole32 needs to be added to the ASPELL_SOURCE_ROOT/libtool file on 
the postdeps line  ( grep shell32 libtool find this line )
libtool is a generated file and I'm not sure how to modify it
I guess I could add $(OLE32) to aspell_LDADD and have configure setup 
the OLE32 var
2) -Wl,--enable-runtime-pseudo-reloc  needs to be appended to the 
CXXLINK for msys

I curious to get some feedback

Kevin



diff -ur aspell/Makefile.am aspell-work/Makefile.am
--- aspell/Makefile.am Thu Jan 27 11:17:53 2005
+++ aspell-work/Makefile.am Wed Feb  2 13:40:58 2005
@@ -150,7 +150,8 @@
 #   since it is used by other filters.  The actual genconv filter
 #   is just a small wrapper.
 
-libaspell_la_SOURCES += modules/filter/url.cpp  \
+libaspell_la_SOURCES += \
+                        modules/filter/url.cpp  \
                         modules/filter/genconv.cpp
 static_optfiles = modules/filter/url-filter.info\
                   modules/filter/genconv-filter.info
@@ -204,14 +205,7 @@
 ### Add your filter sources here,
 ### starting with file containing filter class definition followed by
 ### file containing filter member implementation.
-libaspell_la_SOURCES +=\
-  modules/filter/email.cpp\
-  modules/filter/tex.cpp\
-  modules/filter/sgml.cpp\
-  modules/filter/context.cpp\
-  modules/filter/nroff.cpp\
-  modules/filter/texinfo.cpp\
-  modules/filter/genconv.cpp
+libaspell_la_SOURCES += modules/filter/email.cpp modules/filter/tex.cpp 
modules/filter/sgml.cpp modules/filter/context.cpp 
modules/filter/nroff.cpp Modules/filter/texinfo.cpp
 
 else # not COMPILE_IN_FILTERS
 
diff -ur aspell/common/config.cpp aspell-work/common/config.cpp
--- aspell/common/config.cpp Mon Dec 27 20:42:23 2004
+++ aspell-work/common/config.cpp Wed Feb  2 13:51:38 2005
@@ -9,12 +9,12 @@
 #include <string.h>
 #include <stdlib.h>
 #include <assert.h>
+#include "settings.h"
 #ifdef WIN32PORT
 #include <windows.h>// GetModuleFilename
 #include <shlobj.h> // SHGetSpecialFolderLocation
 extern void * get_module_handle();
 #endif
-#include "settings.h"
 #include "dirs.h"
 
 #ifdef USE_LOCALE
@@ -618,7 +618,7 @@
       else if (strcmp(i, "prefix") == 0) {
 
         char * buff = new char [MAX_PATH];
-        HMODULE hand = reinterpret_cast<HMODULE> (get_module_handle());
+        HMODULE hand = GetModuleHandle("libaspell-15.dll");
         if (GetModuleFileName(hand, buff, MAX_PATH)) {
           //convert all \ chars to /
           for (char *ptr = buff; *ptr; ++ptr)
diff -ur aspell/configure.ac aspell-work/configure.ac
--- aspell/configure.ac Sat Jan  1 18:12:26 2005
+++ aspell-work/configure.ac Wed Feb  2 13:48:15 2005
@@ -146,6 +146,12 @@
   AC_DEFINE(ENABLE_WIN32_RELOCATABLE, 1, [Defined if win32 relocation 
should be used])
 fi
 
+case $host in
+  *-*-mingw32* | *-*-windows*)
+    AC_DEFINE(WIN32PORT, 1, [Defined if host platform is WIN32])
+  ;;
+esac
+
 # DL stuff
 AC_CHECK_HEADERS(dlfcn.h)
 AC_CHECK_LIB(dl, dlopen)
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.