89 lines
2.8 KiB
Plaintext
89 lines
2.8 KiB
Plaintext
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
|
|
|
|
|