Fix Windows 7 32b Compilation from scratch.

Add scripts to build Libs on branch.
This commit is contained in:
Phenom 2015-09-03 19:35:29 +02:00
parent febea809b1
commit 625461bf69
9 changed files with 583 additions and 52 deletions

11
Start_RetroShare-Gui_Debug.bat Executable file
View File

@ -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

137
build-all-mingw32make.bat Normal file → Executable file
View File

@ -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

View File

@ -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

View File

@ -38,7 +38,6 @@
#include "printpreview.h"
#include <QAbstractScrollArea>
#include <QPrintDialog>
#include <QPrinter>
#include <QToolBar>
@ -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"

View File

@ -39,6 +39,7 @@
#ifndef PRINTPREVIEW_H
#define PRINTPREVIEW_H
#include <QAbstractScrollArea>
#include <QMainWindow>
#include <QPrinter>
#include <QPointF>
@ -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

223
win_build_libs/Makefile Executable file
View File

@ -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

201
win_build_libs/build_ext.sh Executable file
View File

@ -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 ..

Binary file not shown.

Binary file not shown.