recollindex and python module building and running

Jean-Francois Dockes Jean-Francois Dockes 2015-08-02

added src/autogen.sh
removed src/lib
removed src/mk
removed src/mk/AIX
removed src/mk/CYGWIN
removed src/mk/Darwin
removed src/mk/Default
removed src/mk/FreeBSD
removed src/mk/Linux
removed src/mk/OpenBSD
removed src/mk/SunOS
removed src/mk/commontargets
removed src/mk/localdefs.in
removed src/mk/manifest.txt
changed src/common/autoconfig.h.in
changed src/python/recoll/setup.py.in
changed src/Makefile.in
changed src/configure.ac
changed .hgignore
copied src/lib/mkMake.in -> src/Makefile.am
copied src/mk/commondefs -> src/query/y.tab.h
copied src/query/wasaparse.cpp -> src/query/wasaparseaux.cpp
copied src/query/wasaparse.y -> src/query/wasaparse.ypp
src/autogen.sh Diff Switch to side-by-side view
Loading...
src/lib
File was removed.
src/mk
File was removed.
src/mk/AIX
File was removed.
src/mk/CYGWIN
File was removed.
src/mk/Darwin
File was removed.
src/mk/Default
File was removed.
src/mk/FreeBSD
File was removed.
src/mk/Linux
File was removed.
src/mk/OpenBSD
File was removed.
src/mk/SunOS
File was removed.
src/mk/commontargets
File was removed.
src/mk/localdefs.in
File was removed.
src/mk/manifest.txt
File was removed.
src/common/autoconfig.h.in Diff Switch to side-by-side view
Loading...
src/python/recoll/setup.py.in Diff Switch to side-by-side view
Loading...
src/Makefile.in Diff Switch to side-by-side view
Loading...
src/configure.ac Diff Switch to side-by-side view
Loading...
.hgignore Diff Switch to side-by-side view
Loading...
src/lib/mkMake.in to src/Makefile.am
--- a/src/lib/mkMake.in
+++ b/src/Makefile.am
@@ -1,198 +1,285 @@
-#!/bin/sh
-
-mk=Makefile
-depth=${depth:-..}
-sys=`uname`
-
-SRC_CPP="\
-${depth}/aspell/rclaspell.cpp \
-${depth}/common/beaglequeuecache.cpp \
-${depth}/common/cstr.cpp \
-${depth}/common/rclconfig.cpp \
-${depth}/common/rclinit.cpp \
-${depth}/common/textsplit.cpp \
-${depth}/common/unacpp.cpp \
-${depth}/index/beaglequeue.cpp \
-${depth}/index/bglfetcher.cpp \
-${depth}/index/checkretryfailed.cpp \
-${depth}/index/fetcher.cpp \
-${depth}/index/fsfetcher.cpp \
-${depth}/index/fsindexer.cpp \
-${depth}/index/indexer.cpp \
-${depth}/index/mimetype.cpp \
-${depth}/index/subtreelist.cpp \
-${depth}/internfile/htmlparse.cpp \
-${depth}/internfile/internfile.cpp \
-${depth}/internfile/mh_exec.cpp \
-${depth}/internfile/mh_execm.cpp \
-${depth}/internfile/mh_html.cpp \
-${depth}/internfile/mh_mail.cpp \
-${depth}/internfile/mh_mbox.cpp \
-${depth}/internfile/mh_text.cpp \
-${depth}/internfile/mimehandler.cpp \
-${depth}/internfile/myhtmlparse.cpp \
-${depth}/internfile/extrameta.cpp \
-${depth}/internfile/txtdcode.cpp \
-${depth}/internfile/uncomp.cpp \
-${depth}/query/docseq.cpp \
-${depth}/query/docseqdb.cpp \
-${depth}/query/docseqhist.cpp \
-${depth}/query/filtseq.cpp \
-${depth}/query/dynconf.cpp \
-${depth}/query/plaintorich.cpp \
-${depth}/query/recollq.cpp \
-${depth}/query/reslistpager.cpp \
-${depth}/query/sortseq.cpp \
-${depth}/query/wasaparse.cpp \
-${depth}/query/wasaparse.tab.cpp \
-${depth}/rcldb/daterange.cpp \
-${depth}/rcldb/expansiondbs.cpp \
-${depth}/rcldb/rclabstract.cpp \
-${depth}/rcldb/rcldb.cpp \
-${depth}/rcldb/rcldoc.cpp \
-${depth}/rcldb/rcldups.cpp \
-${depth}/rcldb/rclquery.cpp \
-${depth}/rcldb/rclterms.cpp \
-${depth}/rcldb/searchdata.cpp \
-${depth}/rcldb/searchdatatox.cpp \
-${depth}/rcldb/searchdataxml.cpp \
-${depth}/rcldb/stemdb.cpp \
-${depth}/rcldb/stoplist.cpp \
-${depth}/rcldb/synfamily.cpp \
-${depth}/unac/unac.cpp \
-${depth}/utils/appformime.cpp \
-${depth}/utils/base64.cpp \
-${depth}/utils/circache.cpp \
-${depth}/utils/closefrom.cpp \
-${depth}/utils/conftree.cpp \
-${depth}/utils/copyfile.cpp \
-${depth}/utils/cpuconf.cpp \
-${depth}/utils/debuglog.cpp \
-${depth}/utils/ecrontab.cpp \
-${depth}/utils/execmd.cpp \
-${depth}/utils/fstreewalk.cpp \
-${depth}/utils/idfile.cpp \
-${depth}/utils/fileudi.cpp \
-${depth}/utils/md5.cpp \
-${depth}/utils/md5ut.cpp \
-${depth}/utils/mimeparse.cpp \
-${depth}/utils/netcon.cpp \
-${depth}/utils/pathut.cpp \
-${depth}/utils/pxattr.cpp \
-${depth}/utils/rclionice.cpp \
-${depth}/utils/readfile.cpp \
-${depth}/utils/smallut.cpp \
-${depth}/utils/strmatcher.cpp \
-${depth}/utils/transcode.cpp \
-${depth}/utils/wipedir.cpp \
-${depth}/utils/x11mon.cpp \
-"
-
-SRC_CC="\
-${depth}/bincimapmime/mime-parsefull.cc \
-${depth}/bincimapmime/mime-parseonlyheader.cc \
-${depth}/bincimapmime/mime-printbody.cc \
-${depth}/bincimapmime/mime.cc \
-${depth}/bincimapmime/convert.cc \
-${depth}/bincimapmime/iodevice.cc \
-${depth}/bincimapmime/iofactory.cc \
-"
-
-for c in $SRC_CPP;do
-    o=`basename $c .cpp`.o
-    OBJS="$OBJS $o"
-    d=`basename $c .cpp`.dep
-    cp /dev/null $d
-    s=`basename $c .cpp`.dep.stamp
-    DEPS="$DEPS $s"
-done
-for c in $SRC_CC;do
-    o=`basename $c .cc`.o
-    OBJS="$OBJS $o"
-    d=`basename $c .cc`.dep
-    cp /dev/null $d
-    s=`basename $c .cc`.dep.stamp
-    DEPS="$DEPS $s"
-done
-
-# The objects need to depend on the localdefs file in case it is
-# changed by a re-configure (it has the local compile flags)
-defs=\$\(depth\)/mk/localdefs
-
-test -f $mk && chmod +w $mk
-
-NODYNLIB=@NODYNLIB@
+
+CXXFLAGS ?= @CXXFLAGS@
+LIBXAPIAN=@LIBXAPIAN@
+XAPIANCXXFLAGS=@XAPIANCXXFLAGS@
+LIBICONV=@LIBICONV@
+INCICONV=@INCICONV@
+LIBFAM = @LIBFAM@
 RCLLIBVERSION=@RCLLIBVERSION@
