File: README

package info (click to toggle)
resiprocate 1.8.5-4
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 34,032 kB
  • sloc: cpp: 178,338; xml: 12,586; sh: 10,897; ansic: 6,289; makefile: 2,041; php: 1,131; python: 233; sql: 94; objc: 91; perl: 21; csh: 5
file content (87 lines) | stat: -rw-r--r-- 2,862 bytes parent folder | download
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
 The reSIProcate build system is derived from the VOCAL build system (http://www.vovida.org). 

Adding New Files to a module
----------------------------

Example: Adding a new file Foo.cxx to the stack

1) Edit resip/stack/Makefile
2) Add Foo.cxx to the SRC list

Example: Adding a new file Bar.cxx to rutil
1) Edit rutil/Makefile
2) Add Bar.cxx to the SRC list

Notes: 
- All files noted in SRC list will be added to the target library
- Adding a new header file does not need to be noted in the Makefile
- To add something to the compile line add to CXXFLAGS. 
e.g. CXXFLAGS += -DMYSPECIALDEFINE
- To add something to the link line add to LDFLAGS and/or LDLIBS
e.g. LDFLAGS += -L/usr/local/myspeciallibdir
e.g. LDLIBS += -lmyspeciallib

Creating an application based on the stack: 

Option 1:  (Using the resip build system)
For example applications using the resip build system look at resip/stack/test or at repro.

###########################################################################################
# Create a Makefile in the directory with the units with the following template
# This should be the path to the build directory of resip (in the sip subdirectory)
BUILD = ../../build   

# Includes macros
include $(BUILD)/Makefile.pre

# Add any options that need to be passed to the C++ compiler here
#CXXFLAGS += -DMYSPECIALDEFINE

# Add any options that need to be passed to the C compiler here
#CFLAGS += -DMYOTHERDEFINE

# Add any options that need to be passed to the linker here
#LDFLAGS += -L/usr/local/mydir

# Add any libraries that need to be passed to the linker here
#LDLIBS += -lmylib

# All of these packages are prerequisites for resiprocate
PACKAGES += RESIP RUTIL OPENSSL ARES PTHREAD

# Add an entry to TESTPROGRAMS for each target that has a main in it
# On linux this will generate an executable in bin.debug.Linux.i686/main
TESTPROGRAMS += main.cxx

# Add each of the C++ or C files that other than the main
# Each main target (from TESTPROGRAMS) will be linked with all of the files in SRC
SRC = 		TestSupport.cxx

# Includes macros
include $(BUILD)/Makefile.post
###########################################################################################

Option 2: (Using a third party build system)

Prerequisites: 
- Install ares library from contrib/ares 
  - cd contrib/ares
  - ./configure
  - make
  - make install

Pass the following flags to C++ compiler: 
Assumptions: 
- have pthreads
- have openssl installed
- have ares installed
- resiprocate library is built and installed

# Linux Example
CXXFLAGS += -Wall -fPIC -Wno-deprecated -march=i686 \
            -D_REENTRANT -DUSE_SSL -DNEW_MSG_HEADER_SCANNER -DUSE_IPV6 -DUSE_ARES \
            -I/usr/kerberos/include -I$(RESIP_DIR)/lib.debug.Linux.i686 
LDFLAGS += -L$(RESIP_DIR)/lib.debug.Linux.i686 
LDLIBS += -lresip -lrutil -lssl -lcrypto -lares -lpthread