mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Added build guide.
This commit is contained in:
parent
b344bbac5d
commit
3ce73e0bd3
@ -1,42 +0,0 @@
|
||||
### Preparing for Compiler Development on OS X
|
||||
|
||||
# Requirements
|
||||
- OS X Yosemite (10.10.5)
|
||||
- Homebrew
|
||||
- Xcode
|
||||
|
||||
# Set up Homebrew
|
||||
```
|
||||
brew update
|
||||
brew install boost --c++11 # this takes a while
|
||||
brew install cmake cryptopp miniupnpc leveldb gmp libmicrohttpd libjson-rpc-cpp
|
||||
#for Mix IDE and Alethzero only
|
||||
brew install xz d-bus
|
||||
brew install llvm --HEAD --with-clang
|
||||
brew install qt5 --with-d-bus # add --verbose if long waits with a stale screen drive you crazy as well
|
||||
```
|
||||
|
||||
# The Long Wait
|
||||
|
||||
Run this if you plan on installing solidity only, ignore errors at the end as they relate only to Alethzero and Mix
|
||||
```
|
||||
git clone --recursive https://github.com/ethereum/webthree-umbrella.git
|
||||
webthree-helpers/scripts/ethupdate.sh --no-push --simple-pull --project solidity #update solidity repo
|
||||
./webthree-helpers/scripts/ethbuild.sh --no-git --project solidity --all --cores 4 #install solidity
|
||||
```
|
||||
if you opted to install Alethzero and Mix:
|
||||
```
|
||||
git clone --recursive https://github.com/ethereum/webthree-umbrella.git
|
||||
cd webthree-umbrella && mkdir -p build && cd build
|
||||
cmake ..
|
||||
```
|
||||
|
||||
# Bringing it all together
|
||||
clone your forked repo, then:
|
||||
|
||||
```
|
||||
cd ~/webthree-helpers/solidity
|
||||
mv build ../../yourForkedRepo
|
||||
```
|
||||
|
||||
you are now ready to develop :)
|
140
docs/installing-solidity.rst
Normal file
140
docs/installing-solidity.rst
Normal file
@ -0,0 +1,140 @@
|
||||
###################
|
||||
Installing Solidity
|
||||
###################
|
||||
|
||||
Browser-Solidity
|
||||
================
|
||||
|
||||
If you just want to try Solidity for small contracts, you
|
||||
can try `browser-solidity <https://chriseth.github.io/browser-solidity>`_
|
||||
which does not need any installation. If you want to use it
|
||||
without connection to the Internet, you can also just save the page
|
||||
locally or clone http://github.com/chriseth/browser-solidity.
|
||||
|
||||
NPM / node.js
|
||||
=============
|
||||
|
||||
This is probably the most portable and most convenient way to install Solidity locally.
|
||||
|
||||
A platform-independent JavaScript library is provided by compiling the C++ source
|
||||
into JavaScript using Emscripten for browser-solidity and there is also an NPM
|
||||
package available.
|
||||
|
||||
To install it, simply use
|
||||
|
||||
::
|
||||
|
||||
npm install solc
|
||||
|
||||
Details about the usage of the nodejs package can be found in the
|
||||
`repository <https://github.com/chriseth/browser-solidity#nodejs-usage>`_.
|
||||
|
||||
Binary Packages
|
||||
===============
|
||||
|
||||
Binary packages of Solidity together with its IDE Mix are available through
|
||||
the `C++ bundle <https://github.com/ethereum/webthree-umbrella/releases>`_ of
|
||||
Ethereum.
|
||||
|
||||
Building from Source
|
||||
====================
|
||||
|
||||
Building Solidity is quite similar on MacOS X, Ubuntu and probably other Unices.
|
||||
This guide starts explaining how to install the dependencies for each platform
|
||||
and then shows how to build Solidity itself.
|
||||
|
||||
MacOS X
|
||||
-------
|
||||
|
||||
|
||||
Requirements:
|
||||
|
||||
- OS X Yosemite (10.10.5)
|
||||
- Homebrew
|
||||
- Xcode
|
||||
|
||||
Set up Homebrew:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
brew update
|
||||
brew install boost --c++11 # this takes a while
|
||||
brew install cmake cryptopp miniupnpc leveldb gmp libmicrohttpd libjson-rpc-cpp
|
||||
# For Mix IDE and Alethzero only
|
||||
brew install xz d-bus
|
||||
brew install llvm --HEAD --with-clang
|
||||
brew install qt5 --with-d-bus # add --verbose if long waits with a stale screen drive you crazy as well
|
||||
|
||||
Ubuntu
|
||||
------
|
||||
|
||||
Below are the build instructions for the latest versions of Ubuntu. The best
|
||||
supported platform as of December 2014 is Ubuntu 14.04, 64 bit, with at least 2
|
||||
GB RAM. All our tests are done with this version. Community contributions for
|
||||
other versions are welcome!
|
||||
|
||||
Install dependencies:
|
||||
|
||||
Before you can build the source, you need several tools and dependencies for the application to get started.
|
||||
|
||||
First, update your repositories. Not all packages are provided in the main
|
||||
Ubuntu repository, those you'll get from the Ethereum PPA and the LLVM archive.
|
||||
|
||||
.. note::
|
||||
|
||||
Ubuntu 14.04 users, you'll need the latest version of cmake. For this, use:
|
||||
`sudo apt-add-repository ppa:george-edison55/cmake-3.x`
|
||||
|
||||
Now add all the rest:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo apt-get -y update
|
||||
sudo apt-get -y install language-pack-en-base
|
||||
sudo dpkg-reconfigure locales
|
||||
sudo apt-get -y install software-properties-common
|
||||
sudo add-apt-repository -y ppa:ethereum/ethereum
|
||||
sudo add-apt-repository -y ppa:ethereum/ethereum-dev
|
||||
sudo apt-get -y update
|
||||
sudo apt-get -y upgrade
|
||||
|
||||
Use the following command to add the develop packages:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo apt-get -y install build-essential git cmake libboost-all-dev libgmp-dev libleveldb-dev libminiupnpc-dev libreadline-dev libncurses5-dev libcurl4-openssl-dev libcryptopp-dev libjson-rpc-cpp-dev libmicrohttpd-dev libjsoncpp-dev libedit-dev libz-dev
|
||||
|
||||
Building
|
||||
--------
|
||||
|
||||
Run this if you plan on installing Solidity only, ignore errors at the end as
|
||||
they relate only to Alethzero and Mix
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
git clone --recursive https://github.com/ethereum/webthree-umbrella.git
|
||||
cd webthree-umbrella
|
||||
./webthree-helpers/scripts/ethupdate.sh --no-push --simple-pull --project solidity # update Solidity repo
|
||||
./webthree-helpers/scripts/ethbuild.sh --no-git --project solidity --all --cores 4 # build Solidity
|
||||
|
||||
If you opted to install Alethzero and Mix:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
git clone --recursive https://github.com/ethereum/webthree-umbrella.git
|
||||
cd webthree-umbrella && mkdir -p build && cd build
|
||||
cmake ..
|
||||
|
||||
If you want to help developing Solidity,
|
||||
you should fork Solidity and add your personal fork as a second remote:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
cd webthree-umbrella/solidity
|
||||
git remote add personal git@github.com:username/solidity.git
|
||||
|
||||
Note that webthree-umbrella uses submodules, so solidity is its own git
|
||||
repository, but its settings are not stored in `.git/config`, but in
|
||||
`webthree-umbrella/.git/modules/solidity/config`.
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user