mirror of
https://github.com/RetroShare/RetroShare.git
synced 2024-12-26 16:09:35 -05:00
625461bf69
Add scripts to build Libs on branch.
224 lines
11 KiB
Makefile
Executable File
224 lines
11 KiB
Makefile
Executable File
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
|