twisterp2pnetworkbittorrentblockchainmicrobloggingipv6social-networkdhtdecentralizedtwister-servertwister-ipv6twister-coretwisterarmyp2p-network
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
95 lines
3.4 KiB
95 lines
3.4 KiB
#twister building script for IOS on linux |
|
|
|
export IPHONE_IP="" |
|
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 |
|
|
|
echo "Installing twisterd to your device..." |
|
[ -n "$IPHONE_IP" ] && make -f makefile.ios install
|
|
|