-  
-cat > $mk <<EOF
-# DONT EDIT BY HAND: created by script mkMake
-depth = ${depth}
-include \$(depth)/mk/sysconf
-
-LIBRECOLL=librecoll.so.${RCLLIBVERSION}
-LIBS = librecoll.a
-${NODYNLIB}LIBS = librecoll.a \$(LIBRECOLL)
-
-all: \$(LIBS) 
-
-OBJS = $OBJS
-DEPS = $DEPS
-
-librecoll.a : \$(DEPS) \$(OBJS)
-	ar ru librecoll.a \$(OBJS)
-	\$(RANLIB) librecoll.a
-
-# Note that we are using the Recoll release number in the soname. There is
-# no effort whatsoever to maintain any kind of ABI compat in this lib. Only
-# programs or modules from the same Recoll release can be compatible.
-\$(LIBRECOLL): \$(DEPS) \$(OBJS)
-	\$(CXX) -shared -Wl,--no-undefined -Wl,--warn-unresolved-symbols \
-          \$(LDFLAGS) -Wl,-soname=\$(LIBRECOLL) -o \$(LIBRECOLL) \$(OBJS) \
-           \$(LIBXAPIAN) \$(LIBICONV) \$(X_LIBX11) \$(LIBSYS)
-	rm -f librecoll.so
-	ln -s \$(LIBRECOLL) librecoll.so
-
-EOF
-
-for c in $SRC_CPP;do
-    o=`basename $c .cpp`.o
-    echo "$o : $c $defs" >> $mk
-    echo "	\$(CXX) \$(ALL_CXXFLAGS) -c $c" >> $mk
-done
-for c in $SRC_CC;do
-    o=`basename $c .cc`.o
-    echo "$o : $c $defs" >> $mk
-    echo "	\$(CXX) \$(ALL_CXXFLAGS) -c $c" >> $mk
-done
-
-cat >> $mk <<EOF
-depend: \$(DEPS)
-clean:
-	rm -f \$(OBJS) \$(LIBS) \$(DEPS) librecoll.so *.stamp
-	for i in *.dep;do test -f \$\$i && cp /dev/null \$\$i;done
-distclean: clean
-	rm -f *.dep   
-EOF
-
-for c in $SRC_CPP;do
-    d=`basename $c .cpp`.dep
-    s=`basename $c .cpp`.dep.stamp
-    echo "$s : $c $defs" >> $mk
-    echo "	\$(CXX) -M \$(ALL_CXXFLAGS) $c > $d" >> $mk
-    echo "	touch $s" >> $mk
-done
-for c in $SRC_CPP;do
-    d=`basename $c .cpp`.dep
-    echo "include $d" >> $mk
-done
-for c in $SRC_CC;do
-    d=`basename $c .cc`.dep
-    s=`basename $c .cc`.dep.stamp
-    echo "$s : $c $defs" >> $mk
-    echo "	\$(CXX) -M \$(ALL_CXXFLAGS) $c > $d" >> $mk
-    echo "	touch $s" >> $mk
-done
-for c in $SRC_CC;do
-    d=`basename $c .cc`.dep
-    echo "include $d" >> $mk
-done
+X_CFLAGS=@X_CFLAGS@
+X_PRE_LIBS=@X_PRE_LIBS@
+X_LIBS=@X_LIBS@
+X_EXTRA_LIBS=@X_EXTRA_LIBS@
+X_LIBX11=@X_LIBX11@
+DEFS=@DEFS@
+
+COMMONCPPFLAGS = -I. \
+    -I$(top_srcdir)/aspell \
+    -I$(top_srcdir)/bincimapmime \
+    -I$(top_srcdir)/common \
+    -I$(top_srcdir)/index \
+    -I$(top_srcdir)/internfile \
+    -I$(top_srcdir)/rcldb \
+    -I$(top_srcdir)/unac \
+    -I$(top_srcdir)/utils 
+
+AM_CPPFLAGS = -Wall -Wno-unused \
+    $(COMMONCPPFLAGS) \
+    $(INCICONV) \
+    $(XAPIANCXXFLAGS) \
+    $(X_CFLAGS) \
+    -DRECOLL_DATADIR=\"${pkgdatadir}\" \
+    -D_GNU_SOURCE \
+    $(DEFS)
+
+ACLOCAL_AMFLAGS = -I m4
+
+if NOTHREADS
+    LIBTHREADS=
+else
+    LIBTHREADS= $(LIBSYSTHREADS)
+endif
+
+librcldir = $(libdir)/recoll
+librcl_LTLIBRARIES = librecoll.la
+
+librecoll_la_SOURCES = \
+aspell/aspell-local.h \
+aspell/rclaspell.cpp \
+aspell/rclaspell.h \
+bincimapmime/config.h \
+bincimapmime/convert.cc \
+bincimapmime/convert.h \
+bincimapmime/iodevice.cc \
+bincimapmime/iodevice.h \
+bincimapmime/iofactory.cc \
+bincimapmime/iofactory.h \
+bincimapmime/mime-inputsource.h \
+bincimapmime/mime-parsefull.cc \
+bincimapmime/mime-parseonlyheader.cc \
+bincimapmime/mime-printbody.cc \
+bincimapmime/mime-utils.h \
+bincimapmime/mime.cc \
+bincimapmime/mime.h \
+common/beaglequeuecache.cpp \
+common/beaglequeuecache.h \
+common/cstr.cpp \
+common/cstr.h \
+common/rclconfig.cpp \
+common/rclconfig.h \
+common/rclinit.cpp \
+common/rclinit.h \
+common/rclversion.h \
+common/textsplit.cpp \
+common/textsplit.h \
+common/unacpp.cpp \
+common/unacpp.h \
+common/unordered_defs.h \
+common/uproplist.h \
+index/beaglequeue.cpp \
+index/beaglequeue.h \
+index/bglfetcher.cpp \
+index/bglfetcher.h \
+index/checkretryfailed.cpp \
+index/checkretryfailed.h \
+index/fetcher.cpp \
+index/fetcher.h \
+index/fsfetcher.cpp \
+index/fsfetcher.h \
+index/fsindexer.cpp \
+index/fsindexer.h \
+index/indexer.cpp \
+index/indexer.h \
+index/mimetype.cpp \
+index/mimetype.h \
+index/rclmon.h \
+index/recollindex.h \
+index/subtreelist.cpp \
+index/subtreelist.h \
+internfile/Filter.h \
+internfile/extrameta.cpp \
+internfile/extrameta.h \
+internfile/htmlparse.cpp \
+internfile/htmlparse.h \
+internfile/indextext.h \
+internfile/internfile.cpp \
+internfile/internfile.h \
+internfile/mh_exec.cpp \
+internfile/mh_exec.h \
+internfile/mh_execm.cpp \
+internfile/mh_execm.h \
+internfile/mh_html.cpp \
+internfile/mh_html.h \
+internfile/mh_mail.cpp \
+internfile/mh_mail.h \
+internfile/mh_mbox.cpp \
+internfile/mh_mbox.h \
+internfile/mh_symlink.h \
+internfile/mh_text.cpp \
+internfile/mh_text.h \
+internfile/mh_unknown.h \
+internfile/mimehandler.cpp \
+internfile/mimehandler.h \
+internfile/myhtmlparse.cpp \
+internfile/myhtmlparse.h \
+internfile/txtdcode.cpp \
+internfile/uncomp.cpp \
+internfile/uncomp.h \
+query/docseq.cpp \
+query/docseq.h \
+query/docseqdb.cpp \
+query/docseqdb.h \
+query/docseqdocs.h \
+query/docseqhist.cpp \
+query/docseqhist.h \
+query/dynconf.cpp \
+query/dynconf.h \
+query/filtseq.cpp \
+query/filtseq.h \
+query/plaintorich.cpp \
+query/plaintorich.h \
+query/recollq.cpp \
+query/recollq.h \
+query/reslistpager.cpp \
+query/reslistpager.h \
+query/sortseq.cpp \
+query/sortseq.h \
+query/wasaparse.h \
+query/wasaparse.ypp \
+query/wasaparseaux.cpp \
+query/wasaparserdriver.h \
+query/wasatorcl.h \
+rcldb/daterange.cpp \
+rcldb/daterange.h \
+rcldb/expansiondbs.cpp \
+rcldb/expansiondbs.h \
+rcldb/rclabstract.cpp \
+rcldb/rcldb.cpp \
+rcldb/rcldb.h \
+rcldb/rcldb_p.h \
+rcldb/rcldoc.cpp \
+rcldb/rcldoc.h \
+rcldb/rcldups.cpp \
+rcldb/rclquery.cpp \
+rcldb/rclquery.h \
+rcldb/rclquery_p.h \
+rcldb/rclterms.cpp \
+rcldb/searchdata.cpp \
+rcldb/searchdata.h \
+rcldb/searchdatatox.cpp \
+rcldb/searchdataxml.cpp \
+rcldb/stemdb.cpp \
+rcldb/stemdb.h \
+rcldb/stoplist.cpp \
+rcldb/stoplist.h \
+rcldb/synfamily.cpp \
+rcldb/synfamily.h \
+rcldb/termproc.h \
+rcldb/xmacros.h \
+unac/unac.cpp \
+unac/unac.h \
+unac/unac_version.h \
+utils/appformime.cpp \
+utils/appformime.h \
+utils/base64.cpp \
+utils/base64.h \
+utils/cancelcheck.h \
+utils/circache.cpp \
+utils/circache.h \
+utils/closefrom.cpp \
+utils/closefrom.h \
+utils/conftree.cpp \
+utils/conftree.h \
+utils/copyfile.cpp \
+utils/copyfile.h \
+utils/cpuconf.cpp \
+utils/cpuconf.h \
+utils/debuglog.cpp \
+utils/debuglog.h \
+utils/ecrontab.cpp \
+utils/ecrontab.h \
+utils/execmd.cpp \
+utils/execmd.h \
+utils/fileudi.cpp \
+utils/fileudi.h \
+utils/fstreewalk.cpp \
+utils/fstreewalk.h \
+utils/hldata.h \
+utils/idfile.cpp \
+utils/idfile.h \
+utils/md5.cpp \
+utils/md5.h \
+utils/md5ut.cpp \
+utils/md5ut.h \
+utils/mimeparse.cpp \
+utils/mimeparse.h \
+utils/netcon.cpp \
+utils/netcon.h \
+utils/pathut.cpp \
+utils/pathut.h \
+utils/ptmutex.h \
+utils/pxattr.cpp \
+utils/pxattr.h \
+utils/rclionice.cpp \
+utils/rclionice.h \
+utils/readfile.cpp \
+utils/readfile.h \
+utils/refcntr.h \
+utils/smallut.cpp \
+utils/smallut.h \
+utils/strmatcher.cpp \
+utils/strmatcher.h \
+utils/transcode.cpp \
+utils/transcode.h \
+utils/utf8iter.h \
+utils/wipedir.cpp \
+utils/wipedir.h \
+utils/workqueue.h \
+utils/x11mon.cpp \
+utils/x11mon.h
+
+BUILT_SOURCES = query/wasaparse.cpp query/wasaparse.h
+
+# We use -release: the lib is only shared
+# between recoll programs from the same release.
+# -version-info $(VERSION_INFO)
+librecoll_la_LDFLAGS = -release $(VERSION) \
+    -Wl,--no-undefined -Wl,--warn-unresolved-symbols
+
+librecoll_la_LIBADD = $(LIBXAPIAN) $(LIBICONV) $(X_LIBX11) $(LIBTHREADS)
+
+bin_PROGRAMS = recollindex
+
+recollindex_SOURCES = \
+                    index/recollindex.cpp \
+                    index/rclmonprc.cpp \
+                    index/rclmonrcv.cpp 
+
+recollindex_LDFLAGS = 
+recollindex_LDADD = librecoll.la
+
+defconfdir = $(pkgdatadir)/examples
+defconf_DATA = \
+sampleconf/fragbuts.xml \
+sampleconf/fields \
+sampleconf/recoll.conf \
+sampleconf/mimeconf \
+sampleconf/recoll.qss \
+sampleconf/mimemap \
+sampleconf/mimeview 
+
+filterdir = $(pkgdatadir)/filters
+filter_DATA = filters/rcl* \
+filters/ppt-dump.py \
+filters/xls-dump.py \
+filters/xlsxmltocsv.py \
+filters/msodump.zip \
+desktop/hotrecoll.py \
+python/recoll/recoll/rclconfig.py 
+
+
+install-data-hook: 
+	(cd $(filterdir); \
+	chmod a+x rcl* ppt-dump.py xls-dump.py xlsxmltocsv.py hotrecoll.py; \
+	chmod 0644 msodump.zip rclexecm.py rcllatinstops.zip rclconfig.py) 
+
src/mk/commondefs to src/query/y.tab.h
--- a/src/mk/commondefs
+++ b/src/query/y.tab.h
@@ -1,21 +1,13 @@
+// Bogus file to solve the following problem:
 
