diff --git a/Start_RetroShare-Gui_Debug.bat b/Start_RetroShare-Gui_Debug.bat new file mode 100755 index 000000000..3ba38c3f8 --- /dev/null +++ b/Start_RetroShare-Gui_Debug.bat @@ -0,0 +1,11 @@ +set QTDIR=C:\Qt\5.5\mingw492_32 +set LIBS=..\libs +set RSPATH=.\retroshare-gui\src\debug + +set PATH=%QTDIR%\bin;%LIBS%\bin;%PATH% + +If not exist %RSPATH%\RetroShare06.exe ( + build-all-mingw32make.bat +) + +%RSPATH%\RetroShare06.exe diff --git a/build-all-mingw32make.bat b/build-all-mingw32make.bat old mode 100644 new mode 100755 index 819642b46..49eebe687 --- a/build-all-mingw32make.bat +++ b/build-all-mingw32make.bat @@ -1,14 +1,14 @@ -set QTDIR=C:\Qt\4.8.6 -set MINGW=C:\MinGW -set GIT=C:\Program Files\Git - -set PATH=%QTDIR%\bin;%MINGW%\bin;%GIT%\bin;%PATH% +set QTDIR=C:\Qt\5.5\mingw492_32\ +set MINGW=C:\Qt\Tools\mingw492_32 +set PATH=%QTDIR%\bin;%MINGW%\bin;%PATH% +set DEBUG=1 @echo off rem emptying used variables in case the script was aborted and tempfile set pack= set clean= +set errorlevel= if exist tmp.txt del tmp.txt @@ -19,12 +19,12 @@ if %1x == x ( ) if /i %1==clean ( set clean=clean - shift + shift goto :loop1 ) if /i %1==pack ( set pack=pack - shift + shift goto :loop1 ) echo.%1>>tmp.txt @@ -44,77 +44,174 @@ if not exist tmp.txt ( ) for /f %%a in (tmp.txt) do ( -@echo on +if ECHO==1 @echo on + + + +rem TODO: Remove these lines +rem GOTO :retroshare-gui + + + + +:libbitdht +rem ################################### +rem ### libbitdht ##################### +rem ################################### cd libbitdht\src if not %clean%x==x mingw32-make clean qmake libbitdht.pro +CALL :TEST_ERROR mingw32-make %%a +CALL :TEST_ERROR +echo ################################### +echo ### libbitdht done ################ +echo ################################### +cd ..\.. - -cd ..\..\openpgpsdk\src +:openpgpsdk +rem ################################### +rem ### openpgpsdk #################### +rem ################################### +cd openpgpsdk\src if not %clean%x==x mingw32-make clean qmake openpgpsdk.pro +CALL :TEST_ERROR mingw32-make +CALL :TEST_ERROR +echo ################################### +echo ### openpgpsdk done ############### +echo ################################### +cd ..\.. -cd ..\..\libresapi\src +:libresapi +rem ################################### +rem ### libresapi ##################### +rem ################################### +cd libresapi\src if not %clean%x==x mingw32-make clean qmake libresapi.pro +CALL :TEST_ERROR mingw32-make %%a +CALL :TEST_ERROR +echo ################################### +echo ### libresapi done ################ +echo ################################### +cd ..\.. -cd ..\..\libretroshare\src +:libretroshare +rem ################################### +rem ### libretroshare ################# +rem ################################### +cd libretroshare\src if not %clean%x==x mingw32-make clean qmake libretroshare.pro "CONFIG+=version_detail_bash_script" +CALL :TEST_ERROR mingw32-make %%a +CALL :TEST_ERROR +echo ################################### +echo ### libretroshare done ############ +echo ################################### +cd ..\.. - -cd ..\..\supportlibs\pegmarkdown +:pegmarkdown +rem ################################### +rem ### pegmarkdown ################### +rem ################################### +cd supportlibs\pegmarkdown if not %clean%x==x mingw32-make clean qmake pegmarkdown.pro +CALL :TEST_ERROR mingw32-make %%a +CALL :TEST_ERROR +echo ################################### +echo ### pegmarkdown done ############## +echo ################################### +cd ..\.. - -cd ..\..\retroshare-nogui\src +:retroshare-nogui +rem ################################### +rem ### retroshare-nogui ############## +rem ################################### +cd retroshare-nogui\src if not %clean%x==x mingw32-make clean qmake retroshare-nogui.pro +CALL :TEST_ERROR mingw32-make %%a +CALL :TEST_ERROR +echo ################################### +echo ### retroshare-nogui done ######### +echo ################################### +cd ..\.. - -cd ..\..\retroshare-gui\src +:retroshare-gui +rem ################################### +rem ### retroshare-gui ################ +rem ################################### +cd retroshare-gui\src if not %clean%x==x mingw32-make clean -qmake retroshare-gui.pro "CONFIG+=version_detail_bash_script" +rem qmake -r -spec ..\mkspecs\win32-g++ "CONFIG+=version_detail_bash_script" retroshare-gui.pro +qmake retroshare-gui.pro "CONFIG+=version_detail_bash_script" +CALL :TEST_ERROR mingw32-make %%a +CALL :TEST_ERROR +echo ################################### +echo ### retroshare-gui done ########### +echo ################################### cd ..\.. @echo off ) + @echo off if %pack%x==packx call packaging.bat -rem clean up +rem ################################### +rem ### clean up ###################### +rem ################################### set clean= del tmp.txt set pack= pause +rem ################################### +rem ### END ########################### +rem ################################### +GOTO :EOF + + +:TEST_ERROR +@echo off +if errorlevel 1 ( + pause + set clean= + del tmp.txt + set pack= + EXIT +) +if ECHO==1 @echo on +EXIT /B + +:EOF \ No newline at end of file diff --git a/retroshare-gui/src/retroshare-gui.pro b/retroshare-gui/src/retroshare-gui.pro index 3a2adcae1..cd4a57ceb 100644 --- a/retroshare-gui/src/retroshare-gui.pro +++ b/retroshare-gui/src/retroshare-gui.pro @@ -177,6 +177,7 @@ win32 { LIBS_DIR = $$PWD/../../../libs LIBS += -L"$$LIBS_DIR/lib" + LIBS += -L"$$LIBS_DIR/bin" LIBS += -lssl -lcrypto -lpthread -lminiupnpc -lz -lws2_32 LIBS += -luuid -lole32 -liphlpapi -lcrypt32 -lgdi32 diff --git a/retroshare-gui/src/util/printpreview.cpp b/retroshare-gui/src/util/printpreview.cpp index 73bc09ca4..02e925336 100644 --- a/retroshare-gui/src/util/printpreview.cpp +++ b/retroshare-gui/src/util/printpreview.cpp @@ -38,7 +38,6 @@ #include "printpreview.h" -#include #include #include #include @@ -70,35 +69,6 @@ static inline qreal mmToInches(double mm) return mm*0.039370147; } -class PreviewView : public QAbstractScrollArea -{ - Q_OBJECT -public: - PreviewView(QTextDocument *document, PrintPreview *printPrev); - - inline void updateLayout() { resizeEvent(0); viewport()->update(); } - -public slots: - void zoomIn(); - void zoomOut(); - -protected: - virtual void paintEvent(QPaintEvent *e); - virtual void resizeEvent(QResizeEvent *); - virtual void mousePressEvent(QMouseEvent *e); - virtual void mouseMoveEvent(QMouseEvent *e); - virtual void mouseReleaseEvent(QMouseEvent *e); - -private: - void paintPage(QPainter *painter, int page); - QTextDocument *doc; - qreal scale; - int interPageSpacing; - QPoint mousePressPos; - QPoint scrollBarValuesOnMousePress; - PrintPreview *printPreview; -}; - PreviewView::PreviewView(QTextDocument *document, PrintPreview *printPrev) : printPreview(printPrev) { @@ -330,5 +300,3 @@ void PrintPreview::pageSetup() view->updateLayout(); } } - -#include "printpreview.moc" diff --git a/retroshare-gui/src/util/printpreview.h b/retroshare-gui/src/util/printpreview.h index e8f7a769d..9fce97b5d 100644 --- a/retroshare-gui/src/util/printpreview.h +++ b/retroshare-gui/src/util/printpreview.h @@ -39,6 +39,7 @@ #ifndef PRINTPREVIEW_H #define PRINTPREVIEW_H +#include #include #include #include @@ -69,5 +70,34 @@ private: QPrinter printer; }; +class PreviewView : public QAbstractScrollArea +{ + Q_OBJECT +public: + PreviewView(QTextDocument *document, PrintPreview *printPrev); + + inline void updateLayout() { resizeEvent(0); viewport()->update(); } + +public slots: + void zoomIn(); + void zoomOut(); + +protected: + virtual void paintEvent(QPaintEvent *e); + virtual void resizeEvent(QResizeEvent *); + virtual void mousePressEvent(QMouseEvent *e); + virtual void mouseMoveEvent(QMouseEvent *e); + virtual void mouseReleaseEvent(QMouseEvent *e); + +private: + void paintPage(QPainter *painter, int page); + QTextDocument *doc; + qreal scale; + int interPageSpacing; + QPoint mousePressPos; + QPoint scrollBarValuesOnMousePress; + PrintPreview *printPreview; +}; + #endif // PRINTPREVIEW_H diff --git a/win_build_libs/Makefile b/win_build_libs/Makefile new file mode 100755 index 000000000..4a51dc1ae --- /dev/null +++ b/win_build_libs/Makefile @@ -0,0 +1,223 @@ +ZLIB_VERSION=1.2.3 +BZIP2_VERSION=1.0.6 +MINIUPNPC_VERSION=1.3 +OPENSSL_VERSION=1.0.1h +SPEEX_VERSION=1.2rc1 +OPENCV_VERSION=2.4.9 +LIBXML2_VERSION=2.9.1 +LIBXSLT_VERSION=1.1.28 +CURL_VERSION=7.34.0 +LIBSSH_VERSION=0.5.4 +PROTOBUF_VERSION=2.4.1 +TCL_VERSION=8.6.2 +SQLCIPHER_VERSION=2.2.1 +LIBMICROHTTPD_VERSION=0.9.42 + +all: dirs zlib bzip2 miniupnpc openssl speex opencv libxml2 libxslt curl libssh protobuf sqlcipher libmicrohttpd copylibs + +dirs: + mkdir -p libs/include + mkdir -p libs/lib + mkdir -p libs/bin + +zlib-$(ZLIB_VERSION).tar.gz: + curl.exe -L http://sourceforge.net/projects/libpng/files/zlib/$(ZLIB_VERSION)/zlib-$(ZLIB_VERSION).tar.gz/download -o zlib-$(ZLIB_VERSION).tar.gz + +zlib: zlib-$(ZLIB_VERSION).tar.gz + tar xvf zlib-$(ZLIB_VERSION).tar.gz + cd zlib-$(ZLIB_VERSION) && ./configure + #cd zlib-$(ZLIB_VERSION) && make install prefix="`pwd`/../libs" + cd zlib-$(ZLIB_VERSION) && make + cp zlib-$(ZLIB_VERSION)/zlib.h libs/include/ + cp zlib-$(ZLIB_VERSION)/zconf.h libs/include/ + cp zlib-$(ZLIB_VERSION)/libz.a libs/lib/ + rm -r -f zlib-$(ZLIB_VERSION) + touch zlib + +bzip2-$(BZIP2_VERSION).tar.gz: + curl.exe http://bzip.org/$(BZIP2_VERSION)/bzip2-$(BZIP2_VERSION).tar.gz -o bzip2-$(BZIP2_VERSION).tar.gz + +bzip2: bzip2-$(BZIP2_VERSION).tar.gz + tar xvf bzip2-$(BZIP2_VERSION).tar.gz + #cd bzip2-$(BZIP2_VERSION) && make install PREFIX="`pwd`/../libs" + cd bzip2-$(BZIP2_VERSION) && make + cp bzip2-$(BZIP2_VERSION)/bzlib.h libs/include/ + cp bzip2-$(BZIP2_VERSION)/libbz2.a libs/lib/ + rm -r -f bzip2-$(BZIP2_VERSION) + touch bzip2 + +miniupnpc-$(MINIUPNPC_VERSION).tar.gz: + curl.exe -L http://miniupnp.free.fr/files/download.php?file=miniupnpc-$(MINIUPNPC_VERSION).tar.gz -o miniupnpc-$(MINIUPNPC_VERSION).tar.gz + +miniupnpc: miniupnpc-$(MINIUPNPC_VERSION).tar.gz + tar xvf miniupnpc-$(MINIUPNPC_VERSION).tar.gz + cd miniupnpc-$(MINIUPNPC_VERSION) && make -f Makefile.mingw init libminiupnpc.a miniupnpc.dll + mkdir -p libs/include/miniupnpc && cp miniupnpc-$(MINIUPNPC_VERSION)/*.h libs/include/miniupnpc/ + cp miniupnpc-$(MINIUPNPC_VERSION)/libminiupnpc.a libs/lib/ + cp miniupnpc-$(MINIUPNPC_VERSION)/miniupnpc.dll libs/bin/ + rm -r -f miniupnpc-$(MINIUPNPC_VERSION) + touch miniupnpc + +openssl-$(OPENSSL_VERSION).tar.gz: + curl.exe -k https://www.openssl.org/source/openssl-1.0.1h.tar.gz -o openssl-1.0.1h.tar.gz + +openssl: openssl-$(OPENSSL_VERSION).tar.gz + tar xvf openssl-$(OPENSSL_VERSION).tar.gz + #cd openssl-$(OPENSSL_VERSION) && ./config --prefix="`pwd`/../libs" + #cd openssl-$(OPENSSL_VERSION) && make install + cd openssl-$(OPENSSL_VERSION) && ./config + cd openssl-$(OPENSSL_VERSION) && make + mkdir -p libs/include/openssl && cp openssl-$(OPENSSL_VERSION)/include/openssl/*.h libs/include/openssl/ + cp openssl-$(OPENSSL_VERSION)/libcrypto.a libs/lib/ + cp openssl-$(OPENSSL_VERSION)/libssl.a libs/lib/ + rm -r -f openssl-$(OPENSSL_VERSION) + touch openssl + +speex-$(SPEEX_VERSION).tar.gz: + curl.exe http://downloads.xiph.org/releases/speex/speex-$(SPEEX_VERSION).tar.gz -o speex-$(SPEEX_VERSION).tar.gz + +speex: speex-$(SPEEX_VERSION).tar.gz + tar xvf speex-$(SPEEX_VERSION).tar.gz + cd speex-$(SPEEX_VERSION) && ./configure + #cd speex-$(SPEEX_VERSION) && make install exec_prefix="`pwd`/../libs" + cd speex-$(SPEEX_VERSION) && make + mkdir -p libs/include/speex && cp speex-$(SPEEX_VERSION)/include/speex/*.h libs/include/speex/ + cp speex-$(SPEEX_VERSION)/libspeex/.libs/libspeex.a libs/lib + cp speex-$(SPEEX_VERSION)/libspeex/.libs/libspeexdsp.a libs/lib + rm -r -f speex-$(SPEEX_VERSION) + touch speex + +opencv-$(OPENCV_VERSION).tar.gz: + curl.exe -L -k https://github.com/Itseez/opencv/archive/$(OPENCV_VERSION).tar.gz -o opencv-$(OPENCV_VERSION).tar.gz + +opencv: opencv-$(OPENCV_VERSION).tar.gz + tar xvf opencv-$(OPENCV_VERSION).tar.gz + mkdir -p opencv-$(OPENCV_VERSION)/build + #cd opencv-$(OPENCV_VERSION)/build && cmake .. -G"MSYS Makefiles" -DCMAKE_BUILD_TYPE=Release -DBUILD_PERF_TESTS=OFF -DBUILD_TESTS=OFF -DBUILD_SHARED_LIBS=OFF -DCMAKE_INSTALL_PREFIX="`pwd`/../../libs" + cd opencv-$(OPENCV_VERSION)/build && cmake .. -G"MSYS Makefiles" -DCMAKE_BUILD_TYPE=Release -DBUILD_PERF_TESTS=OFF -DBUILD_TESTS=OFF -DBUILD_SHARED_LIBS=OFF -DCMAKE_INSTALL_PREFIX="`pwd`/install" + cd opencv-$(OPENCV_VERSION)/build && make install + cp -r opencv-$(OPENCV_VERSION)/build/install/include/* libs/include/ + mkdir -p libs/lib/opencv + if [ -d "opencv-$(OPENCV_VERSION)/build/install/x86" ]; then \ + cp -r opencv-$(OPENCV_VERSION)/build/install/x86/mingw/staticlib/* libs/lib/opencv/ ; \ + fi + if [ -d "opencv-$(OPENCV_VERSION)/build/install/x64" ]; then \ + cp -r opencv-$(OPENCV_VERSION)/build/install/x64/mingw/staticlib/* libs/lib/opencv/ ; \ + fi + rm -r -f opencv-$(OPENCV_VERSION) + touch opencv + +libxml2-$(LIBXML2_VERSION).tar.gz: + curl.exe ftp://xmlsoft.org/libxml2/libxml2-$(LIBXML2_VERSION).tar.gz -o libxml2-$(LIBXML2_VERSION).tar.gz + +libxml2: libxml2-$(LIBXML2_VERSION).tar.gz + tar xvf libxml2-$(LIBXML2_VERSION).tar.gz + cd libxml2-$(LIBXML2_VERSION) && ./configure --without-iconv -enable-shared=no + #cd libxml2-$(LIBXML2_VERSION) && make install exec_prefix="`pwd`/../libs" + cd libxml2-$(LIBXML2_VERSION) && make + mkdir -p libs/include/libxml && cp libxml2-$(LIBXML2_VERSION)/include/libxml/*.h libs/include/libxml/ + cp libxml2-$(LIBXML2_VERSION)/.libs/libxml2.a libs/lib/ + touch libxml2 + +libxslt-$(LIBXSLT_VERSION).tar.gz: + curl.exe ftp://xmlsoft.org/libxml2/libxslt-$(LIBXSLT_VERSION).tar.gz -o libxslt-$(LIBXSLT_VERSION).tar.gz + +libxslt: libxml2-$(LIBXML2_VERSION).tar.gz libxslt-$(LIBXSLT_VERSION).tar.gz + tar xvf libxml2-$(LIBXML2_VERSION).tar.gz + tar xvf libxslt-$(LIBXSLT_VERSION).tar.gz + tar xvf libxslt-$(LIBXSLT_VERSION)-fix.tar.gz + cd libxslt-$(LIBXSLT_VERSION) && ./configure --with-libxml-src=../libxml2-$(LIBXML2_VERSION) -enable-shared=no CFLAGS=-DLIBXML_STATIC + cd libxslt-$(LIBXSLT_VERSION) && make + mkdir -p libs/include/libxslt && cp libxslt-$(LIBXSLT_VERSION)/libxslt/*.h libs/include/libxslt/ + cp libxslt-$(LIBXSLT_VERSION)/libxslt/.libs/libxslt.a libs/lib/ + cp libxslt-$(LIBXSLT_VERSION)/libexslt/.libs/libexslt.a libs/lib/ + rm -r -f libxml2-$(LIBXML2_VERSION) + rm -r -f libxslt-$(LIBXSLT_VERSION) + touch libxslt + +curl-$(CURL_VERSION).tar.gz: + curl.exe http://curl.haxx.se/download/curl-$(CURL_VERSION).tar.gz -o curl-$(CURL_VERSION).tar.gz + +curl: curl-$(CURL_VERSION).tar.gz + tar xvf curl-$(CURL_VERSION).tar.gz + cd curl-$(CURL_VERSION) && LIBS="-L`pwd`/../libs/lib $$LIBS" && export LIBS && ./configure --disable-shared --with-ssl="`pwd`/../libs" + #cd curl-$(CURL_VERSION) && make install exec_prefix="`pwd`/../libs" + cd curl-$(CURL_VERSION) && make + mkdir -p libs/include/curl && cp curl-$(CURL_VERSION)/include/curl/*.h libs/include/curl/ + cp curl-$(CURL_VERSION)/lib/.libs/libcurl.a libs/lib/ + rm -r -f curl-$(CURL_VERSION) + touch curl + +libssh-$(LIBSSH_VERSION).tar.gz: + curl.exe -k https://red.libssh.org/attachments/download/41/libssh-0.5.4.tar.gz -o libssh-0.5.4.tar.gz + +libssh: libssh-$(LIBSSH_VERSION).tar.gz + tar xvf libssh-$(LIBSSH_VERSION).tar.gz + tar xvf libssh-$(LIBSSH_VERSION)-fix.tar.gz + mkdir -p libssh-$(LIBSSH_VERSION)/build + cd libssh-$(LIBSSH_VERSION)/build && cmake .. -G"MSYS Makefiles" -DWITH_STATIC_LIB:BOOL=ON -DZLIB_LIBRARY:FILEPATH="`pwd`/../../libs/lib/libz.a" -DZLIB_INCLUDE_DIR:PATH="`pwd`/../../libs/include" -DOPENSSL_LIBRARIES:FILEPATH="`pwd`/../../libs/lib/libcrypto.a" -DOPENSSL_INCLUDE_DIRS:PATH="`pwd`/../../libs/include" + cd libssh-$(LIBSSH_VERSION)/build && make + cp libssh-$(LIBSSH_VERSION)/build/src/libssh.a libs/lib/ + cp libssh-$(LIBSSH_VERSION)/build/src/threads/libssh_threads.a libs/lib/ + mkdir -p libs/include/libssh && cp libssh-$(LIBSSH_VERSION)/include/libssh/*.h libs/include/libssh/ + rm -r -f libssh-$(LIBSSH_VERSION) + touch libssh + +protobuf-$(PROTOBUF_VERSION).tar.gz: + curl.exe -k https://protobuf.googlecode.com/files/protobuf-2.4.1.tar.gz -o protobuf-2.4.1.tar.gz + +protobuf: protobuf-$(PROTOBUF_VERSION).tar.gz + tar xvf protobuf-$(PROTOBUF_VERSION).tar.gz + cd protobuf-$(PROTOBUF_VERSION) && ./configure --disable-shared + #cd protobuf-$(PROTOBUF_VERSION) && make install exec_prefix="`pwd`/../libs" + cd protobuf-$(PROTOBUF_VERSION) && make + mkdir -p libs/include/protobuf && cp -r protobuf-$(PROTOBUF_VERSION)/src/google/ libs/include/protobuf/ + cp protobuf-$(PROTOBUF_VERSION)/src/.libs/libprotobuf.a libs/lib/ + cp protobuf-$(PROTOBUF_VERSION)/src/protoc.exe libs/bin/ + rm -r -f protobuf-$(PROTOBUF_VERSION) + touch protobuf + +tcl$(TCL_VERSION)-src.tar.gz: + curl.exe -L http://prdownloads.sourceforge.net/tcl/tcl$(TCL_VERSION)-src.tar.gz -o tcl$(TCL_VERSION)-src.tar.gz + +sqlcipher-$(SQLCIPHER_VERSION).tar.gz: + curl.exe -L -k https://github.com/sqlcipher/sqlcipher/archive/v$(SQLCIPHER_VERSION).tar.gz -o sqlcipher-$(SQLCIPHER_VERSION).tar.gz + +sqlcipher: tcl$(TCL_VERSION)-src.tar.gz sqlcipher-$(SQLCIPHER_VERSION).tar.gz + # tcl + tar xvf tcl$(TCL_VERSION)-src.tar.gz + mkdir -p tcl$(TCL_VERSION)/build + cd tcl$(TCL_VERSION)/build && ../win/configure + cd tcl$(TCL_VERSION)/build && make + #sqlcipher + tar xvf sqlcipher-$(SQLCIPHER_VERSION).tar.gz + cd sqlcipher-$(SQLCIPHER_VERSION) && ln -s ../tcl$(TCL_VERSION)/build/tclsh86.exe tclsh + mkdir -p tcl$(TCL_VERSION)/lib + ln -s `pwd`/tcl$(TCL_VERSION)/library `pwd`/tcl$(TCL_VERSION)/lib/tcl8.6 + cd sqlcipher-$(SQLCIPHER_VERSION) && PATH=$$PATH:`pwd`/../tcl$(TCL_VERSION)/build && LIBS="-L`pwd`/../libs/lib -lgdi32 $$LIBS" && export LIBS && ./configure --disable-shared --enable-static --enable-tempstore=yes CFLAGS="-DSQLITE_HAS_CODEC -I`pwd`/../libs/include -I`pwd`/../tcl$(TCL_VERSION)/generic" LDFLAGS="-L`pwd`/../libs/lib -lcrypto -lgdi32" --with-tcl="`pwd`/../tcl$(TCL_VERSION)/build" && make install prefix="`pwd`/install" + cp -r sqlcipher-$(SQLCIPHER_VERSION)/install/include/* libs/include/ + cp sqlcipher-$(SQLCIPHER_VERSION)/install/lib/libsqlcipher.a libs/lib/ + cp sqlcipher-$(SQLCIPHER_VERSION)/install/bin/sqlcipher.exe libs/bin/ + rm -r -f sqlcipher-$(SQLCIPHER_VERSION) + rm -r -f tcl$(TCL_VERSION) + touch sqlcipher + +libmicrohttpd-$(LIBMICROHTTPD_VERSION).tar.gz: + curl.exe -L -k http://ftp.gnu.org/gnu/libmicrohttpd/libmicrohttpd-$(LIBMICROHTTPD_VERSION).tar.gz -o libmicrohttpd-$(LIBMICROHTTPD_VERSION).tar.gz + +libmicrohttpd: libmicrohttpd-$(LIBMICROHTTPD_VERSION).tar.gz + tar xvf libmicrohttpd-$(LIBMICROHTTPD_VERSION).tar.gz + cd libmicrohttpd-$(LIBMICROHTTPD_VERSION) && ./configure + #cd libmicrohttpd-$(LIBMICROHTTPD_VERSION) && make install exec_prefix="`pwd`/../libs" + cd libmicrohttpd-$(LIBMICROHTTPD_VERSION) && make + cp libmicrohttpd-$(LIBMICROHTTPD_VERSION)/src/include/*.h libs/include/ + cp libmicrohttpd-$(LIBMICROHTTPD_VERSION)/src/microhttpd/.libs/*.a libs/lib/ + cp libmicrohttpd-$(LIBMICROHTTPD_VERSION)/src/microhttpd/.libs/*.dll libs/bin/ + rm -r -f libmicrohttpd-$(LIBMICROHTTPD_VERSION) + touch libmicrohttpd + +copylibs: + read -p "Do you want to copy libs to retroshare? (yes|no)" answer; \ + if [ "$$answer" = "yes" ] ; then \ + cp -r libs ../../libs ; \ + fi diff --git a/win_build_libs/build_ext.sh b/win_build_libs/build_ext.sh new file mode 100755 index 000000000..bcb555094 --- /dev/null +++ b/win_build_libs/build_ext.sh @@ -0,0 +1,201 @@ +cd Build + +mkdir -p libs/include +mkdir -p libs/lib +mkdir -p libs/bin + +[ -s zlib-1.2.3.tar.gz ] || curl -L http://sourceforge.net/projects/libpng/files/zlib/1.2.3/zlib-1.2.3.tar.gz/download -o zlib-1.2.3.tar.gz +if [ -s zlib-1.2.3.tar.gz ]; then + tar xvf zlib-1.2.3.tar.gz + cd zlib-1.2.3 + ./configure + #make install prefix="`pwd`/../libs" + make + cp zlib.h ../libs/include/ + cp zconf.h ../libs/include/ + cp libz.a ../libs/lib/ + cd .. + rm -r -f zlib-1.2.3 +fi + +[ -s bzip2-1.0.6.tar.gz ] || curl http://bzip.org/1.0.6/bzip2-1.0.6.tar.gz -o bzip2-1.0.6.tar.gz +if [ -s bzip2-1.0.6.tar.gz ]; then + tar xvf bzip2-1.0.6.tar.gz + cd bzip2-1.0.6 + #make install PREFIX="`pwd`/../libs" + make + cp bzlib.h ../libs/include/ + cp libbz2.a ../libs/lib/ + cd .. + rm -r -f bzip2-1.0.6 +fi + +[ -s miniupnpc-1.3.tar.gz ] || curl -L http://miniupnp.free.fr/files/download.php?file=miniupnpc-1.3.tar.gz -o miniupnpc-1.3.tar.gz +if [ -s miniupnpc-1.3.tar.gz ]; then + tar xvf miniupnpc-1.3.tar.gz + cd miniupnpc-1.3 + make -f Makefile.mingw init libminiupnpc.a miniupnpc.dll + mkdir -p ../libs/include/miniupnpc && cp *.h ../libs/include/miniupnpc/ + cp libminiupnpc.a ../libs/lib/ + cp miniupnpc.dll ../libs/bin/ + cd .. + rm -r -f miniupnpc-1.3 +fi + +[ -s openssl-1.0.1h.tar.gz ] || curl -k https://www.openssl.org/source/openssl-1.0.1h.tar.gz -o openssl-1.0.1h.tar.gz +if [ -s openssl-1.0.1h.tar.gz ]; then + tar xvf openssl-1.0.1h.tar.gz + cd openssl-1.0.1h + #./config --prefix="`pwd`/../libs" + #make install + ./config + make + mkdir -p ../libs/include/openssl && cp include/openssl/*.h ../libs/include/openssl/ + cp libcrypto.a ../libs/lib/ + cp libssl.a ../libs/lib/ + cd .. + rm -r -f openssl-1.0.1h +fi + +[ -s speex-1.2rc1.tar.gz ] || curl http://downloads.xiph.org/releases/speex/speex-1.2rc1.tar.gz -o speex-1.2rc1.tar.gz +if [ -s speex-1.2rc1.tar.gz ]; then + tar xvf speex-1.2rc1.tar.gz + cd speex-1.2rc1 + ./configure + #make install exec_prefix="`pwd`/../libs" + make + mkdir -p ../libs/include/speex && cp include/speex/*.h ../libs/include/speex/ + cp libspeex/.libs/libspeex.a ../libs/lib + cp libspeex/.libs/libspeexdsp.a ../libs/lib + cd .. + rm -r -f speex-1.2rc1 +fi + +[ -s opencv-2.4.9.tar.gz ] || curl -L -k https://github.com/Itseez/opencv/archive/2.4.9.tar.gz -o opencv-2.4.9.tar.gz +if [ -s opencv-2.4.9.tar.gz ]; then + tar xvf opencv-2.4.9.tar.gz + cd opencv-2.4.9 + mkdir -p build + cd build + #cmake .. -G"MSYS Makefiles" -DCMAKE_BUILD_TYPE=Release -DBUILD_PERF_TESTS=OFF -DBUILD_TESTS=OFF -DBUILD_SHARED_LIBS=OFF -DCMAKE_INSTALL_PREFIX="`pwd`/../../libs" + cmake .. -G"MSYS Makefiles" -DCMAKE_BUILD_TYPE=Release -DBUILD_PERF_TESTS=OFF -DBUILD_TESTS=OFF -DBUILD_SHARED_LIBS=OFF -DCMAKE_INSTALL_PREFIX="`pwd`/install" + make install + cp -r install/include/* ../../libs/include/ + mkdir -p ../../libs/lib/opencv && cp -r install/x64/mingw/staticlib/* ../../libs/lib/opencv/ + cd ../.. + rm -r -f opencv-2.4.9 +fi + +[ -s libxml2-2.9.1.tar.gz ] || curl ftp://xmlsoft.org/libxml2/libxml2-2.9.1.tar.gz -o libxml2-2.9.1.tar.gz +[ -s libxslt-1.1.28.tar.gz ] || curl ftp://xmlsoft.org/libxml2/libxslt-1.1.28.tar.gz -o libxslt-1.1.28.tar.gz +if [ -s libxml2-2.9.1.tar.gz -a -s libxslt-1.1.28.tar.gz ]; then + tar xvf libxml2-2.9.1.tar.gz + cd libxml2-2.9.1 + ./configure --without-iconv -enable-shared=no + #make install exec_prefix="`pwd`/../libs" + make + mkdir -p ../libs/include/libxml && cp include/libxml/*.h ../libs/include/libxml/ + cp .libs/libxml2.a ../libs/lib/ + cd .. + + tar xvf libxslt-1.1.28.tar.gz + tar xvf libxslt-1.1.28-fix.tar.gz + cd libxslt-1.1.28 + ./configure --with-libxml-src=../libxml2-2.9.1 -enable-shared=no CFLAGS=-DLIBXML_STATIC + make + mkdir -p ../libs/include/libxslt && cp libxslt/*.h ../libs/include/libxslt/ + cp libxslt/.libs/libxslt.a ../libs/lib/ + cp libexslt/.libs/libexslt.a ../libs/lib/ + cd .. + rm -r -f libxml2-2.9.1 + rm -r -f libxslt-1.1.28 +fi + +[ -s curl-7.34.0.tar.gz ] || curl http://curl.haxx.se/download/curl-7.34.0.tar.gz -o curl-7.34.0.tar.gz +if [ -s curl-7.34.0.tar.gz ]; then + tar xvf curl-7.34.0.tar.gz + cd curl-7.34.0 + LIBS_OLD=$LIBS + LIBS="-L`pwd`/../libs/lib $LIBS" + export LIBS + ./configure --disable-shared --with-ssl="`pwd`/../libs" + #make install exec_prefix="`pwd`/../libs" + make + LIBS=$LIBS_OLD + LIBS_OLD= + export LIBS + mkdir -p ../libs/include/curl && cp include/curl/*.h ../libs/include/curl/ + cp lib/.libs/libcurl.a ../libs/lib/ + cd .. + rm -r -f curl-7.34.0 +fi + +[ -s libssh-0.5.4.tar.gz ] || curl -k https://red.libssh.org/attachments/download/41/libssh-0.5.4.tar.gz -o libssh-0.5.4.tar.gz +if [ -s libssh-0.5.4.tar.gz ]; then + tar xvf libssh-0.5.4.tar.gz + tar xvf libssh-0.5.4-fix.tar.gz + cd libssh-0.5.4 + mkdir -p build + cd build + cmake .. -G"MSYS Makefiles" -DWITH_STATIC_LIB:BOOL=ON -DZLIB_LIBRARY:FILEPATH="`pwd`/../../libs/lib/libz.a" -DZLIB_INCLUDE_DIR:PATH="`pwd`/../../libs/include" -DOPENSSL_LIBRARIES:FILEPATH="`pwd`/../../libs/lib/libcrypto.a" -DOPENSSL_INCLUDE_DIRS:PATH="`pwd`/../../libs/include" + make + cp src/libssh.a ../../libs/lib/ + cp src/threads/libssh_threads.a ../../libs/lib/ + cd .. + rm -r -f build + mkdir -p ../libs/include/libssh && cp include/libssh/*.h ../libs/include/libssh/ + cd .. + rm -r -f libssh-0.5.4 +fi + +[ -s protobuf-2.4.1.tar.gz ] || curl -k https://protobuf.googlecode.com/files/protobuf-2.4.1.tar.gz -o protobuf-2.4.1.tar.gz +if [ -s protobuf-2.4.1.tar.gz ]; then + tar xvf protobuf-2.4.1.tar.gz + cd protobuf-2.4.1 + ./configure --disable-shared + #make install exec_prefix="`pwd`/../libs" + make + mkdir -p ../libs/include/protobuf && cp -r src/google/ ../libs/include/protobuf/ + cp src/.libs/libprotobuf.a ../libs/lib/ + cp src/protoc.exe ../libs/bin/ + cd .. + rm -r -f protobuf-2.4.1 +fi + +[ -s tcl8.6.2-src.tar.gz ] || curl -L http://prdownloads.sourceforge.net/tcl/tcl8.6.2-src.tar.gz -o tcl8.6.2-src.tar.gz +[ -s sqlcipher-2.2.1.tar.gz ] || curl -L -k https://github.com/sqlcipher/sqlcipher/archive/v2.2.1.tar.gz -o sqlcipher-2.2.1.tar.gz +if [ -s tcl8.6.2-src.tar.gz -a -s sqlcipher-2.2.1.tar.gz ]; then + tar xvf tcl8.6.2-src.tar.gz + cd tcl8.6.2 + mkdir -p build + cd build + ../win/configure + make + #make clean + cd ../.. + + tar xvf sqlcipher-2.2.1.tar.gz + cd sqlcipher-2.2.1 + ln -s ../tcl8.6.2/build/tclsh86.exe tclsh + mkdir -p `pwd`/../tcl8.6.2/lib + ln -s `pwd`/../tcl8.6.2/library `pwd`/../tcl8.6.2/lib/tcl8.6 + PATH=$PATH:`pwd`/../tcl8.6.2/build + LIBS_OLD=$LIBS + LIBS="-L`pwd`/../libs/lib -lgdi32 $LIBS" + export LIBS + ./configure --disable-shared --enable-static --enable-tempstore=yes CFLAGS="-DSQLITE_HAS_CODEC -I`pwd`/../libs/include -I`pwd`/../tcl8.6.2/generic" LDFLAGS="-L`pwd`/../libs/lib -lcrypto -lgdi32" --with-tcl="`pwd`/../tcl8.6.2/build" + make install prefix="`pwd`/install" + LIBS=$LIBS_OLD + LIBS_OLD= + export LIBS + cp -r install/include/* ../libs/include/ + cp install/lib/libsqlcipher.a ../libs/lib/ + cp install/bin/sqlcipher.exe ../libs/bin/ + rm -r -f `pwd`/../tcl8.6.2/lib + rm tclsh + cd .. + rm -r -f sqlcipher-2.2.1 + rm -r -f tcl8.6.2 +fi + +cd .. diff --git a/win_build_libs/libssh-0.5.4-fix.tar.gz b/win_build_libs/libssh-0.5.4-fix.tar.gz new file mode 100755 index 000000000..0189c5a06 Binary files /dev/null and b/win_build_libs/libssh-0.5.4-fix.tar.gz differ diff --git a/win_build_libs/libxslt-1.1.28-fix.tar.gz b/win_build_libs/libxslt-1.1.28-fix.tar.gz new file mode 100755 index 000000000..af1bada8f Binary files /dev/null and b/win_build_libs/libxslt-1.1.28-fix.tar.gz differ