From ce6745efe7100b1b0038a8f22bffc0898be27159 Mon Sep 17 00:00:00 2001 From: kelson42 Date: Thu, 22 Dec 2011 13:00:44 +0000 Subject: [PATCH] + continue port for windows --- src/server/Makefile.mvsc | 6 +++--- src/server/kiwix-serve.cpp | 21 +++++++++++++++++---- 2 files changed, 20 insertions(+), 7 deletions(-) diff --git a/src/server/Makefile.mvsc b/src/server/Makefile.mvsc index 8569b58..bce3d8e 100644 --- a/src/server/Makefile.mvsc +++ b/src/server/Makefile.mvsc @@ -32,7 +32,7 @@ ARGTABLE_LIB=${ARGTABLE}/src HTTPD_LIB=${HTTPD}/lib XAPIAN_LIB=${XAPIAN}/win32/Release/libs PTHREAD_LIB=${PTHREAD}/lib -ZLIB_INCLUDE=${ZLIB} +ZLIB_LIB=${ZLIB} # Compiler and linker flags CFLAGS=-D"XP_WIN" -D"XP_WIN32" -D"WIN32" -O2 -Oi -I"${XAPIAN_INCLUDE}" -I"${HTTPD_INCLUDE}" -I"${ZIM_INCLUDE}" -I"${PTHREAD_INCLUDE}" -I"${PUGIXML_INCLUDE}" -I${ARGTABLE_INCLUDE} -I$(ZLIB_INCLUDE) -I$(ICU_INCLUDE) -I${CTPP2_INCLUDE} -I../common/ -I../zimlib/include/win -D"_WINDLL" -D"_MBCS" -FD -EHsc -MT -Gy -nologo -c -Zi -TP @@ -44,7 +44,7 @@ argtableobjs: $(CC) $(CFLAGS) -D"MHD_PLATFORM_H" -D"__GNU_LIBRARY__" -D"(__STDC__)" -D"__STDC__" kiwix-serve.cpp objs: - $(CC) $(CFLAGS) kiwix-serve.cpp ../common/kiwix/reader.cpp ../common/kiwix/searcher.cpp ../common/kiwix/xapianSearcher.cpp ../common/unaccent.cpp ../common/splitString.cpp + $(CC) $(CFLAGS) ../common/kiwix/reader.cpp ../common/kiwix/searcher.cpp ../common/kiwix/xapianSearcher.cpp ../common/unaccent.cpp ../common/splitString.cpp ../common/regexTools.cpp ../common/pathTools.cpp kiwix-serve.exe: argtableobjs objs - $(LD) -OUT:"kiwix-serve.exe" -NOLOGO $(LDFLAGS) -NODEFAULTLIB:"MSVCRT" -OPT:REF -OPT:ICF -DYNAMICBASE -NXCOMPAT -MACHINE:X86 zim.lib argtable2.lib pugixml.lib ctpp2.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 pthreadVC2.lib zlib.lib *.obj + $(LD) -OUT:"kiwix-serve.exe" -NOLOGO $(LDFLAGS) -NODEFAULTLIB:"MSVCRT" -OPT:REF -OPT:ICF -DYNAMICBASE -NXCOMPAT -MACHINE:X86 zim.lib argtable2.lib pugixml.lib libmicrohttpd.dll.a ctpp2.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 pthreadVC2.lib zlib.lib *.obj diff --git a/src/server/kiwix-serve.cpp b/src/server/kiwix-serve.cpp index b6e89ae..e401a9a 100644 --- a/src/server/kiwix-serve.cpp +++ b/src/server/kiwix-serve.cpp @@ -289,11 +289,13 @@ static int accessHandlerCallback(void *cls, } /* Rewrite the content (add the search box) */ +#ifdef _WIN32 if (hasSearchIndex && mimeType.find("text/html") != string::npos) { appendToFirstOccurence(content, "", HTMLScripts); appendToFirstOccurence(content, "]*>", HTMLDiv); } - +#endif + /* Compute the lengh */ contentLength = content.size(); @@ -435,8 +437,11 @@ int main(int argc, char **argv) { /* Change the current dir to binary dir */ /* Non portable linux solution */ rootPath = getExecutablePath(); + +#ifndef _WIN32 chdir(removeLastPathElement(rootPath).c_str()); - +#endif + /* Try to load the result template */ try { @@ -473,6 +478,7 @@ int main(int argc, char **argv) { hasSearchIndex = false; } +#ifndef _WIN32 /* Fork if necessary */ if (daemonFlag) { pid_t pid; @@ -488,6 +494,7 @@ int main(int argc, char **argv) { exit(0); } } +#endif /* Mutex init */ pthread_mutex_init(&readerLock, NULL); @@ -509,8 +516,14 @@ int main(int argc, char **argv) { } /* Run endless */ - while (42) sleep(1); - + while (42) { +#ifdef _WIN32 + Sleep(1000); +#else + sleep(1); +#endif + } + /* Stop the daemon */ MHD_stop_daemon(daemon);