summaryrefslogtreecommitdiff
path: root/clucene
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2012-02-17 12:21:14 +0000
committerCaolán McNamara <caolanm@redhat.com>2012-02-17 12:21:37 +0000
commitb688a3dcbe962774fff97156296593df1e4b92f0 (patch)
treeae2c1f67e2fc4dd953b2c1b378a93180cab902d1 /clucene
parente97191f39dc3765a723ce7d42ceda421f5a41461 (diff)
first cut at building an internal clucene
Diffstat (limited to 'clucene')
-rw-r--r--clucene/Library_clucene.mk267
-rw-r--r--clucene/Makefile11
-rw-r--r--clucene/Module_clucene.mk35
-rw-r--r--clucene/Package_inc.mk97
-rw-r--r--clucene/configs/_clucene-config-generic.h112
-rw-r--r--clucene/configs/clucene-config-generic.h148
-rw-r--r--clucene/prj/build.lst3
-rw-r--r--clucene/prj/d.lst0
-rwxr-xr-xclucene/prj/makefile.mk1
9 files changed, 674 insertions, 0 deletions
diff --git a/clucene/Library_clucene.mk b/clucene/Library_clucene.mk
new file mode 100644
index 000000000000..7c8f0d51bace
--- /dev/null
+++ b/clucene/Library_clucene.mk
@@ -0,0 +1,267 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+# Version: MPL 1.1 / GPLv3+ / LGPLv3+
+#
+# The contents of this file are subject to the Mozilla Public License Version
+# 1.1 (the "License"); you may not use this file except in compliance with
+# the License or as specified alternatively below. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS IS" basis,
+# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+# for the specific language governing rights and limitations under the
+# License.
+#
+# Major Contributor(s):
+# Copyright (C) 2012 Red Hat, Inc., Caolán McNamara <caolanm@redhat.com>
+# (initial developer)
+#
+# All Rights Reserved.
+#
+# For minor contributions see the git repository.
+#
+# Alternatively, the contents of this file may be used under the terms of
+# either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+# instead of those above.
+
+# FIXME, need a way to suppress -Werror
+
+$(eval $(call gb_Library_Library,clucene))
+
+$(eval $(call gb_Library_use_external,clucene,zlib))
+
+$(eval $(call gb_Library_add_package_headers,clucene,clucene_inc))
+
+$(eval $(call gb_Library_set_include,clucene,\
+ -I$(WORKDIR)/clucene/src/core \
+ -I$(WORKDIR)/clucene/src/shared \
+ -I$(WORKDIR)/clucene/src/contribs-lib \
+ -I$(WORKDIR)/clucene/inc/internal \
+ $$(INCLUDE) \
+))
+
+$(eval $(call gb_Library_add_defs,clucene,\
+ -Dclucene_shared_EXPORTS\
+ -Dclucene_core_EXPORTS\
+ -Dclucene_contribs_lib_EXPORTS\
+))
+
+$(eval $(call gb_Library_add_linked_libs,clucene,\
+ $(gb_STDLIBS) \
+))
+
+ifeq ($(OS),LINUX)
+$(eval $(call gb_Library_add_linked_libs,clucene,\
+ dl \
+ m \
+ pthread \
+))
+endif
+
+$(eval $(call gb_Library_add_generated_exception_objects,clucene,\
+ clucene/src/shared/CLucene/SharedHeader \
+ clucene/src/shared/CLucene/config/gunichartables \
+ clucene/src/shared/CLucene/config/repl_tcslwr \
+ clucene/src/shared/CLucene/config/repl_tcstoll \
+ clucene/src/shared/CLucene/config/repl_tcscasecmp \
+ clucene/src/shared/CLucene/config/repl_tprintf \
+ clucene/src/shared/CLucene/config/repl_lltot \
+ clucene/src/shared/CLucene/config/repl_tcstod \
+ clucene/src/shared/CLucene/config/utf8 \
+ clucene/src/shared/CLucene/config/threads \
+ clucene/src/shared/CLucene/debug/condition \
+ clucene/src/shared/CLucene/util/StringBuffer \
+ clucene/src/shared/CLucene/util/Misc \
+ clucene/src/shared/CLucene/util/dirent \
+ clucene/src/core/CLucene/StdHeader \
+ clucene/src/core/CLucene/debug/error \
+ clucene/src/core/CLucene/util/ThreadLocal \
+ clucene/src/core/CLucene/util/Reader \
+ clucene/src/core/CLucene/util/Equators \
+ clucene/src/core/CLucene/util/FastCharStream \
+ clucene/src/core/CLucene/util/MD5Digester \
+ clucene/src/core/CLucene/util/StringIntern \
+ clucene/src/core/CLucene/util/BitSet \
+ clucene/src/core/CLucene/queryParser/FastCharStream \
+ clucene/src/core/CLucene/queryParser/MultiFieldQueryParser \
+ clucene/src/core/CLucene/queryParser/QueryParser \
+ clucene/src/core/CLucene/queryParser/QueryParserTokenManager \
+ clucene/src/core/CLucene/queryParser/QueryToken \
+ clucene/src/core/CLucene/queryParser/legacy/Lexer \
+ clucene/src/core/CLucene/queryParser/legacy/MultiFieldQueryParser \
+ clucene/src/core/CLucene/queryParser/legacy/QueryParser \
+ clucene/src/core/CLucene/queryParser/legacy/QueryParserBase \
+ clucene/src/core/CLucene/queryParser/legacy/QueryToken \
+ clucene/src/core/CLucene/queryParser/legacy/TokenList \
+ clucene/src/core/CLucene/analysis/standard/StandardAnalyzer \
+ clucene/src/core/CLucene/analysis/standard/StandardFilter \
+ clucene/src/core/CLucene/analysis/standard/StandardTokenizer \
+ clucene/src/core/CLucene/analysis/Analyzers \
+ clucene/src/core/CLucene/analysis/AnalysisHeader \
+ clucene/src/core/CLucene/store/MMapInput \
+ clucene/src/core/CLucene/store/IndexInput \
+ clucene/src/core/CLucene/store/Lock \
+ clucene/src/core/CLucene/store/LockFactory \
+ clucene/src/core/CLucene/store/IndexOutput \
+ clucene/src/core/CLucene/store/Directory \
+ clucene/src/core/CLucene/store/FSDirectory \
+ clucene/src/core/CLucene/store/RAMDirectory \
+ clucene/src/core/CLucene/document/Document \
+ clucene/src/core/CLucene/document/DateField \
+ clucene/src/core/CLucene/document/DateTools \
+ clucene/src/core/CLucene/document/Field \
+ clucene/src/core/CLucene/document/FieldSelector \
+ clucene/src/core/CLucene/document/NumberTools \
+ clucene/src/core/CLucene/index/IndexFileNames \
+ clucene/src/core/CLucene/index/IndexFileNameFilter \
+ clucene/src/core/CLucene/index/IndexDeletionPolicy \
+ clucene/src/core/CLucene/index/SegmentMergeInfo \
+ clucene/src/core/CLucene/index/SegmentInfos \
+ clucene/src/core/CLucene/index/MergeScheduler \
+ clucene/src/core/CLucene/index/SegmentTermDocs \
+ clucene/src/core/CLucene/index/FieldsWriter \
+ clucene/src/core/CLucene/index/TermInfosWriter \
+ clucene/src/core/CLucene/index/Term \
+ clucene/src/core/CLucene/index/Terms \
+ clucene/src/core/CLucene/index/MergePolicy \
+ clucene/src/core/CLucene/index/DocumentsWriter \
+ clucene/src/core/CLucene/index/DocumentsWriterThreadState \
+ clucene/src/core/CLucene/index/SegmentTermVector \
+ clucene/src/core/CLucene/index/TermVectorReader \
+ clucene/src/core/CLucene/index/FieldInfos \
+ clucene/src/core/CLucene/index/CompoundFile \
+ clucene/src/core/CLucene/index/SkipListReader \
+ clucene/src/core/CLucene/index/SkipListWriter \
+ clucene/src/core/CLucene/index/IndexFileDeleter \
+ clucene/src/core/CLucene/index/SegmentReader \
+ clucene/src/core/CLucene/index/DirectoryIndexReader \
+ clucene/src/core/CLucene/index/TermVectorWriter \
+ clucene/src/core/CLucene/index/IndexReader \
+ clucene/src/core/CLucene/index/SegmentTermPositions \
+ clucene/src/core/CLucene/index/SegmentMerger \
+ clucene/src/core/CLucene/index/IndexWriter \
+ clucene/src/core/CLucene/index/MultiReader \
+ clucene/src/core/CLucene/index/MultiSegmentReader \
+ clucene/src/core/CLucene/index/Payload \
+ clucene/src/core/CLucene/index/SegmentTermEnum \
+ clucene/src/core/CLucene/index/TermInfo \
+ clucene/src/core/CLucene/index/IndexModifier \
+ clucene/src/core/CLucene/index/SegmentMergeQueue \
+ clucene/src/core/CLucene/index/FieldsReader \
+ clucene/src/core/CLucene/index/TermInfosReader \
+ clucene/src/core/CLucene/index/MultipleTermPositions \
+ clucene/src/core/CLucene/search/Compare \
+ clucene/src/core/CLucene/search/Scorer \
+ clucene/src/core/CLucene/search/ScorerDocQueue \
+ clucene/src/core/CLucene/search/PhraseScorer \
+ clucene/src/core/CLucene/search/SloppyPhraseScorer \
+ clucene/src/core/CLucene/search/DisjunctionSumScorer \
+ clucene/src/core/CLucene/search/ConjunctionScorer \
+ clucene/src/core/CLucene/search/PhraseQuery \
+ clucene/src/core/CLucene/search/PrefixQuery \
+ clucene/src/core/CLucene/search/ExactPhraseScorer \
+ clucene/src/core/CLucene/search/TermScorer \
+ clucene/src/core/CLucene/search/Similarity \
+ clucene/src/core/CLucene/search/BooleanScorer \
+ clucene/src/core/CLucene/search/BooleanScorer2 \
+ clucene/src/core/CLucene/search/HitQueue \
+ clucene/src/core/CLucene/search/FieldCacheImpl \
+ clucene/src/core/CLucene/search/ChainedFilter \
+ clucene/src/core/CLucene/search/RangeFilter \
+ clucene/src/core/CLucene/search/CachingWrapperFilter \
+ clucene/src/core/CLucene/search/QueryFilter \
+ clucene/src/core/CLucene/search/TermQuery \
+ clucene/src/core/CLucene/search/FuzzyQuery \
+ clucene/src/core/CLucene/search/SearchHeader \
+ clucene/src/core/CLucene/search/RangeQuery \
+ clucene/src/core/CLucene/search/IndexSearcher \
+ clucene/src/core/CLucene/search/Sort \
+ clucene/src/core/CLucene/search/PhrasePositions \
+ clucene/src/core/CLucene/search/FieldDocSortedHitQueue \
+ clucene/src/core/CLucene/search/WildcardTermEnum \
+ clucene/src/core/CLucene/search/MultiSearcher \
+ clucene/src/core/CLucene/search/Hits \
+ clucene/src/core/CLucene/search/MultiTermQuery \
+ clucene/src/core/CLucene/search/FilteredTermEnum \
+ clucene/src/core/CLucene/search/FieldSortedHitQueue \
+ clucene/src/core/CLucene/search/WildcardQuery \
+ clucene/src/core/CLucene/search/Explanation \
+ clucene/src/core/CLucene/search/BooleanQuery \
+ clucene/src/core/CLucene/search/FieldCache \
+ clucene/src/core/CLucene/search/DateFilter \
+ clucene/src/core/CLucene/search/MatchAllDocsQuery \
+ clucene/src/core/CLucene/search/MultiPhraseQuery \
+ clucene/src/core/CLucene/search/ConstantScoreQuery \
+ clucene/src/core/CLucene/search/CachingSpanFilter \
+ clucene/src/core/CLucene/search/SpanQueryFilter \
+ clucene/src/core/CLucene/search/spans/NearSpansOrdered \
+ clucene/src/core/CLucene/search/spans/NearSpansUnordered \
+ clucene/src/core/CLucene/search/spans/SpanFirstQuery \
+ clucene/src/core/CLucene/search/spans/SpanNearQuery \
+ clucene/src/core/CLucene/search/spans/SpanNotQuery \
+ clucene/src/core/CLucene/search/spans/SpanOrQuery \
+ clucene/src/core/CLucene/search/spans/SpanScorer \
+ clucene/src/core/CLucene/search/spans/SpanTermQuery \
+ clucene/src/core/CLucene/search/spans/SpanWeight \
+ clucene/src/core/CLucene/search/spans/TermSpans \
+ clucene/src/contribs-lib/CLucene/analysis/cjk/CJKAnalyzer \
+ clucene/src/contribs-lib/CLucene/analysis/LanguageBasedAnalyzer \
+ clucene/src/contribs-lib/CLucene/analysis/PorterStemmer \
+ clucene/src/contribs-lib/CLucene/snowball/Snowball \
+))
+
+$(eval $(call gb_Library_add_generated_cobjects,clucene,\
+ clucene/src/contribs-lib/CLucene/snowball/libstemmer/libstemmer \
+ clucene/src/contribs-lib/CLucene/snowball/src_c/stem_ISO_8859_1_danish \
+ clucene/src/contribs-lib/CLucene/snowball/src_c/stem_ISO_8859_1_dutch \
+ clucene/src/contribs-lib/CLucene/snowball/src_c/stem_ISO_8859_1_english \
+ clucene/src/contribs-lib/CLucene/snowball/src_c/stem_ISO_8859_1_finnish \
+ clucene/src/contribs-lib/CLucene/snowball/src_c/stem_ISO_8859_1_french \
+ clucene/src/contribs-lib/CLucene/snowball/src_c/stem_ISO_8859_1_german \
+ clucene/src/contribs-lib/CLucene/snowball/src_c/stem_ISO_8859_1_italian \
+ clucene/src/contribs-lib/CLucene/snowball/src_c/stem_ISO_8859_1_norwegian \
+ clucene/src/contribs-lib/CLucene/snowball/src_c/stem_ISO_8859_1_porter \
+ clucene/src/contribs-lib/CLucene/snowball/src_c/stem_ISO_8859_1_portuguese \
+ clucene/src/contribs-lib/CLucene/snowball/src_c/stem_ISO_8859_1_spanish \
+ clucene/src/contribs-lib/CLucene/snowball/src_c/stem_ISO_8859_1_swedish \
+ clucene/src/contribs-lib/CLucene/snowball/src_c/stem_KOI8_R_russian \
+ clucene/src/contribs-lib/CLucene/snowball/src_c/stem_UTF_8_danish \
+ clucene/src/contribs-lib/CLucene/snowball/src_c/stem_UTF_8_dutch \
+ clucene/src/contribs-lib/CLucene/snowball/src_c/stem_UTF_8_english \
+ clucene/src/contribs-lib/CLucene/snowball/src_c/stem_UTF_8_finnish \
+ clucene/src/contribs-lib/CLucene/snowball/src_c/stem_UTF_8_french \
+ clucene/src/contribs-lib/CLucene/snowball/src_c/stem_UTF_8_german \
+ clucene/src/contribs-lib/CLucene/snowball/src_c/stem_UTF_8_italian \
+ clucene/src/contribs-lib/CLucene/snowball/src_c/stem_UTF_8_norwegian \
+ clucene/src/contribs-lib/CLucene/snowball/src_c/stem_UTF_8_porter \
+ clucene/src/contribs-lib/CLucene/snowball/src_c/stem_UTF_8_portuguese \
+ clucene/src/contribs-lib/CLucene/snowball/src_c/stem_UTF_8_russian \
+ clucene/src/contribs-lib/CLucene/snowball/src_c/stem_UTF_8_spanish \
+ clucene/src/contribs-lib/CLucene/snowball/src_c/stem_UTF_8_swedish \
+ clucene/src/contribs-lib/CLucene/snowball/runtime/utilities \
+ clucene/src/contribs-lib/CLucene/snowball/runtime/api \
+))
+
+#FIXME, correct dependency
+$(call gb_Package_get_target,clucene_inc) : $(WORKDIR)/clucene/src/shared/CLucene/clucene-config.h
+
+$(WORKDIR)/clucene/src/shared/CLucene/clucene-config.h : $(TARFILE_LOCATION)/48d647fbd8ef8889e5a7f422c1bfda94-clucene-core-2.3.3.4.tar.gz
+ mkdir -p $(dir $@)
+ $(GNUTAR) -x -C $(WORKDIR)/clucene --strip-component=1 -f $(TARFILE_LOCATION)/48d647fbd8ef8889e5a7f422c1bfda94-clucene-core-2.3.3.4.tar.gz
+ #FIXME ?, our rules expect .cxx
+ for i in `find $(WORKDIR)/clucene -name "*.cpp"`; do mv $$i $${i%%cpp}cxx; done
+ #dirent.h is a problem, move it around
+ mkdir -p $(WORKDIR)/clucene/inc/internal/CLucene/util
+ mv $(WORKDIR)/clucene/src/shared/CLucene/util/dirent.h $(WORKDIR)/clucene/inc/internal/CLucene/util
+ #To generate these, run cmake for each sufficiently different platform, customize and stick into configs
+ cp configs/_clucene-config-generic.h $(WORKDIR)/clucene/src/shared/CLucene/_clucene-config.h
+ cp configs/clucene-config-generic.h $(WORKDIR)/clucene/src/shared/CLucene/clucene-config.h
+
+$(call gb_Library_get_clean_target,clucene) : clucene_clean
+
+clucene_clean :
+ rm -rf $(WORKDIR)/clucene
+.PHONY: clucene_clean
+
+# vim: set noet sw=4 ts=4:
diff --git a/clucene/Makefile b/clucene/Makefile
new file mode 100644
index 000000000000..5f46a974f7fe
--- /dev/null
+++ b/clucene/Makefile
@@ -0,0 +1,11 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#
+
+EXTERNAL_WARNINGS_NOT_ERRORS := TRUE
+export EXTERNAL_WARNINGS_NOT_ERRORS
+
+module_directory:=$(dir $(realpath $(firstword $(MAKEFILE_LIST))))
+
+include $(module_directory)/../solenv/gbuild/partial_build.mk
+
+# vim: set noet sw=4 ts=4:
diff --git a/clucene/Module_clucene.mk b/clucene/Module_clucene.mk
new file mode 100644
index 000000000000..e104d01c94d8
--- /dev/null
+++ b/clucene/Module_clucene.mk
@@ -0,0 +1,35 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+# Version: MPL 1.1 / GPLv3+ / LGPLv3+
+#
+# The contents of this file are subject to the Mozilla Public License Version
+# 1.1 (the "License"); you may not use this file except in compliance with
+# the License or as specified alternatively below. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS IS" basis,
+# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+# for the specific language governing rights and limitations under the
+# License.
+#
+# Major Contributor(s):
+# Copyright (C) 2012 Red Hat, Inc., Caolán McNamara <caolanm@redhat.com>
+# (initial developer)
+#
+# All Rights Reserved.
+#
+# For minor contributions see the git repository.
+#
+# Alternatively, the contents of this file may be used under the terms of
+# either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+# instead of those above.
+
+$(eval $(call gb_Module_Module,clucene))
+
+$(eval $(call gb_Module_add_targets,clucene,\
+ Library_clucene \
+ Package_inc \
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/clucene/Package_inc.mk b/clucene/Package_inc.mk
new file mode 100644
index 000000000000..1bc590347214
--- /dev/null
+++ b/clucene/Package_inc.mk
@@ -0,0 +1,97 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+# Version: MPL 1.1 / GPLv3+ / LGPLv3+
+#
+# The contents of this file are subject to the Mozilla Public License Version
+# 1.1 (the "License"); you may not use this file except in compliance with
+# the License or as specified alternatively below. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS IS" basis,
+# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+# for the specific language governing rights and limitations under the
+# License.
+#
+# Major Contributor(s):
+# Copyright (C) 2012 Red Hat, Inc., Caolán McNamara <caolanm@redhat.com>
+# (initial developer)
+#
+# All Rights Reserved.
+#
+# For minor contributions see the git repository.
+#
+# Alternatively, the contents of this file may be used under the terms of
+# either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+# instead of those above.
+
+$(eval $(call gb_Package_Package,clucene_inc,$(WORKDIR)/clucene))
+
+$(eval $(call gb_Package_add_file,clucene_inc,inc/CLucene/SharedHeader.h,src/shared/CLucene/SharedHeader.h))
+$(eval $(call gb_Package_add_file,clucene_inc,inc/CLucene/index/DirectoryIndexReader.h,src/core/CLucene/index/DirectoryIndexReader.h))
+$(eval $(call gb_Package_add_file,clucene_inc,inc/CLucene/index/Terms.h,src/core/CLucene/index/Terms.h))
+$(eval $(call gb_Package_add_file,clucene_inc,inc/CLucene/index/IndexDeletionPolicy.h,src/core/CLucene/index/IndexDeletionPolicy.h))
+$(eval $(call gb_Package_add_file,clucene_inc,inc/CLucene/index/MultipleTermPositions.h,src/core/CLucene/index/MultipleTermPositions.h))
+$(eval $(call gb_Package_add_file,clucene_inc,inc/CLucene/index/Term.h,src/core/CLucene/index/Term.h))
+$(eval $(call gb_Package_add_file,clucene_inc,inc/CLucene/index/IndexModifier.h,src/core/CLucene/index/IndexModifier.h))
+$(eval $(call gb_Package_add_file,clucene_inc,inc/CLucene/index/Payload.h,src/core/CLucene/index/Payload.h))
+$(eval $(call gb_Package_add_file,clucene_inc,inc/CLucene/index/MultiReader.h,src/core/CLucene/index/MultiReader.h))
+$(eval $(call gb_Package_add_file,clucene_inc,inc/CLucene/index/MergeScheduler.h,src/core/CLucene/index/MergeScheduler.h))
+$(eval $(call gb_Package_add_file,clucene_inc,inc/CLucene/index/TermVector.h,src/core/CLucene/index/TermVector.h))
+$(eval $(call gb_Package_add_file,clucene_inc,inc/CLucene/index/MergePolicy.h,src/core/CLucene/index/MergePolicy.h))
+$(eval $(call gb_Package_add_file,clucene_inc,inc/CLucene/index/IndexReader.h,src/core/CLucene/index/IndexReader.h))
+$(eval $(call gb_Package_add_file,clucene_inc,inc/CLucene/index/IndexWriter.h,src/core/CLucene/index/IndexWriter.h))
+$(eval $(call gb_Package_add_file,clucene_inc,inc/CLucene/search/MultiTermQuery.h,src/core/CLucene/search/MultiTermQuery.h))
+$(eval $(call gb_Package_add_file,clucene_inc,inc/CLucene/search/spans/SpanTermQuery.h,src/core/CLucene/search/spans/SpanTermQuery.h))
+$(eval $(call gb_Package_add_file,clucene_inc,inc/CLucene/search/spans/SpanQuery.h,src/core/CLucene/search/spans/SpanQuery.h))
+$(eval $(call gb_Package_add_file,clucene_inc,inc/CLucene/search/spans/SpanNotQuery.h,src/core/CLucene/search/spans/SpanNotQuery.h))
+$(eval $(call gb_Package_add_file,clucene_inc,inc/CLucene/search/spans/SpanScorer.h,src/core/CLucene/search/spans/SpanScorer.h))
+$(eval $(call gb_Package_add_file,clucene_inc,inc/CLucene/search/spans/SpanFirstQuery.h,src/core/CLucene/search/spans/SpanFirstQuery.h))
+$(eval $(call gb_Package_add_file,clucene_inc,inc/CLucene/search/spans/SpanNearQuery.h,src/core/CLucene/search/spans/SpanNearQuery.h))
+$(eval $(call gb_Package_add_file,clucene_inc,inc/CLucene/search/spans/SpanOrQuery.h,src/core/CLucene/search/spans/SpanOrQuery.h))
+$(eval $(call gb_Package_add_file,clucene_inc,inc/CLucene/search/spans/Spans.h,src/core/CLucene/search/spans/Spans.h))
+$(eval $(call gb_Package_add_file,clucene_inc,inc/CLucene/search/spans/SpanWeight.h,src/core/CLucene/search/spans/SpanWeight.h))
+$(eval $(call gb_Package_add_file,clucene_inc,inc/CLucene/search/Filter.h,src/core/CLucene/search/Filter.h))
+$(eval $(call gb_Package_add_file,clucene_inc,inc/CLucene/search/FieldSortedHitQueue.h,src/core/CLucene/search/FieldSortedHitQueue.h))
+$(eval $(call gb_Package_add_file,clucene_inc,inc/CLucene/search/SpanQueryFilter.h,src/core/CLucene/search/SpanQueryFilter.h))
+$(eval $(call gb_Package_add_file,clucene_inc,inc/CLucene/search/TermQuery.h,src/core/CLucene/search/TermQuery.h))
+$(eval $(call gb_Package_add_file,clucene_inc,inc/CLucene/search/MultiPhraseQuery.h,src/core/CLucene/search/MultiPhraseQuery.h))
+$(eval $(call gb_Package_add_file,clucene_inc,inc/CLucene/CLConfig.h,src/core/CLucene/CLConfig.h))
+$(eval $(call gb_Package_add_file,clucene_inc,inc/CLucene/CLucene/util/VoidList.h,src/core/CLucene/util/VoidList.h))
+$(eval $(call gb_Package_add_file,clucene_inc,inc/CLucene/CLucene/util/Reader.h,src/core/CLucene/util/Reader.h))
+$(eval $(call gb_Package_add_file,clucene_inc,inc/CLucene/CLucene/util/VoidMap.h,src/core/CLucene/util/VoidMap.h))
+$(eval $(call gb_Package_add_file,clucene_inc,inc/CLucene/CLucene/util/CLStreams.h,src/core/CLucene/util/CLStreams.h))
+$(eval $(call gb_Package_add_file,clucene_inc,inc/CLucene/CLucene/util/Array.h,src/core/CLucene/util/Array.h))
+$(eval $(call gb_Package_add_file,clucene_inc,inc/CLucene/CLucene/util/PriorityQueue.h,src/core/CLucene/util/PriorityQueue.h))
+$(eval $(call gb_Package_add_file,clucene_inc,inc/CLucene/CLucene/util/BitSet.h,src/core/CLucene/util/BitSet.h))
+$(eval $(call gb_Package_add_file,clucene_inc,inc/CLucene/CLucene/util/Equators.h,src/core/CLucene/util/Equators.h))
+$(eval $(call gb_Package_add_file,clucene_inc,inc/CLucene/queryParser/QueryParserConstants.h,src/core/CLucene/queryParser/QueryParserConstants.h))
+$(eval $(call gb_Package_add_file,clucene_inc,inc/CLucene/queryParser/QueryToken.h,src/core/CLucene/queryParser/QueryToken.h))
+$(eval $(call gb_Package_add_file,clucene_inc,inc/CLucene/queryParser/legacy/QueryToken.h,src/core/CLucene/queryParser/legacy/QueryToken.h))
+$(eval $(call gb_Package_add_file,clucene_inc,inc/CLucene/queryParser/legacy/MultiFieldQueryParser.h,src/core/CLucene/queryParser/legacy/MultiFieldQueryParser.h))
+$(eval $(call gb_Package_add_file,clucene_inc,inc/CLucene/queryParser/legacy/QueryParser.h,src/core/CLucene/queryParser/legacy/QueryParser.h))
+$(eval $(call gb_Package_add_file,clucene_inc,inc/CLucene/queryParser/MultiFieldQueryParser.h,src/core/CLucene/queryParser/MultiFieldQueryParser.h))
+$(eval $(call gb_Package_add_file,clucene_inc,inc/CLucene/queryParser/QueryParserTokenManager.h,src/core/CLucene/queryParser/QueryParserTokenManager.h))
+$(eval $(call gb_Package_add_file,clucene_inc,inc/CLucene/queryParser/QueryParser.h,src/core/CLucene/queryParser/QueryParser.h))
+$(eval $(call gb_Package_add_file,clucene_inc,inc/CLucene/LuceneThreads.h,src/shared/CLucene/LuceneThreads.h))
+$(eval $(call gb_Package_add_file,clucene_inc,inc/CLucene/store/LockFactory.h,src/core/CLucene/store/LockFactory.h))
+$(eval $(call gb_Package_add_file,clucene_inc,inc/CLucene/store/Lock.h,src/core/CLucene/store/Lock.h))
+$(eval $(call gb_Package_add_file,clucene_inc,inc/CLucene/store/Directory.h,src/core/CLucene/store/Directory.h))
+$(eval $(call gb_Package_add_file,clucene_inc,inc/CLucene/store/RAMDirectory.h,src/core/CLucene/store/RAMDirectory.h))
+$(eval $(call gb_Package_add_file,clucene_inc,inc/CLucene/store/IndexInput.h,src/core/CLucene/store/IndexInput.h))
+$(eval $(call gb_Package_add_file,clucene_inc,inc/CLucene/store/FSDirectory.h,src/core/CLucene/store/FSDirectory.h))
+$(eval $(call gb_Package_add_file,clucene_inc,inc/CLucene/store/IndexOutput.h,src/core/CLucene/store/IndexOutput.h))
+$(eval $(call gb_Package_add_file,clucene_inc,inc/CLucene/StdHeader.h,src/core/CLucene/StdHeader.h))
+$(eval $(call gb_Package_add_file,clucene_inc,inc/CLucene/debug/error.h,src/core/CLucene/debug/error.h))
+$(eval $(call gb_Package_add_file,clucene_inc,inc/CLucene/debug/mem.h,src/core/CLucene/debug/mem.h))
+$(eval $(call gb_Package_add_file,clucene_inc,inc/CLucene/debug/lucenebase.h,src/core/CLucene/debug/lucenebase.h))
+$(eval $(call gb_Package_add_file,clucene_inc,inc/CLucene/analysis/CachingTokenFilter.h,src/core/CLucene/analysis/CachingTokenFilter.h))
+$(eval $(call gb_Package_add_file,clucene_inc,inc/CLucene/analysis/AnalysisHeader.h,src/core/CLucene/analysis/AnalysisHeader.h))
+$(eval $(call gb_Package_add_file,clucene_inc,inc/CLucene/analysis/Analyzers.h,src/core/CLucene/analysis/Analyzers.h))
+$(eval $(call gb_Package_add_file,clucene_inc,inc/CLucene/analysis/standard/StandardTokenizer.h,src/core/CLucene/analysis/standard/StandardTokenizer.h))
+$(eval $(call gb_Package_add_file,clucene_inc,inc/CLucene/analysis/standard/StandardFilter.h,src/core/CLucene/analysis/standard/StandardFilter.h))
+$(eval $(call gb_Package_add_file,clucene_inc,inc/CLucene/analysis/standard/StandardTokenizerConstants.h,src/core/CLucene/analysis/standard/StandardTokenizerConstants.h))
+$(eval $(call gb_Package_add_file,clucene_inc,inc/CLucene/analysis/standard/StandardAnalyzer.h,src/core/CLucene/analysis/standard/StandardAnalyzer.h))
+$(eval $(call gb_Package_add_file,clucene_inc,inc/CLucene/analysis/LanguageBasedAnalyzer.h,src/contribs-lib/CLucene/analysis/LanguageBasedAnalyzer.h))
+
+# vim: set noet sw=4 ts=4:
diff --git a/clucene/configs/_clucene-config-generic.h b/clucene/configs/_clucene-config-generic.h
new file mode 100644
index 000000000000..e8871084abe4
--- /dev/null
+++ b/clucene/configs/_clucene-config-generic.h
@@ -0,0 +1,112 @@
+#ifndef _SRC_CLUCENE_INTERNAL_CLUCENE_CONFIG_H
+#define _SRC_CLUCENE_INTERNAL_CLUCENE_CONFIG_H 1
+
+/* src/shared/CLucene/_clucene-config.h.
+* Generated automatically at end of cmake.
+* These are internal definitions, and this file does not need to be distributed
+*/
+
+/* CMake will look for these functions: */
+/* #undef _CL_HAVE_FUNCTION__VSNWPRINTF */
+/* #undef _CL_HAVE_FUNCTION__SNWPRINTF */
+#define _CL_HAVE_FUNCTION_WCSCASECMP
+#define _CL_HAVE_FUNCTION_WCSCAT 1
+#define _CL_HAVE_FUNCTION_WCSCHR 1
+#define _CL_HAVE_FUNCTION_WCSCMP 1
+#define _CL_HAVE_FUNCTION_WCSCPY 1
+#define _CL_HAVE_FUNCTION_WCSCSPN 1
+/* #undef _CL_HAVE_FUNCTION_WCSICMP */
+#define _CL_HAVE_FUNCTION_WCSLEN 1
+#define _CL_HAVE_FUNCTION_WCSNCMP 1
+#define _CL_HAVE_FUNCTION_WCSNCPY 1
+#define _CL_HAVE_FUNCTION_WCSSTR 1
+#define _CL_HAVE_FUNCTION_WCSTOD 1
+#define _CL_HAVE_FUNCTION_WCSDUP 1
+#define _CL_HAVE_FUNCTION_WCSTOLL 1
+/* #undef _CL_HAVE_FUNCTION_WCSUPR */
+#define _CL_HAVE_FUNCTION_GETTIMEOFDAY 1
+/* #undef _CL_HAVE_FUNCTION_MAPVIEWOFFILE */
+
+/* #undef _CL_HAVE_FUNCTION_LLTOA */
+/* #undef _CL_HAVE_FUNCTION_LLTOW */
+#define _CL_HAVE_FUNCTION_PRINTF 1
+#define _CL_HAVE_FUNCTION_SNPRINTF 1
+#define _CL_HAVE_FUNCTION_MMAP 1
+/* #undef _CL_HAVE_FUNCTION_STRLWR */
+#define _CL_HAVE_FUNCTION_STRTOLL 1
+/* #undef _CL_HAVE_FUNCTION_STRUPR */
+/* #undef _CL_HAVE_FUNCTION_GETPAGESIZE */
+#define _CL_HAVE_FUNCTION_USLEEP 1
+/* #undef _CL_HAVE_FUNCTION_SLEEP */
+
+#define CL_MAX_PATH 4096
+//this is the max filename... for now its just the same,
+//but this could change, so we use a different name
+#define CL_MAX_NAME CL_MAX_PATH
+//this used to be CL_MAX_NAME * 32, but as Alex Hudson points out, this could come to be 128kb.
+//the above logic for CL_MAX_NAME should be correct enough to handle all file names
+#define CL_MAX_DIR CL_MAX_PATH
+
+#define _O_RANDOM 0
+#define _O_BINARY 0
+#define _S_IREAD S_IREAD
+#define _S_IWRITE S_IWRITE
+#define _timeb timeb
+
+#define _ILONG(x) x ## L
+#define _ILONGLONG(x) x ## LL
+
+#define fileStat stat64
+#define cl_stat_t stat64
+#define fileSize CL_NS(util)::Misc::filelength
+#define fileSeek lseek64
+#define fileTell(fhandle) fileSeek(fhandle, 0, SEEK_CUR)
+#define fileHandleStat fstat64
+#define _realpath realpath
+#define _rename rename
+#define _close close
+#define _read read
+#define _cl_open open
+#define _write write
+#define _snprintf snprintf
+#define _mkdir(x) mkdir(x,0777)
+#define _unlink unlink
+#define _ftime ftime
+#define SLEEPFUNCTION usleep
+
+/* CMake will determine these specifics. Things like bugs, etc */
+
+/* Does not support new float byte<->float conversions */
+/* #undef _CL_HAVE_NO_FLOAT_BYTE */
+
+/* Define if recursive pthread mutexes are available */
+#define _CL_HAVE_PTHREAD_MUTEX_RECURSIVE 1
+
+/** define if you would like to force clucene to use the internal
+* character functions.
+* Tests may display unpredictable behaviour if this is not defined.
+*/
+#ifndef LUCENE_USE_INTERNAL_CHAR_FUNCTIONS
+ #define LUCENE_USE_INTERNAL_CHAR_FUNCTIONS 1
+#endif
+
+/** fix ansi for loop scope */
+#if 1==0
+ #define for if (0); else for
+#endif
+
+
+/* Compiler oddities */
+
+//not sure why, but cygwin reports _S_IREAD, but doesn't actually work...
+//TODO: make this work properly (this bit shouldn't be necessary)
+#ifdef __CYGWIN__
+ #define _S_IREAD 0333
+ #define _S_IWRITE 0333
+#endif
+
+#ifdef __BORLANDC__ //borland compiler
+ #define O_RANDOM 0
+#endif
+
+#endif
diff --git a/clucene/configs/clucene-config-generic.h b/clucene/configs/clucene-config-generic.h
new file mode 100644
index 000000000000..6b985dba9fb9
--- /dev/null
+++ b/clucene/configs/clucene-config-generic.h
@@ -0,0 +1,148 @@
+#ifndef _SRC_CLUCENE_CLUCENE_CONFIG_H
+#define _SRC_CLUCENE_CLUCENE_CONFIG_H 1
+
+/* src/shared/CLucene/clucene-config.h.
+* Generated automatically at end of cmake.
+*/
+
+/* CMake will look for these headers: */
+#define _CL_HAVE_STRING_H 1
+#define _CL_HAVE_MEMORY_H 1
+#define _CL_HAVE_UNISTD_H 1
+/* #undef _CL_HAVE_IO_H */
+/* #undef _CL_HAVE_DIRECT_H */
+#define _CL_HAVE_DIRENT_H 1
+#define _CL_HAVE_SYS_DIR_H
+/* #undef _CL_HAVE_SYS_NDIR_H */
+#define _CL_HAVE_ERRNO_H 1
+#define _CL_HAVE_WCHAR_H 1
+#define _CL_HAVE_WCTYPE_H
+#define _CL_HAVE_CTYPE_H 1
+/* #undef _CL_HAVE_WINDOWS_H */
+/* #undef _CL_HAVE_WINDEF_H */
+#define _CL_HAVE_SYS_TYPES_H 1
+/* #undef _CL_HAVE_DLFCN_H */
+#define _CL_HAVE_EXT_HASH_MAP 1
+/* #undef _CL_HAVE_EXT_HASH_SET */
+#define _CL_HAVE_TR1_UNORDERED_MAP 1
+#define _CL_HAVE_TR1_UNORDERED_SET 1
+#define _CL_HAVE_HASH_MAP
+#define _CL_HAVE_HASH_SET
+/* #undef _CL_HAVE_NDIR_H */
+#define _CL_HAVE_SYS_STAT_H 1
+#define _CL_HAVE_SYS_TIMEB_H 1
+#define _CL_HAVE_SYS_TIME_H 1
+/* #undef _CL_HAVE_TCHAR_H */
+#define _CL_HAVE_SYS_MMAN_H 1
+/* #undef _CL_HAVE_WINERROR_H */
+#define _CL_HAVE_STDINT_H 1
+
+// our needed types
+/* undef int8_t int8_t */
+/* undef uint8_t uint8_t */
+/* undef int16_t int16_t */
+/* undef uint16_t uint16_t */
+/* undef int32_t int32_t */
+/* undef uint32_t uint32_t */
+/* undef int64_t int64_t */
+/* undef uint64_t uint64_t */
+
+/* undef float_t*/
+
+/* undef size_t size_t */
+
+/* tchar & _T definitions... */
+typedef wchar_t TCHAR;
+#define _T(x) L ## x
+
+/* CMake will determine these specifics. Things like bugs, etc */
+
+/* if we can't support the map/set hashing */
+/* #undef LUCENE_DISABLE_HASHING */
+
+/* Define if you have POSIX threads libraries and header files. */
+#define _CL_HAVE_PTHREAD 1
+
+/* Define if you have Win32 threads libraries and header files. */
+/* #undef _CL_HAVE_WIN32_THREADS */
+
+/* Define if we have gcc atomic functions */
+#define _CL_HAVE_GCC_ATOMIC_FUNCTIONS 1
+
+/* Define what eval method is required for float_t to be defined (for GCC). */
+/* #undef _FLT_EVAL_METHOD */
+
+/* If we use hashmaps, which namespace do we use: */
+#define CL_NS_HASHING(func) std::tr1::func
+/* If we use hashmaps, which classes do we use: */
+#define _CL_HASH_MAP unordered_map
+#define _CL_HASH_SET unordered_set
+
+/* define if the compiler implements namespaces */
+#define _CL_HAVE_NAMESPACES
+
+/* Defined if the snprintf overflow test fails */
+/* #undef _CL_HAVE_SNPRINTF_BUG */
+
+/* Defined if the swprintf test fails */
+/* #undef _CL_HAVE_SNWPRINTF_BUG */
+
+/* How to define a static const in a class */
+#define LUCENE_STATIC_CONSTANT(type, assignment) static const type assignment
+
+/* Define to the necessary symbol if this constant uses a non-standard name on
+ your system. */
+//todo: not checked
+/* #undef _CL_PTHREAD_CREATE_JOINABLE */
+
+/* Define to 1 if the `S_IS*' macros in <sys/stat.h> do not work properly. */
+//todo: not being checked for...
+/* #undef _CL_STAT_MACROS_BROKEN */
+
+/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
+//not actually used for anything...
+//#define _CL_TIME_WITH_SYS_TIME 1
+
+/* Define that we will be using -fvisibility=hidden, and
+ * make public classes visible using __attribute__ ((visibility("default")))
+ */
+#define _CL_HAVE_GCCVISIBILITYPATCH 1
+
+
+/* Versions, etc */
+
+/* Name of package */
+#define _CL_PACKAGE "clucene-core"
+
+/* Version number of package */
+#define _CL_VERSION "2.3.3.4"
+
+/* So-Version number of package */
+#define _CL_SOVERSION "1"
+
+/* A comparable version number */
+#define _CL_INT_VERSION 2030304
+
+/* Configured options (from command line) */
+
+/* Forces into Ascii mode */
+/* #undef _ASCII */
+
+/* Conditional Debugging */
+/* #undef _CL__CND_DEBUG */
+
+/* debuging option */
+/* #undef _DEBUG */
+
+/* Disable multithreading */
+/* #undef _CL_DISABLE_MULTITHREADING */
+
+
+#ifdef __BORLANDC__ //borland compiler
+ //todo: bcc incorrectly detects this... fix this in cmake
+ #undef LUCENE_STATIC_CONSTANT
+ #define LUCENE_STATIC_CONSTANT(type, assignment) enum { assignment }
+#endif
+
+
+#endif
diff --git a/clucene/prj/build.lst b/clucene/prj/build.lst
new file mode 100644
index 000000000000..ef04681953bb
--- /dev/null
+++ b/clucene/prj/build.lst
@@ -0,0 +1,3 @@
+cl cl : ZLIB:zlib BOOST:boost NULL
+cl cl usr1 - all cl_mkout NULL
+cl cl\prj nmake - all cl_prj NULL
diff --git a/clucene/prj/d.lst b/clucene/prj/d.lst
new file mode 100644
index 000000000000..e69de29bb2d1
--- /dev/null
+++ b/clucene/prj/d.lst
diff --git a/clucene/prj/makefile.mk b/clucene/prj/makefile.mk
new file mode 100755
index 000000000000..0997622e00f6
--- /dev/null
+++ b/clucene/prj/makefile.mk
@@ -0,0 +1 @@
+.INCLUDE : gbuildbridge.mk