Skip to content

Commit

Permalink
Issue json-c#308: improve the build instructions in README.md to incl…
Browse files Browse the repository at this point in the history
…ude the exact commands to run for installing prerequisites, as mentioned earlier on Issue json-c#308.
  • Loading branch information
hawicz committed Jul 9, 2017
1 parent fd9b3b2 commit 5e33dab
Show file tree
Hide file tree
Showing 3 changed files with 57 additions and 2 deletions.
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,6 @@
*.dmg
*.ipa

/INSTALL
.deps/
.libs/
/aclocal.m4
Expand Down
3 changes: 3 additions & 0 deletions INSTALL
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@

See README.md for installation instructions.

55 changes: 54 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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`
Expand All @@ -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
Expand Down Expand Up @@ -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)
```

0 comments on commit 5e33dab

Please sign in to comment.