From 3bddc4889e9f67dd980fdcf9917881a11ce577a3 Mon Sep 17 00:00:00 2001 From: kelson42 Date: Wed, 21 Dec 2011 11:11:22 +0000 Subject: [PATCH] + port kiwix-install to windows --- src/installer/Makefile.mvsc | 38 +++++++++++++++++++++++++++++++++ src/installer/kiwix-install.cpp | 7 +++++- 2 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 src/installer/Makefile.mvsc diff --git a/src/installer/Makefile.mvsc b/src/installer/Makefile.mvsc new file mode 100644 index 0000000..50896a6 --- /dev/null +++ b/src/installer/Makefile.mvsc @@ -0,0 +1,38 @@ +CC=cl.exe +LD=link.exe + +# Global paths +ZIM=../zimlib +ICU=../dependences/icu +PUGIXML=../pugixml +XAPIAN=../dependences/xapian-core-1.2.3 +ARGTABLE=../dependences/argtable + +# Include paths +ZIM_INCLUDE=${ZIM}/include +ICU_INCLUDE=${ICU}/include +PUGIXML_INCLUDE=${PUGIXML} +XAPIAN_INCLUDE=${XAPIAN}/include +ARGTABLE_INCLUDE=${ARGTABLE}/src + +# Lib paths +ZIM_LIB=${ZIM}/src +ICU_LIB=${ICU}/lib +PUGIXML_LIB=${PUGIXML} +XAPIAN_LIB=${XAPIAN}/win32/Release/libs +ARGTABLE_LIB=${ARGTABLE}/src + +# Compiler and linker flags +CFLAGS=-D"XP_WIN" -D"XP_WIN32" -O2 -Oi -I"${ZIM_INCLUDE}" -I"${PUGIXML_INCLUDE}" -I${ARGTABLE_INCLUDE} -I${XAPIAN_INCLUDE} -I$(ICU_INCLUDE) -I../common/ -I../zimlib/include/win -D"_WINDLL" -D"_MBCS" -FD -EHsc -MT -Gy -nologo -c -Zi -TP +LDFLAGS=-nologo -LIBPATH:"${PUGIXML_LIB}" -LIBPATH:"${XAPIAN_LIB}" -LIBPATH:"${ZIM_LIB}" -LIBPATH:"$(ICU_LIB)" -LIBPATH:"${ARGTABLE_LIB}" + +all: kiwix-install.exe + +argtableobjs: + $(CC) $(CFLAGS) -D"__GNU_LIBRARY__" -D"(__STDC__)" -D"__STDC__" kiwix-install.cpp + +objs: + $(CC) $(CFLAGS) ../common/kiwix/xapian/myhtmlparse.cc ../common/kiwix/xapian/htmlparse.cc ../common/kiwix/xapianIndexer.cpp ../common/unaccent.cpp ../common/base64.cpp ../common/kiwix/indexer.cpp ../common/kiwix/reader.cpp ../common/kiwix/library.cpp ../common/kiwix/manager.cpp ../common/regexTools.cpp ../common/pathTools.cpp + +kiwix-install.exe: objs argtableobjs + $(LD) -OUT:"kiwix-install.exe" -NOLOGO $(LDFLAGS) -NODEFAULTLIB:"MSVCRT" -OPT:REF -OPT:ICF -DYNAMICBASE -NXCOMPAT -MACHINE:X86 pugixml.lib zim.lib argtable2.lib libcommon.lib libbackend.lib libbrass.lib Rpcrt4.lib libbrassbtreecheck.lib libbrassbtreecheck.lib libexpand.lib libflint.lib libflintbtreecheck.lib libchert.lib libweight.lib libinmemory.lib libmulti.lib libmatcher.lib libnet.lib liblanguages.lib libapi.lib libremote.lib libunicode.lib libqueryparser.lib icuin.lib icuio.lib icule.lib iculx.lib icutu.lib icuuc.lib libcmt.lib ws2_32.lib DelayImp.lib winmm.lib *.obj diff --git a/src/installer/kiwix-install.cpp b/src/installer/kiwix-install.cpp index 680f2d5..62cb8a4 100644 --- a/src/installer/kiwix-install.cpp +++ b/src/installer/kiwix-install.cpp @@ -18,10 +18,13 @@ */ #include -#include #include #include + +#ifndef _WIN32 #include +#endif + #include #include @@ -166,7 +169,9 @@ int main(int argc, char **argv) { kiwix::Indexer *indexer = NULL; try { if (backend == CLUCENE) { +#ifndef _WIN32 indexer = new kiwix::CluceneIndexer(contentPath, indexPath); +#endif } else { indexer = new kiwix::XapianIndexer(contentPath, indexPath); }