Skip to content
This repository has been archived by the owner on May 17, 2022. It is now read-only.

Commit

Permalink
Merge pull request #293 from bobsummerwill/master
Browse files Browse the repository at this point in the history
Added cpp-ethereum-v1.3.0 to the docs.
  • Loading branch information
bobsummerwill committed Jul 26, 2016
2 parents 8b80a36 + 0c328ae commit eec46d9
Show file tree
Hide file tree
Showing 5 changed files with 49 additions and 41 deletions.
4 changes: 2 additions & 2 deletions source/ethereum-clients/choosing-a-client.rst
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ releases. The table below contains links to the latest release.
+------------------------+------------+------------------------+-------------------------------------+
| :ref:`Parity` | Rust | `Ethcore`_ | `Parity-v1.2.2`_ |
+------------------------+------------+------------------------+-------------------------------------+
| :ref:`cpp-ethereum` | C++ | `Ethereum Foundation`_ | `cpp-ethereum-v1.2.9`_ |
| :ref:`cpp-ethereum` | C++ | `Ethereum Foundation`_ | `cpp-ethereum-v1.3.0`_ |
+------------------------+------------+------------------------+-------------------------------------+
| :ref:`pyethapp` | Python | `Ethereum Foundation`_ | `pyethapp-v1.3.2`_ |
+------------------------+------------+------------------------+-------------------------------------+
Expand All @@ -55,7 +55,7 @@ releases. The table below contains links to the latest release.
.. _Jan Xie: https://github.com/janx/

.. _go-ethereum-v1.4.10: https://github.com/ethereum/go-ethereum/releases/tag/v1.4.10
.. _cpp-ethereum-v1.2.9: https://github.com/ethereum/webthree-umbrella/releases/tag/v1.2.9
.. _cpp-ethereum-v1.3.0: https://github.com/bobsummerwill/cpp-ethereum/releases/tag/v1.3.0
.. _ethereumjs-lib-v3.0.0: https://github.com/ethereumjs/ethereumjs-lib/releases/tag/v3.0.0
.. _ethereumJ-v1.3.0-RC5-DaoHardFork: https://github.com/ethereum/ethereumj/releases/tag/1.3.0-RC5-DaoHardFork
.. _Parity-v1.2.2: https://github.com/ethcore/parity/releases/tag/v1.2.2
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,14 @@ Building from source
Overview
--------------------------------------------------------------------------------

The **cpp-ethereum** codebase is spread over several
The **cpp-ethereum** codebase is is mid-transition from several
Git repositories which are all grouped as sub-modules under the
`webthree-umbrella <http://github.com/ethereum/webthree-umbrella>`_ repo
on Github.
on Github back to `cpp-ethereum <http://github.com/ethereum/cpp-ethereum>`_.

As of right now (only for the v1.3.0 release), the canonical mainline is at:

https://github.com/bobsummerwill/cpp-ethereum/tree/merge_repos

We use a common `CMake <https://cmake.org/>`_ build system to generate
platform-specific build files, meaning that the workflow is very similar
Expand All @@ -29,7 +33,7 @@ Platform-specific instructions

linux.rst
windows.rst
osx.rst
macos.rst
freebsd.rst
android.rst
ios.rst
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,23 @@ Clone the repository

To clone the source code, execute the following command: ::

git clone --recursive https://github.com/ethereum/webthree-umbrella.git
git clone --recursive https://github.com/bobsummerwill/cpp-ethereum.git
cd cpp-ethereum
git checkout merge_repos
git submodule update --init

Installing dependencies (the easy way!)
================================================================================

For the "Homecoming" release (v1.3.0) in July 2016 we added a new "one-button"
script for installing external dependencies, which identifies your distro and
installs the packages which you need. This script is new and incomplete, but
is a way easier experience than the manual steps described in the next section
of this document. Give it a go! It works for Ubuntu and macOS and a few
other distros already. If you try it, and it doesn't work for you, please let
us know and we will prioritize fixing your distro!::

./install_deps.sh