-# Common/default for all systems, can be overridden by sys-specific include
+// Bison generates y.tab.h and inserts a line in the generated cpp
+// file to include it
 
-COMMONCXXFLAGS = -I. \
-	       -I$(depth)/aspell \
-	       -I$(depth)/bincimapmime \
-	       -I$(depth)/common \
-	       -I$(depth)/index \
-	       -I$(depth)/internfile \
-	       -I$(depth)/rcldb \
-	       -I$(depth)/unac \
-	       -I$(depth)/utils 
+// However, we tell automake to use wasaparse.cpp and wasaparse.h as
+// names for the generated files. This does not fix the #include
+// y.tab.h line, so it fails.
 
-# We happen to be using gcc on all platforms for now. Can be overridden in
-# the sys file or localdefs
-SYSPICFLAGS = -fPIC -DPIC
+// This workaround file just includes the appropriate file as
+// generated by automake
 
-LIBRECOLL = -L$(depth)/lib -lrecoll -Wl,-rpath=$(libdir)/recoll
-
-RANLIB = test -f
-AR=ar
+#include "wasaparse.h"
src/query/wasaparse.cpp to src/query/wasaparseaux.cpp
--- a/src/query/wasaparse.cpp
+++ b/src/query/wasaparseaux.cpp
@@ -25,7 +25,8 @@
 
 #define YYDEBUG 1
 
-#include "wasaparse.tab.h"
+// bison-generated file
+#include "wasaparse.h"
 
 using namespace std;
 using namespace Rcl;
src/query/wasaparse.y to src/query/wasaparse.ypp
--- a/src/query/wasaparse.y
+++ b/src/query/wasaparse.ypp
@@ -8,7 +8,7 @@
 
 #include "searchdata.h"
 #include "wasaparserdriver.h"
-#include "wasaparse.tab.h"
+#include "wasaparse.h"
 
 using namespace std;