erqan
9 years ago
4 changed files with 335 additions and 0 deletions
@ -0,0 +1,93 @@ |
|||||||
|
IOS (iPhoneOS) Build Instructions and Notes |
||||||
|
=========================================== |
||||||
|
This guide will show you how to build twisterd for IOS on a linux machine. |
||||||
|
|
||||||
|
Notes |
||||||
|
----- |
||||||
|
|
||||||
|
* Compilation, made on a linux |
||||||
|
* Application, tested on iPhone4 with IOS 7.1.2 (jailbroken) |
||||||
|
* All of the commands should be executed in a Terminal application. |
||||||
|
|
||||||
|
Preparation |
||||||
|
----------- |
||||||
|
|
||||||
|
You need to install clang and llvm from distribution's repo. Then you need IOS toolchain and SDK. |
||||||
|
You can get them from [iOS toolchain based on clang for linux](https://code.google.com/p/ios-toolchain-based-on-clang-for-linux/). |
||||||
|
|
||||||
|
You need to install [openssl](http://cydia.saurik.com/package/openssl/) ([view in cydia...](cydia://package/openssl)) to your |
||||||
|
device and copy headers and libraries to your SDK as well. |
||||||
|
|
||||||
|
*REQUIRMENTS (leveldb, berkeley db and boost) WILL BE DOWNLOADED AND BUILDED BY `runme-ios-onlinux.sh` * |
||||||
|
You need also to build [leveldb](http://github.com/google/leveldb), [Berkeley DB](http://download.oracle.com/otn/berkeley-db/db-5.3.28.tar.gz) |
||||||
|
for IOS. |
||||||
|
|
||||||
|
And you need the [boost sources](http://www.boost.org/users/download/#live). |
||||||
|
|
||||||
|
Instructions: |
||||||
|
------------- |
||||||
|
|
||||||
|
#### Setting required variable |
||||||
|
|
||||||
|
You should check variables set in `runme-ios-onlinux.sh` script. |
||||||
|
|
||||||
|
|
||||||
|
export IOS_SDK=/usr/share/iPhoneOS6.0.sdk |
||||||
|
export ARCH=armv7 |
||||||
|
export TARGET=arm-apple-darwin11 |
||||||
|
export LINKER_VER=236.3 |
||||||
|
export IPHONEOS_DEPLOYMENT_TARGET=6.0 |
||||||
|
export TARGET_OS=IOS |
||||||
|
export CC="clang" |
||||||
|
export CXX="clang++" |
||||||
|
export PJC=2 |
||||||
|
#### Building dependecies and `twisterd` |
||||||
|
|
||||||
|
1. Clone the github tree to get the source code and go into the directory. |
||||||
|
|
||||||
|
git clone https://github.com/miguelfreitas/twister-core.git |
||||||
|
cd twister-core/src |
||||||
|
|
||||||
|
2. Building |
||||||
|
|
||||||
|
|
||||||
|
./runme-ios-onlinux.sh |
||||||
|
|
||||||
|
3. If things go south, before trying again, make sure you clean it up: |
||||||
|
|
||||||
|
|
||||||
|
make clean |
||||||
|
|
||||||
|
If all went well, you should now have a twisterd executable in the twister-core directory. |
||||||
|
See the Running instructions below. |
||||||
|
|
||||||
|
Running |
||||||
|
------- |
||||||
|
|
||||||
|
It's now available at `./twisterd`, provided that you are still in the `twister-core` |
||||||
|
directory. We have to first create the RPC configuration file, though. |
||||||
|
|
||||||
|
Run `./twisterd` to get the filename where it should be put, or just try these |
||||||
|
commands: |
||||||
|
|
||||||
|
mkdir -p "/User/.twister" |
||||||
|
echo -e "rpcuser=user\nrpcpassword=pwd\nrpcallowip=127.0.0.1" > "/User/.twister/twister.conf" |
||||||
|
chmod 600 "/User/.twister/twister.conf" |
||||||
|
|
||||||
|
When next you run it, it will start downloading the blockchain, but it won't |
||||||
|
output anything while it's doing this. This process may take several hours. If you see a lonely |
||||||
|
`connect: Operation timed out`, don't freak out, it seems to work fine. |
||||||
|
|
||||||
|
Other commands: |
||||||
|
|
||||||
|
tail -f ~/.twister/debug.log |
||||||
|
./twisterd --help # for a list of command-line options. |
||||||
|
./twisterd -daemon # to start it as a daemon. |
||||||
|
./twisterd help # When the daemon is running, to get a list of RPC commands |
||||||
|
|
||||||
|
In order to get the HTML interface, you'll have to download it and link it in .twister: |
||||||
|
|
||||||
|
git clone https://github.com/miguelfreitas/twister-html.git /User/Library/Application\ Support/twister/html |
||||||
|
|
||||||
|
Once you do that, it will be available at http://localhost:28332/home.html |
||||||
|
|
@ -0,0 +1,38 @@ |
|||||||
|
PROJECTNAME:=libtorrent-rasterbar |
||||||
|
|
||||||
|
libtorrent_INCLUDE:=../include |
||||||
|
twister_INCLUDE:=../../src |
||||||
|
boost_SOURCE:=$(twister_INCLUDE)/ios-build/ext/boost_1_58_0 |
||||||
|
leveldb_SOURCE:=$(twister_INCLUDE)/ios-build/ext/leveldb-master |
||||||
|
|
||||||
|
CXXFLAGS += -fobjc-arc |
||||||
|
CXXFLAGS += -fblocks |
||||||
|
CXXFLAGS += -g0 -O2 -DIOS |
||||||
|
CXXFLAGS += -I"$(libtorrent_INCLUDE)" -I"$(twister_INCLUDE)" -I"$(boost_SOURCE)" -I"$(leveldb_SOURCE)/include" |
||||||
|
CXXFLAGS += -DBOOST_SPIRIT_THREADSAFE -D_FILE_OFFSET_BITS=64 -DBOOST_ASIO_SEPARATE_COMPILATION -DBOOST_LOCALE_WITH_ICONV |
||||||
|
CXXFLAGS += -DBOOST_LOCALE_NO_WINAPI_BACKEND -DBOOST_ASIO_HASH_MAP_BUCKETS=1021 -DBOOST_EXCEPTION_DISABLE=1 -DBOOST_ASIO_ENABLE_CANCELIO=1 |
||||||
|
CXXFLAGS += -DTORRENT_DISABLE_GEO_IP -DTORRENT_USE_OPENSSL=1 |
||||||
|
|
||||||
|
BLDDIR=ios-build |
||||||
|
SRCDIR=. |
||||||
|
OBJS+=$(patsubst $(SRCDIR)/%.cpp,$(BLDDIR)/%.o,$(wildcard $(SRCDIR)/*.cpp)) |
||||||
|
OBJS+=$(patsubst $(SRCDIR)/kademlia/%.cpp,$(BLDDIR)/%.o,$(wildcard $(SRCDIR)/kademlia/*.cpp)) |
||||||
|
|
||||||
|
all: $(BLDDIR)/$(PROJECTNAME) |
||||||
|
|
||||||
|
$(BLDDIR)/$(PROJECTNAME): $(OBJS) check |
||||||
|
$(AR) cr $@.a $(OBJS) |
||||||
|
|
||||||
|
$(BLDDIR)/%.o: %.cpp check |
||||||
|
$(CXX) -c $(CXXFLAGS) $< -o $@ |
||||||
|
|
||||||
|
$(BLDDIR)/%.o: kademlia/%.cpp check |
||||||
|
$(CXX) -c $(CXXFLAGS) $< -o $@ |
||||||
|
|
||||||
|
check: |
||||||
|
test -d $(BLDDIR) || mkdir $(BLDDIR) |
||||||
|
|
||||||
|
clean: |
||||||
|
rm -fr $(BLDDIR) |
||||||
|
|
||||||
|
.PHONY: all dist install uninstall clean |
@ -0,0 +1,112 @@ |
|||||||
|
PROJECTNAME:=twisterd |
||||||
|
|
||||||
|
BLDDIR:=ios-build |
||||||
|
libtorrent_INCLUDE:=../libtorrent/include |
||||||
|
boost_SOURCE:=$(BLDDIR)/ext/boost_1_58_0 |
||||||
|
leveldb_SOURCE:=$(BLDDIR)/ext/leveldb-master |
||||||
|
bdb_SOURCE:=$(BLDDIR)/ext/db-5.3.28 |
||||||
|
|
||||||
|
CXXFLAGS += -fobjc-arc |
||||||
|
CXXFLAGS += -fblocks |
||||||
|
CXXFLAGS += -g0 -O2 -DIOS |
||||||
|
CXXFLAGS += -I. -I"$(libtorrent_INCLUDE)" -I"$(boost_SOURCE)" -I"$(leveldb_SOURCE)/include" -I"$(leveldb_SOURCE)/helper" -I"$(bdb_SOURCE)/build_unix" |
||||||
|
CXXFLAGS += -DBOOST_SPIRIT_THREADSAFE -D_FILE_OFFSET_BITS=64 -DBOOST_ASIO_SEPARATE_COMPILATION -DBOOST_LOCALE_WITH_ICONV |
||||||
|
CXXFLAGS += -DBOOST_LOCALE_NO_WINAPI_BACKEND -DBOOST_ASIO_HASH_MAP_BUCKETS=1021 -DBOOST_EXCEPTION_DISABLE=1 -DBOOST_ASIO_ENABLE_CANCELIO=1 |
||||||
|
CXXFLAGS += -DTORRENT_DISABLE_GEO_IP -DTORRENT_USE_OPENSSL=1 -DHAVE_CXX_STDHEADERS |
||||||
|
|
||||||
|
LDFLAGS += -lssl -lcrypto -liconv -lz -ldl |
||||||
|
LDFLAGS += -L$(leveldb_SOURCE) -lleveldb -lmemenv |
||||||
|
LDFLAGS += -L$(bdb_SOURCE)/build_unix -ldb_cxx-5.3 |
||||||
|
LDFLAGS += -L"../libtorrent/src/ios-build" -ltorrent-rasterbar |
||||||
|
|
||||||
|
SRCDIR=. |
||||||
|
OBJS+=$(patsubst $(SRCDIR)/%.cpp,$(BLDDIR)/%.o,$(wildcard $(SRCDIR)/*.cpp)) |
||||||
|
OBJS+=$(patsubst $(SRCDIR)/json/%.cpp,$(BLDDIR)/%.o,$(wildcard $(SRCDIR)/json/*.cpp)) |
||||||
|
|
||||||
|
boostlibs=$(boost_SOURCE)/libs |
||||||
|
OBJS+=$(BLDDIR)/boost/system/error_code.o |
||||||
|
OBJS+=$(patsubst $(boostlibs)/filesystem/src/%.cpp,$(BLDDIR)/boost/filesystem/%.o,$(wildcard $(boostlibs)/filesystem/src/*.cpp)) |
||||||
|
OBJS:=$(subst $(BLDDIR)/scrypt-sse2.o,,$(OBJS)) |
||||||
|
OBJS+=$(patsubst $(boostlibs)/program_options/src/%.cpp,$(BLDDIR)/boost/program_options/%.o,$(wildcard $(boostlibs)/program_options/src/*.cpp)) |
||||||
|
OBJS+=$(patsubst $(boostlibs)/thread/src/%.cpp,$(BLDDIR)/boost/thread/%.o,$(wildcard $(boostlibs)/thread/src/*.cpp)) |
||||||
|
OBJS+=$(patsubst $(boostlibs)/thread/src/pthread/%.cpp,$(BLDDIR)/boost/thread/pthread/%.o,$(wildcard $(boostlibs)/thread/src/pthread/*.cpp)) |
||||||
|
OBJS:=$(subst $(BLDDIR)/boost/thread/pthread/once_atomic.o,,$(OBJS)) |
||||||
|
OBJS+=$(patsubst $(boostlibs)/locale/src/encoding/%.cpp,$(BLDDIR)/boost/locale/encoding/%.o,$(wildcard $(boostlibs)/locale/src/encoding/*.cpp)) |
||||||
|
OBJS+=$(patsubst $(boostlibs)/locale/src/posix/%.cpp,$(BLDDIR)/boost/locale/posix/%.o,$(wildcard $(boostlibs)/locale/src/posix/*.cpp)) |
||||||
|
OBJS+=$(patsubst $(boostlibs)/locale/src/shared/%.cpp,$(BLDDIR)/boost/locale/shared/%.o,$(wildcard $(boostlibs)/locale/src/shared/*.cpp)) |
||||||
|
OBJS+=$(patsubst $(boostlibs)/locale/src/std/%.cpp,$(BLDDIR)/boost/locale/std/%.o,$(wildcard $(boostlibs)/locale/src/std/*.cpp)) |
||||||
|
OBJS+=$(patsubst $(boostlibs)/locale/src/util/%.cpp,$(BLDDIR)/boost/locale/util/%.o,$(wildcard $(boostlibs)/locale/src/util/*.cpp)) |
||||||
|
OBJS+=$(patsubst $(boostlibs)/chrono/src/%.cpp,$(BLDDIR)/boost/chrono/%.o,$(wildcard $(boostlibs)/chrono/src/*.cpp)) |
||||||
|
OBJS+=$(patsubst $(boostlibs)/regex/src/%.cpp,$(BLDDIR)/boost/regex/%.o,$(wildcard $(boostlibs)/regex/src/*.cpp)) |
||||||
|
|
||||||
|
all: $(BLDDIR)/$(PROJECTNAME) |
||||||
|
|
||||||
|
$(BLDDIR)/$(PROJECTNAME): $(OBJS) check |
||||||
|
$(CXX) $(CXXFLAGS) $(LDFLAGS) $(OBJS) -o $@ |
||||||
|
|
||||||
|
$(BLDDIR)/%.o: %.cpp check |
||||||
|
$(CXX) -c $(CXXFLAGS) $< -o $@ |
||||||
|
|
||||||
|
$(BLDDIR)/%.o: json/%.cpp check |
||||||
|
$(CXX) -c $(CXXFLAGS) $< -o $@ |
||||||
|
|
||||||
|
$(BLDDIR)/boost/thread/%.o: $(boostlibs)/thread/src/%.cpp check |
||||||
|
$(CXX) -c $(CXXFLAGS) $< -o $@ |
||||||
|
|
||||||
|
$(BLDDIR)/boost/thread/pthread/%.o: $(boostlibs)/thread/src/pthread/%.cpp check |
||||||
|
$(CXX) -c $(CXXFLAGS) $< -o $@ |
||||||
|
|
||||||
|
$(BLDDIR)/boost/locale/encoding/%.o: $(boostlibs)/locale/src/encoding/%.cpp check |
||||||
|
$(CXX) -c $(CXXFLAGS) $< -o $@ |
||||||
|
|
||||||
|
$(BLDDIR)/boost/locale/shared/%.o: $(boostlibs)/locale/src/shared/%.cpp check |
||||||
|
$(CXX) -c $(CXXFLAGS) $< -o $@ |
||||||
|
|
||||||
|
$(BLDDIR)/boost/locale/util/%.o: $(boostlibs)/locale/src/util/%.cpp check |
||||||
|
$(CXX) -c $(CXXFLAGS) $< -o $@ |
||||||
|
|
||||||
|
$(BLDDIR)/boost/locale/std/%.o: $(boostlibs)/locale/src/std/%.cpp check |
||||||
|
$(CXX) -c $(CXXFLAGS) $< -o $@ |
||||||
|
|
||||||
|
$(BLDDIR)/boost/locale/posix/%.o: $(boostlibs)/locale/src/posix/%.cpp check |
||||||
|
$(CXX) -c $(CXXFLAGS) $< -o $@ |
||||||
|
|
||||||
|
$(BLDDIR)/boost/locale/icu/%.o: $(boostlibs)/locale/src/icu/%.cpp check |
||||||
|
$(CXX) -c $(CXXFLAGS) $< -o $@ |
||||||
|
|
||||||
|
$(BLDDIR)/boost/system/%.o: $(boostlibs)/system/src/%.cpp check |
||||||
|
$(CXX) -c $(CXXFLAGS) $< -o $@ |
||||||
|
|
||||||
|
$(BLDDIR)/boost/filesystem/%.o: $(boostlibs)/filesystem/src/%.cpp check |
||||||
|
$(CXX) -c $(CXXFLAGS) $< -o $@ |
||||||
|
|
||||||
|
$(BLDDIR)/boost/program_options/%.o: $(boostlibs)/program_options/src/%.cpp check |
||||||
|
$(CXX) -c $(CXXFLAGS) $< -o $@ |
||||||
|
|
||||||
|
$(BLDDIR)/boost/chrono/%.o: $(boostlibs)/chrono/src/%.cpp check |
||||||
|
$(CXX) -c $(CXXFLAGS) $< -o $@ |
||||||
|
|
||||||
|
$(BLDDIR)/boost/regex/%.o: $(boostlibs)/regex/src/%.cpp check |
||||||
|
$(CXX) -c $(CXXFLAGS) $< -o $@ |
||||||
|
|
||||||
|
check: |
||||||
|
@test -d $(BLDDIR)/boost/system || mkdir -p $(BLDDIR)/boost/system |
||||||
|
@test -d $(BLDDIR)/boost/filesystem || mkdir -p $(BLDDIR)/boost/filesystem |
||||||
|
@test -d $(BLDDIR)/boost/program_options || mkdir -p $(BLDDIR)/boost/program_options |
||||||
|
@test -d $(BLDDIR)/boost/thread/pthread || mkdir -p $(BLDDIR)/boost/thread/pthread |
||||||
|
@test -d $(BLDDIR)/boost/locale/encoding || mkdir -p $(BLDDIR)/boost/locale/{encoding,icu,posix,std,shared,util} |
||||||
|
@test -d $(BLDDIR)/boost/chrono || mkdir -p $(BLDDIR)/boost/chrono |
||||||
|
@test -d $(BLDDIR)/boost/regex || mkdir -p $(BLDDIR)/boost/regex |
||||||
|
@if test -z $(boost_SOURCE); then \ |
||||||
|
echo "please set the 'boost_SOURCE' variable";\ |
||||||
|
exit 1;\ |
||||||
|
fi |
||||||
|
@if ! test -d $(boost_SOURCE); then \ |
||||||
|
echo "please check 'boost_SOURCE=$(boost_SOURCE)', directory not found.";\ |
||||||
|
exit 1;\ |
||||||
|
fi |
||||||
|
|
||||||
|
clean: |
||||||
|
rm -fr $(BLDDIR) |
||||||
|
|
||||||
|
.PHONY: all dist install uninstall clean |
@ -0,0 +1,92 @@ |
|||||||
|
#twister building script for IOS on linux |
||||||
|
|
||||||
|
export IOS_SDK=/usr/share/iPhoneOS6.0.sdk |
||||||
|
export ARCH=armv7 |
||||||
|
export TARGET=arm-apple-darwin11 |
||||||
|
export LINKER_VER=236.3 |
||||||
|
export IPHONEOS_DEPLOYMENT_TARGET=6.0 |
||||||
|
export IOS_SIGN_CODE_WHEN_BUILD=1 |
||||||
|
export TARGET_OS=IOS |
||||||
|
export PJC=2 |
||||||
|
|
||||||
|
export CC="clang" |
||||||
|
export CXX="clang++" |
||||||
|
export CFLAGS="-target $TARGET -arch $ARCH -isysroot $IOS_SDK -fblocks -fobjc-arc -g0 -O2 -D$TARGET_OS -mlinker-version=$LINKER_VER" |
||||||
|
export CXXFLAGS="$CFLAGS" |
||||||
|
export LD="$TARGET-ld" |
||||||
|
export AR="$TARGET-ar" |
||||||
|
|
||||||
|
export LDFLAGS="-L$IOS_SDK/System" |
||||||
|
|
||||||
|
mkdir -p ios-build/ext |
||||||
|
cd ios-build/ext |
||||||
|
echo 'Downloading leveldb...' |
||||||
|
[ -f leveldb.zip ] || wget https://github.com/google/leveldb/archive/master.zip -O leveldb.zip |
||||||
|
[ -d leveldb-master ] || unzip leveldb.zip |
||||||
|
cd leveldb-master |
||||||
|
cat << _EOF > makefile.ios |
||||||
|
SOURCES=db/builder.cc db/c.cc db/dbformat.cc db/db_impl.cc db/db_iter.cc db/dumpfile.cc db/filename.cc db/log_reader.cc db/log_writer.cc db/memtable.cc db/repair.cc db/table_cache.cc db/version_edit.cc db/version_set.cc db/write_batch.cc table/block_builder.cc table/block.cc table/filter_block.cc table/format.cc table/iterator.cc table/merger.cc table/table_builder.cc table/table.cc table/two_level_iterator.cc util/arena.cc util/bloom.cc util/cache.cc util/coding.cc util/comparator.cc util/crc32c.cc util/env.cc util/env_posix.cc util/filter_policy.cc util/hash.cc util/histogram.cc util/logging.cc util/options.cc util/status.cc port/port_posix.cc |
||||||
|
MEMENV_SOURCES=helpers/memenv/memenv.cc |
||||||
|
PLATFORM_CCFLAGS= -DOS_MACOSX -DLEVELDB_PLATFORM_POSIX |
||||||
|
PLATFORM_CXXFLAGS= -DOS_MACOSX -DLEVELDB_PLATFORM_POSIX |
||||||
|
CFLAGS += -I. -I./include \$(PLATFORM_CCFLAGS) -O2 -DNDEBUG |
||||||
|
CXXFLAGS += -I. -I./include \$(PLATFORM_CXXFLAGS) -O2 -DNDEBUG |
||||||
|
LIBOBJECTS = \$(SOURCES:.cc=.o) |
||||||
|
MEMENVOBJECTS = \$(MEMENV_SOURCES:.cc=.o) |
||||||
|
LIBRARY = libleveldb.a |
||||||
|
MEMENVLIBRARY = libmemenv.a |
||||||
|
|
||||||
|
default: all |
||||||
|
|
||||||
|
all: \$(LIBRARY) \$(MEMENVLIBRARY) |
||||||
|
|
||||||
|
clean: |
||||||
|
rm -f \$(LIBRARY) \$(MEMENVLIBRARY) */*.o */*/*.o ios-x86/*/*.o ios-arm/*/*.o build_config.mk |
||||||
|
rm -rf ios-x86/* ios-arm/* |
||||||
|
|
||||||
|
\$(LIBRARY): \$(LIBOBJECTS) |
||||||
|
rm -f \$@ |
||||||
|
\$(AR) -rs \$@ \$(LIBOBJECTS) |
||||||
|
|
||||||
|
\$(MEMENVLIBRARY) : \$(MEMENVOBJECTS) |
||||||
|
rm -f \$@ |
||||||
|
\$(AR) -rs \$@ \$(MEMENVOBJECTS) |
||||||
|
|
||||||
|
.cc.o: |
||||||
|
\$(CXX) \$(CXXFLAGS) -c \$< -o \$@ |
||||||
|
|
||||||
|
.c.o: |
||||||
|
\$(CC) \$(CFLAGS) -c \$< -o \$@ |
||||||
|
_EOF |
||||||
|
|
||||||
|
make -f makefile.ios -j$PJC |
||||||
|
cd .. |
||||||
|
|
||||||
|
echo 'Downloading berkeley db...' |
||||||
|
[ -f db-5.3.28.tar.gz ] || wget http://download.oracle.com/berkeley-db/db-5.3.28.tar.gz |
||||||
|
[ -d db-5.3.28 ] || tar xf db-5.3.28.tar.gz |
||||||
|
cd db-5.3.28/build_unix |
||||||
|
export _CFLAGS="$CFLAGS" |
||||||
|
export _CXXFLAGS="$CXXFLAGS" |
||||||
|
export CFLAGS="-pipe -gdwarf-2 -no-cpp-precomp -mthumb $_CFLAGS" |
||||||
|
export CXXFLAGS="-pipe -gdwarf-2 -no-cpp-precomp -mthumb $_CXXFLAGS" |
||||||
|
../dist/configure --host=$TARGET --prefix=/usr --enable-compat185 --enable-shared=no --enable-static --enable-cxx --enable-dbm --enable-st |
||||||
|
make -j$PJC |
||||||
|
|
||||||
|
export CFLAGS="$_CFLAGS" |
||||||
|
export CXXFLAGS="$_CXXFLAGS" |
||||||
|
|
||||||
|
cd ../.. |
||||||
|
|
||||||
|
echo 'Downloading boost...' |
||||||
|
[ -f boost_1_58_0.tar.bz2 ] || wget https://downloads.sourceforge.net/project/boost/boost/1.58.0/boost_1_58_0.tar.bz2 |
||||||
|
[ -d boost_1_58_0 ] || tar xf boost_1_58_0.tar.bz2 |
||||||
|
|
||||||
|
cd ../.. |
||||||
|
|
||||||
|
echo 'Building libtorrent...' |
||||||
|
[ -f ../libtorrent/src/ios-build/libtorrent-rasterbar.a ] || make -C ../libtorrent/src -f makefile.ios -j$PJC |
||||||
|
|
||||||
|
echo 'Building twister...' |
||||||
|
make -f makefile.ios -j$PJC |
||||||
|
|
Loading…
Reference in new issue