Installing dependencies (distro-specific)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,9 @@ The `cpp-ethereum-development
<https://gitter.im/ethereum/cpp-ethereum-development>`_ gitter channel is where we hang out, and try
to work together to get known issues resolved.

We only support the two most recent OS X versions:
We only support the following OS X versions:

- `OS X Mavericks (10.9) <https://en.wikipedia.org/wiki/OS_X_Mavericks>`_
- `OS X Yosemite (10.10) <https://en.wikipedia.org/wiki/OS_X_Yosemite>`_
- `OS X El Capitan (10.11) <https://en.wikipedia.org/wiki/OS_X_El_Capitan>`_

Expand All @@ -40,6 +41,17 @@ OS X version, we recommend that you update to the latest release, not
just so that you can build cpp-ethereum, but for your own security.


Clone the repository
--------------------------------------------------------------------------------

To clone the source code, execute the following command: ::

git clone --recursive https://github.com/bobsummerwill/cpp-ethereum.git
cd cpp-ethereum
git checkout merge_repos
git submodule update --init


Pre-requisites and external dependencies
--------------------------------------------------------------------------------

Expand All @@ -54,45 +66,16 @@ command-line builds: ::

sudo xcodebuild -license accept

You will need to install the `XQuartz <http://xquartz.macosforge.org/landing/>`_ X11 Window
system if you want to build the GUI apps (AlethZero and Mix), because Qt on OS X uses that X11 layer.

Our OS X builds require you to `install the Homebrew <http://brew.sh>`_
package manager for installing external dependencies.
Here's how to `uninstall Homebrew
<https://github.com/Homebrew/homebrew/blob/master/share/doc/homebrew/FAQ.md#how-do-i-uninstall-homebrew>`_,
if you ever want to start again from scratch.

Install all required external dependencies using Homebrew ::

brew update
brew upgrade
brew install boost cmake cryptopp miniupnpc leveldb gmp jsoncpp libjson-rpc-cpp libmicrohttpd
brew install homebrew/versions/llvm38

And also the following if you want to build the GUI apps: ::

brew install qt5 --with-d-bus

**NOTE#1: The Qt5 step takes many hours on most people's machines.** This is because it is
using non-default build settings which result in build-from-source. It also appears
to use around 20Gb of temporary disk space. Beware!

**NOTE#2: Qt and Qt5 packages in Homebrew cannot coexist.**, If you have Qt
installed then you will need to uninstall it before you can build cpp-ethereum successfully: ::

brew uninstall --force qt


Clone the repository
--------------------------------------------------------------------------------

To clone the source code, execute the following command: ::

git clone --recursive https://github.com/ethereum/webthree-umbrella.git
We now have a "one button" script which installs all required external dependencies
on macOS and on numerous Linux distros. This used to a multi-step manual process: ::

You can either generate a `Makefile <https://en.wikipedia.org/wiki/Makefile>`_ and
build on the command-line or you can generate an Xcode project and build in the IDE.
./install_dep.sh


Command-line build
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,10 @@ Get the source

Clone the git repository containing all the source code by executing the following command: ::

git clone --recursive https://github.com/ethereum/webthree-umbrella.git
git clone --recursive https://github.com/bobsummerwill/cpp-ethereum.git
cd cpp-ethereum
git checkout merge_repos
git submodule update --init

Get the external dependencies
Expand All @@ -49,7 +52,7 @@ Get the external dependencies
Execute the CMake script that downloads and unpacks pre-built external libraries
needed to build the project: ::

cmake -P webthree-helpers/deps/install_deps.cmake
install_deps.bat


Generate Visual Studio project files
Expand All @@ -63,6 +66,8 @@ solution file using CMake: ::

Which should result in the creation of **cpp-ethereum.sln** in that build directory.

**NOTE: We only support Visual Studio 2015 as of cpp-ethereum-v.1.3.0.**

Double-clicking on that file should result in Visual Studio firing up. We suggest
building **RelWithDebugInfo** configuration, but all others work.

Expand Down

0 comments on commit eec46d9

Please sign in to comment.