diff --git a/.gitignore b/.gitignore index 0a788b682a..f0f555e107 100644 --- a/.gitignore +++ b/.gitignore @@ -72,7 +72,6 @@ *.dmg *.ipa -/INSTALL .deps/ .libs/ /aclocal.m4 diff --git a/INSTALL b/INSTALL new file mode 100644 index 0000000000..5fb10a02cb --- /dev/null +++ b/INSTALL @@ -0,0 +1,3 @@ + +See README.md for installation instructions. + diff --git a/README.md b/README.md index 7fcf67653a..98cce74ae4 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,9 @@ Building on Unix with `git`, `gcc` and `autotools` Home page for json-c: https://github.com/json-c/json-c/wiki -Prerequisites: +### Prerequisites: + +See also the "Installing prerequisites" section below. - `gcc`, `clang`, or another C compiler - `libtool>=2.2.6b` @@ -26,6 +28,8 @@ If you're not using a release tarball, you'll also need: Make sure you have a complete `libtool` install, including `libtoolize`. +### Build instructions: + `json-c` GitHub repo: https://github.com/json-c/json-c ```sh @@ -66,3 +70,52 @@ JSON_C_DIR=/path/to/json_c/install CFLAGS += -I$(JSON_C_DIR)/include/json-c LDFLAGS+= -L$(JSON_C_DIR)/lib -ljson-c ``` + + +Install prerequisites +----------------------- + +If you are on a relatively modern system, you'll likely be able to install +the prerequisites using your OS's packaging system. + +### Install using apt (e.g. Ubuntu 16.04.2 LTS) +```sh +sudo apt install git +sudo apt install autoconf automake libtool +sudo apt install valgrind # optional +``` + +Then start from the "git clone" command, above. + +### Manually install and build autoconf, automake and libtool + +For older OS's that don't have up-to-date version of the packages will +require a bit more work. For example, CentOS release 5.11, etc... + +```sh +curl -O http://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz +curl -O http://ftp.gnu.org/gnu/automake/automake-1.15.tar.gz +curl -O http://ftp.gnu.org/gnu/libtool/libtool-2.2.6b.tar.gz + +tar xzf autoconf-2.69.tar.gz +tar xzf automake-1.15.tar.gz +tar xzf libtool-2.2.6b.tar.gz + +export PATH=${HOME}/ac_install/bin:$PATH + +(cd autoconf-2.69 && \ + ./configure --prefix ${HOME}/ac_install && \ + make && \ + make install) + +(cd automake-1.15 && \ + ./configure --prefix ${HOME}/ac_install && \ + make && \ + make install) + +(cd libtool-2.2.6b && \ + ./configure --prefix ${HOME}/ac_install && \ + make && \ + make install) +``` +