I'm in the middle of building Pike 7.9 on windows and am running into a few problems getting CritBit to compile. I've only spent a few minutes looking into the problems, but thought I should report them here, in case anyone has insight into how they should be resolved:
1. Windows doesn't have stdint.h; depending on how heavily CritBit relies on this header, it may be possible to use a substitute file from the following project (it at least shuts the compiler up): http://code.google.com/p/msinttypes/
2. There seems to be some sort of problem with the generated C code from the new template based CMOD. The .c file was generated by 7.9.5 running on my Darwin system, so it just seems like the MS C compiler (CL.EXE) doesn't like something. I suspect it has something to do with lines like the following:
# 1 "src/post_modules/CritBit/inttree.cmod"
I've included the error below. Do let me know if I can provide any additional details.
Best,
Bill
Compiling post_modules/CritBit/inttree.c src/post_modules/CritBit/inttree.cmod(1) : error C2019: expected preprocessor directive, found '1' src/post_modules/CritBit/inttree.cmod(1) : error C2019: expected preprocessor directive, found '2' /usr/local/pike/7.9.5/lib/modules/Tools.pmod/Standalone.pmod/precompile.pike(2739) : error C2019: expected preprocessor directive, found '1' z:\pike-git\src\post_modules\critbit\tree_low.c(185) : warning C4028: formal parameter 2 different from declaration z:\pike-git\src\post_modules\critbit\tree_low.c(365) : warning C4028: formal parameter 1 different from declaration z:\pike-git\src\post_modules\critbit\tree_high.c(46) : warning C4028: formal parameter 2 different from declaration src/post_modules/CritBit/inttree.cmod(39) : error C2019: expected preprocessor directive, found '1' /Users/hww3/pike-git/src/post_modules/CritBit/redefine.H(54) : error C2010: '.' : unexpected in macro formal parameter list /Users/hww3/pike-git/src/post_modules/CritBit/redefine.H(61) : error C2019: expected preprocessor directive, found '3' src/post_modules/CritBit/inttree.cmod(41) : error C2019: expected preprocessor directive, found '1' /Users/hww3/pike-git/src/post_modules/CritBit/tree_header.H(141) : error C2019: expected preprocessor directive, found '4' src/post_modules/CritBit/inttree.cmod(42) : error C2019: expected preprocessor directive, found '1' /Users/hww3/pike-git/src/post_modules/CritBit/iterator_source.H(249) : error C2019: expected preprocessor directive, found '4' src/post_modules/CritBit/inttree.cmod(45) : error C2019: expected preprocessor directive, found '1' /Users/hww3/pike-git/src/post_modules/CritBit/tree_source.H(689) : error C2019: expected preprocessor directive, found '4' src/post_modules/CritBit/inttree.cmod(128) : error C2019: expected preprocessor directive, found '1' /Users/hww3/pike-git/src/post_modules/CritBit/redefine.H(61) : error C2019: expected preprocessor directive, found '1' src/post_modules/CritBit/inttree.cmod(130) : error C2019: expected preprocessor directive, found '1' /Users/hww3/pike-git/src/post_modules/CritBit/tree_header.H(141) : error C2019: expected preprocessor directive, found '1' src/post_modules/CritBit/inttree.cmod(131) : error C2019: expected preprocessor directive, found '1' /Users/hww3/pike-git/src/post_modules/CritBit/iterator_source.H(249) : error C2019: expected preprocessor directive, found '1' src/post_modules/CritBit/inttree.cmod(134) : error C2019: expected preprocessor directive, found '1' /Users/hww3/pike-git/src/post_modules/CritBit/prefix.H(13) : error C2019: expected preprocessor directive, found '1' src/post_modules/CritBit/inttree.cmod(135) : error C2019: expected preprocessor directive, found '1' /Users/hww3/pike-git/src/post_modules/CritBit/tree_source.H(689) : error C2019: expected preprocessor directive, found '1' CL returned error code 2. WARNING: Compiler failure! Trying without optimization! src/post_modules/CritBit/inttree.cmod(1) : error C2019: expected preprocessor directive, found '1' src/post_modules/CritBit/inttree.cmod(1) : error C2019: expected preprocessor directive, found '2' /usr/local/pike/7.9.5/lib/modules/Tools.pmod/Standalone.pmod/precompile.pike(2739) : error C2019: expected preprocessor directive, found '1' z:\pike-git\src\post_modules\critbit\tree_low.c(185) : warning C4028: formal parameter 2 different from declaration z:\pike-git\src\post_modules\critbit\tree_low.c(365) : warning C4028: formal parameter 1 different from declaration z:\pike-git\src\post_modules\critbit\tree_high.c(46) : warning C4028: formal parameter 2 different from declaration src/post_modules/CritBit/inttree.cmod(39) : error C2019: expected preprocessor directive, found '1' /Users/hww3/pike-git/src/post_modules/CritBit/redefine.H(54) : error C2010: '.' : unexpected in macro formal parameter list /Users/hww3/pike-git/src/post_modules/CritBit/redefine.H(61) : error C2019: expected preprocessor directive, found '3' src/post_modules/CritBit/inttree.cmod(41) : error C2019: expected preprocessor directive, found '1' /Users/hww3/pike-git/src/post_modules/CritBit/tree_header.H(141) : error C2019: expected preprocessor directive, found '4' src/post_modules/CritBit/inttree.cmod(42) : error C2019: expected preprocessor directive, found '1' /Users/hww3/pike-git/src/post_modules/CritBit/iterator_source.H(249) : error C2019: expected preprocessor directive, found '4' src/post_modules/CritBit/inttree.cmod(45) : error C2019: expected preprocessor directive, found '1' /Users/hww3/pike-git/src/post_modules/CritBit/tree_source.H(689) : error C2019: expected preprocessor directive, found '4' src/post_modules/CritBit/inttree.cmod(128) : error C2019: expected preprocessor directive, found '1' /Users/hww3/pike-git/src/post_modules/CritBit/redefine.H(61) : error C2019: expected preprocessor directive, found '1' src/post_modules/CritBit/inttree.cmod(130) : error C2019: expected preprocessor directive, found '1' /Users/hww3/pike-git/src/post_modules/CritBit/tree_header.H(141) : error C2019: expected preprocessor directive, found '1' src/post_modules/CritBit/inttree.cmod(131) : error C2019: expected preprocessor directive, found '1' /Users/hww3/pike-git/src/post_modules/CritBit/iterator_source.H(249) : error C2019: expected preprocessor directive, found '1' src/post_modules/CritBit/inttree.cmod(134) : error C2019: expected preprocessor directive, found '1' /Users/hww3/pike-git/src/post_modules/CritBit/prefix.H(13) : error C2019: expected preprocessor directive, found '1' src/post_modules/CritBit/inttree.cmod(135) : error C2019: expected preprocessor directive, found '1' /Users/hww3/pike-git/src/post_modules/CritBit/tree_source.H(689) : error C2019: expected preprocessor directive, found '1' CL returned error code 2. Compilation command was: /Users/hww3/pike-git/bin/smartlink rntcl -I. -I/Users/hww3/pike-git/src/post_modules/CritBit -I/Users/hww3/pike-git/build/windows_xp-5.1.2600-i686 -I/Users/hww3/pike-git/src -IZ:/win32libs/include -I/Users/hww3/pike-git/build/windows_xp-5.1.2600-i686/bundles/include -DHAVE_CONFIG_H -g -MD -DDYNAMIC_MODULE -c /Users/hww3/pike-git/src/post_modules/CritBit/inttree.c -o inttree.o