Ticket #496: patch5.patch

File patch5.patch, 16.2 KB (added by Charlie Hull, 14 years ago)

Patch for MSVC makefiles - 1.0.21

  • ChangeLog

     
     1Tue Jun 22 15:38:20 GMT 2010  Charlie Hull <charlie@flax.co.uk>
    12
     3    *  Makefile: prevent overwriting of xapian-bindings-1.x.x/xapian-version.h
     4    in packaged releases
     5    * win32_matcher.mak: multixorpostlist.cc replaces xorpostlist.cc
     6    * README: clarify deps.d and compilation errors behaviour
     7    * win32_bindings_python.mak: add test_xapian_star.py (even thought this is
     8    missing from the package at present)
     9    * makebinaries.py : change to match new Flax website
     10   
     11Fri Apr 16 09:30:20 GMT 2010  Charlie Hull <charlie@flax.co.uk>
    212
    3         * Patch from ticket#466:
    4         * win32_tests.mak: add api_none.cc and api_replacedoc.cc to list
    5           of sources
    6         * win32_applications_omega.cc: remove extra getopt.cc from sources,
    7           change dirent.cc to msvc_dirent.cc
    8         * makebinaries.py: use Python 2.6.4
    9         * xapdep/xapdep.c: improve checking for redundant strings in dep file
     13    * win32_tests.mak: add api_none.cc and api_replacedoc.cc to list
     14    of sources
     15    * win32_applications_omega.cc: remove extra getopt.cc from sources,
     16    change dirent.cc to msvc_dirent.cc
     17    * makebinaries.py: use Python 2.6.4
     18    * xapdep/xapdep.c: improve checking for redundant strings in dep file
    1019
    1120Wed Mar 17 01:20:08 GMT 2010  Olly Betts <olly@survex.com>
    1221
     
    5160Mon Jun 22 15:30:00 GMT 2009  Charlie Hull <charlie@flax.co.uk>
    5261
    5362        * Makefile, win32_bindings_python.mak, config.mak, makebinaries.py: add
    54           Python 2.6 option
     63          Python 2.6 option 
    5564
    5665Tue Apr 21 13:33:51 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
    5766
     
    7079        * win32_bindings_php.mak,win32_bindings_csharp.mak,
    7180          win32_bindings_java-swig.mak,win32_bindings_ruby.mak: add example
    7281          and doc files where they exist and DIST build target.
    73         * config.mak,win32_bindings_python.mak: add ability to build two
     82        * config.mak,win32_bindings_python.mak: add ability to build two 
    7483          different Python versions, and add example files, and change
    7584          BUILDDIST to DIST for consistency with other bindings.
    7685        * setup.py: add example & documentation files for Python.
  • config.h.omega.win32

     
    8383#define PACKAGE_NAME "xapian-omega"
    8484
    8585/* Define to the full name and version of this package. */
    86 #define PACKAGE_STRING "xapian-omega 1.0.14"
     86#define PACKAGE_STRING "xapian-omega 1.0.21"
    8787
    8888/* Define to the one symbol short name of this package. */
    8989#define PACKAGE_TARNAME "xapian-omega"
    9090
    9191/* Define to the version of this package. */
    92 #define PACKAGE_VERSION "1.0.14"
     92#define PACKAGE_VERSION "1.0.21"
    9393
    9494/* Define to the name of a function implementing snprintf but not caring about
    9595   ISO C90 return value semantics (if one exists) */
     
    106106/* USE_ICONV */
    107107
    108108/* Version number of package */
    109 #define VERSION "1.0.14"
     109#define VERSION "1.0.21"
    110110
    111111/* Define to 1 if your processor stores words with the most significant byte
    112112   first (like Motorola and SPARC, unlike Intel and VAX). */
  • config.h.win32

     
    9999#define PACKAGE_NAME "xapian-core"
    100100
    101101/* Define to the full name and version of this package. */
    102 #define PACKAGE_STRING "xapian-core 1.0.14"
     102#define PACKAGE_STRING "xapian-core 1.0.21"
    103103
    104104/* Define to the one symbol short name of this package. */
    105105#define PACKAGE_TARNAME "xapian-core"
    106106
    107107/* Define to the version of this package. */
    108 #define PACKAGE_VERSION "1.0.14"
     108#define PACKAGE_VERSION "1.0.21"
    109109
    110110/* explicit prototype needed for pread (if any) */
    111111/* #undef PREAD_PROTOTYPE */
     
    128128#define STDC_HEADERS 1
    129129
    130130/* Version number of package */
    131 #define VERSION "1.0.14"
     131#define VERSION "1.0.21"
    132132
    133133/* Define if you want debugging to be enabled (will cause some slow down) */
    134134/* #undef XAPIAN_DEBUG */
  • config.mak

     
    2424# win32_applications_omega.mak
    2525# win32_bindings_python.mak
    2626# and any other bindings mak files
    27 XAPIAN_APPLICATIONS=..\..\xapian-omega
    28 XAPIAN_BINDINGS=..\..\xapian-bindings
     27XAPIAN_APPLICATIONS=..\..\xapian-omega-1.0.21
     28XAPIAN_BINDINGS=..\..\xapian-bindings-1.0.21
    2929
    3030#  ------------- Perl settings-------------
    3131# Perl folder
  • makebinaries.py

     
    136136ofi = open(newhtml, "w")
    137137print >> ofi, r"<html><head></head><body><table>"
    138138print >> ofi, r"<!-- cut and paste from after here -->"
    139 print >> ofi, r'<tr><td><b>' + rev + '</b><br><br>'
    140 print >> ofi, r'<a href=xapian/' + revnodots + '/xapian-core-' + rev + '.tar.gz>xapian-core-' + rev + '.tar.gz</a><br>'
    141 print >> ofi, r'<a href=xapian/' + revnodots + '/xapian-bindings-' + rev + '.tar.gz>xapian-bindings-' + rev + '.tar.gz</a><br>'
    142 print >> ofi, r'<a href=xapian/' + revnodots + '/xapian-omega-' + rev + '.tar.gz>xapian-omega-' + rev + '.tar.gz</a></td>'
    143 print >> ofi, '<td><a href=\"xapian/' + revnodots + '/win32.zip\">win32.zip</a></td>'
    144 print >> ofi, r'<td><a href="xapian/' + revnodots + '/readme.txt\">readme.txt</a></td><td>'
     139print >> ofi, r"       <tr>"
     140print >> ofi, r"        <td class version>"
     141print >> ofi, r"         <h3>" + rev + " <?php binaries_link('xapian/" + revnodots + "/readme.txt'); ?></h3>"
     142print >> ofi, r"         <h4>Source</h4>"
     143print >> ofi, r"         <?php binaries_link('xapian/" + revnodots + "/xapian-core-" + rev + ".tar.gz'); ?>"
     144print >> ofi, r"         <?php binaries_link('xapian/" + revnodots + "/xapian-bindings-" + rev + ".tar.gz'); ?>"
     145print >> ofi, r"         <?php binaries_link('xapian/" + revnodots + "/xapian-omega-" + rev + ".tar.gz'); ?>"
     146print >> ofi, r"         <h4>Build Files</h4>"
     147print >> ofi, r"         <?php binaries_link('xapian/" + revnodots + "/win32.zip'); ?>"
     148print >> ofi, r"        </td>"
     149print >> ofi, r'        <td class="binaries">'
     150print >> ofi, r"          <?php binaries_list(array("
    145151for line in ifi:
    146152    parts = line.split('*')
    147153    print parts
    148154    parts1mod = parts[1].replace("\n","")
    149     print >> ofi, r'<a href="' + newdir + r'/' + parts[1] + r'">' + parts[1] + r'</a> MD5 sum: ' + parts[0] + r'<br>'
     155    print >> ofi, r"            'xapian/" + revnodots + "/" + parts1mod + r"'  => '" + parts[0] + r"',"
    150156   
     157print >> ofi, r"           )); ?>"
     158print >> ofi, r"        </td>"
     159print >> ofi, r"       </tr>"
     160   
    151161print >> ofi, r"<!-- cut and paste to before here -->"
    152162print >> ofi, r"</table></body></html>"
    153163
  • Makefile

     
    114114   copy  win32_queryparser.mak ..\queryparser\Makefile
    115115   copy  win32_tests.mak ..\tests\Makefile
    116116   copy  win32_testsuite.mak ..\tests\harness\Makefile
    117    if exist $(XAPIAN_BINDINGS) copy $(XAPIAN_BINDINGS)\xapian-version.h.in $(XAPIAN_BINDINGS)\xapian-version.h
    118117   if exist $(XAPIAN_BINDINGS) copy win32_bindings_python.mak $(XAPIAN_BINDINGS)\python\Makefile
    119118   if exist $(XAPIAN_BINDINGS) copy doccomments.i $(XAPIAN_BINDINGS)\python
    120119   if exist $(XAPIAN_BINDINGS) copy version.rc.python $(XAPIAN_BINDINGS)\python\version.rc
  • README

     
    11README for Xapian/Visual C++ Tools
    22==================================
    3 2010-04-16 for Xapian 1.0.19
     32010-06-22 for Xapian 1.0.21
    44
    55Make files, some extra headers and associated tools for compiling Xapian on
    66Win32 using the Microsoft Visual C++ compilers. This is particularly useful
     
    5454  not expect it to cause serious problems.
    5555
    5656- To get round the fact that MSVC doesn't do dependency checking correctly,
    57 we use an external program 'xapdep'. Each Makefile use the -showIncludes switch of the MSVC
    58 compiler to generate a list of includes, which xapdep then processes and inserts
    59 into the Makefile in the various subdirectories.
     57  we use an external program 'xapdep'. Each Makefile use the -showIncludes switch of the MSVC
     58  compiler to generate a list of includes as deps.d, which xapdep then processes and inserts
     59  into the Makefile in the various subdirectories. An unfortunate side effect is that
     60  details of any compilation errors may be hidden: if you see:
    6061
     62  NMAKE : fatal error U1077: 'cl.exe' : return code '0x2'
     63
     64  this signifies a compilation error while dependencies were being checked. Look at the file
     65  deps.d in the appropriate folder to see what actually caused the failure.
     66 
     67- Note that this version does not pass the 'replicate3' test currently with the Flint database.
     68  This may indicate a problem with the replication system on Windows, or may be a
     69  an issue with the test itself. We thus do not recommend the use of the replication
     70  system and the Flint database on Windows until this is resolved - see
     71  http://trac.xapian.org/ticket/472 for more details.
     72 
     73- Note that one of the Python tests currently fails due a missing file (test_xapian_star.py).
     74  This test failure can safely be ignored for now - if you want to use MAKEALLBINDINGS you
     75  can copy the missing file from Xapian's SVN archive in branch/1.0/xapian-bindings.
     76
    6177TODOS
    6278=====
    6379
     
    117133
    118134You will then need to edit "xapian\xapian-core\win32\config.mak" as
    119135described in step 4 in the previous section ("How do I get the released
    120 sources?").
     136sources?"). 
    121137
    122138What do I need to compile it?
    123139=============================
     
    216232   - to build and run the test suite
    2172335b) nmake
    218234   - to just build.
     235   
     236**NOTE: if you get the following error:
    219237
     238    NMAKE : fatal error U1077: 'cl.exe' : return code '0x2'
     239
     240    this signifies a compilation error while dependencies were being checked. Look at the file
     241    deps.d in the appropriate folder to see what actually caused the failure.
     242
    220243To build the bindings (do steps 1-5 above first to make sure you have Xapian built):
    221244
    2222456) cd to xapian-core-0.x.y\win32 or the appropriate path on your system.
    223 7) edit
    224   win32_bindings_python.mak
    225   win32_bindings_php.mak
    226   win32_bindings_ruby.mak
    227   win32_bindings_java-swig.mak
    228   win32_bindings_csharp.mak
    229     to suit your environment (XAPIAN_CORE_REL_PYTHON or similar)
     2467) edit XAPIAN_CORE_REL_.. in the win32_bindings_xx.mak file(s) for each binding you are
     247building to suit your environment
    2302488) nmake COPYMAKFILES
    231249   - to make sure this change is copied to the build folder (this is also done by a rebuild of Xapian)
    2322509) cd to ..\..\xapian-bindings-0.x.y\ and then the binding folder (php, python etc.)
     
    244262    nmake PYTHON_VER=24 ..
    245263 to make bindings for Python 2.4 or
    246264    nmake PYTHON_VER=25 ..
     265 or
     266    nmake PYTHON_VER=26 ..
    247267   
    24826811f) For Ruby only, use
    249269    nmake INSTALL
    250270 to install the bindings to the standard Ruby library folder.
    251  
    252  
     271 
    253272 To build *all* the bindings (usually only done by those distributing binaries):
    254273
    25527412) cd to xapian-core-0.x.y\win32 or the appropriate path on your system.
     
    259278
    260279 To build Omega (do steps 1-5 above first to make sure you have Xapian built):
    261280
    262 14) edit win32_applications_omega.mak to suit your environment (XAPIAN_CORE_REL_OMEGA)
     28114) edit XAPIAN_CORE_REL_OMEGA in win32_applications_omega.mak to suit your environment
    26328215) nmake COPYMAKFILES
    264283   - to make sure this change is copied to the build folder
    26528416) cd to ..\..\omega-0.x.y
  • win32_applications_omega.mak

     
    1010
    1111# Where the core is, relative to the Omega application
    1212# Change this to match your environment
    13 XAPIAN_CORE_REL_OMEGA=..\xapian-core-1.0.19
     13XAPIAN_CORE_REL_OMEGA=..\xapian-core-1.0.21
    1414
    1515!IF "$(OS)" == "Windows_NT"
    1616NULL=
  • win32_bindings_csharp.mak

     
    77# Where the core is, relative to the Csharp bindings
    88# Change this to match your environment
    99
    10 XAPIAN_CORE_REL_CSHARP=..\..\xapian-core
     10XAPIAN_CORE_REL_CSHARP=..\..\xapian-core-1.0.21
    1111OUTLIBDIR=$(XAPIAN_CORE_REL_CSHARP)\win32\$(XAPIAN_DEBUG_OR_RELEASE)\libs
    1212
    1313!INCLUDE $(XAPIAN_CORE_REL_CSHARP)\win32\config.mak
  • win32_bindings_java-swig.mak

     
    77# Where the core is, relative to the Java Swig bindings
    88# Change this to match your environment
    99
    10 XAPIAN_CORE_REL_JAVA=..\..\xapian-core
     10XAPIAN_CORE_REL_JAVA=..\..\xapian-core-1.0.21
    1111OUTLIBDIR=$(XAPIAN_CORE_REL_JAVA)\win32\$(XAPIAN_DEBUG_OR_RELEASE)\libs
    1212
    1313!INCLUDE $(XAPIAN_CORE_REL_JAVA)\win32\config.mak
  • win32_bindings_php.mak

     
    77
    88# Where the core is, relative to the PHP bindings
    99# Change this to match your environment
    10 XAPIAN_CORE_REL_PHP=..\..\xapian-core
     10XAPIAN_CORE_REL_PHP=..\..\xapian-core-1.0.21
    1111
    1212OUTLIBDIR=$(XAPIAN_CORE_REL_PHP)\win32\$(XAPIAN_DEBUG_OR_RELEASE)\libs
    1313
  • win32_bindings_python.mak

     
    99# Where the core is, relative to the Python bindings
    1010# Change this to match your environment
    1111
    12 XAPIAN_CORE_REL_PYTHON=..\..\xapian-core
     12XAPIAN_CORE_REL_PYTHON=..\..\xapian-core-1.0.21
    1313
    1414OUTLIBDIR=$(XAPIAN_CORE_REL_PYTHON)\win32\$(XAPIAN_DEBUG_OR_RELEASE)\libs
    1515
     
    5151
    5252PYTHON_PACKAGE=xapian
    5353
    54 ALL : "$(OUTDIR)\_xapian$(PY_DEBUG_SUFFIX).pyd" "$(OUTDIR)\xapian.py" "$(OUTDIR)\smoketest.py" "$(OUTDIR)\pythontest.py" "$(OUTDIR)\testsuite.py"
     54ALL : "$(OUTDIR)\_xapian$(PY_DEBUG_SUFFIX).pyd" "$(OUTDIR)\xapian.py" "$(OUTDIR)\smoketest.py" "$(OUTDIR)\pythontest.py" "$(OUTDIR)\testsuite.py"  "$(OUTDIR)\test_xapian_star.py"
    5555
    5656CLEANLOCAL:
    5757    -@erase *.pdb
     
    152152"$(OUTDIR)\testsuite.py" : ".\testsuite.py"
    153153        -copy $** "$(OUTDIR)\testsuite.py"
    154154
     155"$(OUTDIR)\test_xapian_star.py" : ".\test_xapian_star.py"
     156        -copy $** "$(OUTDIR)\test_xapian_star.py"
    155157#
    156158# Rules
    157159#
  • win32_bindings_ruby.mak

     
    77
    88# Where the core is, relative to the Ruby bindings
    99# Change this to match your environment
    10 XAPIAN_CORE_REL_RUBY=..\..\xapian-core
     10XAPIAN_CORE_REL_RUBY=..\..\xapian-core-1.0.21
    1111
    1212OUTLIBDIR=$(XAPIAN_CORE_REL_RUBY)\win32\$(XAPIAN_DEBUG_OR_RELEASE)\libs
    1313
  • win32_matcher.mak

     
    2626    $(INTDIR)\msetpostlist.obj\
    2727    $(INTDIR)\multiandpostlist.obj\
    2828    $(INTDIR)\multimatch.obj\
     29    $(INTDIR)\multixorpostlist.obj\
    2930    $(INTDIR)\orpostlist.obj\
    3031    $(INTDIR)\phrasepostlist.obj\
    3132    $(INTDIR)\queryoptimiser.obj\
     
    3738    $(INTDIR)\valuerangepostlist.obj\
    3839    $(INTDIR)\valuegepostlist.obj\
    3940    $(INTDIR)\weight.obj\
    40     $(INTDIR)\xorpostlist.obj\
    4141    $(INTDIR)\remotesubmatch.obj
    4242
    4343
     
    5353    $(INTDIR)\msetpostlist.cc\
    5454    $(INTDIR)\multiandpostlist.cc\
    5555    $(INTDIR)\multimatch.cc\
     56    $(INTDIR)\multixorpostlist.cc\
    5657    $(INTDIR)\orpostlist.cc\
    5758    $(INTDIR)\phrasepostlist.cc\
    5859    $(INTDIR)\queryoptimiser.cc\
     
    6465    $(INTDIR)\valuerangepostlist.cc\
    6566    $(INTDIR)\valuegepostlist.cc\
    6667    $(INTDIR)\weight.cc\
    67     $(INTDIR)\xorpostlist.cc\
    6868    $(INTDIR)\remotesubmatch.cc
    6969
    7070