]> granicus.if.org Git - json-c/commitdiff
Issue #308: improve the build instructions in README.md to include the exact commands...
authorEric Haszlakiewicz <erh+git@nimenees.com>
Sun, 9 Jul 2017 02:35:06 +0000 (19:35 -0700)
committerEric Haszlakiewicz <erh+git@nimenees.com>
Sun, 9 Jul 2017 02:35:06 +0000 (19:35 -0700)
.gitignore
INSTALL [new file with mode: 0644]
README.md

index 0a788b682af3b2f038787ea1905951a6099bdff3..f0f555e1076f8075b533164fae939042c69bbc1b 100644 (file)
@@ -72,7 +72,6 @@
 *.dmg
 *.ipa
 
-/INSTALL
 .deps/
 .libs/
 /aclocal.m4
diff --git a/INSTALL b/INSTALL
new file mode 100644 (file)
index 0000000..5fb10a0
--- /dev/null
+++ b/INSTALL
@@ -0,0 +1,3 @@
+
+See README.md for installation instructions.
+
index 7fcf67653ac98c62ac60a3df7b55f50dd95909b7..98cce74ae48e9dbce7e91d9ba526fe0b525c41a2 100644 (file)
--- 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)
+```
+