summaryrefslogtreecommitdiff
path: root/INSTALL
blob: 7f6d50b7b463337baddbd6ec1f414ed45925fba1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
Building on Linux
-----------------

Archlinux
---------

Install the following packages from the official repos or build them
from the AUR:
  * gengetopt
  * confuse
  * nanomsg
  * json-c
  * libdaemon
  * libmicrohttpd

Centos 7
--------

Install the following packages from the official repos or from EPEL:
  * gengetopt (EPEL)
  * libconfuse and libconfuse-devel (EPEL)
  * json-c and json-c-devel
  * libdaemon and libdaemon-devel

nanomsg you have to build on your own.

Fedora 20
---------

Install the following packages from the official repos:
  * gengetopt
  * libconfuse and libconfuse-devel
  * json-c and json-c-devel
  * libdaemon and libdaemon-devel

nanomsg you have to build on your own.

Ubuntu 14.04
------------

Install the following packages from the official repos:
  * gengetopt
  * libconfuse0 and libconfuse-dev
  * libjson-c2 and libjson-c-dev
  * libdaemon0 and libdaemon-dev
  * libmicrohttpd and libmicrohttpd-dev

nanomsg you have to build on your own.

Building on FreeBSD
-------------------

FreeBSD 10
----------

Install the following packages via 'pkg install' (pkgng) or via ports:

  * gengetopt
  * libconfuse
  * json-c
  * nanomsg
  * libdaemon
  * libmicrohttpd
 
NetBSD 6
--------

Install the following packages via 'pkgin install':

  * gengetopt
  * libconfuse  
  * json-c
  * libdaemon
  * libmicrohttpd

nanomsg you have to build on your own:

  ./configure --prefix=/usr/local
  gmake
  gmake install

Make sure '/usr/pkg/bin' is part of your PATH (for 'pkg-config' to be found).
Make sure '/usr/pkg/lib' and '/usr/local/lib' are part of your
LD_LIBRARY_PATH.

Building on Windows
-------------------

* Any Visual Studio compiler should do fine
* gengetopt: easiest is to install Cygwin and build your own version,
  we just need the gengetopt.exe binary to generate the command line parser.
  Alternatively you can build the *_cmdline.* files on Unix and copy them
  to Windows:
  
    # open a Cygwin shell
    ./configure --prefix=/usr/local/bin
    make
    make install

* confuse:

    # Download the ZIP version
    # Open windows\msvs.net.sln
    # Choose Debug/Release
    # eventually convert the solutions
    # build
    # create layout with bin, lib, include
    # copy dlls into bin, libs into lib, *.h into include
    
    
* pthreads-win32: for pthread emulation on Windows

    # open a Visual Studio Command line
    nmake clean vc-inlined-debug

* nanomsg:

    # Install cmake for Windows
    # open a Visual Studio Command line
    C:\Program Files\CMake\bin\cmake.exe .
    # Open nanomsg.sln
    # Choose Debug/Release
    # Build the solution
    # create layout with bin, lib, include
    # copy dlls into bin, libs into lib, *.h into include

* json-c:

    # Use local fork of json-c for Windows in 3rdParty/json-c
    # Open windows\json-c.sln
    # Choose Debug/Release
    # build
    # copy *.h to Include\json-c directory
    # copy static *.lib from windows to lib

* glib2

    # Get the GTK+ 3.x all in one package, building glib by hand is
      not so easy on Windows
        
* biruda

    # open a Visual Studio Command line
    set PATH=%PATH%;c:\cygwin\bin
    nmake /f NMakefile