mirror of
https://github.com/signalwire/freeswitch.git
synced 2025-04-16 16:58:35 +00:00
a stunning new change
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1036 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
parent
13c4c60260
commit
4fa64dd6d2
@ -63,7 +63,8 @@ src/include/switch_sqlite.h\
|
||||
src/include/switch_types.h\
|
||||
src/include/switch_utils.h\
|
||||
src/include/switch_version.h\
|
||||
src/inclide/switch_rtp.h\
|
||||
src/include/switch_rtp.h\
|
||||
src/include/switch_stun.h\
|
||||
src/switch_rtp.c\
|
||||
src/switch_buffer.c \
|
||||
src/switch_caller.c \
|
||||
@ -75,7 +76,8 @@ src/switch_loadable_module.c \
|
||||
src/switch_utils.c \
|
||||
src/switch_event.c \
|
||||
src/switch_resample.c \
|
||||
src/switch_ivr.c
|
||||
src/switch_ivr.c \
|
||||
src/switch_stun.c
|
||||
|
||||
|
||||
|
||||
@ -103,7 +105,8 @@ src/include/switch_sqlite.h\
|
||||
src/include/switch_types.h\
|
||||
src/include/switch_utils.h\
|
||||
src/include/switch_rtp.h\
|
||||
src/include/switch_version.h
|
||||
src/include/switch_version.h\
|
||||
src/include/switch_stun.h
|
||||
|
||||
BUILT_SOURCES = version depends
|
||||
CLEANFILES = src/include/switch_version.h
|
||||
|
19
Makefile.in
19
Makefile.in
@ -83,7 +83,7 @@ am_libfreeswitch_la_OBJECTS = libfreeswitch_la-switch_rtp.lo \
|
||||
libfreeswitch_la-switch_utils.lo \
|
||||
libfreeswitch_la-switch_event.lo \
|
||||
libfreeswitch_la-switch_resample.lo \
|
||||
libfreeswitch_la-switch_ivr.lo
|
||||
libfreeswitch_la-switch_ivr.lo libfreeswitch_la-switch_stun.lo
|
||||
nodist_libfreeswitch_la_OBJECTS =
|
||||
libfreeswitch_la_OBJECTS = $(am_libfreeswitch_la_OBJECTS) \
|
||||
$(nodist_libfreeswitch_la_OBJECTS)
|
||||
@ -280,7 +280,8 @@ src/include/switch_sqlite.h\
|
||||
src/include/switch_types.h\
|
||||
src/include/switch_utils.h\
|
||||
src/include/switch_version.h\
|
||||
src/inclide/switch_rtp.h\
|
||||
src/include/switch_rtp.h\
|
||||
src/include/switch_stun.h\
|
||||
src/switch_rtp.c\
|
||||
src/switch_buffer.c \
|
||||
src/switch_caller.c \
|
||||
@ -292,7 +293,8 @@ src/switch_loadable_module.c \
|
||||
src/switch_utils.c \
|
||||
src/switch_event.c \
|
||||
src/switch_resample.c \
|
||||
src/switch_ivr.c
|
||||
src/switch_ivr.c \
|
||||
src/switch_stun.c
|
||||
|
||||
|
||||
#bindir = $(PREFIX)/bin
|
||||
@ -319,7 +321,8 @@ src/include/switch_sqlite.h\
|
||||
src/include/switch_types.h\
|
||||
src/include/switch_utils.h\
|
||||
src/include/switch_rtp.h\
|
||||
src/include/switch_version.h
|
||||
src/include/switch_version.h\
|
||||
src/include/switch_stun.h
|
||||
|
||||
BUILT_SOURCES = version depends
|
||||
CLEANFILES = src/include/switch_version.h
|
||||
@ -469,6 +472,7 @@ distclean-compile:
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libfreeswitch_la-switch_loadable_module.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libfreeswitch_la-switch_resample.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libfreeswitch_la-switch_rtp.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libfreeswitch_la-switch_stun.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libfreeswitch_la-switch_utils.Plo@am__quote@
|
||||
|
||||
.c.o:
|
||||
@ -576,6 +580,13 @@ libfreeswitch_la-switch_ivr.lo: src/switch_ivr.c
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfreeswitch_la_CFLAGS) $(CFLAGS) -c -o libfreeswitch_la-switch_ivr.lo `test -f 'src/switch_ivr.c' || echo '$(srcdir)/'`src/switch_ivr.c
|
||||
|
||||
libfreeswitch_la-switch_stun.lo: src/switch_stun.c
|
||||
@am__fastdepCC_TRUE@ if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfreeswitch_la_CFLAGS) $(CFLAGS) -MT libfreeswitch_la-switch_stun.lo -MD -MP -MF "$(DEPDIR)/libfreeswitch_la-switch_stun.Tpo" -c -o libfreeswitch_la-switch_stun.lo `test -f 'src/switch_stun.c' || echo '$(srcdir)/'`src/switch_stun.c; \
|
||||
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libfreeswitch_la-switch_stun.Tpo" "$(DEPDIR)/libfreeswitch_la-switch_stun.Plo"; else rm -f "$(DEPDIR)/libfreeswitch_la-switch_stun.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='src/switch_stun.c' object='libfreeswitch_la-switch_stun.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfreeswitch_la_CFLAGS) $(CFLAGS) -c -o libfreeswitch_la-switch_stun.lo `test -f 'src/switch_stun.c' || echo '$(srcdir)/'`src/switch_stun.c
|
||||
|
||||
freeswitch-switch.o: src/switch.c
|
||||
@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(freeswitch_CFLAGS) $(CFLAGS) -MT freeswitch-switch.o -MD -MP -MF "$(DEPDIR)/freeswitch-switch.Tpo" -c -o freeswitch-switch.o `test -f 'src/switch.c' || echo '$(srcdir)/'`src/switch.c; \
|
||||
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/freeswitch-switch.Tpo" "$(DEPDIR)/freeswitch-switch.Po"; else rm -f "$(DEPDIR)/freeswitch-switch.Tpo"; exit 1; fi
|
||||
|
172
aclocal.m4
vendored
172
aclocal.m4
vendored
@ -143,7 +143,7 @@ rm="rm -f"
|
||||
default_ofile=libtool
|
||||
can_build_shared=yes
|
||||
|
||||
# All known linkers require a `.a' archive for static linking (except MSVC,
|
||||
# All known linkers require a `.a' archive for static linking (except M$VC,
|
||||
# which needs '.lib').
|
||||
libext=a
|
||||
ltmain="$ac_aux_dir/ltmain.sh"
|
||||
@ -359,8 +359,8 @@ if test "X${echo_test_string+set}" != Xset; then
|
||||
# find a string as large as possible, as long as the shell can cope with it
|
||||
for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do
|
||||
# expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
|
||||
if (echo_test_string=`eval $cmd`) 2>/dev/null &&
|
||||
echo_test_string=`eval $cmd` &&
|
||||
if (echo_test_string="`eval $cmd`") 2>/dev/null &&
|
||||
echo_test_string="`eval $cmd`" &&
|
||||
(test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null
|
||||
then
|
||||
break
|
||||
@ -529,7 +529,7 @@ x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*)
|
||||
# Find out which ABI we are using.
|
||||
echo 'int i;' > conftest.$ac_ext
|
||||
if AC_TRY_EVAL(ac_compile); then
|
||||
case `/usr/bin/file conftest.o` in
|
||||
case "`/usr/bin/file conftest.o`" in
|
||||
*32-bit*)
|
||||
case $host in
|
||||
x86_64-*linux*)
|
||||
@ -611,7 +611,7 @@ AC_CACHE_CHECK([$1], [$2],
|
||||
# with a dollar sign (not a hyphen), so the echo should work correctly.
|
||||
# The option is referenced via a variable to avoid confusing sed.
|
||||
lt_compile=`echo "$ac_compile" | $SED \
|
||||
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
|
||||
-e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
|
||||
-e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
|
||||
-e 's:$: $lt_compiler_flag:'`
|
||||
(eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
|
||||
@ -650,7 +650,7 @@ AC_DEFUN([AC_LIBTOOL_LINKER_OPTION],
|
||||
LDFLAGS="$LDFLAGS $3"
|
||||
printf "$lt_simple_link_test_code" > conftest.$ac_ext
|
||||
if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
|
||||
# The linker can only warn and ignore the option if not recognized
|
||||
# The compiler can only warn and ignore the option if not recognized
|
||||
# So say no if there are warnings
|
||||
if test -s conftest.err; then
|
||||
# Append any errors to the config.log.
|
||||
@ -725,7 +725,7 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
|
||||
elif test -x /usr/sbin/sysctl; then
|
||||
lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
|
||||
else
|
||||
lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
|
||||
lt_cv_sys_max_cmd_len=65536 # usable default for *BSD
|
||||
fi
|
||||
# And add a safety zone
|
||||
lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
|
||||
@ -737,7 +737,7 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
|
||||
# nice to cause kernel panics so lets avoid the loop below.
|
||||
# First set a reasonable default.
|
||||
lt_cv_sys_max_cmd_len=16384
|
||||
#
|
||||
#
|
||||
if test -x /sbin/sysconfig; then
|
||||
case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
|
||||
*1*) lt_cv_sys_max_cmd_len=-1 ;;
|
||||
@ -854,7 +854,7 @@ int main ()
|
||||
}]
|
||||
EOF
|
||||
if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
|
||||
(./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
|
||||
(./conftest; exit; ) 2>/dev/null
|
||||
lt_status=$?
|
||||
case x$lt_status in
|
||||
x$lt_dlno_uscore) $1 ;;
|
||||
@ -1003,7 +1003,7 @@ AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
|
||||
# Note that $ac_compile itself does not contain backslashes and begins
|
||||
# with a dollar sign (not a hyphen), so the echo should work correctly.
|
||||
lt_compile=`echo "$ac_compile" | $SED \
|
||||
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
|
||||
-e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
|
||||
-e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
|
||||
-e 's:$: $lt_compiler_flag:'`
|
||||
(eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
|
||||
@ -1021,7 +1021,7 @@ AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
|
||||
_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
|
||||
fi
|
||||
fi
|
||||
chmod u+w . 2>&AS_MESSAGE_LOG_FD
|
||||
chmod u+w .
|
||||
$rm conftest*
|
||||
# SGI C++ compiler will create directory out/ii_files/ for
|
||||
# template instantiation
|
||||
@ -1281,8 +1281,7 @@ cygwin* | mingw* | pw32*)
|
||||
dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
|
||||
dldir=$destdir/`dirname \$dlpath`~
|
||||
test -d \$dldir || mkdir -p \$dldir~
|
||||
$install_prog $dir/$dlname \$dldir/$dlname~
|
||||
chmod a+x \$dldir/$dlname'
|
||||
$install_prog $dir/$dlname \$dldir/$dlname'
|
||||
postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
|
||||
dlpath=$dir/\$dldll~
|
||||
$rm \$dlpath'
|
||||
@ -1335,7 +1334,7 @@ darwin* | rhapsody*)
|
||||
soname_spec='${libname}${release}${major}$shared_ext'
|
||||
shlibpath_overrides_runpath=yes
|
||||
shlibpath_var=DYLD_LIBRARY_PATH
|
||||
shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
|
||||
shrext_cmds='$(test .$module = .yes && echo .so || echo .dylib)'
|
||||
# Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
|
||||
if test "$GCC" = yes; then
|
||||
sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
|
||||
@ -1373,14 +1372,7 @@ kfreebsd*-gnu)
|
||||
freebsd* | dragonfly*)
|
||||
# DragonFly does not have aout. When/if they implement a new
|
||||
# versioning mechanism, adjust this.
|
||||
if test -x /usr/bin/objformat; then
|
||||
objformat=`/usr/bin/objformat`
|
||||
else
|
||||
case $host_os in
|
||||
freebsd[[123]]*) objformat=aout ;;
|
||||
*) objformat=elf ;;
|
||||
esac
|
||||
fi
|
||||
objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout`
|
||||
version_type=freebsd-$objformat
|
||||
case $version_type in
|
||||
freebsd-elf*)
|
||||
@ -1425,7 +1417,7 @@ hpux9* | hpux10* | hpux11*)
|
||||
version_type=sunos
|
||||
need_lib_prefix=no
|
||||
need_version=no
|
||||
case $host_cpu in
|
||||
case "$host_cpu" in
|
||||
ia64*)
|
||||
shrext_cmds='.so'
|
||||
hardcode_into_libs=yes
|
||||
@ -1821,7 +1813,7 @@ AC_DEFUN([AC_LIBTOOL_DLOPEN],
|
||||
|
||||
# AC_LIBTOOL_WIN32_DLL
|
||||
# --------------------
|
||||
# declare package support for building win32 DLLs
|
||||
# declare package support for building win32 dll's
|
||||
AC_DEFUN([AC_LIBTOOL_WIN32_DLL],
|
||||
[AC_BEFORE([$0], [AC_LIBTOOL_SETUP])
|
||||
])# AC_LIBTOOL_WIN32_DLL
|
||||
@ -1995,7 +1987,7 @@ dnl not every word. This closes a longstanding sh security hole.
|
||||
if test -n "$file_magic_test_file"; then
|
||||
case $deplibs_check_method in
|
||||
"file_magic "*)
|
||||
file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
|
||||
file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`"
|
||||
MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
|
||||
if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
|
||||
$EGREP "$file_magic_regex" > /dev/null; then
|
||||
@ -2105,7 +2097,7 @@ AC_CACHE_VAL(lt_cv_path_LD,
|
||||
if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
|
||||
lt_cv_path_LD="$ac_dir/$ac_prog"
|
||||
# Check to see if the program is GNU ld. I'd rather use --version,
|
||||
# but apparently some variants of GNU ld only accept -v.
|
||||
# but apparently some GNU ld's only accept -v.
|
||||
# Break only if it was the GNU/non-GNU ld that we prefer.
|
||||
case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
|
||||
*GNU* | *'with BFD'*)
|
||||
@ -2137,7 +2129,7 @@ AC_PROG_LD_GNU
|
||||
AC_DEFUN([AC_PROG_LD_GNU],
|
||||
[AC_REQUIRE([AC_PROG_EGREP])dnl
|
||||
AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
|
||||
[# I'd rather use --version here, but apparently some GNU lds only accept -v.
|
||||
[# I'd rather use --version here, but apparently some GNU ld's only accept -v.
|
||||
case `$LD -v 2>&1 </dev/null` in
|
||||
*GNU* | *'with BFD'*)
|
||||
lt_cv_prog_gnu_ld=yes
|
||||
@ -2251,7 +2243,7 @@ gnu*)
|
||||
|
||||
hpux10.20* | hpux11*)
|
||||
lt_cv_file_magic_cmd=/usr/bin/file
|
||||
case $host_cpu in
|
||||
case "$host_cpu" in
|
||||
ia64*)
|
||||
lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
|
||||
lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
|
||||
@ -2425,13 +2417,13 @@ esac
|
||||
# -----------------------------------
|
||||
# sets LIBLTDL to the link flags for the libltdl convenience library and
|
||||
# LTDLINCL to the include flags for the libltdl header and adds
|
||||
# --enable-ltdl-convenience to the configure arguments. Note that
|
||||
# AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided,
|
||||
# it is assumed to be `libltdl'. LIBLTDL will be prefixed with
|
||||
# '${top_builddir}/' and LTDLINCL will be prefixed with '${top_srcdir}/'
|
||||
# (note the single quotes!). If your package is not flat and you're not
|
||||
# using automake, define top_builddir and top_srcdir appropriately in
|
||||
# the Makefiles.
|
||||
# --enable-ltdl-convenience to the configure arguments. Note that LIBLTDL
|
||||
# and LTDLINCL are not AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called. If
|
||||
# DIRECTORY is not provided, it is assumed to be `libltdl'. LIBLTDL will
|
||||
# be prefixed with '${top_builddir}/' and LTDLINCL will be prefixed with
|
||||
# '${top_srcdir}/' (note the single quotes!). If your package is not
|
||||
# flat and you're not using automake, define top_builddir and
|
||||
# top_srcdir appropriately in the Makefiles.
|
||||
AC_DEFUN([AC_LIBLTDL_CONVENIENCE],
|
||||
[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
|
||||
case $enable_ltdl_convenience in
|
||||
@ -2450,13 +2442,13 @@ AC_DEFUN([AC_LIBLTDL_CONVENIENCE],
|
||||
# -----------------------------------
|
||||
# sets LIBLTDL to the link flags for the libltdl installable library and
|
||||
# LTDLINCL to the include flags for the libltdl header and adds
|
||||
# --enable-ltdl-install to the configure arguments. Note that
|
||||
# AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided,
|
||||
# and an installed libltdl is not found, it is assumed to be `libltdl'.
|
||||
# LIBLTDL will be prefixed with '${top_builddir}/'# and LTDLINCL with
|
||||
# '${top_srcdir}/' (note the single quotes!). If your package is not
|
||||
# flat and you're not using automake, define top_builddir and top_srcdir
|
||||
# appropriately in the Makefiles.
|
||||
# --enable-ltdl-install to the configure arguments. Note that LIBLTDL
|
||||
# and LTDLINCL are not AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called. If
|
||||
# DIRECTORY is not provided and an installed libltdl is not found, it is
|
||||
# assumed to be `libltdl'. LIBLTDL will be prefixed with '${top_builddir}/'
|
||||
# and LTDLINCL will be prefixed with '${top_srcdir}/' (note the single
|
||||
# quotes!). If your package is not flat and you're not using automake,
|
||||
# define top_builddir and top_srcdir appropriately in the Makefiles.
|
||||
# In the future, this macro may have to be called after AC_PROG_LIBTOOL.
|
||||
AC_DEFUN([AC_LIBLTDL_INSTALLABLE],
|
||||
[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
|
||||
@ -2635,7 +2627,7 @@ test "$can_build_shared" = "no" && enable_shared=no
|
||||
|
||||
# On AIX, shared libraries and static libraries use the same namespace, and
|
||||
# are all built from PIC.
|
||||
case $host_os in
|
||||
case "$host_os" in
|
||||
aix3*)
|
||||
test "$enable_shared" = yes && enable_static=no
|
||||
if test -n "$RANLIB"; then
|
||||
@ -2702,7 +2694,7 @@ _LT_AC_TAGVAR(postdeps, $1)=
|
||||
_LT_AC_TAGVAR(compiler_lib_search_path, $1)=
|
||||
|
||||
# Source file extension for C++ test sources.
|
||||
ac_ext=cpp
|
||||
ac_ext=cc
|
||||
|
||||
# Object file extension for compiled C++ test sources.
|
||||
objext=o
|
||||
@ -2918,7 +2910,7 @@ case $host_os in
|
||||
# Exported symbols can be pulled into shared objects from archives
|
||||
_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=' '
|
||||
_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
|
||||
# This is similar to how AIX traditionally builds its shared libraries.
|
||||
# This is similar to how AIX traditionally builds it's shared libraries.
|
||||
_LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
|
||||
fi
|
||||
fi
|
||||
@ -2957,7 +2949,7 @@ case $host_os in
|
||||
fi
|
||||
;;
|
||||
darwin* | rhapsody*)
|
||||
case $host_os in
|
||||
case "$host_os" in
|
||||
rhapsody* | darwin1.[[012]])
|
||||
_LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress'
|
||||
;;
|
||||
@ -2995,7 +2987,7 @@ case $host_os in
|
||||
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
|
||||
fi
|
||||
_LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
|
||||
# Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
|
||||
# Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
|
||||
if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
|
||||
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
|
||||
else
|
||||
@ -3008,7 +3000,7 @@ case $host_os in
|
||||
output_verbose_link_cmd='echo'
|
||||
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
|
||||
_LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
|
||||
# Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
|
||||
# Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
|
||||
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
|
||||
_LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
|
||||
;;
|
||||
@ -3088,7 +3080,7 @@ case $host_os in
|
||||
;;
|
||||
hpux10*|hpux11*)
|
||||
if test $with_gnu_ld = no; then
|
||||
case $host_cpu in
|
||||
case "$host_cpu" in
|
||||
hppa*64*)
|
||||
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
|
||||
_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
|
||||
@ -3104,7 +3096,7 @@ case $host_os in
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
case $host_cpu in
|
||||
case "$host_cpu" in
|
||||
hppa*64*)
|
||||
_LT_AC_TAGVAR(hardcode_direct, $1)=no
|
||||
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
|
||||
@ -3130,7 +3122,7 @@ case $host_os in
|
||||
_LT_AC_TAGVAR(ld_shlibs, $1)=no
|
||||
;;
|
||||
aCC*)
|
||||
case $host_cpu in
|
||||
case "$host_cpu" in
|
||||
hppa*64*|ia64*)
|
||||
_LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs'
|
||||
;;
|
||||
@ -3151,7 +3143,7 @@ case $host_os in
|
||||
*)
|
||||
if test "$GXX" = yes; then
|
||||
if test $with_gnu_ld = no; then
|
||||
case $host_cpu in
|
||||
case "$host_cpu" in
|
||||
ia64*|hppa*64*)
|
||||
_LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs'
|
||||
;;
|
||||
@ -3252,7 +3244,7 @@ case $host_os in
|
||||
|
||||
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
|
||||
_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
|
||||
_LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
|
||||
_LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive,`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
|
||||
;;
|
||||
cxx*)
|
||||
# Compaq C++
|
||||
@ -3484,11 +3476,10 @@ case $host_os in
|
||||
case $cc_basename in
|
||||
CC*)
|
||||
# Sun C++ 4.2, 5.x and Centerline C++
|
||||
_LT_AC_TAGVAR(archive_cmds_need_lc,$1)=yes
|
||||
_LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs'
|
||||
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
|
||||
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -nolib -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
|
||||
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
|
||||
$CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
|
||||
$CC -G${allow_undefined_flag} -nolib ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
|
||||
|
||||
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
|
||||
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
|
||||
@ -3508,7 +3499,15 @@ case $host_os in
|
||||
esac
|
||||
_LT_AC_TAGVAR(link_all_deplibs, $1)=yes
|
||||
|
||||
output_verbose_link_cmd='echo'
|
||||
# Commands to make compiler produce verbose output that lists
|
||||
# what "hidden" libraries, object files and flags are used when
|
||||
# linking a shared library.
|
||||
#
|
||||
# There doesn't appear to be a way to prevent this compiler from
|
||||
# explicitly linking system object files so we need to strip them
|
||||
# from the output so that they don't get included in the library
|
||||
# dependencies.
|
||||
output_verbose_link_cmd='templist=`$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep "\-[[LR]]"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
|
||||
|
||||
# Archives containing C++ object files must be created using
|
||||
# "CC -xar", where "CC" is the Sun C++ compiler. This is
|
||||
@ -3665,7 +3664,7 @@ if AC_TRY_EVAL(ac_compile); then
|
||||
# The `*' in the case matches for architectures that use `case' in
|
||||
# $output_verbose_cmd can trigger glob expansion during the loop
|
||||
# eval without this substitution.
|
||||
output_verbose_link_cmd=`$echo "X$output_verbose_link_cmd" | $Xsed -e "$no_glob_subst"`
|
||||
output_verbose_link_cmd="`$echo \"X$output_verbose_link_cmd\" | $Xsed -e \"$no_glob_subst\"`"
|
||||
|
||||
for p in `eval $output_verbose_link_cmd`; do
|
||||
case $p in
|
||||
@ -3741,21 +3740,6 @@ fi
|
||||
|
||||
$rm -f confest.$objext
|
||||
|
||||
# PORTME: override above test on systems where it is broken
|
||||
ifelse([$1],[CXX],
|
||||
[case $host_os in
|
||||
solaris*)
|
||||
case $cc_basename in
|
||||
CC*)
|
||||
# Adding this requires a known-good setup of shared libraries for
|
||||
# Sun compiler versions before 5.6, else PIC objects from an old
|
||||
# archive will be linked into the output, leading to subtle bugs.
|
||||
_LT_AC_TAGVAR(postdeps,$1)='-lCstd -lCrun'
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
])
|
||||
|
||||
case " $_LT_AC_TAGVAR(postdeps, $1) " in
|
||||
*" -lc "*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ;;
|
||||
esac
|
||||
@ -3825,7 +3809,7 @@ test "$can_build_shared" = "no" && enable_shared=no
|
||||
|
||||
# On AIX, shared libraries and static libraries use the same namespace, and
|
||||
# are all built from PIC.
|
||||
case $host_os in
|
||||
case "$host_os" in
|
||||
aix3*)
|
||||
test "$enable_shared" = yes && enable_static=no
|
||||
if test -n "$RANLIB"; then
|
||||
@ -4724,7 +4708,7 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
|
||||
hpux*)
|
||||
# PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
|
||||
# not for PA HP-UX.
|
||||
case $host_cpu in
|
||||
case "$host_cpu" in
|
||||
hppa*64*|ia64*)
|
||||
;;
|
||||
*)
|
||||
@ -4793,7 +4777,7 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
|
||||
aCC*)
|
||||
_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
|
||||
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive"
|
||||
case $host_cpu in
|
||||
case "$host_cpu" in
|
||||
hppa*64*|ia64*)
|
||||
# +Z the default
|
||||
;;
|
||||
@ -4834,7 +4818,7 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
|
||||
# Portland Group C++ compiler.
|
||||
_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
|
||||
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
|
||||
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
|
||||
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
|
||||
;;
|
||||
cxx*)
|
||||
# Compaq C++
|
||||
@ -4998,7 +4982,7 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
|
||||
hpux*)
|
||||
# PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
|
||||
# not for PA HP-UX.
|
||||
case $host_cpu in
|
||||
case "$host_cpu" in
|
||||
hppa*64*|ia64*)
|
||||
# +Z the default
|
||||
;;
|
||||
@ -5045,7 +5029,7 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
|
||||
_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
|
||||
# PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
|
||||
# not for PA HP-UX.
|
||||
case $host_cpu in
|
||||
case "$host_cpu" in
|
||||
hppa*64*|ia64*)
|
||||
# +Z the default
|
||||
;;
|
||||
@ -5075,12 +5059,12 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
|
||||
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
|
||||
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
|
||||
;;
|
||||
pgcc* | pgf77* | pgf90* | pgf95*)
|
||||
pgcc* | pgf77* | pgf90*)
|
||||
# Portland Group compilers (*not* the Pentium gcc compiler,
|
||||
# which looks to be a dead project)
|
||||
_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
|
||||
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
|
||||
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
|
||||
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
|
||||
;;
|
||||
ccc*)
|
||||
_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
|
||||
@ -5163,7 +5147,7 @@ if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then
|
||||
[_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
|
||||
_LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
|
||||
fi
|
||||
case $host_os in
|
||||
case "$host_os" in
|
||||
# For platforms which do not support PIC, -DPIC is meaningless:
|
||||
*djgpp*)
|
||||
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
|
||||
@ -5259,7 +5243,7 @@ ifelse([$1],[CXX],[
|
||||
if test "$with_gnu_ld" = yes; then
|
||||
# If archive_cmds runs LD, not CC, wlarc should be empty
|
||||
wlarc='${wl}'
|
||||
|
||||
|
||||
# Set some defaults for GNU ld with shared library support. These
|
||||
# are reset later if shared libraries are not supported. Putting them
|
||||
# here allows them to be overridden if necessary.
|
||||
@ -5280,7 +5264,7 @@ ifelse([$1],[CXX],[
|
||||
*\ 2.11.*) ;; # other 2.11 versions
|
||||
*) supports_anon_versioning=yes ;;
|
||||
esac
|
||||
|
||||
|
||||
# See if GNU ld supports shared libraries.
|
||||
case $host_os in
|
||||
aix3* | aix4* | aix5*)
|
||||
@ -5354,11 +5338,11 @@ EOF
|
||||
tmp_addflag=
|
||||
case $cc_basename,$host_cpu in
|
||||
pgcc*) # Portland Group C compiler
|
||||
_LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
|
||||
_LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive,`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
|
||||
tmp_addflag=' $pic_flag'
|
||||
;;
|
||||
pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers
|
||||
_LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
|
||||
pgf77* | pgf90* ) # Portland Group f77 and f90 compilers
|
||||
_LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive,`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
|
||||
tmp_addflag=' $pic_flag -Mnomain' ;;
|
||||
ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
|
||||
tmp_addflag=' -i_dynamic' ;;
|
||||
@ -5564,7 +5548,7 @@ EOF
|
||||
# Exported symbols can be pulled into shared objects from archives
|
||||
_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=' '
|
||||
_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
|
||||
# This is similar to how AIX traditionally builds its shared libraries.
|
||||
# This is similar to how AIX traditionally builds it's shared libraries.
|
||||
_LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
|
||||
fi
|
||||
fi
|
||||
@ -5604,7 +5588,7 @@ EOF
|
||||
;;
|
||||
|
||||
darwin* | rhapsody*)
|
||||
case $host_os in
|
||||
case "$host_os" in
|
||||
rhapsody* | darwin1.[[012]])
|
||||
_LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress'
|
||||
;;
|
||||
@ -5633,7 +5617,7 @@ EOF
|
||||
output_verbose_link_cmd='echo'
|
||||
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
|
||||
_LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
|
||||
# Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
|
||||
# Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
|
||||
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
|
||||
_LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
|
||||
else
|
||||
@ -5642,7 +5626,7 @@ EOF
|
||||
output_verbose_link_cmd='echo'
|
||||
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
|
||||
_LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
|
||||
# Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
|
||||
# Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
|
||||
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
|
||||
_LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
|
||||
;;
|
||||
@ -5708,7 +5692,7 @@ EOF
|
||||
|
||||
hpux10* | hpux11*)
|
||||
if test "$GCC" = yes -a "$with_gnu_ld" = no; then
|
||||
case $host_cpu in
|
||||
case "$host_cpu" in
|
||||
hppa*64*|ia64*)
|
||||
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
|
||||
;;
|
||||
@ -5717,7 +5701,7 @@ EOF
|
||||
;;
|
||||
esac
|
||||
else
|
||||
case $host_cpu in
|
||||
case "$host_cpu" in
|
||||
hppa*64*|ia64*)
|
||||
_LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $libobjs $deplibs $linker_flags'
|
||||
;;
|
||||
@ -5727,7 +5711,7 @@ EOF
|
||||
esac
|
||||
fi
|
||||
if test "$with_gnu_ld" = no; then
|
||||
case $host_cpu in
|
||||
case "$host_cpu" in
|
||||
hppa*64*)
|
||||
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
|
||||
_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
|
||||
|
@ -18,12 +18,12 @@ AM_CFLAGS += $(shell $(APU_CONFIG) --includes)
|
||||
AM_LDFLAGS += $(shell $(APU_CONFIG) --link-ld --libs )
|
||||
|
||||
lib_LTLIBRARIES = libdingaling.la
|
||||
libdingaling_la_SOURCES = src/libdingaling.c src/stun_parser.c
|
||||
libdingaling_la_SOURCES = src/libdingaling.c
|
||||
libdingaling_la_CFLAGS = $(AM_CFLAGS)
|
||||
libdingaling_la_LDFLAGS =
|
||||
|
||||
library_includedir = $(prefix)/include
|
||||
library_include_HEADERS = src/libdingaling.h src/stun_parser.h
|
||||
library_include_HEADERS = src/libdingaling.h
|
||||
|
||||
|
||||
|
||||
|
@ -62,8 +62,7 @@ am__installdirs = "$(DESTDIR)$(libdir)" \
|
||||
libLTLIBRARIES_INSTALL = $(INSTALL)
|
||||
LTLIBRARIES = $(lib_LTLIBRARIES)
|
||||
libdingaling_la_LIBADD =
|
||||
am_libdingaling_la_OBJECTS = libdingaling_la-libdingaling.lo \
|
||||
libdingaling_la-stun_parser.lo
|
||||
am_libdingaling_la_OBJECTS = libdingaling_la-libdingaling.lo
|
||||
libdingaling_la_OBJECTS = $(am_libdingaling_la_OBJECTS)
|
||||
DEFAULT_INCLUDES = -I. -I$(srcdir)
|
||||
depcomp = $(SHELL) $(top_srcdir)/depcomp
|
||||
@ -212,11 +211,11 @@ AM_LDFLAGS = -liksemel -L$(PREFIX)/lib $(shell $(APR_CONFIG) --link-ld \
|
||||
APR_CONFIG = $(prefix)/bin/apr-1-config
|
||||
APU_CONFIG = $(prefix)/bin/apu-1-config
|
||||
lib_LTLIBRARIES = libdingaling.la
|
||||
libdingaling_la_SOURCES = src/libdingaling.c src/stun_parser.c
|
||||
libdingaling_la_SOURCES = src/libdingaling.c
|
||||
libdingaling_la_CFLAGS = $(AM_CFLAGS)
|
||||
libdingaling_la_LDFLAGS =
|
||||
library_includedir = $(prefix)/include
|
||||
library_include_HEADERS = src/libdingaling.h src/stun_parser.h
|
||||
library_include_HEADERS = src/libdingaling.h
|
||||
all: all-recursive
|
||||
|
||||
.SUFFIXES:
|
||||
@ -291,7 +290,6 @@ distclean-compile:
|
||||
-rm -f *.tab.c
|
||||
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdingaling_la-libdingaling.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdingaling_la-stun_parser.Plo@am__quote@
|
||||
|
||||
.c.o:
|
||||
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
|
||||
@ -321,13 +319,6 @@ libdingaling_la-libdingaling.lo: src/libdingaling.c
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdingaling_la_CFLAGS) $(CFLAGS) -c -o libdingaling_la-libdingaling.lo `test -f 'src/libdingaling.c' || echo '$(srcdir)/'`src/libdingaling.c
|
||||
|
||||
libdingaling_la-stun_parser.lo: src/stun_parser.c
|
||||
@am__fastdepCC_TRUE@ if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdingaling_la_CFLAGS) $(CFLAGS) -MT libdingaling_la-stun_parser.lo -MD -MP -MF "$(DEPDIR)/libdingaling_la-stun_parser.Tpo" -c -o libdingaling_la-stun_parser.lo `test -f 'src/stun_parser.c' || echo '$(srcdir)/'`src/stun_parser.c; \
|
||||
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdingaling_la-stun_parser.Tpo" "$(DEPDIR)/libdingaling_la-stun_parser.Plo"; else rm -f "$(DEPDIR)/libdingaling_la-stun_parser.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='src/stun_parser.c' object='libdingaling_la-stun_parser.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdingaling_la_CFLAGS) $(CFLAGS) -c -o libdingaling_la-stun_parser.lo `test -f 'src/stun_parser.c' || echo '$(srcdir)/'`src/stun_parser.c
|
||||
|
||||
mostlyclean-libtool:
|
||||
-rm -f *.lo
|
||||
|
||||
|
172
libs/libdingaling/aclocal.m4
vendored
172
libs/libdingaling/aclocal.m4
vendored
@ -143,7 +143,7 @@ rm="rm -f"
|
||||
default_ofile=libtool
|
||||
can_build_shared=yes
|
||||
|
||||
# All known linkers require a `.a' archive for static linking (except MSVC,
|
||||
# All known linkers require a `.a' archive for static linking (except M$VC,
|
||||
# which needs '.lib').
|
||||
libext=a
|
||||
ltmain="$ac_aux_dir/ltmain.sh"
|
||||
@ -359,8 +359,8 @@ if test "X${echo_test_string+set}" != Xset; then
|
||||
# find a string as large as possible, as long as the shell can cope with it
|
||||
for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do
|
||||
# expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
|
||||
if (echo_test_string=`eval $cmd`) 2>/dev/null &&
|
||||
echo_test_string=`eval $cmd` &&
|
||||
if (echo_test_string="`eval $cmd`") 2>/dev/null &&
|
||||
echo_test_string="`eval $cmd`" &&
|
||||
(test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null
|
||||
then
|
||||
break
|
||||
@ -529,7 +529,7 @@ x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*)
|
||||
# Find out which ABI we are using.
|
||||
echo 'int i;' > conftest.$ac_ext
|
||||
if AC_TRY_EVAL(ac_compile); then
|
||||
case `/usr/bin/file conftest.o` in
|
||||
case "`/usr/bin/file conftest.o`" in
|
||||
*32-bit*)
|
||||
case $host in
|
||||
x86_64-*linux*)
|
||||
@ -611,7 +611,7 @@ AC_CACHE_CHECK([$1], [$2],
|
||||
# with a dollar sign (not a hyphen), so the echo should work correctly.
|
||||
# The option is referenced via a variable to avoid confusing sed.
|
||||
lt_compile=`echo "$ac_compile" | $SED \
|
||||
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
|
||||
-e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
|
||||
-e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
|
||||
-e 's:$: $lt_compiler_flag:'`
|
||||
(eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
|
||||
@ -650,7 +650,7 @@ AC_DEFUN([AC_LIBTOOL_LINKER_OPTION],
|
||||
LDFLAGS="$LDFLAGS $3"
|
||||
printf "$lt_simple_link_test_code" > conftest.$ac_ext
|
||||
if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
|
||||
# The linker can only warn and ignore the option if not recognized
|
||||
# The compiler can only warn and ignore the option if not recognized
|
||||
# So say no if there are warnings
|
||||
if test -s conftest.err; then
|
||||
# Append any errors to the config.log.
|
||||
@ -725,7 +725,7 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
|
||||
elif test -x /usr/sbin/sysctl; then
|
||||
lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
|
||||
else
|
||||
lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
|
||||
lt_cv_sys_max_cmd_len=65536 # usable default for *BSD
|
||||
fi
|
||||
# And add a safety zone
|
||||
lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
|
||||
@ -737,7 +737,7 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
|
||||
# nice to cause kernel panics so lets avoid the loop below.
|
||||
# First set a reasonable default.
|
||||
lt_cv_sys_max_cmd_len=16384
|
||||
#
|
||||
#
|
||||
if test -x /sbin/sysconfig; then
|
||||
case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
|
||||
*1*) lt_cv_sys_max_cmd_len=-1 ;;
|
||||
@ -854,7 +854,7 @@ int main ()
|
||||
}]
|
||||
EOF
|
||||
if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
|
||||
(./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
|
||||
(./conftest; exit; ) 2>/dev/null
|
||||
lt_status=$?
|
||||
case x$lt_status in
|
||||
x$lt_dlno_uscore) $1 ;;
|
||||
@ -1003,7 +1003,7 @@ AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
|
||||
# Note that $ac_compile itself does not contain backslashes and begins
|
||||
# with a dollar sign (not a hyphen), so the echo should work correctly.
|
||||
lt_compile=`echo "$ac_compile" | $SED \
|
||||
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
|
||||
-e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
|
||||
-e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
|
||||
-e 's:$: $lt_compiler_flag:'`
|
||||
(eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
|
||||
@ -1021,7 +1021,7 @@ AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
|
||||
_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
|
||||
fi
|
||||
fi
|
||||
chmod u+w . 2>&AS_MESSAGE_LOG_FD
|
||||
chmod u+w .
|
||||
$rm conftest*
|
||||
# SGI C++ compiler will create directory out/ii_files/ for
|
||||
# template instantiation
|
||||
@ -1281,8 +1281,7 @@ cygwin* | mingw* | pw32*)
|
||||
dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
|
||||
dldir=$destdir/`dirname \$dlpath`~
|
||||
test -d \$dldir || mkdir -p \$dldir~
|
||||
$install_prog $dir/$dlname \$dldir/$dlname~
|
||||
chmod a+x \$dldir/$dlname'
|
||||
$install_prog $dir/$dlname \$dldir/$dlname'
|
||||
postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
|
||||
dlpath=$dir/\$dldll~
|
||||
$rm \$dlpath'
|
||||
@ -1335,7 +1334,7 @@ darwin* | rhapsody*)
|
||||
soname_spec='${libname}${release}${major}$shared_ext'
|
||||
shlibpath_overrides_runpath=yes
|
||||
shlibpath_var=DYLD_LIBRARY_PATH
|
||||
shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
|
||||
shrext_cmds='$(test .$module = .yes && echo .so || echo .dylib)'
|
||||
# Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
|
||||
if test "$GCC" = yes; then
|
||||
sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
|
||||
@ -1373,14 +1372,7 @@ kfreebsd*-gnu)
|
||||
freebsd* | dragonfly*)
|
||||
# DragonFly does not have aout. When/if they implement a new
|
||||
# versioning mechanism, adjust this.
|
||||
if test -x /usr/bin/objformat; then
|
||||
objformat=`/usr/bin/objformat`
|
||||
else
|
||||
case $host_os in
|
||||
freebsd[[123]]*) objformat=aout ;;
|
||||
*) objformat=elf ;;
|
||||
esac
|
||||
fi
|
||||
objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout`
|
||||
version_type=freebsd-$objformat
|
||||
case $version_type in
|
||||
freebsd-elf*)
|
||||
@ -1425,7 +1417,7 @@ hpux9* | hpux10* | hpux11*)
|
||||
version_type=sunos
|
||||
need_lib_prefix=no
|
||||
need_version=no
|
||||
case $host_cpu in
|
||||
case "$host_cpu" in
|
||||
ia64*)
|
||||
shrext_cmds='.so'
|
||||
hardcode_into_libs=yes
|
||||
@ -1821,7 +1813,7 @@ AC_DEFUN([AC_LIBTOOL_DLOPEN],
|
||||
|
||||
# AC_LIBTOOL_WIN32_DLL
|
||||
# --------------------
|
||||
# declare package support for building win32 DLLs
|
||||
# declare package support for building win32 dll's
|
||||
AC_DEFUN([AC_LIBTOOL_WIN32_DLL],
|
||||
[AC_BEFORE([$0], [AC_LIBTOOL_SETUP])
|
||||
])# AC_LIBTOOL_WIN32_DLL
|
||||
@ -1995,7 +1987,7 @@ dnl not every word. This closes a longstanding sh security hole.
|
||||
if test -n "$file_magic_test_file"; then
|
||||
case $deplibs_check_method in
|
||||
"file_magic "*)
|
||||
file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
|
||||
file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`"
|
||||
MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
|
||||
if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
|
||||
$EGREP "$file_magic_regex" > /dev/null; then
|
||||
@ -2105,7 +2097,7 @@ AC_CACHE_VAL(lt_cv_path_LD,
|
||||
if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
|
||||
lt_cv_path_LD="$ac_dir/$ac_prog"
|
||||
# Check to see if the program is GNU ld. I'd rather use --version,
|
||||
# but apparently some variants of GNU ld only accept -v.
|
||||
# but apparently some GNU ld's only accept -v.
|
||||
# Break only if it was the GNU/non-GNU ld that we prefer.
|
||||
case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
|
||||
*GNU* | *'with BFD'*)
|
||||
@ -2137,7 +2129,7 @@ AC_PROG_LD_GNU
|
||||
AC_DEFUN([AC_PROG_LD_GNU],
|
||||
[AC_REQUIRE([AC_PROG_EGREP])dnl
|
||||
AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
|
||||
[# I'd rather use --version here, but apparently some GNU lds only accept -v.
|
||||
[# I'd rather use --version here, but apparently some GNU ld's only accept -v.
|
||||
case `$LD -v 2>&1 </dev/null` in
|
||||
*GNU* | *'with BFD'*)
|
||||
lt_cv_prog_gnu_ld=yes
|
||||
@ -2251,7 +2243,7 @@ gnu*)
|
||||
|
||||
hpux10.20* | hpux11*)
|
||||
lt_cv_file_magic_cmd=/usr/bin/file
|
||||
case $host_cpu in
|
||||
case "$host_cpu" in
|
||||
ia64*)
|
||||
lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
|
||||
lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
|
||||
@ -2425,13 +2417,13 @@ esac
|
||||
# -----------------------------------
|
||||
# sets LIBLTDL to the link flags for the libltdl convenience library and
|
||||
# LTDLINCL to the include flags for the libltdl header and adds
|
||||
# --enable-ltdl-convenience to the configure arguments. Note that
|
||||
# AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided,
|
||||
# it is assumed to be `libltdl'. LIBLTDL will be prefixed with
|
||||
# '${top_builddir}/' and LTDLINCL will be prefixed with '${top_srcdir}/'
|
||||
# (note the single quotes!). If your package is not flat and you're not
|
||||
# using automake, define top_builddir and top_srcdir appropriately in
|
||||
# the Makefiles.
|
||||
# --enable-ltdl-convenience to the configure arguments. Note that LIBLTDL
|
||||
# and LTDLINCL are not AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called. If
|
||||
# DIRECTORY is not provided, it is assumed to be `libltdl'. LIBLTDL will
|
||||
# be prefixed with '${top_builddir}/' and LTDLINCL will be prefixed with
|
||||
# '${top_srcdir}/' (note the single quotes!). If your package is not
|
||||
# flat and you're not using automake, define top_builddir and
|
||||
# top_srcdir appropriately in the Makefiles.
|
||||
AC_DEFUN([AC_LIBLTDL_CONVENIENCE],
|
||||
[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
|
||||
case $enable_ltdl_convenience in
|
||||
@ -2450,13 +2442,13 @@ AC_DEFUN([AC_LIBLTDL_CONVENIENCE],
|
||||
# -----------------------------------
|
||||
# sets LIBLTDL to the link flags for the libltdl installable library and
|
||||
# LTDLINCL to the include flags for the libltdl header and adds
|
||||
# --enable-ltdl-install to the configure arguments. Note that
|
||||
# AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided,
|
||||
# and an installed libltdl is not found, it is assumed to be `libltdl'.
|
||||
# LIBLTDL will be prefixed with '${top_builddir}/'# and LTDLINCL with
|
||||
# '${top_srcdir}/' (note the single quotes!). If your package is not
|
||||
# flat and you're not using automake, define top_builddir and top_srcdir
|
||||
# appropriately in the Makefiles.
|
||||
# --enable-ltdl-install to the configure arguments. Note that LIBLTDL
|
||||
# and LTDLINCL are not AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called. If
|
||||
# DIRECTORY is not provided and an installed libltdl is not found, it is
|
||||
# assumed to be `libltdl'. LIBLTDL will be prefixed with '${top_builddir}/'
|
||||
# and LTDLINCL will be prefixed with '${top_srcdir}/' (note the single
|
||||
# quotes!). If your package is not flat and you're not using automake,
|
||||
# define top_builddir and top_srcdir appropriately in the Makefiles.
|
||||
# In the future, this macro may have to be called after AC_PROG_LIBTOOL.
|
||||
AC_DEFUN([AC_LIBLTDL_INSTALLABLE],
|
||||
[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
|
||||
@ -2635,7 +2627,7 @@ test "$can_build_shared" = "no" && enable_shared=no
|
||||
|
||||
# On AIX, shared libraries and static libraries use the same namespace, and
|
||||
# are all built from PIC.
|
||||
case $host_os in
|
||||
case "$host_os" in
|
||||
aix3*)
|
||||
test "$enable_shared" = yes && enable_static=no
|
||||
if test -n "$RANLIB"; then
|
||||
@ -2702,7 +2694,7 @@ _LT_AC_TAGVAR(postdeps, $1)=
|
||||
_LT_AC_TAGVAR(compiler_lib_search_path, $1)=
|
||||
|
||||
# Source file extension for C++ test sources.
|
||||
ac_ext=cpp
|
||||
ac_ext=cc
|
||||
|
||||
# Object file extension for compiled C++ test sources.
|
||||
objext=o
|
||||
@ -2918,7 +2910,7 @@ case $host_os in
|
||||
# Exported symbols can be pulled into shared objects from archives
|
||||
_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=' '
|
||||
_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
|
||||
# This is similar to how AIX traditionally builds its shared libraries.
|
||||
# This is similar to how AIX traditionally builds it's shared libraries.
|
||||
_LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
|
||||
fi
|
||||
fi
|
||||
@ -2957,7 +2949,7 @@ case $host_os in
|
||||
fi
|
||||
;;
|
||||
darwin* | rhapsody*)
|
||||
case $host_os in
|
||||
case "$host_os" in
|
||||
rhapsody* | darwin1.[[012]])
|
||||
_LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress'
|
||||
;;
|
||||
@ -2995,7 +2987,7 @@ case $host_os in
|
||||
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
|
||||
fi
|
||||
_LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
|
||||
# Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
|
||||
# Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
|
||||
if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
|
||||
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
|
||||
else
|
||||
@ -3008,7 +3000,7 @@ case $host_os in
|
||||
output_verbose_link_cmd='echo'
|
||||
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
|
||||
_LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
|
||||
# Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
|
||||
# Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
|
||||
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
|
||||
_LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
|
||||
;;
|
||||
@ -3088,7 +3080,7 @@ case $host_os in
|
||||
;;
|
||||
hpux10*|hpux11*)
|
||||
if test $with_gnu_ld = no; then
|
||||
case $host_cpu in
|
||||
case "$host_cpu" in
|
||||
hppa*64*)
|
||||
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
|
||||
_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
|
||||
@ -3104,7 +3096,7 @@ case $host_os in
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
case $host_cpu in
|
||||
case "$host_cpu" in
|
||||
hppa*64*)
|
||||
_LT_AC_TAGVAR(hardcode_direct, $1)=no
|
||||
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
|
||||
@ -3130,7 +3122,7 @@ case $host_os in
|
||||
_LT_AC_TAGVAR(ld_shlibs, $1)=no
|
||||
;;
|
||||
aCC*)
|
||||
case $host_cpu in
|
||||
case "$host_cpu" in
|
||||
hppa*64*|ia64*)
|
||||
_LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs'
|
||||
;;
|
||||
@ -3151,7 +3143,7 @@ case $host_os in
|
||||
*)
|
||||
if test "$GXX" = yes; then
|
||||
if test $with_gnu_ld = no; then
|
||||
case $host_cpu in
|
||||
case "$host_cpu" in
|
||||
ia64*|hppa*64*)
|
||||
_LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs'
|
||||
;;
|
||||
@ -3252,7 +3244,7 @@ case $host_os in
|
||||
|
||||
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
|
||||
_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
|
||||
_LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
|
||||
_LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive,`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
|
||||
;;
|
||||
cxx*)
|
||||
# Compaq C++
|
||||
@ -3484,11 +3476,10 @@ case $host_os in
|
||||
case $cc_basename in
|
||||
CC*)
|
||||
# Sun C++ 4.2, 5.x and Centerline C++
|
||||
_LT_AC_TAGVAR(archive_cmds_need_lc,$1)=yes
|
||||
_LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs'
|
||||
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
|
||||
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -nolib -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
|
||||
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
|
||||
$CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
|
||||
$CC -G${allow_undefined_flag} -nolib ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
|
||||
|
||||
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
|
||||
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
|
||||
@ -3508,7 +3499,15 @@ case $host_os in
|
||||
esac
|
||||
_LT_AC_TAGVAR(link_all_deplibs, $1)=yes
|
||||
|
||||
output_verbose_link_cmd='echo'
|
||||
# Commands to make compiler produce verbose output that lists
|
||||
# what "hidden" libraries, object files and flags are used when
|
||||
# linking a shared library.
|
||||
#
|
||||
# There doesn't appear to be a way to prevent this compiler from
|
||||
# explicitly linking system object files so we need to strip them
|
||||
# from the output so that they don't get included in the library
|
||||
# dependencies.
|
||||
output_verbose_link_cmd='templist=`$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep "\-[[LR]]"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
|
||||
|
||||
# Archives containing C++ object files must be created using
|
||||
# "CC -xar", where "CC" is the Sun C++ compiler. This is
|
||||
@ -3665,7 +3664,7 @@ if AC_TRY_EVAL(ac_compile); then
|
||||
# The `*' in the case matches for architectures that use `case' in
|
||||
# $output_verbose_cmd can trigger glob expansion during the loop
|
||||
# eval without this substitution.
|
||||
output_verbose_link_cmd=`$echo "X$output_verbose_link_cmd" | $Xsed -e "$no_glob_subst"`
|
||||
output_verbose_link_cmd="`$echo \"X$output_verbose_link_cmd\" | $Xsed -e \"$no_glob_subst\"`"
|
||||
|
||||
for p in `eval $output_verbose_link_cmd`; do
|
||||
case $p in
|
||||
@ -3741,21 +3740,6 @@ fi
|
||||
|
||||
$rm -f confest.$objext
|
||||
|
||||
# PORTME: override above test on systems where it is broken
|
||||
ifelse([$1],[CXX],
|
||||
[case $host_os in
|
||||
solaris*)
|
||||
case $cc_basename in
|
||||
CC*)
|
||||
# Adding this requires a known-good setup of shared libraries for
|
||||
# Sun compiler versions before 5.6, else PIC objects from an old
|
||||
# archive will be linked into the output, leading to subtle bugs.
|
||||
_LT_AC_TAGVAR(postdeps,$1)='-lCstd -lCrun'
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
])
|
||||
|
||||
case " $_LT_AC_TAGVAR(postdeps, $1) " in
|
||||
*" -lc "*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ;;
|
||||
esac
|
||||
@ -3825,7 +3809,7 @@ test "$can_build_shared" = "no" && enable_shared=no
|
||||
|
||||
# On AIX, shared libraries and static libraries use the same namespace, and
|
||||
# are all built from PIC.
|
||||
case $host_os in
|
||||
case "$host_os" in
|
||||
aix3*)
|
||||
test "$enable_shared" = yes && enable_static=no
|
||||
if test -n "$RANLIB"; then
|
||||
@ -4724,7 +4708,7 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
|
||||
hpux*)
|
||||
# PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
|
||||
# not for PA HP-UX.
|
||||
case $host_cpu in
|
||||
case "$host_cpu" in
|
||||
hppa*64*|ia64*)
|
||||
;;
|
||||
*)
|
||||
@ -4793,7 +4777,7 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
|
||||
aCC*)
|
||||
_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
|
||||
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive"
|
||||
case $host_cpu in
|
||||
case "$host_cpu" in
|
||||
hppa*64*|ia64*)
|
||||
# +Z the default
|
||||
;;
|
||||
@ -4834,7 +4818,7 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
|
||||
# Portland Group C++ compiler.
|
||||
_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
|
||||
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
|
||||
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
|
||||
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
|
||||
;;
|
||||
cxx*)
|
||||
# Compaq C++
|
||||
@ -4998,7 +4982,7 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
|
||||
hpux*)
|
||||
# PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
|
||||
# not for PA HP-UX.
|
||||
case $host_cpu in
|
||||
case "$host_cpu" in
|
||||
hppa*64*|ia64*)
|
||||
# +Z the default
|
||||
;;
|
||||
@ -5045,7 +5029,7 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
|
||||
_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
|
||||
# PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
|
||||
# not for PA HP-UX.
|
||||
case $host_cpu in
|
||||
case "$host_cpu" in
|
||||
hppa*64*|ia64*)
|
||||
# +Z the default
|
||||
;;
|
||||
@ -5075,12 +5059,12 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
|
||||
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
|
||||
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
|
||||
;;
|
||||
pgcc* | pgf77* | pgf90* | pgf95*)
|
||||
pgcc* | pgf77* | pgf90*)
|
||||
# Portland Group compilers (*not* the Pentium gcc compiler,
|
||||
# which looks to be a dead project)
|
||||
_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
|
||||
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
|
||||
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
|
||||
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
|
||||
;;
|
||||
ccc*)
|
||||
_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
|
||||
@ -5163,7 +5147,7 @@ if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then
|
||||
[_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
|
||||
_LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
|
||||
fi
|
||||
case $host_os in
|
||||
case "$host_os" in
|
||||
# For platforms which do not support PIC, -DPIC is meaningless:
|
||||
*djgpp*)
|
||||
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
|
||||
@ -5259,7 +5243,7 @@ ifelse([$1],[CXX],[
|
||||
if test "$with_gnu_ld" = yes; then
|
||||
# If archive_cmds runs LD, not CC, wlarc should be empty
|
||||
wlarc='${wl}'
|
||||
|
||||
|
||||
# Set some defaults for GNU ld with shared library support. These
|
||||
# are reset later if shared libraries are not supported. Putting them
|
||||
# here allows them to be overridden if necessary.
|
||||
@ -5280,7 +5264,7 @@ ifelse([$1],[CXX],[
|
||||
*\ 2.11.*) ;; # other 2.11 versions
|
||||
*) supports_anon_versioning=yes ;;
|
||||
esac
|
||||
|
||||
|
||||
# See if GNU ld supports shared libraries.
|
||||
case $host_os in
|
||||
aix3* | aix4* | aix5*)
|
||||
@ -5354,11 +5338,11 @@ EOF
|
||||
tmp_addflag=
|
||||
case $cc_basename,$host_cpu in
|
||||
pgcc*) # Portland Group C compiler
|
||||
_LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
|
||||
_LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive,`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
|
||||
tmp_addflag=' $pic_flag'
|
||||
;;
|
||||
pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers
|
||||
_LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
|
||||
pgf77* | pgf90* ) # Portland Group f77 and f90 compilers
|
||||
_LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive,`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
|
||||
tmp_addflag=' $pic_flag -Mnomain' ;;
|
||||
ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
|
||||
tmp_addflag=' -i_dynamic' ;;
|
||||
@ -5564,7 +5548,7 @@ EOF
|
||||
# Exported symbols can be pulled into shared objects from archives
|
||||
_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=' '
|
||||
_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
|
||||
# This is similar to how AIX traditionally builds its shared libraries.
|
||||
# This is similar to how AIX traditionally builds it's shared libraries.
|
||||
_LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
|
||||
fi
|
||||
fi
|
||||
@ -5604,7 +5588,7 @@ EOF
|
||||
;;
|
||||
|
||||
darwin* | rhapsody*)
|
||||
case $host_os in
|
||||
case "$host_os" in
|
||||
rhapsody* | darwin1.[[012]])
|
||||
_LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress'
|
||||
;;
|
||||
@ -5633,7 +5617,7 @@ EOF
|
||||
output_verbose_link_cmd='echo'
|
||||
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
|
||||
_LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
|
||||
# Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
|
||||
# Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
|
||||
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
|
||||
_LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
|
||||
else
|
||||
@ -5642,7 +5626,7 @@ EOF
|
||||
output_verbose_link_cmd='echo'
|
||||
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
|
||||
_LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
|
||||
# Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
|
||||
# Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
|
||||
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
|
||||
_LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
|
||||
;;
|
||||
@ -5708,7 +5692,7 @@ EOF
|
||||
|
||||
hpux10* | hpux11*)
|
||||
if test "$GCC" = yes -a "$with_gnu_ld" = no; then
|
||||
case $host_cpu in
|
||||
case "$host_cpu" in
|
||||
hppa*64*|ia64*)
|
||||
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
|
||||
;;
|
||||
@ -5717,7 +5701,7 @@ EOF
|
||||
;;
|
||||
esac
|
||||
else
|
||||
case $host_cpu in
|
||||
case "$host_cpu" in
|
||||
hppa*64*|ia64*)
|
||||
_LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $libobjs $deplibs $linker_flags'
|
||||
;;
|
||||
@ -5727,7 +5711,7 @@ EOF
|
||||
esac
|
||||
fi
|
||||
if test "$with_gnu_ld" = no; then
|
||||
case $host_cpu in
|
||||
case "$host_cpu" in
|
||||
hppa*64*)
|
||||
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
|
||||
_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
|
||||
|
323
libs/libdingaling/configure
vendored
323
libs/libdingaling/configure
vendored
File diff suppressed because it is too large
Load Diff
@ -1,279 +0,0 @@
|
||||
/*
|
||||
* libDingaLing XMPP Jingle Library
|
||||
* Copyright (C) 2005/2006, Anthony Minessale II <anthmct@yahoo.com>
|
||||
*
|
||||
* Version: MPL 1.1
|
||||
*
|
||||
* The contents of this file are subject to the Mozilla Public License Version
|
||||
* 1.1 (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
* http://www.mozilla.org/MPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
* for the specific language governing rights and limitations under the
|
||||
* License.
|
||||
*
|
||||
* The Original Code is libDingaLing XMPP Jingle Library
|
||||
*
|
||||
* The Initial Developer of the Original Code is
|
||||
* Anthony Minessale II <anthmct@yahoo.com>
|
||||
* Portions created by the Initial Developer are Copyright (C)
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
*
|
||||
* Anthony Minessale II <anthmct@yahoo.com>
|
||||
*
|
||||
* stun_parser.c STUN packet manipulation
|
||||
*
|
||||
*/
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
#include <sys/types.h>
|
||||
#ifdef WIN32
|
||||
#include <Winsock2.h>
|
||||
#else
|
||||
#include <stdint.h>
|
||||
#include <netinet/in.h>
|
||||
#endif
|
||||
|
||||
#include "ldl_compat.h"
|
||||
#include "stun_parser.h"
|
||||
|
||||
struct value_mapping {
|
||||
const uint32_t value;
|
||||
const char *name;
|
||||
};
|
||||
|
||||
static const struct value_mapping PACKET_TYPES[] = {
|
||||
{ STUN_BINDING_REQUEST, "BINDING_REQUEST" },
|
||||
{ STUN_BINDING_RESPONSE, "BINDING_RESPONSE" },
|
||||
{ STUN_BINDING_ERROR_RESPONSE, "BINDING_ERROR_RESPONSE" },
|
||||
{ STUN_SHARED_SECRET_REQUEST, "SHARED_SECRET_REQUEST" },
|
||||
{ STUN_SHARED_SECRET_RESPONSE, "SHARED_SECRET_RESPONSE" },
|
||||
{ STUN_SHARED_SECRET_ERROR_RESPONSE, "SHARED_SECRET_ERROR_RESPONSE" },
|
||||
{ STUN_ALLOCATE_REQUEST, "ALLOCATE_REQUEST" },
|
||||
{ STUN_ALLOCATE_RESPONSE, "ALLOCATE_RESPONSE" },
|
||||
{ STUN_ALLOCATE_ERROR_RESPONSE, "ALLOCATE_ERROR_RESPONSE" },
|
||||
{ STUN_SEND_REQUEST, "SEND_REQUEST" },
|
||||
{ STUN_SEND_RESPONSE, "SEND_RESPONSE" },
|
||||
{ STUN_SEND_ERROR_RESPONSE, "SEND_ERROR_RESPONSE" },
|
||||
{ STUN_DATA_INDICATION , "DATA_INDICATION"},
|
||||
{ 0, 0} };
|
||||
|
||||
static const struct value_mapping ATTR_TYPES[] = {
|
||||
{ STUN_ATTR_MAPPED_ADDRESS, "MAPPED_ADDRESS" },
|
||||
{ STUN_ATTR_RESPONSE_ADDRESS, "RESPONSE_ADDRESS" },
|
||||
{ STUN_ATTR_CHANGE_REQUEST, "CHANGE_REQUEST" },
|
||||
{ STUN_ATTR_SOURCE_ADDRESS, "SOURCE_ADDRESS" },
|
||||
{ STUN_ATTR_CHANGED_ADDRESS, "CHANGED_ADDRESS" },
|
||||
{ STUN_ATTR_USERNAME, "USERNAME" },
|
||||
{ STUN_ATTR_PASSWORD, "PASSWORD" },
|
||||
{ STUN_ATTR_MESSAGE_INTEGRITY, "MESSAGE_INTEGRITY" },
|
||||
{ STUN_ATTR_ERROR_CODE, "ERROR_CODE" },
|
||||
{ STUN_ATTR_UNKNOWN_ATTRIBUTES, "UNKNOWN_ATTRIBUTES" },
|
||||
{ STUN_ATTR_REFLECTED_FROM, "REFLECTED_FROM" },
|
||||
{ STUN_ATTR_TRANSPORT_PREFERENCES, "TRANSPORT_PREFERENCES" },
|
||||
{ STUN_ATTR_LIFETIME, "LIFETIME" },
|
||||
{ STUN_ATTR_ALTERNATE_SERVER, "ALTERNATE_SERVER" },
|
||||
{ STUN_ATTR_MAGIC_COOKIE, "MAGIC_COOKIE" },
|
||||
{ STUN_ATTR_BANDWIDTH, "BANDWIDTH" },
|
||||
{ STUN_ATTR_DESTINATION_ADDRESS, "DESTINATION_ADDRESS" },
|
||||
{ STUN_ATTR_SOURCE_ADDRESS2, "SOURCE_ADDRESS2" },
|
||||
{ STUN_ATTR_DATA, "DATA" },
|
||||
{ STUN_ATTR_OPTIONS, "OPTIONS" },
|
||||
{ 0, 0} };
|
||||
|
||||
static const struct value_mapping ERROR_TYPES[] = {
|
||||
{ STUN_ERROR_BAD_REQUEST, "BAD_REQUEST" },
|
||||
{ STUN_ERROR_UNAUTHORIZED, "UNAUTHORIZED" },
|
||||
{ STUN_ERROR_UNKNOWN_ATTRIBUTE, "UNKNOWN_ATTRIBUTE" },
|
||||
{ STUN_ERROR_STALE_CREDENTIALS, "STALE_CREDENTIALS" },
|
||||
{ STUN_ERROR_INTEGRITY_CHECK_FAILURE, "INTEGRITY_CHECK_FAILURE" },
|
||||
{ STUN_ERROR_MISSING_USERNAME, "MISSING_USERNAME" },
|
||||
{ STUN_ERROR_USE_TLS, "USE_TLS" },
|
||||
{ STUN_ERROR_SERVER_ERROR, "SERVER_ERROR" },
|
||||
{ STUN_ERROR_GLOBAL_FAILURE, "GLOBAL_FAILURE" },
|
||||
{ 0, 0 }};
|
||||
|
||||
void stun_random_string(char *buf, uint16_t len, char *set)
|
||||
{
|
||||
char chars[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
|
||||
int max;
|
||||
uint8_t x;
|
||||
|
||||
if (!set) {
|
||||
set = chars;
|
||||
}
|
||||
|
||||
max = (int)strlen(set) - 1;
|
||||
|
||||
for(x = 0; x < len; x++) {
|
||||
int j = 1+(int)(max*1.0*rand()/(RAND_MAX+1.0));
|
||||
buf[x] = set[j];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
stun_packet_t *stun_packet_parse(uint8_t *buf, uint32_t len)
|
||||
{
|
||||
stun_packet_t *packet;
|
||||
stun_packet_attribute_t *attr;
|
||||
|
||||
if (len < STUN_PACKET_MIN_LEN) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
packet = (stun_packet_t *) buf;
|
||||
packet->header.type = ntohs(packet->header.type);
|
||||
packet->header.length = ntohs(packet->header.length);
|
||||
attr = &packet->first_attribute;
|
||||
stun_packet_first_attribute(packet, attr);
|
||||
do {
|
||||
attr->length = ntohs(attr->length);
|
||||
attr->type = ntohs(attr->type);
|
||||
if (!attr->length) {
|
||||
break;
|
||||
}
|
||||
switch(attr->type) {
|
||||
case STUN_ATTR_MAPPED_ADDRESS:
|
||||
if (attr->type) {
|
||||
stun_ip_t *ip;
|
||||
ip = (stun_ip_t *) attr->value;
|
||||
ip->port = ntohs(ip->port);
|
||||
|
||||
}
|
||||
break;
|
||||
}
|
||||
} while (stun_packet_next_attribute(attr));
|
||||
return packet;
|
||||
}
|
||||
|
||||
const char *stun_value_to_name(int32_t type, int32_t value)
|
||||
|
||||
{
|
||||
uint32_t x = 0;
|
||||
const struct value_mapping *map = NULL;
|
||||
switch (type) {
|
||||
case STUN_TYPE_PACKET_TYPE:
|
||||
map = PACKET_TYPES;
|
||||
break;
|
||||
case STUN_TYPE_ATTRIBUTE:
|
||||
map = ATTR_TYPES;
|
||||
break;
|
||||
case STUN_TYPE_ERROR:
|
||||
map = ERROR_TYPES;
|
||||
break;
|
||||
default:
|
||||
map = NULL;
|
||||
break;
|
||||
}
|
||||
|
||||
if (map) {
|
||||
for(x = 0; map[x].value; x++) {
|
||||
if (map[x].value == value) {
|
||||
return map[x].name;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return "INVALID";
|
||||
}
|
||||
|
||||
uint8_t stun_packet_attribute_get_mapped_address(stun_packet_attribute_t *attribute, char *ipstr, uint16_t *port)
|
||||
{
|
||||
stun_ip_t *ip;
|
||||
uint8_t x, *i;
|
||||
char *p = ipstr;
|
||||
|
||||
ip = (stun_ip_t *) attribute->value;
|
||||
i = (uint8_t *) &ip->address;
|
||||
*ipstr = 0;
|
||||
for(x =0; x < 4; x++) {
|
||||
sprintf(p, "%u%s", i[x], x == 3 ? "" : ".");
|
||||
p = ipstr + strlen(ipstr);
|
||||
}
|
||||
*port = ip->port;
|
||||
return 1;
|
||||
}
|
||||
|
||||
char *stun_packet_attribute_get_username(stun_packet_attribute_t *attribute, char *username, uint16_t len)
|
||||
{
|
||||
uint16_t cpylen;
|
||||
|
||||
cpylen = attribute->length > len ? attribute->length : len;
|
||||
return memcpy(username, attribute->value, cpylen);
|
||||
}
|
||||
|
||||
stun_packet_t *stun_packet_build_header(stun_message_t type,
|
||||
char *id,
|
||||
uint8_t *buf
|
||||
)
|
||||
{
|
||||
stun_packet_header_t *header;
|
||||
|
||||
|
||||
header = (stun_packet_header_t *) buf;
|
||||
header->type = htons(type);
|
||||
header->length = 0;
|
||||
|
||||
if (id) {
|
||||
memcpy(header->id, id, 16);
|
||||
} else {
|
||||
stun_random_string(header->id, 16, NULL);
|
||||
}
|
||||
|
||||
return (stun_packet_t *) buf;
|
||||
}
|
||||
|
||||
uint8_t stun_packet_attribute_add_binded_address(stun_packet_t *packet, char *ipstr, uint16_t port)
|
||||
{
|
||||
stun_packet_attribute_t *attribute;
|
||||
stun_ip_t *ip;
|
||||
uint8_t *i, x;
|
||||
char *p = ipstr;
|
||||
|
||||
attribute = (stun_packet_attribute_t *) ((uint8_t *) &packet->first_attribute + ntohs(packet->header.length));
|
||||
attribute->type = htons(STUN_ATTR_MAPPED_ADDRESS);
|
||||
attribute->length = htons(8);
|
||||
ip = (stun_ip_t *) attribute->value;
|
||||
|
||||
ip->port = htons(port);
|
||||
ip->family = 1;
|
||||
i = (uint8_t *) &ip->address;
|
||||
|
||||
for(x = 0; x < 4 ; x++) {
|
||||
i[x] = atoi(p);
|
||||
if ((p = strchr(p, '.'))) {
|
||||
p++;
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
packet->header.length += htons(sizeof(stun_packet_attribute_t)) + attribute->length;
|
||||
return 1;
|
||||
}
|
||||
|
||||
uint8_t stun_packet_attribute_add_username(stun_packet_t *packet, char *username, uint16_t ulen)
|
||||
{
|
||||
stun_packet_attribute_t *attribute;
|
||||
|
||||
if (ulen % 4 != 0) {
|
||||
return 0;
|
||||
}
|
||||
attribute = (stun_packet_attribute_t *) ((uint8_t *) &packet->first_attribute + ntohs(packet->header.length));
|
||||
attribute->type = htons(STUN_ATTR_USERNAME);
|
||||
attribute->length = htons(ulen);
|
||||
if (username) {
|
||||
memcpy(attribute->value, username, ulen);
|
||||
} else {
|
||||
stun_random_string(attribute->value, ulen, NULL);
|
||||
}
|
||||
|
||||
packet->header.length += htons(sizeof(stun_packet_attribute_t)) + attribute->length;
|
||||
return 1;
|
||||
}
|
@ -1,223 +0,0 @@
|
||||
/*
|
||||
* libDingaLing XMPP Jingle Library
|
||||
* Copyright (C) 2005/2006, Anthony Minessale II <anthmct@yahoo.com>
|
||||
*
|
||||
* Version: MPL 1.1
|
||||
*
|
||||
* The contents of this file are subject to the Mozilla Public License Version
|
||||
* 1.1 (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
* http://www.mozilla.org/MPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
* for the specific language governing rights and limitations under the
|
||||
* License.
|
||||
*
|
||||
* The Original Code is libDingaLing XMPP Jingle Library
|
||||
*
|
||||
* The Initial Developer of the Original Code is
|
||||
* Anthony Minessale II <anthmct@yahoo.com>
|
||||
* Portions created by the Initial Developer are Copyright (C)
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
*
|
||||
* Anthony Minessale II <anthmct@yahoo.com>
|
||||
*
|
||||
* stun_parser.h STUN packet manipulation
|
||||
*
|
||||
*/
|
||||
/*! \file stun_parser.h
|
||||
\brief STUN packet manipulation
|
||||
*/
|
||||
|
||||
/*!
|
||||
\defgroup stun1 libDingaLing Stun Parser
|
||||
\ingroup LIBDINGALING
|
||||
\{
|
||||
*/
|
||||
#ifndef _STUN_PARSER_H
|
||||
#define _STUN_PARSER_H
|
||||
|
||||
#define STUN_PACKET_MIN_LEN 20
|
||||
|
||||
typedef enum {
|
||||
STUN_BINDING_REQUEST = 0x0001,
|
||||
STUN_BINDING_RESPONSE = 0x0101,
|
||||
STUN_BINDING_ERROR_RESPONSE = 0x0111,
|
||||
STUN_SHARED_SECRET_REQUEST = 0x0002,
|
||||
STUN_SHARED_SECRET_RESPONSE = 0x0102,
|
||||
STUN_SHARED_SECRET_ERROR_RESPONSE = 0x0112,
|
||||
STUN_ALLOCATE_REQUEST = 0x0003,
|
||||
STUN_ALLOCATE_RESPONSE = 0x0103,
|
||||
STUN_ALLOCATE_ERROR_RESPONSE = 0x0113,
|
||||
STUN_SEND_REQUEST = 0x0004,
|
||||
STUN_SEND_RESPONSE = 0x0104,
|
||||
STUN_SEND_ERROR_RESPONSE = 0x0114,
|
||||
STUN_DATA_INDICATION = 0x0115
|
||||
} stun_message_t;
|
||||
|
||||
typedef enum {
|
||||
STUN_ATTR_MAPPED_ADDRESS = 0x0001, /* Address */
|
||||
STUN_ATTR_RESPONSE_ADDRESS = 0x0002, /* Address */
|
||||
STUN_ATTR_CHANGE_REQUEST = 0x0003, /* UInt32 */
|
||||
STUN_ATTR_SOURCE_ADDRESS = 0x0004, /* Address */
|
||||
STUN_ATTR_CHANGED_ADDRESS = 0x0005, /* Address */
|
||||
STUN_ATTR_USERNAME = 0x0006, /* ByteString, multiple of 4 bytes */
|
||||
STUN_ATTR_PASSWORD = 0x0007, /* ByteString, multiple of 4 bytes */
|
||||
STUN_ATTR_MESSAGE_INTEGRITY = 0x0008, /* ByteString, 20 bytes */
|
||||
STUN_ATTR_ERROR_CODE = 0x0009, /* ErrorCode */
|
||||
STUN_ATTR_UNKNOWN_ATTRIBUTES = 0x000a, /* UInt16List */
|
||||
STUN_ATTR_REFLECTED_FROM = 0x000b, /* Address */
|
||||
STUN_ATTR_TRANSPORT_PREFERENCES = 0x000c, /* TransportPrefs */
|
||||
STUN_ATTR_LIFETIME = 0x000d, /* UInt32 */
|
||||
STUN_ATTR_ALTERNATE_SERVER = 0x000e, /* Address */
|
||||
STUN_ATTR_MAGIC_COOKIE = 0x000f, /* ByteString, 4 bytes */
|
||||
STUN_ATTR_BANDWIDTH = 0x0010, /* UInt32 */
|
||||
STUN_ATTR_DESTINATION_ADDRESS = 0x0011, /* Address */
|
||||
STUN_ATTR_SOURCE_ADDRESS2 = 0x0012, /* Address */
|
||||
STUN_ATTR_DATA = 0x0013, /* ByteString */
|
||||
STUN_ATTR_OPTIONS = 0x8001 /* UInt32 */
|
||||
} stun_attribute_t;
|
||||
|
||||
typedef enum {
|
||||
STUN_ERROR_BAD_REQUEST = 400,
|
||||
STUN_ERROR_UNAUTHORIZED = 401,
|
||||
STUN_ERROR_UNKNOWN_ATTRIBUTE = 420,
|
||||
STUN_ERROR_STALE_CREDENTIALS = 430,
|
||||
STUN_ERROR_INTEGRITY_CHECK_FAILURE = 431,
|
||||
STUN_ERROR_MISSING_USERNAME = 432,
|
||||
STUN_ERROR_USE_TLS = 433,
|
||||
STUN_ERROR_SERVER_ERROR = 500,
|
||||
STUN_ERROR_GLOBAL_FAILURE = 600
|
||||
} stun_error_t;
|
||||
|
||||
typedef enum {
|
||||
STUN_TYPE_PACKET_TYPE,
|
||||
STUN_TYPE_ATTRIBUTE,
|
||||
STUN_TYPE_ERROR
|
||||
} stun_type_t;
|
||||
|
||||
typedef struct {
|
||||
int16_t type;
|
||||
int16_t length;
|
||||
char id[16];
|
||||
} stun_packet_header_t;
|
||||
|
||||
typedef struct {
|
||||
int16_t type;
|
||||
uint16_t length;
|
||||
char value[0];
|
||||
} stun_packet_attribute_t;
|
||||
|
||||
typedef struct {
|
||||
stun_packet_header_t header;
|
||||
stun_packet_attribute_t first_attribute;
|
||||
} stun_packet_t;
|
||||
|
||||
typedef struct {
|
||||
int8_t wasted;
|
||||
int8_t family;
|
||||
int16_t port;
|
||||
int32_t address;
|
||||
} stun_ip_t;
|
||||
|
||||
|
||||
/*!
|
||||
\brief Writes random characters into a buffer
|
||||
\param buf the buffer
|
||||
\param len the length of the data
|
||||
\param set the set of chars to use (NULL for auto)
|
||||
*/
|
||||
void stun_random_string(char *buf, uint16_t len, char *set);
|
||||
|
||||
/*!
|
||||
\brief Prepare a raw packet for parsing
|
||||
\param buf the raw data
|
||||
\param len the length of the data
|
||||
\return a stun packet pointer to buf to use as an access point
|
||||
*/
|
||||
stun_packet_t *stun_packet_parse(uint8_t *buf, uint32_t len);
|
||||
|
||||
/*!
|
||||
\brief Obtain a printable string form of a given value
|
||||
\param type the type of message
|
||||
\param value the value to look up
|
||||
\return a sring version of value
|
||||
*/
|
||||
const char *stun_value_to_name(int32_t type, int32_t value);
|
||||
|
||||
|
||||
/*!
|
||||
\brief Extract a mapped address (IP:PORT) from a packet attribute
|
||||
\param attribute the attribute from which to extract
|
||||
\param ipstr a buffer to write the string representation of the ip
|
||||
\param port the port
|
||||
\return true or false
|
||||
*/
|
||||
uint8_t stun_packet_attribute_get_mapped_address(stun_packet_attribute_t *attribute, char *ipstr, uint16_t *port);
|
||||
|
||||
/*!
|
||||
\brief Extract a username from a packet attribute
|
||||
\param attribute the attribute from which to extract
|
||||
\param username a buffer to write the string representation of the username
|
||||
\param len the maximum size of the username buffer
|
||||
\return a pointer to the username or NULL
|
||||
*/
|
||||
char *stun_packet_attribute_get_username(stun_packet_attribute_t *attribute, char *username, uint16_t len);
|
||||
|
||||
|
||||
/*!
|
||||
\brief Prepare a new outbound packet of a certian type and id
|
||||
\param id id to use (NULL for an auto generated id)
|
||||
\param type the stun packet type
|
||||
\param buf a pointer to data to use for the packet
|
||||
\return a pointer to a ready-to-use stun packet
|
||||
*/
|
||||
stun_packet_t *stun_packet_build_header(stun_message_t type,
|
||||
char *id,
|
||||
uint8_t *buf
|
||||
);
|
||||
|
||||
/*!
|
||||
\brief Add a username packet attribute
|
||||
\param packet the packet to add the attribute to
|
||||
\param username the string representation of the username
|
||||
\param ulen the length of the username
|
||||
\return true or false
|
||||
*/
|
||||
uint8_t stun_packet_attribute_add_username(stun_packet_t *packet, char *username, uint16_t ulen);
|
||||
|
||||
|
||||
/*!
|
||||
\brief Add a binded address packet attribute
|
||||
\param packet the packet to add the attribute to
|
||||
\param ipstr the string representation of the ip
|
||||
\param port the port of the mapped address
|
||||
\return true or false
|
||||
*/
|
||||
uint8_t stun_packet_attribute_add_binded_address(stun_packet_t *packet, char *ipstr, uint16_t port);
|
||||
|
||||
/*!
|
||||
\brief set a stun_packet_attribute_t pointer to point at the first attribute in a packet
|
||||
\param packet the packet in question
|
||||
\param attribute the pointer to set up
|
||||
*/
|
||||
#define stun_packet_first_attribute(packet, attribute) attribute = &packet->first_attribute;
|
||||
|
||||
/*!
|
||||
\brief Increment an attribute pointer to the next attribute in it's packet
|
||||
\param attribute the pointer to increment
|
||||
\return true or false depending on if there are any more attributes
|
||||
*/
|
||||
#define stun_packet_next_attribute(attribute) (attribute = (stun_packet_attribute_t *) (attribute->value + attribute->length)) && attribute->length
|
||||
|
||||
/*!
|
||||
\brief Obtain the correct length in bytes of a stun packet
|
||||
\param packet the packet in question
|
||||
\return the size in bytes (host order) of the entire packet
|
||||
*/
|
||||
#define stun_packet_length(packet) ntohs(packet->header.length) + sizeof(stun_packet_header_t)
|
||||
///\}
|
||||
#endif
|
@ -66,6 +66,7 @@ extern "C" {
|
||||
#include <switch_resample.h>
|
||||
#include <switch_ivr.h>
|
||||
#include <switch_rtp.h>
|
||||
#include <switch_stun.h>
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
@ -31,14 +31,6 @@
|
||||
*/
|
||||
#include <switch.h>
|
||||
#include <libdingaling.h>
|
||||
#include <stun_parser.h>
|
||||
#ifdef _MSC_VER
|
||||
#include <Winsock2.h>
|
||||
#else
|
||||
#include <sys/socket.h>
|
||||
#include <netinet/in.h>
|
||||
#include <arpa/inet.h>
|
||||
#endif
|
||||
|
||||
static const char modname[] = "mod_dingaling";
|
||||
|
||||
@ -103,7 +95,7 @@ struct private_object {
|
||||
struct switch_frame read_frame;
|
||||
struct switch_frame cng_frame;
|
||||
struct mdl_profile *profile;
|
||||
switch_sockaddr_t *stun_addr;
|
||||
switch_sockaddr_t *switch_stun_addr;
|
||||
unsigned char read_buf[SWITCH_RECCOMMENDED_BUFFER_SIZE];
|
||||
unsigned char cng_buf[SWITCH_RECCOMMENDED_BUFFER_SIZE];
|
||||
switch_core_session *session;
|
||||
@ -177,7 +169,7 @@ static switch_status channel_write_frame(switch_core_session *session, switch_fr
|
||||
static switch_status channel_kill_channel(switch_core_session *session, int sig);
|
||||
static ldl_status handle_signalling(ldl_handle_t *handle, ldl_session_t *dlsession, ldl_signal_t signal, char *msg);
|
||||
static ldl_status handle_response(ldl_handle_t *handle, char *id);
|
||||
static void stun_callback(struct switch_rtp *switch_rtp, switch_socket_t *sock, void *data, switch_size_t len, switch_sockaddr_t *from_addr);
|
||||
static void switch_stun_callback(struct switch_rtp *switch_rtp, switch_socket_t *sock, void *data, switch_size_t len, switch_sockaddr_t *from_addr);
|
||||
static switch_status load_config(void);
|
||||
|
||||
|
||||
@ -293,7 +285,7 @@ static void *SWITCH_THREAD_FUNC negotiate_thread_run(switch_thread *thread, void
|
||||
ldl_candidate_t cand[1];
|
||||
char *advip = tech_pvt->profile->extip ? tech_pvt->profile->extip : tech_pvt->profile->ip;
|
||||
memset(cand, 0, sizeof(cand));
|
||||
stun_random_string(tech_pvt->local_user, 16, NULL);
|
||||
switch_stun_random_string(tech_pvt->local_user, 16, NULL);
|
||||
|
||||
cand[0].name = "rtp";
|
||||
cand[0].address = advip;
|
||||
@ -703,7 +695,7 @@ static switch_status channel_write_frame(switch_core_session *session, switch_fr
|
||||
if (tech_pvt->stuncount == 0) {
|
||||
uint8_t buf[256] = {0};
|
||||
char login[80];
|
||||
stun_packet_t *packet;
|
||||
switch_stun_packet_t *packet;
|
||||
//struct sockaddr_in servaddr;
|
||||
unsigned int elapsed;
|
||||
switch_size_t bytes;
|
||||
@ -718,12 +710,12 @@ static switch_status channel_write_frame(switch_core_session *session, switch_fr
|
||||
}
|
||||
|
||||
snprintf(login, sizeof(login), "%s%s", tech_pvt->remote_user, tech_pvt->local_user);
|
||||
packet = stun_packet_build_header(STUN_BINDING_REQUEST, NULL, buf);
|
||||
stun_packet_attribute_add_username(packet, login, 32);
|
||||
bytes = stun_packet_length(packet);
|
||||
switch_socket_sendto(tech_pvt->rtp_sock, tech_pvt->stun_addr, 0, (void *)packet, &bytes);
|
||||
packet = switch_stun_packet_build_header(SWITCH_STUN_BINDING_REQUEST, NULL, buf);
|
||||
switch_stun_packet_attribute_add_username(packet, login, 32);
|
||||
bytes = switch_stun_packet_length(packet);
|
||||
switch_socket_sendto(tech_pvt->rtp_sock, tech_pvt->switch_stun_addr, 0, (void *)packet, &bytes);
|
||||
|
||||
//sendto(tech_pvt->rtp_sock, (char *)packet, stun_packet_length(packet), 0 ,(struct sockaddr *)&servaddr, sizeof(servaddr));
|
||||
//sendto(tech_pvt->rtp_sock, (char *)packet, switch_stun_packet_length(packet), 0 ,(struct sockaddr *)&servaddr, sizeof(servaddr));
|
||||
//xstun
|
||||
//printf("XXXX SEND STUN REQ %s U=%s to %s:%d\n", packet->header.id, login, tech_pvt->remote_ip, tech_pvt->remote_port);
|
||||
tech_pvt->stuncount = 25;
|
||||
@ -957,7 +949,7 @@ static switch_status channel_outgoing_channel(switch_core_session *session, swit
|
||||
switch_channel_set_flag(channel, CF_OUTBOUND);
|
||||
switch_set_flag(tech_pvt, TFLAG_OUTBOUND);
|
||||
|
||||
stun_random_string(sess_id, 10, "0123456789");
|
||||
switch_stun_random_string(sess_id, 10, "0123456789");
|
||||
|
||||
ldl_session_create(&dlsession, mdl_profile->handle, sess_id, full_id, mdl_profile->login);
|
||||
tech_pvt->profile = mdl_profile;
|
||||
@ -1305,7 +1297,7 @@ static ldl_status handle_signalling(ldl_handle_t *handle, ldl_session_t *dlsessi
|
||||
tech_pvt->remote_port = candidates[x].port;
|
||||
tech_pvt->remote_user = switch_core_session_strdup(session, candidates[x].username);
|
||||
|
||||
if (switch_sockaddr_info_get(&tech_pvt->stun_addr,
|
||||
if (switch_sockaddr_info_get(&tech_pvt->switch_stun_addr,
|
||||
tech_pvt->remote_ip,
|
||||
SWITCH_UNSPEC,
|
||||
tech_pvt->remote_port,
|
||||
@ -1332,7 +1324,7 @@ static ldl_status handle_signalling(ldl_handle_t *handle, ldl_session_t *dlsessi
|
||||
}
|
||||
|
||||
memset(cand, 0, sizeof(cand));
|
||||
stun_random_string(tech_pvt->local_user, 16, NULL);
|
||||
switch_stun_random_string(tech_pvt->local_user, 16, NULL);
|
||||
|
||||
cand[0].name = "rtp";
|
||||
cand[0].address = advip;
|
||||
@ -1362,7 +1354,7 @@ static ldl_status handle_signalling(ldl_handle_t *handle, ldl_session_t *dlsessi
|
||||
return LDL_STATUS_FALSE;
|
||||
}
|
||||
tech_pvt->rtp_sock = switch_rtp_get_rtp_socket(tech_pvt->rtp_session);
|
||||
switch_rtp_set_invald_handler(tech_pvt->rtp_session, stun_callback);
|
||||
switch_rtp_set_invald_handler(tech_pvt->rtp_session, switch_stun_callback);
|
||||
switch_rtp_set_private(tech_pvt->rtp_session, tech_pvt);
|
||||
switch_set_flag(tech_pvt, TFLAG_RTP_READY);
|
||||
switch_rtp_start(tech_pvt->rtp_session);
|
||||
@ -1402,10 +1394,10 @@ static ldl_status handle_response(ldl_handle_t *handle, char *id)
|
||||
return LDL_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
static void stun_callback(struct switch_rtp *switch_rtp, switch_socket_t *sock, void *data, switch_size_t len, switch_sockaddr_t *from_addr)
|
||||
static void switch_stun_callback(struct switch_rtp *switch_rtp, switch_socket_t *sock, void *data, switch_size_t len, switch_sockaddr_t *from_addr)
|
||||
{
|
||||
stun_packet_t *packet;
|
||||
stun_packet_attribute_t *attr;
|
||||
switch_stun_packet_t *packet;
|
||||
switch_stun_packet_attribute_t *attr;
|
||||
char username[33] = {0};
|
||||
struct private_object *tech_pvt;
|
||||
unsigned char buf[512] = {0};
|
||||
@ -1414,59 +1406,59 @@ static void stun_callback(struct switch_rtp *switch_rtp, switch_socket_t *sock,
|
||||
assert(tech_pvt != NULL);
|
||||
|
||||
memcpy(buf, data, len);
|
||||
packet = stun_packet_parse(buf, sizeof(buf));
|
||||
packet = switch_stun_packet_parse(buf, sizeof(buf));
|
||||
tech_pvt->last_stun = switch_time_now();
|
||||
|
||||
#if 0
|
||||
switch_console_printf(SWITCH_CHANNEL_CONSOLE, "read %d\ntype: [%s] (0x%04x)\nlength 0x%04x\nid %s\n",
|
||||
len,
|
||||
stun_value_to_name(STUN_TYPE_PACKET_TYPE, packet->header.type),
|
||||
switch_stun_value_to_name(SWITCH_STUN_TYPE_PACKET_TYPE, packet->header.type),
|
||||
packet->header.type,
|
||||
packet->header.length,
|
||||
packet->header.id);
|
||||
#endif
|
||||
|
||||
stun_packet_first_attribute(packet, attr);
|
||||
switch_stun_packet_first_attribute(packet, attr);
|
||||
|
||||
do {
|
||||
//switch_console_printf(SWITCH_CHANNEL_CONSOLE, "ATTRIBUTE [%s] (0x%04x) [%04x bytes]\n", stun_value_to_name(STUN_TYPE_ATTRIBUTE, attr->type), attr->type, attr->length);
|
||||
//switch_console_printf(SWITCH_CHANNEL_CONSOLE, "ATTRIBUTE [%s] (0x%04x) [%04x bytes]\n", switch_stun_value_to_name(SWITCH_STUN_TYPE_ATTRIBUTE, attr->type), attr->type, attr->length);
|
||||
|
||||
switch(attr->type) {
|
||||
case STUN_ATTR_MAPPED_ADDRESS:
|
||||
case SWITCH_STUN_ATTR_MAPPED_ADDRESS:
|
||||
if (attr->type) {
|
||||
char ip[16];
|
||||
uint16_t port;
|
||||
stun_packet_attribute_get_mapped_address(attr, ip, &port);
|
||||
switch_stun_packet_attribute_get_mapped_address(attr, ip, &port);
|
||||
//switch_console_printf(SWITCH_CHANNEL_CONSOLE, "IP/PORT: %s:%d\n", ip, port);
|
||||
}
|
||||
break;
|
||||
case STUN_ATTR_USERNAME:
|
||||
case SWITCH_STUN_ATTR_USERNAME:
|
||||
if(attr->type) {
|
||||
|
||||
if (stun_packet_attribute_get_username(attr, username, 32)) {
|
||||
if (switch_stun_packet_attribute_get_username(attr, username, 32)) {
|
||||
//switch_console_printf(SWITCH_CHANNEL_CONSOLE, "USERNAME: %s\n", username);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
} while (stun_packet_next_attribute(attr));
|
||||
} while (switch_stun_packet_next_attribute(attr));
|
||||
|
||||
|
||||
if (packet->header.type == STUN_BINDING_REQUEST && strstr(username,tech_pvt->remote_user)) {
|
||||
if (packet->header.type == SWITCH_STUN_BINDING_REQUEST && strstr(username,tech_pvt->remote_user)) {
|
||||
uint8_t buf[512];
|
||||
stun_packet_t *rpacket;
|
||||
switch_stun_packet_t *rpacket;
|
||||
char *remote_ip;
|
||||
switch_size_t bytes;
|
||||
|
||||
memset(buf, 0, sizeof(buf));
|
||||
rpacket = stun_packet_build_header(STUN_BINDING_RESPONSE, packet->header.id, buf);
|
||||
stun_packet_attribute_add_username(rpacket, username, 32);
|
||||
rpacket = switch_stun_packet_build_header(SWITCH_STUN_BINDING_RESPONSE, packet->header.id, buf);
|
||||
switch_stun_packet_attribute_add_username(rpacket, username, 32);
|
||||
switch_sockaddr_ip_get(&remote_ip, from_addr);
|
||||
stun_packet_attribute_add_binded_address(rpacket, remote_ip, from_addr->port);
|
||||
switch_stun_packet_attribute_add_binded_address(rpacket, remote_ip, from_addr->port);
|
||||
//xstun
|
||||
//switch_console_printf(SWITCH_CHANNEL_CONSOLE, "RESPONSE TO BIND %s:%d [%s]\n", remote_ip, port, username);
|
||||
//sendto(sock, (char *)rpacket, stun_packet_length(rpacket), 0 ,(struct sockaddr *)&servaddr, sizeof(servaddr));
|
||||
bytes = stun_packet_length(rpacket);
|
||||
//sendto(sock, (char *)rpacket, switch_stun_packet_length(rpacket), 0 ,(struct sockaddr *)&servaddr, sizeof(servaddr));
|
||||
bytes = switch_stun_packet_length(rpacket);
|
||||
switch_socket_sendto(tech_pvt->rtp_sock, from_addr, 0, (void*)rpacket, &bytes);
|
||||
//switch_set_flag(tech_pvt, TFLAG_IO);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user