On Fri, May 31, 2013 at 11:30:57AM +0200, Branko Čibej wrote: > I meant specifically the bit that prints that warning, which maybe shouldn't > be quite so platform-agnostic.
Agreed. I don't have a windows box to test the following patch on: Index: build/generator/gen_base.py =================================================================== --- build/generator/gen_base.py (revision 1488101) +++ build/generator/gen_base.py (working copy) @@ -239,8 +239,7 @@ class GeneratorBase: except: pass os.rename(new_hdrfile, hdrfile) - @staticmethod - def write_errno_table(): + def write_errno_table(self): # ### We generate errorcode.inc at autogen.sh time (here!). # ### # ### Currently it's only used by maintainer-mode builds. If this @@ -278,9 +277,12 @@ class GeneratorBase: ## sanity check intersection = set(errno.errorcode.keys()) & set(dict(aprerr).keys()) - if intersection: + if self.errno_filter(intersection): print("WARNING: errno intersects APR error codes: %r" % intersection) + def errno_filter(self, codes): + return codes + class DependencyGraph: """Record dependencies between build items. Index: build/generator/gen_win.py =================================================================== --- build/generator/gen_win.py (revision 1488100) +++ build/generator/gen_win.py (working copy) @@ -337,6 +337,11 @@ class WinGeneratorBase(GeneratorBase): else: print("%s not found; skipping SWIG file generation..." % self.swig_exe) + def errno_filter(codes): + "Callback for gen_base.write_errno_table()." + # Filter out apr_errno.h SOC* codes, which alias the windows API names. + return set(filter(lambda code: not (10000 <= code <= 10100), codes)) + def find_rootpath(self): "Gets the root path as understand by the project system" return os.path.relpath('.', self.projfilesdir) + "\\"