Ticket #495: patch45.patch

File patch45.patch, 47.0 KB (added by Charlie Hull, 14 years ago)

Replaces patch43, all changes up to v1.2.3

  • ChangeLog

     
     1Fri Sep 03 13:35:00 GMT 2010  Charlie Hull <charlie@flax.co.uk>
     2
     3    * README: remove details of some patches that are no longer necessary
     4    * config.mak, win32_bindings_python.mak, makebinaries.py, Makefile:
     5    add Python 2.7 support
     6    * config.mak, win32_bindings_php.mak, makebinaries.py, Makefile:
     7    add PHP 5.3 support, improve cleanup behaviour
     8
     9Wed Jul 14 15:59:00 GMT 2010  Charlie Hull <charlie@flax.co.uk>
     10
     11    * win32_tests.mak: add unittest
     12    * README: clarify deps.d and compilation errors behaviour, PCRE
     13    requirements
     14    * win32_common.mak, win32_backends_brass.cc, win32_matcher.cc:
     15    remove omdebug.cc, brass_io.cc, rset.cc, localmatch.cc
     16    * win32_matcher.cc: xorpostlist.cc now multixorpostlist.cc, add
     17    localsubmatch.cc
     18    * win32_tests.cc: add missing api_opvalue.cc, api_opsynonym.cc,
     19    api_stem.cc
     20    * win32_bindings_python.mak: copy test_xapian_star.py for testing
     21    * win32_bindings_csharp.mak: add missing StemImplementation.cs
     22    * win32_applications_omega: changed way .objs are listed to match 1.0
     23    branch), add missing object files, add PCRE lib
     24    * config.mak: add PCRE file locations
     25    * win32_languages_mak: use SnowballStemImplementation
     26 
    127Mon May 17 10:37:26 GMT 2010  Richard Boulton <richard@tartarus.org>
    228
    329        Patch from Charlie Hull:
  • 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.11"
     86#define PACKAGE_STRING "xapian-omega 1.2.3"
    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.11"
     92#define PACKAGE_VERSION "1.2.3"
    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.11"
     109#define VERSION "1.2.3"
    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.1.0"
     102#define PACKAGE_STRING "xapian-core 1.2.3"
    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.1.0"
     108#define PACKAGE_VERSION "1.2.3"
    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.1.0"
     131#define VERSION "1.2.3"
    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-applications\omega
     27XAPIAN_APPLICATIONS=..\..\xapian-omega
    2828XAPIAN_BINDINGS=..\..\xapian-bindings
    2929
    3030#  ------------- Perl settings-------------
     
    8787# includes any version numbers and debug suffixes ('_d'))
    8888PYTHON_LIB_DIR_26=$(PYTHON_DIR_26)\libs
    8989
     90# Python folder for 2.7
     91PYTHON_DIR_27=c:\Python27
     92# Python executable
     93PYTHON_EXE_27=$(PYTHON_DIR_27)\python.exe
     94 #PYTHON_INCLUDE : Set this to the directory that contains python.h
     95PYTHON_INCLUDE_27=$(PYTHON_DIR_27)\include
     96#A 'PC' directory is also included for people building from a source tree.
     97PYTHON_INCLUDE_2_27=$(PYTHON_DIR_27)\PC
     98
     99# PYTHON_LIB_DIR : Set this to the directory containing python*.lib
     100# It should only be necessary to change this for source builds of Python,
     101# where the files are in 'PCBuild' rather than 'libs' (this magically works
     102# as Python uses a #pragma to reference the library base name - which
     103# includes any version numbers and debug suffixes ('_d'))
     104PYTHON_LIB_DIR_27=$(PYTHON_DIR_27)\libs
     105
    90106# Python folder for 3.0
    91107PYTHON_DIR_30=c:\Program Files\Python30
    92108# Python executable
     
    109125
    110126# -------------end Python settings-------------
    111127
    112 
    113128# -------------PHP settings-------------
    114129# PHP source folder
    115 PHP_SRC_DIR=C:\work\php-5.2.1
     130PHP52_SRC_DIR=C:\work\php-5.2.1
    116131
    117 PHP_INCLUDE_CPPFLAGS= \
    118 -I "$(PHP_SRC_DIR)" -I "$(PHP_SRC_DIR)\tsrm" -I "$(PHP_SRC_DIR)\Zend" -I "$(PHP_SRC_DIR)\main" -I "$(PHP_SRC_DIR)\regex"  \
    119 -D ZTS=1 -D ZEND_WIN32=1 -D PHP_WIN32=1 -D ZEND_WIN32_FORCE_INLINE -D HAVE_WIN32STD=1 \
     132PHP52_INCLUDE_CPPFLAGS= \
     133-I "$(PHP52_SRC_DIR)" -I "$(PHP52_SRC_DIR)\tsrm" -I "$(PHP52_SRC_DIR)\Zend" -I "$(PHP52_SRC_DIR)\main" -I "$(PHP52_SRC_DIR)\regex"  \
     134-D ZTS=1 -D ZEND_WIN32=1 -D PHP_WIN32=1 -D ZEND_WIN32_FORCE_INLINE -D HAVE_WIN32STD=1
    120135
    121 # version 4 or 5: Define exactly the one you want and leave the other one
    122 # commented out. Note you will have to modify the paths below as well.
    123 #PHP_MAJOR_VERSION = 4
    124 PHP_MAJOR_VERSION = 5
     136# PHP_EXE_DIR: Set this to the folder where the PHP executable is
     137# PHP_LIB : Set this to the path to the PHP library
     138!if "$(DEBUG)"=="1"
     139PHP52_EXE_DIR="$(PHP52_SRC_DIR)\Debug_TS"
     140PHP52_LIB="$(PHP52_EXE_DIR)\php5ts_debug.lib"
     141PHP52_DEBUG_OR_RELEASE= /D "ZEND_DEBUG=1"
     142!else
     143PHP52_EXE_DIR="$(PHP52_SRC_DIR)\Release_TS"
     144PHP52_LIB="$(PHP52_EXE_DIR)\php5ts.lib"
     145PHP52_DEBUG_OR_RELEASE= /D "ZEND_DEBUG=0"
     146!endif
    125147
     148#    PHP executable
     149PHP52_EXE="$(PHP52_EXE_DIR)\PHP.exe"
     150
     151# PHP 5.3.0 only -----------------
     152# We need to build separate bindings for PHP 5.3.0 as the module API has changed
     153
     154# PHP source folder - built from a snapshot according to http://wiki.php.net/internals/windows/stepbystepbuild
     155PHP53_SRC_DIR=C:\php-sdk\php53dev\vc9\x86\php5.3-201009020830
     156
     157PHP53_INCLUDE_CPPFLAGS= \
     158-I "$(PHP53_SRC_DIR)" -I "$(PHP53_SRC_DIR)\tsrm" -I "$(PHP53_SRC_DIR)\Zend" -I "$(PHP53_SRC_DIR)\main" \
     159-D ZTS=1 -D ZEND_WIN32=1 -D PHP_WIN32=1 -D ZEND_WIN32_FORCE_INLINE -D HAVE_WIN32STD=1
     160#-I "$(PHP53_SRC_DIR)\regex"  \
     161
    126162# PHP_EXE_DIR: Set this to the folder where the PHP executable is
    127163# PHP_LIB : Set this to the path to the PHP library
    128164!if "$(DEBUG)"=="1"
    129 PHP_EXE_DIR=C:\php-5.2.1\Debug_TS
    130 PHP_LIB=$(PHP_EXE_DIR)\php5ts_debug.lib
    131 PHP_DEBUG_OR_RELEASE= /D "ZEND_DEBUG=1"
     165PHP53_EXE_DIR="$(PHP53_SRC_DIR)\Debug_TS"
     166PHP53_LIB="$(PHP53_EXE_DIR)\php5ts_debug.lib"
     167PHP53_DEBUG_OR_RELEASE= /D "ZEND_DEBUG=1"
    132168!else
    133 PHP_EXE_DIR=C:\work\php-5.2.1-win32
    134 PHP_LIB=$(PHP_EXE_DIR)\dev\php5ts.lib
    135 PHP_DEBUG_OR_RELEASE= /D "ZEND_DEBUG=0"
     169PHP53_EXE_DIR="$(PHP53_SRC_DIR)\Release_TS"
     170PHP53_LIB="$(PHP53_EXE_DIR)\php5ts.lib"
     171PHP53_DEBUG_OR_RELEASE= /D "ZEND_DEBUG=0"
    136172!endif
    137173
    138174#    PHP executable
    139 PHP_EXE=$(PHP_EXE_DIR)\PHP.exe
     175PHP53_EXE=$(PHP53_EXE_DIR)\PHP.exe
     176# end PHP 5.3.0 only -----------------
     177
    140178# ------------- end PHP settings-------------
    141179
    142180# -------------Ruby settings-------------
     
    171209
    172210# ------------- C# settings ------------
    173211
    174 CSC="$(LIBPATH)\csc.exe"
     212CSC="C:\WINDOWS\Microsoft.NET\Framework\v3.5\csc.exe"
    175213SN="C:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\Bin\sn.exe"
    176214
    177215# ------------- end C# settings ------------
     
    190228ZLIB_LIB_DIR=$(ZLIB_DIR)\lib
    191229ZLIB_BIN_DIR=$(ZLIB_DIR)
    192230
     231PCRE_DIR=C:\Program Files\GnuWin32
     232PCRE_INCLUDE_DIR=$(PCRE_DIR)\include
     233PCRE_LIB_DIR=$(PCRE_DIR)\lib
     234
     235
     236
    193237#--------------------------------------
    194238# Visual C++ Compiler and linker programs, and flags for these
    195239#--------------------------------------
  • makebinaries.py

     
    115115zipit("xapian-%s-examples.zip" % rev,"..\\Release\\copydatabase.exe")
    116116zipandmd5it("xapian-%s-examples.zip" % rev,"..\\Release\\simple*.exe")
    117117zipandmd5it("xapian-%s-tools.zip" % rev,"..\\Release\\xapian*.exe")
    118 zipandmd5it("xapian-%s-bindings-php.zip" % rev,"..\\Release\\PHP\\php5\\dist\\*.*")
     118zipandmd5it("xapian-%s-bindings-php52.zip" % rev,"..\\Release\\PHP52\\php5\\dist\\*.*")
     119zipandmd5it("xapian-%s-bindings-php53.zip" % rev,"..\\Release\\PHP53\\php5\\dist\\*.*")
    119120
    120121filename = 'xapian-python-bindings for Python 2.4.4 -%s.win32.exe' % rev
    121122os.system ('copy "..\\Release\\Python24\\dist\\%s" ' % filename)
     
    123124filename = 'xapian-python-bindings for Python 2.5.1 -%s.win32.exe' % rev
    124125os.system ('copy "..\\Release\\Python25\\dist\\%s" ' % filename)
    125126md5it(filename)
    126 filename = 'xapian-python-bindings for Python 2.6.2 -%s.win32.exe' % rev
     127filename = 'xapian-python-bindings for Python 2.6.4 -%s.win32.exe' % rev
    127128os.system ('copy "..\\Release\\Python26\\dist\\%s" ' % filename)
    128129md5it(filename)
     130filename = 'xapian-python-bindings for Python 2.7.0 -%s.win32.exe' % rev
     131os.system ('copy "..\\Release\\Python27\\dist\\%s" ' % filename)
     132md5it(filename)
    129133
    130134zipandmd5it("xapian-%s-bindings-ruby.zip" % rev,"..\\Release\\Ruby\\dist\\*.*")
    131135zipandmd5it("xapian-%s-bindings-csharp.zip" % rev,"..\\Release\\CSharp\\dist\\*.*")
    132 zipandmd5it("xapian-%s-bindings-java-swig.zip" % rev,"..\\Release\\Java-swig\\dist\\*.*")
    133136
     137# Java-Swig bindings do not work in this release, see http://trac.xapian.org/ticket/474
     138# zipandmd5it("xapian-%s-bindings-java-swig.zip" % rev,"..\\Release\\Java-swig\\dist\\*.*")
     139
    134140# Make a HTML list
    135141ifi = open(tmpfile, "r")
    136142ofi = open(newhtml, "w")
    137143print >> ofi, r"<html><head></head><body><table>"
    138144print >> 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>'
     145print >> ofi, r"       <tr>"
     146print >> ofi, r"        <td class version>"
     147print >> ofi, r"         <h3>" + rev + " <?php binaries_link('xapian/" + revnodots + "/readme.txt'); ?></h3>"
     148print >> ofi, r"         <h4>Source</h4>"
     149print >> ofi, r"         <?php binaries_link('xapian/" + revnodots + "/xapian-core-" + rev + ".tar.gz'); ?>"
     150print >> ofi, r"         <?php binaries_link('xapian/" + revnodots + "/xapian-bindings-" + rev + ".tar.gz'); ?>"
     151print >> ofi, r"         <?php binaries_link('xapian/" + revnodots + "/xapian-omega-" + rev + ".tar.gz'); ?>"
     152print >> ofi, r"         <h4>Build Files</h4>"
     153print >> ofi, r"         <?php binaries_link('xapian/" + revnodots + "/win32.zip'); ?>"
     154print >> ofi, r"        </td>"
     155print >> ofi, r'        <td class="binaries">'
     156print >> ofi, r"          <?php binaries_list(array("
    145157for line in ifi:
    146158    parts = line.split('*')
    147159    print parts
    148160    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>'
     161    print >> ofi, r"            'xapian/" + revnodots + "/" + parts1mod + r"'  => '" + parts[0] + r"',"
    150162   
     163print >> ofi, r"           )); ?>"
     164print >> ofi, r"        </td>"
     165print >> ofi, r"       </tr>"
     166   
    151167print >> ofi, r"<!-- cut and paste to before here -->"
    152168print >> ofi, r"</table></body></html>"
    153169
  • Makefile

     
    133133   copy  win32_queryparser.mak ..\queryparser\Makefile
    134134   copy  win32_tests.mak ..\tests\Makefile
    135135   copy  win32_testsuite.mak ..\tests\harness\Makefile
    136    if exist $(XAPIAN_BINDINGS) copy $(XAPIAN_BINDINGS)\xapian-version.h.in $(XAPIAN_BINDINGS)\xapian-version.h
    137136   if exist $(XAPIAN_BINDINGS) copy win32_bindings_python.mak $(XAPIAN_BINDINGS)\python\Makefile
    138137   if exist $(XAPIAN_BINDINGS) copy doccomments.i $(XAPIAN_BINDINGS)\python
    139138   if exist $(XAPIAN_BINDINGS) copy version.rc.python $(XAPIAN_BINDINGS)\python\version.rc
     
    169168   
    170169   nmake PYTHON_VER=26 CLEAN
    171170   nmake PYTHON_VER=26 DIST
    172    
     171 
     172   nmake PYTHON_VER=27 CLEAN
     173   nmake PYTHON_VER=27 DIST
     174
    173175   cd $(XAPIAN_BINDINGS)\php
    174    nmake CLEAN
    175    nmake DIST
     176   nmake PHP_VER=52 CLEAN
     177   nmake PHP_VER=52 DIST
     178   nmake PHP_VER=53 CLEAN
     179   nmake PHP_VER=53 DIST
    176180   
    177    cd $(XAPIAN_BINDINGS)\java-swig
     181# Java-Swig bindings do not work in this release, see http://trac.xapian.org/ticket/474
     182#   cd $(XAPIAN_BINDINGS)\java-swig
     183#   nmake CLEAN
     184#   nmake DIST
     185   cd $(XAPIAN_BINDINGS)\csharp
    178186   nmake CLEAN
    179187   nmake DIST
    180188
     189# Ruby fails a test in this release, but we package anyway
    181190   cd $(XAPIAN_BINDINGS)\ruby
    182191   nmake CLEAN
    183    nmake DIST
     192   nmake DISTNOCHECK
    184193   
    185    cd $(XAPIAN_BINDINGS)\csharp
    186    nmake CLEAN
    187    nmake DIST
     194
    188195   
    189196# Header files generated automatically from various .in files
    190197MAKEHEADERS: ..\include\xapian\error.h ..\include\xapian\version.h
  • README

     
    11README for Xapian/Visual C++ Tools
    22==================================
    3 2010-03-02 for Xapian SVN HEAD
     32010-09-03 for Xapian 1.2.3 (with PHP 5.3 added)
    44
    55Make files, some extra headers and associated tools for compiling Xapian on
    66Win32 using the Microsoft Visual C++ compilers. This is particularly useful
     
    2929What works?
    3030===========
    3131
    32 - The Python, PHP, Ruby, C# bindings
     32- The Python, PHP, C#, Ruby bindings (but see below for the latter)
    3333- The xapian-compact, xapian-check, xapian-inspect binaries
    3434- The xapian-progsrv and xapian-tcpsrv binaries
    3535- The delve, quest and copydatabase binaries
    3636- The Xapian example binaries
    37 - The testsuite, which is run as part of the makefile in tests/
     37- The testsuite, which is run as part of the makefile in tests/, *but* see below regarding the tests
    3838- omega, omindex and scriptindex (although these may have difficulty parsing
    39   Windows directory paths).
     39  Windows directory paths)
    4040
    4141What doesn't work?
    4242==================
    4343
    44 - Any other bindings. Java-Swig bindings do not work for SVN HEAD (note that the Java-Swig bindings
    45   are still rather alpha, and may be subject to significant API change).
     44- Any other bindings. Java-Swig bindings do not work for SVN HEAD and the
     45  1.2.0 series (note that the Java-Swig bindings are still rather alpha,
     46  and may be subject to significant API change). See http://trac.xapian.org/ticket/474
    4647
    4748- Warning: unlike Unix, windows does not usually allow open files to be
    4849  deleted.  This caused a serious problem with releases of Xapian on
     
    5455  not expect it to cause serious problems.
    5556
    5657- 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.
     58  we use an external program 'xapdep'. Each Makefile use the -showIncludes switch of the MSVC
     59  compiler to generate a list of includes as deps.d, which xapdep then processes and inserts
     60  into the Makefile in the various subdirectories. An unfortunate side effect is that
     61  details of any compilation errors may be hidden: if you see:
    6062
     63  NMAKE : fatal error U1077: 'cl.exe' : return code '0x2'
     64
     65  this signifies a compilation error while dependencies were being checked. Look at the file
     66  deps.d in the appropriate folder to see what actually caused the failure.
     67 
     68- The 'replicate3' test currently fails on Windows for the Flint database.
     69This may be due to the test itself or the replication subsystem, so at
     70present we do not advise the use of the replication system on Windows when using a
     71Flint database. The test also hangs forever with the Brass database: if you want to run all
     72the other tests (with 'nmake check') you can comment out lines 454-495 of api_replicate.cc.
     73
     74- The ruby bindings fail one of the tests, see http://trac.xapian.org/ticket/478 for
     75more details. We have opted to package them anyway (see win32_bindings_ruby.mak for how)
     76
    6177TODOS
    6278=====
    6379
     
    157173http://www.zlib.net/zlib123-dll.zip
    158174and make sure the path to where you downloaded it matches the path in config.mak (ZLIB_DIR).
    159175
     176- For Omega you will need the PCRE library. Download from
     177http://gnuwin32.sourceforge.net/downlinks/pcre.php
     178(we have used pcre-7.0.exe)
     179and make sure the path to where you downloaded it matches the path in config.mak (PCRE_DIR).
     180
    160181- To compile the Python bindings you need Python from www.python.org. Make sure the paths to this are set correctly in config.mak (PYTHON_DIR).
    161 Note that the build system supports Python 2.4, 2.5, 2.6, and 3.0 currently, you must specify which you require.
     182Note that the build system supports Python 2.4, 2.5, 2.6  and 2.7 currently, you must specify which you require.
    162183
    163 - To compile the PHP bindings you need:
     184- To compile the PHP bindings for PHP 5.2 you need:
    164185
    165186  a. the PHP sources from www.php.net (we have used 5.2.1).
    166187  b. the built sources from a Windows binary distribution
    167   c. to edit config.mak to use the correct paths to PHP and to select the right version of PHP to build.
     188  c. to edit config.mak to use the correct paths to PHP 5.2 and to select the right version of PHP to build.
     189 
     190- To compile the PHP bindings for PHP 5.3 you need to:
    168191
     192  a. follow the instructions at http://wiki.php.net/internals/windows/stepbystepbuild
     193  b. to edit config.mak to use the correct paths to PHP 5.3 and to select the right version of PHP to build.
     194
    169195- To compile the Java-swig bindings you need the Java SE Development Kit from http://java.sun.com/javase/downloads/index.jsp (we have used the 1.6.0_05 release). Make sure the paths to this are set correctly in config.mak (JAVA_DIR)
    170196
    171197- To compile the Ruby bindings you will need the one-click installer for Ruby 1.8.6 from http://www.ruby-lang.org/en/downloads/ - config.mak has settings that will work if this is installed at the default location of c:\ruby. Note that you will have to change the "!=" in the first line of c:\ruby\lib\ruby\1.8\i386-mswin32\config.h
     
    216242   - to build and run the test suite
    2172435b) nmake
    218244   - to just build.
     245   
     246**NOTE: if you get the following error:
    219247
     248    NMAKE : fatal error U1077: 'cl.exe' : return code '0x2'
     249
     250    this signifies a compilation error while dependencies were being checked. Look at the file
     251    deps.d in the appropriate folder to see what actually caused the failure.
     252
    220253To build the bindings (do steps 1-5 above first to make sure you have Xapian built):
    221254
    2222556) cd to xapian-core-0.x.y\win32 or the appropriate path on your system.
     
    244277    nmake PYTHON_VER=24 ..
    245278 to make bindings for Python 2.4 or
    246279    nmake PYTHON_VER=25 ..
    247    
     280 etc.
     281 
    24828211f) For Ruby only, use
    249283    nmake INSTALL
    250284 to install the bindings to the standard Ruby library folder.
    251285 
    252  
     28611g) For PHP only, use
     287    nmake PHP_VER=52
     288  to make bindings for PHP 5.2.x, or
     289    nmake PHP_VER=53
     290  to make bindings for PHP 5.3.x
     291
    253292 To build *all* the bindings (usually only done by those distributing binaries):
    254293
    25529412) cd to xapian-core-0.x.y\win32 or the appropriate path on your system.
  • 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
     13XAPIAN_CORE_REL_OMEGA=..\xapian-core
    1414
    1515!IF "$(OS)" == "Windows_NT"
    1616NULL=
     
    3131OUTEXEDIR=$(XAPIAN_CORE_REL_OMEGA)\win32\$(XAPIAN_DEBUG_OR_RELEASE)
    3232
    3333PROGRAMS =   "$(OUTEXEDIR)\scriptindex.exe" "$(OUTEXEDIR)\omindex.exe" "$(OUTEXEDIR)\omega.exe" \
    34 "$(OUTEXEDIR)\md5test.exe" "$(OUTEXEDIR)\htmlparsetest.exe" "$(OUTEXEDIR)\utf8converttest.exe" 
     34"$(OUTEXEDIR)\md5test.exe" "$(OUTEXEDIR)\htmlparsetest.exe" "$(OUTEXEDIR)\utf8converttest.exe"
    3535
    36 ALL : $(PROGRAMS)
     36ALL : HEADERS $(PROGRAMS)
    3737
    3838OMEGA_OBJS= \
    39  omindex.obj myhtmlparse.obj htmlparse.obj\
    40  getopt.obj commonhelp.obj utils.obj hashterm.obj loadfile.obj md5.obj\
    41  md5wrap.obj xmlparse.obj metaxmlparse.obj utf8convert.obj sample.obj diritor.obj\
    42  runfilter.obj freemem.obj msvc_dirent.obj xpsxmlparse.obj mkdtemp.obj
    43        
     39        "$(OUTDIR)\omega.obj" \
     40        "$(OUTDIR)\query.obj" \
     41        "$(OUTDIR)\cgiparam.obj" \
     42        "$(OUTDIR)\utils.obj" \
     43        "$(OUTDIR)\configfile.obj" \
     44        "$(OUTDIR)\date.obj" \
     45        "$(OUTDIR)\cdb_init.obj" \
     46        "$(OUTDIR)\cdb_find.obj" \
     47        "$(OUTDIR)\cdb_hash.obj" \
     48        "$(OUTDIR)\cdb_unpack.obj" \
     49        "$(OUTDIR)\loadfile.obj" \
     50        "$(OUTDIR)\utf8convert.obj" \
     51        "$(OUTDIR)\datematchdecider.obj" \
     52        "$(OUTDIR)\weight.obj" \
     53        "$(OUTDIR)\str.obj" \
     54        "$(OUTDIR)\transform.obj"
     55   
    4456OMINDEX_OBJS= \
    45  omindex.obj myhtmlparse.obj htmlparse.obj\
    46  getopt.obj commonhelp.obj utils.obj hashterm.obj loadfile.obj md5.obj\
    47  md5wrap.obj xmlparse.obj metaxmlparse.obj utf8convert.obj sample.obj diritor.obj\
    48  runfilter.obj freemem.obj msvc_dirent.obj xpsxmlparse.obj mkdtemp.obj
     57        "$(OUTDIR)\omindex.obj" \
     58        "$(OUTDIR)\myhtmlparse.obj" \
     59        "$(OUTDIR)\htmlparse.obj" \
     60        "$(OUTDIR)\getopt.obj" \
     61        "$(OUTDIR)\commonhelp.obj" \
     62        "$(OUTDIR)\utils.obj" \
     63        "$(OUTDIR)\hashterm.obj" \
     64        "$(OUTDIR)\loadfile.obj" \
     65        "$(OUTDIR)\md5.obj" \
     66        "$(OUTDIR)\md5wrap.obj" \
     67        "$(OUTDIR)\xmlparse.obj" \
     68        "$(OUTDIR)\metaxmlparse.obj" \
     69        "$(OUTDIR)\utf8convert.obj" \
     70        "$(OUTDIR)\sample.obj" \
     71        "$(OUTDIR)\diritor.obj" \
     72        "$(OUTDIR)\mkdtemp.obj" \
     73        "$(OUTDIR)\runfilter.obj" \
     74        "$(OUTDIR)\freemem.obj" \
     75        "$(OUTDIR)\msvc_dirent.obj" \
     76        "$(OUTDIR)\xpsxmlparse.obj" \
     77        "$(OUTDIR)\str.obj"
    4978       
    5079       
    5180SCRIPTINDEX_OBJS= \
    52  scriptindex.obj myhtmlparse.obj htmlparse.obj\
    53  getopt.obj commonhelp.obj utils.obj hashterm.obj loadfile.obj\
    54  safe.obj stringutils.obj utf8convert.obj utf8truncate.obj
     81        "$(OUTDIR)\scriptindex.obj" \
     82        "$(OUTDIR)\myhtmlparse.obj" \
     83        "$(OUTDIR)\htmlparse.obj" \
     84        "$(OUTDIR)\getopt.obj" \
     85        "$(OUTDIR)\commonhelp.obj" \
     86        "$(OUTDIR)\utils.obj" \
     87        "$(OUTDIR)\hashterm.obj" \
     88        "$(OUTDIR)\loadfile.obj" \
     89        "$(OUTDIR)\safe.obj" \
     90        "$(OUTDIR)\stringutils.obj" \
     91        "$(OUTDIR)\utf8convert.obj" \
     92        "$(OUTDIR)\utf8truncate.obj"
    5593       
    5694       
    5795HTMLPARSETEST_OBJS= \
    58 htmlparsetest.obj myhtmlparse.obj htmlparse.obj utf8convert.obj
     96        "$(OUTDIR)\htmlparsetest.obj" \
     97        "$(OUTDIR)\myhtmlparse.obj" \
     98        "$(OUTDIR)\htmlparse.obj" \
     99        "$(OUTDIR)\utf8convert.obj"
    59100
    60101MD5TEST_OBJS= \
    61 md5test.obj md5wrap.obj md5.obj
     102        "$(OUTDIR)\md5.obj" \
     103        "$(OUTDIR)\md5wrap.obj" \
     104        "$(OUTDIR)\md5test.obj"
    62105
    63106UTF8CONVERTTEST_OBJS= \
    64 utf8converttest.obj utf8convert.obj
     107        "$(OUTDIR)\utf8convert.obj" \
     108        "$(OUTDIR)\utf8converttest.obj"
    65109
    66110SRCS= \
    67111        "$(INTDIR)\omega.cc" \
     
    75119        "$(INTDIR)\cdb_hash.cc" \
    76120        "$(INTDIR)\cdb_unpack.cc" \
    77121        "$(INTDIR)\loadfile.cc" \
    78         "$(INTDIR)\utf8convert.cc" \
    79122        "$(INTDIR)\datematchdecider.cc" \
    80123        "$(INTDIR)\omindex.cc" \
    81124        "$(INTDIR)\myhtmlparse.cc" \
     
    95138        "$(INTDIR)\scriptindex.cc" \
    96139        "$(INTDIR)\myhtmlparse.cc" \
    97140        "$(INTDIR)\htmlparse.cc" \
    98         "$(INTDIR)\common\getopt.cc" \
    99141        "$(INTDIR)\commonhelp.cc" \
    100142        "$(INTDIR)\utils.cc" \
    101143        "$(INTDIR)\hashterm.cc" \
    102144        "$(INTDIR)\loadfile.cc" \
    103145        "$(INTDIR)\common\safe.cc" \
    104         "$(INTDIR)\utf8converttest.cc" \
     146        "$(INTDIR)\utf8convert.cc" \
    105147        "$(INTDIR)\utf8truncate.cc" \
    106148        "$(INTDIR)\htmlparsetest.cc" \
    107149        "$(INTDIR)\myhtmlparse.cc" \
     
    112154        "$(INTDIR)\md5test.cc" \
    113155        "$(INTDIR)\diritor.cc" \
    114156        "$(INTDIR)\runfilter.cc" \
    115     "$(OUTDIR)\xpsxmlparse.cc" \
    116     "$(OUTDIR)\weight.cc" \
    117     "$(OUTDIR)\freemem.cc"
     157        "$(OUTDIR)\xpsxmlparse.cc" \
     158        "$(OUTDIR)\common\stringutils.cc" \
     159        "$(OUTDIR)\common\str.cc" \
     160        "$(OUTDIR)\common\safe.cc" \
     161        "$(OUTDIR)\transform.cc"
    118162   
    119163       
    120164CLEAN :
     
    123167        -@erase $(OMINDEX_OBJS)
    124168        -@erase $(SCRIPTINDEX_OBJS)
    125169        -@erase $(HTMLPARSETEST_OBJS)
    126     -@erase $(UTF8CONVERTTEST_OBJS)
    127170        -@erase $(MD5TEST_OBJS)
     171        -@erase $(UTF8CONVERTTEST_OBJS)
    128172        -@erase "$(INTDIR)\*.pdb"
    129173
     174#"$(OUTDIR)" :
     175#    if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
    130176
    131177CPP_PROJ=$(CPPFLAGS_EXTRA) \
    132 -I.. -I. -I "common" -I "$(XAPIAN_CORE_REL_OMEGA)\include" -I "$(XAPIAN_CORE_REL_OMEGA)\win32" \
     178 -I "." -I "common" -I "$(XAPIAN_CORE_REL_OMEGA)\include" -I "$(XAPIAN_CORE_REL_OMEGA)\win32" \
     179 -I "$(PCRE_INCLUDE_DIR)" \
    133180 -Fo"$(INTDIR)\\" -Fd"$(INTDIR)\\" -Tp$(INPUTNAME)
    134181
    135182CPP_OBJS=..\win32\$(XAPIAN_DEBUG_OR_RELEASE)
    136183CPP_SBRS=.
    137184
    138 ALL_LINK32_FLAGS=$(LINK32_FLAGS) $(XAPIAN_LIBS)
     185ALL_LINK32_FLAGS=$(LINK32_FLAGS) $(XAPIAN_LIBS) "$(PCRE_LIB_DIR)/pcre.lib"
    139186
    140187PROGRAM_DEPENDENCIES =
    141188
     
    173220  $(ALL_LINK32_FLAGS) /out:"$(OUTEXEDIR)\md5test.exe" $(DEF_FLAGS) $(MD5TEST_OBJS)
    174221<<
    175222
    176 "$(OUTEXEDIR)\UTF8CONVERTTEST.exe" : "$(OUTEXEDIR)" $(DEF_FILE) $(UTF8CONVERTTEST_OBJS)
     223"$(OUTEXEDIR)\utf8converttest.exe" : "$(OUTEXEDIR)" $(DEF_FILE) $(UTF8CONVERTTEST_OBJS)
    177224                      $(PROGRAM_DEPENDENCIES)
    178225    $(LINK32) @<<
    179   $(ALL_LINK32_FLAGS) /out:"$(OUTEXEDIR)\UTF8CONVERTTEST.exe" $(DEF_FLAGS) $(UTF8CONVERTTEST_OBJS)
     226  $(ALL_LINK32_FLAGS) /out:"$(OUTEXEDIR)\utf8converttest.exe" $(DEF_FLAGS) $(UTF8CONVERTTEST_OBJS)
    180227<<
    181228
    182 # rules for various files in subfolders
    183 
    184 "dirent.obj" : "$(XAPIAN_CORE_REL_OMEGA)\win32\dirent.c"
     229"$(INTDIR)\msvc_dirent.obj" : ".\common\msvc_dirent.cc"
    185230        $(CPP) @<<
    186231   $(CPP_PROJ) $**
    187232<<
    188233
    189 "getopt.obj" : ".\common\getopt.cc"
     234
     235"$(INTDIR)\getopt.obj" : ".\common\getopt.cc"
    190236        $(CPP) @<<
    191237   $(CPP_PROJ) $**
    192238<<
    193239
    194 "stringutils.obj" : ".\common\stringutils.cc"
     240"$(INTDIR)\mkdtemp.obj" : ".\portability\mkdtemp.cc"
    195241        $(CPP) @<<
    196242   $(CPP_PROJ) $**
    197243<<
    198244
    199 "mkdtemp.obj" : ".\portability\mkdtemp.cc"
     245"$(INTDIR)\safe.obj" : ".\common\safe.cc"
    200246        $(CPP) @<<
    201247   $(CPP_PROJ) $**
    202248<<
    203249
    204 "safe.obj" : ".\common\safe.cc"
     250"$(INTDIR)\stringutils.obj" : ".\common\stringutils.cc"
    205251        $(CPP) @<<
    206252   $(CPP_PROJ) $**
    207253<<
    208254
    209 "msvc_dirent.obj" : "$(XAPIAN_CORE_REL_OMEGA)\common\msvc_dirent.cc"
     255"$(INTDIR)\str.obj" : ".\common\str.cc"
    210256        $(CPP) @<<
    211257   $(CPP_PROJ) $**
    212258<<
     
    228274    -@erase deps.d
    229275    $(CPP) -showIncludes $(CPP_PROJ) $(SRCS) >>deps.d
    230276    if exist "$(XAPIAN_CORE_REL_OMEGA)\win32\$(DEPEND)" $(XAPIAN_CORE_REL_OMEGA)\win32\$(DEPEND)
    231 # DO NOT DELETE THIS LINE -- xapdep depends on it.
    232  No newline at end of file
     277# DO NOT DELETE THIS LINE -- xapdep depends on it.
  • win32_backends_brass.mak

     
    2424                $(INTDIR)\brass_dbstats.obj\
    2525                $(INTDIR)\brass_document.obj\
    2626                $(INTDIR)\brass_inverter.obj\
    27                 $(INTDIR)\brass_io.obj\
    2827                $(INTDIR)\brass_metadata.obj\
    2928                $(INTDIR)\brass_positionlist.obj\
    3029                $(INTDIR)\brass_postlist.obj\
     
    4948                $(INTDIR)\brass_dbstats.cc\
    5049                $(INTDIR)\brass_document.cc\
    5150                $(INTDIR)\brass_inverter.cc\
    52                 $(INTDIR)\brass_io.cc\
    5351                $(INTDIR)\brass_metadata.cc\
    5452                $(INTDIR)\brass_positionlist.cc\
    5553                $(INTDIR)\brass_postlist.cc\
  • win32_bindings_csharp.mak

     
    2020BINDING=_XapianSharp
    2121
    2222XAPIAN_SWIG_CSHARP_SRCS=\
    23     AssemblyInfo.cs \
    2423    Auto.cs \
    2524    BM25Weight.cs \
    2625    BoolWeight.cs \
     26    Brass.cs \
    2727    Chert.cs \
    2828    Database.cs \
    2929    DateValueRangeProcessor.cs \
     
    3434    ExpandDecider.cs \
    3535    Flint.cs \
    3636    InMemory.cs \
     37    KeyMaker.cs \
     38    MatchSpy.cs \
    3739    MatchDecider.cs \
    3840    MSet.cs \
    3941    MSetIterator.cs \
     
    4446    PostingSource.cs \
    4547    Query.cs \
    4648    QueryParser.cs \
     49    Registry.cs \
    4750    Remote.cs \
    4851    RSet.cs \
    49     SerialisationContext.cs \
    5052    SimpleStopper.cs \
    5153    SmokeTest.cs \
    5254    Sorter.cs \
    5355    Stem.cs \
     56    StemImplementation.cs \
    5457    Stopper.cs \
    5558    StringValueRangeProcessor.cs \
    5659    SWIGTYPE_p_std__string.cs \
  • win32_bindings_java-swig.mak

     
    1919        Auto.java\
    2020        BM25Weight.java\
    2121        BoolWeight.java\
     22    Brass.java\
    2223    Chert.java\
    2324        Database.java\
    2425        DateValueRangeProcessor.java\
     
    3738        PositionIterator.java\
    3839        PostingIterator.java\
    3940    PostingSource.java\
    40         Quartz.java\
    4141        Query.java\
    4242        QueryParser.java\
    4343        Remote.java\
  • win32_bindings_php.mak

     
    1414!INCLUDE $(XAPIAN_CORE_REL_PHP)\win32\config.mak
    1515
    1616LIB_XAPIAN_OBJS= ".\xapian_wrap.obj" ".\version.res"
    17 
    1817CPP=cl.exe
    1918RSC=rc.exe
    2019
    21 OUTROOT=$(XAPIAN_CORE_REL_PHP)\win32\$(XAPIAN_DEBUG_OR_RELEASE)\PHP
    22 OUTDIR=$(OUTROOT)\php$(PHP_MAJOR_VERSION)
     20!if "$(PHP_VER)" == "52"
     21PHP_EXE_DIR=$(PHP52_EXE_DIR)
     22PHP_LIB = $(PHP52_LIB)
     23PHP_SRC_DIR = $(PHP52_SRC_DIR)
     24PHP_INCLUDE_CPPFLAGS = $(PHP52_INCLUDE_CPPFLAGS)
     25PHP_DEBUG_OR_RELEASE = $(PHP52_DEBUG_OR_RELEASE)
     26OUTROOT = $(XAPIAN_CORE_REL_PHP)\win32\$(XAPIAN_DEBUG_OR_RELEASE)\PHP52
     27PHP_EXE = $(PHP52_EXE)
     28!else if "$(PHP_VER)" == "53"
     29PHP_EXE_DIR = $(PHP53_EXE_DIR)
     30PHP_LIB = $(PHP53_LIB)
     31PHP_SRC_DIR = $(PHP53_SRC_DIR)
     32PHP_INCLUDE_CPPFLAGS = $(PHP53_INCLUDE_CPPFLAGS)
     33PHP_DEBUG_OR_RELEASE = $(PHP53_DEBUG_OR_RELEASE)
     34OUTROOT = $(XAPIAN_CORE_REL_PHP)\win32\$(XAPIAN_DEBUG_OR_RELEASE)\PHP53
     35PHP_EXE = $(PHP53_EXE)
     36!endif
     37
     38OUTDIR=$(OUTROOT)\php5
    2339INTDIR=.\
    24 
    2540       
    2641ALL : "$(OUTDIR)\php_xapian.dll" "$(OUTDIR)\xapian.php" \
    27         "$(OUTROOT)\smoketest.php" "$(OUTDIR)\smoketest$(PHP_MAJOR_VERSION).php"
     42        "$(OUTROOT)\smoketest.php"
    2843
    2944CLEAN :
    3045        -@erase "$(OUTDIR)\php_xapian.dll"
     
    3247        -@erase "$(OUTDIR)\php_xapian.lib"
    3348        -@erase $(LIB_XAPIAN_OBJS)
    3449        -@erase "$(OUTDIR)\xapian.php"
    35         -@erase "$(OUTDIR)\smoketest4.php"
    36         -@erase "$(OUTDIR)\smoketest5.php"
    3750        -@erase "$(OUTROOT)\smoketest.php"
    38 
     51    -@erase "$(OUTDIR)\*.pdb
     52    -@erase "$(OUTDIR)\*.ilk
     53    -@erase "$(OUTDIR)\*.manifest
     54    -@erase "$(OUTDIR)\dist\*.php
     55    -@erase "$(OUTDIR)\dist\*.dll
    3956       
    4057CLEANSWIG :     
    41         -@erase /Q /s php4
    4258        -@erase /Q /s php5
    43         if exist "php4" rmdir "php4" /s /q
    4459        if exist "php5" rmdir "php5" /s /q
    4560
    4661DOTEST :
    4762        cd "$(OUTROOT)"
    48         $(PHP_EXE) -q -n -d safe_mode=off -d enable_dl=on -d extension_dir="php$(PHP_MAJOR_VERSION)" -d include_path="php$(PHP_MAJOR_VERSION)" smoketest.php
     63        $(PHP_EXE) -q -n -d safe_mode=off -d enable_dl=on -d extension_dir="php5" -d include_path="php5" smoketest.php
    4964
    5065CHECK: ALL DOTEST
    5166
     
    7388CPP_SBRS=.
    7489
    7590!IF "$(SWIGBUILD)" == "1"
    76 php4/xapian_wrap.cc php4/php_xapian.h php4/xapian.php: ../xapian.i util.i
    77         -erase /Q /s php4
    78         -md php4
    79         $(SWIG) -I"$(XAPIAN_CORE_REL_PHP)\include" $(SWIG_FLAGS) -c++ -php4 \
    80             -outdir php4 -o php4/xapian_wrap.cc $(srcdir)/../xapian.i
    8191
    8292php5/xapian_wrap.cc php5/php_xapian.h php5/xapian.php: ../xapian.i util.i
    8393        -erase /Q /s php5
     
    95105  $(ALL_LINK32_FLAGS) /DLL /out:"$(OUTDIR)\php_xapian.dll" $(DEF_FLAGS) $(LIB_XAPIAN_OBJS)
    96106<<
    97107
    98 "$(OUTDIR)\xapian.php" : php$(PHP_MAJOR_VERSION)\xapian.php
     108"$(OUTDIR)\xapian.php" : php5\xapian.php
    99109        -copy $** "$(OUTDIR)\xapian.php"
    100110# REMOVE THIS NEXT LINE if using Visual C++ .net 2003 - you won't need to worry about manifests
    101111        $(MANIFEST) "$(OUTDIR)\php_xapian.dll.manifest" -outputresource:"$(OUTDIR)\php_xapian.dll;2"
    102112        -@erase "$(OUTDIR)\php_xapian.dll.manifest"
    103 "$(OUTDIR)\smoketest5.php" : ".\smoketest5.php"
    104         -copy $** "$(OUTDIR)\smoketest5.php"
    105 "$(OUTDIR)\smoketest4.php" : ".\smoketest4.php"
    106         -copy $** "$(OUTDIR)\smoketest4.php"
     113   
    107114"$(OUTROOT)\smoketest.php" : ".\smoketest.php"
    108115        -copy $** "$(OUTROOT)\smoketest.php"
    109116#
     
    115122      /fo version.res \
    116123      /I "$(XAPIAN_CORE_REL_PHP)\include" \
    117124      /I "$(PHP_SRC_DIR)\main" \
    118       /d PHP_MAJOR_VERSION="\"$(PHP_MAJOR_VERSION)\"" \
     125      /d PHP_MAJOR_VERSION="\"5\"" \
    119126      version.rc
    120127
    121 ".\xapian_wrap.obj" : "php$(PHP_MAJOR_VERSION)\xapian_wrap.cc"
     128".\xapian_wrap.obj" : "php5\xapian_wrap.cc"
    122129     $(CPP) @<<
    123130  $(CPP_PROJ) $**
    124131<<
     
    153160   $(CPP_PROJ) $<
    154161<<
    155162
     163
     164
  • win32_bindings_python.mak

     
    4444PYTHON_INCLUDE_2 = $(PYTHON_INCLUDE_2_26)
    4545PYTHON_LIB_DIR= $(PYTHON_LIB_DIR_26)
    4646OUTDIR=$(XAPIAN_CORE_REL_PYTHON)\win32\$(XAPIAN_DEBUG_OR_RELEASE)\Python26
     47!else if "$(PYTHON_VER)" == "27"
     48PYTHON_EXE = $(PYTHON_EXE_27)
     49PYTHON_INCLUDE = $(PYTHON_INCLUDE_27)
     50PYTHON_INCLUDE_2 = $(PYTHON_INCLUDE_2_27)
     51PYTHON_LIB_DIR= $(PYTHON_LIB_DIR_27)
     52OUTDIR=$(XAPIAN_CORE_REL_PYTHON)\win32\$(XAPIAN_DEBUG_OR_RELEASE)\Python27
    4753!else if "$(PYTHON_VER)" == "30"
    4854PYTHON_EXE = $(PYTHON_EXE_30)
    4955PYTHON_INCLUDE = $(PYTHON_INCLUDE_30)
     
    8389    copy testsuite*.py "$(OUTDIR)"
    8490    copy smoketest*.py "$(OUTDIR)"
    8591    copy replication*.py "$(OUTDIR)"
     92    copy test_xapian_star.py "$(OUTDIR)"
    8693        cd "$(OUTDIR)"
    8794        copy "$(ZLIB_BIN_DIR)\zlib1.dll"
    8895        "$(PYTHON_EXE)" smoketest.py
  • win32_bindings_ruby.mak

     
    3838       
    3939CHECK: ALL DOTEST       
    4040
    41 DIST: CHECK
     41# currently the bindings fail a test so we need a target that builds DIST without CHECKing
     42# not great and should be fixed in the next release
     43DISTNOCHECK: ALL DISTROOT
     44    @echo *** Built Ruby without running tests!!!! ***
     45
     46DIST: CHECK DISTROOT
     47
     48DISTROOT:
    4249    cd $(MAKEDIR)
    4350    if not exist "$(OUTDIR)\dist\$(NULL)" mkdir "$(OUTDIR)\dist"   
    4451    if not exist "$(OUTDIR)\dist\docs\$(NULL)" mkdir "$(OUTDIR)\dist\docs"   
  • win32_common.mak

     
    2121    $(INTDIR)\io_utils.obj \
    2222    $(INTDIR)\msvc_dirent.obj \
    2323    $(INTDIR)\msvc_posix_wrapper.obj \
    24     $(INTDIR)\omdebug.obj \
    2524    $(INTDIR)\replicate_utils.obj \
    2625    $(INTDIR)\safe.obj \
    2726    $(INTDIR)\serialise-double.obj \
     
    4039    $(INTDIR)\io_utils.cc \
    4140    $(INTDIR)\msvc_dirent.cc \
    4241    $(INTDIR)\msvc_posix_wrapper.cc \
    43     $(INTDIR)\omdebug.cc \
    4442    $(INTDIR)\replicate_utils.cc \
    4543    $(INTDIR)\safe.cc \
    4644    $(INTDIR)\serialise-double.cc \
  • win32_expand.mak

     
    6161    -@erase deps.d
    6262    $(CPP) -showIncludes $(CPP_PROJ) $(SRCS) >>deps.d
    6363    if exist "..\win32\$(DEPEND)" ..\win32\$(DEPEND)
    64 # DO NOT DELETE THIS LINE -- xapdep depends on it.
     64# DO NOT DELETE THIS LINE -- xapdep depends on it.
     65 No newline at end of file
  • win32_languages.mak

     
    112112# Generate .h and .cc files from Snowball algorithms using Snowball compiler
    113113       
    114114".\danish.h" ".\danish.cc" : ".\danish.sbl"
    115         $(SBL) danish.sbl $(SBL_OPTIONS) -o danish -n InternalStemDanish -p Stem::Internal
     115        $(SBL) danish.sbl $(SBL_OPTIONS) -o danish -n InternalStemDanish -p SnowballStemImplementation
    116116
    117117".\dutch.h" ".\dutch.cc" : ".\dutch.sbl"
    118         $(SBL) dutch.sbl $(SBL_OPTIONS) -o dutch -n InternalStemDutch -p Stem::Internal
     118        $(SBL) dutch.sbl $(SBL_OPTIONS) -o dutch -n InternalStemDutch -p SnowballStemImplementation
    119119
    120120".\english.h" ".\english.cc" : ".\english.sbl"
    121         $(SBL) english.sbl $(SBL_OPTIONS) -o english -n InternalStemEnglish -p Stem::Internal
     121        $(SBL) english.sbl $(SBL_OPTIONS) -o english -n InternalStemEnglish -p SnowballStemImplementation
    122122
    123123".\french.h" ".\french.cc" : ".\french.sbl"
    124         $(SBL) french.sbl $(SBL_OPTIONS) -o french -n InternalStemFrench -p Stem::Internal
     124        $(SBL) french.sbl $(SBL_OPTIONS) -o french -n InternalStemFrench -p SnowballStemImplementation
    125125
    126126".\german.h" ".\german.cc" : ".\german.sbl"
    127         $(SBL) german.sbl $(SBL_OPTIONS) -o german -n InternalStemGerman -p Stem::Internal
     127        $(SBL) german.sbl $(SBL_OPTIONS) -o german -n InternalStemGerman -p SnowballStemImplementation
    128128
    129129".\german2.h" ".\german2.cc" : ".\german2.sbl"
    130         $(SBL) german2.sbl $(SBL_OPTIONS) -o german2 -n InternalStemGerman2 -p Stem::Internal
     130        $(SBL) german2.sbl $(SBL_OPTIONS) -o german2 -n InternalStemGerman2 -p SnowballStemImplementation
    131131
    132132".\hungarian.h" ".\hungarian.cc" : ".\hungarian.sbl"
    133         $(SBL) hungarian.sbl $(SBL_OPTIONS) -o hungarian -n InternalStemHungarian -p Stem::Internal
     133        $(SBL) hungarian.sbl $(SBL_OPTIONS) -o hungarian -n InternalStemHungarian -p SnowballStemImplementation
    134134
    135135".\italian.h" ".\italian.cc" : ".\italian.sbl"
    136         $(SBL) italian.sbl $(SBL_OPTIONS) -o italian -n InternalStemItalian -p Stem::Internal
     136        $(SBL) italian.sbl $(SBL_OPTIONS) -o italian -n InternalStemItalian -p SnowballStemImplementation
    137137
    138138".\norwegian.h" ".\norwegian.cc" : ".\norwegian.sbl"
    139         $(SBL) norwegian.sbl $(SBL_OPTIONS) -o norwegian -n InternalStemNorwegian -p Stem::Internal
     139        $(SBL) norwegian.sbl $(SBL_OPTIONS) -o norwegian -n InternalStemNorwegian -p SnowballStemImplementation
    140140
    141141".\porter.h" ".\porter.cc" : ".\porter.sbl"
    142         $(SBL) porter.sbl $(SBL_OPTIONS) -o porter -n InternalStemPorter -p Stem::Internal
     142        $(SBL) porter.sbl $(SBL_OPTIONS) -o porter -n InternalStemPorter -p SnowballStemImplementation
    143143
    144144".\portuguese.h" ".\portuguese.cc" : ".\portuguese.sbl"
    145         $(SBL) portuguese.sbl $(SBL_OPTIONS) -o portuguese -n InternalStemPortuguese -p Stem::Internal
     145        $(SBL) portuguese.sbl $(SBL_OPTIONS) -o portuguese -n InternalStemPortuguese -p SnowballStemImplementation
    146146
    147147".\russian.h" ".\russian.cc" : ".\russian.sbl"
    148         $(SBL) russian.sbl $(SBL_OPTIONS) -o russian -n InternalStemRussian -p Stem::Internal
     148        $(SBL) russian.sbl $(SBL_OPTIONS) -o russian -n InternalStemRussian -p SnowballStemImplementation
    149149
    150150".\spanish.h" ".\spanish.cc" : ".\spanish.sbl"
    151         $(SBL) spanish.sbl $(SBL_OPTIONS) -o spanish -n InternalStemSpanish -p Stem::Internal
     151        $(SBL) spanish.sbl $(SBL_OPTIONS) -o spanish -n InternalStemSpanish -p SnowballStemImplementation
    152152
    153153".\swedish.h" ".\swedish.cc" : ".\swedish.sbl"
    154         $(SBL) swedish.sbl $(SBL_OPTIONS) -o swedish -n InternalStemSwedish -p Stem::Internal
     154        $(SBL) swedish.sbl $(SBL_OPTIONS) -o swedish -n InternalStemSwedish -p SnowballStemImplementation
    155155
    156156".\kraaij_pohlmann.h" ".\kraaij_pohlmann.cc" : ".\kraaij_pohlmann.sbl"
    157         $(SBL) kraaij_pohlmann.sbl $(SBL_OPTIONS) -o kraaij_pohlmann -n InternalStemKraaij_pohlmann -p Stem::Internal
     157        $(SBL) kraaij_pohlmann.sbl $(SBL_OPTIONS) -o kraaij_pohlmann -n InternalStemKraaij_pohlmann -p SnowballStemImplementation
    158158               
    159159".\romanian.h" ".\romanian.cc" : ".\romanian.sbl"
    160         $(SBL) romanian.sbl $(SBL_OPTIONS) -o romanian -n InternalStemRomanian -p Stem::Internal       
     160        $(SBL) romanian.sbl $(SBL_OPTIONS) -o romanian -n InternalStemRomanian -p SnowballStemImplementation   
    161161
    162162".\turkish.h" ".\turkish.cc" : ".\turkish.sbl"
    163         $(SBL) turkish.sbl $(SBL_OPTIONS) -o turkish -n InternalStemTurkish -p Stem::Internal   
     163        $(SBL) turkish.sbl $(SBL_OPTIONS) -o turkish -n InternalStemTurkish -p SnowballStemImplementation       
    164164
    165165".\finnish.h" ".\finnish.cc" : ".\finnish.sbl"
    166         $(SBL) finnish.sbl $(SBL_OPTIONS) -o finnish -n InternalStemFinnish -p Stem::Internal
     166        $(SBL) finnish.sbl $(SBL_OPTIONS) -o finnish -n InternalStemFinnish -p SnowballStemImplementation
    167167
    168168".\lovins.h" ".\lovins.cc" : ".\lovins.sbl"
    169         $(SBL) lovins.sbl $(SBL_OPTIONS) -o lovins -n InternalStemLovins -p Stem::Internal
     169        $(SBL) lovins.sbl $(SBL_OPTIONS) -o lovins -n InternalStemLovins -p SnowballStemImplementation
    170170
    171171
    172172"$(INTDIR)\stem.obj" : ".\stem.cc"
  • win32_matcher.mak

     
    2121    $(INTDIR)\collapser.obj\
    2222    $(INTDIR)\exactphrasepostlist.obj\
    2323    $(INTDIR)\externalpostlist.obj\
    24     $(INTDIR)\localmatch.obj\
     24    $(INTDIR)\localsubmatch.obj\
    2525    $(INTDIR)\mergepostlist.obj\
    2626    $(INTDIR)\msetcmp.obj\
    2727    $(INTDIR)\msetpostlist.obj\
    2828    $(INTDIR)\multiandpostlist.obj\
    2929    $(INTDIR)\multimatch.obj\
     30    $(INTDIR)\multixorpostlist.obj\
    3031    $(INTDIR)\orpostlist.obj\
    3132    $(INTDIR)\phrasepostlist.obj\
    3233    $(INTDIR)\queryoptimiser.obj\
    33     $(INTDIR)\rset.obj\
    3434    $(INTDIR)\selectpostlist.obj\
    3535    $(INTDIR)\synonympostlist.obj\
    3636    $(INTDIR)\valuerangepostlist.obj\
    3737    $(INTDIR)\valuegepostlist.obj\
    3838    $(INTDIR)\valuestreamdocument.obj\
    39     $(INTDIR)\xorpostlist.obj\
    4039    $(INTDIR)\remotesubmatch.obj
    4140
    4241
     
    4746    $(INTDIR)\collapser.cc\
    4847    $(INTDIR)\exactphrasepostlist.cc\
    4948    $(INTDIR)\externalpostlist.cc\
    50     $(INTDIR)\localmatch.cc\
     49    $(INTDIR)\localsubmatch.cc\
    5150    $(INTDIR)\mergepostlist.cc\
    5251    $(INTDIR)\msetcmp.cc\
    5352    $(INTDIR)\msetpostlist.cc\
    5453    $(INTDIR)\multiandpostlist.cc\
    5554    $(INTDIR)\multimatch.cc\
     55    $(INTDIR)\multixorpostlist.cc\
    5656    $(INTDIR)\orpostlist.cc\
    5757    $(INTDIR)\phrasepostlist.cc\
    5858    $(INTDIR)\queryoptimiser.cc\
    59     $(INTDIR)\rset.cc\
    6059    $(INTDIR)\selectpostlist.cc\
    6160    $(INTDIR)\synonympostlist.cc\
    6261    $(INTDIR)\valuerangepostlist.cc\
    6362    $(INTDIR)\valuegepostlist.cc\
    6463    $(INTDIR)\valuestreamdocument.cc\
    65     $(INTDIR)\xorpostlist.cc\
    6664    $(INTDIR)\remotesubmatch.cc
    6765
    6866CLEAN :
  • win32_tests.mak

     
    1818PROGRAM_QUERYPARSERTEST= "$(OUTDIR)\queryparsertest.exe"
    1919PROGRAM_STEMTEST= "$(OUTDIR)\stemtest.exe"
    2020PROGRAM_TERMGENTEST= "$(OUTDIR)\termgentest.exe"
     21PROGRAM_UNITTEST= "$(OUTDIR)\unittest.exe"
    2122
    2223ALL : $(CLEAN_COLLATED_HEADERS) $(PROGRAM_APITEST) $(PROGRAM_INTERNALTEST) \
    23  $(PROGRAM_QUERYPARSERTEST) $(PROGRAM_STEMTEST) $(PROGRAM_TERMGENTEST)
     24 $(PROGRAM_QUERYPARSERTEST) $(PROGRAM_STEMTEST) $(PROGRAM_TERMGENTEST) $(PROGRAM_UNITTEST)
    2425 
    2526 
    2627APITEST : $(PROGRAM_APITEST)
     
    2829INTERNALTEST : $(PROGRAM_INTERNALTEST) 
    2930QUERYPARSERTEST : $(PROGRAM_QUERYPARSERTEST) 
    3031TERMGENTEST : $(PROGRAM_TERMGENTEST) 
     32UNITTEST : $(PROGRAM_UNITTEST) 
    3133
    3234
    3335DOTEST :
     
    3840    queryparsertest
    3941    stemtest
    4042    termgentest
     43    unittest
    4144
    4245   
    4346#    remotetest
     
    5861    "$(OUTDIR)\api_compact.obj" \
    5962    "$(OUTDIR)\api_db.obj" \
    6063    "$(OUTDIR)\api_generated.obj" \
     64    "$(OUTDIR)\api_matchspy.obj" \
     65    "$(OUTDIR)\api_metadata.obj" \
    6166    "$(OUTDIR)\api_nodb.obj" \
     67    "$(OUTDIR)\api_none.obj" \
     68    "$(OUTDIR)\api_opsynonym.obj" \
     69    "$(OUTDIR)\api_opvalue.obj" \
    6270    "$(OUTDIR)\api_percentages.obj" \
    6371    "$(OUTDIR)\api_posdb.obj" \
     72    "$(OUTDIR)\api_postingsource.obj" \
     73    "$(OUTDIR)\api_qpbackend.obj" \
    6474    "$(OUTDIR)\api_query.obj" \
     75    "$(OUTDIR)\api_replacedoc.obj" \
    6576    "$(OUTDIR)\api_replicate.obj" \
     77    "$(OUTDIR)\api_scalability.obj" \
    6678    "$(OUTDIR)\api_serialise.obj" \
    6779    "$(OUTDIR)\api_sorting.obj" \
    6880    "$(OUTDIR)\api_sortingold.obj" \
    6981    "$(OUTDIR)\api_spelling.obj" \
     82    "$(OUTDIR)\api_stem.obj" \
    7083    "$(OUTDIR)\api_transdb.obj" \
    7184    "$(OUTDIR)\api_unicode.obj" \
    7285    "$(OUTDIR)\api_valuestats.obj" \
     
    8497
    8598TERMGENTEST_OBJS= "$(OUTDIR)\termgentest.obj"   
    8699
     100UNITTEST_OBJS= "$(OUTDIR)\unittest.obj"   
     101
    87102SRC = \
    88103    "$(INTDIR)\apitest.cc" \
    89104    "$(INTDIR)\dbcheck.cc" \
    90105    "$(INTDIR)\internaltest.cc" \
    91106    "$(INTDIR)\queryparsertest.cc" \
    92107    "$(INTDIR)\stemtest.cc" \
    93     "$(INTDIR)\termgentest.cc"
     108    "$(INTDIR)\termgentest.cc"  \
     109    "$(INTDIR)\unittest.cc"
    94110
    95111COLLATED_APITEST_SOURCES= \
    96112    "$(INTDIR)\api_anydb.cc" \
     
    100116    "$(INTDIR)\api_compact.cc" \
    101117    "$(INTDIR)\api_db.cc" \
    102118    "$(INTDIR)\api_generated.cc" \
     119    "$(INTDIR)\api_matchspy.cc" \
     120    "$(INTDIR)\api_metadata.cc" \
    103121    "$(INTDIR)\api_nodb.cc" \
     122    "$(INTDIR)\api_none.cc" \
     123    "$(INTDIR)\api_opsynonym.cc" \
     124    "$(INTDIR)\api_opvalue.cc" \
    104125    "$(INTDIR)\api_percentages.cc" \
    105126    "$(INTDIR)\api_posdb.cc" \
     127    "$(INTDIR)\api_postingsource.cc" \
     128    "$(INTDIR)\api_qpbackend.cc" \
    106129    "$(INTDIR)\api_query.cc" \
     130    "$(INTDIR)\api_replacedoc.cc" \
    107131    "$(INTDIR)\api_replicate.cc" \
     132    "$(INTDIR)\api_scalability.cc" \
    108133    "$(INTDIR)\api_serialise.cc" \
    109134    "$(INTDIR)\api_sorting.cc" \
    110135    "$(INTDIR)\api_sortingold.cc" \
    111136    "$(INTDIR)\api_spelling.cc" \
     137    "$(INTDIR)\api_stem.cc" \
    112138    "$(INTDIR)\api_transdb.cc" \
    113139    "$(INTDIR)\api_unicode.cc" \
    114140    "$(INTDIR)\api_valuestats.cc" \
     
    123149    "$(INTDIR)\api_compact.h" \
    124150    "$(INTDIR)\api_db.h" \
    125151    "$(INTDIR)\api_generated.h" \
     152    "$(INTDIR)\api_matchspy.h" \
     153    "$(INTDIR)\api_metadata.h" \
    126154    "$(INTDIR)\api_nodb.h" \
     155    "$(INTDIR)\api_none.h" \
     156    "$(INTDIR)\api_opsynonym.h" \
    127157    "$(INTDIR)\api_percentages.h" \
    128158    "$(INTDIR)\api_posdb.h" \
     159    "$(INTDIR)\api_postingsource.h" \
     160    "$(INTDIR)\api_qpbackend.h" \
    129161    "$(INTDIR)\api_query.h" \
     162    "$(INTDIR)\api_replacedoc.h" \
    130163    "$(INTDIR)\api_replicate.h" \
     164    "$(INTDIR)\api_scalability.h" \
    131165    "$(INTDIR)\api_serialise.h" \
    132166    "$(INTDIR)\api_sorting.h" \
    133167    "$(INTDIR)\api_sortingold.h" \
     168    "$(INTDIR)\api_opsynonym.h" \
    134169    "$(INTDIR)\api_spelling.h" \
    135170    "$(INTDIR)\api_transdb.h" \
    136171    "$(INTDIR)\api_unicode.h" \
     
    233268  $(ALL_LINK32_FLAGS) /out:"$(OUTDIR)\remotetest.exe" $(DEF_FLAGS) $(REMOTETEST_OBJS)
    234269<<
    235270
     271"$(OUTDIR)\unittest.exe" : "$(OUTDIR)" $(DEF_FILE) $(UNITTEST_OBJS) \
     272                      $(PROGRAM_DEPENDENCIES)
     273    $(LINK32) @<<
     274  $(ALL_LINK32_FLAGS) /out:"$(OUTDIR)\unittest.exe" $(DEF_FLAGS) $(UNITTEST_OBJS)
     275<<
     276
    236277# inference rules, showing how to create one type of file from another with the same root name
    237278{.}.cc{$(INTDIR)}.obj::
    238279    $(CPP) @<<
  • win32_unicode.mak

     
    6060    -@erase deps.d
    6161    $(CPP) -showIncludes $(CPP_PROJ) $(SRCS) >>deps.d
    6262    if exist "..\win32\$(DEPEND)" ..\win32\$(DEPEND)
    63 # DO NOT DELETE THIS LINE -- xapdep depends on it.
     63# DO NOT DELETE THIS LINE -- xapdep depends on it.
     64 No newline at end of file