|
@@ -1,134 +0,0 @@
|
|
-MMGen = Multi-Mode GENerator
|
|
|
|
-============================
|
|
|
|
-##### a Bitcoin cold storage solution for the command line
|
|
|
|
-
|
|
|
|
-Build Bitcoind on Microsoft Windows
|
|
|
|
------------------------------------
|
|
|
|
-
|
|
|
|
-#### Build the Berkeley Database (v5.0):
|
|
|
|
-
|
|
|
|
-Grab the [v5.0 tarball][01], or browse the [download page][02] for different
|
|
|
|
-versions. Unpack the archive to `C:\` and execute the following from your MSYS
|
|
|
|
-shell:
|
|
|
|
-
|
|
|
|
- $ cd /c/db-5.0.32/build_unix
|
|
|
|
- $ ../dist/configure --enable-mingw --enable-cxx --disable-replication
|
|
|
|
-
|
|
|
|
-Edit the source file `db.h` in the `build_unix` directory, moving to line 113
|
|
|
|
-and replacing the statement `typedef pthread_t db_threadid_t;` with `typedef
|
|
|
|
-u_int32_t db_threadid_t;`.
|
|
|
|
-
|
|
|
|
-Since the script creates the file, this must be done **after** the configure
|
|
|
|
-script is run. Now execute:
|
|
|
|
-
|
|
|
|
- $ make
|
|
|
|
- $ make install
|
|
|
|
-
|
|
|
|
-#### Install the MASM assembler (optional but recommended):
|
|
|
|
-
|
|
|
|
-Get the file [MASMsetup.exe][03] from the Microsoft website. With a tool
|
|
|
|
-like 7zip, open the cab file inside and the file inside it, which begins with
|
|
|
|
-`FL_ml_exe`. Copy this file to your path, renaming it to `ml.exe`.
|
|
|
|
-
|
|
|
|
-#### Build the Boost libraries:
|
|
|
|
-
|
|
|
|
-Browse the [download page][06], or get the [tarball][04] from sourceforge.
|
|
|
|
-Unpack `boost_1_55_0.tar.gz` to `C:\`, and type the following from your DOS
|
|
|
|
-prompt:
|
|
|
|
-
|
|
|
|
- cd \boost_1_55_0
|
|
|
|
- boostrap.bat
|
|
|
|
- bjam toolset=gcc link=static threading=single --build-type=minimal stage --with-system --with-filesystem --with-program_options --with-chrono --with-test
|
|
|
|
- bjam toolset=gcc link=static threading=multi --build-type=minimal stage --with-thread
|
|
|
|
-
|
|
|
|
-These commands build just the few libraries we need, avoiding the time-consuming
|
|
|
|
-process of building the whole boost package.
|
|
|
|
-
|
|
|
|
-#### Build Bitcoind:
|
|
|
|
-
|
|
|
|
-Download Sipa's watchonly bitcoind [tarball][05] from GitHub and unzip it
|
|
|
|
-to `C:\`.
|
|
|
|
-
|
|
|
|
-From the MSYS prompt:
|
|
|
|
-
|
|
|
|
- $ cd /c/bitcoin-watchonly
|
|
|
|
-
|
|
|
|
-Add the following lines to the end of `src/leveldb/build_detect_platform`:
|
|
|
|
-
|
|
|
|
- $ echo "DIRS=$DIRS" >> $OUTPUT
|
|
|
|
- $ echo "PORT_FILE=$PORT_FILE" >> $OUTPUT
|
|
|
|
-
|
|
|
|
-Make the following changes to `src/leveldb/Makefile`:
|
|
|
|
-
|
|
|
|
-> After the line `include build_config.mk` add the following line:
|
|
|
|
-
|
|
|
|
- SOURCES=$(shell for i in $(DIRS); do echo $$i/*.cc; done)
|
|
|
|
-
|
|
|
|
-> Change the line `LIBOBJECTS = $(SOURCES:.cc=.o)`
|
|
|
|
-> to read `LIBOBJECTS = $(SOURCES:.cc=.o) $(PORT_FILE:.cc=.o)`
|
|
|
|
-
|
|
|
|
-> Change the line `all: $(SHARED) $(LIBRARY)`
|
|
|
|
-> to read `all: $(LIBRARY)`
|
|
|
|
-
|
|
|
|
-For each of the following files:
|
|
|
|
-
|
|
|
|
- src/rpcdump.cpp
|
|
|
|
- src/rpcnet.cpp
|
|
|
|
- src/rpcwallet.cpp
|
|
|
|
- src/wallet.cpp
|
|
|
|
- src/walletdb.cpp
|
|
|
|
-
|
|
|
|
-add the line `#include <winsock2.h>` at the beginning, before the first
|
|
|
|
-`#include` statement.
|
|
|
|
-
|
|
|
|
-In the following files:
|
|
|
|
-
|
|
|
|
- src/leveldb/db/db_test.cc
|
|
|
|
- src/leveldb/db/db_bench.cc
|
|
|
|
- src/leveldb/db/autocompact_test.cc
|
|
|
|
- src/leveldb/db/leveldb_main.cc
|
|
|
|
-
|
|
|
|
-delete everything from `int main(int argc,..` to the end of the file.
|
|
|
|
-
|
|
|
|
-Do the following file-copying operations (needs to be done just once):
|
|
|
|
-
|
|
|
|
- $ cp /mingw/bin/autoreconf-2.68 /mingw/bin/autoreconf
|
|
|
|
- $ cp /mingw/bin/autoconf-2.68 /mingw/bin/autoconf
|
|
|
|
- $ cp /mingw/bin/automake-1.11 /mingw/bin/automake
|
|
|
|
- $ cp /mingw/bin/aclocal-1.11 /mingw/bin/aclocal
|
|
|
|
-
|
|
|
|
-Generate the `configure` script:
|
|
|
|
-
|
|
|
|
- $ sh autogen.sh
|
|
|
|
-
|
|
|
|
-Edit the just-created `configure` script:
|
|
|
|
-
|
|
|
|
-> After the line:
|
|
|
|
-
|
|
|
|
- LIBS="$LIBS $BOOST_LIBS $BOOST_CHRONO_LIB"
|
|
|
|
-
|
|
|
|
-> add the line:
|
|
|
|
-
|
|
|
|
- CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
|
|
|
|
-
|
|
|
|
-Export variables for `configure` to pass to the preprocessor and linker:
|
|
|
|
-
|
|
|
|
- $ export CPPFLAGS="-I/usr/local/BerkeleyDB.5.0/include -I/usr/local/ssl/include"
|
|
|
|
- $ export LDFLAGS="-static -L/usr/local/BerkeleyDB.5.0/lib -L/usr/local/ssl/lib"
|
|
|
|
- $ export BOOST_ROOT=/c/boost_1_55_0
|
|
|
|
-
|
|
|
|
-Run `configure` and then `make`:
|
|
|
|
-
|
|
|
|
- $ ./configure --without-qt --with-incompatible-bdb
|
|
|
|
- $ make src/bitcoind.exe
|
|
|
|
-
|
|
|
|
-Strip the executable (`strip src/bitcoind.exe`), copy it to your path and test
|
|
|
|
-by running `bitcoind`. You may need to supply an argument to the `-datadir`
|
|
|
|
-option so the daemon can find your wallet and configuration file.
|
|
|
|
-
|
|
|
|
-[01]: http://download.oracle.com/berkeley-db/db-5.0.32.tar.gz
|
|
|
|
-[02]: http://www.oracle.com/technetwork/database/database-technologies/berkeleydb/downloads/index-082944.html
|
|
|
|
-[03]: http://www.microsoft.com/en-gb/download/details.aspx?id=12654
|
|
|
|
-[04]: http://sourceforge.net/projects/boost/files/boost/1.55.0/boost_1_55_0.tar.gz/download
|
|
|
|
-[05]: https://codeload.github.com/sipa/bitcoin/zip/watchonly
|
|
|
|
-[06]: http://www.boost.org/users/download/
|
|
|