Hi folks,

Attached is a little patch for aspell-0.60.5.  The patch has two parts:

1) Makefile.am: corrected some path references to various perl scripts
        and generated files so the project builds correctly with a VPATH
        build (when srcdir != builddir).  I don't consider this critical,
        but nevertheless I offer it up.  (I excluded the Makefile.in
        changes because my autotools used in autoreconf are slightly
        newer.)

2) common/string_map.cpp: explicitly instantiate HashTable::erase,
        which is needed for the library, but sometimes dropped at higher
        optimization levels (because it is only implicitly instantiated).
        Tested against a g++-4.2 prerelease, original link-fail reported
        against g++-4.1 -O3 by Chris Clayton (CC'd) to gcc-bugs.

Fang
diff -u -r aspell-0.60.5/Makefile.am aspell-0.60.5-patched/Makefile.am
--- aspell-0.60.5/Makefile.am   2006-12-10 22:36:41.000000000 -0500
+++ aspell-0.60.5-patched/Makefile.am   2007-01-05 13:56:43.000000000 -0500
@@ -12,7 +12,7 @@
 
 PERLPROG = @PERLPROG@
 
-AM_CPPFLAGS = -I${srcdir}/gen -I${srcdir}/common \
+AM_CPPFLAGS = -Igen -I${srcdir}/common \
               -I${srcdir}/interfaces/cc/ -I${srcdir}/modules/speller/default/
 
 SUFFIXES = .info
@@ -237,15 +237,18 @@
 opt_DATA = $(dynamic_optfiles)
 filter_DATA = $(fltfiles)
 
+PREPEND_SRCDIR_AWK = $(AWK) '{ ntoks=split($$0,toks); for(i=0;i<ntoks;++i) 
print "$(srcdir)/" toks[i]; }'
+
 # settings.h added as a dependency so it will get recreated if
 #   the COMPILE_IN_FILTERS option changes
-gen/static_filters.src.cpp: ${static_optfiles} gen/mk-static-filter.pl 
gen/settings.h
-       ${PERLPROG} gen/mk-static-filter.pl ${static_optfiles}
+gen/static_filters.src.cpp: ${static_optfiles} 
$(srcdir)/gen/mk-static-filter.pl gen/settings.h
+       ${PERLPROG} $(srcdir)/gen/mk-static-filter.pl \
+               `echo "${static_optfiles}" | $(PREPEND_SRCDIR_AWK)`
 
 lib/new_filter.cpp: gen/static_filters.src.cpp
 
-gen/filter.pot: gen/mk-filter-pot.pl ${static_optfiles} ${dynamic_optfiles}
-       ${PERLPROG} gen/mk-filter-pot.pl
+gen/filter.pot: $(srcdir)/gen/mk-filter-pot.pl ${static_optfiles} 
${dynamic_optfiles}
+       ${PERLPROG} $(srcdir)/gen/mk-filter-pot.pl
 
 EXTRA_DIST += ${static_optfiles} ${dynamic_optfiles} ${fltfiles} \
               gen/mk-static-filter.pl gen/mk-filter-pot.pl\
@@ -260,8 +263,8 @@
 
 common/config.cpp: gen/dirs.h
 
-gen/dirs.h: gen/mk-dirs_h.pl
-       cd gen; perl mk-dirs_h.pl ${prefix} ${pkgdatadir} ${pkglibdir}  
${sysconfdir} >  dirs.h
+gen/dirs.h: $(srcdir)/gen/mk-dirs_h.pl
+       cd gen; perl ../$(srcdir)/gen/mk-dirs_h.pl ${prefix} ${pkgdatadir} 
${pkglibdir}  ${sysconfdir} >  dirs.h
 
 EXTRA_DIST += gen/mk-dirs_h.pl
 CLEANFILES += gen/dirs.h
diff -u -r aspell-0.60.5/common/string_map.cpp 
aspell-0.60.5-patched/common/string_map.cpp
--- aspell-0.60.5/common/string_map.cpp 2006-01-22 08:04:46.000000000 -0500
+++ aspell-0.60.5-patched/common/string_map.cpp 2007-01-05 15:07:36.000000000 
-0500
@@ -23,6 +23,8 @@
            HashTable<StringMap::Parms>::insert(const StringPair &);
   template void HashTable<StringMap::Parms>::init(unsigned int);
   template void HashTable<StringMap::Parms>::del(void);
+  template HashTable<StringMap::Parms>::size_type
+           HashTable<StringMap::Parms>::erase(char const* const&);
   template void BlockSList<StringPair>::clear(void);
 
   void StringMap::copy(const StringMap & other)
_______________________________________________
Aspell-devel mailing list
Aspell-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/aspell-devel

Reply via email to