and added files
[bcm963xx.git] / userapps / opensource / siproxd / doc / FLI4L_HOWTO.txt
1 compiling siproxd for FLI4L
2 ===========================
3
4 2.0.x (libc5 based):
5
6    1) LIBOSIP
7    On an libc5 system (eg SUSE 5.3), first build and install
8    libosip. Probably you get an error when building in file
9    parser/port_misc.c, telling you about a non existing include
10    file sys/unistd.h. To fix this, simply edit the .c file and
11    replace the erroneous include statement to include <unistd.h>
12    instead of <sys/unistd.h>
13    $ ./configure
14    $ make 
15    $ make install
16    
17    2) SIPROXD
18    Delete the config.cache file.
19    Configure siproxd:
20    $ ./configure --enable-almost-static
21    This will build siproxd statically linked against libosib, 
22    pthreads and dynamically against libc. Then
23    $ make
24    
25
26
27
28
29 2.1.x (uClibc based):
30    Prerequisite: uClibc development enviroment installed
31
32
33    1) LIBOSIP
34    Does not build very smoothly and properly. However, to link siproxd
35    STATICALLY against libosip this procedure might work.
36    Apply same fix to port_misc as described above.
37    Apply the following path to configure.in
38 ---snipp---
39 --- configure.in.orig   Sat Jun 15 02:26:59 2002
40 +++ configure.in        Sun Mar 23 01:44:12 2003
41 @@ -52,6 +52,38 @@
42  
43  dnl declare --enable-* args and collect ac_help strings
44  
45 +dnl&&&&&&&&&&&&&&&&&&
46 +dnl
47 +dnl  uClib support (only available on Linux, yet)
48 +dnl
49 +uclib_path="/usr/i386-linux-uclibc/"
50 +AC_MSG_CHECKING("uClib path")
51 +AC_ARG_WITH(uclib-path,
52 +   [  --with-uclib-path=DIR       directory to uClib development],
53 +   uclib_path="$withval" )
54 +AC_MSG_RESULT($uclib_path)
55 +
56 +AC_MSG_CHECKING("build against uClib")
57 +AC_ARG_ENABLE(uclib,
58 +   [  --enable-uclib              build against a uClib],
59 +   build_uclib=$enableval,
60 +   build_uclib="no")
61 +AC_MSG_RESULT($build_uclib)
62 +
63 +
64 +if test "x$build_uclib" = "xyes"; then
65 +
66 +dnl   export PATH=$uclib_path/bin:$PATH
67 +dnl   export UCLIBC_DEVEL_PREFIX=$uclib_path
68 +
69 +   CC=$uclib_path/bin/i386-uclibc-gcc
70 +   LDD=$uclib_path/bin/i386-uclibc-ldd
71 +   LD=$uclib_path/bin/i386-uclibc-ld
72 +   CPPFLAGS=" -I $uclib_path/include/ $CPPFLAGS"
73 +   LIBS="-L  $uclib_path/lib/ $LIBS"
74 +fi
75 +dnl&&&&&&&&&&&&&&&&&&
76 +
77  AC_ARG_ENABLE(debug,
78  [  --disable-debug         turn off debugging.],
79  disable_debug=$enableval,disable_debug="yes")
80 ---snipp---
81
82    Create new ./configure script
83    $ aclocal -I scripts/
84    $ autoconf
85
86    Configure and build libosip:
87    $ ./configure --prefix=<libosip_install_prefix>
88      --with-uclib-path=<path_to_your/usr/i386-linux-uclibc>
89      --enable-uclib
90    $ make -i clean
91    $ make -i
92    $ make -i install
93    
94    Ignore any compile errors!
95    
96    (This is just a very dirty hack to get libosip half way built)
97    
98    2) SIPROXD
99    Delete the config.cache file.
100    Configure siproxd:
101    $ ./configure --with-uclibc-path=<path_to_your/usr/i386-linux-uclibc>
102      --enable-uclibc --with-extra-includes=<libosip_install_prefix>/include
103      --with-extra-libs=<libosip_install_prefix>/lib --enable-almost-static
104    This will build siproxd statically linked against libosib and
105    dynamically linked against uClibc.
106    $ make
107
108    "$ ldd src/siproxd" reports:
109    libpthread.so.0 => <path_to/i386-linux-uclibc>/lib/libpthread.so.0
110    libc.so.0 => <path_to/i386-linux-uclibc>/lib/libc.so.0
111    ld-uClibc.so.0 => <path_to/i386-linux-uclibc>/lib/ld-uClibc.so.0
112
113    Does Flifl 2.1.x include the full uClibc dynamic libraries (especially
114    the pthreads.so)?