[commit] r3257 - in freeswitch/branches/knhor/trunk: . libs libs/libdingaling libs/libdingaling/src libs/libspeakup libs/win32 libs/win32/sofia scripts/POE-Filter-FSSocket scripts/POE-Filter-FSSocket/examples scripts/POE-Filter-FSSocket/lib/POE/Filter scripts/socket src src/include src/mod/applications/mod_commands src/mod/applications/mod_conference src/mod/applications/mod_dptools src/mod/applications/mod_playback src/mod/asr_tts/mod_cepstral src/mod/endpoints/mod_dingaling src/mod/e
Author: knhor Date: Thu Nov 2 11:40:13 2006 New Revision: 3257 Modified: freeswitch/branches/knhor/trunk/ (props changed) freeswitch/branches/knhor/trunk/README freeswitch/branches/knhor/trunk/libs/libdingaling/.update freeswitch/branches/knhor/trunk/libs/libdingaling/Makefile.in freeswitch/branches/knhor/trunk/libs/libdingaling/aclocal.m4 freeswitch/branches/knhor/trunk/libs/libdingaling/configure freeswitch/branches/knhor/trunk/libs/libdingaling/src/config.h.in freeswitch/branches/knhor/trunk/libs/libdingaling/src/libdingaling.c freeswitch/branches/knhor/trunk/libs/libspeakup/Makefile.in freeswitch/branches/knhor/trunk/libs/libspeakup/aclocal.m4 freeswitch/branches/knhor/trunk/libs/libspeakup/configure freeswitch/branches/knhor/trunk/libs/mozilla.build.sh freeswitch/branches/knhor/trunk/libs/win32/Download SOFIA.vcproj freeswitch/branches/knhor/trunk/libs/win32/sofia/cleancount freeswitch/branches/knhor/trunk/libs/win32/sofia/libsofia_sip_ua_static.vcproj freeswitch/branches/knhor/trunk/scripts/POE-Filter-FSSocket/CHANGES freeswitch/branches/knhor/trunk/scripts/POE-Filter-FSSocket/examples/fsconsole.pl freeswitch/branches/knhor/trunk/scripts/POE-Filter-FSSocket/lib/POE/Filter/FSSocket.pm freeswitch/branches/knhor/trunk/scripts/socket/fsconsole.pl freeswitch/branches/knhor/trunk/src/include/switch_am_config.h.in freeswitch/branches/knhor/trunk/src/include/switch_channel.h freeswitch/branches/knhor/trunk/src/include/switch_ivr.h freeswitch/branches/knhor/trunk/src/include/switch_module_interfaces.h freeswitch/branches/knhor/trunk/src/include/switch_resample.h freeswitch/branches/knhor/trunk/src/include/switch_types.h freeswitch/branches/knhor/trunk/src/mod/applications/mod_commands/mod_commands.c freeswitch/branches/knhor/trunk/src/mod/applications/mod_conference/mod_conference.c freeswitch/branches/knhor/trunk/src/mod/applications/mod_dptools/mod_dptools.c freeswitch/branches/knhor/trunk/src/mod/applications/mod_playback/mod_playback.c freeswitch/branches/knhor/trunk/src/mod/asr_tts/mod_cepstral/mod_cepstral.c freeswitch/branches/knhor/trunk/src/mod/endpoints/mod_dingaling/mod_dingaling.c freeswitch/branches/knhor/trunk/src/mod/endpoints/mod_portaudio/mod_portaudio.c freeswitch/branches/knhor/trunk/src/mod/endpoints/mod_sofia/Makefile freeswitch/branches/knhor/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c freeswitch/branches/knhor/trunk/src/mod/endpoints/mod_sofia/mod_sofia.vcproj freeswitch/branches/knhor/trunk/src/mod/endpoints/mod_wanpipe/mod_wanpipe.c freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_event_socket/mod_event_socket.c freeswitch/branches/knhor/trunk/src/mod/languages/mod_spidermonkey/Makefile freeswitch/branches/knhor/trunk/src/switch.c freeswitch/branches/knhor/trunk/src/switch_channel.c freeswitch/branches/knhor/trunk/src/switch_core.c freeswitch/branches/knhor/trunk/src/switch_ivr.c freeswitch/branches/knhor/trunk/src/switch_resample.c freeswitch/branches/knhor/trunk/src/switch_utils.c Log: Merged revisions 3161-3256 via svnmerge from trunk Modified: freeswitch/branches/knhor/trunk/README ============================================================================== --- freeswitch/branches/knhor/trunk/README (original) +++ freeswitch/branches/knhor/trunk/README Thu Nov 2 11:40:13 2006 @@ -1,40 +0,0 @@ -Freeswitch depends on several out of tree libraries. All of freeswitch depends on APR, and mod_exosip depends on osip, exosip, jtrhead, and jrtplib. -Download locations and links for details can be found below. - -Apr info available at: http://apr.apache.org - -Download Locations: -apr: http://apache.mirrors.versehost.com/apr/apr-1.2.2.tar.gz - -Backup Download Locations: -apr: http://www.sofaswitch.org/mikej/apr-1.2.2.tar.gz - - -Exosip\Osip info available at: http://www.antisip.com/ - -Download Locations: -osip: http://www.antisip.com/download/libosip2-2.2.1.tar.gz -exosip: http://www.antisip.com/download/libeXosip-0.9.0.tar.gz - -Backup Download Locations: -osip: http://www.sofaswitch.org/mikej/libosip2-2.2.1.tar.gz -exosip: http://www.sofaswitch.org/mikej/libeXosip-0.9.0.tar.gz - - -Jthread\Jrtplib info available at: http://research.edm.luc.ac.be/jori/page.html - -Download Locations: -jthread: http://research.edm.luc.ac.be/jori/jthread/jthread-1.1.2.tar.gz -jrtplib: http://research.edm.luc.ac.be/jori/jrtplib/jrtplib-3.3.0.tar.gz - -Backup Download Locations: -jthread: http://www.sofaswitch.org/mikej/jthread-1.1.2.tar.gz -jrtplib: http://www.sofaswitch.org/mikej/jrtplib-3.3.0.tar.gz - -MSVC Notes: -Freeswitch will compile and run from Microsoft Visual Studio 2005. -If using the Visual C++ Express edition, please make sure that the location of the include and lib directories are propperly set in the file -C:\Program Files\Microsoft Visual Studio 8\VC\vcpackages\VCProjectEngine.Dll.Express.Config. -The automated build process for te dependecy libraries will not work without these settings. - - Modified: freeswitch/branches/knhor/trunk/libs/libdingaling/.update ============================================================================== --- freeswitch/branches/knhor/trunk/libs/libdingaling/.update (original) +++ freeswitch/branches/knhor/trunk/libs/libdingaling/.update Thu Nov 2 11:40:13 2006 @@ -1 +1 @@ -Fri Oct 20 19:58:38 CDT 2006 +Tue Oct 24 13:51:01 CDT 2006 Modified: freeswitch/branches/knhor/trunk/libs/libdingaling/Makefile.in ============================================================================== --- freeswitch/branches/knhor/trunk/libs/libdingaling/Makefile.in (original) +++ freeswitch/branches/knhor/trunk/libs/libdingaling/Makefile.in Thu Nov 2 11:40:13 2006 @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# Makefile.in generated by automake 1.9.2 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. +# 2003, 2004 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -15,6 +15,8 @@ @SET_MAKE@ +SOURCES = $(libdingaling_la_SOURCES) + srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ @@ -71,11 +73,11 @@ am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \ +LTCOMPILE = $(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) -LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ +LINK = $(LIBTOOL) --mode=link --tag=CC $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ SOURCES = $(libdingaling_la_SOURCES) DIST_SOURCES = $(libdingaling_la_SOURCES) @@ -332,18 +334,18 @@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< libdingaling_la-libdingaling.lo: src/libdingaling.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-libdingaling.lo -MD -MP -MF "$(DEPDIR)/libdingaling_la-libdingaling.Tpo" -c -o libdingaling_la-libdingaling.lo `test -f 'src/libdingaling.c' || echo '$(srcdir)/'`src/libdingaling.c; \ +@am__fastdepCC_TRUE@ if $(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdingaling_la_CFLAGS) $(CFLAGS) -MT libdingaling_la-libdingaling.lo -MD -MP -MF "$(DEPDIR)/libdingaling_la-libdingaling.Tpo" -c -o libdingaling_la-libdingaling.lo `test -f 'src/libdingaling.c' || echo '$(srcdir)/'`src/libdingaling.c; \ @am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdingaling_la-libdingaling.Tpo" "$(DEPDIR)/libdingaling_la-libdingaling.Plo"; else rm -f "$(DEPDIR)/libdingaling_la-libdingaling.Tpo"; exit 1; fi @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='src/libdingaling.c' object='libdingaling_la-libdingaling.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-libdingaling.lo `test -f 'src/libdingaling.c' || echo '$(srcdir)/'`src/libdingaling.c +@am__fastdepCC_FALSE@ $(LIBTOOL) --mode=compile --tag=CC $(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-sha1.lo: src/sha1.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-sha1.lo -MD -MP -MF "$(DEPDIR)/libdingaling_la-sha1.Tpo" -c -o libdingaling_la-sha1.lo `test -f 'src/sha1.c' || echo '$(srcdir)/'`src/sha1.c; \ +@am__fastdepCC_TRUE@ if $(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdingaling_la_CFLAGS) $(CFLAGS) -MT libdingaling_la-sha1.lo -MD -MP -MF "$(DEPDIR)/libdingaling_la-sha1.Tpo" -c -o libdingaling_la-sha1.lo `test -f 'src/sha1.c' || echo '$(srcdir)/'`src/sha1.c; \ @am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libdingaling_la-sha1.Tpo" "$(DEPDIR)/libdingaling_la-sha1.Plo"; else rm -f "$(DEPDIR)/libdingaling_la-sha1.Tpo"; exit 1; fi @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='src/sha1.c' object='libdingaling_la-sha1.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-sha1.lo `test -f 'src/sha1.c' || echo '$(srcdir)/'`src/sha1.c +@am__fastdepCC_FALSE@ $(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdingaling_la_CFLAGS) $(CFLAGS) -c -o libdingaling_la-sha1.lo `test -f 'src/sha1.c' || echo '$(srcdir)/'`src/sha1.c mostlyclean-libtool: -rm -f *.lo @@ -379,13 +381,7 @@ # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): - @failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ + @set fnord $$MAKEFLAGS; amf=$$2; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ @@ -397,7 +393,7 @@ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ + || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ @@ -405,13 +401,7 @@ mostlyclean-recursive clean-recursive distclean-recursive \ maintainer-clean-recursive: - @failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ + @set fnord $$MAKEFLAGS; amf=$$2; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ @@ -432,7 +422,7 @@ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ + || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ Modified: freeswitch/branches/knhor/trunk/libs/libdingaling/aclocal.m4 ============================================================================== --- freeswitch/branches/knhor/trunk/libs/libdingaling/aclocal.m4 (original) +++ freeswitch/branches/knhor/trunk/libs/libdingaling/aclocal.m4 Thu Nov 2 11:40:13 2006 @@ -1,7 +1,7 @@ -# generated automatically by aclocal 1.9.6 -*- Autoconf -*- +# generated automatically by aclocal 1.9.2 -*- Autoconf -*- -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -# 2005 Free Software Foundation, Inc. +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 +# Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -123,7 +123,7 @@ # Sed substitution that helps us do robust quoting. It backslashifies # metacharacters that are still active within double-quoted strings. -Xsed='sed -e 1s/^X//' +Xsed='sed -e s/^X//' [sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'] # Same as above, but do not quote variable references. @@ -143,7 +143,7 @@ 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" @@ -191,8 +191,6 @@ old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" fi -_LT_CC_BASENAME([$compiler]) - # Only perform the check for file, if the check method requires it case $deplibs_check_method in file_magic*) @@ -238,48 +236,6 @@ ])# _LT_AC_SYS_COMPILER -# _LT_CC_BASENAME(CC) -# ------------------- -# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. -AC_DEFUN([_LT_CC_BASENAME], -[for cc_temp in $1""; do - case $cc_temp in - compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; - distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` -]) - - -# _LT_COMPILER_BOILERPLATE -# ------------------------ -# Check for compiler boilerplate output or warnings with -# the simple compiler test code. -AC_DEFUN([_LT_COMPILER_BOILERPLATE], -[ac_outfile=conftest.$ac_objext -printf "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$rm conftest* -])# _LT_COMPILER_BOILERPLATE - - -# _LT_LINKER_BOILERPLATE -# ---------------------- -# Check for linker boilerplate output or warnings with -# the simple link test code. -AC_DEFUN([_LT_LINKER_BOILERPLATE], -[ac_outfile=conftest.$ac_objext -printf "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$rm conftest* -])# _LT_LINKER_BOILERPLATE - - # _LT_AC_SYS_LIBPATH_AIX # ---------------------- # Links a minimal program and checks the executable @@ -352,15 +308,15 @@ # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH +if test "X${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi if test -z "$ECHO"; then 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 +485,7 @@ # 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 +567,7 @@ # 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) @@ -621,10 +577,8 @@ echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $echo "X$_lt_compiler_boilerplate" | $Xsed >conftest.exp - $SED '/^$/d' conftest.err >conftest.er2 - if test ! -s conftest.err || diff conftest.exp conftest.er2 >/dev/null; then + # So say no if there are warnings + if test ! -s conftest.err; then $2=yes fi fi @@ -650,16 +604,11 @@ 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. cat conftest.err 1>&AS_MESSAGE_LOG_FD - $echo "X$_lt_linker_boilerplate" | $Xsed > conftest.exp - $SED '/^$/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - $2=yes - fi else $2=yes fi @@ -718,38 +667,11 @@ lt_cv_sys_max_cmd_len=8192; ;; - netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) - # This has been around since 386BSD, at least. Likely further. - if test -x /sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` - 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 - fi - # And add a safety zone - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - ;; - osf*) - # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure - # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not - # 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 ;; - esac - fi - ;; - *) + *) # If test is not a shell built-in, we'll probably end up computing a # maximum length that is only half of the actual maximum length, but # we can't tell. - SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} - while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \ + while (test "X"`$CONFIG_SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \ = "XX$teststring") >/dev/null 2>&1 && new_result=`expr "X$teststring" : ".*" 2>&1` && lt_cv_sys_max_cmd_len=$new_result && @@ -854,7 +776,7 @@ }] 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 +925,7 @@ # 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) @@ -1015,13 +937,11 @@ then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings - $echo "X$_lt_compiler_boilerplate" | $Xsed > out/conftest.exp - $SED '/^$/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.err || diff out/conftest.exp out/conftest.er2 >/dev/null; then + if test ! -s out/conftest.err; then _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 @@ -1085,8 +1005,8 @@ [AC_MSG_CHECKING([how to hardcode library paths into programs]) _LT_AC_TAGVAR(hardcode_action, $1)= if test -n "$_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)" || \ - test -n "$_LT_AC_TAGVAR(runpath_var, $1)" || \ - test "X$_LT_AC_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then + test -n "$_LT_AC_TAGVAR(runpath_var $1)" || \ + test "X$_LT_AC_TAGVAR(hardcode_automatic, $1)"="Xyes" ; then # We can hardcode non-existant directories. if test "$_LT_AC_TAGVAR(hardcode_direct, $1)" != no && @@ -1253,7 +1173,7 @@ shlibpath_var=LIBRARY_PATH ;; -bsdi[[45]]*) +bsdi4*) version_type=linux need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' @@ -1281,8 +1201,7 @@ 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' @@ -1312,7 +1231,7 @@ ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' ;; esac ;; @@ -1335,7 +1254,7 @@ 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"` @@ -1370,17 +1289,8 @@ dynamic_linker='GNU ld.so' ;; -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 +freebsd*) + objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` version_type=freebsd-$objformat case $version_type in freebsd-elf*) @@ -1398,7 +1308,7 @@ freebsd2*) shlibpath_overrides_runpath=yes ;; - freebsd3.[[01]]* | freebsdelf3.[[01]]*) + freebsd3.[01]* | freebsdelf3.[01]*) shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; @@ -1425,7 +1335,7 @@ 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 @@ -1522,10 +1432,27 @@ # before this can be enabled. hardcode_into_libs=yes + # find out which ABI we are using + libsuff= + case "$host_cpu" in + x86_64*|s390x*|powerpc64*) + echo '[#]line __oline__ "configure"' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.$ac_objext` in + *64-bit*) + libsuff=64 + sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}" + ;; + esac + fi + rm -rf conftest* + ;; + esac + # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + lt_ld_extra=`$SED -e 's/[:,\t]/ /g;s/=[^=]*$//;s/=[^= ]* / /g' /etc/ld.so.conf | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on @@ -1587,11 +1514,7 @@ openbsd*) version_type=sunos need_lib_prefix=no - # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. - case $host_os in - openbsd3.3 | openbsd3.3.*) need_version=yes ;; - *) need_version=no ;; - esac + need_version=yes library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH @@ -1757,9 +1680,7 @@ case $tagname in CXX) - if test -n "$CXX" && ( test "X$CXX" != "Xno" && - ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || - (test "X$CXX" != "Xg++"))) ; then + if test -n "$CXX" && test "X$CXX" != "Xno"; then AC_LIBTOOL_LANG_CXX_CONFIG else tagname="" @@ -1821,7 +1742,7 @@ # 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 +1916,7 @@ 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 +2026,7 @@ 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 +2058,7 @@ 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 @@ -2164,15 +2085,6 @@ *) reload_flag=" $reload_flag" ;; esac reload_cmds='$LD$reload_flag -o $output$reload_objs' -case $host_os in - darwin*) - if test "$GCC" = yes; then - reload_cmds='$CC -nostdlib ${wl}-r -o $output$reload_objs' - else - reload_cmds='$LD$reload_flag -o $output$reload_objs' - fi - ;; -esac ])# AC_PROG_LD_RELOAD_FLAG @@ -2206,7 +2118,7 @@ lt_cv_deplibs_check_method=pass_all ;; -bsdi[[45]]*) +bsdi4*) lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)' lt_cv_file_magic_cmd='/usr/bin/file -L' lt_cv_file_magic_test_file=/shlib/libc.so @@ -2229,13 +2141,13 @@ lt_cv_deplibs_check_method=pass_all ;; -freebsd* | kfreebsd*-gnu | dragonfly*) +freebsd* | kfreebsd*-gnu) if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then case $host_cpu in i*86 ) # Not sure whether the presence of OpenBSD here was a mistake. # Let's accept both of them until this is cleared up. - lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD)/i[[3-9]]86 (compact )?demand paged shared library' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` ;; @@ -2251,7 +2163,7 @@ 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 @@ -2279,6 +2191,15 @@ # This must be Linux ELF. linux*) + case $host_cpu in + alpha*|hppa*|i*86|ia64*|m68*|mips*|powerpc*|sparc*|s390*|sh*|x86_64*) + lt_cv_deplibs_check_method=pass_all ;; + *) + # glibc up to 2.1.1 does not perform some relocations on ARM + # this will be overridden with pass_all, but let us keep it just in case + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' ;; + esac + lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so` lt_cv_deplibs_check_method=pass_all ;; @@ -2301,10 +2222,12 @@ ;; openbsd*) + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB shared object' else - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' + lt_cv_deplibs_check_method='file_magic OpenBSD.* shared library' fi ;; @@ -2425,13 +2348,13 @@ # ----------------------------------- # 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 +2373,13 @@ # ----------------------------------- # 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 @@ -2494,21 +2417,10 @@ # --------------- AC_DEFUN([_LT_AC_LANG_CXX], [AC_REQUIRE([AC_PROG_CXX]) -AC_REQUIRE([_LT_AC_PROG_CXXCPP]) +AC_REQUIRE([AC_PROG_CXXCPP]) _LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX]) ])# _LT_AC_LANG_CXX -# _LT_AC_PROG_CXXCPP -# --------------- -AC_DEFUN([_LT_AC_PROG_CXXCPP], -[ -AC_REQUIRE([AC_PROG_CXX]) -if test -n "$CXX" && ( test "X$CXX" != "Xno" && - ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || - (test "X$CXX" != "Xg++"))) ; then - AC_PROG_CXXCPP -fi -])# _LT_AC_PROG_CXXCPP # AC_LIBTOOL_F77 # -------------- @@ -2581,10 +2493,6 @@ _LT_AC_SYS_COMPILER -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - # # Check for any special shared library compilation flags. # @@ -2635,7 +2543,7 @@ # 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 @@ -2648,6 +2556,43 @@ if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=no fi + ;; + darwin* | rhapsody*) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + case "$host_os" in + rhapsody* | darwin1.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='-undefined suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)='-flat_namespace -undefined suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='-flat_namespace -undefined suppress' + ;; + 10.*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='-undefined dynamic_lookup' + ;; + esac + fi + ;; + esac + 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 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}' + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_automatic, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-all_load $convenience' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi ;; esac AC_MSG_RESULT([$enable_shared]) @@ -2673,7 +2618,7 @@ AC_DEFUN([_LT_AC_LANG_CXX_CONFIG], [AC_LANG_PUSH(C++) AC_REQUIRE([AC_PROG_CXX]) -AC_REQUIRE([_LT_AC_PROG_CXXCPP]) +AC_REQUIRE([AC_PROG_CXXCPP]) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no _LT_AC_TAGVAR(allow_undefined_flag, $1)= @@ -2702,7 +2647,7 @@ _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 @@ -2717,10 +2662,6 @@ # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_AC_SYS_COMPILER -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_LD=$LD @@ -2742,7 +2683,7 @@ CC=${CXX-"c++"} compiler=$CC _LT_AC_TAGVAR(compiler, $1)=$CC -_LT_CC_BASENAME([$compiler]) +cc_basename=`$echo X"$compiler" | $Xsed -e 's%^.*/%%'` # We don't want -fno-exception wen compiling C++ code, so set the # no_builtin_flag separately @@ -2849,7 +2790,7 @@ _LT_AC_TAGVAR(link_all_deplibs, $1)=yes if test "$GXX" = yes; then - case $host_os in aix4.[[012]]|aix4.[[012]].*) + case $host_os in aix4.[012]|aix4.[012].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`${CC} -print-prog-name=collect2` @@ -2870,9 +2811,6 @@ fi esac shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi else # not using gcc if test "$host_cpu" = ia64; then @@ -2918,7 +2856,7 @@ # 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 @@ -2932,7 +2870,6 @@ esac ;; - cygwin* | mingw* | pw32*) # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, # as there is no search path for DLLs. @@ -2956,76 +2893,65 @@ _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; - darwin* | rhapsody*) - case $host_os in - rhapsody* | darwin1.[[012]]) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress' - ;; - *) # Darwin 1.3 on - if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - else - case ${MACOSX_DEPLOYMENT_TARGET} in - 10.[[012]]) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - ;; - 10.*) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup' - ;; - esac - fi - ;; - esac - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_automatic, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='' - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - if test "$GXX" = yes ; then - lt_int_apple_cc_single_mod=no - output_verbose_link_cmd='echo' - if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then - lt_int_apple_cc_single_mod=yes - fi - if test "X$lt_int_apple_cc_single_mod" = Xyes ; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + darwin* | rhapsody*) + if test "$GXX" = yes; then + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + case "$host_os" in + rhapsody* | darwin1.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='-undefined suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)='-flat_namespace -undefined suppress' else - _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 - 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 - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$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~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - fi - _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 - case $cc_basename in - xlc*) - 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 - _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}' - ;; - *) - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='-flat_namespace -undefined suppress' + ;; + 10.*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='-undefined dynamic_lookup' + ;; + esac fi - ;; + ;; + esac + lt_int_apple_cc_single_mod=no + output_verbose_link_cmd='echo' + if $CC -dumpspecs 2>&1 | grep 'single_module' >/dev/null ; then + lt_int_apple_cc_single_mod=yes + fi + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r ${wl}-bind_at_load -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 ${wl}-bind_at_load $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 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 + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r ${wl}-bind_at_load -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~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + fi + _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}' + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_automatic, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-all_load $convenience' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + dgux*) case $cc_basename in - ec++*) + ec++) # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; - ghcx*) + ghcx) # Green Hills C++ Compiler # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no @@ -3036,14 +2962,14 @@ ;; esac ;; - freebsd[[12]]*) + freebsd[12]*) # C++ shared libraries reported to be fairly broken before switch to ELF _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; freebsd-elf*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ;; - freebsd* | kfreebsd*-gnu | dragonfly*) + freebsd* | kfreebsd*-gnu) # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF # conventions _LT_AC_TAGVAR(ld_shlibs, $1)=yes @@ -3060,11 +2986,11 @@ # location of the library. case $cc_basename in - CC*) + CC) # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; - aCC*) + aCC) _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when @@ -3074,7 +3000,7 @@ # 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 -b $CFLAGS -v conftest.$objext 2>&1) | grep "[[-]]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[-]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' ;; *) if test "$GXX" = yes; then @@ -3088,7 +3014,7 @@ ;; 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 +3030,7 @@ ;; 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 @@ -3125,12 +3051,12 @@ esac case $cc_basename in - CC*) + CC) # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; - aCC*) - case $host_cpu in + aCC) + 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 +3077,7 @@ *) 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' ;; @@ -3169,9 +3095,9 @@ ;; irix5* | irix6*) case $cc_basename in - CC*) + CC) # SGI C++ - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib' # Archives containing C++ object files must be created using # "CC -ar", where "CC" is the IRIX C++ compiler. This is @@ -3182,7 +3108,7 @@ *) if test "$GXX" = yes; then if test "$with_gnu_ld" = no; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib' else _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib' fi @@ -3195,7 +3121,7 @@ ;; linux*) case $cc_basename in - KCC*) + KCC) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file @@ -3220,41 +3146,17 @@ # "CC -Bstatic", where "CC" is the KAI C++ compiler. _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; - icpc*) + icpc) # Intel C++ with_gnu_ld=yes - # version 8.0 and above of icpc choke on multiply defined symbols - # if we add $predep_objects and $postdep_objects, however 7.1 and - # earlier do not add the objects themselves. - case `$CC -V 2>&1` in - *"Version 7."*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - ;; - *) # Version 8.0 or newer - tmp_idyn= - case $host_cpu in - ia64*) tmp_idyn=' -i_dynamic';; - esac - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - ;; - esac _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' ;; - pgCC*) - # Portland Group C++ compiler - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' - - _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' - ;; - cxx*) + cxx) # Compaq C++ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' @@ -3285,7 +3187,7 @@ ;; mvs*) case $cc_basename in - cxx*) + cxx) # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; @@ -3306,25 +3208,9 @@ # Workaround some broken pre-1.5 toolchains output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' ;; - openbsd2*) - # C++ shared libraries are fairly broken - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - openbsd*) - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - fi - output_verbose_link_cmd='echo' - ;; osf3*) case $cc_basename in - KCC*) + KCC) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file @@ -3340,14 +3226,14 @@ _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; - RCC*) + RCC) # Rational C++ 2.4.1 # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; - cxx*) + cxx) _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${objdir}/so_locations -o $lib' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: @@ -3365,7 +3251,7 @@ *) if test "$GXX" = yes && test "$with_gnu_ld" = no; then _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: @@ -3384,7 +3270,7 @@ ;; osf4* | osf5*) case $cc_basename in - KCC*) + KCC) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file @@ -3399,17 +3285,17 @@ # the KAI C++ compiler. _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;; - RCC*) + RCC) # Rational C++ 2.4.1 # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; - cxx*) + cxx) _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ echo "-hidden">> $lib.exp~ - $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~ + $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry $objdir/so_locations -o $lib~ $rm $lib.exp' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' @@ -3428,7 +3314,7 @@ *) if test "$GXX" = yes && test "$with_gnu_ld" = no; then _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: @@ -3452,7 +3338,7 @@ sco*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no case $cc_basename in - CC*) + CC) # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; @@ -3464,12 +3350,12 @@ ;; sunos4*) case $cc_basename in - CC*) + CC) # Sun C++ 4.x # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; - lcc*) + lcc) # Lucid # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no @@ -3482,33 +3368,36 @@ ;; solaris*) case $cc_basename in - CC*) + 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 case $host_os in - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + solaris2.[0-5] | solaris2.[0-5].*) ;; *) # The C++ compiler is used as linker so we must use $wl # flag to pass the commands to the underlying system - # linker. We must also pass each convience library through - # to the system linker between allextract/defaultextract. - # The C++ compiler will combine linker options so we - # cannot just pass the convience library names through - # without $wl. + # linker. # Supported since Solaris 2.6 (maybe 2.5.1?) - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' ;; 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 @@ -3516,7 +3405,7 @@ # in the archive. _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' ;; - gcx*) + gcx) # Green Hills C++ Compiler _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' @@ -3559,7 +3448,7 @@ ;; tandem*) case $cc_basename in - NCC*) + NCC) # NonStop-UX NCC 3.20 # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no @@ -3665,7 +3554,7 @@ # 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 +3630,6 @@ $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 @@ -3806,16 +3680,12 @@ # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_AC_SYS_COMPILER -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - # Allow CC to be a program name with arguments. lt_save_CC="$CC" CC=${F77-"f77"} compiler=$CC _LT_AC_TAGVAR(compiler, $1)=$CC -_LT_CC_BASENAME([$compiler]) +cc_basename=`$echo X"$compiler" | $Xsed -e 's%^.*/%%'` AC_MSG_CHECKING([if libtool supports shared libraries]) AC_MSG_RESULT([$can_build_shared]) @@ -3825,7 +3695,7 @@ # 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 @@ -3834,9 +3704,7 @@ fi ;; aix4* | aix5*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi + test "$enable_shared" = yes && enable_static=no ;; esac AC_MSG_RESULT([$enable_shared]) @@ -3887,27 +3755,20 @@ lt_simple_compile_test_code="class foo {}\n" # Code to be used in simple link tests -lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }\n' +lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }\n' # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_AC_SYS_COMPILER -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - # Allow CC to be a program name with arguments. lt_save_CC="$CC" CC=${GCJ-"gcj"} compiler=$CC _LT_AC_TAGVAR(compiler, $1)=$CC -_LT_CC_BASENAME([$compiler]) # GCJ did not exist at the time GCC didn't implicitly link libc in. _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no -_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds - AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1) AC_LIBTOOL_PROG_COMPILER_PIC($1) AC_LIBTOOL_PROG_CC_C_O($1) @@ -3950,16 +3811,11 @@ # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_AC_SYS_COMPILER -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - # Allow CC to be a program name with arguments. lt_save_CC="$CC" CC=${RC-"windres"} compiler=$CC _LT_AC_TAGVAR(compiler, $1)=$CC -_LT_CC_BASENAME([$compiler]) _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes AC_LIBTOOL_CONFIG($1) @@ -4095,7 +3951,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -4106,11 +3962,11 @@ SED=$lt_SED # Sed that helps us avoid accidentally triggering echo(1) options like -n. -Xsed="$SED -e 1s/^X//" +Xsed="$SED -e s/^X//" # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH +if test "X\${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi # The names of the tagged configurations supported by this script. available_tags= @@ -4141,13 +3997,7 @@ # The host system. host_alias=$host_alias host=$host -host_os=$host_os -# The build system. -build_alias=$build_alias -build=$build -build_os=$build_os - # An echo program that does not interpret backslashes. echo=$lt_echo @@ -4223,7 +4073,7 @@ # Does compiler simultaneously support -c and -o options? compiler_c_o=$lt_[]_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) -# Must we lock files when doing compilation? +# Must we lock files when doing compilation ? need_locks=$lt_need_locks # Do we need the lib prefix for modules? @@ -4497,6 +4347,9 @@ # Regexp to match symbols that can be accessed directly from C. sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' +# Transform the above into a raw symbol and a C symbol. +symxfrm='\1 \2\3 \3' + # Transform an extracted symbol line into a proper C declaration lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'" @@ -4518,13 +4371,6 @@ lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" ;; -linux*) - if test "$host_cpu" = ia64; then - symcode='[[ABCDGIRSTW]]' - lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" - lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" - fi - ;; irix* | nonstopux*) symcode='[[BCDEGRST]]' ;; @@ -4556,11 +4402,8 @@ # Try without a prefix undercore, then with it. for ac_symprfx in "" "_"; do - # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. - symxfrm="\\1 $ac_symprfx\\2 \\2" - # Write the raw and C identifiers. - lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*\($ac_symprfx\)$sympat$opt_cr$/$symxfrm/p'" # Check to see that the pipe works correctly. pipe_works=no @@ -4724,7 +4567,7 @@ 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*) ;; *) @@ -4749,28 +4592,18 @@ ;; chorus*) case $cc_basename in - cxch68*) + cxch68) # Green Hills C++ Compiler # _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" ;; esac ;; - darwin*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - case $cc_basename in - xlc*) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - ;; - esac - ;; dgux*) case $cc_basename in - ec++*) + ec++) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' ;; - ghcx*) + ghcx) # Green Hills C++ Compiler _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' ;; @@ -4778,22 +4611,22 @@ ;; esac ;; - freebsd* | kfreebsd*-gnu | dragonfly*) + freebsd* | kfreebsd*-gnu) # FreeBSD uses GNU C++ ;; hpux9* | hpux10* | hpux11*) case $cc_basename in - CC*) + CC) _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" if test "$host_cpu" != ia64; then _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' fi ;; - aCC*) + 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 ;; @@ -4808,7 +4641,7 @@ ;; irix5* | irix6* | nonstopux*) case $cc_basename in - CC*) + CC) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' # CC pic flag -KPIC is the default. @@ -4819,24 +4652,18 @@ ;; linux*) case $cc_basename in - KCC*) + KCC) # KAI C++ Compiler _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; - icpc* | ecpc*) + icpc) # Intel C++ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; - pgCC*) - # 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' - ;; - cxx*) + cxx) # Compaq C++ # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. @@ -4853,7 +4680,7 @@ ;; mvs*) case $cc_basename in - cxx*) + cxx) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' ;; *) @@ -4864,14 +4691,14 @@ ;; osf3* | osf4* | osf5*) case $cc_basename in - KCC*) + KCC) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' ;; - RCC*) + RCC) # Rational C++ 2.4.1 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' ;; - cxx*) + cxx) # Digital/Compaq C++ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # Make sure the PIC flag is empty. It appears that all Alpha @@ -4887,7 +4714,7 @@ ;; sco*) case $cc_basename in - CC*) + CC) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; *) @@ -4896,13 +4723,13 @@ ;; solaris*) case $cc_basename in - CC*) + CC) # Sun C++ 4.2, 5.x and Centerline C++ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' ;; - gcx*) + gcx) # Green Hills C++ Compiler _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' ;; @@ -4912,12 +4739,12 @@ ;; sunos4*) case $cc_basename in - CC*) + CC) # Sun C++ 4.x _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; - lcc*) + lcc) # Lucid _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' ;; @@ -4927,7 +4754,7 @@ ;; tandem*) case $cc_basename in - NCC*) + NCC) # NonStop-UX NCC 3.20 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' ;; @@ -4998,7 +4825,7 @@ 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 ;; @@ -5024,16 +4851,6 @@ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' fi ;; - darwin*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - case $cc_basename in - xlc*) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - ;; - esac - ;; mingw* | pw32* | os2*) # This hack is so that the source file can tell whether it is being @@ -5045,7 +4862,7 @@ _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 ;; @@ -5069,19 +4886,12 @@ ;; linux*) - case $cc_basename in + case $CC in icc* | ecc*) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; - pgcc* | pgf77* | pgf90* | pgf95*) - # 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' - ;; ccc*) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # All Alpha code is PIC. @@ -5102,14 +4912,9 @@ ;; solaris*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - case $cc_basename in - f77* | f90* | f95*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; - *) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; - esac ;; sunos4*) @@ -5131,11 +4936,6 @@ fi ;; - unicos*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - uts4*) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' @@ -5163,7 +4963,7 @@ [_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)= @@ -5196,7 +4996,7 @@ _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" ;; cygwin* | mingw*) - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/;/^.* __nm__/s/^.* __nm__\([[^ ]]*\) [[^ ]]*/\1 DATA/;/^I /d;/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols' + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGS]] /s/.* \([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols' ;; *) _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' @@ -5239,8 +5039,7 @@ # rely on this symbol name, it's probably fine to never include it in # preloaded symbol tables. extract_expsyms_cmds= - # Just being paranoid about ensuring that cc_basename is set. - _LT_CC_BASENAME([$compiler]) + case $host_os in cygwin* | mingw* | pw32*) # FIXME: the MSVC++ port hasn't been tested in a loooong time @@ -5260,27 +5059,6 @@ # 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. - runpath_var=LD_RUN_PATH - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= - fi - supports_anon_versioning=no - case `$LD -v 2>/dev/null` in - *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 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*) @@ -5331,7 +5109,7 @@ _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_AC_TAGVAR(always_export_symbols, $1)=no _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols' + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGS]] /s/.* \([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols' if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' @@ -5345,41 +5123,10 @@ fi~ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' else - _LT_AC_TAGVAR(ld_shlibs, $1)=no + ld_shlibs=no fi ;; - linux*) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - 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' - 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' - tmp_addflag=' $pic_flag -Mnomain' ;; - ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 - tmp_addflag=' -i_dynamic' ;; - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 - tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler - tmp_addflag=' -nofor_main' ;; - esac - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - - if test $supports_anon_versioning = yes; then - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - $echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - fi - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - netbsd*) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' @@ -5418,6 +5165,31 @@ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ;; + linux*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_cmds, $1)="$tmp_archive_cmds" + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [01].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + if test $supports_anon_versioning = yes; then + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $output_objdir/$libname.ver~ +cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ +$echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + else + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="$tmp_archive_cmds" + fi + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' @@ -5428,11 +5200,16 @@ ;; esac - if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no; then - runpath_var= - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = yes; then + runpath_var=LD_RUN_PATH + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + fi fi else # PORTME fill in a description of your system's linker (not GNU ld) @@ -5496,7 +5273,7 @@ _LT_AC_TAGVAR(link_all_deplibs, $1)=yes if test "$GCC" = yes; then - case $host_os in aix4.[[012]]|aix4.[[012]].*) + case $host_os in aix4.[012]|aix4.[012].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`${CC} -print-prog-name=collect2` @@ -5517,9 +5294,6 @@ fi esac shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi else # not using gcc if test "$host_cpu" = ia64; then @@ -5564,7 +5338,7 @@ # 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 @@ -5578,7 +5352,7 @@ _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; - bsdi[[45]]*) + bsdi4*) _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic ;; @@ -5599,57 +5373,57 @@ _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true' # FIXME: Should let the user specify the lib program. _LT_AC_TAGVAR(old_archive_cmds, $1)='lib /OUT:$oldlib$oldobjs$old_deplibs' - _LT_AC_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`' + fix_srcfile_path='`cygpath -w "$srcfile"`' _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes ;; darwin* | rhapsody*) - case $host_os in - rhapsody* | darwin1.[[012]]) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress' - ;; - *) # Darwin 1.3 on - if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - else - case ${MACOSX_DEPLOYMENT_TARGET} in - 10.[[012]]) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - ;; - 10.*) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup' - ;; - esac - fi - ;; - esac + if test "$GXX" = yes ; then _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + case "$host_os" in + rhapsody* | darwin1.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='-undefined suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)='-flat_namespace -undefined suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='-flat_namespace -undefined suppress' + ;; + 10.*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='-undefined dynamic_lookup' + ;; + esac + fi + ;; + esac + lt_int_apple_cc_single_mod=no + output_verbose_link_cmd='echo' + if $CC -dumpspecs 2>&1 | grep 'single_module' >/dev/null ; then + lt_int_apple_cc_single_mod=yes + fi + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r ${wl}-bind_at_load -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 ${wl}-bind_at_load $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 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 + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r ${wl}-bind_at_load -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~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + fi + _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}' _LT_AC_TAGVAR(hardcode_direct, $1)=no _LT_AC_TAGVAR(hardcode_automatic, $1)=yes _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='' + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-all_load $convenience' _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - if test "$GCC" = yes ; then - 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 - _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 - case $cc_basename in - xlc*) - 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 - _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}' - ;; - *) - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac + _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; @@ -5683,7 +5457,7 @@ ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | kfreebsd*-gnu | dragonfly*) + freebsd* | kfreebsd*-gnu) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_AC_TAGVAR(hardcode_direct, $1)=yes @@ -5708,7 +5482,7 @@ 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 +5491,7 @@ ;; 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 +5501,7 @@ 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' @@ -5794,7 +5568,6 @@ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' else @@ -5840,7 +5613,7 @@ _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ - $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib~$rm $lib.exp' # Both c and cxx compiler support -rpath directly _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' @@ -5859,12 +5632,10 @@ solaris*) _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text' if test "$GCC" = yes; then - wlarc='${wl}' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $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 -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' else - wlarc='' _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_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~ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' @@ -5873,18 +5644,8 @@ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no case $host_os in solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; - *) - # The compiler driver will combine linker options so we - # cannot just pass the convience library names through - # without $wl, iff we do not link with $LD. - # Luckily, gcc supports the same syntax we need for Sun Studio. - # Supported since Solaris 2.6 (maybe 2.5.1?) - case $wlarc in - '') - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;; - *) - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; - esac ;; + *) # Supported since Solaris 2.6 (maybe 2.5.1?) + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;; esac _LT_AC_TAGVAR(link_all_deplibs, $1)=yes ;; @@ -6145,7 +5906,7 @@ # Add /usr/xpg4/bin/sed as it is typically found on Solaris # along with /bin/sed that truncates output. for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do - test ! -f $lt_ac_sed && continue + test ! -f $lt_ac_sed && break cat /dev/null > conftest.in lt_ac_count=0 echo $ECHO_N "0123456789$ECHO_C" >conftest.in @@ -6170,17 +5931,29 @@ fi done done -]) SED=$lt_cv_path_SED +]) AC_MSG_RESULT([$SED]) ]) -# Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. +# -*- Autoconf -*- +# Copyright (C) 2002, 2003 Free Software Foundation, Inc. +# Generated from amversion.in; do not edit by hand. +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA + # AM_AUTOMAKE_VERSION(VERSION) # ---------------------------- # Automake X.Y traces this macro to ensure aclocal.m4 has been @@ -6192,16 +5965,27 @@ # Call AM_AUTOMAKE_VERSION so it can be traced. # This function is AC_REQUIREd by AC_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], - [AM_AUTOMAKE_VERSION([1.9.6])]) + [AM_AUTOMAKE_VERSION([1.9.2])]) -# AM_AUX_DIR_EXPAND -*- Autoconf -*- +# AM_AUX_DIR_EXPAND -# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. +# Copyright (C) 2001, 2003 Free Software Foundation, Inc. +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets # $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to # `$srcdir', `$srcdir/..', or `$srcdir/../..'. @@ -6247,17 +6031,27 @@ am_aux_dir=`cd $ac_aux_dir && pwd` ]) -# AM_CONDITIONAL -*- Autoconf -*- +# AM_CONDITIONAL -*- Autoconf -*- -# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005 -# Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. +# Copyright (C) 1997, 2000, 2001, 2003, 2004 Free Software Foundation, Inc. -# serial 7 +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 6 + # AM_CONDITIONAL(NAME, SHELL-CONDITION) # ------------------------------------- # Define a conditional. @@ -6280,16 +6074,27 @@ Usually this means the macro was only invoked conditionally.]]) fi])]) +# serial 7 -*- Autoconf -*- -# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 # Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. -# serial 8 +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + + # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be # written in clear, in which case automake, when reading aclocal.m4, # will think it sees a *use*, and therefore will trigger all it's @@ -6297,6 +6102,7 @@ # CC etc. in the Makefile, will ask for an AC_PROG_CC use... + # _AM_DEPENDENCIES(NAME) # ---------------------- # See how the compiler implements dependency checking. @@ -6436,17 +6242,28 @@ AC_SUBST([AMDEPBACKSLASH]) ]) -# Generate code to set up dependency tracking. -*- Autoconf -*- +# Generate code to set up dependency tracking. -*- Autoconf -*- -# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 -# Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 +# Free Software Foundation, Inc. -#serial 3 +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +#serial 2 + # _AM_OUTPUT_DEPENDENCY_COMMANDS # ------------------------------ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], @@ -6504,20 +6321,31 @@ [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) ]) -# Do all the work for Automake. -*- Autoconf -*- +# Do all the work for Automake. -*- Autoconf -*- -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 +# This macro actually does too much some checks are only needed if +# your package does certain things. But this isn't really a big deal. + +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 # Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. -# serial 12 +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. -# This macro actually does too much. Some checks are only needed if -# your package does certain things. But this isn't really a big deal. +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 11 + # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) # AM_INIT_AUTOMAKE([OPTIONS]) # ----------------------------------------------- @@ -6618,28 +6446,52 @@ done echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count]) -# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - # AM_PROG_INSTALL_SH # ------------------ # Define $install_sh. + +# Copyright (C) 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl install_sh=${install_sh-"$am_aux_dir/install-sh"} AC_SUBST(install_sh)]) -# Copyright (C) 2003, 2005 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. +# -*- Autoconf -*- +# Copyright (C) 2003 Free Software Foundation, Inc. -# serial 2 +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 1 + # Check whether the underlying file-system supports filenames # with a leading dot. For instance MS-DOS doesn't. AC_DEFUN([AM_SET_LEADING_DOT], @@ -6653,16 +6505,27 @@ rmdir .tst 2>/dev/null AC_SUBST([am__leading_dot])]) -# Check to see how 'make' treats includes. -*- Autoconf -*- +# Check to see how 'make' treats includes. -*- Autoconf -*- -# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. +# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. -# serial 3 +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 2 + # AM_MAKE_INCLUDE() # ----------------- # Check to see how make treats includes. @@ -6705,17 +6568,28 @@ rm -f confinc confmf ]) -# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- +# -*- Autoconf -*- -# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2005 -# Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. -# serial 4 +# Copyright (C) 1997, 1999, 2000, 2001, 2003 Free Software Foundation, Inc. +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 3 + # AM_MISSING_PROG(NAME, PROGRAM) # ------------------------------ AC_DEFUN([AM_MISSING_PROG], @@ -6740,16 +6614,27 @@ fi ]) -# Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - # AM_PROG_MKDIR_P # --------------- # Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise. -# + +# Copyright (C) 2003, 2004 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + # Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories # created by `make install' are always world readable, even if the # installer happens to have an overly restrictive umask (e.g. 077). @@ -6803,16 +6688,27 @@ fi AC_SUBST([mkdir_p])]) -# Helper functions for option handling. -*- Autoconf -*- +# Helper functions for option handling. -*- Autoconf -*- -# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. +# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. -# serial 3 +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 2 + # _AM_MANGLE_OPTION(NAME) # ----------------------- AC_DEFUN([_AM_MANGLE_OPTION], @@ -6836,17 +6732,29 @@ AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) -# Check to make sure that the build environment is sane. -*- Autoconf -*- - -# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005 -# Free Software Foundation, Inc. # -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. +# Check to make sure that the build environment is sane. +# -# serial 4 +# Copyright (C) 1996, 1997, 2000, 2001, 2003 Free Software Foundation, Inc. +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 3 + # AM_SANITY_CHECK # --------------- AC_DEFUN([AM_SANITY_CHECK], @@ -6888,14 +6796,25 @@ fi AC_MSG_RESULT(yes)]) -# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - # AM_PROG_INSTALL_STRIP -# --------------------- + +# Copyright (C) 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + # One issue with vendor `install' (even GNU) is that you can't # specify the program used to strip binaries. This is especially # annoying in cross-compiling environments, where the build's strip @@ -6918,13 +6837,25 @@ # Check how to create a tarball. -*- Autoconf -*- -# Copyright (C) 2004, 2005 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. +# Copyright (C) 2004 Free Software Foundation, Inc. -# serial 2 +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 1 + # _AM_PROG_TAR(FORMAT) # -------------------- Modified: freeswitch/branches/knhor/trunk/libs/libdingaling/configure ============================================================================== --- freeswitch/branches/knhor/trunk/libs/libdingaling/configure (original) +++ freeswitch/branches/knhor/trunk/libs/libdingaling/configure Thu Nov 2 11:40:13 2006 @@ -280,15 +280,15 @@ # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH +if test "X${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi if test -z "$ECHO"; then 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 @@ -3236,7 +3236,7 @@ # Add /usr/xpg4/bin/sed as it is typically found on Solaris # along with /bin/sed that truncates output. for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do - test ! -f $lt_ac_sed && continue + test ! -f $lt_ac_sed && break cat /dev/null > conftest.in lt_ac_count=0 echo $ECHO_N "0123456789$ECHO_C" >conftest.in @@ -3261,10 +3261,10 @@ fi done done +SED=$lt_cv_path_SED fi -SED=$lt_cv_path_SED echo "$as_me:$LINENO: result: $SED" >&5 echo "${ECHO_T}$SED" >&6 @@ -3341,7 +3341,7 @@ 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'*) @@ -3375,7 +3375,7 @@ if test "${lt_cv_prog_gnu_ld+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - # 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 @@ -3405,15 +3405,6 @@ *) reload_flag=" $reload_flag" ;; esac reload_cmds='$LD$reload_flag -o $output$reload_objs' -case $host_os in - darwin*) - if test "$GCC" = yes; then - reload_cmds='$CC -nostdlib ${wl}-r -o $output$reload_objs' - else - reload_cmds='$LD$reload_flag -o $output$reload_objs' - fi - ;; -esac echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5 echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6 @@ -3500,7 +3491,7 @@ lt_cv_deplibs_check_method=pass_all ;; -bsdi[45]*) +bsdi4*) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' lt_cv_file_magic_cmd='/usr/bin/file -L' lt_cv_file_magic_test_file=/shlib/libc.so @@ -3523,13 +3514,13 @@ lt_cv_deplibs_check_method=pass_all ;; -freebsd* | kfreebsd*-gnu | dragonfly*) +freebsd* | kfreebsd*-gnu) if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then case $host_cpu in i*86 ) # Not sure whether the presence of OpenBSD here was a mistake. # Let's accept both of them until this is cleared up. - lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD)/i[3-9]86 (compact )?demand paged shared library' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` ;; @@ -3545,7 +3536,7 @@ 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 @@ -3573,6 +3564,15 @@ # This must be Linux ELF. linux*) + case $host_cpu in + alpha*|hppa*|i*86|ia64*|m68*|mips*|powerpc*|sparc*|s390*|sh*|x86_64*) + lt_cv_deplibs_check_method=pass_all ;; + *) + # glibc up to 2.1.1 does not perform some relocations on ARM + # this will be overridden with pass_all, but let us keep it just in case + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' ;; + esac + lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so` lt_cv_deplibs_check_method=pass_all ;; @@ -3595,10 +3595,12 @@ ;; openbsd*) + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB shared object' else - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + lt_cv_deplibs_check_method='file_magic OpenBSD.* shared library' fi ;; @@ -3691,7 +3693,7 @@ ;; *-*-irix6*) # Find out which ABI we are using. - echo '#line 3694 "configure"' > conftest.$ac_ext + echo '#line 3696 "configure"' > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? @@ -3734,7 +3736,7 @@ ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then - case `/usr/bin/file conftest.o` in + case "`/usr/bin/file conftest.o`" in *32-bit*) case $host in x86_64-*linux*) @@ -4940,12 +4942,7 @@ fi - - -if test -n "$CXX" && ( test "X$CXX" != "Xno" && - ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || - (test "X$CXX" != "Xg++"))) ; then - ac_ext=cc +ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' @@ -5175,9 +5172,7 @@ ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -fi - ac_ext=f ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' @@ -5270,7 +5265,7 @@ # Provide some information about the compiler. -echo "$as_me:5273:" \ +echo "$as_me:5268:" \ "checking for Fortran 77 compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5 @@ -5460,38 +5455,11 @@ lt_cv_sys_max_cmd_len=8192; ;; - netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) - # This has been around since 386BSD, at least. Likely further. - if test -x /sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` - 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 - fi - # And add a safety zone - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - ;; - osf*) - # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure - # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not - # 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 ;; - esac - fi - ;; - *) + *) # If test is not a shell built-in, we'll probably end up computing a # maximum length that is only half of the actual maximum length, but # we can't tell. - SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} - while (test "X"`$SHELL $0 --fallback-echo "X$teststring" 2>/dev/null` \ + while (test "X"`$CONFIG_SHELL $0 --fallback-echo "X$teststring" 2>/dev/null` \ = "XX$teststring") >/dev/null 2>&1 && new_result=`expr "X$teststring" : ".*" 2>&1` && lt_cv_sys_max_cmd_len=$new_result && @@ -5537,6 +5505,9 @@ # Regexp to match symbols that can be accessed directly from C. sympat='\([_A-Za-z][_A-Za-z0-9]*\)' +# Transform the above into a raw symbol and a C symbol. +symxfrm='\1 \2\3 \3' + # Transform an extracted symbol line into a proper C declaration lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'" @@ -5558,13 +5529,6 @@ lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" ;; -linux*) - if test "$host_cpu" = ia64; then - symcode='[ABCDGIRSTW]' - lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" - lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" - fi - ;; irix* | nonstopux*) symcode='[BCDEGRST]' ;; @@ -5596,11 +5560,8 @@ # Try without a prefix undercore, then with it. for ac_symprfx in "" "_"; do - # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. - symxfrm="\\1 $ac_symprfx\\2 \\2" - # Write the raw and C identifiers. - lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*\($ac_symprfx\)$sympat$opt_cr$/$symxfrm/p'" # Check to see that the pipe works correctly. pipe_works=no @@ -5762,7 +5723,7 @@ # Sed substitution that helps us do robust quoting. It backslashifies # metacharacters that are still active within double-quoted strings. -Xsed='sed -e 1s/^X//' +Xsed='sed -e s/^X//' sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g' # Same as above, but do not quote variable references. @@ -5782,7 +5743,7 @@ 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" @@ -6067,17 +6028,6 @@ old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" fi -for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` - - # Only perform the check for file, if the check method requires it case $deplibs_check_method in file_magic*) @@ -6103,7 +6053,7 @@ 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 @@ -6165,7 +6115,7 @@ 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 @@ -6264,20 +6214,6 @@ compiler=$CC -# save warnings/boilerplate of simple test code -ac_outfile=conftest.$ac_objext -printf "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$rm conftest* - -ac_outfile=conftest.$ac_objext -printf "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$rm conftest* - - # # Check for any special shared library compilation flags. # @@ -6314,16 +6250,11 @@ LDFLAGS="$LDFLAGS $lt_prog_compiler_static" 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. cat conftest.err 1>&5 - $echo "X$_lt_linker_boilerplate" | $Xsed > conftest.exp - $SED '/^$/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_prog_compiler_static_works=yes - fi else lt_prog_compiler_static_works=yes fi @@ -6365,20 +6296,18 @@ # 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:6371: $lt_compile\"" >&5) + (eval echo "\"\$as_me:6302: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:6375: \$? = $ac_status" >&5 + echo "$as_me:6306: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $echo "X$_lt_compiler_boilerplate" | $Xsed >conftest.exp - $SED '/^$/d' conftest.err >conftest.er2 - if test ! -s conftest.err || diff conftest.exp conftest.er2 >/dev/null; then + # So say no if there are warnings + if test ! -s conftest.err; then lt_cv_prog_compiler_rtti_exceptions=yes fi fi @@ -6455,7 +6384,7 @@ 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 ;; @@ -6481,16 +6410,6 @@ lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' fi ;; - darwin*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - case $cc_basename in - xlc*) - lt_prog_compiler_pic='-qnocommon' - lt_prog_compiler_wl='-Wl,' - ;; - esac - ;; mingw* | pw32* | os2*) # This hack is so that the source file can tell whether it is being @@ -6502,7 +6421,7 @@ lt_prog_compiler_wl='-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 ;; @@ -6526,19 +6445,12 @@ ;; linux*) - case $cc_basename in + case $CC in icc* | ecc*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-static' ;; - pgcc* | pgf77* | pgf90* | pgf95*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fpic' - lt_prog_compiler_static='-Bstatic' - ;; ccc*) lt_prog_compiler_wl='-Wl,' # All Alpha code is PIC. @@ -6559,14 +6471,9 @@ ;; solaris*) + lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' - case $cc_basename in - f77* | f90* | f95*) - lt_prog_compiler_wl='-Qoption ld ';; - *) - lt_prog_compiler_wl='-Wl,';; - esac ;; sunos4*) @@ -6588,11 +6495,6 @@ fi ;; - unicos*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_can_build_shared=no - ;; - uts4*) lt_prog_compiler_pic='-pic' lt_prog_compiler_static='-Bstatic' @@ -6627,20 +6529,18 @@ # 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:6633: $lt_compile\"" >&5) + (eval echo "\"\$as_me:6535: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:6637: \$? = $ac_status" >&5 + echo "$as_me:6539: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $echo "X$_lt_compiler_boilerplate" | $Xsed >conftest.exp - $SED '/^$/d' conftest.err >conftest.er2 - if test ! -s conftest.err || diff conftest.exp conftest.er2 >/dev/null; then + # So say no if there are warnings + if test ! -s conftest.err; then lt_prog_compiler_pic_works=yes fi fi @@ -6661,7 +6561,7 @@ fi fi -case $host_os in +case "$host_os" in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic= @@ -6689,25 +6589,23 @@ # 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:6695: $lt_compile\"" >&5) + (eval echo "\"\$as_me:6595: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:6699: \$? = $ac_status" >&5 + echo "$as_me:6599: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings - $echo "X$_lt_compiler_boilerplate" | $Xsed > out/conftest.exp - $SED '/^$/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.err || diff out/conftest.exp out/conftest.er2 >/dev/null; then + if test ! -s out/conftest.err; then lt_cv_prog_compiler_c_o=yes fi fi - chmod u+w . 2>&5 + chmod u+w . $rm conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation @@ -6783,16 +6681,6 @@ # rely on this symbol name, it's probably fine to never include it in # preloaded symbol tables. extract_expsyms_cmds= - # Just being paranoid about ensuring that cc_basename is set. - for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` case $host_os in cygwin* | mingw* | pw32*) @@ -6813,27 +6701,6 @@ # 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. - runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir' - export_dynamic_flag_spec='${wl}--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - whole_archive_flag_spec= - fi - supports_anon_versioning=no - case `$LD -v 2>/dev/null` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 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*) @@ -6884,7 +6751,7 @@ allow_undefined_flag=unsupported always_export_symbols=no enable_shared_with_static_runtimes=yes - export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' @@ -6902,37 +6769,6 @@ fi ;; - linux*) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - tmp_addflag= - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - whole_archive_flag_spec='${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 - whole_archive_flag_spec='${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' ;; - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 - tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler - tmp_addflag=' -nofor_main' ;; - esac - archive_cmds='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - - if test $supports_anon_versioning = yes; then - archive_expsym_cmds='$echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - $echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - fi - else - ld_shlibs=no - fi - ;; - netbsd*) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' @@ -6971,6 +6807,31 @@ hardcode_shlibpath_var=no ;; + linux*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_cmds="$tmp_archive_cmds" + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ 01.* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + if test $supports_anon_versioning = yes; then + archive_expsym_cmds='$echo "{ global:" > $output_objdir/$libname.ver~ +cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ +$echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + else + archive_expsym_cmds="$tmp_archive_cmds" + fi + else + ld_shlibs=no + fi + ;; + *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' @@ -6981,11 +6842,16 @@ ;; esac - if test "$ld_shlibs" = no; then - runpath_var= - hardcode_libdir_flag_spec= - export_dynamic_flag_spec= - whole_archive_flag_spec= + if test "$ld_shlibs" = yes; then + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec= + fi fi else # PORTME fill in a description of your system's linker (not GNU ld) @@ -7049,7 +6915,7 @@ link_all_deplibs=yes if test "$GCC" = yes; then - case $host_os in aix4.[012]|aix4.[012].*) + case $host_os in aix4.012|aix4.012.*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`${CC} -print-prog-name=collect2` @@ -7070,9 +6936,6 @@ fi esac shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi else # not using gcc if test "$host_cpu" = ia64; then @@ -7219,7 +7082,7 @@ # Exported symbols can be pulled into shared objects from archives whole_archive_flag_spec=' ' archive_cmds_need_lc=yes - # This is similar to how AIX traditionally builds its shared libraries. + # This is similar to how AIX traditionally builds it's shared libraries. archive_expsym_cmds="\$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 @@ -7233,7 +7096,7 @@ ld_shlibs=no ;; - bsdi[45]*) + bsdi4*) export_dynamic_flag_spec=-rdynamic ;; @@ -7259,52 +7122,52 @@ ;; darwin* | rhapsody*) - case $host_os in - rhapsody* | darwin1.[012]) - allow_undefined_flag='${wl}-undefined ${wl}suppress' - ;; - *) # Darwin 1.3 on - if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then - allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - else - case ${MACOSX_DEPLOYMENT_TARGET} in - 10.[012]) - allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - ;; - 10.*) - allow_undefined_flag='${wl}-undefined ${wl}dynamic_lookup' - ;; - esac - fi - ;; - esac + if test "$GXX" = yes ; then archive_cmds_need_lc=no + case "$host_os" in + rhapsody* | darwin1.[012]) + allow_undefined_flag='-undefined suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag='-flat_namespace -undefined suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag='-flat_namespace -undefined suppress' + ;; + 10.*) + allow_undefined_flag='-undefined dynamic_lookup' + ;; + esac + fi + ;; + esac + lt_int_apple_cc_single_mod=no + output_verbose_link_cmd='echo' + if $CC -dumpspecs 2>&1 | grep 'single_module' >/dev/null ; then + lt_int_apple_cc_single_mod=yes + fi + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + archive_cmds='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + else + archive_cmds='$CC -r ${wl}-bind_at_load -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 + module_cmds='$CC ${wl}-bind_at_load $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 ld's + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + archive_expsym_cmds='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 + archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r ${wl}-bind_at_load -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~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + fi + module_expsym_cmds='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}' hardcode_direct=no hardcode_automatic=yes hardcode_shlibpath_var=unsupported - whole_archive_flag_spec='' + whole_archive_flag_spec='-all_load $convenience' link_all_deplibs=yes - if test "$GCC" = yes ; then - output_verbose_link_cmd='echo' - archive_cmds='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' - module_cmds='$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 - archive_expsym_cmds='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}' - module_expsym_cmds='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 - case $cc_basename in - xlc*) - output_verbose_link_cmd='echo' - archive_cmds='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' - module_cmds='$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 - archive_expsym_cmds='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}' - module_expsym_cmds='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}' - ;; - *) - ld_shlibs=no - ;; - esac + ld_shlibs=no fi ;; @@ -7338,7 +7201,7 @@ ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | kfreebsd*-gnu | dragonfly*) + freebsd* | kfreebsd*-gnu) archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes @@ -7363,7 +7226,7 @@ hpux10* | hpux11*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then - case $host_cpu in + case "$host_cpu" in hppa*64*|ia64*) archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; @@ -7372,7 +7235,7 @@ ;; esac else - case $host_cpu in + case "$host_cpu" in hppa*64*|ia64*) archive_cmds='$LD -b +h $soname -o $lib $libobjs $deplibs $linker_flags' ;; @@ -7382,7 +7245,7 @@ esac fi if test "$with_gnu_ld" = no; then - case $host_cpu in + case "$host_cpu" in hppa*64*) hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_flag_spec_ld='+b $libdir' @@ -7449,7 +7312,6 @@ hardcode_shlibpath_var=no if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' hardcode_libdir_flag_spec='${wl}-rpath,$libdir' export_dynamic_flag_spec='${wl}-E' else @@ -7495,7 +7357,7 @@ allow_undefined_flag=' -expect_unresolved \*' archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ - $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib~$rm $lib.exp' # Both c and cxx compiler support -rpath directly hardcode_libdir_flag_spec='-rpath $libdir' @@ -7514,12 +7376,10 @@ solaris*) no_undefined_flag=' -z text' if test "$GCC" = yes; then - wlarc='${wl}' archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' else - wlarc='' archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' @@ -7528,18 +7388,8 @@ hardcode_shlibpath_var=no case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - # The compiler driver will combine linker options so we - # cannot just pass the convience library names through - # without $wl, iff we do not link with $LD. - # Luckily, gcc supports the same syntax we need for Sun Studio. - # Supported since Solaris 2.6 (maybe 2.5.1?) - case $wlarc in - '') - whole_archive_flag_spec='-z allextract$convenience -z defaultextract' ;; - *) - whole_archive_flag_spec='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; - esac ;; + *) # Supported since Solaris 2.6 (maybe 2.5.1?) + whole_archive_flag_spec='-z allextract$convenience -z defaultextract' ;; esac link_all_deplibs=yes ;; @@ -7813,7 +7663,7 @@ shlibpath_var=LIBRARY_PATH ;; -bsdi[45]*) +bsdi4*) version_type=linux need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' @@ -7841,8 +7691,7 @@ 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' @@ -7872,7 +7721,7 @@ ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/./-/g'`${versuffix}${shared_ext}' ;; esac ;; @@ -7895,7 +7744,7 @@ 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"` @@ -7930,17 +7779,8 @@ dynamic_linker='GNU ld.so' ;; -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 +freebsd*) + objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` version_type=freebsd-$objformat case $version_type in freebsd-elf*) @@ -7958,7 +7798,7 @@ freebsd2*) shlibpath_overrides_runpath=yes ;; - freebsd3.[01]* | freebsdelf3.[01]*) + freebsd3.01* | freebsdelf3.01*) shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; @@ -7985,7 +7825,7 @@ 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 @@ -8082,10 +7922,31 @@ # before this can be enabled. hardcode_into_libs=yes + # find out which ABI we are using + libsuff= + case "$host_cpu" in + x86_64*|s390x*|powerpc64*) + echo '#line 7929 "configure"' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.$ac_objext` in + *64-bit*) + libsuff=64 + sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}" + ;; + esac + fi + rm -rf conftest* + ;; + esac + # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + lt_ld_extra=`$SED -e 's/:,\t/ /g;s/=^=*$//;s/=^= * / /g' /etc/ld.so.conf | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on @@ -8147,11 +8008,7 @@ openbsd*) version_type=sunos need_lib_prefix=no - # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. - case $host_os in - openbsd3.3 | openbsd3.3.*) need_version=yes ;; - *) need_version=no ;; - esac + need_version=yes library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH @@ -8273,8 +8130,8 @@ echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6 hardcode_action= if test -n "$hardcode_libdir_flag_spec" || \ - test -n "$runpath_var" || \ - test "X$hardcode_automatic" = "Xyes" ; then + test -n "$runpath_var " || \ + test "X$hardcode_automatic"="Xyes" ; then # We can hardcode non-existant directories. if test "$hardcode_direct" != no && @@ -8940,7 +8797,7 @@ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<EOF -#line 8943 "configure" +#line 8800 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -9006,7 +8863,7 @@ ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) >&5 2>/dev/null + (./conftest; exit; ) 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; @@ -9038,7 +8895,7 @@ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<EOF -#line 9041 "configure" +#line 8898 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -9104,7 +8961,7 @@ ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) >&5 2>/dev/null + (./conftest; exit; ) 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; @@ -9154,7 +9011,7 @@ # 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 @@ -9167,6 +9024,43 @@ if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=no fi + ;; + darwin* | rhapsody*) + if test "$GCC" = yes; then + archive_cmds_need_lc=no + case "$host_os" in + rhapsody* | darwin1.[012]) + allow_undefined_flag='-undefined suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag='-flat_namespace -undefined suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag='-flat_namespace -undefined suppress' + ;; + 10.*) + allow_undefined_flag='-undefined dynamic_lookup' + ;; + esac + fi + ;; + esac + output_verbose_link_cmd='echo' + archive_cmds='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs$compiler_flags -install_name $rpath/$soname $verstring' + module_cmds='$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 ld's + archive_expsym_cmds='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}' + module_expsym_cmds='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}' + hardcode_direct=no + hardcode_automatic=yes + hardcode_shlibpath_var=unsupported + whole_archive_flag_spec='-all_load $convenience' + link_all_deplibs=yes + else + ld_shlibs=no + fi ;; esac echo "$as_me:$LINENO: result: $enable_shared" >&5 @@ -9296,7 +9190,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -9307,11 +9201,11 @@ SED=$lt_SED # Sed that helps us avoid accidentally triggering echo(1) options like -n. -Xsed="$SED -e 1s/^X//" +Xsed="$SED -e s/^X//" # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH +if test "X\${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi # The names of the tagged configurations supported by this script. available_tags= @@ -9341,13 +9235,7 @@ # The host system. host_alias=$host_alias host=$host -host_os=$host_os -# The build system. -build_alias=$build_alias -build=$build -build_os=$build_os - # An echo program that does not interpret backslashes. echo=$lt_echo @@ -9423,7 +9311,7 @@ # Does compiler simultaneously support -c and -o options? compiler_c_o=$lt_lt_cv_prog_compiler_c_o -# Must we lock files when doing compilation? +# Must we lock files when doing compilation ? need_locks=$lt_need_locks # Do we need the lib prefix for modules? @@ -9718,9 +9606,7 @@ case $tagname in CXX) - if test -n "$CXX" && ( test "X$CXX" != "Xno" && - ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || - (test "X$CXX" != "Xg++"))) ; then + if test -n "$CXX" && test "X$CXX" != "Xno"; then ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -9757,7 +9643,7 @@ compiler_lib_search_path_CXX= # Source file extension for C++ test sources. -ac_ext=cpp +ac_ext=cc # Object file extension for compiled C++ test sources. objext=o @@ -9778,20 +9664,6 @@ compiler=$CC -# save warnings/boilerplate of simple test code -ac_outfile=conftest.$ac_objext -printf "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$rm conftest* - -ac_outfile=conftest.$ac_objext -printf "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$rm conftest* - - # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_LD=$LD @@ -9813,17 +9685,8 @@ CC=${CXX-"c++"} compiler=$CC compiler_CXX=$CC -for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` +cc_basename=`$echo X"$compiler" | $Xsed -e 's%^.*/%%'` - # We don't want -fno-exception wen compiling C++ code, so set the # no_builtin_flag separately if test "$GXX" = yes; then @@ -9893,7 +9756,7 @@ 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'*) @@ -9927,7 +9790,7 @@ if test "${lt_cv_prog_gnu_ld+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - # 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 @@ -10036,7 +9899,7 @@ link_all_deplibs_CXX=yes if test "$GXX" = yes; then - case $host_os in aix4.[012]|aix4.[012].*) + case $host_os in aix4.012|aix4.012.*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`${CC} -print-prog-name=collect2` @@ -10057,9 +9920,6 @@ fi esac shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi else # not using gcc if test "$host_cpu" = ia64; then @@ -10207,7 +10067,7 @@ # Exported symbols can be pulled into shared objects from archives whole_archive_flag_spec_CXX=' ' archive_cmds_need_lc_CXX=yes - # This is similar to how AIX traditionally builds its shared libraries. + # This is similar to how AIX traditionally builds it's shared libraries. archive_expsym_cmds_CXX="\$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 @@ -10221,7 +10081,6 @@ esac ;; - cygwin* | mingw* | pw32*) # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, # as there is no search path for DLLs. @@ -10245,76 +10104,65 @@ ld_shlibs_CXX=no fi ;; - darwin* | rhapsody*) - case $host_os in - rhapsody* | darwin1.[012]) - allow_undefined_flag_CXX='${wl}-undefined ${wl}suppress' - ;; - *) # Darwin 1.3 on - if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then - allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - else - case ${MACOSX_DEPLOYMENT_TARGET} in - 10.[012]) - allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - ;; - 10.*) - allow_undefined_flag_CXX='${wl}-undefined ${wl}dynamic_lookup' - ;; - esac - fi - ;; - esac - archive_cmds_need_lc_CXX=no - hardcode_direct_CXX=no - hardcode_automatic_CXX=yes - hardcode_shlibpath_var_CXX=unsupported - whole_archive_flag_spec_CXX='' - link_all_deplibs_CXX=yes - if test "$GXX" = yes ; then - lt_int_apple_cc_single_mod=no - output_verbose_link_cmd='echo' - if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then - lt_int_apple_cc_single_mod=yes - fi - if test "X$lt_int_apple_cc_single_mod" = Xyes ; then - archive_cmds_CXX='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + darwin* | rhapsody*) + if test "$GXX" = yes; then + archive_cmds_need_lc_CXX=no + case "$host_os" in + rhapsody* | darwin1.[012]) + allow_undefined_flag_CXX='-undefined suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag_CXX='-flat_namespace -undefined suppress' else - archive_cmds_CXX='$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 - module_cmds_CXX='$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 - if test "X$lt_int_apple_cc_single_mod" = Xyes ; then - archive_expsym_cmds_CXX='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 - archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$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~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - fi - module_expsym_cmds_CXX='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 - case $cc_basename in - xlc*) - output_verbose_link_cmd='echo' - archive_cmds_CXX='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' - module_cmds_CXX='$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 - archive_expsym_cmds_CXX='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}' - module_expsym_cmds_CXX='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}' - ;; - *) - ld_shlibs_CXX=no - ;; - esac + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag_CXX='-flat_namespace -undefined suppress' + ;; + 10.*) + allow_undefined_flag_CXX='-undefined dynamic_lookup' + ;; + esac fi - ;; + ;; + esac + lt_int_apple_cc_single_mod=no + output_verbose_link_cmd='echo' + if $CC -dumpspecs 2>&1 | grep 'single_module' >/dev/null ; then + lt_int_apple_cc_single_mod=yes + fi + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + archive_cmds_CXX='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + else + archive_cmds_CXX='$CC -r ${wl}-bind_at_load -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 + module_cmds_CXX='$CC ${wl}-bind_at_load $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 ld's + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + archive_expsym_cmds_CXX='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 + archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r ${wl}-bind_at_load -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~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + fi + module_expsym_cmds_CXX='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}' + hardcode_direct_CXX=no + hardcode_automatic_CXX=yes + hardcode_shlibpath_var_CXX=unsupported + whole_archive_flag_spec_CXX='-all_load $convenience' + link_all_deplibs_CXX=yes + else + ld_shlibs_CXX=no + fi + ;; + dgux*) case $cc_basename in - ec++*) + ec++) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; - ghcx*) + ghcx) # Green Hills C++ Compiler # FIXME: insert proper C++ library support ld_shlibs_CXX=no @@ -10325,14 +10173,14 @@ ;; esac ;; - freebsd[12]*) + freebsd12*) # C++ shared libraries reported to be fairly broken before switch to ELF ld_shlibs_CXX=no ;; freebsd-elf*) archive_cmds_need_lc_CXX=no ;; - freebsd* | kfreebsd*-gnu | dragonfly*) + freebsd* | kfreebsd*-gnu) # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF # conventions ld_shlibs_CXX=yes @@ -10349,11 +10197,11 @@ # location of the library. case $cc_basename in - CC*) + CC) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; - aCC*) + aCC) archive_cmds_CXX='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when @@ -10363,7 +10211,7 @@ # 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 -b $CFLAGS -v conftest.$objext 2>&1) | grep "[-]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' ;; *) if test "$GXX" = yes; then @@ -10377,7 +10225,7 @@ ;; hpux10*|hpux11*) if test $with_gnu_ld = no; then - case $host_cpu in + case "$host_cpu" in hppa*64*) hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' hardcode_libdir_flag_spec_ld_CXX='+b $libdir' @@ -10393,7 +10241,7 @@ ;; esac fi - case $host_cpu in + case "$host_cpu" in hppa*64*) hardcode_direct_CXX=no hardcode_shlibpath_var_CXX=no @@ -10414,12 +10262,12 @@ esac case $cc_basename in - CC*) + CC) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; - aCC*) - case $host_cpu in + aCC) + case "$host_cpu" in hppa*64*|ia64*) archive_cmds_CXX='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs' ;; @@ -10440,7 +10288,7 @@ *) if test "$GXX" = yes; then if test $with_gnu_ld = no; then - case $host_cpu in + case "$host_cpu" in ia64*|hppa*64*) archive_cmds_CXX='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs' ;; @@ -10458,9 +10306,9 @@ ;; irix5* | irix6*) case $cc_basename in - CC*) + CC) # SGI C++ - archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib' # Archives containing C++ object files must be created using # "CC -ar", where "CC" is the IRIX C++ compiler. This is @@ -10471,7 +10319,7 @@ *) if test "$GXX" = yes; then if test "$with_gnu_ld" = no; then - archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib' else archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib' fi @@ -10484,7 +10332,7 @@ ;; linux*) case $cc_basename in - KCC*) + KCC) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file @@ -10509,41 +10357,17 @@ # "CC -Bstatic", where "CC" is the KAI C++ compiler. old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;; - icpc*) + icpc) # Intel C++ with_gnu_ld=yes - # version 8.0 and above of icpc choke on multiply defined symbols - # if we add $predep_objects and $postdep_objects, however 7.1 and - # earlier do not add the objects themselves. - case `$CC -V 2>&1` in - *"Version 7."*) - archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - ;; - *) # Version 8.0 or newer - tmp_idyn= - case $host_cpu in - ia64*) tmp_idyn=' -i_dynamic';; - esac - archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - ;; - esac archive_cmds_need_lc_CXX=no + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' export_dynamic_flag_spec_CXX='${wl}--export-dynamic' whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive' ;; - pgCC*) - # Portland Group C++ compiler - archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' - - hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' - export_dynamic_flag_spec_CXX='${wl}--export-dynamic' - whole_archive_flag_spec_CXX='${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*) + cxx) # Compaq C++ archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' @@ -10574,7 +10398,7 @@ ;; mvs*) case $cc_basename in - cxx*) + cxx) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; @@ -10595,25 +10419,9 @@ # Workaround some broken pre-1.5 toolchains output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' ;; - openbsd2*) - # C++ shared libraries are fairly broken - ld_shlibs_CXX=no - ;; - openbsd*) - hardcode_direct_CXX=yes - hardcode_shlibpath_var_CXX=no - archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' - export_dynamic_flag_spec_CXX='${wl}-E' - whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - fi - output_verbose_link_cmd='echo' - ;; osf3*) case $cc_basename in - KCC*) + KCC) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file @@ -10629,14 +10437,14 @@ old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;; - RCC*) + RCC) # Rational C++ 2.4.1 # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; - cxx*) + cxx) allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${objdir}/so_locations -o $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_CXX=: @@ -10654,7 +10462,7 @@ *) if test "$GXX" = yes && test "$with_gnu_ld" = no; then allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_CXX=: @@ -10673,7 +10481,7 @@ ;; osf4* | osf5*) case $cc_basename in - KCC*) + KCC) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file @@ -10688,17 +10496,17 @@ # the KAI C++ compiler. old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' ;; - RCC*) + RCC) # Rational C++ 2.4.1 # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; - cxx*) + cxx) allow_undefined_flag_CXX=' -expect_unresolved \*' - archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib' archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ echo "-hidden">> $lib.exp~ - $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~ + $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry $objdir/so_locations -o $lib~ $rm $lib.exp' hardcode_libdir_flag_spec_CXX='-rpath $libdir' @@ -10717,7 +10525,7 @@ *) if test "$GXX" = yes && test "$with_gnu_ld" = no; then allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_CXX=: @@ -10741,7 +10549,7 @@ sco*) archive_cmds_need_lc_CXX=no case $cc_basename in - CC*) + CC) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; @@ -10753,12 +10561,12 @@ ;; sunos4*) case $cc_basename in - CC*) + CC) # Sun C++ 4.x # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; - lcc*) + lcc) # Lucid # FIXME: insert proper C++ library support ld_shlibs_CXX=no @@ -10771,33 +10579,36 @@ ;; solaris*) case $cc_basename in - CC*) + CC) # Sun C++ 4.2, 5.x and Centerline C++ - archive_cmds_need_lc_CXX=yes no_undefined_flag_CXX=' -zdefs' - archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + archive_cmds_CXX='$CC -G${allow_undefined_flag} -nolib -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' archive_expsym_cmds_CXX='$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' hardcode_libdir_flag_spec_CXX='-R$libdir' hardcode_shlibpath_var_CXX=no case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; + solaris2.0-5 | solaris2.0-5.*) ;; *) # The C++ compiler is used as linker so we must use $wl # flag to pass the commands to the underlying system - # linker. We must also pass each convience library through - # to the system linker between allextract/defaultextract. - # The C++ compiler will combine linker options so we - # cannot just pass the convience library names through - # without $wl. + # linker. # Supported since Solaris 2.6 (maybe 2.5.1?) - whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' + whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' ;; esac link_all_deplibs_CXX=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 @@ -10805,7 +10616,7 @@ # in the archive. old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' ;; - gcx*) + gcx) # Green Hills C++ Compiler archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' @@ -10848,7 +10659,7 @@ ;; tandem*) case $cc_basename in - NCC*) + NCC) # NonStop-UX NCC 3.20 # FIXME: insert proper C++ library support ld_shlibs_CXX=no @@ -10901,7 +10712,7 @@ # 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 @@ -10977,20 +10788,6 @@ $rm -f confest.$objext -# PORTME: override above test on systems where it is broken -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. - postdeps_CXX='-lCstd -lCrun' - ;; - esac -esac - - case " $postdeps_CXX " in *" -lc "*) archive_cmds_need_lc_CXX=no ;; esac @@ -11046,7 +10843,7 @@ 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*) ;; *) @@ -11071,28 +10868,18 @@ ;; chorus*) case $cc_basename in - cxch68*) + cxch68) # Green Hills C++ Compiler # _LT_AC_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" ;; esac ;; - darwin*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - case $cc_basename in - xlc*) - lt_prog_compiler_pic_CXX='-qnocommon' - lt_prog_compiler_wl_CXX='-Wl,' - ;; - esac - ;; dgux*) case $cc_basename in - ec++*) + ec++) lt_prog_compiler_pic_CXX='-KPIC' ;; - ghcx*) + ghcx) # Green Hills C++ Compiler lt_prog_compiler_pic_CXX='-pic' ;; @@ -11100,22 +10887,22 @@ ;; esac ;; - freebsd* | kfreebsd*-gnu | dragonfly*) + freebsd* | kfreebsd*-gnu) # FreeBSD uses GNU C++ ;; hpux9* | hpux10* | hpux11*) case $cc_basename in - CC*) + CC) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive" if test "$host_cpu" != ia64; then lt_prog_compiler_pic_CXX='+Z' fi ;; - aCC*) + aCC) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX="${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 ;; @@ -11130,7 +10917,7 @@ ;; irix5* | irix6* | nonstopux*) case $cc_basename in - CC*) + CC) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX='-non_shared' # CC pic flag -KPIC is the default. @@ -11141,24 +10928,18 @@ ;; linux*) case $cc_basename in - KCC*) + KCC) # KAI C++ Compiler lt_prog_compiler_wl_CXX='--backend -Wl,' lt_prog_compiler_pic_CXX='-fPIC' ;; - icpc* | ecpc*) + icpc) # Intel C++ lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-static' ;; - pgCC*) - # Portland Group C++ compiler. - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_pic_CXX='-fpic' - lt_prog_compiler_static_CXX='-Bstatic' - ;; - cxx*) + cxx) # Compaq C++ # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. @@ -11175,7 +10956,7 @@ ;; mvs*) case $cc_basename in - cxx*) + cxx) lt_prog_compiler_pic_CXX='-W c,exportall' ;; *) @@ -11186,14 +10967,14 @@ ;; osf3* | osf4* | osf5*) case $cc_basename in - KCC*) + KCC) lt_prog_compiler_wl_CXX='--backend -Wl,' ;; - RCC*) + RCC) # Rational C++ 2.4.1 lt_prog_compiler_pic_CXX='-pic' ;; - cxx*) + cxx) # Digital/Compaq C++ lt_prog_compiler_wl_CXX='-Wl,' # Make sure the PIC flag is empty. It appears that all Alpha @@ -11209,7 +10990,7 @@ ;; sco*) case $cc_basename in - CC*) + CC) lt_prog_compiler_pic_CXX='-fPIC' ;; *) @@ -11218,13 +10999,13 @@ ;; solaris*) case $cc_basename in - CC*) + CC) # Sun C++ 4.2, 5.x and Centerline C++ lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-Bstatic' lt_prog_compiler_wl_CXX='-Qoption ld ' ;; - gcx*) + gcx) # Green Hills C++ Compiler lt_prog_compiler_pic_CXX='-PIC' ;; @@ -11234,12 +11015,12 @@ ;; sunos4*) case $cc_basename in - CC*) + CC) # Sun C++ 4.x lt_prog_compiler_pic_CXX='-pic' lt_prog_compiler_static_CXX='-Bstatic' ;; - lcc*) + lcc) # Lucid lt_prog_compiler_pic_CXX='-pic' ;; @@ -11249,7 +11030,7 @@ ;; tandem*) case $cc_basename in - NCC*) + NCC) # NonStop-UX NCC 3.20 lt_prog_compiler_pic_CXX='-KPIC' ;; @@ -11290,20 +11071,18 @@ # 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:11296: $lt_compile\"" >&5) + (eval echo "\"\$as_me:11077: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:11300: \$? = $ac_status" >&5 + echo "$as_me:11081: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $echo "X$_lt_compiler_boilerplate" | $Xsed >conftest.exp - $SED '/^$/d' conftest.err >conftest.er2 - if test ! -s conftest.err || diff conftest.exp conftest.er2 >/dev/null; then + # So say no if there are warnings + if test ! -s conftest.err; then lt_prog_compiler_pic_works_CXX=yes fi fi @@ -11324,7 +11103,7 @@ fi fi -case $host_os in +case "$host_os" in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic_CXX= @@ -11352,25 +11131,23 @@ # 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:11358: $lt_compile\"" >&5) + (eval echo "\"\$as_me:11137: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:11362: \$? = $ac_status" >&5 + echo "$as_me:11141: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings - $echo "X$_lt_compiler_boilerplate" | $Xsed > out/conftest.exp - $SED '/^$/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.err || diff out/conftest.exp out/conftest.er2 >/dev/null; then + if test ! -s out/conftest.err; then lt_cv_prog_compiler_c_o_CXX=yes fi fi - chmod u+w . 2>&5 + chmod u+w . $rm conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation @@ -11425,7 +11202,7 @@ export_symbols_cmds_CXX="$ltdll_cmds" ;; cygwin* | mingw*) - export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/;/^.* __nm__/s/^.* __nm__\([^ ]*\) [^ ]*/\1 DATA/;/^I /d;/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' ;; *) export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' @@ -11605,7 +11382,7 @@ shlibpath_var=LIBRARY_PATH ;; -bsdi[45]*) +bsdi4*) version_type=linux need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' @@ -11633,8 +11410,7 @@ 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' @@ -11664,7 +11440,7 @@ ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/./-/g'`${versuffix}${shared_ext}' ;; esac ;; @@ -11687,7 +11463,7 @@ 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"` @@ -11722,17 +11498,8 @@ dynamic_linker='GNU ld.so' ;; -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 +freebsd*) + objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` version_type=freebsd-$objformat case $version_type in freebsd-elf*) @@ -11750,7 +11517,7 @@ freebsd2*) shlibpath_overrides_runpath=yes ;; - freebsd3.[01]* | freebsdelf3.[01]*) + freebsd3.01* | freebsdelf3.01*) shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; @@ -11777,7 +11544,7 @@ 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 @@ -11874,10 +11641,31 @@ # before this can be enabled. hardcode_into_libs=yes + # find out which ABI we are using + libsuff= + case "$host_cpu" in + x86_64*|s390x*|powerpc64*) + echo '#line 11648 "configure"' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.$ac_objext` in + *64-bit*) + libsuff=64 + sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}" + ;; + esac + fi + rm -rf conftest* + ;; + esac + # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + lt_ld_extra=`$SED -e 's/:,\t/ /g;s/=^=*$//;s/=^= * / /g' /etc/ld.so.conf | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on @@ -11939,11 +11727,7 @@ openbsd*) version_type=sunos need_lib_prefix=no - # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. - case $host_os in - openbsd3.3 | openbsd3.3.*) need_version=yes ;; - *) need_version=no ;; - esac + need_version=yes library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH @@ -12065,8 +11849,8 @@ echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6 hardcode_action_CXX= if test -n "$hardcode_libdir_flag_spec_CXX" || \ - test -n "$runpath_var_CXX" || \ - test "X$hardcode_automatic_CXX" = "Xyes" ; then + test -n "$runpath_var CXX" || \ + test "X$hardcode_automatic_CXX"="Xyes" ; then # We can hardcode non-existant directories. if test "$hardcode_direct_CXX" != no && @@ -12732,7 +12516,7 @@ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<EOF -#line 12735 "configure" +#line 12519 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -12798,7 +12582,7 @@ ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) >&5 2>/dev/null + (./conftest; exit; ) 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; @@ -12830,7 +12614,7 @@ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<EOF -#line 12833 "configure" +#line 12617 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -12896,7 +12680,7 @@ ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) >&5 2>/dev/null + (./conftest; exit; ) 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; @@ -13048,13 +12832,7 @@ # The host system. host_alias=$host_alias host=$host -host_os=$host_os -# The build system. -build_alias=$build_alias -build=$build -build_os=$build_os - # An echo program that does not interpret backslashes. echo=$lt_echo @@ -13130,7 +12908,7 @@ # Does compiler simultaneously support -c and -o options? compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX -# Must we lock files when doing compilation? +# Must we lock files when doing compilation ? need_locks=$lt_need_locks # Do we need the lib prefix for modules? @@ -13411,36 +13189,13 @@ compiler=$CC -# save warnings/boilerplate of simple test code -ac_outfile=conftest.$ac_objext -printf "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$rm conftest* - -ac_outfile=conftest.$ac_objext -printf "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$rm conftest* - - # Allow CC to be a program name with arguments. lt_save_CC="$CC" CC=${F77-"f77"} compiler=$CC compiler_F77=$CC -for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` +cc_basename=`$echo X"$compiler" | $Xsed -e 's%^.*/%%'` - echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6 echo "$as_me:$LINENO: result: $can_build_shared" >&5 @@ -13452,7 +13207,7 @@ # 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 @@ -13461,9 +13216,7 @@ fi ;; aix4* | aix5*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi + test "$enable_shared" = yes && enable_static=no ;; esac echo "$as_me:$LINENO: result: $enable_shared" >&5 @@ -13540,7 +13293,7 @@ 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 ;; @@ -13566,16 +13319,6 @@ lt_prog_compiler_static_F77='-bnso -bI:/lib/syscalls.exp' fi ;; - darwin*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - case $cc_basename in - xlc*) - lt_prog_compiler_pic_F77='-qnocommon' - lt_prog_compiler_wl_F77='-Wl,' - ;; - esac - ;; mingw* | pw32* | os2*) # This hack is so that the source file can tell whether it is being @@ -13587,7 +13330,7 @@ lt_prog_compiler_wl_F77='-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 ;; @@ -13611,19 +13354,12 @@ ;; linux*) - case $cc_basename in + case $CC in icc* | ecc*) lt_prog_compiler_wl_F77='-Wl,' lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-static' ;; - pgcc* | pgf77* | pgf90* | pgf95*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_pic_F77='-fpic' - lt_prog_compiler_static_F77='-Bstatic' - ;; ccc*) lt_prog_compiler_wl_F77='-Wl,' # All Alpha code is PIC. @@ -13644,14 +13380,9 @@ ;; solaris*) + lt_prog_compiler_wl_F77='-Wl,' lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-Bstatic' - case $cc_basename in - f77* | f90* | f95*) - lt_prog_compiler_wl_F77='-Qoption ld ';; - *) - lt_prog_compiler_wl_F77='-Wl,';; - esac ;; sunos4*) @@ -13673,11 +13404,6 @@ fi ;; - unicos*) - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_can_build_shared_F77=no - ;; - uts4*) lt_prog_compiler_pic_F77='-pic' lt_prog_compiler_static_F77='-Bstatic' @@ -13712,20 +13438,18 @@ # 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:13718: $lt_compile\"" >&5) + (eval echo "\"\$as_me:13444: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:13722: \$? = $ac_status" >&5 + echo "$as_me:13448: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $echo "X$_lt_compiler_boilerplate" | $Xsed >conftest.exp - $SED '/^$/d' conftest.err >conftest.er2 - if test ! -s conftest.err || diff conftest.exp conftest.er2 >/dev/null; then + # So say no if there are warnings + if test ! -s conftest.err; then lt_prog_compiler_pic_works_F77=yes fi fi @@ -13746,7 +13470,7 @@ fi fi -case $host_os in +case "$host_os" in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic_F77= @@ -13774,25 +13498,23 @@ # 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:13780: $lt_compile\"" >&5) + (eval echo "\"\$as_me:13504: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:13784: \$? = $ac_status" >&5 + echo "$as_me:13508: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings - $echo "X$_lt_compiler_boilerplate" | $Xsed > out/conftest.exp - $SED '/^$/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.err || diff out/conftest.exp out/conftest.er2 >/dev/null; then + if test ! -s out/conftest.err; then lt_cv_prog_compiler_c_o_F77=yes fi fi - chmod u+w . 2>&5 + chmod u+w . $rm conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation @@ -13868,16 +13590,6 @@ # rely on this symbol name, it's probably fine to never include it in # preloaded symbol tables. extract_expsyms_cmds= - # Just being paranoid about ensuring that cc_basename is set. - for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` case $host_os in cygwin* | mingw* | pw32*) @@ -13898,27 +13610,6 @@ # 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. - runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec_F77='${wl}--rpath ${wl}$libdir' - export_dynamic_flag_spec_F77='${wl}--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec_F77="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - whole_archive_flag_spec_F77= - fi - supports_anon_versioning=no - case `$LD -v 2>/dev/null` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 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*) @@ -13969,7 +13660,7 @@ allow_undefined_flag_F77=unsupported always_export_symbols_F77=no enable_shared_with_static_runtimes_F77=yes - export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' + export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' @@ -13983,41 +13674,10 @@ fi~ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' else - ld_shlibs_F77=no + ld_shlibs=no fi ;; - linux*) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - tmp_addflag= - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - whole_archive_flag_spec_F77='${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 - whole_archive_flag_spec_F77='${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' ;; - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 - tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler - tmp_addflag=' -nofor_main' ;; - esac - archive_cmds_F77='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - - if test $supports_anon_versioning = yes; then - archive_expsym_cmds_F77='$echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - $echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - fi - else - ld_shlibs_F77=no - fi - ;; - netbsd*) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then archive_cmds_F77='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' @@ -14056,6 +13716,31 @@ hardcode_shlibpath_var_F77=no ;; + linux*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_cmds_F77="$tmp_archive_cmds" + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ 01.* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + if test $supports_anon_versioning = yes; then + archive_expsym_cmds_F77='$echo "{ global:" > $output_objdir/$libname.ver~ +cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ +$echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + else + archive_expsym_cmds_F77="$tmp_archive_cmds" + fi + else + ld_shlibs_F77=no + fi + ;; + *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' @@ -14066,11 +13751,16 @@ ;; esac - if test "$ld_shlibs_F77" = no; then - runpath_var= - hardcode_libdir_flag_spec_F77= - export_dynamic_flag_spec_F77= - whole_archive_flag_spec_F77= + if test "$ld_shlibs_F77" = yes; then + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_F77='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_F77='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_F77="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec_F77= + fi fi else # PORTME fill in a description of your system's linker (not GNU ld) @@ -14134,7 +13824,7 @@ link_all_deplibs_F77=yes if test "$GCC" = yes; then - case $host_os in aix4.[012]|aix4.[012].*) + case $host_os in aix4.012|aix4.012.*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`${CC} -print-prog-name=collect2` @@ -14155,9 +13845,6 @@ fi esac shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi else # not using gcc if test "$host_cpu" = ia64; then @@ -14284,7 +13971,7 @@ # Exported symbols can be pulled into shared objects from archives whole_archive_flag_spec_F77=' ' archive_cmds_need_lc_F77=yes - # This is similar to how AIX traditionally builds its shared libraries. + # This is similar to how AIX traditionally builds it's shared libraries. archive_expsym_cmds_F77="\$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 @@ -14298,7 +13985,7 @@ ld_shlibs_F77=no ;; - bsdi[45]*) + bsdi4*) export_dynamic_flag_spec_F77=-rdynamic ;; @@ -14319,57 +14006,57 @@ old_archive_From_new_cmds_F77='true' # FIXME: Should let the user specify the lib program. old_archive_cmds_F77='lib /OUT:$oldlib$oldobjs$old_deplibs' - fix_srcfile_path_F77='`cygpath -w "$srcfile"`' + fix_srcfile_path='`cygpath -w "$srcfile"`' enable_shared_with_static_runtimes_F77=yes ;; darwin* | rhapsody*) - case $host_os in - rhapsody* | darwin1.[012]) - allow_undefined_flag_F77='${wl}-undefined ${wl}suppress' - ;; - *) # Darwin 1.3 on - if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then - allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - else - case ${MACOSX_DEPLOYMENT_TARGET} in - 10.[012]) - allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - ;; - 10.*) - allow_undefined_flag_F77='${wl}-undefined ${wl}dynamic_lookup' - ;; - esac - fi - ;; - esac + if test "$GXX" = yes ; then archive_cmds_need_lc_F77=no + case "$host_os" in + rhapsody* | darwin1.[012]) + allow_undefined_flag_F77='-undefined suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag_F77='-flat_namespace -undefined suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag_F77='-flat_namespace -undefined suppress' + ;; + 10.*) + allow_undefined_flag_F77='-undefined dynamic_lookup' + ;; + esac + fi + ;; + esac + lt_int_apple_cc_single_mod=no + output_verbose_link_cmd='echo' + if $CC -dumpspecs 2>&1 | grep 'single_module' >/dev/null ; then + lt_int_apple_cc_single_mod=yes + fi + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + archive_cmds_F77='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + else + archive_cmds_F77='$CC -r ${wl}-bind_at_load -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 + module_cmds_F77='$CC ${wl}-bind_at_load $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 ld's + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + archive_expsym_cmds_F77='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 + archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r ${wl}-bind_at_load -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~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + fi + module_expsym_cmds_F77='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}' hardcode_direct_F77=no hardcode_automatic_F77=yes hardcode_shlibpath_var_F77=unsupported - whole_archive_flag_spec_F77='' + whole_archive_flag_spec_F77='-all_load $convenience' link_all_deplibs_F77=yes - if test "$GCC" = yes ; then - output_verbose_link_cmd='echo' - archive_cmds_F77='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' - module_cmds_F77='$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 - archive_expsym_cmds_F77='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}' - module_expsym_cmds_F77='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 - case $cc_basename in - xlc*) - output_verbose_link_cmd='echo' - archive_cmds_F77='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' - module_cmds_F77='$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 - archive_expsym_cmds_F77='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}' - module_expsym_cmds_F77='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}' - ;; - *) - ld_shlibs_F77=no - ;; - esac + ld_shlibs_F77=no fi ;; @@ -14403,7 +14090,7 @@ ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | kfreebsd*-gnu | dragonfly*) + freebsd* | kfreebsd*-gnu) archive_cmds_F77='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec_F77='-R$libdir' hardcode_direct_F77=yes @@ -14428,7 +14115,7 @@ hpux10* | hpux11*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then - case $host_cpu in + case "$host_cpu" in hppa*64*|ia64*) archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; @@ -14437,7 +14124,7 @@ ;; esac else - case $host_cpu in + case "$host_cpu" in hppa*64*|ia64*) archive_cmds_F77='$LD -b +h $soname -o $lib $libobjs $deplibs $linker_flags' ;; @@ -14447,7 +14134,7 @@ esac fi if test "$with_gnu_ld" = no; then - case $host_cpu in + case "$host_cpu" in hppa*64*) hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' hardcode_libdir_flag_spec_ld_F77='+b $libdir' @@ -14514,7 +14201,6 @@ hardcode_shlibpath_var_F77=no if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' export_dynamic_flag_spec_F77='${wl}-E' else @@ -14560,7 +14246,7 @@ allow_undefined_flag_F77=' -expect_unresolved \*' archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' archive_expsym_cmds_F77='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ - $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib~$rm $lib.exp' # Both c and cxx compiler support -rpath directly hardcode_libdir_flag_spec_F77='-rpath $libdir' @@ -14579,12 +14265,10 @@ solaris*) no_undefined_flag_F77=' -z text' if test "$GCC" = yes; then - wlarc='${wl}' archive_cmds_F77='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' else - wlarc='' archive_cmds_F77='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' @@ -14593,18 +14277,8 @@ hardcode_shlibpath_var_F77=no case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - # The compiler driver will combine linker options so we - # cannot just pass the convience library names through - # without $wl, iff we do not link with $LD. - # Luckily, gcc supports the same syntax we need for Sun Studio. - # Supported since Solaris 2.6 (maybe 2.5.1?) - case $wlarc in - '') - whole_archive_flag_spec_F77='-z allextract$convenience -z defaultextract' ;; - *) - whole_archive_flag_spec_F77='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; - esac ;; + *) # Supported since Solaris 2.6 (maybe 2.5.1?) + whole_archive_flag_spec_F77='-z allextract$convenience -z defaultextract' ;; esac link_all_deplibs_F77=yes ;; @@ -14878,7 +14552,7 @@ shlibpath_var=LIBRARY_PATH ;; -bsdi[45]*) +bsdi4*) version_type=linux need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' @@ -14906,8 +14580,7 @@ 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' @@ -14937,7 +14610,7 @@ ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/./-/g'`${versuffix}${shared_ext}' ;; esac ;; @@ -14960,7 +14633,7 @@ 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"` @@ -14995,17 +14668,8 @@ dynamic_linker='GNU ld.so' ;; -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 +freebsd*) + objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` version_type=freebsd-$objformat case $version_type in freebsd-elf*) @@ -15023,7 +14687,7 @@ freebsd2*) shlibpath_overrides_runpath=yes ;; - freebsd3.[01]* | freebsdelf3.[01]*) + freebsd3.01* | freebsdelf3.01*) shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; @@ -15050,7 +14714,7 @@ 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 @@ -15147,10 +14811,31 @@ # before this can be enabled. hardcode_into_libs=yes + # find out which ABI we are using + libsuff= + case "$host_cpu" in + x86_64*|s390x*|powerpc64*) + echo '#line 14818 "configure"' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.$ac_objext` in + *64-bit*) + libsuff=64 + sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}" + ;; + esac + fi + rm -rf conftest* + ;; + esac + # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + lt_ld_extra=`$SED -e 's/:,\t/ /g;s/=^=*$//;s/=^= * / /g' /etc/ld.so.conf | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on @@ -15212,11 +14897,7 @@ openbsd*) version_type=sunos need_lib_prefix=no - # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. - case $host_os in - openbsd3.3 | openbsd3.3.*) need_version=yes ;; - *) need_version=no ;; - esac + need_version=yes library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH @@ -15338,8 +15019,8 @@ echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6 hardcode_action_F77= if test -n "$hardcode_libdir_flag_spec_F77" || \ - test -n "$runpath_var_F77" || \ - test "X$hardcode_automatic_F77" = "Xyes" ; then + test -n "$runpath_var F77" || \ + test "X$hardcode_automatic_F77"="Xyes" ; then # We can hardcode non-existant directories. if test "$hardcode_direct_F77" != no && @@ -15516,13 +15197,7 @@ # The host system. host_alias=$host_alias host=$host -host_os=$host_os -# The build system. -build_alias=$build_alias -build=$build -build_os=$build_os - # An echo program that does not interpret backslashes. echo=$lt_echo @@ -15598,7 +15273,7 @@ # Does compiler simultaneously support -c and -o options? compiler_c_o=$lt_lt_cv_prog_compiler_c_o_F77 -# Must we lock files when doing compilation? +# Must we lock files when doing compilation ? need_locks=$lt_need_locks # Do we need the lib prefix for modules? @@ -15836,7 +15511,7 @@ lt_simple_compile_test_code="class foo {}\n" # Code to be used in simple link tests -lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }\n' +lt_simple_link_test_code='public class conftest { public static void main(String argv) {}; }\n' # ltmain only uses $CC for tagged configurations so make sure $CC is set. @@ -15847,42 +15522,16 @@ compiler=$CC -# save warnings/boilerplate of simple test code -ac_outfile=conftest.$ac_objext -printf "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$rm conftest* - -ac_outfile=conftest.$ac_objext -printf "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$rm conftest* - - # Allow CC to be a program name with arguments. lt_save_CC="$CC" CC=${GCJ-"gcj"} compiler=$CC compiler_GCJ=$CC -for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` - # GCJ did not exist at the time GCC didn't implicitly link libc in. archive_cmds_need_lc_GCJ=no -old_archive_cmds_GCJ=$old_archive_cmds - lt_prog_compiler_no_builtin_flag_GCJ= if test "$GCC" = yes; then @@ -15904,20 +15553,18 @@ # 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:15910: $lt_compile\"" >&5) + (eval echo "\"\$as_me:15559: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:15914: \$? = $ac_status" >&5 + echo "$as_me:15563: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $echo "X$_lt_compiler_boilerplate" | $Xsed >conftest.exp - $SED '/^$/d' conftest.err >conftest.er2 - if test ! -s conftest.err || diff conftest.exp conftest.er2 >/dev/null; then + # So say no if there are warnings + if test ! -s conftest.err; then lt_cv_prog_compiler_rtti_exceptions=yes fi fi @@ -15994,7 +15641,7 @@ 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 ;; @@ -16020,16 +15667,6 @@ lt_prog_compiler_static_GCJ='-bnso -bI:/lib/syscalls.exp' fi ;; - darwin*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - case $cc_basename in - xlc*) - lt_prog_compiler_pic_GCJ='-qnocommon' - lt_prog_compiler_wl_GCJ='-Wl,' - ;; - esac - ;; mingw* | pw32* | os2*) # This hack is so that the source file can tell whether it is being @@ -16041,7 +15678,7 @@ lt_prog_compiler_wl_GCJ='-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 ;; @@ -16065,19 +15702,12 @@ ;; linux*) - case $cc_basename in + case $CC in icc* | ecc*) lt_prog_compiler_wl_GCJ='-Wl,' lt_prog_compiler_pic_GCJ='-KPIC' lt_prog_compiler_static_GCJ='-static' ;; - pgcc* | pgf77* | pgf90* | pgf95*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_pic_GCJ='-fpic' - lt_prog_compiler_static_GCJ='-Bstatic' - ;; ccc*) lt_prog_compiler_wl_GCJ='-Wl,' # All Alpha code is PIC. @@ -16098,14 +15728,9 @@ ;; solaris*) + lt_prog_compiler_wl_GCJ='-Wl,' lt_prog_compiler_pic_GCJ='-KPIC' lt_prog_compiler_static_GCJ='-Bstatic' - case $cc_basename in - f77* | f90* | f95*) - lt_prog_compiler_wl_GCJ='-Qoption ld ';; - *) - lt_prog_compiler_wl_GCJ='-Wl,';; - esac ;; sunos4*) @@ -16127,11 +15752,6 @@ fi ;; - unicos*) - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_can_build_shared_GCJ=no - ;; - uts4*) lt_prog_compiler_pic_GCJ='-pic' lt_prog_compiler_static_GCJ='-Bstatic' @@ -16166,20 +15786,18 @@ # 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:16172: $lt_compile\"" >&5) + (eval echo "\"\$as_me:15792: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:16176: \$? = $ac_status" >&5 + echo "$as_me:15796: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $echo "X$_lt_compiler_boilerplate" | $Xsed >conftest.exp - $SED '/^$/d' conftest.err >conftest.er2 - if test ! -s conftest.err || diff conftest.exp conftest.er2 >/dev/null; then + # So say no if there are warnings + if test ! -s conftest.err; then lt_prog_compiler_pic_works_GCJ=yes fi fi @@ -16200,7 +15818,7 @@ fi fi -case $host_os in +case "$host_os" in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic_GCJ= @@ -16228,25 +15846,23 @@ # 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:16234: $lt_compile\"" >&5) + (eval echo "\"\$as_me:15852: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:16238: \$? = $ac_status" >&5 + echo "$as_me:15856: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings - $echo "X$_lt_compiler_boilerplate" | $Xsed > out/conftest.exp - $SED '/^$/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.err || diff out/conftest.exp out/conftest.er2 >/dev/null; then + if test ! -s out/conftest.err; then lt_cv_prog_compiler_c_o_GCJ=yes fi fi - chmod u+w . 2>&5 + chmod u+w . $rm conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation @@ -16322,16 +15938,6 @@ # rely on this symbol name, it's probably fine to never include it in # preloaded symbol tables. extract_expsyms_cmds= - # Just being paranoid about ensuring that cc_basename is set. - for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` case $host_os in cygwin* | mingw* | pw32*) @@ -16352,27 +15958,6 @@ # 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. - runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec_GCJ='${wl}--rpath ${wl}$libdir' - export_dynamic_flag_spec_GCJ='${wl}--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec_GCJ="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - whole_archive_flag_spec_GCJ= - fi - supports_anon_versioning=no - case `$LD -v 2>/dev/null` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 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*) @@ -16423,7 +16008,7 @@ allow_undefined_flag_GCJ=unsupported always_export_symbols_GCJ=no enable_shared_with_static_runtimes_GCJ=yes - export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' + export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' @@ -16437,41 +16022,10 @@ fi~ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' else - ld_shlibs_GCJ=no + ld_shlibs=no fi ;; - linux*) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - tmp_addflag= - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - whole_archive_flag_spec_GCJ='${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 - whole_archive_flag_spec_GCJ='${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' ;; - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 - tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler - tmp_addflag=' -nofor_main' ;; - esac - archive_cmds_GCJ='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - - if test $supports_anon_versioning = yes; then - archive_expsym_cmds_GCJ='$echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - $echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - fi - else - ld_shlibs_GCJ=no - fi - ;; - netbsd*) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then archive_cmds_GCJ='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' @@ -16510,6 +16064,31 @@ hardcode_shlibpath_var_GCJ=no ;; + linux*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_cmds_GCJ="$tmp_archive_cmds" + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ 01.* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + if test $supports_anon_versioning = yes; then + archive_expsym_cmds_GCJ='$echo "{ global:" > $output_objdir/$libname.ver~ +cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ +$echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + else + archive_expsym_cmds_GCJ="$tmp_archive_cmds" + fi + else + ld_shlibs_GCJ=no + fi + ;; + *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' @@ -16520,11 +16099,16 @@ ;; esac - if test "$ld_shlibs_GCJ" = no; then - runpath_var= - hardcode_libdir_flag_spec_GCJ= - export_dynamic_flag_spec_GCJ= - whole_archive_flag_spec_GCJ= + if test "$ld_shlibs_GCJ" = yes; then + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_GCJ='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_GCJ='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_GCJ="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec_GCJ= + fi fi else # PORTME fill in a description of your system's linker (not GNU ld) @@ -16588,7 +16172,7 @@ link_all_deplibs_GCJ=yes if test "$GCC" = yes; then - case $host_os in aix4.[012]|aix4.[012].*) + case $host_os in aix4.012|aix4.012.*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`${CC} -print-prog-name=collect2` @@ -16609,9 +16193,6 @@ fi esac shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi else # not using gcc if test "$host_cpu" = ia64; then @@ -16758,7 +16339,7 @@ # Exported symbols can be pulled into shared objects from archives whole_archive_flag_spec_GCJ=' ' archive_cmds_need_lc_GCJ=yes - # This is similar to how AIX traditionally builds its shared libraries. + # This is similar to how AIX traditionally builds it's shared libraries. archive_expsym_cmds_GCJ="\$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 @@ -16772,7 +16353,7 @@ ld_shlibs_GCJ=no ;; - bsdi[45]*) + bsdi4*) export_dynamic_flag_spec_GCJ=-rdynamic ;; @@ -16793,57 +16374,57 @@ old_archive_From_new_cmds_GCJ='true' # FIXME: Should let the user specify the lib program. old_archive_cmds_GCJ='lib /OUT:$oldlib$oldobjs$old_deplibs' - fix_srcfile_path_GCJ='`cygpath -w "$srcfile"`' + fix_srcfile_path='`cygpath -w "$srcfile"`' enable_shared_with_static_runtimes_GCJ=yes ;; darwin* | rhapsody*) - case $host_os in - rhapsody* | darwin1.[012]) - allow_undefined_flag_GCJ='${wl}-undefined ${wl}suppress' - ;; - *) # Darwin 1.3 on - if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then - allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - else - case ${MACOSX_DEPLOYMENT_TARGET} in - 10.[012]) - allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - ;; - 10.*) - allow_undefined_flag_GCJ='${wl}-undefined ${wl}dynamic_lookup' - ;; - esac - fi - ;; - esac + if test "$GXX" = yes ; then archive_cmds_need_lc_GCJ=no + case "$host_os" in + rhapsody* | darwin1.[012]) + allow_undefined_flag_GCJ='-undefined suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag_GCJ='-flat_namespace -undefined suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag_GCJ='-flat_namespace -undefined suppress' + ;; + 10.*) + allow_undefined_flag_GCJ='-undefined dynamic_lookup' + ;; + esac + fi + ;; + esac + lt_int_apple_cc_single_mod=no + output_verbose_link_cmd='echo' + if $CC -dumpspecs 2>&1 | grep 'single_module' >/dev/null ; then + lt_int_apple_cc_single_mod=yes + fi + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + archive_cmds_GCJ='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + else + archive_cmds_GCJ='$CC -r ${wl}-bind_at_load -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 + module_cmds_GCJ='$CC ${wl}-bind_at_load $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 ld's + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + archive_expsym_cmds_GCJ='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 + archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r ${wl}-bind_at_load -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~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + fi + module_expsym_cmds_GCJ='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}' hardcode_direct_GCJ=no hardcode_automatic_GCJ=yes hardcode_shlibpath_var_GCJ=unsupported - whole_archive_flag_spec_GCJ='' + whole_archive_flag_spec_GCJ='-all_load $convenience' link_all_deplibs_GCJ=yes - if test "$GCC" = yes ; then - output_verbose_link_cmd='echo' - archive_cmds_GCJ='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' - module_cmds_GCJ='$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 - archive_expsym_cmds_GCJ='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}' - module_expsym_cmds_GCJ='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 - case $cc_basename in - xlc*) - output_verbose_link_cmd='echo' - archive_cmds_GCJ='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' - module_cmds_GCJ='$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 - archive_expsym_cmds_GCJ='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}' - module_expsym_cmds_GCJ='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}' - ;; - *) - ld_shlibs_GCJ=no - ;; - esac + ld_shlibs_GCJ=no fi ;; @@ -16877,7 +16458,7 @@ ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | kfreebsd*-gnu | dragonfly*) + freebsd* | kfreebsd*-gnu) archive_cmds_GCJ='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec_GCJ='-R$libdir' hardcode_direct_GCJ=yes @@ -16902,7 +16483,7 @@ hpux10* | hpux11*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then - case $host_cpu in + case "$host_cpu" in hppa*64*|ia64*) archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; @@ -16911,7 +16492,7 @@ ;; esac else - case $host_cpu in + case "$host_cpu" in hppa*64*|ia64*) archive_cmds_GCJ='$LD -b +h $soname -o $lib $libobjs $deplibs $linker_flags' ;; @@ -16921,7 +16502,7 @@ esac fi if test "$with_gnu_ld" = no; then - case $host_cpu in + case "$host_cpu" in hppa*64*) hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' hardcode_libdir_flag_spec_ld_GCJ='+b $libdir' @@ -16988,7 +16569,6 @@ hardcode_shlibpath_var_GCJ=no if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' export_dynamic_flag_spec_GCJ='${wl}-E' else @@ -17034,7 +16614,7 @@ allow_undefined_flag_GCJ=' -expect_unresolved \*' archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' archive_expsym_cmds_GCJ='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ - $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib~$rm $lib.exp' # Both c and cxx compiler support -rpath directly hardcode_libdir_flag_spec_GCJ='-rpath $libdir' @@ -17053,12 +16633,10 @@ solaris*) no_undefined_flag_GCJ=' -z text' if test "$GCC" = yes; then - wlarc='${wl}' archive_cmds_GCJ='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' else - wlarc='' archive_cmds_GCJ='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' @@ -17067,18 +16645,8 @@ hardcode_shlibpath_var_GCJ=no case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - # The compiler driver will combine linker options so we - # cannot just pass the convience library names through - # without $wl, iff we do not link with $LD. - # Luckily, gcc supports the same syntax we need for Sun Studio. - # Supported since Solaris 2.6 (maybe 2.5.1?) - case $wlarc in - '') - whole_archive_flag_spec_GCJ='-z allextract$convenience -z defaultextract' ;; - *) - whole_archive_flag_spec_GCJ='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; - esac ;; + *) # Supported since Solaris 2.6 (maybe 2.5.1?) + whole_archive_flag_spec_GCJ='-z allextract$convenience -z defaultextract' ;; esac link_all_deplibs_GCJ=yes ;; @@ -17352,7 +16920,7 @@ shlibpath_var=LIBRARY_PATH ;; -bsdi[45]*) +bsdi4*) version_type=linux need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' @@ -17380,8 +16948,7 @@ 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' @@ -17411,7 +16978,7 @@ ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/./-/g'`${versuffix}${shared_ext}' ;; esac ;; @@ -17434,7 +17001,7 @@ 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"` @@ -17469,17 +17036,8 @@ dynamic_linker='GNU ld.so' ;; -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 +freebsd*) + objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` version_type=freebsd-$objformat case $version_type in freebsd-elf*) @@ -17497,7 +17055,7 @@ freebsd2*) shlibpath_overrides_runpath=yes ;; - freebsd3.[01]* | freebsdelf3.[01]*) + freebsd3.01* | freebsdelf3.01*) shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; @@ -17524,7 +17082,7 @@ 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 @@ -17621,10 +17179,31 @@ # before this can be enabled. hardcode_into_libs=yes + # find out which ABI we are using + libsuff= + case "$host_cpu" in + x86_64*|s390x*|powerpc64*) + echo '#line 17186 "configure"' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.$ac_objext` in + *64-bit*) + libsuff=64 + sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}" + ;; + esac + fi + rm -rf conftest* + ;; + esac + # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + lt_ld_extra=`$SED -e 's/:,\t/ /g;s/=^=*$//;s/=^= * / /g' /etc/ld.so.conf | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on @@ -17686,11 +17265,7 @@ openbsd*) version_type=sunos need_lib_prefix=no - # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. - case $host_os in - openbsd3.3 | openbsd3.3.*) need_version=yes ;; - *) need_version=no ;; - esac + need_version=yes library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH @@ -17812,8 +17387,8 @@ echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6 hardcode_action_GCJ= if test -n "$hardcode_libdir_flag_spec_GCJ" || \ - test -n "$runpath_var_GCJ" || \ - test "X$hardcode_automatic_GCJ" = "Xyes" ; then + test -n "$runpath_var GCJ" || \ + test "X$hardcode_automatic_GCJ"="Xyes" ; then # We can hardcode non-existant directories. if test "$hardcode_direct_GCJ" != no && @@ -18479,7 +18054,7 @@ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<EOF -#line 18482 "configure" +#line 18057 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -18545,7 +18120,7 @@ ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) >&5 2>/dev/null + (./conftest; exit; ) 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; @@ -18577,7 +18152,7 @@ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<EOF -#line 18580 "configure" +#line 18155 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -18643,7 +18218,7 @@ ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) >&5 2>/dev/null + (./conftest; exit; ) 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; @@ -18795,13 +18370,7 @@ # The host system. host_alias=$host_alias host=$host -host_os=$host_os -# The build system. -build_alias=$build_alias -build=$build -build_os=$build_os - # An echo program that does not interpret backslashes. echo=$lt_echo @@ -18877,7 +18446,7 @@ # Does compiler simultaneously support -c and -o options? compiler_c_o=$lt_lt_cv_prog_compiler_c_o_GCJ -# Must we lock files when doing compilation? +# Must we lock files when doing compilation ? need_locks=$lt_need_locks # Do we need the lib prefix for modules? @@ -19125,35 +18694,11 @@ compiler=$CC -# save warnings/boilerplate of simple test code -ac_outfile=conftest.$ac_objext -printf "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$rm conftest* - -ac_outfile=conftest.$ac_objext -printf "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$rm conftest* - - # Allow CC to be a program name with arguments. lt_save_CC="$CC" CC=${RC-"windres"} compiler=$CC compiler_RC=$CC -for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` - lt_cv_prog_compiler_c_o_RC=yes # The else clause should only fire when bootstrapping the @@ -19270,13 +18815,7 @@ # The host system. host_alias=$host_alias host=$host -host_os=$host_os -# The build system. -build_alias=$build_alias -build=$build -build_os=$build_os - # An echo program that does not interpret backslashes. echo=$lt_echo @@ -19352,7 +18891,7 @@ # Does compiler simultaneously support -c and -o options? compiler_c_o=$lt_lt_cv_prog_compiler_c_o_RC -# Must we lock files when doing compilation? +# Must we lock files when doing compilation ? need_locks=$lt_need_locks # Do we need the lib prefix for modules? Modified: freeswitch/branches/knhor/trunk/libs/libdingaling/src/config.h.in ============================================================================== --- freeswitch/branches/knhor/trunk/libs/libdingaling/src/config.h.in (original) +++ freeswitch/branches/knhor/trunk/libs/libdingaling/src/config.h.in Thu Nov 2 11:40:13 2006 @@ -106,5 +106,5 @@ /* Define to rpl_malloc if the replacement function should be used. */ #undef malloc -/* Define to `unsigned' if <sys/types.h> does not define. */ +/* Define to `unsigned int' if <sys/types.h> does not define. */ #undef size_t Modified: freeswitch/branches/knhor/trunk/libs/libdingaling/src/libdingaling.c ============================================================================== --- freeswitch/branches/knhor/trunk/libs/libdingaling/src/libdingaling.c (original) +++ freeswitch/branches/knhor/trunk/libs/libdingaling/src/libdingaling.c Thu Nov 2 11:40:13 2006 @@ -796,7 +796,7 @@ char *to = iks_find_attrib(pak->x, "to"); if (handle->session_callback) { - handle->session_callback(handle, NULL, LDL_SIGNAL_SUBSCRIBE, to, from, NULL, NULL); + handle->session_callback(handle, NULL, LDL_SIGNAL_UNSUBSCRIBE, to, from, NULL, NULL); } return IKS_FILTER_EAT; Modified: freeswitch/branches/knhor/trunk/libs/libspeakup/Makefile.in ============================================================================== --- freeswitch/branches/knhor/trunk/libs/libspeakup/Makefile.in (original) +++ freeswitch/branches/knhor/trunk/libs/libspeakup/Makefile.in Thu Nov 2 11:40:13 2006 @@ -136,6 +136,7 @@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ +GREP = @GREP@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ @@ -164,12 +165,9 @@ VERSION = @VERSION@ WANT_DEBUG_FALSE = @WANT_DEBUG_FALSE@ WANT_DEBUG_TRUE = @WANT_DEBUG_TRUE@ -ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ @@ -186,25 +184,32 @@ build_os = @build_os@ build_vendor = @build_vendor@ datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ +htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ +localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ new_AM_CFLAGS = @new_AM_CFLAGS@ new_AM_LDFLAGS = @new_AM_LDFLAGS@ oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ +psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ sysconfdir = @sysconfdir@ Modified: freeswitch/branches/knhor/trunk/libs/libspeakup/aclocal.m4 ============================================================================== --- freeswitch/branches/knhor/trunk/libs/libspeakup/aclocal.m4 (original) +++ freeswitch/branches/knhor/trunk/libs/libspeakup/aclocal.m4 Thu Nov 2 11:40:13 2006 @@ -123,7 +123,7 @@ # Sed substitution that helps us do robust quoting. It backslashifies # metacharacters that are still active within double-quoted strings. -Xsed='sed -e 1s/^X//' +Xsed='sed -e s/^X//' [sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'] # Same as above, but do not quote variable references. @@ -143,7 +143,7 @@ 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" @@ -191,7 +191,7 @@ old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" fi -_LT_CC_BASENAME([$compiler]) +cc_basename=`$echo X"$compiler" | $Xsed -e 's%^.*/%%'` # Only perform the check for file, if the check method requires it case $deplibs_check_method in @@ -238,48 +238,6 @@ ])# _LT_AC_SYS_COMPILER -# _LT_CC_BASENAME(CC) -# ------------------- -# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. -AC_DEFUN([_LT_CC_BASENAME], -[for cc_temp in $1""; do - case $cc_temp in - compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; - distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` -]) - - -# _LT_COMPILER_BOILERPLATE -# ------------------------ -# Check for compiler boilerplate output or warnings with -# the simple compiler test code. -AC_DEFUN([_LT_COMPILER_BOILERPLATE], -[ac_outfile=conftest.$ac_objext -printf "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$rm conftest* -])# _LT_COMPILER_BOILERPLATE - - -# _LT_LINKER_BOILERPLATE -# ---------------------- -# Check for linker boilerplate output or warnings with -# the simple link test code. -AC_DEFUN([_LT_LINKER_BOILERPLATE], -[ac_outfile=conftest.$ac_objext -printf "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$rm conftest* -])# _LT_LINKER_BOILERPLATE - - # _LT_AC_SYS_LIBPATH_AIX # ---------------------- # Links a minimal program and checks the executable @@ -359,8 +317,8 @@ # 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 +487,7 @@ # 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 +569,7 @@ # 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) @@ -621,10 +579,8 @@ echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $echo "X$_lt_compiler_boilerplate" | $Xsed >conftest.exp - $SED '/^$/d' conftest.err >conftest.er2 - if test ! -s conftest.err || diff conftest.exp conftest.er2 >/dev/null; then + # So say no if there are warnings + if test ! -s conftest.err; then $2=yes fi fi @@ -650,16 +606,11 @@ 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. cat conftest.err 1>&AS_MESSAGE_LOG_FD - $echo "X$_lt_linker_boilerplate" | $Xsed > conftest.exp - $SED '/^$/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - $2=yes - fi else $2=yes fi @@ -718,33 +669,20 @@ lt_cv_sys_max_cmd_len=8192; ;; - netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) + netbsd* | freebsd* | openbsd* | darwin* ) # This has been around since 386BSD, at least. Likely further. if test -x /sbin/sysctl; then lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` 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` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` ;; - osf*) - # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure - # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not - # 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 ;; - esac - fi - ;; - *) + + *) # If test is not a shell built-in, we'll probably end up computing a # maximum length that is only half of the actual maximum length, but # we can't tell. @@ -854,7 +792,7 @@ }] 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 +941,7 @@ # 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) @@ -1015,13 +953,11 @@ then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings - $echo "X$_lt_compiler_boilerplate" | $Xsed > out/conftest.exp - $SED '/^$/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.err || diff out/conftest.exp out/conftest.er2 >/dev/null; then + if test ! -s out/conftest.err; then _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 +1217,7 @@ 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' @@ -1312,7 +1247,7 @@ ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' ;; esac ;; @@ -1335,7 +1270,7 @@ 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"` @@ -1370,17 +1305,8 @@ dynamic_linker='GNU ld.so' ;; -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 +freebsd*) + objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` version_type=freebsd-$objformat case $version_type in freebsd-elf*) @@ -1398,7 +1324,7 @@ freebsd2*) shlibpath_overrides_runpath=yes ;; - freebsd3.[[01]]* | freebsdelf3.[[01]]*) + freebsd3.[01]* | freebsdelf3.[01]*) shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; @@ -1425,7 +1351,7 @@ 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 @@ -1524,7 +1450,7 @@ # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + lt_ld_extra=`$SED -e 's/[:,\t]/ /g;s/=[^=]*$//;s/=[^= ]* / /g' /etc/ld.so.conf | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi @@ -1587,11 +1513,7 @@ openbsd*) version_type=sunos need_lib_prefix=no - # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. - case $host_os in - openbsd3.3 | openbsd3.3.*) need_version=yes ;; - *) need_version=no ;; - esac + need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH @@ -1757,9 +1679,7 @@ case $tagname in CXX) - if test -n "$CXX" && ( test "X$CXX" != "Xno" && - ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || - (test "X$CXX" != "Xg++"))) ; then + if test -n "$CXX" && test "X$CXX" != "Xno"; then AC_LIBTOOL_LANG_CXX_CONFIG else tagname="" @@ -1821,7 +1741,7 @@ # 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 +1915,7 @@ 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 +2025,7 @@ 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 +2057,7 @@ 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 @@ -2229,13 +2149,13 @@ lt_cv_deplibs_check_method=pass_all ;; -freebsd* | kfreebsd*-gnu | dragonfly*) +freebsd* | kfreebsd*-gnu) if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then case $host_cpu in i*86 ) # Not sure whether the presence of OpenBSD here was a mistake. # Let's accept both of them until this is cleared up. - lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD)/i[[3-9]]86 (compact )?demand paged shared library' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` ;; @@ -2251,7 +2171,7 @@ 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 @@ -2279,6 +2199,15 @@ # This must be Linux ELF. linux*) + case $host_cpu in + alpha*|hppa*|i*86|ia64*|m68*|mips*|powerpc*|sparc*|s390*|sh*) + lt_cv_deplibs_check_method=pass_all ;; + *) + # glibc up to 2.1.1 does not perform some relocations on ARM + # this will be overridden with pass_all, but let us keep it just in case + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' ;; + esac + lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so` lt_cv_deplibs_check_method=pass_all ;; @@ -2425,13 +2354,13 @@ # ----------------------------------- # 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 +2379,13 @@ # ----------------------------------- # 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 @@ -2494,21 +2423,10 @@ # --------------- AC_DEFUN([_LT_AC_LANG_CXX], [AC_REQUIRE([AC_PROG_CXX]) -AC_REQUIRE([_LT_AC_PROG_CXXCPP]) +AC_REQUIRE([AC_PROG_CXXCPP]) _LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX]) ])# _LT_AC_LANG_CXX -# _LT_AC_PROG_CXXCPP -# --------------- -AC_DEFUN([_LT_AC_PROG_CXXCPP], -[ -AC_REQUIRE([AC_PROG_CXX]) -if test -n "$CXX" && ( test "X$CXX" != "Xno" && - ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || - (test "X$CXX" != "Xg++"))) ; then - AC_PROG_CXXCPP -fi -])# _LT_AC_PROG_CXXCPP # AC_LIBTOOL_F77 # -------------- @@ -2581,10 +2499,6 @@ _LT_AC_SYS_COMPILER -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - # # Check for any special shared library compilation flags. # @@ -2635,7 +2549,7 @@ # 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 @@ -2673,7 +2587,7 @@ AC_DEFUN([_LT_AC_LANG_CXX_CONFIG], [AC_LANG_PUSH(C++) AC_REQUIRE([AC_PROG_CXX]) -AC_REQUIRE([_LT_AC_PROG_CXXCPP]) +AC_REQUIRE([AC_PROG_CXXCPP]) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no _LT_AC_TAGVAR(allow_undefined_flag, $1)= @@ -2702,7 +2616,7 @@ _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 @@ -2717,10 +2631,6 @@ # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_AC_SYS_COMPILER -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_LD=$LD @@ -2742,7 +2652,7 @@ CC=${CXX-"c++"} compiler=$CC _LT_AC_TAGVAR(compiler, $1)=$CC -_LT_CC_BASENAME([$compiler]) +cc_basename=`$echo X"$compiler" | $Xsed -e 's%^.*/%%'` # We don't want -fno-exception wen compiling C++ code, so set the # no_builtin_flag separately @@ -2849,7 +2759,7 @@ _LT_AC_TAGVAR(link_all_deplibs, $1)=yes if test "$GXX" = yes; then - case $host_os in aix4.[[012]]|aix4.[[012]].*) + case $host_os in aix4.[012]|aix4.[012].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`${CC} -print-prog-name=collect2` @@ -2870,9 +2780,6 @@ fi esac shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi else # not using gcc if test "$host_cpu" = ia64; then @@ -2918,7 +2825,7 @@ # 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 +2864,7 @@ 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 +2902,7 @@ _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 @@ -3003,12 +2910,12 @@ fi _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 - case $cc_basename in + case "$cc_basename" in xlc*) 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}' ;; @@ -3021,11 +2928,11 @@ dgux*) case $cc_basename in - ec++*) + ec++) # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; - ghcx*) + ghcx) # Green Hills C++ Compiler # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no @@ -3036,14 +2943,14 @@ ;; esac ;; - freebsd[[12]]*) + freebsd[12]*) # C++ shared libraries reported to be fairly broken before switch to ELF _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; freebsd-elf*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ;; - freebsd* | kfreebsd*-gnu | dragonfly*) + freebsd* | kfreebsd*-gnu) # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF # conventions _LT_AC_TAGVAR(ld_shlibs, $1)=yes @@ -3060,11 +2967,11 @@ # location of the library. case $cc_basename in - CC*) + CC) # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; - aCC*) + aCC) _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when @@ -3074,7 +2981,7 @@ # 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 -b $CFLAGS -v conftest.$objext 2>&1) | grep "[[-]]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[-]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' ;; *) if test "$GXX" = yes; then @@ -3088,7 +2995,7 @@ ;; 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 +3011,7 @@ ;; 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 @@ -3125,12 +3032,12 @@ esac case $cc_basename in - CC*) + CC) # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; - aCC*) - case $host_cpu in + aCC) + 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 +3058,7 @@ *) 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' ;; @@ -3169,9 +3076,9 @@ ;; irix5* | irix6*) case $cc_basename in - CC*) + CC) # SGI C++ - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib' # Archives containing C++ object files must be created using # "CC -ar", where "CC" is the IRIX C++ compiler. This is @@ -3182,7 +3089,7 @@ *) if test "$GXX" = yes; then if test "$with_gnu_ld" = no; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib' else _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib' fi @@ -3195,7 +3102,7 @@ ;; linux*) case $cc_basename in - KCC*) + KCC) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file @@ -3220,7 +3127,7 @@ # "CC -Bstatic", where "CC" is the KAI C++ compiler. _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; - icpc*) + icpc) # Intel C++ with_gnu_ld=yes # version 8.0 and above of icpc choke on multiply defined symbols @@ -3232,12 +3139,8 @@ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ;; *) # Version 8.0 or newer - tmp_idyn= - case $host_cpu in - ia64*) tmp_idyn=' -i_dynamic';; - esac - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ;; esac _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no @@ -3245,16 +3148,7 @@ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' ;; - pgCC*) - # Portland Group C++ compiler - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' - - _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' - ;; - cxx*) + cxx) # Compaq C++ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' @@ -3285,7 +3179,7 @@ ;; mvs*) case $cc_basename in - cxx*) + cxx) # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; @@ -3311,8 +3205,6 @@ _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; openbsd*) - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then @@ -3324,7 +3216,7 @@ ;; osf3*) case $cc_basename in - KCC*) + KCC) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file @@ -3340,14 +3232,14 @@ _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; - RCC*) + RCC) # Rational C++ 2.4.1 # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; - cxx*) + cxx) _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${objdir}/so_locations -o $lib' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: @@ -3365,7 +3257,7 @@ *) if test "$GXX" = yes && test "$with_gnu_ld" = no; then _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: @@ -3384,7 +3276,7 @@ ;; osf4* | osf5*) case $cc_basename in - KCC*) + KCC) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file @@ -3399,17 +3291,17 @@ # the KAI C++ compiler. _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;; - RCC*) + RCC) # Rational C++ 2.4.1 # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; - cxx*) + cxx) _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ echo "-hidden">> $lib.exp~ - $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~ + $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry $objdir/so_locations -o $lib~ $rm $lib.exp' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' @@ -3428,7 +3320,7 @@ *) if test "$GXX" = yes && test "$with_gnu_ld" = no; then _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: @@ -3452,7 +3344,7 @@ sco*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no case $cc_basename in - CC*) + CC) # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; @@ -3464,12 +3356,12 @@ ;; sunos4*) case $cc_basename in - CC*) + CC) # Sun C++ 4.x # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; - lcc*) + lcc) # Lucid # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no @@ -3482,33 +3374,36 @@ ;; solaris*) case $cc_basename in - CC*) + 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 case $host_os in - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + solaris2.[0-5] | solaris2.[0-5].*) ;; *) # The C++ compiler is used as linker so we must use $wl # flag to pass the commands to the underlying system - # linker. We must also pass each convience library through - # to the system linker between allextract/defaultextract. - # The C++ compiler will combine linker options so we - # cannot just pass the convience library names through - # without $wl. + # linker. # Supported since Solaris 2.6 (maybe 2.5.1?) - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' ;; 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 @@ -3516,7 +3411,7 @@ # in the archive. _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' ;; - gcx*) + gcx) # Green Hills C++ Compiler _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' @@ -3559,7 +3454,7 @@ ;; tandem*) case $cc_basename in - NCC*) + NCC) # NonStop-UX NCC 3.20 # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no @@ -3665,7 +3560,7 @@ # 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 +3636,6 @@ $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 @@ -3806,16 +3686,12 @@ # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_AC_SYS_COMPILER -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - # Allow CC to be a program name with arguments. lt_save_CC="$CC" CC=${F77-"f77"} compiler=$CC _LT_AC_TAGVAR(compiler, $1)=$CC -_LT_CC_BASENAME([$compiler]) +cc_basename=`$echo X"$compiler" | $Xsed -e 's%^.*/%%'` AC_MSG_CHECKING([if libtool supports shared libraries]) AC_MSG_RESULT([$can_build_shared]) @@ -3825,7 +3701,7 @@ # 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 @@ -3834,9 +3710,7 @@ fi ;; aix4* | aix5*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi + test "$enable_shared" = yes && enable_static=no ;; esac AC_MSG_RESULT([$enable_shared]) @@ -3887,27 +3761,20 @@ lt_simple_compile_test_code="class foo {}\n" # Code to be used in simple link tests -lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }\n' +lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }\n' # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_AC_SYS_COMPILER -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - # Allow CC to be a program name with arguments. lt_save_CC="$CC" CC=${GCJ-"gcj"} compiler=$CC _LT_AC_TAGVAR(compiler, $1)=$CC -_LT_CC_BASENAME([$compiler]) # GCJ did not exist at the time GCC didn't implicitly link libc in. _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no -_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds - AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1) AC_LIBTOOL_PROG_COMPILER_PIC($1) AC_LIBTOOL_PROG_CC_C_O($1) @@ -3950,16 +3817,11 @@ # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_AC_SYS_COMPILER -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - # Allow CC to be a program name with arguments. lt_save_CC="$CC" CC=${RC-"windres"} compiler=$CC _LT_AC_TAGVAR(compiler, $1)=$CC -_LT_CC_BASENAME([$compiler]) _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes AC_LIBTOOL_CONFIG($1) @@ -4095,7 +3957,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -4106,7 +3968,7 @@ SED=$lt_SED # Sed that helps us avoid accidentally triggering echo(1) options like -n. -Xsed="$SED -e 1s/^X//" +Xsed="$SED -e s/^X//" # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. @@ -4141,13 +4003,7 @@ # The host system. host_alias=$host_alias host=$host -host_os=$host_os -# The build system. -build_alias=$build_alias -build=$build -build_os=$build_os - # An echo program that does not interpret backslashes. echo=$lt_echo @@ -4223,7 +4079,7 @@ # Does compiler simultaneously support -c and -o options? compiler_c_o=$lt_[]_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) -# Must we lock files when doing compilation? +# Must we lock files when doing compilation ? need_locks=$lt_need_locks # Do we need the lib prefix for modules? @@ -4497,6 +4353,9 @@ # Regexp to match symbols that can be accessed directly from C. sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' +# Transform the above into a raw symbol and a C symbol. +symxfrm='\1 \2\3 \3' + # Transform an extracted symbol line into a proper C declaration lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'" @@ -4518,13 +4377,6 @@ lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" ;; -linux*) - if test "$host_cpu" = ia64; then - symcode='[[ABCDGIRSTW]]' - lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" - lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" - fi - ;; irix* | nonstopux*) symcode='[[BCDEGRST]]' ;; @@ -4556,11 +4408,8 @@ # Try without a prefix undercore, then with it. for ac_symprfx in "" "_"; do - # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. - symxfrm="\\1 $ac_symprfx\\2 \\2" - # Write the raw and C identifiers. - lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*\($ac_symprfx\)$sympat$opt_cr$/$symxfrm/p'" # Check to see that the pipe works correctly. pipe_works=no @@ -4724,7 +4573,7 @@ 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*) ;; *) @@ -4749,7 +4598,7 @@ ;; chorus*) case $cc_basename in - cxch68*) + cxch68) # Green Hills C++ Compiler # _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" ;; @@ -4758,7 +4607,7 @@ darwin*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files - case $cc_basename in + case "$cc_basename" in xlc*) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' @@ -4767,10 +4616,10 @@ ;; dgux*) case $cc_basename in - ec++*) + ec++) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' ;; - ghcx*) + ghcx) # Green Hills C++ Compiler _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' ;; @@ -4778,22 +4627,22 @@ ;; esac ;; - freebsd* | kfreebsd*-gnu | dragonfly*) + freebsd* | kfreebsd*-gnu) # FreeBSD uses GNU C++ ;; hpux9* | hpux10* | hpux11*) case $cc_basename in - CC*) + CC) _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" if test "$host_cpu" != ia64; then _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' fi ;; - aCC*) + 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 ;; @@ -4808,7 +4657,7 @@ ;; irix5* | irix6* | nonstopux*) case $cc_basename in - CC*) + CC) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' # CC pic flag -KPIC is the default. @@ -4819,24 +4668,18 @@ ;; linux*) case $cc_basename in - KCC*) + KCC) # KAI C++ Compiler _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; - icpc* | ecpc*) + icpc) # Intel C++ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; - pgCC*) - # 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' - ;; - cxx*) + cxx) # Compaq C++ # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. @@ -4853,7 +4696,7 @@ ;; mvs*) case $cc_basename in - cxx*) + cxx) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' ;; *) @@ -4864,14 +4707,14 @@ ;; osf3* | osf4* | osf5*) case $cc_basename in - KCC*) + KCC) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' ;; - RCC*) + RCC) # Rational C++ 2.4.1 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' ;; - cxx*) + cxx) # Digital/Compaq C++ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # Make sure the PIC flag is empty. It appears that all Alpha @@ -4887,7 +4730,7 @@ ;; sco*) case $cc_basename in - CC*) + CC) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; *) @@ -4896,13 +4739,13 @@ ;; solaris*) case $cc_basename in - CC*) + CC) # Sun C++ 4.2, 5.x and Centerline C++ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' ;; - gcx*) + gcx) # Green Hills C++ Compiler _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' ;; @@ -4912,12 +4755,12 @@ ;; sunos4*) case $cc_basename in - CC*) + CC) # Sun C++ 4.x _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; - lcc*) + lcc) # Lucid _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' ;; @@ -4927,7 +4770,7 @@ ;; tandem*) case $cc_basename in - NCC*) + NCC) # NonStop-UX NCC 3.20 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' ;; @@ -4998,7 +4841,7 @@ 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 ;; @@ -5027,7 +4870,7 @@ darwin*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files - case $cc_basename in + case "$cc_basename" in xlc*) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' @@ -5045,7 +4888,7 @@ _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 ;; @@ -5069,19 +4912,12 @@ ;; linux*) - case $cc_basename in + case $CC in icc* | ecc*) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; - pgcc* | pgf77* | pgf90* | pgf95*) - # 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' - ;; ccc*) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # All Alpha code is PIC. @@ -5102,14 +4938,9 @@ ;; solaris*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - case $cc_basename in - f77* | f90* | f95*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; - *) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; - esac ;; sunos4*) @@ -5131,11 +4962,6 @@ fi ;; - unicos*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - uts4*) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' @@ -5163,7 +4989,7 @@ [_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)= @@ -5196,7 +5022,7 @@ _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" ;; cygwin* | mingw*) - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/;/^.* __nm__/s/^.* __nm__\([[^ ]]*\) [[^ ]]*/\1 DATA/;/^I /d;/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols' + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGS]] /s/.* \([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols' ;; *) _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' @@ -5239,8 +5065,7 @@ # rely on this symbol name, it's probably fine to never include it in # preloaded symbol tables. extract_expsyms_cmds= - # Just being paranoid about ensuring that cc_basename is set. - _LT_CC_BASENAME([$compiler]) + case $host_os in cygwin* | mingw* | pw32*) # FIXME: the MSVC++ port hasn't been tested in a loooong time @@ -5260,27 +5085,6 @@ # 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. - runpath_var=LD_RUN_PATH - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= - fi - supports_anon_versioning=no - case `$LD -v 2>/dev/null` in - *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 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*) @@ -5331,7 +5135,7 @@ _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_AC_TAGVAR(always_export_symbols, $1)=no _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols' + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGS]] /s/.* \([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols' if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' @@ -5345,41 +5149,10 @@ fi~ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' else - _LT_AC_TAGVAR(ld_shlibs, $1)=no + ld_shlibs=no fi ;; - linux*) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - 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' - 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' - tmp_addflag=' $pic_flag -Mnomain' ;; - ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 - tmp_addflag=' -i_dynamic' ;; - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 - tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler - tmp_addflag=' -nofor_main' ;; - esac - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - - if test $supports_anon_versioning = yes; then - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - $echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - fi - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - netbsd*) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' @@ -5418,6 +5191,31 @@ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ;; + linux*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_cmds, $1)="$tmp_archive_cmds" + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [01].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + if test $supports_anon_versioning = yes; then + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $output_objdir/$libname.ver~ +cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ +$echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + else + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="$tmp_archive_cmds" + fi + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' @@ -5428,11 +5226,16 @@ ;; esac - if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no; then - runpath_var= - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = yes; then + runpath_var=LD_RUN_PATH + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + fi fi else # PORTME fill in a description of your system's linker (not GNU ld) @@ -5496,7 +5299,7 @@ _LT_AC_TAGVAR(link_all_deplibs, $1)=yes if test "$GCC" = yes; then - case $host_os in aix4.[[012]]|aix4.[[012]].*) + case $host_os in aix4.[012]|aix4.[012].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`${CC} -print-prog-name=collect2` @@ -5517,9 +5320,6 @@ fi esac shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi else # not using gcc if test "$host_cpu" = ia64; then @@ -5564,7 +5364,7 @@ # 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 @@ -5599,12 +5399,12 @@ _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true' # FIXME: Should let the user specify the lib program. _LT_AC_TAGVAR(old_archive_cmds, $1)='lib /OUT:$oldlib$oldobjs$old_deplibs' - _LT_AC_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`' + fix_srcfile_path='`cygpath -w "$srcfile"`' _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes ;; 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,16 +5433,16 @@ 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 - case $cc_basename in + case "$cc_basename" in xlc*) 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}' ;; @@ -5683,7 +5483,7 @@ ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | kfreebsd*-gnu | dragonfly*) + freebsd* | kfreebsd*-gnu) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_AC_TAGVAR(hardcode_direct, $1)=yes @@ -5708,7 +5508,7 @@ 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 +5517,7 @@ ;; 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 +5527,7 @@ 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' @@ -5840,7 +5640,7 @@ _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ - $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib~$rm $lib.exp' # Both c and cxx compiler support -rpath directly _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' @@ -5859,12 +5659,10 @@ solaris*) _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text' if test "$GCC" = yes; then - wlarc='${wl}' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $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 -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' else - wlarc='' _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_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~ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' @@ -5873,18 +5671,8 @@ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no case $host_os in solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; - *) - # The compiler driver will combine linker options so we - # cannot just pass the convience library names through - # without $wl, iff we do not link with $LD. - # Luckily, gcc supports the same syntax we need for Sun Studio. - # Supported since Solaris 2.6 (maybe 2.5.1?) - case $wlarc in - '') - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;; - *) - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; - esac ;; + *) # Supported since Solaris 2.6 (maybe 2.5.1?) + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;; esac _LT_AC_TAGVAR(link_all_deplibs, $1)=yes ;; @@ -6145,7 +5933,7 @@ # Add /usr/xpg4/bin/sed as it is typically found on Solaris # along with /bin/sed that truncates output. for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do - test ! -f $lt_ac_sed && continue + test ! -f $lt_ac_sed && break cat /dev/null > conftest.in lt_ac_count=0 echo $ECHO_N "0123456789$ECHO_C" >conftest.in Modified: freeswitch/branches/knhor/trunk/libs/libspeakup/configure ============================================================================== --- freeswitch/branches/knhor/trunk/libs/libspeakup/configure (original) +++ freeswitch/branches/knhor/trunk/libs/libspeakup/configure Thu Nov 2 11:40:13 2006 @@ -287,8 +287,8 @@ # 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 @@ -3250,7 +3250,7 @@ # Add /usr/xpg4/bin/sed as it is typically found on Solaris # along with /bin/sed that truncates output. for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do - test ! -f $lt_ac_sed && continue + test ! -f $lt_ac_sed && break cat /dev/null > conftest.in lt_ac_count=0 echo $ECHO_N "0123456789$ECHO_C" >conftest.in @@ -3355,7 +3355,7 @@ 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'*) @@ -3389,7 +3389,7 @@ if test "${lt_cv_prog_gnu_ld+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - # 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 @@ -3537,13 +3537,13 @@ lt_cv_deplibs_check_method=pass_all ;; -freebsd* | kfreebsd*-gnu | dragonfly*) +freebsd* | kfreebsd*-gnu) if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then case $host_cpu in i*86 ) # Not sure whether the presence of OpenBSD here was a mistake. # Let's accept both of them until this is cleared up. - lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD)/i[3-9]86 (compact )?demand paged shared library' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` ;; @@ -3559,7 +3559,7 @@ 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 @@ -3587,6 +3587,15 @@ # This must be Linux ELF. linux*) + case $host_cpu in + alpha*|hppa*|i*86|ia64*|m68*|mips*|powerpc*|sparc*|s390*|sh*) + lt_cv_deplibs_check_method=pass_all ;; + *) + # glibc up to 2.1.1 does not perform some relocations on ARM + # this will be overridden with pass_all, but let us keep it just in case + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' ;; + esac + lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so` lt_cv_deplibs_check_method=pass_all ;; @@ -3705,7 +3714,7 @@ ;; *-*-irix6*) # Find out which ABI we are using. - echo '#line 3708 "configure"' > conftest.$ac_ext + echo '#line 3717 "configure"' > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? @@ -3748,7 +3757,7 @@ ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then - case `/usr/bin/file conftest.o` in + case "`/usr/bin/file conftest.o`" in *32-bit*) case $host in x86_64-*linux*) @@ -4954,12 +4963,7 @@ fi - - -if test -n "$CXX" && ( test "X$CXX" != "Xno" && - ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || - (test "X$CXX" != "Xg++"))) ; then - ac_ext=cc +ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' @@ -5189,9 +5193,7 @@ ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -fi - ac_ext=f ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' @@ -5284,7 +5286,7 @@ # Provide some information about the compiler. -echo "$as_me:5287:" \ +echo "$as_me:5289:" \ "checking for Fortran 77 compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5 @@ -5474,33 +5476,20 @@ lt_cv_sys_max_cmd_len=8192; ;; - netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) + netbsd* | freebsd* | openbsd* | darwin* ) # This has been around since 386BSD, at least. Likely further. if test -x /sbin/sysctl; then lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` 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` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` ;; - osf*) - # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure - # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not - # 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 ;; - esac - fi - ;; - *) + + *) # If test is not a shell built-in, we'll probably end up computing a # maximum length that is only half of the actual maximum length, but # we can't tell. @@ -5551,6 +5540,9 @@ # Regexp to match symbols that can be accessed directly from C. sympat='\([_A-Za-z][_A-Za-z0-9]*\)' +# Transform the above into a raw symbol and a C symbol. +symxfrm='\1 \2\3 \3' + # Transform an extracted symbol line into a proper C declaration lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'" @@ -5572,13 +5564,6 @@ lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" ;; -linux*) - if test "$host_cpu" = ia64; then - symcode='[ABCDGIRSTW]' - lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" - lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" - fi - ;; irix* | nonstopux*) symcode='[BCDEGRST]' ;; @@ -5610,11 +5595,8 @@ # Try without a prefix undercore, then with it. for ac_symprfx in "" "_"; do - # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. - symxfrm="\\1 $ac_symprfx\\2 \\2" - # Write the raw and C identifiers. - lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*\($ac_symprfx\)$sympat$opt_cr$/$symxfrm/p'" # Check to see that the pipe works correctly. pipe_works=no @@ -5776,7 +5758,7 @@ # Sed substitution that helps us do robust quoting. It backslashifies # metacharacters that are still active within double-quoted strings. -Xsed='sed -e 1s/^X//' +Xsed='sed -e s/^X//' sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g' # Same as above, but do not quote variable references. @@ -5796,7 +5778,7 @@ 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" @@ -6081,17 +6063,8 @@ old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" fi -for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` +cc_basename=`$echo X"$compiler" | $Xsed -e 's%^.*/%%'` - # Only perform the check for file, if the check method requires it case $deplibs_check_method in file_magic*) @@ -6117,7 +6090,7 @@ 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 @@ -6179,7 +6152,7 @@ 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 @@ -6278,20 +6251,6 @@ compiler=$CC -# save warnings/boilerplate of simple test code -ac_outfile=conftest.$ac_objext -printf "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$rm conftest* - -ac_outfile=conftest.$ac_objext -printf "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$rm conftest* - - # # Check for any special shared library compilation flags. # @@ -6328,16 +6287,11 @@ LDFLAGS="$LDFLAGS $lt_prog_compiler_static" 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. cat conftest.err 1>&5 - $echo "X$_lt_linker_boilerplate" | $Xsed > conftest.exp - $SED '/^$/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_prog_compiler_static_works=yes - fi else lt_prog_compiler_static_works=yes fi @@ -6379,20 +6333,18 @@ # 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:6385: $lt_compile\"" >&5) + (eval echo "\"\$as_me:6339: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:6389: \$? = $ac_status" >&5 + echo "$as_me:6343: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $echo "X$_lt_compiler_boilerplate" | $Xsed >conftest.exp - $SED '/^$/d' conftest.err >conftest.er2 - if test ! -s conftest.err || diff conftest.exp conftest.er2 >/dev/null; then + # So say no if there are warnings + if test ! -s conftest.err; then lt_cv_prog_compiler_rtti_exceptions=yes fi fi @@ -6469,7 +6421,7 @@ 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 ;; @@ -6498,7 +6450,7 @@ darwin*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files - case $cc_basename in + case "$cc_basename" in xlc*) lt_prog_compiler_pic='-qnocommon' lt_prog_compiler_wl='-Wl,' @@ -6516,7 +6468,7 @@ lt_prog_compiler_wl='-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 ;; @@ -6540,19 +6492,12 @@ ;; linux*) - case $cc_basename in + case $CC in icc* | ecc*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-static' ;; - pgcc* | pgf77* | pgf90* | pgf95*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fpic' - lt_prog_compiler_static='-Bstatic' - ;; ccc*) lt_prog_compiler_wl='-Wl,' # All Alpha code is PIC. @@ -6573,14 +6518,9 @@ ;; solaris*) + lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' - case $cc_basename in - f77* | f90* | f95*) - lt_prog_compiler_wl='-Qoption ld ';; - *) - lt_prog_compiler_wl='-Wl,';; - esac ;; sunos4*) @@ -6602,11 +6542,6 @@ fi ;; - unicos*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_can_build_shared=no - ;; - uts4*) lt_prog_compiler_pic='-pic' lt_prog_compiler_static='-Bstatic' @@ -6641,20 +6576,18 @@ # 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:6647: $lt_compile\"" >&5) + (eval echo "\"\$as_me:6582: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:6651: \$? = $ac_status" >&5 + echo "$as_me:6586: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $echo "X$_lt_compiler_boilerplate" | $Xsed >conftest.exp - $SED '/^$/d' conftest.err >conftest.er2 - if test ! -s conftest.err || diff conftest.exp conftest.er2 >/dev/null; then + # So say no if there are warnings + if test ! -s conftest.err; then lt_prog_compiler_pic_works=yes fi fi @@ -6675,7 +6608,7 @@ fi fi -case $host_os in +case "$host_os" in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic= @@ -6703,25 +6636,23 @@ # 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:6709: $lt_compile\"" >&5) + (eval echo "\"\$as_me:6642: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:6713: \$? = $ac_status" >&5 + echo "$as_me:6646: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings - $echo "X$_lt_compiler_boilerplate" | $Xsed > out/conftest.exp - $SED '/^$/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.err || diff out/conftest.exp out/conftest.er2 >/dev/null; then + if test ! -s out/conftest.err; then lt_cv_prog_compiler_c_o=yes fi fi - chmod u+w . 2>&5 + chmod u+w . $rm conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation @@ -6797,16 +6728,6 @@ # rely on this symbol name, it's probably fine to never include it in # preloaded symbol tables. extract_expsyms_cmds= - # Just being paranoid about ensuring that cc_basename is set. - for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` case $host_os in cygwin* | mingw* | pw32*) @@ -6827,27 +6748,6 @@ # 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. - runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir' - export_dynamic_flag_spec='${wl}--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - whole_archive_flag_spec= - fi - supports_anon_versioning=no - case `$LD -v 2>/dev/null` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 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*) @@ -6898,7 +6798,7 @@ allow_undefined_flag=unsupported always_export_symbols=no enable_shared_with_static_runtimes=yes - export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' @@ -6916,37 +6816,6 @@ fi ;; - linux*) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - tmp_addflag= - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - whole_archive_flag_spec='${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 - whole_archive_flag_spec='${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' ;; - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 - tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler - tmp_addflag=' -nofor_main' ;; - esac - archive_cmds='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - - if test $supports_anon_versioning = yes; then - archive_expsym_cmds='$echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - $echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - fi - else - ld_shlibs=no - fi - ;; - netbsd*) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' @@ -6985,6 +6854,31 @@ hardcode_shlibpath_var=no ;; + linux*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_cmds="$tmp_archive_cmds" + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ 01.* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + if test $supports_anon_versioning = yes; then + archive_expsym_cmds='$echo "{ global:" > $output_objdir/$libname.ver~ +cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ +$echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + else + archive_expsym_cmds="$tmp_archive_cmds" + fi + else + ld_shlibs=no + fi + ;; + *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' @@ -6995,11 +6889,16 @@ ;; esac - if test "$ld_shlibs" = no; then - runpath_var= - hardcode_libdir_flag_spec= - export_dynamic_flag_spec= - whole_archive_flag_spec= + if test "$ld_shlibs" = yes; then + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec= + fi fi else # PORTME fill in a description of your system's linker (not GNU ld) @@ -7063,7 +6962,7 @@ link_all_deplibs=yes if test "$GCC" = yes; then - case $host_os in aix4.[012]|aix4.[012].*) + case $host_os in aix4.012|aix4.012.*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`${CC} -print-prog-name=collect2` @@ -7084,9 +6983,6 @@ fi esac shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi else # not using gcc if test "$host_cpu" = ia64; then @@ -7233,7 +7129,7 @@ # Exported symbols can be pulled into shared objects from archives whole_archive_flag_spec=' ' archive_cmds_need_lc=yes - # This is similar to how AIX traditionally builds its shared libraries. + # This is similar to how AIX traditionally builds it's shared libraries. archive_expsym_cmds="\$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 @@ -7273,7 +7169,7 @@ ;; darwin* | rhapsody*) - case $host_os in + case "$host_os" in rhapsody* | darwin1.[012]) allow_undefined_flag='${wl}-undefined ${wl}suppress' ;; @@ -7302,16 +7198,16 @@ output_verbose_link_cmd='echo' archive_cmds='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' module_cmds='$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 archive_expsym_cmds='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}' module_expsym_cmds='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 - case $cc_basename in + case "$cc_basename" in xlc*) output_verbose_link_cmd='echo' archive_cmds='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' module_cmds='$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 archive_expsym_cmds='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}' module_expsym_cmds='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}' ;; @@ -7352,7 +7248,7 @@ ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | kfreebsd*-gnu | dragonfly*) + freebsd* | kfreebsd*-gnu) archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes @@ -7377,7 +7273,7 @@ hpux10* | hpux11*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then - case $host_cpu in + case "$host_cpu" in hppa*64*|ia64*) archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; @@ -7386,7 +7282,7 @@ ;; esac else - case $host_cpu in + case "$host_cpu" in hppa*64*|ia64*) archive_cmds='$LD -b +h $soname -o $lib $libobjs $deplibs $linker_flags' ;; @@ -7396,7 +7292,7 @@ esac fi if test "$with_gnu_ld" = no; then - case $host_cpu in + case "$host_cpu" in hppa*64*) hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_flag_spec_ld='+b $libdir' @@ -7509,7 +7405,7 @@ allow_undefined_flag=' -expect_unresolved \*' archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ - $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib~$rm $lib.exp' # Both c and cxx compiler support -rpath directly hardcode_libdir_flag_spec='-rpath $libdir' @@ -7528,12 +7424,10 @@ solaris*) no_undefined_flag=' -z text' if test "$GCC" = yes; then - wlarc='${wl}' archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' else - wlarc='' archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' @@ -7542,18 +7436,8 @@ hardcode_shlibpath_var=no case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - # The compiler driver will combine linker options so we - # cannot just pass the convience library names through - # without $wl, iff we do not link with $LD. - # Luckily, gcc supports the same syntax we need for Sun Studio. - # Supported since Solaris 2.6 (maybe 2.5.1?) - case $wlarc in - '') - whole_archive_flag_spec='-z allextract$convenience -z defaultextract' ;; - *) - whole_archive_flag_spec='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; - esac ;; + *) # Supported since Solaris 2.6 (maybe 2.5.1?) + whole_archive_flag_spec='-z allextract$convenience -z defaultextract' ;; esac link_all_deplibs=yes ;; @@ -7855,8 +7739,7 @@ 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' @@ -7886,7 +7769,7 @@ ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/./-/g'`${versuffix}${shared_ext}' ;; esac ;; @@ -7909,7 +7792,7 @@ 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"` @@ -7944,17 +7827,8 @@ dynamic_linker='GNU ld.so' ;; -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 +freebsd*) + objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` version_type=freebsd-$objformat case $version_type in freebsd-elf*) @@ -7972,7 +7846,7 @@ freebsd2*) shlibpath_overrides_runpath=yes ;; - freebsd3.[01]* | freebsdelf3.[01]*) + freebsd3.01* | freebsdelf3.01*) shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; @@ -7999,7 +7873,7 @@ 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 @@ -8098,7 +7972,7 @@ # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + lt_ld_extra=`$SED -e 's/:,\t/ /g;s/=^=*$//;s/=^= * / /g' /etc/ld.so.conf | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi @@ -8161,11 +8035,7 @@ openbsd*) version_type=sunos need_lib_prefix=no - # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. - case $host_os in - openbsd3.3 | openbsd3.3.*) need_version=yes ;; - *) need_version=no ;; - esac + need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH @@ -8954,7 +8824,7 @@ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<EOF -#line 8957 "configure" +#line 8827 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -9020,7 +8890,7 @@ ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) >&5 2>/dev/null + (./conftest; exit; ) 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; @@ -9052,7 +8922,7 @@ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<EOF -#line 9055 "configure" +#line 8925 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -9118,7 +8988,7 @@ ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) >&5 2>/dev/null + (./conftest; exit; ) 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; @@ -9168,7 +9038,7 @@ # 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 @@ -9310,7 +9180,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -9321,7 +9191,7 @@ SED=$lt_SED # Sed that helps us avoid accidentally triggering echo(1) options like -n. -Xsed="$SED -e 1s/^X//" +Xsed="$SED -e s/^X//" # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. @@ -9355,13 +9225,7 @@ # The host system. host_alias=$host_alias host=$host -host_os=$host_os -# The build system. -build_alias=$build_alias -build=$build -build_os=$build_os - # An echo program that does not interpret backslashes. echo=$lt_echo @@ -9437,7 +9301,7 @@ # Does compiler simultaneously support -c and -o options? compiler_c_o=$lt_lt_cv_prog_compiler_c_o -# Must we lock files when doing compilation? +# Must we lock files when doing compilation ? need_locks=$lt_need_locks # Do we need the lib prefix for modules? @@ -9732,9 +9596,7 @@ case $tagname in CXX) - if test -n "$CXX" && ( test "X$CXX" != "Xno" && - ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || - (test "X$CXX" != "Xg++"))) ; then + if test -n "$CXX" && test "X$CXX" != "Xno"; then ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -9771,7 +9633,7 @@ compiler_lib_search_path_CXX= # Source file extension for C++ test sources. -ac_ext=cpp +ac_ext=cc # Object file extension for compiled C++ test sources. objext=o @@ -9792,20 +9654,6 @@ compiler=$CC -# save warnings/boilerplate of simple test code -ac_outfile=conftest.$ac_objext -printf "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$rm conftest* - -ac_outfile=conftest.$ac_objext -printf "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$rm conftest* - - # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_LD=$LD @@ -9827,17 +9675,8 @@ CC=${CXX-"c++"} compiler=$CC compiler_CXX=$CC -for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` +cc_basename=`$echo X"$compiler" | $Xsed -e 's%^.*/%%'` - # We don't want -fno-exception wen compiling C++ code, so set the # no_builtin_flag separately if test "$GXX" = yes; then @@ -9907,7 +9746,7 @@ 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'*) @@ -9941,7 +9780,7 @@ if test "${lt_cv_prog_gnu_ld+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - # 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 @@ -10050,7 +9889,7 @@ link_all_deplibs_CXX=yes if test "$GXX" = yes; then - case $host_os in aix4.[012]|aix4.[012].*) + case $host_os in aix4.012|aix4.012.*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`${CC} -print-prog-name=collect2` @@ -10071,9 +9910,6 @@ fi esac shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi else # not using gcc if test "$host_cpu" = ia64; then @@ -10221,7 +10057,7 @@ # Exported symbols can be pulled into shared objects from archives whole_archive_flag_spec_CXX=' ' archive_cmds_need_lc_CXX=yes - # This is similar to how AIX traditionally builds its shared libraries. + # This is similar to how AIX traditionally builds it's shared libraries. archive_expsym_cmds_CXX="\$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 @@ -10260,7 +10096,7 @@ fi ;; darwin* | rhapsody*) - case $host_os in + case "$host_os" in rhapsody* | darwin1.[012]) allow_undefined_flag_CXX='${wl}-undefined ${wl}suppress' ;; @@ -10298,7 +10134,7 @@ archive_cmds_CXX='$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 module_cmds_CXX='$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 archive_expsym_cmds_CXX='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 @@ -10306,12 +10142,12 @@ fi module_expsym_cmds_CXX='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 - case $cc_basename in + case "$cc_basename" in xlc*) output_verbose_link_cmd='echo' archive_cmds_CXX='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' module_cmds_CXX='$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 archive_expsym_cmds_CXX='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}' module_expsym_cmds_CXX='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}' ;; @@ -10324,11 +10160,11 @@ dgux*) case $cc_basename in - ec++*) + ec++) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; - ghcx*) + ghcx) # Green Hills C++ Compiler # FIXME: insert proper C++ library support ld_shlibs_CXX=no @@ -10339,14 +10175,14 @@ ;; esac ;; - freebsd[12]*) + freebsd12*) # C++ shared libraries reported to be fairly broken before switch to ELF ld_shlibs_CXX=no ;; freebsd-elf*) archive_cmds_need_lc_CXX=no ;; - freebsd* | kfreebsd*-gnu | dragonfly*) + freebsd* | kfreebsd*-gnu) # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF # conventions ld_shlibs_CXX=yes @@ -10363,11 +10199,11 @@ # location of the library. case $cc_basename in - CC*) + CC) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; - aCC*) + aCC) archive_cmds_CXX='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when @@ -10377,7 +10213,7 @@ # 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 -b $CFLAGS -v conftest.$objext 2>&1) | grep "[-]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' ;; *) if test "$GXX" = yes; then @@ -10391,7 +10227,7 @@ ;; hpux10*|hpux11*) if test $with_gnu_ld = no; then - case $host_cpu in + case "$host_cpu" in hppa*64*) hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' hardcode_libdir_flag_spec_ld_CXX='+b $libdir' @@ -10407,7 +10243,7 @@ ;; esac fi - case $host_cpu in + case "$host_cpu" in hppa*64*) hardcode_direct_CXX=no hardcode_shlibpath_var_CXX=no @@ -10428,12 +10264,12 @@ esac case $cc_basename in - CC*) + CC) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; - aCC*) - case $host_cpu in + aCC) + case "$host_cpu" in hppa*64*|ia64*) archive_cmds_CXX='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs' ;; @@ -10454,7 +10290,7 @@ *) if test "$GXX" = yes; then if test $with_gnu_ld = no; then - case $host_cpu in + case "$host_cpu" in ia64*|hppa*64*) archive_cmds_CXX='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs' ;; @@ -10472,9 +10308,9 @@ ;; irix5* | irix6*) case $cc_basename in - CC*) + CC) # SGI C++ - archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib' # Archives containing C++ object files must be created using # "CC -ar", where "CC" is the IRIX C++ compiler. This is @@ -10485,7 +10321,7 @@ *) if test "$GXX" = yes; then if test "$with_gnu_ld" = no; then - archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib' else archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib' fi @@ -10498,7 +10334,7 @@ ;; linux*) case $cc_basename in - KCC*) + KCC) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file @@ -10523,7 +10359,7 @@ # "CC -Bstatic", where "CC" is the KAI C++ compiler. old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;; - icpc*) + icpc) # Intel C++ with_gnu_ld=yes # version 8.0 and above of icpc choke on multiply defined symbols @@ -10535,12 +10371,8 @@ archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ;; *) # Version 8.0 or newer - tmp_idyn= - case $host_cpu in - ia64*) tmp_idyn=' -i_dynamic';; - esac - archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + archive_cmds_CXX='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ;; esac archive_cmds_need_lc_CXX=no @@ -10548,16 +10380,7 @@ export_dynamic_flag_spec_CXX='${wl}--export-dynamic' whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive' ;; - pgCC*) - # Portland Group C++ compiler - archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' - - hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' - export_dynamic_flag_spec_CXX='${wl}--export-dynamic' - whole_archive_flag_spec_CXX='${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*) + cxx) # Compaq C++ archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' @@ -10588,7 +10411,7 @@ ;; mvs*) case $cc_basename in - cxx*) + cxx) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; @@ -10614,8 +10437,6 @@ ld_shlibs_CXX=no ;; openbsd*) - hardcode_direct_CXX=yes - hardcode_shlibpath_var_CXX=no archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then @@ -10627,7 +10448,7 @@ ;; osf3*) case $cc_basename in - KCC*) + KCC) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file @@ -10643,14 +10464,14 @@ old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;; - RCC*) + RCC) # Rational C++ 2.4.1 # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; - cxx*) + cxx) allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${objdir}/so_locations -o $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_CXX=: @@ -10668,7 +10489,7 @@ *) if test "$GXX" = yes && test "$with_gnu_ld" = no; then allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_CXX=: @@ -10687,7 +10508,7 @@ ;; osf4* | osf5*) case $cc_basename in - KCC*) + KCC) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file @@ -10702,17 +10523,17 @@ # the KAI C++ compiler. old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' ;; - RCC*) + RCC) # Rational C++ 2.4.1 # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; - cxx*) + cxx) allow_undefined_flag_CXX=' -expect_unresolved \*' - archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib' archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ echo "-hidden">> $lib.exp~ - $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~ + $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry $objdir/so_locations -o $lib~ $rm $lib.exp' hardcode_libdir_flag_spec_CXX='-rpath $libdir' @@ -10731,7 +10552,7 @@ *) if test "$GXX" = yes && test "$with_gnu_ld" = no; then allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_CXX=: @@ -10755,7 +10576,7 @@ sco*) archive_cmds_need_lc_CXX=no case $cc_basename in - CC*) + CC) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; @@ -10767,12 +10588,12 @@ ;; sunos4*) case $cc_basename in - CC*) + CC) # Sun C++ 4.x # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; - lcc*) + lcc) # Lucid # FIXME: insert proper C++ library support ld_shlibs_CXX=no @@ -10785,33 +10606,36 @@ ;; solaris*) case $cc_basename in - CC*) + CC) # Sun C++ 4.2, 5.x and Centerline C++ - archive_cmds_need_lc_CXX=yes no_undefined_flag_CXX=' -zdefs' - archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + archive_cmds_CXX='$CC -G${allow_undefined_flag} -nolib -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' archive_expsym_cmds_CXX='$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' hardcode_libdir_flag_spec_CXX='-R$libdir' hardcode_shlibpath_var_CXX=no case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; + solaris2.0-5 | solaris2.0-5.*) ;; *) # The C++ compiler is used as linker so we must use $wl # flag to pass the commands to the underlying system - # linker. We must also pass each convience library through - # to the system linker between allextract/defaultextract. - # The C++ compiler will combine linker options so we - # cannot just pass the convience library names through - # without $wl. + # linker. # Supported since Solaris 2.6 (maybe 2.5.1?) - whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' + whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' ;; esac link_all_deplibs_CXX=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 @@ -10819,7 +10643,7 @@ # in the archive. old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' ;; - gcx*) + gcx) # Green Hills C++ Compiler archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' @@ -10862,7 +10686,7 @@ ;; tandem*) case $cc_basename in - NCC*) + NCC) # NonStop-UX NCC 3.20 # FIXME: insert proper C++ library support ld_shlibs_CXX=no @@ -10915,7 +10739,7 @@ # 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 @@ -10991,20 +10815,6 @@ $rm -f confest.$objext -# PORTME: override above test on systems where it is broken -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. - postdeps_CXX='-lCstd -lCrun' - ;; - esac -esac - - case " $postdeps_CXX " in *" -lc "*) archive_cmds_need_lc_CXX=no ;; esac @@ -11060,7 +10870,7 @@ 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*) ;; *) @@ -11085,7 +10895,7 @@ ;; chorus*) case $cc_basename in - cxch68*) + cxch68) # Green Hills C++ Compiler # _LT_AC_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" ;; @@ -11094,7 +10904,7 @@ darwin*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files - case $cc_basename in + case "$cc_basename" in xlc*) lt_prog_compiler_pic_CXX='-qnocommon' lt_prog_compiler_wl_CXX='-Wl,' @@ -11103,10 +10913,10 @@ ;; dgux*) case $cc_basename in - ec++*) + ec++) lt_prog_compiler_pic_CXX='-KPIC' ;; - ghcx*) + ghcx) # Green Hills C++ Compiler lt_prog_compiler_pic_CXX='-pic' ;; @@ -11114,22 +10924,22 @@ ;; esac ;; - freebsd* | kfreebsd*-gnu | dragonfly*) + freebsd* | kfreebsd*-gnu) # FreeBSD uses GNU C++ ;; hpux9* | hpux10* | hpux11*) case $cc_basename in - CC*) + CC) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive" if test "$host_cpu" != ia64; then lt_prog_compiler_pic_CXX='+Z' fi ;; - aCC*) + aCC) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX="${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 ;; @@ -11144,7 +10954,7 @@ ;; irix5* | irix6* | nonstopux*) case $cc_basename in - CC*) + CC) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX='-non_shared' # CC pic flag -KPIC is the default. @@ -11155,24 +10965,18 @@ ;; linux*) case $cc_basename in - KCC*) + KCC) # KAI C++ Compiler lt_prog_compiler_wl_CXX='--backend -Wl,' lt_prog_compiler_pic_CXX='-fPIC' ;; - icpc* | ecpc*) + icpc) # Intel C++ lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-static' ;; - pgCC*) - # Portland Group C++ compiler. - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_pic_CXX='-fpic' - lt_prog_compiler_static_CXX='-Bstatic' - ;; - cxx*) + cxx) # Compaq C++ # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. @@ -11189,7 +10993,7 @@ ;; mvs*) case $cc_basename in - cxx*) + cxx) lt_prog_compiler_pic_CXX='-W c,exportall' ;; *) @@ -11200,14 +11004,14 @@ ;; osf3* | osf4* | osf5*) case $cc_basename in - KCC*) + KCC) lt_prog_compiler_wl_CXX='--backend -Wl,' ;; - RCC*) + RCC) # Rational C++ 2.4.1 lt_prog_compiler_pic_CXX='-pic' ;; - cxx*) + cxx) # Digital/Compaq C++ lt_prog_compiler_wl_CXX='-Wl,' # Make sure the PIC flag is empty. It appears that all Alpha @@ -11223,7 +11027,7 @@ ;; sco*) case $cc_basename in - CC*) + CC) lt_prog_compiler_pic_CXX='-fPIC' ;; *) @@ -11232,13 +11036,13 @@ ;; solaris*) case $cc_basename in - CC*) + CC) # Sun C++ 4.2, 5.x and Centerline C++ lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-Bstatic' lt_prog_compiler_wl_CXX='-Qoption ld ' ;; - gcx*) + gcx) # Green Hills C++ Compiler lt_prog_compiler_pic_CXX='-PIC' ;; @@ -11248,12 +11052,12 @@ ;; sunos4*) case $cc_basename in - CC*) + CC) # Sun C++ 4.x lt_prog_compiler_pic_CXX='-pic' lt_prog_compiler_static_CXX='-Bstatic' ;; - lcc*) + lcc) # Lucid lt_prog_compiler_pic_CXX='-pic' ;; @@ -11263,7 +11067,7 @@ ;; tandem*) case $cc_basename in - NCC*) + NCC) # NonStop-UX NCC 3.20 lt_prog_compiler_pic_CXX='-KPIC' ;; @@ -11304,20 +11108,18 @@ # 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:11310: $lt_compile\"" >&5) + (eval echo "\"\$as_me:11114: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:11314: \$? = $ac_status" >&5 + echo "$as_me:11118: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $echo "X$_lt_compiler_boilerplate" | $Xsed >conftest.exp - $SED '/^$/d' conftest.err >conftest.er2 - if test ! -s conftest.err || diff conftest.exp conftest.er2 >/dev/null; then + # So say no if there are warnings + if test ! -s conftest.err; then lt_prog_compiler_pic_works_CXX=yes fi fi @@ -11338,7 +11140,7 @@ fi fi -case $host_os in +case "$host_os" in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic_CXX= @@ -11366,25 +11168,23 @@ # 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:11372: $lt_compile\"" >&5) + (eval echo "\"\$as_me:11174: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:11376: \$? = $ac_status" >&5 + echo "$as_me:11178: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings - $echo "X$_lt_compiler_boilerplate" | $Xsed > out/conftest.exp - $SED '/^$/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.err || diff out/conftest.exp out/conftest.er2 >/dev/null; then + if test ! -s out/conftest.err; then lt_cv_prog_compiler_c_o_CXX=yes fi fi - chmod u+w . 2>&5 + chmod u+w . $rm conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation @@ -11439,7 +11239,7 @@ export_symbols_cmds_CXX="$ltdll_cmds" ;; cygwin* | mingw*) - export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/;/^.* __nm__/s/^.* __nm__\([^ ]*\) [^ ]*/\1 DATA/;/^I /d;/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' ;; *) export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' @@ -11647,8 +11447,7 @@ 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' @@ -11678,7 +11477,7 @@ ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/./-/g'`${versuffix}${shared_ext}' ;; esac ;; @@ -11701,7 +11500,7 @@ 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"` @@ -11736,17 +11535,8 @@ dynamic_linker='GNU ld.so' ;; -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 +freebsd*) + objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` version_type=freebsd-$objformat case $version_type in freebsd-elf*) @@ -11764,7 +11554,7 @@ freebsd2*) shlibpath_overrides_runpath=yes ;; - freebsd3.[01]* | freebsdelf3.[01]*) + freebsd3.01* | freebsdelf3.01*) shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; @@ -11791,7 +11581,7 @@ 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 @@ -11890,7 +11680,7 @@ # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + lt_ld_extra=`$SED -e 's/:,\t/ /g;s/=^=*$//;s/=^= * / /g' /etc/ld.so.conf | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi @@ -11953,11 +11743,7 @@ openbsd*) version_type=sunos need_lib_prefix=no - # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. - case $host_os in - openbsd3.3 | openbsd3.3.*) need_version=yes ;; - *) need_version=no ;; - esac + need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH @@ -12746,7 +12532,7 @@ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<EOF -#line 12749 "configure" +#line 12535 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -12812,7 +12598,7 @@ ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) >&5 2>/dev/null + (./conftest; exit; ) 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; @@ -12844,7 +12630,7 @@ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<EOF -#line 12847 "configure" +#line 12633 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -12910,7 +12696,7 @@ ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) >&5 2>/dev/null + (./conftest; exit; ) 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; @@ -13062,13 +12848,7 @@ # The host system. host_alias=$host_alias host=$host -host_os=$host_os -# The build system. -build_alias=$build_alias -build=$build -build_os=$build_os - # An echo program that does not interpret backslashes. echo=$lt_echo @@ -13144,7 +12924,7 @@ # Does compiler simultaneously support -c and -o options? compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX -# Must we lock files when doing compilation? +# Must we lock files when doing compilation ? need_locks=$lt_need_locks # Do we need the lib prefix for modules? @@ -13425,36 +13205,13 @@ compiler=$CC -# save warnings/boilerplate of simple test code -ac_outfile=conftest.$ac_objext -printf "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$rm conftest* - -ac_outfile=conftest.$ac_objext -printf "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$rm conftest* - - # Allow CC to be a program name with arguments. lt_save_CC="$CC" CC=${F77-"f77"} compiler=$CC compiler_F77=$CC -for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` +cc_basename=`$echo X"$compiler" | $Xsed -e 's%^.*/%%'` - echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6 echo "$as_me:$LINENO: result: $can_build_shared" >&5 @@ -13466,7 +13223,7 @@ # 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 @@ -13475,9 +13232,7 @@ fi ;; aix4* | aix5*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi + test "$enable_shared" = yes && enable_static=no ;; esac echo "$as_me:$LINENO: result: $enable_shared" >&5 @@ -13554,7 +13309,7 @@ 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 ;; @@ -13583,7 +13338,7 @@ darwin*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files - case $cc_basename in + case "$cc_basename" in xlc*) lt_prog_compiler_pic_F77='-qnocommon' lt_prog_compiler_wl_F77='-Wl,' @@ -13601,7 +13356,7 @@ lt_prog_compiler_wl_F77='-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 ;; @@ -13625,19 +13380,12 @@ ;; linux*) - case $cc_basename in + case $CC in icc* | ecc*) lt_prog_compiler_wl_F77='-Wl,' lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-static' ;; - pgcc* | pgf77* | pgf90* | pgf95*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_pic_F77='-fpic' - lt_prog_compiler_static_F77='-Bstatic' - ;; ccc*) lt_prog_compiler_wl_F77='-Wl,' # All Alpha code is PIC. @@ -13658,14 +13406,9 @@ ;; solaris*) + lt_prog_compiler_wl_F77='-Wl,' lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-Bstatic' - case $cc_basename in - f77* | f90* | f95*) - lt_prog_compiler_wl_F77='-Qoption ld ';; - *) - lt_prog_compiler_wl_F77='-Wl,';; - esac ;; sunos4*) @@ -13687,11 +13430,6 @@ fi ;; - unicos*) - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_can_build_shared_F77=no - ;; - uts4*) lt_prog_compiler_pic_F77='-pic' lt_prog_compiler_static_F77='-Bstatic' @@ -13726,20 +13464,18 @@ # 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:13732: $lt_compile\"" >&5) + (eval echo "\"\$as_me:13470: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:13736: \$? = $ac_status" >&5 + echo "$as_me:13474: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $echo "X$_lt_compiler_boilerplate" | $Xsed >conftest.exp - $SED '/^$/d' conftest.err >conftest.er2 - if test ! -s conftest.err || diff conftest.exp conftest.er2 >/dev/null; then + # So say no if there are warnings + if test ! -s conftest.err; then lt_prog_compiler_pic_works_F77=yes fi fi @@ -13760,7 +13496,7 @@ fi fi -case $host_os in +case "$host_os" in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic_F77= @@ -13788,25 +13524,23 @@ # 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:13794: $lt_compile\"" >&5) + (eval echo "\"\$as_me:13530: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:13798: \$? = $ac_status" >&5 + echo "$as_me:13534: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings - $echo "X$_lt_compiler_boilerplate" | $Xsed > out/conftest.exp - $SED '/^$/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.err || diff out/conftest.exp out/conftest.er2 >/dev/null; then + if test ! -s out/conftest.err; then lt_cv_prog_compiler_c_o_F77=yes fi fi - chmod u+w . 2>&5 + chmod u+w . $rm conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation @@ -13882,16 +13616,6 @@ # rely on this symbol name, it's probably fine to never include it in # preloaded symbol tables. extract_expsyms_cmds= - # Just being paranoid about ensuring that cc_basename is set. - for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` case $host_os in cygwin* | mingw* | pw32*) @@ -13912,27 +13636,6 @@ # 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. - runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec_F77='${wl}--rpath ${wl}$libdir' - export_dynamic_flag_spec_F77='${wl}--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec_F77="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - whole_archive_flag_spec_F77= - fi - supports_anon_versioning=no - case `$LD -v 2>/dev/null` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 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*) @@ -13983,7 +13686,7 @@ allow_undefined_flag_F77=unsupported always_export_symbols_F77=no enable_shared_with_static_runtimes_F77=yes - export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' + export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' @@ -13997,41 +13700,10 @@ fi~ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' else - ld_shlibs_F77=no + ld_shlibs=no fi ;; - linux*) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - tmp_addflag= - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - whole_archive_flag_spec_F77='${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 - whole_archive_flag_spec_F77='${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' ;; - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 - tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler - tmp_addflag=' -nofor_main' ;; - esac - archive_cmds_F77='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - - if test $supports_anon_versioning = yes; then - archive_expsym_cmds_F77='$echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - $echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - fi - else - ld_shlibs_F77=no - fi - ;; - netbsd*) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then archive_cmds_F77='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' @@ -14070,6 +13742,31 @@ hardcode_shlibpath_var_F77=no ;; + linux*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_cmds_F77="$tmp_archive_cmds" + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ 01.* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + if test $supports_anon_versioning = yes; then + archive_expsym_cmds_F77='$echo "{ global:" > $output_objdir/$libname.ver~ +cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ +$echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + else + archive_expsym_cmds_F77="$tmp_archive_cmds" + fi + else + ld_shlibs_F77=no + fi + ;; + *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' @@ -14080,11 +13777,16 @@ ;; esac - if test "$ld_shlibs_F77" = no; then - runpath_var= - hardcode_libdir_flag_spec_F77= - export_dynamic_flag_spec_F77= - whole_archive_flag_spec_F77= + if test "$ld_shlibs_F77" = yes; then + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_F77='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_F77='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_F77="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec_F77= + fi fi else # PORTME fill in a description of your system's linker (not GNU ld) @@ -14148,7 +13850,7 @@ link_all_deplibs_F77=yes if test "$GCC" = yes; then - case $host_os in aix4.[012]|aix4.[012].*) + case $host_os in aix4.012|aix4.012.*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`${CC} -print-prog-name=collect2` @@ -14169,9 +13871,6 @@ fi esac shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi else # not using gcc if test "$host_cpu" = ia64; then @@ -14298,7 +13997,7 @@ # Exported symbols can be pulled into shared objects from archives whole_archive_flag_spec_F77=' ' archive_cmds_need_lc_F77=yes - # This is similar to how AIX traditionally builds its shared libraries. + # This is similar to how AIX traditionally builds it's shared libraries. archive_expsym_cmds_F77="\$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 @@ -14333,12 +14032,12 @@ old_archive_From_new_cmds_F77='true' # FIXME: Should let the user specify the lib program. old_archive_cmds_F77='lib /OUT:$oldlib$oldobjs$old_deplibs' - fix_srcfile_path_F77='`cygpath -w "$srcfile"`' + fix_srcfile_path='`cygpath -w "$srcfile"`' enable_shared_with_static_runtimes_F77=yes ;; darwin* | rhapsody*) - case $host_os in + case "$host_os" in rhapsody* | darwin1.[012]) allow_undefined_flag_F77='${wl}-undefined ${wl}suppress' ;; @@ -14367,16 +14066,16 @@ output_verbose_link_cmd='echo' archive_cmds_F77='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' module_cmds_F77='$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 archive_expsym_cmds_F77='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}' module_expsym_cmds_F77='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 - case $cc_basename in + case "$cc_basename" in xlc*) output_verbose_link_cmd='echo' archive_cmds_F77='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' module_cmds_F77='$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 archive_expsym_cmds_F77='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}' module_expsym_cmds_F77='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}' ;; @@ -14417,7 +14116,7 @@ ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | kfreebsd*-gnu | dragonfly*) + freebsd* | kfreebsd*-gnu) archive_cmds_F77='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec_F77='-R$libdir' hardcode_direct_F77=yes @@ -14442,7 +14141,7 @@ hpux10* | hpux11*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then - case $host_cpu in + case "$host_cpu" in hppa*64*|ia64*) archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; @@ -14451,7 +14150,7 @@ ;; esac else - case $host_cpu in + case "$host_cpu" in hppa*64*|ia64*) archive_cmds_F77='$LD -b +h $soname -o $lib $libobjs $deplibs $linker_flags' ;; @@ -14461,7 +14160,7 @@ esac fi if test "$with_gnu_ld" = no; then - case $host_cpu in + case "$host_cpu" in hppa*64*) hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' hardcode_libdir_flag_spec_ld_F77='+b $libdir' @@ -14574,7 +14273,7 @@ allow_undefined_flag_F77=' -expect_unresolved \*' archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' archive_expsym_cmds_F77='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ - $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib~$rm $lib.exp' # Both c and cxx compiler support -rpath directly hardcode_libdir_flag_spec_F77='-rpath $libdir' @@ -14593,12 +14292,10 @@ solaris*) no_undefined_flag_F77=' -z text' if test "$GCC" = yes; then - wlarc='${wl}' archive_cmds_F77='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' else - wlarc='' archive_cmds_F77='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' @@ -14607,18 +14304,8 @@ hardcode_shlibpath_var_F77=no case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - # The compiler driver will combine linker options so we - # cannot just pass the convience library names through - # without $wl, iff we do not link with $LD. - # Luckily, gcc supports the same syntax we need for Sun Studio. - # Supported since Solaris 2.6 (maybe 2.5.1?) - case $wlarc in - '') - whole_archive_flag_spec_F77='-z allextract$convenience -z defaultextract' ;; - *) - whole_archive_flag_spec_F77='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; - esac ;; + *) # Supported since Solaris 2.6 (maybe 2.5.1?) + whole_archive_flag_spec_F77='-z allextract$convenience -z defaultextract' ;; esac link_all_deplibs_F77=yes ;; @@ -14920,8 +14607,7 @@ 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' @@ -14951,7 +14637,7 @@ ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/./-/g'`${versuffix}${shared_ext}' ;; esac ;; @@ -14974,7 +14660,7 @@ 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"` @@ -15009,17 +14695,8 @@ dynamic_linker='GNU ld.so' ;; -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 +freebsd*) + objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` version_type=freebsd-$objformat case $version_type in freebsd-elf*) @@ -15037,7 +14714,7 @@ freebsd2*) shlibpath_overrides_runpath=yes ;; - freebsd3.[01]* | freebsdelf3.[01]*) + freebsd3.01* | freebsdelf3.01*) shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; @@ -15064,7 +14741,7 @@ 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 @@ -15163,7 +14840,7 @@ # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + lt_ld_extra=`$SED -e 's/:,\t/ /g;s/=^=*$//;s/=^= * / /g' /etc/ld.so.conf | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi @@ -15226,11 +14903,7 @@ openbsd*) version_type=sunos need_lib_prefix=no - # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. - case $host_os in - openbsd3.3 | openbsd3.3.*) need_version=yes ;; - *) need_version=no ;; - esac + need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH @@ -15530,13 +15203,7 @@ # The host system. host_alias=$host_alias host=$host -host_os=$host_os -# The build system. -build_alias=$build_alias -build=$build -build_os=$build_os - # An echo program that does not interpret backslashes. echo=$lt_echo @@ -15612,7 +15279,7 @@ # Does compiler simultaneously support -c and -o options? compiler_c_o=$lt_lt_cv_prog_compiler_c_o_F77 -# Must we lock files when doing compilation? +# Must we lock files when doing compilation ? need_locks=$lt_need_locks # Do we need the lib prefix for modules? @@ -15850,7 +15517,7 @@ lt_simple_compile_test_code="class foo {}\n" # Code to be used in simple link tests -lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }\n' +lt_simple_link_test_code='public class conftest { public static void main(String argv) {}; }\n' # ltmain only uses $CC for tagged configurations so make sure $CC is set. @@ -15861,42 +15528,16 @@ compiler=$CC -# save warnings/boilerplate of simple test code -ac_outfile=conftest.$ac_objext -printf "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$rm conftest* - -ac_outfile=conftest.$ac_objext -printf "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$rm conftest* - - # Allow CC to be a program name with arguments. lt_save_CC="$CC" CC=${GCJ-"gcj"} compiler=$CC compiler_GCJ=$CC -for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` - # GCJ did not exist at the time GCC didn't implicitly link libc in. archive_cmds_need_lc_GCJ=no -old_archive_cmds_GCJ=$old_archive_cmds - lt_prog_compiler_no_builtin_flag_GCJ= if test "$GCC" = yes; then @@ -15918,20 +15559,18 @@ # 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:15924: $lt_compile\"" >&5) + (eval echo "\"\$as_me:15565: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:15928: \$? = $ac_status" >&5 + echo "$as_me:15569: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $echo "X$_lt_compiler_boilerplate" | $Xsed >conftest.exp - $SED '/^$/d' conftest.err >conftest.er2 - if test ! -s conftest.err || diff conftest.exp conftest.er2 >/dev/null; then + # So say no if there are warnings + if test ! -s conftest.err; then lt_cv_prog_compiler_rtti_exceptions=yes fi fi @@ -16008,7 +15647,7 @@ 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 ;; @@ -16037,7 +15676,7 @@ darwin*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files - case $cc_basename in + case "$cc_basename" in xlc*) lt_prog_compiler_pic_GCJ='-qnocommon' lt_prog_compiler_wl_GCJ='-Wl,' @@ -16055,7 +15694,7 @@ lt_prog_compiler_wl_GCJ='-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 ;; @@ -16079,19 +15718,12 @@ ;; linux*) - case $cc_basename in + case $CC in icc* | ecc*) lt_prog_compiler_wl_GCJ='-Wl,' lt_prog_compiler_pic_GCJ='-KPIC' lt_prog_compiler_static_GCJ='-static' ;; - pgcc* | pgf77* | pgf90* | pgf95*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_pic_GCJ='-fpic' - lt_prog_compiler_static_GCJ='-Bstatic' - ;; ccc*) lt_prog_compiler_wl_GCJ='-Wl,' # All Alpha code is PIC. @@ -16112,14 +15744,9 @@ ;; solaris*) + lt_prog_compiler_wl_GCJ='-Wl,' lt_prog_compiler_pic_GCJ='-KPIC' lt_prog_compiler_static_GCJ='-Bstatic' - case $cc_basename in - f77* | f90* | f95*) - lt_prog_compiler_wl_GCJ='-Qoption ld ';; - *) - lt_prog_compiler_wl_GCJ='-Wl,';; - esac ;; sunos4*) @@ -16141,11 +15768,6 @@ fi ;; - unicos*) - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_can_build_shared_GCJ=no - ;; - uts4*) lt_prog_compiler_pic_GCJ='-pic' lt_prog_compiler_static_GCJ='-Bstatic' @@ -16180,20 +15802,18 @@ # 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:16186: $lt_compile\"" >&5) + (eval echo "\"\$as_me:15808: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:16190: \$? = $ac_status" >&5 + echo "$as_me:15812: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $echo "X$_lt_compiler_boilerplate" | $Xsed >conftest.exp - $SED '/^$/d' conftest.err >conftest.er2 - if test ! -s conftest.err || diff conftest.exp conftest.er2 >/dev/null; then + # So say no if there are warnings + if test ! -s conftest.err; then lt_prog_compiler_pic_works_GCJ=yes fi fi @@ -16214,7 +15834,7 @@ fi fi -case $host_os in +case "$host_os" in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic_GCJ= @@ -16242,25 +15862,23 @@ # 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:16248: $lt_compile\"" >&5) + (eval echo "\"\$as_me:15868: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:16252: \$? = $ac_status" >&5 + echo "$as_me:15872: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings - $echo "X$_lt_compiler_boilerplate" | $Xsed > out/conftest.exp - $SED '/^$/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.err || diff out/conftest.exp out/conftest.er2 >/dev/null; then + if test ! -s out/conftest.err; then lt_cv_prog_compiler_c_o_GCJ=yes fi fi - chmod u+w . 2>&5 + chmod u+w . $rm conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation @@ -16336,16 +15954,6 @@ # rely on this symbol name, it's probably fine to never include it in # preloaded symbol tables. extract_expsyms_cmds= - # Just being paranoid about ensuring that cc_basename is set. - for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` case $host_os in cygwin* | mingw* | pw32*) @@ -16366,27 +15974,6 @@ # 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. - runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec_GCJ='${wl}--rpath ${wl}$libdir' - export_dynamic_flag_spec_GCJ='${wl}--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec_GCJ="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - whole_archive_flag_spec_GCJ= - fi - supports_anon_versioning=no - case `$LD -v 2>/dev/null` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 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*) @@ -16437,7 +16024,7 @@ allow_undefined_flag_GCJ=unsupported always_export_symbols_GCJ=no enable_shared_with_static_runtimes_GCJ=yes - export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' + export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' @@ -16451,41 +16038,10 @@ fi~ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' else - ld_shlibs_GCJ=no + ld_shlibs=no fi ;; - linux*) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - tmp_addflag= - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - whole_archive_flag_spec_GCJ='${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 - whole_archive_flag_spec_GCJ='${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' ;; - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 - tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler - tmp_addflag=' -nofor_main' ;; - esac - archive_cmds_GCJ='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - - if test $supports_anon_versioning = yes; then - archive_expsym_cmds_GCJ='$echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - $echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - fi - else - ld_shlibs_GCJ=no - fi - ;; - netbsd*) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then archive_cmds_GCJ='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' @@ -16524,6 +16080,31 @@ hardcode_shlibpath_var_GCJ=no ;; + linux*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_cmds_GCJ="$tmp_archive_cmds" + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ 01.* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + if test $supports_anon_versioning = yes; then + archive_expsym_cmds_GCJ='$echo "{ global:" > $output_objdir/$libname.ver~ +cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ +$echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + else + archive_expsym_cmds_GCJ="$tmp_archive_cmds" + fi + else + ld_shlibs_GCJ=no + fi + ;; + *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' @@ -16534,11 +16115,16 @@ ;; esac - if test "$ld_shlibs_GCJ" = no; then - runpath_var= - hardcode_libdir_flag_spec_GCJ= - export_dynamic_flag_spec_GCJ= - whole_archive_flag_spec_GCJ= + if test "$ld_shlibs_GCJ" = yes; then + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_GCJ='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_GCJ='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_GCJ="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec_GCJ= + fi fi else # PORTME fill in a description of your system's linker (not GNU ld) @@ -16602,7 +16188,7 @@ link_all_deplibs_GCJ=yes if test "$GCC" = yes; then - case $host_os in aix4.[012]|aix4.[012].*) + case $host_os in aix4.012|aix4.012.*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`${CC} -print-prog-name=collect2` @@ -16623,9 +16209,6 @@ fi esac shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi else # not using gcc if test "$host_cpu" = ia64; then @@ -16772,7 +16355,7 @@ # Exported symbols can be pulled into shared objects from archives whole_archive_flag_spec_GCJ=' ' archive_cmds_need_lc_GCJ=yes - # This is similar to how AIX traditionally builds its shared libraries. + # This is similar to how AIX traditionally builds it's shared libraries. archive_expsym_cmds_GCJ="\$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 @@ -16807,12 +16390,12 @@ old_archive_From_new_cmds_GCJ='true' # FIXME: Should let the user specify the lib program. old_archive_cmds_GCJ='lib /OUT:$oldlib$oldobjs$old_deplibs' - fix_srcfile_path_GCJ='`cygpath -w "$srcfile"`' + fix_srcfile_path='`cygpath -w "$srcfile"`' enable_shared_with_static_runtimes_GCJ=yes ;; darwin* | rhapsody*) - case $host_os in + case "$host_os" in rhapsody* | darwin1.[012]) allow_undefined_flag_GCJ='${wl}-undefined ${wl}suppress' ;; @@ -16841,16 +16424,16 @@ output_verbose_link_cmd='echo' archive_cmds_GCJ='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' module_cmds_GCJ='$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 archive_expsym_cmds_GCJ='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}' module_expsym_cmds_GCJ='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 - case $cc_basename in + case "$cc_basename" in xlc*) output_verbose_link_cmd='echo' archive_cmds_GCJ='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' module_cmds_GCJ='$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 archive_expsym_cmds_GCJ='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}' module_expsym_cmds_GCJ='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}' ;; @@ -16891,7 +16474,7 @@ ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | kfreebsd*-gnu | dragonfly*) + freebsd* | kfreebsd*-gnu) archive_cmds_GCJ='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec_GCJ='-R$libdir' hardcode_direct_GCJ=yes @@ -16916,7 +16499,7 @@ hpux10* | hpux11*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then - case $host_cpu in + case "$host_cpu" in hppa*64*|ia64*) archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; @@ -16925,7 +16508,7 @@ ;; esac else - case $host_cpu in + case "$host_cpu" in hppa*64*|ia64*) archive_cmds_GCJ='$LD -b +h $soname -o $lib $libobjs $deplibs $linker_flags' ;; @@ -16935,7 +16518,7 @@ esac fi if test "$with_gnu_ld" = no; then - case $host_cpu in + case "$host_cpu" in hppa*64*) hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' hardcode_libdir_flag_spec_ld_GCJ='+b $libdir' @@ -17048,7 +16631,7 @@ allow_undefined_flag_GCJ=' -expect_unresolved \*' archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' archive_expsym_cmds_GCJ='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ - $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib~$rm $lib.exp' # Both c and cxx compiler support -rpath directly hardcode_libdir_flag_spec_GCJ='-rpath $libdir' @@ -17067,12 +16650,10 @@ solaris*) no_undefined_flag_GCJ=' -z text' if test "$GCC" = yes; then - wlarc='${wl}' archive_cmds_GCJ='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' else - wlarc='' archive_cmds_GCJ='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' @@ -17081,18 +16662,8 @@ hardcode_shlibpath_var_GCJ=no case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - # The compiler driver will combine linker options so we - # cannot just pass the convience library names through - # without $wl, iff we do not link with $LD. - # Luckily, gcc supports the same syntax we need for Sun Studio. - # Supported since Solaris 2.6 (maybe 2.5.1?) - case $wlarc in - '') - whole_archive_flag_spec_GCJ='-z allextract$convenience -z defaultextract' ;; - *) - whole_archive_flag_spec_GCJ='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; - esac ;; + *) # Supported since Solaris 2.6 (maybe 2.5.1?) + whole_archive_flag_spec_GCJ='-z allextract$convenience -z defaultextract' ;; esac link_all_deplibs_GCJ=yes ;; @@ -17394,8 +16965,7 @@ 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' @@ -17425,7 +16995,7 @@ ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/./-/g'`${versuffix}${shared_ext}' ;; esac ;; @@ -17448,7 +17018,7 @@ 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"` @@ -17483,17 +17053,8 @@ dynamic_linker='GNU ld.so' ;; -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 +freebsd*) + objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` version_type=freebsd-$objformat case $version_type in freebsd-elf*) @@ -17511,7 +17072,7 @@ freebsd2*) shlibpath_overrides_runpath=yes ;; - freebsd3.[01]* | freebsdelf3.[01]*) + freebsd3.01* | freebsdelf3.01*) shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; @@ -17538,7 +17099,7 @@ 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 @@ -17637,7 +17198,7 @@ # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + lt_ld_extra=`$SED -e 's/:,\t/ /g;s/=^=*$//;s/=^= * / /g' /etc/ld.so.conf | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi @@ -17700,11 +17261,7 @@ openbsd*) version_type=sunos need_lib_prefix=no - # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. - case $host_os in - openbsd3.3 | openbsd3.3.*) need_version=yes ;; - *) need_version=no ;; - esac + need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH @@ -18493,7 +18050,7 @@ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<EOF -#line 18496 "configure" +#line 18053 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -18559,7 +18116,7 @@ ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) >&5 2>/dev/null + (./conftest; exit; ) 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; @@ -18591,7 +18148,7 @@ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<EOF -#line 18594 "configure" +#line 18151 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -18657,7 +18214,7 @@ ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) >&5 2>/dev/null + (./conftest; exit; ) 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; @@ -18809,13 +18366,7 @@ # The host system. host_alias=$host_alias host=$host -host_os=$host_os -# The build system. -build_alias=$build_alias -build=$build -build_os=$build_os - # An echo program that does not interpret backslashes. echo=$lt_echo @@ -18891,7 +18442,7 @@ # Does compiler simultaneously support -c and -o options? compiler_c_o=$lt_lt_cv_prog_compiler_c_o_GCJ -# Must we lock files when doing compilation? +# Must we lock files when doing compilation ? need_locks=$lt_need_locks # Do we need the lib prefix for modules? @@ -19139,35 +18690,11 @@ compiler=$CC -# save warnings/boilerplate of simple test code -ac_outfile=conftest.$ac_objext -printf "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$rm conftest* - -ac_outfile=conftest.$ac_objext -printf "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$rm conftest* - - # Allow CC to be a program name with arguments. lt_save_CC="$CC" CC=${RC-"windres"} compiler=$CC compiler_RC=$CC -for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` - lt_cv_prog_compiler_c_o_RC=yes # The else clause should only fire when bootstrapping the @@ -19284,13 +18811,7 @@ # The host system. host_alias=$host_alias host=$host -host_os=$host_os -# The build system. -build_alias=$build_alias -build=$build -build_os=$build_os - # An echo program that does not interpret backslashes. echo=$lt_echo @@ -19366,7 +18887,7 @@ # Does compiler simultaneously support -c and -o options? compiler_c_o=$lt_lt_cv_prog_compiler_c_o_RC -# Must we lock files when doing compilation? +# Must we lock files when doing compilation ? need_locks=$lt_need_locks # Do we need the lib prefix for modules? Modified: freeswitch/branches/knhor/trunk/libs/mozilla.build.sh ============================================================================== --- freeswitch/branches/knhor/trunk/libs/mozilla.build.sh (original) +++ freeswitch/branches/knhor/trunk/libs/mozilla.build.sh Thu Nov 2 11:40:13 2006 @@ -49,5 +49,5 @@ cd nsprpub && CFLAGS=$cflags LDFLAGS=$ldflags ./configure $opts && $MAKE -cd ../js/src && CFLAGS=$cflags LDFLAGS=$ldflags JS_THREADSAFE=1 JS_HAS_FILE_OBJECT=1 OTHER_LIBS="-L../../../mozilla/nsprpub/dist/lib" INCLUDES="-I../../../mozilla/nsprpub/dist/include/nspr" $MAKE -f Makefile.ref `find . -name libjs.a` +cd ../js/src && CFLAGS=$cflags BUILD_OPT=$BUILD_OPT LDFLAGS=$ldflags JS_THREADSAFE=1 JS_HAS_FILE_OBJECT=1 OTHER_LIBS="-L../../../mozilla/nsprpub/dist/lib" INCLUDES="-I../../../mozilla/nsprpub/dist/include/nspr" $MAKE -f Makefile.ref `find . -name libjs.a` Modified: freeswitch/branches/knhor/trunk/libs/win32/Download SOFIA.vcproj ============================================================================== --- freeswitch/branches/knhor/trunk/libs/win32/Download SOFIA.vcproj (original) +++ freeswitch/branches/knhor/trunk/libs/win32/Download SOFIA.vcproj Thu Nov 2 11:40:13 2006 @@ -76,8 +76,8 @@ <Tool Name="VCCustomBuildTool" Description="Downloading SOFIA." - CommandLine="if not exist "$(ProjectDir)..\sofia-sip-1.12.3.4" cscript /nologo "$(ProjectDir)util.vbs" GetUnzip http://svn.freeswitch.org/downloads/libs/sofia-sip-1.12.3.4.tar.gz "$(ProjectDir).." " - Outputs="$(ProjectDir)..\sofia-sip-1.12.3.4" + CommandLine="if not exist "$(ProjectDir)..\sofia-sip-1.12.3.9" cscript /nologo "$(ProjectDir)util.vbs" GetUnzip http://svn.freeswitch.org/downloads/libs/sofia-sip-1.12.3.9.tar.gz "$(ProjectDir).." " + Outputs="$(ProjectDir)..\sofia-sip-1.12.3.9" /> </FileConfiguration> <FileConfiguration @@ -86,8 +86,8 @@ <Tool Name="VCCustomBuildTool" Description="Downloading SOFIA." - CommandLine="if not exist "$(ProjectDir)..\sofia-sip-1.12.3.4" cscript /nologo "$(ProjectDir)util.vbs" GetUnzip http://svn.freeswitch.org/downloads/libs/sofia-sip-1.12.3.4.tar.gz "$(ProjectDir).." " - Outputs="$(ProjectDir)..\sofia-sip-1.12.3.4" + CommandLine="if not exist "$(ProjectDir)..\sofia-sip-1.12.3.9" cscript /nologo "$(ProjectDir)util.vbs" GetUnzip http://svn.freeswitch.org/downloads/libs/sofia-sip-1.12.3.9.tar.gz "$(ProjectDir).." " + Outputs="$(ProjectDir)..\sofia-sip-1.12.3.9" /> </FileConfiguration> </File> Modified: freeswitch/branches/knhor/trunk/libs/win32/sofia/cleancount ============================================================================== --- freeswitch/branches/knhor/trunk/libs/win32/sofia/cleancount (original) +++ freeswitch/branches/knhor/trunk/libs/win32/sofia/cleancount Thu Nov 2 11:40:13 2006 @@ -1 +1 @@ -1 \ No newline at end of file +2 \ No newline at end of file Modified: freeswitch/branches/knhor/trunk/libs/win32/sofia/libsofia_sip_ua_static.vcproj ============================================================================== --- freeswitch/branches/knhor/trunk/libs/win32/sofia/libsofia_sip_ua_static.vcproj (original) +++ freeswitch/branches/knhor/trunk/libs/win32/sofia/libsofia_sip_ua_static.vcproj Thu Nov 2 11:40:13 2006 @@ -26,7 +26,7 @@ > <Tool Name="VCPreBuildEventTool" - CommandLine="if not exist "$(ProjectDir)..\..\sofia-sip-1.12.3.4\win32\gawk.exe" cscript /nologo "$(ProjectDir)..\util.vbs" Get http://svn.freeswitch.org/downloads/win32/gawk.exe "$(ProjectDir)..\..\sofia-sip-1.12.3.4\win32\" cd /D "$(ProjectDir)..\..\sofia-sip-1.12.3.4\win32\" "autogen.cmd" " + CommandLine="if not exist "$(ProjectDir)..\..\sofia-sip-1.12.3.9\win32\gawk.exe" cscript /nologo "$(ProjectDir)..\util.vbs" Get http://svn.freeswitch.org/downloads/win32/gawk.exe "$(ProjectDir)..\..\sofia-sip-1.12.3.9\win32\" cd /D "$(ProjectDir)..\..\sofia-sip-1.12.3.9\win32\" "autogen.cmd" " /> <Tool Name="VCCustomBuildTool" @@ -43,7 +43,7 @@ <Tool Name="VCCLCompilerTool" Optimization="0" - AdditionalIncludeDirectories=""..\..\sofia-sip-1.12.3.4\win32";"..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\su";"..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\ipt";"..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\sresolv";"..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\bnf";"..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\url";"..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\msg";"..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\sip";"..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\nta";"..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\nua";"..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\iptsec";"..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\http";"..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\nth";"..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\nea";"..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\sdp";"..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\soa";"..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\stun";"..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\tport";"..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\features";"..\..\pthreads-w32-2-7-0-release";." + AdditionalIncludeDirectories=""..\..\sofia-sip-1.12.3.9\win32";"..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\su";"..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\ipt";"..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\sresolv";"..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\bnf";"..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\url";"..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\msg";"..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\sip";"..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\nta";"..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\nua";"..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\iptsec";"..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\http";"..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\nth";"..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\nea";"..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\sdp";"..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\soa";"..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\stun";"..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\tport";"..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\features";"..\..\pthreads-w32-2-7-0-release";." PreprocessorDefinitions="WIN32;_DEBUG;_LIB;IN_LIBSOFIA_SIP_UA_STATIC;LIBSOFIA_SIP_UA_STATIC;LIBSRES_STATIC;PTW32_STATIC_LIB" MinimalRebuild="true" BasicRuntimeChecks="3" @@ -104,7 +104,7 @@ > <Tool Name="VCPreBuildEventTool" - CommandLine="if not exist "$(ProjectDir)..\..\sofia-sip-1.12.3.4\win32\gawk.exe" cscript /nologo "$(ProjectDir)..\util.vbs" Get http://svn.freeswitch.org/downloads/win32/gawk.exe "$(ProjectDir)..\..\sofia-sip-1.12.3.4\win32\" cd /D "$(ProjectDir)..\..\sofia-sip-1.12.3.4\win32\" "autogen.cmd" " + CommandLine="if not exist "$(ProjectDir)..\..\sofia-sip-1.12.3.9\win32\gawk.exe" cscript /nologo "$(ProjectDir)..\util.vbs" Get http://svn.freeswitch.org/downloads/win32/gawk.exe "$(ProjectDir)..\..\sofia-sip-1.12.3.9\win32\" cd /D "$(ProjectDir)..\..\sofia-sip-1.12.3.9\win32\" "autogen.cmd" " /> <Tool Name="VCCustomBuildTool" @@ -122,7 +122,7 @@ Name="VCCLCompilerTool" Optimization="2" InlineFunctionExpansion="1" - AdditionalIncludeDirectories=""..\..\sofia-sip-1.12.3.4\win32";"..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\su";"..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\ipt";"..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\sresolv";"..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\bnf";"..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\url";"..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\msg";"..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\sip";"..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\nta";"..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\nua";"..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\iptsec";"..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\http";"..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\nth";"..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\nea";"..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\sdp";"..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\soa";"..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\stun";"..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\tport";"..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\features";"..\..\pthreads-w32-2-7-0-release";." + AdditionalIncludeDirectories=""..\..\sofia-sip-1.12.3.9\win32";"..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\su";"..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\ipt";"..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\sresolv";"..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\bnf";"..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\url";"..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\msg";"..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\sip";"..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\nta";"..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\nua";"..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\iptsec";"..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\http";"..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\nth";"..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\nea";"..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\sdp";"..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\soa";"..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\stun";"..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\tport";"..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\features";"..\..\pthreads-w32-2-7-0-release";." PreprocessorDefinitions="WIN32;NDEBUG;_LIB;IN_LIBSOFIA_SIP_UA_STATIC;LIBSOFIA_SIP_UA_STATIC;LIBSRES_STATIC;PTW32_STATIC_LIB" StringPooling="true" RuntimeLibrary="2" @@ -183,7 +183,7 @@ Filter="su*.c" > <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\su\inet_ntop.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\su\inet_ntop.c" > <FileConfiguration Name="Debug|Win32" @@ -205,7 +205,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\su\inet_pton.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\su\inet_pton.c" > <FileConfiguration Name="Debug|Win32" @@ -227,7 +227,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\su\su.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\su\su.c" > <FileConfiguration Name="Debug|Win32" @@ -249,7 +249,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\su\su_addrinfo.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\su\su_addrinfo.c" > <FileConfiguration Name="Debug|Win32" @@ -271,7 +271,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\su\su_alloc.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\su\su_alloc.c" > <FileConfiguration Name="Debug|Win32" @@ -293,7 +293,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\su\su_alloc_lock.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\su\su_alloc_lock.c" > <FileConfiguration Name="Debug|Win32" @@ -315,7 +315,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\su\su_bm.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\su\su_bm.c" > <FileConfiguration Name="Debug|Win32" @@ -337,7 +337,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\su\su_default_log.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\su\su_default_log.c" > <FileConfiguration Name="Debug|Win32" @@ -359,7 +359,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\su\su_errno.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\su\su_errno.c" > <FileConfiguration Name="Debug|Win32" @@ -381,7 +381,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\su\su_global_log.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\su\su_global_log.c" > <FileConfiguration Name="Debug|Win32" @@ -403,7 +403,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\su\su_localinfo.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\su\su_localinfo.c" > <FileConfiguration Name="Debug|Win32" @@ -425,7 +425,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\su\su_log.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\su\su_log.c" > <FileConfiguration Name="Debug|Win32" @@ -447,7 +447,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\su\su_md5.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\su\su_md5.c" > <FileConfiguration Name="Debug|Win32" @@ -469,11 +469,11 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\su\su_os_nw.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\su\su_os_nw.c" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\su\su_port.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\su\su_port.c" > <FileConfiguration Name="Debug|Win32" @@ -495,7 +495,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\su\su_root.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\su\su_root.c" > <FileConfiguration Name="Debug|Win32" @@ -517,7 +517,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\su\su_sprintf.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\su\su_sprintf.c" > <FileConfiguration Name="Debug|Win32" @@ -539,7 +539,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\su\su_strdup.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\su\su_strdup.c" > <FileConfiguration Name="Debug|Win32" @@ -561,7 +561,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\su\su_strlst.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\su\su_strlst.c" > <FileConfiguration Name="Debug|Win32" @@ -583,7 +583,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\su\su_tag.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\su\su_tag.c" > <FileConfiguration Name="Debug|Win32" @@ -605,7 +605,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\su\su_tag_io.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\su\su_tag_io.c" > <FileConfiguration Name="Debug|Win32" @@ -627,7 +627,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\su\su_taglist.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\su\su_taglist.c" > <FileConfiguration Name="Debug|Win32" @@ -649,7 +649,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\su\su_time.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\su\su_time.c" > <FileConfiguration Name="Debug|Win32" @@ -671,7 +671,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\su\su_time0.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\su\su_time0.c" > <FileConfiguration Name="Debug|Win32" @@ -693,7 +693,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\su\su_timer.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\su\su_timer.c" > <FileConfiguration Name="Debug|Win32" @@ -715,7 +715,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\su\su_uniqueid.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\su\su_uniqueid.c" > <FileConfiguration Name="Debug|Win32" @@ -737,7 +737,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\su\su_vector.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\su\su_vector.c" > <FileConfiguration Name="Debug|Win32" @@ -759,7 +759,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\su\su_wait.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\su\su_wait.c" > <FileConfiguration Name="Debug|Win32" @@ -785,7 +785,7 @@ Name="ipt" > <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\ipt\base64.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\ipt\base64.c" > <FileConfiguration Name="Debug|Win32" @@ -807,7 +807,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\ipt\rc4.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\ipt\rc4.c" > <FileConfiguration Name="Debug|Win32" @@ -829,7 +829,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\ipt\string0.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\ipt\string0.c" > <FileConfiguration Name="Debug|Win32" @@ -851,7 +851,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\ipt\token64.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\ipt\token64.c" > <FileConfiguration Name="Debug|Win32" @@ -878,7 +878,7 @@ Filter="url*.c" > <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\url\url.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\url\url.c" > <FileConfiguration Name="Debug|Win32" @@ -900,7 +900,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\url\url_tag.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\url\url_tag.c" > <FileConfiguration Name="Debug|Win32" @@ -922,7 +922,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\url\url_tag_ref.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\url\url_tag_ref.c" > <FileConfiguration Name="Debug|Win32" @@ -949,7 +949,7 @@ Filter="features*.c" > <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\features\features.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\features\features.c" > <FileConfiguration Name="Debug|Win32" @@ -976,7 +976,7 @@ Filter="bnf*.c" > <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\bnf\bnf.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\bnf\bnf.c" > <FileConfiguration Name="Debug|Win32" @@ -1003,7 +1003,7 @@ Filter="msg*.c" > <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\msg\msg.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\msg\msg.c" > <FileConfiguration Name="Debug|Win32" @@ -1025,7 +1025,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\msg\msg_auth.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\msg\msg_auth.c" > <FileConfiguration Name="Debug|Win32" @@ -1047,7 +1047,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\msg\msg_basic.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\msg\msg_basic.c" > <FileConfiguration Name="Debug|Win32" @@ -1069,7 +1069,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\msg\msg_date.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\msg\msg_date.c" > <FileConfiguration Name="Debug|Win32" @@ -1091,7 +1091,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\msg\msg_generic.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\msg\msg_generic.c" > <FileConfiguration Name="Debug|Win32" @@ -1113,7 +1113,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\msg\msg_header_copy.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\msg\msg_header_copy.c" > <FileConfiguration Name="Debug|Win32" @@ -1135,7 +1135,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\msg\msg_header_make.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\msg\msg_header_make.c" > <FileConfiguration Name="Debug|Win32" @@ -1157,7 +1157,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\msg\msg_mclass.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\msg\msg_mclass.c" > <FileConfiguration Name="Debug|Win32" @@ -1179,7 +1179,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\msg\msg_mime.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\msg\msg_mime.c" > <FileConfiguration Name="Debug|Win32" @@ -1201,7 +1201,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\msg\msg_mime_table.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\msg\msg_mime_table.c" > <FileConfiguration Name="Debug|Win32" @@ -1223,7 +1223,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\msg\msg_parser.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\msg\msg_parser.c" > <FileConfiguration Name="Debug|Win32" @@ -1245,7 +1245,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\msg\msg_parser_util.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\msg\msg_parser_util.c" > <FileConfiguration Name="Debug|Win32" @@ -1267,7 +1267,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\msg\msg_tag.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\msg\msg_tag.c" > <FileConfiguration Name="Debug|Win32" @@ -1293,7 +1293,7 @@ Name="clib replacement" > <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\su\memcspn.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\su\memcspn.c" > <FileConfiguration Name="Debug|Win32" @@ -1315,7 +1315,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\su\memmem.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\su\memmem.c" > <FileConfiguration Name="Debug|Win32" @@ -1337,7 +1337,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\su\memspn.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\su\memspn.c" > <FileConfiguration Name="Debug|Win32" @@ -1359,7 +1359,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\su\strcasestr.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\su\strcasestr.c" > <FileConfiguration Name="Debug|Win32" @@ -1381,7 +1381,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\su\strtoull.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\su\strtoull.c" > <FileConfiguration Name="Debug|Win32" @@ -1407,7 +1407,7 @@ Name="sip" > <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\sip\sip_basic.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\sip\sip_basic.c" > <FileConfiguration Name="Debug|Win32" @@ -1429,7 +1429,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\sip\sip_caller_prefs.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\sip\sip_caller_prefs.c" > <FileConfiguration Name="Debug|Win32" @@ -1451,7 +1451,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\sip\sip_event.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\sip\sip_event.c" > <FileConfiguration Name="Debug|Win32" @@ -1473,7 +1473,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\sip\sip_extra.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\sip\sip_extra.c" > <FileConfiguration Name="Debug|Win32" @@ -1495,7 +1495,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\sip\sip_feature.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\sip\sip_feature.c" > <FileConfiguration Name="Debug|Win32" @@ -1517,7 +1517,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\sip\sip_header.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\sip\sip_header.c" > <FileConfiguration Name="Debug|Win32" @@ -1539,7 +1539,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\sip\sip_mime.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\sip\sip_mime.c" > <FileConfiguration Name="Debug|Win32" @@ -1561,7 +1561,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\sip\sip_parser.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\sip\sip_parser.c" > <FileConfiguration Name="Debug|Win32" @@ -1583,7 +1583,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\sip\sip_parser_table.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\sip\sip_parser_table.c" > <FileConfiguration Name="Debug|Win32" @@ -1605,7 +1605,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\sip\sip_prack.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\sip\sip_prack.c" > <FileConfiguration Name="Debug|Win32" @@ -1627,7 +1627,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\sip\sip_pref_util.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\sip\sip_pref_util.c" > <FileConfiguration Name="Debug|Win32" @@ -1649,7 +1649,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\sip\sip_reason.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\sip\sip_reason.c" > <FileConfiguration Name="Debug|Win32" @@ -1671,7 +1671,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\sip\sip_refer.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\sip\sip_refer.c" > <FileConfiguration Name="Debug|Win32" @@ -1693,7 +1693,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\sip\sip_security.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\sip\sip_security.c" > <FileConfiguration Name="Debug|Win32" @@ -1715,7 +1715,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\sip\sip_session.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\sip\sip_session.c" > <FileConfiguration Name="Debug|Win32" @@ -1737,7 +1737,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\sip\sip_status.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\sip\sip_status.c" > <FileConfiguration Name="Debug|Win32" @@ -1759,7 +1759,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\sip\sip_tag.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\sip\sip_tag.c" > <FileConfiguration Name="Debug|Win32" @@ -1781,7 +1781,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\sip\sip_tag_class.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\sip\sip_tag_class.c" > <FileConfiguration Name="Debug|Win32" @@ -1803,7 +1803,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\sip\sip_tag_ref.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\sip\sip_tag_ref.c" > <FileConfiguration Name="Debug|Win32" @@ -1825,7 +1825,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\sip\sip_time.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\sip\sip_time.c" > <FileConfiguration Name="Debug|Win32" @@ -1847,7 +1847,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\sip\sip_util.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\sip\sip_util.c" > <FileConfiguration Name="Debug|Win32" @@ -1873,7 +1873,7 @@ Name="http" > <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\http\http_basic.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\http\http_basic.c" > <FileConfiguration Name="Debug|Win32" @@ -1895,7 +1895,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\http\http_extra.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\http\http_extra.c" > <FileConfiguration Name="Debug|Win32" @@ -1917,7 +1917,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\http\http_header.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\http\http_header.c" > <FileConfiguration Name="Debug|Win32" @@ -1939,7 +1939,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\http\http_parser.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\http\http_parser.c" > <FileConfiguration Name="Debug|Win32" @@ -1961,7 +1961,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\http\http_parser_table.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\http\http_parser_table.c" > <FileConfiguration Name="Debug|Win32" @@ -1983,7 +1983,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\http\http_status.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\http\http_status.c" > <FileConfiguration Name="Debug|Win32" @@ -2005,7 +2005,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\http\http_tag.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\http\http_tag.c" > <FileConfiguration Name="Debug|Win32" @@ -2027,7 +2027,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\http\http_tag_class.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\http\http_tag_class.c" > <FileConfiguration Name="Debug|Win32" @@ -2049,7 +2049,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\http\http_tag_ref.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\http\http_tag_ref.c" > <FileConfiguration Name="Debug|Win32" @@ -2075,7 +2075,7 @@ Name="nth" > <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\nth\nth_client.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\nth\nth_client.c" > <FileConfiguration Name="Debug|Win32" @@ -2097,7 +2097,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\nth\nth_server.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\nth\nth_server.c" > <FileConfiguration Name="Debug|Win32" @@ -2119,7 +2119,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\nth\nth_tag.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\nth\nth_tag.c" > <FileConfiguration Name="Debug|Win32" @@ -2141,7 +2141,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\nth\nth_tag_ref.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\nth\nth_tag_ref.c" > <FileConfiguration Name="Debug|Win32" @@ -2167,7 +2167,7 @@ Name="sresolv" > <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\sresolv\sres.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\sresolv\sres.c" > <FileConfiguration Name="Debug|Win32" @@ -2189,7 +2189,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\sresolv\sres_blocking.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\sresolv\sres_blocking.c" > <FileConfiguration Name="Debug|Win32" @@ -2211,7 +2211,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\sresolv\sres_cache.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\sresolv\sres_cache.c" > <FileConfiguration Name="Debug|Win32" @@ -2233,7 +2233,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\sresolv\sresolv.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\sresolv\sresolv.c" > <FileConfiguration Name="Debug|Win32" @@ -2259,7 +2259,7 @@ Name="nea" > <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\nea\nea.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\nea\nea.c" > <FileConfiguration Name="Debug|Win32" @@ -2281,7 +2281,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\nea\nea_debug.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\nea\nea_debug.c" > <FileConfiguration Name="Debug|Win32" @@ -2303,7 +2303,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\nea\nea_event.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\nea\nea_event.c" > <FileConfiguration Name="Debug|Win32" @@ -2325,7 +2325,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\nea\nea_server.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\nea\nea_server.c" > <FileConfiguration Name="Debug|Win32" @@ -2347,7 +2347,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\nea\nea_tag.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\nea\nea_tag.c" > <FileConfiguration Name="Debug|Win32" @@ -2369,7 +2369,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\nea\nea_tag_ref.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\nea\nea_tag_ref.c" > <FileConfiguration Name="Debug|Win32" @@ -2395,7 +2395,7 @@ Name="iptsec" > <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\iptsec\auth_client.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\iptsec\auth_client.c" > <FileConfiguration Name="Debug|Win32" @@ -2417,7 +2417,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\iptsec\auth_common.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\iptsec\auth_common.c" > <FileConfiguration Name="Debug|Win32" @@ -2439,7 +2439,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\iptsec\auth_digest.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\iptsec\auth_digest.c" > <FileConfiguration Name="Debug|Win32" @@ -2461,7 +2461,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\iptsec\auth_module.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\iptsec\auth_module.c" > <FileConfiguration Name="Debug|Win32" @@ -2483,7 +2483,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\iptsec\auth_module_http.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\iptsec\auth_module_http.c" > <FileConfiguration Name="Debug|Win32" @@ -2505,7 +2505,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\iptsec\auth_module_sip.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\iptsec\auth_module_sip.c" > <FileConfiguration Name="Debug|Win32" @@ -2527,7 +2527,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\iptsec\auth_plugin.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\iptsec\auth_plugin.c" > <FileConfiguration Name="Debug|Win32" @@ -2549,7 +2549,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\iptsec\auth_plugin_delayed.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\iptsec\auth_plugin_delayed.c" > <FileConfiguration Name="Debug|Win32" @@ -2571,7 +2571,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\iptsec\auth_tag.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\iptsec\auth_tag.c" > <FileConfiguration Name="Debug|Win32" @@ -2593,7 +2593,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\iptsec\auth_tag_ref.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\iptsec\auth_tag_ref.c" > <FileConfiguration Name="Debug|Win32" @@ -2615,7 +2615,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\iptsec\iptsec_debug.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\iptsec\iptsec_debug.c" > <FileConfiguration Name="Debug|Win32" @@ -2641,7 +2641,7 @@ Name="stun" > <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\stun\stun.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\stun\stun.c" > <FileConfiguration Name="Debug|Win32" @@ -2663,7 +2663,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\stun\stun_common.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\stun\stun_common.c" > <FileConfiguration Name="Debug|Win32" @@ -2685,7 +2685,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\stun\stun_dns.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\stun\stun_dns.c" > <FileConfiguration Name="Debug|Win32" @@ -2707,11 +2707,11 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\stun\stun_internal.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\stun\stun_internal.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\stun\stun_mini.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\stun\stun_mini.c" > <FileConfiguration Name="Debug|Win32" @@ -2733,7 +2733,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\stun\stun_tag.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\stun\stun_tag.c" > <FileConfiguration Name="Debug|Win32" @@ -2755,7 +2755,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\stun\stun_tag_ref.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\stun\stun_tag_ref.c" > <FileConfiguration Name="Debug|Win32" @@ -2781,7 +2781,7 @@ Name="nua" > <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\nua\nua.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\nua\nua.c" > <FileConfiguration Name="Debug|Win32" @@ -2803,7 +2803,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\nua\nua_common.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\nua\nua_common.c" > <FileConfiguration Name="Debug|Win32" @@ -2825,7 +2825,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\nua\nua_dialog.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\nua\nua_dialog.c" > <FileConfiguration Name="Debug|Win32" @@ -2847,11 +2847,11 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\nua\nua_dialog.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\nua\nua_dialog.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\nua\nua_event_server.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\nua\nua_event_server.c" > <FileConfiguration Name="Debug|Win32" @@ -2873,7 +2873,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\nua\nua_message.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\nua\nua_message.c" > <FileConfiguration Name="Debug|Win32" @@ -2895,11 +2895,11 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\nua\nua_notifier.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\nua\nua_notifier.c" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\nua\nua_options.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\nua\nua_options.c" > <FileConfiguration Name="Debug|Win32" @@ -2921,7 +2921,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\nua\nua_params.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\nua\nua_params.c" > <FileConfiguration Name="Debug|Win32" @@ -2943,11 +2943,11 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\nua\nua_params.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\nua\nua_params.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\nua\nua_publish.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\nua\nua_publish.c" > <FileConfiguration Name="Debug|Win32" @@ -2969,7 +2969,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\nua\nua_register.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\nua\nua_register.c" > <FileConfiguration Name="Debug|Win32" @@ -2991,11 +2991,11 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\nua\nua_registrar.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\nua\nua_registrar.c" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\nua\nua_session.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\nua\nua_session.c" > <FileConfiguration Name="Debug|Win32" @@ -3017,7 +3017,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\nua\nua_stack.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\nua\nua_stack.c" > <FileConfiguration Name="Debug|Win32" @@ -3039,11 +3039,11 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\nua\nua_stack.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\nua\nua_stack.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\nua\nua_subnotref.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\nua\nua_subnotref.c" > <FileConfiguration Name="Debug|Win32" @@ -3065,7 +3065,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\nua\nua_tag.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\nua\nua_tag.c" > <FileConfiguration Name="Debug|Win32" @@ -3087,7 +3087,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\nua\nua_tag_ref.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\nua\nua_tag_ref.c" > <FileConfiguration Name="Debug|Win32" @@ -3109,7 +3109,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\nua\outbound.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\nua\outbound.c" > </File> </Filter> @@ -3117,7 +3117,7 @@ Name="nta" > <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\nta\nta.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\nta\nta.c" > <FileConfiguration Name="Debug|Win32" @@ -3139,7 +3139,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\nta\nta_check.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\nta\nta_check.c" > <FileConfiguration Name="Debug|Win32" @@ -3161,7 +3161,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\nta\nta_tag.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\nta\nta_tag.c" > <FileConfiguration Name="Debug|Win32" @@ -3183,7 +3183,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\nta\nta_tag_ref.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\nta\nta_tag_ref.c" > <FileConfiguration Name="Debug|Win32" @@ -3205,7 +3205,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\nta\sl_read_payload.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\nta\sl_read_payload.c" > <FileConfiguration Name="Debug|Win32" @@ -3227,7 +3227,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\nta\sl_utils_log.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\nta\sl_utils_log.c" > <FileConfiguration Name="Debug|Win32" @@ -3249,7 +3249,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\nta\sl_utils_print.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\nta\sl_utils_print.c" > <FileConfiguration Name="Debug|Win32" @@ -3275,7 +3275,7 @@ Name="tport" > <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\tport\tport.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\tport\tport.c" > <FileConfiguration Name="Debug|Win32" @@ -3297,11 +3297,11 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\tport\tport_internal.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\tport\tport_internal.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\tport\tport_logging.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\tport\tport_logging.c" > <FileConfiguration Name="Debug|Win32" @@ -3323,7 +3323,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\tport\tport_stub_sigcomp.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\tport\tport_stub_sigcomp.c" > <FileConfiguration Name="Debug|Win32" @@ -3345,7 +3345,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\tport\tport_stub_stun.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\tport\tport_stub_stun.c" > <FileConfiguration Name="Debug|Win32" @@ -3367,7 +3367,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\tport\tport_tag.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\tport\tport_tag.c" > <FileConfiguration Name="Debug|Win32" @@ -3389,7 +3389,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\tport\tport_tag_ref.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\tport\tport_tag_ref.c" > <FileConfiguration Name="Debug|Win32" @@ -3411,7 +3411,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\tport\tport_type_connect.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\tport\tport_type_connect.c" > <FileConfiguration Name="Debug|Win32" @@ -3433,7 +3433,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\tport\tport_type_tcp.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\tport\tport_type_tcp.c" > <FileConfiguration Name="Debug|Win32" @@ -3455,7 +3455,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\tport\tport_type_udp.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\tport\tport_type_udp.c" > <FileConfiguration Name="Debug|Win32" @@ -3481,7 +3481,7 @@ Name="sdp" > <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\sdp\sdp.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\sdp\sdp.c" > <FileConfiguration Name="Debug|Win32" @@ -3503,7 +3503,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\sdp\sdp_parse.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\sdp\sdp_parse.c" > <FileConfiguration Name="Debug|Win32" @@ -3525,7 +3525,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\sdp\sdp_print.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\sdp\sdp_print.c" > <FileConfiguration Name="Debug|Win32" @@ -3547,7 +3547,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\sdp\sdp_tag.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\sdp\sdp_tag.c" > <FileConfiguration Name="Debug|Win32" @@ -3569,7 +3569,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\sdp\sdp_tag_ref.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\sdp\sdp_tag_ref.c" > <FileConfiguration Name="Debug|Win32" @@ -3595,7 +3595,7 @@ Name="soa" > <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\soa\soa.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\soa\soa.c" > <FileConfiguration Name="Debug|Win32" @@ -3617,11 +3617,11 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\soa\sofia-sip-1.12.3.4\soa_session.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\soa\sofia-sip-1.12.3.9\soa_session.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\soa\soa_static.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\soa\soa_static.c" > <FileConfiguration Name="Debug|Win32" @@ -3643,7 +3643,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\soa\soa_tag.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\soa\soa_tag.c" > <FileConfiguration Name="Debug|Win32" @@ -3665,7 +3665,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\soa\soa_tag_ref.c" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\soa\soa_tag_ref.c" > <FileConfiguration Name="Debug|Win32" @@ -3697,123 +3697,123 @@ Filter="su*.h" > <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\su\sofia-sip-1.12.3.4\htable.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\su\sofia-sip-1.12.3.9\htable.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\su\sofia-sip-1.12.3.4\htable2.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\su\sofia-sip-1.12.3.9\htable2.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\su\sofia-sip-1.12.3.4\rbtree.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\su\sofia-sip-1.12.3.9\rbtree.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\su\sofia-sip-1.12.3.4\su.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\su\sofia-sip-1.12.3.9\su.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\su\sofia-sip-1.12.3.4\su_addrinfo.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\su\sofia-sip-1.12.3.9\su_addrinfo.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\su\sofia-sip-1.12.3.4\su_alloc.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\su\sofia-sip-1.12.3.9\su_alloc.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\su\sofia-sip-1.12.3.4\su_alloc_stat.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\su\sofia-sip-1.12.3.9\su_alloc_stat.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\su\sofia-sip-1.12.3.4\su_bm.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\su\sofia-sip-1.12.3.9\su_bm.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\su\sofia-sip-1.12.3.4\su_config.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\su\sofia-sip-1.12.3.9\su_config.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\su\sofia-sip-1.12.3.4\su_debug.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\su\sofia-sip-1.12.3.9\su_debug.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\su\sofia-sip-1.12.3.4\su_errno.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\su\sofia-sip-1.12.3.9\su_errno.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\su\sofia-sip-1.12.3.4\su_localinfo.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\su\sofia-sip-1.12.3.9\su_localinfo.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\su\sofia-sip-1.12.3.4\su_log.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\su\sofia-sip-1.12.3.9\su_log.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\su\sofia-sip-1.12.3.4\su_md5.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\su\sofia-sip-1.12.3.9\su_md5.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\su\su_module_debug.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\su\su_module_debug.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\su\sofia-sip-1.12.3.4\su_os_nw.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\su\sofia-sip-1.12.3.9\su_os_nw.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\su\su_port.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\su\su_port.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\su\sofia-sip-1.12.3.4\su_source.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\su\sofia-sip-1.12.3.9\su_source.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\su\sofia-sip-1.12.3.4\su_strlst.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\su\sofia-sip-1.12.3.9\su_strlst.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\su\sofia-sip-1.12.3.4\su_tag.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\su\sofia-sip-1.12.3.9\su_tag.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\su\sofia-sip-1.12.3.4\su_tag_class.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\su\sofia-sip-1.12.3.9\su_tag_class.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\su\sofia-sip-1.12.3.4\su_tag_inline.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\su\sofia-sip-1.12.3.9\su_tag_inline.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\su\sofia-sip-1.12.3.4\su_tag_io.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\su\sofia-sip-1.12.3.9\su_tag_io.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\su\sofia-sip-1.12.3.4\su_tagarg.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\su\sofia-sip-1.12.3.9\su_tagarg.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\su\sofia-sip-1.12.3.4\su_time.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\su\sofia-sip-1.12.3.9\su_time.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\su\sofia-sip-1.12.3.4\su_types.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\su\sofia-sip-1.12.3.9\su_types.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\su\sofia-sip-1.12.3.4\su_uniqueid.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\su\sofia-sip-1.12.3.9\su_uniqueid.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\su\sofia-sip-1.12.3.4\su_vector.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\su\sofia-sip-1.12.3.9\su_vector.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\su\sofia-sip-1.12.3.4\su_wait.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\su\sofia-sip-1.12.3.9\su_wait.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\su\sofia-sip-1.12.3.4\tstdef.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\su\sofia-sip-1.12.3.9\tstdef.h" > </File> </Filter> @@ -3825,7 +3825,7 @@ > </File> <File - RelativePath="..\sofia-sip-1.12.3.4\su_configure.h" + RelativePath="..\sofia-sip-1.12.3.9\su_configure.h" > </File> <File @@ -3837,19 +3837,19 @@ Name="ipt headers" > <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\ipt\sofia-sip-1.12.3.4\base64.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\ipt\sofia-sip-1.12.3.9\base64.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\ipt\sofia-sip-1.12.3.4\rc4.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\ipt\sofia-sip-1.12.3.9\rc4.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\ipt\sofia-sip-1.12.3.4\string0.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\ipt\sofia-sip-1.12.3.9\string0.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\ipt\sofia-sip-1.12.3.4\token64.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\ipt\sofia-sip-1.12.3.9\token64.h" > </File> </Filter> @@ -3858,15 +3858,15 @@ Filter="url*.h" > <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\url\sofia-sip-1.12.3.4\url.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\url\sofia-sip-1.12.3.9\url.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\url\sofia-sip-1.12.3.4\url_tag.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\url\sofia-sip-1.12.3.9\url_tag.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\url\sofia-sip-1.12.3.4\url_tag_class.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\url\sofia-sip-1.12.3.9\url_tag_class.h" > </File> </Filter> @@ -3875,7 +3875,7 @@ Filter="features*.h" > <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\features\sofia-sip-1.12.3.4\sofia_features.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\features\sofia-sip-1.12.3.9\sofia_features.h" > </File> </Filter> @@ -3884,11 +3884,11 @@ Filter="bnf*.h" > <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\bnf\sofia-sip-1.12.3.4\bnf.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\bnf\sofia-sip-1.12.3.9\bnf.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\bnf\sofia-sip-1.12.3.4\hostdomain.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\bnf\sofia-sip-1.12.3.9\hostdomain.h" > </File> </Filter> @@ -3896,63 +3896,63 @@ Name="msg headers" > <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\msg\sofia-sip-1.12.3.4\msg.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\msg\sofia-sip-1.12.3.9\msg.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\msg\sofia-sip-1.12.3.4\msg_addr.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\msg\sofia-sip-1.12.3.9\msg_addr.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\msg\msg_bnf.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\msg\msg_bnf.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\msg\sofia-sip-1.12.3.4\msg_buffer.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\msg\sofia-sip-1.12.3.9\msg_buffer.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\msg\sofia-sip-1.12.3.4\msg_date.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\msg\sofia-sip-1.12.3.9\msg_date.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\msg\sofia-sip-1.12.3.4\msg_header.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\msg\sofia-sip-1.12.3.9\msg_header.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\msg\msg_internal.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\msg\msg_internal.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\msg\sofia-sip-1.12.3.4\msg_mclass.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\msg\sofia-sip-1.12.3.9\msg_mclass.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\msg\sofia-sip-1.12.3.4\msg_mclass_hash.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\msg\sofia-sip-1.12.3.9\msg_mclass_hash.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\msg\sofia-sip-1.12.3.4\msg_mime.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\msg\sofia-sip-1.12.3.9\msg_mime.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\msg\sofia-sip-1.12.3.4\msg_mime_protos.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\msg\sofia-sip-1.12.3.9\msg_mime_protos.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\msg\sofia-sip-1.12.3.4\msg_parser.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\msg\sofia-sip-1.12.3.9\msg_parser.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\msg\sofia-sip-1.12.3.4\msg_protos.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\msg\sofia-sip-1.12.3.9\msg_protos.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\msg\sofia-sip-1.12.3.4\msg_tag_class.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\msg\sofia-sip-1.12.3.9\msg_tag_class.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\msg\sofia-sip-1.12.3.4\msg_types.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\msg\sofia-sip-1.12.3.9\msg_types.h" > </File> </Filter> @@ -3960,47 +3960,47 @@ Name="sip headers" > <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\sip\sofia-sip-1.12.3.4\sip.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\sip\sofia-sip-1.12.3.9\sip.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\sip\sip_extensions.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\sip\sip_extensions.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\sip\sofia-sip-1.12.3.4\sip_hclasses.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\sip\sofia-sip-1.12.3.9\sip_hclasses.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\sip\sofia-sip-1.12.3.4\sip_header.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\sip\sofia-sip-1.12.3.9\sip_header.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\sip\sip_internal.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\sip\sip_internal.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\sip\sofia-sip-1.12.3.4\sip_parser.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\sip\sofia-sip-1.12.3.9\sip_parser.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\sip\sofia-sip-1.12.3.4\sip_protos.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\sip\sofia-sip-1.12.3.9\sip_protos.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\sip\sofia-sip-1.12.3.4\sip_status.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\sip\sofia-sip-1.12.3.9\sip_status.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\sip\sofia-sip-1.12.3.4\sip_tag.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\sip\sofia-sip-1.12.3.9\sip_tag.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\sip\sofia-sip-1.12.3.4\sip_tag_class.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\sip\sofia-sip-1.12.3.9\sip_tag_class.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\sip\sofia-sip-1.12.3.4\sip_util.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\sip\sofia-sip-1.12.3.9\sip_util.h" > </File> </Filter> @@ -4008,35 +4008,35 @@ Name="http headers" > <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\http\sofia-sip-1.12.3.4\http.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\http\sofia-sip-1.12.3.9\http.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\http\sofia-sip-1.12.3.4\http_hclasses.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\http\sofia-sip-1.12.3.9\http_hclasses.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\http\sofia-sip-1.12.3.4\http_header.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\http\sofia-sip-1.12.3.9\http_header.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\http\sofia-sip-1.12.3.4\http_parser.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\http\sofia-sip-1.12.3.9\http_parser.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\http\sofia-sip-1.12.3.4\http_protos.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\http\sofia-sip-1.12.3.9\http_protos.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\http\sofia-sip-1.12.3.4\http_status.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\http\sofia-sip-1.12.3.9\http_status.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\http\sofia-sip-1.12.3.4\http_tag.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\http\sofia-sip-1.12.3.9\http_tag.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\http\sofia-sip-1.12.3.4\http_tag_class.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\http\sofia-sip-1.12.3.9\http_tag_class.h" > </File> </Filter> @@ -4044,11 +4044,11 @@ Name="nth headers" > <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\nth\sofia-sip-1.12.3.4\nth.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\nth\sofia-sip-1.12.3.9\nth.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\nth\sofia-sip-1.12.3.4\nth_tag.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\nth\sofia-sip-1.12.3.9\nth_tag.h" > </File> </Filter> @@ -4056,23 +4056,23 @@ Name="sresolv headers" > <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\sresolv\sofia-resolv\sres.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\sresolv\sofia-resolv\sres.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\sresolv\sofia-resolv\sres_async.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\sresolv\sofia-resolv\sres_async.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\sresolv\sofia-resolv\sres_cache.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\sresolv\sofia-resolv\sres_cache.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\sresolv\sofia-resolv\sres_record.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\sresolv\sofia-resolv\sres_record.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\sresolv\sofia-sip-1.12.3.4\sresolv.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\sresolv\sofia-sip-1.12.3.9\sresolv.h" > </File> </Filter> @@ -4080,15 +4080,15 @@ Name="nea headers" > <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\nea\sofia-sip-1.12.3.4\nea.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\nea\sofia-sip-1.12.3.9\nea.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\nea\nea_debug.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\nea\nea_debug.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\nea\sofia-sip-1.12.3.4\nea_tag.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\nea\sofia-sip-1.12.3.9\nea_tag.h" > </File> </Filter> @@ -4096,27 +4096,27 @@ Name="iptsec headers" > <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\iptsec\sofia-sip-1.12.3.4\auth_client.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\iptsec\sofia-sip-1.12.3.9\auth_client.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\iptsec\sofia-sip-1.12.3.4\auth_digest.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\iptsec\sofia-sip-1.12.3.9\auth_digest.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\iptsec\sofia-sip-1.12.3.4\auth_module.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\iptsec\sofia-sip-1.12.3.9\auth_module.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\iptsec\sofia-sip-1.12.3.4\auth_ntlm.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\iptsec\sofia-sip-1.12.3.9\auth_ntlm.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\iptsec\sofia-sip-1.12.3.4\auth_plugin.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\iptsec\sofia-sip-1.12.3.9\auth_plugin.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\iptsec\iptsec_debug.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\iptsec\iptsec_debug.h" > </File> </Filter> @@ -4124,15 +4124,15 @@ Name="stun headers" > <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\stun\sofia-sip-1.12.3.4\stun.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\stun\sofia-sip-1.12.3.9\stun.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\stun\sofia-sip-1.12.3.4\stun_common.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\stun\sofia-sip-1.12.3.9\stun_common.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\stun\sofia-sip-1.12.3.4\stun_tag.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\stun\sofia-sip-1.12.3.9\stun_tag.h" > </File> </Filter> @@ -4140,11 +4140,11 @@ Name="nua headers" > <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\nua\sofia-sip-1.12.3.4\nua.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\nua\sofia-sip-1.12.3.9\nua.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\nua\sofia-sip-1.12.3.4\nua_tag.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\nua\sofia-sip-1.12.3.9\nua_tag.h" > </File> </Filter> @@ -4152,27 +4152,27 @@ Name="nta headers" > <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\nta\sofia-sip-1.12.3.4\nta.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\nta\sofia-sip-1.12.3.9\nta.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\nta\nta_internal.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\nta\nta_internal.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\nta\sofia-sip-1.12.3.4\nta_stateless.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\nta\sofia-sip-1.12.3.9\nta_stateless.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\nta\sofia-sip-1.12.3.4\nta_tag.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\nta\sofia-sip-1.12.3.9\nta_tag.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\nta\sofia-sip-1.12.3.4\nta_tport.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\nta\sofia-sip-1.12.3.9\nta_tport.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\nta\sofia-sip-1.12.3.4\sl_utils.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\nta\sofia-sip-1.12.3.9\sl_utils.h" > </File> </Filter> @@ -4180,19 +4180,19 @@ Name="tport headers" > <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\tport\sofia-sip-1.12.3.4\tport.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\tport\sofia-sip-1.12.3.9\tport.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\tport\sofia-sip-1.12.3.4\tport_plugins.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\tport\sofia-sip-1.12.3.9\tport_plugins.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\tport\sofia-sip-1.12.3.4\tport_tag.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\tport\sofia-sip-1.12.3.9\tport_tag.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\tport\tport_tls.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\tport\tport_tls.h" > </File> </Filter> @@ -4200,11 +4200,11 @@ Name="sdp headers" > <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\sdp\sofia-sip-1.12.3.4\sdp.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\sdp\sofia-sip-1.12.3.9\sdp.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\sdp\sofia-sip-1.12.3.4\sdp_tag.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\sdp\sofia-sip-1.12.3.9\sdp_tag.h" > </File> </Filter> @@ -4212,15 +4212,15 @@ Name="soa headers" > <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\soa\sofia-sip-1.12.3.4\soa.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\soa\sofia-sip-1.12.3.9\soa.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\soa\sofia-sip-1.12.3.4\soa_add.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\soa\sofia-sip-1.12.3.9\soa_add.h" > </File> <File - RelativePath="..\..\sofia-sip-1.12.3.4\libsofia-sip-ua\soa\sofia-sip-1.12.3.4\soa_tag.h" + RelativePath="..\..\sofia-sip-1.12.3.9\libsofia-sip-ua\soa\sofia-sip-1.12.3.9\soa_tag.h" > </File> </Filter> Modified: freeswitch/branches/knhor/trunk/scripts/POE-Filter-FSSocket/CHANGES ============================================================================== --- freeswitch/branches/knhor/trunk/scripts/POE-Filter-FSSocket/CHANGES (original) +++ freeswitch/branches/knhor/trunk/scripts/POE-Filter-FSSocket/CHANGES Thu Nov 2 11:40:13 2006 @@ -1,4 +1,24 @@ ========================= +2006-10-23 00:19:14 v0_07 +========================= + + 2006-10-23 00:19:14 (r7) by ptinsley + + Potential fix for default POE modules on debian with perl 5.8.4, but I + I can't be sure because we can't make the problem happen again. + +========================= +2006-10-23 00:15:32 v0_06 +========================= + + 2006-10-23 00:15:32 (r6) by ptinsley + + reworked the handling of Content-Length based replies to deal with replies + that don't have \n at the end of their data block + Updated the curses example (fsconsole.pl) + - Added command/reply output + +========================= 2006-10-14 00:08:00 v0_05 ========================= Modified: freeswitch/branches/knhor/trunk/scripts/POE-Filter-FSSocket/examples/fsconsole.pl ============================================================================== --- freeswitch/branches/knhor/trunk/scripts/POE-Filter-FSSocket/examples/fsconsole.pl (original) +++ freeswitch/branches/knhor/trunk/scripts/POE-Filter-FSSocket/examples/fsconsole.pl Thu Nov 2 11:40:13 2006 @@ -224,8 +224,14 @@ } else { #see if we got connected at some point if(defined($sockets{'localhost'})) { - #send the command - $sockets{'localhost'}->put($input); + my $cmd; + if ($input =~ /^log|^event/) { + $cmd = $input; + } else { + $cmd = "api $input"; + } + #send the command + $sockets{'localhost'}->put($cmd); } } } @@ -264,12 +270,14 @@ if($input->{'Content-Type'} eq "auth/request") { $heap->{'server'}->put("auth $server_secret"); } elsif ($input->{'Content-Type'} eq "api/response") { - new_message('destination_window' => 0, 'message' => 'Response: '); + new_message('destination_window' => 0, 'message' => 'API Response: '); new_message('destination_window' => 0, 'message' => $input->{'__DATA__'}); } elsif ($input->{'Content-Type'} eq "log/data") { new_message('destination_window' => 1, 'message' => $input->{'__DATA__'}); } elsif ($input->{'Content-Type'} eq "text/event-plain") { new_message('destination_window' => 2, 'message' => Dumper $input); + } elsif ($input->{'Content-Type'} eq "command/reply") { + new_message('destination_window' => 0, 'message' => 'Command Response: ' . $input->{'Reply-Text'}); } }; Modified: freeswitch/branches/knhor/trunk/scripts/POE-Filter-FSSocket/lib/POE/Filter/FSSocket.pm ============================================================================== --- freeswitch/branches/knhor/trunk/scripts/POE-Filter-FSSocket/lib/POE/Filter/FSSocket.pm (original) +++ freeswitch/branches/knhor/trunk/scripts/POE-Filter-FSSocket/lib/POE/Filter/FSSocket.pm Thu Nov 2 11:40:13 2006 @@ -11,9 +11,6 @@ use POE qw(Component::Client::TCP Filter::FSSocket); use Data::Dumper; - - my $auth_sent = 0; - my $password = "ClueCon"; POE::Component::Client::TCP->new( 'RemoteAddress' => '127.0.0.1', @@ -25,6 +22,9 @@ POE::Kernel->run(); exit; + my $auth_sent = 0; + my $password = "ClueCon"; + sub handle_server_input { my ($heap,$input) = @_[HEAP,ARG0]; @@ -44,10 +44,6 @@ } } -=head1 EXAMPLES - -See examples in the examples directory of the distribution. - =head1 DESCRIPTION POE::Filter::FSSocket parses output from FreeSWITCH into hashes. FreeSWITCH @@ -110,19 +106,18 @@ use vars qw($VERSION); use base qw(POE::Filter); -$VERSION = '0.05'; +$VERSION = '0.07'; -use POE::Filter::Line; use Data::Dumper; #self array -sub LINE_FILTER() {1} -sub PARSER_STATE() {2} -sub PARSER_STATENEXT() {3} -sub PARSED_RECORD() {4} -sub CURRENT_LENGTH() {5} -sub STRICT_PARSE() {6} -sub DEBUG_LEVEL() {7} +sub FRAMING_BUFFER() {0} +sub PARSER_STATE() {1} +sub PARSER_STATENEXT() {2} +sub PARSED_RECORD() {3} +sub CURRENT_LENGTH() {4} +sub STRICT_PARSE() {5} +sub DEBUG_LEVEL() {6} #states of the parser sub STATE_WAITING() {1} #looking for new input @@ -146,19 +141,15 @@ $strict = $args{'strict'}; } - #our filter is line based, don't reinvent the wheel - my $line_filter = POE::Filter::Line->new(); - my $self = bless [ - "", #not used by me but the baseclass clone wants it here - $line_filter, #LINE_FILTER + "", #framing buffer STATE_WAITING, #PARSER_STATE undef, #PARSER_STATE {}, #PARSED_RECORD 0, #length tracking (for Content-Length when needed) $strict, #whether we should bail on a bad parse or try and save the session $debug, #debug level - ], $class; + ], ref($class) || $class; return $self; } @@ -166,22 +157,40 @@ sub get_one_start { my ($self, $stream) = @_; - $self->[LINE_FILTER]->get_one_start($stream); + + #take all the chunks and put them in the buffer + $self->[FRAMING_BUFFER] .= join('', @{$stream}); } sub get_one { my $self = shift; + my $line; + while(1) { - #grab a line from the filter - my $line = $self->[LINE_FILTER]->get_one(); + $line = ""; - #quit if we can't get any lines - return [] unless @$line; + #see if we are in line based or length based mode + if($self->[PARSER_STATE] == STATE_TEXTRESPONSE) { + my $length = $self->[PARSED_RECORD]{'Content-Length'}; - #get the actual line - $line = $line->[0]; - + if($self->[FRAMING_BUFFER] =~ s/^(.{$length})//s) { + $self->[PARSER_STATE] = STATE_FLUSH; + $self->[PARSED_RECORD]->{'__DATA__'} = $1; + return [ $self->[PARSED_RECORD] ]; + } else { + #not engough in the buffer yet, come back later + return; + } + } else { #we are in normal line based mode + if($self->[FRAMING_BUFFER] =~ s/^(.*?)(\x0D\x0A?|\x0A\x0D?)//) { + $line = $1; + } else { + #not enough off of the socket yet, come back later + return []; + } + } + if(($self->[PARSER_STATE] == STATE_WAITING) || ($self->[PARSER_STATE] == STATE_FLUSH)) { #see if we need to wipe out the parsed_record info if($self->[PARSER_STATE] == STATE_FLUSH) { @@ -271,22 +280,6 @@ } } } - } elsif ($self->[PARSER_STATE] == STATE_TEXTRESPONSE) { - if($self->[CURRENT_LENGTH] == -1) { - $self->[CURRENT_LENGTH] = 0; - next; - } - - $self->[CURRENT_LENGTH] += (length($line) + 1); - - if(($self->[CURRENT_LENGTH] - 1) == $self->[PARSED_RECORD]{'Content-Length'}) { - $self->[PARSER_STATE] = STATE_FLUSH; - $self->[PARSED_RECORD]{'__DATA__'} .= $line; - - return [$self->[PARSED_RECORD]]; - } else { - $self->[PARSED_RECORD]{'__DATA__'} .= $line . "\n"; - } } } } @@ -305,7 +298,7 @@ sub get_pending { my $self = shift; - return $self->[LINE_FILTER]->get_pending(); + return $self->[FRAMING_BUFFER]; } sub get { Modified: freeswitch/branches/knhor/trunk/scripts/socket/fsconsole.pl ============================================================================== --- freeswitch/branches/knhor/trunk/scripts/socket/fsconsole.pl (original) +++ freeswitch/branches/knhor/trunk/scripts/socket/fsconsole.pl Thu Nov 2 11:40:13 2006 @@ -224,8 +224,14 @@ } else { #see if we got connected at some point if(defined($sockets{'localhost'})) { - #send the command - $sockets{'localhost'}->put("api $input"); + my $cmd; + if ($input =~ /^log|^event/) { + $cmd = $input; + } else { + $cmd = "api $input"; + } + #send the command + $sockets{'localhost'}->put($cmd); } } } @@ -264,12 +270,14 @@ if($input->{'Content-Type'} eq "auth/request") { $heap->{'server'}->put("auth $server_secret"); } elsif ($input->{'Content-Type'} eq "api/response") { - new_message('destination_window' => 0, 'message' => 'Response: '); + new_message('destination_window' => 0, 'message' => 'API Response: '); new_message('destination_window' => 0, 'message' => $input->{'__DATA__'}); } elsif ($input->{'Content-Type'} eq "log/data") { new_message('destination_window' => 1, 'message' => $input->{'__DATA__'}); } elsif ($input->{'Content-Type'} eq "text/event-plain") { new_message('destination_window' => 2, 'message' => Dumper $input); + } elsif ($input->{'Content-Type'} eq "command/reply") { + new_message('destination_window' => 0, 'message' => 'Command Response: ' . $input->{'Reply-Text'}); } }; Modified: freeswitch/branches/knhor/trunk/src/include/switch_am_config.h.in ============================================================================== --- freeswitch/branches/knhor/trunk/src/include/switch_am_config.h.in (original) +++ freeswitch/branches/knhor/trunk/src/include/switch_am_config.h.in Thu Nov 2 11:40:13 2006 @@ -124,5 +124,5 @@ /* Define to rpl_malloc if the replacement function should be used. */ #undef malloc -/* Define to `unsigned' if <sys/types.h> does not define. */ +/* Define to `unsigned int' if <sys/types.h> does not define. */ #undef size_t Modified: freeswitch/branches/knhor/trunk/src/include/switch_channel.h ============================================================================== --- freeswitch/branches/knhor/trunk/src/include/switch_channel.h (original) +++ freeswitch/branches/knhor/trunk/src/include/switch_channel.h Thu Nov 2 11:40:13 2006 @@ -281,6 +281,17 @@ #define switch_channel_answer(channel) switch_channel_perform_answer(channel, __FILE__, __FUNCTION__, __LINE__) +SWITCH_DECLARE(switch_status_t) switch_channel_perform_ringback(switch_channel_t *channel, + const char *file, + const char *func, + int line); +/*! + \brief Send Ringing message to a channel + \param channel channel to ring + \return SWITCH_STATUS_SUCCESS if successful +*/ +#define switch_channel_ringback(channel) switch_channel_perform_ringback(channel, __FILE__, __FUNCTION__, __LINE__) + SWITCH_DECLARE(switch_status_t) switch_channel_perform_pre_answer(switch_channel_t *channel, const char *file, Modified: freeswitch/branches/knhor/trunk/src/include/switch_ivr.h ============================================================================== --- freeswitch/branches/knhor/trunk/src/include/switch_ivr.h (original) +++ freeswitch/branches/knhor/trunk/src/include/switch_ivr.h Thu Nov 2 11:40:13 2006 @@ -152,7 +152,41 @@ void *buf, unsigned int buflen); +/*! + \brief Function to evaluate an expression against a string + \param target The string to find a match in + \param expression The regular expression to run against the string + \return Boolean if a match was found or not +*/ +SWITCH_DECLARE(switch_status_t) switch_regex_match(char *target, char *expression); +/*! + \brief Play a sound and gather digits with the number of retries specified if the user doesn't give digits in the set time + \param session the current session to play sound to and collect digits + \param min_digits the fewest digits allowed for the response to be valid + \param max_digits the max number of digits to accept + \param max_tries number of times to replay the sound and capture digits + \param timeout time to wait for input (this is per iteration, so total possible time = max_tries * (timeout + audio playback length) + \param valid_terminators for input that can include # or * (useful for variable length prompts) + \param audio_file file to play + \param bad_input_audio_file file to play if the input from the user was invalid + \param digit_buffer variable digits captured will be put back into (empty if capture failed) + \param digit_buffer_length length of the buffer for digits (should be the same or larger than max_digits) + \return switch status, used to note status of channel (will still return success if digit capture failed) + \note to test for digit capture failure look for \0 in the first position of the buffer +*/ +SWITCH_DECLARE(switch_status_t) switch_play_and_get_digits(switch_core_session_t *session, + unsigned int min_digits, + unsigned int max_digits, + unsigned int max_tries, + unsigned int timeout, + char* valid_terminators, + char* audio_file, + char* bad_input_audio_file, + void* digit_buffer, + unsigned int digit_buffer_length, + char* digits_regex); + SWITCH_DECLARE(switch_status_t) switch_ivr_speak_text_handle(switch_core_session_t *session, switch_speech_handle_t *sh, switch_codec_t *codec, @@ -240,7 +274,6 @@ */ SWITCH_DECLARE(switch_status_t) switch_ivr_session_transfer(switch_core_session_t *session, char *extension, char *dialplan, char *context); - /*! \brief Bridge two existing sessions \param originator_uuid the uuid of the originator @@ -248,6 +281,59 @@ \return SWITCH_STATUS_SUCCESS if all is well */ SWITCH_DECLARE(switch_status_t) switch_ivr_uuid_bridge(char *originator_uuid, char *originatee_uuid); + +/*! + \brief Signal a session to request direct media access to it's remote end + \param uuid the uuid of the session to request + \param flags flags to influence behaviour (SMF_REBRIDGE to rebridge the call in media mode) + \return SWITCH_STATUS_SUCCESS if all is well +*/ +SWITCH_DECLARE(switch_status_t) switch_ivr_media(char *uuid, switch_media_flag_t flags); + +/*! + \brief Signal a session to request indirect media allowing it to exchange media directly with another device + \param uuid the uuid of the session to request + \param flags flags to influence behaviour (SMF_REBRIDGE to rebridge the call in no_media mode) + \return SWITCH_STATUS_SUCCESS if all is well +*/ +SWITCH_DECLARE(switch_status_t) switch_ivr_nomedia(char *uuid, switch_media_flag_t flags); + +/*! + \brief Signal the session with a protocol specific hold message. + \param uuid the uuid of the session to hold + \return SWITCH_STATUS_SUCCESS if all is well +*/ +SWITCH_DECLARE(switch_status_t) switch_ivr_hold_uuid(char *uuid); + +/*! + \brief Signal the session with a protocol specific unhold message. + \param uuid the uuid of the session to hold + \return SWITCH_STATUS_SUCCESS if all is well +*/ +SWITCH_DECLARE(switch_status_t) switch_ivr_unhold_uuid(char *uuid); + +/*! + \brief Signal the session with a protocol specific hold message. + \param session the session to hold + \return SWITCH_STATUS_SUCCESS if all is well +*/ +SWITCH_DECLARE(switch_status_t) switch_ivr_hold(switch_core_session_t *session); + +/*! + \brief Signal the session with a protocol specific unhold message. + \param uuid the uuid of the session to unhold + \return SWITCH_STATUS_SUCCESS if all is well +*/ +SWITCH_DECLARE(switch_status_t) switch_ivr_unhold(switch_core_session_t *session); + +/*! + \brief Signal the session to broadcast audio + \param uuid the uuid of the session to broadcast on + \param path the path data of the broadcast "/path/to/file.wav [<timer name>]" or "speak:<engine>|<voice>|<Text to say>" + \param flags flags to send to the request (SMF_ECHO_BRIDGED to send the broadcast to both sides of the call) + \return SWITCH_STATUS_SUCCESS if all is well +*/ +SWITCH_DECLARE(switch_status_t) switch_ivr_broadcast(char *uuid, char *path, switch_media_flag_t flags); /*! \brief Transfer variables from one session to another Modified: freeswitch/branches/knhor/trunk/src/include/switch_module_interfaces.h ============================================================================== --- freeswitch/branches/knhor/trunk/src/include/switch_module_interfaces.h (original) +++ freeswitch/branches/knhor/trunk/src/include/switch_module_interfaces.h Thu Nov 2 11:40:13 2006 @@ -60,6 +60,8 @@ switch_state_handler_t on_transmit; /*! executed when the state changes to hold*/ switch_state_handler_t on_hold; + /*! executed when the state changes to hibernate*/ + switch_state_handler_t on_hibernate; }; struct switch_stream_handle { Modified: freeswitch/branches/knhor/trunk/src/include/switch_resample.h ============================================================================== --- freeswitch/branches/knhor/trunk/src/include/switch_resample.h (original) +++ freeswitch/branches/knhor/trunk/src/include/switch_resample.h Thu Nov 2 11:40:13 2006 @@ -38,6 +38,7 @@ way comes along some day. =D */ +#define switch_normalize_volume(x) if(x > 4) x = 4; if (x < -4) x = -4; #ifndef SWITCH_RESAMPLE_H #define SWITCH_RESAMPLE_H @@ -154,6 +155,13 @@ */ SWITCH_DECLARE(void) switch_swap_linear(int16_t *buf, int len); +/*! + \brief Change the volume of a signed linear audio frame + \param data the audio data + \param samples the number of 2 byte samples + \param vol the volume factor -4 -> 4 + */ +SWITCH_DECLARE(void) switch_change_sln_volume(int16_t *data, uint32_t samples, int32_t vol); ///\} SWITCH_END_EXTERN_C Modified: freeswitch/branches/knhor/trunk/src/include/switch_types.h ============================================================================== --- freeswitch/branches/knhor/trunk/src/include/switch_types.h (original) +++ freeswitch/branches/knhor/trunk/src/include/switch_types.h Thu Nov 2 11:40:13 2006 @@ -74,13 +74,26 @@ #define SWITCH_R_SDP_VARIABLE "_switch_r_sdp_" #define SWITCH_L_SDP_VARIABLE "_switch_l_sdp_" -#define SWITCH_BRIDGE_VARIABLE "BRIDGETO" -#define SWITCH_SIGNAL_BRIDGE_VARIABLE "SIGNAL_BRIDGETO" +#define SWITCH_B_SDP_VARIABLE "_switch_m_sdp_" +#define SWITCH_BRIDGE_VARIABLE "_bridge_to_" +#define SWITCH_SIGNAL_BRIDGE_VARIABLE "_signal_bridge_to_" +#define SWITCH_ORIGINATOR_VARIABLE "_originator_" +#define SWITCH_LOCAL_MEDIA_IP_VARIABLE "_local_media_ip_" +#define SWITCH_LOCAL_MEDIA_PORT_VARIABLE "_local_media_port_" +#define SWITCH_REMOTE_MEDIA_IP_VARIABLE "_remote_media_ip_" +#define SWITCH_REMOTE_MEDIA_PORT_VARIABLE "_remote_media_port_" + #define SWITCH_BITS_PER_BYTE 8 typedef uint8_t switch_byte_t; typedef enum { + SMF_NONE = 0, + SMF_REBRIDGE = (1 << 0), + SMF_ECHO_BRIDGED = (1 << 1) +} switch_media_flag_t; + +typedef enum { SWITCH_BITPACK_MODE_RFC3551, SWITCH_BITPACK_MODE_AAL2 } switch_bitpack_mode_t; @@ -123,7 +136,7 @@ typedef struct switch_directories switch_directories; SWITCH_DECLARE_DATA extern switch_directories SWITCH_GLOBAL_dirs; -#define SWITCH_THREAD_STACKSIZE 256 * 1024 +#define SWITCH_THREAD_STACKSIZE 240 * 1024 #define SWITCH_RECCOMMENDED_BUFFER_SIZE 2048 #define SWITCH_MAX_CODECS 30 #define SWITCH_MAX_STATE_HANDLERS 30 @@ -246,6 +259,10 @@ SWITCH_MESSAGE_INDICATE_BRIDGE - indicate a bridge starting SWITCH_MESSAGE_INDICATE_UNBRIDGE - indicate a bridge ending SWITCH_MESSAGE_INDICATE_TRANSFER - indicate a transfer is taking place + SWITCH_MESSAGE_INDICATE_MEDIA - indicate media is required + SWITCH_MESSAGE_INDICATE_NOMEDIA - indicate no-media is required + SWITCH_MESSAGE_INDICATE_HOLD - indicate hold + SWITCH_MESSAGE_INDICATE_UNHOLD - indicate unhold </pre> */ typedef enum { @@ -255,7 +272,11 @@ SWITCH_MESSAGE_INDICATE_BRIDGE, SWITCH_MESSAGE_INDICATE_UNBRIDGE, SWITCH_MESSAGE_INDICATE_TRANSFER, - SWITCH_MESSAGE_INDICATE_RINGING + SWITCH_MESSAGE_INDICATE_RINGING, + SWITCH_MESSAGE_INDICATE_MEDIA, + SWITCH_MESSAGE_INDICATE_NOMEDIA, + SWITCH_MESSAGE_INDICATE_HOLD, + SWITCH_MESSAGE_INDICATE_UNHOLD, } switch_core_session_message_types_t; @@ -376,6 +397,7 @@ CS_EXECUTE - Channel is executing it's dialplan CS_LOOPBACK - Channel is in loopback CS_HOLD - Channel is on hold +CS_HIBERNATE - Channel is in a sleep state CS_HANGUP - Channel is flagged for hangup and ready to end CS_DONE - Channel is ready to be destroyed and out of the state machine </pre> @@ -388,6 +410,7 @@ CS_EXECUTE, CS_LOOPBACK, CS_HOLD, + CS_HIBERNATE, CS_HANGUP, CS_DONE } switch_channel_state_t; @@ -412,6 +435,8 @@ CF_WINNER = (1 << 11) - Channel is the winner CF_CONTROLLED = (1 << 12) - Channel is under control CF_NOMEDIA = (1 << 13) - Channel has no media +CF_SUSPEND = (1 << 14) - Suspend i/o +CF_EVENT_PARSE = (1 << 15) - Suspend control events </pre> */ @@ -429,7 +454,9 @@ CF_TAGGED = (1 << 10), CF_WINNER = (1 << 11), CF_CONTROLLED = (1 << 12), - CF_NOMEDIA = (1 << 13) + CF_NOMEDIA = (1 << 13), + CF_SUSPEND = (1 << 14), + CF_EVENT_PARSE = (1 << 15) } switch_channel_flag_t; @@ -680,8 +707,11 @@ SWITCH_CAUSE_USER_BUSY = 17, SWITCH_CAUSE_NO_USER_RESPONSE = 18, SWITCH_CAUSE_NO_ANSWER = 19, + SWITCH_CAUSE_SUBSCRIBER_ABSENT = 20, SWITCH_CAUSE_CALL_REJECTED = 21, SWITCH_CAUSE_NUMBER_CHANGED = 22, + SWITCH_CAUSE_REDIRECTION_TO_NEW_DESTINATION = 23, + SWITCH_CAUSE_EXCHANGE_ROUTING_ERROR = 25, SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER = 27, SWITCH_CAUSE_INVALID_NUMBER_FORMAT = 28, SWITCH_CAUSE_FACILITY_REJECTED = 29, @@ -699,9 +729,11 @@ SWITCH_CAUSE_INCOMING_CALL_BARRED = 54, SWITCH_CAUSE_BEARERCAPABILITY_NOTAUTH = 57, SWITCH_CAUSE_BEARERCAPABILITY_NOTAVAIL = 58, + SWITCH_CAUSE_SERVICE_UNAVAILABLE = 63, SWITCH_CAUSE_BEARERCAPABILITY_NOTIMPL = 65, SWITCH_CAUSE_CHAN_NOT_IMPLEMENTED = 66, SWITCH_CAUSE_FACILITY_NOT_IMPLEMENTED = 69, + SWITCH_CAUSE_SERVICE_NOT_IMPLEMENTED = 79, SWITCH_CAUSE_INVALID_CALL_REFERENCE = 81, SWITCH_CAUSE_INCOMPATIBLE_DESTINATION = 88, SWITCH_CAUSE_INVALID_MSG_UNSPECIFIED = 95, @@ -715,6 +747,7 @@ SWITCH_CAUSE_MANDATORY_IE_LENGTH_ERROR = 103, SWITCH_CAUSE_PROTOCOL_ERROR = 111, SWITCH_CAUSE_INTERWORKING = 127, + SWITCH_CAUSE_ORIGINATOR_CANCEL = 487, SWITCH_CAUSE_CRASH = 500, SWITCH_CAUSE_SYSTEM_SHUTDOWN = 501, SWITCH_CAUSE_LOSE_RACE = 502, Modified: freeswitch/branches/knhor/trunk/src/mod/applications/mod_commands/mod_commands.c ============================================================================== --- freeswitch/branches/knhor/trunk/src/mod/applications/mod_commands/mod_commands.c (original) +++ freeswitch/branches/knhor/trunk/src/mod/applications/mod_commands/mod_commands.c Thu Nov 2 11:40:13 2006 @@ -44,6 +44,9 @@ static switch_api_interface_t reload_api_interface; static switch_api_interface_t kill_api_interface; static switch_api_interface_t originate_api_interface; +static switch_api_interface_t media_api_interface; +static switch_api_interface_t hold_api_interface; +static switch_api_interface_t broadcast_api_interface; static switch_status_t status_function(char *cmd, switch_core_session_t *session, switch_stream_handle_t *stream) { @@ -235,6 +238,97 @@ return SWITCH_STATUS_SUCCESS; } +static switch_status_t uuid_media_function(char *cmd, switch_core_session_t *isession, switch_stream_handle_t *stream) +{ + char *argv[4] = {0}; + int argc = 0; + switch_status_t status = SWITCH_STATUS_FALSE; + + if (isession) { + return status; + } + + argc = switch_separate_string(cmd, ' ', argv, (sizeof(argv) / sizeof(argv[0]))); + + if (argc < 1) { + stream->write_function(stream, "USAGE: %s\n", media_api_interface.syntax); + } else { + if (!strcmp(argv[0], "off")) { + status = switch_ivr_nomedia(argv[1], SMF_REBRIDGE); + } else { + status = switch_ivr_media(argv[0], SMF_REBRIDGE); + } + } + + if (status == SWITCH_STATUS_SUCCESS) { + stream->write_function(stream, "+OK Success\n"); + } else { + stream->write_function(stream, "-ERR Operation Failed\n"); + } + + return SWITCH_STATUS_SUCCESS; +} + + +static switch_status_t uuid_broadcast_function(char *cmd, switch_core_session_t *isession, switch_stream_handle_t *stream) +{ + char *argv[4] = {0}; + int argc = 0; + switch_status_t status = SWITCH_STATUS_FALSE; + + if (isession) { + return status; + } + + argc = switch_separate_string(cmd, ' ', argv, (sizeof(argv) / sizeof(argv[0]))); + + if (argc < 2) { + stream->write_function(stream, "USAGE: %s\n", broadcast_api_interface.syntax); + } else { + switch_media_flag_t flags = SMF_NONE; + + if (argv[2] && !strcmp(argv[2], "both")) { + flags |= SMF_ECHO_BRIDGED; + } + + status = switch_ivr_broadcast(argv[0], argv[1], flags); + stream->write_function(stream, "+OK Message Sent\n"); + } + + return SWITCH_STATUS_SUCCESS; +} + +static switch_status_t uuid_hold_function(char *cmd, switch_core_session_t *isession, switch_stream_handle_t *stream) +{ + char *argv[4] = {0}; + int argc = 0; + switch_status_t status = SWITCH_STATUS_FALSE; + + if (isession) { + return status; + } + + argc = switch_separate_string(cmd, ' ', argv, (sizeof(argv) / sizeof(argv[0]))); + + if (argc < 1) { + stream->write_function(stream, "USAGE: %s\n", hold_api_interface.syntax); + } else { + if (!strcmp(argv[0], "off")) { + status = switch_ivr_unhold_uuid(argv[1]); + } else { + status = switch_ivr_hold_uuid(argv[0]); + } + } + + if (status == SWITCH_STATUS_SUCCESS) { + stream->write_function(stream, "+OK Success\n"); + } else { + stream->write_function(stream, "-ERR Operation Failed\n"); + } + + return SWITCH_STATUS_SUCCESS; +} + static switch_status_t uuid_bridge_function(char *cmd, switch_core_session_t *isession, switch_stream_handle_t *stream) { char *argv[4] = {0}; @@ -571,12 +665,36 @@ /*.next */ &help_api_interface }; +static switch_api_interface_t media_api_interface = { + /*.interface_name */ "media", + /*.desc */ "media", + /*.function */ uuid_media_function, + /*.syntax */ "<uuid>", + /*.next */ &ctl_api_interface +}; + +static switch_api_interface_t hold_api_interface = { + /*.interface_name */ "hold", + /*.desc */ "hold", + /*.function */ uuid_hold_function, + /*.syntax */ "<uuid>", + /*.next */ &media_api_interface +}; + +static switch_api_interface_t broadcast_api_interface = { + /*.interface_name */ "broadcast", + /*.desc */ "broadcast", + /*.function */ uuid_broadcast_function, + /*.syntax */ "<uuid> <path> [both]", + /*.next */ &hold_api_interface +}; + static switch_api_interface_t uuid_bridge_api_interface = { /*.interface_name */ "uuid_bridge", /*.desc */ "uuid_bridge", /*.function */ uuid_bridge_function, /*.syntax */ "<uuid> <other_uuid>", - /*.next */ &ctl_api_interface + /*.next */ &broadcast_api_interface }; static switch_api_interface_t status_api_interface = { Modified: freeswitch/branches/knhor/trunk/src/mod/applications/mod_conference/mod_conference.c ============================================================================== --- freeswitch/branches/knhor/trunk/src/mod/applications/mod_conference/mod_conference.c (original) +++ freeswitch/branches/knhor/trunk/src/mod/applications/mod_conference/mod_conference.c Thu Nov 2 11:40:13 2006 @@ -31,7 +31,7 @@ * */ #include <switch.h> -#define normalize_volume(x) if(x > 4) x = 4; if (x < -4) x = -4; + static const char modname[] = "mod_conference"; static const char global_app_name[] = "conference"; static char *global_cf_name = "conference.conf"; @@ -229,7 +229,6 @@ static switch_status_t conference_member_say(conference_obj_t *conference, conference_member_t *member, char *text, uint32_t leadin); static uint32_t conference_member_stop_file(conference_member_t *member, file_stop_t stop); static conference_obj_t *conference_new(char *name, switch_xml_t profile, switch_memory_pool_t *pool); -static void switch_change_sln_volume(int16_t *data, uint32_t samples, int32_t vol); static switch_status_t chat_send(char *proto, char *from, char *to, char *subject, char *body, char *hint); static void launch_conference_record_thread(conference_obj_t *conference, char *path); @@ -250,28 +249,6 @@ return id; } -static void switch_change_sln_volume(int16_t *data, uint32_t samples, int32_t vol) -{ - int16_t *p = data; - uint32_t x = 0; - int32_t v = vol * 10; - double mult = (((double)abs(v)) / 100) * 2; - int32_t b; - - if (v > 0) { - mult += (.2 * abs(v)); - mult = 4; - } else { - mult -= 1; - } - - for (x = 0; x < samples; x++) { - b = (int32_t)((double)p[x] * mult); - switch_normalize_to_16bit(b); - p[x] = (int16_t) b; - } -} - /* if other_member has a relationship with member, produce it */ static conference_relationship_t *member_get_relationship(conference_member_t *member, conference_member_t *other_member) { @@ -815,16 +792,22 @@ switch_event_t *event; if (switch_core_session_dequeue_event(member->session, &event) == SWITCH_STATUS_SUCCESS) { - char *p; char *from = switch_event_get_header(event, "from"); char *to = switch_event_get_header(event, "to"); char *proto = switch_event_get_header(event, "proto"); char *subject = switch_event_get_header(event, "subject"); + char *hint = switch_event_get_header(event, "hint"); char *body = switch_event_get_body(event); - if ((p = strchr(to, '+'))) { - to = ++p; + char *p, *freeme = NULL; + + if ((p = strchr(to, '+')) && + strncmp(to, CONF_CHAT_PROTO, strlen(CONF_CHAT_PROTO))) { + freeme = switch_mprintf("%s+%s@%s", CONF_CHAT_PROTO, member->conference->name, member->conference->domain); + to = freeme; } - chat_send(proto, from, to, subject, body, ""); + + chat_send(proto, from, to, subject, body, hint); + switch_safe_free(freeme); switch_event_destroy(&event); } @@ -914,7 +897,7 @@ case '3': switch_mutex_lock(member->flag_mutex); member->volume_out_level++; - normalize_volume(member->volume_out_level); + switch_normalize_volume(member->volume_out_level); switch_mutex_unlock(member->flag_mutex); snprintf(msg, sizeof(msg), "Volume level %d", member->volume_out_level); conference_member_say(member->conference, member, msg, 0); @@ -929,7 +912,7 @@ case '1': switch_mutex_lock(member->flag_mutex); member->volume_out_level--; - normalize_volume(member->volume_out_level); + switch_normalize_volume(member->volume_out_level); switch_mutex_unlock(member->flag_mutex); snprintf(msg, sizeof(msg), "Volume level %d", member->volume_out_level); conference_member_say(member->conference, member, msg, 0); @@ -937,7 +920,7 @@ case '6': switch_mutex_lock(member->flag_mutex); member->volume_in_level++; - normalize_volume(member->volume_in_level); + switch_normalize_volume(member->volume_in_level); switch_mutex_unlock(member->flag_mutex); snprintf(msg, sizeof(msg), "Gain level %d", member->volume_in_level); conference_member_say(member->conference, member, msg, 0); @@ -952,7 +935,7 @@ case '4': switch_mutex_lock(member->flag_mutex); member->volume_in_level--; - normalize_volume(member->volume_in_level); + switch_normalize_volume(member->volume_in_level); switch_mutex_unlock(member->flag_mutex); snprintf(msg, sizeof(msg), "Gain level %d", member->volume_in_level); conference_member_say(member->conference, member, msg, 0); @@ -1750,7 +1733,7 @@ if (data) { switch_mutex_lock(member->flag_mutex); member->volume_in_level = atoi((char *)data); - normalize_volume(member->volume_in_level); + switch_normalize_volume(member->volume_in_level); switch_mutex_unlock(member->flag_mutex); } @@ -1786,7 +1769,7 @@ if (data) { switch_mutex_lock(member->flag_mutex); member->volume_out_level = atoi((char *)data); - normalize_volume(member->volume_out_level); + switch_normalize_volume(member->volume_out_level); switch_mutex_unlock(member->flag_mutex); } @@ -2452,6 +2435,17 @@ char appdata[512]; switch_call_cause_t cause = SWITCH_CAUSE_NORMAL_CLEARING; + + if (switch_thread_rwlock_tryrdlock(conference->rwlock) != SWITCH_STATUS_SUCCESS) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "Read Lock Fail\n"); + return SWITCH_STATUS_FALSE; + } + + if (session) { + caller_channel = switch_core_session_get_channel(session); + + } + if (switch_ivr_originate(session, &peer_session, &cause, @@ -2463,8 +2457,7 @@ NULL) != SWITCH_STATUS_SUCCESS) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Cannot create outgoing channel, cause: %s\n", switch_channel_cause2str(cause)); - if (session) { - caller_channel = switch_core_session_get_channel(session); + if (caller_channel) { switch_channel_hangup(caller_channel, cause); } goto done; @@ -2474,6 +2467,15 @@ peer_channel = switch_core_session_get_channel(peer_session); assert(peer_channel != NULL); + if (!switch_test_flag(conference, CFLAG_RUNNING)) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Conference is gone now, nevermind..\n"); + if (caller_channel) { + switch_channel_hangup(caller_channel, SWITCH_CAUSE_NO_ROUTE_DESTINATION); + } + switch_channel_hangup(peer_channel, SWITCH_CAUSE_NO_ROUTE_DESTINATION); + goto done; + } + if (caller_channel && switch_channel_test_flag(peer_channel, CF_ANSWERED)) { switch_channel_answer(caller_channel); } @@ -2503,6 +2505,7 @@ } done: + switch_thread_rwlock_unlock(conference->rwlock); return status; } @@ -3102,6 +3105,10 @@ conference_obj_t *conference = NULL; switch_stream_handle_t stream = {0}; + if ((p = strchr(to, '+'))) { + to = ++p; + } + if (!body) { return SWITCH_STATUS_SUCCESS; } @@ -3110,6 +3117,7 @@ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Invaid Chat Interface [%s]!\n", proto); } + if ((p = strchr(to, '@'))) { switch_copy_string(name, to, ++p-to); } else { @@ -3117,7 +3125,7 @@ } if (!(conference = (conference_obj_t *) switch_core_hash_find(globals.conference_hash, name))) { - ci->chat_send(CONF_CHAT_PROTO, to, from, "", "Sorry, We're Closed", ""); + ci->chat_send(CONF_CHAT_PROTO, to, hint && strchr(hint, '/') ? hint : from, "", "Sorry, We're Closed", NULL); return SWITCH_STATUS_FALSE; } @@ -3126,11 +3134,12 @@ if (strstr(body, "list")) { conference_list_pretty(conference, &stream); } else { - stream.write_function(&stream, "The only command we have is so far is 'list' Get coding or go press PayPal!!\n"); + stream.write_function(&stream, "The only command we have so far is 'list'.\nGet coding or go press PayPal!!\n"); } - ci->chat_send(CONF_CHAT_PROTO, to, from, "", stream.data, ""); + ci->chat_send(CONF_CHAT_PROTO, to, from, "", stream.data, NULL); switch_safe_free(stream.data); + return SWITCH_STATUS_SUCCESS; Modified: freeswitch/branches/knhor/trunk/src/mod/applications/mod_dptools/mod_dptools.c ============================================================================== --- freeswitch/branches/knhor/trunk/src/mod/applications/mod_dptools/mod_dptools.c (original) +++ freeswitch/branches/knhor/trunk/src/mod/applications/mod_dptools/mod_dptools.c Thu Nov 2 11:40:13 2006 @@ -34,6 +34,15 @@ static const char modname[] = "mod_dptools"; + +static void ringback_function(switch_core_session_t *session, char *data) +{ + switch_channel_t *channel; + channel = switch_core_session_get_channel(session); + assert(channel != NULL); + switch_channel_ringback(channel); +} + static void transfer_function(switch_core_session_t *session, char *data) { int argc; @@ -177,7 +186,7 @@ int argc = 0; switch_event_types_t type = SWITCH_EVENT_PRESENCE_IN; - if ((lbuf = strdup(fmt)) && (argc = switch_separate_string(lbuf, '|', argv, (sizeof(argv) / sizeof(argv[0])))) > 0) { + if (fmt && (lbuf = strdup(fmt)) && (argc = switch_separate_string(lbuf, '|', argv, (sizeof(argv) / sizeof(argv[0])))) > 0) { if (!strcasecmp(argv[0], "out")) { type = SWITCH_EVENT_PRESENCE_OUT; } else if (argc != 4) { @@ -253,13 +262,24 @@ /*.next */ &dptools_api_interface }; + +static const switch_application_interface_t ringback_application_interface = { + /*.interface_name */ "ringback", + /*.application_function */ ringback_function, + /* long_desc */ "Indicate Ringback on a channel.", + /* short_desc */ "Indicate Ringback", + /* syntax */ "", + /*.next */ NULL + +}; + static const switch_application_interface_t set_application_interface = { /*.interface_name */ "set", /*.application_function */ set_function, /* long_desc */ "Set a channel varaible for the channel calling the application.", /* short_desc */ "Set a channel varaible", /* syntax */ "<varname>=[<value>|_UNDEF_]", - /*.next */ NULL + /*.next */ &ringback_application_interface }; static const switch_application_interface_t answer_application_interface = { Modified: freeswitch/branches/knhor/trunk/src/mod/applications/mod_playback/mod_playback.c ============================================================================== --- freeswitch/branches/knhor/trunk/src/mod/applications/mod_playback/mod_playback.c (original) +++ freeswitch/branches/knhor/trunk/src/mod/applications/mod_playback/mod_playback.c Thu Nov 2 11:40:13 2006 @@ -88,7 +88,16 @@ timer_name = argv[3]; if (!(engine && voice && text)) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Invalid Params!\n"); + if (!engine) { + engine = "NULL"; + } + if (!voice) { + voice = "NULL"; + } + if (!text) { + text = "NULL"; + } + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Invalid Params! [%s][%s][%s]\n", engine, voice, text); switch_channel_hangup(channel, SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER); } Modified: freeswitch/branches/knhor/trunk/src/mod/asr_tts/mod_cepstral/mod_cepstral.c ============================================================================== --- freeswitch/branches/knhor/trunk/src/mod/asr_tts/mod_cepstral/mod_cepstral.c (original) +++ freeswitch/branches/knhor/trunk/src/mod/asr_tts/mod_cepstral/mod_cepstral.c Thu Nov 2 11:40:13 2006 @@ -216,14 +216,6 @@ cepstral->tts_stream = NULL; - if (cepstral->audio_buffer) { - switch_byte_t data[1280]; - memset(data, 255, sizeof(data)); - switch_mutex_lock(cepstral->audio_lock); - switch_buffer_write(cepstral->audio_buffer, data, sizeof(data)); - switch_mutex_unlock(cepstral->audio_lock); - } - if (!strncasecmp(text, fp, len)) { text += len; if (switch_strlen_zero(text)) { @@ -234,6 +226,8 @@ if (switch_strlen_zero(text)) { return SWITCH_STATUS_FALSE; } + + swift_port_speak_text(cepstral->port, "<break time=\"400ms\"/>", 0, NULL, &cepstral->tts_stream, NULL); swift_port_speak_text(cepstral->port, text, 0, NULL, &cepstral->tts_stream, NULL); } Modified: freeswitch/branches/knhor/trunk/src/mod/endpoints/mod_dingaling/mod_dingaling.c ============================================================================== --- freeswitch/branches/knhor/trunk/src/mod/endpoints/mod_dingaling/mod_dingaling.c (original) +++ freeswitch/branches/knhor/trunk/src/mod/endpoints/mod_dingaling/mod_dingaling.c Thu Nov 2 11:40:13 2006 @@ -141,6 +141,8 @@ char local_user[17]; char local_pass[17]; char *remote_user; + char *us; + char *them; unsigned int cand_id; unsigned int desc_id; unsigned int dc; @@ -184,10 +186,13 @@ static switch_status_t channel_write_frame(switch_core_session_t *session, switch_frame_t *frame, int timeout, switch_io_flag_t flags, int stream_id); static switch_status_t channel_kill_channel(switch_core_session_t *session, int sig); + static ldl_status handle_signalling(ldl_handle_t *handle, ldl_session_t *dlsession, ldl_signal_t signal, char *to, char *from, char *subject, char *msg); static ldl_status handle_response(ldl_handle_t *handle, char *id); static switch_status_t load_config(void); +#define is_special(s) (s && (strstr(s, "ext+") || strstr(s, "user+") || strstr(s, "conf+"))) + static char *translate_rpid(char *in, char *ext) { char *r = NULL; @@ -474,7 +479,7 @@ //char *sub_from = argv[0]; char *sub_to = argv[1]; - if (strstr(sub_to, "ext+") || strstr(sub_to, "user+") || strstr(sub_to, "conf+")) { + if (is_special(sub_to)) { if (switch_event_create(&event, SWITCH_EVENT_PRESENCE_IN) == SWITCH_STATUS_SUCCESS) { switch_event_add_header(event, SWITCH_STACK_BOTTOM, "proto", MDL_CHAT_PROTO); switch_event_add_header(event, SWITCH_STACK_BOTTOM, "login", "%s", profile->login); @@ -568,19 +573,16 @@ return; } - if (tech_pvt->dlsession) { - if (!switch_test_flag(tech_pvt, TFLAG_TERM)) { - ldl_session_terminate(tech_pvt->dlsession); - } - ldl_session_destroy(&tech_pvt->dlsession); - } - - switch_set_flag_locked(tech_pvt, TFLAG_TERM); - if (state < CS_HANGUP) { switch_channel_hangup(channel, cause); } + switch_mutex_lock(tech_pvt->flag_mutex); + switch_set_flag(tech_pvt, TFLAG_TERM); + switch_set_flag(tech_pvt, TFLAG_BYE); + switch_clear_flag(tech_pvt, TFLAG_IO); + switch_mutex_unlock(tech_pvt->flag_mutex); + *session = NULL; } @@ -1044,7 +1046,7 @@ { switch_channel_t *channel = NULL; struct private_object *tech_pvt = NULL; - + channel = switch_core_session_get_channel(session); assert(channel != NULL); @@ -1054,7 +1056,15 @@ switch_clear_flag_locked(tech_pvt, TFLAG_IO); switch_clear_flag_locked(tech_pvt, TFLAG_VOICE); switch_set_flag_locked(tech_pvt, TFLAG_BYE); - + + /* Dunno why, but if googletalk calls us for the first time, as soon as the call ends + they think we are offline for no reason so we send this presence packet to stop it from happening + We should find out why..... + */ + if ((tech_pvt->profile->user_flags & LDL_FLAG_COMPONENT) && is_special(tech_pvt->them)) { + ldl_handle_send_presence(tech_pvt->profile->handle, + tech_pvt->them, tech_pvt->us, NULL, NULL, "Click To Call"); + } if (tech_pvt->dlsession) { if (!switch_test_flag(tech_pvt, TFLAG_TERM)) { ldl_session_terminate(tech_pvt->dlsession); @@ -1182,6 +1192,12 @@ return SWITCH_STATUS_FALSE; } + if (switch_test_flag(tech_pvt, TFLAG_BYE)) { + //terminate_session(&session, __LINE__, SWITCH_CAUSE_NORMAL_CLEARING); + return SWITCH_STATUS_FALSE; + } + + tech_pvt->read_frame.datalen = 0; switch_set_flag_locked(tech_pvt, TFLAG_READING); @@ -1237,10 +1253,6 @@ switch_clear_flag_locked(tech_pvt, TFLAG_READING); - if (switch_test_flag(tech_pvt, TFLAG_BYE)) { - terminate_session(&session, __LINE__, SWITCH_CAUSE_NORMAL_CLEARING); - return SWITCH_STATUS_FALSE; - } *frame = &tech_pvt->read_frame; return SWITCH_STATUS_SUCCESS; @@ -1271,7 +1283,6 @@ if (switch_test_flag(tech_pvt, TFLAG_BYE)) { - terminate_session(&session, __LINE__, SWITCH_CAUSE_NORMAL_CLEARING); return SWITCH_STATUS_FALSE; } @@ -1287,6 +1298,7 @@ samples = frames * tech_pvt->read_codec.implementation->samples_per_frame; if (switch_rtp_write_frame(tech_pvt->rtp_session, frame, samples) < 0) { + terminate_session(&session, __LINE__, SWITCH_CAUSE_NORMAL_CLEARING); return SWITCH_STATUS_FALSE; } tech_pvt->timestamp_send += (int) samples; @@ -1485,6 +1497,12 @@ } if ((mdl_profile = switch_core_hash_find(globals.profile_hash, profile_name))) { + + if ((mdl_profile->user_flags & LDL_FLAG_COMPONENT) && strchr(outbound_profile->caller_id_number, '@')) { + snprintf(ubuf, sizeof(ubuf), "%s/talk", outbound_profile->caller_id_number); + user = ubuf; + } + if (!ldl_handle_ready(mdl_profile->handle)) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Doh! we are not logged in yet!\n"); terminate_session(new_session, __LINE__, SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER); @@ -1540,7 +1558,8 @@ switch_set_flag_locked(tech_pvt, TFLAG_OUTBOUND); switch_stun_random_string(sess_id, 10, "0123456789"); - + tech_pvt->us = switch_core_session_strdup(session, user); + tech_pvt->them = switch_core_session_strdup(session, full_id); ldl_session_create(&dlsession, mdl_profile->handle, sess_id, full_id, user); tech_pvt->profile = mdl_profile; ldl_session_set_private(dlsession, *new_session); @@ -2073,11 +2092,12 @@ case LDL_SIGNAL_SUBSCRIBE: - if ((sql = switch_mprintf("insert into subscriptions values('%q','%q','%q','%q')", from, to, msg, subject))) { + if ((sql = switch_mprintf("delete from subscriptions where sub_from='%q' and sub_to='%q';\n" + "insert into subscriptions values('%q','%q','%q','%q');\n", from, to, from, to, msg, subject))) { execute_sql(profile->dbname, sql, profile->mutex); switch_core_db_free(sql); } - if (strstr(to, "ext+") || strstr(to, "user+") || strstr(to, "conf+") ) { + if (is_special(to)) { if (switch_event_create(&event, SWITCH_EVENT_PRESENCE_IN) == SWITCH_STATUS_SUCCESS) { switch_event_add_header(event, SWITCH_STACK_BOTTOM, "proto", MDL_CHAT_PROTO); switch_event_add_header(event, SWITCH_STACK_BOTTOM, "login", "%s", profile->login); @@ -2111,7 +2131,7 @@ switch_event_fire(&event); } - if (strstr(to, "ext+") || strstr(to, "user+") || strstr(to, "conf+")) { + if (is_special(to)) { if (switch_event_create(&event, SWITCH_EVENT_PRESENCE_IN) == SWITCH_STATUS_SUCCESS) { switch_event_add_header(event, SWITCH_STACK_BOTTOM, "proto", MDL_CHAT_PROTO); switch_event_add_header(event, SWITCH_STACK_BOTTOM, "login", "%s", profile->login); @@ -2147,6 +2167,7 @@ switch_chat_interface_t *ci; char *proto = MDL_CHAT_PROTO; char *pproto = NULL, *ffrom = NULL; + char *hint; if (profile->auto_reply) { ldl_handle_send_msg(handle, (profile->user_flags & LDL_FLAG_COMPONENT) ? to : profile->login, from, "", profile->auto_reply); @@ -2159,18 +2180,19 @@ } proto = pproto; } - + + hint = from; + if (strchr(from, '/') && (ffrom = strdup(from))) { char *p; if ((p = strchr(ffrom, '/'))) { *p = '\0'; } from = ffrom; - } if ((ci = switch_loadable_module_get_chat_interface(proto))) { - ci->chat_send(MDL_CHAT_PROTO, from, to, subject, msg, ""); + ci->chat_send(MDL_CHAT_PROTO, from, to, subject, msg, hint); } else { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Invaid Chat Interface [%s]!\n", proto); } @@ -2280,17 +2302,19 @@ } if (switch_event_create(&event, SWITCH_EVENT_MESSAGE) == SWITCH_STATUS_SUCCESS) { - char *p, *freeme = NULL; - + char *hint = NULL, *p, *freeme = NULL; + + hint = from; if (strchr(from, '/')) { freeme = strdup(from); p = strchr(freeme, '/'); *p = '\0'; - from = freeme; + from = freeme; } switch_event_add_header(event, SWITCH_STACK_BOTTOM, "proto", MDL_CHAT_PROTO); switch_event_add_header(event, SWITCH_STACK_BOTTOM, "login", "%s", profile->login); + switch_event_add_header(event, SWITCH_STACK_BOTTOM, "hint", "%s", hint); switch_event_add_header(event, SWITCH_STACK_BOTTOM, "from", "%s", from); switch_event_add_header(event, SWITCH_STACK_BOTTOM, "to", "%s", to); switch_event_add_header(event, SWITCH_STACK_BOTTOM, "subject", "%s", subject); @@ -2431,7 +2455,7 @@ char *context; char *cid_name; char *cid_num; - char *t, *them = NULL; + char *tmp, *t, *them = NULL; memset(payloads, 0, sizeof(payloads)); @@ -2463,8 +2487,6 @@ } } - - if (!(context = ldl_session_get_value(dlsession, "context"))) { context = profile->context; } @@ -2482,6 +2504,24 @@ context = profile->name; } + tech_pvt->them = switch_core_session_strdup(session, ldl_session_get_callee(dlsession)); + tech_pvt->us = switch_core_session_strdup(session, ldl_session_get_caller(dlsession)); + + if ((tmp = strdup(tech_pvt->us))) { + char *p, *q; + + if ((p = strchr(tmp, '@'))) { + *p++ = '\0'; + if ((q = strchr(p, '/'))) { + *q = '\0'; + } + switch_channel_set_variable(channel, "dl_from_user", tmp); + switch_channel_set_variable(channel, "dl_from_host", p); + } + + switch_safe_free(tmp); + } + if (!tech_pvt->caller_profile) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Creating an identity for %s %s <%s> %s\n", ldl_session_get_id(dlsession), cid_name, cid_num, exten); @@ -2547,11 +2587,6 @@ if (channel) { switch_channel_state_t state = switch_channel_get_state(channel); switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "hungup %s %u %d\n", switch_channel_get_name(channel), state, CS_INIT); - switch_mutex_lock(tech_pvt->flag_mutex); - switch_set_flag(tech_pvt, TFLAG_TERM); - switch_set_flag(tech_pvt, TFLAG_BYE); - switch_clear_flag(tech_pvt, TFLAG_IO); - switch_mutex_unlock(tech_pvt->flag_mutex); terminate_session(&session, __LINE__, SWITCH_CAUSE_NORMAL_CLEARING); switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "End Call\n"); goto done; Modified: freeswitch/branches/knhor/trunk/src/mod/endpoints/mod_portaudio/mod_portaudio.c ============================================================================== --- freeswitch/branches/knhor/trunk/src/mod/endpoints/mod_portaudio/mod_portaudio.c (original) +++ freeswitch/branches/knhor/trunk/src/mod/endpoints/mod_portaudio/mod_portaudio.c Thu Nov 2 11:40:13 2006 @@ -147,10 +147,7 @@ last = switch_time_now() - waitsec; if (switch_test_flag(tech_pvt, TFLAG_OUTBOUND)) { - /* Turn on the device */ - engage_device(tech_pvt); - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "%s CHANNEL INIT %d %d\n", switch_channel_get_name(channel), switch_channel_get_state(channel), switch_test_flag(tech_pvt, TFLAG_ANSWER)); @@ -173,6 +170,11 @@ } switch_yield(50000); } + + if (switch_channel_ready(channel)) { + /* Turn on the device */ + engage_device(tech_pvt); + } } @@ -823,7 +825,11 @@ } else { switch_core_codec_destroy(&tech_pvt->read_codec); switch_core_codec_destroy(&tech_pvt->write_codec); - switch_core_session_destroy(&tech_pvt->session); + if (switch_core_session_running(tech_pvt->session)) { + switch_channel_hangup(channel, SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER); + } else { + switch_core_session_destroy(&tech_pvt->session); + } } return SWITCH_STATUS_FALSE; Modified: freeswitch/branches/knhor/trunk/src/mod/endpoints/mod_sofia/Makefile ============================================================================== --- freeswitch/branches/knhor/trunk/src/mod/endpoints/mod_sofia/Makefile (original) +++ freeswitch/branches/knhor/trunk/src/mod/endpoints/mod_sofia/Makefile Thu Nov 2 11:40:13 2006 @@ -1,6 +1,6 @@ OS_ARCH := $(subst /,_,$(shell uname -s | sed /\ /s//_/)) VERSION = sofia-sip-1.12 -TARBALL = sofia-sip-1.12.3.4.tar.gz +TARBALL = sofia-sip-1.12.3.9.tar.gz CFLAGS += -I. -I$(PREFIX)/include/$(VERSION) LDFLAGS += -lsofia-sip-ua LINKER=$(CC) Modified: freeswitch/branches/knhor/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c ============================================================================== --- freeswitch/branches/knhor/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c (original) +++ freeswitch/branches/knhor/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c Thu Nov 2 11:40:13 2006 @@ -25,6 +25,7 @@ * * Anthony Minessale II <anthmct@yahoo.com> * Ken Rice, Asteria Solutions Group, Inc <ken@asteriasgi.com> + * Paul D. Tinsley <pdt at jackhammer.org> * * * mod_sofia.c -- SOFIA SIP Endpoint @@ -76,6 +77,10 @@ extern su_log_t tport_log[]; +static switch_frame_t silence_frame = { 0 }; +static char silence_data[13] = ""; + + static char reg_sql[] = "CREATE TABLE sip_registrations (\n" " user VARCHAR(255),\n" @@ -141,7 +146,7 @@ typedef enum { TFLAG_IO = (1 << 0), - TFLAG_INBOUND = (1 << 1), + TFLAG_USEME = (1 << 1), TFLAG_OUTBOUND = (1 << 2), TFLAG_READING = (1 << 3), TFLAG_WRITING = (1 << 4), @@ -161,7 +166,8 @@ TFLAG_NOHUP = (1 << 18), TFLAG_XFER = (1 << 19), TFLAG_NOMEDIA = (1 << 20), - TFLAG_BUGGY_2833 = (1 << 21) + TFLAG_BUGGY_2833 = (1 << 21), + TFLAG_SIP_HOLD = (1 << 22) } TFLAGS; static struct { @@ -250,6 +256,7 @@ struct private_object { sofia_private_t sofia_private; uint32_t flags; + switch_payload_t agreed_pt; switch_core_session_t *session; switch_frame_t read_frame; const switch_codec_implementation_t *codecs[SWITCH_MAX_CODECS]; @@ -271,6 +278,8 @@ switch_port_t remote_sdp_audio_port; char *adv_sdp_audio_ip; switch_port_t adv_sdp_audio_port; + char *proxy_sdp_audio_ip; + switch_port_t proxy_sdp_audio_port; char *from_uri; char *to_uri; char *from_address; @@ -330,7 +339,7 @@ static void deactivate_rtp(private_object_t *tech_pvt); -static void set_local_sdp(private_object_t *tech_pvt); +static void set_local_sdp(private_object_t *tech_pvt, char *ip, uint32_t port, char *sr, int force); static void tech_set_codecs(private_object_t *tech_pvt); @@ -368,6 +377,13 @@ sip_t const *sip, tagi_t tags[]); +static void sip_i_info(nua_t *nua, + sofia_profile_t *profile, + nua_handle_t *nh, + switch_core_session_t *session, + sip_t const *sip, + tagi_t tags[]); + static void sip_i_invite(nua_t *nua, sofia_profile_t *profile, nua_handle_t *nh, @@ -638,30 +654,45 @@ } -static void set_local_sdp(private_object_t *tech_pvt) +static void set_local_sdp(private_object_t *tech_pvt, char *ip, uint32_t port, char *sr, int force) { char buf[1024]; switch_time_t now = switch_time_now(); - if (switch_test_flag(tech_pvt, TFLAG_NOMEDIA)) { + if (!force && !ip && !sr && switch_test_flag(tech_pvt, TFLAG_NOMEDIA)) { return; } + if (!ip) { + if (!(ip = tech_pvt->adv_sdp_audio_ip)) { + ip = tech_pvt->proxy_sdp_audio_ip; + } + } + if (!port) { + if (!(port = tech_pvt->adv_sdp_audio_port)) { + port = tech_pvt->proxy_sdp_audio_port; + } + } + if (!sr) { + sr = "sendrecv"; + } + snprintf(buf, sizeof(buf), "v=0\n" "o=FreeSWITCH %d%"APR_TIME_T_FMT" %d%"APR_TIME_T_FMT" IN IP4 %s\n" "s=FreeSWITCH\n" "c=IN IP4 %s\n" "t=0 0\n" - "a=sendrecv\n" + "a=%s\n" "m=audio %d RTP/AVP", - tech_pvt->adv_sdp_audio_port, + port, now, - tech_pvt->adv_sdp_audio_port, + port, now, - tech_pvt->adv_sdp_audio_ip, - tech_pvt->adv_sdp_audio_ip, - tech_pvt->adv_sdp_audio_port + ip, + ip, + sr, + port ); if (tech_pvt->rm_encoding) { @@ -705,11 +736,7 @@ snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf), "a=rtpmap:%d telephone-event/8000\na=fmtp:%d 0-16\n", tech_pvt->te, tech_pvt->te); } - - - tech_pvt->local_sdp_str = switch_core_session_strdup(tech_pvt->session, buf); - } static void tech_set_codecs(private_object_t *tech_pvt) @@ -795,12 +822,17 @@ } } + static switch_status_t tech_choose_port(private_object_t *tech_pvt) { char *ip = tech_pvt->profile->rtpip; + switch_channel_t *channel; switch_port_t sdp_port; char *err; + char tmp[50]; + channel = switch_core_session_get_channel(tech_pvt->session); + if (switch_test_flag(tech_pvt, TFLAG_NOMEDIA) || tech_pvt->adv_sdp_audio_port) { return SWITCH_STATUS_SUCCESS; } @@ -836,6 +868,12 @@ tech_pvt->adv_sdp_audio_ip = switch_core_session_strdup(tech_pvt->session, ip); tech_pvt->adv_sdp_audio_port = sdp_port; + + snprintf(tmp, sizeof(tmp), "%d", sdp_port); + switch_channel_set_variable(channel, SWITCH_LOCAL_MEDIA_IP_VARIABLE, tech_pvt->adv_sdp_audio_ip); + switch_channel_set_variable(channel, SWITCH_LOCAL_MEDIA_PORT_VARIABLE, tmp); + + return SWITCH_STATUS_SUCCESS; } @@ -849,6 +887,7 @@ switch_caller_profile_t *caller_profile; char *cid_name, *cid_num; char *e_dest = NULL; + char *holdstr = ""; channel = switch_core_session_get_channel(session); assert(channel != NULL); @@ -874,7 +913,7 @@ } tech_choose_port(tech_pvt); - set_local_sdp(tech_pvt); + set_local_sdp(tech_pvt, NULL, 0, NULL, 0); switch_set_flag_locked(tech_pvt, TFLAG_READY); @@ -924,14 +963,18 @@ } + holdstr = switch_test_flag(tech_pvt, TFLAG_SIP_HOLD) ? "*" : ""; nua_invite(tech_pvt->nh, TAG_IF(rpid, SIPTAG_HEADER_STR(rpid)), - TAG_IF(alert_info, SIPTAG_HEADER_STR(alert_info)), + TAG_IF(alert_info, SIPTAG_HEADER_STR(alert_info)), + //SIPTAG_CONTACT_STR(tech_pvt->profile->url), SOATAG_USER_SDP_STR(tech_pvt->local_sdp_str), SOATAG_RTP_SORT(SOA_RTP_SORT_REMOTE), SOATAG_RTP_SELECT(SOA_RTP_SELECT_ALL), TAG_IF(rep, SIPTAG_REPLACES_STR(rep)), + SOATAG_HOLD(holdstr), TAG_END()); + } else { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Memory Error!\n"); } @@ -978,6 +1021,7 @@ nua_invite(tech_pvt->nh2, TAG_IF(rpid, SIPTAG_HEADER_STR(rpid)), + SIPTAG_CONTACT_STR(tech_pvt->profile->url), SOATAG_USER_SDP_STR(tech_pvt->local_sdp_str), SOATAG_RTP_SORT(SOA_RTP_SORT_REMOTE), SOATAG_RTP_SELECT(SOA_RTP_SELECT_ALL), @@ -989,6 +1033,35 @@ } +static void tech_absorb_sdp(private_object_t *tech_pvt) +{ + switch_channel_t *channel; + char *sdp_str; + + channel = switch_core_session_get_channel(tech_pvt->session); + assert(channel != NULL); + + if ((sdp_str = switch_channel_get_variable(channel, SWITCH_B_SDP_VARIABLE))) { + sdp_parser_t *parser; + sdp_session_t *sdp; + sdp_media_t *m; + + if ((parser = sdp_parse(tech_pvt->home, sdp_str, (int)strlen(sdp_str), 0))) { + if ((sdp = sdp_session(parser))) { + for (m = sdp->sdp_media; m ; m = m->m_next) { + tech_pvt->proxy_sdp_audio_ip = switch_core_session_strdup(tech_pvt->session, (char *)sdp->sdp_connection->c_address); + tech_pvt->proxy_sdp_audio_port = (switch_port_t)m->m_port; + if (tech_pvt->proxy_sdp_audio_ip && tech_pvt->proxy_sdp_audio_port) { + break; + } + } + } + sdp_parser_free(parser); + } + tech_pvt->local_sdp_str = switch_core_session_strdup(tech_pvt->session, sdp_str); + } +} + /* State methods they get called when the state changes to the specific state returning SWITCH_STATUS_SUCCESS tells the core to execute the standard state method next @@ -998,8 +1071,7 @@ { private_object_t *tech_pvt; switch_channel_t *channel = NULL; - char *sdp; - + channel = switch_core_session_get_channel(session); assert(channel != NULL); @@ -1011,16 +1083,10 @@ switch_channel_set_variable(channel, "endpoint_disposition", "INIT"); switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "SOFIA INIT\n"); - if (switch_channel_test_flag(channel, CF_NOMEDIA)) { switch_set_flag_locked(tech_pvt, TFLAG_NOMEDIA); + tech_absorb_sdp(tech_pvt); } - - if ((sdp = switch_channel_get_variable(channel, SWITCH_L_SDP_VARIABLE))) { - tech_pvt->local_sdp_str = switch_core_session_strdup(session, sdp); - switch_set_flag(tech_pvt, TFLAG_NOMEDIA); - switch_channel_set_flag(channel, CF_NOMEDIA); - } if (switch_test_flag(tech_pvt, TFLAG_OUTBOUND)) { do_invite(session); @@ -1066,52 +1132,58 @@ return SWITCH_STATUS_SUCCESS; } -// map QSIG cause codes to SIP ala RFC4497 +// map QSIG cause codes to SIP from RFC4497 section 8.4.1 static int hangup_cause_to_sip(switch_call_cause_t cause) { switch (cause) { - case SWITCH_CAUSE_UNALLOCATED: - case SWITCH_CAUSE_NO_ROUTE_TRANSIT_NET: - case SWITCH_CAUSE_NO_ROUTE_DESTINATION: - return 404; - case SWITCH_CAUSE_USER_BUSY: - return 486; - case SWITCH_CAUSE_NO_USER_RESPONSE: - return 408; - case SWITCH_CAUSE_NO_ANSWER: - return 480; - case SWITCH_CAUSE_CALL_REJECTED: - return 603; - case SWITCH_CAUSE_NUMBER_CHANGED: - return 410; - case SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER: - return 502; - case SWITCH_CAUSE_INVALID_NUMBER_FORMAT: - return 484; - case SWITCH_CAUSE_FACILITY_REJECTED: - return 501; - case SWITCH_CAUSE_NORMAL_UNSPECIFIED: - return 480; - case SWITCH_CAUSE_NORMAL_CIRCUIT_CONGESTION: - case SWITCH_CAUSE_NETWORK_OUT_OF_ORDER: - case SWITCH_CAUSE_NORMAL_TEMPORARY_FAILURE: - case SWITCH_CAUSE_SWITCH_CONGESTION: - return 503; - case SWITCH_CAUSE_OUTGOING_CALL_BARRED: - case SWITCH_CAUSE_INCOMING_CALL_BARRED: - case SWITCH_CAUSE_BEARERCAPABILITY_NOTAUTH: - return 403; - case SWITCH_CAUSE_BEARERCAPABILITY_NOTAVAIL: - return 503; - case SWITCH_CAUSE_BEARERCAPABILITY_NOTIMPL: - return 488; - case SWITCH_CAUSE_FACILITY_NOT_IMPLEMENTED: - return 501; - case SWITCH_CAUSE_INCOMPATIBLE_DESTINATION: - return 503; - case SWITCH_CAUSE_RECOVERY_ON_TIMER_EXPIRE: - return 504; - default: - return 500; + case SWITCH_CAUSE_UNALLOCATED: + case SWITCH_CAUSE_NO_ROUTE_TRANSIT_NET: + case SWITCH_CAUSE_NO_ROUTE_DESTINATION: + return 404; + case SWITCH_CAUSE_USER_BUSY: + return 486; + case SWITCH_CAUSE_NO_USER_RESPONSE: + return 408; + case SWITCH_CAUSE_NO_ANSWER: + return 480; + case SWITCH_CAUSE_SUBSCRIBER_ABSENT: + return 480; + case SWITCH_CAUSE_CALL_REJECTED: + return 603; + case SWITCH_CAUSE_NUMBER_CHANGED: + case SWITCH_CAUSE_REDIRECTION_TO_NEW_DESTINATION: + return 410; + case SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER: + return 502; + case SWITCH_CAUSE_INVALID_NUMBER_FORMAT: + return 484; + case SWITCH_CAUSE_FACILITY_REJECTED: + return 501; + case SWITCH_CAUSE_NORMAL_UNSPECIFIED: + return 480; + case SWITCH_CAUSE_NORMAL_CIRCUIT_CONGESTION: + case SWITCH_CAUSE_NETWORK_OUT_OF_ORDER: + case SWITCH_CAUSE_NORMAL_TEMPORARY_FAILURE: + case SWITCH_CAUSE_SWITCH_CONGESTION: + return 503; + case SWITCH_CAUSE_OUTGOING_CALL_BARRED: + case SWITCH_CAUSE_INCOMING_CALL_BARRED: + case SWITCH_CAUSE_BEARERCAPABILITY_NOTAUTH: + return 403; + case SWITCH_CAUSE_BEARERCAPABILITY_NOTAVAIL: + return 503; + case SWITCH_CAUSE_BEARERCAPABILITY_NOTIMPL: + return 488; + case SWITCH_CAUSE_FACILITY_NOT_IMPLEMENTED: + case SWITCH_CAUSE_SERVICE_NOT_IMPLEMENTED: + return 501; + case SWITCH_CAUSE_INCOMPATIBLE_DESTINATION: + return 503; + case SWITCH_CAUSE_RECOVERY_ON_TIMER_EXPIRE: + return 504; + case SWITCH_CAUSE_ORIGINATOR_CANCEL: + return 487; + default: + return 500; } } @@ -1127,18 +1199,16 @@ channel = switch_core_session_get_channel(session); assert(channel != NULL); - cause = switch_channel_get_cause(channel); - sip_cause = hangup_cause_to_sip(cause); - tech_pvt = (private_object_t *) switch_core_session_get_private(session); assert(tech_pvt != NULL); + cause = switch_channel_get_cause(channel); + sip_cause = hangup_cause_to_sip(cause); + deactivate_rtp(tech_pvt); - su_home_deinit(tech_pvt->home); - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Channel %s hanging up, cause: %s\n", - switch_channel_get_name(channel), switch_channel_cause2str(cause), sip_cause); + switch_channel_get_name(channel), switch_channel_cause2str(cause), sip_cause); if (tech_pvt->hash_key) { switch_core_hash_delete(tech_pvt->profile->chat_hash, tech_pvt->hash_key); @@ -1156,7 +1226,7 @@ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Sending BYE\n"); nua_bye(tech_pvt->nh, TAG_END()); } else { - if (switch_test_flag(tech_pvt, TFLAG_INBOUND)) { + if (!switch_test_flag(tech_pvt, TFLAG_OUTBOUND)) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Responding to INVITE with: %d\n", sip_cause); nua_respond(tech_pvt->nh, sip_cause, NULL, TAG_END()); } else { @@ -1164,18 +1234,21 @@ nua_cancel(tech_pvt->nh, TAG_END()); } } + switch_set_flag_locked(tech_pvt, TFLAG_BYE); } - nua_handle_destroy(tech_pvt->nh); - tech_pvt->nh = NULL; } if (tech_pvt->from_str) { switch_safe_free(tech_pvt->from_str); } - switch_set_flag_locked(tech_pvt, TFLAG_BYE); switch_clear_flag_locked(tech_pvt, TFLAG_IO); + if (tech_pvt->home) { + su_home_deinit(tech_pvt->home); + tech_pvt->home = NULL; + } + return SWITCH_STATUS_SUCCESS; } @@ -1203,12 +1276,15 @@ } } -static switch_status_t tech_set_codec(private_object_t *tech_pvt) +static switch_status_t tech_set_codec(private_object_t *tech_pvt, int force) { switch_channel_t *channel; assert(tech_pvt->codecs[tech_pvt->codec_index] != NULL); if (tech_pvt->read_codec.implementation) { + if (!force) { + return SWITCH_STATUS_SUCCESS; + } if (strcasecmp(tech_pvt->read_codec.implementation->iananame, tech_pvt->rm_encoding) || tech_pvt->read_codec.implementation->samples_per_second != tech_pvt->rm_rate) { @@ -1277,7 +1353,7 @@ const char *err = NULL; switch_rtp_flag_t flags; switch_status_t status; - + char tmp[50]; assert(tech_pvt != NULL); channel = switch_core_session_get_channel(tech_pvt->session); @@ -1291,7 +1367,7 @@ return SWITCH_STATUS_SUCCESS; } - if ((status = tech_set_codec(tech_pvt)) != SWITCH_STATUS_SUCCESS) { + if ((status = tech_set_codec(tech_pvt, 0)) != SWITCH_STATUS_SUCCESS) { return status; } @@ -1310,10 +1386,13 @@ tech_pvt->local_sdp_audio_port, tech_pvt->remote_sdp_audio_ip, tech_pvt->remote_sdp_audio_port, - tech_pvt->read_codec.implementation->ianacode, + tech_pvt->agreed_pt, tech_pvt->read_codec.implementation->microseconds_per_frame / 1000); - + snprintf(tmp, sizeof(tmp), "%d", tech_pvt->remote_sdp_audio_port); + switch_channel_set_variable(channel, SWITCH_LOCAL_MEDIA_IP_VARIABLE, tech_pvt->adv_sdp_audio_ip); + switch_channel_set_variable(channel, SWITCH_LOCAL_MEDIA_PORT_VARIABLE, tmp); + if (tech_pvt->rtp_session && switch_test_flag(tech_pvt, TFLAG_REINVITE)) { switch_clear_flag_locked(tech_pvt, TFLAG_REINVITE); @@ -1333,7 +1412,7 @@ tech_pvt->local_sdp_audio_port, tech_pvt->remote_sdp_audio_ip, tech_pvt->remote_sdp_audio_port, - tech_pvt->read_codec.implementation->ianacode, + tech_pvt->agreed_pt, tech_pvt->read_codec.implementation->encoded_bytes_per_frame, tech_pvt->codec_ms * 1000, (switch_rtp_flag_t) flags, @@ -1370,7 +1449,6 @@ { private_object_t *tech_pvt; switch_channel_t *channel = NULL; - char *sdp; assert(session != NULL); @@ -1380,19 +1458,17 @@ tech_pvt = (private_object_t *) switch_core_session_get_private(session); assert(tech_pvt != NULL); - if ((sdp = switch_channel_get_variable(channel, SWITCH_L_SDP_VARIABLE))) { - tech_pvt->local_sdp_str = switch_core_session_strdup(session, sdp); - switch_set_flag(tech_pvt, TFLAG_NOMEDIA); - switch_channel_set_flag(channel, CF_NOMEDIA); + if (switch_channel_test_flag(channel, CF_NOMEDIA)) { + switch_set_flag_locked(tech_pvt, TFLAG_NOMEDIA); + tech_absorb_sdp(tech_pvt); } - if (!switch_test_flag(tech_pvt, TFLAG_ANS) && !switch_channel_test_flag(channel, CF_OUTBOUND)) { switch_set_flag_locked(tech_pvt, TFLAG_ANS); tech_choose_port(tech_pvt); - set_local_sdp(tech_pvt); + set_local_sdp(tech_pvt, NULL, 0, NULL, 0); activate_rtp(tech_pvt); if (tech_pvt->nh) { @@ -1400,13 +1476,14 @@ switch_channel_get_name(channel), tech_pvt->local_sdp_str); nua_respond(tech_pvt->nh, SIP_200_OK, + SIPTAG_CONTACT_STR(tech_pvt->profile->url), SOATAG_USER_SDP_STR(tech_pvt->local_sdp_str), SOATAG_AUDIO_AUX("cn telephone-event"), NUTAG_INCLUDE_EXTRA_SDP(1), TAG_END()); } - } + } return SWITCH_STATUS_SUCCESS; } @@ -1419,7 +1496,7 @@ size_t bytes = 0, samples = 0, frames = 0, ms = 0; switch_channel_t *channel = NULL; int payload = 0; - + channel = switch_core_session_get_channel(session); assert(channel != NULL); @@ -1430,6 +1507,15 @@ return SWITCH_STATUS_FALSE; } + while (!(tech_pvt->read_codec.implementation && switch_rtp_ready(tech_pvt->rtp_session))) { + if (switch_channel_ready(channel)) { + switch_yield(10000); + } else { + return SWITCH_STATUS_GENERR; + } + } + + tech_pvt->read_frame.datalen = 0; switch_set_flag_locked(tech_pvt, TFLAG_READING); @@ -1537,6 +1623,14 @@ tech_pvt = (private_object_t *) switch_core_session_get_private(session); assert(tech_pvt != NULL); + while (!(tech_pvt->read_codec.implementation && switch_rtp_ready(tech_pvt->rtp_session))) { + if (switch_channel_ready(channel)) { + switch_yield(10000); + } else { + return SWITCH_STATUS_GENERR; + } + } + if (switch_test_flag(tech_pvt, TFLAG_HUP)) { return SWITCH_STATUS_FALSE; } @@ -1659,6 +1753,53 @@ switch (msg->message_id) { + case SWITCH_MESSAGE_INDICATE_NOMEDIA: { + char *uuid; + switch_core_session_t *other_session; + switch_channel_t *other_channel; + char *ip = NULL, *port = NULL; + + switch_set_flag_locked(tech_pvt, TFLAG_NOMEDIA); + tech_pvt->local_sdp_str = NULL; + if ((uuid = switch_channel_get_variable(channel, SWITCH_BRIDGE_VARIABLE)) && (other_session = switch_core_session_locate(uuid))) { + other_channel = switch_core_session_get_channel(other_session); + ip = switch_channel_get_variable(other_channel, SWITCH_REMOTE_MEDIA_IP_VARIABLE); + port = switch_channel_get_variable(other_channel, SWITCH_REMOTE_MEDIA_PORT_VARIABLE); + switch_core_session_rwunlock(other_session); + if (ip && port) { + set_local_sdp(tech_pvt, ip, atoi(port), NULL, 1); + } + } + if (!tech_pvt->local_sdp_str) { + tech_absorb_sdp(tech_pvt); + } + + do_invite(session); + } + break; + case SWITCH_MESSAGE_INDICATE_MEDIA: { + switch_clear_flag_locked(tech_pvt, TFLAG_NOMEDIA); + tech_pvt->local_sdp_str = NULL; + if (!switch_rtp_ready(tech_pvt->rtp_session)) { + tech_set_codecs(tech_pvt); + tech_choose_port(tech_pvt); + } + set_local_sdp(tech_pvt, NULL, 0, NULL, 1); + do_invite(session); + } + break; + + case SWITCH_MESSAGE_INDICATE_HOLD: { + switch_set_flag_locked(tech_pvt, TFLAG_SIP_HOLD); + do_invite(session); + } + break; + + case SWITCH_MESSAGE_INDICATE_UNHOLD: { + switch_clear_flag_locked(tech_pvt, TFLAG_SIP_HOLD); + do_invite(session); + } + break; case SWITCH_MESSAGE_INDICATE_BRIDGE: if (switch_test_flag(tech_pvt, TFLAG_XFER)) { @@ -1683,7 +1824,7 @@ switch_core_session_rwunlock(asession); } - + msg->pointer_arg = NULL; return SWITCH_STATUS_FALSE; } @@ -1705,7 +1846,6 @@ case SWITCH_MESSAGE_INDICATE_PROGRESS: { struct private_object *tech_pvt; switch_channel_t *channel = NULL; - char *sdp; channel = switch_core_session_get_channel(session); assert(channel != NULL); @@ -1713,27 +1853,35 @@ tech_pvt = switch_core_session_get_private(session); assert(tech_pvt != NULL); - if (!switch_test_flag(tech_pvt, TFLAG_EARLY_MEDIA)) { + if (!switch_test_flag(tech_pvt, TFLAG_EARLY_MEDIA) && !switch_test_flag(tech_pvt, TFLAG_ANS)) { switch_set_flag_locked(tech_pvt, TFLAG_EARLY_MEDIA); switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "Asked to send early media by %s\n", msg->from); - if ((sdp = switch_channel_get_variable(channel, SWITCH_L_SDP_VARIABLE))) { - tech_pvt->local_sdp_str = switch_core_session_strdup(session, sdp); - switch_set_flag(tech_pvt, TFLAG_NOMEDIA); - switch_channel_set_flag(channel, CF_NOMEDIA); + if (switch_test_flag(tech_pvt, TFLAG_NOMEDIA)) { + tech_absorb_sdp(tech_pvt); } - /* Transmit 183 Progress with SDP */ tech_choose_port(tech_pvt); - set_local_sdp(tech_pvt); + set_local_sdp(tech_pvt, NULL, 0, NULL, 0); activate_rtp(tech_pvt); - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "183 SDP:\n%s\n", tech_pvt->local_sdp_str); - nua_respond(tech_pvt->nh, SIP_183_SESSION_PROGRESS, - SOATAG_USER_SDP_STR(tech_pvt->local_sdp_str), - SOATAG_AUDIO_AUX("cn telephone-event"), - TAG_END()); + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "Ring SDP:\n%s\n", tech_pvt->local_sdp_str); + + + if (msg->message_id == SWITCH_MESSAGE_INDICATE_RINGING) { + nua_respond(tech_pvt->nh, + SIP_180_RINGING, + SOATAG_USER_SDP_STR(tech_pvt->local_sdp_str), + SOATAG_AUDIO_AUX("cn telephone-event"), + TAG_END()); + } else { + nua_respond(tech_pvt->nh, + SIP_183_SESSION_PROGRESS, + SOATAG_USER_SDP_STR(tech_pvt->local_sdp_str), + SOATAG_AUDIO_AUX("cn telephone-event"), + TAG_END()); + } } } break; @@ -1851,7 +1999,7 @@ #endif } - switch_log_printf(SWITCH_CHANNEL_LOG_CLEAN, SWITCH_LOG_DEBUG, (char*) "%s", data); + switch_log_printf(SWITCH_CHANNEL_LOG_CLEAN, SWITCH_LOG_CONSOLE, (char*) "%s", data); free(data); } @@ -1926,13 +2074,9 @@ *new_session = nsession; status = SWITCH_STATUS_SUCCESS; if (session) { - char *val; - switch_channel_t *channel = switch_core_session_get_channel(session); + //char *val; + //switch_channel_t *channel = switch_core_session_get_channel(session); switch_ivr_transfer_variable(session, nsession, SOFIA_REPLACES_HEADER); - - if (switch_channel_test_flag(channel, CF_NOMEDIA) && (val = switch_channel_get_variable(channel, SWITCH_R_SDP_VARIABLE))) { - switch_channel_set_variable(nchannel, SWITCH_L_SDP_VARIABLE, val); - } } done: @@ -1945,9 +2089,13 @@ uint8_t match = 0; private_object_t *tech_pvt; sdp_media_t *m; + sdp_attribute_t *a; + switch_channel_t *channel; tech_pvt = switch_core_session_get_private(session); assert(tech_pvt != NULL); + + channel = switch_core_session_get_channel(session); if ((tech_pvt->origin = switch_core_session_strdup(session, (char *) sdp->sdp_origin->o_username))) { if (strstr(tech_pvt->origin, "CiscoSystemsSIP-GW-UserAgent")) { @@ -1956,6 +2104,14 @@ } } + for (a = sdp->sdp_attributes; a; a = a->a_next) { + if (!strcasecmp(a->a_name, "sendonly")) { + switch_set_flag_locked(tech_pvt, TFLAG_SIP_HOLD); + } else if (!strcasecmp(a->a_name, "sendrecv")) { + switch_clear_flag_locked(tech_pvt, TFLAG_SIP_HOLD); + } + } + for (m = sdp->sdp_media; m ; m = m->m_next) { if (m->m_type == sdp_media_audio) { sdp_rtpmap_t *map; @@ -1976,8 +2132,9 @@ } else { match = strcasecmp(map->rm_encoding, imp->iananame) ? 0 : 1; } - + if (match && (map->rm_rate == imp->samples_per_second)) { + char tmp[50]; tech_pvt->rm_encoding = switch_core_session_strdup(session, (char *)map->rm_encoding); tech_pvt->pt = (switch_payload_t)map->rm_pt; tech_pvt->rm_rate = map->rm_rate; @@ -1985,6 +2142,10 @@ tech_pvt->remote_sdp_audio_ip = switch_core_session_strdup(session, (char *)sdp->sdp_connection->c_address); tech_pvt->rm_fmtp = switch_core_session_strdup(session, (char *)map->rm_fmtp); tech_pvt->remote_sdp_audio_port = (switch_port_t)m->m_port; + tech_pvt->agreed_pt = (switch_payload_t)map->rm_pt; + snprintf(tmp, sizeof(tmp), "%d", tech_pvt->remote_sdp_audio_port); + switch_channel_set_variable(channel, SWITCH_REMOTE_MEDIA_IP_VARIABLE, tech_pvt->remote_sdp_audio_ip); + switch_channel_set_variable(channel, SWITCH_REMOTE_MEDIA_PORT_VARIABLE, tmp); break; } else { match = 0; @@ -1992,7 +2153,7 @@ } if (match) { - if (tech_set_codec(tech_pvt) != SWITCH_STATUS_SUCCESS) { + if (tech_set_codec(tech_pvt, 1) != SWITCH_STATUS_SUCCESS) { match = 0; } break; @@ -2004,54 +2165,67 @@ return match; } -// map sip responses to QSIG cause codes ala RFC4497 +// map sip responses to QSIG cause codes ala RFC4497 section 8.4.4 static switch_call_cause_t sip_cause_to_freeswitch(int status) { switch (status) { - case 200: - return SWITCH_CAUSE_NORMAL_CLEARING; - case 401: - case 402: - case 403: - case 407: - case 603: - return SWITCH_CAUSE_CALL_REJECTED; - case 404: - case 485: - case 604: - return SWITCH_CAUSE_UNALLOCATED; - case 408: - case 504: - return SWITCH_CAUSE_RECOVERY_ON_TIMER_EXPIRE; - case 410: - return SWITCH_CAUSE_NUMBER_CHANGED; - case 413: - case 414: - case 416: - case 420: - case 421: - case 423: - case 505: - case 513: - return SWITCH_CAUSE_INTERWORKING; - case 480: - return SWITCH_CAUSE_NO_USER_RESPONSE; - case 400: - case 481: - case 500: - case 503: - return SWITCH_CAUSE_NORMAL_TEMPORARY_FAILURE; - case 486: - case 600: - return SWITCH_CAUSE_USER_BUSY; - case 484: - return SWITCH_CAUSE_INVALID_NUMBER_FORMAT; - case 488: - case 606: - return SWITCH_CAUSE_BEARERCAPABILITY_NOTIMPL; - case 502: - return SWITCH_CAUSE_NETWORK_OUT_OF_ORDER; - default: - return SWITCH_CAUSE_NORMAL_UNSPECIFIED; + case 200: + return SWITCH_CAUSE_NORMAL_CLEARING; + case 401: + case 402: + case 403: + case 407: + case 603: + return SWITCH_CAUSE_CALL_REJECTED; + case 404: + case 485: + case 604: + return SWITCH_CAUSE_UNALLOCATED; + case 408: + case 504: + return SWITCH_CAUSE_RECOVERY_ON_TIMER_EXPIRE; + case 410: + return SWITCH_CAUSE_NUMBER_CHANGED; + case 413: + case 414: + case 416: + case 420: + case 421: + case 423: + case 505: + case 513: + return SWITCH_CAUSE_INTERWORKING; + case 480: + return SWITCH_CAUSE_NO_USER_RESPONSE; + case 400: + case 481: + case 500: + case 503: + return SWITCH_CAUSE_NORMAL_TEMPORARY_FAILURE; + case 486: + case 600: + return SWITCH_CAUSE_USER_BUSY; + case 484: + return SWITCH_CAUSE_INVALID_NUMBER_FORMAT; + case 488: + case 606: + return SWITCH_CAUSE_BEARERCAPABILITY_NOTIMPL; + case 502: + return SWITCH_CAUSE_NETWORK_OUT_OF_ORDER; + case 405: + return SWITCH_CAUSE_SERVICE_UNAVAILABLE; + case 406: + case 415: + case 501: + return SWITCH_CAUSE_SERVICE_NOT_IMPLEMENTED; + case 482: + case 483: + return SWITCH_CAUSE_EXCHANGE_ROUTING_ERROR; + case 487: + return SWITCH_CAUSE_ORIGINATOR_CANCEL; + + default: + return SWITCH_CAUSE_NORMAL_UNSPECIFIED; + } } @@ -2224,7 +2398,31 @@ } } +static void pass_sdp(switch_channel_t *channel, char *sdp) +{ + char *val; + switch_core_session_t *other_session; + switch_channel_t *other_channel; + + if ((val = switch_channel_get_variable(channel, SWITCH_ORIGINATOR_VARIABLE)) && (other_session = switch_core_session_locate(val))) { + other_channel = switch_core_session_get_channel(other_session); + assert(other_channel != NULL); + if (!switch_channel_get_variable(other_channel, SWITCH_B_SDP_VARIABLE)) { + switch_channel_set_variable(other_channel, SWITCH_B_SDP_VARIABLE, sdp); + } + if ( + switch_channel_test_flag(other_channel, CF_OUTBOUND) && + switch_channel_test_flag(other_channel, CF_NOMEDIA) && + switch_channel_test_flag(channel, CF_OUTBOUND) && + switch_channel_test_flag(channel, CF_NOMEDIA)) { + switch_ivr_nomedia(val, SMF_NONE); + } + + switch_core_session_rwunlock(other_session); + } +} + static void sip_i_state(int status, char const *phrase, nua_t *nua, @@ -2245,7 +2443,9 @@ char *uuid; switch_core_session_t *other_session = NULL; switch_channel_t *other_channel = NULL; + char st[80] = ""; + tl_gets(tags, NUTAG_CALLSTATE_REF(ss_state), NUTAG_OFFER_RECV_REF(offer_recv), @@ -2276,10 +2476,14 @@ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Remote SDP:\n%s\n", r_sdp); tech_pvt->remote_sdp_str = switch_core_session_strdup(session, (char *)r_sdp); switch_channel_set_variable(channel, SWITCH_R_SDP_VARIABLE, (char *) r_sdp); + pass_sdp(channel, (char *) r_sdp); } } + if (status == 988) { + return; + } switch ((enum nua_callstate)ss_state) { case nua_callstate_init: @@ -2292,7 +2496,7 @@ if (channel) { if (status == 180) { if (switch_test_flag(tech_pvt, TFLAG_NOMEDIA)) { - if ((uuid = switch_channel_get_variable(channel, SWITCH_SIGNAL_BRIDGE_VARIABLE)) && (other_session = switch_core_session_locate(uuid))) { + if ((uuid = switch_channel_get_variable(channel, SWITCH_BRIDGE_VARIABLE)) && (other_session = switch_core_session_locate(uuid))) { switch_core_session_message_t msg; msg.message_id = SWITCH_MESSAGE_INDICATE_RINGING; msg.from = __FILE__; @@ -2315,7 +2519,7 @@ if (switch_test_flag(tech_pvt, TFLAG_NOMEDIA)) { switch_set_flag_locked(tech_pvt, TFLAG_EARLY_MEDIA); switch_channel_set_flag(channel, CF_EARLY_MEDIA); - if ((uuid = switch_channel_get_variable(channel, SWITCH_SIGNAL_BRIDGE_VARIABLE)) && (other_session = switch_core_session_locate(uuid))) { + if ((uuid = switch_channel_get_variable(channel, SWITCH_BRIDGE_VARIABLE)) && (other_session = switch_core_session_locate(uuid))) { other_channel = switch_core_session_get_channel(other_session); switch_channel_pre_answer(other_channel); switch_core_session_rwunlock(other_session); @@ -2384,6 +2588,7 @@ switch_channel_set_variable(channel, "endpoint_disposition", "RECEIVED"); switch_channel_set_state(channel, CS_INIT); switch_set_flag_locked(tech_pvt, TFLAG_READY); + switch_core_session_thread_launch(session); if (replaces_str && (replaces = sip_replaces_make(tech_pvt->home, replaces_str)) && (bnh = nua_handle_by_replaces(nua, replaces))) { @@ -2441,14 +2646,15 @@ match = negotiate_sdp(session, sdp); } } - tech_choose_port(tech_pvt); - set_local_sdp(tech_pvt); - tech_set_codec(tech_pvt); - switch_set_flag_locked(tech_pvt, TFLAG_REINVITE); - activate_rtp(tech_pvt); - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Processing Reinvite\n"); - if (parser) { - sdp_parser_free(parser); + if (match) { + tech_choose_port(tech_pvt); + set_local_sdp(tech_pvt, NULL, 0, NULL, 0); + switch_set_flag_locked(tech_pvt, TFLAG_REINVITE); + activate_rtp(tech_pvt); + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Processing Reinvite\n"); + if (parser) { + sdp_parser_free(parser); + } } } } @@ -2470,7 +2676,7 @@ if (switch_test_flag(tech_pvt, TFLAG_NOMEDIA)) { switch_set_flag_locked(tech_pvt, TFLAG_ANS); switch_channel_set_flag(channel, CF_ANSWERED); - if ((uuid = switch_channel_get_variable(channel, SWITCH_SIGNAL_BRIDGE_VARIABLE)) && (other_session = switch_core_session_locate(uuid))) { + if ((uuid = switch_channel_get_variable(channel, SWITCH_BRIDGE_VARIABLE)) && (other_session = switch_core_session_locate(uuid))) { other_channel = switch_core_session_get_channel(other_session); switch_channel_answer(other_channel); switch_core_session_rwunlock(other_session); @@ -2521,13 +2727,17 @@ switch_set_flag_locked(tech_pvt, TFLAG_BYE); if (switch_test_flag(tech_pvt, TFLAG_NOHUP)) { switch_clear_flag_locked(tech_pvt, TFLAG_NOHUP); - nua_handle_destroy(tech_pvt->nh); - tech_pvt->nh = NULL; } else { + snprintf(st, sizeof(st), "%d", status); + switch_channel_set_variable(channel, "sip_term_status", st); terminate_session(&session, sip_cause_to_freeswitch(status), __LINE__); } } + tech_pvt->nh = NULL; } + if (nh) { + nua_handle_destroy(nh); + } break; } @@ -2937,7 +3147,7 @@ nua_handle_t *nh; char *to; char *open; - + if (!rpid) { rpid = "unknown"; } @@ -2975,8 +3185,10 @@ "</rpid:activities>%s</dm:person>\r\n" "</presence>", id, open, rpid, note); + + nh = nua_handle(profile->nua, NULL, TAG_END()); - + nua_notify(nh, NUTAG_URL(contact), SIPTAG_TO_STR(full_from), @@ -3093,7 +3305,7 @@ } if (!(proto && to_user && to_host)) { - nua_respond(nh, SIP_404_NOT_FOUND, TAG_END()); + nua_respond(nh, SIP_404_NOT_FOUND, NUTAG_WITH_THIS(nua), TAG_END()); goto end; } } @@ -3135,12 +3347,15 @@ sstr = switch_mprintf("active;expires=%ld", exp_raw); nua_respond(nh, SIP_202_ACCEPTED, + NUTAG_WITH_THIS(nua), SIPTAG_SUBSCRIPTION_STATE_STR(sstr), SIPTAG_FROM(sip->sip_to), SIPTAG_TO(sip->sip_from), SIPTAG_CONTACT_STR(to_str), TAG_END()); + + switch_safe_free(sstr); if (!(db = switch_core_db_open_file(profile->dbname))) { @@ -3547,11 +3762,67 @@ } - nua_respond(nh, SIP_200_OK, TAG_END()); + nua_respond(nh, SIP_200_OK, NUTAG_WITH_THIS(nua), TAG_END()); } +static void sip_i_info(nua_t *nua, + sofia_profile_t *profile, + nua_handle_t *nh, + switch_core_session_t *session, + sip_t const *sip, + tagi_t tags[]) { + //placeholder for string searching + char *signal_ptr; + + //Try and find signal information in the payload + signal_ptr = strstr(sip->sip_payload->pl_data, "Signal="); + + //See if we found a match + if(signal_ptr) { + struct private_object *tech_pvt = NULL; + switch_channel_t *channel = NULL; + char dtmf_digit[2] = {0,0}; + + //Get the channel + channel = switch_core_session_get_channel(session); + + //Barf if we didn't get it + assert(channel != NULL); + + //make sure we have our privates + tech_pvt = switch_core_session_get_private(session); + + //Barf if we didn't get it + assert(tech_pvt != NULL); + + //move signal_ptr where we need it (right past Signal=) + signal_ptr = signal_ptr + 7; + + //put the digit somewhere we can muck with + strncpy(dtmf_digit, signal_ptr, 1); + + //queue it up + switch_channel_queue_dtmf(channel, dtmf_digit); + + //print debug info + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "INFO DTMF(%s)\n", dtmf_digit); + + } else { //unknown info type + sip_from_t const *from; + + from = sip->sip_from; + + //print in the logs if something comes through we don't understand + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Unknown INFO Recieved: %s%s" URL_PRINT_FORMAT "[%s]\n", + from->a_display ? from->a_display : "", from->a_display ? " " : "", + URL_PRINT_ARGS(from->a_url), sip->sip_payload->pl_data); + } + + return; +} + static void sip_i_invite(nua_t *nua, sofia_profile_t *profile, nua_handle_t *nh, @@ -3581,7 +3852,7 @@ char *username, *to_username = NULL; char *url_user = (char *) from->a_url->url_user; char *to_user, *to_host; - char *a,*b; + if (!(tech_pvt = (private_object_t *) switch_core_session_alloc(session, sizeof(private_object_t)))) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "Hey where is my memory pool?\n"); terminate_session(&session, SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER, __LINE__); @@ -3642,18 +3913,19 @@ } } - if ((a = strchr(to_user, '+')) && (b = strrchr(to_user, '+')) && a != b) { - *b = '@'; - } - attach_private(session, profile, tech_pvt, username); channel = switch_core_session_get_channel(session); switch_channel_set_variable(channel, "endpoint_disposition", "INBOUND CALL"); set_chat_hash(tech_pvt, sip); - switch_channel_set_variable(channel, "sip_fromuser", (char *) from->a_url->url_user); - switch_channel_set_variable(channel, "sip_fromhost", (char *) from->a_url->url_host); + switch_channel_set_variable(channel, "sip_from_user", (char *) from->a_url->url_user); + if (from->a_url->url_user && *from->a_url->url_user == '+') { + switch_channel_set_variable(channel, "sip_from_user_stripped", (char *)(from->a_url->url_user+1)); + } else { + switch_channel_set_variable(channel, "sip_from_user_stripped", (char *)from->a_url->url_user); + } + switch_channel_set_variable(channel, "sip_from_host", (char *) from->a_url->url_host); if ((tech_pvt->caller_profile = switch_caller_profile_new(switch_core_session_get_pool(session), (char *) from->a_url->url_user, profile->dialplan, @@ -3727,7 +3999,6 @@ switch_safe_free(to_username); } - switch_set_flag_locked(tech_pvt, TFLAG_INBOUND); tech_pvt->sofia_private.session = session; nua_handle_bind(nh, &tech_pvt->sofia_private); } @@ -3774,48 +4045,20 @@ outbound_reg_t *oreg = NULL; sip_www_authenticate_t const *authenticate = NULL; switch_core_session_t *session = sofia_private ? sofia_private->session : NULL; - - if (sofia_private) { - if (sofia_private->oreg) { - oreg = sofia_private->oreg; - } else if (profile) { - /* NOTE - this is a linked list, when nua_identity comes - we need to actually pick the right one... - */ - oreg = profile->registrations; - } - } - - + char const *realm = NULL; + char const *scheme = NULL; + int index; + char *cur; + if (session) { private_object_t *tech_pvt; if ((tech_pvt = switch_core_session_get_private(session)) && switch_test_flag(tech_pvt, TFLAG_REFER)) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "received reply from refer\n"); - return; } } - - if (!oreg) { - if (sofia_private->oreg) { - nua_handle_destroy(nh); - } - return; - } - - if (status == 200) { - if (sofia_private->oreg) { - oreg->state = REG_STATE_REGISTER; - nua_handle_destroy(nh); - } - } else if (status == 401 || status == 407) { - char const *realm = (char const *) *authenticate->au_params; - char const *scheme = (char const *) authenticate->au_scheme; - char authentication[256] = ""; - int ss_state; - + if (status == 401 || status == 407) { if (sip->sip_www_authenticate) { authenticate = sip->sip_www_authenticate; } else if (sip->sip_proxy_authenticate) { @@ -3824,24 +4067,68 @@ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Missing Authenticate Header!\n"); return; } + scheme = (char const *) authenticate->au_scheme; + if (authenticate->au_params) { + for(index = 0; (cur=(char*)authenticate->au_params[index]); index++) { + if ((realm = strstr(cur, "realm="))) { + realm += 6; + break; + } + } + } + if (!(scheme && realm)) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "No scheme and realm!\n"); + return; + } + } + + + if (sofia_private) { + if (sofia_private->oreg) { + oreg = sofia_private->oreg; + } else if (profile) { + outbound_reg_t *oregp; + for (oregp = profile->registrations; oregp; oregp = oregp->next) { + if (!strcasecmp(oregp->register_scheme, scheme) && !strcasecmp(oregp->register_realm, realm)) { + oreg = oregp; + break; + } + } + } + } + + if (!oreg) { + //switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "No Register handle to associate!\n"); + return; + } + + if (status == 200) { + oreg->state = REG_STATE_REGISTER; + } else if (authenticate) { + char authentication[256] = ""; + int ss_state; + + if (realm) { + snprintf(authentication, sizeof(authentication), "%s:%s:%s:%s", scheme, realm, + oreg->register_username, + oreg->register_password); - snprintf(authentication, sizeof(authentication), "%s:%s:%s:%s", scheme, strstr(realm, "=") + 1, - oreg->register_username, - oreg->register_password); + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Authenticating '%s' with '%s'.\n", + profile->username, authentication); - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Authenticating '%s' with '%s'.\n", - profile->username, authentication); + ss_state = nua_callstate_authenticating; - ss_state = nua_callstate_authenticating; + tl_gets(tags, + NUTAG_CALLSTATE_REF(ss_state), + SIPTAG_WWW_AUTHENTICATE_REF(authenticate), + TAG_END()); - tl_gets(tags, - NUTAG_CALLSTATE_REF(ss_state), - SIPTAG_WWW_AUTHENTICATE_REF(authenticate), - TAG_END()); - - nua_authenticate(nh, NUTAG_AUTH(authentication), TAG_END()); + + + nua_authenticate(nh, SIPTAG_EXPIRES_STR(oreg->expires_str), NUTAG_AUTH(authentication), TAG_END()); + } } } @@ -3963,7 +4250,7 @@ break; case nua_i_info: - //sip_i_info(nua, profile, nh, sofia_private, sip, tags); + sip_i_info(nua, profile, nh, session, sip, tags); break; case nua_r_refer: @@ -4033,6 +4320,15 @@ } } + +static void unreg(sofia_profile_t *profile) +{ + outbound_reg_t *oregp; + for (oregp = profile->registrations; oregp; oregp = oregp->next) { + nua_handle_destroy(oregp->nh); + } +} + static void check_oreg(sofia_profile_t *profile, time_t now) { outbound_reg_t *oregp; @@ -4056,6 +4352,7 @@ oregp->sofia_private.oreg = oregp; nua_handle_bind(oregp->nh, &oregp->sofia_private); + nua_register(oregp->nh, SIPTAG_FROM_STR(oregp->register_from), SIPTAG_CONTACT_STR(oregp->register_from), @@ -4104,16 +4401,22 @@ event_callback, /* Callback for processing events */ profile, /* Additional data to pass to callback */ NUTAG_URL(profile->url), + NTATAG_UDP_MTU(65536), TAG_END()); /* Last tag should always finish the sequence */ nua_set_params(profile->nua, - NUTAG_EARLY_MEDIA(1), + //NUTAG_EARLY_MEDIA(1), NUTAG_AUTOANSWER(0), NUTAG_AUTOALERT(0), NUTAG_ALLOW("REGISTER"), NUTAG_ALLOW("REFER"), + NUTAG_ALLOW("INFO"), TAG_IF((profile->pflags & PFLAG_PRESENCE), NUTAG_ALLOW("PUBLISH")), + TAG_IF((profile->pflags & PFLAG_PRESENCE), NUTAG_ALLOW("NOTIFY")), + TAG_IF((profile->pflags & PFLAG_PRESENCE), NUTAG_ALLOW("SUBSCRIBE")), TAG_IF((profile->pflags & PFLAG_PRESENCE), NUTAG_ENABLEMESSAGE(1)), + TAG_IF((profile->pflags & PFLAG_PRESENCE), NUTAG_ALLOW_EVENTS("presence")), + TAG_IF((profile->pflags & PFLAG_PRESENCE), NUTAG_ALLOW_EVENTS("presence.winfo")), SIPTAG_SUPPORTED_STR("100rel, precondition"), SIPTAG_USER_AGENT_STR(SOFIA_USER_AGENT), TAG_END()); @@ -4132,6 +4435,7 @@ NUTAG_AUTOALERT(0), NUTAG_ALLOW("REGISTER"), NUTAG_ALLOW("REFER"), + NUTAG_ALLOW("INFO"), TAG_IF((profile->pflags & PFLAG_PRESENCE), NUTAG_ALLOW("PUBLISH")), TAG_IF((profile->pflags & PFLAG_PRESENCE), NUTAG_ENABLEMESSAGE(1)), SIPTAG_SUPPORTED_STR("100rel, precondition"), @@ -4198,6 +4502,7 @@ su_root_step(profile->s_root, 1000); } + unreg(profile); su_home_deinit(profile->home); @@ -4448,7 +4753,6 @@ oreg->register_proxy = switch_core_strdup(oreg->pool, val); } else if (!strcmp(var, "register-frequency")) { oreg->expires_str = switch_core_strdup(oreg->pool, val); - oreg->freq = atoi(val); } } if (switch_strlen_zero(oreg->register_scheme)) { @@ -4478,9 +4782,6 @@ } oreg->freq = atoi(oreg->expires_str); - if (!oreg->freq) { - oreg->state = REG_STATE_REGED; - } oreg->next = profile->registrations; profile->registrations = oreg; @@ -4855,6 +5156,12 @@ SWITCH_MOD_DECLARE(switch_status_t) switch_module_load(const switch_loadable_module_interface_t **module_interface, char *filename) { + + silence_frame.data = silence_data; + silence_frame.datalen = sizeof(silence_data); + silence_frame.buflen = sizeof(silence_data); + silence_frame.flags = SFF_CNG; + if (switch_core_new_memory_pool(&module_pool) != SWITCH_STATUS_SUCCESS) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "OH OH no pool\n"); Modified: freeswitch/branches/knhor/trunk/src/mod/endpoints/mod_sofia/mod_sofia.vcproj ============================================================================== --- freeswitch/branches/knhor/trunk/src/mod/endpoints/mod_sofia/mod_sofia.vcproj (original) +++ freeswitch/branches/knhor/trunk/src/mod/endpoints/mod_sofia/mod_sofia.vcproj Thu Nov 2 11:40:13 2006 @@ -42,7 +42,7 @@ <Tool Name="VCCLCompilerTool" Optimization="0" - AdditionalIncludeDirectories=""$(InputDir)..\..\..\include";"$(InputDir)..\..\..\..\libs\include";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.4\libsofia-sip-ua\su";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.4\libsofia-sip-ua\nua";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.4\win32";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.4\libsofia-sip-ua\url";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.4\libsofia-sip-ua\sip";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.4\libsofia-sip-ua\msg";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.4\libsofia-sip-ua\sdp";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.4\libsofia-sip-ua\nta";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.4\libsofia-sip-ua\nea";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.4\libsofia-sip-ua\soa";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.4\libsofia-sip-ua\iptsec";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.4\libsofia-sip-ua\bnf"" + AdditionalIncludeDirectories=""$(InputDir)..\..\..\include";"$(InputDir)..\..\..\..\libs\include";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.9\libsofia-sip-ua\su";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.9\libsofia-sip-ua\nua";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.9\win32";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.9\libsofia-sip-ua\url";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.9\libsofia-sip-ua\sip";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.9\libsofia-sip-ua\msg";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.9\libsofia-sip-ua\sdp";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.9\libsofia-sip-ua\nta";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.9\libsofia-sip-ua\nea";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.9\libsofia-sip-ua\soa";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.9\libsofia-sip-ua\iptsec";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.9\libsofia-sip-ua\bnf"" PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;MOD_EXPORTS;LIBSOFIA_SIP_UA_STATIC;PTW32_STATIC_LIB" MinimalRebuild="true" BasicRuntimeChecks="3" @@ -126,7 +126,7 @@ /> <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories=""$(InputDir)..\..\..\include";"$(InputDir)..\..\..\..\libs\include";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.4\libsofia-sip-ua\su";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.4\libsofia-sip-ua\nua";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.4\win32";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.4\libsofia-sip-ua\url";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.4\libsofia-sip-ua\sip";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.4\libsofia-sip-ua\msg";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.4\libsofia-sip-ua\sdp";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.4\libsofia-sip-ua\nta";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.4\libsofia-sip-ua\nea";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.4\libsofia-sip-ua\soa";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.4\libsofia-sip-ua\iptsec";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.4\libsofia-sip-ua\bnf"" + AdditionalIncludeDirectories=""$(InputDir)..\..\..\include";"$(InputDir)..\..\..\..\libs\include";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.9\libsofia-sip-ua\su";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.9\libsofia-sip-ua\nua";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.9\win32";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.9\libsofia-sip-ua\url";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.9\libsofia-sip-ua\sip";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.9\libsofia-sip-ua\msg";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.9\libsofia-sip-ua\sdp";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.9\libsofia-sip-ua\nta";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.9\libsofia-sip-ua\nea";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.9\libsofia-sip-ua\soa";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.9\libsofia-sip-ua\iptsec";"$(InputDir)..\..\..\..\libs\sofia-sip-1.12.3.9\libsofia-sip-ua\bnf"" PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;MOD_EXPORTS;LIBSOFIA_SIP_UA_STATIC;PTW32_STATIC_LIB" RuntimeLibrary="2" UsePrecompiledHeader="0" Modified: freeswitch/branches/knhor/trunk/src/mod/endpoints/mod_wanpipe/mod_wanpipe.c ============================================================================== --- freeswitch/branches/knhor/trunk/src/mod/endpoints/mod_wanpipe/mod_wanpipe.c (original) +++ freeswitch/branches/knhor/trunk/src/mod/endpoints/mod_wanpipe/mod_wanpipe.c Thu Nov 2 11:40:13 2006 @@ -1229,8 +1229,8 @@ return 0; } - if (event->ring.aniii >= 0) { - snprintf(aniiistr, 5, "%.2d", event->ring.aniii); + if (event->ring.ani2 >= 0) { + snprintf(aniiistr, 5, "%.2d", event->ring.ani2); } if ((tech_pvt->caller_profile = switch_caller_profile_new(switch_core_session_get_pool(session), Modified: freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_event_socket/mod_event_socket.c ============================================================================== --- freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_event_socket/mod_event_socket.c (original) +++ freeswitch/branches/knhor/trunk/src/mod/event_handlers/mod_event_socket/mod_event_socket.c Thu Nov 2 11:40:13 2006 @@ -495,6 +495,21 @@ if (!strncasecmp(cmd, "sendevent", 9)) { + char *ename; + strip_cr(cmd); + + ename = cmd + 9; + if (*ename == '\r' || *ename == '\n') { + ename = NULL; + } + + if (ename) { + switch_event_types_t etype; + if (switch_name_event(ename, &etype) == SWITCH_STATUS_SUCCESS) { + event->event_id = etype; + } + } + switch_event_fire(&event); snprintf(reply, reply_len, "+OK"); goto done; Modified: freeswitch/branches/knhor/trunk/src/mod/languages/mod_spidermonkey/Makefile ============================================================================== --- freeswitch/branches/knhor/trunk/src/mod/languages/mod_spidermonkey/Makefile (original) +++ freeswitch/branches/knhor/trunk/src/mod/languages/mod_spidermonkey/Makefile Thu Nov 2 11:40:13 2006 @@ -1,6 +1,10 @@ # This is all used to make sure we use the right options during build and link. OS_ARCH := $(subst /,_,$(shell uname -s | sed /\ /s//_/)) +#VER=DBG +#BO=0 +VER=OPT +BO=1 # Attempt to differentiate between SunOS 5.4 and x86 5.4 OS_CPUARCH := $(shell uname -m) @@ -59,16 +63,16 @@ endif endif -CFLAGS += -I$(BASE)/libs/mozilla/js/src -Wall -Wno-format -g -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R -DX86_LINUX -DDEBUG -DDEBUG_root -DJS_THREADSAFE -I$(BASE)/libs/mozilla/js/src -I$(BASE)/libs/mozilla/js/src/$(OS_CONFIG)_DBG.OBJ -Wall -Wno-format -g -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R -DX86_LINUX -DDEBUG -DDEBUG_root -DJS_THREADSAFE -I$(BASE)/libs/mozilla/nsprpub/dist/include/nspr -I$(OS_CONFIG)_DBG.OBJ +CFLAGS += -I$(BASE)/libs/mozilla/js/src -Wall -Wno-format -g -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R -DX86_LINUX -DDEBUG -DDEBUG_root -DJS_THREADSAFE -I$(BASE)/libs/mozilla/js/src -I$(BASE)/libs/mozilla/js/src/$(OS_CONFIG)_$(VER).OBJ -Wall -Wno-format -g -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R -DX86_LINUX -DDEBUG -DDEBUG_root -DJS_THREADSAFE -I$(BASE)/libs/mozilla/nsprpub/dist/include/nspr -I$(OS_CONFIG)_$(VER).OBJ LDFLAGS +=-DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R -DX86_LINUX -DDEBUG -DDEBUG_root -DJS_THREADSAFE -I$(BASE)/libs/mozilla/nsprpub/dist/include/nspr -Wall -Wno-format -g -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R -DX86_LINUX -DDEBUG -DDEBUG_root -DJS_THREADSAFE -I$(BASE)/libs/mozilla/nsprpub/dist/include/nspr -lteletone -OBJS=$(BASE)/libs/mozilla/js/src/$(OS_CONFIG)_DBG.OBJ/libjs.a $(BASE)/libs/mozilla/nsprpub/dist/lib/libnspr4.a -lcurl -letpan +OBJS=$(BASE)/libs/mozilla/js/src/$(OS_CONFIG)_$(VER).OBJ/libjs.a $(BASE)/libs/mozilla/nsprpub/dist/lib/libnspr4.a -lcurl -letpan LINKER=$(CC) all: depends $(MODNAME).$(DYNAMIC_LIB_EXTEN) depends: - MAKE=$(MAKE) $(BASE)/build/buildlib.sh $(BASE) mozilla.tar.gz --prefix=$(PREFIX) + BUILD_OPT=$(BO) MAKE=$(MAKE) $(BASE)/build/buildlib.sh $(BASE) mozilla.tar.gz --prefix=$(PREFIX) MAKE=$(MAKE) $(BASE)/build/buildlib.sh $(BASE) install curl-7.15.2.tar.gz --prefix=$(PREFIX) --without-libidn MAKE=$(MAKE) $(BASE)/build/buildlib.sh $(BASE) install libetpan-0.45.tar.gz --prefix=$(PREFIX) Modified: freeswitch/branches/knhor/trunk/src/switch.c ============================================================================== --- freeswitch/branches/knhor/trunk/src/switch.c (original) +++ freeswitch/branches/knhor/trunk/src/switch.c Thu Nov 2 11:40:13 2006 @@ -33,111 +33,146 @@ #include <switch.h> +//pid filename: Stores the process id of the freeswitch process #define PIDFILE "freeswitch.pid" -#define LOGFILE "freeswitch.log" +static char *pfile = PIDFILE; +//log filename: Filename of the freeswitch log file to be used if we are in background mode +#define LOGFILE "freeswitch.log" static char *lfile = LOGFILE; -static char *pfile = PIDFILE; + +//If we are a windows service, what should we be called #define SERVICENAME "Freeswitch" +//Picky compiler #ifdef __ICC #pragma warning (disable:167) #endif - #ifdef WIN32 #include <winsock2.h> #include <windows.h> + +//event to signal shutdown (for you unix people, this is like a pthread_cond) static HANDLE shutdown_event; #endif +//signal handler for when freeswitch is running in background mode. +//signal triggers the shutdown of freeswitch static void handle_SIGHUP(int sig) { uint32_t arg = 0; if(sig); + //send shutdown signal to the freeswitch core switch_core_session_ctl(SCSC_SHUTDOWN, &arg); return; } - +//kill a freeswitch process running in background mode static int freeswitch_kill_background() { - FILE *f; - char path[256] = ""; - pid_t pid = 0; + FILE *f; //FILE handle to open the pid file + char path[256] = ""; //full path of the PID file + pid_t pid = 0; //pid from the pid file + + //set the globals so we can use the global paths. switch_core_set_globals(); + + //get the full path of the pid file. snprintf(path, sizeof(path), "%s%s%s", SWITCH_GLOBAL_dirs.log_dir, SWITCH_PATH_SEPARATOR, pfile); + + //open the pid file if ((f = fopen(path, "r")) == 0) { + //pid file does not exist fprintf(stderr, "Cannot open pid file %s.\n", path); return 255; } + + //pull the pid from the file fscanf(f, "%d", &pid); + + //if we have a valid pid if (pid > 0) { + + //kill the freeswitch running at the pid we found fprintf(stderr, "Killing: %d\n", (int) pid); #ifdef WIN32 + //for windows we need the event to signal for shutting down a background freewitc snprintf(path, sizeof(path), "Global\\Freeswitch.%d", pid); + + //open the event so we can signal it shutdown_event = OpenEvent(EVENT_MODIFY_STATE, FALSE, path); + + //did we sucessfully open the event if (!shutdown_event) { /* we can't get the event, so we can't signal the process to shutdown */ fprintf(stderr, "ERROR: Can't Shutdown: %d\n", (int) pid); } else { + //signal the event to shutdown SetEvent(shutdown_event); } + //cleanup CloseHandle(shutdown_event); #else + //for unix, send the signal to kill. kill(pid, SIGTERM); #endif } + //be nice and close the file handle to the pid file fclose(f); + return 0; } #ifdef WIN32 + +//we need these vars to handle the service SERVICE_STATUS_HANDLE hStatus; SERVICE_STATUS status; +//Handler function for service start/stop from the service void WINAPI ServiceCtrlHandler( DWORD control ) { - switch( control ) - { - case SERVICE_CONTROL_SHUTDOWN: - case SERVICE_CONTROL_STOP: - // do shutdown stuff here + switch( control ) + { + case SERVICE_CONTROL_SHUTDOWN: + case SERVICE_CONTROL_STOP: + // do shutdown stuff here switch_core_destroy(); - status.dwCurrentState = SERVICE_STOPPED; - status.dwWin32ExitCode = 0; - status.dwCheckPoint = 0; - status.dwWaitHint = 0; - break; - case SERVICE_CONTROL_INTERROGATE: - // just set the current state to whatever it is... - break; - } + status.dwCurrentState = SERVICE_STOPPED; + status.dwWin32ExitCode = 0; + status.dwCheckPoint = 0; + status.dwWaitHint = 0; + break; + case SERVICE_CONTROL_INTERROGATE: + // just set the current state to whatever it is... + break; + } - SetServiceStatus( hStatus, &status ); + SetServiceStatus( hStatus, &status ); } void WINAPI service_main( DWORD numArgs, char **args ) { const char *err = NULL; - // we have to initialize the service-specific stuff - memset( &status, 0, sizeof(SERVICE_STATUS) ); - status.dwServiceType = SERVICE_WIN32; - status.dwCurrentState = SERVICE_START_PENDING; - status.dwControlsAccepted = SERVICE_ACCEPT_STOP; + // we have to initialize the service-specific stuff + memset( &status, 0, sizeof(SERVICE_STATUS) ); + status.dwServiceType = SERVICE_WIN32; + status.dwCurrentState = SERVICE_START_PENDING; + status.dwControlsAccepted = SERVICE_ACCEPT_STOP; - hStatus = RegisterServiceCtrlHandler( SERVICENAME, &ServiceCtrlHandler ); + hStatus = RegisterServiceCtrlHandler( SERVICENAME, &ServiceCtrlHandler ); - SetServiceStatus( hStatus, &status ); + SetServiceStatus( hStatus, &status ); set_high_priority(); if (switch_core_init_and_modload(lfile, &err) != SWITCH_STATUS_SUCCESS) { - status.dwCurrentState = SERVICE_STOPPED; + status.dwCurrentState = SERVICE_STOPPED; } else { status.dwCurrentState = SERVICE_RUNNING; } - SetServiceStatus( hStatus, &status ); + SetServiceStatus( hStatus, &status ); } #endif @@ -153,23 +188,22 @@ int x, die = 0; #ifdef WIN32 - SERVICE_TABLE_ENTRY dispatchTable[] = - { - { SERVICENAME, &service_main }, - { NULL, NULL } - }; + SERVICE_TABLE_ENTRY dispatchTable[] = + { + { SERVICENAME, &service_main }, + { NULL, NULL } + }; #endif for (x = 1; x < argc; x++) { #ifdef WIN32 if (x == 1) { if (argv[x] && !strcmp(argv[x], "-service")) { - if(StartServiceCtrlDispatcher( dispatchTable ) == 0 ) - { - //Not loaded as a service - fprintf(stderr, "Error Freeswitch loaded as a console app with -service option\n"); - fprintf(stderr, "To install the service load freeswitch with -install\n"); - } + if(StartServiceCtrlDispatcher( dispatchTable ) == 0 ) { + //Not loaded as a service + fprintf(stderr, "Error Freeswitch loaded as a console app with -service option\n"); + fprintf(stderr, "To install the service load freeswitch with -install\n"); + } exit(0); } if (argv[x] && !strcmp(argv[x], "-install")) { @@ -180,30 +214,29 @@ GetModuleFileName( NULL, exePath, 1024 ); snprintf(servicePath, sizeof(servicePath), "%s -service", exePath); CreateService( - handle, - SERVICENAME, - SERVICENAME, - GENERIC_READ | GENERIC_EXECUTE, - SERVICE_WIN32_OWN_PROCESS, - SERVICE_AUTO_START, - SERVICE_ERROR_IGNORE, - servicePath, - NULL, - NULL, - NULL, - NULL, - NULL - ); + handle, + SERVICENAME, + SERVICENAME, + GENERIC_READ | GENERIC_EXECUTE, + SERVICE_WIN32_OWN_PROCESS, + SERVICE_AUTO_START, + SERVICE_ERROR_IGNORE, + servicePath, + NULL, + NULL, + NULL, + NULL, + NULL + ); exit(0); } if (argv[x] && !strcmp(argv[x], "-uninstall")) { SC_HANDLE handle = OpenSCManager( NULL, NULL, SC_MANAGER_ALL_ACCESS ); SC_HANDLE service = OpenService( handle, SERVICENAME, DELETE ); - if( service != NULL ) - { - // remove the service! - DeleteService( service ); - } + if( service != NULL ) { + // remove the service! + DeleteService( service ); + } exit(0); } } @@ -211,7 +244,7 @@ if (argv[x] && !strcmp(argv[x], "-hp")) { set_high_priority(); } - + if (argv[x] && !strcmp(argv[x], "-stop")) { die++; } Modified: freeswitch/branches/knhor/trunk/src/switch_channel.c ============================================================================== --- freeswitch/branches/knhor/trunk/src/switch_channel.c (original) +++ freeswitch/branches/knhor/trunk/src/switch_channel.c Thu Nov 2 11:40:13 2006 @@ -48,8 +48,11 @@ { "USER_BUSY", SWITCH_CAUSE_USER_BUSY }, { "NO_USER_RESPONSE", SWITCH_CAUSE_NO_USER_RESPONSE }, { "NO_ANSWER", SWITCH_CAUSE_NO_ANSWER }, + { "SUBSCRIBER_ABSENT", SWITCH_CAUSE_SUBSCRIBER_ABSENT }, { "CALL_REJECTED", SWITCH_CAUSE_CALL_REJECTED }, { "NUMBER_CHANGED", SWITCH_CAUSE_NUMBER_CHANGED }, + { "REDIRECTION_TO_NEW_DESTINATION", SWITCH_CAUSE_REDIRECTION_TO_NEW_DESTINATION }, + { "EXCHANGE_ROUTING_ERROR", SWITCH_CAUSE_EXCHANGE_ROUTING_ERROR }, { "DESTINATION_OUT_OF_ORDER", SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER }, { "INVALID_NUMBER_FORMAT", SWITCH_CAUSE_INVALID_NUMBER_FORMAT }, { "FACILITY_REJECTED", SWITCH_CAUSE_FACILITY_REJECTED }, @@ -67,9 +70,10 @@ { "INCOMING_CALL_BARRED", SWITCH_CAUSE_INCOMING_CALL_BARRED }, { "BEARERCAPABILITY_NOTAUTH", SWITCH_CAUSE_BEARERCAPABILITY_NOTAUTH }, { "BEARERCAPABILITY_NOTAVAIL", SWITCH_CAUSE_BEARERCAPABILITY_NOTAVAIL }, - { "BEARERCAPABILITY_NOTIMPL", SWITCH_CAUSE_BEARERCAPABILITY_NOTIMPL }, + { "SERVICE_UNAVAILABLE", SWITCH_CAUSE_SERVICE_UNAVAILABLE }, { "CHAN_NOT_IMPLEMENTED", SWITCH_CAUSE_CHAN_NOT_IMPLEMENTED }, { "FACILITY_NOT_IMPLEMENTED", SWITCH_CAUSE_FACILITY_NOT_IMPLEMENTED }, + { "SERVICE_NOT_IMPLEMENTED", SWITCH_CAUSE_SERVICE_NOT_IMPLEMENTED }, { "INVALID_CALL_REFERENCE", SWITCH_CAUSE_INVALID_CALL_REFERENCE }, { "INCOMPATIBLE_DESTINATION", SWITCH_CAUSE_INCOMPATIBLE_DESTINATION }, { "INVALID_MSG_UNSPECIFIED", SWITCH_CAUSE_INVALID_MSG_UNSPECIFIED }, @@ -83,6 +87,7 @@ { "MANDATORY_IE_LENGTH_ERROR", SWITCH_CAUSE_MANDATORY_IE_LENGTH_ERROR }, { "PROTOCOL_ERROR", SWITCH_CAUSE_PROTOCOL_ERROR }, { "INTERWORKING", SWITCH_CAUSE_INTERWORKING }, + { "ORIGINATOR_CANCEL", SWITCH_CAUSE_ORIGINATOR_CANCEL }, { "CRASH", SWITCH_CAUSE_CRASH }, { "SYSTEM_SHUTDOWN", SWITCH_CAUSE_SYSTEM_SHUTDOWN }, { "LOSE_RACE", SWITCH_CAUSE_LOSE_RACE }, @@ -457,6 +462,7 @@ "CS_EXECUTE", "CS_LOOPBACK", "CS_HOLD", + "CS_HIBERNATE", "CS_HANGUP", "CS_DONE", NULL @@ -538,6 +544,7 @@ case CS_RING: case CS_EXECUTE: case CS_HOLD: + case CS_HIBERNATE: ok++; default: break; @@ -550,6 +557,7 @@ case CS_RING: case CS_EXECUTE: case CS_HOLD: + case CS_HIBERNATE: ok++; default: break; @@ -562,6 +570,7 @@ case CS_RING: case CS_EXECUTE: case CS_HOLD: + case CS_HIBERNATE: ok++; default: break; @@ -574,11 +583,24 @@ case CS_RING: case CS_EXECUTE: case CS_TRANSMIT: + case CS_HIBERNATE: ok++; default: break; } break; + case CS_HIBERNATE: + switch (state) { + case CS_LOOPBACK: + case CS_RING: + case CS_EXECUTE: + case CS_TRANSMIT: + case CS_HOLD: + ok++; + default: + break; + } + break; case CS_RING: switch_clear_flag(channel, CF_TRANSFER); @@ -587,6 +609,7 @@ case CS_EXECUTE: case CS_TRANSMIT: case CS_HOLD: + case CS_HIBERNATE: ok++; default: break; @@ -599,6 +622,7 @@ case CS_TRANSMIT: case CS_RING: case CS_HOLD: + case CS_HIBERNATE: ok++; default: break; @@ -1014,6 +1038,40 @@ return status; } +SWITCH_DECLARE(switch_status_t) switch_channel_perform_ringback(switch_channel_t *channel, + const char *file, + const char *func, + int line) +{ + switch_core_session_message_t msg; + char *uuid = switch_core_session_get_uuid(channel->session); + switch_status_t status; + + assert(channel != NULL); + + if (channel->state >= CS_HANGUP) { + return SWITCH_STATUS_FALSE; + } + + if (switch_channel_test_flag(channel, CF_ANSWERED)) { + return SWITCH_STATUS_SUCCESS; + } + + if (switch_channel_test_flag(channel, CF_EARLY_MEDIA)) { + return SWITCH_STATUS_SUCCESS; + } + + msg.message_id = SWITCH_MESSAGE_INDICATE_RINGING; + msg.from = channel->name; + status = switch_core_session_message_send(uuid, &msg); + + if (status == SWITCH_STATUS_SUCCESS) { + switch_log_printf(SWITCH_CHANNEL_ID_LOG, (char *) file, func, line, SWITCH_LOG_NOTICE, "Ringback %s!\n", channel->name); + } + + return status; +} + SWITCH_DECLARE(switch_status_t) switch_channel_perform_answer(switch_channel_t *channel, const char *file, const char *func, @@ -1132,7 +1190,7 @@ return in; } } - nlen = strlen(sub_val); + nlen = sub_val ? strlen(sub_val) : 0; if (len + nlen >= olen) { olen += block; cpos = c - data; @@ -1147,10 +1205,11 @@ vname = data + vvalpos; } - len += nlen; - strcat(c, sub_val); - c += nlen; - + if (nlen) { + len += nlen; + strcat(c, sub_val); + c += nlen; + } if (func_val) { free(func_val); func_val = NULL; Modified: freeswitch/branches/knhor/trunk/src/switch_core.c ============================================================================== --- freeswitch/branches/knhor/trunk/src/switch_core.c (original) +++ freeswitch/branches/knhor/trunk/src/switch_core.c Thu Nov 2 11:40:13 2006 @@ -1367,6 +1367,7 @@ switch_event_t *event; switch_channel_t *peer_channel = switch_core_session_get_channel(*new_session); + if (session && channel) { profile = switch_channel_get_caller_profile(channel); } @@ -1375,7 +1376,10 @@ } if (channel && peer_channel) { - char *export_vars; + char *export_vars, *val; + + switch_channel_set_variable(peer_channel, SWITCH_ORIGINATOR_VARIABLE, switch_core_session_get_uuid(session)); + /* A comma (,) separated list of variable names that should ne propagated from originator to originatee */ if ((export_vars = switch_channel_get_variable(channel, "export_vars"))) { char *cptmp = switch_core_session_strdup(session, export_vars); @@ -1394,6 +1398,14 @@ } } + if ((val = switch_channel_get_variable(channel, SWITCH_R_SDP_VARIABLE))) { + switch_channel_set_variable(peer_channel, SWITCH_B_SDP_VARIABLE, val); + } + + if (switch_channel_test_flag(channel, CF_NOMEDIA)) { + switch_channel_set_flag(peer_channel, CF_NOMEDIA); + } + if (profile) { if ((cloned_profile = switch_caller_profile_clone(*new_session, profile)) != 0) { switch_channel_set_originator_caller_profile(peer_channel, cloned_profile); @@ -1579,7 +1591,7 @@ switch_status_t status = SWITCH_STATUS_FALSE; assert(session != NULL); - + if (!session->private_event_queue) { switch_queue_create(&session->private_event_queue, SWITCH_EVENT_QUEUE_LEN, session->pool); } @@ -1608,9 +1620,18 @@ { switch_status_t status = SWITCH_STATUS_FALSE; void *pop; + switch_channel_t *channel; assert(session != NULL); + + channel = switch_core_session_get_channel(session); + assert(channel != NULL); + if (switch_channel_test_flag(channel, CF_EVENT_PARSE)) { + return status; + } + + if (session->private_event_queue) { if ((status = (switch_status_t) switch_queue_trypop(session->private_event_queue, &pop)) == SWITCH_STATUS_SUCCESS) { *event = (switch_event_t *) pop; @@ -1880,8 +1901,8 @@ assert(session != NULL); assert(frame != NULL); - assert(frame->codec != NULL); + if (switch_channel_test_flag(session->channel, CF_HOLD)) { return SWITCH_STATUS_SUCCESS; } @@ -1895,6 +1916,7 @@ return SWITCH_STATUS_SUCCESS; } + assert(frame->codec != NULL); if ((session->write_codec && frame->codec && session->write_codec->implementation != frame->codec->implementation)) { need_codec = TRUE; @@ -2587,6 +2609,12 @@ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Standard HOLD\n"); } +static void switch_core_standard_on_hibernate(switch_core_session_t *session) +{ + assert(session != NULL); + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Standard HIBERNATE\n"); +} + SWITCH_DECLARE(void) switch_core_session_signal_state_change(switch_core_session_t *session) { @@ -2973,6 +3001,43 @@ } if (proceed) { switch_core_standard_on_hold(session); + } + } + break; + case CS_HIBERNATE: /* wait in limbo */ + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "(%s) State HIBERNATE\n", switch_channel_get_name(session->channel)); + if (!driver_state_handler->on_hibernate || + (driver_state_handler->on_hibernate && + driver_state_handler->on_hibernate(session) == SWITCH_STATUS_SUCCESS && + midstate == switch_channel_get_state(session->channel))) { + + while((application_state_handler = switch_channel_get_state_handler(session->channel, index++)) != 0) { + if (!application_state_handler || !application_state_handler->on_hibernate || + (application_state_handler->on_hibernate && + application_state_handler->on_hibernate(session) == SWITCH_STATUS_SUCCESS && + midstate == switch_channel_get_state(session->channel))) { + proceed++; + continue; + } else { + proceed = 0; + break; + } + } + index = 0; + while(proceed && (application_state_handler = switch_core_get_state_handler(index++)) != 0) { + if (!application_state_handler || !application_state_handler->on_hibernate || + (application_state_handler->on_hibernate && + application_state_handler->on_hibernate(session) == SWITCH_STATUS_SUCCESS && + midstate == switch_channel_get_state(session->channel))) { + proceed++; + continue; + } else { + proceed = 0; + break; + } + } + if (proceed) { + switch_core_standard_on_hibernate(session); } } break; Modified: freeswitch/branches/knhor/trunk/src/switch_ivr.c ============================================================================== --- freeswitch/branches/knhor/trunk/src/switch_ivr.c (original) +++ freeswitch/branches/knhor/trunk/src/switch_ivr.c Thu Nov 2 11:40:13 2006 @@ -24,8 +24,8 @@ * Contributor(s): * * Anthony Minessale II <anthmct@yahoo.com> + * Paul D. Tinsley <pdt at jackhammer.org> * - * * switch_ivr_api.c -- IVR Library * */ @@ -34,6 +34,11 @@ static const switch_state_handler_table_t audio_bridge_peer_state_handlers; +typedef enum { + IDX_CANCEL = -2, + IDX_NADA = -1 +} abort_t; + SWITCH_DECLARE(switch_status_t) switch_ivr_sleep(switch_core_session_t *session, uint32_t ms) { switch_channel_t *channel; @@ -84,11 +89,14 @@ apr_ssize_t hlen = APR_HASH_KEY_STRING; unsigned long CMD_EXECUTE = apr_hashfunc_default("execute", &hlen); unsigned long CMD_HANGUP = apr_hashfunc_default("hangup", &hlen); - + unsigned long CMD_NOMEDIA = apr_hashfunc_default("nomedia", &hlen); + assert(channel != NULL); hlen = (switch_size_t) strlen(cmd); cmd_hash = apr_hashfunc_default(cmd, &hlen); + switch_channel_set_flag(channel, CF_EVENT_PARSE); + if (!switch_strlen_zero(cmd)) { if (cmd_hash == CMD_EXECUTE) { const switch_application_interface_t *application_interface; @@ -111,8 +119,14 @@ } switch_channel_hangup(channel, cause); - } + } else if (cmd_hash == CMD_NOMEDIA) { + char *uuid = switch_event_get_header(event, "nomedia-uuid"); + switch_ivr_nomedia(uuid, SMF_REBRIDGE); + } } + + switch_channel_clear_flag(channel, CF_EVENT_PARSE); + } SWITCH_DECLARE(switch_status_t) switch_ivr_park(switch_core_session_t *session) @@ -933,9 +947,169 @@ return status; } +SWITCH_DECLARE(switch_status_t) switch_regex_match(char *target, char *expression) { + const char* error = NULL; //Used to hold any errors + int error_offset = 0; //Holds the offset of an error + pcre* pcre_prepared = NULL; //Holds the compiled regex + int match_count = 0; //Number of times the regex was matched + int offset_vectors[2]; //not used, but has to exist or pcre won't even try to find a match + + //Compile the expression + pcre_prepared = pcre_compile(expression, 0, &error, &error_offset, NULL); + //See if there was an error in the expression + if(error != NULL) { + //Clean up after ourselves + if(pcre_prepared) { + pcre_free(pcre_prepared); + pcre_prepared = NULL; + } + //Note our error + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Regular Expression Error expression[%s] error[%s] location[%d]\n", expression, error, error_offset); + //We definitely didn't match anything + return SWITCH_STATUS_FALSE; + } + + //So far so good, run the regex + match_count = pcre_exec(pcre_prepared, NULL, target, (int) strlen(target), 0, 0, offset_vectors, sizeof(offset_vectors) / sizeof(offset_vectors[0])); + + //Clean up + if(pcre_prepared) { + pcre_free(pcre_prepared); + pcre_prepared = NULL; + } + + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "number of matches: %d\n", match_count); + + //Was it a match made in heaven? + if(match_count > 0) { + return SWITCH_STATUS_SUCCESS; + } else { + return SWITCH_STATUS_FALSE; + } +} + +SWITCH_DECLARE(switch_status_t) switch_play_and_get_digits(switch_core_session_t *session, + unsigned int min_digits, + unsigned int max_digits, + unsigned int max_tries, + unsigned int timeout, + char* valid_terminators, + char* prompt_audio_file, + char* bad_input_audio_file, + void* digit_buffer, + unsigned int digit_buffer_length, + char* digits_regex) +{ + + char terminator; //used to hold terminator recieved from + switch_channel_t *channel; //the channel contained in session + switch_status_t status; //used to recieve state out of called functions + + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "switch_play_and_get_digits(session, %d, %d, %d, %d, %s, %s, %s, digit_buffer, %d, %s)\n", min_digits, max_digits, max_tries, timeout, valid_terminators, prompt_audio_file, bad_input_audio_file, digit_buffer_length, digits_regex); + + //Get the channel + channel = switch_core_session_get_channel(session); + + //Make sure somebody is home + assert(channel != NULL); + + //Answer the channel if it hasn't already been answered + switch_channel_answer(channel); + + //Start pestering the user for input + for(;(switch_channel_get_state(channel) == CS_EXECUTE) && max_tries > 0; max_tries--) { + //make the buffer so fresh and so clean clean + memset(digit_buffer, 0, digit_buffer_length); + + //Play the file + status = switch_ivr_play_file(session, NULL, prompt_audio_file, NULL, NULL, digit_buffer, digit_buffer_length); + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "play gave up %s", digit_buffer); + + //Make sure we made it out alive + if (status != SWITCH_STATUS_SUCCESS && status != SWITCH_STATUS_BREAK) { + switch_channel_hangup(channel, SWITCH_CAUSE_NORMAL_CLEARING); + break; + } + + //we only get one digit out of playback, see if thats all we needed and what we got + if(max_digits == 1 && status == SWITCH_STATUS_BREAK) { + //Check the digit if we have a regex + if(digits_regex != NULL) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Checking regex [%s] on [%s]\n", digits_regex, digit_buffer); + + //Make sure the digit is allowed + if(switch_regex_match(digit_buffer, digits_regex) == SWITCH_STATUS_SUCCESS) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Match found!\n"); + //jobs done + break; + } else { + //See if a bad input prompt was specified, if so, play it + if(strlen(bad_input_audio_file) > 0) { + status = switch_ivr_play_file(session, NULL, bad_input_audio_file, NULL, NULL, NULL, 0); + + //Make sure we made it out alive + if (status != SWITCH_STATUS_SUCCESS && status != SWITCH_STATUS_BREAK) { + switch_channel_hangup(channel, SWITCH_CAUSE_NORMAL_CLEARING); + break; + } + } + } + } else { + //jobs done + break; + } + } + + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Calling more digits try %d\n", max_tries); + + //Try to grab some more digits for the timeout period + status = switch_ivr_collect_digits_count(session, digit_buffer, digit_buffer_length, max_digits, valid_terminators, &terminator, timeout); + + //Make sure we made it out alive + if(status != SWITCH_STATUS_SUCCESS) { + //Bail + switch_channel_hangup(channel, SWITCH_CAUSE_NORMAL_CLEARING); + break; + } + + //see if we got enough + if(min_digits <= strlen(digit_buffer)) { + //See if we need to test a regex + if(digits_regex != NULL) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Checking regex [%s] on [%s]\n", digits_regex, digit_buffer); + //Test the regex + if(switch_regex_match(digit_buffer, digits_regex) == SWITCH_STATUS_SUCCESS) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Match found!\n"); + //Jobs done + return switch_channel_get_state(channel); + } else { + //See if a bad input prompt was specified, if so, play it + if(strlen(bad_input_audio_file) > 0) { + status = switch_ivr_play_file(session, NULL, bad_input_audio_file, NULL, NULL, NULL, 0); + + //Make sure we made it out alive + if (status != SWITCH_STATUS_SUCCESS && status != SWITCH_STATUS_BREAK) { + switch_channel_hangup(channel, SWITCH_CAUSE_NORMAL_CLEARING); + break; + } + } + } + } else { + //Jobs done + return switch_channel_get_state(channel); + } + } + } + + //if we got here, we got no digits or lost the channel + digit_buffer = "\0"; + return switch_channel_get_state(channel); +} + + SWITCH_DECLARE(switch_status_t) switch_ivr_speak_text_handle(switch_core_session_t *session, switch_speech_handle_t *sh, switch_codec_t *codec, @@ -965,14 +1139,14 @@ if (!sh) { return SWITCH_STATUS_FALSE; } - + switch_channel_answer(channel); write_frame.data = abuf; write_frame.buflen = sizeof(abuf); - samples = (uint32_t)(sh->rate / 50); - len = samples * 2; + samples = (uint32_t)(sh->rate / 50); + len = samples * 2; flags = 0; switch_sleep(200000); @@ -1007,8 +1181,8 @@ if (input_callback || buf) { /* - dtmf handler function you can hook up to be executed when a digit is dialed during playback - if you return anything but SWITCH_STATUS_SUCCESS the playback will stop. + dtmf handler function you can hook up to be executed when a digit is dialed during playback + if you return anything but SWITCH_STATUS_SUCCESS the playback will stop. */ if (switch_channel_has_dtmf(channel)) { if (buf && !strcasecmp(buf, "_break_")) { @@ -1036,7 +1210,7 @@ break; } } - + if (switch_test_flag(sh, SWITCH_SPEECH_FLAG_PAUSE)) { if (timer) { if ((x = switch_core_timer_next(timer)) < 0) { @@ -1049,7 +1223,7 @@ while (switch_channel_test_flag(channel, CF_HOLD)) { switch_yield(10000); } - + if (!SWITCH_READ_ACCEPTABLE(status)) { break; } @@ -1059,10 +1233,10 @@ flags = SWITCH_SPEECH_FLAG_BLOCKING; status = switch_core_speech_read_tts(sh, - abuf, - &ilen, - &rate, - &flags); + abuf, + &ilen, + &rate, + &flags); if (status != SWITCH_STATUS_SUCCESS) { for( x = 0; !done && x < lead_in_out; x++) { @@ -1079,7 +1253,7 @@ } done = 1; } - + if (done) { break; } @@ -1110,15 +1284,15 @@ while (switch_channel_test_flag(channel, CF_HOLD)) { switch_yield(10000); } - + if (!SWITCH_READ_ACCEPTABLE(status)) { break; } } } - - + + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "done speaking text\n"); flags = 0; switch_core_speech_flush_tts(sh); @@ -1294,13 +1468,15 @@ } if (switch_channel_test_flag(chan_a, CF_TRANSFER)) { + switch_channel_clear_flag(chan_a, CF_HOLD); + switch_channel_clear_flag(chan_a, CF_SUSPEND); break; } - + if (switch_core_session_dequeue_private_event(session_a, &event) == SWITCH_STATUS_SUCCESS) { - switch_channel_set_flag(chan_b, CF_HOLD); + switch_channel_set_flag(chan_b, CF_SUSPEND); switch_ivr_parse_event(session_a, event); - switch_channel_clear_flag(chan_b, CF_HOLD); + switch_channel_clear_flag(chan_b, CF_SUSPEND); switch_event_destroy(&event); } @@ -1309,7 +1485,7 @@ char dtmf[128]; switch_channel_dequeue_dtmf(chan_a, dtmf, sizeof(dtmf)); switch_core_session_send_dtmf(session_b, dtmf); - + if (input_callback) { if (input_callback(session_a, dtmf, SWITCH_INPUT_TYPE_DTMF, user_data, 0) != SWITCH_STATUS_SUCCESS) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "%s ended call via DTMF\n", switch_channel_get_name(chan_a)); @@ -1351,6 +1527,12 @@ continue; } + + if (switch_channel_test_flag(chan_a, CF_SUSPEND) || switch_channel_test_flag(chan_b, CF_SUSPEND)) { + switch_yield(10000); + continue; + } + /* read audio from 1 channel and write it to the other */ status = switch_core_session_read_frame(session_a, &read_frame, -1, stream_id); @@ -1459,6 +1641,7 @@ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "CUSTOM TRANSMIT\n"); switch_channel_clear_state_handler(channel, NULL); + if (!switch_channel_test_flag(channel, CF_ORIGINATOR)) { switch_channel_set_flag(channel, CF_TAGGED); return SWITCH_STATUS_FALSE; @@ -1472,6 +1655,7 @@ uint8_t ready_a, ready_b; switch_caller_profile_t *profile, *new_profile; + switch_channel_clear_flag(channel, CF_TRANSFER); switch_channel_set_private(channel, "_uuid_bridge_", NULL); @@ -1481,9 +1665,10 @@ mystate = switch_channel_get_state(channel); } - switch_channel_clear_flag(other_channel, CF_TRANSFER|CF_TAGGED); + switch_channel_clear_flag(other_channel, CF_TRANSFER); + switch_channel_clear_flag(other_channel, CF_TAGGED); + - switch_core_session_reset(session); switch_core_session_reset(other_session); @@ -1715,12 +1900,13 @@ switch_frame_t *read_frame = NULL; switch_memory_pool_t *pool = NULL; int r = 0, i, and_argc = 0, or_argc = 0; - int32_t idx = -1; + int32_t idx = IDX_NADA; switch_codec_t write_codec = {0}; switch_frame_t write_frame = {0}; uint8_t err = 0, fdata[1024], pass = 0; char *file = NULL, *key = NULL, *odata, *var; - + switch_call_cause_t reason = SWITCH_CAUSE_UNALLOCATED; + uint8_t to = 0; write_frame.data = fdata; *bleg = NULL; @@ -1785,7 +1971,8 @@ file = NULL; key = NULL; var = NULL; - + to = 0; + and_argc = switch_separate_string(pipe_names[r], '&', peer_names, (sizeof(peer_names) / sizeof(peer_names[0]))); for (i = 0; i < and_argc; i++) { @@ -1920,11 +2107,13 @@ } if (caller_channel && !switch_channel_ready(caller_channel)) { - break; + goto notready; } if ((time(NULL) - start) > (time_t)timelimit_sec) { - break; + to++; + idx = IDX_CANCEL; + goto notready; } switch_yield(1000); } @@ -1965,10 +2154,15 @@ } } } - + while ((!caller_channel || switch_channel_ready(caller_channel)) && - check_channel_status(peer_channels, peer_sessions, and_argc, &idx, file, key) && ((time(NULL) - start) < (time_t)timelimit_sec)) { + check_channel_status(peer_channels, peer_sessions, and_argc, &idx, file, key)) { + if ((to = (uint8_t)((time(NULL) - start) >= (time_t)timelimit_sec))) { + idx = IDX_CANCEL; + goto notready; + } + if (session && or_argc == 1 && and_argc == 1) { /* when there is only 1 channel to call and bridge */ switch_core_session_message_t *message = NULL; if (switch_core_session_dequeue_message(peer_sessions[0], &message) == SWITCH_STATUS_SUCCESS) { @@ -1999,6 +2193,12 @@ } + notready: + + if (caller_channel && !switch_channel_ready(caller_channel)) { + idx = IDX_CANCEL; + } + if (session && !switch_channel_test_flag(caller_channel, CF_NOMEDIA)) { switch_core_session_reset(session); } @@ -2008,12 +2208,24 @@ continue; } if (i != idx) { - switch_channel_hangup(peer_channels[i], SWITCH_CAUSE_LOSE_RACE); + if (idx == IDX_CANCEL) { + reason = SWITCH_CAUSE_ORIGINATOR_CANCEL; + } else { + if (to) { + reason = SWITCH_CAUSE_NO_ANSWER; + } else if (and_argc > 1) { + reason = SWITCH_CAUSE_LOSE_RACE; + } else { + reason = SWITCH_CAUSE_NO_ANSWER; + } + } + + switch_channel_hangup(peer_channels[i], reason); } } - if (idx > -1) { + if (idx > IDX_NADA) { peer_session = peer_sessions[idx]; peer_channel = peer_channels[idx]; } else { @@ -2022,11 +2234,6 @@ } if (caller_channel) { - char *val; - if (switch_channel_test_flag(peer_channel, CF_NOMEDIA) && (val = switch_channel_get_variable(peer_channel, SWITCH_R_SDP_VARIABLE))) { - switch_channel_set_variable(caller_channel, SWITCH_L_SDP_VARIABLE, val); - } - if (switch_channel_test_flag(peer_channel, CF_ANSWERED)) { switch_channel_answer(caller_channel); } else if (switch_channel_test_flag(peer_channel, CF_EARLY_MEDIA)) { @@ -2062,10 +2269,24 @@ break; } } + if (caller_channel) { + if (idx == IDX_CANCEL) { + *cause = switch_channel_get_cause(caller_channel); + } switch_channel_set_variable(caller_channel, "originate_disposition", switch_channel_cause2str(*cause)); + } - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Originate Resulted in Error Cause: %d [%s]\n", *cause, switch_channel_cause2str(*cause)); + if (idx == IDX_CANCEL) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Originate Cancelled by originator termination Cause: %d [%s]\n", + *cause, switch_channel_cause2str(*cause)); + if (peer_channel) { + switch_channel_hangup(peer_channel, SWITCH_CAUSE_ORIGINATOR_CANCEL); + } + } else { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Originate Resulted in Error Cause: %d [%s]\n", + *cause, switch_channel_cause2str(*cause)); + } } if (!pass && write_codec.implementation) { @@ -2088,7 +2309,222 @@ return status; } +SWITCH_DECLARE(switch_status_t) switch_ivr_hold(switch_core_session_t *session) +{ + switch_core_session_message_t msg = {0}; + switch_channel_t *channel; + msg.message_id = SWITCH_MESSAGE_INDICATE_HOLD; + msg.from = __FILE__; + + channel = switch_core_session_get_channel(session); + assert(channel != NULL); + + switch_channel_set_flag(channel, CF_HOLD); + switch_channel_set_flag(channel, CF_SUSPEND); + + switch_core_session_receive_message(session, &msg); + + return SWITCH_STATUS_SUCCESS; +} + +SWITCH_DECLARE(switch_status_t) switch_ivr_hold_uuid(char *uuid) +{ + switch_core_session_t *session; + + if ((session = switch_core_session_locate(uuid))) { + switch_ivr_hold(session); + switch_core_session_rwunlock(session); + } + + return SWITCH_STATUS_SUCCESS; +} + +SWITCH_DECLARE(switch_status_t) switch_ivr_unhold(switch_core_session_t *session) +{ + switch_core_session_message_t msg = {0}; + switch_channel_t *channel; + + msg.message_id = SWITCH_MESSAGE_INDICATE_UNHOLD; + msg.from = __FILE__; + + channel = switch_core_session_get_channel(session); + assert(channel != NULL); + + switch_channel_clear_flag(channel, CF_HOLD); + switch_channel_clear_flag(channel, CF_SUSPEND); + + switch_core_session_receive_message(session, &msg); + + return SWITCH_STATUS_SUCCESS; +} + +SWITCH_DECLARE(switch_status_t) switch_ivr_unhold_uuid(char *uuid) +{ + switch_core_session_t *session; + + if ((session = switch_core_session_locate(uuid))) { + switch_ivr_unhold(session); + switch_core_session_rwunlock(session); + } + + return SWITCH_STATUS_SUCCESS; +} + + +SWITCH_DECLARE(switch_status_t) switch_ivr_broadcast(char *uuid, char *path, switch_media_flag_t flags) +{ + switch_channel_t *channel; + int nomedia; + switch_core_session_t *session; + switch_event_t *event; + switch_core_session_t *other_session; + char *other_uuid = NULL; + + if ((session = switch_core_session_locate(uuid))) { + char *app; + + channel = switch_core_session_get_channel(session); + assert(channel != NULL); + + if ((nomedia = switch_channel_test_flag(channel, CF_NOMEDIA))) { + switch_ivr_media(uuid, SMF_REBRIDGE); + } + + if (!strncasecmp(path, "speak:", 6)) { + path += 6; + app = "speak"; + } else { + app = "playback"; + } + + if ((flags & SMF_ECHO_BRIDGED) && (other_uuid = switch_channel_get_variable(channel, SWITCH_BRIDGE_VARIABLE)) + && (other_session = switch_core_session_locate(other_uuid))) { + if (switch_event_create(&event, SWITCH_EVENT_MESSAGE) == SWITCH_STATUS_SUCCESS) { + switch_event_add_header(event, SWITCH_STACK_BOTTOM, "call-command", "execute"); + switch_event_add_header(event, SWITCH_STACK_BOTTOM, "execute-app-name", app); + switch_event_add_header(event, SWITCH_STACK_BOTTOM, "execute-app-arg", "%s", path); + switch_core_session_queue_private_event(other_session, &event); + } + switch_core_session_rwunlock(other_session); + other_session = NULL; + } + + if (switch_event_create(&event, SWITCH_EVENT_MESSAGE) == SWITCH_STATUS_SUCCESS) { + switch_event_add_header(event, SWITCH_STACK_BOTTOM, "call-command", "execute"); + switch_event_add_header(event, SWITCH_STACK_BOTTOM, "execute-app-name", app); + switch_event_add_header(event, SWITCH_STACK_BOTTOM, "execute-app-arg", "%s", path); + switch_core_session_queue_private_event(session, &event); + } + + if (nomedia) { + if (switch_event_create(&event, SWITCH_EVENT_MESSAGE) == SWITCH_STATUS_SUCCESS) { + switch_event_add_header(event, SWITCH_STACK_BOTTOM, "call-command", "nomedia"); + switch_event_add_header(event, SWITCH_STACK_BOTTOM, "nomedia-uuid", "%s", uuid); + switch_core_session_queue_private_event(session, &event); + } + } + + switch_core_session_rwunlock(session); + } + return SWITCH_STATUS_SUCCESS; + +} + +SWITCH_DECLARE(switch_status_t) switch_ivr_media(char *uuid, switch_media_flag_t flags) +{ + char *other_uuid = NULL; + switch_channel_t *channel, *other_channel = NULL; + switch_core_session_t *session, *other_session; + switch_core_session_message_t msg = {0}; + switch_status_t status = SWITCH_STATUS_GENERR; + + msg.message_id = SWITCH_MESSAGE_INDICATE_MEDIA; + msg.from = __FILE__; + + if ((session = switch_core_session_locate(uuid))) { + channel = switch_core_session_get_channel(session); + assert(channel != NULL); + + if (switch_channel_test_flag(channel, CF_NOMEDIA)) { + status = SWITCH_STATUS_SUCCESS; + switch_channel_clear_flag(channel, CF_NOMEDIA); + switch_core_session_receive_message(session, &msg); + if ((flags & SMF_REBRIDGE) && (other_uuid = switch_channel_get_variable(channel, SWITCH_BRIDGE_VARIABLE)) + && (other_session = switch_core_session_locate(other_uuid))) { + other_channel = switch_core_session_get_channel(other_session); + assert(other_channel != NULL); + switch_core_session_receive_message(other_session, &msg); + switch_channel_clear_state_handler(other_channel, NULL); + switch_core_session_rwunlock(other_session); + } + if (other_channel) { + switch_channel_clear_state_handler(channel, NULL); + } + } + + switch_core_session_rwunlock(session); + + if (other_channel) { + switch_ivr_uuid_bridge(uuid, other_uuid); + } + } + + return status; +} + + +SWITCH_DECLARE(switch_status_t) switch_ivr_nomedia(char *uuid, switch_media_flag_t flags) +{ + char *other_uuid; + switch_channel_t *channel, *other_channel = NULL; + switch_core_session_t *session, *other_session = NULL; + switch_core_session_message_t msg = {0}; + switch_status_t status = SWITCH_STATUS_GENERR; + + msg.message_id = SWITCH_MESSAGE_INDICATE_NOMEDIA; + msg.from = __FILE__; + + if ((session = switch_core_session_locate(uuid))) { + status = SWITCH_STATUS_SUCCESS; + channel = switch_core_session_get_channel(session); + assert(channel != NULL); + if (!switch_channel_test_flag(channel, CF_NOMEDIA)) { + switch_channel_set_flag(channel, CF_NOMEDIA); + switch_core_session_receive_message(session, &msg); + if ((flags & SMF_REBRIDGE) && (other_uuid = switch_channel_get_variable(channel, SWITCH_BRIDGE_VARIABLE)) && + (other_session = switch_core_session_locate(other_uuid))) { + other_channel = switch_core_session_get_channel(other_session); + assert(other_channel != NULL); + switch_core_session_receive_message(other_session, &msg); + switch_channel_clear_state_handler(other_channel, NULL); + + } + if (other_channel) { + switch_channel_clear_state_handler(channel, NULL); + switch_ivr_signal_bridge(session, other_session); + switch_core_session_rwunlock(other_session); + } + } + switch_core_session_rwunlock(session); + } + + return status; +} + +static switch_status_t signal_bridge_on_hibernate(switch_core_session_t *session) +{ + switch_channel_t *channel = NULL; + + channel = switch_core_session_get_channel(session); + assert(channel != NULL); + switch_channel_clear_flag(channel, CF_TRANSFER); + + switch_channel_set_variable(channel, SWITCH_BRIDGE_VARIABLE, switch_channel_get_variable(channel, SWITCH_SIGNAL_BRIDGE_VARIABLE)); + + return SWITCH_STATUS_SUCCESS; +} + static switch_status_t signal_bridge_on_hangup(switch_core_session_t *session) { char *uuid; @@ -2108,7 +2544,7 @@ } - if ((uuid = switch_channel_get_variable(channel, SWITCH_SIGNAL_BRIDGE_VARIABLE)) && (other_session = switch_core_session_locate(uuid))) { + if ((uuid = switch_channel_get_variable(channel, SWITCH_BRIDGE_VARIABLE)) && (other_session = switch_core_session_locate(uuid))) { switch_channel_t *other_channel = NULL; other_channel = switch_core_session_get_channel(other_session); @@ -2118,6 +2554,7 @@ switch_core_session_rwunlock(other_session); } + return SWITCH_STATUS_SUCCESS; } @@ -2128,7 +2565,8 @@ /*.on_hangup */ signal_bridge_on_hangup, /*.on_loopback */ NULL, /*.on_transmit */ NULL, - /*.on_hold */ NULL + /*.on_hold */ NULL, + /*.on_hibernate*/ signal_bridge_on_hibernate }; @@ -2146,9 +2584,6 @@ peer_channel = switch_core_session_get_channel(peer_session); assert(peer_channel != NULL); - switch_channel_set_variable(caller_channel, SWITCH_SIGNAL_BRIDGE_VARIABLE, switch_core_session_get_uuid(peer_session)); - switch_channel_set_variable(peer_channel, SWITCH_SIGNAL_BRIDGE_VARIABLE, switch_core_session_get_uuid(session)); - switch_channel_clear_state_handler(caller_channel, NULL); switch_channel_clear_state_handler(peer_channel, NULL); @@ -2176,9 +2611,16 @@ switch_event_fire(&event); } - switch_channel_set_state(caller_channel, CS_TRANSMIT); - switch_channel_set_state(peer_channel, CS_TRANSMIT); + switch_channel_set_state_flag(caller_channel, CF_TRANSFER); + switch_channel_set_state_flag(peer_channel, CF_TRANSFER); + + switch_channel_set_variable(caller_channel, SWITCH_SIGNAL_BRIDGE_VARIABLE, switch_core_session_get_uuid(peer_session)); + switch_channel_set_variable(peer_channel, SWITCH_SIGNAL_BRIDGE_VARIABLE, switch_core_session_get_uuid(session)); + + switch_channel_set_state(caller_channel, CS_HIBERNATE); + switch_channel_set_state(peer_channel, CS_HIBERNATE); + return SWITCH_STATUS_SUCCESS; } @@ -2277,7 +2719,6 @@ switch_channel_event_set_data(caller_channel, event); switch_event_fire(&event); } - if (switch_channel_get_state(caller_channel) != CS_EXECUTE && !switch_channel_test_flag(caller_channel, CF_TRANSFER)) { switch_channel_hangup(caller_channel, SWITCH_CAUSE_NORMAL_CLEARING); } @@ -2349,7 +2790,7 @@ switch_channel_add_state_handler(originatee_channel, &uuid_bridge_state_handlers); switch_channel_set_private(originator_channel, "_uuid_bridge_", originatee_session); - /* switch_channel_set_state_flag sets flags you want to be set when the next stat change happens */ + /* switch_channel_set_state_flag sets flags you want to be set when the next state change happens */ switch_channel_set_state_flag(originator_channel, CF_TRANSFER); switch_channel_set_state_flag(originatee_channel, CF_TRANSFER); @@ -2379,6 +2820,8 @@ switch_channel_t *channel; switch_caller_profile_t *profile, *new_profile; switch_core_session_message_t msg = {0}; + switch_core_session_t *other_session; + char *uuid = NULL; assert(session != NULL); assert(extension != NULL); @@ -2400,6 +2843,21 @@ new_profile->context = switch_core_session_strdup(session, context); } else { context = new_profile->context; + } + + if ((uuid = switch_channel_get_variable(channel, SWITCH_SIGNAL_BRIDGE_VARIABLE)) && (other_session = switch_core_session_locate(uuid))) { + switch_channel_t *other_channel = NULL; + + other_channel = switch_core_session_get_channel(other_session); + assert(other_channel != NULL); + + switch_channel_set_variable(channel, SWITCH_SIGNAL_BRIDGE_VARIABLE, NULL); + switch_channel_set_variable(other_channel, SWITCH_SIGNAL_BRIDGE_VARIABLE, NULL); + + switch_channel_hangup(other_channel, SWITCH_CAUSE_BLIND_TRANSFER); + switch_ivr_media(uuid, SMF_NONE); + + switch_core_session_rwunlock(other_session); } switch_channel_set_caller_profile(channel, new_profile); Modified: freeswitch/branches/knhor/trunk/src/switch_resample.c ============================================================================== --- freeswitch/branches/knhor/trunk/src/switch_resample.c (original) +++ freeswitch/branches/knhor/trunk/src/switch_resample.c Thu Nov 2 11:40:13 2006 @@ -182,3 +182,37 @@ buf[i] = ((buf[i] >> 8) & 0x00ff) | ((buf[i] << 8) & 0xff00); } } + +SWITCH_DECLARE(void) switch_change_sln_volume(int16_t *data, uint32_t samples, int32_t vol) +{ + double newrate = 0; + int div = 0; + + switch_normalize_volume(vol); + + if (vol > 0) { + vol++; + } else if (vol < 0) { + vol--; + } + + newrate = vol * 1.3; + + if (vol < 0) { + newrate *= -1; + div++; + } + + if (newrate) { + int32_t tmp; + uint32_t x; + int16_t *fp = data; + + for (x = 0; x < samples; x++) { + tmp = (int32_t) (div ? fp[x] / newrate : fp[x] * newrate); + switch_normalize_to_16bit(tmp); + fp[x] = (int16_t)tmp; + } + } +} + Modified: freeswitch/branches/knhor/trunk/src/switch_utils.c ============================================================================== --- freeswitch/branches/knhor/trunk/src/switch_utils.c (original) +++ freeswitch/branches/knhor/trunk/src/switch_utils.c Thu Nov 2 11:40:13 2006 @@ -117,6 +117,8 @@ char *ptr; int quot = 0; char qc = '"'; + char *e; + int x; if (!buf || !array || !arraylen) { return 0; @@ -143,14 +145,17 @@ } if (*ptr) { - char *e; - if (*ptr == qc) { - ptr++; - } - if ((e = strchr(ptr, qc))) { - *e = '\0'; - } array[argc++] = ptr; + } + + /* strip quotes */ + for(x = 0; x < argc; x++) { + if (*(array[x]) == qc) { + (array[x])++; + if ((e = strchr(array[x], qc))) { + *e = '\0'; + } + } } return argc;
participants (1)
-
Freeswitch SVN