From f2403bfa452b4ad69f82bec7c47520cf256d227d Mon Sep 17 00:00:00 2001 From: Seonah Moon Date: Tue, 10 Nov 2015 15:11:12 +0900 Subject: [PATCH] Base Code merged to tizen 2.4 Change-Id: Ib8fa0cdd6ef2d5b2e57e5ede491743545db72e25 Signed-off-by: Seonah Moon --- aclocal.m4 | 1508 ---- configure.ac | 294 + docs/reference/html/SoupAddress.html | 1090 --- docs/reference/html/SoupAuth.html | 855 --- docs/reference/html/SoupAuthDomain.html | 936 --- docs/reference/html/SoupAuthDomainBasic.html | 344 - docs/reference/html/SoupAuthDomainDigest.html | 395 - docs/reference/html/SoupAuthManager.html | 252 - docs/reference/html/SoupCache.html | 433 -- docs/reference/html/SoupContentDecoder.html | 110 - docs/reference/html/SoupContentSniffer.html | 225 - docs/reference/html/SoupCookie.html | 1478 ---- docs/reference/html/SoupCookieJar.html | 866 --- docs/reference/html/SoupCookieJarDB.html | 196 - docs/reference/html/SoupCookieJarText.html | 193 - docs/reference/html/SoupLogger.html | 647 -- docs/reference/html/SoupMessage.html | 2768 ------- docs/reference/html/SoupMessageBody.html | 1278 ---- docs/reference/html/SoupMessageHeaders.html | 1818 ----- docs/reference/html/SoupMultipart.html | 537 -- docs/reference/html/SoupMultipartInputStream.html | 399 - docs/reference/html/SoupProxyResolverDefault.html | 120 - docs/reference/html/SoupRequest.html | 493 -- docs/reference/html/SoupRequestData.html | 88 - docs/reference/html/SoupRequestFile.html | 135 - docs/reference/html/SoupRequestHTTP.html | 136 - docs/reference/html/SoupServer.html | 1645 ---- docs/reference/html/SoupSession.html | 2841 ------- docs/reference/html/SoupSessionAsync.html | 171 - docs/reference/html/SoupSessionFeature.html | 197 - docs/reference/html/SoupSessionSync.html | 171 - docs/reference/html/SoupSocket.html | 1585 ---- docs/reference/html/SoupURI.html | 1664 ---- docs/reference/html/annotation-glossary.html | 67 - docs/reference/html/ch01.html | 49 - docs/reference/html/ch02.html | 109 - docs/reference/html/ch03.html | 59 - docs/reference/html/ch04.html | 41 - docs/reference/html/ch05.html | 38 - docs/reference/html/home.png | Bin 256 -> 0 bytes docs/reference/html/index.html | 178 - docs/reference/html/index.sgml | 1128 --- docs/reference/html/ix01.html | 1489 ---- docs/reference/html/left-insensitive.png | Bin 395 -> 0 bytes docs/reference/html/left.png | Bin 262 -> 0 bytes .../reference/html/libsoup-2.4-GValue-Support.html | 885 --- .../html/libsoup-2.4-HTML-Form-Support.html | 652 -- .../libsoup-2.4-Soup-Miscellaneous-Utilities.html | 1956 ----- .../html/libsoup-2.4-Top-Level-Domain-utils.html | 252 - .../html/libsoup-2.4-Version-Information.html | 499 -- .../reference/html/libsoup-2.4-XMLRPC-Support.html | 790 -- docs/reference/html/libsoup-2.4-soup-method.html | 260 - docs/reference/html/libsoup-2.4-soup-status.html | 866 --- docs/reference/html/libsoup-2.4.devhelp2 | 815 -- docs/reference/html/libsoup-build-howto.html | 136 - docs/reference/html/libsoup-client-howto.html | 604 -- docs/reference/html/libsoup-request-howto.html | 172 - docs/reference/html/libsoup-server-howto.html | 444 -- docs/reference/html/libsoup-session-porting.html | 218 - docs/reference/html/right-insensitive.png | Bin 373 -> 0 bytes docs/reference/html/right.png | Bin 261 -> 0 bytes docs/reference/html/style.css | 461 -- docs/reference/html/up-insensitive.png | Bin 374 -> 0 bytes docs/reference/html/up.png | Bin 260 -> 0 bytes docs/reference/libsoup-2.4-sections.txt | 4 + docs/reference/libsoup-2.4.types | 38 - docs/reference/tmpl/libsoup-2.4-unused.sgml | 28 - docs/reference/tmpl/soup-address.sgml | 271 - docs/reference/tmpl/soup-auth-domain-basic.sgml | 86 - docs/reference/tmpl/soup-auth-domain-digest.sgml | 96 - docs/reference/tmpl/soup-auth-domain.sgml | 237 - docs/reference/tmpl/soup-auth-manager.sgml | 55 - docs/reference/tmpl/soup-auth.sgml | 234 - docs/reference/tmpl/soup-cache.sgml | 106 - docs/reference/tmpl/soup-content-decoder.sgml | 28 - docs/reference/tmpl/soup-content-sniffer.sgml | 58 - docs/reference/tmpl/soup-cookie-jar-db.sgml | 50 - docs/reference/tmpl/soup-cookie-jar-text.sgml | 50 - docs/reference/tmpl/soup-cookie-jar.sgml | 186 - docs/reference/tmpl/soup-cookie.sgml | 322 - docs/reference/tmpl/soup-form.sgml | 140 - docs/reference/tmpl/soup-logger.sgml | 122 - docs/reference/tmpl/soup-message-body.sgml | 251 - docs/reference/tmpl/soup-message-headers.sgml | 362 - docs/reference/tmpl/soup-message.sgml | 626 -- docs/reference/tmpl/soup-method.sgml | 127 - docs/reference/tmpl/soup-misc.sgml | 399 - .../tmpl/soup-multipart-input-stream.sgml | 86 - docs/reference/tmpl/soup-multipart.sgml | 118 - .../tmpl/soup-proxy-resolver-default.sgml | 33 - docs/reference/tmpl/soup-request-data.sgml | 28 - docs/reference/tmpl/soup-request-file.sgml | 37 - docs/reference/tmpl/soup-request-http.sgml | 37 - docs/reference/tmpl/soup-request.sgml | 121 - docs/reference/tmpl/soup-server-deprecated.sgml | 126 - docs/reference/tmpl/soup-server.sgml | 383 - docs/reference/tmpl/soup-session-async.sgml | 47 - docs/reference/tmpl/soup-session-feature.sgml | 43 - docs/reference/tmpl/soup-session-sync.sgml | 47 - docs/reference/tmpl/soup-session.sgml | 656 -- docs/reference/tmpl/soup-socket.sgml | 411 - docs/reference/tmpl/soup-status.sgml | 164 - docs/reference/tmpl/soup-tld.sgml | 58 - docs/reference/tmpl/soup-uri.sgml | 371 - docs/reference/tmpl/soup-value-utils.sgml | 203 - docs/reference/tmpl/soup-version.sgml | 189 - docs/reference/tmpl/soup-xmlrpc.sgml | 157 - gtk-doc.make | 315 - libsoup/Makefile.am | 9 + libsoup/TIZEN.h | 54 + libsoup/libsoup-2.4.sym | 4 + libsoup/soup-cache.c | 345 +- libsoup/soup-cache.h | 5 + libsoup/soup-connection.c | 249 + libsoup/soup-connection.h | 12 + libsoup/soup-content-sniffer.c | 21 + libsoup/soup-content-sniffer.h | 3 + libsoup/soup-cookie-jar-text.c | 12 + libsoup/soup-cookie-jar.c | 5 + libsoup/soup-date.c | 36 +- libsoup/soup-date.h | 3 +- libsoup/soup-enum-types.c | 665 -- libsoup/soup-enum-types.h | 63 - libsoup/soup-form.c | 7 +- libsoup/soup-message-io.c | 88 +- libsoup/soup-message-private.h | 14 + libsoup/soup-message.c | 172 + libsoup/soup-message.h | 6 + libsoup/soup-request-data.c | 5 + libsoup/soup-session-private.h | 12 + libsoup/soup-session.c | 540 +- libsoup/soup-session.h | 24 + libsoup/soup-socket.c | 296 +- libsoup/soup-socket.h | 4 + m4/gtk-doc.m4 | 88 - m4/libtool.m4 | 7992 -------------------- m4/ltoptions.m4 | 384 - m4/ltsugar.m4 | 123 - m4/ltversion.m4 | 23 - m4/lt~obsolete.m4 | 98 - packaging/libsoup.spec | 34 +- 141 files changed, 2229 insertions(+), 54709 deletions(-) delete mode 100644 aclocal.m4 mode change 100644 => 100755 configure.ac delete mode 100644 docs/reference/html/SoupAddress.html delete mode 100644 docs/reference/html/SoupAuth.html delete mode 100644 docs/reference/html/SoupAuthDomain.html delete mode 100644 docs/reference/html/SoupAuthDomainBasic.html delete mode 100644 docs/reference/html/SoupAuthDomainDigest.html delete mode 100644 docs/reference/html/SoupAuthManager.html delete mode 100644 docs/reference/html/SoupCache.html delete mode 100644 docs/reference/html/SoupContentDecoder.html delete mode 100644 docs/reference/html/SoupContentSniffer.html delete mode 100644 docs/reference/html/SoupCookie.html delete mode 100644 docs/reference/html/SoupCookieJar.html delete mode 100644 docs/reference/html/SoupCookieJarDB.html delete mode 100644 docs/reference/html/SoupCookieJarText.html delete mode 100644 docs/reference/html/SoupLogger.html delete mode 100644 docs/reference/html/SoupMessage.html delete mode 100644 docs/reference/html/SoupMessageBody.html delete mode 100644 docs/reference/html/SoupMessageHeaders.html delete mode 100644 docs/reference/html/SoupMultipart.html delete mode 100644 docs/reference/html/SoupMultipartInputStream.html delete mode 100644 docs/reference/html/SoupProxyResolverDefault.html delete mode 100644 docs/reference/html/SoupRequest.html delete mode 100644 docs/reference/html/SoupRequestData.html delete mode 100644 docs/reference/html/SoupRequestFile.html delete mode 100644 docs/reference/html/SoupRequestHTTP.html delete mode 100644 docs/reference/html/SoupServer.html delete mode 100644 docs/reference/html/SoupSession.html delete mode 100644 docs/reference/html/SoupSessionAsync.html delete mode 100644 docs/reference/html/SoupSessionFeature.html delete mode 100644 docs/reference/html/SoupSessionSync.html delete mode 100644 docs/reference/html/SoupSocket.html delete mode 100644 docs/reference/html/SoupURI.html delete mode 100644 docs/reference/html/annotation-glossary.html delete mode 100644 docs/reference/html/ch01.html delete mode 100644 docs/reference/html/ch02.html delete mode 100644 docs/reference/html/ch03.html delete mode 100644 docs/reference/html/ch04.html delete mode 100644 docs/reference/html/ch05.html delete mode 100644 docs/reference/html/home.png delete mode 100644 docs/reference/html/index.html delete mode 100644 docs/reference/html/index.sgml delete mode 100644 docs/reference/html/ix01.html delete mode 100644 docs/reference/html/left-insensitive.png delete mode 100644 docs/reference/html/left.png delete mode 100644 docs/reference/html/libsoup-2.4-GValue-Support.html delete mode 100644 docs/reference/html/libsoup-2.4-HTML-Form-Support.html delete mode 100644 docs/reference/html/libsoup-2.4-Soup-Miscellaneous-Utilities.html delete mode 100644 docs/reference/html/libsoup-2.4-Top-Level-Domain-utils.html delete mode 100644 docs/reference/html/libsoup-2.4-Version-Information.html delete mode 100644 docs/reference/html/libsoup-2.4-XMLRPC-Support.html delete mode 100644 docs/reference/html/libsoup-2.4-soup-method.html delete mode 100644 docs/reference/html/libsoup-2.4-soup-status.html delete mode 100644 docs/reference/html/libsoup-2.4.devhelp2 delete mode 100644 docs/reference/html/libsoup-build-howto.html delete mode 100644 docs/reference/html/libsoup-client-howto.html delete mode 100644 docs/reference/html/libsoup-request-howto.html delete mode 100644 docs/reference/html/libsoup-server-howto.html delete mode 100644 docs/reference/html/libsoup-session-porting.html delete mode 100644 docs/reference/html/right-insensitive.png delete mode 100644 docs/reference/html/right.png delete mode 100644 docs/reference/html/style.css delete mode 100644 docs/reference/html/up-insensitive.png delete mode 100644 docs/reference/html/up.png delete mode 100644 docs/reference/libsoup-2.4.types delete mode 100644 docs/reference/tmpl/libsoup-2.4-unused.sgml delete mode 100644 docs/reference/tmpl/soup-address.sgml delete mode 100644 docs/reference/tmpl/soup-auth-domain-basic.sgml delete mode 100644 docs/reference/tmpl/soup-auth-domain-digest.sgml delete mode 100644 docs/reference/tmpl/soup-auth-domain.sgml delete mode 100644 docs/reference/tmpl/soup-auth-manager.sgml delete mode 100644 docs/reference/tmpl/soup-auth.sgml delete mode 100644 docs/reference/tmpl/soup-cache.sgml delete mode 100644 docs/reference/tmpl/soup-content-decoder.sgml delete mode 100644 docs/reference/tmpl/soup-content-sniffer.sgml delete mode 100644 docs/reference/tmpl/soup-cookie-jar-db.sgml delete mode 100644 docs/reference/tmpl/soup-cookie-jar-text.sgml delete mode 100644 docs/reference/tmpl/soup-cookie-jar.sgml delete mode 100644 docs/reference/tmpl/soup-cookie.sgml delete mode 100644 docs/reference/tmpl/soup-form.sgml delete mode 100644 docs/reference/tmpl/soup-logger.sgml delete mode 100644 docs/reference/tmpl/soup-message-body.sgml delete mode 100644 docs/reference/tmpl/soup-message-headers.sgml delete mode 100644 docs/reference/tmpl/soup-message.sgml delete mode 100644 docs/reference/tmpl/soup-method.sgml delete mode 100644 docs/reference/tmpl/soup-misc.sgml delete mode 100644 docs/reference/tmpl/soup-multipart-input-stream.sgml delete mode 100644 docs/reference/tmpl/soup-multipart.sgml delete mode 100644 docs/reference/tmpl/soup-proxy-resolver-default.sgml delete mode 100644 docs/reference/tmpl/soup-request-data.sgml delete mode 100644 docs/reference/tmpl/soup-request-file.sgml delete mode 100644 docs/reference/tmpl/soup-request-http.sgml delete mode 100644 docs/reference/tmpl/soup-request.sgml delete mode 100644 docs/reference/tmpl/soup-server-deprecated.sgml delete mode 100644 docs/reference/tmpl/soup-server.sgml delete mode 100644 docs/reference/tmpl/soup-session-async.sgml delete mode 100644 docs/reference/tmpl/soup-session-feature.sgml delete mode 100644 docs/reference/tmpl/soup-session-sync.sgml delete mode 100644 docs/reference/tmpl/soup-session.sgml delete mode 100644 docs/reference/tmpl/soup-socket.sgml delete mode 100644 docs/reference/tmpl/soup-status.sgml delete mode 100644 docs/reference/tmpl/soup-tld.sgml delete mode 100644 docs/reference/tmpl/soup-uri.sgml delete mode 100644 docs/reference/tmpl/soup-value-utils.sgml delete mode 100644 docs/reference/tmpl/soup-version.sgml delete mode 100644 docs/reference/tmpl/soup-xmlrpc.sgml delete mode 100644 gtk-doc.make create mode 100755 libsoup/TIZEN.h mode change 100644 => 100755 libsoup/soup-cache.c mode change 100644 => 100755 libsoup/soup-connection.c mode change 100644 => 100755 libsoup/soup-connection.h mode change 100644 => 100755 libsoup/soup-content-sniffer.c mode change 100644 => 100755 libsoup/soup-content-sniffer.h mode change 100644 => 100755 libsoup/soup-cookie-jar-text.c mode change 100644 => 100755 libsoup/soup-cookie-jar.c delete mode 100644 libsoup/soup-enum-types.c delete mode 100644 libsoup/soup-enum-types.h mode change 100644 => 100755 libsoup/soup-message-private.h mode change 100644 => 100755 libsoup/soup-message.c mode change 100644 => 100755 libsoup/soup-session-private.h mode change 100644 => 100755 libsoup/soup-session.c mode change 100644 => 100755 libsoup/soup-session.h mode change 100644 => 100755 libsoup/soup-socket.c mode change 100644 => 100755 libsoup/soup-socket.h delete mode 100644 m4/gtk-doc.m4 delete mode 100644 m4/libtool.m4 delete mode 100644 m4/ltoptions.m4 delete mode 100644 m4/ltsugar.m4 delete mode 100644 m4/ltversion.m4 delete mode 100644 m4/lt~obsolete.m4 mode change 100644 => 100755 packaging/libsoup.spec diff --git a/aclocal.m4 b/aclocal.m4 deleted file mode 100644 index 8d297d8..0000000 --- a/aclocal.m4 +++ /dev/null @@ -1,1508 +0,0 @@ -# generated automatically by aclocal 1.13.4 -*- Autoconf -*- - -# Copyright (C) 1996-2013 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. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) -m4_ifndef([AC_AUTOCONF_VERSION], - [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl -m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],, -[m4_warning([this file was generated for autoconf 2.69. -You have another version of autoconf. It may work, but is not guaranteed to. -If you have problems, you may need to regenerate the build system entirely. -To do so, use the procedure documented by the package, typically 'autoreconf'.])]) - -# Copyright (C) 2002-2013 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_AUTOMAKE_VERSION(VERSION) -# ---------------------------- -# Automake X.Y traces this macro to ensure aclocal.m4 has been -# generated from the m4 files accompanying Automake X.Y. -# (This private macro should not be called outside this file.) -AC_DEFUN([AM_AUTOMAKE_VERSION], -[am__api_version='1.13' -dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to -dnl require some minimum version. Point them to the right macro. -m4_if([$1], [1.13.4], [], - [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl -]) - -# _AM_AUTOCONF_VERSION(VERSION) -# ----------------------------- -# aclocal traces this macro to find the Autoconf version. -# This is a private macro too. Using m4_define simplifies -# the logic in aclocal, which can simply ignore this definition. -m4_define([_AM_AUTOCONF_VERSION], []) - -# AM_SET_CURRENT_AUTOMAKE_VERSION -# ------------------------------- -# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. -# This function is AC_REQUIREd by AM_INIT_AUTOMAKE. -AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], -[AM_AUTOMAKE_VERSION([1.13.4])dnl -m4_ifndef([AC_AUTOCONF_VERSION], - [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl -_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) - -# AM_AUX_DIR_EXPAND -*- Autoconf -*- - -# Copyright (C) 2001-2013 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. - -# 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/../..'. -# -# Of course, Automake must honor this variable whenever it calls a -# tool from the auxiliary directory. The problem is that $srcdir (and -# therefore $ac_aux_dir as well) can be either absolute or relative, -# depending on how configure is run. This is pretty annoying, since -# it makes $ac_aux_dir quite unusable in subdirectories: in the top -# source directory, any form will work fine, but in subdirectories a -# relative path needs to be adjusted first. -# -# $ac_aux_dir/missing -# fails when called from a subdirectory if $ac_aux_dir is relative -# $top_srcdir/$ac_aux_dir/missing -# fails if $ac_aux_dir is absolute, -# fails when called from a subdirectory in a VPATH build with -# a relative $ac_aux_dir -# -# The reason of the latter failure is that $top_srcdir and $ac_aux_dir -# are both prefixed by $srcdir. In an in-source build this is usually -# harmless because $srcdir is '.', but things will broke when you -# start a VPATH build or use an absolute $srcdir. -# -# So we could use something similar to $top_srcdir/$ac_aux_dir/missing, -# iff we strip the leading $srcdir from $ac_aux_dir. That would be: -# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` -# and then we would define $MISSING as -# MISSING="\${SHELL} $am_aux_dir/missing" -# This will work as long as MISSING is not called from configure, because -# unfortunately $(top_srcdir) has no meaning in configure. -# However there are other variables, like CC, which are often used in -# configure, and could therefore not use this "fixed" $ac_aux_dir. -# -# Another solution, used here, is to always expand $ac_aux_dir to an -# absolute PATH. The drawback is that using absolute paths prevent a -# configured tree to be moved without reconfiguration. - -AC_DEFUN([AM_AUX_DIR_EXPAND], -[dnl Rely on autoconf to set up CDPATH properly. -AC_PREREQ([2.50])dnl -# expand $ac_aux_dir to an absolute path -am_aux_dir=`cd $ac_aux_dir && pwd` -]) - -# AM_CONDITIONAL -*- Autoconf -*- - -# Copyright (C) 1997-2013 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_CONDITIONAL(NAME, SHELL-CONDITION) -# ------------------------------------- -# Define a conditional. -AC_DEFUN([AM_CONDITIONAL], -[AC_PREREQ([2.52])dnl - m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], - [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl -AC_SUBST([$1_TRUE])dnl -AC_SUBST([$1_FALSE])dnl -_AM_SUBST_NOTMAKE([$1_TRUE])dnl -_AM_SUBST_NOTMAKE([$1_FALSE])dnl -m4_define([_AM_COND_VALUE_$1], [$2])dnl -if $2; then - $1_TRUE= - $1_FALSE='#' -else - $1_TRUE='#' - $1_FALSE= -fi -AC_CONFIG_COMMANDS_PRE( -[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then - AC_MSG_ERROR([[conditional "$1" was never defined. -Usually this means the macro was only invoked conditionally.]]) -fi])]) - -# Copyright (C) 1999-2013 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. - - -# 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 -# C support machinery. Also note that it means that autoscan, seeing -# CC etc. in the Makefile, will ask for an AC_PROG_CC use... - - -# _AM_DEPENDENCIES(NAME) -# ---------------------- -# See how the compiler implements dependency checking. -# NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC". -# We try a few techniques and use that to set a single cache variable. -# -# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was -# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular -# dependency, and given that the user is not expected to run this macro, -# just rely on AC_PROG_CC. -AC_DEFUN([_AM_DEPENDENCIES], -[AC_REQUIRE([AM_SET_DEPDIR])dnl -AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl -AC_REQUIRE([AM_MAKE_INCLUDE])dnl -AC_REQUIRE([AM_DEP_TRACK])dnl - -m4_if([$1], [CC], [depcc="$CC" am_compiler_list=], - [$1], [CXX], [depcc="$CXX" am_compiler_list=], - [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'], - [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'], - [$1], [UPC], [depcc="$UPC" am_compiler_list=], - [$1], [GCJ], [depcc="$GCJ" am_compiler_list='gcc3 gcc'], - [depcc="$$1" am_compiler_list=]) - -AC_CACHE_CHECK([dependency style of $depcc], - [am_cv_$1_dependencies_compiler_type], -[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then - # We make a subdir and do the tests there. Otherwise we can end up - # making bogus files that we don't know about and never remove. For - # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named 'D' -- because '-MD' means "put the output - # in D". - rm -rf conftest.dir - mkdir conftest.dir - # Copy depcomp to subdir because otherwise we won't find it if we're - # using a relative directory. - cp "$am_depcomp" conftest.dir - cd conftest.dir - # We will build objects and dependencies in a subdirectory because - # it helps to detect inapplicable dependency modes. For instance - # both Tru64's cc and ICC support -MD to output dependencies as a - # side effect of compilation, but ICC will put the dependencies in - # the current directory while Tru64 will put them in the object - # directory. - mkdir sub - - am_cv_$1_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` - fi - am__universal=false - m4_case([$1], [CC], - [case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac], - [CXX], - [case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac]) - - for depmode in $am_compiler_list; do - # Setup a source with many dependencies, because some compilers - # like to wrap large dependency lists on column 80 (with \), and - # we should not choose a depcomp mode which is confused by this. - # - # We need to recreate these files for each test, as the compiler may - # overwrite some of them when testing with obscure command lines. - # This happens at least with the AIX C compiler. - : > sub/conftest.c - for i in 1 2 3 4 5 6; do - echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with - # Solaris 10 /bin/sh. - echo '/* dummy */' > sub/conftst$i.h - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - - # We check with '-c' and '-o' for the sake of the "dashmstdout" - # mode. It turns out that the SunPro C++ compiler does not properly - # handle '-M -o', and we need to detect this. Also, some Intel - # versions had trouble with output in subdirs. - am__obj=sub/conftest.${OBJEXT-o} - am__minus_obj="-o $am__obj" - case $depmode in - gcc) - # This depmode causes a compiler race in universal mode. - test "$am__universal" = false || continue - ;; - nosideeffect) - # After this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested. - if test "x$enable_dependency_tracking" = xyes; then - continue - else - break - fi - ;; - msvc7 | msvc7msys | msvisualcpp | msvcmsys) - # This compiler won't grok '-c -o', but also, the minuso test has - # not run yet. These depmodes are late enough in the game, and - # so weak that their functioning should not be impacted. - am__obj=conftest.${OBJEXT-o} - am__minus_obj= - ;; - none) break ;; - esac - if depmode=$depmode \ - source=sub/conftest.c object=$am__obj \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep $am__obj sub/conftest.Po > /dev/null 2>&1 && - ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - # icc doesn't choke on unknown options, it will just issue warnings - # or remarks (even with -Werror). So we grep stderr for any message - # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: - # icc: Command line warning: ignoring option '-M'; no argument required - # The diagnosis changed in icc 8.0: - # icc: Command line remark: option '-MP' not supported - if (grep 'ignoring option' conftest.err || - grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else - am_cv_$1_dependencies_compiler_type=$depmode - break - fi - fi - done - - cd .. - rm -rf conftest.dir -else - am_cv_$1_dependencies_compiler_type=none -fi -]) -AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) -AM_CONDITIONAL([am__fastdep$1], [ - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) -]) - - -# AM_SET_DEPDIR -# ------------- -# Choose a directory name for dependency files. -# This macro is AC_REQUIREd in _AM_DEPENDENCIES. -AC_DEFUN([AM_SET_DEPDIR], -[AC_REQUIRE([AM_SET_LEADING_DOT])dnl -AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl -]) - - -# AM_DEP_TRACK -# ------------ -AC_DEFUN([AM_DEP_TRACK], -[AC_ARG_ENABLE([dependency-tracking], [dnl -AS_HELP_STRING( - [--enable-dependency-tracking], - [do not reject slow dependency extractors]) -AS_HELP_STRING( - [--disable-dependency-tracking], - [speeds up one-time build])]) -if test "x$enable_dependency_tracking" != xno; then - am_depcomp="$ac_aux_dir/depcomp" - AMDEPBACKSLASH='\' - am__nodep='_no' -fi -AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) -AC_SUBST([AMDEPBACKSLASH])dnl -_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl -AC_SUBST([am__nodep])dnl -_AM_SUBST_NOTMAKE([am__nodep])dnl -]) - -# Generate code to set up dependency tracking. -*- Autoconf -*- - -# Copyright (C) 1999-2013 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_OUTPUT_DEPENDENCY_COMMANDS -# ------------------------------ -AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], -[{ - # Older Autoconf quotes --file arguments for eval, but not when files - # are listed without --file. Let's play safe and only enable the eval - # if we detect the quoting. - case $CONFIG_FILES in - *\'*) eval set x "$CONFIG_FILES" ;; - *) set x $CONFIG_FILES ;; - esac - shift - for mf - do - # Strip MF so we end up with the name of the file. - mf=`echo "$mf" | sed -e 's/:.*$//'` - # Check whether this is an Automake generated Makefile or not. - # We used to match only the files named 'Makefile.in', but - # some people rename them; so instead we look at the file content. - # Grep'ing the first line is not enough: some people post-process - # each Makefile.in and add a new line on top of each file to say so. - # Grep'ing the whole file is not good either: AIX grep has a line - # limit of 2048, but all sed's we know have understand at least 4000. - if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then - dirpart=`AS_DIRNAME("$mf")` - else - continue - fi - # Extract the definition of DEPDIR, am__include, and am__quote - # from the Makefile without running 'make'. - DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` - test -z "$DEPDIR" && continue - am__include=`sed -n 's/^am__include = //p' < "$mf"` - test -z "$am__include" && continue - am__quote=`sed -n 's/^am__quote = //p' < "$mf"` - # Find all dependency output files, they are included files with - # $(DEPDIR) in their names. We invoke sed twice because it is the - # simplest approach to changing $(DEPDIR) to its actual value in the - # expansion. - for file in `sed -n " - s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ - sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do - # Make sure the directory exists. - test -f "$dirpart/$file" && continue - fdir=`AS_DIRNAME(["$file"])` - AS_MKDIR_P([$dirpart/$fdir]) - # echo "creating $dirpart/$file" - echo '# dummy' > "$dirpart/$file" - done - done -} -])# _AM_OUTPUT_DEPENDENCY_COMMANDS - - -# AM_OUTPUT_DEPENDENCY_COMMANDS -# ----------------------------- -# This macro should only be invoked once -- use via AC_REQUIRE. -# -# This code is only required when automatic dependency tracking -# is enabled. FIXME. This creates each '.P' file that we will -# need in order to bootstrap the dependency handling code. -AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], -[AC_CONFIG_COMMANDS([depfiles], - [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], - [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) -]) - -# Do all the work for Automake. -*- Autoconf -*- - -# Copyright (C) 1996-2013 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. - -# 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. - -# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) -# AM_INIT_AUTOMAKE([OPTIONS]) -# ----------------------------------------------- -# The call with PACKAGE and VERSION arguments is the old style -# call (pre autoconf-2.50), which is being phased out. PACKAGE -# and VERSION should now be passed to AC_INIT and removed from -# the call to AM_INIT_AUTOMAKE. -# We support both call styles for the transition. After -# the next Automake release, Autoconf can make the AC_INIT -# arguments mandatory, and then we can depend on a new Autoconf -# release and drop the old call support. -AC_DEFUN([AM_INIT_AUTOMAKE], -[AC_PREREQ([2.65])dnl -dnl Autoconf wants to disallow AM_ names. We explicitly allow -dnl the ones we care about. -m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl -AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl -AC_REQUIRE([AC_PROG_INSTALL])dnl -if test "`cd $srcdir && pwd`" != "`pwd`"; then - # Use -I$(srcdir) only when $(srcdir) != ., so that make's output - # is not polluted with repeated "-I." - AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl - # test to see if srcdir already configured - if test -f $srcdir/config.status; then - AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) - fi -fi - -# test whether we have cygpath -if test -z "$CYGPATH_W"; then - if (cygpath --version) >/dev/null 2>/dev/null; then - CYGPATH_W='cygpath -w' - else - CYGPATH_W=echo - fi -fi -AC_SUBST([CYGPATH_W]) - -# Define the identity of the package. -dnl Distinguish between old-style and new-style calls. -m4_ifval([$2], -[AC_DIAGNOSE([obsolete], - [$0: two- and three-arguments forms are deprecated.]) -m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl - AC_SUBST([PACKAGE], [$1])dnl - AC_SUBST([VERSION], [$2])], -[_AM_SET_OPTIONS([$1])dnl -dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. -m4_if( - m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]), - [ok:ok],, - [m4_fatal([AC_INIT should be called with package and version arguments])])dnl - AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl - AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl - -_AM_IF_OPTION([no-define],, -[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package]) - AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl - -# Some tools Automake needs. -AC_REQUIRE([AM_SANITY_CHECK])dnl -AC_REQUIRE([AC_ARG_PROGRAM])dnl -AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}]) -AM_MISSING_PROG([AUTOCONF], [autoconf]) -AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}]) -AM_MISSING_PROG([AUTOHEADER], [autoheader]) -AM_MISSING_PROG([MAKEINFO], [makeinfo]) -AC_REQUIRE([AM_PROG_INSTALL_SH])dnl -AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl -AC_REQUIRE([AC_PROG_MKDIR_P])dnl -# For better backward compatibility. To be removed once Automake 1.9.x -# dies out for good. For more background, see: -# -# -AC_SUBST([mkdir_p], ['$(MKDIR_P)']) -# We need awk for the "check" target. The system "awk" is bad on -# some platforms. -AC_REQUIRE([AC_PROG_AWK])dnl -AC_REQUIRE([AC_PROG_MAKE_SET])dnl -AC_REQUIRE([AM_SET_LEADING_DOT])dnl -_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], - [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], - [_AM_PROG_TAR([v7])])]) -_AM_IF_OPTION([no-dependencies],, -[AC_PROVIDE_IFELSE([AC_PROG_CC], - [_AM_DEPENDENCIES([CC])], - [m4_define([AC_PROG_CC], - m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl -AC_PROVIDE_IFELSE([AC_PROG_CXX], - [_AM_DEPENDENCIES([CXX])], - [m4_define([AC_PROG_CXX], - m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl -AC_PROVIDE_IFELSE([AC_PROG_OBJC], - [_AM_DEPENDENCIES([OBJC])], - [m4_define([AC_PROG_OBJC], - m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl -AC_PROVIDE_IFELSE([AC_PROG_OBJCXX], - [_AM_DEPENDENCIES([OBJCXX])], - [m4_define([AC_PROG_OBJCXX], - m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl -]) -AC_REQUIRE([AM_SILENT_RULES])dnl -dnl The testsuite driver may need to know about EXEEXT, so add the -dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This -dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below. -AC_CONFIG_COMMANDS_PRE(dnl -[m4_provide_if([_AM_COMPILER_EXEEXT], - [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl -]) - -dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not -dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further -dnl mangled by Autoconf and run in a shell conditional statement. -m4_define([_AC_COMPILER_EXEEXT], -m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) - - -# When config.status generates a header, we must update the stamp-h file. -# This file resides in the same directory as the config header -# that is generated. The stamp files are numbered to have different names. - -# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the -# loop where config.status creates the headers, so we can generate -# our stamp files there. -AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], -[# Compute $1's index in $config_headers. -_am_arg=$1 -_am_stamp_count=1 -for _am_header in $config_headers :; do - case $_am_header in - $_am_arg | $_am_arg:* ) - break ;; - * ) - _am_stamp_count=`expr $_am_stamp_count + 1` ;; - esac -done -echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) - -# Copyright (C) 2001-2013 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. -AC_DEFUN([AM_PROG_INSTALL_SH], -[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -if test x"${install_sh}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; - *) - install_sh="\${SHELL} $am_aux_dir/install-sh" - esac -fi -AC_SUBST([install_sh])]) - -# Copyright (C) 2003-2013 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 whether the underlying file-system supports filenames -# with a leading dot. For instance MS-DOS doesn't. -AC_DEFUN([AM_SET_LEADING_DOT], -[rm -rf .tst 2>/dev/null -mkdir .tst 2>/dev/null -if test -d .tst; then - am__leading_dot=. -else - am__leading_dot=_ -fi -rmdir .tst 2>/dev/null -AC_SUBST([am__leading_dot])]) - -# Check to see how 'make' treats includes. -*- Autoconf -*- - -# Copyright (C) 2001-2013 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_MAKE_INCLUDE() -# ----------------- -# Check to see how make treats includes. -AC_DEFUN([AM_MAKE_INCLUDE], -[am_make=${MAKE-make} -cat > confinc << 'END' -am__doit: - @echo this is the am__doit target -.PHONY: am__doit -END -# If we don't find an include directive, just comment out the code. -AC_MSG_CHECKING([for style of include used by $am_make]) -am__include="#" -am__quote= -_am_result=none -# First try GNU make style include. -echo "include confinc" > confmf -# Ignore all kinds of additional output from 'make'. -case `$am_make -s -f confmf 2> /dev/null` in #( -*the\ am__doit\ target*) - am__include=include - am__quote= - _am_result=GNU - ;; -esac -# Now try BSD make style include. -if test "$am__include" = "#"; then - echo '.include "confinc"' > confmf - case `$am_make -s -f confmf 2> /dev/null` in #( - *the\ am__doit\ target*) - am__include=.include - am__quote="\"" - _am_result=BSD - ;; - esac -fi -AC_SUBST([am__include]) -AC_SUBST([am__quote]) -AC_MSG_RESULT([$_am_result]) -rm -f confinc confmf -]) - -# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- - -# Copyright (C) 1997-2013 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_MISSING_PROG(NAME, PROGRAM) -# ------------------------------ -AC_DEFUN([AM_MISSING_PROG], -[AC_REQUIRE([AM_MISSING_HAS_RUN]) -$1=${$1-"${am_missing_run}$2"} -AC_SUBST($1)]) - -# AM_MISSING_HAS_RUN -# ------------------ -# Define MISSING if not defined so far and test if it is modern enough. -# If it is, set am_missing_run to use it, otherwise, to nothing. -AC_DEFUN([AM_MISSING_HAS_RUN], -[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -AC_REQUIRE_AUX_FILE([missing])dnl -if test x"${MISSING+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; - *) - MISSING="\${SHELL} $am_aux_dir/missing" ;; - esac -fi -# Use eval to expand $SHELL -if eval "$MISSING --is-lightweight"; then - am_missing_run="$MISSING " -else - am_missing_run= - AC_MSG_WARN(['missing' script is too old or missing]) -fi -]) - -# Helper functions for option handling. -*- Autoconf -*- - -# Copyright (C) 2001-2013 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_MANGLE_OPTION(NAME) -# ----------------------- -AC_DEFUN([_AM_MANGLE_OPTION], -[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) - -# _AM_SET_OPTION(NAME) -# -------------------- -# Set option NAME. Presently that only means defining a flag for this option. -AC_DEFUN([_AM_SET_OPTION], -[m4_define(_AM_MANGLE_OPTION([$1]), [1])]) - -# _AM_SET_OPTIONS(OPTIONS) -# ------------------------ -# OPTIONS is a space-separated list of Automake options. -AC_DEFUN([_AM_SET_OPTIONS], -[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) - -# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) -# ------------------------------------------- -# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. -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-2013 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_SANITY_CHECK -# --------------- -AC_DEFUN([AM_SANITY_CHECK], -[AC_MSG_CHECKING([whether build environment is sane]) -# Reject unsafe characters in $srcdir or the absolute working directory -# name. Accept space and tab only in the latter. -am_lf=' -' -case `pwd` in - *[[\\\"\#\$\&\'\`$am_lf]]*) - AC_MSG_ERROR([unsafe absolute working directory name]);; -esac -case $srcdir in - *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) - AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);; -esac - -# Do 'set' in a subshell so we don't clobber the current shell's -# arguments. Must try -L first in case configure is actually a -# symlink; some systems play weird games with the mod time of symlinks -# (eg FreeBSD returns the mod time of the symlink's containing -# directory). -if ( - am_has_slept=no - for am_try in 1 2; do - echo "timestamp, slept: $am_has_slept" > conftest.file - set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` - if test "$[*]" = "X"; then - # -L didn't work. - set X `ls -t "$srcdir/configure" conftest.file` - fi - if test "$[*]" != "X $srcdir/configure conftest.file" \ - && test "$[*]" != "X conftest.file $srcdir/configure"; then - - # If neither matched, then we have a broken ls. This can happen - # if, for instance, CONFIG_SHELL is bash and it inherits a - # broken ls alias from the environment. This has actually - # happened. Such a system could not be considered "sane". - AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken - alias in your environment]) - fi - if test "$[2]" = conftest.file || test $am_try -eq 2; then - break - fi - # Just in case. - sleep 1 - am_has_slept=yes - done - test "$[2]" = conftest.file - ) -then - # Ok. - : -else - AC_MSG_ERROR([newly created file is older than distributed files! -Check your system clock]) -fi -AC_MSG_RESULT([yes]) -# If we didn't sleep, we still need to ensure time stamps of config.status and -# generated files are strictly newer. -am_sleep_pid= -if grep 'slept: no' conftest.file >/dev/null 2>&1; then - ( sleep 1 ) & - am_sleep_pid=$! -fi -AC_CONFIG_COMMANDS_PRE( - [AC_MSG_CHECKING([that generated files are newer than configure]) - if test -n "$am_sleep_pid"; then - # Hide warnings about reused PIDs. - wait $am_sleep_pid 2>/dev/null - fi - AC_MSG_RESULT([done])]) -rm -f conftest.file -]) - -# Copyright (C) 2009-2013 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_SILENT_RULES([DEFAULT]) -# -------------------------- -# Enable less verbose build rules; with the default set to DEFAULT -# ("yes" being less verbose, "no" or empty being verbose). -AC_DEFUN([AM_SILENT_RULES], -[AC_ARG_ENABLE([silent-rules], [dnl -AS_HELP_STRING( - [--enable-silent-rules], - [less verbose build output (undo: "make V=1")]) -AS_HELP_STRING( - [--disable-silent-rules], - [verbose build output (undo: "make V=0")])dnl -]) -case $enable_silent_rules in @%:@ ((( - yes) AM_DEFAULT_VERBOSITY=0;; - no) AM_DEFAULT_VERBOSITY=1;; - *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);; -esac -dnl -dnl A few 'make' implementations (e.g., NonStop OS and NextStep) -dnl do not support nested variable expansions. -dnl See automake bug#9928 and bug#10237. -am_make=${MAKE-make} -AC_CACHE_CHECK([whether $am_make supports nested variables], - [am_cv_make_support_nested_variables], - [if AS_ECHO([['TRUE=$(BAR$(V)) -BAR0=false -BAR1=true -V=1 -am__doit: - @$(TRUE) -.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then - am_cv_make_support_nested_variables=yes -else - am_cv_make_support_nested_variables=no -fi]) -if test $am_cv_make_support_nested_variables = yes; then - dnl Using '$V' instead of '$(V)' breaks IRIX make. - AM_V='$(V)' - AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' -else - AM_V=$AM_DEFAULT_VERBOSITY - AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY -fi -AC_SUBST([AM_V])dnl -AM_SUBST_NOTMAKE([AM_V])dnl -AC_SUBST([AM_DEFAULT_V])dnl -AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl -AC_SUBST([AM_DEFAULT_VERBOSITY])dnl -AM_BACKSLASH='\' -AC_SUBST([AM_BACKSLASH])dnl -_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl -]) - -# Copyright (C) 2001-2013 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 -# --------------------- -# 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 -# is unlikely to handle the host's binaries. -# Fortunately install-sh will honor a STRIPPROG variable, so we -# always use install-sh in "make install-strip", and initialize -# STRIPPROG with the value of the STRIP variable (set by the user). -AC_DEFUN([AM_PROG_INSTALL_STRIP], -[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl -# Installed binaries are usually stripped using 'strip' when the user -# run "make install-strip". However 'strip' might not be the right -# tool to use in cross-compilation environments, therefore Automake -# will honor the 'STRIP' environment variable to overrule this program. -dnl Don't test for $cross_compiling = yes, because it might be 'maybe'. -if test "$cross_compiling" != no; then - AC_CHECK_TOOL([STRIP], [strip], :) -fi -INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" -AC_SUBST([INSTALL_STRIP_PROGRAM])]) - -# Copyright (C) 2006-2013 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_SUBST_NOTMAKE(VARIABLE) -# --------------------------- -# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. -# This macro is traced by Automake. -AC_DEFUN([_AM_SUBST_NOTMAKE]) - -# AM_SUBST_NOTMAKE(VARIABLE) -# -------------------------- -# Public sister of _AM_SUBST_NOTMAKE. -AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) - -# Check how to create a tarball. -*- Autoconf -*- - -# Copyright (C) 2004-2013 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_TAR(FORMAT) -# -------------------- -# Check how to create a tarball in format FORMAT. -# FORMAT should be one of 'v7', 'ustar', or 'pax'. -# -# Substitute a variable $(am__tar) that is a command -# writing to stdout a FORMAT-tarball containing the directory -# $tardir. -# tardir=directory && $(am__tar) > result.tar -# -# Substitute a variable $(am__untar) that extract such -# a tarball read from stdin. -# $(am__untar) < result.tar -# -AC_DEFUN([_AM_PROG_TAR], -[# Always define AMTAR for backward compatibility. Yes, it's still used -# in the wild :-( We should find a proper way to deprecate it ... -AC_SUBST([AMTAR], ['$${TAR-tar}']) - -# We'll loop over all known methods to create a tar archive until one works. -_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' - -m4_if([$1], [v7], - [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'], - - [m4_case([$1], - [ustar], - [# The POSIX 1988 'ustar' format is defined with fixed-size fields. - # There is notably a 21 bits limit for the UID and the GID. In fact, - # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343 - # and bug#13588). - am_max_uid=2097151 # 2^21 - 1 - am_max_gid=$am_max_uid - # The $UID and $GID variables are not portable, so we need to resort - # to the POSIX-mandated id(1) utility. Errors in the 'id' calls - # below are definitely unexpected, so allow the users to see them - # (that is, avoid stderr redirection). - am_uid=`id -u || echo unknown` - am_gid=`id -g || echo unknown` - AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format]) - if test $am_uid -le $am_max_uid; then - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no]) - _am_tools=none - fi - AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format]) - if test $am_gid -le $am_max_gid; then - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no]) - _am_tools=none - fi], - - [pax], - [], - - [m4_fatal([Unknown tar format])]) - - AC_MSG_CHECKING([how to create a $1 tar archive]) - - # Go ahead even if we have the value already cached. We do so because we - # need to set the values for the 'am__tar' and 'am__untar' variables. - _am_tools=${am_cv_prog_tar_$1-$_am_tools} - - for _am_tool in $_am_tools; do - case $_am_tool in - gnutar) - for _am_tar in tar gnutar gtar; do - AM_RUN_LOG([$_am_tar --version]) && break - done - am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' - am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' - am__untar="$_am_tar -xf -" - ;; - plaintar) - # Must skip GNU tar: if it does not support --format= it doesn't create - # ustar tarball either. - (tar --version) >/dev/null 2>&1 && continue - am__tar='tar chf - "$$tardir"' - am__tar_='tar chf - "$tardir"' - am__untar='tar xf -' - ;; - pax) - am__tar='pax -L -x $1 -w "$$tardir"' - am__tar_='pax -L -x $1 -w "$tardir"' - am__untar='pax -r' - ;; - cpio) - am__tar='find "$$tardir" -print | cpio -o -H $1 -L' - am__tar_='find "$tardir" -print | cpio -o -H $1 -L' - am__untar='cpio -i -H $1 -d' - ;; - none) - am__tar=false - am__tar_=false - am__untar=false - ;; - esac - - # If the value was cached, stop now. We just wanted to have am__tar - # and am__untar set. - test -n "${am_cv_prog_tar_$1}" && break - - # tar/untar a dummy directory, and stop if the command works. - rm -rf conftest.dir - mkdir conftest.dir - echo GrepMe > conftest.dir/file - AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) - rm -rf conftest.dir - if test -s conftest.tar; then - AM_RUN_LOG([$am__untar /dev/null 2>&1 && break - fi - done - rm -rf conftest.dir - - AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) - AC_MSG_RESULT([$am_cv_prog_tar_$1])]) - -AC_SUBST([am__tar]) -AC_SUBST([am__untar]) -]) # _AM_PROG_TAR - -# nls.m4 serial 5 (gettext-0.18) -dnl Copyright (C) 1995-2003, 2005-2006, 2008-2013 Free Software Foundation, -dnl Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. -dnl -dnl This file can can be used in projects which are not available under -dnl the GNU General Public License or the GNU Library General Public -dnl License but which still want to provide support for the GNU gettext -dnl functionality. -dnl Please note that the actual code of the GNU gettext library is covered -dnl by the GNU Library General Public License, and the rest of the GNU -dnl gettext package package is covered by the GNU General Public License. -dnl They are *not* in the public domain. - -dnl Authors: -dnl Ulrich Drepper , 1995-2000. -dnl Bruno Haible , 2000-2003. - -AC_PREREQ([2.50]) - -AC_DEFUN([AM_NLS], -[ - AC_MSG_CHECKING([whether NLS is requested]) - dnl Default is enabled NLS - AC_ARG_ENABLE([nls], - [ --disable-nls do not use Native Language Support], - USE_NLS=$enableval, USE_NLS=yes) - AC_MSG_RESULT([$USE_NLS]) - AC_SUBST([USE_NLS]) -]) - -# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- -# serial 1 (pkg-config-0.24) -# -# Copyright © 2004 Scott James Remnant . -# -# 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 of the License, 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. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# PKG_PROG_PKG_CONFIG([MIN-VERSION]) -# ---------------------------------- -AC_DEFUN([PKG_PROG_PKG_CONFIG], -[m4_pattern_forbid([^_?PKG_[A-Z_]+$]) -m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$]) -m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$]) -AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility]) -AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path]) -AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path]) - -if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then - AC_PATH_TOOL([PKG_CONFIG], [pkg-config]) -fi -if test -n "$PKG_CONFIG"; then - _pkg_min_version=m4_default([$1], [0.9.0]) - AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version]) - if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no]) - PKG_CONFIG="" - fi -fi[]dnl -])# PKG_PROG_PKG_CONFIG - -# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) -# -# Check to see whether a particular set of modules exists. Similar -# to PKG_CHECK_MODULES(), but does not set variables or print errors. -# -# Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG]) -# only at the first occurence in configure.ac, so if the first place -# it's called might be skipped (such as if it is within an "if", you -# have to call PKG_CHECK_EXISTS manually -# -------------------------------------------------------------- -AC_DEFUN([PKG_CHECK_EXISTS], -[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl -if test -n "$PKG_CONFIG" && \ - AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then - m4_default([$2], [:]) -m4_ifvaln([$3], [else - $3])dnl -fi]) - -# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) -# --------------------------------------------- -m4_define([_PKG_CONFIG], -[if test -n "$$1"; then - pkg_cv_[]$1="$$1" - elif test -n "$PKG_CONFIG"; then - PKG_CHECK_EXISTS([$3], - [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null` - test "x$?" != "x0" && pkg_failed=yes ], - [pkg_failed=yes]) - else - pkg_failed=untried -fi[]dnl -])# _PKG_CONFIG - -# _PKG_SHORT_ERRORS_SUPPORTED -# ----------------------------- -AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED], -[AC_REQUIRE([PKG_PROG_PKG_CONFIG]) -if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then - _pkg_short_errors_supported=yes -else - _pkg_short_errors_supported=no -fi[]dnl -])# _PKG_SHORT_ERRORS_SUPPORTED - - -# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], -# [ACTION-IF-NOT-FOUND]) -# -# -# Note that if there is a possibility the first call to -# PKG_CHECK_MODULES might not happen, you should be sure to include an -# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac -# -# -# -------------------------------------------------------------- -AC_DEFUN([PKG_CHECK_MODULES], -[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl -AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl -AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl - -pkg_failed=no -AC_MSG_CHECKING([for $1]) - -_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2]) -_PKG_CONFIG([$1][_LIBS], [libs], [$2]) - -m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS -and $1[]_LIBS to avoid the need to call pkg-config. -See the pkg-config man page for more details.]) - -if test $pkg_failed = yes; then - AC_MSG_RESULT([no]) - _PKG_SHORT_ERRORS_SUPPORTED - if test $_pkg_short_errors_supported = yes; then - $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1` - else - $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1` - fi - # Put the nasty error message in config.log where it belongs - echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD - - m4_default([$4], [AC_MSG_ERROR( -[Package requirements ($2) were not met: - -$$1_PKG_ERRORS - -Consider adjusting the PKG_CONFIG_PATH environment variable if you -installed software in a non-standard prefix. - -_PKG_TEXT])[]dnl - ]) -elif test $pkg_failed = untried; then - AC_MSG_RESULT([no]) - m4_default([$4], [AC_MSG_FAILURE( -[The pkg-config script could not be found or is too old. Make sure it -is in your PATH or set the PKG_CONFIG environment variable to the full -path to pkg-config. - -_PKG_TEXT - -To get pkg-config, see .])[]dnl - ]) -else - $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS - $1[]_LIBS=$pkg_cv_[]$1[]_LIBS - AC_MSG_RESULT([yes]) - $3 -fi[]dnl -])# PKG_CHECK_MODULES - - -# PKG_INSTALLDIR(DIRECTORY) -# ------------------------- -# Substitutes the variable pkgconfigdir as the location where a module -# should install pkg-config .pc files. By default the directory is -# $libdir/pkgconfig, but the default can be changed by passing -# DIRECTORY. The user can override through the --with-pkgconfigdir -# parameter. -AC_DEFUN([PKG_INSTALLDIR], -[m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])]) -m4_pushdef([pkg_description], - [pkg-config installation directory @<:@]pkg_default[@:>@]) -AC_ARG_WITH([pkgconfigdir], - [AS_HELP_STRING([--with-pkgconfigdir], pkg_description)],, - [with_pkgconfigdir=]pkg_default) -AC_SUBST([pkgconfigdir], [$with_pkgconfigdir]) -m4_popdef([pkg_default]) -m4_popdef([pkg_description]) -]) dnl PKG_INSTALLDIR - - -# PKG_NOARCH_INSTALLDIR(DIRECTORY) -# ------------------------- -# Substitutes the variable noarch_pkgconfigdir as the location where a -# module should install arch-independent pkg-config .pc files. By -# default the directory is $datadir/pkgconfig, but the default can be -# changed by passing DIRECTORY. The user can override through the -# --with-noarch-pkgconfigdir parameter. -AC_DEFUN([PKG_NOARCH_INSTALLDIR], -[m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])]) -m4_pushdef([pkg_description], - [pkg-config arch-independent installation directory @<:@]pkg_default[@:>@]) -AC_ARG_WITH([noarch-pkgconfigdir], - [AS_HELP_STRING([--with-noarch-pkgconfigdir], pkg_description)],, - [with_noarch_pkgconfigdir=]pkg_default) -AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir]) -m4_popdef([pkg_default]) -m4_popdef([pkg_description]) -]) dnl PKG_NOARCH_INSTALLDIR - - -# PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE, -# [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) -# ------------------------------------------- -# Retrieves the value of the pkg-config variable for the given module. -AC_DEFUN([PKG_CHECK_VAR], -[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl -AC_ARG_VAR([$1], [value of $3 for $2, overriding pkg-config])dnl - -_PKG_CONFIG([$1], [variable="][$3]["], [$2]) -AS_VAR_COPY([$1], [pkg_cv_][$1]) - -AS_VAR_IF([$1], [""], [$5], [$4])dnl -])# PKG_CHECK_VAR - -# Configure paths for GLIB -# Owen Taylor 1997-2001 - -dnl AM_PATH_GLIB_2_0([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, MODULES]]]]) -dnl Test for GLIB, and define GLIB_CFLAGS and GLIB_LIBS, if gmodule, gobject, -dnl gthread, or gio is specified in MODULES, pass to pkg-config -dnl -AC_DEFUN([AM_PATH_GLIB_2_0], -[dnl -dnl Get the cflags and libraries from pkg-config -dnl -AC_ARG_ENABLE(glibtest, [ --disable-glibtest do not try to compile and run a test GLIB program], - , enable_glibtest=yes) - - pkg_config_args=glib-2.0 - for module in . $4 - do - case "$module" in - gmodule) - pkg_config_args="$pkg_config_args gmodule-2.0" - ;; - gmodule-no-export) - pkg_config_args="$pkg_config_args gmodule-no-export-2.0" - ;; - gobject) - pkg_config_args="$pkg_config_args gobject-2.0" - ;; - gthread) - pkg_config_args="$pkg_config_args gthread-2.0" - ;; - gio*) - pkg_config_args="$pkg_config_args $module-2.0" - ;; - esac - done - - PKG_PROG_PKG_CONFIG([0.16]) - - no_glib="" - - if test "x$PKG_CONFIG" = x ; then - no_glib=yes - PKG_CONFIG=no - fi - - min_glib_version=ifelse([$1], ,2.0.0,$1) - AC_MSG_CHECKING(for GLIB - version >= $min_glib_version) - - if test x$PKG_CONFIG != xno ; then - ## don't try to run the test against uninstalled libtool libs - if $PKG_CONFIG --uninstalled $pkg_config_args; then - echo "Will use uninstalled version of GLib found in PKG_CONFIG_PATH" - enable_glibtest=no - fi - - if $PKG_CONFIG --atleast-version $min_glib_version $pkg_config_args; then - : - else - no_glib=yes - fi - fi - - if test x"$no_glib" = x ; then - GLIB_GENMARSHAL=`$PKG_CONFIG --variable=glib_genmarshal glib-2.0` - GOBJECT_QUERY=`$PKG_CONFIG --variable=gobject_query glib-2.0` - GLIB_MKENUMS=`$PKG_CONFIG --variable=glib_mkenums glib-2.0` - GLIB_COMPILE_RESOURCES=`$PKG_CONFIG --variable=glib_compile_resources gio-2.0` - - GLIB_CFLAGS=`$PKG_CONFIG --cflags $pkg_config_args` - GLIB_LIBS=`$PKG_CONFIG --libs $pkg_config_args` - glib_config_major_version=`$PKG_CONFIG --modversion glib-2.0 | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` - glib_config_minor_version=`$PKG_CONFIG --modversion glib-2.0 | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` - glib_config_micro_version=`$PKG_CONFIG --modversion glib-2.0 | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` - if test "x$enable_glibtest" = "xyes" ; then - ac_save_CFLAGS="$CFLAGS" - ac_save_LIBS="$LIBS" - CFLAGS="$CFLAGS $GLIB_CFLAGS" - LIBS="$GLIB_LIBS $LIBS" -dnl -dnl Now check if the installed GLIB is sufficiently new. (Also sanity -dnl checks the results of pkg-config to some extent) -dnl - rm -f conf.glibtest - AC_TRY_RUN([ -#include -#include -#include - -int -main () -{ - unsigned int major, minor, micro; - - fclose (fopen ("conf.glibtest", "w")); - - if (sscanf("$min_glib_version", "%u.%u.%u", &major, &minor, µ) != 3) { - printf("%s, bad version string\n", "$min_glib_version"); - exit(1); - } - - if ((glib_major_version != $glib_config_major_version) || - (glib_minor_version != $glib_config_minor_version) || - (glib_micro_version != $glib_config_micro_version)) - { - printf("\n*** 'pkg-config --modversion glib-2.0' returned %d.%d.%d, but GLIB (%d.%d.%d)\n", - $glib_config_major_version, $glib_config_minor_version, $glib_config_micro_version, - glib_major_version, glib_minor_version, glib_micro_version); - printf ("*** was found! If pkg-config was correct, then it is best\n"); - printf ("*** to remove the old version of GLib. You may also be able to fix the error\n"); - printf("*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing\n"); - printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that is\n"); - printf("*** required on your system.\n"); - printf("*** If pkg-config was wrong, set the environment variable PKG_CONFIG_PATH\n"); - printf("*** to point to the correct configuration files\n"); - } - else if ((glib_major_version != GLIB_MAJOR_VERSION) || - (glib_minor_version != GLIB_MINOR_VERSION) || - (glib_micro_version != GLIB_MICRO_VERSION)) - { - printf("*** GLIB header files (version %d.%d.%d) do not match\n", - GLIB_MAJOR_VERSION, GLIB_MINOR_VERSION, GLIB_MICRO_VERSION); - printf("*** library (version %d.%d.%d)\n", - glib_major_version, glib_minor_version, glib_micro_version); - } - else - { - if ((glib_major_version > major) || - ((glib_major_version == major) && (glib_minor_version > minor)) || - ((glib_major_version == major) && (glib_minor_version == minor) && (glib_micro_version >= micro))) - { - return 0; - } - else - { - printf("\n*** An old version of GLIB (%u.%u.%u) was found.\n", - glib_major_version, glib_minor_version, glib_micro_version); - printf("*** You need a version of GLIB newer than %u.%u.%u. The latest version of\n", - major, minor, micro); - printf("*** GLIB is always available from ftp://ftp.gtk.org.\n"); - printf("***\n"); - printf("*** If you have already installed a sufficiently new version, this error\n"); - printf("*** probably means that the wrong copy of the pkg-config shell script is\n"); - printf("*** being found. The easiest way to fix this is to remove the old version\n"); - printf("*** of GLIB, but you can also set the PKG_CONFIG environment to point to the\n"); - printf("*** correct copy of pkg-config. (In this case, you will have to\n"); - printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n"); - printf("*** so that the correct libraries are found at run-time))\n"); - } - } - return 1; -} -],, no_glib=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) - CFLAGS="$ac_save_CFLAGS" - LIBS="$ac_save_LIBS" - fi - fi - if test "x$no_glib" = x ; then - AC_MSG_RESULT(yes (version $glib_config_major_version.$glib_config_minor_version.$glib_config_micro_version)) - ifelse([$2], , :, [$2]) - else - AC_MSG_RESULT(no) - if test "$PKG_CONFIG" = "no" ; then - echo "*** A new enough version of pkg-config was not found." - echo "*** See http://www.freedesktop.org/software/pkgconfig/" - else - if test -f conf.glibtest ; then - : - else - echo "*** Could not run GLIB test program, checking why..." - ac_save_CFLAGS="$CFLAGS" - ac_save_LIBS="$LIBS" - CFLAGS="$CFLAGS $GLIB_CFLAGS" - LIBS="$LIBS $GLIB_LIBS" - AC_TRY_LINK([ -#include -#include -], [ return ((glib_major_version) || (glib_minor_version) || (glib_micro_version)); ], - [ echo "*** The test program compiled, but did not run. This usually means" - echo "*** that the run-time linker is not finding GLIB or finding the wrong" - echo "*** version of GLIB. If it is not finding GLIB, you'll need to set your" - echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" - echo "*** to the installed location Also, make sure you have run ldconfig if that" - echo "*** is required on your system" - echo "***" - echo "*** If you have an old version installed, it is best to remove it, although" - echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" ], - [ echo "*** The test program failed to compile or link. See the file config.log for the" - echo "*** exact error that occured. This usually means GLIB is incorrectly installed."]) - CFLAGS="$ac_save_CFLAGS" - LIBS="$ac_save_LIBS" - fi - fi - GLIB_CFLAGS="" - GLIB_LIBS="" - GLIB_GENMARSHAL="" - GOBJECT_QUERY="" - GLIB_MKENUMS="" - GLIB_COMPILE_RESOURCES="" - ifelse([$3], , :, [$3]) - fi - AC_SUBST(GLIB_CFLAGS) - AC_SUBST(GLIB_LIBS) - AC_SUBST(GLIB_GENMARSHAL) - AC_SUBST(GOBJECT_QUERY) - AC_SUBST(GLIB_MKENUMS) - AC_SUBST(GLIB_COMPILE_RESOURCES) - rm -f conf.glibtest -]) - -m4_include([m4/glibtests.m4]) -m4_include([m4/gtk-doc.m4]) -m4_include([m4/intltool.m4]) -m4_include([m4/introspection.m4]) -m4_include([m4/libtool.m4]) -m4_include([m4/ltoptions.m4]) -m4_include([m4/ltsugar.m4]) -m4_include([m4/ltversion.m4]) -m4_include([m4/lt~obsolete.m4]) diff --git a/configure.ac b/configure.ac old mode 100644 new mode 100755 index b781423..6a448c2 --- a/configure.ac +++ b/configure.ac @@ -204,6 +204,300 @@ required at compile time), but you should be sure to add a runtime dependency on it.]) fi +dnl ************************* +dnl *** Tizen dlog support *** +dnl ************************* + +AC_ARG_ENABLE(tizen-dlog, + AS_HELP_STRING([--disable-tizen-dlog], [Disable Tizen dlog support ]), + enable_tizen_dlog=no, + enable_tizen_dlog=yes) + +AC_MSG_CHECKING([for Tizen dlog]) +if test $enable_tizen_dlog != no;then + AC_DEFINE(ENABLE_TIZEN_DLOG, 1, [Add new feature, which prints logs via Tizen log system named dlog.]) + PKG_CHECK_MODULES(TIZEN_DLOG, dlog) + AC_SUBST(TIZEN_DLOG_CFLAGS) + AC_SUBST(TIZEN_DLOG_LIBS) +fi +AC_MSG_RESULT($enable_tizen_dlog) + +AM_CONDITIONAL(TIZEN_DLOG, [test $enable_tizen_dlog = yes]) + +dnl ************************* +dnl *** Tizen client certificate support *** +dnl ************************* + +AC_ARG_ENABLE(tizen-client-certificate, + AS_HELP_STRING([--enable-tizen-client-certificate], [Enable Tizen client certificate support ]), , + enable_tizen_client_certificate=no) + +AC_MSG_CHECKING([for Tizen client certificate]) +if test $enable_tizen_client_certificate != no;then + AC_DEFINE(ENABLE_TIZEN_TV_CLIENT_CERTIFICATE, 1, [Add new feature, which implement HTTPS connection with client certificate feature]) +fi +AC_MSG_RESULT($enable_tizen_client_certificate) + +AM_CONDITIONAL(TIZEN_TV_CLIENT_CERTIFICATE, [test $enable_tizen_client_certificate = yes]) + +dnl ************************* +dnl *** Tizen certificate handling *** +dnl ************************* + +AC_ARG_ENABLE(tizen-certificate-handling, + AS_HELP_STRING([--enable-tizen-certificate-handling], [Enable Support for certificate handling( support signal: ACCEPT_CERTIFICATE )]), , + enable_tizen_certificate_handling=no) + +AC_MSG_CHECKING([for Tizen certificate handling]) +if test $enable_tizen_certificate_handling != no;then + AC_DEFINE(ENABLE_TIZEN_TV_CERTIFICATE_HANDLING, 1, [Add new feature, which support for certificate handling( signal: ACCEPT_CERTIFICATE )]) +fi +AC_MSG_RESULT($enable_tizen_certificate_handling) + +AM_CONDITIONAL(TIZEN_TV_CERTIFICATE_HANDLING, [test $enable_tizen_certificate_handling = yes]) + +dnl ******************************************** +dnl *** Tizen support text storage of cookie *** +dnl ******************************************** + +AC_ARG_ENABLE(tizen-text-storage-mode-of-cookie, + AS_HELP_STRING([--enable-tizen-text-storage-mode-of-cookie], [Enable Tizen support text storage of cookie]), + , + enable_tizen_text_storage_mode_of_cookie=no) + +AC_MSG_CHECKING([for Tizen support text storage of cookie]) +if test $enable_tizen_text_storage_mode_of_cookie != no;then + AC_DEFINE(ENABLE_TIZEN_TV_FIX_TEXT_STORAGE_MODE_OF_COOKIE, 1, [Fix document.cookie get/set cookie not working issue, in case of file:// protocol.]) +fi +AC_MSG_RESULT($enable_tizen_text_storage_mode_of_cookie) + +AM_CONDITIONAL(ENABLE_TIZEN_TV_FIX_TEXT_STORAGE_MODE_OF_COOKIE, [test $enable_tizen_text_storage_mode_of_cookie = yes]) + +dnl ******************************************************* +dnl *** Tizen support soup cache clean leaked resources *** +dnl ******************************************************* + +AC_ARG_ENABLE(tizen-soup-cache-clean-leaked-resources, + AS_HELP_STRING([--enable-tizen-soup-cache-clean-leaked-resources], [Enable Tizen soup cache clean leaked resources ]), , + enable_tizen_soup_cache_clean_leaked_resources=no) + +AC_MSG_CHECKING([for Tizen soup cache clean leaked resources]) +if test $enable_tizen_soup_cache_clean_leaked_resources != no;then + AC_DEFINE(ENABLE_TIZEN_TV_SOUP_CACHE_CLEAN_LEAKED_RESOURCES, 1, [Add new feature, which supports soup cache clean leaked resources]) +fi +AC_MSG_RESULT($enable_tizen_soup_cache_clean_leaked_resources) + +AM_CONDITIONAL(TIZEN_TV_SOUP_CACHE_CLEAN_LEAKED_RESOURCES, [test $enable_tizen_soup_cache_clean_leaked_resources = yes]) + +dnl ******************************************************* +dnl *** Tizen support soup cache optimise load time *** +dnl ******************************************************* + +AC_ARG_ENABLE(tizen-tv-soup-cache-optimise-load-time, + AS_HELP_STRING([--enable-tizen-tv-soup-cache-optimise-load-time], [Enable Tizen soup cache optimise load time ]), , + enable_tizen_tv_soup_cache_optimise_load_time=no) + +AC_MSG_CHECKING([for Tizen soup cache optimise load time]) +if test $enable_tizen_tv_soup_cache_optimise_load_time != no;then + AC_DEFINE(ENABLE_TIZEN_TV_SOUP_CACHE_OPTIMISE_LOAD_TIME, 1, [Add new feature, which supports soup cache optimised load time]) +fi +AC_MSG_RESULT($enable_tizen_tv_soup_cache_optimise_load_time) + +AM_CONDITIONAL(TIZEN_TV_SOUP_CACHE_OPTIMISE_LOAD_TIME, [test $enable_tizen_tv_soup_cache_optimise_load_time = yes]) + +dnl ************************************************************* +dnl *** Tizen doesn't cache video and audio resources on disk *** +dnl ************************************************************* + +AC_ARG_ENABLE(tizen-tv-no-cache-about-video-and-audio, + AS_HELP_STRING([--enable-tizen-tv-no-cache-about-video-and-audio], [Enable Tizen doesn't cache video and audio resources on disk]), + , + enable_tizen_tv_no_cache_about_video_and_audio=no) + +AC_MSG_CHECKING([for Tizen doesn't cache video and audio]) +if test $enable_tizen_tv_no_cache_about_video_and_audio != no;then + AC_DEFINE(ENABLE_TIZEN_TV_NO_CACHE_ABOUT_VIDEO_AND_AUDIO, 1, [Add new feature, which doesn't cache video and audio resources on disk]) +fi +AC_MSG_RESULT($enable_tizen_tv_no_cache_about_video_and_audio) + +AM_CONDITIONAL(TIZEN_TV_SOUP_CACHE_CLEAN_LEAKED_RESOURCES, [test $enable_tizen_soup_cache_clean_leaked_resources = yes]) + +dnl ************************* +dnl *** Tizen use expanded response block *** +dnl ************************* + +AC_ARG_ENABLE(tizen-use-expanded-response-block, + AS_HELP_STRING([--enable-tizen-use-expanded-response-block], [Enable Tizen use expanded response block ]), , + enable_tizen_use_expanded_response_block=no) + +AC_MSG_CHECKING([for Tizen use expanded response block]) +if test $enable_tizen_use_expanded_response_block != no;then + AC_DEFINE(ENABLE_TIZEN_USE_EXPANDED_RESPONSE_BLOCK, 1, [Add new feature, which implement HTTPS connection with client certificate feature]) +fi +AC_MSG_RESULT($enable_tizen_use_expanded_response_block) + +AM_CONDITIONAL(TIZEN_USE_EXPANDED_RESPONSE_BLOCK, [test $enable_tizen_use_expanded_response_block = yes]) + +dnl *********************************************** +dnl *** Tizen support create idle tcp connection *** +dnl *********************************************** + +AC_ARG_ENABLE(tizen-create-idle-tcp-connection, + AS_HELP_STRING([--enable-tizen-create-idle-tcp-connection], [Enable Tizen create idle tcp connection ]), , + enable_tizen_create_idle_tcp_connection=no) + +AC_MSG_CHECKING([for Tizen create idle tcp connection]) +if test $enable_tizen_create_idle_tcp_connection != no;then + AC_DEFINE(ENABLE_TIZEN_TV_CREATE_IDLE_TCP_CONNECTION, 1, [Add new feature, which supports Create Idle tcp connections for pre-connection]) +fi +AC_MSG_RESULT($enable_tizen_create_idle_tcp_connection) + +AM_CONDITIONAL(TIZEN_TV_CREATE_IDLE_TCP_CONNECTION, [test $enable_tizen_create_idle_tcp_connection = yes]) + +dnl ************************* +dnl *** Tizen disable mime sniff *** +dnl ************************* + +AC_ARG_ENABLE(tizen-disable-mime-sniff, + AS_HELP_STRING([--enable-tizen-disable-mime-sniff], [Enable Tizen disable mime sniff support ]), , + enable_tizen_disable_mime_sniff=no) + +AC_MSG_CHECKING([for Tizen disable mime sniff]) +if test $enable_tizen_disable_mime_sniff != no;then + AC_DEFINE(ENABLE_TIZEN_TV_DISABLE_MIME_SNIFF, 1, [Provide an interface for Webkit to disable MIME sniff when content-type is unknown.]) +fi +AC_MSG_RESULT($enable_tizen_disable_mime_sniff) + +AM_CONDITIONAL(TIZEN_TV_DISABLE_MIME_SNIFF, [test $enable_tizen_disable_mime_sniff = yes]) + +dnl *********************************************** +dnl *** Tizen support soup immediate requesting *** +dnl *********************************************** + +AC_ARG_ENABLE(tizen-immediate-requesting, + AS_HELP_STRING([--enable-tizen-immediate-requesting], [Enable Tizen soup immediate requesting ]), , + enable_tizen_immediate_requesting=no) + +AC_MSG_CHECKING([for Tizen soup immediate requesting]) +if test $enable_tizen_immediate_requesting != no;then + AC_DEFINE(ENABLE_TIZEN_TV_IMMEDIATE_REQUESTING, 1, [Add new feature, which supports soup immediate requesting]) +fi +AC_MSG_RESULT($enable_tizen_immediate_requesting) + +AM_CONDITIONAL(TIZEN_TV_IMMEDIATE_REQUESTING, [test $enable_tizen_immediate_requesting = yes]) + +dnl *********************************************** +dnl *** Tizen support computing disk cache size *** +dnl *********************************************** + +AC_ARG_ENABLE(tizen-computing-disk-cache-size, + AS_HELP_STRING([--enable-tizen-computing-disk-cache-size], [Enable Tizen computing disk cache size support ]), , + enable_tizen_computing_disk_cache_size=no) + +AC_MSG_CHECKING([for Tizen computing disk cache size]) +if test $enable_tizen_computing_disk_cache_size != no;then + AC_DEFINE(ENABLE_TIZEN_TV_COMPUTING_DISK_CACHE_SIZE, 1, [Add new feature, which supports entry length as disk cache size]) +fi +AC_MSG_RESULT($enable_tizen_computing_disk_cache_size) + +AM_CONDITIONAL(TIZEN_TV_COMPUTING_DISK_CACHE_SIZE, [test $enable_tizen_computing_disk_cache_size = yes]) + +dnl *********************************************** +dnl *** Tizen support force preload tlsdb*** +dnl *********************************************** +AC_ARG_ENABLE(tizen-tv-force-preload-tlsdb, + AS_HELP_STRING([--enable-tizen-tv-force-preload-tlsdb], [Enable Tizen force preload tlsdb ]), , + enable_tizen_tv_force_preload_tlsdb=no) + +AC_MSG_CHECKING([for Tizen force preload tlsdb]) +if test $enable_tizen_tv_force_preload_tlsdb != no;then + AC_DEFINE(ENABLE_TIZEN_TV_FORCE_PRELOAD_TLSDB, 1, [Add new feature, which supports to pre load TLS database]) +fi +AC_MSG_RESULT($enable_tizen_tv_force_preload_tlsdb) + +AM_CONDITIONAL(TIZEN_TV_FORCE_PRELOAD_TLSDB, [test $enable_tizen_tv_force_preload_tlsdb = yes]) + +dnl **************************************** +dnl *** Tizen add x soup message headers *** +dnl **************************************** + +AC_ARG_ENABLE(tizen-add-x-soup-message-headers, + AS_HELP_STRING([--enable-tizen-add-x-soup-message-headers], [Enable Tizen add X-From-Cache and X-Entry-Length soup message headers]), + , + enable_tizen_add_x_soup_message_headers=no) + +AC_MSG_CHECKING([for Tizen support text storage of cookie]) +if test $enable_tizen_add_x_soup_message_headers != no;then + AC_DEFINE(ENABLE_TIZEN_TV_ADD_X_SOUP_MESSAGE_HEADERS, 1, [Add X-From-Cache and X-Entry-Length header.]) +fi +AC_MSG_RESULT($enable_tizen_add_x_soup_message_headers) + +AM_CONDITIONAL(ENABLE_TIZEN_TV_ADD_X_SOUP_MESSAGE_HEADERS, [test $enable_tizen_add_x_soup_message_headers = yes]) + +dnl ****************************************** +dnl *** Tizen dynamic certificate loading *** +dnl ****************************************** + +AC_ARG_ENABLE(tizen-dynamic-certificate-loading, + AS_HELP_STRING([--enable-tizen-dynamic-certificate_loading], [Enable dynamic SSL Certificate loading support]), , + enable_tizen_dynamic_certificate_loading=no) + +AC_MSG_CHECKING([for Tizen dynamic certificate loading]) +if test $enable_tizen_dynamic_certificate_loading != no;then + AC_DEFINE(ENABLE_TIZEN_TV_DYNAMIC_CERTIFICATE_LOADING, 1, [Add new feature, which implement support dynamic SSL Certificate Loading]) +fi +AC_MSG_RESULT($enable_tizen_dynamic_certificate_loading) + +AM_CONDITIONAL(TIZEN_TV_DYNAMIC_CERTIFICATE_LOADING, [test $enable_tizen_dynamic_certificate_loading = yes]) + +dnl *************************************************** +dnl *** Tizen checking deleted entry files support *** +dnl *************************************************** + +AC_ARG_ENABLE(tizen-tv-checking-deleted-entry-file, + AS_HELP_STRING([--enable-tizen-tv-checking-deleted-entry-file], [Enable Tizen checking deleted entry files support ]), , + enable_tizen_tv_checking_deleted_entry_file=no) + +AC_MSG_CHECKING([for Tizen checking deleted entry files]) +if test $enable_tizen_tv_checking_deleted_entry_file != no;then + AC_DEFINE(ENABLE_TIZEN_TV_CHECKING_DELETED_ENTRY_FILE, 1, [Checking deleted entry files before soup_cache_load()]) +fi +AC_MSG_RESULT($enable_tizen_tv_checking_deleted_entry_file) + +AM_CONDITIONAL(TIZEN_TV_CHECKING_DELETED_ENTRY_FILE, [test $enable_tizen_tv_checking_deleted_entry_file = yes]) + +dnl ******************************* +dnl *** Tizen performance test *** +dnl ******************************* + +AC_ARG_ENABLE(tizen-performance-test-log, + AS_HELP_STRING([--enable-tizen-performance-test-log], [Enable Tizen performance test log]), , + enable_tizen_performance_test_log=no) + +AC_MSG_CHECKING([for Tizen performance test log]) +if test $enable_tizen_performance_test_log != no;then + AC_DEFINE(ENABLE_TIZEN_PERFORMANCE_TEST_LOG, 1, [Add performance test log]) +fi +AC_MSG_RESULT($enable_tizen_performance_test_log) + +AM_CONDITIONAL(TIZEN_PERFORMANCE_TEST_LOG, [test $enable_tizen_performance_test_log = yes]) + +dnl ************************************************************************ +dnl *** Use soupTimeOffset to adjust time for certificate or cookie case *** +dnl ************************************************************************ + +AC_ARG_ENABLE(tizen-tv-adjust-time, + AS_HELP_STRING([--enable-tizen-tv-adjust-time], [Enable Tizen use soupTimeOffset to adjust time for certificate or cookie case]), , + enable_tizen_tv_adjust_time=no) + +AC_MSG_CHECKING([for Tizen use soupTimeOffset to adjust time for certificate or cookie case]) +if test $enable_tizen_tv_adjust_time != no;then + AC_DEFINE(ENABLE_TIZEN_TV_ADJUST_TIME, 1, [Add new feature, which use soupTimeOffset to adjust time for certificate or cookie case]) +fi +AC_MSG_RESULT($enable_tizen_tv_adjust_time) + +AM_CONDITIONAL(TIZEN_TV_ADJUST_TIME, [test $enable_tizen_tv_adjust_time = yes]) + dnl ****************************** dnl *** Stuff for regression tests dnl ****************************** diff --git a/docs/reference/html/SoupAddress.html b/docs/reference/html/SoupAddress.html deleted file mode 100644 index 87f4251..0000000 --- a/docs/reference/html/SoupAddress.html +++ /dev/null @@ -1,1090 +0,0 @@ - - - - -libsoup Reference Manual: SoupAddress - - - - - - - - - - - - - - - - -
-
-
- - -
-

SoupAddress

-

SoupAddress — DNS support

-
-
-

Functions

-
---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-SoupAddress * - -soup_address_new () -
-SoupAddress * - -soup_address_new_from_sockaddr () -
-SoupAddress * - -soup_address_new_any () -
-void - -(*SoupAddressCallback) () -
-void - -soup_address_resolve_async () -
-guint - -soup_address_resolve_sync () -
-gboolean - -soup_address_is_resolved () -
const char * - -soup_address_get_name () -
struct sockaddr * - -soup_address_get_sockaddr () -
-GSocketAddress * - -soup_address_get_gsockaddr () -
const char * - -soup_address_get_physical () -
-guint - -soup_address_get_port () -
-gboolean - -soup_address_equal_by_name () -
-guint - -soup_address_hash_by_name () -
-gboolean - -soup_address_equal_by_ip () -
-guint - -soup_address_hash_by_ip () -
-
-
-

Properties

-
----- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
SoupAddressFamilyfamilyRead / Write / Construct Only
-gchar *nameRead / Write / Construct Only
-gchar *physicalRead
gintportRead / Write / Construct Only
-gchar *protocolRead / Write / Construct Only
gpointersockaddrRead / Write / Construct Only
-
-
-

Types and Values

-
---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 SoupAddress
enumSoupAddressFamily
#defineSOUP_ADDRESS_ANY_PORT
#defineSOUP_ADDRESS_FAMILY
#defineSOUP_ADDRESS_NAME
#defineSOUP_ADDRESS_PHYSICAL
#defineSOUP_ADDRESS_PORT
#defineSOUP_ADDRESS_SOCKADDR
#defineSOUP_ADDRESS_PROTOCOL
-
-
-

Object Hierarchy

-
    GObject
-    ╰── SoupAddress
-
-
-
-

Implemented Interfaces

-

-SoupAddress implements - GSocketConnectable.

-
-
-

Includes

-
#include <libsoup/soup.h>
-
-
-
-

Description

-

SoupAddress represents the address of a TCP connection endpoint: -both the IP address and the port. (It is somewhat like an -object-oriented version of struct sockaddr.)

-

Although SoupAddress is still used in some libsoup API's, it -should not be used in new code; use GLib's GNetworkAddress or -GSocketAddress instead.

-
-
-

Functions

-
-

soup_address_new ()

-
SoupAddress *
-soup_address_new (const char *name,
-                  guint port);
-

Creates a SoupAddress from name - and port -. The SoupAddress's IP -address may not be available right away; the caller can call -soup_address_resolve_async() or soup_address_resolve_sync() to -force a DNS resolution.

-
-

Parameters

-
----- - - - - - - - - - - - - -

name

a hostname or physical address

 

port

a port number

 
-
-
-

Returns

-

a SoupAddress

-

-
-
-
-
-

soup_address_new_from_sockaddr ()

-
SoupAddress *
-soup_address_new_from_sockaddr (struct sockaddr *sa,
-                                int len);
-

Returns a SoupAddress equivalent to sa - (or NULL if sa -'s -address family isn't supported)

-
-

Parameters

-
----- - - - - - - - - - - - - -

sa

a pointer to a sockaddr

 

len

size of sa -

 
-
-
-

Returns

-

the new SoupAddress.

-

[allow-none]

-
-
-
-
-

soup_address_new_any ()

-
SoupAddress *
-soup_address_new_any (SoupAddressFamily family,
-                      guint port);
-

Returns a SoupAddress corresponding to the "any" address -for family - (or NULL if family - isn't supported), suitable for -using as a listening SoupSocket.

-
-

Parameters

-
----- - - - - - - - - - - - - -

family

the address family

 

port

the port number (usually SOUP_ADDRESS_ANY_PORT)

 
-
-
-

Returns

-

the new SoupAddress.

-

[allow-none]

-
-
-
-
-

SoupAddressCallback ()

-
void
-(*SoupAddressCallback) (SoupAddress *addr,
-                        guint status,
-                        gpointer user_data);
-

The callback function passed to soup_address_resolve_async().

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

addr

the SoupAddress that was resolved

 

status

SOUP_STATUS_OK, SOUP_STATUS_CANT_RESOLVE, or -SOUP_STATUS_CANCELLED

 

user_data

the user data that was passed to -soup_address_resolve_async()

 
-
-
-
-
-

soup_address_resolve_async ()

-
void
-soup_address_resolve_async (SoupAddress *addr,
-                            GMainContext *async_context,
-                            GCancellable *cancellable,
-                            SoupAddressCallback callback,
-                            gpointer user_data);
-

Asynchronously resolves the missing half of addr - (its IP address -if it was created with soup_address_new(), or its hostname if it -was created with soup_address_new_from_sockaddr() or -soup_address_new_any().)

-

If cancellable - is non-NULL, it can be used to cancel the -resolution. callback - will still be invoked in this case, with a -status of SOUP_STATUS_CANCELLED.

-

It is safe to call this more than once on a given address, from the -same thread, with the same async_context - (and doing so will not -result in redundant DNS queries being made). But it is not safe to -call from multiple threads, or with different async_contexts -, or -mixed with calls to soup_address_resolve_sync().

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - - - - - - -

addr

a SoupAddress

 

async_context

the GMainContext to call callback -from.

[allow-none]

cancellable

a GCancellable object, or NULL

 

callback

callback to call with the result.

[scope async]

user_data

data for callback -

 
-
-
-
-
-

soup_address_resolve_sync ()

-
guint
-soup_address_resolve_sync (SoupAddress *addr,
-                           GCancellable *cancellable);
-

Synchronously resolves the missing half of addr -, as with -soup_address_resolve_async().

-

If cancellable - is non-NULL, it can be used to cancel the -resolution. soup_address_resolve_sync() will then return a status -of SOUP_STATUS_CANCELLED.

-

It is safe to call this more than once, even from different -threads, but it is not safe to mix calls to -soup_address_resolve_sync() with calls to -soup_address_resolve_async() on the same address.

-
-

Parameters

-
----- - - - - - - - - - - - - -

addr

a SoupAddress

 

cancellable

a GCancellable object, or NULL

 
-
- -
-
-
-

soup_address_is_resolved ()

-
gboolean
-soup_address_is_resolved (SoupAddress *addr);
-

Tests if addr - has already been resolved. Unlike the other -SoupAddress "get" methods, this is safe to call when addr - might -be being resolved in another thread.

-
-

Parameters

-
----- - - - - - -

addr

a SoupAddress

 
-
-
-

Returns

-

TRUE if addr -has been resolved.

-

-
-
-
-
-

soup_address_get_name ()

-
const char *
-soup_address_get_name (SoupAddress *addr);
-

Returns the hostname associated with addr -.

-

This method is not thread-safe; if you call it while addr - is being -resolved in another thread, it may return garbage. You can use -soup_address_is_resolved() to safely test whether or not an address -is resolved before fetching its name or address.

-
-

Parameters

-
----- - - - - - -

addr

a SoupAddress

 
-
-
-

Returns

-

the hostname, or NULL if it is not known.

-

[allow-none]

-
-
-
-
-

soup_address_get_sockaddr ()

-
struct sockaddr *
-soup_address_get_sockaddr (SoupAddress *addr,
-                           int *len);
-

Returns the sockaddr associated with addr -, with its length in -*len -. If the sockaddr is not yet known, returns NULL.

-

This method is not thread-safe; if you call it while addr - is being -resolved in another thread, it may return garbage. You can use -soup_address_is_resolved() to safely test whether or not an address -is resolved before fetching its name or address.

-
-

Parameters

-
----- - - - - - - - - - - - - -

addr

a SoupAddress

 

len

return location for sockaddr length

 
-
-
-

Returns

-

the sockaddr, or NULL.

-

[allow-none][transfer none]

-
-
-
-
-

soup_address_get_gsockaddr ()

-
GSocketAddress *
-soup_address_get_gsockaddr (SoupAddress *addr);
-

Creates a new GSocketAddress corresponding to addr - (which is assumed -to only have one socket address associated with it).

-
-

Parameters

-
----- - - - - - -

addr

a SoupAddress

 
-
-
-

Returns

-

a new GSocketAddress.

-

[transfer full]

-
-

Since 2.32

-
-
-
-

soup_address_get_physical ()

-
const char *
-soup_address_get_physical (SoupAddress *addr);
-

Returns the physical address associated with addr - as a string. -(Eg, "127.0.0.1"). If the address is not yet known, returns NULL.

-

This method is not thread-safe; if you call it while addr - is being -resolved in another thread, it may return garbage. You can use -soup_address_is_resolved() to safely test whether or not an address -is resolved before fetching its name or address.

-
-

Parameters

-
----- - - - - - -

addr

a SoupAddress

 
-
-
-

Returns

-

the physical address, or NULL.

-

[allow-none]

-
-
-
-
-

soup_address_get_port ()

-
guint
-soup_address_get_port (SoupAddress *addr);
-

Returns the port associated with addr -.

-
-

Parameters

-
----- - - - - - -

addr

a SoupAddress

 
-
-
-

Returns

-

the port

-

-
-
-
-
-

soup_address_equal_by_name ()

-
gboolean
-soup_address_equal_by_name (gconstpointer addr1,
-                            gconstpointer addr2);
-

Tests if addr1 - and addr2 - have the same "name". This method can be -used with soup_address_hash_by_name() to create a GHashTable that -hashes on address "names".

-

Comparing by name normally means comparing the addresses by their -hostnames. But if the address was originally created using an IP -address literal, then it will be compared by that instead.

-

In particular, if "www.example.com" has the IP address 10.0.0.1, -and addr1 - was created with the name "www.example.com" and addr2 - -was created with the name "10.0.0.1", then they will compare as -unequal for purposes of soup_address_equal_by_name().

-

This would be used to distinguish hosts in situations where -different virtual hosts on the same IP address should be considered -different. Eg, for purposes of HTTP authentication or cookies, two -hosts with the same IP address but different names are considered -to be different hosts.

-

See also soup_address_equal_by_ip(), which compares by IP address -rather than by name.

-
-

Parameters

-
----- - - - - - - - - - - - - -

addr1

a SoupAddress with a resolved name.

[type Soup.Address]

addr2

another SoupAddress with a resolved -name.

[type Soup.Address]
-
-
-

Returns

-

whether or not addr1 -and addr2 -have the same name

-

-
-

Since 2.26

-
-
-
-

soup_address_hash_by_name ()

-
guint
-soup_address_hash_by_name (gconstpointer addr);
-

A hash function (for GHashTable) that corresponds to -soup_address_equal_by_name(), qv

-
-

Parameters

-
----- - - - - - -

addr

a SoupAddress.

[type Soup.Address]
-
-
-

Returns

-

the named-based hash value for addr -.

-

-
-

Since 2.26

-
-
-
-

soup_address_equal_by_ip ()

-
gboolean
-soup_address_equal_by_ip (gconstpointer addr1,
-                          gconstpointer addr2);
-

Tests if addr1 - and addr2 - have the same IP address. This method -can be used with soup_address_hash_by_ip() to create a -GHashTable that hashes on IP address.

-

This would be used to distinguish hosts in situations where -different virtual hosts on the same IP address should be considered -the same. Eg, if "www.example.com" and "www.example.net" have the -same IP address, then a single connection can be used to talk -to either of them.

-

See also soup_address_equal_by_name(), which compares by name -rather than by IP address.

-
-

Parameters

-
----- - - - - - - - - - - - - -

addr1

a SoupAddress with a resolved IP -address.

[type Soup.Address]

addr2

another SoupAddress with a resolved -IP address.

[type Soup.Address]
-
-
-

Returns

-

whether or not addr1 -and addr2 -have the same IP -address.

-

-
-

Since 2.26

-
-
-
-

soup_address_hash_by_ip ()

-
guint
-soup_address_hash_by_ip (gconstpointer addr);
-

A hash function (for GHashTable) that corresponds to -soup_address_equal_by_ip(), qv

-
-

Parameters

-
----- - - - - - -

addr

a SoupAddress.

[type Soup.Address]
-
-
-

Returns

-

the IP-based hash value for addr -.

-

-
-

Since 2.26

-
-
-
-

Types and Values

-
-

SoupAddress

-
typedef struct _SoupAddress SoupAddress;
-

-

-
-
-
-

enum SoupAddressFamily

-

The supported address families.

-
-

Members

-
----- - - - - - - - - - - - - - - - - - -

SOUP_ADDRESS_FAMILY_INVALID

-

an invalid SoupAddress

-
 

SOUP_ADDRESS_FAMILY_IPV4

-

an IPv4 address

-
 

SOUP_ADDRESS_FAMILY_IPV6

-

an IPv6 address

-
 
-
-
-
-
-

SOUP_ADDRESS_ANY_PORT

-
#define SOUP_ADDRESS_ANY_PORT 0
-
-

This can be passed to any SoupAddress method that expects a port, -to indicate that you don't care what port is used.

-
-
-
-

SOUP_ADDRESS_FAMILY

-
#define SOUP_ADDRESS_FAMILY   "family"
-
-

Alias for the “family” property. (The -SoupAddressFamily for this address.)

-
-
-
-

SOUP_ADDRESS_NAME

-
#define SOUP_ADDRESS_NAME     "name"
-
-

Alias for the “name” property. (The hostname for -this address.)

-
-
-
-

SOUP_ADDRESS_PHYSICAL

-
#define SOUP_ADDRESS_PHYSICAL "physical"
-
-

An alias for the “physical” property. (The -stringified IP address for this address.)

-
-
-
-

SOUP_ADDRESS_PORT

-
#define SOUP_ADDRESS_PORT     "port"
-
-

An alias for the “port” property. (The port for -this address.)

-
-
-
-

SOUP_ADDRESS_SOCKADDR

-
#define SOUP_ADDRESS_SOCKADDR "sockaddr"
-
-

An alias for the “sockaddr” property. (A pointer -to the struct sockaddr for this address.)

-
-
-
-

SOUP_ADDRESS_PROTOCOL

-
#define SOUP_ADDRESS_PROTOCOL "protocol"
-
-

Alias for the “protocol” property. (The URI scheme -used with this address.)

-
-
-
-

Property Details

-
-

The “family” property

-
  “family”                   SoupAddressFamily
-

Address family for this address.

-

Flags: Read / Write / Construct Only

-

Default value: SOUP_ADDRESS_FAMILY_INVALID

-
-
-
-

The “name” property

-
  “name”                     gchar *
-

Hostname for this address.

-

Flags: Read / Write / Construct Only

-

Default value: NULL

-
-
-
-

The “physical” property

-
  “physical”                 gchar *
-

IP address for this address.

-

Flags: Read

-

Default value: NULL

-
-
-
-

The “port” property

-
  “port”                     gint
-

Port for this address.

-

Flags: Read / Write / Construct Only

-

Allowed values: [-1,65535]

-

Default value: -1

-
-
-
-

The “protocol” property

-
  “protocol”                 gchar *
-

URI scheme for this address.

-

Flags: Read / Write / Construct Only

-

Default value: NULL

-
-
-
-

The “sockaddr” property

-
  “sockaddr”                 gpointer
-

struct sockaddr for this address.

-

Flags: Read / Write / Construct Only

-
-
-
- - - \ No newline at end of file diff --git a/docs/reference/html/SoupAuth.html b/docs/reference/html/SoupAuth.html deleted file mode 100644 index 794d1ff..0000000 --- a/docs/reference/html/SoupAuth.html +++ /dev/null @@ -1,855 +0,0 @@ - - - - -libsoup Reference Manual: SoupAuth - - - - - - - - - - - - - - - - -
-
-
- - -
-

SoupAuth

-

SoupAuth — HTTP client-side authentication support

-
-
-

Functions

-
---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-SoupAuth * - -soup_auth_new () -
-gboolean - -soup_auth_update () -
#defineSOUP_TYPE_AUTH_BASIC
#defineSOUP_TYPE_AUTH_DIGEST
#defineSOUP_TYPE_AUTH_NTLM
-gboolean - -soup_auth_is_for_proxy () -
const char * - -soup_auth_get_scheme_name () -
const char * - -soup_auth_get_host () -
const char * - -soup_auth_get_realm () -
-char * - -soup_auth_get_info () -
-void - -soup_auth_authenticate () -
-gboolean - -soup_auth_is_authenticated () -
-gboolean - -soup_auth_is_ready () -
-char * - -soup_auth_get_authorization () -
-GSList * - -soup_auth_get_protection_space () -
-void - -soup_auth_free_protection_space () -
-
-
-

Properties

-
----- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-gchar *hostRead / Write
gbooleanis-authenticatedRead
gbooleanis-for-proxyRead / Write
-gchar *realmRead / Write
-gchar *scheme-nameRead
-
-
-

Types and Values

-
---- - - - - - - - - - - - - - - - - - - - - - - - - - - -
 SoupAuth
#defineSOUP_AUTH_SCHEME_NAME
#defineSOUP_AUTH_REALM
#defineSOUP_AUTH_HOST
#defineSOUP_AUTH_IS_FOR_PROXY
#defineSOUP_AUTH_IS_AUTHENTICATED
-
-
-

Object Hierarchy

-
    GObject
-    ╰── SoupAuth
-
-
-
-

Includes

-
#include <libsoup/soup.h>
-
-
-
-

Description

-

SoupAuth objects store the authentication data associated with a -given bit of web space. They are created automatically by -SoupSession.

-
-
-

Functions

-
-

soup_auth_new ()

-
SoupAuth *
-soup_auth_new (GType type,
-               SoupMessage *msg,
-               const char *auth_header);
-

Creates a new SoupAuth of type type - with the information from -msg - and auth_header -.

-

This is called by SoupSession; you will normally not create auths -yourself.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

type

the type of auth to create (a subtype of SoupAuth)

 

msg

the SoupMessage the auth is being created for

 

auth_header

the WWW-Authenticate/Proxy-Authenticate header

 
-
-
-

Returns

-

the new SoupAuth, or NULL if it could not be -created

-

-
-
-
-
-

soup_auth_update ()

-
gboolean
-soup_auth_update (SoupAuth *auth,
-                  SoupMessage *msg,
-                  const char *auth_header);
-

Updates auth - with the information from msg - and auth_header -, -possibly un-authenticating it. As with soup_auth_new(), this is -normally only used by SoupSession.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

auth

a SoupAuth

 

msg

the SoupMessage auth -is being updated for

 

auth_header

the WWW-Authenticate/Proxy-Authenticate header

 
-
-
-

Returns

-

TRUE if auth -is still a valid (but potentially -unauthenticated) SoupAuth. FALSE if something about auth_params -could not be parsed or incorporated into auth -at all.

-

-
-
-
-
-

SOUP_TYPE_AUTH_BASIC

-
#define SOUP_TYPE_AUTH_BASIC  (soup_auth_basic_get_type ())
-
-

A GType corresponding to HTTP "Basic" authentication. -SoupSessions support this by default; if you want to disable -support for it, call soup_session_remove_feature_by_type(), -passing SOUP_TYPE_AUTH_BASIC.

-

Since 2.34

-
-
-
-

SOUP_TYPE_AUTH_DIGEST

-
#define SOUP_TYPE_AUTH_DIGEST (soup_auth_digest_get_type ())
-
-

A GType corresponding to HTTP "Digest" authentication. -SoupSessions support this by default; if you want to disable -support for it, call soup_session_remove_feature_by_type(), -passing SOUP_TYPE_AUTH_DIGEST.

-

Since 2.34

-
-
-
-

SOUP_TYPE_AUTH_NTLM

-
#define SOUP_TYPE_AUTH_NTLM   (soup_auth_ntlm_get_type ())
-
-

A GType corresponding to HTTP-based NTLM authentication. -SoupSessions do not support this type by default; if you want to -enable support for it, call soup_session_add_feature_by_type(), -passing SOUP_TYPE_AUTH_NTLM.

-

Since 2.34

-
-
-
-

soup_auth_is_for_proxy ()

-
gboolean
-soup_auth_is_for_proxy (SoupAuth *auth);
-

Tests whether or not auth - is associated with a proxy server rather -than an "origin" server.

-
-

Parameters

-
----- - - - - - -

auth

a SoupAuth

 
-
-
-

Returns

-

TRUE or FALSE

-

-
-
-
-
-

soup_auth_get_scheme_name ()

-
const char *
-soup_auth_get_scheme_name (SoupAuth *auth);
-

Returns auth -'s scheme name. (Eg, "Basic", "Digest", or "NTLM")

-
-

Parameters

-
----- - - - - - -

auth

a SoupAuth

 
-
-
-

Returns

-

the scheme name

-

-
-
-
-
-

soup_auth_get_host ()

-
const char *
-soup_auth_get_host (SoupAuth *auth);
-

Returns the host that auth - is associated with.

-
-

Parameters

-
----- - - - - - -

auth

a SoupAuth

 
-
-
-

Returns

-

the hostname

-

-
-
-
-
-

soup_auth_get_realm ()

-
const char *
-soup_auth_get_realm (SoupAuth *auth);
-

Returns auth -'s realm. This is an identifier that distinguishes -separate authentication spaces on a given server, and may be some -string that is meaningful to the user. (Although it is probably not -localized.)

-
-

Parameters

-
----- - - - - - -

auth

a SoupAuth

 
-
-
-

Returns

-

the realm name

-

-
-
-
-
-

soup_auth_get_info ()

-
char *
-soup_auth_get_info (SoupAuth *auth);
-

Gets an opaque identifier for auth -, for use as a hash key or the -like. SoupAuth objects from the same server with the same -identifier refer to the same authentication domain (eg, the URLs -associated with them take the same usernames and passwords).

-
-

Parameters

-
----- - - - - - -

auth

a SoupAuth

 
-
-
-

Returns

-

the identifier

-

-
-
-
-
-

soup_auth_authenticate ()

-
void
-soup_auth_authenticate (SoupAuth *auth,
-                        const char *username,
-                        const char *password);
-

Call this on an auth to authenticate it; normally this will cause -the auth's message to be requeued with the new authentication info.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

auth

a SoupAuth

 

username

the username provided by the user or client

 

password

the password provided by the user or client

 
-
-
-
-
-

soup_auth_is_authenticated ()

-
gboolean
-soup_auth_is_authenticated (SoupAuth *auth);
-

Tests if auth - has been given a username and password

-
-

Parameters

-
----- - - - - - -

auth

a SoupAuth

 
-
-
-

Returns

-

TRUE if auth -has been given a username and password

-

-
-
-
-
-

soup_auth_is_ready ()

-
gboolean
-soup_auth_is_ready (SoupAuth *auth,
-                    SoupMessage *msg);
-

Tests if auth - is ready to make a request for msg - with. For most -auths, this is equivalent to soup_auth_is_authenticated(), but for -some auth types (eg, NTLM), the auth may be sendable (eg, as an -authentication request) even before it is authenticated.

-
-

Parameters

-
----- - - - - - - - - - - - - -

auth

a SoupAuth

 

msg

a SoupMessage

 
-
-
-

Returns

-

TRUE if auth -is ready to make a request with.

-

-
-

Since 2.42

-
-
-
-

soup_auth_get_authorization ()

-
char *
-soup_auth_get_authorization (SoupAuth *auth,
-                             SoupMessage *msg);
-

Generates an appropriate "Authorization" header for msg -. (The -session will only call this if soup_auth_is_authenticated() -returned TRUE.)

-
-

Parameters

-
----- - - - - - - - - - - - - -

auth

a SoupAuth

 

msg

the SoupMessage to be authorized

 
-
-
-

Returns

-

the "Authorization" header, which must be freed.

-

-
-
-
-
-

soup_auth_get_protection_space ()

-
GSList *
-soup_auth_get_protection_space (SoupAuth *auth,
-                                SoupURI *source_uri);
-

Returns a list of paths on the server which auth - extends over. -(All subdirectories of these paths are also assumed to be part -of auth -'s protection space, unless otherwise discovered not to -be.)

-
-

Parameters

-
----- - - - - - - - - - - - - -

auth

a SoupAuth

 

source_uri

the URI of the request that auth -was generated in -response to.

 
-
-
-

Returns

-

the list of -paths, which can be freed with soup_auth_free_protection_space().

-

[element-type utf8][transfer full]

-
-
-
-
-

soup_auth_free_protection_space ()

-
void
-soup_auth_free_protection_space (SoupAuth *auth,
-                                 GSList *space);
-

Frees space -.

-
-

Parameters

-
----- - - - - - - - - - - - - -

auth

a SoupAuth

 

space

the return value from soup_auth_get_protection_space()

 
-
-
-
-
-

Types and Values

-
-

SoupAuth

-
typedef struct _SoupAuth SoupAuth;
-

The abstract base class for handling authentication. Specific HTTP -Authentication mechanisms are implemented by its subclasses, but -applications never need to be aware of the specific subclasses -being used.

-
-
-
-

SOUP_AUTH_SCHEME_NAME

-
#define SOUP_AUTH_SCHEME_NAME      "scheme-name"
-
-

An alias for the “scheme-name” property. (The -authentication scheme name.)

-
-
-
-

SOUP_AUTH_REALM

-
#define SOUP_AUTH_REALM            "realm"
-
-

An alias for the “realm” property. (The -authentication realm.)

-
-
-
-

SOUP_AUTH_HOST

-
#define SOUP_AUTH_HOST             "host"
-
-

An alias for the “host” property. (The -host being authenticated to.)

-
-
-
-

SOUP_AUTH_IS_FOR_PROXY

-
#define SOUP_AUTH_IS_FOR_PROXY     "is-for-proxy"
-
-

An alias for the “is-for-proxy” property. (Whether -or not the auth is for a proxy server.)

-
-
-
-

SOUP_AUTH_IS_AUTHENTICATED

-
#define SOUP_AUTH_IS_AUTHENTICATED "is-authenticated"
-
-

An alias for the “is-authenticated” property. -(Whether or not the auth has been authenticated.)

-
-
-
-

Property Details

-
-

The “host” property

-
  “host”                     gchar *
-

Authentication host.

-

Flags: Read / Write

-

Default value: NULL

-
-
-
-

The “is-authenticated” property

-
  “is-authenticated”         gboolean
-

Whether or not the auth is authenticated.

-

Flags: Read

-

Default value: FALSE

-
-
-
-

The “is-for-proxy” property

-
  “is-for-proxy”             gboolean
-

Whether or not the auth is for a proxy server.

-

Flags: Read / Write

-

Default value: FALSE

-
-
-
-

The “realm” property

-
  “realm”                    gchar *
-

Authentication realm.

-

Flags: Read / Write

-

Default value: NULL

-
-
-
-

The “scheme-name” property

-
  “scheme-name”              gchar *
-

Authentication scheme name.

-

Flags: Read

-

Default value: NULL

-
-
-
-

See Also

-

SoupSession

-
-
- - - \ No newline at end of file diff --git a/docs/reference/html/SoupAuthDomain.html b/docs/reference/html/SoupAuthDomain.html deleted file mode 100644 index db5ac04..0000000 --- a/docs/reference/html/SoupAuthDomain.html +++ /dev/null @@ -1,936 +0,0 @@ - - - - -libsoup Reference Manual: SoupAuthDomain - - - - - - - - - - - - - - - - -
-
-
- - -
-

SoupAuthDomain

-

SoupAuthDomain — Server-side authentication

-
-
-

Functions

-
---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-void - -soup_auth_domain_add_path () -
-void - -soup_auth_domain_remove_path () -
-gboolean - -(*SoupAuthDomainFilter) () -
-void - -soup_auth_domain_set_filter () -
const char * - -soup_auth_domain_get_realm () -
-gboolean - -(*SoupAuthDomainGenericAuthCallback) () -
-void - -soup_auth_domain_set_generic_auth_callback () -
-gboolean - -soup_auth_domain_check_password () -
-gboolean - -soup_auth_domain_covers () -
-char * - -soup_auth_domain_accepts () -
-void - -soup_auth_domain_challenge () -
-
-
-

Properties

-
----- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-gchar *add-pathWrite
gpointerfilterRead / Write
gpointerfilter-dataRead / Write
gpointergeneric-auth-callbackRead / Write
gpointergeneric-auth-dataRead / Write
gbooleanproxyRead / Write / Construct Only
-gchar *realmRead / Write / Construct Only
-gchar *remove-pathWrite
-
-
-

Types and Values

- -
-
-

Object Hierarchy

-
    GObject
-    ╰── SoupAuthDomain
-        ├── SoupAuthDomainBasic
-        ╰── SoupAuthDomainDigest
-
-
-
-

Includes

-
#include <libsoup/soup.h>
-
-
-
-

Description

-

A SoupAuthDomain manages authentication for all or part of a -SoupServer. To make a server require authentication, first create -an appropriate subclass of SoupAuthDomain, and then add it to the -server with soup_server_add_auth_domain().

-

In order for an auth domain to have any effect, you must add one or -more paths to it (via soup_auth_domain_add_path() or the -SOUP_AUTH_DOMAIN_ADD_PATH property). To require authentication for -all ordinary requests, add the path "/". (Note that this does not -include the special "*" URI (eg, "OPTIONS *"), which must be added -as a separate path if you want to cover it.)

-

If you need greater control over which requests should and -shouldn't be authenticated, add paths covering everything you -might want authenticated, and then use a -filter (soup_auth_domain_set_filter()) to bypass authentication for -those requests that don't need it.

-
-
-

Functions

-
-

soup_auth_domain_add_path ()

-
void
-soup_auth_domain_add_path (SoupAuthDomain *domain,
-                           const char *path);
-

Adds path - to domain -, such that requests under path - on domain -'s -server will require authentication (unless overridden by -soup_auth_domain_remove_path() or soup_auth_domain_set_filter()).

-

You can also add paths by setting the SOUP_AUTH_DOMAIN_ADD_PATH -property, which can also be used to add one or more paths at -construct time.

-
-

Parameters

-
----- - - - - - - - - - - - - -

domain

a SoupAuthDomain

 

path

the path to add to domain -

 
-
-
-
-
-

soup_auth_domain_remove_path ()

-
void
-soup_auth_domain_remove_path (SoupAuthDomain *domain,
-                              const char *path);
-

Removes path - from domain -, such that requests under path - on -domain -'s server will NOT require authentication.

-

This is not simply an undo-er for soup_auth_domain_add_path(); it -can be used to "carve out" a subtree that does not require -authentication inside a hierarchy that does. Note also that unlike -with soup_auth_domain_add_path(), this cannot be overridden by -adding a filter, as filters can only bypass authentication that -would otherwise be required, not require it where it would -otherwise be unnecessary.

-

You can also remove paths by setting the -SOUP_AUTH_DOMAIN_REMOVE_PATH property, which can also be used to -remove one or more paths at construct time.

-
-

Parameters

-
----- - - - - - - - - - - - - -

domain

a SoupAuthDomain

 

path

the path to remove from domain -

 
-
-
-
-
-

SoupAuthDomainFilter ()

-
gboolean
-(*SoupAuthDomainFilter) (SoupAuthDomain *domain,
-                         SoupMessage *msg,
-                         gpointer user_data);
-

The prototype for a SoupAuthDomain filter; see -soup_auth_domain_set_filter() for details.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

domain

a SoupAuthDomain

 

msg

a SoupMessage

 

user_data

the data passed to soup_auth_domain_set_filter()

 
-
-
-

Returns

-

TRUE if msg -requires authentication, FALSE if not.

-

-
-
-
-
-

soup_auth_domain_set_filter ()

-
void
-soup_auth_domain_set_filter (SoupAuthDomain *domain,
-                             SoupAuthDomainFilter filter,
-                             gpointer filter_data,
-                             GDestroyNotify dnotify);
-

Adds filter - as an authentication filter to domain -. The filter -gets a chance to bypass authentication for certain requests that -would otherwise require it. Eg, it might check the message's path -in some way that is too complicated to do via the other methods, or -it might check the message's method, and allow GETs but not PUTs.

-

The filter function returns TRUE if the request should still -require authentication, or FALSE if authentication is unnecessary -for this request.

-

To help prevent security holes, your filter should return TRUE by -default, and only return FALSE under specifically-tested -circumstances, rather than the other way around. Eg, in the example -above, where you want to authenticate PUTs but not GETs, you should -check if the method is GET and return FALSE in that case, and then -return TRUE for all other methods (rather than returning TRUE for -PUT and FALSE for all other methods). This way if it turned out -(now or later) that some paths supported additional methods besides -GET and PUT, those methods would default to being NOT allowed for -unauthenticated users.

-

You can also set the filter by setting the SOUP_AUTH_DOMAIN_FILTER -and SOUP_AUTH_DOMAIN_FILTER_DATA properties, which can also be -used to set the filter at construct time.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - -

domain

a SoupAuthDomain

 

filter

the auth filter for domain -

 

filter_data

data to pass to filter -

 

dnotify

destroy notifier to free filter_data -when domain -is destroyed

 
-
-
-
-
-

soup_auth_domain_get_realm ()

-
const char *
-soup_auth_domain_get_realm (SoupAuthDomain *domain);
-

Gets the realm name associated with domain -

-
-

Parameters

-
----- - - - - - -

domain

a SoupAuthDomain

 
-
-
-

Returns

-

domain -'s realm

-

-
-
-
-
-

SoupAuthDomainGenericAuthCallback ()

-
gboolean
-(*SoupAuthDomainGenericAuthCallback) (SoupAuthDomain *domain,
-                                      SoupMessage *msg,
-                                      const char *username,
-                                      gpointer user_data);
-

The prototype for a SoupAuthDomain generic authentication callback.

-

The callback should look up the user's password, call -soup_auth_domain_check_password(), and use the return value from -that method as its own return value.

-

In general, for security reasons, it is preferable to use the -auth-domain-specific auth callbacks (eg, -SoupAuthDomainBasicAuthCallback and -SoupAuthDomainDigestAuthCallback), because they don't require -keeping a cleartext password database. Most users will use the same -password for many different sites, meaning if any site with a -cleartext password database is compromised, accounts on other -servers might be compromised as well. For many of the cases where -SoupServer is used, this is not really relevant, but it may still -be worth considering.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - -

domain

a SoupAuthDomain

 

msg

the SoupMessage being authenticated

 

username

the username from msg -

 

user_data

the data passed to -soup_auth_domain_set_generic_auth_callback()

 
-
-
-

Returns

-

TRUE if msg -is authenticated, FALSE if not.

-

-
-
-
-
-

soup_auth_domain_set_generic_auth_callback ()

-
void
-soup_auth_domain_set_generic_auth_callback
-                               (SoupAuthDomain *domain,
-                                SoupAuthDomainGenericAuthCallback auth_callback,
-                                gpointer auth_data,
-                                GDestroyNotify dnotify);
-

Sets auth_callback - as an authentication-handling callback for -domain -. Whenever a request comes in to domain - which cannot be -authenticated via a domain-specific auth callback (eg, -SoupAuthDomainDigestAuthCallback), the generic auth callback -will be invoked. See SoupAuthDomainGenericAuthCallback for information -on what the callback should do.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - -

domain

a SoupAuthDomain

 

auth_callback

the auth callback

 

auth_data

data to pass to auth_callback -

 

dnotify

destroy notifier to free auth_data -when domain -is destroyed

 
-
-
-
-
-

soup_auth_domain_check_password ()

-
gboolean
-soup_auth_domain_check_password (SoupAuthDomain *domain,
-                                 SoupMessage *msg,
-                                 const char *username,
-                                 const char *password);
-

Checks if msg - authenticates to domain - via username - and -password -. This would normally be called from a -SoupAuthDomainGenericAuthCallback.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - -

domain

a SoupAuthDomain

 

msg

a SoupMessage

 

username

a username

 

password

a password

 
-
-
-

Returns

-

whether or not the message is authenticated

-

-
-
-
-
-

soup_auth_domain_covers ()

-
gboolean
-soup_auth_domain_covers (SoupAuthDomain *domain,
-                         SoupMessage *msg);
-

Checks if domain - requires msg - to be authenticated (according to -its paths and filter function). This does not actually look at -whether msg - is authenticated, merely whether -or not it needs to be.

-

This is used by SoupServer internally and is probably of no use to -anyone else.

-
-

Parameters

-
----- - - - - - - - - - - - - -

domain

a SoupAuthDomain

 

msg

a SoupMessage

 
-
-
-

Returns

-

TRUE if domain -requires msg -to be authenticated

-

-
-
-
-
-

soup_auth_domain_accepts ()

-
char *
-soup_auth_domain_accepts (SoupAuthDomain *domain,
-                          SoupMessage *msg);
-

Checks if msg - contains appropriate authorization for domain - to -accept it. Mirroring soup_auth_domain_covers(), this does not check -whether or not domain - cares if msg - is -authorized.

-

This is used by SoupServer internally and is probably of no use to -anyone else.

-
-

Parameters

-
----- - - - - - - - - - - - - -

domain

a SoupAuthDomain

 

msg

a SoupMessage

 
-
-
-

Returns

-

the username that msg -has authenticated as, if in -fact it has authenticated. NULL otherwise.

-

-
-
-
-
-

soup_auth_domain_challenge ()

-
void
-soup_auth_domain_challenge (SoupAuthDomain *domain,
-                            SoupMessage *msg);
-

Adds a "WWW-Authenticate" or "Proxy-Authenticate" header to msg -, -requesting that the client authenticate, and sets msg -'s status -accordingly.

-

This is used by SoupServer internally and is probably of no use to -anyone else.

-
-

Parameters

-
----- - - - - - - - - - - - - -

domain

a SoupAuthDomain

 

msg

a SoupMessage

 
-
-
-
-
-

Types and Values

-
-

SoupAuthDomain

-
typedef struct _SoupAuthDomain SoupAuthDomain;
-

-

-
-
-
-

SOUP_AUTH_DOMAIN_REALM

-
#define SOUP_AUTH_DOMAIN_REALM       "realm"
-
-

Alias for the “realm” property. (The realm of -this auth domain.)

-
-
-
-

SOUP_AUTH_DOMAIN_PROXY

-
#define SOUP_AUTH_DOMAIN_PROXY       "proxy"
-
-

Alias for the “proxy” property. (Whether or -not this is a proxy auth domain.)

-
-
-
-

SOUP_AUTH_DOMAIN_ADD_PATH

-
#define SOUP_AUTH_DOMAIN_ADD_PATH    "add-path"
-
-

Alias for the “add-path” property. (Shortcut -for calling soup_auth_domain_add_path().)

-
-
-
-

SOUP_AUTH_DOMAIN_REMOVE_PATH

-
#define SOUP_AUTH_DOMAIN_REMOVE_PATH "remove-path"
-
-

Alias for the “remove-path” property. -(Shortcut for calling soup_auth_domain_remove_path().)

-
-
-
-

SOUP_AUTH_DOMAIN_FILTER

-
#define SOUP_AUTH_DOMAIN_FILTER      "filter"
-
-

Alias for the “filter” property. (The -SoupAuthDomainFilter for the domain.)

-
-
-
-

SOUP_AUTH_DOMAIN_FILTER_DATA

-
#define SOUP_AUTH_DOMAIN_FILTER_DATA "filter-data"
-
-

Alias for the “filter-data” property. (Data -to pass to the SoupAuthDomainFilter.)

-
-
-
-

SOUP_AUTH_DOMAIN_GENERIC_AUTH_CALLBACK

-
#define SOUP_AUTH_DOMAIN_GENERIC_AUTH_CALLBACK "generic-auth-callback"
-
-

Alias for the “generic-auth-callback” property. -(The SoupAuthDomainGenericAuthCallback.)

-
-
-
-

SOUP_AUTH_DOMAIN_GENERIC_AUTH_DATA

-
#define SOUP_AUTH_DOMAIN_GENERIC_AUTH_DATA     "generic-auth-data"
-
-

Alias for the “generic-auth-data” property. -(The data to pass to the SoupAuthDomainGenericAuthCallback.)

-
-
-
-

Property Details

-
-

The “add-path” property

-
  “add-path”                 gchar *
-

Add a path covered by this auth domain.

-

Flags: Write

-

Default value: NULL

-
-
-
-

The “filter” property

-
  “filter”                   gpointer
-

A filter for deciding whether or not to require authentication.

-

Flags: Read / Write

-
-
-
-

The “filter-data” property

-
  “filter-data”              gpointer
-

Data to pass to filter.

-

Flags: Read / Write

-
-
-
-

The “generic-auth-callback” property

-
  “generic-auth-callback”    gpointer
-

An authentication callback that can be used with any SoupAuthDomain subclass.

-

Flags: Read / Write

-
-
-
-

The “generic-auth-data” property

-
  “generic-auth-data”        gpointer
-

Data to pass to auth callback.

-

Flags: Read / Write

-
-
-
-

The “proxy” property

-
  “proxy”                    gboolean
-

Whether or not this is a proxy auth domain.

-

Flags: Read / Write / Construct Only

-

Default value: FALSE

-
-
-
-

The “realm” property

-
  “realm”                    gchar *
-

The realm of this auth domain.

-

Flags: Read / Write / Construct Only

-

Default value: NULL

-
-
-
-

The “remove-path” property

-
  “remove-path”              gchar *
-

Remove a path covered by this auth domain.

-

Flags: Write

-

Default value: NULL

-
-
-
-

See Also

-

SoupServer

-
-
- - - \ No newline at end of file diff --git a/docs/reference/html/SoupAuthDomainBasic.html b/docs/reference/html/SoupAuthDomainBasic.html deleted file mode 100644 index ba7874f..0000000 --- a/docs/reference/html/SoupAuthDomainBasic.html +++ /dev/null @@ -1,344 +0,0 @@ - - - - -libsoup Reference Manual: SoupAuthDomainBasic - - - - - - - - - - - - - - - - -
-
-
- - -
-

SoupAuthDomainBasic

-

SoupAuthDomainBasic — Server-side "Basic" authentication

-
-
-

Functions

-
---- - - - - - - - - - - - - - - -
-SoupAuthDomain * - -soup_auth_domain_basic_new () -
-gboolean - -(*SoupAuthDomainBasicAuthCallback) () -
-void - -soup_auth_domain_basic_set_auth_callback () -
-
-
-

Properties

-
----- - - - - - - - - - - - - -
gpointerauth-callbackRead / Write
gpointerauth-dataRead / Write
-
-
-

Types and Values

- -
-
-

Object Hierarchy

-
    GObject
-    ╰── SoupAuthDomain
-        ╰── SoupAuthDomainBasic
-
-
-
-

Includes

-
#include <libsoup/soup.h>
-
-
-
-

Description

-

SoupAuthDomainBasic handles the server side of HTTP "Basic" (ie, -cleartext password) authentication.

-
-
-

Functions

-
-

soup_auth_domain_basic_new ()

-
SoupAuthDomain *
-soup_auth_domain_basic_new (const char *optname1,
-                            ...);
-

Creates a SoupAuthDomainBasic. You must set the -SOUP_AUTH_DOMAIN_REALM parameter, to indicate the realm name to be -returned with the authentication challenge to the client. Other -parameters are optional.

-
-

Parameters

-
----- - - - - - - - - - - - - -

optname1

name of first option, or NULL

 

...

option name/value pairs

 
-
-
-

Returns

-

the new SoupAuthDomain

-

-
-
-
-
-

SoupAuthDomainBasicAuthCallback ()

-
gboolean
-(*SoupAuthDomainBasicAuthCallback) (SoupAuthDomain *domain,
-                                    SoupMessage *msg,
-                                    const char *username,
-                                    const char *password,
-                                    gpointer user_data);
-

Callback used by SoupAuthDomainBasic for authentication purposes. -The application should verify that username - and password - and valid -and return TRUE or FALSE.

-

If you are maintaining your own password database (rather than -using the password to authenticate against some other system like -PAM or a remote server), you should make sure you know what you are -doing. In particular, don't store cleartext passwords, or -easily-computed hashes of cleartext passwords, even if you don't -care that much about the security of your server, because users -will frequently use the same password for multiple sites, and so -compromising any site with a cleartext (or easily-cracked) password -database may give attackers access to other more-interesting sites -as well.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - - - - - - -

domain

the domain

 

msg

the message being authenticated

 

username

the username provided by the client

 

password

the password provided by the client

 

user_data

the data passed to soup_auth_domain_basic_set_auth_callback()

 
-
-
-

Returns

-

TRUE if username -and password -are valid

-

-
-
-
-
-

soup_auth_domain_basic_set_auth_callback ()

-
void
-soup_auth_domain_basic_set_auth_callback
-                               (SoupAuthDomain *domain,
-                                SoupAuthDomainBasicAuthCallback callback,
-                                gpointer user_data,
-                                GDestroyNotify dnotify);
-

Sets the callback that domain - will use to authenticate incoming -requests. For each request containing authorization, domain - will -invoke the callback, and then either accept or reject the request -based on callback -'s return value.

-

You can also set the auth callback by setting the -SOUP_AUTH_DOMAIN_BASIC_AUTH_CALLBACK and -SOUP_AUTH_DOMAIN_BASIC_AUTH_DATA properties, which can also be -used to set the callback at construct time.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - -

domain

the domain

 

callback

the callback

 

user_data

data to pass to auth_callback -

 

dnotify

destroy notifier to free user_data -when domain -is destroyed

 
-
-
-
-
-

Types and Values

-
-

SoupAuthDomainBasic

-
typedef struct _SoupAuthDomainBasic SoupAuthDomainBasic;
-

-

-
-
-
-

SOUP_AUTH_DOMAIN_BASIC_AUTH_CALLBACK

-
#define SOUP_AUTH_DOMAIN_BASIC_AUTH_CALLBACK "auth-callback"
-
-

Alias for the “auth-callback” property. -(The SoupAuthDomainBasicAuthCallback.)

-
-
-
-

SOUP_AUTH_DOMAIN_BASIC_AUTH_DATA

-
#define SOUP_AUTH_DOMAIN_BASIC_AUTH_DATA     "auth-data"
-
-

Alias for the “auth-data” property. -(The data to pass to the SoupAuthDomainBasicAuthCallback.)

-
-
-
-

Property Details

-
-

The “auth-callback” property

-
  “auth-callback”            gpointer
-

Password-checking callback.

-

Flags: Read / Write

-
-
-
-

The “auth-data” property

-
  “auth-data”                gpointer
-

Data to pass to authentication callback.

-

Flags: Read / Write

-
-
-
- - - \ No newline at end of file diff --git a/docs/reference/html/SoupAuthDomainDigest.html b/docs/reference/html/SoupAuthDomainDigest.html deleted file mode 100644 index 90f63fc..0000000 --- a/docs/reference/html/SoupAuthDomainDigest.html +++ /dev/null @@ -1,395 +0,0 @@ - - - - -libsoup Reference Manual: SoupAuthDomainDigest - - - - - - - - - - - - - - - - -
-
-
- - -
-

SoupAuthDomainDigest

-

SoupAuthDomainDigest — Server-side "Digest" authentication

-
-
-

Functions

-
---- - - - - - - - - - - - - - - - - - - -
-SoupAuthDomain * - -soup_auth_domain_digest_new () -
-char * - -(*SoupAuthDomainDigestAuthCallback) () -
-void - -soup_auth_domain_digest_set_auth_callback () -
-char * - -soup_auth_domain_digest_encode_password () -
-
-
-

Properties

-
----- - - - - - - - - - - - - -
gpointerauth-callbackRead / Write
gpointerauth-dataRead / Write
-
-
-

Types and Values

- -
-
-

Object Hierarchy

-
    GObject
-    ╰── SoupAuthDomain
-        ╰── SoupAuthDomainDigest
-
-
-
-

Includes

-
#include <libsoup/soup.h>
-
-
-
-

Description

-

SoupAuthDomainDigest handles the server side of HTTP "Digest" -authentication.

-
-
-

Functions

-
-

soup_auth_domain_digest_new ()

-
SoupAuthDomain *
-soup_auth_domain_digest_new (const char *optname1,
-                             ...);
-

Creates a SoupAuthDomainDigest. You must set the -SOUP_AUTH_DOMAIN_REALM parameter, to indicate the realm name to be -returned with the authentication challenge to the client. Other -parameters are optional.

-
-

Parameters

-
----- - - - - - - - - - - - - -

optname1

name of first option, or NULL

 

...

option name/value pairs

 
-
-
-

Returns

-

the new SoupAuthDomain

-

-
-
-
-
-

SoupAuthDomainDigestAuthCallback ()

-
char *
-(*SoupAuthDomainDigestAuthCallback) (SoupAuthDomain *domain,
-                                     SoupMessage *msg,
-                                     const char *username,
-                                     gpointer user_data);
-

Callback used by SoupAuthDomainDigest for authentication purposes. -The application should look up username - in its password database, -and return the corresponding encoded password (see -soup_auth_domain_digest_encode_password()).

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - -

domain

the domain

 

msg

the message being authenticated

 

username

the username provided by the client

 

user_data

the data passed to soup_auth_domain_digest_set_auth_callback()

 
-
-
-

Returns

-

the encoded password, or NULL if username -is not a -valid user. domain -will free the password when it is done with it.

-

-
-
-
-
-

soup_auth_domain_digest_set_auth_callback ()

-
void
-soup_auth_domain_digest_set_auth_callback
-                               (SoupAuthDomain *domain,
-                                SoupAuthDomainDigestAuthCallback callback,
-                                gpointer user_data,
-                                GDestroyNotify dnotify);
-

Sets the callback that domain - will use to authenticate incoming -requests. For each request containing authorization, domain - will -invoke the callback, and then either accept or reject the request -based on callback -'s return value.

-

You can also set the auth callback by setting the -SOUP_AUTH_DOMAIN_DIGEST_AUTH_CALLBACK and -SOUP_AUTH_DOMAIN_DIGEST_AUTH_DATA properties, which can also be -used to set the callback at construct time.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - -

domain

the domain

 

callback

the callback

 

user_data

data to pass to auth_callback -

 

dnotify

destroy notifier to free user_data -when domain -is destroyed

 
-
-
-
-
-

soup_auth_domain_digest_encode_password ()

-
char *
-soup_auth_domain_digest_encode_password
-                               (const char *username,
-                                const char *realm,
-                                const char *password);
-

Encodes the username/realm/password triplet for Digest -authentication. (That is, it returns a stringified MD5 hash of -username -, realm -, and password - concatenated together). This is -the form that is needed as the return value of -SoupAuthDomainDigest's auth handler.

-

For security reasons, you should store the encoded hash, rather -than storing the cleartext password itself and calling this method -only when you need to verify it. This way, if your server is -compromised, the attackers will not gain access to cleartext -passwords which might also be usable at other sites. (Note also -that the encoded password returned by this method is identical to -the encoded password stored in an Apache .htdigest file.)

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

username

a username

 

realm

an auth realm name

 

password

the password for username -in realm -

 
-
-
-

Returns

-

the encoded password

-

-
-
-
-
-

Types and Values

-
-

SoupAuthDomainDigest

-
typedef struct _SoupAuthDomainDigest SoupAuthDomainDigest;
-

-

-
-
-
-

SOUP_AUTH_DOMAIN_DIGEST_AUTH_CALLBACK

-
#define SOUP_AUTH_DOMAIN_DIGEST_AUTH_CALLBACK "auth-callback"
-
-

Alias for the “auth-callback” property. -(The SoupAuthDomainDigestAuthCallback.)

-
-
-
-

SOUP_AUTH_DOMAIN_DIGEST_AUTH_DATA

-
#define SOUP_AUTH_DOMAIN_DIGEST_AUTH_DATA     "auth-data"
-
-

Alias for the “auth-callback” property. -(The SoupAuthDomainDigestAuthCallback.)

-
-
-
-

Property Details

-
-

The “auth-callback” property

-
  “auth-callback”            gpointer
-

Password-finding callback.

-

Flags: Read / Write

-
-
-
-

The “auth-data” property

-
  “auth-data”                gpointer
-

Data to pass to authentication callback.

-

Flags: Read / Write

-
-
-
- - - \ No newline at end of file diff --git a/docs/reference/html/SoupAuthManager.html b/docs/reference/html/SoupAuthManager.html deleted file mode 100644 index 537ce8e..0000000 --- a/docs/reference/html/SoupAuthManager.html +++ /dev/null @@ -1,252 +0,0 @@ - - - - -libsoup Reference Manual: SoupAuthManager - - - - - - - - - - - - - - - - -
-
-
- - -
-

SoupAuthManager

-

SoupAuthManager — HTTP client-side authentication handler

-
-
-

Functions

-
---- - - - - - - - - - - -
#defineSOUP_TYPE_AUTH_MANAGER
-void - -soup_auth_manager_use_auth () -
-
-
-

Signals

-
----- - - - - - -
voidauthenticateRun First
-
-
-

Types and Values

-
---- - - - - -
 SoupAuthManager
-
-
-

Object Hierarchy

-
    GObject
-    ╰── SoupAuthManager
-
-
-
-

Implemented Interfaces

-

-SoupAuthManager implements - SoupSessionFeature.

-
-
-

Includes

-
#include <libsoup/soup.h>
-
-
-
-

Description

-

SoupAuthManager is the SoupSessionFeature that handles HTTP -authentication for a SoupSession.

-

A SoupAuthManager is added to the session by default, and normally -you don't need to worry about it at all. However, if you want to -disable HTTP authentication, you can remove the feature from the -session with soup_session_remove_feature_by_type(), or disable it on -individual requests with soup_message_disable_feature().

-
-
-

Functions

-
-

SOUP_TYPE_AUTH_MANAGER

-
#define SOUP_TYPE_AUTH_MANAGER            (soup_auth_manager_get_type ())
-
-

The GType of SoupAuthManager; you can use this with -soup_session_remove_feature_by_type() or -soup_message_disable_feature().

-

(Although this type has only been publicly visible since libsoup -2.42, it has always existed in the background, and you can use -g_type_from_name ("SoupAuthManager") -to get its GType in earlier releases.)

-

Since 2.42

-
-
-
-

soup_auth_manager_use_auth ()

-
void
-soup_auth_manager_use_auth (SoupAuthManager *manager,
-                            SoupURI *uri,
-                            SoupAuth *auth);
-

Records that auth - is to be used under uri -, as though a -WWW-Authenticate header had been received at that URI. This can be -used to "preload" manager -'s auth cache, to avoid an extra HTTP -round trip in the case where you know ahead of time that a 401 -response will be returned.

-

This is only useful for authentication types where the initial -Authorization header does not depend on any additional information -from the server. (Eg, Basic or NTLM, but not Digest.)

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

manager

a SoupAuthManager

 

uri

the SoupURI under which auth -is to be used

 

auth

the SoupAuth to use

 
-
-

Since 2.42

-
-
-
-

Types and Values

-
-

SoupAuthManager

-
typedef struct _SoupAuthManager SoupAuthManager;
-

-

-
-
-
-

Signal Details

-
-

The “authenticate” signal

-
void
-user_function (SoupAuthManager *manager,
-               SoupMessage     *msg,
-               SoupAuth        *auth,
-               gboolean         retrying,
-               gpointer         user_data)
-

Emitted when the manager requires the application to -provide authentication credentials.

-

SoupSession connects to this signal and emits its own -“authenticate” signal when it is emitted, so -you shouldn't need to use this signal directly.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - - - - - - -

manager

the SoupAuthManager

 

msg

the SoupMessage being sent

 

auth

the SoupAuth to authenticate

 

retrying

TRUE if this is the second (or later) attempt

 

user_data

user data set when the signal handler was connected.

 
-
-

Flags: Run First

-
-
-
-

See Also

-

SoupSession, SoupAuth

-
-
- - - \ No newline at end of file diff --git a/docs/reference/html/SoupCache.html b/docs/reference/html/SoupCache.html deleted file mode 100644 index 31aeacf..0000000 --- a/docs/reference/html/SoupCache.html +++ /dev/null @@ -1,433 +0,0 @@ - - - - -libsoup Reference Manual: SoupCache - - - - - - - - - - - - - - - - -
-
-
- - -
-

SoupCache

-

SoupCache — Caching support

-
-
-

Functions

-
---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-SoupCache * - -soup_cache_new () -
-void - -soup_cache_flush () -
-void - -soup_cache_clear () -
-void - -soup_cache_dump () -
-void - -soup_cache_load () -
-guint - -soup_cache_get_max_size () -
-void - -soup_cache_set_max_size () -
-
-
-

Properties

-
----- - - - - - - - - - - - - -
-gchar *cache-dirRead / Write / Construct Only
SoupCacheTypecache-typeRead / Write / Construct Only
-
-
-

Types and Values

-
---- - - - - - - - - - - -
structSoupCache
enumSoupCacheType
-
-
-

Object Hierarchy

-
    GObject
-    ╰── SoupCache
-
-
-
-

Implemented Interfaces

-

-SoupCache implements - SoupSessionFeature and SoupContentProcessor.

-
-
-

Includes

-
#include <libsoup/soup.h>
-
-
-
-

Description

-

SoupCache implements a file-based cache for HTTP resources.

-
-
-

Functions

-
-

soup_cache_new ()

-
SoupCache *
-soup_cache_new (const char *cache_dir,
-                SoupCacheType cache_type);
-

Creates a new SoupCache.

-
-

Parameters

-
----- - - - - - - - - - - - - -

cache_dir

the directory to store the cached data, or NULL to use the default one

 

cache_type

the SoupCacheType of the cache

 
-
-
-

Returns

-

a new SoupCache

-

-
-

Since 2.34

-
-
-
-

soup_cache_flush ()

-
void
-soup_cache_flush (SoupCache *cache);
-

This function will force all pending writes in the cache - to be -committed to disk. For doing so it will iterate the GMainContext -associated with cache -'s session as long as needed.

-

Contrast with soup_cache_dump(), which writes out the cache index -file.

-
-

Parameters

-
----- - - - - - -

cache

a SoupCache

 
-
-

Since 2.34

-
-
-
-

soup_cache_clear ()

-
void
-soup_cache_clear (SoupCache *cache);
-

Will remove all entries in the cache - plus all the cache files.

-
-

Parameters

-
----- - - - - - -

cache

a SoupCache

 
-
-

Since 2.34

-
-
-
-

soup_cache_dump ()

-
void
-soup_cache_dump (SoupCache *cache);
-

Synchronously writes the cache index out to disk. Contrast with -soup_cache_flush(), which writes pending cache -entries to disk.

-

You must call this before exiting if you want your cache data to -persist between sessions.

-
-

Parameters

-
----- - - - - - -

cache

a SoupCache

 
-
-

Since 2.34.

-
-
-
-

soup_cache_load ()

-
void
-soup_cache_load (SoupCache *cache);
-

Loads the contents of cache -'s index into memory.

-
-

Parameters

-
----- - - - - - -

cache

a SoupCache

 
-
-

Since 2.34

-
-
-
-

soup_cache_get_max_size ()

-
guint
-soup_cache_get_max_size (SoupCache *cache);
-

Gets the maximum size of the cache.

-
-

Parameters

-
----- - - - - - -

cache

a SoupCache

 
-
-
-

Returns

-

the maximum size of the cache, in bytes.

-

-
-

Since 2.34

-
-
-
-

soup_cache_set_max_size ()

-
void
-soup_cache_set_max_size (SoupCache *cache,
-                         guint max_size);
-

Sets the maximum size of the cache.

-
-

Parameters

-
----- - - - - - - - - - - - - -

cache

a SoupCache

 

max_size

the maximum size of the cache, in bytes

 
-
-

Since 2.34

-
-
-
-

Types and Values

-
-

struct SoupCache

-
struct SoupCache;
-

-

-
-
-
-

enum SoupCacheType

-

The type of cache; this affects what kinds of responses will be -saved.

-
-

Members

-
----- - - - - - - - - - - - - -

SOUP_CACHE_SINGLE_USER

-

a single-user cache

-
 

SOUP_CACHE_SHARED

-

a shared cache

-
 
-
-

Since 2.34

-
-
-
-

Property Details

-
-

The “cache-dir” property

-
  “cache-dir”                gchar *
-

The directory to store the cache files.

-

Flags: Read / Write / Construct Only

-

Default value: NULL

-
-
-
-

The “cache-type” property

-
  “cache-type”               SoupCacheType
-

Whether the cache is private or shared.

-

Flags: Read / Write / Construct Only

-

Default value: SOUP_CACHE_SINGLE_USER

-
-
-
- - - \ No newline at end of file diff --git a/docs/reference/html/SoupContentDecoder.html b/docs/reference/html/SoupContentDecoder.html deleted file mode 100644 index 27875a0..0000000 --- a/docs/reference/html/SoupContentDecoder.html +++ /dev/null @@ -1,110 +0,0 @@ - - - - -libsoup Reference Manual: SoupContentDecoder - - - - - - - - - - - - - - - - -
-
-
- - -
-

SoupContentDecoder

-

SoupContentDecoder — Content-Encoding handler

-
-
-

Types and Values

-
---- - - - - -
 SoupContentDecoder
-
-
-

Object Hierarchy

-
    GObject
-    ╰── SoupContentDecoder
-
-
-
-

Implemented Interfaces

-

-SoupContentDecoder implements - SoupSessionFeature and SoupContentProcessor.

-
-
-

Includes

-
#include <libsoup/soup.h>
-
-
-
-

Description

-

SoupContentDecoder handles adding the "Accept-Encoding" header on -outgoing messages, and processing the "Content-Encoding" header on -incoming ones. Currently it supports the "gzip" and "deflate" -content codings.

-

If you are using a plain SoupSession (ie, not SoupSessionAsync or -SoupSessionSync), then a SoupContentDecoder will automatically be -added to the session by default. (You can use -SOUP_SESSION_REMOVE_FEATURE_BY_TYPE at construct time if you don't -want this.) If you are using one of the deprecated SoupSession -subclasses, you can add a SoupContentDecoder to your session with -soup_session_add_feature() or soup_session_add_feature_by_type().

-

If SoupContentDecoder successfully decodes the Content-Encoding, -it will set the SOUP_MESSAGE_CONTENT_DECODED flag on the message, -and the message body and the chunks in the “got_chunk” -signals will contain the decoded data; however, the message headers -will be unchanged (and so "Content-Encoding" will still be present, -"Content-Length" will describe the original encoded length, etc).

-

If "Content-Encoding" contains any encoding types that -SoupContentDecoder doesn't recognize, then none of the encodings -will be decoded (and the SOUP_MESSAGE_CONTENT_DECODED flag will -not be set).

-

(Note that currently there is no way to (automatically) use -Content-Encoding when sending a request body, or to pick specific -encoding types to support.)

-
-
-

Functions

-
-
-

Types and Values

-
-

SoupContentDecoder

-
typedef struct _SoupContentDecoder SoupContentDecoder;
-

-

-
-
-
- - - \ No newline at end of file diff --git a/docs/reference/html/SoupContentSniffer.html b/docs/reference/html/SoupContentSniffer.html deleted file mode 100644 index 2cdde7c..0000000 --- a/docs/reference/html/SoupContentSniffer.html +++ /dev/null @@ -1,225 +0,0 @@ - - - - -libsoup Reference Manual: SoupContentSniffer - - - - - - - - - - - - - - - - -
-
-
- - -
-

SoupContentSniffer

-

SoupContentSniffer — Content sniffing for SoupSession

-
-
-

Functions

-
---- - - - - - - - - - - - - - - -
-SoupContentSniffer * - -soup_content_sniffer_new () -
-char * - -soup_content_sniffer_sniff () -
-gsize - -soup_content_sniffer_get_buffer_size () -
-
-
-

Types and Values

-
---- - - - - -
 SoupContentSniffer
-
-
-

Object Hierarchy

-
    GObject
-    ╰── SoupContentSniffer
-
-
-
-

Implemented Interfaces

-

-SoupContentSniffer implements - SoupSessionFeature and SoupContentProcessor.

-
-
-

Includes

-
#include <libsoup/soup.h>
-
-
-
-

Description

-

A SoupContentSniffer tries to detect the actual content type of -the files that are being downloaded by looking at some of the data -before the SoupMessage emits its “got-headers” signal. -SoupContentSniffer implements SoupSessionFeature, so you can add -content sniffing to a session with soup_session_add_feature() or -soup_session_add_feature_by_type().

-
-
-

Functions

-
-

soup_content_sniffer_new ()

-
SoupContentSniffer *
-soup_content_sniffer_new (void);
-

Creates a new SoupContentSniffer.

-
-

Returns

-

a new SoupContentSniffer

-

-
-

Since 2.28

-
-
-
-

soup_content_sniffer_sniff ()

-
char *
-soup_content_sniffer_sniff (SoupContentSniffer *sniffer,
-                            SoupMessage *msg,
-                            SoupBuffer *buffer,
-                            GHashTable **params);
-

Sniffs buffer - to determine its Content-Type. The result may also -be influenced by the Content-Type declared in msg -'s response -headers.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - -

sniffer

a SoupContentSniffer

 

msg

the message to sniff

 

buffer

a buffer containing the start of msg -'s response body

 

params

return -location for Content-Type parameters (eg, "charset"), or NULL.

[element-type utf8 utf8][out][transfer full][allow-none]
-
-
-

Returns

-

the sniffed Content-Type of buffer -; this will never be NULL, -but may be "application/octet-stream".

-

-
-

Since 2.28

-
-
-
-

soup_content_sniffer_get_buffer_size ()

-
gsize
-soup_content_sniffer_get_buffer_size (SoupContentSniffer *sniffer);
-

Gets the number of bytes sniffer - needs in order to properly sniff -a buffer.

-
-

Parameters

-
----- - - - - - -

sniffer

a SoupContentSniffer

 
-
-
-

Returns

-

the number of bytes to sniff

-

-
-

Since 2.28

-
-
-
-

Types and Values

-
-

SoupContentSniffer

-
typedef struct _SoupContentSniffer SoupContentSniffer;
-

-

-
-
-
- - - \ No newline at end of file diff --git a/docs/reference/html/SoupCookie.html b/docs/reference/html/SoupCookie.html deleted file mode 100644 index f4c2dbd..0000000 --- a/docs/reference/html/SoupCookie.html +++ /dev/null @@ -1,1478 +0,0 @@ - - - - -libsoup Reference Manual: SoupCookie - - - - - - - - - - - - - - - - -
-
-
- - -
-

SoupCookie

-

SoupCookie — HTTP Cookies

-
-
-

Functions

-
---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-SoupCookie * - -soup_cookie_new () -
-SoupCookie * - -soup_cookie_parse () -
-SoupCookie * - -soup_cookie_copy () -
-void - -soup_cookie_free () -
-void - -soup_cookie_set_name () -
const char * - -soup_cookie_get_name () -
-void - -soup_cookie_set_value () -
const char * - -soup_cookie_get_value () -
-void - -soup_cookie_set_domain () -
const char * - -soup_cookie_get_domain () -
-void - -soup_cookie_set_path () -
const char * - -soup_cookie_get_path () -
-void - -soup_cookie_set_max_age () -
#defineSOUP_COOKIE_MAX_AGE_ONE_HOUR
#defineSOUP_COOKIE_MAX_AGE_ONE_DAY
#defineSOUP_COOKIE_MAX_AGE_ONE_WEEK
#defineSOUP_COOKIE_MAX_AGE_ONE_YEAR
-void - -soup_cookie_set_expires () -
-SoupDate * - -soup_cookie_get_expires () -
-void - -soup_cookie_set_secure () -
-gboolean - -soup_cookie_get_secure () -
-void - -soup_cookie_set_http_only () -
-gboolean - -soup_cookie_get_http_only () -
-gboolean - -soup_cookie_applies_to_uri () -
-gboolean - -soup_cookie_domain_matches () -
-char * - -soup_cookie_to_cookie_header () -
-char * - -soup_cookie_to_set_cookie_header () -
-GSList * - -soup_cookies_from_request () -
-GSList * - -soup_cookies_from_response () -
-void - -soup_cookies_to_request () -
-void - -soup_cookies_to_response () -
-char * - -soup_cookies_to_cookie_header () -
-void - -soup_cookies_free () -
-
-
-

Types and Values

-
---- - - - - -
 SoupCookie
-
-
-

Object Hierarchy

-
    GBoxed
-    ╰── SoupCookie
-
-
-
-

Includes

-
#include <libsoup/soup.h>
-
-
-
-

Description

-

SoupCookie implements HTTP cookies, as described by RFC 6265.

-

To have a SoupSession handle cookies for your appliction -automatically, use a SoupCookieJar.

-
-
-

Functions

-
-

soup_cookie_new ()

-
SoupCookie *
-soup_cookie_new (const char *name,
-                 const char *value,
-                 const char *domain,
-                 const char *path,
-                 int max_age);
-

Creates a new SoupCookie with the given attributes. (Use -soup_cookie_set_secure() and soup_cookie_set_http_only() if you -need to set those attributes on the returned cookie.)

-

If domain - starts with ".", that indicates a domain (which matches -the string after the ".", or any hostname that has domain - as a -suffix). Otherwise, it is a hostname and must match exactly.

-

max_age - is used to set the "expires" attribute on the cookie; pass --1 to not include the attribute (indicating that the cookie expires -with the current session), 0 for an already-expired cookie, or a -lifetime in seconds. You can use the constants -SOUP_COOKIE_MAX_AGE_ONE_HOUR, SOUP_COOKIE_MAX_AGE_ONE_DAY, -SOUP_COOKIE_MAX_AGE_ONE_WEEK and SOUP_COOKIE_MAX_AGE_ONE_YEAR (or -multiples thereof) to calculate this value. (If you really care -about setting the exact time that the cookie will expire, use -soup_cookie_set_expires().)

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - - - - - - -

name

cookie name

 

value

cookie value

 

domain

cookie domain or hostname

 

path

cookie path, or NULL

 

max_age

max age of the cookie, or -1 for a session cookie

 
-
-
-

Returns

-

a new SoupCookie.

-

-
-

Since 2.24

-
-
-
-

soup_cookie_parse ()

-
SoupCookie *
-soup_cookie_parse (const char *header,
-                   SoupURI *origin);
-

Parses header - and returns a SoupCookie. (If header - contains -multiple cookies, only the first one will be parsed.)

-

If header - does not have "path" or "domain" attributes, they will -be defaulted from origin -. If origin - is NULL, path will default -to "/", but domain will be left as NULL. Note that this is not a -valid state for a SoupCookie, and you will need to fill in some -appropriate string for the domain if you want to actually make use -of the cookie.

-
-

Parameters

-
----- - - - - - - - - - - - - -

header

a cookie string (eg, the value of a Set-Cookie header)

 

origin

origin of the cookie, or NULL

 
-
-
-

Returns

-

a new SoupCookie, or NULL if it could not be -parsed, or contained an illegal "domain" attribute for a cookie -originating from origin -.

-

-
-

Since 2.24

-
-
-
-

soup_cookie_copy ()

-
SoupCookie *
-soup_cookie_copy (SoupCookie *cookie);
-

Copies cookie -.

-
-

Parameters

-
----- - - - - - -

cookie

a SoupCookie

 
-
-
-

Returns

-

a copy of cookie -

-

-
-

Since 2.24

-
-
-
-

soup_cookie_free ()

-
void
-soup_cookie_free (SoupCookie *cookie);
-

Frees cookie -

-
-

Parameters

-
----- - - - - - -

cookie

a SoupCookie

 
-
-

Since 2.24

-
-
-
-

soup_cookie_set_name ()

-
void
-soup_cookie_set_name (SoupCookie *cookie,
-                      const char *name);
-

Sets cookie -'s name to name -

-
-

Parameters

-
----- - - - - - - - - - - - - -

cookie

a SoupCookie

 

name

the new name

 
-
-

Since 2.24

-
-
-
-

soup_cookie_get_name ()

-
const char *
-soup_cookie_get_name (SoupCookie *cookie);
-

Gets cookie -'s name

-
-

Parameters

-
----- - - - - - -

cookie

a SoupCookie

 
-
-
-

Returns

-

cookie -'s name

-

-
-

Since 2.32

-
-
-
-

soup_cookie_set_value ()

-
void
-soup_cookie_set_value (SoupCookie *cookie,
-                       const char *value);
-

Sets cookie -'s value to value -

-
-

Parameters

-
----- - - - - - - - - - - - - -

cookie

a SoupCookie

 

value

the new value

 
-
-

Since 2.24

-
-
-
-

soup_cookie_get_value ()

-
const char *
-soup_cookie_get_value (SoupCookie *cookie);
-

Gets cookie -'s value

-
-

Parameters

-
----- - - - - - -

cookie

a SoupCookie

 
-
-
-

Returns

-

cookie -'s value

-

-
-

Since 2.32

-
-
-
-

soup_cookie_set_domain ()

-
void
-soup_cookie_set_domain (SoupCookie *cookie,
-                        const char *domain);
-

Sets cookie -'s domain to domain -

-
-

Parameters

-
----- - - - - - - - - - - - - -

cookie

a SoupCookie

 

domain

the new domain

 
-
-

Since 2.24

-
-
-
-

soup_cookie_get_domain ()

-
const char *
-soup_cookie_get_domain (SoupCookie *cookie);
-

Gets cookie -'s domain

-
-

Parameters

-
----- - - - - - -

cookie

a SoupCookie

 
-
-
-

Returns

-

cookie -'s domain

-

-
-

Since 2.32

-
-
-
-

soup_cookie_set_path ()

-
void
-soup_cookie_set_path (SoupCookie *cookie,
-                      const char *path);
-

Sets cookie -'s path to path -

-
-

Parameters

-
----- - - - - - - - - - - - - -

cookie

a SoupCookie

 

path

the new path

 
-
-

Since 2.24

-
-
-
-

soup_cookie_get_path ()

-
const char *
-soup_cookie_get_path (SoupCookie *cookie);
-

Gets cookie -'s path

-
-

Parameters

-
----- - - - - - -

cookie

a SoupCookie

 
-
-
-

Returns

-

cookie -'s path

-

-
-

Since 2.32

-
-
-
-

soup_cookie_set_max_age ()

-
void
-soup_cookie_set_max_age (SoupCookie *cookie,
-                         int max_age);
-

Sets cookie -'s max age to max_age -. If max_age - is -1, the cookie -is a session cookie, and will expire at the end of the client's -session. Otherwise, it is the number of seconds until the cookie -expires. You can use the constants SOUP_COOKIE_MAX_AGE_ONE_HOUR, -SOUP_COOKIE_MAX_AGE_ONE_DAY, SOUP_COOKIE_MAX_AGE_ONE_WEEK and -SOUP_COOKIE_MAX_AGE_ONE_YEAR (or multiples thereof) to calculate -this value. (A value of 0 indicates that the cookie should be -considered already-expired.)

-

(This sets the same property as soup_cookie_set_expires().)

-
-

Parameters

-
----- - - - - - - - - - - - - -

cookie

a SoupCookie

 

max_age

the new max age

 
-
-

Since 2.24

-
-
-
-

SOUP_COOKIE_MAX_AGE_ONE_HOUR

-
#define SOUP_COOKIE_MAX_AGE_ONE_HOUR (60 * 60)
-
-

A constant corresponding to 1 hour, for use with soup_cookie_new() -and soup_cookie_set_max_age().

-

Since 2.24

-
-
-
-

SOUP_COOKIE_MAX_AGE_ONE_DAY

-
#define SOUP_COOKIE_MAX_AGE_ONE_DAY  (SOUP_COOKIE_MAX_AGE_ONE_HOUR * 24)
-
-

A constant corresponding to 1 day, for use with soup_cookie_new() -and soup_cookie_set_max_age().

-

Since 2.24

-
-
-
-

SOUP_COOKIE_MAX_AGE_ONE_WEEK

-
#define SOUP_COOKIE_MAX_AGE_ONE_WEEK (SOUP_COOKIE_MAX_AGE_ONE_DAY * 7)
-
-

A constant corresponding to 1 week, for use with soup_cookie_new() -and soup_cookie_set_max_age().

-

Since 2.24

-
-
-
-

SOUP_COOKIE_MAX_AGE_ONE_YEAR

-
#define SOUP_COOKIE_MAX_AGE_ONE_YEAR (SOUP_COOKIE_MAX_AGE_ONE_DAY * 365.2422)
-
-

A constant corresponding to 1 year, for use with soup_cookie_new() -and soup_cookie_set_max_age().

-

Since 2.24

-
-
-
-

soup_cookie_set_expires ()

-
void
-soup_cookie_set_expires (SoupCookie *cookie,
-                         SoupDate *expires);
-

Sets cookie -'s expiration time to expires -. If expires - is NULL, -cookie - will be a session cookie and will expire at the end of the -client's session.

-

(This sets the same property as soup_cookie_set_max_age().)

-
-

Parameters

-
----- - - - - - - - - - - - - -

cookie

a SoupCookie

 

expires

the new expiration time, or NULL

 
-
-

Since 2.24

-
-
-
-

soup_cookie_get_expires ()

-
SoupDate *
-soup_cookie_get_expires (SoupCookie *cookie);
-

Gets cookie -'s expiration time

-
-

Parameters

-
----- - - - - - -

cookie

a SoupCookie

 
-
-
-

Returns

-

cookie -'s expiration time, which is -owned by cookie -and should not be modified or freed.

-

[transfer none]

-
-

Since 2.32

-
-
-
-

soup_cookie_set_secure ()

-
void
-soup_cookie_set_secure (SoupCookie *cookie,
-                        gboolean secure);
-

Sets cookie -'s secure attribute to secure -. If TRUE, cookie - will -only be transmitted from the client to the server over secure -(https) connections.

-
-

Parameters

-
----- - - - - - - - - - - - - -

cookie

a SoupCookie

 

secure

the new value for the secure attribute

 
-
-

Since 2.24

-
-
-
-

soup_cookie_get_secure ()

-
gboolean
-soup_cookie_get_secure (SoupCookie *cookie);
-

Gets cookie -'s secure attribute

-
-

Parameters

-
----- - - - - - -

cookie

a SoupCookie

 
-
-
-

Returns

-

cookie -'s secure attribute

-

-
-

Since 2.32

-
-
-
-

soup_cookie_set_http_only ()

-
void
-soup_cookie_set_http_only (SoupCookie *cookie,
-                           gboolean http_only);
-

Sets cookie -'s HttpOnly attribute to http_only -. If TRUE, cookie - -will be marked as "http only", meaning it should not be exposed to -web page scripts or other untrusted code.

-
-

Parameters

-
----- - - - - - - - - - - - - -

cookie

a SoupCookie

 

http_only

the new value for the HttpOnly attribute

 
-
-

Since 2.24

-
-
-
-

soup_cookie_get_http_only ()

-
gboolean
-soup_cookie_get_http_only (SoupCookie *cookie);
-

Gets cookie -'s HttpOnly attribute

-
-

Parameters

-
----- - - - - - -

cookie

a SoupCookie

 
-
-
-

Returns

-

cookie -'s HttpOnly attribute

-

-
-

Since 2.32

-
-
-
-

soup_cookie_applies_to_uri ()

-
gboolean
-soup_cookie_applies_to_uri (SoupCookie *cookie,
-                            SoupURI *uri);
-

Tests if cookie - should be sent to uri -.

-

(At the moment, this does not check that cookie -'s domain matches -uri -, because it assumes that the caller has already done that. -But don't rely on that; it may change in the future.)

-
-

Parameters

-
----- - - - - - - - - - - - - -

cookie

a SoupCookie

 

uri

a SoupURI

 
-
-
-

Returns

-

TRUE if cookie -should be sent to uri -, FALSE if -not

-

-
-

Since 2.24

-
-
-
-

soup_cookie_domain_matches ()

-
gboolean
-soup_cookie_domain_matches (SoupCookie *cookie,
-                            const char *host);
-

Checks if the cookie -'s domain and host - match in the sense that -cookie - should be sent when making a request to host -, or that -cookie - should be accepted when receiving a response from host -.

-
-

Parameters

-
----- - - - - - - - - - - - - -

cookie

a SoupCookie

 

host

a URI

 
-
-
-

Returns

-

TRUE if the domains match, FALSE otherwise

-

-
-

Since 2.30

-
-
-
-

soup_cookie_to_cookie_header ()

-
char *
-soup_cookie_to_cookie_header (SoupCookie *cookie);
-

Serializes cookie - in the format used by the Cookie header (ie, for -returning a cookie from a SoupSession to a server).

-
-

Parameters

-
----- - - - - - -

cookie

a SoupCookie

 
-
-
-

Returns

-

the header

-

-
-

Since 2.24

-
-
-
-

soup_cookie_to_set_cookie_header ()

-
char *
-soup_cookie_to_set_cookie_header (SoupCookie *cookie);
-

Serializes cookie - in the format used by the Set-Cookie header -(ie, for sending a cookie from a SoupServer to a client).

-
-

Parameters

-
----- - - - - - -

cookie

a SoupCookie

 
-
-
-

Returns

-

the header

-

-
-

Since 2.24

-
-
-
-

soup_cookies_from_request ()

-
GSList *
-soup_cookies_from_request (SoupMessage *msg);
-

Parses msg -'s Cookie request header and returns a GSList of -SoupCookies. As the "Cookie" header, unlike "Set-Cookie", -only contains cookie names and values, none of the other -SoupCookie fields will be filled in. (Thus, you can't generally -pass a cookie returned from this method directly to -soup_cookies_to_response().)

-
-

Parameters

-
----- - - - - - -

msg

a SoupMessage containing a "Cookie" request header

 
-
-
-

Returns

-

a GSList -of SoupCookies, which can be freed with -soup_cookies_free().

-

[element-type SoupCookie][transfer full]

-
-

Since 2.24

-
-
-
-

soup_cookies_from_response ()

-
GSList *
-soup_cookies_from_response (SoupMessage *msg);
-

Parses msg -'s Set-Cookie response headers and returns a GSList of -SoupCookies. Cookies that do not specify "path" or -"domain" attributes will have their values defaulted from msg -.

-
-

Parameters

-
----- - - - - - -

msg

a SoupMessage containing a "Set-Cookie" response header

 
-
-
-

Returns

-

a GSList -of SoupCookies, which can be freed with -soup_cookies_free().

-

[element-type SoupCookie][transfer full]

-
-

Since 2.24

-
-
-
-

soup_cookies_to_request ()

-
void
-soup_cookies_to_request (GSList *cookies,
-                         SoupMessage *msg);
-

Adds the name and value of each cookie in cookies - to msg -'s -"Cookie" request. (If msg - already has a "Cookie" request header, -these cookies will be appended to the cookies already present. Be -careful that you do not append the same cookies twice, eg, when -requeuing a message.)

-
-

Parameters

-
----- - - - - - - - - - - - - -

cookies

a GSList of SoupCookie.

[element-type SoupCookie]

msg

a SoupMessage

 
-
-

Since 2.24

-
-
-
-

soup_cookies_to_response ()

-
void
-soup_cookies_to_response (GSList *cookies,
-                          SoupMessage *msg);
-

Appends a "Set-Cookie" response header to msg - for each cookie in -cookies -. (This is in addition to any other "Set-Cookie" headers -msg - may already have.)

-
-

Parameters

-
----- - - - - - - - - - - - - -

cookies

a GSList of SoupCookie.

[element-type SoupCookie]

msg

a SoupMessage

 
-
-

Since 2.24

-
-
-
-

soup_cookies_to_cookie_header ()

-
char *
-soup_cookies_to_cookie_header (GSList *cookies);
-

Serializes a GSList of SoupCookie into a string suitable for -setting as the value of the "Cookie" header.

-
-

Parameters

-
----- - - - - - -

cookies

a GSList of SoupCookie.

[element-type SoupCookie]
-
-
-

Returns

-

the serialization of cookies -

-

-
-

Since 2.24

-
-
-
-

soup_cookies_free ()

-
void
-soup_cookies_free (GSList *cookies);
-

Frees cookies -.

-
-

Parameters

-
----- - - - - - -

cookies

a GSList of SoupCookie.

[element-type SoupCookie]
-
-

Since 2.24

-
-
-
-

Types and Values

-
-

SoupCookie

-
typedef struct {
-	char     *name;
-	char     *value;
-	char     *domain;
-	char     *path;
-	SoupDate *expires;
-	gboolean  secure;
-	gboolean  http_only;
-} SoupCookie;
-
-

An HTTP cookie.

-

name - and value - will be set for all cookies. If the cookie is -generated from a string that appears to have no name, then name - -will be the empty string.

-

domain - and path - give the host or domain, and path within that -host/domain, to restrict this cookie to. If domain - starts with -".", that indicates a domain (which matches the string after the -".", or any hostname that has domain - as a suffix). Otherwise, it -is a hostname and must match exactly.

-

expires - will be non-NULL if the cookie uses either the original -"expires" attribute, or the newer "max-age" attribute. If expires - -is NULL, it indicates that neither "expires" nor "max-age" was -specified, and the cookie expires at the end of the session.

-

If http_only - is set, the cookie should not be exposed to untrusted -code (eg, javascript), so as to minimize the danger posed by -cross-site scripting attacks.

-
-

Members

-
----- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

char *name;

the cookie name

 

char *value;

the cookie value

 

char *domain;

the "domain" attribute, or else the hostname that the -cookie came from.

 

char *path;

the "path" attribute, or NULL

 

SoupDate *expires;

the cookie expiration time, or NULL for a session cookie

 

gboolean secure;

TRUE if the cookie should only be tranferred over SSL

 

gboolean http_only;

TRUE if the cookie should not be exposed to scripts

 
-
-

Since 2.24

-
-
-
-

See Also

-

SoupMessage, SoupCookieJar

-
-
- - - \ No newline at end of file diff --git a/docs/reference/html/SoupCookieJar.html b/docs/reference/html/SoupCookieJar.html deleted file mode 100644 index 45413d3..0000000 --- a/docs/reference/html/SoupCookieJar.html +++ /dev/null @@ -1,866 +0,0 @@ - - - - -libsoup Reference Manual: SoupCookieJar - - - - - - - - - - - - - - - - -
-
-
- - -
-

SoupCookieJar

-

SoupCookieJar — Automatic cookie handling for SoupSession

-
-
-

Functions

-
---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-SoupCookieJar * - -soup_cookie_jar_new () -
-char * - -soup_cookie_jar_get_cookies () -
-GSList * - -soup_cookie_jar_get_cookie_list () -
-void - -soup_cookie_jar_set_cookie () -
-void - -soup_cookie_jar_set_cookie_with_first_party () -
-void - -soup_cookie_jar_add_cookie () -
-void - -soup_cookie_jar_add_cookie_with_first_party () -
-void - -soup_cookie_jar_delete_cookie () -
-GSList * - -soup_cookie_jar_all_cookies () -
-SoupCookieJarAcceptPolicy - -soup_cookie_jar_get_accept_policy () -
-void - -soup_cookie_jar_set_accept_policy () -
-gboolean - -soup_cookie_jar_is_persistent () -
-
-
-

Properties

-
----- - - - - - - - - - - - - -
SoupCookieJarAcceptPolicyaccept-policyRead / Write
gbooleanread-onlyRead / Write / Construct Only
-
-
-

Signals

-
----- - - - - - -
voidchangedRun First
-
-
-

Types and Values

-
---- - - - - - - - - - - - - - - - - - - -
 SoupCookieJar
enumSoupCookieJarAcceptPolicy
#defineSOUP_COOKIE_JAR_READ_ONLY
#defineSOUP_COOKIE_JAR_ACCEPT_POLICY
-
-
-

Object Hierarchy

-
    GObject
-    ╰── SoupCookieJar
-        ├── SoupCookieJarDB
-        ╰── SoupCookieJarText
-
-
-
-

Implemented Interfaces

-

-SoupCookieJar implements - SoupSessionFeature.

-
-
-

Includes

-
#include <libsoup/soup.h>
-
-
-
-

Description

-

A SoupCookieJar stores SoupCookies and arrange for them -to be sent with the appropriate SoupMessages. -SoupCookieJar implements SoupSessionFeature, so you can add a -cookie jar to a session with soup_session_add_feature() or -soup_session_add_feature_by_type().

-

Note that the base SoupCookieJar class does not support any form -of long-term cookie persistence.

-
-
-

Functions

-
-

soup_cookie_jar_new ()

-
SoupCookieJar *
-soup_cookie_jar_new (void);
-

Creates a new SoupCookieJar. The base SoupCookieJar class does -not support persistent storage of cookies; use a subclass for that.

-
-

Returns

-

a new SoupCookieJar

-

-
-

Since 2.24

-
-
-
-

soup_cookie_jar_get_cookies ()

-
char *
-soup_cookie_jar_get_cookies (SoupCookieJar *jar,
-                             SoupURI *uri,
-                             gboolean for_http);
-

Retrieves (in Cookie-header form) the list of cookies that would -be sent with a request to uri -.

-

If for_http - is TRUE, the return value will include cookies marked -"HttpOnly" (that is, cookies that the server wishes to keep hidden -from client-side scripting operations such as the JavaScript -document.cookies property). Since SoupCookieJar sets the Cookie -header itself when making the actual HTTP request, you should -almost certainly be setting for_http - to FALSE if you are calling -this.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

jar

a SoupCookieJar

 

uri

a SoupURI

 

for_http

whether or not the return value is being passed directly -to an HTTP operation

 
-
-
-

Returns

-

the cookies, in string form, or NULL if there are no -cookies for uri -.

-

-
-

Since 2.24

-
-
-
-

soup_cookie_jar_get_cookie_list ()

-
GSList *
-soup_cookie_jar_get_cookie_list (SoupCookieJar *jar,
-                                 SoupURI *uri,
-                                 gboolean for_http);
-

Retrieves the list of cookies that would be sent with a request to uri - -as a GSList of SoupCookie objects.

-

If for_http - is TRUE, the return value will include cookies marked -"HttpOnly" (that is, cookies that the server wishes to keep hidden -from client-side scripting operations such as the JavaScript -document.cookies property). Since SoupCookieJar sets the Cookie -header itself when making the actual HTTP request, you should -almost certainly be setting for_http - to FALSE if you are calling -this.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

jar

a SoupCookieJar

 

uri

a SoupURI

 

for_http

whether or not the return value is being passed directly -to an HTTP operation

 
-
-
-

Returns

-

a GSList -with the cookies in the jar -that would be sent with a request to uri -.

-

[transfer full][element-type Soup.Cookie]

-
-

Since 2.40

-
-
-
-

soup_cookie_jar_set_cookie ()

-
void
-soup_cookie_jar_set_cookie (SoupCookieJar *jar,
-                            SoupURI *uri,
-                            const char *cookie);
-

Adds cookie - to jar -, exactly as though it had appeared in a -Set-Cookie header returned from a request to uri -.

-

Keep in mind that if the SoupCookieJarAcceptPolicy -SOUP_COOKIE_JAR_ACCEPT_NO_THIRD_PARTY is set you'll need to use -soup_cookie_jar_set_cookie_with_first_party(), otherwise the jar -will have no way of knowing if the cookie is being set by a third -party or not.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

jar

a SoupCookieJar

 

uri

the URI setting the cookie

 

cookie

the stringified cookie to set

 
-
-

Since 2.24

-
-
-
-

soup_cookie_jar_set_cookie_with_first_party ()

-
void
-soup_cookie_jar_set_cookie_with_first_party
-                               (SoupCookieJar *jar,
-                                SoupURI *uri,
-                                SoupURI *first_party,
-                                const char *cookie);
-

Adds cookie - to jar -, exactly as though it had appeared in a -Set-Cookie header returned from a request to uri -. first_party - -will be used to reject cookies coming from third party resources in -case such a security policy is set in the jar -.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - -

jar

a SoupCookieJar

 

uri

the URI setting the cookie

 

first_party

the URI for the main document

 

cookie

the stringified cookie to set

 
-
-

Since 2.30

-
-
-
-

soup_cookie_jar_add_cookie ()

-
void
-soup_cookie_jar_add_cookie (SoupCookieJar *jar,
-                            SoupCookie *cookie);
-

Adds cookie - to jar -, emitting the 'changed' signal if we are modifying -an existing cookie or adding a valid new cookie ('valid' means -that the cookie's expire date is not in the past).

-

cookie - will be 'stolen' by the jar, so don't free it afterwards.

-
-

Parameters

-
----- - - - - - - - - - - - - -

jar

a SoupCookieJar

 

cookie

a SoupCookie.

[transfer full]
-
-

Since 2.26

-
-
-
-

soup_cookie_jar_add_cookie_with_first_party ()

-
void
-soup_cookie_jar_add_cookie_with_first_party
-                               (SoupCookieJar *jar,
-                                SoupURI *first_party,
-                                SoupCookie *cookie);
-

Adds cookie - to jar -, emitting the 'changed' signal if we are modifying -an existing cookie or adding a valid new cookie ('valid' means -that the cookie's expire date is not in the past).

-

first_party - will be used to reject cookies coming from third party -resources in case such a security policy is set in the jar -.

-

cookie - will be 'stolen' by the jar, so don't free it afterwards.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

jar

a SoupCookieJar

 

first_party

the URI for the main document

 

cookie

a SoupCookie.

[transfer full]
-
-

Since 2.40

-
-
-
-

soup_cookie_jar_delete_cookie ()

-
void
-soup_cookie_jar_delete_cookie (SoupCookieJar *jar,
-                               SoupCookie *cookie);
-

Deletes cookie - from jar -, emitting the 'changed' signal.

-
-

Parameters

-
----- - - - - - - - - - - - - -

jar

a SoupCookieJar

 

cookie

a SoupCookie

 
-
-

Since 2.26

-
-
-
-

soup_cookie_jar_all_cookies ()

-
GSList *
-soup_cookie_jar_all_cookies (SoupCookieJar *jar);
-

Constructs a GSList with every cookie inside the jar -. -The cookies in the list are a copy of the original, so -you have to free them when you are done with them.

-
-

Parameters

-
----- - - - - - -

jar

a SoupCookieJar

 
-
-
-

Returns

-

a GSList -with all the cookies in the jar -.

-

[transfer full][element-type Soup.Cookie]

-
-

Since 2.26

-
-
-
-

soup_cookie_jar_get_accept_policy ()

-
SoupCookieJarAcceptPolicy
-soup_cookie_jar_get_accept_policy (SoupCookieJar *jar);
-

Gets jar -'s SoupCookieJarAcceptPolicy

-
-

Parameters

-
----- - - - - - -

jar

a SoupCookieJar

 
-
-
-

Returns

-

the SoupCookieJarAcceptPolicy set in the jar -

-

-
-

Since 2.30

-
-
-
-

soup_cookie_jar_set_accept_policy ()

-
void
-soup_cookie_jar_set_accept_policy (SoupCookieJar *jar,
-                                   SoupCookieJarAcceptPolicy policy);
-

Sets policy - as the cookie acceptance policy for jar -.

-
-

Parameters

-
----- - - - - - - - - - - - - -

jar

a SoupCookieJar

 

policy

a SoupCookieJarAcceptPolicy

 
-
-

Since 2.30

-
-
-
-

soup_cookie_jar_is_persistent ()

-
gboolean
-soup_cookie_jar_is_persistent (SoupCookieJar *jar);
-

Gets whether jar - stores cookies persistenly.

-
-

Parameters

-
----- - - - - - -

jar

a SoupCookieJar

 
-
-
-

Returns

-

TRUE if jar -storage is persistent or FALSE otherwise.

-

-
-

Since 2.40

-
-
-
-

Types and Values

-
-

SoupCookieJar

-
typedef struct _SoupCookieJar SoupCookieJar;
-

-

-
-
-
-

enum SoupCookieJarAcceptPolicy

-

The policy for accepting or rejecting cookies returned in -responses.

-
-

Members

-
----- - - - - - - - - - - - - - - - - - -

SOUP_COOKIE_JAR_ACCEPT_ALWAYS

-

accept all cookies unconditionally.

-
 

SOUP_COOKIE_JAR_ACCEPT_NEVER

-

reject all cookies unconditionally.

-
 

SOUP_COOKIE_JAR_ACCEPT_NO_THIRD_PARTY

-

accept all cookies set by -the main document loaded in the application using libsoup. An -example of the most common case, web browsers, would be: If -http://www.example.com is the page loaded, accept all cookies set -by example.com, but if a resource from http://www.third-party.com -is loaded from that page reject any cookie that it could try to -set. For libsoup to be able to tell apart first party cookies from -the rest, the application must call soup_message_set_first_party() -on each outgoing SoupMessage, setting the SoupURI of the main -document. If no first party is set in a message when this policy is -in effect, cookies will be assumed to be third party by default.

-
 
-
-

Since 2.30

-
-
-
-

SOUP_COOKIE_JAR_READ_ONLY

-
#define SOUP_COOKIE_JAR_READ_ONLY "read-only"
-
-

Alias for the “read-only” property. (Whether -or not the cookie jar is read-only.)

-
-
-
-

SOUP_COOKIE_JAR_ACCEPT_POLICY

-
#define SOUP_COOKIE_JAR_ACCEPT_POLICY "accept-policy"
-
-

Alias for the “accept-policy” property.

-

Since 2.30

-
-
-
-

Property Details

-
-

The “accept-policy” property

-
  “accept-policy”            SoupCookieJarAcceptPolicy
-

The policy the jar should follow to accept or reject cookies

-

Flags: Read / Write

-

Default value: SOUP_COOKIE_JAR_ACCEPT_ALWAYS

-

Since 2.30

-
-
-
-

The “read-only” property

-
  “read-only”                gboolean
-

Whether or not the cookie jar is read-only.

-

Flags: Read / Write / Construct Only

-

Default value: FALSE

-
-
-
-

Signal Details

-
-

The “changed” signal

-
void
-user_function (SoupCookieJar *jar,
-               SoupCookie    *old_cookie,
-               SoupCookie    *new_cookie,
-               gpointer       user_data)
-

Emitted when jar - changes. If a cookie has been added, -new_cookie - will contain the newly-added cookie and -old_cookie - will be NULL. If a cookie has been deleted, -old_cookie - will contain the to-be-deleted cookie and -new_cookie - will be NULL. If a cookie has been changed, -old_cookie - will contain its old value, and new_cookie - its -new value.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - -

jar

the SoupCookieJar

 

old_cookie

the old SoupCookie value

 

new_cookie

the new SoupCookie value

 

user_data

user data set when the signal handler was connected.

 
-
-

Flags: Run First

-
-
-
- - - \ No newline at end of file diff --git a/docs/reference/html/SoupCookieJarDB.html b/docs/reference/html/SoupCookieJarDB.html deleted file mode 100644 index f0edeed..0000000 --- a/docs/reference/html/SoupCookieJarDB.html +++ /dev/null @@ -1,196 +0,0 @@ - - - - -libsoup Reference Manual: SoupCookieJarDB - - - - - - - - - - - - - - - - -
-
-
- - -
-

SoupCookieJarDB

-

SoupCookieJarDB — Database-based Cookie Jar

-
-
-

Functions

-
---- - - - - -
-SoupCookieJar * - -soup_cookie_jar_db_new () -
-
-
-

Properties

-
----- - - - - - -
-gchar *filenameRead / Write / Construct Only
-
-
-

Types and Values

-
---- - - - - - - - - - - -
 SoupCookieJarDB
#defineSOUP_COOKIE_JAR_DB_FILENAME
-
-
-

Object Hierarchy

-
    GObject
-    ╰── SoupCookieJar
-        ╰── SoupCookieJarDB
-
-
-
-

Implemented Interfaces

-

-SoupCookieJarDB implements - SoupSessionFeature.

-
-
-

Includes

-
#include <libsoup/soup.h>
-
-
-
-

Description

-

SoupCookieJarDB is a SoupCookieJar that reads cookies from and -writes them to a sqlite database in the new Mozilla format.

-

(This is identical to SoupCookieJarSqlite in -libsoup-gnome; it has just been moved into libsoup proper, and -renamed to avoid conflicting.)

-
-
-

Functions

-
-

soup_cookie_jar_db_new ()

-
SoupCookieJar *
-soup_cookie_jar_db_new (const char *filename,
-                        gboolean read_only);
-

Creates a SoupCookieJarDB.

-

filename - will be read in at startup to create an initial set of -cookies. If read_only - is FALSE, then the non-session cookies will -be written to filename - when the 'changed' signal is emitted from -the jar. (If read_only - is TRUE, then the cookie jar will only be -used for this session, and changes made to it will be lost when the -jar is destroyed.)

-
-

Parameters

-
----- - - - - - - - - - - - - -

filename

the filename to read to/write from, or NULL

 

read_only

TRUE if filename -is read-only

 
-
-
-

Returns

-

the new SoupCookieJar

-

-
-

Since 2.42

-
-
-
-

Types and Values

-
-

SoupCookieJarDB

-
typedef struct _SoupCookieJarDB SoupCookieJarDB;
-

-

-
-
-
-

SOUP_COOKIE_JAR_DB_FILENAME

-
#define SOUP_COOKIE_JAR_DB_FILENAME  "filename"
-
-

Alias for the “filename” property. (The -cookie-storage filename.)

-
-
-
-

Property Details

-
-

The “filename” property

-
  “filename”                 gchar *
-

Cookie-storage filename.

-

Flags: Read / Write / Construct Only

-

Default value: NULL

-
-
-
- - - \ No newline at end of file diff --git a/docs/reference/html/SoupCookieJarText.html b/docs/reference/html/SoupCookieJarText.html deleted file mode 100644 index cae2646..0000000 --- a/docs/reference/html/SoupCookieJarText.html +++ /dev/null @@ -1,193 +0,0 @@ - - - - -libsoup Reference Manual: SoupCookieJarText - - - - - - - - - - - - - - - - -
-
-
- - -
-

SoupCookieJarText

-

SoupCookieJarText — Text-file-based ("cookies.txt") Cookie Jar

-
-
-

Functions

-
---- - - - - -
-SoupCookieJar * - -soup_cookie_jar_text_new () -
-
-
-

Properties

-
----- - - - - - -
-gchar *filenameRead / Write / Construct Only
-
-
-

Types and Values

-
---- - - - - - - - - - - -
 SoupCookieJarText
#defineSOUP_COOKIE_JAR_TEXT_FILENAME
-
-
-

Object Hierarchy

-
    GObject
-    ╰── SoupCookieJar
-        ╰── SoupCookieJarText
-
-
-
-

Implemented Interfaces

-

-SoupCookieJarText implements - SoupSessionFeature.

-
-
-

Includes

-
#include <libsoup/soup.h>
-
-
-
-

Description

-

SoupCookieJarText is a SoupCookieJar that reads cookies from and -writes them to a text file in the Mozilla "cookies.txt" format.

-
-
-

Functions

-
-

soup_cookie_jar_text_new ()

-
SoupCookieJar *
-soup_cookie_jar_text_new (const char *filename,
-                          gboolean read_only);
-

Creates a SoupCookieJarText.

-

filename - will be read in at startup to create an initial set of -cookies. If read_only - is FALSE, then the non-session cookies will -be written to filename - when the 'changed' signal is emitted from -the jar. (If read_only - is TRUE, then the cookie jar will only be -used for this session, and changes made to it will be lost when the -jar is destroyed.)

-
-

Parameters

-
----- - - - - - - - - - - - - -

filename

the filename to read to/write from

 

read_only

TRUE if filename -is read-only

 
-
-
-

Returns

-

the new SoupCookieJar

-

-
-

Since 2.26

-
-
-
-

Types and Values

-
-

SoupCookieJarText

-
typedef struct _SoupCookieJarText SoupCookieJarText;
-

-

-
-
-
-

SOUP_COOKIE_JAR_TEXT_FILENAME

-
#define SOUP_COOKIE_JAR_TEXT_FILENAME  "filename"
-
-

Alias for the “filename” property. (The -cookie-storage filename.)

-
-
-
-

Property Details

-
-

The “filename” property

-
  “filename”                 gchar *
-

Cookie-storage filename.

-

Flags: Read / Write / Construct Only

-

Default value: NULL

-
-
-
- - - \ No newline at end of file diff --git a/docs/reference/html/SoupLogger.html b/docs/reference/html/SoupLogger.html deleted file mode 100644 index fdfcf5d..0000000 --- a/docs/reference/html/SoupLogger.html +++ /dev/null @@ -1,647 +0,0 @@ - - - - -libsoup Reference Manual: SoupLogger - - - - - - - - - - - - - - - - -
-
-
- - -
-

SoupLogger

-

SoupLogger — Debug logging support

-
-
-

Functions

-
---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-SoupLogger * - -soup_logger_new () -
-void - -soup_logger_attach () -
-void - -soup_logger_detach () -
-SoupLoggerLogLevel - -(*SoupLoggerFilter) () -
-void - -soup_logger_set_request_filter () -
-void - -soup_logger_set_response_filter () -
-void - -(*SoupLoggerPrinter) () -
-void - -soup_logger_set_printer () -
-
-
-

Types and Values

-
---- - - - - - - - - - - -
 SoupLogger
enumSoupLoggerLogLevel
-
-
-

Object Hierarchy

-
    GObject
-    ╰── SoupLogger
-
-
-
-

Implemented Interfaces

-

-SoupLogger implements - SoupSessionFeature.

-
-
-

Includes

-
#include <libsoup/soup.h>
-
-
-
-

Description

-

SoupLogger watches a SoupSession and logs the HTTP traffic that -it generates, for debugging purposes. Many applications use an -environment variable to determine whether or not to use -SoupLogger, and to determine the amount of debugging output.

-

To use SoupLogger, first create a logger with soup_logger_new(), -optionally configure it with soup_logger_set_request_filter(), -soup_logger_set_response_filter(), and soup_logger_set_printer(), -and then attach it to a session (or multiple sessions) with -soup_session_add_feature().

-

By default, the debugging output is sent to -stdout, and looks something like:

-
-> POST /unauth HTTP/1.1
-> Soup-Debug-Timestamp: 1200171744
-> Soup-Debug: SoupSessionAsync 1 (0x612190), SoupMessage 1 (0x617000), SoupSocket 1 (0x612220)
-> Host: localhost
-> Content-Type: text/plain
-> Connection: close
-> 
-> This is a test.
-  
-< HTTP/1.1 201 Created
-< Soup-Debug-Timestamp: 1200171744
-< Soup-Debug: SoupMessage 1 (0x617000)
-< Date: Sun, 12 Jan 2008 21:02:24 GMT
-< Content-Length: 0
-
-

The Soup-Debug-Timestamp line gives the time (as -a time_t) when the request was sent, or the response fully -received.

-

The Soup-Debug line gives further debugging -information about the SoupSession, SoupMessage, and SoupSocket -involved; the hex numbers are the addresses of the objects in -question (which may be useful if you are running in a debugger). -The decimal IDs are simply counters that uniquely identify objects -across the lifetime of the SoupLogger. In particular, this can be -used to identify when multiple messages are sent across the same -connection.

-

Currently, the request half of the message is logged just before -the first byte of the request gets written to the network (from the -“request_started” signal), which means that if you have -not made the complete request body available at that point, it will -not be logged.

-

The response is logged just after the last byte of the response -body is read from the network (from the “got_body” or -“got_informational” signal), which means that the -“got_headers” signal, and anything triggered off it -(such as “authenticate”) will be emitted -before the response headers are actually -logged.

-

If the response doesn't happen to trigger the -“got_body” nor “got_informational” signals -due to, for example, a cancellation before receiving the last byte -of the response body, the response will still be logged on the -event of the “finished” signal.

-
-
-

Functions

-
-

soup_logger_new ()

-
SoupLogger *
-soup_logger_new (SoupLoggerLogLevel level,
-                 int max_body_size);
-

Creates a new SoupLogger with the given debug level. If level - is -SOUP_LOGGER_LOG_BODY, max_body_size - gives the maximum number of -bytes of the body that will be logged. (-1 means "no limit".)

-

If you need finer control over what message parts are and aren't -logged, use soup_logger_set_request_filter() and -soup_logger_set_response_filter().

-
-

Parameters

-
----- - - - - - - - - - - - - -

level

the debug level

 

max_body_size

the maximum body size to output, or -1

 
-
-
-

Returns

-

a new SoupLogger

-

-
-
-
-
-

soup_logger_attach ()

-
void
-soup_logger_attach (SoupLogger *logger,
-                    SoupSession *session);
-
-

soup_logger_attach is deprecated and should not be used in newly-written code.

-

Use soup_session_add_feature() instead.

-
-

Sets logger - to watch session - and print debug information for -its messages.

-

(The session will take a reference on logger -, which will be -removed when you call soup_logger_detach(), or when the session is -destroyed.)

-
-

Parameters

-
----- - - - - - - - - - - - - -

logger

a SoupLogger

 

session

a SoupSession

 
-
-
-
-
-

soup_logger_detach ()

-
void
-soup_logger_detach (SoupLogger *logger,
-                    SoupSession *session);
-
-

soup_logger_detach is deprecated and should not be used in newly-written code.

-

Use soup_session_remove_feature() instead.

-
-

Stops logger - from watching session -.

-
-

Parameters

-
----- - - - - - - - - - - - - -

logger

a SoupLogger

 

session

a SoupSession

 
-
-
-
-
-

SoupLoggerFilter ()

-
SoupLoggerLogLevel
-(*SoupLoggerFilter) (SoupLogger *logger,
-                     SoupMessage *msg,
-                     gpointer user_data);
-

The prototype for a logging filter. The filter callback will be -invoked for each request or response, and should analyze it and -return a SoupLoggerLogLevel value indicating how much of the -message to log. Eg, it might choose between SOUP_LOGGER_LOG_BODY -and SOUP_LOGGER_LOG_HEADERS depending on the Content-Type.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

logger

the SoupLogger

 

msg

the message being logged

 

user_data

the data passed to soup_logger_set_request_filter() -or soup_logger_set_response_filter()

 
-
-
-

Returns

-

a SoupLoggerLogLevel value indicating how much of -the message to log

-

-
-
-
-
-

soup_logger_set_request_filter ()

-
void
-soup_logger_set_request_filter (SoupLogger *logger,
-                                SoupLoggerFilter request_filter,
-                                gpointer filter_data,
-                                GDestroyNotify destroy);
-

Sets up a filter to determine the log level for a given request. -For each HTTP request logger - will invoke request_filter - to -determine how much (if any) of that request to log. (If you do not -set a request filter, logger - will just always log requests at the -level passed to soup_logger_new().)

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - -

logger

a SoupLogger

 

request_filter

the callback for request debugging

 

filter_data

data to pass to the callback

 

destroy

a GDestroyNotify to free filter_data -

 
-
-
-
-
-

soup_logger_set_response_filter ()

-
void
-soup_logger_set_response_filter (SoupLogger *logger,
-                                 SoupLoggerFilter response_filter,
-                                 gpointer filter_data,
-                                 GDestroyNotify destroy);
-

Sets up a filter to determine the log level for a given response. -For each HTTP response logger - will invoke response_filter - to -determine how much (if any) of that response to log. (If you do not -set a response filter, logger - will just always log responses at -the level passed to soup_logger_new().)

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - -

logger

a SoupLogger

 

response_filter

the callback for response debugging

 

filter_data

data to pass to the callback

 

destroy

a GDestroyNotify to free filter_data -

 
-
-
-
-
-

SoupLoggerPrinter ()

-
void
-(*SoupLoggerPrinter) (SoupLogger *logger,
-                      SoupLoggerLogLevel level,
-                      char direction,
-                      const char *data,
-                      gpointer user_data);
-

The prototype for a custom printing callback.

-

level - indicates what kind of information is being printed. Eg, it -will be SOUP_LOGGER_LOG_HEADERS if data - is header data.

-

direction - is either '<', '>', or ' ', and data - is the single line -to print; the printer is expected to add a terminating newline.

-

To get the effect of the default printer, you would do:

-
- - - - - - - -
1
printf ("%c %s\n", direction, data);
-
- -
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - - - - - - -

logger

the SoupLogger

 

level

the level of the information being printed.

 

direction

a single-character prefix to data -

 

data

data to print

 

user_data

the data passed to soup_logger_set_printer()

 
-
-
-
-
-

soup_logger_set_printer ()

-
void
-soup_logger_set_printer (SoupLogger *logger,
-                         SoupLoggerPrinter printer,
-                         gpointer printer_data,
-                         GDestroyNotify destroy);
-

Sets up an alternate log printing routine, if you don't want -the log to go to stdout.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - -

logger

a SoupLogger

 

printer

the callback for printing logging output

 

printer_data

data to pass to the callback

 

destroy

a GDestroyNotify to free printer_data -

 
-
-
-
-
-

Types and Values

-
-

SoupLogger

-
typedef struct _SoupLogger SoupLogger;
-

-

-
-
-
-

enum SoupLoggerLogLevel

-

Describes the level of logging output to provide.

-
-

Members

-
----- - - - - - - - - - - - - - - - - - - - - - - -

SOUP_LOGGER_LOG_NONE

-

No logging

-
 

SOUP_LOGGER_LOG_MINIMAL

-

Log the Request-Line or Status-Line and -the Soup-Debug pseudo-headers

-
 

SOUP_LOGGER_LOG_HEADERS

-

Log the full request/response headers

-
 

SOUP_LOGGER_LOG_BODY

-

Log the full headers and request/response -bodies.

-
 
-
-
-
-
- - - \ No newline at end of file diff --git a/docs/reference/html/SoupMessage.html b/docs/reference/html/SoupMessage.html deleted file mode 100644 index c9dd121..0000000 --- a/docs/reference/html/SoupMessage.html +++ /dev/null @@ -1,2768 +0,0 @@ - - - - -libsoup Reference Manual: SoupMessage - - - - - - - - - - - - - - - - -
-
-
- - -
-

SoupMessage

-

SoupMessage — An HTTP request and response.

-
-
-

Functions

-
---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-SoupMessage * - -soup_message_new () -
-SoupMessage * - -soup_message_new_from_uri () -
-void - -soup_message_set_request () -
-void - -soup_message_set_response () -
-void - -soup_message_set_http_version () -
-SoupHTTPVersion - -soup_message_get_http_version () -
-SoupURI * - -soup_message_get_uri () -
-void - -soup_message_set_uri () -
-SoupAddress * - -soup_message_get_address () -
-void - -soup_message_set_status () -
-void - -soup_message_set_status_full () -
-void - -soup_message_set_redirect () -
-gboolean - -soup_message_is_keepalive () -
-gboolean - -soup_message_get_https_status () -
-void - -soup_message_set_first_party () -
-SoupURI * - -soup_message_get_first_party () -
-guint - -soup_message_add_header_handler () -
-guint - -soup_message_add_status_code_handler () -
-void - -soup_message_set_flags () -
-SoupMessageFlags - -soup_message_get_flags () -
-SoupBuffer * - -(*SoupChunkAllocator) () -
-void - -soup_message_set_chunk_allocator () -
-void - -soup_message_disable_feature () -
-SoupRequest * - -soup_message_get_soup_request () -
-SoupMessagePriority - -soup_message_get_priority () -
-void - -soup_message_set_priority () -
-
-
-

Properties

-
----- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-SoupURI *first-partyRead / Write
SoupMessageFlagsflagsRead / Write
SoupHTTPVersionhttp-versionRead / Write
-gchar *methodRead / Write
SoupMessagePrioritypriorityRead / Write
-gchar *reason-phraseRead / Write
-SoupMessageBody *request-bodyRead
-GBytes *request-body-dataRead
-SoupMessageHeaders *request-headersRead
-SoupMessageBody *response-bodyRead
-GBytes *response-body-dataRead
-SoupMessageHeaders *response-headersRead
gbooleanserver-sideRead / Write / Construct Only
guintstatus-codeRead / Write
-GTlsCertificate *tls-certificateRead / Write
GTlsCertificateFlagstls-errorsRead / Write
-SoupURI *uriRead / Write
-
-
-

Signals

-
----- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
voidcontent-sniffedRun First
voidfinishedRun First
voidgot-bodyRun First
voidgot-chunkRun First
voidgot-headersRun First
voidgot-informationalRun First
voidnetwork-eventRun First
voidrestartedRun First
voidwrote-bodyRun First
voidwrote-body-dataRun First
voidwrote-chunkRun First
voidwrote-headersRun First
voidwrote-informationalRun First
-
-
-

Types and Values

- -
-
-

Object Hierarchy

-
    GObject
-    ╰── SoupMessage
-
-
-
-

Includes

-
#include <libsoup/soup.h>
-
-
-
-

Description

-

A SoupMessage represents an HTTP message that is being sent or -received.

-

For client-side usage, if you are using the traditional -SoupSession APIs (soup_session_queue_message() and -soup_session_send_message()), you would create a SoupMessage with -soup_message_new() or soup_message_new_from_uri(), set up its -fields appropriately, and send it. If you are using the newer -SoupRequest API, you would create a request with -soup_session_request_http() or soup_session_request_http_uri(), and -the returned SoupRequestHTTP will already have an associated -SoupMessage that you can retrieve via -soup_request_http_get_message().

-

For server-side usage, SoupServer will create SoupMessages automatically for incoming requests, which your application -will receive via handlers.

-

Note that libsoup's terminology here does not quite match the HTTP -specification: in RFC 2616, an "HTTP-message" is -either a Request, or a -Response. In libsoup, a SoupMessage combines both the request and -the response.

-
-
-

Functions

-
-

soup_message_new ()

-
SoupMessage *
-soup_message_new (const char *method,
-                  const char *uri_string);
-

Creates a new empty SoupMessage, which will connect to uri -

-
-

Parameters

-
----- - - - - - - - - - - - - -

method

the HTTP method for the created request

 

uri_string

the destination endpoint (as a string)

 
-
-
-

Returns

-

the new SoupMessage (or NULL if uri -could not -be parsed).

-

-
-
-
-
-

soup_message_new_from_uri ()

-
SoupMessage *
-soup_message_new_from_uri (const char *method,
-                           SoupURI *uri);
-

Creates a new empty SoupMessage, which will connect to uri -

-
-

Parameters

-
----- - - - - - - - - - - - - -

method

the HTTP method for the created request

 

uri

the destination endpoint (as a SoupURI)

 
-
-
-

Returns

-

the new SoupMessage

-

-
-
-
-
-

soup_message_set_request ()

-
void
-soup_message_set_request (SoupMessage *msg,
-                          const char *content_type,
-                          SoupMemoryUse req_use,
-                          const char *req_body,
-                          gsize req_length);
-

Convenience function to set the request body of a SoupMessage. If -content_type - is NULL, the request body must be empty as well.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - - - - - - -

msg

the message

 

content_type

MIME Content-Type of the body.

[allow-none]

req_use

a SoupMemoryUse describing how to handle req_body -

 

req_body

a data buffer containing the body of the message request.

[allow-none][array length=req_length][element-type guint8]

req_length

the byte length of req_body -.

 
-
-
-
-
-

soup_message_set_response ()

-
void
-soup_message_set_response (SoupMessage *msg,
-                           const char *content_type,
-                           SoupMemoryUse resp_use,
-                           const char *resp_body,
-                           gsize resp_length);
-

Convenience function to set the response body of a SoupMessage. If -content_type - is NULL, the response body must be empty as well.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - - - - - - -

msg

the message

 

content_type

MIME Content-Type of the body.

[allow-none]

resp_use

a SoupMemoryUse describing how to handle resp_body -

 

resp_body

a data buffer containing the body of the message response.

[allow-none][array length=resp_length][element-type guint8]

resp_length

the byte length of resp_body -.

 
-
-
-
-
-

soup_message_set_http_version ()

-
void
-soup_message_set_http_version (SoupMessage *msg,
-                               SoupHTTPVersion version);
-

Sets the HTTP version on msg -. The default version is -SOUP_HTTP_1_1. Setting it to SOUP_HTTP_1_0 will prevent certain -functionality from being used.

-
-

Parameters

-
----- - - - - - - - - - - - - -

msg

a SoupMessage

 

version

the HTTP version

 
-
-
-
-
-

soup_message_get_http_version ()

-
SoupHTTPVersion
-soup_message_get_http_version (SoupMessage *msg);
-

Gets the HTTP version of msg -. This is the minimum of the -version from the request and the version from the response.

-
-

Parameters

-
----- - - - - - -

msg

a SoupMessage

 
-
-
-

Returns

-

the HTTP version

-

-
-
-
-
-

soup_message_get_uri ()

-
SoupURI *
-soup_message_get_uri (SoupMessage *msg);
-

Gets msg -'s URI

-
-

Parameters

-
----- - - - - - -

msg

a SoupMessage

 
-
-
-

Returns

-

the URI msg -is targeted for.

-

[transfer none]

-
-
-
-
-

soup_message_set_uri ()

-
void
-soup_message_set_uri (SoupMessage *msg,
-                      SoupURI *uri);
-

Sets msg -'s URI to uri -. If msg - has already been sent and you want -to re-send it with the new URI, you need to call -soup_session_requeue_message().

-
-

Parameters

-
----- - - - - - - - - - - - - -

msg

a SoupMessage

 

uri

the new SoupURI

 
-
-
-
-
-

soup_message_get_address ()

-
SoupAddress *
-soup_message_get_address (SoupMessage *msg);
-

Gets the address msg -'s URI points to. After first setting the -URI on a message, this will be unresolved, although the message's -session will resolve it before sending the message.

-
-

Parameters

-
----- - - - - - -

msg

a SoupMessage

 
-
-
-

Returns

-

the address msg -'s URI points to.

-

[transfer none]

-
-

Since 2.26

-
-
-
-

soup_message_set_status ()

-
void
-soup_message_set_status (SoupMessage *msg,
-                         guint status_code);
-

Sets msg -'s status code to status_code -. If status_code - is a -known value, it will also set msg -'s reason_phrase.

-
-

Parameters

-
----- - - - - - - - - - - - - -

msg

a SoupMessage

 

status_code

an HTTP status code

 
-
-
-
-
-

soup_message_set_status_full ()

-
void
-soup_message_set_status_full (SoupMessage *msg,
-                              guint status_code,
-                              const char *reason_phrase);
-

Sets msg -'s status code and reason phrase.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

msg

a SoupMessage

 

status_code

an HTTP status code

 

reason_phrase

a description of the status

 
-
-
-
-
-

soup_message_set_redirect ()

-
void
-soup_message_set_redirect (SoupMessage *msg,
-                           guint status_code,
-                           const char *redirect_uri);
-

Sets msg -'s status_code to status_code - and adds a Location header -pointing to redirect_uri -. Use this from a SoupServer when you -want to redirect the client to another URI.

-

redirect_uri - can be a relative URI, in which case it is -interpreted relative to msg -'s current URI. In particular, if -redirect_uri - is just a path, it will replace the path -and query of msg -'s URI.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

msg

a SoupMessage

 

status_code

a 3xx status code

 

redirect_uri

the URI to redirect msg -to

 
-
-

Since 2.38

-
-
-
-

soup_message_is_keepalive ()

-
gboolean
-soup_message_is_keepalive (SoupMessage *msg);
-

Determines whether or not msg -'s connection can be kept alive for -further requests after processing msg -, based on the HTTP version, -Connection header, etc.

-
-

Parameters

-
----- - - - - - -

msg

a SoupMessage

 
-
-
-

Returns

-

TRUE or FALSE.

-

-
-
-
-
-

soup_message_get_https_status ()

-
gboolean
-soup_message_get_https_status (SoupMessage *msg,
-                               GTlsCertificate **certificate,
-                               GTlsCertificateFlags *errors);
-

If msg - is using https (or attempted to use https but got -SOUP_STATUS_SSL_FAILED), this retrieves the GTlsCertificate -associated with its connection, and the GTlsCertificateFlags -showing what problems, if any, have been found with that -certificate.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

msg

a SoupMessage

 

certificate

msg -'s TLS certificate.

[out][transfer none]

errors

the verification status of certificate -.

[out]
-
-
-

Returns

-

TRUE if msg -used/attempted https, FALSE if not

-

-
-

Since 2.34

-
-
-
-

soup_message_set_first_party ()

-
void
-soup_message_set_first_party (SoupMessage *msg,
-                              SoupURI *first_party);
-

Sets first_party - as the main document SoupURI for msg -. For -details of when and how this is used refer to the documentation for -SoupCookieJarAcceptPolicy.

-
-

Parameters

-
----- - - - - - - - - - - - - -

msg

a SoupMessage

 

first_party

the SoupURI for the msg -'s first party

 
-
-

Since 2.30

-
-
-
-

soup_message_get_first_party ()

-
SoupURI *
-soup_message_get_first_party (SoupMessage *msg);
-

Gets msg -'s first-party SoupURI

-
-

Parameters

-
----- - - - - - -

msg

a SoupMessage

 
-
-
-

Returns

-

the msg -'s first party SoupURI.

-

[transfer none]

-
-

Since 2.30

-
-
-
-

soup_message_add_header_handler ()

-
guint
-soup_message_add_header_handler (SoupMessage *msg,
-                                 const char *signal,
-                                 const char *header,
-                                 GCallback callback,
-                                 gpointer user_data);
-

Adds a signal handler to msg - for signal -, as with -g_signal_connect(), but the callback - will only be run if msg -'s -incoming messages headers (that is, the -request_headers for a client SoupMessage, or -the response_headers for a server SoupMessage) -contain a header named header -.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - - - - - - -

msg

a SoupMessage

 

signal

signal to connect the handler to.

 

header

HTTP response header to match against

 

callback

the header handler

 

user_data

data to pass to handler_cb -

 
-
-
-

Returns

-

the handler ID from g_signal_connect()

-

-
-
-
-
-

soup_message_add_status_code_handler ()

-
guint
-soup_message_add_status_code_handler (SoupMessage *msg,
-                                      const char *signal,
-                                      guint status_code,
-                                      GCallback callback,
-                                      gpointer user_data);
-

Adds a signal handler to msg - for signal -, as with -g_signal_connect(), but the callback - will only be run if msg - has -the status status_code -.

-

signal - must be a signal that will be emitted after msg -'s status -is set. For a client SoupMessage, this means it can't be a "wrote" -signal. For a server SoupMessage, this means it can't be a "got" -signal.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - - - - - - -

msg

a SoupMessage

 

signal

signal to connect the handler to.

 

status_code

status code to match against

 

callback

the header handler

 

user_data

data to pass to handler_cb -

 
-
-
-

Returns

-

the handler ID from g_signal_connect()

-

-
-
-
-
-

soup_message_set_flags ()

-
void
-soup_message_set_flags (SoupMessage *msg,
-                        SoupMessageFlags flags);
-

Sets the specified flags on msg -.

-
-

Parameters

-
----- - - - - - - - - - - - - -

msg

a SoupMessage

 

flags

a set of SoupMessageFlags values

 
-
-
-
-
-

soup_message_get_flags ()

-
SoupMessageFlags
-soup_message_get_flags (SoupMessage *msg);
-

Gets the flags on msg -

-
-

Parameters

-
----- - - - - - -

msg

a SoupMessage

 
-
-
-

Returns

-

the flags

-

-
-
-
-
-

SoupChunkAllocator ()

-
SoupBuffer *
-(*SoupChunkAllocator) (SoupMessage *msg,
-                       gsize max_len,
-                       gpointer user_data);
-
-

SoupChunkAllocator is deprecated and should not be used in newly-written code.

-

Use SoupRequest if you want to read into your -own buffers.

-
-

The prototype for a chunk allocation callback. This should allocate -a new SoupBuffer and return it for the I/O layer to read message -body data off the network into.

-

If max_len - is non-0, it indicates the maximum number of bytes that -could be read, based on what is known about the message size. Note -that this might be a very large number, and you should not simply -try to allocate that many bytes blindly. If max_len - is 0, that -means that libsoup does not know how many bytes remain to be read, -and the allocator should return a buffer of a size that it finds -convenient.

-

If the allocator returns NULL, the message will be paused. It is -up to the application to make sure that it gets unpaused when it -becomes possible to allocate a new buffer.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

msg

the SoupMessage the chunk is being allocated for

 

max_len

the maximum length that will be read, or 0.

 

user_data

the data passed to soup_message_set_chunk_allocator()

 
-
-
-

Returns

-

the new buffer (or NULL)

-

-
-
-
-
-

soup_message_set_chunk_allocator ()

-
void
-soup_message_set_chunk_allocator (SoupMessage *msg,
-                                  SoupChunkAllocator allocator,
-                                  gpointer user_data,
-                                  GDestroyNotify destroy_notify);
-
-

soup_message_set_chunk_allocator is deprecated and should not be used in newly-written code.

-

SoupRequest provides a much simpler API that lets you -read the response directly into your own buffers without needing to -mess with callbacks, pausing/unpausing, etc.

-
-

Sets an alternate chunk-allocation function to use when reading -msg -'s body when using the traditional (ie, -non-SoupRequest-based) API. Every time data is available -to read, libsoup will call allocator -, which should return a -SoupBuffer. (See SoupChunkAllocator for additional details.) -Libsoup will then read data from the network into that buffer, and -update the buffer's length to indicate how much -data it read.

-

Generally, a custom chunk allocator would be used in conjunction -with soup_message_body_set_accumulate() FALSE and -“got_chunk”, as part of a strategy to avoid unnecessary -copying of data. However, you cannot assume that every call to the -allocator will be followed by a call to your -“got_chunk” handler; if an I/O error occurs, then the -buffer will be unreffed without ever having been used. If your -buffer-allocation strategy requires special cleanup, use -soup_buffer_new_with_owner() rather than doing the cleanup from the -“got_chunk” handler.

-

The other thing to remember when using non-accumulating message -bodies is that the buffer passed to the “got_chunk” -handler will be unreffed after the handler returns, just as it -would be in the non-custom-allocated case. If you want to hand the -chunk data off to some other part of your program to use later, -you'll need to ref the SoupBuffer (or its owner, in the -soup_buffer_new_with_owner() case) to ensure that the data remains -valid.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - -

msg

a SoupMessage

 

allocator

the chunk allocator callback

 

user_data

data to pass to allocator -

 

destroy_notify

destroy notifier to free user_data -when msg -is -destroyed

 
-
-
-
-
-

soup_message_disable_feature ()

-
void
-soup_message_disable_feature (SoupMessage *msg,
-                              GType feature_type);
-

This disables the actions of SoupSessionFeatures with the -given feature_type - (or a subclass of that type) on msg -, so that -msg - is processed as though the feature(s) hadn't been added to the -session. Eg, passing SOUP_TYPE_CONTENT_SNIFFER for feature_type - -will disable Content-Type sniffing on the message.

-

You must call this before queueing msg - on a session; calling it on -a message that has already been queued is undefined. In particular, -you cannot call this on a message that is being requeued after a -redirect or authentication.

-
-

Parameters

-
----- - - - - - - - - - - - - -

msg

a SoupMessage

 

feature_type

the GType of a SoupSessionFeature

 
-
-

Since 2.28

-
-
-
-

soup_message_get_soup_request ()

-
SoupRequest *
-soup_message_get_soup_request (SoupMessage *msg);
-

If msg - is associated with a SoupRequest, this returns that -request. Otherwise it returns NULL.

-
-

Parameters

-
----- - - - - - -

msg

a SoupMessage

 
-
-
-

Returns

-

msg -'s associated SoupRequest.

-

[transfer none]

-
-

Since 2.42

-
-
-
-

soup_message_get_priority ()

-
SoupMessagePriority
-soup_message_get_priority (SoupMessage *msg);
-

Retrieves the SoupMessagePriority. If not set this value defaults -to SOUP_MESSAGE_PRIORITY_NORMAL.

-
-

Parameters

-
----- - - - - - -

msg

a SoupMessage

 
-
-
-

Returns

-

the priority of the message.

-

-
-

Since 2.44

-
-
-
-

soup_message_set_priority ()

-
void
-soup_message_set_priority (SoupMessage *msg,
-                           SoupMessagePriority priority);
-

Sets the priority of a message. Note that this won't have any -effect unless used before the message is added to the session's -message processing queue.

-

The message will be placed just before any other previously added -message with lower priority (messages with the same priority are -processed on a FIFO basis).

-

Setting priorities does not currently work with SoupSessionSync -(or with synchronous messages on a plain SoupSession) because in -the synchronous/blocking case, priority ends up being determined -semi-randomly by thread scheduling.

-
-

Parameters

-
----- - - - - - - - - - - - - -

msg

a SoupMessage

 

priority

the SoupMessagePriority

 
-
-

Since 2.44

-
-
-
-

Types and Values

-
-

SoupMessage

-
typedef struct {
-	const char         *method;
-
-	guint               status_code;
-	char               *reason_phrase;
-
-	SoupMessageBody    *request_body;
-	SoupMessageHeaders *request_headers;
-
-	SoupMessageBody    *response_body;
-	SoupMessageHeaders *response_headers;
-} SoupMessage;
-
-

Represents an HTTP message being sent or received.

-

status_code - will normally be a SoupStatus value, eg, -SOUP_STATUS_OK, though of course it might actually be an unknown -status code. reason_phrase - is the actual text returned from the -server, which may or may not correspond to the "standard" -description of status_code -. At any rate, it is almost certainly -not localized, and not very descriptive even if it is in the user's -language; you should not use reason_phrase - in user-visible -messages. Rather, you should look at status_code -, and determine an -end-user-appropriate message based on that and on what you were -trying to do.

-

As described in the SoupMessageBody documentation, the -request_body - and response_body - data fields -will not necessarily be filled in at all times. When the body -fields are filled in, they will be terminated with a '\0' byte -(which is not included in the length), so you -can use them as ordinary C strings (assuming that you know that the -body doesn't have any other '\0' bytes).

-

For a client-side SoupMessage, request_body -'s -data is usually filled in right before libsoup -writes the request to the network, but you should not count on -this; use soup_message_body_flatten() if you want to ensure that -data is filled in. If you are not using -SoupRequest to read the response, then response_body -'s -data will be filled in before -“finished” is emitted. (If you are using SoupRequest, -then the message body is not accumulated by default, so -response_body -'s data will always be NULL.)

-

For a server-side SoupMessage, request_body -'s data will be -filled in before “got_body” is emitted.

-

To prevent the data field from being filled in at all (eg, if you -are handling the data from a “got_chunk”, and so don't -need to see it all at the end), call -soup_message_body_set_accumulate() on response_body - or -request_body - as appropriate, passing FALSE.

-
-

Members

-
----- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

const char *method;

the HTTP method

 

guint status_code;

the HTTP status code

 

char *reason_phrase;

the status phrase associated with status_code -

 

SoupMessageBody *request_body;

the request body

 

SoupMessageHeaders *request_headers;

the request headers

 

SoupMessageBody *response_body;

the response body

 

SoupMessageHeaders *response_headers;

the response headers

 
-
-
-
-
-

enum SoupHTTPVersion

-

Indicates the HTTP protocol version being used.

-
-

Members

-
----- - - - - - - - - - - - - -

SOUP_HTTP_1_0

-

HTTP 1.0 (RFC 1945)

-
 

SOUP_HTTP_1_1

-

HTTP 1.1 (RFC 2616)

-
 
-
-
-
-
-

enum SoupMessageFlags

-

Various flags that can be set on a SoupMessage to alter its -behavior.

-
-

Members

-
----- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

SOUP_MESSAGE_NO_REDIRECT

-

The session should not follow redirect - (3xx) responses received by this message.

-
 

SOUP_MESSAGE_CAN_REBUILD

-

The caller will rebuild the request - body if the message is restarted; see - soup_message_body_set_accumulate() for more details.

-
 

SOUP_MESSAGE_OVERWRITE_CHUNKS

-

Deprecated: equivalent to calling - soup_message_body_set_accumulate() on the incoming message body - (ie, “response_body” for a client-side request), - passing FALSE.

-
 

SOUP_MESSAGE_CONTENT_DECODED

-

Set by SoupContentDecoder to - indicate that it has removed the Content-Encoding on a message (and - so headers such as Content-Length may no longer accurately describe - the body).

-
 

SOUP_MESSAGE_CERTIFICATE_TRUSTED

-

if set after an https response - has been received, indicates that the server's SSL certificate is - trusted according to the session's CA.

-
 

SOUP_MESSAGE_NEW_CONNECTION

-

Requests that the message should be - sent on a newly-created connection, not reusing an existing - persistent connection. Note that messages with non-idempotent - “method”s behave this way by default, unless - SOUP_MESSAGE_IDEMPOTENT is set.

-
 

SOUP_MESSAGE_IDEMPOTENT

-

The message is considered idempotent, - regardless its “method”, and allows reuse of existing - idle connections, instead of always requiring a new one, unless - SOUP_MESSAGE_NEW_CONNECTION is set.

-
 
-
-
-
-
-

enum SoupMessagePriority

-

Priorities that can be set on a SoupMessage to instruct the -message queue to process it before any other message with lower -priority.

-
-

Members

-
----- - - - - - - - - - - - - - - - - - - - - - - - - - - - -

SOUP_MESSAGE_PRIORITY_VERY_LOW

-

The lowest priority, the messages - with this priority will be the last ones to be attended.

-
 

SOUP_MESSAGE_PRIORITY_LOW

-

Use this for low priority messages, a - SoupMessage with the default priority will be processed first.

-
 

SOUP_MESSAGE_PRIORITY_NORMAL

-

The default priotity, this is the - priority assigned to the SoupMessage by default.

-
 

SOUP_MESSAGE_PRIORITY_HIGH

-

High priority, a SoupMessage with - this priority will be processed before the ones with the default - priority.

-
 

SOUP_MESSAGE_PRIORITY_VERY_HIGH

-

The highest priority, use this - for very urgent SoupMessage as they will be the first ones to be - attended.

-
 
-
-
-
-
-

SOUP_MESSAGE_METHOD

-
#define SOUP_MESSAGE_METHOD             "method"
-
-

Alias for the “method” property. (The message's -HTTP method.)

-
-
-
-

SOUP_MESSAGE_URI

-
#define SOUP_MESSAGE_URI                "uri"
-
-

Alias for the “uri” property. (The message's -SoupURI.)

-
-
-
-

SOUP_MESSAGE_HTTP_VERSION

-
#define SOUP_MESSAGE_HTTP_VERSION       "http-version"
-
-

Alias for the “http-version” property. (The -message's SoupHTTPVersion.)

-
-
-
-

SOUP_MESSAGE_FLAGS

-
#define SOUP_MESSAGE_FLAGS              "flags"
-
-

Alias for the “flags” property. (The message's -SoupMessageFlags.)

-
-
-
-

SOUP_MESSAGE_STATUS_CODE

-
#define SOUP_MESSAGE_STATUS_CODE        "status-code"
-
-

Alias for the “status-code” property. (The -message's HTTP response status code.)

-
-
-
-

SOUP_MESSAGE_REASON_PHRASE

-
#define SOUP_MESSAGE_REASON_PHRASE      "reason-phrase"
-
-

Alias for the “reason-phrase” property. (The -message's HTTP response reason phrase.)

-
-
-
-

SOUP_MESSAGE_SERVER_SIDE

-
#define SOUP_MESSAGE_SERVER_SIDE        "server-side"
-
-

Alias for the “server-side” property. (TRUE if -the message was created by SoupServer.)

-
-
-
-

SOUP_MESSAGE_FIRST_PARTY

-
#define SOUP_MESSAGE_FIRST_PARTY        "first-party"
-
-

Alias for the “first-party” property. (The -SoupURI loaded in the application when the message was -queued.)

-

Since 2.30

-
-
-
-

SOUP_MESSAGE_PRIORITY

-
#define SOUP_MESSAGE_PRIORITY           "priority"
-
-

Sets the priority of the SoupMessage. See -soup_message_set_priority() for further details.

-

Since 2.44

-
-
-
-

SOUP_MESSAGE_REQUEST_BODY

-
#define SOUP_MESSAGE_REQUEST_BODY       "request-body"
-
-

Alias for the “request-body” property. (The -message's HTTP request body.)

-
-
-
-

SOUP_MESSAGE_REQUEST_BODY_DATA

-
#define SOUP_MESSAGE_REQUEST_BODY_DATA  "request-body-data"
-
-

Alias for the “request-body-data” property. (The -message's HTTP request body, as a GBytes.)

-

Since 2.46

-
-
-
-

SOUP_MESSAGE_REQUEST_HEADERS

-
#define SOUP_MESSAGE_REQUEST_HEADERS    "request-headers"
-
-

Alias for the “request-headers” property. (The -message's HTTP request headers.)

-
-
-
-

SOUP_MESSAGE_RESPONSE_BODY

-
#define SOUP_MESSAGE_RESPONSE_BODY      "response-body"
-
-

Alias for the “response-body” property. (The -message's HTTP response body.)

-
-
-
-

SOUP_MESSAGE_RESPONSE_BODY_DATA

-
#define SOUP_MESSAGE_RESPONSE_BODY_DATA "response-body-data"
-
-

Alias for the “response-body-data” property. (The -message's HTTP response body, as a GBytes.)

-

Since 2.46

-
-
-
-

SOUP_MESSAGE_RESPONSE_HEADERS

-
#define SOUP_MESSAGE_RESPONSE_HEADERS   "response-headers"
-
-

Alias for the “response-headers” property. (The -message's HTTP response headers.)

-
-
-
-

SOUP_MESSAGE_TLS_CERTIFICATE

-
#define SOUP_MESSAGE_TLS_CERTIFICATE    "tls-certificate"
-
-

Alias for the “tls-certificate” property. (The -TLS certificate associated with the message, if any.)

-

Since 2.34

-
-
-
-

SOUP_MESSAGE_TLS_ERRORS

-
#define SOUP_MESSAGE_TLS_ERRORS         "tls-errors"
-
-

Alias for the “tls-errors” property. (The -verification errors on “tls-certificate”.)

-

Since 2.34

-
-
-
-

Property Details

-
-

The “first-party” property

-
  “first-party”              SoupURI *
-

The SoupURI loaded in the application when the message was -queued.

-

Flags: Read / Write

-

Since 2.30

-
-
-
-

The “flags” property

-
  “flags”                    SoupMessageFlags
-

Various message options.

-

Flags: Read / Write

-
-
-
-

The “http-version” property

-
  “http-version”             SoupHTTPVersion
-

The HTTP protocol version to use.

-

Flags: Read / Write

-

Default value: SOUP_HTTP_1_1

-
-
-
-

The “method” property

-
  “method”                   gchar *
-

The message's HTTP method.

-

Flags: Read / Write

-

Default value: "GET"

-
-
-
-

The “priority” property

-
  “priority”                 SoupMessagePriority
-

The priority of the message.

-

Flags: Read / Write

-

Default value: SOUP_MESSAGE_PRIORITY_NORMAL

-
-
-
-

The “reason-phrase” property

-
  “reason-phrase”            gchar *
-

The HTTP response reason phrase.

-

Flags: Read / Write

-

Default value: NULL

-
-
-
-

The “request-body” property

-
  “request-body”             SoupMessageBody *
-

The HTTP request content.

-

Flags: Read

-
-
-
-

The “request-body-data” property

-
  “request-body-data”        GBytes *
-

The message's HTTP request body, as a GBytes.

-

Flags: Read

-

Since 2.46

-
-
-
-

The “request-headers” property

-
  “request-headers”          SoupMessageHeaders *
-

The HTTP request headers.

-

Flags: Read

-
-
-
-

The “response-body” property

-
  “response-body”            SoupMessageBody *
-

The HTTP response content.

-

Flags: Read

-
-
-
-

The “response-body-data” property

-
  “response-body-data”       GBytes *
-

The message's HTTP response body, as a GBytes.

-

Flags: Read

-

Since 2.46

-
-
-
-

The “response-headers” property

-
  “response-headers”         SoupMessageHeaders *
-

The HTTP response headers.

-

Flags: Read

-
-
-
-

The “server-side” property

-
  “server-side”              gboolean
-

Whether or not the message is server-side rather than client-side.

-

Flags: Read / Write / Construct Only

-

Default value: FALSE

-
-
-
-

The “status-code” property

-
  “status-code”              guint
-

The HTTP response status code.

-

Flags: Read / Write

-

Allowed values: <= 599

-

Default value: 0

-
-
-
-

The “tls-certificate” property

-
  “tls-certificate”          GTlsCertificate *
-

The GTlsCertificate associated with the message

-

Flags: Read / Write

-

Since 2.34

-
-
-
-

The “tls-errors” property

-
  “tls-errors”               GTlsCertificateFlags
-

The verification errors on “tls-certificate”

-

Flags: Read / Write

-

Since 2.34

-
-
-
-

The “uri” property

-
  “uri”                      SoupURI *
-

The message's Request-URI.

-

Flags: Read / Write

-
-
-
-

Signal Details

-
-

The “content-sniffed” signal

-
void
-user_function (SoupMessage *msg,
-               gchar       *type,
-               GHashTable  *params,
-               gpointer     user_data)
-

This signal is emitted after “got-headers”, and -before the first “got-chunk”. If content -sniffing is disabled, or no content sniffing will be -performed, due to the sniffer deciding to trust the -Content-Type sent by the server, this signal is emitted -immediately after “got-headers”, and type - is -NULL.

-

If the SoupContentSniffer feature is enabled, and the -sniffer decided to perform sniffing, the first -“got-chunk” emission may be delayed, so that the -sniffer has enough data to correctly sniff the content. It -notified the library user that the content has been -sniffed, and allows it to change the header contents in the -message, if desired.

-

After this signal is emitted, the data that was spooled so -that sniffing could be done is delivered on the first -emission of “got-chunk”.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - -

msg

the message

 

type

the content type that we got from sniffing

 

params

a GHashTable with the parameters.

[element-type utf8 utf8]

user_data

user data set when the signal handler was connected.

 
-
-

Flags: Run First

-

Since 2.28

-
-
-
-

The “finished” signal

-
void
-user_function (SoupMessage *msg,
-               gpointer     user_data)
-

Emitted when all HTTP processing is finished for a message. -(After “got_body” for client-side messages, or -after “wrote_body” for server-side messages.)

-
-

Parameters

-
----- - - - - - - - - - - - - -

msg

the message

 

user_data

user data set when the signal handler was connected.

 
-
-

Flags: Run First

-
-
-
-

The “got-body” signal

-
void
-user_function (SoupMessage *msg,
-               gpointer     user_data)
-

Emitted after receiving the complete message body. (For a -server-side message, this means it has received the request -body. For a client-side message, this means it has received -the response body and is nearly done with the message.)

-

See also soup_message_add_header_handler() and -soup_message_add_status_code_handler(), which can be used -to connect to a subset of emissions of this signal.

-
-

Parameters

-
----- - - - - - - - - - - - - -

msg

the message

 

user_data

user data set when the signal handler was connected.

 
-
-

Flags: Run First

-
-
-
-

The “got-chunk” signal

-
void
-user_function (SoupMessage *msg,
-               SoupBuffer  *chunk,
-               gpointer     user_data)
-

Emitted after receiving a chunk of a message body. Note -that "chunk" in this context means any subpiece of the -body, not necessarily the specific HTTP 1.1 chunks sent by -the other side.

-

If you cancel or requeue msg - while processing this signal, -then the current HTTP I/O will be stopped after this signal -emission finished, and msg -'s connection will be closed.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

msg

the message

 

chunk

the just-read chunk

 

user_data

user data set when the signal handler was connected.

 
-
-

Flags: Run First

-
-
-
-

The “got-headers” signal

-
void
-user_function (SoupMessage *msg,
-               gpointer     user_data)
-

Emitted after receiving all message headers for a message. -(For a client-side message, this is after receiving the -Status-Line and response headers; for a server-side -message, it is after receiving the Request-Line and request -headers.)

-

See also soup_message_add_header_handler() and -soup_message_add_status_code_handler(), which can be used -to connect to a subset of emissions of this signal.

-

If you cancel or requeue msg - while processing this signal, -then the current HTTP I/O will be stopped after this signal -emission finished, and msg -'s connection will be closed. -(If you need to requeue a message--eg, after handling -authentication or redirection--it is usually better to -requeue it from a “got_body” handler rather -than a “got_headers” handler, so that the -existing HTTP connection can be reused.)

-
-

Parameters

-
----- - - - - - - - - - - - - -

msg

the message

 

user_data

user data set when the signal handler was connected.

 
-
-

Flags: Run First

-
-
-
-

The “got-informational” signal

-
void
-user_function (SoupMessage *msg,
-               gpointer     user_data)
-

Emitted after receiving a 1xx (Informational) response for -a (client-side) message. The response_headers will be -filled in with the headers associated with the -informational response; however, those header values will -be erased after this signal is done.

-

If you cancel or requeue msg - while processing this signal, -then the current HTTP I/O will be stopped after this signal -emission finished, and msg -'s connection will be closed.

-
-

Parameters

-
----- - - - - - - - - - - - - -

msg

the message

 

user_data

user data set when the signal handler was connected.

 
-
-

Flags: Run First

-
-
-
-

The “network-event” signal

-
void
-user_function (SoupMessage       *msg,
-               GSocketClientEvent event,
-               GIOStream         *connection,
-               gpointer           user_data)
-

Emitted to indicate that some network-related event -related to msg - has occurred. This essentially proxies the -“event” signal, but only for events that -occur while msg - "owns" the connection; if msg - is sent on -an existing persistent connection, then this signal will -not be emitted. (If you want to force the message to be -sent on a new connection, set the -SOUP_MESSAGE_NEW_CONNECTION flag on it.)

-

See “event” for more information on what -the different values of event - correspond to, and what -connection - will be in each case.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - -

msg

the message

 

event

the network event

 

connection

the current state of the network connection

 

user_data

user data set when the signal handler was connected.

 
-
-

Flags: Run First

-

Since 2.38

-
-
-
-

The “restarted” signal

-
void
-user_function (SoupMessage *msg,
-               gpointer     user_data)
-

Emitted when a request that was already sent once is now -being sent again (eg, because the first attempt received a -redirection response, or because we needed to use -authentication).

-
-

Parameters

-
----- - - - - - - - - - - - - -

msg

the message

 

user_data

user data set when the signal handler was connected.

 
-
-

Flags: Run First

-
-
-
-

The “wrote-body” signal

-
void
-user_function (SoupMessage *msg,
-               gpointer     user_data)
-

Emitted immediately after writing the complete body for a -message. (For a client-side message, this means that -libsoup is done writing and is now waiting for the response -from the server. For a server-side message, this means that -libsoup has finished writing the response and is nearly -done with the message.)

-
-

Parameters

-
----- - - - - - - - - - - - - -

msg

the message

 

user_data

user data set when the signal handler was connected.

 
-
-

Flags: Run First

-
-
-
-

The “wrote-body-data” signal

-
void
-user_function (SoupMessage *msg,
-               SoupBuffer  *chunk,
-               gpointer     user_data)
-

Emitted immediately after writing a portion of the message -body to the network.

-

Unlike “wrote_chunk”, this is emitted after -every successful write() call, not only after finishing a -complete "chunk".

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

msg

the message

 

chunk

the data written

 

user_data

user data set when the signal handler was connected.

 
-
-

Flags: Run First

-

Since 2.24

-
-
-
-

The “wrote-chunk” signal

-
void
-user_function (SoupMessage *msg,
-               gpointer     user_data)
-

Emitted immediately after writing a body chunk for a message.

-

Note that this signal is not parallel to -“got_chunk”; it is emitted only when a complete -chunk (added with soup_message_body_append() or -soup_message_body_append_buffer()) has been written. To get -more useful continuous progress information, use -“wrote_body_data”.

-
-

Parameters

-
----- - - - - - - - - - - - - -

msg

the message

 

user_data

user data set when the signal handler was connected.

 
-
-

Flags: Run First

-
-
-
-

The “wrote-headers” signal

-
void
-user_function (SoupMessage *msg,
-               gpointer     user_data)
-

Emitted immediately after writing the headers for a -message. (For a client-side message, this is after writing -the request headers; for a server-side message, it is after -writing the response headers.)

-
-

Parameters

-
----- - - - - - - - - - - - - -

msg

the message

 

user_data

user data set when the signal handler was connected.

 
-
-

Flags: Run First

-
-
-
-

The “wrote-informational” signal

-
void
-user_function (SoupMessage *msg,
-               gpointer     user_data)
-

Emitted immediately after writing a 1xx (Informational) -response for a (server-side) message.

-
-

Parameters

-
----- - - - - - - - - - - - - -

msg

the message

 

user_data

user data set when the signal handler was connected.

 
-
-

Flags: Run First

-
-
- -
- - - \ No newline at end of file diff --git a/docs/reference/html/SoupMessageBody.html b/docs/reference/html/SoupMessageBody.html deleted file mode 100644 index a82bcd9..0000000 --- a/docs/reference/html/SoupMessageBody.html +++ /dev/null @@ -1,1278 +0,0 @@ - - - - -libsoup Reference Manual: SoupMessageBody - - - - - - - - - - - - - - - - -
-
-
- - -
-

SoupMessageBody

-

SoupMessageBody — HTTP message body

-
-
-

Functions

-
---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-SoupBuffer * - -soup_buffer_new () -
-SoupBuffer * - -soup_buffer_new_subbuffer () -
-SoupBuffer * - -soup_buffer_new_with_owner () -
-SoupBuffer * - -soup_buffer_new_take () -
-gpointer - -soup_buffer_get_owner () -
-void - -soup_buffer_get_data () -
-SoupBuffer * - -soup_buffer_copy () -
-void - -soup_buffer_free () -
-GBytes * - -soup_buffer_get_as_bytes () -
-SoupMessageBody * - -soup_message_body_new () -
-void - -soup_message_body_free () -
-void - -soup_message_body_set_accumulate () -
-gboolean - -soup_message_body_get_accumulate () -
-void - -soup_message_body_append () -
-void - -soup_message_body_append_buffer () -
-void - -soup_message_body_append_take () -
-void - -soup_message_body_truncate () -
-void - -soup_message_body_complete () -
-SoupBuffer * - -soup_message_body_flatten () -
-SoupBuffer * - -soup_message_body_get_chunk () -
-void - -soup_message_body_got_chunk () -
-void - -soup_message_body_wrote_chunk () -
-
-
-

Types and Values

-
---- - - - - - - - - - - - - - - -
 SoupBuffer
enumSoupMemoryUse
 SoupMessageBody
-
-
-

Object Hierarchy

-
    GBoxed
-    ├── SoupBuffer
-    ╰── SoupMessageBody
-
-
-
-

Includes

-
#include <libsoup/soup.h>
-
-
-
-

Description

-

SoupMessageBody represents the request or response body of a -SoupMessage.

-

In addition to SoupMessageBody, libsoup also defines a "smaller" -data buffer type, SoupBuffer, which is primarily used as a -component of SoupMessageBody. In particular, when using chunked -encoding to transmit or receive a message, each chunk is -represented as a SoupBuffer.

-
-
-

Functions

-
-

soup_buffer_new ()

-
SoupBuffer *
-soup_buffer_new (SoupMemoryUse use,
-                 gconstpointer data,
-                 gsize length);
-

Creates a new SoupBuffer containing length - bytes from data -.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

use

how data -is to be used by the buffer

 

data

data

 

length

length of data -

 
-
-
-

Returns

-

the new SoupBuffer.

-

-
-
-
-
-

soup_buffer_new_subbuffer ()

-
SoupBuffer *
-soup_buffer_new_subbuffer (SoupBuffer *parent,
-                           gsize offset,
-                           gsize length);
-

Creates a new SoupBuffer containing length - bytes "copied" from -parent - starting at offset -. (Normally this will not actually copy -any data, but will instead simply reference the same data as -parent - does.)

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

parent

the parent SoupBuffer

 

offset

offset within parent -to start at

 

length

number of bytes to copy from parent -

 
-
-
-

Returns

-

the new SoupBuffer.

-

-
-
-
-
-

soup_buffer_new_with_owner ()

-
SoupBuffer *
-soup_buffer_new_with_owner (gconstpointer data,
-                            gsize length,
-                            gpointer owner,
-                            GDestroyNotify owner_dnotify);
-

Creates a new SoupBuffer containing length - bytes from data -. When -the SoupBuffer is freed, it will call owner_dnotify -, passing -owner - to it. You must ensure that data - will remain valid until -owner_dnotify - is called.

-

For example, you could use this to create a buffer containing data -returned from libxml without needing to do an extra copy:

-
- - - - - - - -
1
-2
-3
xmlDocDumpMemory (doc, &xmlbody, &len);
-return soup_buffer_new_with_owner (xmlbody, len, xmlbody,
-                                   (GDestroyNotify)xmlFree);
-
- -

In this example, data - and owner - are the same, but in other cases -they would be different (eg, owner - would be a object, and data - -would be a pointer to one of the object's fields).

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - -

data

data

 

length

length of data -

 

owner

pointer to an object that owns data -

 

owner_dnotify

a function to free/unref owner -when -the buffer is freed.

[allow-none]
-
-
-

Returns

-

the new SoupBuffer.

-

-
-
-
-
-

soup_buffer_new_take ()

-
SoupBuffer *
-soup_buffer_new_take (guchar *data,
-                      gsize length);
-

Creates a new SoupBuffer containing length - bytes from data -.

-

This function is exactly equivalent to soup_buffer_new() with -SOUP_MEMORY_TAKE as first argument; it exists mainly for -convenience and simplifying language bindings.

-
-

Parameters

-
----- - - - - - - - - - - - - -

data

data.

[array length=length][transfer full]

length

length of data -

 
-
-
-

Returns

-

the new SoupBuffer.

-

Rename to: soup_buffer_new

-

-
-

Since 2.32

-
-
-
-

soup_buffer_get_owner ()

-
gpointer
-soup_buffer_get_owner (SoupBuffer *buffer);
-

Gets the "owner" object for a buffer created with -soup_buffer_new_with_owner().

-
-

Parameters

-
----- - - - - - -

buffer

a SoupBuffer created with soup_buffer_new_with_owner()

 
-
-
-

Returns

-

the owner pointer.

-

[transfer none]

-
-
-
-
-

soup_buffer_get_data ()

-
void
-soup_buffer_get_data (SoupBuffer *buffer,
-                      const guint8 **data,
-                      gsize *length);
-

This function exists for use by language bindings, because it's not -currently possible to get the right effect by annotating the fields -of SoupBuffer.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

buffer

a SoupBuffer

 

data

the pointer -to the buffer data is stored here.

[out][array length=length][transfer none]

length

the length of the buffer data is stored here.

[out]
-
-

Since 2.32

-
-
-
-

soup_buffer_copy ()

-
SoupBuffer *
-soup_buffer_copy (SoupBuffer *buffer);
-

Makes a copy of buffer -. In reality, SoupBuffer is a refcounted -type, and calling soup_buffer_copy() will normally just increment -the refcount on buffer - and return it. However, if buffer - was -created with SOUP_MEMORY_TEMPORARY memory, then soup_buffer_copy() -will actually return a copy of it, so that the data in the copy -will remain valid after the temporary buffer is freed.

-
-

Parameters

-
----- - - - - - -

buffer

a SoupBuffer

 
-
-
-

Returns

-

the new (or newly-reffed) buffer

-

-
-
-
-
-

soup_buffer_free ()

-
void
-soup_buffer_free (SoupBuffer *buffer);
-

Frees buffer -. (In reality, as described in the documentation for -soup_buffer_copy(), this is actually an "unref" operation, and may -or may not actually free buffer -.)

-
-

Parameters

-
----- - - - - - -

buffer

a SoupBuffer

 
-
-
-
-
-

soup_buffer_get_as_bytes ()

-
GBytes *
-soup_buffer_get_as_bytes (SoupBuffer *buffer);
-

Creates a GBytes pointing to the same memory as buffer -. The -GBytes will hold a reference on buffer - to ensure that it is not -freed while the GBytes is still valid.

-
-

Parameters

-
----- - - - - - -

buffer

a SoupBuffer

 
-
-
-

Returns

-

a new GBytes which has the same content -as the SoupBuffer.

-

[transfer full]

-
-

Since 2.40

-
-
-
-

soup_message_body_new ()

-
SoupMessageBody *
-soup_message_body_new (void);
-

Creates a new SoupMessageBody. SoupMessage uses this internally; you -will not normally need to call it yourself.

-
-

Returns

-

a new SoupMessageBody.

-

-
-
-
-
-

soup_message_body_free ()

-
void
-soup_message_body_free (SoupMessageBody *body);
-

Frees body -. You will not normally need to use this, as -SoupMessage frees its associated message bodies automatically.

-
-

Parameters

-
----- - - - - - -

body

a SoupMessageBody

 
-
-
-
-
-

soup_message_body_set_accumulate ()

-
void
-soup_message_body_set_accumulate (SoupMessageBody *body,
-                                  gboolean accumulate);
-

Sets or clears the accumulate flag on body -. (The default value is -TRUE.) If set to FALSE, body -'s data field will not be filled in -after the body is fully sent/received, and the chunks that make up -body - may be discarded when they are no longer needed.

-

In particular, if you set this flag to FALSE on an "incoming" -message body (that is, the “response_body” of a -client-side message, or “request_body” of a server-side -message), this will cause each chunk of the body to be discarded -after its corresponding “got_chunk” signal is emitted. -(This is equivalent to setting the deprecated -SOUP_MESSAGE_OVERWRITE_CHUNKS flag on the message.)

-

If you set this flag to FALSE on the “response_body” of -a server-side message, it will cause each chunk of the body to be -discarded after its corresponding “wrote_chunk” signal -is emitted.

-

If you set the flag to FALSE on the “request_body” of a -client-side message, it will block the accumulation of chunks into -body -'s data field, but it will not normally cause the chunks to -be discarded after being written like in the server-side -“response_body” case, because the request body needs to -be kept around in case the request needs to be sent a second time -due to redirection or authentication. However, if you set the -SOUP_MESSAGE_CAN_REBUILD flag on the message, then the chunks will -be discarded, and you will be responsible for recreating the -request body after the “restarted” signal is emitted.

-
-

Parameters

-
----- - - - - - - - - - - - - -

body

a SoupMessageBody

 

accumulate

whether or not to accumulate body chunks in body -

 
-
-

Since 2.24

-
-
-
-

soup_message_body_get_accumulate ()

-
gboolean
-soup_message_body_get_accumulate (SoupMessageBody *body);
-

Gets the accumulate flag on body -; see -soup_message_body_set_accumulate() for details.

-
-

Parameters

-
----- - - - - - -

body

a SoupMessageBody

 
-
-
-

Returns

-

the accumulate flag for body -.

-

-
-

Since 2.24

-
-
-
-

soup_message_body_append ()

-
void
-soup_message_body_append (SoupMessageBody *body,
-                          SoupMemoryUse use,
-                          gconstpointer data,
-                          gsize length);
-

Appends length - bytes from data - to body - according to use -.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - -

body

a SoupMessageBody

 

use

how to use data -

 

data

data to append.

[array length=length][element-type guint8]

length

length of data -

 
-
-
-
-
-

soup_message_body_append_buffer ()

-
void
-soup_message_body_append_buffer (SoupMessageBody *body,
-                                 SoupBuffer *buffer);
-

Appends the data from buffer - to body -. (SoupMessageBody uses -SoupBuffers internally, so this is normally a constant-time -operation that doesn't actually require copying the data in -buffer -.)

-
-

Parameters

-
----- - - - - - - - - - - - - -

body

a SoupMessageBody

 

buffer

a SoupBuffer

 
-
-
-
-
-

soup_message_body_append_take ()

-
void
-soup_message_body_append_take (SoupMessageBody *body,
-                               guchar *data,
-                               gsize length);
-

Appends length - bytes from data - to body -.

-

This function is exactly equivalent to soup_message_body_append() -with SOUP_MEMORY_TAKE as second argument; it exists mainly for -convenience and simplifying language bindings.

-

Rename to: soup_message_body_append

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

body

a SoupMessageBody

 

data

data to append.

[array length=length][transfer full]

length

length of data -

 
-
-

Since 2.32

-
-
-
-

soup_message_body_truncate ()

-
void
-soup_message_body_truncate (SoupMessageBody *body);
-

Deletes all of the data in body -.

-
-

Parameters

-
----- - - - - - -

body

a SoupMessageBody

 
-
-
-
-
-

soup_message_body_complete ()

-
void
-soup_message_body_complete (SoupMessageBody *body);
-

Tags body - as being complete; Call this when using chunked encoding -after you have appended the last chunk.

-
-

Parameters

-
----- - - - - - -

body

a SoupMessageBody

 
-
-
-
-
-

soup_message_body_flatten ()

-
SoupBuffer *
-soup_message_body_flatten (SoupMessageBody *body);
-

Fills in body -'s data field with a buffer containing all of the -data in body - (plus an additional '\0' byte not counted by body -'s -length field).

-
-

Parameters

-
----- - - - - - -

body

a SoupMessageBody

 
-
-
-

Returns

-

a SoupBuffer containing the same data as body -. -(You must free this buffer if you do not want it.)

-

-
-
-
-
-

soup_message_body_get_chunk ()

-
SoupBuffer *
-soup_message_body_get_chunk (SoupMessageBody *body,
-                             goffset offset);
-

Gets a SoupBuffer containing data from body - starting at offset -. -The size of the returned chunk is unspecified. You can iterate -through the entire body by first calling -soup_message_body_get_chunk() with an offset of 0, and then on each -successive call, increment the offset by the length of the -previously-returned chunk.

-

If offset - is greater than or equal to the total length of body -, -then the return value depends on whether or not -soup_message_body_complete() has been called or not; if it has, -then soup_message_body_get_chunk() will return a 0-length chunk -(indicating the end of body -). If it has not, then -soup_message_body_get_chunk() will return NULL (indicating that -body - may still potentially have more data, but that data is not -currently available).

-
-

Parameters

-
----- - - - - - - - - - - - - -

body

a SoupMessageBody

 

offset

an offset

 
-
-
-

Returns

-

a SoupBuffer, or NULL.

-

-
-
-
-
-

soup_message_body_got_chunk ()

-
void
-soup_message_body_got_chunk (SoupMessageBody *body,
-                             SoupBuffer *chunk);
-

Handles the SoupMessageBody part of receiving a chunk of data from -the network. Normally this means appending chunk - to body -, exactly -as with soup_message_body_append_buffer(), but if you have set -body -'s accumulate flag to FALSE, then that will not happen.

-

This is a low-level method which you should not normally need to -use.

-
-

Parameters

-
----- - - - - - - - - - - - - -

body

a SoupMessageBody

 

chunk

a SoupBuffer received from the network

 
-
-

Since 2.24

-
-
-
-

soup_message_body_wrote_chunk ()

-
void
-soup_message_body_wrote_chunk (SoupMessageBody *body,
-                               SoupBuffer *chunk);
-

Handles the SoupMessageBody part of writing a chunk of data to the -network. Normally this is a no-op, but if you have set body -'s -accumulate flag to FALSE, then this will cause chunk - to be -discarded to free up memory.

-

This is a low-level method which you should not need to use, and -there are further restrictions on its proper use which are not -documented here.

-
-

Parameters

-
----- - - - - - - - - - - - - -

body

a SoupMessageBody

 

chunk

a SoupBuffer returned from soup_message_body_get_chunk()

 
-
-

Since 2.24

-
-
-
-

Types and Values

-
-

SoupBuffer

-
typedef struct {
-	const char *data;
-	gsize       length;
-} SoupBuffer;
-
-

A data buffer, generally used to represent a chunk of a -SoupMessageBody.

-

data - is a char because that's generally convenient; in some -situations you may need to cast it to guchar or another type.

-
-

Members

-
----- - - - - - - - - - - - - -

const char *data;

the data.

[type gpointer]

gsize length;

length of data -

 
-
-
-
-
-

enum SoupMemoryUse

-

Describes how SoupBuffer should use the data passed in by the -caller.

-

See also soup_buffer_new_with_owner(), which allows to you create a -buffer containing data which is owned by another object.

-
-

Members

-
----- - - - - - - - - - - - - - - - - - - - - - - -

SOUP_MEMORY_STATIC

-

The memory is statically allocated and -constant; libsoup can use the passed-in buffer directly and not -need to worry about it being modified or freed.

-
 

SOUP_MEMORY_TAKE

-

The caller has allocated the memory for the -SoupBuffer's use; libsoup will assume ownership of it and free it -(with g_free()) when it is done with it.

-
 

SOUP_MEMORY_COPY

-

The passed-in data belongs to the caller; the -SoupBuffer will copy it into new memory, leaving the caller free -to reuse the original memory.

-
 

SOUP_MEMORY_TEMPORARY

-

The passed-in data belongs to the caller, -but will remain valid for the lifetime of the SoupBuffer. The -difference between this and SOUP_MEMORY_STATIC - is that if you copy -a SOUP_MEMORY_TEMPORARY - buffer, it will make a copy of the memory -as well, rather than reusing the original memory.

-
 
-
-
-
-
-

SoupMessageBody

-
typedef struct {
-	const char *data;
-	goffset     length;
-} SoupMessageBody;
-
-

A SoupMessage request or response body.

-

Note that while length - always reflects the full length of the -message body, data - is normally NULL, and will only be filled in -after soup_message_body_flatten() is called. For client-side -messages, this automatically happens for the response body after it -has been fully read, unless you set the -SOUP_MESSAGE_OVERWRITE_CHUNKS flags. Likewise, for server-side -messages, the request body is automatically filled in after being -read.

-

As an added bonus, when data - is filled in, it is always terminated -with a '\0' byte (which is not reflected in length -).

-
-

Members

-
----- - - - - - - - - - - - - -

const char *data;

the data

 

goffset length;

length of data -

 
-
-
-
-
-

See Also

-

SoupMessage

-
-
- - - \ No newline at end of file diff --git a/docs/reference/html/SoupMessageHeaders.html b/docs/reference/html/SoupMessageHeaders.html deleted file mode 100644 index 36f3ef7..0000000 --- a/docs/reference/html/SoupMessageHeaders.html +++ /dev/null @@ -1,1818 +0,0 @@ - - - - -libsoup Reference Manual: SoupMessageHeaders - - - - - - - - - - - - - - - - -
-
-
- - -
-

SoupMessageHeaders

-

SoupMessageHeaders — HTTP message headers

-
-
-

Functions

-
---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-SoupMessageHeaders * - -soup_message_headers_new () -
-void - -soup_message_headers_free () -
-void - -soup_message_headers_append () -
-void - -soup_message_headers_replace () -
-void - -soup_message_headers_remove () -
-void - -soup_message_headers_clear () -
-void - -soup_message_headers_clean_connection_headers () -
const char * - -soup_message_headers_get_one () -
const char * - -soup_message_headers_get_list () -
const char * - -soup_message_headers_get () -
-void - -(*SoupMessageHeadersForeachFunc) () -
-void - -soup_message_headers_foreach () -
-void - -soup_message_headers_iter_init () -
-gboolean - -soup_message_headers_iter_next () -
-SoupEncoding - -soup_message_headers_get_encoding () -
-void - -soup_message_headers_set_encoding () -
-goffset - -soup_message_headers_get_content_length () -
-void - -soup_message_headers_set_content_length () -
-SoupExpectation - -soup_message_headers_get_expectations () -
-void - -soup_message_headers_set_expectations () -
const char * - -soup_message_headers_get_content_type () -
-void - -soup_message_headers_set_content_type () -
-gboolean - -soup_message_headers_get_content_disposition () -
-void - -soup_message_headers_set_content_disposition () -
-gboolean - -soup_message_headers_get_ranges () -
-void - -soup_message_headers_set_ranges () -
-void - -soup_message_headers_set_range () -
-void - -soup_message_headers_free_ranges () -
-gboolean - -soup_message_headers_get_content_range () -
-void - -soup_message_headers_set_content_range () -
-
-
-

Types and Values

-
---- - - - - - - - - - - - - - - - - - - - - - - - - - - -
typedefSoupMessageHeaders
enumSoupMessageHeadersType
 SoupMessageHeadersIter
enumSoupEncoding
enumSoupExpectation
 SoupRange
-
-
-

Object Hierarchy

-
    GBoxed
-    ╰── SoupMessageHeaders
-
-
-
-

Includes

-
#include <libsoup/soup.h>
-
-
-
-

Description

-

SoupMessageHeaders represents the HTTP message headers associated -with a request or response.

-
-
-

Functions

-
-

soup_message_headers_new ()

-
SoupMessageHeaders *
-soup_message_headers_new (SoupMessageHeadersType type);
-

Creates a SoupMessageHeaders. (SoupMessage does this -automatically for its own headers. You would only need to use this -method if you are manually parsing or generating message headers.)

-
-

Parameters

-
----- - - - - - -

type

the type of headers

 
-
-
-

Returns

-

a new SoupMessageHeaders

-

-
-
-
-
-

soup_message_headers_free ()

-
void
-soup_message_headers_free (SoupMessageHeaders *hdrs);
-

Frees hdrs -.

-
-

Parameters

-
----- - - - - - -

hdrs

a SoupMessageHeaders

 
-
-
-
-
-

soup_message_headers_append ()

-
void
-soup_message_headers_append (SoupMessageHeaders *hdrs,
-                             const char *name,
-                             const char *value);
-

Appends a new header with name name - and value value - to hdrs -. (If -there is an existing header with name name -, then this creates a -second one, which is only allowed for list-valued headers; see also -soup_message_headers_replace().)

-

The caller is expected to make sure that name - and value - are -syntactically correct.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

hdrs

a SoupMessageHeaders

 

name

the header name to add

 

value

the new value of name -

 
-
-
-
-
-

soup_message_headers_replace ()

-
void
-soup_message_headers_replace (SoupMessageHeaders *hdrs,
-                              const char *name,
-                              const char *value);
-

Replaces the value of the header name - in hdrs - with value -. (See -also soup_message_headers_append().)

-

The caller is expected to make sure that name - and value - are -syntactically correct.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

hdrs

a SoupMessageHeaders

 

name

the header name to replace

 

value

the new value of name -

 
-
-
-
-
-

soup_message_headers_remove ()

-
void
-soup_message_headers_remove (SoupMessageHeaders *hdrs,
-                             const char *name);
-

Removes name - from hdrs -. If there are multiple values for name -, -they are all removed.

-
-

Parameters

-
----- - - - - - - - - - - - - -

hdrs

a SoupMessageHeaders

 

name

the header name to remove

 
-
-
-
-
-

soup_message_headers_clear ()

-
void
-soup_message_headers_clear (SoupMessageHeaders *hdrs);
-

Clears hdrs -.

-
-

Parameters

-
----- - - - - - -

hdrs

a SoupMessageHeaders

 
-
-
-
-
-

soup_message_headers_clean_connection_headers ()

-
void
-soup_message_headers_clean_connection_headers
-                               (SoupMessageHeaders *hdrs);
-

Removes all the headers listed in the Connection header.

-
-

Parameters

-
----- - - - - - -

hdrs

a SoupMessageHeaders

 
-
-

Since 2.36

-
-
-
-

soup_message_headers_get_one ()

-
const char *
-soup_message_headers_get_one (SoupMessageHeaders *hdrs,
-                              const char *name);
-

Gets the value of header name - in hdrs -. Use this for headers whose -values are not comma-delimited lists, and -which therefore can only appear at most once in the headers. For -list-valued headers, use soup_message_headers_get_list().

-

If hdrs - does erroneously contain multiple copies of the header, it -is not defined which one will be returned. (Ideally, it will return -whichever one makes libsoup most compatible with other HTTP -implementations.)

-
-

Parameters

-
----- - - - - - - - - - - - - -

hdrs

a SoupMessageHeaders

 

name

header name

 
-
-
-

Returns

-

the header's value or NULL if not found.

-

-
-

Since 2.28

-
-
-
-

soup_message_headers_get_list ()

-
const char *
-soup_message_headers_get_list (SoupMessageHeaders *hdrs,
-                               const char *name);
-

Gets the value of header name - in hdrs -. Use this for headers whose -values are comma-delimited lists, and which are therefore allowed -to appear multiple times in the headers. For non-list-valued -headers, use soup_message_headers_get_one().

-

If name - appears multiple times in hdrs -, -soup_message_headers_get_list() will concatenate all of the values -together, separated by commas. This is sometimes awkward to parse -(eg, WWW-Authenticate, Set-Cookie), but you have to be able to deal -with it anyway, because the HTTP spec explicitly states that this -transformation is allowed, and so an upstream proxy could do the -same thing.

-
-

Parameters

-
----- - - - - - - - - - - - - -

hdrs

a SoupMessageHeaders

 

name

header name

 
-
-
-

Returns

-

the header's value or NULL if not found.

-

-
-

Since 2.28

-
-
-
-

soup_message_headers_get ()

-
const char *
-soup_message_headers_get (SoupMessageHeaders *hdrs,
-                          const char *name);
-
-

soup_message_headers_get is deprecated and should not be used in newly-written code.

-

Use soup_message_headers_get_one() or -soup_message_headers_get_list() instead.

-
-

Gets the value of header name - in hdrs -.

-

This method was supposed to work correctly for both single-valued -and list-valued headers, but because some HTTP clients/servers -mistakenly send multiple copies of headers that are supposed to be -single-valued, it sometimes returns incorrect results. To fix this, -the methods soup_message_headers_get_one() and -soup_message_headers_get_list() were introduced, so callers can -explicitly state which behavior they are expecting.

-
-

Parameters

-
----- - - - - - - - - - - - - -

hdrs

a SoupMessageHeaders

 

name

header name

 
-
-
-

Returns

-

as with soup_message_headers_get_list().

-

-
-
-
-
-

SoupMessageHeadersForeachFunc ()

-
void
-(*SoupMessageHeadersForeachFunc) (const char *name,
-                                  const char *value,
-                                  gpointer user_data);
-

The callback passed to soup_message_headers_foreach().

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

name

the header name

 

value

the header value

 

user_data

the data passed to soup_message_headers_foreach()

 
-
-
-
-
-

soup_message_headers_foreach ()

-
void
-soup_message_headers_foreach (SoupMessageHeaders *hdrs,
-                              SoupMessageHeadersForeachFunc func,
-                              gpointer user_data);
-

Calls func - once for each header value in hdrs -.

-

Beware that unlike soup_message_headers_get(), this processes the -headers in exactly the way they were added, rather than -concatenating multiple same-named headers into a single value. -(This is intentional; it ensures that if you call -soup_message_headers_append() multiple times with the same name, -then the I/O code will output multiple copies of the header when -sending the message to the remote implementation, which may be -required for interoperability in some cases.)

-

You may not modify the headers from func -.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

hdrs

a SoupMessageHeaders

 

func

callback function to run for each header.

[scope call]

user_data

data to pass to func -

 
-
-
-
-
-

soup_message_headers_iter_init ()

-
void
-soup_message_headers_iter_init (SoupMessageHeadersIter *iter,
-                                SoupMessageHeaders *hdrs);
-

Initializes iter - for iterating hdrs -.

-
-

Parameters

-
----- - - - - - - - - - - - - -

iter

a pointer to a SoupMessageHeadersIter -structure.

[out][transfer none]

hdrs

a SoupMessageHeaders

 
-
-
-
-
-

soup_message_headers_iter_next ()

-
gboolean
-soup_message_headers_iter_next (SoupMessageHeadersIter *iter,
-                                const char **name,
-                                const char **value);
-

Yields the next name/value pair in the SoupMessageHeaders being -iterated by iter -. If iter - has already yielded the last header, -then soup_message_headers_iter_next() will return FALSE and name - -and value - will be unchanged.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

iter

a SoupMessageHeadersIter.

[inout][transfer none]

name

pointer to a variable to return -the header name in.

[out][transfer none]

value

pointer to a variable to return -the header value in.

[out][transfer none]
-
-
-

Returns

-

TRUE if another name and value were returned, FALSE -if the end of the headers has been reached.

-

-
-
-
-
-

soup_message_headers_get_encoding ()

-
SoupEncoding
-soup_message_headers_get_encoding (SoupMessageHeaders *hdrs);
-

Gets the message body encoding that hdrs - declare. This may not -always correspond to the encoding used on the wire; eg, a HEAD -response may declare a Content-Length or Transfer-Encoding, but -it will never actually include a body.

-
-

Parameters

-
----- - - - - - -

hdrs

a SoupMessageHeaders

 
-
-
-

Returns

-

the encoding declared by hdrs -.

-

-
-
-
-
-

soup_message_headers_set_encoding ()

-
void
-soup_message_headers_set_encoding (SoupMessageHeaders *hdrs,
-                                   SoupEncoding encoding);
-

Sets the message body encoding that hdrs - will declare. In particular, -you should use this if you are going to send a request or response in -chunked encoding.

-
-

Parameters

-
----- - - - - - - - - - - - - -

hdrs

a SoupMessageHeaders

 

encoding

a SoupEncoding

 
-
-
-
-
-

soup_message_headers_get_content_length ()

-
goffset
-soup_message_headers_get_content_length
-                               (SoupMessageHeaders *hdrs);
-

Gets the message body length that hdrs - declare. This will only -be non-0 if soup_message_headers_get_encoding() returns -SOUP_ENCODING_CONTENT_LENGTH.

-
-

Parameters

-
----- - - - - - -

hdrs

a SoupMessageHeaders

 
-
-
-

Returns

-

the message body length declared by hdrs -.

-

-
-
-
-
-

soup_message_headers_set_content_length ()

-
void
-soup_message_headers_set_content_length
-                               (SoupMessageHeaders *hdrs,
-                                goffset content_length);
-

Sets the message body length that hdrs - will declare, and sets -hdrs -'s encoding to SOUP_ENCODING_CONTENT_LENGTH.

-

You do not normally need to call this; if hdrs - is set to use -Content-Length encoding, libsoup will automatically set its -Content-Length header for you immediately before sending the -headers. One situation in which this method is useful is when -generating the response to a HEAD request; Calling -soup_message_headers_set_content_length() allows you to put the -correct content length into the response without needing to waste -memory by filling in a response body which won't actually be sent.

-
-

Parameters

-
----- - - - - - - - - - - - - -

hdrs

a SoupMessageHeaders

 

content_length

the message body length

 
-
-
-
-
-

soup_message_headers_get_expectations ()

-
SoupExpectation
-soup_message_headers_get_expectations (SoupMessageHeaders *hdrs);
-

Gets the expectations declared by hdrs -'s "Expect" header. -Currently this will either be SOUP_EXPECTATION_CONTINUE or -SOUP_EXPECTATION_UNRECOGNIZED.

-
-

Parameters

-
----- - - - - - -

hdrs

a SoupMessageHeaders

 
-
-
-

Returns

-

the contents of hdrs -'s "Expect" header

-

-
-
-
-
-

soup_message_headers_set_expectations ()

-
void
-soup_message_headers_set_expectations (SoupMessageHeaders *hdrs,
-                                       SoupExpectation expectations);
-

Sets hdrs -'s "Expect" header according to expectations -.

-

Currently SOUP_EXPECTATION_CONTINUE is the only known expectation -value. You should set this value on a request if you are sending a -large message body (eg, via POST or PUT), and want to give the -server a chance to reject the request after seeing just the headers -(eg, because it will require authentication before allowing you to -post, or because you're POSTing to a URL that doesn't exist). This -saves you from having to transmit the large request body when the -server is just going to ignore it anyway.

-
-

Parameters

-
----- - - - - - - - - - - - - -

hdrs

a SoupMessageHeaders

 

expectations

the expectations to set

 
-
-
-
-
-

soup_message_headers_get_content_type ()

-
const char *
-soup_message_headers_get_content_type (SoupMessageHeaders *hdrs,
-                                       GHashTable **params);
-

Looks up the "Content-Type" header in hdrs -, parses it, and returns -its value in *content_type - and *params -. params - can be NULL if you -are only interested in the content type itself.

-
-

Parameters

-
----- - - - - - - - - - - - - -

hdrs

a SoupMessageHeaders

 

params

return location for the Content-Type parameters (eg, "charset"), or -NULL.

[out][element-type utf8 utf8][allow-none][transfer full]
-
-
-

Returns

-

a string with the value of the "Content-Type" header -or NULL if hdrs -does not contain that header or it cannot be -parsed (in which case *params -will be unchanged).

-

-
-

Since 2.26

-
-
-
-

soup_message_headers_set_content_type ()

-
void
-soup_message_headers_set_content_type (SoupMessageHeaders *hdrs,
-                                       const char *content_type,
-                                       GHashTable *params);
-

Sets the "Content-Type" header in hdrs - to content_type -, -optionally with additional parameters specified in params -.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

hdrs

a SoupMessageHeaders

 

content_type

the MIME type

 

params

additional -parameters, or NULL.

[allow-none][element-type utf8 utf8]
-
-

Since 2.26

-
-
-
-

soup_message_headers_get_content_disposition ()

-
gboolean
-soup_message_headers_get_content_disposition
-                               (SoupMessageHeaders *hdrs,
-                                char **disposition,
-                                GHashTable **params);
-

Looks up the "Content-Disposition" header in hdrs -, parses it, and -returns its value in *disposition - and *params -. params - can be -NULL if you are only interested in the disposition-type.

-

In HTTP, the most common use of this header is to set a -disposition-type of "attachment", to suggest to the browser that a -response should be saved to disk rather than displayed in the -browser. If params - contains a "filename" parameter, this is a -suggestion of a filename to use. (If the parameter value in the -header contains an absolute or relative path, libsoup will truncate -it down to just the final path component, so you do not need to -test this yourself.)

-

Content-Disposition is also used in "multipart/form-data", however -this is handled automatically by SoupMultipart and the associated -form methods.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

hdrs

a SoupMessageHeaders

 

disposition

return location for the -disposition-type, or NULL.

[out][transfer full]

params

return -location for the Content-Disposition parameters, or NULL.

[out][transfer full][element-type utf8 utf8]
-
-
-

Returns

-

TRUE if hdrs -contains a "Content-Disposition" -header, FALSE if not (in which case *disposition -and *params -will be unchanged).

-

-
-

Since 2.26

-
-
-
-

soup_message_headers_set_content_disposition ()

-
void
-soup_message_headers_set_content_disposition
-                               (SoupMessageHeaders *hdrs,
-                                const char *disposition,
-                                GHashTable *params);
-

Sets the "Content-Disposition" header in hdrs - to disposition -, -optionally with additional parameters specified in params -.

-

See soup_message_headers_get_content_disposition() for a discussion -of how Content-Disposition is used in HTTP.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

hdrs

a SoupMessageHeaders

 

disposition

the disposition-type

 

params

additional -parameters, or NULL.

[allow-none][element-type utf8 utf8]
-
-

Since 2.26

-
-
-
-

soup_message_headers_get_ranges ()

-
gboolean
-soup_message_headers_get_ranges (SoupMessageHeaders *hdrs,
-                                 goffset total_length,
-                                 SoupRange **ranges,
-                                 int *length);
-

Parses hdrs -'s Range header and returns an array of the requested -byte ranges. The returned array must be freed with -soup_message_headers_free_ranges().

-

If total_length - is non-0, its value will be used to adjust the -returned ranges to have explicit start and end values, and the -returned ranges will be sorted and non-overlapping. If -total_length - is 0, then some ranges may have an end value of -1, -as described under SoupRange, and some of the ranges may be -redundant.

-

Beware that even if given a total_length -, this function does not -check that the ranges are satisfiable.

-

-SoupServer has built-in handling for range requests. If your -server handler returns a SOUP_STATUS_OK response containing the -complete response body (rather than pausing the message and -returning some of the response body later), and there is a Range -header in the request, then libsoup will automatically convert the -response to a SOUP_STATUS_PARTIAL_CONTENT response containing only -the range(s) requested by the client. - -The only time you need to process the Range header yourself is if -either you need to stream the response body rather than returning -it all at once, or you do not already have the complete response -body available, and only want to generate the parts that were -actually requested by the client. -

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - -

hdrs

a SoupMessageHeaders

 

total_length

the total_length of the response body

 

ranges

return location for an array of SoupRange.

[out]

length

the length of the returned array

 
-
-
-

Returns

-

TRUE if hdrs -contained a syntactically-valid -"Range" header, FALSE otherwise (in which case range -and length -will not be set).

-

-
-

Since 2.26

-
-
-
-

soup_message_headers_set_ranges ()

-
void
-soup_message_headers_set_ranges (SoupMessageHeaders *hdrs,
-                                 SoupRange *ranges,
-                                 int length);
-

Sets hdrs -'s Range header to request the indicated ranges. (If you -only want to request a single range, you can use -soup_message_headers_set_range().)

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

hdrs

a SoupMessageHeaders

 

ranges

an array of SoupRange

 

length

the length of range -

 
-
-

Since 2.26

-
-
-
-

soup_message_headers_set_range ()

-
void
-soup_message_headers_set_range (SoupMessageHeaders *hdrs,
-                                goffset start,
-                                goffset end);
-

Sets hdrs -'s Range header to request the indicated range. -start - and end - are interpreted as in a SoupRange.

-

If you need to request multiple ranges, use -soup_message_headers_set_ranges().

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

hdrs

a SoupMessageHeaders

 

start

the start of the range to request

 

end

the end of the range to request

 
-
-

Since 2.26

-
-
-
-

soup_message_headers_free_ranges ()

-
void
-soup_message_headers_free_ranges (SoupMessageHeaders *hdrs,
-                                  SoupRange *ranges);
-

Frees the array of ranges returned from soup_message_headers_get_ranges().

-
-

Parameters

-
----- - - - - - - - - - - - - -

hdrs

a SoupMessageHeaders

 

ranges

an array of SoupRange

 
-
-

Since 2.26

-
-
-
-

soup_message_headers_get_content_range ()

-
gboolean
-soup_message_headers_get_content_range
-                               (SoupMessageHeaders *hdrs,
-                                goffset *start,
-                                goffset *end,
-                                goffset *total_length);
-

Parses hdrs -'s Content-Range header and returns it in start -, -end -, and total_length -. If the total length field in the header -was specified as "*", then total_length - will be set to -1.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - -

hdrs

a SoupMessageHeaders

 

start

return value for the start of the range

 

end

return value for the end of the range

 

total_length

return value for the total length of the resource, -or NULL if you don't care.

 
-
-
-

Returns

-

TRUE if hdrs -contained a "Content-Range" header -containing a byte range which could be parsed, FALSE otherwise.

-

-
-

Since 2.26

-
-
-
-

soup_message_headers_set_content_range ()

-
void
-soup_message_headers_set_content_range
-                               (SoupMessageHeaders *hdrs,
-                                goffset start,
-                                goffset end,
-                                goffset total_length);
-

Sets hdrs -'s Content-Range header according to the given values. -(Note that total_length - is the total length of the entire resource -that this is a range of, not simply end - - start - + 1.)

-

-SoupServer has built-in handling for range requests, and you do -not normally need to call this function youself. See -soup_message_headers_get_ranges() for more details. -

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - -

hdrs

a SoupMessageHeaders

 

start

the start of the range

 

end

the end of the range

 

total_length

the total length of the resource, or -1 if unknown

 
-
-

Since 2.26

-
-
-
-

Types and Values

-
-

SoupMessageHeaders

-
typedef struct SoupMessageHeaders SoupMessageHeaders;
-
-

The HTTP message headers associated with a request or response.

-
-
-
-

enum SoupMessageHeadersType

-

Value passed to soup_message_headers_new() to set certain default -behaviors.

-
-

Members

-
----- - - - - - - - - - - - - - - - - - -

SOUP_MESSAGE_HEADERS_REQUEST

-

request headers

-
 

SOUP_MESSAGE_HEADERS_RESPONSE

-

response headers

-
 

SOUP_MESSAGE_HEADERS_MULTIPART

-

multipart body part headers

-
 
-
-
-
-
-

SoupMessageHeadersIter

-
typedef struct {
-} SoupMessageHeadersIter;
-
-

An opaque type used to iterate over a SoupMessageHeaders -structure.

-

After intializing the iterator with -soup_message_headers_iter_init(), call -soup_message_headers_iter_next() to fetch data from it.

-

You may not modify the headers while iterating over them.

-
-
-
-

enum SoupEncoding

-

How a message body is encoded for transport

-
-

Members

-
----- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

SOUP_ENCODING_UNRECOGNIZED

-

unknown / error

-
 

SOUP_ENCODING_NONE

-

no body is present (which is not the same as a -0-length body, and only occurs in certain places)

-
 

SOUP_ENCODING_CONTENT_LENGTH

-

Content-Length encoding

-
 

SOUP_ENCODING_EOF

-

Response body ends when the connection is closed

-
 

SOUP_ENCODING_CHUNKED

-

chunked encoding (currently only supported -for response)

-
 

SOUP_ENCODING_BYTERANGES

-

multipart/byteranges (Reserved for future -use: NOT CURRENTLY IMPLEMENTED)

-
 
-
-
-
-
-

enum SoupExpectation

-

Represents the parsed value of the "Expect" header.

-
-

Members

-
----- - - - - - - - - - - - - -

SOUP_EXPECTATION_UNRECOGNIZED

-

any unrecognized expectation

-
 

SOUP_EXPECTATION_CONTINUE

-

"100-continue"

-
 
-
-
-
-
-

SoupRange

-
typedef struct {
-	goffset start;
-	goffset end;
-} SoupRange;
-
-

Represents a byte range as used in the Range header.

-

If end - is non-negative, then start - and end - represent the bounds -of of the range, counting from 0. (Eg, the first 500 bytes would be -represented as start - = 0 and end - = 499.)

-

If end - is -1 and start - is non-negative, then this represents a -range starting at start - and ending with the last byte of the -requested resource body. (Eg, all but the first 500 bytes would be -start - = 500, and end - = -1.)

-

If end - is -1 and start - is negative, then it represents a "suffix -range", referring to the last -start - bytes of the resource body. -(Eg, the last 500 bytes would be start - = -500 and end - = -1.)

-
-

Members

-
----- - - - - - - - - - - - - -

goffset start;

the start of the range

 

goffset end;

the end of the range

 
-
-

Since 2.26

-
-
-
-

See Also

-

SoupMessage

-
-
- - - \ No newline at end of file diff --git a/docs/reference/html/SoupMultipart.html b/docs/reference/html/SoupMultipart.html deleted file mode 100644 index 2558067..0000000 --- a/docs/reference/html/SoupMultipart.html +++ /dev/null @@ -1,537 +0,0 @@ - - - - -libsoup Reference Manual: SoupMultipart - - - - - - - - - - - - - - - - -
-
-
- - -
-

SoupMultipart

-

SoupMultipart — multipart HTTP message bodies

-
-
-

Functions

-
---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-SoupMultipart * - -soup_multipart_new () -
-SoupMultipart * - -soup_multipart_new_from_message () -
-void - -soup_multipart_free () -
-int - -soup_multipart_get_length () -
-gboolean - -soup_multipart_get_part () -
-void - -soup_multipart_append_part () -
-void - -soup_multipart_append_form_string () -
-void - -soup_multipart_append_form_file () -
-void - -soup_multipart_to_message () -
-
-
-

Types and Values

-
---- - - - - -
typedefSoupMultipart
-
-
-

Object Hierarchy

-
    GBoxed
-    ╰── SoupMultipart
-
-
-
-

Includes

-
#include <libsoup/soup.h>
-
-
-
-

Description

-
-
-

Functions

-
-

soup_multipart_new ()

-
SoupMultipart *
-soup_multipart_new (const char *mime_type);
-

Creates a new empty SoupMultipart with a randomly-generated -boundary string. Note that mime_type - must be the full MIME type, -including "multipart/".

-
-

Parameters

-
----- - - - - - -

mime_type

the MIME type of the multipart to create.

 
-
-
-

Returns

-

a new empty SoupMultipart of the given mime_type -

-

-
-

Since 2.26

-
-
-
-

soup_multipart_new_from_message ()

-
SoupMultipart *
-soup_multipart_new_from_message (SoupMessageHeaders *headers,
-                                 SoupMessageBody *body);
-

Parses headers - and body - to form a new SoupMultipart

-
-

Parameters

-
----- - - - - - - - - - - - - -

headers

the headers of the HTTP message to parse

 

body

the body of the HTTP message to parse

 
-
-
-

Returns

-

a new SoupMultipart (or NULL if the message couldn't -be parsed or wasn't multipart).

-

-
-

Since 2.26

-
-
-
-

soup_multipart_free ()

-
void
-soup_multipart_free (SoupMultipart *multipart);
-

Frees multipart -

-
-

Parameters

-
----- - - - - - -

multipart

a SoupMultipart

 
-
-

Since 2.26

-
-
-
-

soup_multipart_get_length ()

-
int
-soup_multipart_get_length (SoupMultipart *multipart);
-

Gets the number of body parts in multipart -

-
-

Parameters

-
----- - - - - - -

multipart

a SoupMultipart

 
-
-
-

Returns

-

the number of body parts in multipart -

-

-
-

Since 2.26

-
-
-
-

soup_multipart_get_part ()

-
gboolean
-soup_multipart_get_part (SoupMultipart *multipart,
-                         int part,
-                         SoupMessageHeaders **headers,
-                         SoupBuffer **body);
-

Gets the indicated body part from multipart -.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - -

multipart

a SoupMultipart

 

part

the part number to get (counting from 0)

 

headers

return location for the MIME part -headers.

[out][transfer none]

body

return location for the MIME part -body.

[out][transfer none]
-
-
-

Returns

-

TRUE on success, FALSE if part -is out of range (in -which case headers -and body -won't be set)

-

-
-

Since 2.26

-
-
-
-

soup_multipart_append_part ()

-
void
-soup_multipart_append_part (SoupMultipart *multipart,
-                            SoupMessageHeaders *headers,
-                            SoupBuffer *body);
-

Adds a new MIME part to multipart - with the given headers and body. -(The multipart will make its own copies of headers - and body -, so -you should free your copies if you are not using them for anything -else.)

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

multipart

a SoupMultipart

 

headers

the MIME part headers

 

body

the MIME part body

 
-
-

Since 2.26

-
-
-
-

soup_multipart_append_form_string ()

-
void
-soup_multipart_append_form_string (SoupMultipart *multipart,
-                                   const char *control_name,
-                                   const char *data);
-

Adds a new MIME part containing data - to multipart -, using -"Content-Disposition: form-data", as per the HTML forms -specification. See soup_form_request_new_from_multipart() for more -details.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

multipart

a multipart (presumably of type "multipart/form-data")

 

control_name

the name of the control associated with data -

 

data

the body data

 
-
-

Since 2.26

-
-
-
-

soup_multipart_append_form_file ()

-
void
-soup_multipart_append_form_file (SoupMultipart *multipart,
-                                 const char *control_name,
-                                 const char *filename,
-                                 const char *content_type,
-                                 SoupBuffer *body);
-

Adds a new MIME part containing body - to multipart -, using -"Content-Disposition: form-data", as per the HTML forms -specification. See soup_form_request_new_from_multipart() for more -details.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - - - - - - -

multipart

a multipart (presumably of type "multipart/form-data")

 

control_name

the name of the control associated with this file

 

filename

the name of the file, or NULL if not known

 

content_type

the MIME type of the file, or NULL if not known

 

body

the file data

 
-
-

Since 2.26

-
-
-
-

soup_multipart_to_message ()

-
void
-soup_multipart_to_message (SoupMultipart *multipart,
-                           SoupMessageHeaders *dest_headers,
-                           SoupMessageBody *dest_body);
-

Serializes multipart - to dest_headers - and dest_body -.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

multipart

a SoupMultipart

 

dest_headers

the headers of the HTTP message to serialize multipart -to

 

dest_body

the body of the HTTP message to serialize multipart -to

 
-
-

Since 2.26

-
-
-
-

Types and Values

-
-

SoupMultipart

-
typedef struct SoupMultipart SoupMultipart;
-
-

Represents a multipart HTTP message body, parsed according to the -syntax of RFC 2046. Of particular interest to HTTP are -multipart/byte-ranges and -multipart/form-data.

-

Although the headers of a SoupMultipart body part will contain the -full headers from that body part, libsoup does not interpret them -according to MIME rules. For example, each body part is assumed to -have "binary" Content-Transfer-Encoding, even if its headers -explicitly state otherwise. In other words, don't try to use -SoupMultipart for handling real MIME multiparts.

-

Since 2.26

-
-
- -
- - - \ No newline at end of file diff --git a/docs/reference/html/SoupMultipartInputStream.html b/docs/reference/html/SoupMultipartInputStream.html deleted file mode 100644 index 725d93e..0000000 --- a/docs/reference/html/SoupMultipartInputStream.html +++ /dev/null @@ -1,399 +0,0 @@ - - - - -libsoup Reference Manual: SoupMultipartInputStream - - - - - - - - - - - - - - - - -
-
-
- - -
-

SoupMultipartInputStream

-

SoupMultipartInputStream — Multipart input handling stream

-
-
-

Functions

-
---- - - - - - - - - - - - - - - - - - - - - - - -
-SoupMultipartInputStream * - -soup_multipart_input_stream_new () -
-SoupMessageHeaders * - -soup_multipart_input_stream_get_headers () -
-GInputStream * - -soup_multipart_input_stream_next_part () -
-void - -soup_multipart_input_stream_next_part_async () -
-GInputStream * - -soup_multipart_input_stream_next_part_finish () -
-
-
-

Properties

-
----- - - - - - -
-SoupMessage *messageRead / Write / Construct Only
-
-
-

Types and Values

-
---- - - - - -
structSoupMultipartInputStream
-
-
-

Object Hierarchy

-
    GObject
-    ╰── GInputStream
-        ╰── GFilterInputStream
-            ╰── SoupMultipartInputStream
-
-
-
-

Implemented Interfaces

-

-SoupMultipartInputStream implements - GPollableInputStream.

-
-
-

Includes

-
#include <libsoup/soup.h>
-
-
-
-

Description

-

This adds support for the multipart responses. For handling the -multiple parts the user needs to wrap the GInputStream obtained by -sending the request with a SoupMultipartInputStream and use -soup_multipart_input_stream_next_part() before reading. Responses -which are not wrapped will be treated like non-multipart responses.

-

Note that although SoupMultipartInputStream is a GInputStream, -you should not read directly from it, and the results are undefined -if you do.

-
-
-

Functions

-
-

soup_multipart_input_stream_new ()

-
SoupMultipartInputStream *
-soup_multipart_input_stream_new (SoupMessage *msg,
-                                 GInputStream *base_stream);
-

Creates a new SoupMultipartInputStream that wraps the -GInputStream obtained by sending the SoupRequest. Reads should -not be done directly through this object, use the input streams -returned by soup_multipart_input_stream_next_part() or its async -counterpart instead.

-
-

Parameters

-
----- - - - - - - - - - - - - -

msg

the SoupMessage the response is related to.

 

base_stream

the GInputStream returned by sending the request.

 
-
-
-

Returns

-

a new SoupMultipartInputStream

-

-
-

Since 2.40

-
-
-
-

soup_multipart_input_stream_get_headers ()

-
SoupMessageHeaders *
-soup_multipart_input_stream_get_headers
-                               (SoupMultipartInputStream *multipart);
-

Obtains the headers for the part currently being processed. Note -that the SoupMessageHeaders that are returned are owned by the -SoupMultipartInputStream and will be replaced when a call is made -to soup_multipart_input_stream_next_part() or its async -counterpart, so if keeping the headers is required, a copy must be -made.

-

Note that if a part had no headers at all an empty SoupMessageHeaders -will be returned.

-
-

Parameters

-
----- - - - - - -

multipart

a SoupMultipartInputStream.

 
-
-
-

Returns

-

a SoupMessageHeaders containing the headers -for the part currently being processed or NULL if the headers failed to -parse.

-

[transfer none]

-
-

Since 2.40

-
-
-
-

soup_multipart_input_stream_next_part ()

-
GInputStream *
-soup_multipart_input_stream_next_part (SoupMultipartInputStream *multipart,
-                                       GCancellable *cancellable,
-                                       GError **error);
-

Obtains an input stream for the next part. When dealing with a -multipart response the input stream needs to be wrapped in a -SoupMultipartInputStream and this function or its async -counterpart need to be called to obtain the first part for -reading.

-

After calling this function, -soup_multipart_input_stream_get_headers() can be used to obtain the -headers for the first part. A read of 0 bytes indicates the end of -the part; a new call to this function should be done at that point, -to obtain the next part.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

multipart

the SoupMultipartInputStream

 

cancellable

a GCancellable

 

error

a GError

 
-
-
-

Returns

-

a new GInputStream, or NULL if -there are no more parts.

-

[transfer full]

-
-

Since 2.40

-
-
-
-

soup_multipart_input_stream_next_part_async ()

-
void
-soup_multipart_input_stream_next_part_async
-                               (SoupMultipartInputStream *multipart,
-                                int io_priority,
-                                GCancellable *cancellable,
-                                GAsyncReadyCallback callback,
-                                gpointer data);
-

Obtains a GInputStream for the next request. See -soup_multipart_input_stream_next_part() for details on the -workflow.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - - - - - - -

multipart

the SoupMultipartInputStream.

 

io_priority

the I/O priority for the request.

 

cancellable

a GCancellable.

 

callback

callback to call when request is satisfied.

 

data

data for callback -

 
-
-

Since 2.40

-
-
-
-

soup_multipart_input_stream_next_part_finish ()

-
GInputStream *
-soup_multipart_input_stream_next_part_finish
-                               (SoupMultipartInputStream *multipart,
-                                GAsyncResult *result,
-                                GError **error);
-

Finishes an asynchronous request for the next part.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

multipart

a SoupMultipartInputStream.

 

result

a GAsyncResult.

 

error

a GError location to store any error, or NULL to ignore.

 
-
-
-

Returns

-

a newly created GInputStream for -reading the next part or NULL if there are no more parts.

-

[transfer full]

-
-

Since 2.40

-
-
-
-

Types and Values

-
-

struct SoupMultipartInputStream

-
struct SoupMultipartInputStream;
-

-

-
-
-
-

Property Details

-
-

The “message” property

-
  “message”                  SoupMessage *
-

The SoupMessage.

-

Flags: Read / Write / Construct Only

-
-
-
- - - \ No newline at end of file diff --git a/docs/reference/html/SoupProxyResolverDefault.html b/docs/reference/html/SoupProxyResolverDefault.html deleted file mode 100644 index 6f4b1c7..0000000 --- a/docs/reference/html/SoupProxyResolverDefault.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - -libsoup Reference Manual: SoupProxyResolverDefault - - - - - - - - - - - - - - - - -
-
-
- - -
-

SoupProxyResolverDefault

-

SoupProxyResolverDefault — System proxy configuration integration

-
-
-

Properties

-
----- - - - - - -
-GProxyResolver *gproxy-resolverWrite
-
-
-

Types and Values

-
---- - - - - -
 SoupProxyResolverDefault
-
-
-

Object Hierarchy

-
    GObject
-    ╰── SoupProxyResolverDefault
-
-
-
-

Implemented Interfaces

-

-SoupProxyResolverDefault implements - SoupSessionFeature and SoupProxyURIResolver.

-
-
-

Includes

-
#include <libsoup/soup.h>
-
-
-
-

Description

-

SoupProxyResolverDefault is a SoupProxyURIResolver -implementation that uses the default gio GProxyResolver to resolve -proxies.

-

In libsoup 2.44 and later, you can set the session's -“proxy-resolver” property to the resolver returned by -g_proxy_resolver_get_default() to get the same effect. Note that -for "plain" SoupSessions (ie, not SoupSessionAsync or -SoupSessionSync), this is done for you automatically.

-
-
-

Functions

-
-
-

Types and Values

-
-

SoupProxyResolverDefault

-
typedef struct _SoupProxyResolverDefault SoupProxyResolverDefault;
-

-

-
-
-
-

Property Details

-
-

The “gproxy-resolver” property

-
  “gproxy-resolver”          GProxyResolver *
-

The underlying GProxyResolver.

-

Flags: Write

-
-
-
- - - \ No newline at end of file diff --git a/docs/reference/html/SoupRequest.html b/docs/reference/html/SoupRequest.html deleted file mode 100644 index 7c69f46..0000000 --- a/docs/reference/html/SoupRequest.html +++ /dev/null @@ -1,493 +0,0 @@ - - - - -libsoup Reference Manual: SoupRequest - - - - - - - - - - - - - - - - -
-
-
- - -
-

SoupRequest

-

SoupRequest — Protocol-independent streaming request interface

-
-
-

Functions

-
---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-GInputStream * - -soup_request_send () -
-void - -soup_request_send_async () -
-GInputStream * - -soup_request_send_finish () -
-goffset - -soup_request_get_content_length () -
const char * - -soup_request_get_content_type () -
-SoupSession * - -soup_request_get_session () -
-SoupURI * - -soup_request_get_uri () -
-
-
-

Properties

-
----- - - - - - - - - - - - - -
-SoupSession *sessionRead / Write / Construct Only
-SoupURI *uriRead / Write / Construct Only
-
-
-

Types and Values

-
---- - - - - - - - - - - - - - - -
 SoupRequest
#defineSOUP_REQUEST_SESSION
#defineSOUP_REQUEST_URI
-
-
-

Object Hierarchy

-
    GObject
-    ╰── SoupRequest
-        ├── SoupRequestData
-        ├── SoupRequestFile
-        ╰── SoupRequestHTTP
-
-
-
-

Implemented Interfaces

-

-SoupRequest implements - GInitable.

-
-
-

Includes

-
#include <libsoup/soup.h>
-
-
-
-

Description

-

A SoupRequest is created by SoupSession, and represents a request -to retrieve a particular URI.

-
-
-

Functions

-
-

soup_request_send ()

-
GInputStream *
-soup_request_send (SoupRequest *request,
-                   GCancellable *cancellable,
-                   GError **error);
-

Synchronously requests the URI pointed to by request -, and returns -a GInputStream that can be used to read its contents.

-

Note that you cannot use this method with SoupRequests attached to -a SoupSessionAsync.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

request

a SoupRequest

 

cancellable

a GCancellable or NULL

 

error

return location for a GError, or NULL

 
-
-
-

Returns

-

a GInputStream that can be used to -read from the URI pointed to by request -.

-

[transfer full]

-
-

Since 2.42

-
-
-
-

soup_request_send_async ()

-
void
-soup_request_send_async (SoupRequest *request,
-                         GCancellable *cancellable,
-                         GAsyncReadyCallback callback,
-                         gpointer user_data);
-

Begins an asynchronously request for the URI pointed to by -request -.

-

Note that you cannot use this method with SoupRequests attached to -a SoupSessionSync.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - -

request

a SoupRequest

 

cancellable

a GCancellable or NULL

 

callback

a GAsyncReadyCallback

 

user_data

user data passed to callback -

 
-
-

Since 2.42

-
-
-
-

soup_request_send_finish ()

-
GInputStream *
-soup_request_send_finish (SoupRequest *request,
-                          GAsyncResult *result,
-                          GError **error);
-

Gets the result of a soup_request_send_async().

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

request

a SoupRequest

 

result

the GAsyncResult

 

error

return location for a GError, or NULL

 
-
-
-

Returns

-

a GInputStream that can be used to -read from the URI pointed to by request -.

-

[transfer full]

-
-

Since 2.42

-
-
-
-

soup_request_get_content_length ()

-
goffset
-soup_request_get_content_length (SoupRequest *request);
-

Gets the length of the data represented by request -. For most -request types, this will not be known until after you call -soup_request_send() or soup_request_send_finish().

-
-

Parameters

-
----- - - - - - -

request

a SoupRequest

 
-
-
-

Returns

-

the length of the data represented by request -, -or -1 if not known.

-

-
-

Since 2.42

-
-
-
-

soup_request_get_content_type ()

-
const char *
-soup_request_get_content_type (SoupRequest *request);
-

Gets the type of the data represented by request -. For most request -types, this will not be known until after you call -soup_request_send() or soup_request_send_finish().

-

As in the HTTP Content-Type header, this may include parameters -after the MIME type.

-
-

Parameters

-
----- - - - - - -

request

a SoupRequest

 
-
-
-

Returns

-

the type of the data represented by request -, -or NULL if not known.

-

-
-

Since 2.42

-
-
-
-

soup_request_get_session ()

-
SoupSession *
-soup_request_get_session (SoupRequest *request);
-

Gets request -'s SoupSession

-
-

Parameters

-
----- - - - - - -

request

a SoupRequest

 
-
-
-

Returns

-

request -'s SoupSession.

-

[transfer none]

-
-

Since 2.42

-
-
-
-

soup_request_get_uri ()

-
SoupURI *
-soup_request_get_uri (SoupRequest *request);
-

Gets request -'s URI

-
-

Parameters

-
----- - - - - - -

request

a SoupRequest

 
-
-
-

Returns

-

request -'s URI.

-

[transfer none]

-
-

Since 2.42

-
-
-
-

Types and Values

-
-

SoupRequest

-
typedef struct _SoupRequest SoupRequest;
-

A request to retrieve a particular URI.

-

Since 2.42

-
-
-
-

SOUP_REQUEST_SESSION

-
#define SOUP_REQUEST_SESSION "session"
-
-

Alias for the “session” property, qv.

-

Since 2.42

-
-
-
-

SOUP_REQUEST_URI

-
#define SOUP_REQUEST_URI     "uri"
-
-

Alias for the “uri” property, qv.

-

Since 2.42

-
-
-
-

Property Details

-
-

The “session” property

-
  “session”                  SoupSession *
-

The request's SoupSession.

-

Flags: Read / Write / Construct Only

-

Since 2.42

-
-
-
-

The “uri” property

-
  “uri”                      SoupURI *
-

The request URI.

-

Flags: Read / Write / Construct Only

-

Since 2.42

-
-
-
- - - \ No newline at end of file diff --git a/docs/reference/html/SoupRequestData.html b/docs/reference/html/SoupRequestData.html deleted file mode 100644 index ae07adf..0000000 --- a/docs/reference/html/SoupRequestData.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - -libsoup Reference Manual: SoupRequestData - - - - - - - - - - - - - - - - -
-
-
- - -
-

SoupRequestData

-

SoupRequestData — SoupRequest support for "data" URIs

-
-
-

Types and Values

-
---- - - - - -
 SoupRequestData
-
-
-

Object Hierarchy

-
    GObject
-    ╰── SoupRequest
-        ╰── SoupRequestData
-
-
-
-

Implemented Interfaces

-

-SoupRequestData implements - GInitable.

-
-
-

Includes

-
#include <libsoup/soup.h>
-
-
-
-

Description

-

SoupRequestData implements SoupRequest for "data" URIs.

-
-
-

Functions

-
-
-

Types and Values

-
-

SoupRequestData

-
typedef struct _SoupRequestData SoupRequestData;
-

-

-
-
-
- - - \ No newline at end of file diff --git a/docs/reference/html/SoupRequestFile.html b/docs/reference/html/SoupRequestFile.html deleted file mode 100644 index a8e66d3..0000000 --- a/docs/reference/html/SoupRequestFile.html +++ /dev/null @@ -1,135 +0,0 @@ - - - - -libsoup Reference Manual: SoupRequestFile - - - - - - - - - - - - - - - - -
-
-
- - -
-

SoupRequestFile

-

SoupRequestFile — SoupRequest support for "file" and "resource" URIs

-
-
-

Functions

-
---- - - - - -
-GFile * - -soup_request_file_get_file () -
-
-
-

Types and Values

-
---- - - - - -
 SoupRequestFile
-
-
-

Object Hierarchy

-
    GObject
-    ╰── SoupRequest
-        ╰── SoupRequestFile
-
-
-
-

Implemented Interfaces

-

-SoupRequestFile implements - GInitable.

-
-
-

Includes

-
#include <libsoup/soup.h>
-
-
-
-

Description

-

SoupRequestFile implements SoupRequest for "file" and "resource" -URIs.

-
-
-

Functions

-
-

soup_request_file_get_file ()

-
GFile *
-soup_request_file_get_file (SoupRequestFile *file);
-

Gets a GFile corresponding to file -'s URI

-
-

Parameters

-
----- - - - - - -

file

a SoupRequestFile

 
-
-
-

Returns

-

a GFile corresponding to file -.

-

[transfer full]

-
-

Since 2.40

-
-
-
-

Types and Values

-
-

SoupRequestFile

-
typedef struct _SoupRequestFile SoupRequestFile;
-

-

-
-
-
- - - \ No newline at end of file diff --git a/docs/reference/html/SoupRequestHTTP.html b/docs/reference/html/SoupRequestHTTP.html deleted file mode 100644 index 4aeb9d8..0000000 --- a/docs/reference/html/SoupRequestHTTP.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - -libsoup Reference Manual: SoupRequestHTTP - - - - - - - - - - - - - - - - -
-
-
- - -
-

SoupRequestHTTP

-

SoupRequestHTTP — SoupRequest support for "http" and "https" URIs

-
-
-

Functions

-
---- - - - - -
-SoupMessage * - -soup_request_http_get_message () -
-
-
-

Types and Values

-
---- - - - - -
 SoupRequestHTTP
-
-
-

Object Hierarchy

-
    GObject
-    ╰── SoupRequest
-        ╰── SoupRequestHTTP
-
-
-
-

Implemented Interfaces

-

-SoupRequestHTTP implements - GInitable.

-
-
-

Includes

-
#include <libsoup/soup.h>
-
-
-
-

Description

-

SoupRequestHTTP implements SoupRequest for "http" and "https" -URIs.

-

To do more complicated HTTP operations using the SoupRequest APIs, -call soup_request_http_get_message() to get the request's -SoupMessage.

-
-
-

Functions

-
-

soup_request_http_get_message ()

-
SoupMessage *
-soup_request_http_get_message (SoupRequestHTTP *http);
-

Gets a new reference to the SoupMessage associated to this SoupRequest

-
-

Parameters

-
----- - - - - - -

http

a SoupRequestHTTP object

 
-
-
-

Returns

-

a new reference to the SoupMessage.

-

[transfer full]

-
-

Since 2.40

-
-
-
-

Types and Values

-
-

SoupRequestHTTP

-
typedef struct _SoupRequestHTTP SoupRequestHTTP;
-

-

-
-
-
- - - \ No newline at end of file diff --git a/docs/reference/html/SoupServer.html b/docs/reference/html/SoupServer.html deleted file mode 100644 index 34345f1..0000000 --- a/docs/reference/html/SoupServer.html +++ /dev/null @@ -1,1645 +0,0 @@ - - - - -libsoup Reference Manual: SoupServer - - - - - - - - - - - - - - - - -
-
-
- - -
-

SoupServer

-

SoupServer — HTTP server

-
-
-

Functions

-
---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-SoupServer * - -soup_server_new () -
-gboolean - -soup_server_is_https () -
-guint - -soup_server_get_port () -
-SoupSocket * - -soup_server_get_listener () -
-void - -soup_server_run () -
-void - -soup_server_run_async () -
-void - -soup_server_quit () -
-void - -soup_server_disconnect () -
-GMainContext * - -soup_server_get_async_context () -
-void - -(*SoupServerCallback) () -
-void - -soup_server_add_handler () -
-void - -soup_server_remove_handler () -
-SoupSocket * - -soup_client_context_get_socket () -
-SoupAddress * - -soup_client_context_get_address () -
const char * - -soup_client_context_get_host () -
-SoupAuthDomain * - -soup_client_context_get_auth_domain () -
const char * - -soup_client_context_get_auth_user () -
-void - -soup_server_add_auth_domain () -
-void - -soup_server_remove_auth_domain () -
-void - -soup_server_pause_message () -
-void - -soup_server_unpause_message () -
-
-
-

Properties

-
----- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
gpointerasync-contextRead / Write / Construct Only
GStrvhttp-aliasesRead / Write
GStrvhttps-aliasesRead / Write
-SoupAddress *interfaceRead / Write / Construct Only
guintportRead / Write / Construct Only
gbooleanraw-pathsRead / Write / Construct Only
-gchar *server-headerRead / Write / Construct
-gchar *ssl-cert-fileRead / Write / Construct Only
-gchar *ssl-key-fileRead / Write / Construct Only
-GTlsCertificate *tls-certificateRead / Write / Construct Only
-
-
-

Signals

-
----- - - - - - - - - - - - - - - - - - - - - - - -
voidrequest-abortedRun First
voidrequest-finishedRun First
voidrequest-readRun First
voidrequest-startedRun First
-
-
-

Types and Values

-
---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 SoupServer
typedefSoupClientContext
#defineSOUP_SERVER_PORT
#defineSOUP_SERVER_INTERFACE
#defineSOUP_SERVER_SSL_CERT_FILE
#defineSOUP_SERVER_SSL_KEY_FILE
#defineSOUP_SERVER_TLS_CERTIFICATE
#defineSOUP_SERVER_ASYNC_CONTEXT
#defineSOUP_SERVER_RAW_PATHS
#defineSOUP_SERVER_SERVER_HEADER
#defineSOUP_SERVER_HTTP_ALIASES
#defineSOUP_SERVER_HTTPS_ALIASES
-
-
-

Object Hierarchy

-
    GBoxed
-    ╰── SoupClientContext
-    GObject
-    ╰── SoupServer
-
-
-
-

Includes

-
#include <libsoup/soup.h>
-
-
-
-

Description

-

SoupServer implements a simple HTTP server.

-

To begin, create a server using soup_server_new(). Add at least one -handler by calling soup_server_add_handler(); the handler will be -called to process any requests underneath the path passed to -soup_server_add_handler(). (If you want all requests to go to the -same handler, just pass "/" (or NULL) for the path.) Any request -that does not match any handler will automatically be returned to -the client with a 404 (Not Found) status.

-

If you want to handle the special "*" URI (eg, "OPTIONS *"), you -must explicitly register a handler for "*"; the default handler -will not be used for that case.

-

To add authentication to some or all paths, create an appropriate -SoupAuthDomain (qv), and add it to the server via -soup_server_add_auth_domain(). (As with handlers, you must -explicitly add "*" to an auth domain if you want it to be covered.)

-

Additional processing options are available via SoupServer's -signals; Connect to “request-started” to be notified -every time a new request is being processed. (This gives you a -chance to connect to the SoupMessage "got-" signals in case you -want to do processing before the body has been fully read.)

-

Once the server is set up, start it processing connections by -calling soup_server_run_async() or soup_server_run(). SoupServer -runs via the glib main loop; if you need to have a server that runs -in another thread (or merely isn't bound to the default main loop), -create a GMainContext for it to use, and set that via the -SOUP_SERVER_ASYNC_CONTEXT property.

-
-
-

Functions

-
-

soup_server_new ()

-
SoupServer *
-soup_server_new (const char *optname1,
-                 ...);
-

Creates a new SoupServer.

-
-

Parameters

-
----- - - - - - - - - - - - - -

optname1

name of first property to set

 

...

value of optname1 -, followed by additional property/value pairs

 
-
-
-

Returns

-

a new SoupServer

-

-
-
-
-
-

soup_server_is_https ()

-
gboolean
-soup_server_is_https (SoupServer *server);
-

Checks whether server - is running plain http or https.

-

In order for a server to run https, you must set the -SOUP_SERVER_SSL_CERT_FILE and SOUP_SERVER_SSL_KEY_FILE properties -or SOUP_SERVER_TLS_CERTIFICATE property to provide it with an SSL -certificate to use.

-
-

Parameters

-
----- - - - - - -

server

a SoupServer

 
-
-
-

Returns

-

TRUE if server -is serving https.

-

-
-
-
-
-

soup_server_get_port ()

-
guint
-soup_server_get_port (SoupServer *server);
-

Gets the TCP port that server - is listening on. This is most useful -when you did not request a specific port (or explicitly requested -SOUP_ADDRESS_ANY_PORT).

-
-

Parameters

-
----- - - - - - -

server

a SoupServer

 
-
-
-

Returns

-

the port server -is listening on.

-

-
-
-
-
-

soup_server_get_listener ()

-
SoupSocket *
-soup_server_get_listener (SoupServer *server);
-

Gets server -'s listening socket. You should treat this as -read-only; writing to it or modifiying it may cause server - to -malfunction.

-
-

Parameters

-
----- - - - - - -

server

a SoupServer

 
-
-
-

Returns

-

the listening socket.

-

[transfer none]

-
-
-
-
-

soup_server_run ()

-
void
-soup_server_run (SoupServer *server);
-

Starts server -, causing it to listen for and process incoming -connections. Unlike soup_server_run_async(), this creates a -GMainLoop and runs it, and it will not return until someone calls -soup_server_quit() to stop the server.

-
-

Parameters

-
----- - - - - - -

server

a SoupServer

 
-
-
-
-
-

soup_server_run_async ()

-
void
-soup_server_run_async (SoupServer *server);
-

Starts server -, causing it to listen for and process incoming -connections.

-

The server actually runs in server -'s GMainContext. It will not -actually perform any processing unless the appropriate main loop is -running. In the simple case where you did not set the server's -SOUP_SERVER_ASYNC_CONTEXT property, this means the server will run -whenever the glib main loop is running.

-
-

Parameters

-
----- - - - - - -

server

a SoupServer

 
-
-
-
-
-

soup_server_quit ()

-
void
-soup_server_quit (SoupServer *server);
-

Stops processing for server -. Call this to clean up after -soup_server_run_async(), or to terminate a call to soup_server_run().

-

server - is still in a working state after this call; you can start -and stop a server as many times as you want.

-
-

Parameters

-
----- - - - - - -

server

a SoupServer

 
-
-
-
-
-

soup_server_disconnect ()

-
void
-soup_server_disconnect (SoupServer *server);
-

Stops processing for server - and closes its socket. This implies -the effects of soup_server_quit(), but additionally closes the -listening socket. Note that messages currently in progress will -continue to be handled, if the main loop associated with the -server is resumed or kept running.

-

After calling this function, server - is no longer functional, so it -has nearly the same effect as destroying server - entirely. The -function is thus useful mainly for language bindings without -explicit control over object lifetime.

-
-

Parameters

-
----- - - - - - -

server

a SoupServer

 
-
-
-
-
-

soup_server_get_async_context ()

-
GMainContext *
-soup_server_get_async_context (SoupServer *server);
-

Gets server -'s async_context. This does not add a ref to the -context, so you will need to ref it yourself if you want it to -outlive its server.

-
-

Parameters

-
----- - - - - - -

server

a SoupServer

 
-
-
-

Returns

-

server -'s GMainContext, which may be NULL.

-

[transfer none]

-
-
-
-
-

SoupServerCallback ()

-
void
-(*SoupServerCallback) (SoupServer *server,
-                       SoupMessage *msg,
-                       const char *path,
-                       GHashTable *query,
-                       SoupClientContext *client,
-                       gpointer user_data);
-

A callback used to handle requests to a SoupServer. The callback -will be invoked after receiving the request body; msg -'s -“method”, “request_headers”, and -“request_body” fields will be filled in.

-

path - and query - contain the likewise-named components of the -Request-URI, subject to certain assumptions. By default, -SoupServer decodes all percent-encoding in the URI path, such that -"/foo%2Fbar" is treated the same as "/foo/bar". If your -server is serving resources in some non-POSIX-filesystem namespace, -you may want to distinguish those as two distinct paths. In that -case, you can set the SOUP_SERVER_RAW_PATHS property when creating -the SoupServer, and it will leave those characters undecoded. (You -may want to call soup_uri_normalize() to decode any percent-encoded -characters that you aren't handling specially.)

-

query - contains the query component of the Request-URI parsed -according to the rules for HTML form handling. Although this is the -only commonly-used query string format in HTTP, there is nothing -that actually requires that HTTP URIs use that format; if your -server needs to use some other format, you can just ignore query -, -and call soup_message_get_uri() and parse the URI's query field -yourself.

-

After determining what to do with the request, the callback must at -a minimum call soup_message_set_status() (or -soup_message_set_status_full()) on msg - to set the response status -code. Additionally, it may set response headers and/or fill in the -response body.

-

If the callback cannot fully fill in the response before returning -(eg, if it needs to wait for information from a database, or -another network server), it should call soup_server_pause_message() -to tell SoupServer to not send the response right away. When the -response is ready, call soup_server_unpause_message() to cause it -to be sent.

-

To send the response body a bit at a time using "chunked" encoding, -first call soup_message_headers_set_encoding() to set -SOUP_ENCODING_CHUNKED on the “response_headers”. Then call -soup_message_body_append() (or soup_message_body_append_buffer()) -to append each chunk as it becomes ready, and -soup_server_unpause_message() to make sure it's running. (The -server will automatically pause the message if it is using chunked -encoding but no more chunks are available.) When you are done, call -soup_message_body_complete() to indicate that no more chunks are -coming.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

server

the SoupServer

 

msg

the message being processed

 

path

the path component of msg -'s Request-URI

 

query

the parsed query -component of msg -'s Request-URI.

[element-type utf8 utf8][allow-none]

client

additional contextual information about the client

 

user_data

the data passed to soup_server_add_handler -

 
-
-
-
-
-

soup_server_add_handler ()

-
void
-soup_server_add_handler (SoupServer *server,
-                         const char *path,
-                         SoupServerCallback callback,
-                         gpointer user_data,
-                         GDestroyNotify destroy);
-

Adds a handler to server - for requests under path -. See the -documentation for SoupServerCallback for information about -how callbacks should behave.

-

If path - is NULL or "/", then this will be the default handler for -all requests that don't have a more specific handler. Note though -that if you want to handle requests to the special "*" URI, you -must explicitly register a handler for "*"; the default handler -will not be used for that case.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - - - - - - -

server

a SoupServer

 

path

the toplevel path for the handler.

[allow-none]

callback

callback to invoke for requests under path -

 

user_data

data for callback -

 

destroy

destroy notifier to free user_data -

 
-
-
-
-
-

soup_server_remove_handler ()

-
void
-soup_server_remove_handler (SoupServer *server,
-                            const char *path);
-

Removes the handler registered at path -.

-
-

Parameters

-
----- - - - - - - - - - - - - -

server

a SoupServer

 

path

the toplevel path for the handler

 
-
-
-
-
-

soup_client_context_get_socket ()

-
SoupSocket *
-soup_client_context_get_socket (SoupClientContext *client);
-

Retrieves the SoupSocket that client - is associated with.

-

If you are using this method to observe when multiple requests are -made on the same persistent HTTP connection (eg, as the ntlm-test -test program does), you will need to pay attention to socket -destruction as well (either by using weak references, or by -connecting to the “disconnected” signal), so that you do -not get fooled when the allocator reuses the memory address of a -previously-destroyed socket to represent a new socket.

-
-

Parameters

-
----- - - - - - -

client

a SoupClientContext

 
-
-
-

Returns

-

the SoupSocket that client -is -associated with.

-

[transfer none]

-
-
-
-
-

soup_client_context_get_address ()

-
SoupAddress *
-soup_client_context_get_address (SoupClientContext *client);
-

Retrieves the SoupAddress associated with the remote end -of a connection.

-
-

Parameters

-
----- - - - - - -

client

a SoupClientContext

 
-
-
-

Returns

-

the SoupAddress associated with the -remote end of a connection.

-

[transfer none]

-
-
-
-
-

soup_client_context_get_host ()

-
const char *
-soup_client_context_get_host (SoupClientContext *client);
-

Retrieves the IP address associated with the remote end of a -connection. (If you want the actual hostname, you'll have to call -soup_client_context_get_address() and then call the appropriate -SoupAddress method to resolve it.)

-
-

Parameters

-
----- - - - - - -

client

a SoupClientContext

 
-
-
-

Returns

-

the IP address associated with the remote end of a -connection.

-

-
-
-
-
-

soup_client_context_get_auth_domain ()

-
SoupAuthDomain *
-soup_client_context_get_auth_domain (SoupClientContext *client);
-

Checks whether the request associated with client - has been -authenticated, and if so returns the SoupAuthDomain that -authenticated it.

-
-

Parameters

-
----- - - - - - -

client

a SoupClientContext

 
-
-
-

Returns

-

a SoupAuthDomain, or -NULL if the request was not authenticated.

-

[transfer none][allow-none]

-
-
-
-
-

soup_client_context_get_auth_user ()

-
const char *
-soup_client_context_get_auth_user (SoupClientContext *client);
-

Checks whether the request associated with client - has been -authenticated, and if so returns the username that the client -authenticated as.

-
-

Parameters

-
----- - - - - - -

client

a SoupClientContext

 
-
-
-

Returns

-

the authenticated-as user, or NULL if the request -was not authenticated.

-

-
-
-
-
-

soup_server_add_auth_domain ()

-
void
-soup_server_add_auth_domain (SoupServer *server,
-                             SoupAuthDomain *auth_domain);
-

Adds an authentication domain to server -. Each auth domain will -have the chance to require authentication for each request that -comes in; normally auth domains will require authentication for -requests on certain paths that they have been set up to watch, or -that meet other criteria set by the caller. If an auth domain -determines that a request requires authentication (and the request -doesn't contain authentication), server - will automatically reject -the request with an appropriate status (401 Unauthorized or 407 -Proxy Authentication Required). If the request used the -"100-continue" Expectation, server - will reject it before the -request body is sent.

-
-

Parameters

-
----- - - - - - - - - - - - - -

server

a SoupServer

 

auth_domain

a SoupAuthDomain

 
-
-
-
-
-

soup_server_remove_auth_domain ()

-
void
-soup_server_remove_auth_domain (SoupServer *server,
-                                SoupAuthDomain *auth_domain);
-

Removes auth_domain - from server -.

-
-

Parameters

-
----- - - - - - - - - - - - - -

server

a SoupServer

 

auth_domain

a SoupAuthDomain

 
-
-
-
-
-

soup_server_pause_message ()

-
void
-soup_server_pause_message (SoupServer *server,
-                           SoupMessage *msg);
-

Pauses I/O on msg -. This can be used when you need to return from -the server handler without having the full response ready yet. Use -soup_server_unpause_message() to resume I/O.

-

This must only be called on SoupMessages which were created by the -SoupServer and are currently doing I/O, such as those passed into a -SoupServerCallback or emitted in a “request-read” signal.

-
-

Parameters

-
----- - - - - - - - - - - - - -

server

a SoupServer

 

msg

a SoupMessage associated with server -.

 
-
-
-
-
-

soup_server_unpause_message ()

-
void
-soup_server_unpause_message (SoupServer *server,
-                             SoupMessage *msg);
-

Resumes I/O on msg -. Use this to resume after calling -soup_server_pause_message(), or after adding a new chunk to a -chunked response.

-

I/O won't actually resume until you return to the main loop.

-

This must only be called on SoupMessages which were created by the -SoupServer and are currently doing I/O, such as those passed into a -SoupServerCallback or emitted in a “request-read” signal.

-
-

Parameters

-
----- - - - - - - - - - - - - -

server

a SoupServer

 

msg

a SoupMessage associated with server -.

 
-
-
-
-
-

Types and Values

-
-

SoupServer

-
typedef struct _SoupServer SoupServer;
-

-

-
-
-
-

SoupClientContext

-
typedef struct SoupClientContext SoupClientContext;
-
-

A SoupClientContext provides additional information about the -client making a particular request. In particular, you can use -soup_client_context_get_auth_domain() and -soup_client_context_get_auth_user() to determine if HTTP -authentication was used successfully.

-

soup_client_context_get_address() and/or -soup_client_context_get_host() can be used to get information for -logging or debugging purposes. soup_client_context_get_socket() may -also be of use in some situations (eg, tracking when multiple -requests are made on the same connection).

-
-
-
-

SOUP_SERVER_PORT

-
#define SOUP_SERVER_PORT            "port"
-
-

Alias for the “port” property. (The port the -server listens on.)

-
-
-
-

SOUP_SERVER_INTERFACE

-
#define SOUP_SERVER_INTERFACE       "interface"
-
-

Alias for the “interface” property. (The address -of the network interface the server listens on.)

-
-
-
-

SOUP_SERVER_SSL_CERT_FILE

-
#define SOUP_SERVER_SSL_CERT_FILE   "ssl-cert-file"
-
-

Alias for the “ssl-cert-file” property, qv.

-
-
-
-

SOUP_SERVER_SSL_KEY_FILE

-
#define SOUP_SERVER_SSL_KEY_FILE    "ssl-key-file"
-
-

Alias for the “ssl-key-file” property, qv.

-
-
-
-

SOUP_SERVER_TLS_CERTIFICATE

-
#define SOUP_SERVER_TLS_CERTIFICATE "tls-certificate"
-
-

Alias for the “tls-certificate” property, qv.

-
-
-
-

SOUP_SERVER_ASYNC_CONTEXT

-
#define SOUP_SERVER_ASYNC_CONTEXT   "async-context"
-
-

Alias for the “async-context” property. (The -server's GMainContext.)

-
-
-
-

SOUP_SERVER_RAW_PATHS

-
#define SOUP_SERVER_RAW_PATHS       "raw-paths"
-
-

Alias for the “raw-paths” property. (If TRUE, -percent-encoding in the Request-URI path will not be -automatically decoded.)

-
-
-
-

SOUP_SERVER_SERVER_HEADER

-
#define SOUP_SERVER_SERVER_HEADER   "server-header"
-
-

Alias for the “server-header” property, qv.

-
-
-
-

SOUP_SERVER_HTTP_ALIASES

-
#define SOUP_SERVER_HTTP_ALIASES    "http-aliases"
-
-

-

-
-
-
-

SOUP_SERVER_HTTPS_ALIASES

-
#define SOUP_SERVER_HTTPS_ALIASES   "https-aliases"
-
-

Alias for the “https-aliases” property, qv.

-

Since 2.44

-
-
-
-

Property Details

-
-

The “async-context” property

-
  “async-context”            gpointer
-

The GMainContext to dispatch async I/O in.

-

Flags: Read / Write / Construct Only

-
-
-
-

The “http-aliases” property

-
  “http-aliases”             GStrv
-

A NULL-terminated array of URI schemes that should be -considered to be aliases for "http". Eg, if this included -"dav", than a URI of -dav://example.com/path would be treated -identically to http://example.com/path. -In particular, this is needed in cases where a client -sends requests with absolute URIs, where those URIs do -not use "http:".

-

The default value is an array containing the single element -"*", a special value which means that -any scheme except "https" is considered to be an alias for -"http".

-

See also “https-aliases”.

-

Flags: Read / Write

-

Since 2.44

-
-
-
-

The “https-aliases” property

-
  “https-aliases”            GStrv
-

A comma-delimited list of URI schemes that should be -considered to be aliases for "https". See -“http-aliases” for more information.

-

The default value is NULL, meaning that no URI schemes -are considered aliases for "https".

-

Flags: Read / Write

-

Since 2.44

-
-
-
-

The “interface” property

-
  “interface”                SoupAddress *
-

Address of interface to listen on.

-

Flags: Read / Write / Construct Only

-
-
-
-

The “port” property

-
  “port”                     guint
-

Port to listen on.

-

Flags: Read / Write / Construct Only

-

Allowed values: <= 65536

-

Default value: 0

-
-
-
-

The “raw-paths” property

-
  “raw-paths”                gboolean
-

If %TRUE, percent-encoding in the Request-URI path will not be automatically decoded.

-

Flags: Read / Write / Construct Only

-

Default value: FALSE

-
-
-
-

The “server-header” property

-
  “server-header”            gchar *
-

If non-NULL, the value to use for the "Server" header on -SoupMessages processed by this server.

-

The Server header is the server equivalent of the -User-Agent header, and provides information about the -server and its components. It contains a list of one or -more product tokens, separated by whitespace, with the most -significant product token coming first. The tokens must be -brief, ASCII, and mostly alphanumeric (although "-", "_", -and "." are also allowed), and may optionally include a "/" -followed by a version string. You may also put comments, -enclosed in parentheses, between or after the tokens.

-

Some HTTP server implementations intentionally do not use -version numbers in their Server header, so that -installations running older versions of the server don't -end up advertising their vulnerability to specific security -holes.

-

As with “user_agent”, if you set a -“server_header” property that has trailing whitespace, -SoupServer will append its own product token (eg, -"libsoup/2.3.2") to the end of the -header for you.

-

Flags: Read / Write / Construct

-

Default value: NULL

-
-
-
-

The “ssl-cert-file” property

-
  “ssl-cert-file”            gchar *
-

Path to a file containing a PEM-encoded certificate. If -this and “ssl-key-file” are both set, then the -server will speak https rather than plain http.

-

Alternatively, you can use “tls-certificate” -to provide an arbitrary GTlsCertificate.

-

Flags: Read / Write / Construct Only

-

Default value: NULL

-
-
-
-

The “ssl-key-file” property

-
  “ssl-key-file”             gchar *
-

Path to a file containing a PEM-encoded private key. If -this and “ssl-key-file” are both set, then the -server will speak https rather than plain http. Note that -you are allowed to set them to the same value, if you have -a single file containing both the certificate and the key.

-

Alternatively, you can use “tls-certificate” -to provide an arbitrary GTlsCertificate.

-

Flags: Read / Write / Construct Only

-

Default value: NULL

-
-
-
-

The “tls-certificate” property

-
  “tls-certificate”          GTlsCertificate *
-

A GTlsCertificate that has a “private-key” -set. If this is set, then the server will speak https -rather than plain http.

-

Alternatively, you can use “ssl-cert-file” and -“ssl-key-file” properties, to have SoupServer -read in a a certificate from a file.

-

Flags: Read / Write / Construct Only

-
-
-
-

Signal Details

-
-

The “request-aborted” signal

-
void
-user_function (SoupServer        *server,
-               SoupMessage       *message,
-               SoupClientContext *client,
-               gpointer           user_data)
-

Emitted when processing has failed for a message; this -could mean either that it could not be read (if -“request_read” has not been emitted for it yet), -or that the response could not be written back (if -“request_read” has been emitted but -“request_finished” has not been).

-

message - is in an undefined state when this signal is -emitted; the signal exists primarily to allow the server to -free any state that it may have allocated in -“request_started”.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - -

server

the server

 

message

the message

 

client

the client context

 

user_data

user data set when the signal handler was connected.

 
-
-

Flags: Run First

-
-
-
-

The “request-finished” signal

-
void
-user_function (SoupServer        *server,
-               SoupMessage       *message,
-               SoupClientContext *client,
-               gpointer           user_data)
-

Emitted when the server has finished writing a response to -a request.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - -

server

the server

 

message

the message

 

client

the client context

 

user_data

user data set when the signal handler was connected.

 
-
-

Flags: Run First

-
-
-
-

The “request-read” signal

-
void
-user_function (SoupServer        *server,
-               SoupMessage       *message,
-               SoupClientContext *client,
-               gpointer           user_data)
-

Emitted when the server has successfully read a request. -message - will have all of its request-side information -filled in, and if the message was authenticated, client - -will have information about that. This signal is emitted -before any handlers are called for the message, and if it -sets the message's status_code, then normal handler -processing will be skipped.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - -

server

the server

 

message

the message

 

client

the client context

 

user_data

user data set when the signal handler was connected.

 
-
-

Flags: Run First

-
-
-
-

The “request-started” signal

-
void
-user_function (SoupServer        *server,
-               SoupMessage       *message,
-               SoupClientContext *client,
-               gpointer           user_data)
-

Emitted when the server has started reading a new request. -message - will be completely blank; not even the -Request-Line will have been read yet. About the only thing -you can usefully do with it is connect to its signals.

-

If the request is read successfully, this will eventually -be followed by a “request_read” signal. If a -response is then sent, the request processing will end with -a “request_finished” signal. If a network error -occurs, the processing will instead end with -“request_aborted”.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - -

server

the server

 

message

the new message

 

client

the client context

 

user_data

user data set when the signal handler was connected.

 
-
-

Flags: Run First

-
-
-
-

See Also

-

SoupAuthDomain

-
-
- - - \ No newline at end of file diff --git a/docs/reference/html/SoupSession.html b/docs/reference/html/SoupSession.html deleted file mode 100644 index edab9e4..0000000 --- a/docs/reference/html/SoupSession.html +++ /dev/null @@ -1,2841 +0,0 @@ - - - - -libsoup Reference Manual: SoupSession - - - - - - - - - - - - - - - - -
-
-
- - -
-

SoupSession

-

SoupSession — Soup session state object

-
-
-

Functions

-
---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-SoupSession * - -soup_session_new () -
-SoupSession * - -soup_session_new_with_options () -
-SoupRequest * - -soup_session_request () -
-SoupRequest * - -soup_session_request_uri () -
-SoupRequestHTTP * - -soup_session_request_http () -
-SoupRequestHTTP * - -soup_session_request_http_uri () -
-void - -(*SoupSessionCallback) () -
-void - -soup_session_queue_message () -
-void - -soup_session_requeue_message () -
-guint - -soup_session_send_message () -
-void - -soup_session_cancel_message () -
-GInputStream * - -soup_session_send () -
-void - -soup_session_send_async () -
-GInputStream * - -soup_session_send_finish () -
-void - -soup_session_prefetch_dns () -
-void - -soup_session_prepare_for_uri () -
-void - -soup_session_abort () -
-gboolean - -soup_session_would_redirect () -
-gboolean - -soup_session_redirect_message () -
-void - -soup_session_pause_message () -
-void - -soup_session_unpause_message () -
-GMainContext * - -soup_session_get_async_context () -
-void - -soup_session_add_feature () -
-void - -soup_session_add_feature_by_type () -
-void - -soup_session_remove_feature () -
-void - -soup_session_remove_feature_by_type () -
-GSList * - -soup_session_get_features () -
-SoupSessionFeature * - -soup_session_get_feature () -
-SoupSessionFeature * - -soup_session_get_feature_for_message () -
-gboolean - -soup_session_has_feature () -
-
-
-

Properties

-
----- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-gchar *accept-languageRead / Write
gbooleanaccept-language-autoRead / Write
-SoupSessionFeature *add-featureRead / Write
-GType *add-feature-by-typeRead / Write
gpointerasync-contextRead / Write / Construct Only
GStrvhttp-aliasesRead / Write
GStrvhttps-aliasesRead / Write
guintidle-timeoutRead / Write
-SoupAddress *local-addressRead / Write / Construct Only
gintmax-connsRead / Write
gintmax-conns-per-hostRead / Write
-GProxyResolver *proxy-resolverRead / Write
-SoupURI *proxy-uriRead / Write
-GType *remove-feature-by-typeRead / Write
-gchar *ssl-ca-fileRead / Write
gbooleanssl-strictRead / Write
gbooleanssl-use-system-ca-fileRead / Write
guinttimeoutRead / Write
-GTlsDatabase *tls-databaseRead / Write
gbooleanuse-ntlmRead / Write
gbooleanuse-thread-contextRead / Write
-gchar *user-agentRead / Write
-
-
-

Signals

-
----- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
voidauthenticateRun First
voidconnection-createdRun First
voidrequest-queuedRun First
voidrequest-startedRun First
voidrequest-unqueuedRun First
voidtunnelingRun First
-
- -
-

Object Hierarchy

-
    GObject
-    ╰── SoupSession
-        ├── SoupSessionAsync
-        ╰── SoupSessionSync
-
-
-
-

Includes

-
#include <libsoup/soup.h>
-
-
-
-

Description

-

SoupSession is the object that controls client-side HTTP. A -SoupSession encapsulates all of the state that libsoup is keeping -on behalf of your program; cached HTTP connections, authentication -information, etc. It also keeps track of various global options -and features that you are using.

-

Most applications will only need a single SoupSession; the primary -reason you might need multiple sessions is if you need to have -multiple independent authentication contexts. (Eg, you are -connecting to a server and authenticating as two different users at -different times; the easiest way to ensure that each SoupMessage -is sent with the authentication information you intended is to use -one session for the first user, and a second session for the other -user.)

-

In the past, SoupSession was an abstract class, and users needed -to choose between SoupSessionAsync (which always uses -GMainLoop-based I/O), or SoupSessionSync (which always uses -blocking I/O and can be used from multiple threads simultaneously). -This is no longer necessary; you can (and should) use a plain -SoupSession, which supports both synchronous and asynchronous use. -(When using a plain SoupSession, soup_session_queue_message() -behaves like it traditionally did on a SoupSessionAsync, and -soup_session_send_message() behaves like it traditionally did on a -SoupSessionSync.)

-
-
-

Functions

-
-

soup_session_new ()

-
SoupSession *
-soup_session_new (void);
-

Creates a SoupSession with the default options.

-
-

Returns

-

the new session.

-

-
-

Since 2.42

-
-
-
-

soup_session_new_with_options ()

-
SoupSession *
-soup_session_new_with_options (const char *optname1,
-                               ...);
-

Creates a SoupSession with the specified options.

-
-

Parameters

-
----- - - - - - - - - - - - - -

optname1

name of first property to set

 

...

value of optname1 -, followed by additional property/value pairs

 
-
-
-

Returns

-

the new session.

-

-
-

Since 2.42

-
-
-
-

soup_session_request ()

-
SoupRequest *
-soup_session_request (SoupSession *session,
-                      const char *uri_string,
-                      GError **error);
-

Creates a SoupRequest for retrieving uri_string -.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

session

a SoupSession

 

uri_string

a URI, in string form

 

error

return location for a GError, or NULL

 
-
-
-

Returns

-

a new SoupRequest, or -NULL on error.

-

[transfer full]

-
-

Since 2.42

-
-
-
-

soup_session_request_uri ()

-
SoupRequest *
-soup_session_request_uri (SoupSession *session,
-                          SoupURI *uri,
-                          GError **error);
-

Creates a SoupRequest for retrieving uri -.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

session

a SoupSession

 

uri

a SoupURI representing the URI to retrieve

 

error

return location for a GError, or NULL

 
-
-
-

Returns

-

a new SoupRequest, or -NULL on error.

-

[transfer full]

-
-

Since 2.42

-
-
-
-

soup_session_request_http ()

-
SoupRequestHTTP *
-soup_session_request_http (SoupSession *session,
-                           const char *method,
-                           const char *uri_string,
-                           GError **error);
-

Creates a SoupRequest for retrieving uri_string -, which must be an -"http" or "https" URI (or another protocol listed in session -'s -“http-aliases” or “https-aliases”).

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - -

session

a SoupSession

 

method

an HTTP method

 

uri_string

a URI, in string form

 

error

return location for a GError, or NULL

 
-
-
-

Returns

-

a new SoupRequestHTTP, or -NULL on error.

-

[transfer full]

-
-

Since 2.42

-
-
-
-

soup_session_request_http_uri ()

-
SoupRequestHTTP *
-soup_session_request_http_uri (SoupSession *session,
-                               const char *method,
-                               SoupURI *uri,
-                               GError **error);
-

Creates a SoupRequest for retrieving uri -, which must be an -"http" or "https" URI (or another protocol listed in session -'s -“http-aliases” or “https-aliases”).

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - -

session

a SoupSession

 

method

an HTTP method

 

uri

a SoupURI representing the URI to retrieve

 

error

return location for a GError, or NULL

 
-
-
-

Returns

-

a new SoupRequestHTTP, or -NULL on error.

-

[transfer full]

-
-

Since 2.42

-
-
-
-

SoupSessionCallback ()

-
void
-(*SoupSessionCallback) (SoupSession *session,
-                        SoupMessage *msg,
-                        gpointer user_data);
-

Prototype for the callback passed to soup_session_queue_message(), -qv.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

session

the session

 

msg

the message that has finished

 

user_data

the data passed to soup_session_queue_message

 
-
-
-
-
-

soup_session_queue_message ()

-
void
-soup_session_queue_message (SoupSession *session,
-                            SoupMessage *msg,
-                            SoupSessionCallback callback,
-                            gpointer user_data);
-

Queues the message msg - for asynchronously sending the request and -receiving a response in the current thread-default GMainContext. -If msg - has been processed before, any resources related to the -time it was last sent are freed.

-

Upon message completion, the callback specified in callback - will -be invoked. If after returning from this callback the message has not -been requeued, msg - will be unreffed.

-

(The behavior above applies to a plain SoupSession; if you are -using SoupSessionAsync or SoupSessionSync, then the GMainContext -that is used depends on the settings of “async-context” -and “use-thread-context”, and for SoupSessionSync, the -message will actually be sent and processed in another thread, with -only the final callback occurring in the indicated GMainContext.)

-

Contrast this method with soup_session_send_async(), which also -asynchronously sends a message, but returns before reading the -response body, and allows you to read the response via a -GInputStream.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - -

session

a SoupSession

 

msg

the message to queue.

[transfer full]

callback

a SoupSessionCallback which will -be called after the message completes or when an unrecoverable error occurs.

[allow-none][scope async]

user_data

a pointer passed to callback -.

[allow-none]
-
-
-
-
-

soup_session_requeue_message ()

-
void
-soup_session_requeue_message (SoupSession *session,
-                              SoupMessage *msg);
-

This causes msg - to be placed back on the queue to be attempted -again.

-
-

Parameters

-
----- - - - - - - - - - - - - -

session

a SoupSession

 

msg

the message to requeue

 
-
-
-
-
-

soup_session_send_message ()

-
guint
-soup_session_send_message (SoupSession *session,
-                           SoupMessage *msg);
-

Synchronously send msg -. This call will not return until the -transfer is finished successfully or there is an unrecoverable -error.

-

Unlike with soup_session_queue_message(), msg - is not freed upon -return.

-

(Note that if you call this method on a SoupSessionAsync, it will -still use asynchronous I/O internally, running the glib main loop -to process the message, which may also cause other events to be -processed.)

-

Contrast this method with soup_session_send(), which also -synchronously sends a message, but returns before reading the -response body, and allows you to read the response via a -GInputStream.

-
-

Parameters

-
----- - - - - - - - - - - - - -

session

a SoupSession

 

msg

the message to send

 
-
-
-

Returns

-

the HTTP status code of the response

-

-
-
-
-
-

soup_session_cancel_message ()

-
void
-soup_session_cancel_message (SoupSession *session,
-                             SoupMessage *msg,
-                             guint status_code);
-

Causes session - to immediately finish processing msg - (regardless -of its current state) with a final status_code of status_code -. You -may call this at any time after handing msg - off to session -; if -session - has started sending the request but has not yet received -the complete response, then it will close the request's connection. -Note that with requests that have side effects (eg, -POST, PUT, -DELETE) it is possible that you might cancel the -request after the server acts on it, but before it returns a -response, leaving the remote resource in an unknown state.

-

If the message is cancelled while its response body is being read, -then the response body in msg - will be left partially-filled-in. -The response headers, on the other hand, will always be either -empty or complete.

-

Beware that with the deprecated SoupSessionAsync, messages queued -with soup_session_queue_message() will have their callbacks invoked -before soup_session_cancel_message() returns. The plain -SoupSession does not have this behavior; cancelling an -asynchronous message will merely queue its callback to be run after -returning to the main loop.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

session

a SoupSession

 

msg

the message to cancel

 

status_code

status code to set on msg -(generally -SOUP_STATUS_CANCELLED)

 
-
-
-
-
-

soup_session_send ()

-
GInputStream *
-soup_session_send (SoupSession *session,
-                   SoupMessage *msg,
-                   GCancellable *cancellable,
-                   GError **error);
-

Synchronously sends msg - and waits for the beginning of a response. -On success, a GInputStream will be returned which you can use to -read the response body. ("Success" here means only that an HTTP -response was received and understood; it does not necessarily mean -that a 2xx class status code was received.)

-

If non-NULL, cancellable - can be used to cancel the request; -soup_session_send() will return a G_IO_ERROR_CANCELLED error. Note -that with requests that have side effects (eg, -POST, PUT, -DELETE) it is possible that you might cancel the -request after the server acts on it, but before it returns a -response, leaving the remote resource in an unknown state.

-

If msg - is requeued due to a redirect or authentication, the -initial (3xx/401/407) response body will be suppressed, and -soup_session_send() will only return once a final response has been -received.

-

Contrast this method with soup_session_send_message(), which also -synchronously sends a SoupMessage, but doesn't return until the -response has been completely read.

-

(Note that this method cannot be called on the deprecated -SoupSessionAsync subclass.)

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - -

session

a SoupSession

 

msg

a SoupMessage

 

cancellable

a GCancellable

 

error

return location for a GError, or NULL

 
-
-
-

Returns

-

a GInputStream for reading the -response body, or NULL on error.

-

[transfer full]

-
-

Since 2.42

-
-
-
-

soup_session_send_async ()

-
void
-soup_session_send_async (SoupSession *session,
-                         SoupMessage *msg,
-                         GCancellable *cancellable,
-                         GAsyncReadyCallback callback,
-                         gpointer user_data);
-

Asynchronously sends msg - and waits for the beginning of a -response. When callback - is called, then either msg - has been sent, -and its response headers received, or else an error has occurred. -Call soup_session_send_finish() to get a GInputStream for reading -the response body.

-

See soup_session_send() for more details on the general semantics.

-

Contrast this method with soup_session_queue_message(), which also -asynchronously sends a SoupMessage, but doesn't invoke its -callback until the response has been completely read.

-

(Note that this method cannot be called on the deprecated -SoupSessionSync subclass, and can only be called on -SoupSessionAsync if you have set the -“use-thread-context” property.)

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - - - - - - -

session

a SoupSession

 

msg

a SoupMessage

 

cancellable

a GCancellable

 

callback

the callback to invoke

 

user_data

data for callback -

 
-
-

Since 2.42

-
-
-
-

soup_session_send_finish ()

-
GInputStream *
-soup_session_send_finish (SoupSession *session,
-                          GAsyncResult *result,
-                          GError **error);
-

Gets the response to a soup_session_send_async() call and (if -successful), returns a GInputStream that can be used to read the -response body.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

session

a SoupSession

 

result

the GAsyncResult passed to your callback

 

error

return location for a GError, or NULL

 
-
-
-

Returns

-

a GInputStream for reading the -response body, or NULL on error.

-

[transfer full]

-
-

Since 2.42

-
-
-
-

soup_session_prefetch_dns ()

-
void
-soup_session_prefetch_dns (SoupSession *session,
-                           const char *hostname,
-                           GCancellable *cancellable,
-                           SoupAddressCallback callback,
-                           gpointer user_data);
-

Tells session - that an URI from the given hostname - may be requested -shortly, and so the session can try to prepare by resolving the -domain name in advance, in order to work more quickly once the URI -is actually requested.

-

If cancellable - is non-NULL, it can be used to cancel the -resolution. callback - will still be invoked in this case, with a -status of SOUP_STATUS_CANCELLED.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - - - - - - -

session

a SoupSession

 

hostname

a hostname to be resolved

 

cancellable

a GCancellable object, or NULL.

[allow-none]

callback

callback to call with the -result, or NULL.

[scope async][allow-none]

user_data

data for callback -

 
-
-

Since 2.38

-
-
-
-

soup_session_prepare_for_uri ()

-
void
-soup_session_prepare_for_uri (SoupSession *session,
-                              SoupURI *uri);
-
-

soup_session_prepare_for_uri has been deprecated since version 2.38 and should not be used in newly-written code.

-

use soup_session_prefetch_dns() instead

-
-

Tells session - that uri - may be requested shortly, and so the -session can try to prepare (resolving the domain name, obtaining -proxy address, etc.) in order to work more quickly once the URI is -actually requested.

-
-

Parameters

-
----- - - - - - - - - - - - - -

session

a SoupSession

 

uri

a SoupURI which may be required

 
-
-

Since 2.30

-
-
-
-

soup_session_abort ()

-
void
-soup_session_abort (SoupSession *session);
-

Cancels all pending requests in session - and closes all idle -persistent connections.

-

The message cancellation has the same semantics as with -soup_session_cancel_message(); asynchronous requests on a -SoupSessionAsync will have their callback called before -soup_session_abort() returns. Requests on a plain SoupSession will -not.

-
-

Parameters

-
----- - - - - - -

session

the session

 
-
-
-
-
-

soup_session_would_redirect ()

-
gboolean
-soup_session_would_redirect (SoupSession *session,
-                             SoupMessage *msg);
-

Checks if msg - contains a response that would cause session - to -redirect it to a new URL (ignoring msg -'s SOUP_MESSAGE_NO_REDIRECT -flag, and the number of times it has already been redirected).

-
-

Parameters

-
----- - - - - - - - - - - - - -

session

a SoupSession

 

msg

a SoupMessage that has response headers

 
-
-
-

Returns

-

whether msg -would be redirected

-

-
-

Since 2.38

-
-
-
-

soup_session_redirect_message ()

-
gboolean
-soup_session_redirect_message (SoupSession *session,
-                               SoupMessage *msg);
-

Updates msg -'s URI according to its status code and "Location" -header, and requeues it on session -. Use this when you have set -SOUP_MESSAGE_NO_REDIRECT on a message, but have decided to allow a -particular redirection to occur, or if you want to allow a -redirection that SoupSession will not perform automatically (eg, -redirecting a non-safe method such as DELETE).

-

If msg -'s status code indicates that it should be retried as a GET -request, then msg - will be modified accordingly.

-

If msg - has already been redirected too many times, this will -cause it to fail with SOUP_STATUS_TOO_MANY_REDIRECTS.

-
-

Parameters

-
----- - - - - - - - - - - - - -

session

the session

 

msg

a SoupMessage that has received a 3xx response

 
-
-
-

Returns

-

TRUE if a redirection was applied, FALSE if not -(eg, because there was no Location header, or it could not be -parsed).

-

-
-

Since 2.38

-
-
-
-

soup_session_pause_message ()

-
void
-soup_session_pause_message (SoupSession *session,
-                            SoupMessage *msg);
-

Pauses HTTP I/O on msg -. Call soup_session_unpause_message() to -resume I/O.

-

This may only be called for asynchronous messages (those sent on a -SoupSessionAsync or using soup_session_queue_message()).

-
-

Parameters

-
----- - - - - - - - - - - - - -

session

a SoupSession

 

msg

a SoupMessage currently running on session -

 
-
-
-
-
-

soup_session_unpause_message ()

-
void
-soup_session_unpause_message (SoupSession *session,
-                              SoupMessage *msg);
-

Resumes HTTP I/O on msg -. Use this to resume after calling -soup_session_pause_message().

-

If msg - is being sent via blocking I/O, this will resume reading or -writing immediately. If msg - is using non-blocking I/O, then -reading or writing won't resume until you return to the main loop.

-

This may only be called for asynchronous messages (those sent on a -SoupSessionAsync or using soup_session_queue_message()).

-
-

Parameters

-
----- - - - - - - - - - - - - -

session

a SoupSession

 

msg

a SoupMessage currently running on session -

 
-
-
-
-
-

soup_session_get_async_context ()

-
GMainContext *
-soup_session_get_async_context (SoupSession *session);
-

Gets session -'s “async-context”. This does not add a ref -to the context, so you will need to ref it yourself if you want it -to outlive its session.

-

For a modern SoupSession, this will always just return the -thread-default GMainContext, and so is not especially useful.

-
-

Parameters

-
----- - - - - - -

session

a SoupSession

 
-
-
-

Returns

-

session -'s GMainContext, which may -be NULL.

-

[transfer none]

-
-
-
-
-

soup_session_add_feature ()

-
void
-soup_session_add_feature (SoupSession *session,
-                          SoupSessionFeature *feature);
-

Adds feature -'s functionality to session -. You can also add a -feature to the session at construct time by using the -SOUP_SESSION_ADD_FEATURE property.

-

Note that a SoupContentDecoder is added to the session by default -(unless you are using one of the deprecated session subclasses).

-
-

Parameters

-
----- - - - - - - - - - - - - -

session

a SoupSession

 

feature

an object that implements SoupSessionFeature

 
-
-

Since 2.24

-
-
-
-

soup_session_add_feature_by_type ()

-
void
-soup_session_add_feature_by_type (SoupSession *session,
-                                  GType feature_type);
-

If feature_type - is the type of a class that implements -SoupSessionFeature, this creates a new feature of that type and -adds it to session - as with soup_session_add_feature(). You can use -this when you don't need to customize the new feature in any way.

-

If feature_type - is not a SoupSessionFeature type, this gives each -existing feature on session - the chance to accept feature_type - as -a "subfeature". This can be used to add new SoupAuth or -SoupRequest types, for instance.

-

You can also add a feature to the session at construct time by -using the SOUP_SESSION_ADD_FEATURE_BY_TYPE property.

-

Note that a SoupContentDecoder is added to the session by default -(unless you are using one of the deprecated session subclasses).

-
-

Parameters

-
----- - - - - - - - - - - - - -

session

a SoupSession

 

feature_type

a GType

 
-
-

Since 2.24

-
-
-
-

soup_session_remove_feature ()

-
void
-soup_session_remove_feature (SoupSession *session,
-                             SoupSessionFeature *feature);
-

Removes feature -'s functionality from session -.

-
-

Parameters

-
----- - - - - - - - - - - - - -

session

a SoupSession

 

feature

a feature that has previously been added to session -

 
-
-

Since 2.24

-
-
-
-

soup_session_remove_feature_by_type ()

-
void
-soup_session_remove_feature_by_type (SoupSession *session,
-                                     GType feature_type);
-

Removes all features of type feature_type - (or any subclass of -feature_type -) from session -. You can also remove standard features -from the session at construct time by using the -SOUP_SESSION_REMOVE_FEATURE_BY_TYPE property.

-
-

Parameters

-
----- - - - - - - - - - - - - -

session

a SoupSession

 

feature_type

a GType

 
-
-

Since 2.24

-
-
-
-

soup_session_get_features ()

-
GSList *
-soup_session_get_features (SoupSession *session,
-                           GType feature_type);
-

Generates a list of session -'s features of type feature_type -. (If -you want to see all features, you can pass SOUP_TYPE_SESSION_FEATURE -for feature_type -.)

-
-

Parameters

-
----- - - - - - - - - - - - - -

session

a SoupSession

 

feature_type

the GType of the class of features to get

 
-
-
-

Returns

-

a list of features. You must free the list, but not its contents.

-

[transfer container][element-type Soup.SessionFeature]

-
-

Since 2.26

-
-
-
-

soup_session_get_feature ()

-
SoupSessionFeature *
-soup_session_get_feature (SoupSession *session,
-                          GType feature_type);
-

Gets the first feature in session - of type feature_type -. For -features where there may be more than one feature of a given type, -use soup_session_get_features().

-
-

Parameters

-
----- - - - - - - - - - - - - -

session

a SoupSession

 

feature_type

the GType of the feature to get

 
-
-
-

Returns

-

a SoupSessionFeature, or NULL. The -feature is owned by session -.

-

[transfer none]

-
-

Since 2.26

-
-
-
-

soup_session_get_feature_for_message ()

-
SoupSessionFeature *
-soup_session_get_feature_for_message (SoupSession *session,
-                                      GType feature_type,
-                                      SoupMessage *msg);
-

Gets the first feature in session - of type feature_type -, provided -that it is not disabled for msg -. As with -soup_session_get_feature(), this should only be used for features -where feature_type - is only expected to match a single feature. In -particular, if there are two matching features, and the first is -disabled on msg -, and the second is not, then this will return -NULL, not the second feature.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

session

a SoupSession

 

feature_type

the GType of the feature to get

 

msg

a SoupMessage

 
-
-
-

Returns

-

a SoupSessionFeature, or NULL. The -feature is owned by session -.

-

[transfer none]

-
-

Since 2.28

-
-
-
-

soup_session_has_feature ()

-
gboolean
-soup_session_has_feature (SoupSession *session,
-                          GType feature_type);
-

Tests if session - has at a feature of type feature_type - (which can -be the type of either a SoupSessionFeature, or else a subtype of -some class managed by another feature, such as SoupAuth or -SoupRequest).

-
-

Parameters

-
----- - - - - - - - - - - - - -

session

a SoupSession

 

feature_type

the GType of the class of features to check for

 
-
-
-

Returns

-

TRUE or FALSE

-

-
-

Since 2.42

-
-
-
-

Types and Values

-
-

SoupSession

-
typedef struct _SoupSession SoupSession;
-

-

-
-
-
-

enum SoupRequestError

-

A SoupRequest error.

-
-

Members

-
----- - - - - - - - - - - - - - - - - - - - - - - -

SOUP_REQUEST_ERROR_BAD_URI

-

the URI could not be parsed

-
 

SOUP_REQUEST_ERROR_UNSUPPORTED_URI_SCHEME

-

the URI scheme is not - supported by this SoupSession

-
 

SOUP_REQUEST_ERROR_PARSING

-

the server's response could not - be parsed

-
 

SOUP_REQUEST_ERROR_ENCODING

-

the server's response was in an - unsupported format

-
 
-
-

Since 2.42

-
-
-
-

SOUP_REQUEST_ERROR

-
#define SOUP_REQUEST_ERROR soup_request_error_quark ()
-
-

A GError domain for SoupRequest-related errors. Used with -SoupRequestError.

-

Since 2.42

-
-
-
-

SOUP_SESSION_PROXY_URI

-
#define SOUP_SESSION_PROXY_URI              "proxy-uri"
-
-

Alias for the “proxy-uri” property, qv.

-
-
-
-

SOUP_SESSION_PROXY_RESOLVER

-
#define SOUP_SESSION_PROXY_RESOLVER         "proxy-resolver"
-
-

Alias for the “proxy-resolver” property, qv.

-
-
-
-

SOUP_SESSION_MAX_CONNS

-
#define SOUP_SESSION_MAX_CONNS              "max-conns"
-
-

Alias for the “max-conns” property, qv.

-
-
-
-

SOUP_SESSION_MAX_CONNS_PER_HOST

-
#define SOUP_SESSION_MAX_CONNS_PER_HOST     "max-conns-per-host"
-
-

Alias for the “max-conns-per-host” property, qv.

-
-
-
-

SOUP_SESSION_TLS_DATABASE

-
#define SOUP_SESSION_TLS_DATABASE           "tls-database"
-
-

Alias for the “tls-database” property, qv.

-

Since 2.38

-
-
-
-

SOUP_SESSION_SSL_USE_SYSTEM_CA_FILE

-
#define SOUP_SESSION_SSL_USE_SYSTEM_CA_FILE "ssl-use-system-ca-file"
-
-

Alias for the “ssl-use-system-ca-file” property, -qv.

-

Since 2.38

-
-
-
-

SOUP_SESSION_SSL_CA_FILE

-
#define SOUP_SESSION_SSL_CA_FILE            "ssl-ca-file"
-
-

Alias for the “ssl-ca-file” property, qv.

-
-
-
-

SOUP_SESSION_SSL_STRICT

-
#define SOUP_SESSION_SSL_STRICT             "ssl-strict"
-
-

Alias for the “ssl-strict” property, qv.

-

Since 2.30

-
-
-
-

SOUP_SESSION_ASYNC_CONTEXT

-
#define SOUP_SESSION_ASYNC_CONTEXT          "async-context"
-
-

Alias for the “async-context” property, qv.

-
-
-
-

SOUP_SESSION_USE_THREAD_CONTEXT

-
#define SOUP_SESSION_USE_THREAD_CONTEXT     "use-thread-context"
-
-

Alias for the “use-thread-context” property, qv.

-

Since 2.38

-
-
-
-

SOUP_SESSION_TIMEOUT

-
#define SOUP_SESSION_TIMEOUT                "timeout"
-
-

Alias for the “timeout” property, qv.

-
-
-
-

SOUP_SESSION_IDLE_TIMEOUT

-
#define SOUP_SESSION_IDLE_TIMEOUT           "idle-timeout"
-
-

Alias for the “idle-timeout” property, qv.

-

Since 2.24

-
-
-
-

SOUP_SESSION_USER_AGENT

-
#define SOUP_SESSION_USER_AGENT             "user-agent"
-
-

Alias for the “user-agent” property, qv.

-
-
-
-

SOUP_SESSION_ADD_FEATURE

-
#define SOUP_SESSION_ADD_FEATURE            "add-feature"
-
-

Alias for the “add-feature” property, qv.

-

Since 2.24

-
-
-
-

SOUP_SESSION_ADD_FEATURE_BY_TYPE

-
#define SOUP_SESSION_ADD_FEATURE_BY_TYPE    "add-feature-by-type"
-
-

Alias for the “add-feature-by-type” property, qv.

-

Since 2.24

-
-
-
-

SOUP_SESSION_REMOVE_FEATURE_BY_TYPE

-
#define SOUP_SESSION_REMOVE_FEATURE_BY_TYPE "remove-feature-by-type"
-
-

Alias for the “remove-feature-by-type” property, -qv.

-

Since 2.24

-
-
-
-

SOUP_SESSION_ACCEPT_LANGUAGE

-
#define SOUP_SESSION_ACCEPT_LANGUAGE        "accept-language"
-
-

Alias for the “accept-language” property, qv.

-

Since 2.30

-
-
-
-

SOUP_SESSION_ACCEPT_LANGUAGE_AUTO

-
#define SOUP_SESSION_ACCEPT_LANGUAGE_AUTO   "accept-language-auto"
-
-

Alias for the “accept-language-auto” property, qv.

-

Since 2.30

-
-
-
-

SOUP_SESSION_HTTP_ALIASES

-
#define SOUP_SESSION_HTTP_ALIASES       "http-aliases"
-
-

Alias for the “http-aliases” property, qv.

-

Since 2.38

-
-
-
-

SOUP_SESSION_HTTPS_ALIASES

-
#define SOUP_SESSION_HTTPS_ALIASES      "https-aliases"
-
-

Alias for the “https-aliases” property, qv.

-

Since 2.38

-
-
-
-

SOUP_SESSION_LOCAL_ADDRESS

-
#define SOUP_SESSION_LOCAL_ADDRESS          "local-address"
-
-

Alias for the “local-address” property, qv.

-

Since 2.42

-
-
-
-

Property Details

-
-

The “accept-language” property

-
  “accept-language”          gchar *
-

If non-NULL, the value to use for the "Accept-Language" header -on SoupMessages sent from this session.

-

Setting this will disable -“accept-language-auto”.

-

Flags: Read / Write

-

Default value: NULL

-

Since 2.30

-
-
-
-

The “accept-language-auto” property

-
  “accept-language-auto”     gboolean
-

If TRUE, SoupSession will automatically set the string -for the "Accept-Language" header on every SoupMessage -sent, based on the return value of g_get_language_names().

-

Setting this will override any previous value of -“accept-language”.

-

Flags: Read / Write

-

Default value: FALSE

-

Since 2.30

-
-
-
-

The “add-feature” property

-
  “add-feature”              SoupSessionFeature *
-

Add a feature object to the session. (Shortcut for calling -soup_session_add_feature().)

-

Flags: Read / Write

-

Since 2.24

-
-
-
-

The “add-feature-by-type” property

-
  “add-feature-by-type”      GType *
-

Add a feature object of the given type to the session. -(Shortcut for calling soup_session_add_feature_by_type().)

-

Flags: Read / Write

-

Allowed values: GObject

-

Since 2.24

-
-
-
-

The “async-context” property

-
  “async-context”            gpointer
-

The GMainContext that miscellaneous session-related -asynchronous callbacks are invoked on. (Eg, setting -“idle-timeout” will add a timeout source on this -context.)

-

For a plain SoupSession, this property is always set to -the GMainContext that is the thread-default at the time -the session was created, and cannot be overridden. For the -deprecated SoupSession subclasses, the default value is -NULL, meaning to use the global default GMainContext.

-

If “use-thread-context” is FALSE, this context -will also be used for asynchronous HTTP I/O.

-

Flags: Read / Write / Construct Only

-
-
-
-

The “http-aliases” property

-
  “http-aliases”             GStrv
-

A NULL-terminated array of URI schemes that should be -considered to be aliases for "http". Eg, if this included -"dav", than a URI of -dav://example.com/path would be treated -identically to http://example.com/path.

-

In a plain SoupSession, the default value is NULL, -meaning that only "http" is recognized as meaning "http". -In SoupSessionAsync and SoupSessionSync, for backward -compatibility, the default value is an array containing the -single element "*", a special value -which means that any scheme except "https" is considered to -be an alias for "http".

-

See also “https-aliases”.

-

Flags: Read / Write

-

Since 2.38

-
-
-
-

The “https-aliases” property

-
  “https-aliases”            GStrv
-

A comma-delimited list of URI schemes that should be -considered to be aliases for "https". See -“http-aliases” for more information.

-

The default value is NULL, meaning that no URI schemes -are considered aliases for "https".

-

Flags: Read / Write

-

Since 2.38

-
-
-
-

The “idle-timeout” property

-
  “idle-timeout”             guint
-

Connection lifetime (in seconds) when idle. Any connection -left idle longer than this will be closed.

-

Although you can change this property at any time, it will -only affect newly-created connections, not currently-open -ones. You can call soup_session_abort() after setting this -if you want to ensure that all future connections will have -this timeout value.

-

Note that the default value of 60 seconds only applies to -plain SoupSessions. If you are using SoupSessionAsync or -SoupSessionSync, the default value is 0 (meaning idle -connections will never time out).

-

Flags: Read / Write

-

Default value: 60

-

Since 2.24

-
-
-
-

The “local-address” property

-
  “local-address”            SoupAddress *
-

Sets the SoupAddress to use for the client side of -the connection.

-

Use this property if you want for instance to bind the -local socket to a specific IP address.

-

Flags: Read / Write / Construct Only

-

Since 2.42

-
-
-
-

The “max-conns” property

-
  “max-conns”                gint
-

The maximum number of connections that the session can open at once.

-

Flags: Read / Write

-

Allowed values: >= 1

-

Default value: 10

-
-
-
-

The “max-conns-per-host” property

-
  “max-conns-per-host”       gint
-

The maximum number of connections that the session can open at once to a given host.

-

Flags: Read / Write

-

Allowed values: >= 1

-

Default value: 2

-
-
-
-

The “proxy-resolver” property

-
  “proxy-resolver”           GProxyResolver *
-

A GProxyResolver to use with this session. Setting this -will clear the “proxy-uri” property, and remove -any SoupProxyURIResolver features that have -been added to the session.

-

By default, in a plain SoupSession, this is set to the -default GProxyResolver, but you can set it to NULL if you -don't want to use proxies, or set it to your own -GProxyResolver if you want to control what proxies get -used.

-

Flags: Read / Write

-

Since 2.42

-
-
-
-

The “proxy-uri” property

-
  “proxy-uri”                SoupURI *
-

A proxy to use for all http and https requests in this -session. Setting this will clear the -“proxy-resolver” property, and remove any

-SoupProxyURIResolver features that have been -

added to the session. Setting this property will also -cancel all currently pending messages.

-

Note that SoupSession will normally handle looking up the -user's proxy settings for you; you should only use -“proxy-uri” if you need to override the user's -normal proxy settings.

-

Also note that this proxy will be used for -all requests; even requests to -localhost. If you need more control over -proxies, you can create a GSimpleProxyResolver and set the -“proxy-resolver” property.

-

Flags: Read / Write

-
-
-
-

The “remove-feature-by-type” property

-
  “remove-feature-by-type”   GType *
-

Remove feature objects from the session. (Shortcut for -calling soup_session_remove_feature_by_type().)

-

Flags: Read / Write

-

Allowed values: GObject

-

Since 2.24

-
-
-
-

The “ssl-ca-file” property

-
  “ssl-ca-file”              gchar *
-

File containing SSL CA certificates.

-

If the specified file does not exist or cannot be read, -then libsoup will print a warning, and then behave as -though it had read in a empty CA file, meaning that all SSL -certificates will be considered invalid.

-
-

SoupSession:ssl-ca-file is deprecated and should not be used in newly-written code.

-

use “ssl-use-system-ca-file”, or -else “tls-database” with a GTlsFileDatabase -(which allows you to do explicit error handling).

-
-

Flags: Read / Write

-

Default value: NULL

-
-
-
-

The “ssl-strict” property

-
  “ssl-strict”               gboolean
-

Normally, if “tls-database” is set (including if -it was set via “ssl-use-system-ca-file” or -“ssl-ca-file”), then libsoup will reject any -certificate that is invalid (ie, expired) or that is not -signed by one of the given CA certificates, and the -SoupMessage will fail with the status -SOUP_STATUS_SSL_FAILED.

-

If you set “ssl-strict” to FALSE, then all -certificates will be accepted, and you will need to call -soup_message_get_https_status() to distinguish valid from -invalid certificates. (This can be used, eg, if you want to -accept invalid certificates after giving some sort of -warning.)

-

For a plain SoupSession, if the session has no CA file or -TLS database, and this property is TRUE, then all -certificates will be rejected. However, beware that the -deprecated SoupSession subclasses (SoupSessionAsync and -SoupSessionSync) have the opposite behavior: if there is -no CA file or TLS database, then all certificates are always -accepted, and this property has no effect.

-

Flags: Read / Write

-

Default value: TRUE

-

Since 2.30

-
-
-
-

The “ssl-use-system-ca-file” property

-
  “ssl-use-system-ca-file”   gboolean
-

Setting this to TRUE is equivalent to setting -“tls-database” to the default system CA database. -(and likewise, setting “tls-database” to the -default database by hand will cause this property to -become TRUE).

-

Setting this to FALSE (when it was previously TRUE) will -clear the “tls-database” field.

-

See “ssl-strict” for more information on how -https certificate validation is handled.

-

Note that the default value of TRUE only applies to plain -SoupSessions. If you are using SoupSessionAsync or -SoupSessionSync, the default value is FALSE, for backward -compatibility.

-

Flags: Read / Write

-

Default value: TRUE

-

Since 2.38

-
-
-
-

The “timeout” property

-
  “timeout”                  guint
-

The timeout (in seconds) for socket I/O operations -(including connecting to a server, and waiting for a reply -to an HTTP request).

-

Although you can change this property at any time, it will -only affect newly-created connections, not currently-open -ones. You can call soup_session_abort() after setting this -if you want to ensure that all future connections will have -this timeout value.

-

Note that the default value of 60 seconds only applies to -plain SoupSessions. If you are using SoupSessionAsync or -SoupSessionSync, the default value is 0 (meaning socket I/O -will not time out).

-

Not to be confused with “idle-timeout” (which is -the length of time that idle persistent connections will be -kept open).

-

Flags: Read / Write

-

Default value: 0

-
-
-
-

The “tls-database” property

-
  “tls-database”             GTlsDatabase *
-

Sets the GTlsDatabase to use for validating SSL/TLS -certificates.

-

Note that setting the “ssl-ca-file” or -“ssl-use-system-ca-file” property will cause -this property to be set to a GTlsDatabase corresponding to -the indicated file or system default.

-

See “ssl-strict” for more information on how -https certificate validation is handled.

-

If you are using a plain SoupSession then -“ssl-use-system-ca-file” will be TRUE by -default, and so this property will be a copy of the system -CA database. If you are using SoupSessionAsync or -SoupSessionSync, this property will be NULL by default.

-

Flags: Read / Write

-

Since 2.38

-
-
-
-

The “use-ntlm” property

-
  “use-ntlm”                 gboolean
-

Whether or not to use NTLM authentication.

-
-

SoupSession:use-ntlm is deprecated and should not be used in newly-written code.

-

use soup_session_add_feature_by_type() with -SOUP_TYPE_AUTH_NTLM.

-
-

Flags: Read / Write

-

Default value: FALSE

-
-
-
-

The “use-thread-context” property

-
  “use-thread-context”       gboolean
-

If TRUE (which it always is on a plain SoupSession), -asynchronous HTTP requests in this session will run in -whatever the thread-default GMainContext is at the time -they are started, rather than always occurring in -“async-context”.

-

Flags: Read / Write

-

Default value: FALSE

-

Since 2.38

-
-
-
-

The “user-agent” property

-
  “user-agent”               gchar *
-

If non-NULL, the value to use for the "User-Agent" header -on SoupMessages sent from this session.

-

RFC 2616 says: "The User-Agent request-header field -contains information about the user agent originating the -request. This is for statistical purposes, the tracing of -protocol violations, and automated recognition of user -agents for the sake of tailoring responses to avoid -particular user agent limitations. User agents SHOULD -include this field with requests."

-

The User-Agent header contains a list of one or more -product tokens, separated by whitespace, with the most -significant product token coming first. The tokens must be -brief, ASCII, and mostly alphanumeric (although "-", "_", -and "." are also allowed), and may optionally include a "/" -followed by a version string. You may also put comments, -enclosed in parentheses, between or after the tokens.

-

If you set a “user_agent” property that has trailing -whitespace, SoupSession will append its own product token -(eg, "libsoup/2.3.2") to the end of the -header for you.

-

Flags: Read / Write

-

Default value: NULL

-
-
-
-

Signal Details

-
-

The “authenticate” signal

-
void
-user_function (SoupSession *session,
-               SoupMessage *msg,
-               SoupAuth    *auth,
-               gboolean     retrying,
-               gpointer     user_data)
-

Emitted when the session requires authentication. If -credentials are available call soup_auth_authenticate() on -auth -. If these credentials fail, the signal will be -emitted again, with retrying - set to TRUE, which will -continue until you return without calling -soup_auth_authenticate() on auth -.

-

Note that this may be emitted before msg -'s body has been -fully read.

-

If you call soup_session_pause_message() on msg - before -returning, then you can authenticate auth - asynchronously -(as long as you g_object_ref() it to make sure it doesn't -get destroyed), and then unpause msg - when you are ready -for it to continue.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - - - - - - -

session

the session

 

msg

the SoupMessage being sent

 

auth

the SoupAuth to authenticate

 

retrying

TRUE if this is the second (or later) attempt

 

user_data

user data set when the signal handler was connected.

 
-
-

Flags: Run First

-
-
-
-

The “connection-created” signal

-
void
-user_function (SoupSession *session,
-               GObject     *connection,
-               gpointer     user_data)
-

Emitted when a new connection is created. This is an -internal signal intended only to be used for debugging -purposes, and may go away in the future.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

session

the SoupSession

 

connection

the connection

 

user_data

user data set when the signal handler was connected.

 
-
-

Flags: Run First

-

Since 2.30

-
-
-
-

The “request-queued” signal

-
void
-user_function (SoupSession *session,
-               SoupMessage *msg,
-               gpointer     user_data)
-

Emitted when a request is queued on session -. (Note that -"queued" doesn't just mean soup_session_queue_message(); -soup_session_send_message() implicitly queues the message -as well.)

-

When sending a request, first “request_queued” -is emitted, indicating that the session has become aware of -the request.

-

Once a connection is available to send the request on, the -session emits “request_started”. Then, various -SoupMessage signals are emitted as the message is -processed. If the message is requeued, it will emit -“restarted”, which will then be followed by -another “request_started” and another set of -SoupMessage signals when the message is re-sent.

-

Eventually, the message will emit “finished”. -Normally, this signals the completion of message -processing. However, it is possible that the application -will requeue the message from the "finished" handler (or -equivalently, from the soup_session_queue_message() -callback). In that case, the process will loop back to -“request_started”.

-

Eventually, a message will reach "finished" and not be -requeued. At that point, the session will emit -“request_unqueued” to indicate that it is done -with the message.

-

To sum up: “request_queued” and -“request_unqueued” are guaranteed to be emitted -exactly once, but “request_started” and -“finished” (and all of the other SoupMessage -signals) may be invoked multiple times for a given message.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

session

the session

 

msg

the request that was queued

 

user_data

user data set when the signal handler was connected.

 
-
-

Flags: Run First

-

Since 2.24

-
-
-
-

The “request-started” signal

-
void
-user_function (SoupSession *session,
-               SoupMessage *msg,
-               SoupSocket  *socket,
-               gpointer     user_data)
-

Emitted just before a request is sent. See -“request_queued” for a detailed description of -the message lifecycle within a session.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - -

session

the session

 

msg

the request being sent

 

socket

the socket the request is being sent on

 

user_data

user data set when the signal handler was connected.

 
-
-

Flags: Run First

-
-
-
-

The “request-unqueued” signal

-
void
-user_function (SoupSession *session,
-               SoupMessage *msg,
-               gpointer     user_data)
-

Emitted when a request is removed from session -'s queue, -indicating that session - is done with it. See -“request_queued” for a detailed description of the -message lifecycle within a session.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

session

the session

 

msg

the request that was unqueued

 

user_data

user data set when the signal handler was connected.

 
-
-

Flags: Run First

-

Since 2.24

-
-
-
-

The “tunneling” signal

-
void
-user_function (SoupSession *session,
-               GObject     *connection,
-               gpointer     user_data)
-

Emitted when an SSL tunnel is being created on a proxy -connection. This is an internal signal intended only to be -used for debugging purposes, and may go away in the future.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

session

the SoupSession

 

connection

the connection

 

user_data

user data set when the signal handler was connected.

 
-
-

Flags: Run First

-

Since 2.30

-
-
-
- - - \ No newline at end of file diff --git a/docs/reference/html/SoupSessionAsync.html b/docs/reference/html/SoupSessionAsync.html deleted file mode 100644 index 9989702..0000000 --- a/docs/reference/html/SoupSessionAsync.html +++ /dev/null @@ -1,171 +0,0 @@ - - - - -libsoup Reference Manual: SoupSessionAsync - - - - - - - - - - - - - - - - -
-
-
- - -
-

SoupSessionAsync

-

SoupSessionAsync — (Deprecated) SoupSession for asynchronous - (main-loop-based) I/O.

-
-
-

Functions

-
---- - - - - - - - - - - -
-SoupSession * - -soup_session_async_new () -
-SoupSession * - -soup_session_async_new_with_options () -
-
-
-

Types and Values

-
---- - - - - -
 SoupSessionAsync
-
-
-

Object Hierarchy

-
    GObject
-    ╰── SoupSession
-        ╰── SoupSessionAsync
-
-
-
-

Includes

-
#include <libsoup/soup.h>
-
-
-
-

Description

-

SoupSessionAsync is an implementation of SoupSession that uses -non-blocking I/O via the glib main loop for all I/O.

-

As of libsoup 2.42, this is deprecated in favor of the plain -SoupSession class (which uses both asynchronous and synchronous -I/O, depending on the API used). See the porting guide.

-
-
-

Functions

-
-

soup_session_async_new ()

-
SoupSession *
-soup_session_async_new (void);
-
-

soup_session_async_new is deprecated and should not be used in newly-written code.

-

SoupSessionAsync is deprecated; use a plain -SoupSession, created with soup_session_new(). See the porting guide.

-
-

Creates an asynchronous SoupSession with the default options.

-
-

Returns

-

the new session.

-

-
-
-
-
-

soup_session_async_new_with_options ()

-
SoupSession *
-soup_session_async_new_with_options (const char *optname1,
-                                     ...);
-
-

soup_session_async_new_with_options is deprecated and should not be used in newly-written code.

-

SoupSessionAsync is deprecated; use a plain -SoupSession, created with soup_session_new_with_options(). See the

-porting guide. -
-

Creates an asynchronous SoupSession with the specified options.

-
-

Parameters

-
----- - - - - - - - - - - - - -

optname1

name of first property to set

 

...

value of optname1 -, followed by additional property/value pairs

 
-
-
-

Returns

-

the new session.

-

-
-
-
-
-

Types and Values

-
-

SoupSessionAsync

-
typedef struct _SoupSessionAsync SoupSessionAsync;
-

-

-
-
-
- - - \ No newline at end of file diff --git a/docs/reference/html/SoupSessionFeature.html b/docs/reference/html/SoupSessionFeature.html deleted file mode 100644 index 6915451..0000000 --- a/docs/reference/html/SoupSessionFeature.html +++ /dev/null @@ -1,197 +0,0 @@ - - - - -libsoup Reference Manual: SoupSessionFeature - - - - - - - - - - - - - - - - -
-
-
- - -
-

SoupSessionFeature

-

SoupSessionFeature — Interface for miscellaneous session features

-
-
-

Types and Values

-
---- - - - - - - - - - - -
 SoupSessionFeature
 SoupSessionFeatureInterface
-
-
-

Object Hierarchy

-
    GInterface
-    ╰── SoupSessionFeature
-
-
-
-

Prerequisites

-

-SoupSessionFeature requires - GObject.

-
- -
-

Includes

-
#include <libsoup/soup.h>
-
-
-
-

Description

-

SoupSessionFeature is the interface used by classes that extend -the functionality of a SoupSession. Some features like HTTP -authentication handling are implemented internally via -SoupSessionFeatures. Other features can be added to the session -by the application. (Eg, SoupLogger, SoupCookieJar.)

-

See soup_session_add_feature(), etc, to add a feature to a session.

-
-
-

Functions

-
-
-

Types and Values

-
-

SoupSessionFeature

-
typedef struct _SoupSessionFeature SoupSessionFeature;
-

An object that implement some sort of optional feature for -SoupSession.

-

Since 2.24

-
-
-
-

SoupSessionFeatureInterface

-
typedef struct {
-	GTypeInterface parent;
-
-	/* methods */
-	void     (*attach)           (SoupSessionFeature *feature,
-				      SoupSession        *session);
-	void     (*detach)           (SoupSessionFeature *feature,
-				      SoupSession        *session);
-
-	void     (*request_queued)   (SoupSessionFeature *feature,
-				      SoupSession        *session,
-				      SoupMessage        *msg);
-	void     (*request_started)  (SoupSessionFeature *feature,
-				      SoupSession        *session,
-				      SoupMessage        *msg,
-				      SoupSocket         *socket);
-	void     (*request_unqueued) (SoupSessionFeature *feature,
-				      SoupSession        *session,
-				      SoupMessage        *msg);
-
-	gboolean (*add_feature)      (SoupSessionFeature *feature,
-				      GType               type);
-	gboolean (*remove_feature)   (SoupSessionFeature *feature,
-				      GType               type);
-	gboolean (*has_feature)      (SoupSessionFeature *feature,
-				      GType               type);
-} SoupSessionFeatureInterface;
-
-

The interface implemented by SoupSessionFeatures.

-
-

Members

-
----- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

GTypeInterface parent;

The parent interface.

 

attach ()

Perform setup when a feature is added to a session

 

detach ()

Perform cleanup when a feature is removed from a session

 

request_queued ()

Proxies the session's “request_queued” signal

 

request_started ()

Proxies the session's “request_started” signal

 

request_unqueued ()

Proxies the session's “request_unqueued” signal

 

add_feature ()

adds a sub-feature to the main feature

 

remove_feature ()

removes a sub-feature from the main feature

 

has_feature ()

tests if the feature includes a sub-feature

 
-
-

Since 2.24

-
-
-
- - - \ No newline at end of file diff --git a/docs/reference/html/SoupSessionSync.html b/docs/reference/html/SoupSessionSync.html deleted file mode 100644 index aa035bb..0000000 --- a/docs/reference/html/SoupSessionSync.html +++ /dev/null @@ -1,171 +0,0 @@ - - - - -libsoup Reference Manual: SoupSessionSync - - - - - - - - - - - - - - - - -
-
-
- - -
-

SoupSessionSync

-

SoupSessionSync — (Deprecated) SoupSession for blocking I/O in - multithreaded programs.

-
-
-

Functions

-
---- - - - - - - - - - - -
-SoupSession * - -soup_session_sync_new () -
-SoupSession * - -soup_session_sync_new_with_options () -
-
-
-

Types and Values

-
---- - - - - -
 SoupSessionSync
-
-
-

Object Hierarchy

-
    GObject
-    ╰── SoupSession
-        ╰── SoupSessionSync
-
-
-
-

Includes

-
#include <libsoup/soup.h>
-
-
-
-

Description

-

SoupSessionSync is an implementation of SoupSession that uses -synchronous I/O, intended for use in multi-threaded programs.

-

As of libsoup 2.42, this is deprecated in favor of the plain -SoupSession class (which uses both asynchronous and synchronous -I/O, depending on the API used). See the porting guide.

-
-
-

Functions

-
-

soup_session_sync_new ()

-
SoupSession *
-soup_session_sync_new (void);
-
-

soup_session_sync_new is deprecated and should not be used in newly-written code.

-

SoupSessionSync is deprecated; use a plain -SoupSession, created with soup_session_new(). See the porting guide.

-
-

Creates an synchronous SoupSession with the default options.

-
-

Returns

-

the new session.

-

-
-
-
-
-

soup_session_sync_new_with_options ()

-
SoupSession *
-soup_session_sync_new_with_options (const char *optname1,
-                                    ...);
-
-

soup_session_sync_new_with_options is deprecated and should not be used in newly-written code.

-

SoupSessionSync is deprecated; use a plain -SoupSession, created with soup_session_new_with_options(). See the

-porting guide. -
-

Creates an synchronous SoupSession with the specified options.

-
-

Parameters

-
----- - - - - - - - - - - - - -

optname1

name of first property to set

 

...

value of optname1 -, followed by additional property/value pairs

 
-
-
-

Returns

-

the new session.

-

-
-
-
-
-

Types and Values

-
-

SoupSessionSync

-
typedef struct _SoupSessionSync SoupSessionSync;
-

-

-
-
-
- - - \ No newline at end of file diff --git a/docs/reference/html/SoupSocket.html b/docs/reference/html/SoupSocket.html deleted file mode 100644 index 6037e3c..0000000 --- a/docs/reference/html/SoupSocket.html +++ /dev/null @@ -1,1585 +0,0 @@ - - - - -libsoup Reference Manual: SoupSocket - - - - - - - - - - - - - - - - -
-
-
- - -
-

SoupSocket

-

SoupSocket — A network socket

-
-
-

Functions

-
---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-SoupSocket * - -soup_socket_new () -
-void - -(*SoupSocketCallback) () -
-void - -soup_socket_connect_async () -
-guint - -soup_socket_connect_sync () -
-gboolean - -soup_socket_listen () -
-gboolean - -soup_socket_start_ssl () -
-gboolean - -soup_socket_start_proxy_ssl () -
-gboolean - -soup_socket_is_ssl () -
-void - -soup_socket_disconnect () -
-gboolean - -soup_socket_is_connected () -
-SoupAddress * - -soup_socket_get_local_address () -
-SoupAddress * - -soup_socket_get_remote_address () -
-int - -soup_socket_get_fd () -
-SoupSocketIOStatus - -soup_socket_read () -
-SoupSocketIOStatus - -soup_socket_read_until () -
-SoupSocketIOStatus - -soup_socket_write () -
-
-
-

Properties

-
----- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
gpointerasync-contextRead / Write / Construct Only
gbooleanclean-disposeWrite / Construct Only
gbooleanis-serverRead
-SoupAddress *local-addressRead / Write / Construct Only
gbooleannon-blockingRead / Write
-GProxyResolver *proxy-resolverRead / Write / Construct Only
-SoupAddress *remote-addressRead / Write / Construct Only
gpointerssl-credsRead / Write
gbooleanssl-fallbackRead / Write / Construct Only
gbooleanssl-strictRead / Write / Construct Only
guinttimeoutRead / Write
-GTlsCertificate *tls-certificateRead
GTlsCertificateFlagstls-errorsRead
gbooleantrusted-certificateRead
gbooleanuse-thread-contextRead / Write / Construct Only
-
-
-

Signals

-
----- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
voiddisconnectedRun Last
voideventRun Last
voidnew-connectionRun First
voidreadableRun Last
voidwritableRun Last
-
-
-

Types and Values

- -
-
-

Object Hierarchy

-
    GObject
-    ╰── SoupSocket
-
-
-
-

Includes

-
#include <libsoup/soup.h>
-
-
-
-

Description

-

SoupSocket is libsoup's TCP socket type. While it is primarily -intended for internal use, SoupSockets are exposed in the -API in various places, and some of their methods (eg, -soup_socket_get_remote_address()) may be useful to applications.

-
-
-

Functions

-
-

soup_socket_new ()

-
SoupSocket *
-soup_socket_new (const char *optname1,
-                 ...);
-

Creates a new (disconnected) socket

-
-

Parameters

-
----- - - - - - - - - - - - - -

optname1

name of first property to set (or NULL)

 

...

value of optname1 -, followed by additional property/value pairs

 
-
-
-

Returns

-

the new socket

-

-
-
-
-
-

SoupSocketCallback ()

-
void
-(*SoupSocketCallback) (SoupSocket *sock,
-                       guint status,
-                       gpointer user_data);
-

The callback function passed to soup_socket_connect_async().

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

sock

the SoupSocket

 

status

an HTTP status code indicating success or failure

 

user_data

the data passed to soup_socket_connect_async()

 
-
-
-
-
-

soup_socket_connect_async ()

-
void
-soup_socket_connect_async (SoupSocket *sock,
-                           GCancellable *cancellable,
-                           SoupSocketCallback callback,
-                           gpointer user_data);
-

Begins asynchronously connecting to sock -'s remote address. The -socket will call callback - when it succeeds or fails (but not -before returning from this function).

-

If cancellable - is non-NULL, it can be used to cancel the -connection. callback - will still be invoked in this case, with a -status of SOUP_STATUS_CANCELLED.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - -

sock

a client SoupSocket (which must not already be connected)

 

cancellable

a GCancellable, or NULL

 

callback

callback to call after connecting.

[scope async]

user_data

data to pass to callback -

 
-
-
-
-
-

soup_socket_connect_sync ()

-
guint
-soup_socket_connect_sync (SoupSocket *sock,
-                          GCancellable *cancellable);
-

Attempt to synchronously connect sock - to its remote address.

-

If cancellable - is non-NULL, it can be used to cancel the -connection, in which case soup_socket_connect_sync() will return -SOUP_STATUS_CANCELLED.

-
-

Parameters

-
----- - - - - - - - - - - - - -

sock

a client SoupSocket (which must not already be connected)

 

cancellable

a GCancellable, or NULL

 
-
-
-

Returns

-

a success or failure code.

-

-
-
-
-
-

soup_socket_listen ()

-
gboolean
-soup_socket_listen (SoupSocket *sock);
-

Makes sock - start listening on its local address. When connections -come in, sock - will emit “new_connection”.

-
-

Parameters

-
----- - - - - - -

sock

a server SoupSocket (which must not already be connected or -listening)

 
-
-
-

Returns

-

whether or not sock -is now listening.

-

-
-
-
-
-

soup_socket_start_ssl ()

-
gboolean
-soup_socket_start_ssl (SoupSocket *sock,
-                       GCancellable *cancellable);
-

Starts using SSL on socket -.

-
-

Parameters

-
----- - - - - - - - - - - - - -

sock

the socket

 

cancellable

a GCancellable

 
-
-
-

Returns

-

success or failure

-

-
-
-
-
-

soup_socket_start_proxy_ssl ()

-
gboolean
-soup_socket_start_proxy_ssl (SoupSocket *sock,
-                             const char *ssl_host,
-                             GCancellable *cancellable);
-

Starts using SSL on socket -, expecting to find a host named -ssl_host -.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

sock

the socket

 

ssl_host

hostname of the SSL server

 

cancellable

a GCancellable

 
-
-
-

Returns

-

success or failure

-

-
-
-
-
-

soup_socket_is_ssl ()

-
gboolean
-soup_socket_is_ssl (SoupSocket *sock);
-

Tests if sock - is doing (or has attempted to do) SSL.

-
-

Parameters

-
----- - - - - - -

sock

a SoupSocket

 
-
-
-

Returns

-

TRUE if sock -has SSL credentials set

-

-
-
-
-
-

soup_socket_disconnect ()

-
void
-soup_socket_disconnect (SoupSocket *sock);
-

Disconnects sock -. Any further read or write attempts on it will -fail.

-
-

Parameters

-
----- - - - - - -

sock

a SoupSocket

 
-
-
-
-
-

soup_socket_is_connected ()

-
gboolean
-soup_socket_is_connected (SoupSocket *sock);
-

Tests if sock - is connected to another host

-
-

Parameters

-
----- - - - - - -

sock

a SoupSocket

 
-
-
-

Returns

-

TRUE or FALSE.

-

-
-
-
-
-

soup_socket_get_local_address ()

-
SoupAddress *
-soup_socket_get_local_address (SoupSocket *sock);
-

Returns the SoupAddress corresponding to the local end of sock -.

-

Calling this method on an unconnected socket is considered to be -an error, and produces undefined results.

-
-

Parameters

-
----- - - - - - -

sock

a SoupSocket

 
-
-
-

Returns

-

the SoupAddress.

-

[transfer none]

-
-
-
-
-

soup_socket_get_remote_address ()

-
SoupAddress *
-soup_socket_get_remote_address (SoupSocket *sock);
-

Returns the SoupAddress corresponding to the remote end of sock -.

-

Calling this method on an unconnected socket is considered to be -an error, and produces undefined results.

-
-

Parameters

-
----- - - - - - -

sock

a SoupSocket

 
-
-
-

Returns

-

the SoupAddress.

-

[transfer none]

-
-
-
-
-

soup_socket_get_fd ()

-
int
-soup_socket_get_fd (SoupSocket *sock);
-

Gets sock -'s underlying file descriptor.

-

Note that fiddling with the file descriptor may break the -SoupSocket.

-
-

Parameters

-
----- - - - - - -

sock

a SoupSocket

 
-
-
-

Returns

-

sock -'s file descriptor.

-

-
-
-
-
-

soup_socket_read ()

-
SoupSocketIOStatus
-soup_socket_read (SoupSocket *sock,
-                  gpointer buffer,
-                  gsize len,
-                  gsize *nread,
-                  GCancellable *cancellable,
-                  GError **error);
-

Attempts to read up to len - bytes from sock - into buffer -. If some -data is successfully read, soup_socket_read() will return -SOUP_SOCKET_OK, and *nread - will contain the number of bytes -actually read (which may be less than len -).

-

If sock - is non-blocking, and no data is available, the return -value will be SOUP_SOCKET_WOULD_BLOCK. In this case, the caller -can connect to the “readable” signal to know when there -is more data to read. (NB: You MUST read all available data off the -socket first. “readable” is only emitted after -soup_socket_read() returns SOUP_SOCKET_WOULD_BLOCK, and it is only -emitted once. See the documentation for “non-blocking”.)

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

sock

the socket

 

buffer

buffer to read into

 

len

size of buffer -in bytes

 

nread

on return, the number of bytes read into buffer -.

[out]

cancellable

a GCancellable, or NULL

 

error

error pointer

 
-
-
-

Returns

-

a SoupSocketIOStatus, as described above (or -SOUP_SOCKET_EOF if the socket is no longer connected, or -SOUP_SOCKET_ERROR on any other error, in which case error -will -also be set).

-

-
-
-
-
-

soup_socket_read_until ()

-
SoupSocketIOStatus
-soup_socket_read_until (SoupSocket *sock,
-                        gpointer buffer,
-                        gsize len,
-                        gconstpointer boundary,
-                        gsize boundary_len,
-                        gsize *nread,
-                        gboolean *got_boundary,
-                        GCancellable *cancellable,
-                        GError **error);
-

Like soup_socket_read(), but reads no further than the first -occurrence of boundary -. (If the boundary is found, it will be -included in the returned data, and *got_boundary - will be set to -TRUE.) Any data after the boundary will returned in future reads.

-

soup_socket_read_until() will almost always return fewer than len - -bytes: if the boundary is found, then it will only return the bytes -up until the end of the boundary, and if the boundary is not found, -then it will leave the last (boundary_len - 1) -bytes in its internal buffer, in case they form the start of the -boundary string. Thus, len - normally needs to be at least 1 byte -longer than boundary_len - if you want to make any progress at all.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

sock

the socket

 

buffer

buffer to read into

 

len

size of buffer -in bytes

 

boundary

boundary to read until

 

boundary_len

length of boundary -in bytes

 

nread

on return, the number of bytes read into buffer -.

[out]

got_boundary

on return, whether or not the data in buffer -ends with the boundary string

 

cancellable

a GCancellable, or NULL

 

error

error pointer

 
-
-
-

Returns

-

as for soup_socket_read()

-

-
-
-
-
-

soup_socket_write ()

-
SoupSocketIOStatus
-soup_socket_write (SoupSocket *sock,
-                   gconstpointer buffer,
-                   gsize len,
-                   gsize *nwrote,
-                   GCancellable *cancellable,
-                   GError **error);
-

Attempts to write len - bytes from buffer - to sock -. If some data is -successfully written, the return status will be SOUP_SOCKET_OK, -and *nwrote - will contain the number of bytes actually written -(which may be less than len -).

-

If sock - is non-blocking, and no data could be written right away, -the return value will be SOUP_SOCKET_WOULD_BLOCK. In this case, -the caller can connect to the “writable” signal to know -when more data can be written. (NB: “writable” is only -emitted after soup_socket_write() returns SOUP_SOCKET_WOULD_BLOCK, -and it is only emitted once. See the documentation for -“non-blocking”.)

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

sock

the socket

 

buffer

data to write

 

len

size of buffer -, in bytes

 

nwrote

on return, number of bytes written.

[out]

cancellable

a GCancellable, or NULL

 

error

error pointer

 
-
-
-

Returns

-

a SoupSocketIOStatus, as described above (or -SOUP_SOCKET_EOF or SOUP_SOCKET_ERROR. error -will be set if the -return value is SOUP_SOCKET_ERROR.)

-

-
-
-
-
-

Types and Values

-
-

SoupSocket

-
typedef struct _SoupSocket SoupSocket;
-

-

-
-
-
-

enum SoupSocketIOStatus

-

Return value from the SoupSocket IO methods.

-
-

Members

-
----- - - - - - - - - - - - - - - - - - - - - - - -

SOUP_SOCKET_OK

-

Success

-
 

SOUP_SOCKET_WOULD_BLOCK

-

Cannot read/write any more at this time

-
 

SOUP_SOCKET_EOF

-

End of file

-
 

SOUP_SOCKET_ERROR

-

Other error

-
 
-
-
-
-
-

SOUP_SOCKET_LOCAL_ADDRESS

-
#define SOUP_SOCKET_LOCAL_ADDRESS       "local-address"
-
-

Alias for the “local-address” property. (Address -of local end of socket.)

-
-
-
-

SOUP_SOCKET_REMOTE_ADDRESS

-
#define SOUP_SOCKET_REMOTE_ADDRESS      "remote-address"
-
-

Alias for the “remote-address” property. (Address -of remote end of socket.)

-
-
-
-

SOUP_SOCKET_FLAG_NONBLOCKING

-
#define SOUP_SOCKET_FLAG_NONBLOCKING    "non-blocking"
-
-

Alias for the “non-blocking” property. (Whether -or not the socket uses non-blocking I/O.)

-
-
-
-

SOUP_SOCKET_IS_SERVER

-
#define SOUP_SOCKET_IS_SERVER           "is-server"
-
-

Alias for the “is-server” property. (Whether or -not the socket is a server socket.)

-
-
-
-

SOUP_SOCKET_SSL_CREDENTIALS

-
#define SOUP_SOCKET_SSL_CREDENTIALS     "ssl-creds"
-
-

Alias for the “ssl-creds” property. -(SSL credential information.)

-
-
-
-

SOUP_SOCKET_ASYNC_CONTEXT

-
#define SOUP_SOCKET_ASYNC_CONTEXT       "async-context"
-
-

Alias for the “async-context” property. (The -socket's GMainContext.)

-
-
-
-

SOUP_SOCKET_TIMEOUT

-
#define SOUP_SOCKET_TIMEOUT             "timeout"
-
-

Alias for the “timeout” property. (The timeout -in seconds for blocking socket I/O operations.)

-
-
-
-

SOUP_SOCKET_SSL_FALLBACK

-
#define SOUP_SOCKET_SSL_FALLBACK        "ssl-fallback"
-
-

Alias for the “ssl-fallback” property.

-
-
-
-

SOUP_SOCKET_SSL_STRICT

-
#define SOUP_SOCKET_SSL_STRICT          "ssl-strict"
-
-

Alias for the “ssl-strict” property.

-
-
-
-

SOUP_SOCKET_TLS_CERTIFICATE

-
#define SOUP_SOCKET_TLS_CERTIFICATE     "tls-certificate"
-
-

Alias for the “tls-certificate” -property. Note that this property's value is only useful -if the socket is for a TLS connection, and only reliable -after some data has been transferred to or from it.

-

Since 2.34

-
-
-
-

SOUP_SOCKET_TLS_ERRORS

-
#define SOUP_SOCKET_TLS_ERRORS          "tls-errors"
-
-

Alias for the “tls-errors” -property. Note that this property's value is only useful -if the socket is for a TLS connection, and only reliable -after some data has been transferred to or from it.

-

Since 2.34

-
-
-
-

SOUP_SOCKET_TRUSTED_CERTIFICATE

-
#define SOUP_SOCKET_TRUSTED_CERTIFICATE "trusted-certificate"
-
-

Alias for the “trusted-certificate” -property.

-
-
-
-

SOUP_SOCKET_USE_THREAD_CONTEXT

-
#define SOUP_SOCKET_USE_THREAD_CONTEXT  "use-thread-context"
-
-

Alias for the “use-thread-context” property. (Use -g_main_context_get_thread_default())

-

Since 2.38

-
-
-
-

Property Details

-
-

The “async-context” property

-
  “async-context”            gpointer
-

The GMainContext to dispatch this socket's async I/O in.

-

Flags: Read / Write / Construct Only

-
-
-
-

The “clean-dispose” property

-
  “clean-dispose”            gboolean
-

Warn on unclean dispose.

-

Flags: Write / Construct Only

-

Default value: FALSE

-
-
-
-

The “is-server” property

-
  “is-server”                gboolean
-

Whether or not the socket is a server socket.

-

Flags: Read

-

Default value: FALSE

-
-
-
-

The “local-address” property

-
  “local-address”            SoupAddress *
-

Address of local end of socket.

-

Flags: Read / Write / Construct Only

-
-
-
-

The “non-blocking” property

-
  “non-blocking”             gboolean
-

Whether or not the socket uses non-blocking I/O.

-

SoupSocket's I/O methods are designed around the idea of -using a single codepath for both synchronous and -asynchronous I/O. If you want to read off a SoupSocket, -the "correct" way to do it is to call soup_socket_read() or -soup_socket_read_until() repeatedly until you have read -everything you want. If it returns SOUP_SOCKET_WOULD_BLOCK -at any point, stop reading and wait for it to emit the -“readable” signal. Then go back to the -reading-as-much-as-you-can loop. Likewise, for writing to a -SoupSocket, you should call soup_socket_write() either -until you have written everything, or it returns -SOUP_SOCKET_WOULD_BLOCK (in which case you wait for -“writable” and then go back into the loop).

-

Code written this way will work correctly with both -blocking and non-blocking sockets; blocking sockets will -simply never return SOUP_SOCKET_WOULD_BLOCK, and so the -code that handles that case just won't get used for them.

-

Flags: Read / Write

-

Default value: TRUE

-
-
-
-

The “proxy-resolver” property

-
  “proxy-resolver”           GProxyResolver *
-

GProxyResolver to use.

-

Flags: Read / Write / Construct Only

-
-
-
-

The “remote-address” property

-
  “remote-address”           SoupAddress *
-

Address of remote end of socket.

-

Flags: Read / Write / Construct Only

-
-
-
-

The “ssl-creds” property

-
  “ssl-creds”                gpointer
-

SSL credential information, passed from the session to the SSL implementation.

-

Flags: Read / Write

-
-
-
-

The “ssl-fallback” property

-
  “ssl-fallback”             gboolean
-

Use SSLv3 instead of TLS (client-side only).

-

Flags: Read / Write / Construct Only

-

Default value: FALSE

-
-
-
-

The “ssl-strict” property

-
  “ssl-strict”               gboolean
-

Whether certificate errors should be considered a connection error.

-

Flags: Read / Write / Construct Only

-

Default value: TRUE

-
-
-
-

The “timeout” property

-
  “timeout”                  guint
-

Value in seconds to timeout a blocking I/O.

-

Flags: Read / Write

-

Default value: 0

-
-
-
-

The “tls-certificate” property

-
  “tls-certificate”          GTlsCertificate *
-

The peer's TLS certificate.

-

Flags: Read

-
-
-
-

The “tls-errors” property

-
  “tls-errors”               GTlsCertificateFlags
-

Errors with the peer's TLS certificate.

-

Flags: Read

-
-
-
-

The “trusted-certificate” property

-
  “trusted-certificate”      gboolean
-

Whether the server certificate is trusted, if this is an SSL socket.

-

Flags: Read

-

Default value: FALSE

-
-
-
-

The “use-thread-context” property

-
  “use-thread-context”       gboolean
-

Use g_main_context_get_thread_default().

-

Flags: Read / Write / Construct Only

-

Default value: FALSE

-

Since 2.38

-
-
-
-

Signal Details

-
-

The “disconnected” signal

-
void
-user_function (SoupSocket *sock,
-               gpointer    user_data)
-

Emitted when the socket is disconnected, for whatever -reason.

-
-

Parameters

-
----- - - - - - - - - - - - - -

sock

the socket

 

user_data

user data set when the signal handler was connected.

 
-
-

Flags: Run Last

-
-
-
-

The “event” signal

-
void
-user_function (SoupSocket        *sock,
-               GSocketClientEvent event,
-               GIOStream         *connection,
-               gpointer           user_data)
-

Emitted when a network-related event occurs. See -“event” for more details.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - -

sock

the socket

 

event

the event that occurred

 

connection

the current connection state

 

user_data

user data set when the signal handler was connected.

 
-
-

Flags: Run Last

-

Since 2.38

-
-
-
-

The “new-connection” signal

-
void
-user_function (SoupSocket *sock,
-               SoupSocket *new,
-               gpointer    user_data)
-

Emitted when a listening socket (set up with -soup_socket_listen()) receives a new connection.

-

You must ref the new - if you want to keep it; otherwise it -will be destroyed after the signal is emitted.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

sock

the socket

 

new

the new socket

 

user_data

user data set when the signal handler was connected.

 
-
-

Flags: Run First

-
-
-
-

The “readable” signal

-
void
-user_function (SoupSocket *sock,
-               gpointer    user_data)
-

Emitted when an async socket is readable. See -soup_socket_read(), soup_socket_read_until() and -“non-blocking”.

-
-

Parameters

-
----- - - - - - - - - - - - - -

sock

the socket

 

user_data

user data set when the signal handler was connected.

 
-
-

Flags: Run Last

-
-
-
-

The “writable” signal

-
void
-user_function (SoupSocket *sock,
-               gpointer    user_data)
-

Emitted when an async socket is writable. See -soup_socket_write() and “non-blocking”.

-
-

Parameters

-
----- - - - - - - - - - - - - -

sock

the socket

 

user_data

user data set when the signal handler was connected.

 
-
-

Flags: Run Last

-
-
-
- - - \ No newline at end of file diff --git a/docs/reference/html/SoupURI.html b/docs/reference/html/SoupURI.html deleted file mode 100644 index 9e0ca07..0000000 --- a/docs/reference/html/SoupURI.html +++ /dev/null @@ -1,1664 +0,0 @@ - - - - -libsoup Reference Manual: SoupURI - - - - - - - - - - - - - - - - -
-
-
- - -
-

SoupURI

-

SoupURI — URIs

-
-
-

Functions

-
---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-SoupURI * - -soup_uri_new_with_base () -
-SoupURI * - -soup_uri_new () -
-char * - -soup_uri_to_string () -
-SoupURI * - -soup_uri_copy () -
-SoupURI * - -soup_uri_copy_host () -
-gboolean - -soup_uri_equal () -
-gboolean - -soup_uri_host_equal () -
-guint - -soup_uri_host_hash () -
-void - -soup_uri_free () -
-char * - -soup_uri_encode () -
-char * - -soup_uri_decode () -
-char * - -soup_uri_normalize () -
-gboolean - -soup_uri_uses_default_port () -
#define -SOUP_URI_IS_VALID() -
#define -SOUP_URI_VALID_FOR_HTTP() -
-void - -soup_uri_set_scheme () -
const char * - -soup_uri_get_scheme () -
-void - -soup_uri_set_user () -
const char * - -soup_uri_get_user () -
-void - -soup_uri_set_password () -
const char * - -soup_uri_get_password () -
-void - -soup_uri_set_host () -
const char * - -soup_uri_get_host () -
-void - -soup_uri_set_port () -
-guint - -soup_uri_get_port () -
-void - -soup_uri_set_path () -
const char * - -soup_uri_get_path () -
-void - -soup_uri_set_query () -
-void - -soup_uri_set_query_from_form () -
-void - -soup_uri_set_query_from_fields () -
const char * - -soup_uri_get_query () -
-void - -soup_uri_set_fragment () -
const char * - -soup_uri_get_fragment () -
-
-
-

Types and Values

-
---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 SoupURI
#defineSOUP_URI_SCHEME_HTTP
#defineSOUP_URI_SCHEME_HTTPS
#defineSOUP_URI_SCHEME_DATA
#defineSOUP_URI_SCHEME_FILE
#defineSOUP_URI_SCHEME_FTP
#defineSOUP_URI_SCHEME_RESOURCE
-
-
-

Object Hierarchy

-
    GBoxed
-    ╰── SoupURI
-
-
-
-

Includes

-
#include <libsoup/soup.h>
-
-
-
-

Description

-

A SoupURI represents a (parsed) URI.

-

Many applications will not need to use SoupURI directly at all; on -the client side, soup_message_new() takes a stringified URI, and on -the server side, the path and query components are provided for you -in the server callback.

-
-
-

Functions

-
-

soup_uri_new_with_base ()

-
SoupURI *
-soup_uri_new_with_base (SoupURI *base,
-                        const char *uri_string);
-

Parses uri_string - relative to base -.

-
-

Parameters

-
----- - - - - - - - - - - - - -

base

a base URI

 

uri_string

the URI

 
-
-
-

Returns

-

a parsed SoupURI.

-

-
-
-
-
-

soup_uri_new ()

-
SoupURI *
-soup_uri_new (const char *uri_string);
-

Parses an absolute URI.

-

You can also pass NULL for uri_string - if you want to get back an -"empty" SoupURI that you can fill in by hand. (You will need to -call at least soup_uri_set_scheme() and soup_uri_set_path(), since -those fields are required.)

-
-

Parameters

-
----- - - - - - -

uri_string

a URI.

[allow-none]
-
-
-

Returns

-

a SoupURI, or NULL if the given string was found to be -invalid.

-

-
-
-
-
-

soup_uri_to_string ()

-
char *
-soup_uri_to_string (SoupURI *uri,
-                    gboolean just_path_and_query);
-

Returns a string representing uri -.

-

If just_path_and_query - is TRUE, this concatenates the path and query -together. That is, it constructs the string that would be needed in -the Request-Line of an HTTP request for uri -.

-

Note that the output will never contain a password, even if uri - -does.

-
-

Parameters

-
----- - - - - - - - - - - - - -

uri

a SoupURI

 

just_path_and_query

if TRUE, output just the path and query portions

 
-
-
-

Returns

-

a string representing uri -, which the caller must free.

-

-
-
-
-
-

soup_uri_copy ()

-
SoupURI *
-soup_uri_copy (SoupURI *uri);
-

Copies uri -

-
-

Parameters

-
----- - - - - - -

uri

a SoupURI

 
-
-
-

Returns

-

a copy of uri -, which must be freed with soup_uri_free()

-

-
-
-
-
-

soup_uri_copy_host ()

-
SoupURI *
-soup_uri_copy_host (SoupURI *uri);
-

Makes a copy of uri -, considering only the protocol, host, and port

-
-

Parameters

-
----- - - - - - -

uri

a SoupURI

 
-
-
-

Returns

-

the new SoupURI

-

-
-

Since 2.28

-
-
-
-

soup_uri_equal ()

-
gboolean
-soup_uri_equal (SoupURI *uri1,
-                SoupURI *uri2);
-

Tests whether or not uri1 - and uri2 - are equal in all parts

-
-

Parameters

-
----- - - - - - - - - - - - - -

uri1

a SoupURI

 

uri2

another SoupURI

 
-
-
-

Returns

-

TRUE or FALSE

-

-
-
-
-
-

soup_uri_host_equal ()

-
gboolean
-soup_uri_host_equal (gconstpointer v1,
-                     gconstpointer v2);
-

Compares v1 - and v2 -, considering only the scheme, host, and port.

-
-

Parameters

-
----- - - - - - - - - - - - - -

v1

a SoupURI with a non-NULL host -member.

[type Soup.URI]

v2

a SoupURI with a non-NULL host -member.

[type Soup.URI]
-
-
-

Returns

-

whether or not the URIs are equal in scheme, host, -and port.

-

-
-

Since 2.28

-
-
-
-

soup_uri_host_hash ()

-
guint
-soup_uri_host_hash (gconstpointer key);
-

Hashes key -, considering only the scheme, host, and port.

-
-

Parameters

-
----- - - - - - -

key

a SoupURI with a non-NULL host -member.

[type Soup.URI]
-
-
-

Returns

-

a hash

-

-
-

Since 2.28

-
-
-
-

soup_uri_free ()

-
void
-soup_uri_free (SoupURI *uri);
-

Frees uri -.

-
-

Parameters

-
----- - - - - - -

uri

a SoupURI

 
-
-
-
-
-

soup_uri_encode ()

-
char *
-soup_uri_encode (const char *part,
-                 const char *escape_extra);
-

This %-encodes the given URI part and returns the escaped -version in allocated memory, which the caller must free when it is -done.

-
-

Parameters

-
----- - - - - - - - - - - - - -

part

a URI part

 

escape_extra

additional reserved characters to -escape (or NULL).

[allow-none]
-
-
-

Returns

-

the encoded URI part

-

-
-
-
-
-

soup_uri_decode ()

-
char *
-soup_uri_decode (const char *part);
-

Fully %-decodes part -.

-

In the past, this would return NULL if part - contained invalid -percent-encoding, but now it just ignores the problem (as -soup_uri_new() already did).

-
-

Parameters

-
----- - - - - - -

part

a URI part

 
-
-
-

Returns

-

the decoded URI part.

-

-
-
-
-
-

soup_uri_normalize ()

-
char *
-soup_uri_normalize (const char *part,
-                    const char *unescape_extra);
-

%-decodes any "unreserved" characters (or characters in -unescape_extra -) in part -.

-

"Unreserved" characters are those that are not allowed to be used -for punctuation according to the URI spec. For example, letters are -unreserved, so soup_uri_normalize() will turn -http://example.com/foo/b%61r into -http://example.com/foo/bar, which is guaranteed -to mean the same thing. However, "/" is "reserved", so -http://example.com/foo%2Fbar would not -be changed, because it might mean something different to the -server.

-

In the past, this would return NULL if part - contained invalid -percent-encoding, but now it just ignores the problem (as -soup_uri_new() already did).

-
-

Parameters

-
----- - - - - - - - - - - - - -

part

a URI part

 

unescape_extra

reserved characters to unescape (or NULL)

 
-
-
-

Returns

-

the normalized URI part

-

-
-
-
-
-

soup_uri_uses_default_port ()

-
gboolean
-soup_uri_uses_default_port (SoupURI *uri);
-

Tests if uri - uses the default port for its scheme. (Eg, 80 for -http.) (This only works for http, https and ftp; libsoup does not know -the default ports of other protocols.)

-
-

Parameters

-
----- - - - - - -

uri

a SoupURI

 
-
-
-

Returns

-

TRUE or FALSE

-

-
-
-
-
-

SOUP_URI_IS_VALID()

-
#define   SOUP_URI_IS_VALID(uri)       ((uri) && (uri)->scheme && (uri)->path)
-
-

Tests whether uri - is a valid SoupURI; that is, that it is non-NULL -and its scheme - and path - members are also non-NULL.

-

This macro does not check whether http and https URIs have a non-NULL -host - member.

-
-

Parameters

-
----- - - - - - -

uri

a SoupURI

 
-
-
-

Returns

-

TRUE if uri -is valid for use.

-

-
-

Since 2.38

-
-
-
-

SOUP_URI_VALID_FOR_HTTP()

-
#define   SOUP_URI_VALID_FOR_HTTP(uri) ((uri) && ((uri)->scheme == SOUP_URI_SCHEME_HTTP || (uri)->scheme == SOUP_URI_SCHEME_HTTPS) && (uri)->host && (uri)->path)
-
-

Tests if uri - is a valid SoupURI for HTTP communication; that is, if -it can be used to construct a SoupMessage.

-
-

Parameters

-
----- - - - - - -

uri

a SoupURI

 
-
-
-

Returns

-

TRUE if uri -is a valid "http" or "https" URI.

-

-
-

Since 2.24

-
-
-
-

soup_uri_set_scheme ()

-
void
-soup_uri_set_scheme (SoupURI *uri,
-                     const char *scheme);
-

Sets uri -'s scheme to scheme -. This will also set uri -'s port to -the default port for scheme -, if known.

-
-

Parameters

-
----- - - - - - - - - - - - - -

uri

a SoupURI

 

scheme

the URI scheme

 
-
-
-
-
-

soup_uri_get_scheme ()

-
const char *
-soup_uri_get_scheme (SoupURI *uri);
-

Gets uri -'s scheme.

-
-

Parameters

-
----- - - - - - -

uri

a SoupURI

 
-
-
-

Returns

-

uri -'s scheme.

-

-
-

Since 2.32

-
-
-
-

soup_uri_set_user ()

-
void
-soup_uri_set_user (SoupURI *uri,
-                   const char *user);
-

Sets uri -'s user to user -.

-
-

Parameters

-
----- - - - - - - - - - - - - -

uri

a SoupURI

 

user

the username, or NULL.

[allow-none]
-
-
-
-
-

soup_uri_get_user ()

-
const char *
-soup_uri_get_user (SoupURI *uri);
-

Gets uri -'s user.

-
-

Parameters

-
----- - - - - - -

uri

a SoupURI

 
-
-
-

Returns

-

uri -'s user.

-

-
-

Since 2.32

-
-
-
-

soup_uri_set_password ()

-
void
-soup_uri_set_password (SoupURI *uri,
-                       const char *password);
-

Sets uri -'s password to password -.

-
-

Parameters

-
----- - - - - - - - - - - - - -

uri

a SoupURI

 

password

the password, or NULL.

[allow-none]
-
-
-
-
-

soup_uri_get_password ()

-
const char *
-soup_uri_get_password (SoupURI *uri);
-

Gets uri -'s password.

-
-

Parameters

-
----- - - - - - -

uri

a SoupURI

 
-
-
-

Returns

-

uri -'s password.

-

-
-

Since 2.32

-
-
-
-

soup_uri_set_host ()

-
void
-soup_uri_set_host (SoupURI *uri,
-                   const char *host);
-

Sets uri -'s host to host -.

-

If host - is an IPv6 IP address, it should not include the brackets -required by the URI syntax; they will be added automatically when -converting uri - to a string.

-

http and https URIs should not have a NULL host -.

-
-

Parameters

-
----- - - - - - - - - - - - - -

uri

a SoupURI

 

host

the hostname or IP address, or NULL.

[allow-none]
-
-
-
-
-

soup_uri_get_host ()

-
const char *
-soup_uri_get_host (SoupURI *uri);
-

Gets uri -'s host.

-
-

Parameters

-
----- - - - - - -

uri

a SoupURI

 
-
-
-

Returns

-

uri -'s host.

-

-
-

Since 2.32

-
-
-
-

soup_uri_set_port ()

-
void
-soup_uri_set_port (SoupURI *uri,
-                   guint port);
-

Sets uri -'s port to port -. If port - is 0, uri - will not have an -explicitly-specified port.

-
-

Parameters

-
----- - - - - - - - - - - - - -

uri

a SoupURI

 

port

the port, or 0

 
-
-
-
-
-

soup_uri_get_port ()

-
guint
-soup_uri_get_port (SoupURI *uri);
-

Gets uri -'s port.

-
-

Parameters

-
----- - - - - - -

uri

a SoupURI

 
-
-
-

Returns

-

uri -'s port.

-

-
-

Since 2.32

-
-
-
-

soup_uri_set_path ()

-
void
-soup_uri_set_path (SoupURI *uri,
-                   const char *path);
-

Sets uri -'s path to path -.

-
-

Parameters

-
----- - - - - - - - - - - - - -

uri

a SoupURI

 

path

the non-NULL path

 
-
-
-
-
-

soup_uri_get_path ()

-
const char *
-soup_uri_get_path (SoupURI *uri);
-

Gets uri -'s path.

-
-

Parameters

-
----- - - - - - -

uri

a SoupURI

 
-
-
-

Returns

-

uri -'s path.

-

-
-

Since 2.32

-
-
-
-

soup_uri_set_query ()

-
void
-soup_uri_set_query (SoupURI *uri,
-                    const char *query);
-

Sets uri -'s query to query -.

-
-

Parameters

-
----- - - - - - - - - - - - - -

uri

a SoupURI

 

query

the query.

[allow-none]
-
-
-
-
-

soup_uri_set_query_from_form ()

-
void
-soup_uri_set_query_from_form (SoupURI *uri,
-                              GHashTable *form);
-

Sets uri -'s query to the result of encoding form - according to the -HTML form rules. See soup_form_encode_hash() for more information.

-
-

Parameters

-
----- - - - - - - - - - - - - -

uri

a SoupURI

 

form

a GHashTable containing HTML form -information.

[element-type utf8 utf8]
-
-
-
-
-

soup_uri_set_query_from_fields ()

-
void
-soup_uri_set_query_from_fields (SoupURI *uri,
-                                const char *first_field,
-                                ...);
-

Sets uri -'s query to the result of encoding the given form fields -and values according to the * HTML form rules. See -soup_form_encode() for more information.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

uri

a SoupURI

 

first_field

name of the first form field to encode into query

 

...

value of first_field -, followed by additional field names -and values, terminated by NULL.

 
-
-
-
-
-

soup_uri_get_query ()

-
const char *
-soup_uri_get_query (SoupURI *uri);
-

Gets uri -'s query.

-
-

Parameters

-
----- - - - - - -

uri

a SoupURI

 
-
-
-

Returns

-

uri -'s query.

-

-
-

Since 2.32

-
-
-
-

soup_uri_set_fragment ()

-
void
-soup_uri_set_fragment (SoupURI *uri,
-                       const char *fragment);
-

Sets uri -'s fragment to fragment -.

-
-

Parameters

-
----- - - - - - - - - - - - - -

uri

a SoupURI

 

fragment

the fragment.

[allow-none]
-
-
-
-
-

soup_uri_get_fragment ()

-
const char *
-soup_uri_get_fragment (SoupURI *uri);
-

Gets uri -'s fragment.

-
-

Parameters

-
----- - - - - - -

uri

a SoupURI

 
-
-
-

Returns

-

uri -'s fragment.

-

-
-

Since 2.32

-
-
-
-

Types and Values

-
-

SoupURI

-
typedef struct {
-	const char *scheme;
-
-	char       *user;
-	char       *password;
-
-	char       *host;
-	guint       port;
-
-	char       *path;
-	char       *query;
-
-	char       *fragment;
-} SoupURI;
-
-

A SoupURI represents a (parsed) URI. SoupURI supports RFC 3986 -(URI Generic Syntax), and can parse any valid URI. However, libsoup -only uses "http" and "https" URIs internally; You can use -SOUP_URI_VALID_FOR_HTTP() to test if a SoupURI is a valid HTTP -URI.

-

scheme - will always be set in any URI. It is an interned string and -is always all lowercase. (If you parse a URI with a non-lowercase -scheme, it will be converted to lowercase.) The macros -SOUP_URI_SCHEME_HTTP and SOUP_URI_SCHEME_HTTPS provide the -interned values for "http" and "https" and can be compared against -URI scheme - values.

-

user - and password - are parsed as defined in the older URI specs -(ie, separated by a colon; RFC 3986 only talks about a single -"userinfo" field). Note that password - is not included in the -output of soup_uri_to_string(). libsoup does not normally use these -fields; authentication is handled via SoupSession signals.

-

host - contains the hostname, and port - the port specified in the -URI. If the URI doesn't contain a hostname, host - will be NULL, -and if it doesn't specify a port, port - may be 0. However, for -"http" and "https" URIs, host - is guaranteed to be non-NULL -(trying to parse an http URI with no host - will return NULL), and -port - will always be non-0 (because libsoup knows the default value -to use when it is not specified in the URI).

-

path - is always non-NULL. For http/https URIs, path - will never be -an empty string either; if the input URI has no path, the parsed -SoupURI will have a path - of "/".

-

query - and fragment - are optional for all URI types. -soup_form_decode() may be useful for parsing query -.

-

Note that path -, query -, and fragment - may contain -%-encoded characters. soup_uri_new() calls -soup_uri_normalize() on them, but not soup_uri_decode(). This is -necessary to ensure that soup_uri_to_string() will generate a URI -that has exactly the same meaning as the original. (In theory, -SoupURI should leave user -, password -, and host - partially-encoded -as well, but this would be more annoying than useful.)

-
-

Members

-
----- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

const char *scheme;

the URI scheme (eg, "http")

 

char *user;

a username, or NULL

 

char *password;

a password, or NULL

 

char *host;

the hostname or IP address

 

guint port;

the port number on host -

 

char *path;

the path on host -

 

char *query;

a query for path -, or NULL

 

char *fragment;

a fragment identifier within path -, or NULL

 
-
-
-
-
-

SOUP_URI_SCHEME_HTTP

-
#define SOUP_URI_SCHEME_HTTP     _SOUP_ATOMIC_INTERN_STRING (_SOUP_URI_SCHEME_HTTP, "http")
-
-

"http" as an interned string; you can compare this directly to a -SoupURI's scheme field using -==.

-
-
-
-

SOUP_URI_SCHEME_HTTPS

-
#define SOUP_URI_SCHEME_HTTPS    _SOUP_ATOMIC_INTERN_STRING (_SOUP_URI_SCHEME_HTTPS, "https")
-
-

"https" as an interned string; you can compare this directly to a -SoupURI's scheme field using -==.

-
-
-
-

SOUP_URI_SCHEME_DATA

-
#define SOUP_URI_SCHEME_DATA     _SOUP_ATOMIC_INTERN_STRING (_SOUP_URI_SCHEME_DATA, "data")
-
-

"data" as an interned string; you can compare this directly to a -SoupURI's scheme field using -==.

-

Since 2.30

-
-
-
-

SOUP_URI_SCHEME_FILE

-
#define SOUP_URI_SCHEME_FILE     _SOUP_ATOMIC_INTERN_STRING (_SOUP_URI_SCHEME_FILE, "file")
-
-

"file" as an interned string; you can compare this directly to a -SoupURI's scheme field using -==.

-

Since 2.30

-
-
-
-

SOUP_URI_SCHEME_FTP

-
#define SOUP_URI_SCHEME_FTP      _SOUP_ATOMIC_INTERN_STRING (_SOUP_URI_SCHEME_FTP, "ftp")
-
-

"ftp" as an interned string; you can compare this directly to a -SoupURI's scheme field using -==.

-

Since 2.30

-
-
-
-

SOUP_URI_SCHEME_RESOURCE

-
#define SOUP_URI_SCHEME_RESOURCE _SOUP_ATOMIC_INTERN_STRING (_SOUP_URI_SCHEME_RESOURCE, "resource")
-
-

"data" as an interned string; you can compare this directly to a -SoupURI's scheme field using -==.

-

Since 2.42

-
-
-
- - - \ No newline at end of file diff --git a/docs/reference/html/annotation-glossary.html b/docs/reference/html/annotation-glossary.html deleted file mode 100644 index 3ab5276..0000000 --- a/docs/reference/html/annotation-glossary.html +++ /dev/null @@ -1,67 +0,0 @@ - - - - -libsoup Reference Manual: Annotation Glossary - - - - - - - - - - - - - - - -
-

-Annotation Glossary

-

A

-
allow-none
-

NULL is ok, both for passing and for returning.

-
array
-

Parameter points to an array of items.

-

E

-
element-type
-

Generics and defining elements of containers and arrays.

-

I

-
inout
-

Parameter for input and for returning results. Default is transfer full.

-

O

-
out
-

Parameter for returning results. Default is transfer full.

-

S

-
scope async
-

The callback is valid until first called.

-
scope call
-

The callback is valid only during the call to the method.

-

T

-
transfer container
-

Free data container after the code is done.

-
transfer full
-

Free data after the code is done.

-
transfer none
-

Don't free data after the code is done.

-
type
-

Override the parsed C type with given type.

-
- - - \ No newline at end of file diff --git a/docs/reference/html/ch01.html b/docs/reference/html/ch01.html deleted file mode 100644 index 4c7ea5e..0000000 --- a/docs/reference/html/ch01.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - -libsoup Reference Manual: Tutorial - - - - - - - - - - - - - - - - -
-

-Tutorial

-
-
-Compiling with libsoup — Notes on compiling -
-
-libsoup Client Basics — Client-side tutorial -
-
-libsoup Client SoupRequest API — Using -libsoup with a mix of http and non-http URIs. -
-
-Soup Server Basics — Server-side tutorial -
-
-Porting to the new SoupSession — Notes on -porting from SoupSessionAsync and SoupSessionSync to SoupSession -
-
-
- - - \ No newline at end of file diff --git a/docs/reference/html/ch02.html b/docs/reference/html/ch02.html deleted file mode 100644 index f81b5c8..0000000 --- a/docs/reference/html/ch02.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - -libsoup Reference Manual: Core API - - - - - - - - - - - - - - - - -
-

-Core API

-
-
-SoupAuth — HTTP client-side authentication support -
-
-SoupAuthDomain — Server-side authentication -
-
-SoupAuthDomainBasic — Server-side "Basic" authentication -
-
-SoupAuthDomainDigest — Server-side "Digest" authentication -
-
-SoupCache — Caching support -
-
-SoupCookie — HTTP Cookies -
-
-SoupMessage — An HTTP request and response. -
-
-SoupMessageHeaders — HTTP message headers -
-
-SoupMessageBody — HTTP message body -
-
-soup-method — HTTP method definitions -
-
-Soup Miscellaneous Utilities — Miscellaneous functions -
-
-SoupMultipart — multipart HTTP message bodies -
-
-SoupMultipartInputStream — Multipart input handling stream -
-
-SoupRequest — Protocol-independent streaming request interface -
-
-SoupRequestHTTP — SoupRequest support for "http" and "https" URIs -
-
-SoupRequestFile — SoupRequest support for "file" and "resource" URIs -
-
-SoupRequestData — SoupRequest support for "data" URIs -
-
-SoupServer — HTTP server -
-
-SoupSession — Soup session state object -
-
-SoupSessionAsync — (Deprecated) SoupSession for asynchronous - (main-loop-based) I/O. -
-
-SoupSessionSync — (Deprecated) SoupSession for blocking I/O in - multithreaded programs. -
-
-soup-status — HTTP (and libsoup) status codes -
-
-Top Level Domain utils — Top-Level Domain Utilities -
-
-SoupURI — URIs -
-
-Version Information — Variables and functions to check the libsoup version -
-
-
- - - \ No newline at end of file diff --git a/docs/reference/html/ch03.html b/docs/reference/html/ch03.html deleted file mode 100644 index 4a5a225..0000000 --- a/docs/reference/html/ch03.html +++ /dev/null @@ -1,59 +0,0 @@ - - - - -libsoup Reference Manual: Additional Features - - - - - - - - - - - - - - - - -
-

-Additional Features

-
-
-SoupSessionFeature — Interface for miscellaneous session features -
-
-SoupAuthManager — HTTP client-side authentication handler -
-
-SoupContentDecoder — Content-Encoding handler -
-
-SoupContentSniffer — Content sniffing for SoupSession -
-
-SoupCookieJar — Automatic cookie handling for SoupSession -
-
-SoupCookieJarText — Text-file-based ("cookies.txt") Cookie Jar -
-
-SoupCookieJarDB — Database-based Cookie Jar -
-
-SoupLogger — Debug logging support -
-
-SoupProxyResolverDefault — System proxy configuration integration -
-
-
- - - \ No newline at end of file diff --git a/docs/reference/html/ch04.html b/docs/reference/html/ch04.html deleted file mode 100644 index 293cb26..0000000 --- a/docs/reference/html/ch04.html +++ /dev/null @@ -1,41 +0,0 @@ - - - - -libsoup Reference Manual: Web Services APIs - - - - - - - - - - - - - - - - -
-

-Web Services APIs

-
-
-HTML Form Support — HTML form handling -
-
-XMLRPC Support — XML-RPC support -
-
-GValue Support — GValue utilities -
-
-
- - - \ No newline at end of file diff --git a/docs/reference/html/ch05.html b/docs/reference/html/ch05.html deleted file mode 100644 index 3504c58..0000000 --- a/docs/reference/html/ch05.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - -libsoup Reference Manual: Low-level Networking API - - - - - - - - - - - - - - - - -
-

-Low-level Networking API

-
-
-SoupAddress — DNS support -
-
-SoupSocket — A network socket -
-
-
- - - \ No newline at end of file diff --git a/docs/reference/html/home.png b/docs/reference/html/home.png deleted file mode 100644 index 9346b336a784463192c7daab5133a3673dd69845..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 256 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b zKpodXn9)gNb_Gz7y~NYkmHjTefRMbARQqaxysz9Q}BI-m)~Y zggoA|1V*z2{cQ=d;!=?fvu4~`n82RKrk1UubNXTJj1GP|o-=>$A29f{JgJ9K`^t{Q z-oWs>M&_hvT&MjX@T4-&sBW+1^4oB5G4r2q!qGktZ!n*!)hjrjd0_4L6;4%u<}orJ u%Vo~x?#i!!ww+1OGuHe}T=cKQUzn^_t)8|WlnDbmjKR~@&t;ucLK6T - - - -libsoup Reference Manual: libsoup Reference Manual - - - - - - - -
-
-
-
-
-
-
Tutorial
-
-
-Compiling with libsoup — Notes on compiling -
-
-libsoup Client Basics — Client-side tutorial -
-
-libsoup Client SoupRequest API — Using -libsoup with a mix of http and non-http URIs. -
-
-Soup Server Basics — Server-side tutorial -
-
-Porting to the new SoupSession — Notes on -porting from SoupSessionAsync and SoupSessionSync to SoupSession -
-
-
Core API
-
-
-SoupAuth — HTTP client-side authentication support -
-
-SoupAuthDomain — Server-side authentication -
-
-SoupAuthDomainBasic — Server-side "Basic" authentication -
-
-SoupAuthDomainDigest — Server-side "Digest" authentication -
-
-SoupCache — Caching support -
-
-SoupCookie — HTTP Cookies -
-
-SoupMessage — An HTTP request and response. -
-
-SoupMessageHeaders — HTTP message headers -
-
-SoupMessageBody — HTTP message body -
-
-soup-method — HTTP method definitions -
-
-Soup Miscellaneous Utilities — Miscellaneous functions -
-
-SoupMultipart — multipart HTTP message bodies -
-
-SoupMultipartInputStream — Multipart input handling stream -
-
-SoupRequest — Protocol-independent streaming request interface -
-
-SoupRequestHTTP — SoupRequest support for "http" and "https" URIs -
-
-SoupRequestFile — SoupRequest support for "file" and "resource" URIs -
-
-SoupRequestData — SoupRequest support for "data" URIs -
-
-SoupServer — HTTP server -
-
-SoupSession — Soup session state object -
-
-SoupSessionAsync — (Deprecated) SoupSession for asynchronous - (main-loop-based) I/O. -
-
-SoupSessionSync — (Deprecated) SoupSession for blocking I/O in - multithreaded programs. -
-
-soup-status — HTTP (and libsoup) status codes -
-
-Top Level Domain utils — Top-Level Domain Utilities -
-
-SoupURI — URIs -
-
-Version Information — Variables and functions to check the libsoup version -
-
-
Additional Features
-
-
-SoupSessionFeature — Interface for miscellaneous session features -
-
-SoupAuthManager — HTTP client-side authentication handler -
-
-SoupContentDecoder — Content-Encoding handler -
-
-SoupContentSniffer — Content sniffing for SoupSession -
-
-SoupCookieJar — Automatic cookie handling for SoupSession -
-
-SoupCookieJarText — Text-file-based ("cookies.txt") Cookie Jar -
-
-SoupCookieJarDB — Database-based Cookie Jar -
-
-SoupLogger — Debug logging support -
-
-SoupProxyResolverDefault — System proxy configuration integration -
-
-
Web Services APIs
-
-
-HTML Form Support — HTML form handling -
-
-XMLRPC Support — XML-RPC support -
-
-GValue Support — GValue utilities -
-
-
Low-level Networking API
-
-
-SoupAddress — DNS support -
-
-SoupSocket — A network socket -
-
-
Index
-
Annotation Glossary
-
-
- - - \ No newline at end of file diff --git a/docs/reference/html/index.sgml b/docs/reference/html/index.sgml deleted file mode 100644 index 1bdba53..0000000 --- a/docs/reference/html/index.sgml +++ /dev/null @@ -1,1128 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/reference/html/ix01.html b/docs/reference/html/ix01.html deleted file mode 100644 index ab8df72..0000000 --- a/docs/reference/html/ix01.html +++ /dev/null @@ -1,1489 +0,0 @@ - - - - -libsoup Reference Manual: Index - - - - - - - - - - - - - - - - -
-

-Index

-
-

S

-
-
SoupAddress, SoupAddress -
-
SoupAddress:family, The “family” property -
-
SoupAddress:name, The “name” property -
-
SoupAddress:physical, The “physical” property -
-
SoupAddress:port, The “port” property -
-
SoupAddress:protocol, The “protocol” property -
-
SoupAddress:sockaddr, The “sockaddr” property -
-
SoupAddressCallback, SoupAddressCallback () -
-
SoupAddressFamily, enum SoupAddressFamily -
-
SoupAuth, SoupAuth -
-
SoupAuth:host, The “host” property -
-
SoupAuth:is-authenticated, The “is-authenticated” property -
-
SoupAuth:is-for-proxy, The “is-for-proxy” property -
-
SoupAuth:realm, The “realm” property -
-
SoupAuth:scheme-name, The “scheme-name” property -
-
SoupAuthDomain, SoupAuthDomain -
-
SoupAuthDomain:add-path, The “add-path” property -
-
SoupAuthDomain:filter, The “filter” property -
-
SoupAuthDomain:filter-data, The “filter-data” property -
-
SoupAuthDomain:generic-auth-callback, The “generic-auth-callback” property -
-
SoupAuthDomain:generic-auth-data, The “generic-auth-data” property -
-
SoupAuthDomain:proxy, The “proxy” property -
-
SoupAuthDomain:realm, The “realm” property -
-
SoupAuthDomain:remove-path, The “remove-path” property -
-
SoupAuthDomainBasic, SoupAuthDomainBasic -
-
SoupAuthDomainBasic:auth-callback, The “auth-callback” property -
-
SoupAuthDomainBasic:auth-data, The “auth-data” property -
-
SoupAuthDomainBasicAuthCallback, SoupAuthDomainBasicAuthCallback () -
-
SoupAuthDomainDigest, SoupAuthDomainDigest -
-
SoupAuthDomainDigest:auth-callback, The “auth-callback” property -
-
SoupAuthDomainDigest:auth-data, The “auth-data” property -
-
SoupAuthDomainDigestAuthCallback, SoupAuthDomainDigestAuthCallback () -
-
SoupAuthDomainFilter, SoupAuthDomainFilter () -
-
SoupAuthDomainGenericAuthCallback, SoupAuthDomainGenericAuthCallback () -
-
SoupAuthManager, SoupAuthManager -
-
SoupAuthManager::authenticate, The “authenticate” signal -
-
SoupBuffer, SoupBuffer -
-
SoupCache, struct SoupCache -
-
SoupCache:cache-dir, The “cache-dir” property -
-
SoupCache:cache-type, The “cache-type” property -
-
SoupCacheType, enum SoupCacheType -
-
SoupChunkAllocator, SoupChunkAllocator () -
-
SoupClientContext, SoupServer -
-
SoupContentDecoder, SoupContentDecoder -
-
SoupContentSniffer, SoupContentSniffer -
-
SoupCookie, SoupCookie -
-
SoupCookieJar, SoupCookieJar -
-
SoupCookieJar::changed, The “changed” signal -
-
SoupCookieJar:accept-policy, The “accept-policy” property -
-
SoupCookieJar:read-only, The “read-only” property -
-
SoupCookieJarAcceptPolicy, enum SoupCookieJarAcceptPolicy -
-
SoupCookieJarDB, SoupCookieJarDB -
-
SoupCookieJarDB:filename, The “filename” property -
-
SoupCookieJarText, SoupCookieJarText -
-
SoupCookieJarText:filename, The “filename” property -
-
SoupDate, SoupDate -
-
SoupDateFormat, enum SoupDateFormat -
-
SoupEncoding, enum SoupEncoding -
-
SoupExpectation, enum SoupExpectation -
-
SoupHTTPVersion, enum SoupHTTPVersion -
-
SoupLogger, SoupLogger -
-
SoupLoggerFilter, SoupLoggerFilter () -
-
SoupLoggerLogLevel, enum SoupLoggerLogLevel -
-
SoupLoggerPrinter, SoupLoggerPrinter () -
-
SoupMemoryUse, enum SoupMemoryUse -
-
SoupMessage, SoupMessage -
-
SoupMessage::content-sniffed, The “content-sniffed” signal -
-
SoupMessage::finished, The “finished” signal -
-
SoupMessage::got-body, The “got-body” signal -
-
SoupMessage::got-chunk, The “got-chunk” signal -
-
SoupMessage::got-headers, The “got-headers” signal -
-
SoupMessage::got-informational, The “got-informational” signal -
-
SoupMessage::network-event, The “network-event” signal -
-
SoupMessage::restarted, The “restarted” signal -
-
SoupMessage::wrote-body, The “wrote-body” signal -
-
SoupMessage::wrote-body-data, The “wrote-body-data” signal -
-
SoupMessage::wrote-chunk, The “wrote-chunk” signal -
-
SoupMessage::wrote-headers, The “wrote-headers” signal -
-
SoupMessage::wrote-informational, The “wrote-informational” signal -
-
SoupMessage:first-party, The “first-party” property -
-
SoupMessage:flags, The “flags” property -
-
SoupMessage:http-version, The “http-version” property -
-
SoupMessage:method, The “method” property -
-
SoupMessage:priority, The “priority” property -
-
SoupMessage:reason-phrase, The “reason-phrase” property -
-
SoupMessage:request-body, The “request-body” property -
-
SoupMessage:request-body-data, The “request-body-data” property -
-
SoupMessage:request-headers, The “request-headers” property -
-
SoupMessage:response-body, The “response-body” property -
-
SoupMessage:response-body-data, The “response-body-data” property -
-
SoupMessage:response-headers, The “response-headers” property -
-
SoupMessage:server-side, The “server-side” property -
-
SoupMessage:status-code, The “status-code” property -
-
SoupMessage:tls-certificate, The “tls-certificate” property -
-
SoupMessage:tls-errors, The “tls-errors” property -
-
SoupMessage:uri, The “uri” property -
-
SoupMessageBody, SoupMessageBody -
-
SoupMessageFlags, enum SoupMessageFlags -
-
SoupMessageHeaders, SoupMessageHeaders -
-
SoupMessageHeadersForeachFunc, SoupMessageHeadersForeachFunc () -
-
SoupMessageHeadersIter, SoupMessageHeadersIter -
-
SoupMessageHeadersType, enum SoupMessageHeadersType -
-
SoupMessagePriority, enum SoupMessagePriority -
-
SoupMultipart, SoupMultipart -
-
SoupMultipartInputStream, struct SoupMultipartInputStream -
-
SoupMultipartInputStream:message, The “message” property -
-
SoupProxyResolverDefault, SoupProxyResolverDefault -
-
SoupProxyResolverDefault:gproxy-resolver, The “gproxy-resolver” property -
-
SoupRange, SoupRange -
-
SoupRequest, SoupRequest -
-
SoupRequest:session, The “session” property -
-
SoupRequest:uri, The “uri” property -
-
SoupRequestData, SoupRequestData -
-
SoupRequestError, enum SoupRequestError -
-
SoupRequestFile, SoupRequestFile -
-
SoupRequestHTTP, SoupRequestHTTP -
-
SoupServer, SoupServer -
-
SoupServer::request-aborted, The “request-aborted” signal -
-
SoupServer::request-finished, The “request-finished” signal -
-
SoupServer::request-read, The “request-read” signal -
-
SoupServer::request-started, The “request-started” signal -
-
SoupServer:async-context, The “async-context” property -
-
SoupServer:http-aliases, The “http-aliases” property -
-
SoupServer:https-aliases, The “https-aliases” property -
-
SoupServer:interface, The “interface” property -
-
SoupServer:port, The “port” property -
-
SoupServer:raw-paths, The “raw-paths” property -
-
SoupServer:server-header, The “server-header” property -
-
SoupServer:ssl-cert-file, The “ssl-cert-file” property -
-
SoupServer:ssl-key-file, The “ssl-key-file” property -
-
SoupServer:tls-certificate, The “tls-certificate” property -
-
SoupServerCallback, SoupServerCallback () -
-
SoupSession, SoupSession -
-
SoupSession::authenticate, The “authenticate” signal -
-
SoupSession::connection-created, The “connection-created” signal -
-
SoupSession::request-queued, The “request-queued” signal -
-
SoupSession::request-started, The “request-started” signal -
-
SoupSession::request-unqueued, The “request-unqueued” signal -
-
SoupSession::tunneling, The “tunneling” signal -
-
SoupSession:accept-language, The “accept-language” property -
-
SoupSession:accept-language-auto, The “accept-language-auto” property -
-
SoupSession:add-feature, The “add-feature” property -
-
SoupSession:add-feature-by-type, The “add-feature-by-type” property -
-
SoupSession:async-context, The “async-context” property -
-
SoupSession:http-aliases, The “http-aliases” property -
-
SoupSession:https-aliases, The “https-aliases” property -
-
SoupSession:idle-timeout, The “idle-timeout” property -
-
SoupSession:local-address, The “local-address” property -
-
SoupSession:max-conns, The “max-conns” property -
-
SoupSession:max-conns-per-host, The “max-conns-per-host” property -
-
SoupSession:proxy-resolver, The “proxy-resolver” property -
-
SoupSession:proxy-uri, The “proxy-uri” property -
-
SoupSession:remove-feature-by-type, The “remove-feature-by-type” property -
-
SoupSession:ssl-ca-file, The “ssl-ca-file” property -
-
SoupSession:ssl-strict, The “ssl-strict” property -
-
SoupSession:ssl-use-system-ca-file, The “ssl-use-system-ca-file” property -
-
SoupSession:timeout, The “timeout” property -
-
SoupSession:tls-database, The “tls-database” property -
-
SoupSession:use-ntlm, The “use-ntlm” property -
-
SoupSession:use-thread-context, The “use-thread-context” property -
-
SoupSession:user-agent, The “user-agent” property -
-
SoupSessionAsync, SoupSessionAsync -
-
SoupSessionCallback, SoupSessionCallback () -
-
SoupSessionFeature, SoupSessionFeature -
-
SoupSessionFeatureInterface, SoupSessionFeatureInterface -
-
SoupSessionSync, SoupSessionSync -
-
SoupSocket, SoupSocket -
-
SoupSocket::disconnected, The “disconnected” signal -
-
SoupSocket::event, The “event” signal -
-
SoupSocket::new-connection, The “new-connection” signal -
-
SoupSocket::readable, The “readable” signal -
-
SoupSocket::writable, The “writable” signal -
-
SoupSocket:async-context, The “async-context” property -
-
SoupSocket:clean-dispose, The “clean-dispose” property -
-
SoupSocket:is-server, The “is-server” property -
-
SoupSocket:local-address, The “local-address” property -
-
SoupSocket:non-blocking, The “non-blocking” property -
-
SoupSocket:proxy-resolver, The “proxy-resolver” property -
-
SoupSocket:remote-address, The “remote-address” property -
-
SoupSocket:ssl-creds, The “ssl-creds” property -
-
SoupSocket:ssl-fallback, The “ssl-fallback” property -
-
SoupSocket:ssl-strict, The “ssl-strict” property -
-
SoupSocket:timeout, The “timeout” property -
-
SoupSocket:tls-certificate, The “tls-certificate” property -
-
SoupSocket:tls-errors, The “tls-errors” property -
-
SoupSocket:trusted-certificate, The “trusted-certificate” property -
-
SoupSocket:use-thread-context, The “use-thread-context” property -
-
SoupSocketCallback, SoupSocketCallback () -
-
SoupSocketIOStatus, enum SoupSocketIOStatus -
-
SoupStatus, enum SoupStatus -
-
SoupTLDError, enum SoupTLDError -
-
SoupURI, SoupURI -
-
SoupXMLRPCFault, enum SoupXMLRPCFault -
-
SOUP_ADDRESS_ANY_PORT, SOUP_ADDRESS_ANY_PORT -
-
soup_address_equal_by_ip, soup_address_equal_by_ip () -
-
soup_address_equal_by_name, soup_address_equal_by_name () -
-
SOUP_ADDRESS_FAMILY, SOUP_ADDRESS_FAMILY -
-
soup_address_get_gsockaddr, soup_address_get_gsockaddr () -
-
soup_address_get_name, soup_address_get_name () -
-
soup_address_get_physical, soup_address_get_physical () -
-
soup_address_get_port, soup_address_get_port () -
-
soup_address_get_sockaddr, soup_address_get_sockaddr () -
-
soup_address_hash_by_ip, soup_address_hash_by_ip () -
-
soup_address_hash_by_name, soup_address_hash_by_name () -
-
soup_address_is_resolved, soup_address_is_resolved () -
-
SOUP_ADDRESS_NAME, SOUP_ADDRESS_NAME -
-
soup_address_new, soup_address_new () -
-
soup_address_new_any, soup_address_new_any () -
-
soup_address_new_from_sockaddr, soup_address_new_from_sockaddr () -
-
SOUP_ADDRESS_PHYSICAL, SOUP_ADDRESS_PHYSICAL -
-
SOUP_ADDRESS_PORT, SOUP_ADDRESS_PORT -
-
SOUP_ADDRESS_PROTOCOL, SOUP_ADDRESS_PROTOCOL -
-
soup_address_resolve_async, soup_address_resolve_async () -
-
soup_address_resolve_sync, soup_address_resolve_sync () -
-
SOUP_ADDRESS_SOCKADDR, SOUP_ADDRESS_SOCKADDR -
-
soup_add_completion, soup_add_completion () -
-
soup_add_idle, soup_add_idle () -
-
soup_add_io_watch, soup_add_io_watch () -
-
soup_add_timeout, soup_add_timeout () -
-
soup_auth_authenticate, soup_auth_authenticate () -
-
soup_auth_domain_accepts, soup_auth_domain_accepts () -
-
soup_auth_domain_add_path, soup_auth_domain_add_path () -
-
SOUP_AUTH_DOMAIN_ADD_PATH, SOUP_AUTH_DOMAIN_ADD_PATH -
-
SOUP_AUTH_DOMAIN_BASIC_AUTH_CALLBACK, SOUP_AUTH_DOMAIN_BASIC_AUTH_CALLBACK -
-
SOUP_AUTH_DOMAIN_BASIC_AUTH_DATA, SOUP_AUTH_DOMAIN_BASIC_AUTH_DATA -
-
soup_auth_domain_basic_new, soup_auth_domain_basic_new () -
-
soup_auth_domain_basic_set_auth_callback, soup_auth_domain_basic_set_auth_callback () -
-
soup_auth_domain_challenge, soup_auth_domain_challenge () -
-
soup_auth_domain_check_password, soup_auth_domain_check_password () -
-
soup_auth_domain_covers, soup_auth_domain_covers () -
-
SOUP_AUTH_DOMAIN_DIGEST_AUTH_CALLBACK, SOUP_AUTH_DOMAIN_DIGEST_AUTH_CALLBACK -
-
SOUP_AUTH_DOMAIN_DIGEST_AUTH_DATA, SOUP_AUTH_DOMAIN_DIGEST_AUTH_DATA -
-
soup_auth_domain_digest_encode_password, soup_auth_domain_digest_encode_password () -
-
soup_auth_domain_digest_new, soup_auth_domain_digest_new () -
-
soup_auth_domain_digest_set_auth_callback, soup_auth_domain_digest_set_auth_callback () -
-
SOUP_AUTH_DOMAIN_FILTER, SOUP_AUTH_DOMAIN_FILTER -
-
SOUP_AUTH_DOMAIN_FILTER_DATA, SOUP_AUTH_DOMAIN_FILTER_DATA -
-
SOUP_AUTH_DOMAIN_GENERIC_AUTH_CALLBACK, SOUP_AUTH_DOMAIN_GENERIC_AUTH_CALLBACK -
-
SOUP_AUTH_DOMAIN_GENERIC_AUTH_DATA, SOUP_AUTH_DOMAIN_GENERIC_AUTH_DATA -
-
soup_auth_domain_get_realm, soup_auth_domain_get_realm () -
-
SOUP_AUTH_DOMAIN_PROXY, SOUP_AUTH_DOMAIN_PROXY -
-
SOUP_AUTH_DOMAIN_REALM, SOUP_AUTH_DOMAIN_REALM -
-
soup_auth_domain_remove_path, soup_auth_domain_remove_path () -
-
SOUP_AUTH_DOMAIN_REMOVE_PATH, SOUP_AUTH_DOMAIN_REMOVE_PATH -
-
soup_auth_domain_set_filter, soup_auth_domain_set_filter () -
-
soup_auth_domain_set_generic_auth_callback, soup_auth_domain_set_generic_auth_callback () -
-
soup_auth_free_protection_space, soup_auth_free_protection_space () -
-
soup_auth_get_authorization, soup_auth_get_authorization () -
-
soup_auth_get_host, soup_auth_get_host () -
-
soup_auth_get_info, soup_auth_get_info () -
-
soup_auth_get_protection_space, soup_auth_get_protection_space () -
-
soup_auth_get_realm, soup_auth_get_realm () -
-
soup_auth_get_scheme_name, soup_auth_get_scheme_name () -
-
SOUP_AUTH_HOST, SOUP_AUTH_HOST -
-
soup_auth_is_authenticated, soup_auth_is_authenticated () -
-
SOUP_AUTH_IS_AUTHENTICATED, SOUP_AUTH_IS_AUTHENTICATED -
-
soup_auth_is_for_proxy, soup_auth_is_for_proxy () -
-
SOUP_AUTH_IS_FOR_PROXY, SOUP_AUTH_IS_FOR_PROXY -
-
soup_auth_is_ready, soup_auth_is_ready () -
-
soup_auth_manager_use_auth, soup_auth_manager_use_auth () -
-
soup_auth_new, soup_auth_new () -
-
SOUP_AUTH_REALM, SOUP_AUTH_REALM -
-
SOUP_AUTH_SCHEME_NAME, SOUP_AUTH_SCHEME_NAME -
-
soup_auth_update, soup_auth_update () -
-
soup_buffer_copy, soup_buffer_copy () -
-
soup_buffer_free, soup_buffer_free () -
-
soup_buffer_get_as_bytes, soup_buffer_get_as_bytes () -
-
soup_buffer_get_data, soup_buffer_get_data () -
-
soup_buffer_get_owner, soup_buffer_get_owner () -
-
soup_buffer_new, soup_buffer_new () -
-
soup_buffer_new_subbuffer, soup_buffer_new_subbuffer () -
-
soup_buffer_new_take, soup_buffer_new_take () -
-
soup_buffer_new_with_owner, soup_buffer_new_with_owner () -
-
soup_cache_clear, soup_cache_clear () -
-
soup_cache_dump, soup_cache_dump () -
-
soup_cache_flush, soup_cache_flush () -
-
soup_cache_get_max_size, soup_cache_get_max_size () -
-
soup_cache_load, soup_cache_load () -
-
soup_cache_new, soup_cache_new () -
-
soup_cache_set_max_size, soup_cache_set_max_size () -
-
soup_check_version, soup_check_version () -
-
SOUP_CHECK_VERSION, SOUP_CHECK_VERSION() -
-
soup_client_context_get_address, soup_client_context_get_address () -
-
soup_client_context_get_auth_domain, soup_client_context_get_auth_domain () -
-
soup_client_context_get_auth_user, soup_client_context_get_auth_user () -
-
soup_client_context_get_host, soup_client_context_get_host () -
-
soup_client_context_get_socket, soup_client_context_get_socket () -
-
soup_content_sniffer_get_buffer_size, soup_content_sniffer_get_buffer_size () -
-
soup_content_sniffer_new, soup_content_sniffer_new () -
-
soup_content_sniffer_sniff, soup_content_sniffer_sniff () -
-
soup_cookies_free, soup_cookies_free () -
-
soup_cookies_from_request, soup_cookies_from_request () -
-
soup_cookies_from_response, soup_cookies_from_response () -
-
soup_cookies_to_cookie_header, soup_cookies_to_cookie_header () -
-
soup_cookies_to_request, soup_cookies_to_request () -
-
soup_cookies_to_response, soup_cookies_to_response () -
-
soup_cookie_applies_to_uri, soup_cookie_applies_to_uri () -
-
soup_cookie_copy, soup_cookie_copy () -
-
soup_cookie_domain_matches, soup_cookie_domain_matches () -
-
soup_cookie_free, soup_cookie_free () -
-
soup_cookie_get_domain, soup_cookie_get_domain () -
-
soup_cookie_get_expires, soup_cookie_get_expires () -
-
soup_cookie_get_http_only, soup_cookie_get_http_only () -
-
soup_cookie_get_name, soup_cookie_get_name () -
-
soup_cookie_get_path, soup_cookie_get_path () -
-
soup_cookie_get_secure, soup_cookie_get_secure () -
-
soup_cookie_get_value, soup_cookie_get_value () -
-
SOUP_COOKIE_JAR_ACCEPT_POLICY, SOUP_COOKIE_JAR_ACCEPT_POLICY -
-
soup_cookie_jar_add_cookie, soup_cookie_jar_add_cookie () -
-
soup_cookie_jar_add_cookie_with_first_party, soup_cookie_jar_add_cookie_with_first_party () -
-
soup_cookie_jar_all_cookies, soup_cookie_jar_all_cookies () -
-
SOUP_COOKIE_JAR_DB_FILENAME, SOUP_COOKIE_JAR_DB_FILENAME -
-
soup_cookie_jar_db_new, soup_cookie_jar_db_new () -
-
soup_cookie_jar_delete_cookie, soup_cookie_jar_delete_cookie () -
-
soup_cookie_jar_get_accept_policy, soup_cookie_jar_get_accept_policy () -
-
soup_cookie_jar_get_cookies, soup_cookie_jar_get_cookies () -
-
soup_cookie_jar_get_cookie_list, soup_cookie_jar_get_cookie_list () -
-
soup_cookie_jar_is_persistent, soup_cookie_jar_is_persistent () -
-
soup_cookie_jar_new, soup_cookie_jar_new () -
-
SOUP_COOKIE_JAR_READ_ONLY, SOUP_COOKIE_JAR_READ_ONLY -
-
soup_cookie_jar_set_accept_policy, soup_cookie_jar_set_accept_policy () -
-
soup_cookie_jar_set_cookie, soup_cookie_jar_set_cookie () -
-
soup_cookie_jar_set_cookie_with_first_party, soup_cookie_jar_set_cookie_with_first_party () -
-
SOUP_COOKIE_JAR_TEXT_FILENAME, SOUP_COOKIE_JAR_TEXT_FILENAME -
-
soup_cookie_jar_text_new, soup_cookie_jar_text_new () -
-
SOUP_COOKIE_MAX_AGE_ONE_DAY, SOUP_COOKIE_MAX_AGE_ONE_DAY -
-
SOUP_COOKIE_MAX_AGE_ONE_HOUR, SOUP_COOKIE_MAX_AGE_ONE_HOUR -
-
SOUP_COOKIE_MAX_AGE_ONE_WEEK, SOUP_COOKIE_MAX_AGE_ONE_WEEK -
-
SOUP_COOKIE_MAX_AGE_ONE_YEAR, SOUP_COOKIE_MAX_AGE_ONE_YEAR -
-
soup_cookie_new, soup_cookie_new () -
-
soup_cookie_parse, soup_cookie_parse () -
-
soup_cookie_set_domain, soup_cookie_set_domain () -
-
soup_cookie_set_expires, soup_cookie_set_expires () -
-
soup_cookie_set_http_only, soup_cookie_set_http_only () -
-
soup_cookie_set_max_age, soup_cookie_set_max_age () -
-
soup_cookie_set_name, soup_cookie_set_name () -
-
soup_cookie_set_path, soup_cookie_set_path () -
-
soup_cookie_set_secure, soup_cookie_set_secure () -
-
soup_cookie_set_value, soup_cookie_set_value () -
-
soup_cookie_to_cookie_header, soup_cookie_to_cookie_header () -
-
soup_cookie_to_set_cookie_header, soup_cookie_to_set_cookie_header () -
-
soup_date_free, soup_date_free () -
-
soup_date_get_day, soup_date_get_day () -
-
soup_date_get_hour, soup_date_get_hour () -
-
soup_date_get_minute, soup_date_get_minute () -
-
soup_date_get_month, soup_date_get_month () -
-
soup_date_get_offset, soup_date_get_offset () -
-
soup_date_get_second, soup_date_get_second () -
-
soup_date_get_utc, soup_date_get_utc () -
-
soup_date_get_year, soup_date_get_year () -
-
soup_date_is_past, soup_date_is_past () -
-
soup_date_new, soup_date_new () -
-
soup_date_new_from_now, soup_date_new_from_now () -
-
soup_date_new_from_string, soup_date_new_from_string () -
-
soup_date_new_from_time_t, soup_date_new_from_time_t () -
-
soup_date_to_string, soup_date_to_string () -
-
soup_date_to_timeval, soup_date_to_timeval () -
-
soup_date_to_time_t, soup_date_to_time_t () -
-
soup_form_decode, soup_form_decode () -
-
soup_form_decode_multipart, soup_form_decode_multipart () -
-
soup_form_encode, soup_form_encode () -
-
soup_form_encode_datalist, soup_form_encode_datalist () -
-
soup_form_encode_hash, soup_form_encode_hash () -
-
soup_form_encode_valist, soup_form_encode_valist () -
-
SOUP_FORM_MIME_TYPE_MULTIPART, SOUP_FORM_MIME_TYPE_MULTIPART -
-
SOUP_FORM_MIME_TYPE_URLENCODED, SOUP_FORM_MIME_TYPE_URLENCODED -
-
soup_form_request_new, soup_form_request_new () -
-
soup_form_request_new_from_datalist, soup_form_request_new_from_datalist () -
-
soup_form_request_new_from_hash, soup_form_request_new_from_hash () -
-
soup_form_request_new_from_multipart, soup_form_request_new_from_multipart () -
-
soup_get_major_version, soup_get_major_version () -
-
soup_get_micro_version, soup_get_micro_version () -
-
soup_get_minor_version, soup_get_minor_version () -
-
soup_headers_parse, soup_headers_parse () -
-
soup_headers_parse_request, soup_headers_parse_request () -
-
soup_headers_parse_response, soup_headers_parse_response () -
-
soup_headers_parse_status_line, soup_headers_parse_status_line () -
-
soup_header_contains, soup_header_contains () -
-
soup_header_free_list, soup_header_free_list () -
-
soup_header_free_param_list, soup_header_free_param_list () -
-
soup_header_g_string_append_param, soup_header_g_string_append_param () -
-
soup_header_g_string_append_param_quoted, soup_header_g_string_append_param_quoted () -
-
soup_header_parse_list, soup_header_parse_list () -
-
soup_header_parse_param_list, soup_header_parse_param_list () -
-
soup_header_parse_quality_list, soup_header_parse_quality_list () -
-
soup_header_parse_semi_param_list, soup_header_parse_semi_param_list () -
-
SOUP_HTTP_ERROR, SOUP_HTTP_ERROR -
-
soup_logger_attach, soup_logger_attach () -
-
soup_logger_detach, soup_logger_detach () -
-
soup_logger_new, soup_logger_new () -
-
soup_logger_set_printer, soup_logger_set_printer () -
-
soup_logger_set_request_filter, soup_logger_set_request_filter () -
-
soup_logger_set_response_filter, soup_logger_set_response_filter () -
-
SOUP_MAJOR_VERSION, SOUP_MAJOR_VERSION -
-
soup_message_add_header_handler, soup_message_add_header_handler () -
-
soup_message_add_status_code_handler, soup_message_add_status_code_handler () -
-
soup_message_body_append, soup_message_body_append () -
-
soup_message_body_append_buffer, soup_message_body_append_buffer () -
-
soup_message_body_append_take, soup_message_body_append_take () -
-
soup_message_body_complete, soup_message_body_complete () -
-
soup_message_body_flatten, soup_message_body_flatten () -
-
soup_message_body_free, soup_message_body_free () -
-
soup_message_body_get_accumulate, soup_message_body_get_accumulate () -
-
soup_message_body_get_chunk, soup_message_body_get_chunk () -
-
soup_message_body_got_chunk, soup_message_body_got_chunk () -
-
soup_message_body_new, soup_message_body_new () -
-
soup_message_body_set_accumulate, soup_message_body_set_accumulate () -
-
soup_message_body_truncate, soup_message_body_truncate () -
-
soup_message_body_wrote_chunk, soup_message_body_wrote_chunk () -
-
soup_message_disable_feature, soup_message_disable_feature () -
-
SOUP_MESSAGE_FIRST_PARTY, SOUP_MESSAGE_FIRST_PARTY -
-
SOUP_MESSAGE_FLAGS, SOUP_MESSAGE_FLAGS -
-
soup_message_get_address, soup_message_get_address () -
-
soup_message_get_first_party, soup_message_get_first_party () -
-
soup_message_get_flags, soup_message_get_flags () -
-
soup_message_get_https_status, soup_message_get_https_status () -
-
soup_message_get_http_version, soup_message_get_http_version () -
-
soup_message_get_priority, soup_message_get_priority () -
-
soup_message_get_soup_request, soup_message_get_soup_request () -
-
soup_message_get_uri, soup_message_get_uri () -
-
soup_message_headers_append, soup_message_headers_append () -
-
soup_message_headers_clean_connection_headers, soup_message_headers_clean_connection_headers () -
-
soup_message_headers_clear, soup_message_headers_clear () -
-
soup_message_headers_foreach, soup_message_headers_foreach () -
-
soup_message_headers_free, soup_message_headers_free () -
-
soup_message_headers_free_ranges, soup_message_headers_free_ranges () -
-
soup_message_headers_get, soup_message_headers_get () -
-
soup_message_headers_get_content_disposition, soup_message_headers_get_content_disposition () -
-
soup_message_headers_get_content_length, soup_message_headers_get_content_length () -
-
soup_message_headers_get_content_range, soup_message_headers_get_content_range () -
-
soup_message_headers_get_content_type, soup_message_headers_get_content_type () -
-
soup_message_headers_get_encoding, soup_message_headers_get_encoding () -
-
soup_message_headers_get_expectations, soup_message_headers_get_expectations () -
-
soup_message_headers_get_list, soup_message_headers_get_list () -
-
soup_message_headers_get_one, soup_message_headers_get_one () -
-
soup_message_headers_get_ranges, soup_message_headers_get_ranges () -
-
soup_message_headers_iter_init, soup_message_headers_iter_init () -
-
soup_message_headers_iter_next, soup_message_headers_iter_next () -
-
soup_message_headers_new, soup_message_headers_new () -
-
soup_message_headers_remove, soup_message_headers_remove () -
-
soup_message_headers_replace, soup_message_headers_replace () -
-
soup_message_headers_set_content_disposition, soup_message_headers_set_content_disposition () -
-
soup_message_headers_set_content_length, soup_message_headers_set_content_length () -
-
soup_message_headers_set_content_range, soup_message_headers_set_content_range () -
-
soup_message_headers_set_content_type, soup_message_headers_set_content_type () -
-
soup_message_headers_set_encoding, soup_message_headers_set_encoding () -
-
soup_message_headers_set_expectations, soup_message_headers_set_expectations () -
-
soup_message_headers_set_range, soup_message_headers_set_range () -
-
soup_message_headers_set_ranges, soup_message_headers_set_ranges () -
-
SOUP_MESSAGE_HTTP_VERSION, SOUP_MESSAGE_HTTP_VERSION -
-
soup_message_is_keepalive, soup_message_is_keepalive () -
-
SOUP_MESSAGE_METHOD, SOUP_MESSAGE_METHOD -
-
soup_message_new, soup_message_new () -
-
soup_message_new_from_uri, soup_message_new_from_uri () -
-
SOUP_MESSAGE_PRIORITY, SOUP_MESSAGE_PRIORITY -
-
SOUP_MESSAGE_REASON_PHRASE, SOUP_MESSAGE_REASON_PHRASE -
-
SOUP_MESSAGE_REQUEST_BODY, SOUP_MESSAGE_REQUEST_BODY -
-
SOUP_MESSAGE_REQUEST_BODY_DATA, SOUP_MESSAGE_REQUEST_BODY_DATA -
-
SOUP_MESSAGE_REQUEST_HEADERS, SOUP_MESSAGE_REQUEST_HEADERS -
-
SOUP_MESSAGE_RESPONSE_BODY, SOUP_MESSAGE_RESPONSE_BODY -
-
SOUP_MESSAGE_RESPONSE_BODY_DATA, SOUP_MESSAGE_RESPONSE_BODY_DATA -
-
SOUP_MESSAGE_RESPONSE_HEADERS, SOUP_MESSAGE_RESPONSE_HEADERS -
-
SOUP_MESSAGE_SERVER_SIDE, SOUP_MESSAGE_SERVER_SIDE -
-
soup_message_set_chunk_allocator, soup_message_set_chunk_allocator () -
-
soup_message_set_first_party, soup_message_set_first_party () -
-
soup_message_set_flags, soup_message_set_flags () -
-
soup_message_set_http_version, soup_message_set_http_version () -
-
soup_message_set_priority, soup_message_set_priority () -
-
soup_message_set_redirect, soup_message_set_redirect () -
-
soup_message_set_request, soup_message_set_request () -
-
soup_message_set_response, soup_message_set_response () -
-
soup_message_set_status, soup_message_set_status () -
-
soup_message_set_status_full, soup_message_set_status_full () -
-
soup_message_set_uri, soup_message_set_uri () -
-
SOUP_MESSAGE_STATUS_CODE, SOUP_MESSAGE_STATUS_CODE -
-
SOUP_MESSAGE_TLS_CERTIFICATE, SOUP_MESSAGE_TLS_CERTIFICATE -
-
SOUP_MESSAGE_TLS_ERRORS, SOUP_MESSAGE_TLS_ERRORS -
-
SOUP_MESSAGE_URI, SOUP_MESSAGE_URI -
-
SOUP_METHOD_CONNECT, SOUP_METHOD_CONNECT -
-
SOUP_METHOD_COPY, SOUP_METHOD_COPY -
-
SOUP_METHOD_DELETE, SOUP_METHOD_DELETE -
-
SOUP_METHOD_GET, SOUP_METHOD_GET -
-
SOUP_METHOD_HEAD, SOUP_METHOD_HEAD -
-
SOUP_METHOD_LOCK, SOUP_METHOD_LOCK -
-
SOUP_METHOD_MKCOL, SOUP_METHOD_MKCOL -
-
SOUP_METHOD_MOVE, SOUP_METHOD_MOVE -
-
SOUP_METHOD_OPTIONS, SOUP_METHOD_OPTIONS -
-
SOUP_METHOD_POST, SOUP_METHOD_POST -
-
SOUP_METHOD_PROPFIND, SOUP_METHOD_PROPFIND -
-
SOUP_METHOD_PROPPATCH, SOUP_METHOD_PROPPATCH -
-
SOUP_METHOD_PUT, SOUP_METHOD_PUT -
-
SOUP_METHOD_TRACE, SOUP_METHOD_TRACE -
-
SOUP_METHOD_UNLOCK, SOUP_METHOD_UNLOCK -
-
SOUP_MICRO_VERSION, SOUP_MICRO_VERSION -
-
SOUP_MINOR_VERSION, SOUP_MINOR_VERSION -
-
soup_multipart_append_form_file, soup_multipart_append_form_file () -
-
soup_multipart_append_form_string, soup_multipart_append_form_string () -
-
soup_multipart_append_part, soup_multipart_append_part () -
-
soup_multipart_free, soup_multipart_free () -
-
soup_multipart_get_length, soup_multipart_get_length () -
-
soup_multipart_get_part, soup_multipart_get_part () -
-
soup_multipart_input_stream_get_headers, soup_multipart_input_stream_get_headers () -
-
soup_multipart_input_stream_new, soup_multipart_input_stream_new () -
-
soup_multipart_input_stream_next_part, soup_multipart_input_stream_next_part () -
-
soup_multipart_input_stream_next_part_async, soup_multipart_input_stream_next_part_async () -
-
soup_multipart_input_stream_next_part_finish, soup_multipart_input_stream_next_part_finish () -
-
soup_multipart_new, soup_multipart_new () -
-
soup_multipart_new_from_message, soup_multipart_new_from_message () -
-
soup_multipart_to_message, soup_multipart_to_message () -
-
SOUP_REQUEST_ERROR, SOUP_REQUEST_ERROR -
-
soup_request_file_get_file, soup_request_file_get_file () -
-
soup_request_get_content_length, soup_request_get_content_length () -
-
soup_request_get_content_type, soup_request_get_content_type () -
-
soup_request_get_session, soup_request_get_session () -
-
soup_request_get_uri, soup_request_get_uri () -
-
soup_request_http_get_message, soup_request_http_get_message () -
-
soup_request_send, soup_request_send () -
-
soup_request_send_async, soup_request_send_async () -
-
soup_request_send_finish, soup_request_send_finish () -
-
SOUP_REQUEST_SESSION, SOUP_REQUEST_SESSION -
-
SOUP_REQUEST_URI, SOUP_REQUEST_URI -
-
soup_server_add_auth_domain, soup_server_add_auth_domain () -
-
soup_server_add_handler, soup_server_add_handler () -
-
SOUP_SERVER_ASYNC_CONTEXT, SOUP_SERVER_ASYNC_CONTEXT -
-
soup_server_disconnect, soup_server_disconnect () -
-
soup_server_get_async_context, soup_server_get_async_context () -
-
soup_server_get_listener, soup_server_get_listener () -
-
soup_server_get_port, soup_server_get_port () -
-
SOUP_SERVER_HTTPS_ALIASES, SOUP_SERVER_HTTPS_ALIASES -
-
SOUP_SERVER_HTTP_ALIASES, SOUP_SERVER_HTTP_ALIASES -
-
SOUP_SERVER_INTERFACE, SOUP_SERVER_INTERFACE -
-
soup_server_is_https, soup_server_is_https () -
-
soup_server_new, soup_server_new () -
-
soup_server_pause_message, soup_server_pause_message () -
-
SOUP_SERVER_PORT, SOUP_SERVER_PORT -
-
soup_server_quit, soup_server_quit () -
-
SOUP_SERVER_RAW_PATHS, SOUP_SERVER_RAW_PATHS -
-
soup_server_remove_auth_domain, soup_server_remove_auth_domain () -
-
soup_server_remove_handler, soup_server_remove_handler () -
-
soup_server_run, soup_server_run () -
-
soup_server_run_async, soup_server_run_async () -
-
SOUP_SERVER_SERVER_HEADER, SOUP_SERVER_SERVER_HEADER -
-
SOUP_SERVER_SSL_CERT_FILE, SOUP_SERVER_SSL_CERT_FILE -
-
SOUP_SERVER_SSL_KEY_FILE, SOUP_SERVER_SSL_KEY_FILE -
-
SOUP_SERVER_TLS_CERTIFICATE, SOUP_SERVER_TLS_CERTIFICATE -
-
soup_server_unpause_message, soup_server_unpause_message () -
-
soup_session_abort, soup_session_abort () -
-
SOUP_SESSION_ACCEPT_LANGUAGE, SOUP_SESSION_ACCEPT_LANGUAGE -
-
SOUP_SESSION_ACCEPT_LANGUAGE_AUTO, SOUP_SESSION_ACCEPT_LANGUAGE_AUTO -
-
soup_session_add_feature, soup_session_add_feature () -
-
SOUP_SESSION_ADD_FEATURE, SOUP_SESSION_ADD_FEATURE -
-
soup_session_add_feature_by_type, soup_session_add_feature_by_type () -
-
SOUP_SESSION_ADD_FEATURE_BY_TYPE, SOUP_SESSION_ADD_FEATURE_BY_TYPE -
-
SOUP_SESSION_ASYNC_CONTEXT, SOUP_SESSION_ASYNC_CONTEXT -
-
soup_session_async_new, soup_session_async_new () -
-
soup_session_async_new_with_options, soup_session_async_new_with_options () -
-
soup_session_cancel_message, soup_session_cancel_message () -
-
soup_session_get_async_context, soup_session_get_async_context () -
-
soup_session_get_feature, soup_session_get_feature () -
-
soup_session_get_features, soup_session_get_features () -
-
soup_session_get_feature_for_message, soup_session_get_feature_for_message () -
-
soup_session_has_feature, soup_session_has_feature () -
-
SOUP_SESSION_HTTPS_ALIASES, SOUP_SESSION_HTTPS_ALIASES -
-
SOUP_SESSION_HTTP_ALIASES, SOUP_SESSION_HTTP_ALIASES -
-
SOUP_SESSION_IDLE_TIMEOUT, SOUP_SESSION_IDLE_TIMEOUT -
-
SOUP_SESSION_LOCAL_ADDRESS, SOUP_SESSION_LOCAL_ADDRESS -
-
SOUP_SESSION_MAX_CONNS, SOUP_SESSION_MAX_CONNS -
-
SOUP_SESSION_MAX_CONNS_PER_HOST, SOUP_SESSION_MAX_CONNS_PER_HOST -
-
soup_session_new, soup_session_new () -
-
soup_session_new_with_options, soup_session_new_with_options () -
-
soup_session_pause_message, soup_session_pause_message () -
-
soup_session_prefetch_dns, soup_session_prefetch_dns () -
-
soup_session_prepare_for_uri, soup_session_prepare_for_uri (), soup_session_prepare_for_uri () -
-
SOUP_SESSION_PROXY_RESOLVER, SOUP_SESSION_PROXY_RESOLVER -
-
SOUP_SESSION_PROXY_URI, SOUP_SESSION_PROXY_URI -
-
soup_session_queue_message, soup_session_queue_message () -
-
soup_session_redirect_message, soup_session_redirect_message () -
-
soup_session_remove_feature, soup_session_remove_feature () -
-
soup_session_remove_feature_by_type, soup_session_remove_feature_by_type () -
-
SOUP_SESSION_REMOVE_FEATURE_BY_TYPE, SOUP_SESSION_REMOVE_FEATURE_BY_TYPE -
-
soup_session_request, soup_session_request () -
-
soup_session_request_http, soup_session_request_http () -
-
soup_session_request_http_uri, soup_session_request_http_uri () -
-
soup_session_request_uri, soup_session_request_uri () -
-
soup_session_requeue_message, soup_session_requeue_message () -
-
soup_session_send, soup_session_send () -
-
soup_session_send_async, soup_session_send_async () -
-
soup_session_send_finish, soup_session_send_finish () -
-
soup_session_send_message, soup_session_send_message () -
-
SOUP_SESSION_SSL_CA_FILE, SOUP_SESSION_SSL_CA_FILE -
-
SOUP_SESSION_SSL_STRICT, SOUP_SESSION_SSL_STRICT -
-
SOUP_SESSION_SSL_USE_SYSTEM_CA_FILE, SOUP_SESSION_SSL_USE_SYSTEM_CA_FILE -
-
soup_session_sync_new, soup_session_sync_new () -
-
soup_session_sync_new_with_options, soup_session_sync_new_with_options () -
-
SOUP_SESSION_TIMEOUT, SOUP_SESSION_TIMEOUT -
-
SOUP_SESSION_TLS_DATABASE, SOUP_SESSION_TLS_DATABASE -
-
soup_session_unpause_message, soup_session_unpause_message () -
-
SOUP_SESSION_USER_AGENT, SOUP_SESSION_USER_AGENT -
-
SOUP_SESSION_USE_THREAD_CONTEXT, SOUP_SESSION_USE_THREAD_CONTEXT -
-
soup_session_would_redirect, soup_session_would_redirect () -
-
SOUP_SOCKET_ASYNC_CONTEXT, SOUP_SOCKET_ASYNC_CONTEXT -
-
soup_socket_connect_async, soup_socket_connect_async () -
-
soup_socket_connect_sync, soup_socket_connect_sync () -
-
soup_socket_disconnect, soup_socket_disconnect () -
-
SOUP_SOCKET_FLAG_NONBLOCKING, SOUP_SOCKET_FLAG_NONBLOCKING -
-
soup_socket_get_fd, soup_socket_get_fd () -
-
soup_socket_get_local_address, soup_socket_get_local_address () -
-
soup_socket_get_remote_address, soup_socket_get_remote_address () -
-
soup_socket_is_connected, soup_socket_is_connected () -
-
SOUP_SOCKET_IS_SERVER, SOUP_SOCKET_IS_SERVER -
-
soup_socket_is_ssl, soup_socket_is_ssl () -
-
soup_socket_listen, soup_socket_listen () -
-
SOUP_SOCKET_LOCAL_ADDRESS, SOUP_SOCKET_LOCAL_ADDRESS -
-
soup_socket_new, soup_socket_new () -
-
soup_socket_read, soup_socket_read () -
-
soup_socket_read_until, soup_socket_read_until () -
-
SOUP_SOCKET_REMOTE_ADDRESS, SOUP_SOCKET_REMOTE_ADDRESS -
-
SOUP_SOCKET_SSL_CREDENTIALS, SOUP_SOCKET_SSL_CREDENTIALS -
-
SOUP_SOCKET_SSL_FALLBACK, SOUP_SOCKET_SSL_FALLBACK -
-
SOUP_SOCKET_SSL_STRICT, SOUP_SOCKET_SSL_STRICT -
-
soup_socket_start_proxy_ssl, soup_socket_start_proxy_ssl () -
-
soup_socket_start_ssl, soup_socket_start_ssl () -
-
SOUP_SOCKET_TIMEOUT, SOUP_SOCKET_TIMEOUT -
-
SOUP_SOCKET_TLS_CERTIFICATE, SOUP_SOCKET_TLS_CERTIFICATE -
-
SOUP_SOCKET_TLS_ERRORS, SOUP_SOCKET_TLS_ERRORS -
-
SOUP_SOCKET_TRUSTED_CERTIFICATE, SOUP_SOCKET_TRUSTED_CERTIFICATE -
-
SOUP_SOCKET_USE_THREAD_CONTEXT, SOUP_SOCKET_USE_THREAD_CONTEXT -
-
soup_socket_write, soup_socket_write () -
-
soup_status_get_phrase, soup_status_get_phrase () -
-
SOUP_STATUS_IS_CLIENT_ERROR, SOUP_STATUS_IS_CLIENT_ERROR() -
-
SOUP_STATUS_IS_INFORMATIONAL, SOUP_STATUS_IS_INFORMATIONAL() -
-
SOUP_STATUS_IS_REDIRECTION, SOUP_STATUS_IS_REDIRECTION() -
-
SOUP_STATUS_IS_SERVER_ERROR, SOUP_STATUS_IS_SERVER_ERROR() -
-
SOUP_STATUS_IS_SUCCESSFUL, SOUP_STATUS_IS_SUCCESSFUL() -
-
SOUP_STATUS_IS_TRANSPORT_ERROR, SOUP_STATUS_IS_TRANSPORT_ERROR() -
-
soup_status_proxify, soup_status_proxify () -
-
soup_str_case_equal, soup_str_case_equal () -
-
soup_str_case_hash, soup_str_case_hash () -
-
soup_tld_domain_is_public_suffix, soup_tld_domain_is_public_suffix () -
-
SOUP_TLD_ERROR, SOUP_TLD_ERROR -
-
soup_tld_get_base_domain, soup_tld_get_base_domain () -
-
SOUP_TYPE_AUTH_BASIC, SOUP_TYPE_AUTH_BASIC -
-
SOUP_TYPE_AUTH_DIGEST, SOUP_TYPE_AUTH_DIGEST -
-
SOUP_TYPE_AUTH_MANAGER, SOUP_TYPE_AUTH_MANAGER -
-
SOUP_TYPE_AUTH_NTLM, SOUP_TYPE_AUTH_NTLM -
-
SOUP_TYPE_BYTE_ARRAY, SOUP_TYPE_BYTE_ARRAY -
-
soup_uri_copy, soup_uri_copy () -
-
soup_uri_copy_host, soup_uri_copy_host () -
-
soup_uri_decode, soup_uri_decode () -
-
soup_uri_encode, soup_uri_encode () -
-
soup_uri_equal, soup_uri_equal () -
-
soup_uri_free, soup_uri_free () -
-
soup_uri_get_fragment, soup_uri_get_fragment () -
-
soup_uri_get_host, soup_uri_get_host () -
-
soup_uri_get_password, soup_uri_get_password () -
-
soup_uri_get_path, soup_uri_get_path () -
-
soup_uri_get_port, soup_uri_get_port () -
-
soup_uri_get_query, soup_uri_get_query () -
-
soup_uri_get_scheme, soup_uri_get_scheme () -
-
soup_uri_get_user, soup_uri_get_user () -
-
soup_uri_host_equal, soup_uri_host_equal () -
-
soup_uri_host_hash, soup_uri_host_hash () -
-
SOUP_URI_IS_VALID, SOUP_URI_IS_VALID() -
-
soup_uri_new, soup_uri_new () -
-
soup_uri_new_with_base, soup_uri_new_with_base () -
-
soup_uri_normalize, soup_uri_normalize () -
-
SOUP_URI_SCHEME_DATA, SOUP_URI_SCHEME_DATA -
-
SOUP_URI_SCHEME_FILE, SOUP_URI_SCHEME_FILE -
-
SOUP_URI_SCHEME_FTP, SOUP_URI_SCHEME_FTP -
-
SOUP_URI_SCHEME_HTTP, SOUP_URI_SCHEME_HTTP -
-
SOUP_URI_SCHEME_HTTPS, SOUP_URI_SCHEME_HTTPS -
-
SOUP_URI_SCHEME_RESOURCE, SOUP_URI_SCHEME_RESOURCE -
-
soup_uri_set_fragment, soup_uri_set_fragment () -
-
soup_uri_set_host, soup_uri_set_host () -
-
soup_uri_set_password, soup_uri_set_password () -
-
soup_uri_set_path, soup_uri_set_path () -
-
soup_uri_set_port, soup_uri_set_port () -
-
soup_uri_set_query, soup_uri_set_query () -
-
soup_uri_set_query_from_fields, soup_uri_set_query_from_fields () -
-
soup_uri_set_query_from_form, soup_uri_set_query_from_form () -
-
soup_uri_set_scheme, soup_uri_set_scheme () -
-
soup_uri_set_user, soup_uri_set_user () -
-
soup_uri_to_string, soup_uri_to_string () -
-
soup_uri_uses_default_port, soup_uri_uses_default_port () -
-
SOUP_URI_VALID_FOR_HTTP, SOUP_URI_VALID_FOR_HTTP() -
-
soup_value_array_append, soup_value_array_append () -
-
soup_value_array_append_vals, soup_value_array_append_vals () -
-
soup_value_array_from_args, soup_value_array_from_args () -
-
soup_value_array_get_nth, soup_value_array_get_nth () -
-
soup_value_array_insert, soup_value_array_insert () -
-
soup_value_array_new, soup_value_array_new () -
-
soup_value_array_new_with_vals, soup_value_array_new_with_vals () -
-
soup_value_array_to_args, soup_value_array_to_args () -
-
SOUP_VALUE_GETV, SOUP_VALUE_GETV() -
-
soup_value_hash_insert, soup_value_hash_insert () -
-
soup_value_hash_insert_vals, soup_value_hash_insert_vals () -
-
soup_value_hash_insert_value, soup_value_hash_insert_value () -
-
soup_value_hash_lookup, soup_value_hash_lookup () -
-
soup_value_hash_lookup_vals, soup_value_hash_lookup_vals () -
-
soup_value_hash_new, soup_value_hash_new () -
-
soup_value_hash_new_with_vals, soup_value_hash_new_with_vals () -
-
SOUP_VALUE_SETV, SOUP_VALUE_SETV() -
-
SOUP_VERSION_2_24, SOUP_VERSION_2_24 -
-
SOUP_VERSION_2_26, SOUP_VERSION_2_26 -
-
SOUP_VERSION_2_28, SOUP_VERSION_2_28 -
-
SOUP_VERSION_2_30, SOUP_VERSION_2_30 -
-
SOUP_VERSION_2_32, SOUP_VERSION_2_32 -
-
SOUP_VERSION_2_34, SOUP_VERSION_2_34 -
-
SOUP_VERSION_2_36, SOUP_VERSION_2_36 -
-
SOUP_VERSION_2_38, SOUP_VERSION_2_38 -
-
SOUP_VERSION_2_40, SOUP_VERSION_2_40 -
-
SOUP_VERSION_2_42, SOUP_VERSION_2_42 -
-
SOUP_VERSION_2_44, SOUP_VERSION_2_44 -
-
SOUP_VERSION_2_46, SOUP_VERSION_2_46 -
-
SOUP_VERSION_MAX_ALLOWED, SOUP_VERSION_MAX_ALLOWED -
-
SOUP_VERSION_MIN_REQUIRED, SOUP_VERSION_MIN_REQUIRED -
-
soup_xmlrpc_build_fault, soup_xmlrpc_build_fault () -
-
soup_xmlrpc_build_method_call, soup_xmlrpc_build_method_call () -
-
soup_xmlrpc_build_method_response, soup_xmlrpc_build_method_response () -
-
soup_xmlrpc_extract_method_call, soup_xmlrpc_extract_method_call () -
-
soup_xmlrpc_extract_method_response, soup_xmlrpc_extract_method_response () -
-
SOUP_XMLRPC_FAULT, SOUP_XMLRPC_FAULT -
-
soup_xmlrpc_parse_method_call, soup_xmlrpc_parse_method_call () -
-
soup_xmlrpc_parse_method_response, soup_xmlrpc_parse_method_response () -
-
soup_xmlrpc_request_new, soup_xmlrpc_request_new () -
-
soup_xmlrpc_set_fault, soup_xmlrpc_set_fault () -
-
soup_xmlrpc_set_response, soup_xmlrpc_set_response () -
-
-
-
- - - \ No newline at end of file diff --git a/docs/reference/html/left-insensitive.png b/docs/reference/html/left-insensitive.png deleted file mode 100644 index 3269393a7f72af744a772c437bd7b3976c23709d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 395 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b zKpodXn9)gNb_Gz7y~NYkmHjTefH0HbvDJm`3=E7Co-U3d7N^fnTIWJ3j{^~q!iyia4kV=mdU|Jhfgdm;SLIpiYJ7wv^kjFiECCc&8T30!RG0~&BG=X zlu#U4@Z`))V`EG9e^NqDr#{!5k|)wT* zYTNt0`@q%TAD$){%#eQ?;$^ly8}yZCU%T~u0XM^%t?f#e znB*EuLv2rP%K3BMvFO}YmnR}KSgH;`EHL$)^!tH~iBxZ#h^zJi*#P5Xb6B50U@nx2 mU;T=yfcwnSOsS9SKd{M#MlNkCuvG>I8-u5-pUXO@geCx5`k@p6 diff --git a/docs/reference/html/left.png b/docs/reference/html/left.png deleted file mode 100644 index 2abde032b0c98b756b12d380da4318205cd78470..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 262 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b zKpodXn9)gNb_Gz7y~NYkmHjTefRMaSLay~*pwMJb7sn8b(^oI8=R24v(*CjE{-BFv z0BhvLm?o9(UC{-Ci?lD?Ve-7-xypA!PTC(0^;>UheG4Altep3@`rO0#Rjs1)RxCLr zE5mee>7m*=%yEk+GVvGkRy0O&*&MTd5SjH(lgq~7r%6oRW$l1p-*S}iC>@fyDsz%y z`UIW8^Ao=maGhj3E8{7Cd_qof`K4oa->23`>&M2+XBtd2J`8jogQu&X%Q~loCIG_? BVG#fT diff --git a/docs/reference/html/libsoup-2.4-GValue-Support.html b/docs/reference/html/libsoup-2.4-GValue-Support.html deleted file mode 100644 index 1ca5041..0000000 --- a/docs/reference/html/libsoup-2.4-GValue-Support.html +++ /dev/null @@ -1,885 +0,0 @@ - - - - -libsoup Reference Manual: GValue Support - - - - - - - - - - - - - - - - -
-
-
- - -
-

GValue Support

-

GValue Support — GValue utilities

-
-
-

Functions

-
---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-GHashTable * - -soup_value_hash_new () -
-GHashTable * - -soup_value_hash_new_with_vals () -
-void - -soup_value_hash_insert_value () -
-void - -soup_value_hash_insert () -
-void - -soup_value_hash_insert_vals () -
-gboolean - -soup_value_hash_lookup () -
-gboolean - -soup_value_hash_lookup_vals () -
-GValueArray * - -soup_value_array_from_args () -
-gboolean - -soup_value_array_to_args () -
-GValueArray * - -soup_value_array_new () -
-GValueArray * - -soup_value_array_new_with_vals () -
-void - -soup_value_array_insert () -
-void - -soup_value_array_append () -
-void - -soup_value_array_append_vals () -
-gboolean - -soup_value_array_get_nth () -
#define -SOUP_VALUE_SETV() -
#define -SOUP_VALUE_GETV() -
#defineSOUP_TYPE_BYTE_ARRAY
-
-
-

Object Hierarchy

-
-
-
-
-

Includes

-
#include <libsoup/soup.h>
-
-
-
-

Description

-

These methods are useful for manipulating GValues, and in -particular, arrays and hash tables of GValues, in a -slightly nicer way than the standard GValue API.

-

They are written for use with soup-xmlrpc, but they also work with -types not used by XML-RPC.

-
-
-

Functions

-
-

soup_value_hash_new ()

-
GHashTable *
-soup_value_hash_new (void);
-

Creates a GHashTable whose keys are strings and whose values -are GValue.

-
-

Returns

-

a new -empty GHashTable.

-

[element-type utf8 GValue][transfer full]

-
-
-
-
-

soup_value_hash_new_with_vals ()

-
GHashTable *
-soup_value_hash_new_with_vals (const char *first_key,
-                               ...);
-

Creates a GHashTable whose keys are strings and whose values -are GValue, and initializes it with the provided data. As -with soup_value_hash_insert(), the keys and values are copied -rather than being inserted directly.

-
-

Parameters

-
----- - - - - - - - - - - - - -

first_key

the key for the first value

 

...

the type of first_key -, followed by the value, followed -by additional key/type/value triplets, terminated by NULL

 
-
-
-

Returns

-

a new -GHashTable, initialized with the given values.

-

[element-type utf8 GValue][transfer full]

-
-
-
-
-

soup_value_hash_insert_value ()

-
void
-soup_value_hash_insert_value (GHashTable *hash,
-                              const char *key,
-                              GValue *value);
-

Inserts value - into hash -. (Unlike with g_hash_table_insert(), both -the key and the value are copied).

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

hash

a value hash.

[element-type utf8 GValue]

key

the key

 

value

a value

 
-
-
-
-
-

soup_value_hash_insert ()

-
void
-soup_value_hash_insert (GHashTable *hash,
-                        const char *key,
-                        GType type,
-                        ...);
-

Inserts the provided value of type type - into hash -. (Unlike with -g_hash_table_insert(), both the key and the value are copied).

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - -

hash

a value hash.

[element-type utf8 GValue]

key

the key

 

type

a GType

 

...

a value of type type -

 
-
-
-
-
-

soup_value_hash_insert_vals ()

-
void
-soup_value_hash_insert_vals (GHashTable *hash,
-                             const char *first_key,
-                             ...);
-

Inserts the given data into hash -. As with -soup_value_hash_insert(), the keys and values are copied rather -than being inserted directly.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

hash

a value hash.

[element-type utf8 GValue]

first_key

the key for the first value

 

...

the type of first_key -, followed by the value, followed -by additional key/type/value triplets, terminated by NULL

 
-
-
-
-
-

soup_value_hash_lookup ()

-
gboolean
-soup_value_hash_lookup (GHashTable *hash,
-                        const char *key,
-                        GType type,
-                        ...);
-

Looks up key - in hash - and stores its value into the provided -location.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - -

hash

a value hash.

[element-type utf8 GValue]

key

the key to look up

 

type

a GType

 

...

a value of type pointer-to-type -

 
-
-
-

Returns

-

TRUE if hash -contained a value with key key -and -type type -, FALSE if not.

-

-
-
-
-
-

soup_value_hash_lookup_vals ()

-
gboolean
-soup_value_hash_lookup_vals (GHashTable *hash,
-                             const char *first_key,
-                             ...);
-

Looks up a number of keys in hash - and returns their values.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

hash

a value hash.

[element-type utf8 GValue]

first_key

the first key to look up

 

...

the type of first_key -, a pointer to that type, and -then additional key/type/pointer triplets, terminated -by NULL.

 
-
-
-

Returns

-

TRUE if all of the keys were found, FALSE -if any were missing; note that you will generally need to -initialize each destination variable to a reasonable default -value, since there is no way to tell which keys were found -and which were not.

-

-
-
-
-
-

soup_value_array_from_args ()

-
GValueArray *
-soup_value_array_from_args (va_list args);
-

Creates a GValueArray from the provided arguments, which must -consist of pairs of a GType and a value of that type, terminated -by G_TYPE_INVALID. (The array will contain copies of the provided -data rather than pointing to the passed-in data directly.)

-
-

Parameters

-
----- - - - - - -

args

arguments to create a GValueArray from

 
-
-
-

Returns

-

a new GValueArray, or NULL if an error occurred.

-

-
-
-
-
-

soup_value_array_to_args ()

-
gboolean
-soup_value_array_to_args (GValueArray *array,
-                          va_list args);
-

Extracts a GValueArray into the provided arguments, which must -consist of pairs of a GType and a value of pointer-to-that-type, -terminated by G_TYPE_INVALID. The returned values will point to the -same memory as the values in the array.

-
-

Parameters

-
----- - - - - - - - - - - - - -

array

a GValueArray

 

args

arguments to extract array -into

 
-
-
-

Returns

-

success or failure

-

-
-
-
-
-

soup_value_array_new ()

-
GValueArray *
-soup_value_array_new (void);
-

Creates a new GValueArray. (This is just a wrapper around -g_value_array_new(), for naming consistency purposes.)

-
-

Returns

-

a new GValueArray

-

-
-
-
-
-

soup_value_array_new_with_vals ()

-
GValueArray *
-soup_value_array_new_with_vals (GType first_type,
-                                ...);
-

Creates a new GValueArray and copies the provided values -into it.

-
-

Parameters

-
----- - - - - - - - - - - - - -

first_type

the type of the first value to add

 

...

the first value to add, followed by other type/value -pairs, terminated by G_TYPE_INVALID

 
-
-
-

Returns

-

a new GValueArray

-

-
-
-
-
-

soup_value_array_insert ()

-
void
-soup_value_array_insert (GValueArray *array,
-                         guint index_,
-                         GType type,
-                         ...);
-

Inserts the provided value of type type - into array - as with -g_value_array_insert(). (The provided data is copied rather than -being inserted directly.)

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - -

array

a GValueArray

 

index_

the index to insert at

 

type

a GType

 

...

a value of type type -

 
-
-
-
-
-

soup_value_array_append ()

-
void
-soup_value_array_append (GValueArray *array,
-                         GType type,
-                         ...);
-

Appends the provided value of type type - to array - as with -g_value_array_append(). (The provided data is copied rather than -being inserted directly.)

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

array

a GValueArray

 

type

a GType

 

...

a value of type type -

 
-
-
-
-
-

soup_value_array_append_vals ()

-
void
-soup_value_array_append_vals (GValueArray *array,
-                              GType first_type,
-                              ...);
-

Appends the provided values into array - as with -g_value_array_append(). (The provided data is copied rather than -being inserted directly.)

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

array

a GValueArray

 

first_type

the type of the first value to add

 

...

the first value to add, followed by other type/value -pairs, terminated by G_TYPE_INVALID

 
-
-
-
-
-

soup_value_array_get_nth ()

-
gboolean
-soup_value_array_get_nth (GValueArray *array,
-                          guint index_,
-                          GType type,
-                          ...);
-

Gets the index_ - element of array - and stores its value into the -provided location.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - -

array

a GValueArray

 

index_

the index to look up

 

type

a GType

 

...

a value of type pointer-to-type -

 
-
-
-

Returns

-

TRUE if array -contained a value with index index_ -and type type -, FALSE if not.

-

-
-
-
-
-

SOUP_VALUE_SETV()

-
#define             SOUP_VALUE_SETV(val, type, args)
-

Copies an argument of type type - from args - into val -. val - will -point directly to the value in args - rather than copying it, so you -must g_value_copy() it if you want it to remain valid.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

val

a GValue

 

type

a GType

 

args

va_list pointing to a value of type type -

 
-
-
-
-
-

SOUP_VALUE_GETV()

-
#define             SOUP_VALUE_GETV(val, type, args)
-

Extracts a value of type type - from val - into args -. The return -value will point to the same data as val - rather than being a copy -of it.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

val

a GValue

 

type

a GType

 

args

va_list pointing to a value of type pointer-to-type -

 
-
-
-
-
-

SOUP_TYPE_BYTE_ARRAY

-
#define SOUP_TYPE_BYTE_ARRAY (soup_byte_array_get_type ())
-
-

glib did not used to define a GType for GByteArray, so libsoup -defines this one itself.

-
-
-
-

Types and Values

-
-
- - - \ No newline at end of file diff --git a/docs/reference/html/libsoup-2.4-HTML-Form-Support.html b/docs/reference/html/libsoup-2.4-HTML-Form-Support.html deleted file mode 100644 index 1574d1f..0000000 --- a/docs/reference/html/libsoup-2.4-HTML-Form-Support.html +++ /dev/null @@ -1,652 +0,0 @@ - - - - -libsoup Reference Manual: HTML Form Support - - - - - - - - - - - - - - - - -
-
-
- - -
-

HTML Form Support

-

HTML Form Support — HTML form handling

-
-
-

Functions

-
---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-GHashTable * - -soup_form_decode () -
-GHashTable * - -soup_form_decode_multipart () -
-char * - -soup_form_encode () -
-char * - -soup_form_encode_datalist () -
-char * - -soup_form_encode_hash () -
-char * - -soup_form_encode_valist () -
-SoupMessage * - -soup_form_request_new () -
-SoupMessage * - -soup_form_request_new_from_datalist () -
-SoupMessage * - -soup_form_request_new_from_hash () -
-SoupMessage * - -soup_form_request_new_from_multipart () -
-
-
-

Types and Values

-
---- - - - - - - - - - - -
#defineSOUP_FORM_MIME_TYPE_MULTIPART
#defineSOUP_FORM_MIME_TYPE_URLENCODED
-
-
-

Object Hierarchy

-
-
-
-
-

Includes

-
#include <libsoup/soup.h>
-
-
-
-

Description

-

libsoup contains several help methods for processing HTML forms as -defined by the -HTML 4.01 specification.

-
-
-

Functions

-
-

soup_form_decode ()

-
GHashTable *
-soup_form_decode (const char *encoded_form);
-

Decodes form -, which is an urlencoded dataset as defined in the -HTML 4.01 spec.

-
-

Parameters

-
----- - - - - - -

encoded_form

data of type "application/x-www-form-urlencoded"

 
-
-
-

Returns

-

a hash -table containing the name/value pairs from encoded_form -, which you -can free with g_hash_table_destroy().

-

[element-type utf8 utf8][transfer full]

-
-
-
-
-

soup_form_decode_multipart ()

-
GHashTable *
-soup_form_decode_multipart (SoupMessage *msg,
-                            const char *file_control_name,
-                            char **filename,
-                            char **content_type,
-                            SoupBuffer **file);
-

Decodes the "multipart/form-data" request in msg -; this is a -convenience method for the case when you have a single file upload -control in a form. (Or when you don't have any file upload -controls, but are still using "multipart/form-data" anyway.) Pass -the name of the file upload control in file_control_name -, and -soup_form_decode_multipart() will extract the uploaded file data -into filename -, content_type -, and file -. All of the other form -control data will be returned (as strings, as with -soup_form_decode()) in the returned GHashTable.

-

You may pass NULL for filename -, content_type - and/or file - if you do not -care about those fields. soup_form_decode_multipart() may also -return NULL in those fields if the client did not provide that -information. You must free the returned filename and content-type -with g_free(), and the returned file data with soup_buffer_free().

-

If you have a form with more than one file upload control, you will -need to decode it manually, using soup_multipart_new_from_message() -and soup_multipart_get_part().

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - - - - - - -

msg

a SoupMessage containing a "multipart/form-data" request body

 

file_control_name

the name of the HTML file upload control, or NULL.

[allow-none]

filename

return location for the name of the uploaded file, or NULL.

[out][allow-none]

content_type

return location for the MIME type of the uploaded file, or NULL.

[out][allow-none]

file

return location for the uploaded file data, or NULL.

[out][allow-none]
-
-
-

Returns

-

a hash -table containing the name/value pairs (other than -file_control_name -) from msg -, which you can free with -g_hash_table_destroy(). On error, it will return NULL.

-

[element-type utf8 utf8][transfer full]

-
-

Since 2.26

-
-
-
-

soup_form_encode ()

-
char *
-soup_form_encode (const char *first_field,
-                  ...);
-

Encodes the given field names and values into a value of type -"application/x-www-form-urlencoded", as defined in the HTML 4.01 -spec.

-

This method requires you to know the names of the form fields (or -at the very least, the total number of fields) at compile time; for -working with dynamic forms, use soup_form_encode_hash() or -soup_form_encode_datalist().

-
-

Parameters

-
----- - - - - - - - - - - - - -

first_field

name of the first form field

 

...

value of first_field -, followed by additional field names -and values, terminated by NULL.

 
-
-
-

Returns

-

the encoded form

-

-
-
-
-
-

soup_form_encode_datalist ()

-
char *
-soup_form_encode_datalist (GData **form_data_set);
-

Encodes form_data_set - into a value of type -"application/x-www-form-urlencoded", as defined in the HTML 4.01 -spec. Unlike soup_form_encode_hash(), this preserves the ordering -of the form elements, which may be required in some situations.

-
-

Parameters

-
----- - - - - - -

form_data_set

a datalist containing name/value pairs

 
-
-
-

Returns

-

the encoded form

-

-
-
-
-
-

soup_form_encode_hash ()

-
char *
-soup_form_encode_hash (GHashTable *form_data_set);
-

Encodes form_data_set - into a value of type -"application/x-www-form-urlencoded", as defined in the HTML 4.01 -spec.

-

Note that the HTML spec states that "The control names/values are -listed in the order they appear in the document." Since this method -takes a hash table, it cannot enforce that; if you care about the -ordering of the form fields, use soup_form_encode_datalist().

-
-

Parameters

-
----- - - - - - -

form_data_set

a hash table containing -name/value pairs (as strings).

[element-type utf8 utf8]
-
-
-

Returns

-

the encoded form

-

-
-
-
-
-

soup_form_encode_valist ()

-
char *
-soup_form_encode_valist (const char *first_field,
-                         va_list args);
-

See soup_form_encode(). This is mostly an internal method, used by -various other methods such as soup_uri_set_query_from_fields() and -soup_form_request_new().

-
-

Parameters

-
----- - - - - - - - - - - - - -

first_field

name of the first form field

 

args

pointer to additional values, as in soup_form_encode()

 
-
-
-

Returns

-

the encoded form

-

-
-
-
-
-

soup_form_request_new ()

-
SoupMessage *
-soup_form_request_new (const char *method,
-                       const char *uri,
-                       const char *first_field,
-                       ...);
-

Creates a new SoupMessage and sets it up to send the given data -to uri - via method -. (That is, if method - is "GET", it will encode -the form data into uri -'s query field, and if method - is "POST", it -will encode it into the SoupMessage's request_body.)

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - -

method

the HTTP method, either "GET" or "POST"

 

uri

the URI to send the form data to

 

first_field

name of the first form field

 

...

value of first_field -, followed by additional field names -and values, terminated by NULL.

 
-
-
-

Returns

-

the new SoupMessage.

-

[transfer full]

-
-
-
-
-

soup_form_request_new_from_datalist ()

-
SoupMessage *
-soup_form_request_new_from_datalist (const char *method,
-                                     const char *uri,
-                                     GData **form_data_set);
-

Creates a new SoupMessage and sets it up to send form_data_set - to -uri - via method -, as with soup_form_request_new().

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

method

the HTTP method, either "GET" or "POST"

 

uri

the URI to send the form data to

 

form_data_set

the data to send to uri -

 
-
-
-

Returns

-

the new SoupMessage.

-

[transfer full]

-
-
-
-
-

soup_form_request_new_from_hash ()

-
SoupMessage *
-soup_form_request_new_from_hash (const char *method,
-                                 const char *uri,
-                                 GHashTable *form_data_set);
-

Creates a new SoupMessage and sets it up to send form_data_set - to -uri - via method -, as with soup_form_request_new().

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

method

the HTTP method, either "GET" or "POST"

 

uri

the URI to send the form data to

 

form_data_set

the data to send to uri -.

[element-type utf8 utf8]
-
-
-

Returns

-

the new SoupMessage.

-

[transfer full]

-
-
-
-
-

soup_form_request_new_from_multipart ()

-
SoupMessage *
-soup_form_request_new_from_multipart (const char *uri,
-                                      SoupMultipart *multipart);
-

Creates a new SoupMessage and sets it up to send multipart - to -uri - via POST.

-

To send a "multipart/form-data" POST, first -create a SoupMultipart, using SOUP_FORM_MIME_TYPE_MULTIPART as -the MIME type. Then use soup_multipart_append_form_string() and -soup_multipart_append_form_file() to add the value of each form -control to the multipart. (These are just convenience methods, and -you can use soup_multipart_append_part() if you need greater -control over the part headers.) Finally, call -soup_form_request_new_from_multipart() to serialize the multipart -structure and create a SoupMessage.

-
-

Parameters

-
----- - - - - - - - - - - - - -

uri

the URI to send the form data to

 

multipart

a "multipart/form-data" SoupMultipart

 
-
-
-

Returns

-

the new SoupMessage.

-

[transfer full]

-
-

Since 2.26

-
-
-
-

Types and Values

-
-

SOUP_FORM_MIME_TYPE_MULTIPART

-
#define SOUP_FORM_MIME_TYPE_MULTIPART  "multipart/form-data"
-
-

A macro containing the value -"multipart/form-data"; the MIME type used for -posting form data that contains files to be uploaded.

-

Since 2.26

-
-
-
-

SOUP_FORM_MIME_TYPE_URLENCODED

-
#define SOUP_FORM_MIME_TYPE_URLENCODED "application/x-www-form-urlencoded"
-
-

A macro containing the value -"application/x-www-form-urlencoded"; the default -MIME type for POSTing HTML form data.

-

Since 2.26

-
-
-
-

See Also

-

SoupMultipart

-
-
- - - \ No newline at end of file diff --git a/docs/reference/html/libsoup-2.4-Soup-Miscellaneous-Utilities.html b/docs/reference/html/libsoup-2.4-Soup-Miscellaneous-Utilities.html deleted file mode 100644 index 2693a60..0000000 --- a/docs/reference/html/libsoup-2.4-Soup-Miscellaneous-Utilities.html +++ /dev/null @@ -1,1956 +0,0 @@ - - - - -libsoup Reference Manual: Soup Miscellaneous Utilities - - - - - - - - - - - - - - - - -
-
-
- - -
-

Soup Miscellaneous Utilities

-

Soup Miscellaneous Utilities — Miscellaneous functions

-
-
-

Functions

-
---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-SoupDate * - -soup_date_new () -
-SoupDate * - -soup_date_new_from_string () -
-SoupDate * - -soup_date_new_from_time_t () -
-SoupDate * - -soup_date_new_from_now () -
-char * - -soup_date_to_string () -
-time_t - -soup_date_to_time_t () -
-void - -soup_date_to_timeval () -
-gboolean - -soup_date_is_past () -
-int - -soup_date_get_day () -
-int - -soup_date_get_hour () -
-int - -soup_date_get_minute () -
-int - -soup_date_get_month () -
-int - -soup_date_get_offset () -
-int - -soup_date_get_second () -
-int - -soup_date_get_utc () -
-int - -soup_date_get_year () -
-void - -soup_date_free () -
-guint - -soup_headers_parse_request () -
-gboolean - -soup_headers_parse_response () -
-gboolean - -soup_headers_parse_status_line () -
-gboolean - -soup_headers_parse () -
-GSList * - -soup_header_parse_list () -
-GSList * - -soup_header_parse_quality_list () -
-void - -soup_header_free_list () -
-gboolean - -soup_header_contains () -
-GHashTable * - -soup_header_parse_param_list () -
-GHashTable * - -soup_header_parse_semi_param_list () -
-void - -soup_header_free_param_list () -
-void - -soup_header_g_string_append_param () -
-void - -soup_header_g_string_append_param_quoted () -
-gboolean - -soup_str_case_equal () -
-guint - -soup_str_case_hash () -
-GSource * - -soup_add_completion () -
-GSource * - -soup_add_idle () -
-GSource * - -soup_add_io_watch () -
-GSource * - -soup_add_timeout () -
-
-
-

Types and Values

-
---- - - - - - - - - - - -
 SoupDate
enumSoupDateFormat
-
-
-

Object Hierarchy

-
    GBoxed
-    ╰── SoupDate
-
-
-
-

Includes

-
#include <libsoup/soup.h>
-
-
-
-

Description

-
-
-

Functions

-
-

soup_date_new ()

-
SoupDate *
-soup_date_new (int year,
-               int month,
-               int day,
-               int hour,
-               int minute,
-               int second);
-

Creates a SoupDate representing the indicated time, UTC.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

year

the year (1-9999)

 

month

the month (1-12)

 

day

the day of the month (1-31, as appropriate for month -)

 

hour

the hour (0-23)

 

minute

the minute (0-59)

 

second

the second (0-59, or up to 61 for leap seconds)

 
-
-
-

Returns

-

a new SoupDate

-

-
-
-
-
-

soup_date_new_from_string ()

-
SoupDate *
-soup_date_new_from_string (const char *date_string);
-

Parses date_string - and tries to extract a date from it. This -recognizes all of the "HTTP-date" formats from RFC 2616, all ISO -8601 formats containing both a time and a date, RFC 2822 dates, -and reasonable approximations thereof. (Eg, it is lenient about -whitespace, leading "0"s, etc.)

-
-

Parameters

-
----- - - - - - -

date_string

the date in some plausible format

 
-
-
-

Returns

-

a new SoupDate, or NULL if date_string -could not -be parsed.

-

-
-
-
-
-

soup_date_new_from_time_t ()

-
SoupDate *
-soup_date_new_from_time_t (time_t when);
-

Creates a SoupDate corresponding to when -

-
-

Parameters

-
----- - - - - - -

when

a time_t

 
-
-
-

Returns

-

a new SoupDate

-

-
-
-
-
-

soup_date_new_from_now ()

-
SoupDate *
-soup_date_new_from_now (int offset_seconds);
-

Creates a SoupDate representing a time offset_seconds - after the -current time (or before it, if offset_seconds - is negative). If -offset_seconds is 0, returns the current time.

-

If offset_seconds - would indicate a time not expressible as a

-time_t, the return value will be clamped into range. -
-

Parameters

-
----- - - - - - -

offset_seconds

offset from current time

 
-
-
-

Returns

-

a new SoupDate

-

-
-
-
-
-

soup_date_to_string ()

-
char *
-soup_date_to_string (SoupDate *date,
-                     SoupDateFormat format);
-

Converts date - to a string in the format described by format -.

-
-

Parameters

-
----- - - - - - - - - - - - - -

date

a SoupDate

 

format

the format to generate the date in

 
-
-
-

Returns

-

date -as a string

-

-
-
-
-
-

soup_date_to_time_t ()

-
time_t
-soup_date_to_time_t (SoupDate *date);
-

Converts date - to a time_t.

-

If date - is not representable as a time_t, it will be -clamped into range. (In particular, some HTTP cookies have -expiration dates after "Y2.038k" (2038-01-19T03:14:07Z).)

-
-

Parameters

-
----- - - - - - -

date

a SoupDate

 
-
-
-

Returns

-

date -as a time_t

-

-
-
-
-
-

soup_date_to_timeval ()

-
void
-soup_date_to_timeval (SoupDate *date,
-                      GTimeVal *time);
-

Converts date - to a GTimeVal.

-
-

Parameters

-
----- - - - - - - - - - - - - -

date

a SoupDate

 

time

a GTimeVal structure in which to store the converted time.

[out]
-
-

Since 2.24

-
-
-
-

soup_date_is_past ()

-
gboolean
-soup_date_is_past (SoupDate *date);
-

Determines if date - is in the past.

-
-

Parameters

-
----- - - - - - -

date

a SoupDate

 
-
-
-

Returns

-

TRUE if date -is in the past

-

-
-

Since 2.24

-
-
-
-

soup_date_get_day ()

-
int
-soup_date_get_day (SoupDate *date);
-

Gets date -'s day.

-
-

Parameters

-
----- - - - - - -

date

a SoupDate

 
-
-
-

Returns

-

date -'s day

-

-
-

Since 2.32

-
-
-
-

soup_date_get_hour ()

-
int
-soup_date_get_hour (SoupDate *date);
-

Gets date -'s hour.

-
-

Parameters

-
----- - - - - - -

date

a SoupDate

 
-
-
-

Returns

-

date -'s hour

-

-
-

Since 2.32

-
-
-
-

soup_date_get_minute ()

-
int
-soup_date_get_minute (SoupDate *date);
-

Gets date -'s minute.

-
-

Parameters

-
----- - - - - - -

date

a SoupDate

 
-
-
-

Returns

-

date -'s minute

-

-
-

Since 2.32

-
-
-
-

soup_date_get_month ()

-
int
-soup_date_get_month (SoupDate *date);
-

Gets date -'s month.

-
-

Parameters

-
----- - - - - - -

date

a SoupDate

 
-
-
-

Returns

-

date -'s month

-

-
-

Since 2.32

-
-
-
-

soup_date_get_offset ()

-
int
-soup_date_get_offset (SoupDate *date);
-

Gets date -'s offset from UTC.

-
-

Parameters

-
----- - - - - - -

date

a SoupDate

 
-
-
-

Returns

-

date -'s offset from UTC. If soup_date_get_utc() -returns FALSE but soup_date_get_offset() returns 0, that means the -date is a "floating" time with no associated offset information.

-

-
-

Since 2.32

-
-
-
-

soup_date_get_second ()

-
int
-soup_date_get_second (SoupDate *date);
-

Gets date -'s second.

-
-

Parameters

-
----- - - - - - -

date

a SoupDate

 
-
-
-

Returns

-

date -'s second

-

-
-

Since 2.32

-
-
-
-

soup_date_get_utc ()

-
int
-soup_date_get_utc (SoupDate *date);
-

Gets date -'s UTC flag

-
-

Parameters

-
----- - - - - - -

date

a SoupDate

 
-
-
-

Returns

-

TRUE if date -is UTC.

-

-
-

Since 2.32

-
-
-
-

soup_date_get_year ()

-
int
-soup_date_get_year (SoupDate *date);
-

Gets date -'s year.

-
-

Parameters

-
----- - - - - - -

date

a SoupDate

 
-
-
-

Returns

-

date -'s year

-

-
-

Since 2.32

-
-
-
-

soup_date_free ()

-
void
-soup_date_free (SoupDate *date);
-

Frees date -.

-
-

Parameters

-
----- - - - - - -

date

a SoupDate

 
-
-

Since 2.24

-
-
-
-

soup_headers_parse_request ()

-
guint
-soup_headers_parse_request (const char *str,
-                            int len,
-                            SoupMessageHeaders *req_headers,
-                            char **req_method,
-                            char **req_path,
-                            SoupHTTPVersion *ver);
-

Parses the headers of an HTTP request in str - and stores the -results in req_method -, req_path -, ver -, and req_headers -.

-

Beware that req_headers - may be modified even on failure.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

str

the headers (up to, but not including, the trailing blank line)

 

len

length of str -

 

req_headers

SoupMessageHeaders to store the header values in

 

req_method

if non-NULL, will be filled in with the -request method.

[out][allow-none]

req_path

if non-NULL, will be filled in with the -request path.

[out][allow-none]

ver

if non-NULL, will be filled in with the HTTP -version.

[out][allow-none]
-
-
-

Returns

-

SOUP_STATUS_OK if the headers could be parsed, or an -HTTP error to be returned to the client if they could not be.

-

-
-
-
-
-

soup_headers_parse_response ()

-
gboolean
-soup_headers_parse_response (const char *str,
-                             int len,
-                             SoupMessageHeaders *headers,
-                             SoupHTTPVersion *ver,
-                             guint *status_code,
-                             char **reason_phrase);
-

Parses the headers of an HTTP response in str - and stores the -results in ver -, status_code -, reason_phrase -, and headers -.

-

Beware that headers - may be modified even on failure.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

str

the headers (up to, but not including, the trailing blank line)

 

len

length of str -

 

headers

SoupMessageHeaders to store the header values in

 

ver

if non-NULL, will be filled in with the HTTP -version.

[out][allow-none]

status_code

if non-NULL, will be filled in with -the status code.

[out][allow-none]

reason_phrase

if non-NULL, will be filled in with -the reason phrase.

[out][allow-none]
-
-
-

Returns

-

success or failure.

-

-
-
-
-
-

soup_headers_parse_status_line ()

-
gboolean
-soup_headers_parse_status_line (const char *status_line,
-                                SoupHTTPVersion *ver,
-                                guint *status_code,
-                                char **reason_phrase);
-

Parses the HTTP Status-Line string in status_line - into ver -, -status_code -, and reason_phrase -. status_line - must be terminated by -either "\0" or "\r\n".

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - -

status_line

an HTTP Status-Line

 

ver

if non-NULL, will be filled in with the HTTP -version.

[out][allow-none]

status_code

if non-NULL, will be filled in with -the status code.

[out][allow-none]

reason_phrase

if non-NULL, will be filled in with -the reason phrase.

[out][allow-none]
-
-
-

Returns

-

TRUE if status_line -was parsed successfully.

-

-
-
-
-
-

soup_headers_parse ()

-
gboolean
-soup_headers_parse (const char *str,
-                    int len,
-                    SoupMessageHeaders *dest);
-

Parses the headers of an HTTP request or response in str - and -stores the results in dest -. Beware that dest - may be modified even -on failure.

-

This is a low-level method; normally you would use -soup_headers_parse_request() or soup_headers_parse_response().

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

str

the header string (including the Request-Line or Status-Line, -but not the trailing blank line)

 

len

length of str -

 

dest

SoupMessageHeaders to store the header values in

 
-
-
-

Returns

-

success or failure

-

-
-

Since 2.26

-
-
-
-

soup_header_parse_list ()

-
GSList *
-soup_header_parse_list (const char *header);
-

Parses a header whose content is described by RFC2616 as -"something", where "something" does not itself contain commas, -except as part of quoted-strings.

-
-

Parameters

-
----- - - - - - -

header

a header value

 
-
-
-

Returns

-

a GSList of -list elements, as allocated strings.

-

[transfer full][element-type utf8]

-
-
-
-
-

soup_header_parse_quality_list ()

-
GSList *
-soup_header_parse_quality_list (const char *header,
-                                GSList **unacceptable);
-

Parses a header whose content is a list of items with optional -"qvalue"s (eg, Accept, Accept-Charset, Accept-Encoding, -Accept-Language, TE).

-

If unacceptable - is not NULL, then on return, it will contain the -items with qvalue 0. Either way, those items will be removed from -the main list.

-
-

Parameters

-
----- - - - - - - - - - - - - -

header

a header value

 

unacceptable

on -return, will contain a list of unacceptable values.

[out][allow-none][transfer full][element-type utf8]
-
-
-

Returns

-

a GSList of -acceptable values (as allocated strings), highest-qvalue first.

-

[transfer full][element-type utf8]

-
-
-
-
-

soup_header_free_list ()

-
void
-soup_header_free_list (GSList *list);
-

Frees list -.

-
-

Parameters

-
----- - - - - - -

list

a GSList returned from soup_header_parse_list() or -soup_header_parse_quality_list()

 
-
-
-
-
-

soup_header_contains ()

-
gboolean
-soup_header_contains (const char *header,
-                      const char *token);
-

Parses header - to see if it contains the token token - (matched -case-insensitively). Note that this can't be used with lists -that have qvalues.

-
-

Parameters

-
----- - - - - - - - - - - - - -

header

An HTTP header suitable for parsing with -soup_header_parse_list()

 

token

a token

 
-
-
-

Returns

-

whether or not header -contains token -

-

-
-
-
-
-

soup_header_parse_param_list ()

-
GHashTable *
-soup_header_parse_param_list (const char *header);
-

Parses a header which is a comma-delimited list of something like: -token [ "=" ( token | quoted-string ) ].

-

Tokens that don't have an associated value will still be added to -the resulting hash table, but with a NULL value.

-

This also handles RFC5987 encoding (which in HTTP is mostly used -for giving UTF8-encoded filenames in the Content-Disposition -header).

-
-

Parameters

-
----- - - - - - -

header

a header value

 
-
-
-

Returns

-

a -GHashTable of list elements, which can be freed with -soup_header_free_param_list().

-

[element-type utf8 utf8][transfer full]

-
-
-
-
-

soup_header_parse_semi_param_list ()

-
GHashTable *
-soup_header_parse_semi_param_list (const char *header);
-

Parses a header which is a semicolon-delimited list of something -like: token [ "=" ( token | quoted-string ) ].

-

Tokens that don't have an associated value will still be added to -the resulting hash table, but with a NULL value.

-

This also handles RFC5987 encoding (which in HTTP is mostly used -for giving UTF8-encoded filenames in the Content-Disposition -header).

-
-

Parameters

-
----- - - - - - -

header

a header value

 
-
-
-

Returns

-

a -GHashTable of list elements, which can be freed with -soup_header_free_param_list().

-

[element-type utf8 utf8][transfer full]

-
-

Since 2.24

-
-
-
-

soup_header_free_param_list ()

-
void
-soup_header_free_param_list (GHashTable *param_list);
-

Frees param_list -.

-
-

Parameters

-
----- - - - - - -

param_list

a GHashTable returned from soup_header_parse_param_list() -or soup_header_parse_semi_param_list().

[element-type utf8 utf8]
-
-
-
-
-

soup_header_g_string_append_param ()

-
void
-soup_header_g_string_append_param (GString *string,
-                                   const char *name,
-                                   const char *value);
-

Appends something like name -=value - to string -, -taking care to quote value - if needed, and if so, to escape any -quotes or backslashes in value -.

-

Alternatively, if value - is a non-ASCII UTF-8 string, it will be -appended using RFC5987 syntax. Although in theory this is supposed -to work anywhere in HTTP that uses this style of parameter, in -reality, it can only be used portably with the Content-Disposition -"filename" parameter.

-

If value - is NULL, this will just append name - to string -.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

string

a GString being used to construct an HTTP header value

 

name

a parameter name

 

value

a parameter value, or NULL

 
-
-

Since 2.26

-
-
-
-

soup_header_g_string_append_param_quoted ()

-
void
-soup_header_g_string_append_param_quoted
-                               (GString *string,
-                                const char *name,
-                                const char *value);
-

Appends something like name -="value -" to -string -, taking care to escape any quotes or backslashes in value -.

-

If value - is (non-ASCII) UTF-8, this will instead use RFC 5987 -encoding, just like soup_header_g_string_append_param().

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

string

a GString being used to construct an HTTP header value

 

name

a parameter name

 

value

a parameter value

 
-
-

Since 2.30

-
-
-
-

soup_str_case_equal ()

-
gboolean
-soup_str_case_equal (gconstpointer v1,
-                     gconstpointer v2);
-

Compares v1 - and v2 - in a case-insensitive manner

-
-

Parameters

-
----- - - - - - - - - - - - - -

v1

an ASCII string

 

v2

another ASCII string

 
-
-
-

Returns

-

TRUE if they are equal (modulo case)

-

-
-
-
-
-

soup_str_case_hash ()

-
guint
-soup_str_case_hash (gconstpointer key);
-

Hashes key - in a case-insensitive manner.

-
-

Parameters

-
----- - - - - - -

key

ASCII string to hash

 
-
-
-

Returns

-

the hash code.

-

-
-
-
-
-

soup_add_completion ()

-
GSource *
-soup_add_completion (GMainContext *async_context,
-                     GSourceFunc function,
-                     gpointer data);
-

Adds function - to be executed from inside async_context - with the -default priority. Use this when you want to complete an action in -async_context -'s main loop, as soon as possible.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

async_context

the GMainContext to dispatch the I/O -watch in, or NULL for the default context.

[allow-none]

function

the callback to invoke

 

data

user data to pass to function -

 
-
-
-

Returns

-

a GSource, which can be removed from async_context -with g_source_destroy().

-

-
-

Since 2.24

-
-
-
-

soup_add_idle ()

-
GSource *
-soup_add_idle (GMainContext *async_context,
-               GSourceFunc function,
-               gpointer data);
-

Adds an idle event as with g_idle_add(), but using the given -async_context -.

-

If you want function - to run "right away", use -soup_add_completion(), since that sets a higher priority on the -GSource than soup_add_idle() does.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

async_context

the GMainContext to dispatch the I/O -watch in, or NULL for the default context.

[allow-none]

function

the callback to invoke at idle time

 

data

user data to pass to function -

 
-
-
-

Returns

-

a GSource, which can be removed from async_context -with g_source_destroy().

-

-
-
-
-
-

soup_add_io_watch ()

-
GSource *
-soup_add_io_watch (GMainContext *async_context,
-                   GIOChannel *chan,
-                   GIOCondition condition,
-                   GIOFunc function,
-                   gpointer data);
-

Adds an I/O watch as with g_io_add_watch(), but using the given -async_context -.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - - - - - - -

async_context

the GMainContext to dispatch the I/O -watch in, or NULL for the default context.

[allow-none]

chan

the GIOChannel to watch

 

condition

the condition to watch for

 

function

the callback to invoke when condition -occurs

 

data

user data to pass to function -

 
-
-
-

Returns

-

a GSource, which can be removed from async_context -with g_source_destroy().

-

-
-
-
-
-

soup_add_timeout ()

-
GSource *
-soup_add_timeout (GMainContext *async_context,
-                  guint interval,
-                  GSourceFunc function,
-                  gpointer data);
-

Adds a timeout as with g_timeout_add(), but using the given -async_context -.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - -

async_context

the GMainContext to dispatch the I/O -watch in, or NULL for the default context.

[allow-none]

interval

the timeout interval, in milliseconds

 

function

the callback to invoke at timeout time

 

data

user data to pass to function -

 
-
-
-

Returns

-

a GSource, which can be removed from async_context -with g_source_destroy().

-

-
-
-
-
-

Types and Values

-
-

SoupDate

-
typedef struct {
-	int      year;
-	int      month;
-	int      day;
-
-	int      hour;
-	int      minute;
-	int      second;
-
-	gboolean utc;
-	int      offset;
-} SoupDate;
-
-

A date and time. The date is assumed to be in the (proleptic) -Gregorian calendar. The time is in UTC if utc - is TRUE. Otherwise, -the time is a local time, and offset - gives the offset from UTC in -minutes (such that adding offset - to the time would give the -correct UTC time). If utc - is FALSE and offset - is 0, then the -SoupDate represents a "floating" time with no associated timezone -information.

-
-

Members

-
----- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

int year;

the year, 1 to 9999

 

int month;

the month, 1 to 12

 

int day;

day of the month, 1 to 31

 

int hour;

hour of the day, 0 to 23

 

int minute;

minute, 0 to 59

 

int second;

second, 0 to 59 (or up to 61 in the case of leap seconds)

 

gboolean utc;

TRUE if the date is in UTC

 

int offset;

offset from UTC

 
-
-
-
-
-

enum SoupDateFormat

-

Date formats that soup_date_to_string() can use.

-

SOUP_DATE_HTTP - and SOUP_DATE_COOKIE - always coerce the time to -UTC. SOUP_DATE_ISO8601_XMLRPC - uses the time as given, ignoring the -offset completely. SOUP_DATE_RFC2822 - and the other ISO 8601 -variants use the local time, appending the offset information if -available.

-

This enum may be extended with more values in future releases.

-
-

Members

-
----- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

SOUP_DATE_HTTP

-

RFC 1123 format, used by the HTTP "Date" header. Eg -"Sun, 06 Nov 1994 08:49:37 GMT"

-
 

SOUP_DATE_COOKIE

-

The format for the "Expires" timestamp in the -Netscape cookie specification. Eg, "Sun, 06-Nov-1994 08:49:37 GMT".

-
 

SOUP_DATE_RFC2822

-

RFC 2822 format, eg "Sun, 6 Nov 1994 09:49:37 -0100"

-
 

SOUP_DATE_ISO8601_COMPACT

-

ISO 8601 date/time with no optional -punctuation. Eg, "19941106T094937-0100".

-
 

SOUP_DATE_ISO8601_FULL

-

ISO 8601 date/time with all optional -punctuation. Eg, "1994-11-06T09:49:37-01:00".

-
 

SOUP_DATE_ISO8601

-

An alias for SOUP_DATE_ISO8601_FULL -.

-
 

SOUP_DATE_ISO8601_XMLRPC

-

ISO 8601 date/time as used by XML-RPC. -Eg, "19941106T09:49:37".

-
 
-
-
-
-
- - - \ No newline at end of file diff --git a/docs/reference/html/libsoup-2.4-Top-Level-Domain-utils.html b/docs/reference/html/libsoup-2.4-Top-Level-Domain-utils.html deleted file mode 100644 index 2d9cc67..0000000 --- a/docs/reference/html/libsoup-2.4-Top-Level-Domain-utils.html +++ /dev/null @@ -1,252 +0,0 @@ - - - - -libsoup Reference Manual: Top Level Domain utils - - - - - - - - - - - - - - - - -
-
-
- - -
-

Top Level Domain utils

-

Top Level Domain utils — Top-Level Domain Utilities

-
-
-

Functions

-
---- - - - - - - - - - - -
const char * - -soup_tld_get_base_domain () -
-gboolean - -soup_tld_domain_is_public_suffix () -
-
-
-

Types and Values

-
---- - - - - - - - - - - -
#defineSOUP_TLD_ERROR
enumSoupTLDError
-
-
-

Object Hierarchy

-
-
-
-
-

Includes

-
#include <libsoup/soup.h>
-
-
-
-

Description

-

These functions can be used to parse hostnames to attempt to determine -what part of the name belongs to the domain owner, and what part is -simply a "public suffix" such as ".com".

-
-
-

Functions

-
-

soup_tld_get_base_domain ()

-
const char *
-soup_tld_get_base_domain (const char *hostname,
-                          GError **error);
-

Finds the base domain for a given hostname -. The base domain is -composed by the top level domain (such as .org, .com, .co.uk, etc) -plus the second level domain, for example for myhost.mydomain.com -it will return mydomain.com.

-

Note that NULL will be returned for private URLs (those not ending -with any well known TLD) because choosing a base domain for them -would be totally arbitrary.

-

Prior to libsoup 2.46, this function required that hostname - be in -UTF-8 if it was an IDN. From 2.46 on, the name can be in either -UTF-8 or ASCII format (and the return value will be in the same -format).

-
-

Parameters

-
----- - - - - - - - - - - - - -

hostname

a hostname

 

error

return location for a GError, or NULL to ignore -errors. See SoupTLDError for the available error codes

 
-
-
-

Returns

-

a pointer to the start of the base domain in hostname -. If -an error occurs, NULL will be returned and error -set.

-

-
-

Since 2.40

-
-
-
-

soup_tld_domain_is_public_suffix ()

-
gboolean
-soup_tld_domain_is_public_suffix (const char *domain);
-

Looks whether the domain - passed as argument is a public domain -suffix (.org, .com, .co.uk, etc) or not.

-

Prior to libsoup 2.46, this function required that domain - be in -UTF-8 if it was an IDN. From 2.46 on, the name can be in either -UTF-8 or ASCII format (and the return value will be in the same -format).

-
-

Parameters

-
----- - - - - - -

domain

a domain name

 
-
-
-

Returns

-

TRUE if it is a public domain, FALSE otherwise.

-

-
-

Since 2.40

-
-
-
-

Types and Values

-
-

SOUP_TLD_ERROR

-
#define SOUP_TLD_ERROR soup_tld_error_quark()
-
-

The GError domain for soup-tld-related errors.

-

Since 2.40

-
-
-
-

enum SoupTLDError

-

Error codes for SOUP_TLD_ERROR.

-
-

Members

-
----- - - - - - - - - - - - - - - - - - - - - - - -

SOUP_TLD_ERROR_INVALID_HOSTNAME

-

A hostname was syntactically - invalid.

-
 

SOUP_TLD_ERROR_IS_IP_ADDRESS

-

The passed-in "hostname" was - actually an IP address (and thus has no base domain or - public suffix).

-
 

SOUP_TLD_ERROR_NOT_ENOUGH_DOMAINS

-

The passed-in hostname - did not have enough components. Eg, calling - soup_tld_get_base_domain() on "co.uk".

-
 

SOUP_TLD_ERROR_NO_BASE_DOMAIN

-

The passed-in hostname has - no recognized public suffix.

-
 
-
-

Since 2.40

-
-
-
- - - \ No newline at end of file diff --git a/docs/reference/html/libsoup-2.4-Version-Information.html b/docs/reference/html/libsoup-2.4-Version-Information.html deleted file mode 100644 index bf91749..0000000 --- a/docs/reference/html/libsoup-2.4-Version-Information.html +++ /dev/null @@ -1,499 +0,0 @@ - - - - -libsoup Reference Manual: Version Information - - - - - - - - - - - - - - - - -
-
-
- - -
-

Version Information

-

Version Information — Variables and functions to check the libsoup version

-
-
-

Functions

-
---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-guint - -soup_get_major_version () -
-guint - -soup_get_minor_version () -
-guint - -soup_get_micro_version () -
-gboolean - -soup_check_version () -
#defineSOUP_MAJOR_VERSION
#defineSOUP_MINOR_VERSION
#defineSOUP_MICRO_VERSION
#define -SOUP_CHECK_VERSION() -
#defineSOUP_VERSION_MIN_REQUIRED
#defineSOUP_VERSION_MAX_ALLOWED
#defineSOUP_VERSION_2_24
#defineSOUP_VERSION_2_26
#defineSOUP_VERSION_2_28
#defineSOUP_VERSION_2_30
#defineSOUP_VERSION_2_32
#defineSOUP_VERSION_2_34
#defineSOUP_VERSION_2_36
#defineSOUP_VERSION_2_38
#defineSOUP_VERSION_2_40
#defineSOUP_VERSION_2_42
#defineSOUP_VERSION_2_44
#defineSOUP_VERSION_2_46
-
-
-

Object Hierarchy

-
-
-
-
-

Includes

-
#include <libsoup/soup.h>
-
-
-
-

Description

-
-
-

Functions

-
-

soup_get_major_version ()

-
guint
-soup_get_major_version (void);
-

Returns the major version number of the libsoup library. -(e.g. in libsoup version 2.42.0 this is 2.)

-

This function is in the library, so it represents the libsoup library -your code is running against. Contrast with the SOUP_MAJOR_VERSION -macro, which represents the major version of the libsoup headers you -have included when compiling your code.

-
-

Returns

-

the major version number of the libsoup library

-

-
-

Since 2.42

-
-
-
-

soup_get_minor_version ()

-
guint
-soup_get_minor_version (void);
-

Returns the minor version number of the libsoup library. -(e.g. in libsoup version 2.42.0 this is 42.)

-

This function is in the library, so it represents the libsoup library -your code is running against. Contrast with the SOUP_MINOR_VERSION -macro, which represents the minor version of the libsoup headers you -have included when compiling your code.

-
-

Returns

-

the minor version number of the libsoup library

-

-
-

Since 2.42

-
-
-
-

soup_get_micro_version ()

-
guint
-soup_get_micro_version (void);
-

Returns the micro version number of the libsoup library. -(e.g. in libsoup version 2.42.0 this is 0.)

-

This function is in the library, so it represents the libsoup library -your code is running against. Contrast with the SOUP_MICRO_VERSION -macro, which represents the micro version of the libsoup headers you -have included when compiling your code.

-
-

Returns

-

the micro version number of the libsoup library

-

-
-

Since 2.42

-
-
-
-

soup_check_version ()

-
gboolean
-soup_check_version (guint major,
-                    guint minor,
-                    guint micro);
-

Like SOUP_CHECK_VERSION, but the check for soup_check_version is -at runtime instead of compile time. This is useful for compiling -against older versions of libsoup, but using features from newer -versions.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

major

the major version to check

 

minor

the minor version to check

 

micro

the micro version to check

 
-
-
-

Returns

-

TRUE if the version of the libsoup currently loaded -is the same as or newer than the passed-in version.

-

-
-

Since 2.42

-
-
-
-

SOUP_MAJOR_VERSION

-
#define SOUP_MAJOR_VERSION (2)
-
-

Like soup_get_major_version(), but from the headers used at -application compile time, rather than from the library linked -against at application run time.

-

Since 2.42

-
-
-
-

SOUP_MINOR_VERSION

-
#define SOUP_MINOR_VERSION (45)
-
-

Like soup_get_minor_version(), but from the headers used at -application compile time, rather than from the library linked -against at application run time.

-

Since 2.42

-
-
-
-

SOUP_MICRO_VERSION

-
#define SOUP_MICRO_VERSION (92)
-
-

Like soup_get_micro_version(), but from the headers used at -application compile time, rather than from the library linked -against at application run time.

-

Since 2.42

-
-
-
-

SOUP_CHECK_VERSION()

-
#define             SOUP_CHECK_VERSION(major, minor, micro)
-

Macro to test the version of libsoup being compiled against.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

major

major version (e.g. 2 for version 2.42.0)

 

minor

minor version (e.g. 42 for version 2.42.0)

 

micro

micro version (e.g. 0 for version 2.42.0)

 
-
-
-

Returns

-

TRUE if the version of the libsoup header files -is the same as or newer than the passed-in version.

-

-
-

Since 2.42

-
-
-
-

SOUP_VERSION_MIN_REQUIRED

-
# define SOUP_VERSION_MIN_REQUIRED (SOUP_VERSION_CUR_STABLE)
-
-

A macro that should be defined by the user prior to including -libsoup.h. The definition should be one of the predefined libsoup -version macros: SOUP_VERSION_2_24, SOUP_VERSION_2_26, ...

-

This macro defines the earliest version of libsoup that the package -is required to be able to compile against.

-

If the compiler is configured to warn about the use of deprecated -functions, then using functions that were deprecated in version -SOUP_VERSION_MIN_REQUIRED or earlier will cause warnings (but -using functions deprecated in later releases will not).

-

Since 2.42

-
-
-
-

SOUP_VERSION_MAX_ALLOWED

-
# define SOUP_VERSION_MAX_ALLOWED (SOUP_VERSION_CUR_STABLE)
-
-

A macro that should be defined by the user prior to including -libsoup.h. The definition should be one of the predefined libsoup -version macros: SOUP_VERSION_2_24, SOUP_VERSION_2_26, ...

-

This macro defines the latest version of the libsoup API that the -package is allowed to make use of.

-

If the compiler is configured to warn about the use of deprecated -functions, then using functions added after version -SOUP_VERSION_MAX_ALLOWED will cause warnings.

-

Unless you are using SOUP_CHECK_VERSION() or the like to compile -different code depending on the libsoup version, then this should be -set to the same value as SOUP_VERSION_MIN_REQUIRED.

-

Since 2.42

-
-
-
-

SOUP_VERSION_2_24

-
#define SOUP_VERSION_2_24 (SOUP_ENCODE_VERSION (2, 24))
-
-

A macro that evaluates to the 2.24 version of libsoup, in a format -that can be used by SOUP_VERSION_MIN_REQUIRED and -SOUP_VERSION_MAX_ALLOWED.

-

Since 2.42

-
-
-
-

SOUP_VERSION_2_26

-
#define SOUP_VERSION_2_26 (SOUP_ENCODE_VERSION (2, 26))
-
-

A macro that evaluates to the 2.26 version of libsoup, in a format -that can be used by SOUP_VERSION_MIN_REQUIRED and -SOUP_VERSION_MAX_ALLOWED.

-

Since 2.42

-
-
-
-

SOUP_VERSION_2_28

-
#define SOUP_VERSION_2_28 (SOUP_ENCODE_VERSION (2, 28))
-
-

A macro that evaluates to the 2.28 version of libsoup, in a format -that can be used by SOUP_VERSION_MIN_REQUIRED and -SOUP_VERSION_MAX_ALLOWED.

-

Since 2.42

-
-
-
-

SOUP_VERSION_2_30

-
#define SOUP_VERSION_2_30 (SOUP_ENCODE_VERSION (2, 30))
-
-

A macro that evaluates to the 2.30 version of libsoup, in a format -that can be used by SOUP_VERSION_MIN_REQUIRED and -SOUP_VERSION_MAX_ALLOWED.

-

Since 2.42

-
-
-
-

SOUP_VERSION_2_32

-
#define SOUP_VERSION_2_32 (SOUP_ENCODE_VERSION (2, 32))
-
-

A macro that evaluates to the 2.32 version of libsoup, in a format -that can be used by SOUP_VERSION_MIN_REQUIRED and -SOUP_VERSION_MAX_ALLOWED.

-

Since 2.42

-
-
-
-

SOUP_VERSION_2_34

-
#define SOUP_VERSION_2_34 (SOUP_ENCODE_VERSION (2, 34))
-
-

A macro that evaluates to the 2.34 version of libsoup, in a format -that can be used by SOUP_VERSION_MIN_REQUIRED and -SOUP_VERSION_MAX_ALLOWED.

-

Since 2.42

-
-
-
-

SOUP_VERSION_2_36

-
#define SOUP_VERSION_2_36 (SOUP_ENCODE_VERSION (2, 36))
-
-

A macro that evaluates to the 2.36 version of libsoup, in a format -that can be used by SOUP_VERSION_MIN_REQUIRED and -SOUP_VERSION_MAX_ALLOWED.

-

Since 2.42

-
-
-
-

SOUP_VERSION_2_38

-
#define SOUP_VERSION_2_38 (SOUP_ENCODE_VERSION (2, 38))
-
-

A macro that evaluates to the 2.38 version of libsoup, in a format -that can be used by SOUP_VERSION_MIN_REQUIRED and -SOUP_VERSION_MAX_ALLOWED.

-

Since 2.42

-
-
-
-

SOUP_VERSION_2_40

-
#define SOUP_VERSION_2_40 (SOUP_ENCODE_VERSION (2, 40))
-
-

A macro that evaluates to the 2.40 version of libsoup, in a format -that can be used by SOUP_VERSION_MIN_REQUIRED and -SOUP_VERSION_MAX_ALLOWED.

-

Since 2.42

-
-
-
-

SOUP_VERSION_2_42

-
#define SOUP_VERSION_2_42 (SOUP_ENCODE_VERSION (2, 42))
-
-

A macro that evaluates to the 2.42 version of libsoup, in a format -that can be used by SOUP_VERSION_MIN_REQUIRED and -SOUP_VERSION_MAX_ALLOWED.

-

Since 2.42

-
-
-
-

SOUP_VERSION_2_44

-
#define SOUP_VERSION_2_44 (SOUP_ENCODE_VERSION (2, 44))
-
-

A macro that evaluates to the 2.44 version of libsoup, in a format -that can be used by SOUP_VERSION_MIN_REQUIRED and -SOUP_VERSION_MAX_ALLOWED.

-

Since 2.44

-
-
-
-

SOUP_VERSION_2_46

-
#define SOUP_VERSION_2_46 (SOUP_ENCODE_VERSION (2, 46))
-
-

A macro that evaluates to the 2.46 version of libsoup, in a format -that can be used by SOUP_VERSION_MIN_REQUIRED and -SOUP_VERSION_MAX_ALLOWED.

-

Since 2.46

-
-
-
-

Types and Values

-
-
- - - \ No newline at end of file diff --git a/docs/reference/html/libsoup-2.4-XMLRPC-Support.html b/docs/reference/html/libsoup-2.4-XMLRPC-Support.html deleted file mode 100644 index b426530..0000000 --- a/docs/reference/html/libsoup-2.4-XMLRPC-Support.html +++ /dev/null @@ -1,790 +0,0 @@ - - - - -libsoup Reference Manual: XMLRPC Support - - - - - - - - - - - - - - - - -
-
-
- - -
-

XMLRPC Support

-

XMLRPC Support — XML-RPC support

-
-
-

Functions

-
---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-char * - -soup_xmlrpc_build_method_call () -
-SoupMessage * - -soup_xmlrpc_request_new () -
-gboolean - -soup_xmlrpc_parse_method_response () -
-gboolean - -soup_xmlrpc_extract_method_response () -
-gboolean - -soup_xmlrpc_parse_method_call () -
-gboolean - -soup_xmlrpc_extract_method_call () -
-char * - -soup_xmlrpc_build_method_response () -
-char * - -soup_xmlrpc_build_fault () -
-void - -soup_xmlrpc_set_response () -
-void - -soup_xmlrpc_set_fault () -
-
-
-

Types and Values

-
---- - - - - - - - - - - -
#defineSOUP_XMLRPC_FAULT
enumSoupXMLRPCFault
-
-
-

Object Hierarchy

-
-
-
-
-

Includes

-
#include <libsoup/soup.h>
-
-
-
-

Description

-
-
-

Functions

-
-

soup_xmlrpc_build_method_call ()

-
char *
-soup_xmlrpc_build_method_call (const char *method_name,
-                               GValue *params,
-                               int n_params);
-

This creates an XML-RPC methodCall and returns it as a string. -This is the low-level method that soup_xmlrpc_request_new() is -built on.

-

params - is an array of GValue representing the parameters to -method -. (It is *not* a GValueArray, although if you have a -GValueArray, you can just pass its valuesf and -n_values fields.)

-

The correspondence between glib types and XML-RPC types is:

-

int: int (G_TYPE_INT) - boolean: gboolean (G_TYPE_BOOLEAN) - string: char* (G_TYPE_STRING) - double: double (G_TYPE_DOUBLE) - datetime.iso8601: SoupDate (SOUP_TYPE_DATE) - base64: GByteArray (SOUP_TYPE_BYTE_ARRAY) - struct: GHashTable (G_TYPE_HASH_TABLE) - array: GValueArray (G_TYPE_VALUE_ARRAY)

-

For structs, use a GHashTable that maps strings to GValue; -soup_value_hash_new() and related methods can help with this.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

method_name

the name of the XML-RPC method

 

params

arguments to method -.

[array length=n_params]

n_params

length of params -

 
-
-
-

Returns

-

the text of the methodCall, or NULL on error

-

-
-
-
-
-

soup_xmlrpc_request_new ()

-
SoupMessage *
-soup_xmlrpc_request_new (const char *uri,
-                         const char *method_name,
-                         ...);
-

Creates an XML-RPC methodCall and returns a SoupMessage, ready -to send, for that method call.

-

The parameters are passed as type/value pairs; ie, first a GType, -and then a value of the appropriate type, finally terminated by -G_TYPE_INVALID.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

uri

URI of the XML-RPC service

 

method_name

the name of the XML-RPC method to invoke at uri -

 

...

parameters for method -

 
-
-
-

Returns

-

a SoupMessage encoding the -indicated XML-RPC request.

-

[transfer full]

-
-
-
-
-

soup_xmlrpc_parse_method_response ()

-
gboolean
-soup_xmlrpc_parse_method_response (const char *method_response,
-                                   int length,
-                                   GValue *value,
-                                   GError **error);
-

Parses method_response - and returns the return value in value -. If -method_response - is a fault, value - will be unchanged, and error - -will be set to an error of type SOUP_XMLRPC_FAULT, with the error -code containing the fault code, and the error message containing -the fault string. (If method_response - cannot be parsed at all, -soup_xmlrpc_parse_method_response() will return FALSE, but error - -will be unset.)

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - -

method_response

the XML-RPC methodResponse string

 

length

the length of method_response -, or -1 if it is NUL-terminated

 

value

on return, the return value from method_call -.

[out]

error

error return value

 
-
-
-

Returns

-

TRUE if a return value was parsed, FALSE if the -response could not be parsed, or contained a fault.

-

-
-
-
-
-

soup_xmlrpc_extract_method_response ()

-
gboolean
-soup_xmlrpc_extract_method_response (const char *method_response,
-                                     int length,
-                                     GError **error,
-                                     GType type,
-                                     ...);
-

Parses method_response - and extracts the return value into -a variable of the correct type.

-

If method_response - is a fault, the return value will be unset, -and error - will be set to an error of type SOUP_XMLRPC_FAULT, with -the error code containing the fault code, and the error message -containing the fault string. (If method_response - cannot be parsed -at all, soup_xmlrpc_extract_method_response() will return FALSE, -but error - will be unset.)

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - - - - - - -

method_response

the XML-RPC methodResponse string

 

length

the length of method_response -, or -1 if it is NUL-terminated

 

error

error return value

 

type

the expected type of the return value

 

...

location for return value

 
-
-
-

Returns

-

TRUE if a return value was parsed, FALSE if the -response was of the wrong type, or contained a fault.

-

-
-
-
-
-

soup_xmlrpc_parse_method_call ()

-
gboolean
-soup_xmlrpc_parse_method_call (const char *method_call,
-                               int length,
-                               char **method_name,
-                               GValueArray **params);
-

Parses method_call - to get the name and parameters, and returns the -parameter values in a GValueArray; see also -soup_xmlrpc_extract_method_call(), which is more convenient if you -know in advance what the types of the parameters will be.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - -

method_call

the XML-RPC methodCall string

 

length

the length of method_call -, or -1 if it is NUL-terminated

 

method_name

on return, the methodName from method_call -.

[out]

params

on return, the parameters from method_call -.

[out]
-
-
-

Returns

-

success or failure.

-

-
-
-
-
-

soup_xmlrpc_extract_method_call ()

-
gboolean
-soup_xmlrpc_extract_method_call (const char *method_call,
-                                 int length,
-                                 char **method_name,
-                                 ...);
-

Parses method_call - to get the name and parameters, and puts -the parameters into variables of the appropriate types.

-

The parameters are handled similarly to -soup_xmlrpc_build_method_call -, with pairs of types and values, -terminated by G_TYPE_INVALID, except that values are pointers to -variables of the indicated type, rather than values of the type.

-

See also soup_xmlrpc_parse_method_call(), which can be used if -you don't know the types of the parameters.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - -

method_call

the XML-RPC methodCall string

 

length

the length of method_call -, or -1 if it is NUL-terminated

 

method_name

on return, the methodName from method_call -.

[out]

...

return types and locations for parameters

 
-
-
-

Returns

-

success or failure.

-

-
-
-
-
-

soup_xmlrpc_build_method_response ()

-
char *
-soup_xmlrpc_build_method_response (GValue *value);
-

This creates a (successful) XML-RPC methodResponse and returns it -as a string. To create a fault response, use -soup_xmlrpc_build_fault().

-

The glib type to XML-RPC type mapping is as with -soup_xmlrpc_build_method_call(), qv.

-
-

Parameters

-
----- - - - - - -

value

the return value

 
-
-
-

Returns

-

the text of the methodResponse, or NULL on error

-

-
-
-
-
-

soup_xmlrpc_build_fault ()

-
char *
-soup_xmlrpc_build_fault (int fault_code,
-                         const char *fault_format,
-                         ...);
-

This creates an XML-RPC fault response and returns it as a string. -(To create a successful response, use -soup_xmlrpc_build_method_response().)

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

fault_code

the fault code

 

fault_format

a printf()-style format string

 

...

the parameters to fault_format -

 
-
-
-

Returns

-

the text of the fault

-

-
-
-
-
-

soup_xmlrpc_set_response ()

-
void
-soup_xmlrpc_set_response (SoupMessage *msg,
-                          GType type,
-                          ...);
-

Sets the status code and response body of msg - to indicate a -successful XML-RPC call, with a return value given by type - and the -following varargs argument, of the type indicated by type -.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

msg

an XML-RPC request

 

type

the type of the response value

 

...

the response value

 
-
-
-
-
-

soup_xmlrpc_set_fault ()

-
void
-soup_xmlrpc_set_fault (SoupMessage *msg,
-                       int fault_code,
-                       const char *fault_format,
-                       ...);
-

Sets the status code and response body of msg - to indicate an -unsuccessful XML-RPC call, with the error described by fault_code - -and fault_format -.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - -

msg

an XML-RPC request

 

fault_code

the fault code

 

fault_format

a printf()-style format string

 

...

the parameters to fault_format -

 
-
-
-
-
-

Types and Values

-
-

SOUP_XMLRPC_FAULT

-
#define SOUP_XMLRPC_FAULT soup_xmlrpc_fault_quark()
-
-

A GError domain representing an XML-RPC fault code. Used with -SoupXMLRPCFault (although servers may also return fault codes not -in that enumeration).

-
-
-
-

enum SoupXMLRPCFault

-

Pre-defined XML-RPC fault codes from http://xmlrpc-epi.sourceforge.net/specs/rfc.fault_codes.php. -These are an extension, not part of the XML-RPC spec; you can't -assume servers will use them.

-
-

Members

-
----- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

SOUP_XMLRPC_FAULT_PARSE_ERROR_NOT_WELL_FORMED

-

request was not - well-formed

-
 

SOUP_XMLRPC_FAULT_PARSE_ERROR_UNSUPPORTED_ENCODING

-

request was in - an unsupported encoding

-
 

SOUP_XMLRPC_FAULT_PARSE_ERROR_INVALID_CHARACTER_FOR_ENCODING

-

request contained an invalid character

-
 

SOUP_XMLRPC_FAULT_SERVER_ERROR_INVALID_XML_RPC

-

request was not - valid XML-RPC

-
 

SOUP_XMLRPC_FAULT_SERVER_ERROR_REQUESTED_METHOD_NOT_FOUND

-

method - not found

-
 

SOUP_XMLRPC_FAULT_SERVER_ERROR_INVALID_METHOD_PARAMETERS

-

invalid - parameters

-
 

SOUP_XMLRPC_FAULT_SERVER_ERROR_INTERNAL_XML_RPC_ERROR

-

internal - error

-
 

SOUP_XMLRPC_FAULT_APPLICATION_ERROR

-

start of reserved range for - application error codes

-
 

SOUP_XMLRPC_FAULT_SYSTEM_ERROR

-

start of reserved range for - system error codes

-
 

SOUP_XMLRPC_FAULT_TRANSPORT_ERROR

-

start of reserved range for - transport error codes

-
 
-
-
-
-
- - - \ No newline at end of file diff --git a/docs/reference/html/libsoup-2.4-soup-method.html b/docs/reference/html/libsoup-2.4-soup-method.html deleted file mode 100644 index c9ac31a..0000000 --- a/docs/reference/html/libsoup-2.4-soup-method.html +++ /dev/null @@ -1,260 +0,0 @@ - - - - -libsoup Reference Manual: soup-method - - - - - - - - - - - - - - - - -
-
-
- - -
-

soup-method

-

soup-method — HTTP method definitions

-
-
-

Types and Values

-
---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#defineSOUP_METHOD_OPTIONS
#defineSOUP_METHOD_GET
#defineSOUP_METHOD_HEAD
#defineSOUP_METHOD_PUT
#defineSOUP_METHOD_POST
#defineSOUP_METHOD_DELETE
#defineSOUP_METHOD_TRACE
#defineSOUP_METHOD_CONNECT
#defineSOUP_METHOD_PROPFIND
#defineSOUP_METHOD_PROPPATCH
#defineSOUP_METHOD_MKCOL
#defineSOUP_METHOD_COPY
#defineSOUP_METHOD_MOVE
#defineSOUP_METHOD_LOCK
#defineSOUP_METHOD_UNLOCK
-
-
-

Object Hierarchy

-
-
-
-
-

Includes

-
#include <libsoup/soup.h>
-
-
-
-

Description

-

soup-method.h contains a number of defines for standard HTTP and -WebDAV headers. You do not need to use these defines; you can pass -arbitrary strings to soup_message_new() if you prefer.

-

The thing that these defines are useful for is -performing quick comparisons against SoupMessage's method field; -because that field always contains an interned string, and these -macros return interned strings, you can compare method directly -against these macros rather than needing to use strcmp(). This is -most useful in SoupServer handlers. Eg:

-
- - - - - - - -
1
-2
-3
-4
if (msg->method != SOUP_METHOD_GET && msg->method != SOUP_METHOD_HEAD) {
-    soup_message_set_status (msg, SOUP_METHOD_NOT_IMPLEMENTED);
-    return;
-}
-
- -
-
-

Functions

-
-
-

Types and Values

-
-

SOUP_METHOD_OPTIONS

-
#define SOUP_METHOD_OPTIONS   _SOUP_INTERN_METHOD (OPTIONS)
-
-

"OPTIONS" as an interned string.

-
-
-
-

SOUP_METHOD_GET

-
#define SOUP_METHOD_GET       _SOUP_INTERN_METHOD (GET)
-
-

"GET" as an interned string.

-
-
-
-

SOUP_METHOD_HEAD

-
#define SOUP_METHOD_HEAD      _SOUP_INTERN_METHOD (HEAD)
-
-

"HEAD" as an interned string.

-
-
-
-

SOUP_METHOD_PUT

-
#define SOUP_METHOD_PUT       _SOUP_INTERN_METHOD (PUT)
-
-

"PUT" as an interned string.

-
-
-
-

SOUP_METHOD_POST

-
#define SOUP_METHOD_POST      _SOUP_INTERN_METHOD (POST)
-
-

"POST" as an interned string.

-
-
-
-

SOUP_METHOD_DELETE

-
#define SOUP_METHOD_DELETE    _SOUP_INTERN_METHOD (DELETE)
-
-

"DELETE" as an interned string.

-
-
-
-

SOUP_METHOD_TRACE

-
#define SOUP_METHOD_TRACE     _SOUP_INTERN_METHOD (TRACE)
-
-

"TRACE" as an interned string.

-
-
-
-

SOUP_METHOD_CONNECT

-
#define SOUP_METHOD_CONNECT   _SOUP_INTERN_METHOD (CONNECT)
-
-

"CONNECT" as an interned string.

-
-
-
-

SOUP_METHOD_PROPFIND

-
#define SOUP_METHOD_PROPFIND  _SOUP_INTERN_METHOD (PROPFIND)
-
-

"PROPFIND" as an interned string.

-
-
-
-

SOUP_METHOD_PROPPATCH

-
#define SOUP_METHOD_PROPPATCH _SOUP_INTERN_METHOD (PROPPATCH)
-
-

"PROPPATCH" as an interned string.

-
-
-
-

SOUP_METHOD_MKCOL

-
#define SOUP_METHOD_MKCOL     _SOUP_INTERN_METHOD (MKCOL)
-
-

"MKCOL" as an interned string.

-
-
-
-

SOUP_METHOD_COPY

-
#define SOUP_METHOD_COPY      _SOUP_INTERN_METHOD (COPY)
-
-

"COPY" as an interned string.

-
-
-
-

SOUP_METHOD_MOVE

-
#define SOUP_METHOD_MOVE      _SOUP_INTERN_METHOD (MOVE)
-
-

"MOVE" as an interned string.

-
-
-
-

SOUP_METHOD_LOCK

-
#define SOUP_METHOD_LOCK      _SOUP_INTERN_METHOD (LOCK)
-
-

"LOCK" as an interned string.

-
-
-
-

SOUP_METHOD_UNLOCK

-
#define SOUP_METHOD_UNLOCK    _SOUP_INTERN_METHOD (UNLOCK)
-
-

"UNLOCK" as an interned string.

-
-
-
- - - \ No newline at end of file diff --git a/docs/reference/html/libsoup-2.4-soup-status.html b/docs/reference/html/libsoup-2.4-soup-status.html deleted file mode 100644 index ecd50a0..0000000 --- a/docs/reference/html/libsoup-2.4-soup-status.html +++ /dev/null @@ -1,866 +0,0 @@ - - - - -libsoup Reference Manual: soup-status - - - - - - - - - - - - - - - - -
-
-
- - -
-

soup-status

-

soup-status — HTTP (and libsoup) status codes

-
-
-

Functions

-
---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#define -SOUP_STATUS_IS_TRANSPORT_ERROR() -
#define -SOUP_STATUS_IS_INFORMATIONAL() -
#define -SOUP_STATUS_IS_SUCCESSFUL() -
#define -SOUP_STATUS_IS_REDIRECTION() -
#define -SOUP_STATUS_IS_CLIENT_ERROR() -
#define -SOUP_STATUS_IS_SERVER_ERROR() -
const char * - -soup_status_get_phrase () -
-guint - -soup_status_proxify () -
-
-
-

Types and Values

-
---- - - - - - - - - - - -
enumSoupStatus
#defineSOUP_HTTP_ERROR
-
-
-

Object Hierarchy

-
-
-
-
-

Includes

-
#include <libsoup/soup.h>
-
-
-
-

Description

-
-
-

Functions

-
-

SOUP_STATUS_IS_TRANSPORT_ERROR()

-
#define SOUP_STATUS_IS_TRANSPORT_ERROR(status) ((status) >  0   && (status) < 100)
-
-

Tests if status - is a libsoup transport error.

-
-

Parameters

-
----- - - - - - -

status

a status code

 
-
-
-

Returns

-

TRUE or FALSE

-

-
-
-
-
-

SOUP_STATUS_IS_INFORMATIONAL()

-
#define SOUP_STATUS_IS_INFORMATIONAL(status)   ((status) >= 100 && (status) < 200)
-
-

Tests if status - is an Informational (1xx) response.

-
-

Parameters

-
----- - - - - - -

status

an HTTP status code

 
-
-
-

Returns

-

TRUE or FALSE

-

-
-
-
-
-

SOUP_STATUS_IS_SUCCESSFUL()

-
#define SOUP_STATUS_IS_SUCCESSFUL(status)      ((status) >= 200 && (status) < 300)
-
-

Tests if status - is a Successful (2xx) response.

-
-

Parameters

-
----- - - - - - -

status

an HTTP status code

 
-
-
-

Returns

-

TRUE or FALSE

-

-
-
-
-
-

SOUP_STATUS_IS_REDIRECTION()

-
#define SOUP_STATUS_IS_REDIRECTION(status)     ((status) >= 300 && (status) < 400)
-
-

Tests if status - is a Redirection (3xx) response.

-
-

Parameters

-
----- - - - - - -

status

an HTTP status code

 
-
-
-

Returns

-

TRUE or FALSE

-

-
-
-
-
-

SOUP_STATUS_IS_CLIENT_ERROR()

-
#define SOUP_STATUS_IS_CLIENT_ERROR(status)    ((status) >= 400 && (status) < 500)
-
-

Tests if status - is a Client Error (4xx) response.

-
-

Parameters

-
----- - - - - - -

status

an HTTP status code

 
-
-
-

Returns

-

TRUE or FALSE

-

-
-
-
-
-

SOUP_STATUS_IS_SERVER_ERROR()

-
#define SOUP_STATUS_IS_SERVER_ERROR(status)    ((status) >= 500 && (status) < 600)
-
-

Tests if status - is a Server Error (5xx) response.

-
-

Parameters

-
----- - - - - - -

status

an HTTP status code

 
-
-
-

Returns

-

TRUE or FALSE

-

-
-
-
-
-

soup_status_get_phrase ()

-
const char *
-soup_status_get_phrase (guint status_code);
-

Looks up the stock HTTP description of status_code -. This is used -by soup_message_set_status() to get the correct text to go with a -given status code.

-

There is no reason for you to ever use this -function. If you wanted the textual description for the -“status_code” of a given SoupMessage, you should just -look at the message's “reason_phrase”. However, you -should only do that for use in debugging messages; HTTP reason -phrases are not localized, and are not generally very descriptive -anyway, and so they should never be presented to the user directly. -Instead, you should create you own error messages based on the -status code, and on what you were trying to do.

-
-

Parameters

-
----- - - - - - -

status_code

an HTTP status code

 
-
-
-

Returns

-

the (terse, English) description of status_code -

-

-
-
-
-
-

soup_status_proxify ()

-
guint
-soup_status_proxify (guint status_code);
-

Turns SOUP_STATUS_CANT_RESOLVE into -SOUP_STATUS_CANT_RESOLVE_PROXY and SOUP_STATUS_CANT_CONNECT into -SOUP_STATUS_CANT_CONNECT_PROXY. Other status codes are passed -through unchanged.

-
-

Parameters

-
----- - - - - - -

status_code

a status code

 
-
-
-

Returns

-

the "proxified" equivalent of status_code -.

-

-
-

Since 2.26

-
-
-
-

Types and Values

-
-

enum SoupStatus

-

These represent the known HTTP status code values, plus various -network and internal errors.

-

Note that no libsoup functions take or return this type directly; -any function that works with status codes will accept unrecognized -status codes as well.

-

Prior to 2.44 this type was called -SoupKnownStatusCode, but the individual values -have always had the names they have now.

-
-

Members

-
----- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

SOUP_STATUS_NONE

-

No status available. (Eg, the message has not -been sent yet)

-
 

SOUP_STATUS_CANCELLED

-

Message was cancelled locally

-
 

SOUP_STATUS_CANT_RESOLVE

-

Unable to resolve destination host name

-
 

SOUP_STATUS_CANT_RESOLVE_PROXY

-

Unable to resolve proxy host name

-
 

SOUP_STATUS_CANT_CONNECT

-

Unable to connect to remote host

-
 

SOUP_STATUS_CANT_CONNECT_PROXY

-

Unable to connect to proxy

-
 

SOUP_STATUS_SSL_FAILED

-

SSL/TLS negotiation failed

-
 

SOUP_STATUS_IO_ERROR

-

A network error occurred, or the other end -closed the connection unexpectedly

-
 

SOUP_STATUS_MALFORMED

-

Malformed data (usually a programmer error)

-
 

SOUP_STATUS_TRY_AGAIN

-

Used internally

-
 

SOUP_STATUS_TOO_MANY_REDIRECTS

-

There were too many redirections

-
 

SOUP_STATUS_TLS_FAILED

-

Used internally

-
 

SOUP_STATUS_CONTINUE

-

100 Continue (HTTP)

-
 

SOUP_STATUS_SWITCHING_PROTOCOLS

-

101 Switching Protocols (HTTP)

-
 

SOUP_STATUS_PROCESSING

-

102 Processing (WebDAV)

-
 

SOUP_STATUS_OK

-

200 Success (HTTP). Also used by many lower-level -soup routines to indicate success.

-
 

SOUP_STATUS_CREATED

-

201 Created (HTTP)

-
 

SOUP_STATUS_ACCEPTED

-

202 Accepted (HTTP)

-
 

SOUP_STATUS_NON_AUTHORITATIVE

-

203 Non-Authoritative Information -(HTTP)

-
 

SOUP_STATUS_NO_CONTENT

-

204 No Content (HTTP)

-
 

SOUP_STATUS_RESET_CONTENT

-

205 Reset Content (HTTP)

-
 

SOUP_STATUS_PARTIAL_CONTENT

-

206 Partial Content (HTTP)

-
 

SOUP_STATUS_MULTI_STATUS

-

207 Multi-Status (WebDAV)

-
 

SOUP_STATUS_MULTIPLE_CHOICES

-

300 Multiple Choices (HTTP)

-
 

SOUP_STATUS_MOVED_PERMANENTLY

-

301 Moved Permanently (HTTP)

-
 

SOUP_STATUS_FOUND

-

302 Found (HTTP)

-
 

SOUP_STATUS_MOVED_TEMPORARILY

-

302 Moved Temporarily (old name, -RFC 2068)

-
 

SOUP_STATUS_SEE_OTHER

-

303 See Other (HTTP)

-
 

SOUP_STATUS_NOT_MODIFIED

-

304 Not Modified (HTTP)

-
 

SOUP_STATUS_USE_PROXY

-

305 Use Proxy (HTTP)

-
 

SOUP_STATUS_NOT_APPEARING_IN_THIS_PROTOCOL

-

306 [Unused] (HTTP)

-
 

SOUP_STATUS_TEMPORARY_REDIRECT

-

307 Temporary Redirect (HTTP)

-
 

SOUP_STATUS_BAD_REQUEST

-

400 Bad Request (HTTP)

-
 

SOUP_STATUS_UNAUTHORIZED

-

401 Unauthorized (HTTP)

-
 

SOUP_STATUS_PAYMENT_REQUIRED

-

402 Payment Required (HTTP)

-
 

SOUP_STATUS_FORBIDDEN

-

403 Forbidden (HTTP)

-
 

SOUP_STATUS_NOT_FOUND

-

404 Not Found (HTTP)

-
 

SOUP_STATUS_METHOD_NOT_ALLOWED

-

405 Method Not Allowed (HTTP)

-
 

SOUP_STATUS_NOT_ACCEPTABLE

-

406 Not Acceptable (HTTP)

-
 

SOUP_STATUS_PROXY_AUTHENTICATION_REQUIRED

-

407 Proxy Authentication -Required (HTTP)

-
 

SOUP_STATUS_PROXY_UNAUTHORIZED

-

shorter alias for -SOUP_STATUS_PROXY_AUTHENTICATION_REQUIRED

-
 

SOUP_STATUS_REQUEST_TIMEOUT

-

408 Request Timeout (HTTP)

-
 

SOUP_STATUS_CONFLICT

-

409 Conflict (HTTP)

-
 

SOUP_STATUS_GONE

-

410 Gone (HTTP)

-
 

SOUP_STATUS_LENGTH_REQUIRED

-

411 Length Required (HTTP)

-
 

SOUP_STATUS_PRECONDITION_FAILED

-

412 Precondition Failed (HTTP)

-
 

SOUP_STATUS_REQUEST_ENTITY_TOO_LARGE

-

413 Request Entity Too Large -(HTTP)

-
 

SOUP_STATUS_REQUEST_URI_TOO_LONG

-

414 Request-URI Too Long (HTTP)

-
 

SOUP_STATUS_UNSUPPORTED_MEDIA_TYPE

-

415 Unsupported Media Type -(HTTP)

-
 

SOUP_STATUS_REQUESTED_RANGE_NOT_SATISFIABLE

-

416 Requested Range -Not Satisfiable (HTTP)

-
 

SOUP_STATUS_INVALID_RANGE

-

shorter alias for -SOUP_STATUS_REQUESTED_RANGE_NOT_SATISFIABLE

-
 

SOUP_STATUS_EXPECTATION_FAILED

-

417 Expectation Failed (HTTP)

-
 

SOUP_STATUS_UNPROCESSABLE_ENTITY

-

422 Unprocessable Entity -(WebDAV)

-
 

SOUP_STATUS_LOCKED

-

423 Locked (WebDAV)

-
 

SOUP_STATUS_FAILED_DEPENDENCY

-

424 Failed Dependency (WebDAV)

-
 

SOUP_STATUS_INTERNAL_SERVER_ERROR

-

500 Internal Server Error -(HTTP)

-
 

SOUP_STATUS_NOT_IMPLEMENTED

-

501 Not Implemented (HTTP)

-
 

SOUP_STATUS_BAD_GATEWAY

-

502 Bad Gateway (HTTP)

-
 

SOUP_STATUS_SERVICE_UNAVAILABLE

-

503 Service Unavailable (HTTP)

-
 

SOUP_STATUS_GATEWAY_TIMEOUT

-

504 Gateway Timeout (HTTP)

-
 

SOUP_STATUS_HTTP_VERSION_NOT_SUPPORTED

-

505 HTTP Version Not -Supported (HTTP)

-
 

SOUP_STATUS_INSUFFICIENT_STORAGE

-

507 Insufficient Storage -(WebDAV)

-
 

SOUP_STATUS_NOT_EXTENDED

-

510 Not Extended (RFC 2774)

-
 
-
-
-
-
-

SOUP_HTTP_ERROR

-
#define SOUP_HTTP_ERROR soup_http_error_quark()
-
-

A GError domain representing an HTTP status. Use a SoupStatus for -the code value.

-
-
-
- - - \ No newline at end of file diff --git a/docs/reference/html/libsoup-2.4.devhelp2 b/docs/reference/html/libsoup-2.4.devhelp2 deleted file mode 100644 index 24b28dd..0000000 --- a/docs/reference/html/libsoup-2.4.devhelp2 +++ /dev/null @@ -1,815 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/reference/html/libsoup-build-howto.html b/docs/reference/html/libsoup-build-howto.html deleted file mode 100644 index bfeab1c..0000000 --- a/docs/reference/html/libsoup-build-howto.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - -libsoup Reference Manual: Compiling with libsoup - - - - - - - - - - - - - - - - -
-
-
- - -
-

Compiling with libsoup

-

Compiling with libsoup — Notes on compiling

-
-
-

Using pkg-config

-

-Like other GNOME libraries, libsoup uses -pkg-config to provide compiler options. The -package name is "libsoup-2.4". So in your -configure script, you might specify something like: -

-
- - - - - - - -
1
-2
-3
PKG_CHECK_MODULES(LIBSOUP, [libsoup-2.4 >= 2.26])
-AC_SUBST(LIBSOUP_CFLAGS)
-AC_SUBST(LIBSOUP_LIBS)
-
- -

-The "2.4" in the package name is the "API version" -(indicating "the version of the libsoup API -that first appeared in version 2.4") and is essentially just part of -the package name. -

-
-
-
-

API Availability and Deprecation Warnings

-

-If you want to restrict your program to a particular -libsoup version or range of versions, you -can define SOUP_VERSION_MIN_REQUIRED -and/or SOUP_VERSION_MAX_ALLOWED. -Eg: -

-
- - - - - - - -
1
-2
LIBSOUP_CFLAGS="$LIBSOUP_CFLAGS -DSOUP_VERSION_MIN_REQUIRED=SOUP_VERSION_2_36"
-LIBSOUP_CFLAGS="$LIBSOUP_CFLAGS -DSOUP_VERSION_MAX_ALLOWED=SOUP_VERSION_2_40"
-
- -

-The SOUP_VERSION_MIN_REQUIRED declaration states -that the code is not expected to compile on versions of -libsoup older than the indicated version -(here, 2.36), and so the compiler should print warnings if the code -uses functions that were deprecated as of that release. -

-

-The SOUP_VERSION_MAX_ALLOWED declaration states -that the code is expected to compile on versions -of libsoup up to the indicated version -(here, 2.40), and so, when compiling the program against a newer -version than that, the compiler should print warnings if the code uses -functions that did not yet exist in the max-allowed release. -

-

-You can use SOUP_CHECK_VERSION -to check the version of libsoup at compile time, to compile different -code for different libsoup versions. (If -you are setting SOUP_VERSION_MIN_REQUIRED and -SOUP_VERSION_MAX_ALLOWED to different versions, as -in the example above, then you almost certainly need to be doing -this.) -

-
-
-
-

Headers

-

-Code using libsoup should do: -

-
- - - - - - - -
1
#include <libsoup/soup.h>
-
- -

-Including individual headers rather than soup.h is not -recommended. -

-
-
- - - \ No newline at end of file diff --git a/docs/reference/html/libsoup-client-howto.html b/docs/reference/html/libsoup-client-howto.html deleted file mode 100644 index 7e87d64..0000000 --- a/docs/reference/html/libsoup-client-howto.html +++ /dev/null @@ -1,604 +0,0 @@ - - - - -libsoup Reference Manual: libsoup Client Basics - - - - - - - - - - - - - - - - -
-
-
- - -
-

libsoup Client Basics

-

libsoup Client Basics — Client-side tutorial

-
-
-

-This section explains how to use libsoup as -an HTTP client using several new APIs introduced in version 2.42. If -you want to be compatible with older versions of -libsoup, consult the documentation for that -version. -

-
-
-
-

Creating a SoupSession -

-

-The first step in using the client API is to create a SoupSession. The session object -encapsulates all of the state that libsoup -is keeping on behalf of your program; cached HTTP connections, -authentication information, etc. -

-

-When you create the session with soup_session_new_with_options, -you can specify various additional options: -

-
---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

SOUP_SESSION_MAX_CONNS

- Allows you to set the maximum total number of connections - the session will have open at one time. (Once it reaches - this limit, it will either close idle connections, or - wait for existing connections to free up before starting - new requests.) The default value is 10. -

SOUP_SESSION_MAX_CONNS_PER_HOST

- Allows you to set the maximum total number of connections - the session will have open to a single - host at one time. The default value is 2. -

SOUP_SESSION_USER_AGENT

- Allows you to set a User-Agent string that will be sent - on all outgoing requests. -

SOUP_SESSION_ACCEPT_LANGUAGE - and SOUP_SESSION_ACCEPT_LANGUAGE_AUTO

- Allow you to set an Accept-Language header on all outgoing - requests. SOUP_SESSION_ACCEPT_LANGUAGE - takes a list of language tags to use, while - SOUP_SESSION_ACCEPT_LANGUAGE_AUTO - automatically generates the list from the user's locale - settings. -

SOUP_SESSION_HTTP_ALIASES - and SOUP_SESSION_HTTPS_ALIASES

- Allow you to tell the session to recognize additional URI - schemes as aliases for "http" or - https. You can set this if you are - using URIs with schemes like "dav" or - "webcal" (and in particular, you need - to set this if the server you are talking to might return - redirects with such a scheme). -

SOUP_SESSION_PROXY_RESOLVER and SOUP_SESSION_PROXY_URI

-

- SOUP_SESSION_PROXY_RESOLVER - specifies a GProxyResolver - to use to determine the HTTP proxies to use. By default, - this is set to the resolver returned by g_proxy_resolver_get_default, - so you do not need to set it yourself. -

-

- Alternatively, if you want all requests to go through a - single proxy, you can set SOUP_SESSION_PROXY_URI. -

-

SOUP_SESSION_ADD_FEATURE and SOUP_SESSION_ADD_FEATURE_BY_TYPE

- These allow you to specify SoupSessionFeatures - (discussed below) - to add at construct-time. -

-

-Other properties are also available; see the SoupSession documentation for -more details. -

-

-If you don't need to specify any options, you can just use soup_session_new, -which takes no arguments. -

-
-
-
-

Session features

-

-Additional session functionality is provided as SoupSessionFeatures, -which can be added to a session, via the SOUP_SESSION_ADD_FEATURE -and SOUP_SESSION_ADD_FEATURE_BY_TYPE -options at session-construction-time, or afterward via the soup_session_add_feature -and soup_session_add_feature_by_type -functions. -

-

-A SoupContentDecoder is -added for you automatically. This advertises to servers that the -client supports compression, and automatically decompresses compressed -responses. -

-

-Some other available features that you can add include: -

-
---- - - - - - - - - - - - - - - -

SoupLogger

- A debugging aid, which logs all of libsoup's HTTP traffic - to stdout (or another place you specify). -

- SoupCookieJar, - SoupCookieJarText, - and SoupCookieJarDB -

- Support for HTTP cookies. SoupCookieJar - provides non-persistent cookie storage, while - SoupCookieJarText uses a text file to keep - track of cookies between sessions, and - SoupCookieJarDB uses a - SQLite database. -

SoupContentSniffer

- Uses the HTML5 sniffing rules to attempt to - determine the Content-Type of a response when the - server does not identify the Content-Type, or appears to - have provided an incorrect one. -

-

-Use the "add_feature_by_type" property/function to add features that -don't require any configuration (such as SoupContentSniffer), -and the "add_feature" property/function to add features that must be -constructed first (such as SoupLogger). For example, an -application might do something like the following: -

-
- - - - - - - -
1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
session = soup_session_new_with_options (
-    SOUP_SESSION_ADD_FEATURE_BY_TYPE, SOUP_TYPE_CONTENT_SNIFFER,
-    NULL);
-
-if (debug_level) {
-    SoupLogger *logger;
-
-    logger = soup_logger_new (debug_level, -1);
-    soup_session_add_feature (session, SOUP_SESSION_FEATURE (logger));
-    g_object_unref (logger);
-}
-
- -
-
-
-

Creating and Sending SoupMessages

-

-Once you have a session, you send HTTP requests using SoupMessage. In the simplest -case, you only need to create the message and it's ready to send: -

-
- - - - - - - -
1
-2
-3
SoupMessage *msg;
-
-msg = soup_message_new ("GET", "http://example.com/");
-
- -

-In more complicated cases, you can use various SoupMessage, SoupMessageHeaders, and SoupMessageBody methods to set the -request headers and body of the message: -

-
- - - - - - - -
1
-2
-3
-4
-5
-6
SoupMessage *msg;
-
-msg = soup_message_new ("POST", "http://example.com/form.cgi");
-soup_message_set_request (msg, "application/x-www-form-urlencoded",
-                          SOUP_MEMORY_COPY, formdata, strlen (formdata));
-soup_message_headers_append (msg->request_headers, "Referer", referring_url);
-
- -

-(Although this is a bad example, because -libsoup actually has convenience methods -for dealing with HTML -forms, as well as XML-RPC.) -

-

-You can also use soup_message_set_flags -to change some default behaviors. For example, by default, -SoupSession automatically handles responses from the -server that redirect to another URL. If you would like to handle these -yourself, you can set the SOUP_MESSAGE_NO_REDIRECT -flag. -

-
-

Sending a Message Synchronously

-

-To send a message and wait for the response, use soup_session_send: -

-
- - - - - - - -
1
-2
-3
-4
GInputStream *stream;
-GError *error = NULL;
-
-stream = soup_session_send (session, msg, cancellable, &error);
-
- -

-At the point when soup_session_send returns, the -request will have been sent, and the response headers read back in; -you can examine the message's status_code, -reason_phrase, and -response_headers fields to see the response -metadata. To get the response body, read from the returned GInputStream, and close it -when you are done. -

-

-Note that soup_session_send only returns an error -if a transport-level problem occurs (eg, it could not connect to the -host, or the request was cancelled). Use the message's -status_code field to determine whether the -request was successful or not at the HTTP level (ie, "200 -OK" vs "401 Bad Request"). -

-

-If you would prefer to have libsoup gather -the response body for you and then return it all at once, you can use -the older -soup_session_send_message -API: -

-
- - - - - - - -
1
-2
-3
guint status;
-
-status = soup_session_send_message (session, msg);
-
- -

-In this case, the response body will be available in the message's -response_body field, and transport-level -errors will be indicated in the status_code -field via special pseudo-HTTP-status codes like SOUP_STATUS_CANT_CONNECT. -

-
-
-

Sending a Message Asynchronously

-

-To send a message asynchronously, use soup_session_send_async: -

-
- - - - - - - -
1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
{
-    ...
-    soup_session_send_async (session, msg, cancellable, my_callback, my_callback_data);
-    ...
-}
-
-static void
-my_callback (GObject *object, GAsyncResult *result, gpointer user_data)
-{
-    GInputStream *stream;
-    GError *error = NULL;
-
-    stream = soup_session_send_finish (SOUP_SESSION (object), result, &error);
-    ...
-}
-
- -

-The message will be added to the session's queue, and eventually (when -control is returned back to the main loop), it will be sent and the -response be will be read. When the message has been sent, and its -headers received, the callback will be invoked, in the standard -GAsyncReadyCallback -style. -

-

-As with synchronous sending, there is also an alternate API, soup_session_queue_message, -in which your callback is not invoked until the response has been -completely read: -

-
- - - - - - - -
1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
{
-    ...
-    soup_session_queue_message (session, msg, my_callback, my_callback_data);
-    ...
-}
-
-static void
-my_callback (SoupSession *session, SoupMessage *msg, gpointer user_data)
-{
-    /* msg->response_body contains the response */
-}
-
- -

-soup_session_queue_message -is slightly unusual in that it steals a reference to the message -object, and unrefs it after the last callback is invoked on it. So -when using this API, you should not unref the message yourself. -

-
-
-
-
-

Processing the Response

-

-Once you have received the initial response from the server, -synchronously or asynchronously, streaming or not, you can look at the -response fields in the SoupMessage to decide what -to do next. The status_code and -reason_phrase fields contain the numeric -status and textual status response from the server. -response_headers contains the response -headers, which you can investigate using soup_message_headers_get -and soup_message_headers_foreach. -

-

-SoupMessageHeaders -automatically parses several important headers in -response_headers for you and provides -specialized accessors for them. Eg, soup_message_headers_get_content_type. -There are several generic methods such as soup_header_parse_param_list -(for parsing an attribute-list-type header) and soup_header_contains -(for quickly testing if a list-type header contains a particular -token). These handle the various syntactical oddities of parsing HTTP -headers much better than functions like -g_strsplit or strstr. -

-
-
-
-

Handling Authentication

-

-SoupSession handles most of the details of HTTP -authentication for you. If it receives a 401 ("Unauthorized") or 407 -("Proxy Authentication Required") response, the session will emit the -authenticate signal, -providing you with a SoupAuth object indicating the -authentication type ("Basic", "Digest", or "NTLM") and the realm name -provided by the server. If you have a username and password available -(or can generate one), call soup_auth_authenticate -to give the information to libsoup. The session will automatically -requeue the message and try it again with that authentication -information. (If you don't call -soup_auth_authenticate, the session will just -return the message to the application with its 401 or 407 status.) -

-

-If the server doesn't accept the username and password provided, the -session will emit authenticate again, with the -retrying parameter set to TRUE. This lets the -application know that the information it provided earlier was -incorrect, and gives it a chance to try again. If this -username/password pair also doesn't work, the session will contine to -emit authenticate again and again until the -provided username/password successfully authenticates, or until the -signal handler fails to call soup_auth_authenticate, -at which point libsoup will allow the -message to fail (with status 401 or 407). -

-

-If you need to handle authentication asynchronously (eg, to pop up a -password dialog without recursively entering the main loop), you can -do that as well. Just call soup_session_pause_message -on the message before returning from the signal handler, and -g_object_ref the SoupAuth. Then, -later on, after calling soup_auth_authenticate -(or deciding not to), call soup_session_unpause_message -to resume the paused message. -

-

-By default, NTLM authentication is not enabled. To add NTLM support to -a session, call: -

- - -

-(You can also disable Basic or Digest authentication by calling soup_session_remove_feature_by_type -on SOUP_TYPE_AUTH_BASIC -or SOUP_TYPE_AUTH_DIGEST.) -

-
-
-
-

Multi-threaded usage

-

-A SoupSession can be -used from multiple threads. However, if you are using the async APIs, -then each thread you use the session from must have its own -thread-default GMainContext. -

-

-SoupMessage is -not thread-safe, so once you send a message on -the session, you must not interact with it from any thread other than -the one where it was sent. -

-
-
-
-

Sample Programs

-

-A few sample programs are available in the -libsoup sources, in the -examples directory: -

-
    -
  • - get is a simple command-line - HTTP GET utility using the asynchronous API. -

  • -
  • - simple-proxy uses both the - client and server APIs to create a simple (and not very - RFC-compliant) proxy server. It shows how to use the SOUP_MESSAGE_OVERWRITE_CHUNKS - flag when reading a message to save memory by processing each - chunk of the message as it is read, rather than accumulating - them all into a single buffer to process all at the end. -

  • -
-

-More complicated examples are available in GNOME git. -

-
-
- - - \ No newline at end of file diff --git a/docs/reference/html/libsoup-request-howto.html b/docs/reference/html/libsoup-request-howto.html deleted file mode 100644 index b0e4463..0000000 --- a/docs/reference/html/libsoup-request-howto.html +++ /dev/null @@ -1,172 +0,0 @@ - - - - -libsoup Reference Manual: libsoup Client SoupRequest API - - - - - - - - - - - - - - - - -
-
-
- - -
-

libsoup Client SoupRequest API

-

libsoup Client SoupRequest API — Using -libsoup with a mix of http and non-http URIs.

-
-
-

SoupRequest

-

-SoupRequest is an -abstract type representing a request for a particular URI. The -SoupRequest API is an alternative to the SoupMessage-based SoupSession APIs which may be -useful to programs that want to deal with multiple kinds of URIs. -

-

-SoupRequest officially became part of the -libsoup API in 2.42 with the addition of -soup_session_request -and the related functions. However, parts of it are also available as -far back as libsoup 2.34 via the -(now-deprecated) SoupRequester session feature, if you -define LIBSOUP_USE_UNSTABLE_REQUEST_API before -including the libsoup headers. -

-

-Additionally, before libsoup 2.42, the -SoupRequest API was the only way to stream an HTTP -response body via GInputStream. As of 2.42, -there are streaming APIs based on SoupMessage (soup_session_send -and soup_session_send_async), -so applications that are using SoupRequest with only -http and https URIs can be -ported to those APIs now. -

-
-
-
-

Creating a SoupRequest

-

-There are four SoupSession methods for creating -SoupRequests: -

-
-
-
-
-

Sending a SoupRequest

-

-Once you have created a SoupRequest, you can send it with -either soup_request_send -or soup_request_send_async. -This will provide you with a GInputStream which you can -read to get the response body. -

-

-After sending, you can use soup_request_get_content_length -and soup_request_get_content_type -to get information about the response body. -

-

-As with the streaming SoupMessage-based APIs, -soup_request_send and -soup_request_send_async only return errors if a -transport-level problem occurs (eg, it could not connect to the host, -or the request was cancelled). In the case of an HTTP request, use the -message's status_code field to determine -whether the request was successful or not at the HTTP level (ie, "200 -OK" vs "401 Bad Request"). (You can call soup_request_http_get_message -to get the request's corresponding SoupMessage, to look at the -status code or other HTTP metadata.) -

-
-
-
-

Supported URI types, and adding your own

-

-Different URI types are implemented by different subclasses of -SoupRequest. libsoup currently -implements three SoupRequest classes: -

-
---- - - - - - - - - - - - - - - -

SoupRequestHTTP

- Handles http and - https URI. -

SoupRequestData

- Handles data URIs containing inline data. -

SoupRequestFile

- Handles file and - resource URIs. - If you request a URI corresponding to a directory, this - will generate an HTML listing of the directory. -

-

-You can add additional URI types by implementing your own -SoupRequest subclass; set the -SoupRequestClass's schemes -field to point to a NULL-terminated array of scheme -names, implement the various SoupRequest methods, and -then register the type with your SoupSession by calling -soup_session_add_feature_by_type -and passing the GType of -your request class. -

-
-
- - - \ No newline at end of file diff --git a/docs/reference/html/libsoup-server-howto.html b/docs/reference/html/libsoup-server-howto.html deleted file mode 100644 index aaeba8b..0000000 --- a/docs/reference/html/libsoup-server-howto.html +++ /dev/null @@ -1,444 +0,0 @@ - - - - -libsoup Reference Manual: Soup Server Basics - - - - - - - - - - - - - - - - -
-
-
- - -
-

Soup Server Basics

-

Soup Server Basics — Server-side tutorial

-
-
-

Creating a SoupSession

-

-As with the client API, there is a single object that will encapsulate -most of your interactions with libsoup. In this case, SoupServer. -

-

-You create the server with soup_server_new, -and as with the SoupSession constructor, you can specify -various additional options: -

-
---- - - - - - - - - - - - - - - - - - - - - - - - - - - -

SOUP_SERVER_PORT

- The TCP port to listen on. If 0 (or - left unspecified), some unused port will be selected for - you. (You can find out what port by calling soup_server_get_port. -

SOUP_SERVER_INTERFACE

- A SoupAddress, - specifying the IP address of the network interface to run - the server on. If NULL (or left - unspecified), the server will listen on all interfaces. -

SOUP_SERVER_SSL_CERT_FILE

- Points to a file containing an SSL certificate to use. If - this is set, then the server will speak HTTPS; otherwise - it will speak HTTP. -

SOUP_SERVER_SSL_KEY_FILE

- Points to a file containing the private key for the - SOUP_SERVER_SSL_CERT_FILE. (It may - point to the same file.) -

SOUP_SERVER_ASYNC_CONTEXT

- A GMainContext which - the server will use for asynchronous operations. This can - be set if you want to use a SoupServer in a thread - other than the main thread. -

SOUP_SERVER_RAW_PATHS

- Set this to TRUE if you don't want - libsoup to decode %-encoding - in the Request-URI. (Eg, because you need to treat - "/foo/bar" and - "/foo%2Fbar" as different paths. -

-
-
-
-

Adding Handlers

-

-By default, SoupServer -returns "404 Not Found" in response to all requests (except ones that -it can't parse, which get "400 Bad Request"). To override this -behavior, call soup_server_add_handler -to set a callback to handle certain URI paths. -

-
- - - - - - - -
1
-2
soup_server_add_handler (server, "/foo", server_callback,
-                         data, destroy_notify);
-
- -

-The "/foo" indicates the base path for this -handler. When a request comes in, if there is a handler registered for -exactly the path in the request's Request-URI, then -that handler will be called. Otherwise -libsoup will strip path components one by -one until it finds a matching handler. So for example, a request of -the form -"GET /foo/bar/baz.html?a=1&b=2 HTTP/1.1" -would look for handlers for "/foo/bar/baz.html", -"/foo/bar", and "/foo". If a -handler has been registered with a NULL base path, -then it is used as the default handler for any request that doesn't -match any other handler. -

-
-
-
-

Responding to Requests

-

-A handler callback looks something like this: -

-
- - - - - - - -
1
-2
-3
-4
-5
-6
-7
-8
-9
-10
static void
-server_callback (SoupServer        *server,
-                 SoupMessage       *msg, 
-                 const char        *path,
-                 GHashTable        *query,
-                 SoupClientContext *client,
-                 gpointer           user_data)
-{
-    ...
-}
-
- -

-msg is the request that has been received and -user_data is the data that was passed to soup_server_add_handler. -path is the path (from msg's -URI), and query contains the result of parsing the -URI query field. (It is NULL if there was no -query.) client is a SoupClientContext, -which contains additional information about the client (including its -IP address, and whether or not it used HTTP authentication). -

-

-By default, libsoup assumes that you have -completely finished processing the message when you return from the -callback, and that it can therefore begin sending the response. If you -are not ready to send a response immediately (eg, you have to contact -another server, or wait for data from a database), you must call soup_server_pause_message -on the message before returning from the callback. This will delay -sending a response until you call soup_server_unpause_message. -(You must also connect to the finished signal on the message -in this case, so that you can break off processing if the client -unexpectedly disconnects before you start sending the data.) -

-

-To set the response status, call soup_message_set_status -or soup_message_set_status_full. -If the response requires a body, you must decide whether to use -Content-Length encoding (the default), or -chunked encoding. -

-
-

Responding with Content-Length -Encoding

-

-This is the simpler way to set a response body, if you have all of the -data available at once. -

-
- - - - - - - -
1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
static void
-server_callback (SoupServer        *server,
-                 SoupMessage       *msg, 
-                 const char        *path,
-                 GHashTable        *query,
-                 SoupClientContext *client,
-                 gpointer           user_data)
-{
-    MyServerData *server_data = user_data;
-    const char *mime_type;
-    GByteArray *body;
-
-    if (msg->method != SOUP_METHOD_GET) {
-        soup_message_set_status (msg, SOUP_STATUS_NOT_IMPLEMENTED);
-        return;
-    }
-
-    /* This is somewhat silly. Presumably your server will do
-     * something more interesting.
-     */
-    body = g_hash_table_lookup (server_data->bodies, path);
-    mime_type = g_hash_table_lookup (server_data->mime_types, path);
-    if (!body || !mime_type) {
-        soup_message_set_status (msg, SOUP_STATUS_NOT_FOUND);
-        return;
-    }
-
-    soup_message_set_status (msg, SOUP_STATUS_OK);
-    soup_message_set_response (msg, mime_type, SOUP_MEMORY_COPY,
-                               body->data, body->len);
-}
-
- -
-
-

Responding with chunked Encoding

-

-If you want to supply the response body in chunks as it becomes -available, use chunked encoding instead. In this -case, first call soup_message_headers_set_encoding (msg->response_headers, SOUP_ENCODING_CHUNKED) -to tell libsoup that you'll be using -chunked encoding. Then call soup_message_body_append -(or soup_message_body_append_buffer) -on msg->response_body with each chunk of the -response body as it becomes available, and call soup_message_body_complete -when the response is complete. After each of these calls, you must -also call soup_server_unpause_message -to cause the chunk to be sent. (You do not normally need to call soup_server_pause_message, -because I/O is automatically paused when doing a -chunked transfer if no chunks are available.) -

-

-When using chunked encoding, you must also connect to the finished signal on the message, -so that you will be notified if the client disconnects between two -chunks; SoupServer will unref the message if that -happens, so you must stop adding new chunks to the response at that -point. (An alternate possibility is to write each new chunk only when -the wrote_chunk signal -is emitted indicating that the previous one was written successfully.) -

-

-The simple-proxy -example in the examples/ directory gives an example of -using chunked encoding. -

-
-
-
-
-

Handling Authentication

-

-To have SoupServer -handle HTTP authentication for you, create a SoupAuthDomainBasic -or SoupAuthDomainDigest, -and pass it to soup_server_add_auth_domain: -

-
- - - - - - - -
1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
SoupAuthDomain *domain;
-
-domain = soup_auth_domain_basic_new (
-    SOUP_AUTH_DOMAIN_REALM, "My Realm",
-    SOUP_AUTH_DOMAIN_BASIC_AUTH_CALLBACK, auth_callback,
-    SOUP_AUTH_DOMAIN_BASIC_AUTH_DATA, auth_data,
-    SOUP_AUTH_DOMAIN_ADD_PATH, "/foo",
-    SOUP_AUTH_DOMAIN_ADD_PATH, "/bar/private",
-    NULL);
-soup_server_add_auth_domain (server, domain);
-g_object_unref (domain);
-
- -

-Then, every request under one of the auth domain's paths will be -passed to the auth_callback first before being -passed to the server_callback: -

-
- - - - - - - -
1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
static gboolean
-auth_callback (SoupAuthDomain *domain, SoupMessage *msg,
-               const char *username, const char *password,
-               gpointer user_data)
-{
-    MyServerData *server_data = user_data;
-    MyUserData *user;
-
-    user = my_server_data_lookup_user (server_data, username);
-    if (!user)
-        return FALSE;
-
-    /* FIXME: Don't do this. Keeping a cleartext password database
-     * is bad.
-     */
-    return strcmp (password, user->password) == 0;
-}
-
- -

-The SoupAuthDomainBasicAuthCallback -is given the username and password from the -Authorization header and must determine, in some -server-specific manner, whether or not to accept them. (In this -example we compare the password against a cleartext password database, -but it would be better to store the password somehow encoded, as in -the UNIX password database. Alternatively, you may need to delegate -the password check to PAM or some other service.) -

-

-If you are using Digest authentication, note that SoupAuthDomainDigestAuthCallback -works completely differently (since the server doesn't receive the -cleartext password from the client in that case, so there's no way to -compare it directly). See the documentation for SoupAuthDomainDigest -for more details. -

-

-You can have multiple SoupAuthDomains attached to a -SoupServer, either in separate parts of the path -hierarchy, or overlapping. (Eg, you might want to accept either Basic -or Digest authentication for a given path.) When more than one auth -domain covers a given path, the request will be accepted if the user -authenticates successfully against any of the -domains. -

-

-If you want to require authentication for some requests under a -certain path, but not all of them (eg, you want to authenticate -PUT requests, but not GET -requests), use a SoupAuthDomainFilter. -

-
-
- - - \ No newline at end of file diff --git a/docs/reference/html/libsoup-session-porting.html b/docs/reference/html/libsoup-session-porting.html deleted file mode 100644 index 8d536a7..0000000 --- a/docs/reference/html/libsoup-session-porting.html +++ /dev/null @@ -1,218 +0,0 @@ - - - - -libsoup Reference Manual: Porting to the new SoupSession - - - - - - - - - - - - - - - - -
-
-
- - -
-

Porting to the new SoupSession

-

Porting to the new SoupSession — Notes on -porting from SoupSessionAsync and SoupSessionSync to SoupSession

-
-
-

Introduction

-

-As of libsoup 2.42, SoupSession is no longer an -abstract class, and the base SoupSession class is now -preferred over its traditional subclasses, SoupSessionAsync and -SoupSessionSync. -

-

-There are several changes in behavior between the old and new sessions -to be aware of. -

-
-
-
-

Different defaults

-

-The new SoupSession -has different (and hopefully better) defaults than SoupSessionAsync and -SoupSessionSync: -

-
    -
  • -

    - The system TLS/SSL certificate database is used by default to - validate https certificates, and sites with invalid certificates - will refuse to load with a - SOUP_STATUS_SSL_FAILED - error. -

    -

    - You can still override the CA database as before, by setting the - "ssl-ca-file" - property, although the - "tls-database" - property is preferred, since it allows you to do proper error - handling. -

    -

    - If you want to accept all certificates, set - "ssl-strict" to - FALSE. Note that libsoup will still check - certificates, it will just continue with the HTTP request even - if the certificate fails to validate. You can use - soup_message_get_https_status() - to look at the certificate after the fact. -

    -
  • -
  • - The - "timeout" - and - "idle-timeout" - properties both default to 60 seconds. -

  • -
  • - The - "http-aliases" - property defaults to NULL, meaning that URI - schemes like "webcal" and - "dav" (and "ftp") are not - considered to be aliases for "http", and so - libsoup will not accept requests for such URIs, and will not - follow redirects to such URIs. -

  • -
  • - The new - "proxy-resolver" - property is now initialized to the default - GProxyResolver, - meaning that it will automatically use the user's system proxy - configuration. This replaces the use of the - SoupProxyResolverDefault, - session feature in earlier releases. You can set this property to - NULL if you don't want to use proxies, and the - "proxy-uri" - property still works if you want to use a single proxy for all requests. -

  • -
  • - Every session gets a - SoupContentDecoder - attached to it by default, meaning that it will automatically - handle (and request) "gzip"- and "deflate"-encoded response - bodies. -

  • -
-
-
-
-

Differences in feature behavior

-

-If you are using NTLM authentication, the new SoupSession -behaves slightly differently from the old session types. -

-

-First, the deprecated SOUP_SESSION_USE_NTLM -property is no longer supported. If you want to add support for NTLM -to a session, call soup_session_add_feature_by_type(), -passing SOUP_TYPE_AUTH_NTLM. -

-

-Second, with the old session types, enabling NTLM would cause all -(otherwise-unauthenticated) requests to be sent with an NTLM request -in the Authorization header. That is, libsoup would -assume that all servers supported NTLM, and would attempt to begin -negotiating NTLM authentication before the server ever returned a 401 -response. With the plain SoupSession, this no longer -happens. If you want the old behavior, you need to call soup_auth_manager_use_auth() -for each host to "preload" the NTLM authentication: -

-
- - - - - - - -
1
-2
-3
-4
-5
-6
-7
-8
-9
-10
SoupAuthManager *auth_manager;
-SoupAuth *auth;
-SoupURI *uri;
-
-auth_manager = SOUP_AUTH_MANAGER (soup_session_get_feature (session, SOUP_TYPE_AUTH_MANAGER));
-auth = g_object_new (SOUP_TYPE_AUTH_NTLM, NULL);
-uri = soup_uri_new ("http://ntlm-using-host.example.com/");
-soup_auth_manager_use_auth (auth_manager, uri, auth);
-g_object_unref (auth);
-soup_uri_free (auth);
-
- -
-
-
-

Differences in SoupMessage-sending APIs

-

-SoupSessionAsync always uses asynchronous I/O, and -SoupSessionSync always uses blocking I/O, regardless of -the operation. In the new SoupSession, soup_session_queue_message() -uses asynchronous I/O (like SoupSessionAsync), and soup_session_send_message() -uses blocking I/O (like SoupSessionSync). There is no API -on the plain SoupSession that simulates the effect of -calling soup_session_send_message() on a -SoupSessionAsync (ie, running the main loop internally), -or of calling soup_session_queue_message() on a -SoupSessionSync (ie, automatically sending the request in -another thread). -

-
-
-
-

Differences in Asynchronous I/O

-

-As compared to SoupSessionAsync, SoupSession behaves more -like gio with respect to asynchronous I/O. -

-

-In particular, the "async-context" -and "use-thread-context" -properties are now effectively unused, and the session always queues -asynchronous requests in the GMainContext that was is -the thread default when the asynchronous operation is started. Session -bookkeeping tasks (like closing idle connections) happen in the -context that was thread default when the session was created. -

-

-Additionally, soup_session_cancel_message() -now acts asynchronously when you cancel an asynchronous request; -rather than having the request's callback be called from inside -soup_session_cancel_message(), it just gets called -when you need return to the main loop. -

-
-
- - - \ No newline at end of file diff --git a/docs/reference/html/right-insensitive.png b/docs/reference/html/right-insensitive.png deleted file mode 100644 index 4c95785b907b978f36674cd98bf5302669c15c1b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 373 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b zKpodXn9)gNb_Gz7y~NYkmHjTefG`u!(zUX23=E7+o-U3d7N^fn+URvSL8NuRG*{E) z?#-+97X-^pidQ*u@StO1(S@7g8g>nnA24$?ty?)cmuaa|Y>ez2*_Ia?6HP4j{3LIs zTr!s1ao_Sz^~3e4zRJGAjKZGn=XP#)Wmuo-QN>teTzzI!&R*jMI^Oa#7_ukLYdicf zOx;1mb-rt04s-c|uIH8fnX}$)XJa^0_-F3(pA%=sGI<|(n_*&=yYt96+n5InXn_GN+EraJI9q(O+n{6MQKErp&KxRvpfn0xh z`sSMqH(2Z%?kaFBTf06W^y=UDA9gR9YrwNS*1pjB((0K%&+SbAx3`XA&dKZ}j*nX7 QfdRze>FVdQ&MBb@09|aA9{>OV diff --git a/docs/reference/html/right.png b/docs/reference/html/right.png deleted file mode 100644 index 76260ec8865f4e13cd269ec62eccd78a33adba3c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 261 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b zKpodXn9)gNb_Gz7y~NYkmHjTefRMbR+#PqI2*V^#7sn8b(^oI8=W9$9IsUQVezxzH zy`G{eu0`y#boSlU-NAlQG~=D)BPJG4k(^0qdDa(AdQvI0d|vJT=i7_<_D6`Cy?Dm; zP0@1EeB~D|O$oQe*sxL-P;q{2UCr}fN-o#M~tpZzsGyfNz46SZlIJCbKH zZQscEqpOfBCPDgx dd > dl > dt -{ - padding-top: 0.25em; - padding-bottom: 0.25em; -} - -dl.toc > dt -{ - padding-top: 1em; - padding-bottom: 0.5em; - font-weight: bold; -} - -.parameter -{ - font-style: normal; -} - -.footer -{ - padding-top: 3.5em; - /* tango:aluminium 3 */ - color: #babdb6; - text-align: center; - font-size: 80%; -} - -.informalfigure, -.figure -{ - margin: 1em; -} - -.informalexample, -.example -{ - margin-top: 1em; - margin-bottom: 1em; -} - -.warning -{ - /* tango:orange 0/1 */ - background: #ffeed9; - background: rgba(252, 175, 62, 0.1); - border-color: #ffb04f; - border-color: rgba(252, 175, 62, 0.2); -} -.note -{ - /* tango:chameleon 0/0.5 */ - background: #d8ffb2; - background: rgba(138, 226, 52, 0.1); - border-color: #abf562; - border-color: rgba(138, 226, 52, 0.2); -} -div.blockquote -{ - border-color: #eeeeec; -} -.note, .warning, div.blockquote -{ - padding: 0.5em; - border-width: 1px; - border-style: solid; - margin: 2em; -} -.note p, .warning p -{ - margin: 0; -} - -div.warning h3.title, -div.note h3.title -{ - display: none; -} - -p + div.section -{ - margin-top: 1em; -} - -div.refnamediv, -div.refsynopsisdiv, -div.refsect1, -div.refsect2, -div.toc, -div.section -{ - margin-bottom: 1em; -} - -/* blob links */ -h2 .extralinks, h3 .extralinks -{ - float: right; - /* tango:aluminium 3 */ - color: #babdb6; - font-size: 80%; - font-weight: normal; -} - -.lineart -{ - color: #d3d7cf; - font-weight: normal; -} - -.annotation -{ - /* tango:aluminium 5 */ - color: #555753; - font-weight: normal; -} - -.structfield -{ - font-style: normal; - font-weight: normal; -} - -/* code listings */ - -.listing_code .programlisting .cbracket { color: #a40000; } /* tango: scarlet red 3 */ -.listing_code .programlisting .comment { color: #a1a39d; } /* tango: aluminium 4 */ -.listing_code .programlisting .function { color: #000000; font-weight: bold; } -.listing_code .programlisting .function a { color: #11326b; font-weight: bold; } /* tango: sky blue 4 */ -.listing_code .programlisting .keyword { color: #4e9a06; } /* tango: chameleon 3 */ -.listing_code .programlisting .linenum { color: #babdb6; } /* tango: aluminium 3 */ -.listing_code .programlisting .normal { color: #000000; } -.listing_code .programlisting .number { color: #75507b; } /* tango: plum 2 */ -.listing_code .programlisting .preproc { color: #204a87; } /* tango: sky blue 3 */ -.listing_code .programlisting .string { color: #c17d11; } /* tango: chocolate 2 */ -.listing_code .programlisting .type { color: #000000; } -.listing_code .programlisting .type a { color: #11326b; } /* tango: sky blue 4 */ -.listing_code .programlisting .symbol { color: #ce5c00; } /* tango: orange 3 */ - -.listing_frame { - /* tango:sky blue 1 */ - border: solid 1px #729fcf; - border: solid 1px rgba(114, 159, 207, 0.2); - padding: 0px; -} - -.listing_lines, .listing_code { - margin-top: 0px; - margin-bottom: 0px; - padding: 0.5em; -} -.listing_lines { - /* this just adds visual clutter and - takes precious room from small screens */ - display: none; -} -.listing_lines { - /* tango:sky blue 0.5 */ - background: #a6c5e3; - background: rgba(114, 159, 207, 0.2); - /* tango:aluminium 6 */ - color: #2e3436; -} -.listing_code { - /* tango:sky blue 0 */ - background: #e6f3ff; - background: rgba(114, 159, 207, 0.1); -} -.listing_code .programlisting { - /* override from previous */ - border: none 0px; - padding: 0px; - background: none; -} -.listing_lines pre, .listing_code pre { - margin: 0px; -} - diff --git a/docs/reference/html/up-insensitive.png b/docs/reference/html/up-insensitive.png deleted file mode 100644 index f40498606db349a7321cf6b470523e836ee7ac2e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 374 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b zKpodXn9)gNb_Gz7y~NYkmHjTefG~@Ex#w@70gTL^E{-7zACwHGSRJaopUzr*FR_KPpkxheNzTDP+%{a~ox zRb6~e-_l%s#;V|Jw-)bO$G_X=4F`Y7SBoCzyjAZQ8BPW>ywAP8?pbBsZ|wt?+h6S6&uqY)kkMnwQQEd@7k`4t@sCCO z@7MoiEI4Q_#IB70vhu7Ab+>SXLxu@LWH Qzz|~aboFyt=akR{08E^fv;Y7A diff --git a/docs/reference/html/up.png b/docs/reference/html/up.png deleted file mode 100644 index 80b4b37e997d69b2e128bc3090bc447ccb74bbe9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 260 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b zKpodXn9)gNb_Gz7y~NYkmHjTefRFevZLys@4W>+6GUE!tU04Ii{0w_tkMIDB?rA5 zttYTN soup_session_prefetch_dns +soup_session_create_idle_connection soup_session_prepare_for_uri soup_session_abort @@ -708,6 +709,7 @@ soup_uri_get_type Soup Miscellaneous Utilities SoupDate SoupDateFormat +soupTimeOffset soup_date_new soup_date_new_from_string soup_date_new_from_time_t @@ -715,6 +717,7 @@ soup_date_new_from_now soup_date_to_string soup_date_to_time_t soup_date_to_timeval +soup_date_set_timeOffset soup_date_is_past soup_date_get_day soup_date_get_hour @@ -1031,6 +1034,7 @@ soup_cookie_jar_db_get_type SoupContentSniffer soup_content_sniffer_new soup_content_sniffer_sniff +soup_content_mime_sniff_set soup_content_sniffer_get_buffer_size SOUP_CONTENT_SNIFFER diff --git a/docs/reference/libsoup-2.4.types b/docs/reference/libsoup-2.4.types deleted file mode 100644 index 3e9a59e..0000000 --- a/docs/reference/libsoup-2.4.types +++ /dev/null @@ -1,38 +0,0 @@ -soup_address_get_type -soup_auth_basic_get_type -soup_auth_digest_get_type -soup_auth_domain_basic_get_type -soup_auth_domain_digest_get_type -soup_auth_domain_get_type -soup_auth_get_type -soup_auth_manager_get_type -soup_auth_ntlm_get_type -soup_buffer_get_type -soup_byte_array_get_type -soup_cache_get_type -soup_client_context_get_type -soup_content_decoder_get_type -soup_content_sniffer_get_type -soup_cookie_get_type -soup_cookie_jar_db_get_type -soup_cookie_jar_get_type -soup_cookie_jar_text_get_type -soup_date_get_type -soup_logger_get_type -soup_message_body_get_type -soup_message_get_type -soup_message_headers_get_type -soup_multipart_get_type -soup_multipart_input_stream_get_type -soup_proxy_resolver_default_get_type -soup_request_data_get_type -soup_request_file_get_type -soup_request_get_type -soup_request_http_get_type -soup_server_get_type -soup_session_async_get_type -soup_session_feature_get_type -soup_session_get_type -soup_session_sync_get_type -soup_socket_get_type -soup_uri_get_type diff --git a/docs/reference/tmpl/libsoup-2.4-unused.sgml b/docs/reference/tmpl/libsoup-2.4-unused.sgml deleted file mode 100644 index d904955..0000000 --- a/docs/reference/tmpl/libsoup-2.4-unused.sgml +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - -SoupServer deprecated API - - diff --git a/docs/reference/tmpl/soup-address.sgml b/docs/reference/tmpl/soup-address.sgml deleted file mode 100644 index 207a3bb..0000000 --- a/docs/reference/tmpl/soup-address.sgml +++ /dev/null @@ -1,271 +0,0 @@ - -SoupAddress - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@SOUP_ADDRESS_FAMILY_INVALID: -@SOUP_ADDRESS_FAMILY_IPV4: -@SOUP_ADDRESS_FAMILY_IPV6: - - - - - - - - - - - - - -@name: -@port: -@Returns: - - - - - - - -@sa: -@len: -@Returns: - - - - - - - -@family: -@port: -@Returns: - - - - - - - -@addr: -@status: -@user_data: - - - - - - - -@addr: -@async_context: -@cancellable: -@callback: -@user_data: - - - - - - - -@addr: -@cancellable: -@Returns: - - - - - - - -@addr: -@Returns: - - - - - - - -@addr: -@Returns: - - - - - - - -@addr: -@len: -@Returns: - - - - - - - -@addr: -@Returns: - - - - - - - -@addr: -@Returns: - - - - - - - -@addr: -@Returns: - - - - - - - -@addr1: -@addr2: -@Returns: - - - - - - - -@addr: -@Returns: - - - - - - - -@addr1: -@addr2: -@Returns: - - - - - - - -@addr: -@Returns: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/reference/tmpl/soup-auth-domain-basic.sgml b/docs/reference/tmpl/soup-auth-domain-basic.sgml deleted file mode 100644 index 0b9a30c..0000000 --- a/docs/reference/tmpl/soup-auth-domain-basic.sgml +++ /dev/null @@ -1,86 +0,0 @@ - -SoupAuthDomainBasic - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@optname1: -@...: -@Returns: - - - - - - - -@domain: -@msg: -@username: -@password: -@user_data: -@Returns: - - - - - - - -@domain: -@callback: -@user_data: -@dnotify: - - - - - - - - - - - - - - - - diff --git a/docs/reference/tmpl/soup-auth-domain-digest.sgml b/docs/reference/tmpl/soup-auth-domain-digest.sgml deleted file mode 100644 index 942cf3c..0000000 --- a/docs/reference/tmpl/soup-auth-domain-digest.sgml +++ /dev/null @@ -1,96 +0,0 @@ - -SoupAuthDomainDigest - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@optname1: -@...: -@Returns: - - - - - - - -@domain: -@msg: -@username: -@user_data: -@Returns: - - - - - - - -@domain: -@callback: -@user_data: -@dnotify: - - - - - - - -@username: -@realm: -@password: -@Returns: - - - - - - - - - - - - - - - - diff --git a/docs/reference/tmpl/soup-auth-domain.sgml b/docs/reference/tmpl/soup-auth-domain.sgml deleted file mode 100644 index ba058c0..0000000 --- a/docs/reference/tmpl/soup-auth-domain.sgml +++ /dev/null @@ -1,237 +0,0 @@ - -SoupAuthDomain - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@domain: -@path: - - - - - - - -@domain: -@path: - - - - - - - -@domain: -@msg: -@user_data: -@Returns: - - - - - - - -@domain: -@filter: -@filter_data: -@dnotify: - - - - - - - -@domain: -@Returns: - - - - - - - -@domain: -@msg: -@username: -@user_data: -@Returns: - - - - - - - -@domain: -@auth_callback: -@auth_data: -@dnotify: - - - - - - - -@domain: -@msg: -@username: -@password: -@Returns: - - - - - - - -@domain: -@msg: -@Returns: - - - - - - - -@domain: -@msg: -@Returns: - - - - - - - -@domain: -@msg: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/reference/tmpl/soup-auth-manager.sgml b/docs/reference/tmpl/soup-auth-manager.sgml deleted file mode 100644 index 7834d92..0000000 --- a/docs/reference/tmpl/soup-auth-manager.sgml +++ /dev/null @@ -1,55 +0,0 @@ - -SoupAuthManager - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@soupauthmanager: the object which received the signal. -@arg1: -@arg2: -@arg3: - - - - - - - - - - - - - -@manager: -@uri: -@auth: - - diff --git a/docs/reference/tmpl/soup-auth.sgml b/docs/reference/tmpl/soup-auth.sgml deleted file mode 100644 index fb3d491..0000000 --- a/docs/reference/tmpl/soup-auth.sgml +++ /dev/null @@ -1,234 +0,0 @@ - -SoupAuth - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@type: -@msg: -@auth_header: -@Returns: - - - - - - - -@auth: -@msg: -@auth_header: -@Returns: - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@auth: -@Returns: - - - - - - - -@auth: -@Returns: - - - - - - - -@auth: -@Returns: - - - - - - - -@auth: -@Returns: - - - - - - - -@auth: -@Returns: - - - - - - - -@auth: -@username: -@password: - - - - - - - -@auth: -@Returns: - - - - - - - -@auth: -@msg: -@Returns: - - - - - - - -@auth: -@msg: -@Returns: - - - - - - - -@auth: -@source_uri: -@Returns: - - - - - - - -@auth: -@space: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/reference/tmpl/soup-cache.sgml b/docs/reference/tmpl/soup-cache.sgml deleted file mode 100644 index 30d60d5..0000000 --- a/docs/reference/tmpl/soup-cache.sgml +++ /dev/null @@ -1,106 +0,0 @@ - -SoupCache - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@SOUP_CACHE_SINGLE_USER: -@SOUP_CACHE_SHARED: - - - - - - -@cache_dir: -@cache_type: -@Returns: - - - - - - - -@cache: - - - - - - - -@cache: - - - - - - - -@cache: - - - - - - - -@cache: - - - - - - - -@cache: -@Returns: - - - - - - - -@cache: -@max_size: - - diff --git a/docs/reference/tmpl/soup-content-decoder.sgml b/docs/reference/tmpl/soup-content-decoder.sgml deleted file mode 100644 index 23b9b45..0000000 --- a/docs/reference/tmpl/soup-content-decoder.sgml +++ /dev/null @@ -1,28 +0,0 @@ - -SoupContentDecoder - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/reference/tmpl/soup-content-sniffer.sgml b/docs/reference/tmpl/soup-content-sniffer.sgml deleted file mode 100644 index d6cd00e..0000000 --- a/docs/reference/tmpl/soup-content-sniffer.sgml +++ /dev/null @@ -1,58 +0,0 @@ - -SoupContentSniffer - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@void: -@Returns: - - - - - - - -@sniffer: -@msg: -@buffer: -@params: -@Returns: - - - - - - - -@sniffer: -@Returns: - - diff --git a/docs/reference/tmpl/soup-cookie-jar-db.sgml b/docs/reference/tmpl/soup-cookie-jar-db.sgml deleted file mode 100644 index 8d86312..0000000 --- a/docs/reference/tmpl/soup-cookie-jar-db.sgml +++ /dev/null @@ -1,50 +0,0 @@ - -SoupCookieJarDB - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@filename: -@read_only: -@Returns: - - - - - - - - - diff --git a/docs/reference/tmpl/soup-cookie-jar-text.sgml b/docs/reference/tmpl/soup-cookie-jar-text.sgml deleted file mode 100644 index 7fa93d1..0000000 --- a/docs/reference/tmpl/soup-cookie-jar-text.sgml +++ /dev/null @@ -1,50 +0,0 @@ - -SoupCookieJarText - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@filename: -@read_only: -@Returns: - - - - - - - - - diff --git a/docs/reference/tmpl/soup-cookie-jar.sgml b/docs/reference/tmpl/soup-cookie-jar.sgml deleted file mode 100644 index 3f45a21..0000000 --- a/docs/reference/tmpl/soup-cookie-jar.sgml +++ /dev/null @@ -1,186 +0,0 @@ - -SoupCookieJar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@soupcookiejar: the object which received the signal. -@arg1: -@arg2: - - - - - - - - - - - - - - - - -@void: -@Returns: - - - - - - - -@jar: -@uri: -@for_http: -@Returns: - - - - - - - -@jar: -@uri: -@for_http: -@Returns: - - - - - - - -@jar: -@uri: -@cookie: - - - - - - - -@jar: -@uri: -@first_party: -@cookie: - - - - - - - -@jar: -@cookie: - - - - - - - -@jar: -@first_party: -@cookie: - - - - - - - -@jar: -@cookie: - - - - - - - -@jar: -@Returns: - - - - - - - -@SOUP_COOKIE_JAR_ACCEPT_ALWAYS: -@SOUP_COOKIE_JAR_ACCEPT_NEVER: -@SOUP_COOKIE_JAR_ACCEPT_NO_THIRD_PARTY: - - - - - - -@jar: -@Returns: - - - - - - - -@jar: -@policy: - - - - - - - -@jar: -@Returns: - - - - - - - - - - - - - - - - diff --git a/docs/reference/tmpl/soup-cookie.sgml b/docs/reference/tmpl/soup-cookie.sgml deleted file mode 100644 index 5e850bc..0000000 --- a/docs/reference/tmpl/soup-cookie.sgml +++ /dev/null @@ -1,322 +0,0 @@ - -SoupCookie - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@name: -@value: -@domain: -@path: -@max_age: -@Returns: - - - - - - - -@header: -@origin: -@Returns: - - - - - - - -@cookie: -@Returns: - - - - - - - -@cookie: - - - - - - - -@cookie: -@name: - - - - - - - -@cookie: -@Returns: - - - - - - - -@cookie: -@value: - - - - - - - -@cookie: -@Returns: - - - - - - - -@cookie: -@domain: - - - - - - - -@cookie: -@Returns: - - - - - - - -@cookie: -@path: - - - - - - - -@cookie: -@Returns: - - - - - - - -@cookie: -@max_age: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@cookie: -@expires: - - - - - - - -@cookie: -@Returns: - - - - - - - -@cookie: -@secure: - - - - - - - -@cookie: -@Returns: - - - - - - - -@cookie: -@http_only: - - - - - - - -@cookie: -@Returns: - - - - - - - -@cookie: -@uri: -@Returns: - - - - - - - -@cookie: -@host: -@Returns: - - - - - - - -@cookie: -@Returns: - - - - - - - -@cookie: -@Returns: - - - - - - - -@msg: -@Returns: - - - - - - - -@msg: -@Returns: - - - - - - - -@cookies: -@msg: - - - - - - - -@cookies: -@msg: - - - - - - - -@cookies: -@Returns: - - - - - - - -@cookies: - - diff --git a/docs/reference/tmpl/soup-form.sgml b/docs/reference/tmpl/soup-form.sgml deleted file mode 100644 index b80fa4b..0000000 --- a/docs/reference/tmpl/soup-form.sgml +++ /dev/null @@ -1,140 +0,0 @@ - -HTML Form Support - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@encoded_form: -@Returns: - - - - - - - -@msg: -@file_control_name: -@filename: -@content_type: -@file: -@Returns: - - - - - - - -@first_field: -@...: -@Returns: - - - - - - - -@form_data_set: -@Returns: - - - - - - - -@form_data_set: -@Returns: - - - - - - - -@first_field: -@args: -@Returns: - - - - - - - -@method: -@uri: -@first_field: -@...: -@Returns: - - - - - - - -@method: -@uri: -@form_data_set: -@Returns: - - - - - - - -@method: -@uri: -@form_data_set: -@Returns: - - - - - - - -@uri: -@multipart: -@Returns: - - diff --git a/docs/reference/tmpl/soup-logger.sgml b/docs/reference/tmpl/soup-logger.sgml deleted file mode 100644 index 5056e1f..0000000 --- a/docs/reference/tmpl/soup-logger.sgml +++ /dev/null @@ -1,122 +0,0 @@ - -SoupLogger - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@SOUP_LOGGER_LOG_NONE: -@SOUP_LOGGER_LOG_MINIMAL: -@SOUP_LOGGER_LOG_HEADERS: -@SOUP_LOGGER_LOG_BODY: - - - - - - -@level: -@max_body_size: -@Returns: - - - - - - - -@logger: -@session: - - - - - - - -@logger: -@session: - - - - - - - -@logger: -@msg: -@user_data: -@Returns: - - - - - - - -@logger: -@request_filter: -@filter_data: -@destroy: - - - - - - - -@logger: -@response_filter: -@filter_data: -@destroy: - - - - - - - -@logger: -@level: -@direction: -@data: -@user_data: - - - - - - - -@logger: -@printer: -@printer_data: -@destroy: - - diff --git a/docs/reference/tmpl/soup-message-body.sgml b/docs/reference/tmpl/soup-message-body.sgml deleted file mode 100644 index 7fc31a5..0000000 --- a/docs/reference/tmpl/soup-message-body.sgml +++ /dev/null @@ -1,251 +0,0 @@ - -SoupMessageBody - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@SOUP_MEMORY_STATIC: -@SOUP_MEMORY_TAKE: -@SOUP_MEMORY_COPY: -@SOUP_MEMORY_TEMPORARY: - - - - - - -@use: -@data: -@length: -@Returns: - - - - - - - -@parent: -@offset: -@length: -@Returns: - - - - - - - -@data: -@length: -@owner: -@owner_dnotify: -@Returns: - - - - - - - -@data: -@length: -@Returns: - - - - - - - -@buffer: -@Returns: - - - - - - - -@buffer: -@data: -@length: - - - - - - - -@buffer: -@Returns: - - - - - - - -@buffer: - - - - - - - -@buffer: -@Returns: - - - - - - - - - - - - - -@void: -@Returns: - - - - - - - -@body: - - - - - - - -@body: -@accumulate: - - - - - - - -@body: -@Returns: - - - - - - - -@body: -@use: -@data: -@length: - - - - - - - -@body: -@buffer: - - - - - - - -@body: -@data: -@length: - - - - - - - -@body: - - - - - - - -@body: - - - - - - - -@body: -@Returns: - - - - - - - -@body: -@offset: -@Returns: - - - - - - - -@body: -@chunk: - - - - - - - -@body: -@chunk: - - diff --git a/docs/reference/tmpl/soup-message-headers.sgml b/docs/reference/tmpl/soup-message-headers.sgml deleted file mode 100644 index b29eb9e..0000000 --- a/docs/reference/tmpl/soup-message-headers.sgml +++ /dev/null @@ -1,362 +0,0 @@ - -SoupMessageHeaders - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@SOUP_MESSAGE_HEADERS_REQUEST: -@SOUP_MESSAGE_HEADERS_RESPONSE: -@SOUP_MESSAGE_HEADERS_MULTIPART: - - - - - - -@type: -@Returns: - - - - - - - -@hdrs: - - - - - - - -@hdrs: -@name: -@value: - - - - - - - -@hdrs: -@name: -@value: - - - - - - - -@hdrs: -@name: - - - - - - - -@hdrs: - - - - - - - -@hdrs: - - - - - - - -@hdrs: -@name: -@Returns: - - - - - - - -@hdrs: -@name: -@Returns: - - - - - - - -@hdrs: -@name: -@Returns: - - - - - - - -@name: -@value: -@user_data: - - - - - - - -@hdrs: -@func: -@user_data: - - - - - - - - - - - - - -@iter: -@hdrs: - - - - - - - -@iter: -@name: -@value: -@Returns: - - - - - - - -@SOUP_ENCODING_UNRECOGNIZED: -@SOUP_ENCODING_NONE: -@SOUP_ENCODING_CONTENT_LENGTH: -@SOUP_ENCODING_EOF: -@SOUP_ENCODING_CHUNKED: -@SOUP_ENCODING_BYTERANGES: - - - - - - -@hdrs: -@Returns: - - - - - - - -@hdrs: -@encoding: - - - - - - - -@hdrs: -@Returns: - - - - - - - -@hdrs: -@content_length: - - - - - - - -@SOUP_EXPECTATION_UNRECOGNIZED: -@SOUP_EXPECTATION_CONTINUE: - - - - - - -@hdrs: -@Returns: - - - - - - - -@hdrs: -@expectations: - - - - - - - -@hdrs: -@params: -@Returns: - - - - - - - -@hdrs: -@content_type: -@params: - - - - - - - -@hdrs: -@disposition: -@params: -@Returns: - - - - - - - -@hdrs: -@disposition: -@params: - - - - - - - -@start: -@end: - - - - - - -@hdrs: -@total_length: -@ranges: -@length: -@Returns: - - - - - - - -@hdrs: -@ranges: -@length: - - - - - - - -@hdrs: -@start: -@end: - - - - - - - -@hdrs: -@ranges: - - - - - - - -@hdrs: -@start: -@end: -@total_length: -@Returns: - - - - - - - -@hdrs: -@start: -@end: -@total_length: - - diff --git a/docs/reference/tmpl/soup-message.sgml b/docs/reference/tmpl/soup-message.sgml deleted file mode 100644 index bcf953b..0000000 --- a/docs/reference/tmpl/soup-message.sgml +++ /dev/null @@ -1,626 +0,0 @@ - -SoupMessage - - - - - - - - - - - - - - - - - - - - - - - - - -@method: -@status_code: -@reason_phrase: -@request_body: -@request_headers: -@response_body: -@response_headers: - - - - - - -@soupmessage: the object which received the signal. -@arg1: -@arg2: - - - - - - -@soupmessage: the object which received the signal. - - - - - - -@soupmessage: the object which received the signal. - - - - - - -@soupmessage: the object which received the signal. -@arg1: - - - - - - -@soupmessage: the object which received the signal. - - - - - - -@soupmessage: the object which received the signal. - - - - - - -@soupmessage: the object which received the signal. -@arg1: -@arg2: - - - - - - -@soupmessage: the object which received the signal. - - - - - - -@soupmessage: the object which received the signal. - - - - - - -@soupmessage: the object which received the signal. -@arg1: - - - - - - -@soupmessage: the object which received the signal. - - - - - - -@soupmessage: the object which received the signal. - - - - - - -@soupmessage: the object which received the signal. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@method: -@uri_string: -@Returns: - - - - - - - -@method: -@uri: -@Returns: - - - - - - - -@msg: -@content_type: -@req_use: -@req_body: -@req_length: - - - - - - - -@msg: -@content_type: -@resp_use: -@resp_body: -@resp_length: - - - - - - - -@SOUP_HTTP_1_0: -@SOUP_HTTP_1_1: - - - - - - -@msg: -@version: - - - - - - - -@msg: -@Returns: - - - - - - - -@msg: -@Returns: - - - - - - - -@msg: -@uri: - - - - - - - -@msg: -@Returns: - - - - - - - -@msg: -@status_code: - - - - - - - -@msg: -@status_code: -@reason_phrase: - - - - - - - -@msg: -@status_code: -@redirect_uri: - - - - - - - -@msg: -@Returns: - - - - - - - -@msg: -@certificate: -@errors: -@Returns: - - - - - - - -@msg: -@first_party: - - - - - - - -@msg: -@Returns: - - - - - - - -@msg: -@signal: -@header: -@callback: -@user_data: -@Returns: - - - - - - - -@msg: -@signal: -@status_code: -@callback: -@user_data: -@Returns: - - - - - - - -@SOUP_MESSAGE_NO_REDIRECT: -@SOUP_MESSAGE_CAN_REBUILD: -@SOUP_MESSAGE_OVERWRITE_CHUNKS: -@SOUP_MESSAGE_CONTENT_DECODED: -@SOUP_MESSAGE_CERTIFICATE_TRUSTED: -@SOUP_MESSAGE_NEW_CONNECTION: -@SOUP_MESSAGE_IDEMPOTENT: - - - - - - -@msg: -@flags: - - - - - - - -@msg: -@Returns: - - - - - - - -@msg: -@max_len: -@user_data: -@Returns: - - - - - - - -@msg: -@allocator: -@user_data: -@destroy_notify: - - - - - - - -@msg: -@feature_type: - - - - - - - -@msg: -@Returns: - - - - - - - -@SOUP_MESSAGE_PRIORITY_VERY_LOW: -@SOUP_MESSAGE_PRIORITY_LOW: -@SOUP_MESSAGE_PRIORITY_NORMAL: -@SOUP_MESSAGE_PRIORITY_HIGH: -@SOUP_MESSAGE_PRIORITY_VERY_HIGH: - - - - - - -@msg: -@Returns: - - - - - - - -@msg: -@priority: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/reference/tmpl/soup-method.sgml b/docs/reference/tmpl/soup-method.sgml deleted file mode 100644 index d2996e1..0000000 --- a/docs/reference/tmpl/soup-method.sgml +++ /dev/null @@ -1,127 +0,0 @@ - -soup-method - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/reference/tmpl/soup-misc.sgml b/docs/reference/tmpl/soup-misc.sgml deleted file mode 100644 index 92d2f0a..0000000 --- a/docs/reference/tmpl/soup-misc.sgml +++ /dev/null @@ -1,399 +0,0 @@ - -Soup Miscellaneous Utilities - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@SOUP_DATE_HTTP: -@SOUP_DATE_COOKIE: -@SOUP_DATE_RFC2822: -@SOUP_DATE_ISO8601_COMPACT: -@SOUP_DATE_ISO8601_FULL: -@SOUP_DATE_ISO8601: -@SOUP_DATE_ISO8601_XMLRPC: - - - - - - -@year: -@month: -@day: -@hour: -@minute: -@second: -@Returns: - - - - - - - -@date_string: -@Returns: - - - - - - - -@when: -@Returns: - - - - - - - -@offset_seconds: -@Returns: - - - - - - - -@date: -@format: -@Returns: - - - - - - - -@date: -@Returns: - - - - - - - -@date: -@time: - - - - - - - -@date: -@Returns: - - - - - - - -@date: -@Returns: - - - - - - - -@date: -@Returns: - - - - - - - -@date: -@Returns: - - - - - - - -@date: -@Returns: - - - - - - - -@date: -@Returns: - - - - - - - -@date: -@Returns: - - - - - - - -@date: -@Returns: - - - - - - - -@date: -@Returns: - - - - - - - -@date: - - - - - - - -@str: -@len: -@req_headers: -@req_method: -@req_path: -@ver: -@Returns: - - - - - - - -@str: -@len: -@headers: -@ver: -@status_code: -@reason_phrase: -@Returns: - - - - - - - -@status_line: -@ver: -@status_code: -@reason_phrase: -@Returns: - - - - - - - -@str: -@len: -@dest: -@Returns: - - - - - - - -@header: -@Returns: - - - - - - - -@header: -@unacceptable: -@Returns: - - - - - - - -@list: - - - - - - - -@header: -@token: -@Returns: - - - - - - - -@header: -@Returns: - - - - - - - -@header: -@Returns: - - - - - - - -@param_list: - - - - - - - -@string: -@name: -@value: - - - - - - - -@string: -@name: -@value: - - - - - - - -@v1: -@v2: -@Returns: - - - - - - - -@key: -@Returns: - - - - - - - -@async_context: -@function: -@data: -@Returns: - - - - - - - -@async_context: -@function: -@data: -@Returns: - - - - - - - -@async_context: -@chan: -@condition: -@function: -@data: -@Returns: - - - - - - - -@async_context: -@interval: -@function: -@data: -@Returns: - - diff --git a/docs/reference/tmpl/soup-multipart-input-stream.sgml b/docs/reference/tmpl/soup-multipart-input-stream.sgml deleted file mode 100644 index 12e3315..0000000 --- a/docs/reference/tmpl/soup-multipart-input-stream.sgml +++ /dev/null @@ -1,86 +0,0 @@ - -SoupMultipartInputStream - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@msg: -@base_stream: -@Returns: - - - - - - - -@multipart: -@Returns: - - - - - - - -@multipart: -@cancellable: -@error: -@Returns: - - - - - - - -@multipart: -@io_priority: -@cancellable: -@callback: -@data: - - - - - - - -@multipart: -@result: -@error: -@Returns: - - diff --git a/docs/reference/tmpl/soup-multipart.sgml b/docs/reference/tmpl/soup-multipart.sgml deleted file mode 100644 index 5b0145d..0000000 --- a/docs/reference/tmpl/soup-multipart.sgml +++ /dev/null @@ -1,118 +0,0 @@ - -SoupMultipart - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@mime_type: -@Returns: - - - - - - - -@headers: -@body: -@Returns: - - - - - - - -@multipart: - - - - - - - -@multipart: -@Returns: - - - - - - - -@multipart: -@part: -@headers: -@body: -@Returns: - - - - - - - -@multipart: -@headers: -@body: - - - - - - - -@multipart: -@control_name: -@data: - - - - - - - -@multipart: -@control_name: -@filename: -@content_type: -@body: - - - - - - - -@multipart: -@dest_headers: -@dest_body: - - diff --git a/docs/reference/tmpl/soup-proxy-resolver-default.sgml b/docs/reference/tmpl/soup-proxy-resolver-default.sgml deleted file mode 100644 index a36aaa2..0000000 --- a/docs/reference/tmpl/soup-proxy-resolver-default.sgml +++ /dev/null @@ -1,33 +0,0 @@ - -SoupProxyResolverDefault - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/reference/tmpl/soup-request-data.sgml b/docs/reference/tmpl/soup-request-data.sgml deleted file mode 100644 index 31ab1e0..0000000 --- a/docs/reference/tmpl/soup-request-data.sgml +++ /dev/null @@ -1,28 +0,0 @@ - -SoupRequestData - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/reference/tmpl/soup-request-file.sgml b/docs/reference/tmpl/soup-request-file.sgml deleted file mode 100644 index 229a99c..0000000 --- a/docs/reference/tmpl/soup-request-file.sgml +++ /dev/null @@ -1,37 +0,0 @@ - -SoupRequestFile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@file: -@Returns: - - diff --git a/docs/reference/tmpl/soup-request-http.sgml b/docs/reference/tmpl/soup-request-http.sgml deleted file mode 100644 index 0a0d1cf..0000000 --- a/docs/reference/tmpl/soup-request-http.sgml +++ /dev/null @@ -1,37 +0,0 @@ - -SoupRequestHTTP - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@http: -@Returns: - - diff --git a/docs/reference/tmpl/soup-request.sgml b/docs/reference/tmpl/soup-request.sgml deleted file mode 100644 index 3003847..0000000 --- a/docs/reference/tmpl/soup-request.sgml +++ /dev/null @@ -1,121 +0,0 @@ - -SoupRequest - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@request: -@cancellable: -@error: -@Returns: - - - - - - - -@request: -@cancellable: -@callback: -@user_data: - - - - - - - -@request: -@result: -@error: -@Returns: - - - - - - - -@request: -@Returns: - - - - - - - -@request: -@Returns: - - - - - - - -@request: -@Returns: - - - - - - - -@request: -@Returns: - - - - - - - - - - - - - - - - diff --git a/docs/reference/tmpl/soup-server-deprecated.sgml b/docs/reference/tmpl/soup-server-deprecated.sgml deleted file mode 100644 index e18a391..0000000 --- a/docs/reference/tmpl/soup-server-deprecated.sgml +++ /dev/null @@ -1,126 +0,0 @@ - -SoupServer deprecated API - - - - - - - - - - - - - - - - - - - - - - - - - -@server: -@Returns: - - - - - - - -@server: -@Returns: - - - - - - - -@server: - - - - - - - -@server: - - - - - - - -@server: - - - - - - - -@server: -@Returns: - - - - - - - -@client: -@Returns: - - - - - - - -@client: -@Returns: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/reference/tmpl/soup-server.sgml b/docs/reference/tmpl/soup-server.sgml deleted file mode 100644 index 81bff02..0000000 --- a/docs/reference/tmpl/soup-server.sgml +++ /dev/null @@ -1,383 +0,0 @@ - -SoupServer - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@soupserver: the object which received the signal. -@arg1: -@arg2: - - - - - - -@soupserver: the object which received the signal. -@arg1: -@arg2: - - - - - - -@soupserver: the object which received the signal. -@arg1: -@arg2: - - - - - - -@soupserver: the object which received the signal. -@arg1: -@arg2: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@optname1: -@...: -@Returns: - - - - - - - -@server: -@Returns: - - - - - - - -@server: -@Returns: - - - - - - - -@server: -@Returns: - - - - - - - -@server: - - - - - - - -@server: - - - - - - - -@server: - - - - - - - -@server: - - - - - - - -@server: -@Returns: - - - - - - - -@server: -@msg: -@path: -@query: -@client: -@user_data: - - - - - - - -@server: -@path: -@callback: -@user_data: -@destroy: - - - - - - - -@server: -@path: - - - - - - - - - - - - - -@client: -@Returns: - - - - - - - -@client: -@Returns: - - - - - - - -@client: -@Returns: - - - - - - - -@client: -@Returns: - - - - - - - -@client: -@Returns: - - - - - - - -@server: -@auth_domain: - - - - - - - -@server: -@auth_domain: - - - - - - - -@server: -@msg: - - - - - - - -@server: -@msg: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/reference/tmpl/soup-session-async.sgml b/docs/reference/tmpl/soup-session-async.sgml deleted file mode 100644 index 84ce2d8..0000000 --- a/docs/reference/tmpl/soup-session-async.sgml +++ /dev/null @@ -1,47 +0,0 @@ - -SoupSessionAsync - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@void: -@Returns: - - - - - - - -@optname1: -@...: -@Returns: - - diff --git a/docs/reference/tmpl/soup-session-feature.sgml b/docs/reference/tmpl/soup-session-feature.sgml deleted file mode 100644 index 7ba9a25..0000000 --- a/docs/reference/tmpl/soup-session-feature.sgml +++ /dev/null @@ -1,43 +0,0 @@ - -SoupSessionFeature - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@parent: -@attach: -@detach: -@request_queued: -@request_started: -@request_unqueued: -@add_feature: -@remove_feature: -@has_feature: - diff --git a/docs/reference/tmpl/soup-session-sync.sgml b/docs/reference/tmpl/soup-session-sync.sgml deleted file mode 100644 index 3f520a5..0000000 --- a/docs/reference/tmpl/soup-session-sync.sgml +++ /dev/null @@ -1,47 +0,0 @@ - -SoupSessionSync - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@void: -@Returns: - - - - - - - -@optname1: -@...: -@Returns: - - diff --git a/docs/reference/tmpl/soup-session.sgml b/docs/reference/tmpl/soup-session.sgml deleted file mode 100644 index 8de079a..0000000 --- a/docs/reference/tmpl/soup-session.sgml +++ /dev/null @@ -1,656 +0,0 @@ - -SoupSession - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@soupsession: the object which received the signal. -@arg1: -@arg2: -@arg3: - - - - - - -@soupsession: the object which received the signal. -@arg1: - - - - - - -@soupsession: the object which received the signal. -@arg1: - - - - - - -@soupsession: the object which received the signal. -@arg1: -@arg2: - - - - - - -@soupsession: the object which received the signal. -@arg1: - - - - - - -@soupsession: the object which received the signal. -@arg1: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@void: -@Returns: - - - - - - - -@optname1: -@...: -@Returns: - - - - - - - -@session: -@uri_string: -@error: -@Returns: - - - - - - - -@session: -@uri: -@error: -@Returns: - - - - - - - -@session: -@method: -@uri_string: -@error: -@Returns: - - - - - - - -@session: -@method: -@uri: -@error: -@Returns: - - - - - - - -@SOUP_REQUEST_ERROR_BAD_URI: -@SOUP_REQUEST_ERROR_UNSUPPORTED_URI_SCHEME: -@SOUP_REQUEST_ERROR_PARSING: -@SOUP_REQUEST_ERROR_ENCODING: - - - - - - - - - - - - - -@session: -@msg: -@user_data: - - - - - - - -@session: -@msg: -@callback: -@user_data: - - - - - - - -@session: -@msg: - - - - - - - -@session: -@msg: -@Returns: - - - - - - - -@session: -@msg: -@status_code: - - - - - - - -@session: -@msg: -@cancellable: -@error: -@Returns: - - - - - - - -@session: -@msg: -@cancellable: -@callback: -@user_data: - - - - - - - -@session: -@result: -@error: -@Returns: - - - - - - - -@session: -@hostname: -@cancellable: -@callback: -@user_data: - - - - - - - -@session: -@uri: - - - - - - - -@session: - - - - - - - -@session: -@msg: -@Returns: - - - - - - - -@session: -@msg: -@Returns: - - - - - - - -@session: -@msg: - - - - - - - -@session: -@msg: - - - - - - - -@session: -@Returns: - - - - - - - -@session: -@feature: - - - - - - - -@session: -@feature_type: - - - - - - - -@session: -@feature: - - - - - - - -@session: -@feature_type: - - - - - - - -@session: -@feature_type: -@Returns: - - - - - - - -@session: -@feature_type: -@Returns: - - - - - - - -@session: -@feature_type: -@msg: -@Returns: - - - - - - - -@session: -@feature_type: -@Returns: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/reference/tmpl/soup-socket.sgml b/docs/reference/tmpl/soup-socket.sgml deleted file mode 100644 index fe26d3f..0000000 --- a/docs/reference/tmpl/soup-socket.sgml +++ /dev/null @@ -1,411 +0,0 @@ - -SoupSocket - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@soupsocket: the object which received the signal. - - - - - - -@soupsocket: the object which received the signal. -@arg1: -@arg2: - - - - - - -@soupsocket: the object which received the signal. -@arg1: - - - - - - -@soupsocket: the object which received the signal. - - - - - - -@soupsocket: the object which received the signal. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@optname1: -@...: -@Returns: - - - - - - - -@sock: -@status: -@user_data: - - - - - - - -@sock: -@cancellable: -@callback: -@user_data: - - - - - - - -@sock: -@cancellable: -@Returns: - - - - - - - -@sock: -@Returns: - - - - - - - -@sock: -@cancellable: -@Returns: - - - - - - - -@sock: -@ssl_host: -@cancellable: -@Returns: - - - - - - - -@sock: -@Returns: - - - - - - - -@sock: - - - - - - - -@sock: -@Returns: - - - - - - - -@sock: -@Returns: - - - - - - - -@sock: -@Returns: - - - - - - - -@sock: -@Returns: - - - - - - - -@SOUP_SOCKET_OK: -@SOUP_SOCKET_WOULD_BLOCK: -@SOUP_SOCKET_EOF: -@SOUP_SOCKET_ERROR: - - - - - - -@sock: -@buffer: -@len: -@nread: -@cancellable: -@error: -@Returns: - - - - - - - -@sock: -@buffer: -@len: -@boundary: -@boundary_len: -@nread: -@got_boundary: -@cancellable: -@error: -@Returns: - - - - - - - -@sock: -@buffer: -@len: -@nwrote: -@cancellable: -@error: -@Returns: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/reference/tmpl/soup-status.sgml b/docs/reference/tmpl/soup-status.sgml deleted file mode 100644 index 38fe6ba..0000000 --- a/docs/reference/tmpl/soup-status.sgml +++ /dev/null @@ -1,164 +0,0 @@ - -soup-status - - - - - - - - - - - - - - - - - - - - - - - - - -@status: - - - - - - - -@status: - - - - - - - -@status: - - - - - - - -@status: - - - - - - - -@status: - - - - - - - -@status: - - - - - - - -@SOUP_STATUS_NONE: -@SOUP_STATUS_CANCELLED: -@SOUP_STATUS_CANT_RESOLVE: -@SOUP_STATUS_CANT_RESOLVE_PROXY: -@SOUP_STATUS_CANT_CONNECT: -@SOUP_STATUS_CANT_CONNECT_PROXY: -@SOUP_STATUS_SSL_FAILED: -@SOUP_STATUS_IO_ERROR: -@SOUP_STATUS_MALFORMED: -@SOUP_STATUS_TRY_AGAIN: -@SOUP_STATUS_TOO_MANY_REDIRECTS: -@SOUP_STATUS_TLS_FAILED: -@SOUP_STATUS_CONTINUE: -@SOUP_STATUS_SWITCHING_PROTOCOLS: -@SOUP_STATUS_PROCESSING: -@SOUP_STATUS_OK: -@SOUP_STATUS_CREATED: -@SOUP_STATUS_ACCEPTED: -@SOUP_STATUS_NON_AUTHORITATIVE: -@SOUP_STATUS_NO_CONTENT: -@SOUP_STATUS_RESET_CONTENT: -@SOUP_STATUS_PARTIAL_CONTENT: -@SOUP_STATUS_MULTI_STATUS: -@SOUP_STATUS_MULTIPLE_CHOICES: -@SOUP_STATUS_MOVED_PERMANENTLY: -@SOUP_STATUS_FOUND: -@SOUP_STATUS_MOVED_TEMPORARILY: -@SOUP_STATUS_SEE_OTHER: -@SOUP_STATUS_NOT_MODIFIED: -@SOUP_STATUS_USE_PROXY: -@SOUP_STATUS_NOT_APPEARING_IN_THIS_PROTOCOL: -@SOUP_STATUS_TEMPORARY_REDIRECT: -@SOUP_STATUS_BAD_REQUEST: -@SOUP_STATUS_UNAUTHORIZED: -@SOUP_STATUS_PAYMENT_REQUIRED: -@SOUP_STATUS_FORBIDDEN: -@SOUP_STATUS_NOT_FOUND: -@SOUP_STATUS_METHOD_NOT_ALLOWED: -@SOUP_STATUS_NOT_ACCEPTABLE: -@SOUP_STATUS_PROXY_AUTHENTICATION_REQUIRED: -@SOUP_STATUS_PROXY_UNAUTHORIZED: -@SOUP_STATUS_REQUEST_TIMEOUT: -@SOUP_STATUS_CONFLICT: -@SOUP_STATUS_GONE: -@SOUP_STATUS_LENGTH_REQUIRED: -@SOUP_STATUS_PRECONDITION_FAILED: -@SOUP_STATUS_REQUEST_ENTITY_TOO_LARGE: -@SOUP_STATUS_REQUEST_URI_TOO_LONG: -@SOUP_STATUS_UNSUPPORTED_MEDIA_TYPE: -@SOUP_STATUS_REQUESTED_RANGE_NOT_SATISFIABLE: -@SOUP_STATUS_INVALID_RANGE: -@SOUP_STATUS_EXPECTATION_FAILED: -@SOUP_STATUS_UNPROCESSABLE_ENTITY: -@SOUP_STATUS_LOCKED: -@SOUP_STATUS_FAILED_DEPENDENCY: -@SOUP_STATUS_INTERNAL_SERVER_ERROR: -@SOUP_STATUS_NOT_IMPLEMENTED: -@SOUP_STATUS_BAD_GATEWAY: -@SOUP_STATUS_SERVICE_UNAVAILABLE: -@SOUP_STATUS_GATEWAY_TIMEOUT: -@SOUP_STATUS_HTTP_VERSION_NOT_SUPPORTED: -@SOUP_STATUS_INSUFFICIENT_STORAGE: -@SOUP_STATUS_NOT_EXTENDED: - - - - - - -@status_code: -@Returns: - - - - - - - -@status_code: -@Returns: - - - - - - - - - diff --git a/docs/reference/tmpl/soup-tld.sgml b/docs/reference/tmpl/soup-tld.sgml deleted file mode 100644 index cebe2e7..0000000 --- a/docs/reference/tmpl/soup-tld.sgml +++ /dev/null @@ -1,58 +0,0 @@ - -Top Level Domain utils - - - - - - - - - - - - - - - - - - - - - - - - - -@hostname: -@error: -@Returns: - - - - - - - -@domain: -@Returns: - - - - - - - - - - - - - - -@SOUP_TLD_ERROR_INVALID_HOSTNAME: -@SOUP_TLD_ERROR_IS_IP_ADDRESS: -@SOUP_TLD_ERROR_NOT_ENOUGH_DOMAINS: -@SOUP_TLD_ERROR_NO_BASE_DOMAIN: - diff --git a/docs/reference/tmpl/soup-uri.sgml b/docs/reference/tmpl/soup-uri.sgml deleted file mode 100644 index 64d5c92..0000000 --- a/docs/reference/tmpl/soup-uri.sgml +++ /dev/null @@ -1,371 +0,0 @@ - -SoupURI - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@base: -@uri_string: -@Returns: - - - - - - - -@uri_string: -@Returns: - - - - - - - -@uri: -@just_path_and_query: -@Returns: - - - - - - - -@uri: -@Returns: - - - - - - - -@uri: -@Returns: - - - - - - - -@uri1: -@uri2: -@Returns: - - - - - - - -@v1: -@v2: -@Returns: - - - - - - - -@key: -@Returns: - - - - - - - -@uri: - - - - - - - -@part: -@escape_extra: -@Returns: - - - - - - - -@part: -@Returns: - - - - - - - -@part: -@unescape_extra: -@Returns: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@uri: -@Returns: - - - - - - - -@uri: - - - - - - - -@uri: - - - - - - - -@uri: -@scheme: - - - - - - - -@uri: -@Returns: - - - - - - - -@uri: -@user: - - - - - - - -@uri: -@Returns: - - - - - - - -@uri: -@password: - - - - - - - -@uri: -@Returns: - - - - - - - -@uri: -@host: - - - - - - - -@uri: -@Returns: - - - - - - - -@uri: -@port: - - - - - - - -@uri: -@Returns: - - - - - - - -@uri: -@path: - - - - - - - -@uri: -@Returns: - - - - - - - -@uri: -@query: - - - - - - - -@uri: -@form: - - - - - - - -@uri: -@first_field: -@...: - - - - - - - -@uri: -@Returns: - - - - - - - -@uri: -@fragment: - - - - - - - -@uri: -@Returns: - - diff --git a/docs/reference/tmpl/soup-value-utils.sgml b/docs/reference/tmpl/soup-value-utils.sgml deleted file mode 100644 index aa70d0e..0000000 --- a/docs/reference/tmpl/soup-value-utils.sgml +++ /dev/null @@ -1,203 +0,0 @@ - -GValue Support - - - - - - - - - - - - - - - - - - - - - - - - - -@void: -@Returns: - - - - - - - -@first_key: -@...: -@Returns: - - - - - - - -@hash: -@key: -@value: - - - - - - - -@hash: -@key: -@type: -@...: - - - - - - - -@hash: -@first_key: -@...: - - - - - - - -@hash: -@key: -@type: -@...: -@Returns: - - - - - - - -@hash: -@first_key: -@...: -@Returns: - - - - - - - -@args: -@Returns: - - - - - - - -@array: -@args: -@Returns: - - - - - - - -@void: -@Returns: - - - - - - - -@first_type: -@...: -@Returns: - - - - - - - -@array: -@index_: -@type: -@...: - - - - - - - -@array: -@type: -@...: - - - - - - - -@array: -@first_type: -@...: - - - - - - - -@array: -@index_: -@type: -@...: -@Returns: - - - - - - - -@val: -@type: -@args: - - - - - - - -@val: -@type: -@args: - - - - - - - - - diff --git a/docs/reference/tmpl/soup-version.sgml b/docs/reference/tmpl/soup-version.sgml deleted file mode 100644 index d7e2847..0000000 --- a/docs/reference/tmpl/soup-version.sgml +++ /dev/null @@ -1,189 +0,0 @@ - -Version Information - - - - - - - - - - - - - - - - - - - - - - - - - -@void: -@Returns: - - - - - - - -@void: -@Returns: - - - - - - - -@void: -@Returns: - - - - - - - -@major: -@minor: -@micro: -@Returns: - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@major: -@minor: -@micro: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/reference/tmpl/soup-xmlrpc.sgml b/docs/reference/tmpl/soup-xmlrpc.sgml deleted file mode 100644 index 4a5e7e9..0000000 --- a/docs/reference/tmpl/soup-xmlrpc.sgml +++ /dev/null @@ -1,157 +0,0 @@ - -XMLRPC Support - - - - - - - - - - - - - - - - - - - - - - - - - -@method_name: -@params: -@n_params: -@Returns: - - - - - - - -@uri: -@method_name: -@...: -@Returns: - - - - - - - -@method_response: -@length: -@value: -@error: -@Returns: - - - - - - - -@method_response: -@length: -@error: -@type: -@...: -@Returns: - - - - - - - -@method_call: -@length: -@method_name: -@params: -@Returns: - - - - - - - -@method_call: -@length: -@method_name: -@...: -@Returns: - - - - - - - -@value: -@Returns: - - - - - - - -@fault_code: -@fault_format: -@...: -@Returns: - - - - - - - -@msg: -@type: -@...: - - - - - - - -@msg: -@fault_code: -@fault_format: -@...: - - - - - - - - - - - - - - -@SOUP_XMLRPC_FAULT_PARSE_ERROR_NOT_WELL_FORMED: -@SOUP_XMLRPC_FAULT_PARSE_ERROR_UNSUPPORTED_ENCODING: -@SOUP_XMLRPC_FAULT_PARSE_ERROR_INVALID_CHARACTER_FOR_ENCODING: -@SOUP_XMLRPC_FAULT_SERVER_ERROR_INVALID_XML_RPC: -@SOUP_XMLRPC_FAULT_SERVER_ERROR_REQUESTED_METHOD_NOT_FOUND: -@SOUP_XMLRPC_FAULT_SERVER_ERROR_INVALID_METHOD_PARAMETERS: -@SOUP_XMLRPC_FAULT_SERVER_ERROR_INTERNAL_XML_RPC_ERROR: -@SOUP_XMLRPC_FAULT_APPLICATION_ERROR: -@SOUP_XMLRPC_FAULT_SYSTEM_ERROR: -@SOUP_XMLRPC_FAULT_TRANSPORT_ERROR: - diff --git a/gtk-doc.make b/gtk-doc.make deleted file mode 100644 index dd31993..0000000 --- a/gtk-doc.make +++ /dev/null @@ -1,315 +0,0 @@ -# -*- mode: makefile -*- - -#################################### -# Everything below here is generic # -#################################### - -if GTK_DOC_USE_LIBTOOL -GTKDOC_CC = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -GTKDOC_LD = $(LIBTOOL) --tag=CC --mode=link $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -GTKDOC_RUN = $(LIBTOOL) --mode=execute -else -GTKDOC_CC = $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -GTKDOC_LD = $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -GTKDOC_RUN = -endif - -# We set GPATH here; this gives us semantics for GNU make -# which are more like other make's VPATH, when it comes to -# whether a source that is a target of one rule is then -# searched for in VPATH/GPATH. -# -GPATH = $(srcdir) - -TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE) - -SETUP_FILES = \ - $(content_files) \ - $(DOC_MAIN_SGML_FILE) \ - $(DOC_MODULE)-sections.txt \ - $(DOC_MODULE)-overrides.txt - -EXTRA_DIST = \ - $(HTML_IMAGES) \ - $(SETUP_FILES) - -DOC_STAMPS=setup-build.stamp scan-build.stamp tmpl-build.stamp sgml-build.stamp \ - html-build.stamp pdf-build.stamp \ - tmpl.stamp sgml.stamp html.stamp pdf.stamp - -SCANOBJ_FILES = \ - $(DOC_MODULE).args \ - $(DOC_MODULE).hierarchy \ - $(DOC_MODULE).interfaces \ - $(DOC_MODULE).prerequisites \ - $(DOC_MODULE).signals - -REPORT_FILES = \ - $(DOC_MODULE)-undocumented.txt \ - $(DOC_MODULE)-undeclared.txt \ - $(DOC_MODULE)-unused.txt - -gtkdoc-check.test: Makefile - $(AM_V_GEN)echo "#!/bin/sh -e" > $@; \ - echo "$(GTKDOC_CHECK_PATH) || exit 1" >> $@; \ - chmod +x $@ - -CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) $(DOC_STAMPS) gtkdoc-check.test - -if GTK_DOC_BUILD_HTML -HTML_BUILD_STAMP=html-build.stamp -else -HTML_BUILD_STAMP= -endif -if GTK_DOC_BUILD_PDF -PDF_BUILD_STAMP=pdf-build.stamp -else -PDF_BUILD_STAMP= -endif - -all-gtk-doc: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP) -.PHONY: all-gtk-doc - -if ENABLE_GTK_DOC -all-local: all-gtk-doc -endif - -docs: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP) - -$(REPORT_FILES): sgml-build.stamp - -#### setup #### - -GTK_DOC_V_SETUP=$(GTK_DOC_V_SETUP_$(V)) -GTK_DOC_V_SETUP_=$(GTK_DOC_V_SETUP_$(AM_DEFAULT_VERBOSITY)) -GTK_DOC_V_SETUP_0=@echo " DOC Preparing build"; - -setup-build.stamp: - -$(GTK_DOC_V_SETUP)if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \ - files=`echo $(SETUP_FILES) $(expand_content_files) $(DOC_MODULE).types`; \ - if test "x$$files" != "x" ; then \ - for file in $$files ; do \ - destdir=`dirname $(abs_builddir)/$$file` ;\ - test -d "$$destdir" || mkdir -p "$$destdir"; \ - test -f $(abs_srcdir)/$$file && \ - cp -pf $(abs_srcdir)/$$file $(abs_builddir)/$$file || true; \ - done; \ - fi; \ - test -d $(abs_srcdir)/tmpl && \ - { cp -pR $(abs_srcdir)/tmpl $(abs_builddir)/; \ - chmod -R u+w $(abs_builddir)/tmpl; } \ - fi - $(AM_V_at)touch setup-build.stamp - -#### scan #### - -GTK_DOC_V_SCAN=$(GTK_DOC_V_SCAN_$(V)) -GTK_DOC_V_SCAN_=$(GTK_DOC_V_SCAN_$(AM_DEFAULT_VERBOSITY)) -GTK_DOC_V_SCAN_0=@echo " DOC Scanning header files"; - -GTK_DOC_V_INTROSPECT=$(GTK_DOC_V_INTROSPECT_$(V)) -GTK_DOC_V_INTROSPECT_=$(GTK_DOC_V_INTROSPECT_$(AM_DEFAULT_VERBOSITY)) -GTK_DOC_V_INTROSPECT_0=@echo " DOC Introspecting gobjects"; - -scan-build.stamp: setup-build.stamp $(HFILE_GLOB) $(CFILE_GLOB) - $(GTK_DOC_V_SCAN)_source_dir='' ; \ - for i in $(DOC_SOURCE_DIR) ; do \ - _source_dir="$${_source_dir} --source-dir=$$i" ; \ - done ; \ - gtkdoc-scan --module=$(DOC_MODULE) --ignore-headers="$(IGNORE_HFILES)" $${_source_dir} $(SCAN_OPTIONS) $(EXTRA_HFILES) - $(GTK_DOC_V_INTROSPECT)if grep -l '^..*$$' $(DOC_MODULE).types > /dev/null 2>&1 ; then \ - scanobj_options=""; \ - gtkdoc-scangobj 2>&1 --help | grep >/dev/null "\-\-verbose"; \ - if test "$(?)" = "0"; then \ - if test "x$(V)" = "x1"; then \ - scanobj_options="--verbose"; \ - fi; \ - fi; \ - CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" RUN="$(GTKDOC_RUN)" CFLAGS="$(GTKDOC_CFLAGS) $(CFLAGS)" LDFLAGS="$(GTKDOC_LIBS) $(LDFLAGS)" \ - gtkdoc-scangobj $(SCANGOBJ_OPTIONS) $$scanobj_options --module=$(DOC_MODULE); \ - else \ - for i in $(SCANOBJ_FILES) ; do \ - test -f $$i || touch $$i ; \ - done \ - fi - $(AM_V_at)touch scan-build.stamp - -$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt: scan-build.stamp - @true - -#### templates #### - -GTK_DOC_V_TMPL=$(GTK_DOC_V_TMPL_$(V)) -GTK_DOC_V_TMPL_=$(GTK_DOC_V_TMPL_$(AM_DEFAULT_VERBOSITY)) -GTK_DOC_V_TMPL_0=@echo " DOC Rebuilding template files"; - -tmpl-build.stamp: setup-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt - $(GTK_DOC_V_TMPL)gtkdoc-mktmpl --module=$(DOC_MODULE) $(MKTMPL_OPTIONS) - $(AM_V_at)if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \ - if test -w $(abs_srcdir) ; then \ - cp -pR $(abs_builddir)/tmpl $(abs_srcdir)/; \ - fi \ - fi - $(AM_V_at)touch tmpl-build.stamp - -tmpl.stamp: tmpl-build.stamp - @true - -$(srcdir)/tmpl/*.sgml: - @true - -#### xml #### - -GTK_DOC_V_XML=$(GTK_DOC_V_XML_$(V)) -GTK_DOC_V_XML_=$(GTK_DOC_V_XML_$(AM_DEFAULT_VERBOSITY)) -GTK_DOC_V_XML_0=@echo " DOC Building XML"; - -sgml-build.stamp: tmpl.stamp $(DOC_MODULE)-sections.txt $(srcdir)/tmpl/*.sgml $(expand_content_files) - -$(GTK_DOC_V_XML)chmod -R u+w $(srcdir) && _source_dir='' ; \ - for i in $(DOC_SOURCE_DIR) ; do \ - _source_dir="$${_source_dir} --source-dir=$$i" ; \ - done ; \ - gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $${_source_dir} $(MKDB_OPTIONS) - $(AM_V_at)touch sgml-build.stamp - -sgml.stamp: sgml-build.stamp - @true - -#### html #### - -GTK_DOC_V_HTML=$(GTK_DOC_V_HTML_$(V)) -GTK_DOC_V_HTML_=$(GTK_DOC_V_HTML_$(AM_DEFAULT_VERBOSITY)) -GTK_DOC_V_HTML_0=@echo " DOC Building HTML"; - -GTK_DOC_V_XREF=$(GTK_DOC_V_XREF_$(V)) -GTK_DOC_V_XREF_=$(GTK_DOC_V_XREF_$(AM_DEFAULT_VERBOSITY)) -GTK_DOC_V_XREF_0=@echo " DOC Fixing cross-references"; - -html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files) - $(GTK_DOC_V_HTML)rm -rf html && mkdir html && \ - mkhtml_options=""; \ - gtkdoc-mkhtml 2>&1 --help | grep >/dev/null "\-\-verbose"; \ - if test "$(?)" = "0"; then \ - if test "x$(V)" = "x1"; then \ - mkhtml_options="$$mkhtml_options --verbose"; \ - fi; \ - fi; \ - gtkdoc-mkhtml 2>&1 --help | grep >/dev/null "\-\-path"; \ - if test "$(?)" = "0"; then \ - mkhtml_options="$$mkhtml_options --path=\"$(abs_srcdir)\""; \ - fi; \ - cd html && gtkdoc-mkhtml $$mkhtml_options $(MKHTML_OPTIONS) $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE) - -@test "x$(HTML_IMAGES)" = "x" || \ - for file in $(HTML_IMAGES) ; do \ - if test -f $(abs_srcdir)/$$file ; then \ - cp $(abs_srcdir)/$$file $(abs_builddir)/html; \ - fi; \ - if test -f $(abs_builddir)/$$file ; then \ - cp $(abs_builddir)/$$file $(abs_builddir)/html; \ - fi; \ - done; - $(GTK_DOC_V_XREF)gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS) - $(AM_V_at)touch html-build.stamp - -#### pdf #### - -GTK_DOC_V_PDF=$(GTK_DOC_V_PDF_$(V)) -GTK_DOC_V_PDF_=$(GTK_DOC_V_PDF_$(AM_DEFAULT_VERBOSITY)) -GTK_DOC_V_PDF_0=@echo " DOC Building PDF"; - -pdf-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files) - $(GTK_DOC_V_PDF)rm -f $(DOC_MODULE).pdf && \ - mkpdf_options=""; \ - gtkdoc-mkpdf 2>&1 --help | grep >/dev/null "\-\-verbose"; \ - if test "$(?)" = "0"; then \ - if test "x$(V)" = "x1"; then \ - mkpdf_options="$$mkpdf_options --verbose"; \ - fi; \ - fi; \ - if test "x$(HTML_IMAGES)" != "x"; then \ - for img in $(HTML_IMAGES); do \ - part=`dirname $$img`; \ - echo $$mkpdf_options | grep >/dev/null "\-\-imgdir=$$part "; \ - if test $$? != 0; then \ - mkpdf_options="$$mkpdf_options --imgdir=$$part"; \ - fi; \ - done; \ - fi; \ - gtkdoc-mkpdf --path="$(abs_srcdir)" $$mkpdf_options $(DOC_MODULE) $(DOC_MAIN_SGML_FILE) $(MKPDF_OPTIONS) - $(AM_V_at)touch pdf-build.stamp - -############## - -clean-local: - @rm -f *~ *.bak - @rm -rf .libs - @if echo $(SCAN_OPTIONS) | grep -q "\-\-rebuild-types" ; then \ - rm -f $(DOC_MODULE).types; \ - fi - -distclean-local: - @rm -rf xml html $(REPORT_FILES) $(DOC_MODULE).pdf \ - $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt - @if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \ - rm -f $(SETUP_FILES) $(expand_content_files) $(DOC_MODULE).types; \ - rm -rf tmpl; \ - fi - -maintainer-clean-local: - @rm -rf xml html - -install-data-local: - @installfiles=`echo $(builddir)/html/*`; \ - if test "$$installfiles" = '$(builddir)/html/*'; \ - then echo 1>&2 'Nothing to install' ; \ - else \ - if test -n "$(DOC_MODULE_VERSION)"; then \ - installdir="$(DESTDIR)$(TARGET_DIR)-$(DOC_MODULE_VERSION)"; \ - else \ - installdir="$(DESTDIR)$(TARGET_DIR)"; \ - fi; \ - $(mkinstalldirs) $${installdir} ; \ - for i in $$installfiles; do \ - echo ' $(INSTALL_DATA) '$$i ; \ - $(INSTALL_DATA) $$i $${installdir}; \ - done; \ - if test -n "$(DOC_MODULE_VERSION)"; then \ - mv -f $${installdir}/$(DOC_MODULE).devhelp2 \ - $${installdir}/$(DOC_MODULE)-$(DOC_MODULE_VERSION).devhelp2; \ - fi; \ - $(GTKDOC_REBASE) --relative --dest-dir=$(DESTDIR) --html-dir=$${installdir}; \ - fi - -uninstall-local: - @if test -n "$(DOC_MODULE_VERSION)"; then \ - installdir="$(DESTDIR)$(TARGET_DIR)-$(DOC_MODULE_VERSION)"; \ - else \ - installdir="$(DESTDIR)$(TARGET_DIR)"; \ - fi; \ - rm -rf $${installdir} - -# -# Require gtk-doc when making dist -# -if HAVE_GTK_DOC -dist-check-gtkdoc: docs -else -dist-check-gtkdoc: - @echo "*** gtk-doc is needed to run 'make dist'. ***" - @echo "*** gtk-doc was not found when 'configure' ran. ***" - @echo "*** please install gtk-doc and rerun 'configure'. ***" - @false -endif - -dist-hook: dist-check-gtkdoc all-gtk-doc dist-hook-local - @mkdir $(distdir)/tmpl - @mkdir $(distdir)/html - @-cp ./tmpl/*.sgml $(distdir)/tmpl - @cp ./html/* $(distdir)/html - @-cp ./$(DOC_MODULE).pdf $(distdir)/ - @-cp ./$(DOC_MODULE).types $(distdir)/ - @-cp ./$(DOC_MODULE)-sections.txt $(distdir)/ - @cd $(distdir) && rm -f $(DISTCLEANFILES) - @$(GTKDOC_REBASE) --online --relative --html-dir=$(distdir)/html - -.PHONY : dist-hook-local docs diff --git a/libsoup/Makefile.am b/libsoup/Makefile.am index 2682570..49340da 100644 --- a/libsoup/Makefile.am +++ b/libsoup/Makefile.am @@ -18,6 +18,10 @@ AM_CPPFLAGS = \ $(XML_CFLAGS) \ $(SQLITE_CFLAGS) +if TIZEN_DLOG +AM_CPPFLAGS += \ + $(TIZEN_DLOG_CFLAGS) +endif libsoupincludedir = $(includedir)/libsoup-2.4/libsoup @@ -104,6 +108,11 @@ libsoup_2_4_la_LIBADD = \ libsoup_2_4_la_LIBADD += \ $(SQLITE_LIBS) +if TIZEN_DLOG +libsoup_2_4_la_LIBADD += \ + $(TIZEN_DLOG_LIBS) +endif + libsoup_2_4_la_SOURCES = \ soup-address.c \ soup-auth.c \ diff --git a/libsoup/TIZEN.h b/libsoup/TIZEN.h new file mode 100755 index 0000000..dd8a0ea --- /dev/null +++ b/libsoup/TIZEN.h @@ -0,0 +1,54 @@ +#ifndef TIZEN_H +#define TIZEN_H + +#define ENABLE(TIZEN_FEATURE) (defined ENABLE_##TIZEN_FEATURE && ENABLE_##TIZEN_FEATURE) + +#define ENABLE_TIZEN_EXT 1 +#define ENABLE_TIZEN_CERTIFICATE_FILE_SET 1 /*Shobhita Agarwal and Sungman Kim: Initialize the tls_db based on a timer at browser launch.*/ +#define ENABLE_TIZEN_UPDATE_CORRECTED_INITIAL_AGE_FOR_CACHE 1 /*Seonah Moon: Update current initial age when libsoup receive 304 not modified message*/ +#define ENABLE_TIZEN_UPDATE_CACHE_ENTRY_CONTENT_TYPE_HEADER 1 /* Raveendra Karu : Update Cache entry's Content-Type header value with sniffed Content-Type value */ +#define ENABLE_TIZEN_USER_AGENT_CHECK_IN_CACHE 1 /* Praveen : Add user agent check to cache */ +#define ENABLE_TIZEN_DATA_URI_WITHOUT_MEDIA_TYPE 1 /* Raveendra Karu : To decode data properly in data url if there is no media type specified */ +#define ENABLE_TIZEN_HANDLE_MALFORMED_MAX_AGE_HEADER 1 /* Raveendra Karu : Handling malformed max-age cache-control value (ex: "Cache-Control: private,max-age") of the request headers */ +#define ENABLE_TIZEN_FIX_PACK_ENTRY 1 /*Kwangtae Ko : Fix the utf-8 encoding problem in pack_entry*/ +#define ENABLE_TIZEN_FIX_CACHE_DUMP 1 /*Kwangtae Ko : Fix the soup_cache_dump() not to exist a soup. cache2 file when there is no SoupCacheEntry */ +#define ENABLE_TIZEN_ON_AUTHENTICATION_REQUESTED 1 /*Sungman Kim, Raveendra Karu : Modify the authentication signal handling method */ +#define ENABLE_TIZEN_HANDLING_307_REDIRECTION 1 /*Raveendra Karu : Handling redirection (307) of POST, GET responses*/ + +#if ENABLE(TIZEN_DLOG) + +#ifndef LOG_TAG +#define LOG_TAG "libsoup" /* This LOG_TAG should be defined before including dlog.h. Because dlog.h is using it. */ +#endif + +#include + +#define TIZEN_LOGD(fmt, args...) LOGD(fmt, ##args) +#define TIZEN_LOGI(fmt, args...) LOGI(fmt, ##args) +#define TIZEN_LOGW(fmt, args...) LOGW(fmt, ##args) +#define TIZEN_LOGE(fmt, args...) LOGE(fmt, ##args) +#define TIZEN_LOGE_IF(cond, fmt, args...) LOGE_IF(cond, fmt, ##args) + +#define TIZEN_SECURE_LOGD(fmt, args...) SECURE_LOGD(fmt, ##args) +#define TIZEN_SECURE_LOGI(fmt, args...) SECURE_LOGI(fmt, ##args) +#define TIZEN_SECURE_LOGW(fmt, args...) SECURE_LOGW(fmt, ##args) +#define TIZEN_SECURE_LOGE(fmt, args...) SECURE_LOGE(fmt, ##args) + +#else + +#define TIZEN_LOGD(fmt, args...) +#define TIZEN_LOGI(fmt, args...) +#define TIZEN_LOGW(fmt, args...) +#define TIZEN_LOGE(fmt, args...) +#define TIZEN_LOGE_IF(cond, fmt, args...) + +#define TIZEN_SECURE_LOGD(fmt, args...) +#define TIZEN_SECURE_LOGI(fmt, args...) +#define TIZEN_SECURE_LOGW(fmt, args...) +#define TIZEN_SECURE_LOGE(fmt, args...) + +#endif // ENABLE(TIZEN_DLOG) + +#endif //#ifndef TIZEN_H + + diff --git a/libsoup/libsoup-2.4.sym b/libsoup/libsoup-2.4.sym index 2299404..1c3710b 100644 --- a/libsoup/libsoup-2.4.sym +++ b/libsoup/libsoup-2.4.sym @@ -94,6 +94,7 @@ soup_connection_state_get_type soup_content_decoder_get_type soup_content_sniffer_get_buffer_size soup_content_sniffer_get_type +soup_content_mime_sniff_set soup_content_sniffer_new soup_content_sniffer_sniff soup_cookie_applies_to_uri @@ -163,6 +164,7 @@ soup_date_new soup_date_new_from_now soup_date_new_from_string soup_date_new_from_time_t +soup_date_set_timeOffset soup_date_to_string soup_date_to_time_t soup_date_to_timeval @@ -378,6 +380,7 @@ soup_session_new soup_session_new_with_options soup_session_pause_message soup_session_prefetch_dns +soup_session_create_idle_connection soup_session_prepare_for_uri soup_session_queue_message soup_session_redirect_message @@ -508,3 +511,4 @@ _SOUP_URI_SCHEME_FTP _SOUP_URI_SCHEME_HTTP _SOUP_URI_SCHEME_HTTPS _SOUP_URI_SCHEME_RESOURCE +soupTimeOffset diff --git a/libsoup/soup-cache.c b/libsoup/soup-cache.c old mode 100644 new mode 100755 index c17e537..3d03375 --- a/libsoup/soup-cache.c +++ b/libsoup/soup-cache.c @@ -39,6 +39,17 @@ #include "soup-message-private.h" #include "soup.h" #include "soup-message-private.h" +#include "TIZEN.h" + +#if ENABLE(TIZEN_TV_SOUP_CACHE_CLEAN_LEAKED_RESOURCES) +#include + +#if ENABLE(TIZEN_TV_SOUP_CACHE_OPTIMISE_LOAD_TIME) +#include +#endif + +#endif + /** * SECTION:soup-cache @@ -82,7 +93,11 @@ static void soup_cache_content_processor_init (SoupContentProcessorInterface *in #define SOUP_CACHE_FILE "soup.cache2" #define SOUP_CACHE_HEADERS_FORMAT "{ss}" +#if ENABLE(TIZEN_USER_AGENT_CHECK_IN_CACHE) +#define SOUP_CACHE_PHEADERS_FORMAT "(sbuuuuuqsa" SOUP_CACHE_HEADERS_FORMAT ")" +#else #define SOUP_CACHE_PHEADERS_FORMAT "(sbuuuuuqa" SOUP_CACHE_HEADERS_FORMAT ")" +#endif #define SOUP_CACHE_ENTRIES_FORMAT "(qa" SOUP_CACHE_PHEADERS_FORMAT ")" /* Basically the same format than above except that some strings are @@ -105,6 +120,9 @@ typedef struct _SoupCacheEntry { guint32 hits; GCancellable *cancellable; guint16 status_code; +#if ENABLE(TIZEN_USER_AGENT_CHECK_IN_CACHE) + char *user_agent; +#endif } SoupCacheEntry; struct _SoupCachePrivate { @@ -169,6 +187,11 @@ get_cacheability (SoupCache *cache, SoupMessage *msg) if (content_type && !g_ascii_strcasecmp (content_type, "multipart/x-mixed-replace")) return SOUP_CACHE_UNCACHEABLE; +#if ENABLE(TIZEN_TV_NO_CACHE_ABOUT_VIDEO_AND_AUDIO) + if (content_type && (!g_ascii_strncasecmp (content_type, "video/", 6) || !g_ascii_strncasecmp (content_type, "audio/", 6))) + return SOUP_CACHE_UNCACHEABLE; +#endif + cache_control = soup_message_headers_get_list (msg->response_headers, "Cache-Control"); if (cache_control && *cache_control) { GHashTable *hash; @@ -275,6 +298,10 @@ static void soup_cache_entry_free (SoupCacheEntry *entry) { g_free (entry->uri); +#if ENABLE(TIZEN_USER_AGENT_CHECK_IN_CACHE) + g_free (entry->user_agent); + entry->user_agent = NULL; +#endif g_clear_pointer (&entry->headers, soup_message_headers_free); g_clear_object (&entry->cancellable); @@ -316,6 +343,36 @@ soup_cache_entry_get_current_age (SoupCacheEntry *entry) return entry->corrected_initial_age + resident_time; } +#if ENABLE_TIZEN_UPDATE_CORRECTED_INITIAL_AGE_FOR_CACHE +static guint +soup_cache_entry_update_corrected_initial_age (SoupCacheEntry *entry) +{ + SoupDate *soup_date; + char *age, *date; + time_t date_value, apparent_age, corrected_received_age, age_value = 0; + + date = soup_message_headers_get (entry->headers, "Date"); + + if (date) { + soup_date = soup_date_new_from_string (date); + date_value = soup_date_to_time_t (soup_date); + soup_date_free (soup_date); + + age = soup_message_headers_get_one (entry->headers, "Age"); + if (age) + age_value = g_ascii_strtoll (age, NULL, 10); + + apparent_age = entry->response_time - date_value; + corrected_received_age = MAX (apparent_age, age_value); + entry->corrected_initial_age = corrected_received_age; + } else { + entry->corrected_initial_age = time (NULL); + } + TIZEN_LOGI("Update corrected_initial_age(%d)", entry->corrected_initial_age); + return 0; +} +#endif + static gboolean soup_cache_entry_is_fresh_enough (SoupCacheEntry *entry, gint min_fresh) { @@ -456,6 +513,10 @@ soup_cache_entry_new (SoupCache *cache, SoupMessage *msg, time_t request_time, t { SoupCacheEntry *entry; const char *date; +#if ENABLE(TIZEN_USER_AGENT_CHECK_IN_CACHE) + GString *str; + const char *ua; +#endif entry = g_slice_new0 (SoupCacheEntry); entry->dirty = FALSE; @@ -468,6 +529,15 @@ soup_cache_entry_new (SoupCache *cache, SoupMessage *msg, time_t request_time, t entry->headers = soup_message_headers_new (SOUP_MESSAGE_HEADERS_RESPONSE); copy_end_to_end_headers (msg->response_headers, entry->headers); +#if ENABLE(TIZEN_USER_AGENT_CHECK_IN_CACHE) + /* User Agent */ + ua = soup_message_headers_get_one(msg->request_headers, "User-Agent"); + if (ua) { + str = g_string_new(ua); + entry->user_agent = str->str; + } +#endif + /* LRU list */ entry->hits = 0; @@ -609,10 +679,24 @@ soup_cache_entry_insert (SoupCache *cache, SoupCacheEntry *old_entry; /* Fill the key */ +#if ENABLE(TIZEN_TV_CHECKING_DELETED_ENTRY_FILE) + if (!entry->key) +#endif entry->key = get_cache_key_from_uri ((const char *) entry->uri); if (soup_message_headers_get_encoding (entry->headers) == SOUP_ENCODING_CONTENT_LENGTH) +#if ENABLE(TIZEN_TV_COMPUTING_DISK_CACHE_SIZE) + { + if (entry->length) { + length_to_add = entry->length; + } + else { + length_to_add = soup_message_headers_get_content_length (entry->headers); + } + } +#else length_to_add = soup_message_headers_get_content_length (entry->headers); +#endif /* Check if we are going to store the resource depending on its size */ if (length_to_add) { @@ -673,6 +757,9 @@ soup_cache_send_response (SoupCache *cache, SoupMessage *msg) char *current_age; GInputStream *file_stream, *body_stream, *cache_stream; GFile *file; +#if ENABLE(TIZEN_TV_ADD_X_SOUP_MESSAGE_HEADERS) + char *entry_length; +#endif g_return_val_if_fail (SOUP_IS_CACHE (cache), NULL); g_return_val_if_fail (SOUP_IS_MESSAGE (msg), NULL); @@ -711,6 +798,16 @@ soup_cache_send_response (SoupCache *cache, SoupMessage *msg) current_age); g_free (current_age); +#if ENABLE(TIZEN_TV_ADD_X_SOUP_MESSAGE_HEADERS) + /* Add 'X-From-Cache' header */ + soup_message_headers_append(msg->response_headers, "X-From-Cache", "true"); + + /* Add 'X-Entry-Length' header */ + entry_length = g_strdup_printf("%u", entry->length); + soup_message_headers_append(msg->response_headers, "X-Entry-Length", entry_length); + g_free (entry_length); +#endif + /* Create the cache stream. */ soup_message_disable_feature (msg, SOUP_TYPE_CACHE); cache_stream = soup_message_setup_body_istream (body_stream, msg, @@ -1080,7 +1177,14 @@ soup_cache_has_response (SoupCache *cache, SoupMessage *msg) gpointer value; int max_age, max_stale, min_fresh; GList *lru_item, *item; - +#if ENABLE(TIZEN_USER_AGENT_CHECK_IN_CACHE) + const char *ua; +#endif +#if ENABLE(TIZEN_CACHE_FILE_SIZE_VALIDATION) + GFile *file; + GFileInfo *file_info; + goffset file_size; +#endif entry = soup_cache_entry_lookup (cache, msg); /* 1. The presented Request-URI and that of stored response @@ -1089,7 +1193,23 @@ soup_cache_has_response (SoupCache *cache, SoupMessage *msg) if (!entry) return SOUP_CACHE_RESPONSE_STALE; - /* Increase hit count. Take sorting into account */ +#if ENABLE(TIZEN_CACHE_FILE_SIZE_VALIDATION) + file = get_file_from_entry (cache, entry); + file_info = g_file_query_info (file, G_FILE_ATTRIBUTE_STANDARD_SIZE, + G_FILE_QUERY_INFO_NONE, NULL, NULL); + + if (file_info && (file_size = g_file_info_get_size (file_info)) != entry->length) { + soup_cache_entry_remove(cache, entry, TRUE); + g_file_delete (file, NULL, NULL); + g_object_unref (file_info); + g_object_unref (file); + return SOUP_CACHE_RESPONSE_STALE; + } + g_object_unref (file_info); + g_object_unref (file); +#endif + +/* Increase hit count. Take sorting into account */ entry->hits++; lru_item = g_list_find (cache->priv->lru_start, entry); item = lru_item; @@ -1141,6 +1261,14 @@ soup_cache_has_response (SoupCache *cache, SoupMessage *msg) if (pragma && soup_header_contains (pragma, "no-cache")) return SOUP_CACHE_RESPONSE_STALE; +#if ENABLE(TIZEN_USER_AGENT_CHECK_IN_CACHE) + ua = soup_message_headers_get_one (msg->request_headers, "User-Agent"); + if (ua && entry->user_agent) { + if (strcmp (ua, entry->user_agent)) + return SOUP_CACHE_RESPONSE_STALE; + } +#endif + cache_control = soup_message_headers_get_list (msg->request_headers, "Cache-Control"); if (cache_control && *cache_control) { GHashTable *hash = soup_header_parse_param_list (cache_control); @@ -1155,7 +1283,11 @@ soup_cache_has_response (SoupCache *cache, SoupMessage *msg) return SOUP_CACHE_RESPONSE_STALE; } +#if ENABLE (TIZEN_HANDLE_MALFORMED_MAX_AGE_HEADER) + if (g_hash_table_lookup_extended (hash, "max-age", NULL, &value) && value) { +#else if (g_hash_table_lookup_extended (hash, "max-age", NULL, &value)) { +#endif max_age = (int)MIN (g_ascii_strtoll (value, NULL, 10), G_MAXINT32); /* Forcing cache revalidaton */ @@ -1282,6 +1414,76 @@ soup_cache_flush (SoupCache *cache) g_warning ("Cache flush finished despite %d pending requests", cache->priv->n_pending); } +#if ENABLE(TIZEN_TV_SOUP_CACHE_CLEAN_LEAKED_RESOURCES) +typedef void (* SoupCacheForeachFileFunc) (SoupCache *cache, const char *name, gpointer user_data); + +static void +soup_cache_foreach_file (SoupCache *cache, SoupCacheForeachFileFunc func, gpointer user_data) +{ + GDir *dir; + const char *name; + SoupCachePrivate *priv = cache->priv; + + dir = g_dir_open (priv->cache_dir, 0, NULL); + while ((name = g_dir_read_name (dir))) { + if (g_str_has_prefix (name, "soup.")) + continue; + + func (cache, name, user_data); + } + g_dir_close (dir); +} + +#if ENABLE(TIZEN_TV_SOUP_CACHE_OPTIMISE_LOAD_TIME) + +/* + * When a list of regular files is required, examining the d_type field returned from readdir() is faster + * than using g_file_test(G_FILE_TEST_IS_REGULAR). +*/ + +static void +soup_cache_foreach_regular_file (SoupCache *cache, SoupCacheForeachFileFunc func, gpointer user_data) +{ + DIR *dir; + const char *name; + SoupCachePrivate *priv = cache->priv; + + dir = opendir(priv->cache_dir); + if (dir) { + struct dirent *dp; + while ((dp = readdir(dir)) != NULL) { + name = dp->d_name; + if (g_str_has_prefix (name, "soup.")) + continue; + else if (dp->d_type == DT_UNKNOWN) { + // This path should not be executed normally, but is included as a fail safe. + gchar *path = g_build_filename(priv->cache_dir, name, NULL); + const int isreg = g_file_test (path, G_FILE_TEST_IS_REGULAR); + g_free(path); + if (!isreg) + continue; + } else if (dp->d_type != DT_REG) + continue; + + func (cache, name, user_data); + } + closedir(dir); + } +} + +#endif + +static void +delete_cache_file (SoupCache *cache, const char *name, gpointer user_data) +{ + gchar *path; + + path = g_build_filename (cache->priv->cache_dir, name, NULL); + g_unlink (path); + g_free (path); +} +#endif + static void clear_cache_item (gpointer data, gpointer user_data) @@ -1292,6 +1494,9 @@ clear_cache_item (gpointer data, static void clear_cache_files (SoupCache *cache) { +#if ENABLE(TIZEN_TV_SOUP_CACHE_CLEAN_LEAKED_RESOURCES) + soup_cache_foreach_file (cache, delete_cache_file, NULL); +#else GFileInfo *file_info; GFileEnumerator *file_enumerator; GFile *cache_dir_file = g_file_new_for_path (cache->priv->cache_dir); @@ -1312,6 +1517,7 @@ clear_cache_files (SoupCache *cache) g_object_unref (file_enumerator); } g_object_unref (cache_dir_file); +#endif } /** @@ -1419,6 +1625,10 @@ soup_cache_update_from_conditional_request (SoupCache *cache, copy_end_to_end_headers (msg->response_headers, entry->headers); soup_cache_entry_set_freshness (entry, msg, cache); +#if ENABLE_TIZEN_UPDATE_CORRECTED_INITIAL_AGE_FOR_CACHE + soup_cache_entry_update_corrected_initial_age (entry); + entry->response_time = time (NULL); +#endif } } @@ -1436,6 +1646,12 @@ pack_entry (gpointer data, return; g_variant_builder_open (entries_builder, G_VARIANT_TYPE (SOUP_CACHE_PHEADERS_FORMAT)); +#if ENABLE(TIZEN_FIX_PACK_ENTRY) + if (!g_utf8_validate (entry->uri, -1, NULL)) { + g_variant_builder_close (entries_builder); + return; + } +#endif g_variant_builder_add (entries_builder, "s", entry->uri); g_variant_builder_add (entries_builder, "b", entry->must_revalidate); g_variant_builder_add (entries_builder, "u", entry->freshness_lifetime); @@ -1444,7 +1660,9 @@ pack_entry (gpointer data, g_variant_builder_add (entries_builder, "u", entry->hits); g_variant_builder_add (entries_builder, "u", entry->length); g_variant_builder_add (entries_builder, "q", entry->status_code); - +#if ENABLE(TIZEN_USER_AGENT_CHECK_IN_CACHE) + g_variant_builder_add (entries_builder, "s", entry->user_agent); +#endif /* Pack headers */ g_variant_builder_open (entries_builder, G_VARIANT_TYPE ("a" SOUP_CACHE_HEADERS_FORMAT)); soup_message_headers_iter_init (&iter, entry->headers); @@ -1479,8 +1697,21 @@ soup_cache_dump (SoupCache *cache) GVariant *cache_variant; if (!g_list_length (cache->priv->lru_start)) +#if ENABLE(TIZEN_FIX_CACHE_DUMP) + { + GFile *file; + filename = g_build_filename (priv->cache_dir, SOUP_CACHE_FILE, NULL); + file = g_file_new_for_path (filename); + if (file) { + g_file_delete (file, NULL, NULL); + g_object_unref (file); + } + g_free (filename); return; - + } +#else + return; +#endif /* Create the builder and iterate over all entries */ g_variant_builder_init (&entries_builder, G_VARIANT_TYPE (SOUP_CACHE_ENTRIES_FORMAT)); g_variant_builder_add (&entries_builder, "q", SOUP_CACHE_CURRENT_VERSION); @@ -1498,6 +1729,37 @@ soup_cache_dump (SoupCache *cache) g_variant_unref (cache_variant); } +#if ENABLE(TIZEN_TV_SOUP_CACHE_CLEAN_LEAKED_RESOURCES) +static inline guint32 +get_key_from_cache_filename (const char *name) +{ + guint64 key; + + key = g_ascii_strtoull (name, NULL, 10); + return key ? (guint32)key : 0; +} + +static void +insert_cache_file (SoupCache *cache, const char *name, GHashTable *leaked_entries) +{ + gchar *path; + + path = g_build_filename (cache->priv->cache_dir, name, NULL); +#if !ENABLE(TIZEN_TV_SOUP_CACHE_OPTIMISE_LOAD_TIME) + if (g_file_test (path, G_FILE_TEST_IS_REGULAR)) +#endif + { + guint32 key = get_key_from_cache_filename (name); + + if (key) { + g_hash_table_insert (leaked_entries, GUINT_TO_POINTER (key), path); + return; + } + } + g_free (path); +} +#endif + /** * soup_cache_load: * @cache: a #SoupCache @@ -1519,7 +1781,17 @@ soup_cache_load (SoupCache *cache) SoupCacheEntry *entry; SoupCachePrivate *priv = cache->priv; guint16 version, status_code; - +#if ENABLE(TIZEN_TV_SOUP_CACHE_CLEAN_LEAKED_RESOURCES) + GHashTable *leaked_entries = NULL; + GHashTableIter iter; + gpointer value; +#endif +#if ENABLE(TIZEN_TV_CHECKING_DELETED_ENTRY_FILE) + GFile *file = NULL; +#endif +#if ENABLE(TIZEN_USER_AGENT_CHECK_IN_CACHE) + const char *ua; +#endif filename = g_build_filename (priv->cache_dir, SOUP_CACHE_FILE, NULL); if (!g_file_get_contents (filename, &contents, &length, NULL)) { g_free (filename); @@ -1539,10 +1811,26 @@ soup_cache_load (SoupCache *cache) return; } +#if ENABLE(TIZEN_TV_SOUP_CACHE_CLEAN_LEAKED_RESOURCES) + leaked_entries = g_hash_table_new_full (g_direct_hash, g_direct_equal, NULL, g_free); +#if ENABLE(TIZEN_TV_SOUP_CACHE_OPTIMISE_LOAD_TIME) + soup_cache_foreach_regular_file (cache, (SoupCacheForeachFileFunc)insert_cache_file, leaked_entries); +#else + soup_cache_foreach_file (cache, (SoupCacheForeachFileFunc)insert_cache_file, leaked_entries); +#endif +#endif + +#if ENABLE(TIZEN_USER_AGENT_CHECK_IN_CACHE) + while (g_variant_iter_loop (entries_iter, SOUP_CACHE_PHEADERS_FORMAT, + &url, &must_revalidate, &freshness_lifetime, &corrected_initial_age, + &response_time, &hits, &length, &status_code, &ua, + &headers_iter)) { +#else while (g_variant_iter_loop (entries_iter, SOUP_CACHE_PHEADERS_FORMAT, &url, &must_revalidate, &freshness_lifetime, &corrected_initial_age, &response_time, &hits, &length, &status_code, &headers_iter)) { +#endif const char *header_key, *header_value; SoupMessageHeaders *headers; SoupMessageHeadersIter soup_headers_iter; @@ -1571,11 +1859,44 @@ soup_cache_load (SoupCache *cache) entry->length = length; entry->headers = headers; entry->status_code = status_code; +#if ENABLE(TIZEN_TV_CHECKING_DELETED_ENTRY_FILE) + entry->key = get_cache_key_from_uri ((const char *) entry->uri); + +#if ENABLE(TIZEN_TV_SOUP_CACHE_OPTIMISE_LOAD_TIME) && ENABLE(TIZEN_TV_SOUP_CACHE_CLEAN_LEAKED_RESOURCES) + // Check against "leaked_entries" to see if the file exists. This avoids the need to call g_file_query_exists(), which is much slower. + if (g_hash_table_lookup(leaked_entries, GUINT_TO_POINTER(entry->key)) == NULL) { + soup_cache_entry_free (entry); + continue; + } +#else + file = get_file_from_entry (cache, entry); + if (file) { + gboolean file_exist = g_file_query_exists (file, NULL); + g_object_unref(file); + if (!file_exist) { + soup_cache_entry_free (entry); + continue; + } + } +#endif +#endif if (!soup_cache_entry_insert (cache, entry, FALSE)) soup_cache_entry_free (entry); +#if ENABLE(TIZEN_TV_SOUP_CACHE_CLEAN_LEAKED_RESOURCES) + else + g_hash_table_remove (leaked_entries, GUINT_TO_POINTER (entry->key)); +#endif } + /* Remove the leaked files */ +#if ENABLE(TIZEN_TV_SOUP_CACHE_CLEAN_LEAKED_RESOURCES) + g_hash_table_iter_init (&iter, leaked_entries); + while (g_hash_table_iter_next (&iter, NULL, &value)) + g_unlink ((char *)value); + g_hash_table_destroy (leaked_entries); +#endif + cache->priv->lru_start = g_list_reverse (cache->priv->lru_start); /* frees */ @@ -1615,3 +1936,17 @@ soup_cache_get_max_size (SoupCache *cache) { return cache->priv->max_size; } + +#if ENABLE (TIZEN_UPDATE_CACHE_ENTRY_CONTENT_TYPE_HEADER) +void soup_cache_entry_set_content_type (SoupSession *session, SoupMessage *msg, const char *content_type) +{ + SoupCacheEntry *entry; + SoupCache *cache = (SoupCache *)soup_session_get_feature (session, SOUP_TYPE_CACHE); + + g_return_if_fail (SOUP_IS_CACHE (cache)); + + entry = soup_cache_entry_lookup (cache, msg); + if (entry) + soup_message_headers_replace (entry->headers, "Content-Type", content_type); +} +#endif diff --git a/libsoup/soup-cache.h b/libsoup/soup-cache.h index ce19b5e..8b02f25 100644 --- a/libsoup/soup-cache.h +++ b/libsoup/soup-cache.h @@ -96,6 +96,11 @@ void soup_cache_set_max_size (SoupCache *cache, SOUP_AVAILABLE_IN_2_34 guint soup_cache_get_max_size (SoupCache *cache); +//#if ENABLE (TIZEN_UPDATE_CACHE_ENTRY_CONTENT_TYPE_HEADER) +void soup_cache_entry_set_content_type (SoupSession *session, + SoupMessage *msg, + const char *content_type); +//#endif G_END_DECLS #endif /* SOUP_CACHE_H */ diff --git a/libsoup/soup-connection.c b/libsoup/soup-connection.c old mode 100644 new mode 100755 index fce589f..54abb9d --- a/libsoup/soup-connection.c +++ b/libsoup/soup-connection.c @@ -14,6 +14,42 @@ #include "soup-message-queue.h" #include "soup-misc-private.h" +#include "TIZEN.h" + +#if ENABLE(TIZEN_PERFORMANCE_TEST_LOG) +#include +#ifndef PR_TASK_PERF_USER_TRACE +#define PR_TASK_PERF_USER_TRACE 666 +#endif +#define MAX_STRING_LEN 256 + +static void prctl_with_url(const char *prestr, const char *url) +{ + char s[MAX_STRING_LEN] = ""; + int len_max = 120; + int len_pre = strlen(prestr); + int len_url = strlen(url); + + strncpy(s, prestr, len_pre); + if(len_pre + len_url < len_max) { + strncpy(s+len_pre, url, len_url); + } + else { + int len_part = len_max - len_pre - 10; + strncpy(s+len_pre, url, len_part); + strncpy(s+len_pre+len_part, "...", MAX_STRING_LEN-len_pre-len_part-1); + strncpy(s+len_pre+len_part+3, url+len_url-7, 7); + } + prctl(PR_TASK_PERF_USER_TRACE, s, strlen(s)); +} + +static void prctl_with_url_and_free(const char *prestr, char *url) +{ + prctl_with_url(prestr, url); + g_free(url); +} +#endif + typedef struct { SoupSocket *socket; @@ -32,6 +68,13 @@ typedef struct { guint io_timeout, idle_timeout; GSource *idle_timeout_src; gboolean reusable; +#if ENABLE(TIZEN_TV_CREATE_IDLE_TCP_CONNECTION) + SoupMessageQueueItem *cur_item; +#endif + +#if ENABLE(TIZEN_TV_CLIENT_CERTIFICATE) + gboolean widget_engine; +#endif } SoupConnectionPrivate; #define SOUP_CONNECTION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SOUP_TYPE_CONNECTION, SoupConnectionPrivate)) @@ -40,6 +83,12 @@ G_DEFINE_TYPE (SoupConnection, soup_connection, G_TYPE_OBJECT) enum { EVENT, DISCONNECTED, +#if ENABLE(TIZEN_TV_DYNAMIC_CERTIFICATE_LOADING) + DYNAMIC_CERTIFICATEPATH, +#endif +#if ENABLE(TIZEN_TV_CERTIFICATE_HANDLING) + ACCEPT_CERTIFICATE, +#endif LAST_SIGNAL }; @@ -60,12 +109,19 @@ enum { PROP_TIMEOUT, PROP_IDLE_TIMEOUT, PROP_STATE, +#if ENABLE(TIZEN_TV_CLIENT_CERTIFICATE) + PROP_WIDGET_ENGINE, +#endif LAST_PROP }; static void stop_idle_timer (SoupConnectionPrivate *priv); +#if ENABLE(TIZEN_TV_CREATE_IDLE_TCP_CONNECTION) +static void clear_current_item (SoupConnection *conn); +#endif + /* Number of seconds after which we close a connection that hasn't yet * been used. */ @@ -99,6 +155,11 @@ soup_connection_dispose (GObject *object) stop_idle_timer (priv); +#if ENABLE(TIZEN_TV_CREATE_IDLE_TCP_CONNECTION) + if (priv->cur_item) { + clear_current_item (conn); + } +#endif if (priv->socket) { g_warning ("Disposing connection while connected"); soup_connection_disconnect (conn); @@ -154,6 +215,11 @@ soup_connection_set_property (GObject *object, guint prop_id, case PROP_STATE: soup_connection_set_state (SOUP_CONNECTION (object), g_value_get_uint (value)); break; +#if ENABLE(TIZEN_TV_CLIENT_CERTIFICATE) + case PROP_WIDGET_ENGINE: + priv->widget_engine = g_value_get_boolean (value); + break; +#endif default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; @@ -200,6 +266,11 @@ soup_connection_get_property (GObject *object, guint prop_id, case PROP_STATE: g_value_set_enum (value, priv->state); break; +#if ENABLE(TIZEN_TV_CLIENT_CERTIFICATE) + case PROP_WIDGET_ENGINE: + g_value_set_boolean (value, priv->widget_engine); + break; +#endif default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; @@ -238,6 +309,30 @@ soup_connection_class_init (SoupConnectionClass *connection_class) NULL, NULL, NULL, G_TYPE_NONE, 0); +#if ENABLE(TIZEN_TV_CERTIFICATE_HANDLING) + signals[ACCEPT_CERTIFICATE] = + g_signal_new ("accept-certificate", + G_OBJECT_CLASS_TYPE (object_class), + G_SIGNAL_RUN_LAST, + 0, + NULL, NULL, + NULL, + G_TYPE_BOOLEAN, 2, + G_TYPE_TLS_CERTIFICATE, + G_TYPE_TLS_CERTIFICATE_FLAGS); +#endif + +#if ENABLE(TIZEN_TV_DYNAMIC_CERTIFICATE_LOADING) + signals[DYNAMIC_CERTIFICATEPATH] = + g_signal_new ("dynamic-certificatePath", + G_OBJECT_CLASS_TYPE (object_class), + G_SIGNAL_RUN_LAST, + 0, + NULL, NULL, + NULL, + G_TYPE_POINTER, 1, + G_TYPE_POINTER); +#endif /* properties */ g_object_class_install_property ( @@ -323,6 +418,15 @@ soup_connection_class_init (SoupConnectionClass *connection_class) "Current state of connection", SOUP_TYPE_CONNECTION_STATE, SOUP_CONNECTION_NEW, G_PARAM_READWRITE)); +#if ENABLE(TIZEN_TV_CLIENT_CERTIFICATE) + g_object_class_install_property ( + object_class, PROP_WIDGET_ENGINE, + g_param_spec_boolean (SOUP_CONNECTION_WIDGET_ENGINE, + "widget engine", + "Whether or not to be running Widget Engine", + FALSE, + G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); +#endif } static void @@ -339,6 +443,38 @@ soup_connection_event (SoupConnection *conn, event, connection); } +#if ENABLE(TIZEN_TV_DYNAMIC_CERTIFICATE_LOADING) +static const char* +soup_connection_dynamic_client_certificate (SoupSocket *sock, + const char* current_host, + gpointer user_data) +{ + SoupConnection* conn = user_data; + const char* get_certpath = NULL; + + g_signal_emit (conn, signals[DYNAMIC_CERTIFICATEPATH], 0, + current_host, &get_certpath); + + return get_certpath; +} +#endif +#if ENABLE(TIZEN_TV_CERTIFICATE_HANDLING) +static gboolean +soup_connection_accept_certificate (SoupSocket *sock, + GTlsCertificate* certificate, + GTlsCertificateFlags errors, + gpointer user_data) +{ + SoupConnection* conn = user_data; + gboolean accept = FALSE; + + g_signal_emit (conn, signals[ACCEPT_CERTIFICATE], 0, + certificate, errors, &accept); + + return accept; +} +#endif + static gboolean idle_timeout (gpointer conn) { @@ -401,6 +537,73 @@ clear_current_msg (SoupConnection *conn) g_object_unref (msg); } +#if ENABLE(TIZEN_TV_CREATE_IDLE_TCP_CONNECTION) +gboolean +soup_connection_has_current_item (SoupConnection *conn) +{ + SoupConnectionPrivate *priv = SOUP_CONNECTION_GET_PRIVATE (conn); + + if (priv) + return (priv->cur_item == NULL) ? FALSE : TRUE; + else + return FALSE; +} + +SoupMessageQueueItem * +soup_connection_get_current_item (SoupConnection *conn) +{ + SoupConnectionPrivate *priv = SOUP_CONNECTION_GET_PRIVATE (conn); + + if (priv) + return priv->cur_item; + else + return NULL; +} + +static void +clear_current_item (SoupConnection *conn) +{ + SoupConnectionPrivate *priv = SOUP_CONNECTION_GET_PRIVATE (conn); + + g_return_if_fail (priv != NULL); + + g_object_freeze_notify (G_OBJECT (conn)); + if (priv->cur_item) + priv->cur_item = NULL; +} + +static void +set_current_item (SoupConnection *conn, SoupMessageQueueItem *item) +{ + SoupConnectionPrivate *priv = SOUP_CONNECTION_GET_PRIVATE (conn); + + g_return_if_fail (priv != NULL); + + priv->cur_item = item; +} + + + +/* soup_connection_set_current_item() sets only item, and does not change any state. + * That is what this function is different from set_current_item() above. */ +void +soup_connection_set_current_item (SoupConnection *conn, SoupMessageQueueItem *item) +{ + SoupConnectionPrivate *priv = SOUP_CONNECTION_GET_PRIVATE (conn); + + g_return_if_fail (priv != NULL); + g_return_if_fail (priv->cur_item == NULL); + + g_object_freeze_notify (G_OBJECT (conn)); + + stop_idle_timer (priv); + + priv->cur_item = item; + + g_object_thaw_notify (G_OBJECT (conn)); +} +#endif + static void set_current_msg (SoupConnection *conn, SoupMessage *msg) { @@ -551,12 +754,23 @@ soup_connection_connect_async (SoupConnection *conn, SOUP_SOCKET_TIMEOUT, priv->io_timeout, SOUP_SOCKET_CLEAN_DISPOSE, TRUE, SOUP_SOCKET_LOCAL_ADDRESS, priv->local_addr, +#if ENABLE(TIZEN_TV_CLIENT_CERTIFICATE) + SOUP_SOCKET_WIDGET_ENGINE, priv->widget_engine, +#endif NULL); g_object_unref (remote_addr); g_signal_connect (priv->socket, "event", G_CALLBACK (re_emit_socket_event), conn); +#if ENABLE(TIZEN_TV_CERTIFICATE_HANDLING) + g_signal_connect (priv->socket, "accept-certificate", + G_CALLBACK (soup_connection_accept_certificate), conn); +#endif +#if ENABLE(TIZEN_TV_DYNAMIC_CERTIFICATE_LOADING) + g_signal_connect (priv->socket, "dynamic-certificatePath", + G_CALLBACK (soup_connection_dynamic_client_certificate), conn); +#endif if (priv->async_context && !priv->use_thread_context) g_main_context_push_thread_default (priv->async_context); task = g_task_new (conn, cancellable, callback, user_data); @@ -607,11 +821,19 @@ soup_connection_connect_sync (SoupConnection *conn, SOUP_SOCKET_TIMEOUT, priv->io_timeout, SOUP_SOCKET_CLEAN_DISPOSE, TRUE, SOUP_SOCKET_LOCAL_ADDRESS, priv->local_addr, +#if ENABLE(TIZEN_TV_CLIENT_CERTIFICATE) + SOUP_SOCKET_WIDGET_ENGINE, priv->widget_engine, +#endif NULL); g_object_unref (remote_addr); event_id = g_signal_connect (priv->socket, "event", G_CALLBACK (re_emit_socket_event), conn); +#if ENABLE(TIZEN_TV_CERTIFICATE_HANDLING) + g_signal_connect (priv->socket, "accept-certificate", + G_CALLBACK (soup_connection_accept_certificate), conn); +#endif + if (!soup_socket_connect_sync_internal (priv->socket, cancellable, error)) { success = FALSE; goto done; @@ -696,6 +918,9 @@ start_ssl_completed (GObject *object, GAsyncResult *result, gpointer user_data) soup_connection_event (conn, G_SOCKET_CLIENT_TLS_HANDSHAKED, NULL); soup_connection_event (conn, G_SOCKET_CLIENT_COMPLETE, NULL); g_task_return_boolean (task, TRUE); +#if ENABLE(TIZEN_PERFORMANCE_TEST_LOG) + prctl_with_url_and_free("[EVT] soup handshake complete : ", soup_uri_to_string(soup_connection_get_remote_uri(conn), FALSE)); +#endif } else g_task_return_error (task, error); g_object_unref (task); @@ -831,6 +1056,9 @@ soup_connection_set_state (SoupConnection *conn, SoupConnectionState state) if (priv->current_msg) { g_warn_if_fail (state == SOUP_CONNECTION_IDLE || state == SOUP_CONNECTION_DISCONNECTED); +#if ENABLE(TIZEN_TV_CREATE_IDLE_TCP_CONNECTION) + clear_current_item (conn); +#endif clear_current_msg (conn); } @@ -877,10 +1105,31 @@ soup_connection_send_request (SoupConnection *conn, g_return_if_fail (priv->state != SOUP_CONNECTION_NEW && priv->state != SOUP_CONNECTION_DISCONNECTED); +#if ENABLE(TIZEN_TV_CREATE_IDLE_TCP_CONNECTION) + set_current_item (conn, item); + set_current_msg (conn, item->msg); +#else if (item->msg != priv->current_msg) set_current_msg (conn, item->msg); else priv->reusable = FALSE; +#endif soup_message_send_request (item, completion_cb, user_data); } + +#if ENABLE(TIZEN_TV_CREATE_IDLE_TCP_CONNECTION) +void +soup_connection_set_pre_connect_idle (SoupConnection *conn) +{ + SoupConnectionPrivate *priv = NULL; + + g_return_val_if_fail (SOUP_IS_CONNECTION (conn), FALSE); + priv = SOUP_CONNECTION_GET_PRIVATE (conn); + + if (priv) { + if (priv->state == SOUP_CONNECTION_IN_USE) + priv->state = SOUP_CONNECTION_IDLE; + } +} +#endif diff --git a/libsoup/soup-connection.h b/libsoup/soup-connection.h old mode 100644 new mode 100755 index b70a8a3..4912be1 --- a/libsoup/soup-connection.h +++ b/libsoup/soup-connection.h @@ -10,6 +10,8 @@ #include "soup-message-private.h" #include "soup-misc.h" +#include "TIZEN.h" + G_BEGIN_DECLS #define SOUP_TYPE_CONNECTION (soup_connection_get_type ()) @@ -48,6 +50,9 @@ GType soup_connection_get_type (void); #define SOUP_CONNECTION_IDLE_TIMEOUT "idle-timeout" #define SOUP_CONNECTION_STATE "state" #define SOUP_CONNECTION_MESSAGE "message" +//#if ENABLE(TIZEN_TV_CLIENT_CERTIFICATE) +#define SOUP_CONNECTION_WIDGET_ENGINE "widget-engine" +//#endif void soup_connection_connect_async (SoupConnection *conn, GCancellable *cancellable, @@ -91,6 +96,13 @@ void soup_connection_send_request (SoupConnection *conn, gboolean soup_connection_get_ssl_fallback (SoupConnection *conn); +#if ENABLE(TIZEN_TV_CREATE_IDLE_TCP_CONNECTION) +gboolean soup_connection_has_current_item (SoupConnection *conn); +SoupMessageQueueItem *soup_connection_get_current_item (SoupConnection *conn); +void soup_connection_set_current_item (SoupConnection *conn, SoupMessageQueueItem *item); +void soup_connection_set_pre_connect_idle (SoupConnection *conn); +#endif + G_END_DECLS #endif /* SOUP_CONNECTION_H */ diff --git a/libsoup/soup-content-sniffer.c b/libsoup/soup-content-sniffer.c old mode 100644 new mode 100755 index 5659af9..99cf47e --- a/libsoup/soup-content-sniffer.c +++ b/libsoup/soup-content-sniffer.c @@ -21,6 +21,8 @@ #include "soup-content-sniffer-stream.h" #include "soup-message-private.h" +#include "TIZEN.h" + /** * SECTION:soup-content-sniffer * @short_description: Content sniffing for SoupSession @@ -483,6 +485,15 @@ static char byte_looks_binary[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0xF0 - 0xFF */ }; +#if ENABLE(TIZEN_TV_DISABLE_MIME_SNIFF) +gboolean soup_Disable_Mime_Sniff = FALSE; +void +soup_content_mime_sniff_set (gboolean gDisableMimeSniff) +{ + soup_Disable_Mime_Sniff = gDisableMimeSniff; +} +#endif + /* HTML5: 2.7.4 Content-Type sniffing: unknown type */ static char* sniff_unknown (SoupContentSniffer *sniffer, SoupBuffer *buffer, @@ -493,6 +504,11 @@ sniff_unknown (SoupContentSniffer *sniffer, SoupBuffer *buffer, int resource_length = MIN (512, buffer->length); int i; +#if ENABLE(TIZEN_TV_DISABLE_MIME_SNIFF) + if (soup_Disable_Mime_Sniff && !sniff_scriptable){ + return g_strdup ("text/plain"); + } +#endif for (i = 0; i < G_N_ELEMENTS (types_table); i++) { SoupContentSnifferPattern *type_row = &(types_table[i]); @@ -569,7 +585,12 @@ sniff_unknown (SoupContentSniffer *sniffer, SoupBuffer *buffer, return g_strdup ("application/octet-stream"); } +#if ENABLE(TIZEN_TV_DISABLE_MIME_SNIFF) + /* Refer to Orsay's implementation, modify the default value from "text/plain" to "text/html". */ + return g_strdup ("text/html"); +#else return g_strdup ("text/plain"); +#endif } /* MIMESNIFF: 7.2 Sniffing a mislabeled binary resource */ diff --git a/libsoup/soup-content-sniffer.h b/libsoup/soup-content-sniffer.h old mode 100644 new mode 100755 index eb1e4bd..e4c4588 --- a/libsoup/soup-content-sniffer.h +++ b/libsoup/soup-content-sniffer.h @@ -56,6 +56,9 @@ char *soup_content_sniffer_sniff (SoupContentSniffer *s GHashTable **params); SOUP_AVAILABLE_IN_2_28 gsize soup_content_sniffer_get_buffer_size (SoupContentSniffer *sniffer); +//#if ENABLE(TIZEN_TV_DISABLE_MIME_SNIFF) +void soup_content_mime_sniff_set (gboolean gDisableMimeSniff); +//#endif G_END_DECLS diff --git a/libsoup/soup-cookie-jar-text.c b/libsoup/soup-cookie-jar-text.c old mode 100644 new mode 100755 index 433c571..c4a6f1f --- a/libsoup/soup-cookie-jar-text.c +++ b/libsoup/soup-cookie-jar-text.c @@ -16,6 +16,7 @@ #include "soup-cookie-jar-text.h" #include "soup.h" +#include "TIZEN.h" /** * SECTION:soup-cookie-jar-text * @short_description: Text-file-based ("cookies.txt") Cookie Jar @@ -135,7 +136,18 @@ parse_cookie (char *line, time_t now) if (g_str_has_prefix (line, "#HttpOnly_")) { http_only = TRUE; line += strlen ("#HttpOnly_"); +#if ENABLE(TIZEN_TV_FIX_TEXT_STORAGE_MODE_OF_COOKIE) + /* For file:// protocol, When use document.cookie to get/set cookie. + * host(first field of cookie string) will be empty.'\t' has been + * used as a separator to split each field. Because host is empty, + * the first char of cookie string will be '\t'. it may cause + * parse_cookie() interrupted and returned. This modification can + * make cookie parsing normally for file:// protocol. + */ + } else if (*line == '#') +#else } else if (*line == '#' || g_ascii_isspace (*line)) +#endif return cookie; else http_only = FALSE; diff --git a/libsoup/soup-cookie-jar.c b/libsoup/soup-cookie-jar.c old mode 100644 new mode 100755 index 8322970..3b988c3 --- a/libsoup/soup-cookie-jar.c +++ b/libsoup/soup-cookie-jar.c @@ -13,6 +13,7 @@ #include "soup-cookie-jar.h" #include "soup.h" +#include "TIZEN.h" /** * SECTION:soup-cookie-jar @@ -636,6 +637,10 @@ process_set_cookie_header (SoupMessage *msg, gpointer user_data) SoupCookieJarPrivate *priv = SOUP_COOKIE_JAR_GET_PRIVATE (jar); GSList *new_cookies, *nc; + if (!priv) { + TIZEN_LOGI("error SoupCookieJar is null"); + return; + } if (priv->accept_policy == SOUP_COOKIE_JAR_ACCEPT_NEVER) return; diff --git a/libsoup/soup-date.c b/libsoup/soup-date.c index d3dcf6f..7bff494 100644 --- a/libsoup/soup-date.c +++ b/libsoup/soup-date.c @@ -15,7 +15,11 @@ #include "soup-date.h" #include "soup.h" +#include "TIZEN.h" +#if ENABLE(TIZEN_TV_ADJUST_TIME) +#include +#endif /** * SoupDate: * @year: the year, 1 to 9999 @@ -740,6 +744,33 @@ soup_date_to_timeval (SoupDate *date, GTimeVal *time) time->tv_usec = 0; } +#if ENABLE(TIZEN_TV_ADJUST_TIME) +/** + * soup_date_set_timeOffset: + * @date: a #SoupDate + * + * set time offset + * + * Return value: None + * + * Since: 2013.Aug, (porting from Orsay2014) + **/ +double soupTimeOffset = 0; +void +soup_date_set_timeOffset (double timeOffset) +{ + time_t timer; + + timer = time (NULL); + TIZEN_LOGI("soup date set time offset is [%f], TV board time is [%ld]", timeOffset, timer); + TIZEN_LOGI("TV borad time is: %s",ctime(&timer)); + timer = timer + timeOffset/1000; + TIZEN_LOGI("after off set time is: %s",ctime(&timer)); + + soupTimeOffset = timeOffset; +} +#endif + /** * soup_date_is_past: * @date: a #SoupDate @@ -758,8 +789,11 @@ soup_date_is_past (SoupDate *date) /* optimization */ if (date->year < 2010) return TRUE; - +#if ENABLE(TIZEN_TV_ADJUST_TIME) + return soup_date_to_time_t (date) < time (NULL) + (int)(soupTimeOffset / 1000); +#else return soup_date_to_time_t (date) < time (NULL); +#endif } /** diff --git a/libsoup/soup-date.h b/libsoup/soup-date.h index c6414c1..421f61f 100644 --- a/libsoup/soup-date.h +++ b/libsoup/soup-date.h @@ -61,7 +61,8 @@ time_t soup_date_to_time_t (SoupDate *date); SOUP_AVAILABLE_IN_2_24 void soup_date_to_timeval (SoupDate *date, GTimeVal *time); - +SOUP_AVAILABLE_IN_2_24 +void soup_date_set_timeOffset (double timeOffset); SOUP_AVAILABLE_IN_2_24 gboolean soup_date_is_past (SoupDate *date); diff --git a/libsoup/soup-enum-types.c b/libsoup/soup-enum-types.c deleted file mode 100644 index 0544cf6..0000000 --- a/libsoup/soup-enum-types.c +++ /dev/null @@ -1,665 +0,0 @@ - - - -/* Generated by glib-mkenums. Do not edit */ - -#include "soup-enum-types.h" -#define LIBSOUP_USE_UNSTABLE_REQUEST_API -#include "soup.h" -#include "soup-address.h" -#include "soup-auth.h" -#include "soup-auth-domain.h" -#include "soup-auth-domain-basic.h" -#include "soup-auth-domain-digest.h" -#include "soup-auth-manager.h" -#include "soup-cache.h" -#include "soup-content-decoder.h" -#include "soup-content-sniffer.h" -#include "soup-cookie.h" -#include "soup-cookie-jar.h" -#include "soup-cookie-jar-db.h" -#include "soup-cookie-jar-text.h" -#include "soup-date.h" -#include "soup-form.h" -#include "soup-headers.h" -#include "soup-logger.h" -#include "soup-message.h" -#include "soup-message-body.h" -#include "soup-message-headers.h" -#include "soup-method.h" -#include "soup-misc.h" -#include "soup-multipart.h" -#include "soup-multipart-input-stream.h" -#include "soup-password-manager.h" -#include "soup-portability.h" -#include "soup-proxy-resolver.h" -#include "soup-proxy-resolver-default.h" -#include "soup-proxy-uri-resolver.h" -#include "soup-request.h" -#include "soup-request-data.h" -#include "soup-request-file.h" -#include "soup-request-http.h" -#include "soup-requester.h" -#include "soup-server.h" -#include "soup-session.h" -#include "soup-session-async.h" -#include "soup-session-feature.h" -#include "soup-session-sync.h" -#include "soup-socket.h" -#include "soup-status.h" -#include "soup-tld.h" -#include "soup-types.h" -#include "soup-uri.h" -#include "soup-value-utils.h" -#include "soup-xmlrpc.h" -#include "soup-cookie-jar-sqlite.h" -#include "soup-gnome.h" -#include "soup-gnome-features.h" - -GType -soup_address_family_get_type (void) -{ - static volatile gsize g_define_type_id__volatile = 0; - - if (g_once_init_enter (&g_define_type_id__volatile)) - { - static const GEnumValue values[] = { - { SOUP_ADDRESS_FAMILY_INVALID, "SOUP_ADDRESS_FAMILY_INVALID", "invalid" }, - { SOUP_ADDRESS_FAMILY_IPV4, "SOUP_ADDRESS_FAMILY_IPV4", "ipv4" }, - { SOUP_ADDRESS_FAMILY_IPV6, "SOUP_ADDRESS_FAMILY_IPV6", "ipv6" }, - { 0, NULL, NULL } - }; - GType g_define_type_id = - g_enum_register_static (g_intern_static_string ("SoupAddressFamily"), values); - g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); - } - - return g_define_type_id__volatile; -} -GType -soup_cacheability_get_type (void) -{ - static volatile gsize g_define_type_id__volatile = 0; - - if (g_once_init_enter (&g_define_type_id__volatile)) - { - static const GFlagsValue values[] = { - { SOUP_CACHE_CACHEABLE, "SOUP_CACHE_CACHEABLE", "cacheable" }, - { SOUP_CACHE_UNCACHEABLE, "SOUP_CACHE_UNCACHEABLE", "uncacheable" }, - { SOUP_CACHE_INVALIDATES, "SOUP_CACHE_INVALIDATES", "invalidates" }, - { SOUP_CACHE_VALIDATES, "SOUP_CACHE_VALIDATES", "validates" }, - { 0, NULL, NULL } - }; - GType g_define_type_id = - g_flags_register_static (g_intern_static_string ("SoupCacheability"), values); - g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); - } - - return g_define_type_id__volatile; -} -GType -soup_cache_response_get_type (void) -{ - static volatile gsize g_define_type_id__volatile = 0; - - if (g_once_init_enter (&g_define_type_id__volatile)) - { - static const GEnumValue values[] = { - { SOUP_CACHE_RESPONSE_FRESH, "SOUP_CACHE_RESPONSE_FRESH", "fresh" }, - { SOUP_CACHE_RESPONSE_NEEDS_VALIDATION, "SOUP_CACHE_RESPONSE_NEEDS_VALIDATION", "needs-validation" }, - { SOUP_CACHE_RESPONSE_STALE, "SOUP_CACHE_RESPONSE_STALE", "stale" }, - { 0, NULL, NULL } - }; - GType g_define_type_id = - g_enum_register_static (g_intern_static_string ("SoupCacheResponse"), values); - g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); - } - - return g_define_type_id__volatile; -} -GType -soup_cache_type_get_type (void) -{ - static volatile gsize g_define_type_id__volatile = 0; - - if (g_once_init_enter (&g_define_type_id__volatile)) - { - static const GEnumValue values[] = { - { SOUP_CACHE_SINGLE_USER, "SOUP_CACHE_SINGLE_USER", "single-user" }, - { SOUP_CACHE_SHARED, "SOUP_CACHE_SHARED", "shared" }, - { 0, NULL, NULL } - }; - GType g_define_type_id = - g_enum_register_static (g_intern_static_string ("SoupCacheType"), values); - g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); - } - - return g_define_type_id__volatile; -} -GType -soup_cookie_jar_accept_policy_get_type (void) -{ - static volatile gsize g_define_type_id__volatile = 0; - - if (g_once_init_enter (&g_define_type_id__volatile)) - { - static const GEnumValue values[] = { - { SOUP_COOKIE_JAR_ACCEPT_ALWAYS, "SOUP_COOKIE_JAR_ACCEPT_ALWAYS", "always" }, - { SOUP_COOKIE_JAR_ACCEPT_NEVER, "SOUP_COOKIE_JAR_ACCEPT_NEVER", "never" }, - { SOUP_COOKIE_JAR_ACCEPT_NO_THIRD_PARTY, "SOUP_COOKIE_JAR_ACCEPT_NO_THIRD_PARTY", "no-third-party" }, - { 0, NULL, NULL } - }; - GType g_define_type_id = - g_enum_register_static (g_intern_static_string ("SoupCookieJarAcceptPolicy"), values); - g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); - } - - return g_define_type_id__volatile; -} -GType -soup_date_format_get_type (void) -{ - static volatile gsize g_define_type_id__volatile = 0; - - if (g_once_init_enter (&g_define_type_id__volatile)) - { - static const GEnumValue values[] = { - { SOUP_DATE_HTTP, "SOUP_DATE_HTTP", "http" }, - { SOUP_DATE_COOKIE, "SOUP_DATE_COOKIE", "cookie" }, - { SOUP_DATE_RFC2822, "SOUP_DATE_RFC2822", "rfc2822" }, - { SOUP_DATE_ISO8601_COMPACT, "SOUP_DATE_ISO8601_COMPACT", "iso8601-compact" }, - { SOUP_DATE_ISO8601_FULL, "SOUP_DATE_ISO8601_FULL", "iso8601-full" }, - { SOUP_DATE_ISO8601, "SOUP_DATE_ISO8601", "iso8601" }, - { SOUP_DATE_ISO8601_XMLRPC, "SOUP_DATE_ISO8601_XMLRPC", "iso8601-xmlrpc" }, - { 0, NULL, NULL } - }; - GType g_define_type_id = - g_enum_register_static (g_intern_static_string ("SoupDateFormat"), values); - g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); - } - - return g_define_type_id__volatile; -} -GType -soup_logger_log_level_get_type (void) -{ - static volatile gsize g_define_type_id__volatile = 0; - - if (g_once_init_enter (&g_define_type_id__volatile)) - { - static const GEnumValue values[] = { - { SOUP_LOGGER_LOG_NONE, "SOUP_LOGGER_LOG_NONE", "none" }, - { SOUP_LOGGER_LOG_MINIMAL, "SOUP_LOGGER_LOG_MINIMAL", "minimal" }, - { SOUP_LOGGER_LOG_HEADERS, "SOUP_LOGGER_LOG_HEADERS", "headers" }, - { SOUP_LOGGER_LOG_BODY, "SOUP_LOGGER_LOG_BODY", "body" }, - { 0, NULL, NULL } - }; - GType g_define_type_id = - g_enum_register_static (g_intern_static_string ("SoupLoggerLogLevel"), values); - g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); - } - - return g_define_type_id__volatile; -} -GType -soup_http_version_get_type (void) -{ - static volatile gsize g_define_type_id__volatile = 0; - - if (g_once_init_enter (&g_define_type_id__volatile)) - { - static const GEnumValue values[] = { - { SOUP_HTTP_1_0, "SOUP_HTTP_1_0", "http-1-0" }, - { SOUP_HTTP_1_1, "SOUP_HTTP_1_1", "http-1-1" }, - { 0, NULL, NULL } - }; - GType g_define_type_id = - g_enum_register_static (g_intern_static_string ("SoupHTTPVersion"), values); - g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); - } - - return g_define_type_id__volatile; -} -GType -soup_message_flags_get_type (void) -{ - static volatile gsize g_define_type_id__volatile = 0; - - if (g_once_init_enter (&g_define_type_id__volatile)) - { - static const GFlagsValue values[] = { - { SOUP_MESSAGE_NO_REDIRECT, "SOUP_MESSAGE_NO_REDIRECT", "no-redirect" }, - { SOUP_MESSAGE_CAN_REBUILD, "SOUP_MESSAGE_CAN_REBUILD", "can-rebuild" }, - { SOUP_MESSAGE_OVERWRITE_CHUNKS, "SOUP_MESSAGE_OVERWRITE_CHUNKS", "overwrite-chunks" }, - { SOUP_MESSAGE_CONTENT_DECODED, "SOUP_MESSAGE_CONTENT_DECODED", "content-decoded" }, - { SOUP_MESSAGE_CERTIFICATE_TRUSTED, "SOUP_MESSAGE_CERTIFICATE_TRUSTED", "certificate-trusted" }, - { SOUP_MESSAGE_NEW_CONNECTION, "SOUP_MESSAGE_NEW_CONNECTION", "new-connection" }, - { SOUP_MESSAGE_IDEMPOTENT, "SOUP_MESSAGE_IDEMPOTENT", "idempotent" }, - { 0, NULL, NULL } - }; - GType g_define_type_id = - g_flags_register_static (g_intern_static_string ("SoupMessageFlags"), values); - g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); - } - - return g_define_type_id__volatile; -} -GType -soup_message_priority_get_type (void) -{ - static volatile gsize g_define_type_id__volatile = 0; - - if (g_once_init_enter (&g_define_type_id__volatile)) - { - static const GEnumValue values[] = { - { SOUP_MESSAGE_PRIORITY_VERY_LOW, "SOUP_MESSAGE_PRIORITY_VERY_LOW", "very-low" }, - { SOUP_MESSAGE_PRIORITY_LOW, "SOUP_MESSAGE_PRIORITY_LOW", "low" }, - { SOUP_MESSAGE_PRIORITY_NORMAL, "SOUP_MESSAGE_PRIORITY_NORMAL", "normal" }, - { SOUP_MESSAGE_PRIORITY_HIGH, "SOUP_MESSAGE_PRIORITY_HIGH", "high" }, - { SOUP_MESSAGE_PRIORITY_VERY_HIGH, "SOUP_MESSAGE_PRIORITY_VERY_HIGH", "very-high" }, - { 0, NULL, NULL } - }; - GType g_define_type_id = - g_enum_register_static (g_intern_static_string ("SoupMessagePriority"), values); - g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); - } - - return g_define_type_id__volatile; -} -GType -soup_memory_use_get_type (void) -{ - static volatile gsize g_define_type_id__volatile = 0; - - if (g_once_init_enter (&g_define_type_id__volatile)) - { - static const GEnumValue values[] = { - { SOUP_MEMORY_STATIC, "SOUP_MEMORY_STATIC", "static" }, - { SOUP_MEMORY_TAKE, "SOUP_MEMORY_TAKE", "take" }, - { SOUP_MEMORY_COPY, "SOUP_MEMORY_COPY", "copy" }, - { SOUP_MEMORY_TEMPORARY, "SOUP_MEMORY_TEMPORARY", "temporary" }, - { 0, NULL, NULL } - }; - GType g_define_type_id = - g_enum_register_static (g_intern_static_string ("SoupMemoryUse"), values); - g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); - } - - return g_define_type_id__volatile; -} -GType -soup_message_headers_type_get_type (void) -{ - static volatile gsize g_define_type_id__volatile = 0; - - if (g_once_init_enter (&g_define_type_id__volatile)) - { - static const GEnumValue values[] = { - { SOUP_MESSAGE_HEADERS_REQUEST, "SOUP_MESSAGE_HEADERS_REQUEST", "request" }, - { SOUP_MESSAGE_HEADERS_RESPONSE, "SOUP_MESSAGE_HEADERS_RESPONSE", "response" }, - { SOUP_MESSAGE_HEADERS_MULTIPART, "SOUP_MESSAGE_HEADERS_MULTIPART", "multipart" }, - { 0, NULL, NULL } - }; - GType g_define_type_id = - g_enum_register_static (g_intern_static_string ("SoupMessageHeadersType"), values); - g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); - } - - return g_define_type_id__volatile; -} -GType -soup_encoding_get_type (void) -{ - static volatile gsize g_define_type_id__volatile = 0; - - if (g_once_init_enter (&g_define_type_id__volatile)) - { - static const GEnumValue values[] = { - { SOUP_ENCODING_UNRECOGNIZED, "SOUP_ENCODING_UNRECOGNIZED", "unrecognized" }, - { SOUP_ENCODING_NONE, "SOUP_ENCODING_NONE", "none" }, - { SOUP_ENCODING_CONTENT_LENGTH, "SOUP_ENCODING_CONTENT_LENGTH", "content-length" }, - { SOUP_ENCODING_EOF, "SOUP_ENCODING_EOF", "eof" }, - { SOUP_ENCODING_CHUNKED, "SOUP_ENCODING_CHUNKED", "chunked" }, - { SOUP_ENCODING_BYTERANGES, "SOUP_ENCODING_BYTERANGES", "byteranges" }, - { 0, NULL, NULL } - }; - GType g_define_type_id = - g_enum_register_static (g_intern_static_string ("SoupEncoding"), values); - g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); - } - - return g_define_type_id__volatile; -} -GType -soup_expectation_get_type (void) -{ - static volatile gsize g_define_type_id__volatile = 0; - - if (g_once_init_enter (&g_define_type_id__volatile)) - { - static const GFlagsValue values[] = { - { SOUP_EXPECTATION_UNRECOGNIZED, "SOUP_EXPECTATION_UNRECOGNIZED", "unrecognized" }, - { SOUP_EXPECTATION_CONTINUE, "SOUP_EXPECTATION_CONTINUE", "continue" }, - { 0, NULL, NULL } - }; - GType g_define_type_id = - g_flags_register_static (g_intern_static_string ("SoupExpectation"), values); - g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); - } - - return g_define_type_id__volatile; -} -GType -soup_connection_state_get_type (void) -{ - static volatile gsize g_define_type_id__volatile = 0; - - if (g_once_init_enter (&g_define_type_id__volatile)) - { - static const GEnumValue values[] = { - { SOUP_CONNECTION_NEW, "SOUP_CONNECTION_NEW", "new" }, - { SOUP_CONNECTION_CONNECTING, "SOUP_CONNECTION_CONNECTING", "connecting" }, - { SOUP_CONNECTION_IDLE, "SOUP_CONNECTION_IDLE", "idle" }, - { SOUP_CONNECTION_IN_USE, "SOUP_CONNECTION_IN_USE", "in-use" }, - { SOUP_CONNECTION_REMOTE_DISCONNECTED, "SOUP_CONNECTION_REMOTE_DISCONNECTED", "remote-disconnected" }, - { SOUP_CONNECTION_DISCONNECTED, "SOUP_CONNECTION_DISCONNECTED", "disconnected" }, - { 0, NULL, NULL } - }; - GType g_define_type_id = - g_enum_register_static (g_intern_static_string ("SoupConnectionState"), values); - g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); - } - - return g_define_type_id__volatile; -} -GType -soup_requester_error_get_type (void) -{ - static volatile gsize g_define_type_id__volatile = 0; - - if (g_once_init_enter (&g_define_type_id__volatile)) - { - static const GEnumValue values[] = { - { SOUP_REQUESTER_ERROR_BAD_URI, "SOUP_REQUESTER_ERROR_BAD_URI", "bad-uri" }, - { SOUP_REQUESTER_ERROR_UNSUPPORTED_URI_SCHEME, "SOUP_REQUESTER_ERROR_UNSUPPORTED_URI_SCHEME", "unsupported-uri-scheme" }, - { 0, NULL, NULL } - }; - GType g_define_type_id = - g_enum_register_static (g_intern_static_string ("SoupRequesterError"), values); - g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); - } - - return g_define_type_id__volatile; -} -GType -soup_request_error_get_type (void) -{ - static volatile gsize g_define_type_id__volatile = 0; - - if (g_once_init_enter (&g_define_type_id__volatile)) - { - static const GEnumValue values[] = { - { SOUP_REQUEST_ERROR_BAD_URI, "SOUP_REQUEST_ERROR_BAD_URI", "bad-uri" }, - { SOUP_REQUEST_ERROR_UNSUPPORTED_URI_SCHEME, "SOUP_REQUEST_ERROR_UNSUPPORTED_URI_SCHEME", "unsupported-uri-scheme" }, - { SOUP_REQUEST_ERROR_PARSING, "SOUP_REQUEST_ERROR_PARSING", "parsing" }, - { SOUP_REQUEST_ERROR_ENCODING, "SOUP_REQUEST_ERROR_ENCODING", "encoding" }, - { 0, NULL, NULL } - }; - GType g_define_type_id = - g_enum_register_static (g_intern_static_string ("SoupRequestError"), values); - g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); - } - - return g_define_type_id__volatile; -} -GType -soup_socket_io_status_get_type (void) -{ - static volatile gsize g_define_type_id__volatile = 0; - - if (g_once_init_enter (&g_define_type_id__volatile)) - { - static const GEnumValue values[] = { - { SOUP_SOCKET_OK, "SOUP_SOCKET_OK", "ok" }, - { SOUP_SOCKET_WOULD_BLOCK, "SOUP_SOCKET_WOULD_BLOCK", "would-block" }, - { SOUP_SOCKET_EOF, "SOUP_SOCKET_EOF", "eof" }, - { SOUP_SOCKET_ERROR, "SOUP_SOCKET_ERROR", "error" }, - { 0, NULL, NULL } - }; - GType g_define_type_id = - g_enum_register_static (g_intern_static_string ("SoupSocketIOStatus"), values); - g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); - } - - return g_define_type_id__volatile; -} -GType -soup_status_get_type (void) -{ - static volatile gsize g_define_type_id__volatile = 0; - - if (g_once_init_enter (&g_define_type_id__volatile)) - { - static const GEnumValue values[] = { - { SOUP_STATUS_NONE, "SOUP_STATUS_NONE", "none" }, - { SOUP_STATUS_CANCELLED, "SOUP_STATUS_CANCELLED", "cancelled" }, - { SOUP_STATUS_CANT_RESOLVE, "SOUP_STATUS_CANT_RESOLVE", "cant-resolve" }, - { SOUP_STATUS_CANT_RESOLVE_PROXY, "SOUP_STATUS_CANT_RESOLVE_PROXY", "cant-resolve-proxy" }, - { SOUP_STATUS_CANT_CONNECT, "SOUP_STATUS_CANT_CONNECT", "cant-connect" }, - { SOUP_STATUS_CANT_CONNECT_PROXY, "SOUP_STATUS_CANT_CONNECT_PROXY", "cant-connect-proxy" }, - { SOUP_STATUS_SSL_FAILED, "SOUP_STATUS_SSL_FAILED", "ssl-failed" }, - { SOUP_STATUS_IO_ERROR, "SOUP_STATUS_IO_ERROR", "io-error" }, - { SOUP_STATUS_MALFORMED, "SOUP_STATUS_MALFORMED", "malformed" }, - { SOUP_STATUS_TRY_AGAIN, "SOUP_STATUS_TRY_AGAIN", "try-again" }, - { SOUP_STATUS_TOO_MANY_REDIRECTS, "SOUP_STATUS_TOO_MANY_REDIRECTS", "too-many-redirects" }, - { SOUP_STATUS_TLS_FAILED, "SOUP_STATUS_TLS_FAILED", "tls-failed" }, - { SOUP_STATUS_CONTINUE, "SOUP_STATUS_CONTINUE", "continue" }, - { SOUP_STATUS_SWITCHING_PROTOCOLS, "SOUP_STATUS_SWITCHING_PROTOCOLS", "switching-protocols" }, - { SOUP_STATUS_PROCESSING, "SOUP_STATUS_PROCESSING", "processing" }, - { SOUP_STATUS_OK, "SOUP_STATUS_OK", "ok" }, - { SOUP_STATUS_CREATED, "SOUP_STATUS_CREATED", "created" }, - { SOUP_STATUS_ACCEPTED, "SOUP_STATUS_ACCEPTED", "accepted" }, - { SOUP_STATUS_NON_AUTHORITATIVE, "SOUP_STATUS_NON_AUTHORITATIVE", "non-authoritative" }, - { SOUP_STATUS_NO_CONTENT, "SOUP_STATUS_NO_CONTENT", "no-content" }, - { SOUP_STATUS_RESET_CONTENT, "SOUP_STATUS_RESET_CONTENT", "reset-content" }, - { SOUP_STATUS_PARTIAL_CONTENT, "SOUP_STATUS_PARTIAL_CONTENT", "partial-content" }, - { SOUP_STATUS_MULTI_STATUS, "SOUP_STATUS_MULTI_STATUS", "multi-status" }, - { SOUP_STATUS_MULTIPLE_CHOICES, "SOUP_STATUS_MULTIPLE_CHOICES", "multiple-choices" }, - { SOUP_STATUS_MOVED_PERMANENTLY, "SOUP_STATUS_MOVED_PERMANENTLY", "moved-permanently" }, - { SOUP_STATUS_FOUND, "SOUP_STATUS_FOUND", "found" }, - { SOUP_STATUS_MOVED_TEMPORARILY, "SOUP_STATUS_MOVED_TEMPORARILY", "moved-temporarily" }, - { SOUP_STATUS_SEE_OTHER, "SOUP_STATUS_SEE_OTHER", "see-other" }, - { SOUP_STATUS_NOT_MODIFIED, "SOUP_STATUS_NOT_MODIFIED", "not-modified" }, - { SOUP_STATUS_USE_PROXY, "SOUP_STATUS_USE_PROXY", "use-proxy" }, - { SOUP_STATUS_NOT_APPEARING_IN_THIS_PROTOCOL, "SOUP_STATUS_NOT_APPEARING_IN_THIS_PROTOCOL", "not-appearing-in-this-protocol" }, - { SOUP_STATUS_TEMPORARY_REDIRECT, "SOUP_STATUS_TEMPORARY_REDIRECT", "temporary-redirect" }, - { SOUP_STATUS_BAD_REQUEST, "SOUP_STATUS_BAD_REQUEST", "bad-request" }, - { SOUP_STATUS_UNAUTHORIZED, "SOUP_STATUS_UNAUTHORIZED", "unauthorized" }, - { SOUP_STATUS_PAYMENT_REQUIRED, "SOUP_STATUS_PAYMENT_REQUIRED", "payment-required" }, - { SOUP_STATUS_FORBIDDEN, "SOUP_STATUS_FORBIDDEN", "forbidden" }, - { SOUP_STATUS_NOT_FOUND, "SOUP_STATUS_NOT_FOUND", "not-found" }, - { SOUP_STATUS_METHOD_NOT_ALLOWED, "SOUP_STATUS_METHOD_NOT_ALLOWED", "method-not-allowed" }, - { SOUP_STATUS_NOT_ACCEPTABLE, "SOUP_STATUS_NOT_ACCEPTABLE", "not-acceptable" }, - { SOUP_STATUS_PROXY_AUTHENTICATION_REQUIRED, "SOUP_STATUS_PROXY_AUTHENTICATION_REQUIRED", "proxy-authentication-required" }, - { SOUP_STATUS_PROXY_UNAUTHORIZED, "SOUP_STATUS_PROXY_UNAUTHORIZED", "proxy-unauthorized" }, - { SOUP_STATUS_REQUEST_TIMEOUT, "SOUP_STATUS_REQUEST_TIMEOUT", "request-timeout" }, - { SOUP_STATUS_CONFLICT, "SOUP_STATUS_CONFLICT", "conflict" }, - { SOUP_STATUS_GONE, "SOUP_STATUS_GONE", "gone" }, - { SOUP_STATUS_LENGTH_REQUIRED, "SOUP_STATUS_LENGTH_REQUIRED", "length-required" }, - { SOUP_STATUS_PRECONDITION_FAILED, "SOUP_STATUS_PRECONDITION_FAILED", "precondition-failed" }, - { SOUP_STATUS_REQUEST_ENTITY_TOO_LARGE, "SOUP_STATUS_REQUEST_ENTITY_TOO_LARGE", "request-entity-too-large" }, - { SOUP_STATUS_REQUEST_URI_TOO_LONG, "SOUP_STATUS_REQUEST_URI_TOO_LONG", "request-uri-too-long" }, - { SOUP_STATUS_UNSUPPORTED_MEDIA_TYPE, "SOUP_STATUS_UNSUPPORTED_MEDIA_TYPE", "unsupported-media-type" }, - { SOUP_STATUS_REQUESTED_RANGE_NOT_SATISFIABLE, "SOUP_STATUS_REQUESTED_RANGE_NOT_SATISFIABLE", "requested-range-not-satisfiable" }, - { SOUP_STATUS_INVALID_RANGE, "SOUP_STATUS_INVALID_RANGE", "invalid-range" }, - { SOUP_STATUS_EXPECTATION_FAILED, "SOUP_STATUS_EXPECTATION_FAILED", "expectation-failed" }, - { SOUP_STATUS_UNPROCESSABLE_ENTITY, "SOUP_STATUS_UNPROCESSABLE_ENTITY", "unprocessable-entity" }, - { SOUP_STATUS_LOCKED, "SOUP_STATUS_LOCKED", "locked" }, - { SOUP_STATUS_FAILED_DEPENDENCY, "SOUP_STATUS_FAILED_DEPENDENCY", "failed-dependency" }, - { SOUP_STATUS_INTERNAL_SERVER_ERROR, "SOUP_STATUS_INTERNAL_SERVER_ERROR", "internal-server-error" }, - { SOUP_STATUS_NOT_IMPLEMENTED, "SOUP_STATUS_NOT_IMPLEMENTED", "not-implemented" }, - { SOUP_STATUS_BAD_GATEWAY, "SOUP_STATUS_BAD_GATEWAY", "bad-gateway" }, - { SOUP_STATUS_SERVICE_UNAVAILABLE, "SOUP_STATUS_SERVICE_UNAVAILABLE", "service-unavailable" }, - { SOUP_STATUS_GATEWAY_TIMEOUT, "SOUP_STATUS_GATEWAY_TIMEOUT", "gateway-timeout" }, - { SOUP_STATUS_HTTP_VERSION_NOT_SUPPORTED, "SOUP_STATUS_HTTP_VERSION_NOT_SUPPORTED", "http-version-not-supported" }, - { SOUP_STATUS_INSUFFICIENT_STORAGE, "SOUP_STATUS_INSUFFICIENT_STORAGE", "insufficient-storage" }, - { SOUP_STATUS_NOT_EXTENDED, "SOUP_STATUS_NOT_EXTENDED", "not-extended" }, - { 0, NULL, NULL } - }; - GType g_define_type_id = - g_enum_register_static (g_intern_static_string ("SoupStatus"), values); - g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); - } - - return g_define_type_id__volatile; -} -GType -soup_known_status_code_get_type (void) -{ - static volatile gsize g_define_type_id__volatile = 0; - - if (g_once_init_enter (&g_define_type_id__volatile)) - { - static const GEnumValue values[] = { - { SOUP_KNOWN_STATUS_CODE_NONE, "SOUP_KNOWN_STATUS_CODE_NONE", "none" }, - { SOUP_KNOWN_STATUS_CODE_CANCELLED, "SOUP_KNOWN_STATUS_CODE_CANCELLED", "cancelled" }, - { SOUP_KNOWN_STATUS_CODE_CANT_RESOLVE, "SOUP_KNOWN_STATUS_CODE_CANT_RESOLVE", "cant-resolve" }, - { SOUP_KNOWN_STATUS_CODE_CANT_RESOLVE_PROXY, "SOUP_KNOWN_STATUS_CODE_CANT_RESOLVE_PROXY", "cant-resolve-proxy" }, - { SOUP_KNOWN_STATUS_CODE_CANT_CONNECT, "SOUP_KNOWN_STATUS_CODE_CANT_CONNECT", "cant-connect" }, - { SOUP_KNOWN_STATUS_CODE_CANT_CONNECT_PROXY, "SOUP_KNOWN_STATUS_CODE_CANT_CONNECT_PROXY", "cant-connect-proxy" }, - { SOUP_KNOWN_STATUS_CODE_SSL_FAILED, "SOUP_KNOWN_STATUS_CODE_SSL_FAILED", "ssl-failed" }, - { SOUP_KNOWN_STATUS_CODE_IO_ERROR, "SOUP_KNOWN_STATUS_CODE_IO_ERROR", "io-error" }, - { SOUP_KNOWN_STATUS_CODE_MALFORMED, "SOUP_KNOWN_STATUS_CODE_MALFORMED", "malformed" }, - { SOUP_KNOWN_STATUS_CODE_TRY_AGAIN, "SOUP_KNOWN_STATUS_CODE_TRY_AGAIN", "try-again" }, - { SOUP_KNOWN_STATUS_CODE_TOO_MANY_REDIRECTS, "SOUP_KNOWN_STATUS_CODE_TOO_MANY_REDIRECTS", "too-many-redirects" }, - { SOUP_KNOWN_STATUS_CODE_TLS_FAILED, "SOUP_KNOWN_STATUS_CODE_TLS_FAILED", "tls-failed" }, - { SOUP_KNOWN_STATUS_CODE_CONTINUE, "SOUP_KNOWN_STATUS_CODE_CONTINUE", "continue" }, - { SOUP_KNOWN_STATUS_CODE_SWITCHING_PROTOCOLS, "SOUP_KNOWN_STATUS_CODE_SWITCHING_PROTOCOLS", "switching-protocols" }, - { SOUP_KNOWN_STATUS_CODE_PROCESSING, "SOUP_KNOWN_STATUS_CODE_PROCESSING", "processing" }, - { SOUP_KNOWN_STATUS_CODE_OK, "SOUP_KNOWN_STATUS_CODE_OK", "ok" }, - { SOUP_KNOWN_STATUS_CODE_CREATED, "SOUP_KNOWN_STATUS_CODE_CREATED", "created" }, - { SOUP_KNOWN_STATUS_CODE_ACCEPTED, "SOUP_KNOWN_STATUS_CODE_ACCEPTED", "accepted" }, - { SOUP_KNOWN_STATUS_CODE_NON_AUTHORITATIVE, "SOUP_KNOWN_STATUS_CODE_NON_AUTHORITATIVE", "non-authoritative" }, - { SOUP_KNOWN_STATUS_CODE_NO_CONTENT, "SOUP_KNOWN_STATUS_CODE_NO_CONTENT", "no-content" }, - { SOUP_KNOWN_STATUS_CODE_RESET_CONTENT, "SOUP_KNOWN_STATUS_CODE_RESET_CONTENT", "reset-content" }, - { SOUP_KNOWN_STATUS_CODE_PARTIAL_CONTENT, "SOUP_KNOWN_STATUS_CODE_PARTIAL_CONTENT", "partial-content" }, - { SOUP_KNOWN_STATUS_CODE_MULTI_STATUS, "SOUP_KNOWN_STATUS_CODE_MULTI_STATUS", "multi-status" }, - { SOUP_KNOWN_STATUS_CODE_MULTIPLE_CHOICES, "SOUP_KNOWN_STATUS_CODE_MULTIPLE_CHOICES", "multiple-choices" }, - { SOUP_KNOWN_STATUS_CODE_MOVED_PERMANENTLY, "SOUP_KNOWN_STATUS_CODE_MOVED_PERMANENTLY", "moved-permanently" }, - { SOUP_KNOWN_STATUS_CODE_FOUND, "SOUP_KNOWN_STATUS_CODE_FOUND", "found" }, - { SOUP_KNOWN_STATUS_CODE_MOVED_TEMPORARILY, "SOUP_KNOWN_STATUS_CODE_MOVED_TEMPORARILY", "moved-temporarily" }, - { SOUP_KNOWN_STATUS_CODE_SEE_OTHER, "SOUP_KNOWN_STATUS_CODE_SEE_OTHER", "see-other" }, - { SOUP_KNOWN_STATUS_CODE_NOT_MODIFIED, "SOUP_KNOWN_STATUS_CODE_NOT_MODIFIED", "not-modified" }, - { SOUP_KNOWN_STATUS_CODE_USE_PROXY, "SOUP_KNOWN_STATUS_CODE_USE_PROXY", "use-proxy" }, - { SOUP_KNOWN_STATUS_CODE_NOT_APPEARING_IN_THIS_PROTOCOL, "SOUP_KNOWN_STATUS_CODE_NOT_APPEARING_IN_THIS_PROTOCOL", "not-appearing-in-this-protocol" }, - { SOUP_KNOWN_STATUS_CODE_TEMPORARY_REDIRECT, "SOUP_KNOWN_STATUS_CODE_TEMPORARY_REDIRECT", "temporary-redirect" }, - { SOUP_KNOWN_STATUS_CODE_BAD_REQUEST, "SOUP_KNOWN_STATUS_CODE_BAD_REQUEST", "bad-request" }, - { SOUP_KNOWN_STATUS_CODE_UNAUTHORIZED, "SOUP_KNOWN_STATUS_CODE_UNAUTHORIZED", "unauthorized" }, - { SOUP_KNOWN_STATUS_CODE_PAYMENT_REQUIRED, "SOUP_KNOWN_STATUS_CODE_PAYMENT_REQUIRED", "payment-required" }, - { SOUP_KNOWN_STATUS_CODE_FORBIDDEN, "SOUP_KNOWN_STATUS_CODE_FORBIDDEN", "forbidden" }, - { SOUP_KNOWN_STATUS_CODE_NOT_FOUND, "SOUP_KNOWN_STATUS_CODE_NOT_FOUND", "not-found" }, - { SOUP_KNOWN_STATUS_CODE_METHOD_NOT_ALLOWED, "SOUP_KNOWN_STATUS_CODE_METHOD_NOT_ALLOWED", "method-not-allowed" }, - { SOUP_KNOWN_STATUS_CODE_NOT_ACCEPTABLE, "SOUP_KNOWN_STATUS_CODE_NOT_ACCEPTABLE", "not-acceptable" }, - { SOUP_KNOWN_STATUS_CODE_PROXY_AUTHENTICATION_REQUIRED, "SOUP_KNOWN_STATUS_CODE_PROXY_AUTHENTICATION_REQUIRED", "proxy-authentication-required" }, - { SOUP_KNOWN_STATUS_CODE_PROXY_UNAUTHORIZED, "SOUP_KNOWN_STATUS_CODE_PROXY_UNAUTHORIZED", "proxy-unauthorized" }, - { SOUP_KNOWN_STATUS_CODE_REQUEST_TIMEOUT, "SOUP_KNOWN_STATUS_CODE_REQUEST_TIMEOUT", "request-timeout" }, - { SOUP_KNOWN_STATUS_CODE_CONFLICT, "SOUP_KNOWN_STATUS_CODE_CONFLICT", "conflict" }, - { SOUP_KNOWN_STATUS_CODE_GONE, "SOUP_KNOWN_STATUS_CODE_GONE", "gone" }, - { SOUP_KNOWN_STATUS_CODE_LENGTH_REQUIRED, "SOUP_KNOWN_STATUS_CODE_LENGTH_REQUIRED", "length-required" }, - { SOUP_KNOWN_STATUS_CODE_PRECONDITION_FAILED, "SOUP_KNOWN_STATUS_CODE_PRECONDITION_FAILED", "precondition-failed" }, - { SOUP_KNOWN_STATUS_CODE_REQUEST_ENTITY_TOO_LARGE, "SOUP_KNOWN_STATUS_CODE_REQUEST_ENTITY_TOO_LARGE", "request-entity-too-large" }, - { SOUP_KNOWN_STATUS_CODE_REQUEST_URI_TOO_LONG, "SOUP_KNOWN_STATUS_CODE_REQUEST_URI_TOO_LONG", "request-uri-too-long" }, - { SOUP_KNOWN_STATUS_CODE_UNSUPPORTED_MEDIA_TYPE, "SOUP_KNOWN_STATUS_CODE_UNSUPPORTED_MEDIA_TYPE", "unsupported-media-type" }, - { SOUP_KNOWN_STATUS_CODE_REQUESTED_RANGE_NOT_SATISFIABLE, "SOUP_KNOWN_STATUS_CODE_REQUESTED_RANGE_NOT_SATISFIABLE", "requested-range-not-satisfiable" }, - { SOUP_KNOWN_STATUS_CODE_INVALID_RANGE, "SOUP_KNOWN_STATUS_CODE_INVALID_RANGE", "invalid-range" }, - { SOUP_KNOWN_STATUS_CODE_EXPECTATION_FAILED, "SOUP_KNOWN_STATUS_CODE_EXPECTATION_FAILED", "expectation-failed" }, - { SOUP_KNOWN_STATUS_CODE_UNPROCESSABLE_ENTITY, "SOUP_KNOWN_STATUS_CODE_UNPROCESSABLE_ENTITY", "unprocessable-entity" }, - { SOUP_KNOWN_STATUS_CODE_LOCKED, "SOUP_KNOWN_STATUS_CODE_LOCKED", "locked" }, - { SOUP_KNOWN_STATUS_CODE_FAILED_DEPENDENCY, "SOUP_KNOWN_STATUS_CODE_FAILED_DEPENDENCY", "failed-dependency" }, - { SOUP_KNOWN_STATUS_CODE_INTERNAL_SERVER_ERROR, "SOUP_KNOWN_STATUS_CODE_INTERNAL_SERVER_ERROR", "internal-server-error" }, - { SOUP_KNOWN_STATUS_CODE_NOT_IMPLEMENTED, "SOUP_KNOWN_STATUS_CODE_NOT_IMPLEMENTED", "not-implemented" }, - { SOUP_KNOWN_STATUS_CODE_BAD_GATEWAY, "SOUP_KNOWN_STATUS_CODE_BAD_GATEWAY", "bad-gateway" }, - { SOUP_KNOWN_STATUS_CODE_SERVICE_UNAVAILABLE, "SOUP_KNOWN_STATUS_CODE_SERVICE_UNAVAILABLE", "service-unavailable" }, - { SOUP_KNOWN_STATUS_CODE_GATEWAY_TIMEOUT, "SOUP_KNOWN_STATUS_CODE_GATEWAY_TIMEOUT", "gateway-timeout" }, - { SOUP_KNOWN_STATUS_CODE_HTTP_VERSION_NOT_SUPPORTED, "SOUP_KNOWN_STATUS_CODE_HTTP_VERSION_NOT_SUPPORTED", "http-version-not-supported" }, - { SOUP_KNOWN_STATUS_CODE_INSUFFICIENT_STORAGE, "SOUP_KNOWN_STATUS_CODE_INSUFFICIENT_STORAGE", "insufficient-storage" }, - { SOUP_KNOWN_STATUS_CODE_NOT_EXTENDED, "SOUP_KNOWN_STATUS_CODE_NOT_EXTENDED", "not-extended" }, - { 0, NULL, NULL } - }; - GType g_define_type_id = - g_enum_register_static (g_intern_static_string ("SoupKnownStatusCode"), values); - g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); - } - - return g_define_type_id__volatile; -} -GType -soup_tld_error_get_type (void) -{ - static volatile gsize g_define_type_id__volatile = 0; - - if (g_once_init_enter (&g_define_type_id__volatile)) - { - static const GEnumValue values[] = { - { SOUP_TLD_ERROR_INVALID_HOSTNAME, "SOUP_TLD_ERROR_INVALID_HOSTNAME", "invalid-hostname" }, - { SOUP_TLD_ERROR_IS_IP_ADDRESS, "SOUP_TLD_ERROR_IS_IP_ADDRESS", "is-ip-address" }, - { SOUP_TLD_ERROR_NOT_ENOUGH_DOMAINS, "SOUP_TLD_ERROR_NOT_ENOUGH_DOMAINS", "not-enough-domains" }, - { SOUP_TLD_ERROR_NO_BASE_DOMAIN, "SOUP_TLD_ERROR_NO_BASE_DOMAIN", "no-base-domain" }, - { 0, NULL, NULL } - }; - GType g_define_type_id = - g_enum_register_static (g_intern_static_string ("SoupTLDError"), values); - g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); - } - - return g_define_type_id__volatile; -} -GType -soup_xmlrpc_error_get_type (void) -{ - static volatile gsize g_define_type_id__volatile = 0; - - if (g_once_init_enter (&g_define_type_id__volatile)) - { - static const GEnumValue values[] = { - { SOUP_XMLRPC_ERROR_ARGUMENTS, "SOUP_XMLRPC_ERROR_ARGUMENTS", "arguments" }, - { SOUP_XMLRPC_ERROR_RETVAL, "SOUP_XMLRPC_ERROR_RETVAL", "retval" }, - { 0, NULL, NULL } - }; - GType g_define_type_id = - g_enum_register_static (g_intern_static_string ("SoupXMLRPCError"), values); - g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); - } - - return g_define_type_id__volatile; -} -GType -soup_xmlrpc_fault_get_type (void) -{ - static volatile gsize g_define_type_id__volatile = 0; - - if (g_once_init_enter (&g_define_type_id__volatile)) - { - static const GEnumValue values[] = { - { SOUP_XMLRPC_FAULT_PARSE_ERROR_NOT_WELL_FORMED, "SOUP_XMLRPC_FAULT_PARSE_ERROR_NOT_WELL_FORMED", "parse-error-not-well-formed" }, - { SOUP_XMLRPC_FAULT_PARSE_ERROR_UNSUPPORTED_ENCODING, "SOUP_XMLRPC_FAULT_PARSE_ERROR_UNSUPPORTED_ENCODING", "parse-error-unsupported-encoding" }, - { SOUP_XMLRPC_FAULT_PARSE_ERROR_INVALID_CHARACTER_FOR_ENCODING, "SOUP_XMLRPC_FAULT_PARSE_ERROR_INVALID_CHARACTER_FOR_ENCODING", "parse-error-invalid-character-for-encoding" }, - { SOUP_XMLRPC_FAULT_SERVER_ERROR_INVALID_XML_RPC, "SOUP_XMLRPC_FAULT_SERVER_ERROR_INVALID_XML_RPC", "server-error-invalid-xml-rpc" }, - { SOUP_XMLRPC_FAULT_SERVER_ERROR_REQUESTED_METHOD_NOT_FOUND, "SOUP_XMLRPC_FAULT_SERVER_ERROR_REQUESTED_METHOD_NOT_FOUND", "server-error-requested-method-not-found" }, - { SOUP_XMLRPC_FAULT_SERVER_ERROR_INVALID_METHOD_PARAMETERS, "SOUP_XMLRPC_FAULT_SERVER_ERROR_INVALID_METHOD_PARAMETERS", "server-error-invalid-method-parameters" }, - { SOUP_XMLRPC_FAULT_SERVER_ERROR_INTERNAL_XML_RPC_ERROR, "SOUP_XMLRPC_FAULT_SERVER_ERROR_INTERNAL_XML_RPC_ERROR", "server-error-internal-xml-rpc-error" }, - { SOUP_XMLRPC_FAULT_APPLICATION_ERROR, "SOUP_XMLRPC_FAULT_APPLICATION_ERROR", "application-error" }, - { SOUP_XMLRPC_FAULT_SYSTEM_ERROR, "SOUP_XMLRPC_FAULT_SYSTEM_ERROR", "system-error" }, - { SOUP_XMLRPC_FAULT_TRANSPORT_ERROR, "SOUP_XMLRPC_FAULT_TRANSPORT_ERROR", "transport-error" }, - { 0, NULL, NULL } - }; - GType g_define_type_id = - g_enum_register_static (g_intern_static_string ("SoupXMLRPCFault"), values); - g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); - } - - return g_define_type_id__volatile; -} - - - diff --git a/libsoup/soup-enum-types.h b/libsoup/soup-enum-types.h deleted file mode 100644 index cc7b3da..0000000 --- a/libsoup/soup-enum-types.h +++ /dev/null @@ -1,63 +0,0 @@ - - - -/* Generated by glib-mkenums. Do not edit */ - -#ifndef __SOUP_ENUM_TYPES_H__ -#define __SOUP_ENUM_TYPES_H__ - -#include - -G_BEGIN_DECLS -GType soup_address_family_get_type (void) G_GNUC_CONST; -#define SOUP_TYPE_ADDRESS_FAMILY (soup_address_family_get_type ()) -GType soup_cacheability_get_type (void) G_GNUC_CONST; -#define SOUP_TYPE_CACHEABILITY (soup_cacheability_get_type ()) -GType soup_cache_response_get_type (void) G_GNUC_CONST; -#define SOUP_TYPE_CACHE_RESPONSE (soup_cache_response_get_type ()) -GType soup_cache_type_get_type (void) G_GNUC_CONST; -#define SOUP_TYPE_CACHE_TYPE (soup_cache_type_get_type ()) -GType soup_cookie_jar_accept_policy_get_type (void) G_GNUC_CONST; -#define SOUP_TYPE_COOKIE_JAR_ACCEPT_POLICY (soup_cookie_jar_accept_policy_get_type ()) -GType soup_date_format_get_type (void) G_GNUC_CONST; -#define SOUP_TYPE_DATE_FORMAT (soup_date_format_get_type ()) -GType soup_logger_log_level_get_type (void) G_GNUC_CONST; -#define SOUP_TYPE_LOGGER_LOG_LEVEL (soup_logger_log_level_get_type ()) -GType soup_http_version_get_type (void) G_GNUC_CONST; -#define SOUP_TYPE_HTTP_VERSION (soup_http_version_get_type ()) -GType soup_message_flags_get_type (void) G_GNUC_CONST; -#define SOUP_TYPE_MESSAGE_FLAGS (soup_message_flags_get_type ()) -GType soup_message_priority_get_type (void) G_GNUC_CONST; -#define SOUP_TYPE_MESSAGE_PRIORITY (soup_message_priority_get_type ()) -GType soup_memory_use_get_type (void) G_GNUC_CONST; -#define SOUP_TYPE_MEMORY_USE (soup_memory_use_get_type ()) -GType soup_message_headers_type_get_type (void) G_GNUC_CONST; -#define SOUP_TYPE_MESSAGE_HEADERS_TYPE (soup_message_headers_type_get_type ()) -GType soup_encoding_get_type (void) G_GNUC_CONST; -#define SOUP_TYPE_ENCODING (soup_encoding_get_type ()) -GType soup_expectation_get_type (void) G_GNUC_CONST; -#define SOUP_TYPE_EXPECTATION (soup_expectation_get_type ()) -GType soup_connection_state_get_type (void) G_GNUC_CONST; -#define SOUP_TYPE_CONNECTION_STATE (soup_connection_state_get_type ()) -GType soup_requester_error_get_type (void) G_GNUC_CONST; -#define SOUP_TYPE_REQUESTER_ERROR (soup_requester_error_get_type ()) -GType soup_request_error_get_type (void) G_GNUC_CONST; -#define SOUP_TYPE_REQUEST_ERROR (soup_request_error_get_type ()) -GType soup_socket_io_status_get_type (void) G_GNUC_CONST; -#define SOUP_TYPE_SOCKET_IO_STATUS (soup_socket_io_status_get_type ()) -GType soup_status_get_type (void) G_GNUC_CONST; -#define SOUP_TYPE_STATUS (soup_status_get_type ()) -GType soup_known_status_code_get_type (void) G_GNUC_CONST; -#define SOUP_TYPE_KNOWN_STATUS_CODE (soup_known_status_code_get_type ()) -GType soup_tld_error_get_type (void) G_GNUC_CONST; -#define SOUP_TYPE_TLD_ERROR (soup_tld_error_get_type ()) -GType soup_xmlrpc_error_get_type (void) G_GNUC_CONST; -#define SOUP_TYPE_XMLRPC_ERROR (soup_xmlrpc_error_get_type ()) -GType soup_xmlrpc_fault_get_type (void) G_GNUC_CONST; -#define SOUP_TYPE_XMLRPC_FAULT (soup_xmlrpc_fault_get_type ()) -G_END_DECLS - -#endif /* __SOUP_ENUM_TYPES_H__ */ - - - diff --git a/libsoup/soup-form.c b/libsoup/soup-form.c index 4dee564..19b2de2 100644 --- a/libsoup/soup-form.c +++ b/libsoup/soup-form.c @@ -13,6 +13,7 @@ #include "soup-form.h" #include "soup.h" +#include "TIZEN.h" /** * SECTION:soup-form @@ -485,7 +486,11 @@ soup_form_request_new_from_multipart (const char *uri, SoupMessage *msg; msg = soup_message_new ("POST", uri); - soup_multipart_to_message (multipart, msg->request_headers, +#if ENABLE(TIZEN_EXT) + if (msg) +#endif + soup_multipart_to_message (multipart, msg->request_headers, msg->request_body); + return msg; } diff --git a/libsoup/soup-message-io.c b/libsoup/soup-message-io.c index be5cb2d..dba5a5f 100644 --- a/libsoup/soup-message-io.c +++ b/libsoup/soup-message-io.c @@ -22,6 +22,43 @@ #include "soup-message-private.h" #include "soup-message-queue.h" #include "soup-misc-private.h" +#include "TIZEN.h" + +#if ENABLE(TIZEN_PERFORMANCE_TEST_LOG) +#include +#include +#ifndef PR_TASK_PERF_USER_TRACE +#define PR_TASK_PERF_USER_TRACE 666 +#endif + +#define MAX_STRING_LEN 256 + +static void prctl_with_url(const char *prestr, const char *url) +{ + char s[MAX_STRING_LEN] = ""; + int len_max = 120; + int len_pre = strlen(prestr); + int len_url = strlen(url); + + strncpy(s, prestr, len_pre); + if(len_pre + len_url < len_max) { + strncpy(s+len_pre, url, len_url); + } + else { + int len_part = len_max - len_pre - 10; + strncpy(s+len_pre, url, len_part); + strncpy(s+len_pre+len_part, "...", MAX_STRING_LEN-len_pre-len_part-1); + strncpy(s+len_pre+len_part+3, url+len_url-7, 7); + } + prctl(PR_TASK_PERF_USER_TRACE, s, strlen(s)); +} + +static void prctl_with_url_and_free(const char *prestr, char *url) +{ + prctl_with_url(prestr, url); + g_free(url); +} +#endif typedef enum { SOUP_MESSAGE_IO_CLIENT, @@ -87,8 +124,11 @@ typedef struct { gpointer completion_data; } SoupMessageIOData; - +#if ENABLE(TIZEN_USE_EXPANDED_RESPONSE_BLOCK) +#define RESPONSE_BLOCK_SIZE 32768 +#else #define RESPONSE_BLOCK_SIZE 8192 +#endif void soup_message_io_cleanup (SoupMessage *msg) @@ -316,6 +356,9 @@ io_write (SoupMessage *msg, gboolean blocking, SoupMessageIOData *io = priv->io_data; SoupBuffer *chunk; gssize nwrote; +#if ENABLE(TIZEN_DLOG) + char *uri = NULL; +#endif switch (io->write_state) { case SOUP_MESSAGE_IO_STATE_HEADERS: @@ -325,6 +368,15 @@ io_write (SoupMessage *msg, gboolean blocking, io->header_data); } +#if ENABLE(TIZEN_DLOG) + uri = soup_uri_to_string(soup_message_get_uri(msg), FALSE); + TIZEN_LOGI("Request URL: %s", uri); +#if ENABLE(TIZEN_PERFORMANCE_TEST_LOG) + prctl_with_url("[BGN] soup_io_w : ", uri); +#endif + g_free(uri); +#endif + while (io->written < io->write_buf->len) { nwrote = g_pollable_stream_write (io->ostream, io->write_buf->str + io->written, @@ -502,6 +554,9 @@ io_read (SoupMessage *msg, gboolean blocking, gssize nread; SoupBuffer *buffer; guint status; +#if ENABLE(TIZEN_DLOG) + char *uri = NULL; +#endif switch (io->read_state) { case SOUP_MESSAGE_IO_STATE_HEADERS: @@ -514,6 +569,15 @@ io_read (SoupMessage *msg, gboolean blocking, io->header_data, error); g_byte_array_set_size (io->read_header_buf, 0); +#if ENABLE(TIZEN_DLOG) + uri = soup_uri_to_string(soup_message_get_uri(msg), FALSE); + TIZEN_LOGI("Response URL: %s", uri); +#if ENABLE(TIZEN_PERFORMANCE_TEST_LOG) + prctl_with_url("[BGN] soup_io_r_hdr : ", uri); +#endif + g_free(uri); +#endif + if (status != SOUP_STATUS_OK) { /* Either we couldn't parse the headers, or they * indicated something that would mean we wouldn't @@ -526,6 +590,9 @@ io_read (SoupMessage *msg, gboolean blocking, soup_message_headers_append (msg->request_headers, "Connection", "close"); io->read_state = SOUP_MESSAGE_IO_STATE_FINISHING; +#if ENABLE(TIZEN_PERFORMANCE_TEST_LOG) + prctl_with_url_and_free("[END] soup_io_r_hdr,not ok : ",soup_uri_to_string(soup_message_get_uri(msg), FALSE)); +#endif break; } @@ -615,6 +682,9 @@ io_read (SoupMessage *msg, gboolean blocking, SoupContentSnifferStream *sniffer_stream = SOUP_CONTENT_SNIFFER_STREAM (io->body_istream); const char *content_type; GHashTable *params; +#if ENABLE (TIZEN_UPDATE_CACHE_ENTRY_CONTENT_TYPE_HEADER) + gboolean composite_type = FALSE; +#endif if (!soup_content_sniffer_stream_is_ready (sniffer_stream, blocking, cancellable, error)) @@ -622,6 +692,22 @@ io_read (SoupMessage *msg, gboolean blocking, content_type = soup_content_sniffer_stream_sniff (sniffer_stream, ¶ms); soup_message_content_sniffed (msg, content_type, params); +#if ENABLE (TIZEN_UPDATE_CACHE_ENTRY_CONTENT_TYPE_HEADER) + if (content_type && msg->status_code != SOUP_STATUS_NOT_MODIFIED) { + if (params) { + GHashTableIter iter; + gpointer key, value; + + g_hash_table_iter_init (&iter, params); + while (g_hash_table_iter_next (&iter, &key, &value)) { + composite_type = TRUE; + break; + } + } + if (!composite_type) + soup_cache_entry_set_content_type (io->item->session, msg, content_type); + } +#endif } io->read_state = SOUP_MESSAGE_IO_STATE_BODY; diff --git a/libsoup/soup-message-private.h b/libsoup/soup-message-private.h old mode 100644 new mode 100755 index 35cc988..4b2d452 --- a/libsoup/soup-message-private.h +++ b/libsoup/soup-message-private.h @@ -148,4 +148,18 @@ SoupConnection *soup_message_get_connection (SoupMessage *msg); void soup_message_set_connection (SoupMessage *msg, SoupConnection *conn); +// #if ENABL(TIZEN_CERTIFICATE_FILE_SET) +gboolean soup_message_is_from_session_restore (SoupMessage *msg); +// #endif + +//#if ENABLE(TIZEN_TV_DYNAMIC_CERTIFICATE_LOADING) +const char* soup_message_dynamic_client_certificate (SoupMessage *msg, + const char* current_host); +//#endif +//#if ENABLE(TIZEN_TV_CERTIFICATE_HANDLING) +gboolean soup_message_accept_certificate (SoupMessage *msg, + GTlsCertificate* certificate, + GTlsCertificateFlags errors); +//#endif + #endif /* SOUP_MESSAGE_PRIVATE_H */ diff --git a/libsoup/soup-message.c b/libsoup/soup-message.c old mode 100644 new mode 100755 index 23fd8b0..401a47c --- a/libsoup/soup-message.c +++ b/libsoup/soup-message.c @@ -4,6 +4,9 @@ * * Copyright (C) 2000-2003, Ximian, Inc. */ +#ifdef HAVE_CONFIG_H +#include +#endif #include @@ -11,6 +14,43 @@ #include "soup.h" #include "soup-connection.h" #include "soup-message-private.h" +#include "TIZEN.h" + +#if ENABLE(TIZEN_PERFORMANCE_TEST_LOG) +#include +#ifndef PR_TASK_PERF_USER_TRACE +#define PR_TASK_PERF_USER_TRACE 666 +#define MAX_STRING_LEN 256 +#endif + +#define MAX_STRING_LEN 256 + +static void prctl_with_url(const char *prestr, const char *url) +{ + char s[MAX_STRING_LEN] = ""; + int len_max = 120; + int len_pre = strlen(prestr); + int len_url = strlen(url); + + strncpy(s, prestr, len_pre); + if(len_pre + len_url < len_max) { + strncpy(s+len_pre, url, len_url); + } + else { + int len_part = len_max - len_pre - 10; + strncpy(s+len_pre, url, len_part); + strncpy(s+len_pre+len_part, "...", MAX_STRING_LEN-len_pre-len_part-1); + strncpy(s+len_pre+len_part+3, url+len_url-7, 7); + } + prctl(PR_TASK_PERF_USER_TRACE, s, strlen(s)); +} + +static void prctl_with_url_and_free(const char *prestr, char *url) +{ + prctl_with_url(prestr, url); + g_free(url); +} +#endif /** * SECTION:soup-message @@ -111,8 +151,17 @@ enum { RESTARTED, FINISHED, +#if ENABLE(TIZEN_ON_AUTHENTICATION_REQUESTED) + AUTHENTICATE, +#endif NETWORK_EVENT, +#if ENABLE(TIZEN_TV_DYNAMIC_CERTIFICATE_LOADING) + DYNAMIC_CERTIFICATEPATH, +#endif +#if ENABLE(TIZEN_TV_CERTIFICATE_HANDLING) + ACCEPT_CERTIFICATE, +#endif LAST_SIGNAL }; @@ -665,6 +714,51 @@ soup_message_class_init (SoupMessageClass *message_class) G_TYPE_SOCKET_CLIENT_EVENT, G_TYPE_IO_STREAM); +#if ENABLE(TIZEN_TV_DYNAMIC_CERTIFICATE_LOADING) + signals[DYNAMIC_CERTIFICATEPATH] = + g_signal_new ("dynamic-certificatePath", + G_OBJECT_CLASS_TYPE (object_class), + G_SIGNAL_RUN_LAST, + 0, + NULL, NULL, + NULL, + G_TYPE_POINTER, 1, + G_TYPE_POINTER); +#endif + /** + * SoupMessage::accept-certificate: + * @msg: the message + * @certificate: the certificate + * @error: the kind of the certificate errors + * + * Since: webengine2014 + **/ +#if ENABLE(TIZEN_TV_CERTIFICATE_HANDLING) + signals[ACCEPT_CERTIFICATE] = + g_signal_new ("accept_certificate", + G_OBJECT_CLASS_TYPE (object_class), + G_SIGNAL_RUN_LAST, + 0, + NULL, NULL, + NULL, + G_TYPE_BOOLEAN, 2, + G_TYPE_TLS_CERTIFICATE, + G_TYPE_TLS_CERTIFICATE_FLAGS); +#endif + +#if ENABLE(TIZEN_ON_AUTHENTICATION_REQUESTED) + signals[AUTHENTICATE] = + g_signal_new ("authenticate", + G_OBJECT_CLASS_TYPE (object_class), + G_SIGNAL_RUN_FIRST, + G_STRUCT_OFFSET (SoupMessageClass, authenticate), + NULL, NULL, + NULL, + G_TYPE_NONE, 2, + SOUP_TYPE_AUTH, + G_TYPE_BOOLEAN); +#endif + /* properties */ /** * SOUP_MESSAGE_METHOD: @@ -1138,6 +1232,9 @@ soup_message_restarted (SoupMessage *msg) void soup_message_finished (SoupMessage *msg) { +#if ENABLE(TIZEN_PERFORMANCE_TEST_LOG) + prctl_with_url_and_free("[EVT] soup_msg_fin : ", soup_uri_to_string(soup_message_get_uri(msg), FALSE)); +#endif g_signal_emit (msg, signals[FINISHED], 0); } @@ -1150,6 +1247,51 @@ soup_message_network_event (SoupMessage *msg, event, connection); } +#if ENABLE(TIZEN_TV_DYNAMIC_CERTIFICATE_LOADING) +const char* +soup_message_dynamic_client_certificate (SoupMessage *msg, + const char* current_host) +{ + const char* get_certpath = NULL; + + g_signal_emit (msg, signals[DYNAMIC_CERTIFICATEPATH], 0, + current_host, &get_certpath); + return get_certpath; +} +#endif + +#if ENABLE(TIZEN_TV_CERTIFICATE_HANDLING) +gboolean +soup_message_accept_certificate (SoupMessage *msg, + GTlsCertificate* certificate, + GTlsCertificateFlags errors) +{ + gboolean accept = TRUE; +#if ENABLE(TIZEN_DLOG) + char *uri = soup_uri_to_string(soup_message_get_uri(msg), FALSE); + + TIZEN_LOGI("[Accept-Certificate] Certificate error URL: %s", uri); +#endif + g_signal_emit (msg, signals[ACCEPT_CERTIFICATE], 0, + certificate, errors, &accept); + +#if ENABLE(TIZEN_DLOG) + if (uri) + g_free (uri); +#endif + + return accept; +} +#endif + +#if ENABLE(TIZEN_ON_AUTHENTICATION_REQUESTED) +void +soup_message_authenticate (SoupMessage *msg, SoupAuth *auth, gboolean retrying) +{ + g_signal_emit (msg, signals[AUTHENTICATE], 0, auth, retrying); +} +#endif + static void header_handler_free (gpointer header_name, GClosure *closure) { @@ -1888,6 +2030,15 @@ soup_message_set_https_status (SoupMessage *msg, SoupConnection *conn) SOUP_SOCKET_TLS_CERTIFICATE, &certificate, SOUP_SOCKET_TLS_ERRORS, &errors, NULL); + +#if ENABLE(TIZEN_CERTIFICATE_FILE_SET) + if (errors && soup_message_is_from_session_restore (msg)) { + TIZEN_LOGD ("msg[%p] errors[%d]", msg, errors); + errors = 0; + TIZEN_LOGD ("msg[%p] changed errors[%d]", msg, errors); + } +#endif + g_object_set (msg, SOUP_MESSAGE_TLS_CERTIFICATE, certificate, SOUP_MESSAGE_TLS_ERRORS, errors, @@ -2069,3 +2220,24 @@ soup_message_get_priority (SoupMessage *msg) return SOUP_MESSAGE_GET_PRIVATE (msg)->priority; } + +#if ENABLE(TIZEN_CERTIFICATE_FILE_SET) +gboolean soup_message_is_from_session_restore (SoupMessage *msg) +{ + char *target_field = "Cache-Control"; + char *target_value = "max-stale=86400"; + char *value = NULL; + + if (!msg) + return FALSE; + + // This criteria to decide session restore can be changed according to WebKit. + value = soup_message_headers_get (msg->request_headers, target_field); + if (value && !strcmp (value, target_value)) { + TIZEN_LOGD ("msg[%p] return TRUE", msg); + return TRUE; + } + + return FALSE; +} +#endif diff --git a/libsoup/soup-message.h b/libsoup/soup-message.h index b02d293..bc3588c 100644 --- a/libsoup/soup-message.h +++ b/libsoup/soup-message.h @@ -50,6 +50,9 @@ typedef struct { void (*got_body) (SoupMessage *msg); void (*restarted) (SoupMessage *msg); void (*finished) (SoupMessage *msg); +/* #if ENABLE(TIZEN_ON_AUTHENTICATION_REQUESTED) */ + void (*authenticate) (SoupMessage *msg, SoupAuth *auth, gboolean retrying); +/* #endif */ /* Padding for future expansion */ void (*_libsoup_reserved1) (void); @@ -218,6 +221,9 @@ void soup_message_got_body (SoupMessage *msg); void soup_message_content_sniffed (SoupMessage *msg, const char *content_type, GHashTable *params); void soup_message_restarted (SoupMessage *msg); void soup_message_finished (SoupMessage *msg); +/* #if ENABLE(TIZEN_ON_AUTHENTICATION_REQUESTED) */ +void soup_message_authenticate (SoupMessage *msg, SoupAuth *auth, gboolean retrying); +/* #endif */ G_END_DECLS diff --git a/libsoup/soup-request-data.c b/libsoup/soup-request-data.c index 678e84d..ac5ea17 100644 --- a/libsoup/soup-request-data.c +++ b/libsoup/soup-request-data.c @@ -30,6 +30,7 @@ #include "soup-request-data.h" #include "soup.h" #include "soup-misc-private.h" +#include "TIZEN.h" /** * SECTION:soup-request-data @@ -89,7 +90,11 @@ soup_request_data_send (SoupRequest *request, comma = strchr (start, ','); if (comma && comma != start) { /* Deal with MIME type / params */ +#if ENABLE (TIZEN_DATA_URI_WITHOUT_MEDIA_TYPE) + if (comma >= start + BASE64_INDICATOR_LEN && !g_ascii_strncasecmp (comma - BASE64_INDICATOR_LEN, BASE64_INDICATOR, BASE64_INDICATOR_LEN)) { +#else if (comma > start + BASE64_INDICATOR_LEN && !g_ascii_strncasecmp (comma - BASE64_INDICATOR_LEN, BASE64_INDICATOR, BASE64_INDICATOR_LEN)) { +#endif end = comma - BASE64_INDICATOR_LEN; base64 = TRUE; } else diff --git a/libsoup/soup-session-private.h b/libsoup/soup-session-private.h old mode 100644 new mode 100755 index dc4d300..f536ca0 --- a/libsoup/soup-session-private.h +++ b/libsoup/soup-session-private.h @@ -9,6 +9,7 @@ #include "soup-session.h" #include "soup-message-private.h" #include "soup-proxy-uri-resolver.h" +#include "TIZEN.h" G_BEGIN_DECLS @@ -43,6 +44,17 @@ void soup_session_process_queue_item (SoupSession *s gboolean *should_prune, gboolean loop); +#if ENABLE(TIZEN_CERTIFICATE_FILE_SET) +void soup_session_set_certificate_file (SoupSession *session); +void soup_session_tls_start_idle_timer (SoupSession *session, guint idle_timeout); +void soup_session_tls_stop_idle_timer (SoupSession *session); +gboolean soup_session_is_tls_db_initialized (SoupSession* session); +#endif +#if ENABLE(TIZEN_TV_CREATE_IDLE_TCP_CONNECTION) +guint soup_session_get_idle_connection_for_host (SoupSession *session, + SoupURI *uri); +#endif + G_END_DECLS #endif /* SOUP_SESSION_PRIVATE_H */ diff --git a/libsoup/soup-session.c b/libsoup/soup-session.c old mode 100644 new mode 100755 index 132554d..a11c108 --- a/libsoup/soup-session.c +++ b/libsoup/soup-session.c @@ -21,8 +21,48 @@ #include "soup-message-queue.h" #include "soup-proxy-resolver-wrapper.h" #include "soup-session-private.h" +#include "TIZEN.h" + +#if ENABLE(TIZEN_PERFORMANCE_TEST_LOG) +#include +#ifndef PR_TASK_PERF_USER_TRACE +#define PR_TASK_PERF_USER_TRACE 666 +#endif + +#define MAX_STRING_LEN 256 +#define HWCLOCK_LOG(s) {const char *str=s; prctl(PR_TASK_PERF_USER_TRACE, str, strlen(str));} + +static void prctl_with_url(const char *prestr, const char *url) +{ + char s[MAX_STRING_LEN] = ""; + int len_max = 120; + int len_pre = strlen(prestr); + int len_url = strlen(url); + + strncpy(s, prestr, len_pre); + if(len_pre + len_url < len_max) { + strncpy(s+len_pre, url, len_url); + } + else { + int len_part = len_max - len_pre - 10; + strncpy(s+len_pre, url, len_part ); + strncpy(s+len_pre+len_part, "...", MAX_STRING_LEN-len_pre-len_part-1); + strncpy(s+len_pre+len_part+3, url+len_url-7, 7); + } + prctl(PR_TASK_PERF_USER_TRACE, s, strlen(s)); +} + +static void prctl_with_url_and_free(const char *prestr, char *url) +{ + prctl_with_url(prestr, url); + g_free(url); +} +#endif #define HOST_KEEP_ALIVE 5 * 60 * 1000 /* 5 min in msecs */ +#if ENABLE(TIZEN_CERTIFICATE_FILE_SET) +#define SET_TLS_CERT_FILE_TIMEOUT 7 * 1000 /* msecs */ +#endif /** * SECTION:soup-session @@ -127,7 +167,13 @@ typedef struct { SoupURI *proxy_uri; char **http_aliases, **https_aliases; - +#if ENABLE(TIZEN_CERTIFICATE_FILE_SET) + GSource *tls_idle_timeout_src; + char *certificate_path; +#endif +#if ENABLE(TIZEN_TV_CLIENT_CERTIFICATE) + gboolean widget_engine; +#endif GHashTable *request_types; } SoupSessionPrivate; #define SOUP_SESSION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SOUP_TYPE_SESSION, SoupSessionPrivate)) @@ -197,10 +243,24 @@ enum { PROP_HTTP_ALIASES, PROP_HTTPS_ALIASES, PROP_LOCAL_ADDRESS, +#if ENABLE(TIZEN_CERTIFICATE_FILE_SET) + PROP_CERTIFICATE_PATH, +#endif +#if ENABLE(TIZEN_TV_CLIENT_CERTIFICATE) + PROP_WIDGET_ENGINE, +#endif LAST_PROP }; +#if ENABLE(TIZEN_TV_FORCE_PRELOAD_TLSDB) +// Preload TLS database. Allow to load the TLS database in background. +static GTlsDatabase *_gTlsDB = NULL; +static gchar *_gTlsDB_path = NULL; +static GMutex _gTlsDB_lock; +static void soup_preload_tls_database (const gchar *path); +#endif + static void soup_session_init (SoupSession *session) { @@ -246,6 +306,10 @@ soup_session_init (SoupSession *session) priv->http_aliases = g_new (char *, 2); priv->http_aliases[0] = (char *)g_intern_string ("*"); priv->http_aliases[1] = NULL; +#if ENABLE(TIZEN_CERTIFICATE_FILE_SET) + priv->tls_idle_timeout_src = NULL; + priv->certificate_path = NULL; +#endif priv->request_types = g_hash_table_new (soup_str_case_hash, soup_str_case_equal); @@ -336,6 +400,11 @@ soup_session_finalize (GObject *object) g_clear_object (&priv->tlsdb); g_free (priv->ssl_ca_file); +#if ENABLE(TIZEN_CERTIFICATE_FILE_SET) + soup_session_tls_stop_idle_timer (session); + g_free (priv->certificate_path); + priv->certificate_path = NULL; +#endif g_clear_pointer (&priv->async_context, g_main_context_unref); g_clear_object (&priv->local_addr); @@ -715,6 +784,32 @@ soup_session_set_property (GObject *object, guint prop_id, case PROP_HTTPS_ALIASES: set_aliases (&priv->https_aliases, g_value_get_boxed (value)); break; +#if ENABLE(TIZEN_CERTIFICATE_FILE_SET) + case PROP_CERTIFICATE_PATH: + if (priv->certificate_path) { + g_free (priv->certificate_path); + priv->certificate_path = NULL; + } + if (g_value_get_string (value) && strlen (g_value_get_string (value))) + priv->certificate_path = g_strdup (g_value_get_string (value)); +#if ENABLE(TIZEN_DLOG) + TIZEN_LOGI ("set_property() PROP_CERTIFICATE_PATH priv->certificate_path is set"); + TIZEN_LOGI ("set_property() PROP_CERTIFICATE_PATH priv->certificate_path is set [%s]", priv->certificate_path); +#endif + if (priv->certificate_path) +#if ENABLE(TIZEN_TV_FORCE_PRELOAD_TLSDB) + //Trigger loading of the TLS database. The load is done in a thread. + soup_preload_tls_database(priv->certificate_path); +#else + soup_session_tls_start_idle_timer(session, SET_TLS_CERT_FILE_TIMEOUT); +#endif + break; +#endif +#if ENABLE(TIZEN_TV_CLIENT_CERTIFICATE) + case PROP_WIDGET_ENGINE: + priv->widget_engine = g_value_get_boolean (value); + break; +#endif default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; @@ -818,6 +913,19 @@ soup_session_get_property (GObject *object, guint prop_id, case PROP_HTTPS_ALIASES: g_value_set_boxed (value, priv->https_aliases); break; +#if ENABLE(TIZEN_CERTIFICATE_FILE_SET) + case PROP_CERTIFICATE_PATH: +#if ENABLE(TIZEN_DLOG) + TIZEN_LOGI ("get_property() PROP_CERTIFICATE_PATH"); +#endif + g_value_set_string (value, priv->certificate_path); + break; +#endif +#if ENABLE(TIZEN_TV_CLIENT_CERTIFICATE) + case PROP_WIDGET_ENGINE: + g_value_set_boolean (value, priv->widget_engine); + break; +#endif default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; @@ -1004,15 +1112,29 @@ auth_manager_authenticate (SoupAuthManager *manager, SoupMessage *msg, SoupAuth *auth, gboolean retrying, gpointer session) { +#if ENABLE(TIZEN_ON_AUTHENTICATION_REQUESTED) + soup_message_authenticate(msg, auth, retrying); +#endif g_signal_emit (session, signals[AUTHENTICATE], 0, msg, auth, retrying); } +#if ENABLE(TIZEN_HANDLING_307_REDIRECTION) +#define SOUP_SESSION_WOULD_REDIRECT_AS_GET(session, msg) \ + ((msg)->status_code == SOUP_STATUS_SEE_OTHER || \ + ((msg)->status_code == SOUP_STATUS_FOUND && \ + !SOUP_METHOD_IS_SAFE ((msg)->method)) || \ + ((msg)->status_code == SOUP_STATUS_TEMPORARY_REDIRECT && \ + (msg)->method == SOUP_METHOD_GET) || \ + ((msg)->status_code == SOUP_STATUS_MOVED_PERMANENTLY && \ + (msg)->method == SOUP_METHOD_POST)) +#else #define SOUP_SESSION_WOULD_REDIRECT_AS_GET(session, msg) \ ((msg)->status_code == SOUP_STATUS_SEE_OTHER || \ ((msg)->status_code == SOUP_STATUS_FOUND && \ !SOUP_METHOD_IS_SAFE ((msg)->method)) || \ ((msg)->status_code == SOUP_STATUS_MOVED_PERMANENTLY && \ (msg)->method == SOUP_METHOD_POST)) +#endif #define SOUP_SESSION_WOULD_REDIRECT_AS_SAFE(session, msg) \ (((msg)->status_code == SOUP_STATUS_MOVED_PERMANENTLY || \ @@ -1020,6 +1142,12 @@ auth_manager_authenticate (SoupAuthManager *manager, SoupMessage *msg, (msg)->status_code == SOUP_STATUS_FOUND) && \ SOUP_METHOD_IS_SAFE ((msg)->method)) +#if ENABLE(TIZEN_HANDLING_307_REDIRECTION) +#define SOUP_SESSION_WOULD_REDIRECT_AS_POST(session, msg) \ + ((msg)->status_code == SOUP_STATUS_TEMPORARY_REDIRECT && \ + (msg)->method == SOUP_METHOD_POST) +#endif + static inline SoupURI * redirection_uri (SoupMessage *msg) { @@ -1061,7 +1189,11 @@ soup_session_would_redirect (SoupSession *session, SoupMessage *msg) /* It must have an appropriate status code and method */ if (!SOUP_SESSION_WOULD_REDIRECT_AS_GET (session, msg) && - !SOUP_SESSION_WOULD_REDIRECT_AS_SAFE (session, msg)) + !SOUP_SESSION_WOULD_REDIRECT_AS_SAFE (session, msg) +#if ENABLE(TIZEN_HANDLING_307_REDIRECTION) + && !SOUP_SESSION_WOULD_REDIRECT_AS_POST (session, msg) +#endif + ) return FALSE; /* and a Location header that parses to an http URI */ @@ -1167,6 +1299,31 @@ re_emit_connection_event (SoupConnection *conn, soup_message_network_event (item->msg, event, connection); } +#if ENABLE(TIZEN_TV_DYNAMIC_CERTIFICATE_LOADING) +const char* +re_emit_connection_dynamic_client_certificate (SoupConnection *conn, + const char* current_host, + gpointer user_data) +{ + SoupMessageQueueItem *item = user_data; + + return soup_message_dynamic_client_certificate(item->msg, current_host); +} +#endif + +#if ENABLE(TIZEN_TV_CERTIFICATE_HANDLING) +gboolean +re_emit_connection_accept_certificate (SoupConnection *conn, + GTlsCertificate* certificate, + GTlsCertificateFlags errors, + gpointer user_data) +{ + SoupMessageQueueItem *item = user_data; + + return soup_message_accept_certificate(item->msg, certificate, errors); +} +#endif + static void soup_session_set_item_connection (SoupSession *session, SoupMessageQueueItem *item, @@ -1184,6 +1341,16 @@ soup_session_set_item_connection (SoupSession *session, g_object_ref (item->conn); g_signal_connect (item->conn, "event", G_CALLBACK (re_emit_connection_event), item); +#if ENABLE(TIZEN_TV_DYNAMIC_CERTIFICATE_LOADING) + if (item->msg->method != SOUP_METHOD_CONNECT) + g_signal_connect (item->conn, "dynamic-certificatePath", + G_CALLBACK (re_emit_connection_dynamic_client_certificate), item); +#endif +#if ENABLE(TIZEN_TV_CERTIFICATE_HANDLING) + if (item->msg->method != SOUP_METHOD_CONNECT) + g_signal_connect (item->conn, "accept-certificate", + G_CALLBACK (re_emit_connection_accept_certificate), item); +#endif } } @@ -1744,17 +1911,37 @@ get_connection_for_host (SoupSession *session, conn = conns->data; if (!need_new_connection && soup_connection_get_state (conn) == SOUP_CONNECTION_IDLE) { +#if ENABLE(TIZEN_TV_CREATE_IDLE_TCP_CONNECTION) + soup_connection_set_current_item (conns->data, item); +#endif soup_connection_set_state (conn, SOUP_CONNECTION_IN_USE); return conn; } else if (soup_connection_get_state (conn) == SOUP_CONNECTION_CONNECTING) +#if ENABLE(TIZEN_TV_CREATE_IDLE_TCP_CONNECTION) + { + if (!soup_connection_has_current_item (conns->data)) { + soup_connection_set_current_item (conns->data, item); + g_mutex_unlock (&priv->conn_lock); + item->conn = g_object_ref (conns->data); + return item->conn; + } else { +#endif num_pending++; +#if ENABLE(TIZEN_TV_CREATE_IDLE_TCP_CONNECTION) + } + } +#endif } /* Limit the number of pending connections; num_messages / 2 * is somewhat arbitrary... */ +#if ENABLE(TIZEN_UNLIMITED_PENDING_CONNECTIONS) + /* FIXME: What should we do here exactly? */ +#else if (num_pending > host->num_messages / 2) return NULL; +#endif if (host->num_conns >= priv->max_conns_per_host) { if (need_new_connection) @@ -1776,6 +1963,9 @@ get_connection_for_host (SoupSession *session, SOUP_CONNECTION_PROXY_RESOLVER, proxy_resolver, SOUP_CONNECTION_SSL, soup_uri_is_https (soup_message_get_uri (item->msg), priv->https_aliases), SOUP_CONNECTION_SSL_CREDENTIALS, tlsdb, +#if ENABLE(TIZEN_TV_CLIENT_CERTIFICATE) + SOUP_CONNECTION_WIDGET_ENGINE, priv->widget_engine, +#endif SOUP_CONNECTION_SSL_STRICT, priv->ssl_strict && (tlsdb != NULL || SOUP_IS_PLAIN_SESSION (session)), SOUP_CONNECTION_ASYNC_CONTEXT, priv->async_context, SOUP_CONNECTION_USE_THREAD_CONTEXT, priv->use_thread_context, @@ -1809,6 +1999,9 @@ get_connection_for_host (SoupSession *session, host->keep_alive_src = NULL; } +#if ENABLE(TIZEN_TV_CREATE_IDLE_TCP_CONNECTION) + soup_connection_set_current_item (conn, item); +#endif return conn; } @@ -1859,6 +2052,14 @@ get_connection (SoupMessageQueueItem *item, gboolean *should_cleanup) soup_session_set_item_connection (session, item, conn); +#if ENABLE(TIZEN_TV_CREATE_IDLE_TCP_CONNECTION) + if (soup_connection_get_state (item->conn) == SOUP_CONNECTION_CONNECTING) { + item->state = SOUP_MESSAGE_CONNECTING; + soup_message_queue_item_ref (item); + return TRUE; + } +#endif + if (soup_connection_get_state (item->conn) != SOUP_CONNECTION_NEW) { item->state = SOUP_MESSAGE_READY; soup_message_set_https_status (item->msg, item->conn); @@ -1896,6 +2097,14 @@ soup_session_process_queue_item (SoupSession *session, switch (item->state) { case SOUP_MESSAGE_STARTING: +#if ENABLE(TIZEN_CERTIFICATE_FILE_SET) + if(soup_uri_get_scheme(soup_message_get_uri(item->msg)) == SOUP_URI_SCHEME_HTTPS){ + if (!soup_session_is_tls_db_initialized (session) && !soup_message_is_from_session_restore (item->msg)) { + soup_session_tls_stop_idle_timer(session); + soup_session_set_certificate_file(session); + } + } +#endif if (!get_connection (item, should_cleanup)) return; break; @@ -2888,6 +3097,97 @@ soup_session_get_feature_for_message (SoupSession *session, GType feature_type, return feature; } +#if ENABLE(TIZEN_CERTIFICATE_FILE_SET) + +#if ENABLE(TIZEN_TV_FORCE_PRELOAD_TLSDB) +/** + * TLS database preloader thread. + **/ +static gpointer +_preload_tlsdb_thread (gpointer p) +{ + GError* error = NULL; + + g_mutex_lock (&_gTlsDB_lock); + TIZEN_LOGI("Create new tls database by using thread."); + g_assert (_gTlsDB_path); + _gTlsDB = g_tls_file_database_new (_gTlsDB_path, &error); + g_mutex_unlock (&_gTlsDB_lock); + + return NULL; +} + +/** + * Launch the TLS database preloader thread for a specified path. + * This is a one-time function. + **/ +static void +soup_preload_tls_database (const gchar *path) +{ + g_mutex_lock (&_gTlsDB_lock); + //_gTlsDB_path is set only once. It prevent to create thread repeatedly. + //So keep the value of _gTlsDB_path. + if (!_gTlsDB_path) { + _gTlsDB_path = g_strdup (path); + if (_gTlsDB_path) + g_thread_new ("TLS Preloader", _preload_tlsdb_thread, NULL); + } + g_mutex_unlock (&_gTlsDB_lock); +} +#endif + +void soup_session_set_certificate_file(SoupSession *session) +{ + SoupSessionPrivate *priv = SOUP_SESSION_GET_PRIVATE (session); + + TIZEN_LOGI (""); + + if (!priv->certificate_path) { + TIZEN_LOGI("priv->certificate_path is NULL, return!!"); + return; + } + + if (!priv->tlsdb) { + + GError* error = NULL; + GTlsDatabase* tlsdb = NULL; + +#if ENABLE(TIZEN_TV_FORCE_PRELOAD_TLSDB) + TIZEN_LOGI("Begin to handle TLS database."); + g_mutex_lock (&_gTlsDB_lock); + //Check whether certificate_path is the same as the path used by pre-load TLS DB. + if ((_gTlsDB) && (!g_strcmp0(_gTlsDB_path, priv->certificate_path))) { + TIZEN_LOGI("Use tls database which is created by thread."); + tlsdb = g_object_ref(_gTlsDB); // Take a reference to the global DB. + _gTlsDB = NULL; + } else { + tlsdb = g_tls_file_database_new (priv->certificate_path, &error); + } + g_mutex_unlock (&_gTlsDB_lock); +#else + TIZEN_LOGI ("g_tls_file_database_new() is called. START"); + tlsdb = g_tls_file_database_new(priv->certificate_path, &error); + TIZEN_LOGI ("g_tls_file_database_new() is called. END"); + TIZEN_LOGI ("g_tls_file_database_new() is called. [%s]", priv->certificate_path); +#endif + + if (!error && tlsdb) { +#if ENABLE(TIZEN_DLOG) + TIZEN_LOGI ("g_tls_file_database_new() is success. no error call set_tlsdb()."); +#endif + set_tlsdb (session, tlsdb); + } + + if (tlsdb) + g_object_unref (tlsdb); + if (priv->certificate_path) { + g_free (priv->certificate_path); + priv->certificate_path = NULL; + } + } +} +#endif + static void soup_session_class_init (SoupSessionClass *session_class) { @@ -3711,6 +4011,42 @@ soup_session_class_init (SoupSessionClass *session_class) "Address of local end of socket", SOUP_TYPE_ADDRESS, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + +#if ENABLE(TIZEN_CERTIFICATE_FILE_SET) + /** + * SOUP_SESSION_CERTIFICATE_PATH + * SoupSession:certificate-path: + * + * Set the certificate path for soup session + * + */ + g_object_class_install_property ( + object_class, PROP_CERTIFICATE_PATH, + g_param_spec_string (SOUP_SESSION_CERTIFICATE_PATH, + "certificate file path", + "Set the ca-certificate.crt file path", + NULL, + G_PARAM_READWRITE)); +#endif + +#if ENABLE(TIZEN_TV_CLIENT_CERTIFICATE) + /** + * SOUP_SESSION_USE_WIDGETENGINE: + * + * Alias for the #SoupSession:widget-engine property. + * + **/ + + g_object_class_install_property ( + object_class, PROP_WIDGET_ENGINE, + g_param_spec_boolean (SOUP_SESSION_WIDGET_ENGINE, + "widget engine", + "Whether or not to be running Widget Engine", + FALSE, + G_PARAM_READWRITE)); + + +#endif } @@ -4062,6 +4398,9 @@ async_respond_from_cache (SoupSession *session, GInputStream *stream; GSource *source; +#if ENABLE(TIZEN_PERFORMANCE_TEST_LOG) + prctl_with_url_and_free("[EVT] soup_use_cache1 (file cache) : ", soup_uri_to_string(soup_message_get_uri(item->msg), TRUE)); +#endif stream = soup_cache_send_response (cache, item->msg); if (!stream) { /* Cached file was deleted? */ @@ -4080,6 +4419,9 @@ async_respond_from_cache (SoupSession *session, AsyncCacheCancelData *data; gulong handler_id; +#if ENABLE(TIZEN_PERFORMANCE_TEST_LOG) + prctl_with_url_and_free("[EVT] soup_use_cache2-1 (conditional) : ", soup_uri_to_string(soup_message_get_uri(item->msg), TRUE)); +#endif conditional_msg = soup_cache_generate_conditional_request (cache, item->msg); if (!conditional_msg) return FALSE; @@ -4099,8 +4441,12 @@ async_respond_from_cache (SoupSession *session, return TRUE; - } else + } else { +#if ENABLE(TIZEN_PERFORMANCE_TEST_LOG) + prctl_with_url_and_free("[EVT] soup_cache_stale : ", soup_uri_to_string(soup_message_get_uri(item->msg), TRUE)); +#endif return FALSE; + } } /** @@ -4139,6 +4485,9 @@ soup_session_send_async (SoupSession *session, { SoupMessageQueueItem *item; gboolean use_thread_context; +#if ENABLE(TIZEN_TV_IMMEDIATE_REQUESTING) + gboolean should_prune = FALSE; +#endif g_return_if_fail (SOUP_IS_SESSION (session)); g_return_if_fail (!SOUP_IS_SESSION_SYNC (session)); @@ -4175,7 +4524,17 @@ soup_session_send_async (SoupSession *session, if (async_respond_from_cache (session, item)) item->state = SOUP_MESSAGE_CACHED; else +#if ENABLE(TIZEN_TV_IMMEDIATE_REQUESTING) + { + /* CONNECT messages are handled specially */ + if (item->msg->method != SOUP_METHOD_CONNECT) { + soup_session_process_queue_item (session, item, &should_prune, TRUE); + } +#endif soup_session_kick_queue (session); +#if ENABLE(TIZEN_TV_IMMEDIATE_REQUESTING) + } +#endif } /** @@ -4556,3 +4915,178 @@ soup_request_error_quark (void) error = g_quark_from_static_string ("soup_request_error_quark"); return error; } + +#if ENABLE(TIZEN_CERTIFICATE_FILE_SET) +static gboolean +set_tls_certificate_file (gpointer session) +{ + TIZEN_LOGI(""); + soup_session_set_certificate_file(session); + + return FALSE; +} + +void +soup_session_tls_start_idle_timer (SoupSession *session, guint idle_timeout) +{ + SoupSessionPrivate *priv = SOUP_SESSION_GET_PRIVATE (session); + + TIZEN_LOGI ("timeout[%d]", idle_timeout); + if (priv && idle_timeout > 0 && !priv->tls_idle_timeout_src) { + priv->tls_idle_timeout_src = + soup_add_timeout (priv->async_context, + idle_timeout, + set_tls_certificate_file, session); + } +} + +void +soup_session_tls_stop_idle_timer (SoupSession *session) +{ + SoupSessionPrivate *priv = SOUP_SESSION_GET_PRIVATE (session); + + TIZEN_LOGI (""); + if (priv && priv->tls_idle_timeout_src) { + if (!g_source_is_destroyed (priv->tls_idle_timeout_src)) { + TIZEN_LOGI("g_source isn't NULL."); + /* Adding log to cross check if MainContext exists */ + TIZEN_LOGE("GMainContext of priv->tls_idle_timeout_src" + " is %p", priv->async_context); + if(priv->async_context) + g_source_destroy (priv->tls_idle_timeout_src); + } + priv->tls_idle_timeout_src = NULL; + } +} + +gboolean +soup_session_is_tls_db_initialized (SoupSession *session) +{ + SoupSessionPrivate *priv = SOUP_SESSION_GET_PRIVATE (session); + if (priv && priv->tlsdb) + return TRUE; + return FALSE; +} +#endif + +#if ENABLE(TIZEN_TV_CREATE_IDLE_TCP_CONNECTION) + +static SoupConnection * +get_pre_connection_with_uri (SoupSession *session, SoupURI *uri) +{ + SoupSessionPrivate *priv = SOUP_SESSION_GET_PRIVATE (session); + SoupConnection *conn = NULL; + SoupSessionHost *host = NULL; + + if (!priv) + return NULL; + + g_mutex_lock (&priv->conn_lock); + host = get_host_for_uri (session, uri); + if (host->num_conns >= priv->max_conns_per_host) { + g_mutex_unlock (&priv->conn_lock); + return NULL; + } + + if (priv->num_conns >= priv->max_conns) { + g_mutex_unlock (&priv->conn_lock); + return NULL; + } + + conn = g_object_new ( + SOUP_TYPE_CONNECTION, + SOUP_CONNECTION_REMOTE_URI, host->uri, + SOUP_CONNECTION_PROXY_RESOLVER, get_proxy_resolver (session), + SOUP_CONNECTION_SSL, soup_uri_is_https (uri, priv->https_aliases), + SOUP_CONNECTION_SSL_CREDENTIALS, get_tls_database (session), + SOUP_CONNECTION_WIDGET_ENGINE, priv->widget_engine, + SOUP_CONNECTION_SSL_STRICT, priv->ssl_strict && (priv->tlsdb != NULL || SOUP_IS_PLAIN_SESSION (session)), + SOUP_CONNECTION_ASYNC_CONTEXT, priv->async_context, + SOUP_CONNECTION_USE_THREAD_CONTEXT, priv->use_thread_context, + SOUP_CONNECTION_TIMEOUT, priv->io_timeout, + SOUP_CONNECTION_IDLE_TIMEOUT, priv->idle_timeout, + SOUP_CONNECTION_SSL_FALLBACK, host->ssl_fallback, + SOUP_CONNECTION_LOCAL_ADDRESS, priv->local_addr, + NULL); + + g_signal_connect (conn, "disconnected", + G_CALLBACK (connection_disconnected), + session); + g_signal_emit (session, signals[CONNECTION_CREATED], 0, conn); + priv->num_conns++; + host->num_conns++; + if (host->keep_alive_src) { + g_source_destroy (host->keep_alive_src); + g_source_unref (host->keep_alive_src); + host->keep_alive_src = NULL; + } + g_mutex_unlock (&priv->conn_lock); + return g_object_ref (conn); +} + +static void +got_pre_connection (GObject *object, GAsyncResult *result, gpointer user_data) +{ + SoupConnection *conn = SOUP_CONNECTION (object); + SoupSession *session = user_data; + SoupSessionPrivate *priv = SOUP_SESSION_GET_PRIVATE (session); + GError *error = NULL; + SoupSocket *sock = NULL; + SoupURI *uri = NULL; + SoupSessionHost *host = NULL; + + soup_connection_connect_finish (conn, result, &error); + sock = soup_connection_get_socket (conn); + if (sock && soup_socket_is_ssl (sock)) { + GTlsCertificateFlags errors; + g_object_get (sock, + SOUP_SOCKET_TLS_ERRORS, + &errors, + NULL); + } + if (!error && priv) { + g_mutex_lock (&priv->conn_lock); + soup_connection_set_pre_connect_idle (conn); + g_object_get (G_OBJECT (conn), + SOUP_CONNECTION_REMOTE_URI, + &uri, + NULL); + host = get_host_for_uri (session, uri); + g_hash_table_insert (priv->conns, conn, host); + host->connections = g_slist_prepend (host->connections, conn); + soup_uri_free(uri); + g_mutex_unlock (&priv->conn_lock); + } else + soup_connection_disconnect (conn); + +} +static gboolean +pre_connection_accept_certificate (SoupConnection *conn, + GTlsCertificate* certificate, + GTlsCertificateFlags errors, + gpointer user_data) +{ + SoupSession* session = (SoupSession*)user_data; + SoupSessionPrivate *priv = SOUP_SESSION_GET_PRIVATE (session); + + if (!priv) + return FALSE; + + if (priv->widget_engine) + return (errors & (G_TLS_CERTIFICATE_UNKNOWN_CA | G_TLS_CERTIFICATE_BAD_IDENTITY | G_TLS_CERTIFICATE_REVOKED | G_TLS_CERTIFICATE_INSECURE | G_TLS_CERTIFICATE_GENERIC_ERROR)) ? FALSE : TRUE; + + return TRUE; +} + +void soup_session_create_idle_connection(SoupSession *session, SoupURI* pre_uri) +{ + SoupConnection * pre_conn = NULL; + pre_conn = get_pre_connection_with_uri(session, pre_uri); + + if (pre_conn) { + g_signal_connect (pre_conn, "accept-certificate", + G_CALLBACK (pre_connection_accept_certificate), session); + soup_connection_connect_async(pre_conn, NULL, got_pre_connection, session); + } +} +#endif diff --git a/libsoup/soup-session.h b/libsoup/soup-session.h old mode 100644 new mode 100755 index 67a59ea..a391f7c --- a/libsoup/soup-session.h +++ b/libsoup/soup-session.h @@ -82,6 +82,12 @@ GType soup_session_get_type (void); #define SOUP_SESSION_REMOVE_FEATURE_BY_TYPE "remove-feature-by-type" #define SOUP_SESSION_HTTP_ALIASES "http-aliases" #define SOUP_SESSION_HTTPS_ALIASES "https-aliases" +/*#if ENABLE(TIZEN_CERTIFICATE_FILE_SET)*/ +#define SOUP_SESSION_CERTIFICATE_PATH "certificate-path" +/*#endif*/ +//#if ENABLE(TIZEN_TV_CLIENT_CERTIFICATE) +#define SOUP_SESSION_WIDGET_ENGINE "widget-engine" +//#endif SOUP_AVAILABLE_IN_2_42 SoupSession *soup_session_new (void); @@ -193,6 +199,13 @@ SoupRequestHTTP *soup_session_request_http_uri (SoupSession *session, const char *method, SoupURI *uri, GError **error); +//#if ENABLE(TIZEN_TV_CERTIFICATE_HANDLING) +gboolean +re_emit_connection_accept_certificate (SoupConnection *conn, + GTlsCertificate *certificate, + GTlsCertificateFlags errors, + gpointer user_data); +//#endif SOUP_AVAILABLE_IN_2_42 GQuark soup_request_error_quark (void); @@ -205,6 +218,17 @@ typedef enum { SOUP_REQUEST_ERROR_ENCODING } SoupRequestError; +//#if ENABLE(TIZEN_TV_DYNAMIC_CERTIFICATE_LOADING) +const char* +re_emit_connection_dynamic_client_certificate (SoupConnection *conn, + const char* current_host, + gpointer user_data); +//#endif +//#if ENABLE(TIZEN_TV_CREATE_IDLE_TCP_CONNECTION) +void +soup_session_create_idle_connection(SoupSession *session, SoupURI *uri); +//#endif + G_END_DECLS #endif /* SOUP_SESSION_H */ diff --git a/libsoup/soup-socket.c b/libsoup/soup-socket.c old mode 100644 new mode 100755 index b9f1dfc..15402bb --- a/libsoup/soup-socket.c +++ b/libsoup/soup-socket.c @@ -18,6 +18,37 @@ #include "soup-filter-input-stream.h" #include "soup-io-stream.h" #include "soup-misc-private.h" +#include "TIZEN.h" + +#if ENABLE(TIZEN_PERFORMANCE_TEST_LOG) +#include +#ifndef PR_TASK_PERF_USER_TRACE +#define PR_TASK_PERF_USER_TRACE 666 +#endif + +#define MAX_STRING_LEN 256 +#define HWCLOCK_LOG(s) {const char *str=s; prctl(PR_TASK_PERF_USER_TRACE, str, strlen(str));} + +static void prctl_with_url(const char *prestr, const char *url) +{ + char s[MAX_STRING_LEN] = ""; + int len_max = 120; + int len_pre = strlen(prestr); + int len_url = strlen(url); + + strncpy(s, prestr, len_pre); + if(len_pre + len_url < len_max) { + strncpy(s+len_pre, url, len_url); + } + else { + int len_part = len_max - len_pre - 10; + strncpy(s+len_pre, url, len_part); + strncpy(s+len_pre+len_part, "...", MAX_STRING_LEN-len_pre-len_part-1); + strncpy(s+len_pre+len_part+3, url+len_url-7, 7); + } + prctl(PR_TASK_PERF_USER_TRACE, s, strlen(s)); +} +#endif /** * SECTION:soup-socket @@ -37,6 +68,13 @@ enum { DISCONNECTED, NEW_CONNECTION, EVENT, +#if ENABLE(TIZEN_TV_DYNAMIC_CERTIFICATE_LOADING) + DYNAMIC_CERTIFICATEPATH, +#endif +#if ENABLE(TIZEN_TV_CERTIFICATE_HANDLING) + ACCEPT_CERTIFICATE, +#endif + LAST_SIGNAL }; @@ -60,6 +98,9 @@ enum { PROP_TLS_CERTIFICATE, PROP_TLS_ERRORS, PROP_PROXY_RESOLVER, +#if ENABLE(TIZEN_TV_CLIENT_CERTIFICATE) + PROP_WIDGET_ENGINE, +#endif LAST_PROP }; @@ -90,7 +131,21 @@ typedef struct { guint timeout; GCancellable *connect_cancel; +#if ENABLE(TIZEN_TV_CLIENT_CERTIFICATE) + gboolean widget_engine; + gchar **cert_lists; + gchar **default_cert_lists; +#endif +#if ENABLE(TIZEN_TV_CERTIFICATE_HANDLING) + gboolean acceptedCertificate; +#endif } SoupSocketPrivate; + +#if ENABLE(TIZEN_TV_CLIENT_CERTIFICATE) +#define CERT_LIST_FILE "/usr/share/clientcert/ClientCertList" +#define DEFAULT_CERT_FILE "/usr/share/clientcert/DefaultClientCertList" +#endif + #define SOUP_SOCKET_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SOUP_TYPE_SOCKET, SoupSocketPrivate)) static void soup_socket_peer_certificate_changed (GObject *conn, @@ -103,6 +158,13 @@ soup_socket_init (SoupSocket *sock) SoupSocketPrivate *priv = SOUP_SOCKET_GET_PRIVATE (sock); priv->non_blocking = TRUE; +#if ENABLE(TIZEN_TV_CLIENT_CERTIFICATE) + priv->cert_lists = NULL; + priv->default_cert_lists = NULL; +#endif +#if ENABLE(TIZEN_TV_CERTIFICATE_HANDLING) + priv->acceptedCertificate = FALSE; +#endif g_mutex_init (&priv->addrlock); g_mutex_init (&priv->iolock); } @@ -131,6 +193,13 @@ soup_socket_finalize (GObject *object) { SoupSocketPrivate *priv = SOUP_SOCKET_GET_PRIVATE (object); +#if ENABLE(TIZEN_TV_CLIENT_CERTIFICATE) + if (priv->cert_lists) + g_strfreev (priv->cert_lists); + if (priv->default_cert_lists) + g_strfreev (priv->default_cert_lists); +#endif + if (priv->connect_cancel) { if (priv->clean_dispose) g_warning ("Disposing socket %p during connect", object); @@ -229,6 +298,11 @@ soup_socket_set_property (GObject *object, guint prop_id, case PROP_CLEAN_DISPOSE: priv->clean_dispose = g_value_get_boolean (value); break; +#if ENABLE(TIZEN_TV_CLIENT_CERTIFICATE) + case PROP_WIDGET_ENGINE: + priv->widget_engine = g_value_get_boolean (value); + break; +#endif default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; @@ -287,6 +361,11 @@ soup_socket_get_property (GObject *object, guint prop_id, case PROP_PROXY_RESOLVER: g_value_set_object (value, priv->proxy_resolver); break; +#if ENABLE(TIZEN_TV_CLIENT_CERTIFICATE) + case PROP_WIDGET_ENGINE: + g_value_set_boolean (value, priv->widget_engine); + break; +#endif default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; @@ -398,6 +477,29 @@ soup_socket_class_init (SoupSocketClass *socket_class) G_TYPE_SOCKET_CLIENT_EVENT, G_TYPE_IO_STREAM); +#if ENABLE(TIZEN_TV_DYNAMIC_CERTIFICATE_LOADING) + signals[DYNAMIC_CERTIFICATEPATH] = + g_signal_new ("dynamic-certificatePath", + G_OBJECT_CLASS_TYPE (object_class), + G_SIGNAL_RUN_LAST, + 0, + NULL, NULL, + NULL, + G_TYPE_POINTER, 1, + G_TYPE_POINTER); +#endif +#if ENABLE(TIZEN_TV_CERTIFICATE_HANDLING) + signals[ACCEPT_CERTIFICATE] = + g_signal_new ("accept-certificate", + G_OBJECT_CLASS_TYPE (object_class), + G_SIGNAL_RUN_LAST, + 0, + NULL, NULL, + NULL, + G_TYPE_BOOLEAN, 2, + G_TYPE_TLS_CERTIFICATE, + G_TYPE_TLS_CERTIFICATE_FLAGS); +#endif /* properties */ /** @@ -628,8 +730,122 @@ soup_socket_class_init (SoupSocketClass *socket_class) "GProxyResolver to use", G_TYPE_PROXY_RESOLVER, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + +#if ENABLE(TIZEN_TV_CLIENT_CERTIFICATE) + /** + * SOUP_SOCKET_WIDGET_ENGINE: + * + * Alias for the #SoupSocket:widget-engine property. + **/ + g_object_class_install_property ( + object_class, PROP_WIDGET_ENGINE, + g_param_spec_boolean (SOUP_SOCKET_WIDGET_ENGINE, + "widget engine", + "Whether or not to be running Widget Engine", + FALSE, + G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); +#endif +} + +#if ENABLE(TIZEN_TV_CLIENT_CERTIFICATE) || ENABLE(TIZEN_TV_DYNAMIC_CERTIFICATE_LOADING) +static GTlsCertificate * +soup_make_client_certificate(gchar* cert_file, gchar* key_file) +{ + GTlsCertificate* cert = NULL; + GError* pGError = NULL; + + if (access (cert_file, 4) == 0 && access (key_file, 4) == 0) { + cert = g_tls_certificate_new_from_files (cert_file, key_file, &pGError); + if (!cert) { + if (pGError) { + g_warning ("Could not read SSL certificate from : %s", pGError->message); + g_error_free (pGError); + } + } + } else + g_warning ("Could not acess cert=%s, key=%s\n", cert_file, key_file); + + return cert; +} +#endif + +#if ENABLE(TIZEN_TV_CLIENT_CERTIFICATE) +static GTlsCertificate * +soup_get_client_certificate(SoupSocket *sock, const char* ssl_host, gchar*** cert_list, const char* client_cert_list) +{ + SoupSocketPrivate *priv = SOUP_SOCKET_GET_PRIVATE (sock); + GTlsCertificate* cert = NULL; + GError* pGError = NULL; + gsize cert_list_len; + gchar* cert_file = NULL; + gchar* key_file = NULL; + int i; + + if (!ssl_host || !ssl_host[0] || !priv) + return NULL; + if (!*cert_list) { + gchar *cert_list_file = NULL; + if (!g_file_get_contents (client_cert_list, &cert_list_file, &cert_list_len, &pGError) || pGError) { + g_warning ("Could not get certificate list of [%s] : %s", client_cert_list, pGError->message); + g_error_free (pGError); + return NULL; + } + + if (!cert_list_file) + return NULL; + /* keep certficate list's infomation */ + *cert_list = g_strsplit (cert_list_file, ",", 0); + g_free (cert_list_file); + } + + for (i = 0; (*cert_list)[i]; i++) { + gchar **path = g_strsplit ((*cert_list)[i], ":", 0); + + /* verify format (url:certpath:keypath) */ + if (path[0] && path[1] && path[2]) { + /* remove white space */ + g_strstrip(path[0]); + g_strstrip(path[1]); + g_strstrip(path[2]); + /* compare url pattern */ + if (strstr (ssl_host, path[0]) || !g_strcmp0(path[0], "*")) { + cert_file = g_strdup (path[1]); + key_file =g_strdup (path[2]); + g_strfreev (path); + break; + } + } + g_strfreev (path); + } + + if (!cert_file || !key_file) + return NULL; + + cert = soup_make_client_certificate(cert_file, key_file); + + g_free (cert_file); + g_free (key_file); + return cert; } +#endif +#if ENABLE(TIZEN_TV_DYNAMIC_CERTIFICATE_LOADING) +static GTlsCertificate *soup_get_dynamic_client_certificate(SoupSocket *sock, const char* ssl_host) +{ + SoupSocket *soupSock = sock; + GTlsCertificate* dynamic_cert = NULL; + GError* pGError = NULL; + const char* get_certpath = NULL; + + g_signal_emit (sock, signals[DYNAMIC_CERTIFICATEPATH], 0, ssl_host, &get_certpath); + TIZEN_LOGI("Get Certpath[%s] \n", get_certpath); + + if (!get_certpath) + return NULL; + + return soup_make_client_certificate(get_certpath, get_certpath); +} +#endif /** * soup_socket_new: @@ -1092,7 +1308,12 @@ soup_socket_peer_certificate_changed (GObject *conn, GParamSpec *pspec, { SoupSocketPrivate *priv = SOUP_SOCKET_GET_PRIVATE (sock); +#if ENABLE(TIZEN_TV_CERTIFICATE_HANDLING) + if (!priv->acceptedCertificate) + priv->tls_errors = g_tls_connection_get_peer_certificate_errors (G_TLS_CONNECTION (priv->conn)); +#else priv->tls_errors = g_tls_connection_get_peer_certificate_errors (G_TLS_CONNECTION (priv->conn)); +#endif g_object_notify (sock, "tls-certificate"); g_object_notify (sock, "tls-errors"); @@ -1102,7 +1323,25 @@ static gboolean soup_socket_accept_certificate (GTlsConnection *conn, GTlsCertificate *cert, GTlsCertificateFlags errors, gpointer sock) { +#if ENABLE(TIZEN_TV_CERTIFICATE_HANDLING) + gboolean accept = FALSE; + SoupSocket *soupSock = sock; + SoupSocketPrivate *priv = SOUP_SOCKET_GET_PRIVATE (soupSock); + + if (priv) { +#if ENABLE(TIZEN_DLOG) + TIZEN_LOGI("[Accept_Certificate] Certificate warning code is [%d], address is [%s]\n", errors, soup_address_get_name (priv->remote_addr)); +#endif + g_signal_emit (sock, signals[ACCEPT_CERTIFICATE], 0, cert, errors, &accept); +#if ENABLE(TIZEN_DLOG) + TIZEN_LOGI("[Accept_Certificate] Result is [%d].(1:ignore error; 0:not ignore)\n", accept); +#endif + priv->acceptedCertificate = accept; + } + return accept; +#else return TRUE; +#endif } static gboolean @@ -1125,16 +1364,44 @@ soup_socket_setup_ssl (SoupSocket *sock, if (!priv->is_server) { GTlsClientConnection *conn; GSocketConnectable *identity; - +#if ENABLE(TIZEN_TV_CLIENT_CERTIFICATE) || ENABLE(TIZEN_TV_DYNAMIC_CERTIFICATE_LOADING) + GTlsCertificate *cert=NULL; +#endif identity = g_network_address_new (ssl_host, 0); - conn = g_initable_new (g_tls_backend_get_client_connection_type (backend), - cancellable, error, - "base-io-stream", priv->conn, - "server-identity", identity, - "database", priv->ssl_creds, - "require-close-notify", FALSE, - "use-ssl3", priv->ssl_fallback, - NULL); + +#if ENABLE(TIZEN_TV_DYNAMIC_CERTIFICATE_LOADING) + if (!(cert = soup_get_dynamic_client_certificate (sock, ssl_host))) +#endif +#if ENABLE(TIZEN_TV_CLIENT_CERTIFICATE) + if (!priv->widget_engine || !(cert = soup_get_client_certificate(sock, ssl_host, &priv->cert_lists, CERT_LIST_FILE))) + cert = soup_get_client_certificate(sock, ssl_host, &priv->default_cert_lists, DEFAULT_CERT_FILE); +#endif + +#if ENABLE(TIZEN_TV_CLIENT_CERTIFICATE) || ENABLE(TIZEN_TV_DYNAMIC_CERTIFICATE_LOADING) + if (cert) { + conn = g_initable_new (g_tls_backend_get_client_connection_type (backend), + cancellable, error, + "base-io-stream", priv->conn, + "server-identity", identity, + "database", priv->ssl_creds, + "certificate", cert, + "require-close-notify", FALSE, + "use-ssl3", FALSE, + NULL); + + g_object_unref (cert); + } + else +#endif + conn = g_initable_new (g_tls_backend_get_client_connection_type (backend), + cancellable, error, + "base-io-stream", priv->conn, + "server-identity", identity, + "database", priv->ssl_creds, + "require-close-notify", FALSE, + "use-ssl3", priv->ssl_fallback, + NULL); + g_object_unref (identity); if (!conn) @@ -1254,6 +1521,9 @@ soup_socket_handshake_async (SoupSocket *sock, GTask *task; GError *error = NULL; +#if ENABLE(TIZEN_PERFORMANCE_TEST_LOG) + prctl_with_url("[EVT] soup handshake start : ", soup_address_get_name(priv->remote_addr)); +#endif task = g_task_new (sock, cancellable, callback, user_data); if (!soup_socket_setup_ssl (sock, ssl_host, cancellable, &error)) { @@ -1287,7 +1557,13 @@ soup_socket_handshake_finish (SoupSocket *sock, gboolean soup_socket_is_ssl (SoupSocket *sock) { - SoupSocketPrivate *priv = SOUP_SOCKET_GET_PRIVATE (sock); +#if ENABLE(TIZEN_CHECK_SOCKET_EXISTS_BEFORE_USE_IT) + SoupSocketPrivate *priv; + g_return_val_if_fail (SOUP_IS_SOCKET (sock), FALSE); + priv = SOUP_SOCKET_GET_PRIVATE (sock); +#else + SoupSocketPrivate *priv = SOUP_SOCKET_GET_PRIVATE (sock); +#endif return priv->ssl; } diff --git a/libsoup/soup-socket.h b/libsoup/soup-socket.h old mode 100644 new mode 100755 index 5c1264f..4e5e7eb --- a/libsoup/soup-socket.h +++ b/libsoup/soup-socket.h @@ -53,6 +53,10 @@ typedef struct { #define SOUP_SOCKET_TLS_CERTIFICATE "tls-certificate" #define SOUP_SOCKET_TLS_ERRORS "tls-errors" +//#if ENABLE(TIZEN_TV_CLIENT_CERTIFICATE) +#define SOUP_SOCKET_WIDGET_ENGINE "widget-engine" +//#endif + typedef void (*SoupSocketCallback) (SoupSocket *sock, guint status, gpointer user_data); diff --git a/m4/gtk-doc.m4 b/m4/gtk-doc.m4 deleted file mode 100644 index 3675543..0000000 --- a/m4/gtk-doc.m4 +++ /dev/null @@ -1,88 +0,0 @@ -dnl -*- mode: autoconf -*- - -# serial 2 - -dnl Usage: -dnl GTK_DOC_CHECK([minimum-gtk-doc-version]) -AC_DEFUN([GTK_DOC_CHECK], -[ - AC_REQUIRE([PKG_PROG_PKG_CONFIG]) - AC_BEFORE([AC_PROG_LIBTOOL],[$0])dnl setup libtool first - AC_BEFORE([AM_PROG_LIBTOOL],[$0])dnl setup libtool first - - ifelse([$1],[],[gtk_doc_requires="gtk-doc"],[gtk_doc_requires="gtk-doc >= $1"]) - AC_MSG_CHECKING([for gtk-doc]) - PKG_CHECK_EXISTS([$gtk_doc_requires],[have_gtk_doc=yes],[have_gtk_doc=no]) - AC_MSG_RESULT($have_gtk_doc) - - if test "$have_gtk_doc" = "no"; then - AC_MSG_WARN([ - You will not be able to create source packages with 'make dist' - because $gtk_doc_requires is not found.]) - fi - - dnl check for tools we added during development - dnl Use AC_CHECK_PROG to avoid the check target using an absolute path that - dnl may not be writable by the user. Currently, automake requires that the - dnl test name must end in '.test'. - dnl https://bugzilla.gnome.org/show_bug.cgi?id=701638 - AC_CHECK_PROG([GTKDOC_CHECK],[gtkdoc-check],[gtkdoc-check.test]) - AC_PATH_PROG([GTKDOC_CHECK_PATH],[gtkdoc-check]) - AC_PATH_PROGS([GTKDOC_REBASE],[gtkdoc-rebase],[true]) - AC_PATH_PROG([GTKDOC_MKPDF],[gtkdoc-mkpdf]) - - dnl for overriding the documentation installation directory - AC_ARG_WITH([html-dir], - AS_HELP_STRING([--with-html-dir=PATH], [path to installed docs]),, - [with_html_dir='${datadir}/gtk-doc/html']) - HTML_DIR="$with_html_dir" - AC_SUBST([HTML_DIR]) - - dnl enable/disable documentation building - AC_ARG_ENABLE([gtk-doc], - AS_HELP_STRING([--enable-gtk-doc], - [use gtk-doc to build documentation [[default=no]]]),, - [enable_gtk_doc=no]) - - AC_MSG_CHECKING([whether to build gtk-doc documentation]) - AC_MSG_RESULT($enable_gtk_doc) - - if test "x$enable_gtk_doc" = "xyes" && test "$have_gtk_doc" = "no"; then - AC_MSG_ERROR([ - You must have $gtk_doc_requires installed to build documentation for - $PACKAGE_NAME. Please install gtk-doc or disable building the - documentation by adding '--disable-gtk-doc' to '[$]0'.]) - fi - - dnl don't check for glib if we build glib - if test "x$PACKAGE_NAME" != "xglib"; then - dnl don't fail if someone does not have glib - PKG_CHECK_MODULES(GTKDOC_DEPS, glib-2.0 >= 2.10.0 gobject-2.0 >= 2.10.0,,[:]) - fi - - dnl enable/disable output formats - AC_ARG_ENABLE([gtk-doc-html], - AS_HELP_STRING([--enable-gtk-doc-html], - [build documentation in html format [[default=yes]]]),, - [enable_gtk_doc_html=yes]) - AC_ARG_ENABLE([gtk-doc-pdf], - AS_HELP_STRING([--enable-gtk-doc-pdf], - [build documentation in pdf format [[default=no]]]),, - [enable_gtk_doc_pdf=no]) - - if test -z "$GTKDOC_MKPDF"; then - enable_gtk_doc_pdf=no - fi - - if test -z "$AM_DEFAULT_VERBOSITY"; then - AM_DEFAULT_VERBOSITY=1 - fi - AC_SUBST([AM_DEFAULT_VERBOSITY]) - - AM_CONDITIONAL([HAVE_GTK_DOC], [test x$have_gtk_doc = xyes]) - AM_CONDITIONAL([ENABLE_GTK_DOC], [test x$enable_gtk_doc = xyes]) - AM_CONDITIONAL([GTK_DOC_BUILD_HTML], [test x$enable_gtk_doc_html = xyes]) - AM_CONDITIONAL([GTK_DOC_BUILD_PDF], [test x$enable_gtk_doc_pdf = xyes]) - AM_CONDITIONAL([GTK_DOC_USE_LIBTOOL], [test -n "$LIBTOOL"]) - AM_CONDITIONAL([GTK_DOC_USE_REBASE], [test -n "$GTKDOC_REBASE"]) -]) diff --git a/m4/libtool.m4 b/m4/libtool.m4 deleted file mode 100644 index f12cfdf..0000000 --- a/m4/libtool.m4 +++ /dev/null @@ -1,7992 +0,0 @@ -# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- -# -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, -# 2006, 2007, 2008, 2009, 2010, 2011 Free Software -# Foundation, Inc. -# Written by Gordon Matzigkeit, 1996 -# -# 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. - -m4_define([_LT_COPYING], [dnl -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, -# 2006, 2007, 2008, 2009, 2010, 2011 Free Software -# Foundation, Inc. -# Written by Gordon Matzigkeit, 1996 -# -# This file is part of GNU Libtool. -# -# GNU Libtool 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 of -# the License, or (at your option) any later version. -# -# As a special exception to the GNU General Public License, -# if you distribute this file as part of a program or library that -# is built using GNU Libtool, you may include this file under the -# same distribution terms that you use for the rest of that program. -# -# GNU Libtool 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 GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, or -# obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -]) - -# serial 57 LT_INIT - - -# LT_PREREQ(VERSION) -# ------------------ -# Complain and exit if this libtool version is less that VERSION. -m4_defun([LT_PREREQ], -[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1, - [m4_default([$3], - [m4_fatal([Libtool version $1 or higher is required], - 63)])], - [$2])]) - - -# _LT_CHECK_BUILDDIR -# ------------------ -# Complain if the absolute build directory name contains unusual characters -m4_defun([_LT_CHECK_BUILDDIR], -[case `pwd` in - *\ * | *\ *) - AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;; -esac -]) - - -# LT_INIT([OPTIONS]) -# ------------------ -AC_DEFUN([LT_INIT], -[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT -AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl -AC_BEFORE([$0], [LT_LANG])dnl -AC_BEFORE([$0], [LT_OUTPUT])dnl -AC_BEFORE([$0], [LTDL_INIT])dnl -m4_require([_LT_CHECK_BUILDDIR])dnl - -dnl Autoconf doesn't catch unexpanded LT_ macros by default: -m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl -m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl -dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4 -dnl unless we require an AC_DEFUNed macro: -AC_REQUIRE([LTOPTIONS_VERSION])dnl -AC_REQUIRE([LTSUGAR_VERSION])dnl -AC_REQUIRE([LTVERSION_VERSION])dnl -AC_REQUIRE([LTOBSOLETE_VERSION])dnl -m4_require([_LT_PROG_LTMAIN])dnl - -_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}]) - -dnl Parse OPTIONS -_LT_SET_OPTIONS([$0], [$1]) - -# This can be used to rebuild libtool when needed -LIBTOOL_DEPS="$ltmain" - -# Always use our own libtool. -LIBTOOL='$(SHELL) $(top_builddir)/libtool' -AC_SUBST(LIBTOOL)dnl - -_LT_SETUP - -# Only expand once: -m4_define([LT_INIT]) -])# LT_INIT - -# Old names: -AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT]) -AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_PROG_LIBTOOL], []) -dnl AC_DEFUN([AM_PROG_LIBTOOL], []) - - -# _LT_CC_BASENAME(CC) -# ------------------- -# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. -m4_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 "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` -]) - - -# _LT_FILEUTILS_DEFAULTS -# ---------------------- -# It is okay to use these file commands and assume they have been set -# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'. -m4_defun([_LT_FILEUTILS_DEFAULTS], -[: ${CP="cp -f"} -: ${MV="mv -f"} -: ${RM="rm -f"} -])# _LT_FILEUTILS_DEFAULTS - - -# _LT_SETUP -# --------- -m4_defun([_LT_SETUP], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_CANONICAL_BUILD])dnl -AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl -AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl - -_LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl -dnl -_LT_DECL([], [host_alias], [0], [The host system])dnl -_LT_DECL([], [host], [0])dnl -_LT_DECL([], [host_os], [0])dnl -dnl -_LT_DECL([], [build_alias], [0], [The build system])dnl -_LT_DECL([], [build], [0])dnl -_LT_DECL([], [build_os], [0])dnl -dnl -AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([LT_PATH_LD])dnl -AC_REQUIRE([LT_PATH_NM])dnl -dnl -AC_REQUIRE([AC_PROG_LN_S])dnl -test -z "$LN_S" && LN_S="ln -s" -_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl -dnl -AC_REQUIRE([LT_CMD_MAX_LEN])dnl -_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl -_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl -dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_CHECK_SHELL_FEATURES])dnl -m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl -m4_require([_LT_CMD_RELOAD])dnl -m4_require([_LT_CHECK_MAGIC_METHOD])dnl -m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl -m4_require([_LT_CMD_OLD_ARCHIVE])dnl -m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl -m4_require([_LT_WITH_SYSROOT])dnl - -_LT_CONFIG_LIBTOOL_INIT([ -# See if we are running on zsh, and set the options which allow our -# commands through without removal of \ escapes INIT. -if test -n "\${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST -fi -]) -if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST -fi - -_LT_CHECK_OBJDIR - -m4_require([_LT_TAG_COMPILER])dnl - -case $host_os in -aix3*) - # AIX sometimes has problems with the GCC collect2 program. For some - # reason, if we set the COLLECT_NAMES environment variable, the problems - # vanish in a puff of smoke. - if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES - fi - ;; -esac - -# Global variables: -ofile=libtool -can_build_shared=yes - -# All known linkers require a `.a' archive for static linking (except MSVC, -# which needs '.lib'). -libext=a - -with_gnu_ld="$lt_cv_prog_gnu_ld" - -old_CC="$CC" -old_CFLAGS="$CFLAGS" - -# Set sane defaults for various variables -test -z "$CC" && CC=cc -test -z "$LTCC" && LTCC=$CC -test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS -test -z "$LD" && LD=ld -test -z "$ac_objext" && ac_objext=o - -_LT_CC_BASENAME([$compiler]) - -# Only perform the check for file, if the check method requires it -test -z "$MAGIC_CMD" && MAGIC_CMD=file -case $deplibs_check_method in -file_magic*) - if test "$file_magic_cmd" = '$MAGIC_CMD'; then - _LT_PATH_MAGIC - fi - ;; -esac - -# Use C for the default configuration in the libtool script -LT_SUPPORTED_TAG([CC]) -_LT_LANG_C_CONFIG -_LT_LANG_DEFAULT_CONFIG -_LT_CONFIG_COMMANDS -])# _LT_SETUP - - -# _LT_PREPARE_SED_QUOTE_VARS -# -------------------------- -# Define a few sed substitution that help us do robust quoting. -m4_defun([_LT_PREPARE_SED_QUOTE_VARS], -[# Backslashify metacharacters that are still active within -# double-quoted strings. -sed_quote_subst='s/\([["`$\\]]\)/\\\1/g' - -# Same as above, but do not quote variable references. -double_quote_subst='s/\([["`\\]]\)/\\\1/g' - -# Sed substitution to delay expansion of an escaped shell variable in a -# double_quote_subst'ed string. -delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' - -# Sed substitution to delay expansion of an escaped single quote. -delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' - -# Sed substitution to avoid accidental globbing in evaled expressions -no_glob_subst='s/\*/\\\*/g' -]) - -# _LT_PROG_LTMAIN -# --------------- -# Note that this code is called both from `configure', and `config.status' -# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably, -# `config.status' has no value for ac_aux_dir unless we are using Automake, -# so we pass a copy along to make sure it has a sensible value anyway. -m4_defun([_LT_PROG_LTMAIN], -[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl -_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir']) -ltmain="$ac_aux_dir/ltmain.sh" -])# _LT_PROG_LTMAIN - - -## ------------------------------------- ## -## Accumulate code for creating libtool. ## -## ------------------------------------- ## - -# So that we can recreate a full libtool script including additional -# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS -# in macros and then make a single call at the end using the `libtool' -# label. - - -# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS]) -# ---------------------------------------- -# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later. -m4_define([_LT_CONFIG_LIBTOOL_INIT], -[m4_ifval([$1], - [m4_append([_LT_OUTPUT_LIBTOOL_INIT], - [$1 -])])]) - -# Initialize. -m4_define([_LT_OUTPUT_LIBTOOL_INIT]) - - -# _LT_CONFIG_LIBTOOL([COMMANDS]) -# ------------------------------ -# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later. -m4_define([_LT_CONFIG_LIBTOOL], -[m4_ifval([$1], - [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS], - [$1 -])])]) - -# Initialize. -m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS]) - - -# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS]) -# ----------------------------------------------------- -m4_defun([_LT_CONFIG_SAVE_COMMANDS], -[_LT_CONFIG_LIBTOOL([$1]) -_LT_CONFIG_LIBTOOL_INIT([$2]) -]) - - -# _LT_FORMAT_COMMENT([COMMENT]) -# ----------------------------- -# Add leading comment marks to the start of each line, and a trailing -# full-stop to the whole comment if one is not present already. -m4_define([_LT_FORMAT_COMMENT], -[m4_ifval([$1], [ -m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])], - [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.]) -)]) - - - -## ------------------------ ## -## FIXME: Eliminate VARNAME ## -## ------------------------ ## - - -# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?]) -# ------------------------------------------------------------------- -# CONFIGNAME is the name given to the value in the libtool script. -# VARNAME is the (base) name used in the configure script. -# VALUE may be 0, 1 or 2 for a computed quote escaped value based on -# VARNAME. Any other value will be used directly. -m4_define([_LT_DECL], -[lt_if_append_uniq([lt_decl_varnames], [$2], [, ], - [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name], - [m4_ifval([$1], [$1], [$2])]) - lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3]) - m4_ifval([$4], - [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])]) - lt_dict_add_subkey([lt_decl_dict], [$2], - [tagged?], [m4_ifval([$5], [yes], [no])])]) -]) - - -# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION]) -# -------------------------------------------------------- -m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])]) - - -# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...]) -# ------------------------------------------------ -m4_define([lt_decl_tag_varnames], -[_lt_decl_filter([tagged?], [yes], $@)]) - - -# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..]) -# --------------------------------------------------------- -m4_define([_lt_decl_filter], -[m4_case([$#], - [0], [m4_fatal([$0: too few arguments: $#])], - [1], [m4_fatal([$0: too few arguments: $#: $1])], - [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)], - [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)], - [lt_dict_filter([lt_decl_dict], $@)])[]dnl -]) - - -# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...]) -# -------------------------------------------------- -m4_define([lt_decl_quote_varnames], -[_lt_decl_filter([value], [1], $@)]) - - -# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...]) -# --------------------------------------------------- -m4_define([lt_decl_dquote_varnames], -[_lt_decl_filter([value], [2], $@)]) - - -# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...]) -# --------------------------------------------------- -m4_define([lt_decl_varnames_tagged], -[m4_assert([$# <= 2])dnl -_$0(m4_quote(m4_default([$1], [[, ]])), - m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]), - m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))]) -m4_define([_lt_decl_varnames_tagged], -[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])]) - - -# lt_decl_all_varnames([SEPARATOR], [VARNAME1...]) -# ------------------------------------------------ -m4_define([lt_decl_all_varnames], -[_$0(m4_quote(m4_default([$1], [[, ]])), - m4_if([$2], [], - m4_quote(lt_decl_varnames), - m4_quote(m4_shift($@))))[]dnl -]) -m4_define([_lt_decl_all_varnames], -[lt_join($@, lt_decl_varnames_tagged([$1], - lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl -]) - - -# _LT_CONFIG_STATUS_DECLARE([VARNAME]) -# ------------------------------------ -# Quote a variable value, and forward it to `config.status' so that its -# declaration there will have the same value as in `configure'. VARNAME -# must have a single quote delimited value for this to work. -m4_define([_LT_CONFIG_STATUS_DECLARE], -[$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`']) - - -# _LT_CONFIG_STATUS_DECLARATIONS -# ------------------------------ -# We delimit libtool config variables with single quotes, so when -# we write them to config.status, we have to be sure to quote all -# embedded single quotes properly. In configure, this macro expands -# each variable declared with _LT_DECL (and _LT_TAGDECL) into: -# -# ='`$ECHO "$" | $SED "$delay_single_quote_subst"`' -m4_defun([_LT_CONFIG_STATUS_DECLARATIONS], -[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames), - [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])]) - - -# _LT_LIBTOOL_TAGS -# ---------------- -# Output comment and list of tags supported by the script -m4_defun([_LT_LIBTOOL_TAGS], -[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl -available_tags="_LT_TAGS"dnl -]) - - -# _LT_LIBTOOL_DECLARE(VARNAME, [TAG]) -# ----------------------------------- -# Extract the dictionary values for VARNAME (optionally with TAG) and -# expand to a commented shell variable setting: -# -# # Some comment about what VAR is for. -# visible_name=$lt_internal_name -m4_define([_LT_LIBTOOL_DECLARE], -[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], - [description])))[]dnl -m4_pushdef([_libtool_name], - m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl -m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])), - [0], [_libtool_name=[$]$1], - [1], [_libtool_name=$lt_[]$1], - [2], [_libtool_name=$lt_[]$1], - [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl -m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl -]) - - -# _LT_LIBTOOL_CONFIG_VARS -# ----------------------- -# Produce commented declarations of non-tagged libtool config variables -# suitable for insertion in the LIBTOOL CONFIG section of the `libtool' -# script. Tagged libtool config variables (even for the LIBTOOL CONFIG -# section) are produced by _LT_LIBTOOL_TAG_VARS. -m4_defun([_LT_LIBTOOL_CONFIG_VARS], -[m4_foreach([_lt_var], - m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)), - [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])]) - - -# _LT_LIBTOOL_TAG_VARS(TAG) -# ------------------------- -m4_define([_LT_LIBTOOL_TAG_VARS], -[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames), - [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])]) - - -# _LT_TAGVAR(VARNAME, [TAGNAME]) -# ------------------------------ -m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])]) - - -# _LT_CONFIG_COMMANDS -# ------------------- -# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of -# variables for single and double quote escaping we saved from calls -# to _LT_DECL, we can put quote escaped variables declarations -# into `config.status', and then the shell code to quote escape them in -# for loops in `config.status'. Finally, any additional code accumulated -# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded. -m4_defun([_LT_CONFIG_COMMANDS], -[AC_PROVIDE_IFELSE([LT_OUTPUT], - dnl If the libtool generation code has been placed in $CONFIG_LT, - dnl instead of duplicating it all over again into config.status, - dnl then we will have config.status run $CONFIG_LT later, so it - dnl needs to know what name is stored there: - [AC_CONFIG_COMMANDS([libtool], - [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])], - dnl If the libtool generation code is destined for config.status, - dnl expand the accumulated commands and init code now: - [AC_CONFIG_COMMANDS([libtool], - [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])]) -])#_LT_CONFIG_COMMANDS - - -# Initialize. -m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT], -[ - -# 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 - -sed_quote_subst='$sed_quote_subst' -double_quote_subst='$double_quote_subst' -delay_variable_subst='$delay_variable_subst' -_LT_CONFIG_STATUS_DECLARATIONS -LTCC='$LTCC' -LTCFLAGS='$LTCFLAGS' -compiler='$compiler_DEFAULT' - -# A function that is used when there is no print builtin or printf. -func_fallback_echo () -{ - eval 'cat <<_LTECHO_EOF -\$[]1 -_LTECHO_EOF' -} - -# Quote evaled strings. -for var in lt_decl_all_varnames([[ \ -]], lt_decl_quote_varnames); do - case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in - *[[\\\\\\\`\\"\\\$]]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" - ;; - *) - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" - ;; - esac -done - -# Double-quote double-evaled strings. -for var in lt_decl_all_varnames([[ \ -]], lt_decl_dquote_varnames); do - case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in - *[[\\\\\\\`\\"\\\$]]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" - ;; - *) - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" - ;; - esac -done - -_LT_OUTPUT_LIBTOOL_INIT -]) - -# _LT_GENERATED_FILE_INIT(FILE, [COMMENT]) -# ------------------------------------ -# Generate a child script FILE with all initialization necessary to -# reuse the environment learned by the parent script, and make the -# file executable. If COMMENT is supplied, it is inserted after the -# `#!' sequence but before initialization text begins. After this -# macro, additional text can be appended to FILE to form the body of -# the child script. The macro ends with non-zero status if the -# file could not be fully written (such as if the disk is full). -m4_ifdef([AS_INIT_GENERATED], -[m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])], -[m4_defun([_LT_GENERATED_FILE_INIT], -[m4_require([AS_PREPARE])]dnl -[m4_pushdef([AS_MESSAGE_LOG_FD])]dnl -[lt_write_fail=0 -cat >$1 <<_ASEOF || lt_write_fail=1 -#! $SHELL -# Generated by $as_me. -$2 -SHELL=\${CONFIG_SHELL-$SHELL} -export SHELL -_ASEOF -cat >>$1 <<\_ASEOF || lt_write_fail=1 -AS_SHELL_SANITIZE -_AS_PREPARE -exec AS_MESSAGE_FD>&1 -_ASEOF -test $lt_write_fail = 0 && chmod +x $1[]dnl -m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT - -# LT_OUTPUT -# --------- -# This macro allows early generation of the libtool script (before -# AC_OUTPUT is called), incase it is used in configure for compilation -# tests. -AC_DEFUN([LT_OUTPUT], -[: ${CONFIG_LT=./config.lt} -AC_MSG_NOTICE([creating $CONFIG_LT]) -_LT_GENERATED_FILE_INIT(["$CONFIG_LT"], -[# Run this file to recreate a libtool stub with the current configuration.]) - -cat >>"$CONFIG_LT" <<\_LTEOF -lt_cl_silent=false -exec AS_MESSAGE_LOG_FD>>config.log -{ - echo - AS_BOX([Running $as_me.]) -} >&AS_MESSAGE_LOG_FD - -lt_cl_help="\ -\`$as_me' creates a local libtool stub from the current configuration, -for use in further configure time tests before the real libtool is -generated. - -Usage: $[0] [[OPTIONS]] - - -h, --help print this help, then exit - -V, --version print version number, then exit - -q, --quiet do not print progress messages - -d, --debug don't remove temporary files - -Report bugs to ." - -lt_cl_version="\ -m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl -m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]) -configured by $[0], generated by m4_PACKAGE_STRING. - -Copyright (C) 2011 Free Software Foundation, Inc. -This config.lt script is free software; the Free Software Foundation -gives unlimited permision to copy, distribute and modify it." - -while test $[#] != 0 -do - case $[1] in - --version | --v* | -V ) - echo "$lt_cl_version"; exit 0 ;; - --help | --h* | -h ) - echo "$lt_cl_help"; exit 0 ;; - --debug | --d* | -d ) - debug=: ;; - --quiet | --q* | --silent | --s* | -q ) - lt_cl_silent=: ;; - - -*) AC_MSG_ERROR([unrecognized option: $[1] -Try \`$[0] --help' for more information.]) ;; - - *) AC_MSG_ERROR([unrecognized argument: $[1] -Try \`$[0] --help' for more information.]) ;; - esac - shift -done - -if $lt_cl_silent; then - exec AS_MESSAGE_FD>/dev/null -fi -_LTEOF - -cat >>"$CONFIG_LT" <<_LTEOF -_LT_OUTPUT_LIBTOOL_COMMANDS_INIT -_LTEOF - -cat >>"$CONFIG_LT" <<\_LTEOF -AC_MSG_NOTICE([creating $ofile]) -_LT_OUTPUT_LIBTOOL_COMMANDS -AS_EXIT(0) -_LTEOF -chmod +x "$CONFIG_LT" - -# configure is writing to config.log, but config.lt does its own redirection, -# appending to config.log, which fails on DOS, as config.log is still kept -# open by configure. Here we exec the FD to /dev/null, effectively closing -# config.log, so it can be properly (re)opened and appended to by config.lt. -lt_cl_success=: -test "$silent" = yes && - lt_config_lt_args="$lt_config_lt_args --quiet" -exec AS_MESSAGE_LOG_FD>/dev/null -$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false -exec AS_MESSAGE_LOG_FD>>config.log -$lt_cl_success || AS_EXIT(1) -])# LT_OUTPUT - - -# _LT_CONFIG(TAG) -# --------------- -# If TAG is the built-in tag, create an initial libtool script with a -# default configuration from the untagged config vars. Otherwise add code -# to config.status for appending the configuration named by TAG from the -# matching tagged config vars. -m4_defun([_LT_CONFIG], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -_LT_CONFIG_SAVE_COMMANDS([ - m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl - m4_if(_LT_TAG, [C], [ - # See if we are running on zsh, and set the options which allow our - # commands through without removal of \ escapes. - if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST - fi - - cfgfile="${ofile}T" - trap "$RM \"$cfgfile\"; exit 1" 1 2 15 - $RM "$cfgfile" - - cat <<_LT_EOF >> "$cfgfile" -#! $SHELL - -# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. -# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: -# NOTE: Changes made to this file will be lost: look at ltmain.sh. -# -_LT_COPYING -_LT_LIBTOOL_TAGS - -# ### BEGIN LIBTOOL CONFIG -_LT_LIBTOOL_CONFIG_VARS -_LT_LIBTOOL_TAG_VARS -# ### END LIBTOOL CONFIG - -_LT_EOF - - case $host_os in - aix3*) - cat <<\_LT_EOF >> "$cfgfile" -# AIX sometimes has problems with the GCC collect2 program. For some -# reason, if we set the COLLECT_NAMES environment variable, the problems -# vanish in a puff of smoke. -if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES -fi -_LT_EOF - ;; - esac - - _LT_PROG_LTMAIN - - # We use sed instead of cat because bash on DJGPP gets confused if - # if finds mixed CR/LF and LF-only lines. Since sed operates in - # text mode, it properly converts lines to CR/LF. This bash problem - # is reportedly fixed, but why not run on old versions too? - sed '$q' "$ltmain" >> "$cfgfile" \ - || (rm -f "$cfgfile"; exit 1) - - _LT_PROG_REPLACE_SHELLFNS - - mv -f "$cfgfile" "$ofile" || - (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") - chmod +x "$ofile" -], -[cat <<_LT_EOF >> "$ofile" - -dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded -dnl in a comment (ie after a #). -# ### BEGIN LIBTOOL TAG CONFIG: $1 -_LT_LIBTOOL_TAG_VARS(_LT_TAG) -# ### END LIBTOOL TAG CONFIG: $1 -_LT_EOF -])dnl /m4_if -], -[m4_if([$1], [], [ - PACKAGE='$PACKAGE' - VERSION='$VERSION' - TIMESTAMP='$TIMESTAMP' - RM='$RM' - ofile='$ofile'], []) -])dnl /_LT_CONFIG_SAVE_COMMANDS -])# _LT_CONFIG - - -# LT_SUPPORTED_TAG(TAG) -# --------------------- -# Trace this macro to discover what tags are supported by the libtool -# --tag option, using: -# autoconf --trace 'LT_SUPPORTED_TAG:$1' -AC_DEFUN([LT_SUPPORTED_TAG], []) - - -# C support is built-in for now -m4_define([_LT_LANG_C_enabled], []) -m4_define([_LT_TAGS], []) - - -# LT_LANG(LANG) -# ------------- -# Enable libtool support for the given language if not already enabled. -AC_DEFUN([LT_LANG], -[AC_BEFORE([$0], [LT_OUTPUT])dnl -m4_case([$1], - [C], [_LT_LANG(C)], - [C++], [_LT_LANG(CXX)], - [Go], [_LT_LANG(GO)], - [Java], [_LT_LANG(GCJ)], - [Fortran 77], [_LT_LANG(F77)], - [Fortran], [_LT_LANG(FC)], - [Windows Resource], [_LT_LANG(RC)], - [m4_ifdef([_LT_LANG_]$1[_CONFIG], - [_LT_LANG($1)], - [m4_fatal([$0: unsupported language: "$1"])])])dnl -])# LT_LANG - - -# _LT_LANG(LANGNAME) -# ------------------ -m4_defun([_LT_LANG], -[m4_ifdef([_LT_LANG_]$1[_enabled], [], - [LT_SUPPORTED_TAG([$1])dnl - m4_append([_LT_TAGS], [$1 ])dnl - m4_define([_LT_LANG_]$1[_enabled], [])dnl - _LT_LANG_$1_CONFIG($1)])dnl -])# _LT_LANG - - -m4_ifndef([AC_PROG_GO], [ -############################################################ -# NOTE: This macro has been submitted for inclusion into # -# GNU Autoconf as AC_PROG_GO. When it is available in # -# a released version of Autoconf we should remove this # -# macro and use it instead. # -############################################################ -m4_defun([AC_PROG_GO], -[AC_LANG_PUSH(Go)dnl -AC_ARG_VAR([GOC], [Go compiler command])dnl -AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl -_AC_ARG_VAR_LDFLAGS()dnl -AC_CHECK_TOOL(GOC, gccgo) -if test -z "$GOC"; then - if test -n "$ac_tool_prefix"; then - AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo]) - fi -fi -if test -z "$GOC"; then - AC_CHECK_PROG(GOC, gccgo, gccgo, false) -fi -])#m4_defun -])#m4_ifndef - - -# _LT_LANG_DEFAULT_CONFIG -# ----------------------- -m4_defun([_LT_LANG_DEFAULT_CONFIG], -[AC_PROVIDE_IFELSE([AC_PROG_CXX], - [LT_LANG(CXX)], - [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])]) - -AC_PROVIDE_IFELSE([AC_PROG_F77], - [LT_LANG(F77)], - [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])]) - -AC_PROVIDE_IFELSE([AC_PROG_FC], - [LT_LANG(FC)], - [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])]) - -dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal -dnl pulling things in needlessly. -AC_PROVIDE_IFELSE([AC_PROG_GCJ], - [LT_LANG(GCJ)], - [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], - [LT_LANG(GCJ)], - [AC_PROVIDE_IFELSE([LT_PROG_GCJ], - [LT_LANG(GCJ)], - [m4_ifdef([AC_PROG_GCJ], - [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])]) - m4_ifdef([A][M_PROG_GCJ], - [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])]) - m4_ifdef([LT_PROG_GCJ], - [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])]) - -AC_PROVIDE_IFELSE([AC_PROG_GO], - [LT_LANG(GO)], - [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])]) - -AC_PROVIDE_IFELSE([LT_PROG_RC], - [LT_LANG(RC)], - [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])]) -])# _LT_LANG_DEFAULT_CONFIG - -# Obsolete macros: -AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)]) -AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)]) -AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)]) -AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)]) -AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_CXX], []) -dnl AC_DEFUN([AC_LIBTOOL_F77], []) -dnl AC_DEFUN([AC_LIBTOOL_FC], []) -dnl AC_DEFUN([AC_LIBTOOL_GCJ], []) -dnl AC_DEFUN([AC_LIBTOOL_RC], []) - - -# _LT_TAG_COMPILER -# ---------------- -m4_defun([_LT_TAG_COMPILER], -[AC_REQUIRE([AC_PROG_CC])dnl - -_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl -_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl -_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl -_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC -])# _LT_TAG_COMPILER - - -# _LT_COMPILER_BOILERPLATE -# ------------------------ -# Check for compiler boilerplate output or warnings with -# the simple compiler test code. -m4_defun([_LT_COMPILER_BOILERPLATE], -[m4_require([_LT_DECL_SED])dnl -ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/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. -m4_defun([_LT_LINKER_BOILERPLATE], -[m4_require([_LT_DECL_SED])dnl -ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$RM -r conftest* -])# _LT_LINKER_BOILERPLATE - -# _LT_REQUIRED_DARWIN_CHECKS -# ------------------------- -m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[ - case $host_os in - rhapsody* | darwin*) - AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:]) - AC_CHECK_TOOL([NMEDIT], [nmedit], [:]) - AC_CHECK_TOOL([LIPO], [lipo], [:]) - AC_CHECK_TOOL([OTOOL], [otool], [:]) - AC_CHECK_TOOL([OTOOL64], [otool64], [:]) - _LT_DECL([], [DSYMUTIL], [1], - [Tool to manipulate archived DWARF debug symbol files on Mac OS X]) - _LT_DECL([], [NMEDIT], [1], - [Tool to change global to local symbols on Mac OS X]) - _LT_DECL([], [LIPO], [1], - [Tool to manipulate fat objects and archives on Mac OS X]) - _LT_DECL([], [OTOOL], [1], - [ldd/readelf like tool for Mach-O binaries on Mac OS X]) - _LT_DECL([], [OTOOL64], [1], - [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4]) - - AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod], - [lt_cv_apple_cc_single_mod=no - if test -z "${LT_MULTI_MODULE}"; then - # By default we will add the -single_module flag. You can override - # by either setting the environment variable LT_MULTI_MODULE - # non-empty at configure time, or by adding -multi_module to the - # link flags. - rm -rf libconftest.dylib* - echo "int foo(void){return 1;}" > conftest.c - echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ --dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD - $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ - -dynamiclib -Wl,-single_module conftest.c 2>conftest.err - _lt_result=$? - # If there is a non-empty error log, and "single_module" - # appears in it, assume the flag caused a linker warning - if test -s conftest.err && $GREP single_module conftest.err; then - cat conftest.err >&AS_MESSAGE_LOG_FD - # Otherwise, if the output was created with a 0 exit code from - # the compiler, it worked. - elif test -f libconftest.dylib && test $_lt_result -eq 0; then - lt_cv_apple_cc_single_mod=yes - else - cat conftest.err >&AS_MESSAGE_LOG_FD - fi - rm -rf libconftest.dylib* - rm -f conftest.* - fi]) - - AC_CACHE_CHECK([for -exported_symbols_list linker flag], - [lt_cv_ld_exported_symbols_list], - [lt_cv_ld_exported_symbols_list=no - save_LDFLAGS=$LDFLAGS - echo "_main" > conftest.sym - LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" - AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], - [lt_cv_ld_exported_symbols_list=yes], - [lt_cv_ld_exported_symbols_list=no]) - LDFLAGS="$save_LDFLAGS" - ]) - - AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load], - [lt_cv_ld_force_load=no - cat > conftest.c << _LT_EOF -int forced_loaded() { return 2;} -_LT_EOF - echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD - $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD - echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD - $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD - echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD - $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD - cat > conftest.c << _LT_EOF -int main() { return 0;} -_LT_EOF - echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD - $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err - _lt_result=$? - if test -s conftest.err && $GREP force_load conftest.err; then - cat conftest.err >&AS_MESSAGE_LOG_FD - elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then - lt_cv_ld_force_load=yes - else - cat conftest.err >&AS_MESSAGE_LOG_FD - fi - rm -f conftest.err libconftest.a conftest conftest.c - rm -rf conftest.dSYM - ]) - case $host_os in - rhapsody* | darwin1.[[012]]) - _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; - darwin1.*) - _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; - darwin*) # darwin 5.x on - # if running on 10.5 or later, the deployment target defaults - # to the OS version, if on x86, and 10.4, the deployment - # target defaults to 10.4. Don't you love it? - case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in - 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*) - _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; - 10.[[012]]*) - _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; - 10.*) - _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; - esac - ;; - esac - if test "$lt_cv_apple_cc_single_mod" = "yes"; then - _lt_dar_single_mod='$single_module' - fi - if test "$lt_cv_ld_exported_symbols_list" = "yes"; then - _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' - else - _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' - fi - if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then - _lt_dsymutil='~$DSYMUTIL $lib || :' - else - _lt_dsymutil= - fi - ;; - esac -]) - - -# _LT_DARWIN_LINKER_FEATURES([TAG]) -# --------------------------------- -# Checks for linker and compiler features on darwin -m4_defun([_LT_DARWIN_LINKER_FEATURES], -[ - m4_require([_LT_REQUIRED_DARWIN_CHECKS]) - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_automatic, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported - if test "$lt_cv_ld_force_load" = "yes"; then - _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' - m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes], - [FC], [_LT_TAGVAR(compiler_needs_object, $1)=yes]) - else - _LT_TAGVAR(whole_archive_flag_spec, $1)='' - fi - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined" - case $cc_basename in - ifort*) _lt_dar_can_shared=yes ;; - *) _lt_dar_can_shared=$GCC ;; - esac - if test "$_lt_dar_can_shared" = "yes"; then - output_verbose_link_cmd=func_echo_all - _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" - _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" - _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" - _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" - m4_if([$1], [CXX], -[ if test "$lt_cv_apple_cc_single_mod" != "yes"; then - _LT_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${_lt_dsymutil}" - _LT_TAGVAR(archive_expsym_cmds, $1)="sed '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${_lt_dar_export_syms}${_lt_dsymutil}" - fi -],[]) - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi -]) - -# _LT_SYS_MODULE_PATH_AIX([TAGNAME]) -# ---------------------------------- -# Links a minimal program and checks the executable -# for the system default hardcoded library path. In most cases, -# this is /usr/lib:/lib, but when the MPI compilers are used -# the location of the communication and MPI libs are included too. -# If we don't find anything, use the default library path according -# to the aix ld manual. -# Store the results from the different compilers for each TAGNAME. -# Allow to override them for all tags through lt_cv_aix_libpath. -m4_defun([_LT_SYS_MODULE_PATH_AIX], -[m4_require([_LT_DECL_SED])dnl -if test "${lt_cv_aix_libpath+set}" = set; then - aix_libpath=$lt_cv_aix_libpath -else - AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])], - [AC_LINK_IFELSE([AC_LANG_PROGRAM],[ - lt_aix_libpath_sed='[ - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }]' - _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then - _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi],[]) - if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then - _LT_TAGVAR([lt_cv_aix_libpath_], [$1])="/usr/lib:/lib" - fi - ]) - aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1]) -fi -])# _LT_SYS_MODULE_PATH_AIX - - -# _LT_SHELL_INIT(ARG) -# ------------------- -m4_define([_LT_SHELL_INIT], -[m4_divert_text([M4SH-INIT], [$1 -])])# _LT_SHELL_INIT - - - -# _LT_PROG_ECHO_BACKSLASH -# ----------------------- -# Find how we can fake an echo command that does not interpret backslash. -# In particular, with Autoconf 2.60 or later we add some code to the start -# of the generated configure script which will find a shell with a builtin -# printf (which we can use as an echo command). -m4_defun([_LT_PROG_ECHO_BACKSLASH], -[ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO -ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO - -AC_MSG_CHECKING([how to print strings]) -# Test print first, because it will be a builtin if present. -if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ - test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then - ECHO='print -r --' -elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then - ECHO='printf %s\n' -else - # Use this function as a fallback that always works. - func_fallback_echo () - { - eval 'cat <<_LTECHO_EOF -$[]1 -_LTECHO_EOF' - } - ECHO='func_fallback_echo' -fi - -# func_echo_all arg... -# Invoke $ECHO with all args, space-separated. -func_echo_all () -{ - $ECHO "$*" -} - -case "$ECHO" in - printf*) AC_MSG_RESULT([printf]) ;; - print*) AC_MSG_RESULT([print -r]) ;; - *) AC_MSG_RESULT([cat]) ;; -esac - -m4_ifdef([_AS_DETECT_SUGGESTED], -[_AS_DETECT_SUGGESTED([ - test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || ( - ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' - ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO - ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO - PATH=/empty FPATH=/empty; export PATH FPATH - test "X`printf %s $ECHO`" = "X$ECHO" \ - || test "X`print -r -- $ECHO`" = "X$ECHO" )])]) - -_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts]) -_LT_DECL([], [ECHO], [1], [An echo program that protects backslashes]) -])# _LT_PROG_ECHO_BACKSLASH - - -# _LT_WITH_SYSROOT -# ---------------- -AC_DEFUN([_LT_WITH_SYSROOT], -[AC_MSG_CHECKING([for sysroot]) -AC_ARG_WITH([sysroot], -[ --with-sysroot[=DIR] Search for dependent libraries within DIR - (or the compiler's sysroot if not specified).], -[], [with_sysroot=no]) - -dnl lt_sysroot will always be passed unquoted. We quote it here -dnl in case the user passed a directory name. -lt_sysroot= -case ${with_sysroot} in #( - yes) - if test "$GCC" = yes; then - lt_sysroot=`$CC --print-sysroot 2>/dev/null` - fi - ;; #( - /*) - lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` - ;; #( - no|'') - ;; #( - *) - AC_MSG_RESULT([${with_sysroot}]) - AC_MSG_ERROR([The sysroot must be an absolute path.]) - ;; -esac - - AC_MSG_RESULT([${lt_sysroot:-no}]) -_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl -[dependent libraries, and in which our libraries should be installed.])]) - -# _LT_ENABLE_LOCK -# --------------- -m4_defun([_LT_ENABLE_LOCK], -[AC_ARG_ENABLE([libtool-lock], - [AS_HELP_STRING([--disable-libtool-lock], - [avoid locking (might break parallel builds)])]) -test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes - -# Some flags need to be propagated to the compiler or linker for good -# libtool support. -case $host in -ia64-*-hpux*) - # 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.$ac_objext` in - *ELF-32*) - HPUX_IA64_MODE="32" - ;; - *ELF-64*) - HPUX_IA64_MODE="64" - ;; - esac - fi - rm -rf conftest* - ;; -*-*-irix6*) - # Find out which ABI we are using. - echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - if test "$lt_cv_prog_gnu_ld" = yes; then - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -melf32bsmip" - ;; - *N32*) - LD="${LD-ld} -melf32bmipn32" - ;; - *64-bit*) - LD="${LD-ld} -melf64bmip" - ;; - esac - else - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -32" - ;; - *N32*) - LD="${LD-ld} -n32" - ;; - *64-bit*) - LD="${LD-ld} -64" - ;; - esac - fi - fi - rm -rf conftest* - ;; - -x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ -s390*-*linux*|s390*-*tpf*|sparc*-*linux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.o` in - *32-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_i386_fbsd" - ;; - x86_64-*linux*) - LD="${LD-ld} -m elf_i386" - ;; - powerpc64le-*linux*) - LD="${LD-ld} -m elf32lppclinux" - ;; - powerpc64-*linux*) - LD="${LD-ld} -m elf32ppclinux" - ;; - s390x-*linux*) - LD="${LD-ld} -m elf_s390" - ;; - sparc64-*linux*) - LD="${LD-ld} -m elf32_sparc" - ;; - esac - ;; - *64-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_x86_64_fbsd" - ;; - x86_64-*linux*) - LD="${LD-ld} -m elf_x86_64" - ;; - powerpcle-*linux*) - LD="${LD-ld} -m elf64lppc" - ;; - powerpc-*linux*) - LD="${LD-ld} -m elf64ppc" - ;; - s390*-*linux*|s390*-*tpf*) - LD="${LD-ld} -m elf64_s390" - ;; - sparc*-*linux*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; - -*-*-sco3.2v5*) - # On SCO OpenServer 5, we need -belf to get full-featured binaries. - SAVE_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -belf" - AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, - [AC_LANG_PUSH(C) - AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) - AC_LANG_POP]) - if test x"$lt_cv_cc_needs_belf" != x"yes"; then - # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf - CFLAGS="$SAVE_CFLAGS" - fi - ;; -*-*solaris*) - # 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 - *64-bit*) - case $lt_cv_prog_gnu_ld in - yes*) - case $host in - i?86-*-solaris*) - LD="${LD-ld} -m elf_x86_64" - ;; - sparc*-*-solaris*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - # GNU ld 2.21 introduced _sol2 emulations. Use them if available. - if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then - LD="${LD-ld}_sol2" - fi - ;; - *) - if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then - LD="${LD-ld} -64" - fi - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; -esac - -need_locks="$enable_libtool_lock" -])# _LT_ENABLE_LOCK - - -# _LT_PROG_AR -# ----------- -m4_defun([_LT_PROG_AR], -[AC_CHECK_TOOLS(AR, [ar], false) -: ${AR=ar} -: ${AR_FLAGS=cru} -_LT_DECL([], [AR], [1], [The archiver]) -_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive]) - -AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file], - [lt_cv_ar_at_file=no - AC_COMPILE_IFELSE([AC_LANG_PROGRAM], - [echo conftest.$ac_objext > conftest.lst - lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD' - AC_TRY_EVAL([lt_ar_try]) - if test "$ac_status" -eq 0; then - # Ensure the archiver fails upon bogus file names. - rm -f conftest.$ac_objext libconftest.a - AC_TRY_EVAL([lt_ar_try]) - if test "$ac_status" -ne 0; then - lt_cv_ar_at_file=@ - fi - fi - rm -f conftest.* libconftest.a - ]) - ]) - -if test "x$lt_cv_ar_at_file" = xno; then - archiver_list_spec= -else - archiver_list_spec=$lt_cv_ar_at_file -fi -_LT_DECL([], [archiver_list_spec], [1], - [How to feed a file listing to the archiver]) -])# _LT_PROG_AR - - -# _LT_CMD_OLD_ARCHIVE -# ------------------- -m4_defun([_LT_CMD_OLD_ARCHIVE], -[_LT_PROG_AR - -AC_CHECK_TOOL(STRIP, strip, :) -test -z "$STRIP" && STRIP=: -_LT_DECL([], [STRIP], [1], [A symbol stripping program]) - -AC_CHECK_TOOL(RANLIB, ranlib, :) -test -z "$RANLIB" && RANLIB=: -_LT_DECL([], [RANLIB], [1], - [Commands used to install an old-style archive]) - -# Determine commands to create old-style static archives. -old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' -old_postinstall_cmds='chmod 644 $oldlib' -old_postuninstall_cmds= - -if test -n "$RANLIB"; then - case $host_os in - openbsd*) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" - ;; - *) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" - ;; - esac - old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" -fi - -case $host_os in - darwin*) - lock_old_archive_extraction=yes ;; - *) - lock_old_archive_extraction=no ;; -esac -_LT_DECL([], [old_postinstall_cmds], [2]) -_LT_DECL([], [old_postuninstall_cmds], [2]) -_LT_TAGDECL([], [old_archive_cmds], [2], - [Commands used to build an old-style archive]) -_LT_DECL([], [lock_old_archive_extraction], [0], - [Whether to use a lock for old archive extraction]) -])# _LT_CMD_OLD_ARCHIVE - - -# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, -# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) -# ---------------------------------------------------------------- -# Check whether the given compiler option works -AC_DEFUN([_LT_COMPILER_OPTION], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_SED])dnl -AC_CACHE_CHECK([$1], [$2], - [$2=no - m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$3" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # 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: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&AS_MESSAGE_LOG_FD - echo "$as_me:$LINENO: \$? = $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 "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - $2=yes - fi - fi - $RM conftest* -]) - -if test x"[$]$2" = xyes; then - m4_if([$5], , :, [$5]) -else - m4_if([$6], , :, [$6]) -fi -])# _LT_COMPILER_OPTION - -# Old name: -AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], []) - - -# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, -# [ACTION-SUCCESS], [ACTION-FAILURE]) -# ---------------------------------------------------- -# Check whether the given linker option works -AC_DEFUN([_LT_LINKER_OPTION], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_SED])dnl -AC_CACHE_CHECK([$1], [$2], - [$2=no - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS $3" - echo "$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 - # 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 "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - $2=yes - fi - else - $2=yes - fi - fi - $RM -r conftest* - LDFLAGS="$save_LDFLAGS" -]) - -if test x"[$]$2" = xyes; then - m4_if([$4], , :, [$4]) -else - m4_if([$5], , :, [$5]) -fi -])# _LT_LINKER_OPTION - -# Old name: -AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], []) - - -# LT_CMD_MAX_LEN -#--------------- -AC_DEFUN([LT_CMD_MAX_LEN], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -# find the maximum length of command line arguments -AC_MSG_CHECKING([the maximum length of command line arguments]) -AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl - i=0 - teststring="ABCD" - - case $build_os in - msdosdjgpp*) - # On DJGPP, this test can blow up pretty badly due to problems in libc - # (any single argument exceeding 2000 bytes causes a buffer overrun - # during glob expansion). Even if it were fixed, the result of this - # check would be larger than it should be. - lt_cv_sys_max_cmd_len=12288; # 12K is about right - ;; - - gnu*) - # Under GNU Hurd, this test is not required because there is - # no limit to the length of command line arguments. - # Libtool will interpret -1 as no limit whatsoever - lt_cv_sys_max_cmd_len=-1; - ;; - - cygwin* | mingw* | cegcc*) - # On Win9x/ME, this test blows up -- it succeeds, but takes - # about 5 minutes as the teststring grows exponentially. - # Worse, since 9x/ME are not pre-emptively multitasking, - # you end up with a "frozen" computer, even though with patience - # the test eventually succeeds (with a max line length of 256k). - # Instead, let's just punt: use the minimum linelength reported by - # all of the supported platforms: 8192 (on NT/2K/XP). - lt_cv_sys_max_cmd_len=8192; - ;; - - mint*) - # On MiNT this can take a long time and run out of memory. - lt_cv_sys_max_cmd_len=8192; - ;; - - amigaos*) - # On AmigaOS with pdksh, this test takes hours, literally. - # So we just punt and use a minimum line length of 8192. - 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` - ;; - - interix*) - # We know the value 262144 and hardcode it with a safety zone (like BSD) - lt_cv_sys_max_cmd_len=196608 - ;; - - os2*) - # The test takes a long time on OS/2. - lt_cv_sys_max_cmd_len=8192 - ;; - - 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 - ;; - sco3.2v5*) - lt_cv_sys_max_cmd_len=102400 - ;; - sysv5* | sco5v6* | sysv4.2uw2*) - kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` - if test -n "$kargmax"; then - lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` - else - lt_cv_sys_max_cmd_len=32768 - fi - ;; - *) - lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` - if test -n "$lt_cv_sys_max_cmd_len"; then - 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` - else - # Make teststring a little bigger before we do anything with it. - # a 1K string should be a reasonable start. - for i in 1 2 3 4 5 6 7 8 ; do - teststring=$teststring$teststring - done - SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} - # 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. - while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \ - = "X$teststring$teststring"; } >/dev/null 2>&1 && - test $i != 17 # 1/2 MB should be enough - do - i=`expr $i + 1` - teststring=$teststring$teststring - done - # Only check the string length outside the loop. - lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` - teststring= - # Add a significant safety factor because C++ compilers can tack on - # massive amounts of additional arguments before passing them to the - # linker. It appears as though 1/2 is a usable value. - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` - fi - ;; - esac -]) -if test -n $lt_cv_sys_max_cmd_len ; then - AC_MSG_RESULT($lt_cv_sys_max_cmd_len) -else - AC_MSG_RESULT(none) -fi -max_cmd_len=$lt_cv_sys_max_cmd_len -_LT_DECL([], [max_cmd_len], [0], - [What is the maximum length of a command?]) -])# LT_CMD_MAX_LEN - -# Old name: -AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], []) - - -# _LT_HEADER_DLFCN -# ---------------- -m4_defun([_LT_HEADER_DLFCN], -[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl -])# _LT_HEADER_DLFCN - - -# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, -# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) -# ---------------------------------------------------------------- -m4_defun([_LT_TRY_DLOPEN_SELF], -[m4_require([_LT_HEADER_DLFCN])dnl -if test "$cross_compiling" = yes; then : - [$4] -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF -[#line $LINENO "configure" -#include "confdefs.h" - -#if HAVE_DLFCN_H -#include -#endif - -#include - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -/* When -fvisbility=hidden is used, assume the code has been annotated - correspondingly for the symbols needed. */ -#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) -int fnord () __attribute__((visibility("default"))); -#endif - -int fnord () { return 42; } -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else - { - if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - else puts (dlerror ()); - } - /* dlclose (self); */ - } - else - puts (dlerror ()); - - return status; -}] -_LT_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 - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) $1 ;; - x$lt_dlneed_uscore) $2 ;; - x$lt_dlunknown|x*) $3 ;; - esac - else : - # compilation failed - $3 - fi -fi -rm -fr conftest* -])# _LT_TRY_DLOPEN_SELF - - -# LT_SYS_DLOPEN_SELF -# ------------------ -AC_DEFUN([LT_SYS_DLOPEN_SELF], -[m4_require([_LT_HEADER_DLFCN])dnl -if test "x$enable_dlopen" != xyes; then - enable_dlopen=unknown - enable_dlopen_self=unknown - enable_dlopen_self_static=unknown -else - lt_cv_dlopen=no - lt_cv_dlopen_libs= - - case $host_os in - beos*) - lt_cv_dlopen="load_add_on" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ;; - - mingw* | pw32* | cegcc*) - lt_cv_dlopen="LoadLibrary" - lt_cv_dlopen_libs= - ;; - - cygwin*) - lt_cv_dlopen="dlopen" - lt_cv_dlopen_libs= - ;; - - darwin*) - # if libdl is installed we need to link against it - AC_CHECK_LIB([dl], [dlopen], - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ - lt_cv_dlopen="dyld" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ]) - ;; - - *) - AC_CHECK_FUNC([shl_load], - [lt_cv_dlopen="shl_load"], - [AC_CHECK_LIB([dld], [shl_load], - [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"], - [AC_CHECK_FUNC([dlopen], - [lt_cv_dlopen="dlopen"], - [AC_CHECK_LIB([dl], [dlopen], - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], - [AC_CHECK_LIB([svld], [dlopen], - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], - [AC_CHECK_LIB([dld], [dld_link], - [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"]) - ]) - ]) - ]) - ]) - ]) - ;; - esac - - if test "x$lt_cv_dlopen" != xno; then - enable_dlopen=yes - else - enable_dlopen=no - fi - - case $lt_cv_dlopen in - dlopen) - save_CPPFLAGS="$CPPFLAGS" - test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" - - save_LDFLAGS="$LDFLAGS" - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" - - save_LIBS="$LIBS" - LIBS="$lt_cv_dlopen_libs $LIBS" - - AC_CACHE_CHECK([whether a program can dlopen itself], - lt_cv_dlopen_self, [dnl - _LT_TRY_DLOPEN_SELF( - lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, - lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) - ]) - - if test "x$lt_cv_dlopen_self" = xyes; then - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" - AC_CACHE_CHECK([whether a statically linked program can dlopen itself], - lt_cv_dlopen_self_static, [dnl - _LT_TRY_DLOPEN_SELF( - lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, - lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) - ]) - fi - - CPPFLAGS="$save_CPPFLAGS" - LDFLAGS="$save_LDFLAGS" - LIBS="$save_LIBS" - ;; - esac - - case $lt_cv_dlopen_self in - yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; - *) enable_dlopen_self=unknown ;; - esac - - case $lt_cv_dlopen_self_static in - yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; - *) enable_dlopen_self_static=unknown ;; - esac -fi -_LT_DECL([dlopen_support], [enable_dlopen], [0], - [Whether dlopen is supported]) -_LT_DECL([dlopen_self], [enable_dlopen_self], [0], - [Whether dlopen of programs is supported]) -_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0], - [Whether dlopen of statically linked programs is supported]) -])# LT_SYS_DLOPEN_SELF - -# Old name: -AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], []) - - -# _LT_COMPILER_C_O([TAGNAME]) -# --------------------------- -# Check to see if options -c and -o are simultaneously supported by compiler. -# This macro does not hard code the compiler like AC_PROG_CC_C_O. -m4_defun([_LT_COMPILER_C_O], -[m4_require([_LT_DECL_SED])dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_TAG_COMPILER])dnl -AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], - [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)], - [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # 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: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&AS_MESSAGE_LOG_FD - echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD - 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 "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes - fi - fi - chmod u+w . 2>&AS_MESSAGE_LOG_FD - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* -]) -_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1], - [Does compiler simultaneously support -c and -o options?]) -])# _LT_COMPILER_C_O - - -# _LT_COMPILER_FILE_LOCKS([TAGNAME]) -# ---------------------------------- -# Check to see if we can do hard links to lock some files if needed -m4_defun([_LT_COMPILER_FILE_LOCKS], -[m4_require([_LT_ENABLE_LOCK])dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -_LT_COMPILER_C_O([$1]) - -hard_links="nottested" -if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then - # do not overwrite the value of need_locks provided by the user - AC_MSG_CHECKING([if we can lock with hard links]) - hard_links=yes - $RM conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - AC_MSG_RESULT([$hard_links]) - if test "$hard_links" = no; then - AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) - need_locks=warn - fi -else - need_locks=no -fi -_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?]) -])# _LT_COMPILER_FILE_LOCKS - - -# _LT_CHECK_OBJDIR -# ---------------- -m4_defun([_LT_CHECK_OBJDIR], -[AC_CACHE_CHECK([for objdir], [lt_cv_objdir], -[rm -f .libs 2>/dev/null -mkdir .libs 2>/dev/null -if test -d .libs; then - lt_cv_objdir=.libs -else - # MS-DOS does not allow filenames that begin with a dot. - lt_cv_objdir=_libs -fi -rmdir .libs 2>/dev/null]) -objdir=$lt_cv_objdir -_LT_DECL([], [objdir], [0], - [The name of the directory that contains temporary libtool files])dnl -m4_pattern_allow([LT_OBJDIR])dnl -AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/", - [Define to the sub-directory in which libtool stores uninstalled libraries.]) -])# _LT_CHECK_OBJDIR - - -# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME]) -# -------------------------------------- -# Check hardcoding attributes. -m4_defun([_LT_LINKER_HARDCODE_LIBPATH], -[AC_MSG_CHECKING([how to hardcode library paths into programs]) -_LT_TAGVAR(hardcode_action, $1)= -if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" || - test -n "$_LT_TAGVAR(runpath_var, $1)" || - test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then - - # We can hardcode non-existent directories. - if test "$_LT_TAGVAR(hardcode_direct, $1)" != no && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no && - test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then - # Linking always hardcodes the temporary library directory. - _LT_TAGVAR(hardcode_action, $1)=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - _LT_TAGVAR(hardcode_action, $1)=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - _LT_TAGVAR(hardcode_action, $1)=unsupported -fi -AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)]) - -if test "$_LT_TAGVAR(hardcode_action, $1)" = relink || - test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then - # Fast installation is not supported - enable_fast_install=no -elif test "$shlibpath_overrides_runpath" = yes || - test "$enable_shared" = no; then - # Fast installation is not necessary - enable_fast_install=needless -fi -_LT_TAGDECL([], [hardcode_action], [0], - [How to hardcode a shared library path into an executable]) -])# _LT_LINKER_HARDCODE_LIBPATH - - -# _LT_CMD_STRIPLIB -# ---------------- -m4_defun([_LT_CMD_STRIPLIB], -[m4_require([_LT_DECL_EGREP]) -striplib= -old_striplib= -AC_MSG_CHECKING([whether stripping libraries is possible]) -if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then - test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" - test -z "$striplib" && striplib="$STRIP --strip-unneeded" - AC_MSG_RESULT([yes]) -else -# FIXME - insert some real tests, host_os isn't really good enough - case $host_os in - darwin*) - if test -n "$STRIP" ; then - striplib="$STRIP -x" - old_striplib="$STRIP -S" - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no]) - fi - ;; - *) - AC_MSG_RESULT([no]) - ;; - esac -fi -_LT_DECL([], [old_striplib], [1], [Commands to strip libraries]) -_LT_DECL([], [striplib], [1]) -])# _LT_CMD_STRIPLIB - - -# _LT_SYS_DYNAMIC_LINKER([TAG]) -# ----------------------------- -# PORTME Fill in your ld.so characteristics -m4_defun([_LT_SYS_DYNAMIC_LINKER], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -m4_require([_LT_DECL_EGREP])dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_OBJDUMP])dnl -m4_require([_LT_DECL_SED])dnl -m4_require([_LT_CHECK_SHELL_FEATURES])dnl -AC_MSG_CHECKING([dynamic linker characteristics]) -m4_if([$1], - [], [ -if test "$GCC" = yes; then - case $host_os in - darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; - *) lt_awk_arg="/^libraries:/" ;; - esac - case $host_os in - mingw* | cegcc*) lt_sed_strip_eq="s,=\([[A-Za-z]]:\),\1,g" ;; - *) lt_sed_strip_eq="s,=/,/,g" ;; - esac - lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` - case $lt_search_path_spec in - *\;*) - # if the path contains ";" then we assume it to be the separator - # otherwise default to the standard path separator (i.e. ":") - it is - # assumed that no part of a normal pathname contains ";" but that should - # okay in the real world where ";" in dirpaths is itself problematic. - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` - ;; - *) - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` - ;; - esac - # Ok, now we have the path, separated by spaces, we can step through it - # and add multilib dir if necessary. - lt_tmp_lt_search_path_spec= - lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` - for lt_sys_path in $lt_search_path_spec; do - if test -d "$lt_sys_path/$lt_multi_os_dir"; then - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" - else - test -d "$lt_sys_path" && \ - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" - fi - done - lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' -BEGIN {RS=" "; FS="/|\n";} { - lt_foo=""; - lt_count=0; - for (lt_i = NF; lt_i > 0; lt_i--) { - if ($lt_i != "" && $lt_i != ".") { - if ($lt_i == "..") { - lt_count++; - } else { - if (lt_count == 0) { - lt_foo="/" $lt_i lt_foo; - } else { - lt_count--; - } - } - } - } - if (lt_foo != "") { lt_freq[[lt_foo]]++; } - if (lt_freq[[lt_foo]] == 1) { print lt_foo; } -}'` - # AWK program above erroneously prepends '/' to C:/dos/paths - # for these hosts. - case $host_os in - mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ - $SED 's,/\([[A-Za-z]]:\),\1,g'` ;; - esac - sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` -else - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" -fi]) -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=".so" -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - -case $host_os in -aix3*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='${libname}${release}${shared_ext}$major' - ;; - -aix[[4-9]]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test "$host_cpu" = ia64; then - # AIX 5 supports IA64 - library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line `#! .'. This would cause the generated library to - # depend on `.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[[01]] | aix4.[[01]].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # AIX (on Power*) has no versioning support, so currently we can not hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - if test "$aix_use_runtimelinking" = yes; then - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - else - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='${libname}${release}.a $libname.a' - soname_spec='${libname}${release}${shared_ext}$major' - fi - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - case $host_cpu in - powerpc) - # Since July 2007 AmigaOS4 officially supports .so libraries. - # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - ;; - m68k) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' - ;; - esac - ;; - -beos*) - library_names_spec='${libname}${shared_ext}' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi[[45]]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32* | cegcc*) - version_type=windows - shrext_cmds=".dll" - need_version=no - need_lib_prefix=no - - case $GCC,$cc_basename in - yes,*) - # gcc - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - 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~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' -m4_if([$1], [],[ - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"]) - ;; - mingw* | cegcc*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' - ;; - 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}' - ;; - esac - dynamic_linker='Win32 ld.exe' - ;; - - *,cl*) - # Native MSVC - libname_spec='$name' - soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' - library_names_spec='${libname}.dll.lib' - - case $build_os in - mingw*) - sys_lib_search_path_spec= - lt_save_ifs=$IFS - IFS=';' - for lt_path in $LIB - do - IFS=$lt_save_ifs - # Let DOS variable expansion print the short 8.3 style file name. - lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` - sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" - done - IFS=$lt_save_ifs - # Convert to MSYS style. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'` - ;; - cygwin*) - # Convert to unix form, then to dos form, then back to unix form - # but this time dos style (no spaces!) so that the unix form looks - # like /cygdrive/c/PROGRA~1:/cygdr... - sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` - sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` - sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - ;; - *) - sys_lib_search_path_spec="$LIB" - if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then - # It is most probably a Windows format PATH. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - # FIXME: find the short name or the path components, as spaces are - # common. (e.g. "Program Files" -> "PROGRA~1") - ;; - esac - - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - 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' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - dynamic_linker='Win32 link.exe' - ;; - - *) - # Assume MSVC wrapper - library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' - dynamic_linker='Win32 ld.exe' - ;; - esac - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' - 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`' -m4_if([$1], [],[ - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -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[[23]].*) objformat=aout ;; - *) objformat=elf ;; - esac - fi - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2.*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[[01]]* | freebsdelf3.[[01]]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ - freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - *) # from 4.6 on, and DragonFly - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; - -gnu*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -haiku*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - dynamic_linker="$host_os runtime_loader" - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LIBRARY_PATH - shlibpath_overrides_runpath=yes - sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - if test "X$HPUX_IA64_MODE" = X32; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - fi - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555, ... - postinstall_cmds='chmod 555 $lib' - # or fails outright, so override atomically: - install_override_mode=555 - ;; - -interix[[3-9]]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test "$lt_cv_prog_gnu_ld" = yes; then - version_type=linux # correct to gnu/linux during the next big refactor - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -# This must be glibc/ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - - # Some binutils ld are patched to set DT_RUNPATH - AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath], - [lt_cv_shlibpath_overrides_runpath=no - save_LDFLAGS=$LDFLAGS - save_libdir=$libdir - eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \ - LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\"" - AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], - [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null], - [lt_cv_shlibpath_overrides_runpath=yes])]) - LDFLAGS=$save_LDFLAGS - libdir=$save_libdir - ]) - shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath - - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # Add ABI-specific directories to the system library path. - sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib" - - # 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>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra" - - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -*nto* | *qnx*) - version_type=qnx - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='ldqnx.so' - ;; - -openbsd*) - version_type=sunos - sys_lib_dlsearch_path_spec="/usr/lib" - 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 - 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 - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - case $host_os in - openbsd2.[[89]] | openbsd2.[[89]].*) - shlibpath_overrides_runpath=no - ;; - *) - shlibpath_overrides_runpath=yes - ;; - esac - else - shlibpath_overrides_runpath=yes - fi - ;; - -os2*) - libname_spec='$name' - shrext_cmds=".dll" - need_lib_prefix=no - library_names_spec='$libname${shared_ext} $libname.a' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=LIBPATH - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" - ;; - -rdos*) - dynamic_linker=no - ;; - -solaris*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test "$with_gnu_ld" = yes; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.3*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec ;then - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' - soname_spec='$libname${shared_ext}.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=freebsd-elf - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - if test "$with_gnu_ld" = yes; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; - -tpf*) - # TPF is a cross-target only. Preferred cross-host = GNU/Linux. - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -uts4*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -AC_MSG_RESULT([$dynamic_linker]) -test "$dynamic_linker" = no && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test "$GCC" = yes; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - -if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then - sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" -fi -if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then - sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" -fi - -_LT_DECL([], [variables_saved_for_relink], [1], - [Variables whose values should be saved in libtool wrapper scripts and - restored at link time]) -_LT_DECL([], [need_lib_prefix], [0], - [Do we need the "lib" prefix for modules?]) -_LT_DECL([], [need_version], [0], [Do we need a version for libraries?]) -_LT_DECL([], [version_type], [0], [Library versioning type]) -_LT_DECL([], [runpath_var], [0], [Shared library runtime path variable]) -_LT_DECL([], [shlibpath_var], [0],[Shared library path variable]) -_LT_DECL([], [shlibpath_overrides_runpath], [0], - [Is shlibpath searched before the hard-coded library search path?]) -_LT_DECL([], [libname_spec], [1], [Format of library name prefix]) -_LT_DECL([], [library_names_spec], [1], - [[List of archive names. First name is the real one, the rest are links. - The last name is the one that the linker finds with -lNAME]]) -_LT_DECL([], [soname_spec], [1], - [[The coded name of the library, if different from the real name]]) -_LT_DECL([], [install_override_mode], [1], - [Permission mode override for installation of shared libraries]) -_LT_DECL([], [postinstall_cmds], [2], - [Command to use after installation of a shared archive]) -_LT_DECL([], [postuninstall_cmds], [2], - [Command to use after uninstallation of a shared archive]) -_LT_DECL([], [finish_cmds], [2], - [Commands used to finish a libtool library installation in a directory]) -_LT_DECL([], [finish_eval], [1], - [[As "finish_cmds", except a single script fragment to be evaled but - not shown]]) -_LT_DECL([], [hardcode_into_libs], [0], - [Whether we should hardcode library paths into libraries]) -_LT_DECL([], [sys_lib_search_path_spec], [2], - [Compile-time system search path for libraries]) -_LT_DECL([], [sys_lib_dlsearch_path_spec], [2], - [Run-time system search path for libraries]) -])# _LT_SYS_DYNAMIC_LINKER - - -# _LT_PATH_TOOL_PREFIX(TOOL) -# -------------------------- -# find a file program which can recognize shared library -AC_DEFUN([_LT_PATH_TOOL_PREFIX], -[m4_require([_LT_DECL_EGREP])dnl -AC_MSG_CHECKING([for $1]) -AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, -[case $MAGIC_CMD in -[[\\/*] | ?:[\\/]*]) - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD="$MAGIC_CMD" - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR -dnl $ac_dummy forces splitting on constant user-supplied paths. -dnl POSIX.2 word splitting is done only on the output of word expansions, -dnl not every word. This closes a longstanding sh security hole. - ac_dummy="m4_if([$2], , $PATH, [$2])" - for ac_dir in $ac_dummy; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$1; then - lt_cv_path_MAGIC_CMD="$ac_dir/$1" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "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 - : - else - cat <<_LT_EOF 1>&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -_LT_EOF - fi ;; - esac - fi - break - fi - done - IFS="$lt_save_ifs" - MAGIC_CMD="$lt_save_MAGIC_CMD" - ;; -esac]) -MAGIC_CMD="$lt_cv_path_MAGIC_CMD" -if test -n "$MAGIC_CMD"; then - AC_MSG_RESULT($MAGIC_CMD) -else - AC_MSG_RESULT(no) -fi -_LT_DECL([], [MAGIC_CMD], [0], - [Used to examine libraries when file_magic_cmd begins with "file"])dnl -])# _LT_PATH_TOOL_PREFIX - -# Old name: -AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], []) - - -# _LT_PATH_MAGIC -# -------------- -# find a file program which can recognize a shared library -m4_defun([_LT_PATH_MAGIC], -[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) -if test -z "$lt_cv_path_MAGIC_CMD"; then - if test -n "$ac_tool_prefix"; then - _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) - else - MAGIC_CMD=: - fi -fi -])# _LT_PATH_MAGIC - - -# LT_PATH_LD -# ---------- -# find the pathname to the GNU or non-GNU linker -AC_DEFUN([LT_PATH_LD], -[AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_CANONICAL_BUILD])dnl -m4_require([_LT_DECL_SED])dnl -m4_require([_LT_DECL_EGREP])dnl -m4_require([_LT_PROG_ECHO_BACKSLASH])dnl - -AC_ARG_WITH([gnu-ld], - [AS_HELP_STRING([--with-gnu-ld], - [assume the C compiler uses GNU ld @<:@default=no@:>@])], - [test "$withval" = no || with_gnu_ld=yes], - [with_gnu_ld=no])dnl - -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - AC_MSG_CHECKING([for ld used by $CC]) - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [[\\/]]* | ?:[[\\/]]*) - re_direlt='/[[^/]][[^/]]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` - while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do - ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test "$with_gnu_ld" = yes; then - AC_MSG_CHECKING([for GNU ld]) -else - AC_MSG_CHECKING([for non-GNU ld]) -fi -AC_CACHE_VAL(lt_cv_path_LD, -[if test -z "$LD"; then - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - 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. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$lt_cv_path_LD" -v 2>&1 &1 /dev/null 2>&1; then - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='func_win32_libid' - else - # Keep this pattern in sync with the one in func_win32_libid. - lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' - lt_cv_file_magic_cmd='$OBJDUMP -f' - fi - ;; - -cegcc*) - # use the weaker test based on 'objdump'. See mingw*. - lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' - lt_cv_file_magic_cmd='$OBJDUMP -f' - ;; - -darwin* | rhapsody*) - lt_cv_deplibs_check_method=pass_all - ;; - -freebsd* | dragonfly*) - 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_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` - ;; - esac - else - lt_cv_deplibs_check_method=pass_all - fi - ;; - -gnu*) - lt_cv_deplibs_check_method=pass_all - ;; - -haiku*) - lt_cv_deplibs_check_method=pass_all - ;; - -hpux10.20* | hpux11*) - lt_cv_file_magic_cmd=/usr/bin/file - 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 - ;; - hppa*64*) - [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'] - lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl - ;; - *) - lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library' - lt_cv_file_magic_test_file=/usr/lib/libc.sl - ;; - esac - ;; - -interix[[3-9]]*) - # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' - ;; - -irix5* | irix6* | nonstopux*) - case $LD in - *-32|*"-32 ") libmagic=32-bit;; - *-n32|*"-n32 ") libmagic=N32;; - *-64|*"-64 ") libmagic=64-bit;; - *) libmagic=never-match;; - esac - lt_cv_deplibs_check_method=pass_all - ;; - -# This must be glibc/ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu) - lt_cv_deplibs_check_method=pass_all - ;; - -netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' - fi - ;; - -newos6*) - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=/usr/lib/libnls.so - ;; - -*nto* | *qnx*) - lt_cv_deplibs_check_method=pass_all - ;; - -openbsd*) - 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)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' - fi - ;; - -osf3* | osf4* | osf5*) - lt_cv_deplibs_check_method=pass_all - ;; - -rdos*) - lt_cv_deplibs_check_method=pass_all - ;; - -solaris*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv4 | sysv4.3*) - case $host_vendor in - motorola) - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` - ;; - ncr) - lt_cv_deplibs_check_method=pass_all - ;; - sequent) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' - ;; - sni) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" - lt_cv_file_magic_test_file=/lib/libc.so - ;; - siemens) - lt_cv_deplibs_check_method=pass_all - ;; - pc) - lt_cv_deplibs_check_method=pass_all - ;; - esac - ;; - -tpf*) - lt_cv_deplibs_check_method=pass_all - ;; -esac -]) - -file_magic_glob= -want_nocaseglob=no -if test "$build" = "$host"; then - case $host_os in - mingw* | pw32*) - if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then - want_nocaseglob=yes - else - file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"` - fi - ;; - esac -fi - -file_magic_cmd=$lt_cv_file_magic_cmd -deplibs_check_method=$lt_cv_deplibs_check_method -test -z "$deplibs_check_method" && deplibs_check_method=unknown - -_LT_DECL([], [deplibs_check_method], [1], - [Method to check whether dependent libraries are shared objects]) -_LT_DECL([], [file_magic_cmd], [1], - [Command to use when deplibs_check_method = "file_magic"]) -_LT_DECL([], [file_magic_glob], [1], - [How to find potential files when deplibs_check_method = "file_magic"]) -_LT_DECL([], [want_nocaseglob], [1], - [Find potential files using nocaseglob when deplibs_check_method = "file_magic"]) -])# _LT_CHECK_MAGIC_METHOD - - -# LT_PATH_NM -# ---------- -# find the pathname to a BSD- or MS-compatible name lister -AC_DEFUN([LT_PATH_NM], -[AC_REQUIRE([AC_PROG_CC])dnl -AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM, -[if test -n "$NM"; then - # Let the user override the test. - lt_cv_path_NM="$NM" -else - lt_nm_to_check="${ac_tool_prefix}nm" - if test -n "$ac_tool_prefix" && test "$build" = "$host"; then - lt_nm_to_check="$lt_nm_to_check nm" - fi - for lt_tmp_nm in $lt_nm_to_check; do - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - tmp_nm="$ac_dir/$lt_tmp_nm" - if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then - # Check to see if the nm accepts a BSD-compat flag. - # Adding the `sed 1q' prevents false positives on HP-UX, which says: - # nm: unknown option "B" ignored - # Tru64's nm complains that /dev/null is an invalid object file - case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in - */dev/null* | *'Invalid file or object type'*) - lt_cv_path_NM="$tmp_nm -B" - break - ;; - *) - case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in - */dev/null*) - lt_cv_path_NM="$tmp_nm -p" - break - ;; - *) - lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but - continue # so that we can try to find one that supports BSD flags - ;; - esac - ;; - esac - fi - done - IFS="$lt_save_ifs" - done - : ${lt_cv_path_NM=no} -fi]) -if test "$lt_cv_path_NM" != "no"; then - NM="$lt_cv_path_NM" -else - # Didn't find any BSD compatible name lister, look for dumpbin. - if test -n "$DUMPBIN"; then : - # Let the user override the test. - else - AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :) - case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in - *COFF*) - DUMPBIN="$DUMPBIN -symbols" - ;; - *) - DUMPBIN=: - ;; - esac - fi - AC_SUBST([DUMPBIN]) - if test "$DUMPBIN" != ":"; then - NM="$DUMPBIN" - fi -fi -test -z "$NM" && NM=nm -AC_SUBST([NM]) -_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl - -AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface], - [lt_cv_nm_interface="BSD nm" - echo "int some_variable = 0;" > conftest.$ac_ext - (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD) - (eval "$ac_compile" 2>conftest.err) - cat conftest.err >&AS_MESSAGE_LOG_FD - (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD) - (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) - cat conftest.err >&AS_MESSAGE_LOG_FD - (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD) - cat conftest.out >&AS_MESSAGE_LOG_FD - if $GREP 'External.*some_variable' conftest.out > /dev/null; then - lt_cv_nm_interface="MS dumpbin" - fi - rm -f conftest*]) -])# LT_PATH_NM - -# Old names: -AU_ALIAS([AM_PROG_NM], [LT_PATH_NM]) -AU_ALIAS([AC_PROG_NM], [LT_PATH_NM]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AM_PROG_NM], []) -dnl AC_DEFUN([AC_PROG_NM], []) - -# _LT_CHECK_SHAREDLIB_FROM_LINKLIB -# -------------------------------- -# how to determine the name of the shared library -# associated with a specific link library. -# -- PORTME fill in with the dynamic library characteristics -m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB], -[m4_require([_LT_DECL_EGREP]) -m4_require([_LT_DECL_OBJDUMP]) -m4_require([_LT_DECL_DLLTOOL]) -AC_CACHE_CHECK([how to associate runtime and link libraries], -lt_cv_sharedlib_from_linklib_cmd, -[lt_cv_sharedlib_from_linklib_cmd='unknown' - -case $host_os in -cygwin* | mingw* | pw32* | cegcc*) - # two different shell functions defined in ltmain.sh - # decide which to use based on capabilities of $DLLTOOL - case `$DLLTOOL --help 2>&1` in - *--identify-strict*) - lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib - ;; - *) - lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback - ;; - esac - ;; -*) - # fallback: assume linklib IS sharedlib - lt_cv_sharedlib_from_linklib_cmd="$ECHO" - ;; -esac -]) -sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd -test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO - -_LT_DECL([], [sharedlib_from_linklib_cmd], [1], - [Command to associate shared and link libraries]) -])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB - - -# _LT_PATH_MANIFEST_TOOL -# ---------------------- -# locate the manifest tool -m4_defun([_LT_PATH_MANIFEST_TOOL], -[AC_CHECK_TOOL(MANIFEST_TOOL, mt, :) -test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt -AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool], - [lt_cv_path_mainfest_tool=no - echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD - $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out - cat conftest.err >&AS_MESSAGE_LOG_FD - if $GREP 'Manifest Tool' conftest.out > /dev/null; then - lt_cv_path_mainfest_tool=yes - fi - rm -f conftest*]) -if test "x$lt_cv_path_mainfest_tool" != xyes; then - MANIFEST_TOOL=: -fi -_LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl -])# _LT_PATH_MANIFEST_TOOL - - -# LT_LIB_M -# -------- -# check for math library -AC_DEFUN([LT_LIB_M], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -LIBM= -case $host in -*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*) - # These system don't have libm, or don't need it - ;; -*-ncr-sysv4.3*) - AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") - AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") - ;; -*) - AC_CHECK_LIB(m, cos, LIBM="-lm") - ;; -esac -AC_SUBST([LIBM]) -])# LT_LIB_M - -# Old name: -AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_CHECK_LIBM], []) - - -# _LT_COMPILER_NO_RTTI([TAGNAME]) -# ------------------------------- -m4_defun([_LT_COMPILER_NO_RTTI], -[m4_require([_LT_TAG_COMPILER])dnl - -_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= - -if test "$GCC" = yes; then - case $cc_basename in - nvcc*) - _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;; - *) - _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;; - esac - - _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], - lt_cv_prog_compiler_rtti_exceptions, - [-fno-rtti -fno-exceptions], [], - [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) -fi -_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1], - [Compiler flag to turn off builtin functions]) -])# _LT_COMPILER_NO_RTTI - - -# _LT_CMD_GLOBAL_SYMBOLS -# ---------------------- -m4_defun([_LT_CMD_GLOBAL_SYMBOLS], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([AC_PROG_AWK])dnl -AC_REQUIRE([LT_PATH_NM])dnl -AC_REQUIRE([LT_PATH_LD])dnl -m4_require([_LT_DECL_SED])dnl -m4_require([_LT_DECL_EGREP])dnl -m4_require([_LT_TAG_COMPILER])dnl - -# Check for command to grab the raw symbol name followed by C symbol from nm. -AC_MSG_CHECKING([command to parse $NM output from $compiler object]) -AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], -[ -# These are sane defaults that work on at least a few old systems. -# [They come from Ultrix. What could be older than Ultrix?!! ;)] - -# Character class describing NM global symbol codes. -symcode='[[BCDEGRST]]' - -# Regexp to match symbols that can be accessed directly from C. -sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' - -# Define system-specific variables. -case $host_os in -aix*) - symcode='[[BCDT]]' - ;; -cygwin* | mingw* | pw32* | cegcc*) - symcode='[[ABCDGISTW]]' - ;; -hpux*) - if test "$host_cpu" = ia64; then - symcode='[[ABCDEGRST]]' - fi - ;; -irix* | nonstopux*) - symcode='[[BCDEGRST]]' - ;; -osf*) - symcode='[[BCDEGQRST]]' - ;; -solaris*) - symcode='[[BDRT]]' - ;; -sco3.2v5*) - symcode='[[DT]]' - ;; -sysv4.2uw2*) - symcode='[[DT]]' - ;; -sysv5* | sco5v6* | unixware* | OpenUNIX*) - symcode='[[ABDT]]' - ;; -sysv4) - symcode='[[DFNSTU]]' - ;; -esac - -# If we're using GNU nm, then use its standard symbol codes. -case `$NM -V 2>&1` in -*GNU* | *'with BFD'*) - symcode='[[ABCDGIRSTW]]' ;; -esac - -# Transform an extracted symbol line into a proper C declaration. -# Some systems (esp. on ia64) link data and code symbols differently, -# so use this general approach. -lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" - -# Transform an extracted symbol line into symbol name and symbol address -lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'" -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"lib\2\", (void *) \&\2},/p'" - -# Handle CRLF in mingw tool chain -opt_cr= -case $build_os in -mingw*) - opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp - ;; -esac - -# Try without a prefix underscore, 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. - if test "$lt_cv_nm_interface" = "MS dumpbin"; then - # Fake it for dumpbin and say T for any non-static function - # and D for any global variable. - # Also find C++ and __fastcall symbols from MSVC++, - # which start with @ or ?. - lt_cv_sys_global_symbol_pipe="$AWK ['"\ -" {last_section=section; section=\$ 3};"\ -" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ -" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ -" \$ 0!~/External *\|/{next};"\ -" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ -" {if(hide[section]) next};"\ -" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ -" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ -" s[1]~/^[@?]/{print s[1], s[1]; next};"\ -" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ -" ' prfx=^$ac_symprfx]" - else - lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" - fi - lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" - - # Check to see that the pipe works correctly. - pipe_works=no - - rm -f conftest* - cat > conftest.$ac_ext <<_LT_EOF -#ifdef __cplusplus -extern "C" { -#endif -char nm_test_var; -void nm_test_func(void); -void nm_test_func(void){} -#ifdef __cplusplus -} -#endif -int main(){nm_test_var='a';nm_test_func();return(0);} -_LT_EOF - - if AC_TRY_EVAL(ac_compile); then - # Now try to grab the symbols. - nlist=conftest.nm - if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then - # Try sorting and uniquifying the output. - if sort "$nlist" | uniq > "$nlist"T; then - mv -f "$nlist"T "$nlist" - else - rm -f "$nlist"T - fi - - # Make sure that we snagged all the symbols we need. - if $GREP ' nm_test_var$' "$nlist" >/dev/null; then - if $GREP ' nm_test_func$' "$nlist" >/dev/null; then - cat <<_LT_EOF > conftest.$ac_ext -/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ -#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE) -/* DATA imports from DLLs on WIN32 con't be const, because runtime - relocations are performed -- see ld's documentation on pseudo-relocs. */ -# define LT@&t@_DLSYM_CONST -#elif defined(__osf__) -/* This system does not cope well with relocations in const data. */ -# define LT@&t@_DLSYM_CONST -#else -# define LT@&t@_DLSYM_CONST const -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -_LT_EOF - # Now generate the symbol file. - eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' - - cat <<_LT_EOF >> conftest.$ac_ext - -/* The mapping between symbol names and symbols. */ -LT@&t@_DLSYM_CONST struct { - const char *name; - void *address; -} -lt__PROGRAM__LTX_preloaded_symbols[[]] = -{ - { "@PROGRAM@", (void *) 0 }, -_LT_EOF - $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext - cat <<\_LT_EOF >> conftest.$ac_ext - {0, (void *) 0} -}; - -/* This works around a problem in FreeBSD linker */ -#ifdef FREEBSD_WORKAROUND -static const void *lt_preloaded_setup() { - return lt__PROGRAM__LTX_preloaded_symbols; -} -#endif - -#ifdef __cplusplus -} -#endif -_LT_EOF - # Now try linking the two files. - mv conftest.$ac_objext conftstm.$ac_objext - lt_globsym_save_LIBS=$LIBS - lt_globsym_save_CFLAGS=$CFLAGS - LIBS="conftstm.$ac_objext" - CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" - if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then - pipe_works=yes - fi - LIBS=$lt_globsym_save_LIBS - CFLAGS=$lt_globsym_save_CFLAGS - else - echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD - fi - else - echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD - fi - else - echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD - fi - else - echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD - cat conftest.$ac_ext >&5 - fi - rm -rf conftest* conftst* - - # Do not use the global_symbol_pipe unless it works. - if test "$pipe_works" = yes; then - break - else - lt_cv_sys_global_symbol_pipe= - fi -done -]) -if test -z "$lt_cv_sys_global_symbol_pipe"; then - lt_cv_sys_global_symbol_to_cdecl= -fi -if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then - AC_MSG_RESULT(failed) -else - AC_MSG_RESULT(ok) -fi - -# Response file support. -if test "$lt_cv_nm_interface" = "MS dumpbin"; then - nm_file_list_spec='@' -elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then - nm_file_list_spec='@' -fi - -_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1], - [Take the output of nm and produce a listing of raw symbols and C names]) -_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1], - [Transform the output of nm in a proper C declaration]) -_LT_DECL([global_symbol_to_c_name_address], - [lt_cv_sys_global_symbol_to_c_name_address], [1], - [Transform the output of nm in a C name address pair]) -_LT_DECL([global_symbol_to_c_name_address_lib_prefix], - [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1], - [Transform the output of nm in a C name address pair when lib prefix is needed]) -_LT_DECL([], [nm_file_list_spec], [1], - [Specify filename containing input files for $NM]) -]) # _LT_CMD_GLOBAL_SYMBOLS - - -# _LT_COMPILER_PIC([TAGNAME]) -# --------------------------- -m4_defun([_LT_COMPILER_PIC], -[m4_require([_LT_TAG_COMPILER])dnl -_LT_TAGVAR(lt_prog_compiler_wl, $1)= -_LT_TAGVAR(lt_prog_compiler_pic, $1)= -_LT_TAGVAR(lt_prog_compiler_static, $1)= - -m4_if([$1], [CXX], [ - # C++ specific cases for pic, static, wl, etc. - if test "$GXX" = yes; then - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - m68k) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' - ;; - esac - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - mingw* | cygwin* | os2* | pw32* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - m4_if([$1], [GCJ], [], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) - ;; - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' - ;; - *djgpp*) - # DJGPP does not support shared libraries at all - _LT_TAGVAR(lt_prog_compiler_pic, $1)= - ;; - haiku*) - # PIC is the default for Haiku. - # The "-static" flag exists, but is broken. - _LT_TAGVAR(lt_prog_compiler_static, $1)= - ;; - interix[[3-9]]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - sysv4*MP*) - if test -d /usr/nec; then - _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic - fi - ;; - hpux*) - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag - # sets the default TLS model and affects inlining. - case $host_cpu in - hppa*64*) - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - ;; - *qnx* | *nto*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - else - case $host_os in - aix[[4-9]]*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - else - _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' - fi - ;; - chorus*) - case $cc_basename in - cxch68*) - # Green Hills C++ Compiler - # _LT_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 - ;; - mingw* | cygwin* | os2* | pw32* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - m4_if([$1], [GCJ], [], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) - ;; - dgux*) - case $cc_basename in - ec++*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - ;; - ghcx*) - # Green Hills C++ Compiler - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - *) - ;; - esac - ;; - freebsd* | dragonfly*) - # FreeBSD uses GNU C++ - ;; - hpux9* | hpux10* | hpux11*) - case $cc_basename in - CC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' - if test "$host_cpu" != ia64; then - _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - fi - ;; - aCC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - ;; - esac - ;; - *) - ;; - esac - ;; - interix*) - # This is c89, which is MS Visual C++ (no shared libs) - # Anyone wants to do a port? - ;; - irix5* | irix6* | nonstopux*) - case $cc_basename in - CC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - # CC pic flag -KPIC is the default. - ;; - *) - ;; - esac - ;; - linux* | k*bsd*-gnu | kopensolaris*-gnu) - case $cc_basename in - KCC*) - # KAI C++ Compiler - _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - ecpc* ) - # old Intel C++ for x86_64 which still supported -KPIC. - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - icpc* ) - # Intel C++, used to be incompatible with GCC. - # ICC 10 doesn't accept -KPIC any more. - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - pgCC* | pgcpp*) - # Portland Group C++ compiler - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - cxx*) - # Compaq C++ - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - _LT_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*) - # IBM XL 8.0, 9.0 on PPC and BlueGene - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - ;; - esac - ;; - esac - ;; - lynxos*) - ;; - m88k*) - ;; - mvs*) - case $cc_basename in - cxx*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' - ;; - *) - ;; - esac - ;; - netbsd*) - ;; - *qnx* | *nto*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' - ;; - osf3* | osf4* | osf5*) - case $cc_basename in - KCC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' - ;; - RCC*) - # Rational C++ 2.4.1 - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - cxx*) - # Digital/Compaq C++ - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - _LT_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - *) - ;; - esac - ;; - psos*) - ;; - solaris*) - case $cc_basename in - CC* | sunCC*) - # Sun C++ 4.2, 5.x and Centerline C++ - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - ;; - gcx*) - # Green Hills C++ Compiler - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' - ;; - *) - ;; - esac - ;; - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - lcc*) - # Lucid - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - *) - ;; - esac - ;; - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - case $cc_basename in - CC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - esac - ;; - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - ;; - *) - ;; - esac - ;; - vxworks*) - ;; - *) - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - esac - fi -], -[ - if test "$GCC" = yes; then - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - m68k) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' - ;; - esac - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - m4_if([$1], [GCJ], [], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' - ;; - - haiku*) - # PIC is the default for Haiku. - # The "-static" flag exists, but is broken. - _LT_TAGVAR(lt_prog_compiler_static, $1)= - ;; - - hpux*) - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag - # sets the default TLS model and affects inlining. - case $host_cpu in - hppa*64*) - # +Z the default - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - ;; - - interix[[3-9]]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - enable_shared=no - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic - fi - ;; - - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - - case $cc_basename in - nvcc*) # Cuda Compiler Driver 2.2 - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker ' - if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then - _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)" - fi - ;; - esac - else - # PORTME Check for flag to pass linker flags through the system compiler. - case $host_os in - aix*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - else - _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' - fi - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - m4_if([$1], [GCJ], [], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) - ;; - - hpux9* | hpux10* | hpux11*) - _LT_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 - hppa*64*|ia64*) - # +Z the default - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' - ;; - - irix5* | irix6* | nonstopux*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # PIC (with -KPIC) is the default. - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - - linux* | k*bsd*-gnu | kopensolaris*-gnu) - case $cc_basename in - # old Intel for x86_64 which still supported -KPIC. - ecc*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - # icc used to be incompatible with GCC. - # ICC 10 doesn't accept -KPIC any more. - icc* | ifort*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - # Lahey Fortran 8.1. - lf95*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared' - _LT_TAGVAR(lt_prog_compiler_static, $1)='--static' - ;; - nagfor*) - # NAG Fortran compiler - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - ccc*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # All Alpha code is PIC. - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - xl* | bgxl* | bgf* | mpixl*) - # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*) - # Sun Fortran 8.3 passes all unrecognized flags to the linker - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_TAGVAR(lt_prog_compiler_wl, $1)='' - ;; - *Sun\ F* | *Sun*Fortran*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - ;; - *Sun\ C*) - # Sun C 5.9 - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - ;; - *Intel*\ [[CF]]*Compiler*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - *Portland\ Group*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - esac - ;; - esac - ;; - - newsos6) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' - ;; - - osf3* | osf4* | osf5*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # All OSF/1 code is PIC. - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - - rdos*) - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - - solaris*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - case $cc_basename in - f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; - *) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; - esac - ;; - - sunos4*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - sysv4 | sysv4.2uw2* | sysv4.3*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - sysv4*MP*) - if test -d /usr/nec ;then - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - ;; - - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - unicos*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - - uts4*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - *) - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - esac - fi -]) -case $host_os in - # For platforms which do not support PIC, -DPIC is meaningless: - *djgpp*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)= - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])" - ;; -esac - -AC_CACHE_CHECK([for $compiler option to produce PIC], - [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)], - [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)]) -_LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1) - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then - _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works], - [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)], - [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [], - [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in - "" | " "*) ;; - *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;; - esac], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) -fi -_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1], - [Additional compiler flags for building library objects]) - -_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1], - [How to pass a linker flag through the compiler]) -# -# Check to make sure the static flag actually works. -# -wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\" -_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], - _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1), - $lt_tmp_static_flag, - [], - [_LT_TAGVAR(lt_prog_compiler_static, $1)=]) -_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1], - [Compiler flag to prevent dynamic linking]) -])# _LT_COMPILER_PIC - - -# _LT_LINKER_SHLIBS([TAGNAME]) -# ---------------------------- -# See if the linker supports building shared libraries. -m4_defun([_LT_LINKER_SHLIBS], -[AC_REQUIRE([LT_PATH_LD])dnl -AC_REQUIRE([LT_PATH_NM])dnl -m4_require([_LT_PATH_MANIFEST_TOOL])dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_EGREP])dnl -m4_require([_LT_DECL_SED])dnl -m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl -m4_require([_LT_TAG_COMPILER])dnl -AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) -m4_if([$1], [CXX], [ - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] - case $host_os in - aix[[4-9]]*) - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - # Also, AIX nm treats weak defined symbols like other global defined - # symbols, whereas GNU nm marks them as "W". - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - else - _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - fi - ;; - pw32*) - _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" - ;; - cygwin* | mingw* | cegcc*) - case $cc_basename in - cl*) - _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' - ;; - *) - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' - _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] - ;; - esac - ;; - *) - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - ;; - esac -], [ - runpath_var= - _LT_TAGVAR(allow_undefined_flag, $1)= - _LT_TAGVAR(always_export_symbols, $1)=no - _LT_TAGVAR(archive_cmds, $1)= - _LT_TAGVAR(archive_expsym_cmds, $1)= - _LT_TAGVAR(compiler_needs_object, $1)=no - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no - _LT_TAGVAR(export_dynamic_flag_spec, $1)= - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - _LT_TAGVAR(hardcode_automatic, $1)=no - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_direct_absolute, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= - _LT_TAGVAR(hardcode_libdir_separator, $1)= - _LT_TAGVAR(hardcode_minus_L, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported - _LT_TAGVAR(inherit_rpath, $1)=no - _LT_TAGVAR(link_all_deplibs, $1)=unknown - _LT_TAGVAR(module_cmds, $1)= - _LT_TAGVAR(module_expsym_cmds, $1)= - _LT_TAGVAR(old_archive_from_new_cmds, $1)= - _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)= - _LT_TAGVAR(thread_safe_flag_spec, $1)= - _LT_TAGVAR(whole_archive_flag_spec, $1)= - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - _LT_TAGVAR(include_expsyms, $1)= - # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ` (' and `)$', so one must not match beginning or - # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', - # as well as any symbol that contains `d'. - _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] - # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out - # platforms (ab)use it in PIC code, but their linkers get confused if - # the symbol is explicitly referenced. Since portable code cannot - # rely on this symbol name, it's probably fine to never include it in - # preloaded symbol tables. - # Exclude shared library initialization/finalization symbols. -dnl Note also adjust exclude_expsyms for C++ above. - extract_expsyms_cmds= - - case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - if test "$GCC" != yes; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) - with_gnu_ld=yes - ;; - openbsd*) - with_gnu_ld=no - ;; - esac - - _LT_TAGVAR(ld_shlibs, $1)=yes - - # On some targets, GNU ld is compatible enough with the native linker - # that we're better off using the native interface for both. - lt_use_gnu_ld_interface=no - if test "$with_gnu_ld" = yes; then - case $host_os in - aix*) - # The AIX port of GNU ld has always aspired to compatibility - # with the native linker. However, as the warning in the GNU ld - # block says, versions before 2.19.5* couldn't really create working - # shared libraries, regardless of the interface used. - case `$LD -v 2>&1` in - *\ \(GNU\ Binutils\)\ 2.19.5*) ;; - *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;; - *\ \(GNU\ Binutils\)\ [[3-9]]*) ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - fi - - if test "$lt_use_gnu_ld_interface" = yes; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='${wl}' - - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - runpath_var=LD_RUN_PATH - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_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_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - _LT_TAGVAR(whole_archive_flag_spec, $1)= - fi - supports_anon_versioning=no - case `$LD -v 2>&1` in - *GNU\ gold*) supports_anon_versioning=yes ;; - *\ [[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 - aix[[3-9]]*) - # On AIX/PPC, the GNU linker is very broken - if test "$host_cpu" != ia64; then - _LT_TAGVAR(ld_shlibs, $1)=no - cat <<_LT_EOF 1>&2 - -*** Warning: the GNU linker, at least up to release 2.19, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to install binutils -*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. -*** You will then need to restart the configuration process. - -_LT_EOF - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='' - ;; - m68k) - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_minus_L, $1)=yes - ;; - esac - ;; - - beos*) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, - # as there is no search path for DLLs. - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols' - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(always_export_symbols, $1)=no - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' - _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] - - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - haiku*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(link_all_deplibs, $1)=yes - ;; - - interix[[3-9]]*) - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - - gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) - tmp_diet=no - if test "$host_os" = linux-dietlibc; then - case $cc_basename in - diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) - esac - fi - if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ - && test "$tmp_diet" = no - then - tmp_addflag=' $pic_flag' - tmp_sharedflag='-shared' - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95* | pgfortran*) - # Portland Group f77 and f90 compilers - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$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' ;; - lf95*) # Lahey Fortran 8.1 - _LT_TAGVAR(whole_archive_flag_spec, $1)= - tmp_sharedflag='--shared' ;; - xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below) - tmp_sharedflag='-qmkshrobj' - tmp_addflag= ;; - nvcc*) # Cuda Compiler Driver 2.2 - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - _LT_TAGVAR(compiler_needs_object, $1)=yes - ;; - esac - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) # Sun C 5.9 - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - _LT_TAGVAR(compiler_needs_object, $1)=yes - tmp_sharedflag='-G' ;; - *Sun\ F*) # Sun Fortran 8.3 - tmp_sharedflag='-G' ;; - esac - _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - - if test "x$supports_anon_versioning" = xyes; then - _LT_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 '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - fi - - case $cc_basename in - xlf* | bgf* | bgxlf* | mpixlf*) - # IBM XL Fortran 10.1 on PPC cannot create shared libs itself - _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' - if test "x$supports_anon_versioning" = xyes; then - _LT_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~ - $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' - fi - ;; - esac - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; - - solaris*) - if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then - _LT_TAGVAR(ld_shlibs, $1)=no - cat <<_LT_EOF 1>&2 - -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) - _LT_TAGVAR(ld_shlibs, $1)=no - cat <<_LT_EOF 1>&2 - -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not -*** reliably create shared libraries on SCO systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.16.91.0.3 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - ;; - *) - # For security reasons, it is highly recommended that you always - # use absolute paths for naming shared libraries, and exclude the - # DT_RUNPATH tag from executables and libraries. But doing so - # requires that you compile everything twice, which is a pain. - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - - sunos4*) - _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - *) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - - if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then - runpath_var= - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= - _LT_TAGVAR(export_dynamic_flag_spec, $1)= - _LT_TAGVAR(whole_archive_flag_spec, $1)= - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(always_export_symbols, $1)=yes - _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - _LT_TAGVAR(hardcode_minus_L, $1)=yes - if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - _LT_TAGVAR(hardcode_direct, $1)=unsupported - fi - ;; - - aix[[4-9]]*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - # Also, AIX nm treats weak defined symbols like other global - # defined symbols, whereas GNU nm marks them as "W". - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - else - _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - fi - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) - for ld_flag in $LDFLAGS; do - if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then - aix_use_runtimelinking=yes - break - fi - done - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - _LT_TAGVAR(archive_cmds, $1)='' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' - - if test "$GCC" = yes; then - 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` - if test -f "$collect2name" && - strings "$collect2name" | $GREP resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - _LT_TAGVAR(hardcode_direct, $1)=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)= - 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 - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - _LT_TAGVAR(always_export_symbols, $1)=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - _LT_TAGVAR(allow_undefined_flag, $1)='-berok' - # Determine the default libpath from the value encoded in an - # empty executable. - _LT_SYS_MODULE_PATH_AIX([$1]) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' - _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" - _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an - # empty executable. - _LT_SYS_MODULE_PATH_AIX([$1]) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' - if test "$with_gnu_ld" = yes; then - # We only use this code for GNU lds that support --whole-archive. - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' - else - # Exported symbols can be pulled into shared objects from archives - _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' - fi - _LT_TAGVAR(archive_cmds_need_lc, $1)=yes - # This is similar to how AIX traditionally builds its shared libraries. - _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='' - ;; - m68k) - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_minus_L, $1)=yes - ;; - esac - ;; - - bsdi[[45]]*) - _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - case $cc_basename in - cl*) - # Native MSVC - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(always_export_symbols, $1)=yes - _LT_TAGVAR(file_list_spec, $1)='@' - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames=' - _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; - else - sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; - fi~ - $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ - linknames=' - # The linker will not automatically build a static lib if we build a DLL. - # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' - _LT_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' - # Don't use ranlib - _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' - _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ - lt_tool_outputfile="@TOOL_OUTPUT@"~ - case $lt_outputfile in - *.exe|*.EXE) ;; - *) - lt_outputfile="$lt_outputfile.exe" - lt_tool_outputfile="$lt_tool_outputfile.exe" - ;; - esac~ - if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then - $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; - $RM "$lt_outputfile.manifest"; - fi' - ;; - *) - # Assume MSVC wrapper - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' - # FIXME: Should let the user specify the lib program. - _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs' - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - ;; - esac - ;; - - darwin* | rhapsody*) - _LT_DARWIN_LINKER_FEATURES($1) - ;; - - dgux*) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2.*) - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | dragonfly*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - hpux9*) - if test "$GCC" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - fi - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(hardcode_direct, $1)=yes - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - ;; - - hpux10*) - if test "$GCC" = yes && test "$with_gnu_ld" = no; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - fi - if test "$with_gnu_ld" = no; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_TAGVAR(hardcode_minus_L, $1)=yes - fi - ;; - - hpux11*) - if test "$GCC" = yes && test "$with_gnu_ld" = no; then - case $host_cpu in - hppa*64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case $host_cpu in - hppa*64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - m4_if($1, [], [ - # Older versions of the 11.00 compiler do not understand -b yet - # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) - _LT_LINKER_OPTION([if $CC understands -b], - _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b], - [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'], - [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])], - [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags']) - ;; - esac - fi - if test "$with_gnu_ld" = no; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - case $host_cpu in - hppa*64*|ia64*) - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - *) - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_TAGVAR(hardcode_minus_L, $1)=yes - ;; - esac - fi - ;; - - irix5* | irix6* | nonstopux*) - if test "$GCC" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - # Try to use the -exported_symbol ld option, if it does not - # work, assume that -exports_file does not work either and - # implicitly export all symbols. - # This should be the same for all languages, so no per-tag cache variable. - AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol], - [lt_cv_irix_exported_symbol], - [save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" - AC_LINK_IFELSE( - [AC_LANG_SOURCE( - [AC_LANG_CASE([C], [[int foo (void) { return 0; }]], - [C++], [[int foo (void) { return 0; }]], - [Fortran 77], [[ - subroutine foo - end]], - [Fortran], [[ - subroutine foo - end]])])], - [lt_cv_irix_exported_symbol=yes], - [lt_cv_irix_exported_symbol=no]) - LDFLAGS="$save_LDFLAGS"]) - if test "$lt_cv_irix_exported_symbol" = yes; then - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' - fi - else - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' - fi - _LT_TAGVAR(archive_cmds_need_lc, $1)='no' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(inherit_rpath, $1)=yes - _LT_TAGVAR(link_all_deplibs, $1)=yes - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - newsos6) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - *nto* | *qnx*) - ;; - - openbsd*) - if test -f /usr/libexec/ld.so; then - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - else - case $host_os in - openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - ;; - esac - fi - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - os2*) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' - _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' - ;; - - osf3*) - if test "$GCC" = yes; then - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - fi - _LT_TAGVAR(archive_cmds_need_lc, $1)='no' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - ;; - - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test "$GCC" = yes; then - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - else - _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ - $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' - - # Both c and cxx compiler support -rpath directly - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - fi - _LT_TAGVAR(archive_cmds_need_lc, $1)='no' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - ;; - - solaris*) - _LT_TAGVAR(no_undefined_flag, $1)=' -z defs' - if test "$GCC" = yes; then - wlarc='${wl}' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - else - case `$CC -V 2>&1` in - *"Compilers 5.0"*) - wlarc='' - _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_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' - ;; - *) - wlarc='${wl}' - _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_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} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - ;; - esac - fi - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - case $host_os in - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands `-z linker_flag'. GCC discards it without `$wl', - # but is careful enough not to reorder. - # Supported since Solaris 2.6 (maybe 2.5.1?) - if test "$GCC" = yes; then - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' - else - _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' - fi - ;; - esac - _LT_TAGVAR(link_all_deplibs, $1)=yes - ;; - - sunos4*) - if test "x$host_vendor" = xsequent; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - sysv4) - case $host_vendor in - sni) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' - _LT_TAGVAR(hardcode_direct, $1)=no - ;; - motorola) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - sysv4.3*) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - _LT_TAGVAR(ld_shlibs, $1)=yes - fi - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) - _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - uts4*) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - *) - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - - if test x$host_vendor = xsni; then - case $host in - sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym' - ;; - esac - fi - fi -]) -AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) -test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no - -_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld - -_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl -_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl -_LT_DECL([], [extract_expsyms_cmds], [2], - [The commands to extract the exported symbol list from a shared archive]) - -# -# Do we need to explicitly link libc? -# -case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in -x|xyes) - # Assume -lc should be added - _LT_TAGVAR(archive_cmds_need_lc, $1)=yes - - if test "$enable_shared" = yes && test "$GCC" = yes; then - case $_LT_TAGVAR(archive_cmds, $1) in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - AC_CACHE_CHECK([whether -lc should be explicitly linked in], - [lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1), - [$RM conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - if AC_TRY_EVAL(ac_compile) 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) - pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1) - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1) - _LT_TAGVAR(allow_undefined_flag, $1)= - if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) - then - lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no - else - lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes - fi - _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $RM conftest* - ]) - _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1) - ;; - esac - fi - ;; -esac - -_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0], - [Whether or not to add -lc for building shared libraries]) -_LT_TAGDECL([allow_libtool_libs_with_static_runtimes], - [enable_shared_with_static_runtimes], [0], - [Whether or not to disallow shared libs when runtime libs are static]) -_LT_TAGDECL([], [export_dynamic_flag_spec], [1], - [Compiler flag to allow reflexive dlopens]) -_LT_TAGDECL([], [whole_archive_flag_spec], [1], - [Compiler flag to generate shared objects directly from archives]) -_LT_TAGDECL([], [compiler_needs_object], [1], - [Whether the compiler copes with passing no objects directly]) -_LT_TAGDECL([], [old_archive_from_new_cmds], [2], - [Create an old-style archive from a shared archive]) -_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2], - [Create a temporary old-style archive to link instead of a shared archive]) -_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive]) -_LT_TAGDECL([], [archive_expsym_cmds], [2]) -_LT_TAGDECL([], [module_cmds], [2], - [Commands used to build a loadable module if different from building - a shared archive.]) -_LT_TAGDECL([], [module_expsym_cmds], [2]) -_LT_TAGDECL([], [with_gnu_ld], [1], - [Whether we are building with GNU ld or not]) -_LT_TAGDECL([], [allow_undefined_flag], [1], - [Flag that allows shared libraries with undefined symbols to be built]) -_LT_TAGDECL([], [no_undefined_flag], [1], - [Flag that enforces no undefined symbols]) -_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1], - [Flag to hardcode $libdir into a binary during linking. - This must work even if $libdir does not exist]) -_LT_TAGDECL([], [hardcode_libdir_separator], [1], - [Whether we need a single "-rpath" flag with a separated argument]) -_LT_TAGDECL([], [hardcode_direct], [0], - [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes - DIR into the resulting binary]) -_LT_TAGDECL([], [hardcode_direct_absolute], [0], - [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes - DIR into the resulting binary and the resulting library dependency is - "absolute", i.e impossible to change by setting ${shlibpath_var} if the - library is relocated]) -_LT_TAGDECL([], [hardcode_minus_L], [0], - [Set to "yes" if using the -LDIR flag during linking hardcodes DIR - into the resulting binary]) -_LT_TAGDECL([], [hardcode_shlibpath_var], [0], - [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR - into the resulting binary]) -_LT_TAGDECL([], [hardcode_automatic], [0], - [Set to "yes" if building a shared library automatically hardcodes DIR - into the library and all subsequent libraries and executables linked - against it]) -_LT_TAGDECL([], [inherit_rpath], [0], - [Set to yes if linker adds runtime paths of dependent libraries - to runtime path list]) -_LT_TAGDECL([], [link_all_deplibs], [0], - [Whether libtool must link a program against all its dependency libraries]) -_LT_TAGDECL([], [always_export_symbols], [0], - [Set to "yes" if exported symbols are required]) -_LT_TAGDECL([], [export_symbols_cmds], [2], - [The commands to list exported symbols]) -_LT_TAGDECL([], [exclude_expsyms], [1], - [Symbols that should not be listed in the preloaded symbols]) -_LT_TAGDECL([], [include_expsyms], [1], - [Symbols that must always be exported]) -_LT_TAGDECL([], [prelink_cmds], [2], - [Commands necessary for linking programs (against libraries) with templates]) -_LT_TAGDECL([], [postlink_cmds], [2], - [Commands necessary for finishing linking programs]) -_LT_TAGDECL([], [file_list_spec], [1], - [Specify filename containing input files]) -dnl FIXME: Not yet implemented -dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1], -dnl [Compiler flag to generate thread safe objects]) -])# _LT_LINKER_SHLIBS - - -# _LT_LANG_C_CONFIG([TAG]) -# ------------------------ -# Ensure that the configuration variables for a C compiler are suitably -# defined. These variables are subsequently used by _LT_CONFIG to write -# the compiler configuration to `libtool'. -m4_defun([_LT_LANG_C_CONFIG], -[m4_require([_LT_DECL_EGREP])dnl -lt_save_CC="$CC" -AC_LANG_PUSH(C) - -# Source file extension for C test sources. -ac_ext=c - -# Object file extension for compiled C test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="int some_variable = 0;" - -# Code to be used in simple link tests -lt_simple_link_test_code='int main(){return(0);}' - -_LT_TAG_COMPILER -# Save the default compiler, since it gets overwritten when the other -# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. -compiler_DEFAULT=$CC - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -## CAVEAT EMPTOR: -## There is no encapsulation within the following macros, do not change -## the running order or otherwise move them around unless you know exactly -## what you are doing... -if test -n "$compiler"; then - _LT_COMPILER_NO_RTTI($1) - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_SYS_DYNAMIC_LINKER($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - LT_SYS_DLOPEN_SELF - _LT_CMD_STRIPLIB - - # Report which library types will actually be built - AC_MSG_CHECKING([if libtool supports shared libraries]) - AC_MSG_RESULT([$can_build_shared]) - - AC_MSG_CHECKING([whether to build shared libraries]) - test "$can_build_shared" = "no" && enable_shared=no - - # On AIX, shared libraries and static libraries use the same namespace, and - # are all built from PIC. - case $host_os in - aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - - aix[[4-9]]*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; - esac - AC_MSG_RESULT([$enable_shared]) - - AC_MSG_CHECKING([whether to build static libraries]) - # Make sure either enable_shared or enable_static is yes. - test "$enable_shared" = yes || enable_static=yes - AC_MSG_RESULT([$enable_static]) - - _LT_CONFIG($1) -fi -AC_LANG_POP -CC="$lt_save_CC" -])# _LT_LANG_C_CONFIG - - -# _LT_LANG_CXX_CONFIG([TAG]) -# -------------------------- -# Ensure that the configuration variables for a C++ compiler are suitably -# defined. These variables are subsequently used by _LT_CONFIG to write -# the compiler configuration to `libtool'. -m4_defun([_LT_LANG_CXX_CONFIG], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_EGREP])dnl -m4_require([_LT_PATH_MANIFEST_TOOL])dnl -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 -else - _lt_caught_CXX_error=yes -fi - -AC_LANG_PUSH(C++) -_LT_TAGVAR(archive_cmds_need_lc, $1)=no -_LT_TAGVAR(allow_undefined_flag, $1)= -_LT_TAGVAR(always_export_symbols, $1)=no -_LT_TAGVAR(archive_expsym_cmds, $1)= -_LT_TAGVAR(compiler_needs_object, $1)=no -_LT_TAGVAR(export_dynamic_flag_spec, $1)= -_LT_TAGVAR(hardcode_direct, $1)=no -_LT_TAGVAR(hardcode_direct_absolute, $1)=no -_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= -_LT_TAGVAR(hardcode_libdir_separator, $1)= -_LT_TAGVAR(hardcode_minus_L, $1)=no -_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported -_LT_TAGVAR(hardcode_automatic, $1)=no -_LT_TAGVAR(inherit_rpath, $1)=no -_LT_TAGVAR(module_cmds, $1)= -_LT_TAGVAR(module_expsym_cmds, $1)= -_LT_TAGVAR(link_all_deplibs, $1)=unknown -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_TAGVAR(reload_flag, $1)=$reload_flag -_LT_TAGVAR(reload_cmds, $1)=$reload_cmds -_LT_TAGVAR(no_undefined_flag, $1)= -_LT_TAGVAR(whole_archive_flag_spec, $1)= -_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no - -# Source file extension for C++ test sources. -ac_ext=cpp - -# Object file extension for compiled C++ test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# No sense in running all these tests if we already determined that -# the CXX compiler isn't working. Some variables (like enable_shared) -# are currently assumed to apply to all compilers on this platform, -# and will be corrupted by setting them based on a non-working compiler. -if test "$_lt_caught_CXX_error" != yes; then - # Code to be used in simple compile tests - lt_simple_compile_test_code="int some_variable = 0;" - - # Code to be used in simple link tests - lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' - - # ltmain only uses $CC for tagged configurations so make sure $CC is set. - _LT_TAG_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_CFLAGS=$CFLAGS - lt_save_LD=$LD - lt_save_GCC=$GCC - GCC=$GXX - lt_save_with_gnu_ld=$with_gnu_ld - lt_save_path_LD=$lt_cv_path_LD - if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then - lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx - else - $as_unset lt_cv_prog_gnu_ld - fi - if test -n "${lt_cv_path_LDCXX+set}"; then - lt_cv_path_LD=$lt_cv_path_LDCXX - else - $as_unset lt_cv_path_LD - fi - test -z "${LDCXX+set}" || LD=$LDCXX - CC=${CXX-"c++"} - CFLAGS=$CXXFLAGS - compiler=$CC - _LT_TAGVAR(compiler, $1)=$CC - _LT_CC_BASENAME([$compiler]) - - if test -n "$compiler"; then - # We don't want -fno-exception when compiling C++ code, so set the - # no_builtin_flag separately - if test "$GXX" = yes; then - _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' - else - _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= - fi - - if test "$GXX" = yes; then - # Set up default GNU C++ configuration - - LT_PATH_LD - - # Check if GNU C++ uses GNU ld as the underlying linker, since the - # archiving commands below assume that GNU ld is being used. - if test "$with_gnu_ld" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - - # If archive_cmds runs LD, not CC, wlarc should be empty - # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to - # investigate it a little bit more. (MM) - wlarc='${wl}' - - # ancient GNU ld didn't support --whole-archive et. al. - if eval "`$CC -print-prog-name=ld` --help 2>&1" | - $GREP 'no-whole-archive' > /dev/null; then - _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - _LT_TAGVAR(whole_archive_flag_spec, $1)= - fi - else - with_gnu_ld=no - wlarc= - - # A generic and very simple default shared library creation - # command for GNU C++ for the case where it uses the native - # linker, instead of GNU ld. If possible, this setting should - # overridden to take advantage of the native linker features on - # the platform it is being used on. - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - fi - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - - else - GXX=no - with_gnu_ld=no - wlarc= - fi - - # PORTME: fill in a description of your system's C++ link characteristics - AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) - _LT_TAGVAR(ld_shlibs, $1)=yes - case $host_os in - aix3*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - aix[[4-9]]*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) - for ld_flag in $LDFLAGS; do - case $ld_flag in - *-brtl*) - aix_use_runtimelinking=yes - break - ;; - esac - done - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - _LT_TAGVAR(archive_cmds, $1)='' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' - - if test "$GXX" = yes; then - 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` - if test -f "$collect2name" && - strings "$collect2name" | $GREP resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - _LT_TAGVAR(hardcode_direct, $1)=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)= - 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 - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to - # export. - _LT_TAGVAR(always_export_symbols, $1)=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - _LT_TAGVAR(allow_undefined_flag, $1)='-berok' - # Determine the default libpath from the value encoded in an empty - # executable. - _LT_SYS_MODULE_PATH_AIX([$1]) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' - _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" - _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an - # empty executable. - _LT_SYS_MODULE_PATH_AIX([$1]) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' - if test "$with_gnu_ld" = yes; then - # We only use this code for GNU lds that support --whole-archive. - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' - else - # Exported symbols can be pulled into shared objects from archives - _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' - fi - _LT_TAGVAR(archive_cmds_need_lc, $1)=yes - # This is similar to how AIX traditionally builds its shared - # libraries. - _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - - beos*) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - chorus*) - case $cc_basename in - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - cygwin* | mingw* | pw32* | cegcc*) - case $GXX,$cc_basename in - ,cl* | no,cl*) - # Native MSVC - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(always_export_symbols, $1)=yes - _LT_TAGVAR(file_list_spec, $1)='@' - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames=' - _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - $SED -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; - else - $SED -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; - fi~ - $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ - linknames=' - # The linker will not automatically build a static lib if we build a DLL. - # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - # Don't use ranlib - _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' - _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ - lt_tool_outputfile="@TOOL_OUTPUT@"~ - case $lt_outputfile in - *.exe|*.EXE) ;; - *) - lt_outputfile="$lt_outputfile.exe" - lt_tool_outputfile="$lt_tool_outputfile.exe" - ;; - esac~ - func_to_tool_file "$lt_outputfile"~ - if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then - $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; - $RM "$lt_outputfile.manifest"; - fi' - ;; - *) - # g++ - # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, - # as there is no search path for DLLs. - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols' - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(always_export_symbols, $1)=no - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - darwin* | rhapsody*) - _LT_DARWIN_LINKER_FEATURES($1) - ;; - - dgux*) - case $cc_basename in - ec++*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - ghcx*) - # Green Hills C++ Compiler - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - freebsd2.*) - # C++ shared libraries reported to be fairly broken before - # switch to ELF - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - freebsd-elf*) - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - ;; - - freebsd* | dragonfly*) - # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF - # conventions - _LT_TAGVAR(ld_shlibs, $1)=yes - ;; - - gnu*) - ;; - - haiku*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(link_all_deplibs, $1)=yes - ;; - - hpux9*) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, - # but as the default - # location of the library. - - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - aCC*) - _LT_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 - # 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 -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' - ;; - *) - if test "$GXX" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag ${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' - else - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - - hpux10*|hpux11*) - if test $with_gnu_ld = no; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - case $host_cpu in - hppa*64*|ia64*) - ;; - *) - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - ;; - esac - fi - case $host_cpu in - hppa*64*|ia64*) - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - *) - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, - # but as the default - # location of the library. - ;; - esac - - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - aCC*) - case $host_cpu in - hppa*64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - # 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 -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; func_echo_all "$list"' - ;; - *) - if test "$GXX" = yes; then - if test $with_gnu_ld = no; then - case $host_cpu in - hppa*64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - fi - else - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - - interix[[3-9]]*) - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - irix5* | irix6*) - case $cc_basename in - CC*) - # SGI C++ - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_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 - # necessary to make sure instantiated templates are included - # in the archive. - _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' - ;; - *) - if test "$GXX" = yes; then - if test "$with_gnu_ld" = no; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib' - fi - fi - _LT_TAGVAR(link_all_deplibs, $1)=yes - ;; - esac - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(inherit_rpath, $1)=yes - ;; - - linux* | k*bsd*-gnu | kopensolaris*-gnu) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' - # 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 $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - - # Archives containing C++ object files must be created using - # "CC -Bstatic", where "CC" is the KAI C++ compiler. - _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' - ;; - icpc* | ecpc* ) - # 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_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_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_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_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_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' - ;; - pgCC* | pgcpp*) - # Portland Group C++ compiler - case `$CC -V` in - *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*) - _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ - compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"' - _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ - $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~ - $RANLIB $oldlib' - _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ - $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ - $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' - ;; - *) # Version 6 and above use weak symbols - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' - _LT_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' - ;; - esac - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - ;; - cxx*) - # Compaq C++ - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_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' - - runpath_var=LD_RUN_PATH - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - # 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 -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed' - ;; - xl* | mpixl* | bgxl*) - # IBM XL 8.0 on PPC, with GNU ld - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - if test "x$supports_anon_versioning" = xyes; then - _LT_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 -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - fi - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' - _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - _LT_TAGVAR(compiler_needs_object, $1)=yes - - # Not sure whether something based on - # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 - # would be better. - output_verbose_link_cmd='func_echo_all' - - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' - ;; - esac - ;; - esac - ;; - - lynxos*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - m88k*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - mvs*) - case $cc_basename in - cxx*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' - wlarc= - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - fi - # 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::"' - ;; - - *nto* | *qnx*) - _LT_TAGVAR(ld_shlibs, $1)=yes - ;; - - openbsd2*) - # C++ shared libraries are fairly broken - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - openbsd*) - if test -f /usr/libexec/ld.so; then - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - _LT_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_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_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - fi - output_verbose_link_cmd=func_echo_all - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - osf3* | osf4* | osf5*) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - # Archives containing C++ object files must be created using - # the KAI C++ compiler. - case $host in - osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; - *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;; - esac - ;; - RCC*) - # Rational C++ 2.4.1 - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - cxx*) - case $host in - osf3*) - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && func_echo_all "${wl}-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - ;; - *) - _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_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~ - $RM $lib.exp' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - ;; - esac - - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - # 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 -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' - ;; - *) - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - case $host in - osf3*) - _LT_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" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - ;; - esac - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - - else - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - - psos*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - lcc*) - # Lucid - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - solaris*) - case $cc_basename in - CC* | sunCC*) - # Sun C++ 4.2, 5.x and Centerline C++ - _LT_TAGVAR(archive_cmds_need_lc,$1)=yes - _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' - _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - _LT_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' - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - case $host_os in - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands `-z linker_flag'. - # Supported since Solaris 2.6 (maybe 2.5.1?) - _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' - ;; - esac - _LT_TAGVAR(link_all_deplibs, $1)=yes - - output_verbose_link_cmd='func_echo_all' - - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' - ;; - gcx*) - # Green Hills C++ Compiler - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - - # The C++ compiler must be used to create the archive. - _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' - ;; - *) - # GNU C++ compiler with Solaris linker - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' - if $CC --version | $GREP -v '^2\.7' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -shared $pic_flag -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - else - # g++ 2.7 appears to require `-G' NOT `-shared' on this - # platform. - _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - fi - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' - case $host_os in - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; - *) - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' - ;; - esac - fi - ;; - esac - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) - _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~ - '"$_LT_TAGVAR(old_archive_cmds, $1)" - _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~ - '"$_LT_TAGVAR(reload_cmds, $1)" - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - vxworks*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - - AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) - test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no - - _LT_TAGVAR(GCC, $1)="$GXX" - _LT_TAGVAR(LD, $1)="$LD" - - ## CAVEAT EMPTOR: - ## There is no encapsulation within the following macros, do not change - ## the running order or otherwise move them around unless you know exactly - ## what you are doing... - _LT_SYS_HIDDEN_LIBDEPS($1) - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_SYS_DYNAMIC_LINKER($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - - _LT_CONFIG($1) - fi # test -n "$compiler" - - CC=$lt_save_CC - CFLAGS=$lt_save_CFLAGS - LDCXX=$LD - LD=$lt_save_LD - GCC=$lt_save_GCC - with_gnu_ld=$lt_save_with_gnu_ld - lt_cv_path_LDCXX=$lt_cv_path_LD - lt_cv_path_LD=$lt_save_path_LD - lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld - lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld -fi # test "$_lt_caught_CXX_error" != yes - -AC_LANG_POP -])# _LT_LANG_CXX_CONFIG - - -# _LT_FUNC_STRIPNAME_CNF -# ---------------------- -# func_stripname_cnf prefix suffix name -# strip PREFIX and SUFFIX off of NAME. -# PREFIX and SUFFIX must not contain globbing or regex special -# characters, hashes, percent signs, but SUFFIX may contain a leading -# dot (in which case that matches only a dot). -# -# This function is identical to the (non-XSI) version of func_stripname, -# except this one can be used by m4 code that may be executed by configure, -# rather than the libtool script. -m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl -AC_REQUIRE([_LT_DECL_SED]) -AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH]) -func_stripname_cnf () -{ - case ${2} in - .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;; - *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;; - esac -} # func_stripname_cnf -])# _LT_FUNC_STRIPNAME_CNF - -# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME]) -# --------------------------------- -# Figure out "hidden" library dependencies from verbose -# compiler output when linking a shared library. -# Parse the compiler output and extract the necessary -# objects, libraries and library flags. -m4_defun([_LT_SYS_HIDDEN_LIBDEPS], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl -# Dependencies to place before and after the object being linked: -_LT_TAGVAR(predep_objects, $1)= -_LT_TAGVAR(postdep_objects, $1)= -_LT_TAGVAR(predeps, $1)= -_LT_TAGVAR(postdeps, $1)= -_LT_TAGVAR(compiler_lib_search_path, $1)= - -dnl we can't use the lt_simple_compile_test_code here, -dnl because it contains code intended for an executable, -dnl not a library. It's possible we should let each -dnl tag define a new lt_????_link_test_code variable, -dnl but it's only used here... -m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF -int a; -void foo (void) { a = 0; } -_LT_EOF -], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF -class Foo -{ -public: - Foo (void) { a = 0; } -private: - int a; -}; -_LT_EOF -], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF - subroutine foo - implicit none - integer*4 a - a=0 - return - end -_LT_EOF -], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF - subroutine foo - implicit none - integer a - a=0 - return - end -_LT_EOF -], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF -public class foo { - private int a; - public void bar (void) { - a = 0; - } -}; -_LT_EOF -], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF -package foo -func foo() { -} -_LT_EOF -]) - -_lt_libdeps_save_CFLAGS=$CFLAGS -case "$CC $CFLAGS " in #( -*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; -*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; -*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;; -esac - -dnl Parse the compiler output and extract the necessary -dnl objects, libraries and library flags. -if AC_TRY_EVAL(ac_compile); then - # Parse the compiler output and extract the necessary - # objects, libraries and library flags. - - # Sentinel used to keep track of whether or not we are before - # the conftest object file. - pre_test_object_deps_done=no - - for p in `eval "$output_verbose_link_cmd"`; do - case ${prev}${p} in - - -L* | -R* | -l*) - # Some compilers place space between "-{L,R}" and the path. - # Remove the space. - if test $p = "-L" || - test $p = "-R"; then - prev=$p - continue - fi - - # Expand the sysroot to ease extracting the directories later. - if test -z "$prev"; then - case $p in - -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;; - -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;; - -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;; - esac - fi - case $p in - =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; - esac - if test "$pre_test_object_deps_done" = no; then - case ${prev} in - -L | -R) - # Internal compiler library paths should come after those - # provided the user. The postdeps already come after the - # user supplied libs so there is no need to process them. - if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then - _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}" - else - _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}" - fi - ;; - # The "-l" case would never come before the object being - # linked, so don't bother handling this case. - esac - else - if test -z "$_LT_TAGVAR(postdeps, $1)"; then - _LT_TAGVAR(postdeps, $1)="${prev}${p}" - else - _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}" - fi - fi - prev= - ;; - - *.lto.$objext) ;; # Ignore GCC LTO objects - *.$objext) - # This assumes that the test object file only shows up - # once in the compiler output. - if test "$p" = "conftest.$objext"; then - pre_test_object_deps_done=yes - continue - fi - - if test "$pre_test_object_deps_done" = no; then - if test -z "$_LT_TAGVAR(predep_objects, $1)"; then - _LT_TAGVAR(predep_objects, $1)="$p" - else - _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p" - fi - else - if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then - _LT_TAGVAR(postdep_objects, $1)="$p" - else - _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p" - fi - fi - ;; - - *) ;; # Ignore the rest. - - esac - done - - # Clean up. - rm -f a.out a.exe -else - echo "libtool.m4: error: problem compiling $1 test program" -fi - -$RM -f confest.$objext -CFLAGS=$_lt_libdeps_save_CFLAGS - -# PORTME: override above test on systems where it is broken -m4_if([$1], [CXX], -[case $host_os in -interix[[3-9]]*) - # Interix 3.5 installs completely hosed .la files for C++, so rather than - # hack all around it, let's just trust "g++" to DTRT. - _LT_TAGVAR(predep_objects,$1)= - _LT_TAGVAR(postdep_objects,$1)= - _LT_TAGVAR(postdeps,$1)= - ;; - -linux*) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - - # The more standards-conforming stlport4 library is - # incompatible with the Cstd library. Avoid specifying - # it if it's in CXXFLAGS. Ignore libCrun as - # -library=stlport4 depends on it. - case " $CXX $CXXFLAGS " in - *" -library=stlport4 "*) - solaris_use_stlport4=yes - ;; - esac - - if test "$solaris_use_stlport4" != yes; then - _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' - fi - ;; - esac - ;; - -solaris*) - case $cc_basename in - CC* | sunCC*) - # The more standards-conforming stlport4 library is - # incompatible with the Cstd library. Avoid specifying - # it if it's in CXXFLAGS. Ignore libCrun as - # -library=stlport4 depends on it. - case " $CXX $CXXFLAGS " in - *" -library=stlport4 "*) - solaris_use_stlport4=yes - ;; - esac - - # 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. - if test "$solaris_use_stlport4" != yes; then - _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' - fi - ;; - esac - ;; -esac -]) - -case " $_LT_TAGVAR(postdeps, $1) " in -*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; -esac - _LT_TAGVAR(compiler_lib_search_dirs, $1)= -if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then - _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'` -fi -_LT_TAGDECL([], [compiler_lib_search_dirs], [1], - [The directories searched by this compiler when creating a shared library]) -_LT_TAGDECL([], [predep_objects], [1], - [Dependencies to place before and after the objects being linked to - create a shared library]) -_LT_TAGDECL([], [postdep_objects], [1]) -_LT_TAGDECL([], [predeps], [1]) -_LT_TAGDECL([], [postdeps], [1]) -_LT_TAGDECL([], [compiler_lib_search_path], [1], - [The library search path used internally by the compiler when linking - a shared library]) -])# _LT_SYS_HIDDEN_LIBDEPS - - -# _LT_LANG_F77_CONFIG([TAG]) -# -------------------------- -# Ensure that the configuration variables for a Fortran 77 compiler are -# suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to `libtool'. -m4_defun([_LT_LANG_F77_CONFIG], -[AC_LANG_PUSH(Fortran 77) -if test -z "$F77" || test "X$F77" = "Xno"; then - _lt_disable_F77=yes -fi - -_LT_TAGVAR(archive_cmds_need_lc, $1)=no -_LT_TAGVAR(allow_undefined_flag, $1)= -_LT_TAGVAR(always_export_symbols, $1)=no -_LT_TAGVAR(archive_expsym_cmds, $1)= -_LT_TAGVAR(export_dynamic_flag_spec, $1)= -_LT_TAGVAR(hardcode_direct, $1)=no -_LT_TAGVAR(hardcode_direct_absolute, $1)=no -_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= -_LT_TAGVAR(hardcode_libdir_separator, $1)= -_LT_TAGVAR(hardcode_minus_L, $1)=no -_LT_TAGVAR(hardcode_automatic, $1)=no -_LT_TAGVAR(inherit_rpath, $1)=no -_LT_TAGVAR(module_cmds, $1)= -_LT_TAGVAR(module_expsym_cmds, $1)= -_LT_TAGVAR(link_all_deplibs, $1)=unknown -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_TAGVAR(reload_flag, $1)=$reload_flag -_LT_TAGVAR(reload_cmds, $1)=$reload_cmds -_LT_TAGVAR(no_undefined_flag, $1)= -_LT_TAGVAR(whole_archive_flag_spec, $1)= -_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no - -# Source file extension for f77 test sources. -ac_ext=f - -# Object file extension for compiled f77 test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# No sense in running all these tests if we already determined that -# the F77 compiler isn't working. Some variables (like enable_shared) -# are currently assumed to apply to all compilers on this platform, -# and will be corrupted by setting them based on a non-working compiler. -if test "$_lt_disable_F77" != yes; then - # Code to be used in simple compile tests - lt_simple_compile_test_code="\ - subroutine t - return - end -" - - # Code to be used in simple link tests - lt_simple_link_test_code="\ - program t - end -" - - # ltmain only uses $CC for tagged configurations so make sure $CC is set. - _LT_TAG_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_GCC=$GCC - lt_save_CFLAGS=$CFLAGS - CC=${F77-"f77"} - CFLAGS=$FFLAGS - compiler=$CC - _LT_TAGVAR(compiler, $1)=$CC - _LT_CC_BASENAME([$compiler]) - GCC=$G77 - if test -n "$compiler"; then - AC_MSG_CHECKING([if libtool supports shared libraries]) - AC_MSG_RESULT([$can_build_shared]) - - AC_MSG_CHECKING([whether to build shared libraries]) - test "$can_build_shared" = "no" && enable_shared=no - - # On AIX, shared libraries and static libraries use the same namespace, and - # are all built from PIC. - case $host_os in - aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - aix[[4-9]]*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; - esac - AC_MSG_RESULT([$enable_shared]) - - AC_MSG_CHECKING([whether to build static libraries]) - # Make sure either enable_shared or enable_static is yes. - test "$enable_shared" = yes || enable_static=yes - AC_MSG_RESULT([$enable_static]) - - _LT_TAGVAR(GCC, $1)="$G77" - _LT_TAGVAR(LD, $1)="$LD" - - ## CAVEAT EMPTOR: - ## There is no encapsulation within the following macros, do not change - ## the running order or otherwise move them around unless you know exactly - ## what you are doing... - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_SYS_DYNAMIC_LINKER($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - - _LT_CONFIG($1) - fi # test -n "$compiler" - - GCC=$lt_save_GCC - CC="$lt_save_CC" - CFLAGS="$lt_save_CFLAGS" -fi # test "$_lt_disable_F77" != yes - -AC_LANG_POP -])# _LT_LANG_F77_CONFIG - - -# _LT_LANG_FC_CONFIG([TAG]) -# ------------------------- -# Ensure that the configuration variables for a Fortran compiler are -# suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to `libtool'. -m4_defun([_LT_LANG_FC_CONFIG], -[AC_LANG_PUSH(Fortran) - -if test -z "$FC" || test "X$FC" = "Xno"; then - _lt_disable_FC=yes -fi - -_LT_TAGVAR(archive_cmds_need_lc, $1)=no -_LT_TAGVAR(allow_undefined_flag, $1)= -_LT_TAGVAR(always_export_symbols, $1)=no -_LT_TAGVAR(archive_expsym_cmds, $1)= -_LT_TAGVAR(export_dynamic_flag_spec, $1)= -_LT_TAGVAR(hardcode_direct, $1)=no -_LT_TAGVAR(hardcode_direct_absolute, $1)=no -_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= -_LT_TAGVAR(hardcode_libdir_separator, $1)= -_LT_TAGVAR(hardcode_minus_L, $1)=no -_LT_TAGVAR(hardcode_automatic, $1)=no -_LT_TAGVAR(inherit_rpath, $1)=no -_LT_TAGVAR(module_cmds, $1)= -_LT_TAGVAR(module_expsym_cmds, $1)= -_LT_TAGVAR(link_all_deplibs, $1)=unknown -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_TAGVAR(reload_flag, $1)=$reload_flag -_LT_TAGVAR(reload_cmds, $1)=$reload_cmds -_LT_TAGVAR(no_undefined_flag, $1)= -_LT_TAGVAR(whole_archive_flag_spec, $1)= -_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no - -# Source file extension for fc test sources. -ac_ext=${ac_fc_srcext-f} - -# Object file extension for compiled fc test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# No sense in running all these tests if we already determined that -# the FC compiler isn't working. Some variables (like enable_shared) -# are currently assumed to apply to all compilers on this platform, -# and will be corrupted by setting them based on a non-working compiler. -if test "$_lt_disable_FC" != yes; then - # Code to be used in simple compile tests - lt_simple_compile_test_code="\ - subroutine t - return - end -" - - # Code to be used in simple link tests - lt_simple_link_test_code="\ - program t - end -" - - # ltmain only uses $CC for tagged configurations so make sure $CC is set. - _LT_TAG_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_GCC=$GCC - lt_save_CFLAGS=$CFLAGS - CC=${FC-"f95"} - CFLAGS=$FCFLAGS - compiler=$CC - GCC=$ac_cv_fc_compiler_gnu - - _LT_TAGVAR(compiler, $1)=$CC - _LT_CC_BASENAME([$compiler]) - - if test -n "$compiler"; then - AC_MSG_CHECKING([if libtool supports shared libraries]) - AC_MSG_RESULT([$can_build_shared]) - - AC_MSG_CHECKING([whether to build shared libraries]) - test "$can_build_shared" = "no" && enable_shared=no - - # On AIX, shared libraries and static libraries use the same namespace, and - # are all built from PIC. - case $host_os in - aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - aix[[4-9]]*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; - esac - AC_MSG_RESULT([$enable_shared]) - - AC_MSG_CHECKING([whether to build static libraries]) - # Make sure either enable_shared or enable_static is yes. - test "$enable_shared" = yes || enable_static=yes - AC_MSG_RESULT([$enable_static]) - - _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu" - _LT_TAGVAR(LD, $1)="$LD" - - ## CAVEAT EMPTOR: - ## There is no encapsulation within the following macros, do not change - ## the running order or otherwise move them around unless you know exactly - ## what you are doing... - _LT_SYS_HIDDEN_LIBDEPS($1) - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_SYS_DYNAMIC_LINKER($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - - _LT_CONFIG($1) - fi # test -n "$compiler" - - GCC=$lt_save_GCC - CC=$lt_save_CC - CFLAGS=$lt_save_CFLAGS -fi # test "$_lt_disable_FC" != yes - -AC_LANG_POP -])# _LT_LANG_FC_CONFIG - - -# _LT_LANG_GCJ_CONFIG([TAG]) -# -------------------------- -# Ensure that the configuration variables for the GNU Java Compiler compiler -# are suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to `libtool'. -m4_defun([_LT_LANG_GCJ_CONFIG], -[AC_REQUIRE([LT_PROG_GCJ])dnl -AC_LANG_SAVE - -# Source file extension for Java test sources. -ac_ext=java - -# Object file extension for compiled Java test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="class foo {}" - -# Code to be used in simple link tests -lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. -_LT_TAG_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_CFLAGS=$CFLAGS -lt_save_GCC=$GCC -GCC=yes -CC=${GCJ-"gcj"} -CFLAGS=$GCJFLAGS -compiler=$CC -_LT_TAGVAR(compiler, $1)=$CC -_LT_TAGVAR(LD, $1)="$LD" -_LT_CC_BASENAME([$compiler]) - -# GCJ did not exist at the time GCC didn't implicitly link libc in. -_LT_TAGVAR(archive_cmds_need_lc, $1)=no - -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_TAGVAR(reload_flag, $1)=$reload_flag -_LT_TAGVAR(reload_cmds, $1)=$reload_cmds - -## CAVEAT EMPTOR: -## There is no encapsulation within the following macros, do not change -## the running order or otherwise move them around unless you know exactly -## what you are doing... -if test -n "$compiler"; then - _LT_COMPILER_NO_RTTI($1) - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - - _LT_CONFIG($1) -fi - -AC_LANG_RESTORE - -GCC=$lt_save_GCC -CC=$lt_save_CC -CFLAGS=$lt_save_CFLAGS -])# _LT_LANG_GCJ_CONFIG - - -# _LT_LANG_GO_CONFIG([TAG]) -# -------------------------- -# Ensure that the configuration variables for the GNU Go compiler -# are suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to `libtool'. -m4_defun([_LT_LANG_GO_CONFIG], -[AC_REQUIRE([LT_PROG_GO])dnl -AC_LANG_SAVE - -# Source file extension for Go test sources. -ac_ext=go - -# Object file extension for compiled Go test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="package main; func main() { }" - -# Code to be used in simple link tests -lt_simple_link_test_code='package main; func main() { }' - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. -_LT_TAG_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_CFLAGS=$CFLAGS -lt_save_GCC=$GCC -GCC=yes -CC=${GOC-"gccgo"} -CFLAGS=$GOFLAGS -compiler=$CC -_LT_TAGVAR(compiler, $1)=$CC -_LT_TAGVAR(LD, $1)="$LD" -_LT_CC_BASENAME([$compiler]) - -# Go did not exist at the time GCC didn't implicitly link libc in. -_LT_TAGVAR(archive_cmds_need_lc, $1)=no - -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_TAGVAR(reload_flag, $1)=$reload_flag -_LT_TAGVAR(reload_cmds, $1)=$reload_cmds - -## CAVEAT EMPTOR: -## There is no encapsulation within the following macros, do not change -## the running order or otherwise move them around unless you know exactly -## what you are doing... -if test -n "$compiler"; then - _LT_COMPILER_NO_RTTI($1) - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - - _LT_CONFIG($1) -fi - -AC_LANG_RESTORE - -GCC=$lt_save_GCC -CC=$lt_save_CC -CFLAGS=$lt_save_CFLAGS -])# _LT_LANG_GO_CONFIG - - -# _LT_LANG_RC_CONFIG([TAG]) -# ------------------------- -# Ensure that the configuration variables for the Windows resource compiler -# are suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to `libtool'. -m4_defun([_LT_LANG_RC_CONFIG], -[AC_REQUIRE([LT_PROG_RC])dnl -AC_LANG_SAVE - -# Source file extension for RC test sources. -ac_ext=rc - -# Object file extension for compiled RC test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' - -# Code to be used in simple link tests -lt_simple_link_test_code="$lt_simple_compile_test_code" - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. -_LT_TAG_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_CFLAGS=$CFLAGS -lt_save_GCC=$GCC -GCC= -CC=${RC-"windres"} -CFLAGS= -compiler=$CC -_LT_TAGVAR(compiler, $1)=$CC -_LT_CC_BASENAME([$compiler]) -_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes - -if test -n "$compiler"; then - : - _LT_CONFIG($1) -fi - -GCC=$lt_save_GCC -AC_LANG_RESTORE -CC=$lt_save_CC -CFLAGS=$lt_save_CFLAGS -])# _LT_LANG_RC_CONFIG - - -# LT_PROG_GCJ -# ----------- -AC_DEFUN([LT_PROG_GCJ], -[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ], - [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ], - [AC_CHECK_TOOL(GCJ, gcj,) - test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" - AC_SUBST(GCJFLAGS)])])[]dnl -]) - -# Old name: -AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([LT_AC_PROG_GCJ], []) - - -# LT_PROG_GO -# ---------- -AC_DEFUN([LT_PROG_GO], -[AC_CHECK_TOOL(GOC, gccgo,) -]) - - -# LT_PROG_RC -# ---------- -AC_DEFUN([LT_PROG_RC], -[AC_CHECK_TOOL(RC, windres,) -]) - -# Old name: -AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([LT_AC_PROG_RC], []) - - -# _LT_DECL_EGREP -# -------------- -# If we don't have a new enough Autoconf to choose the best grep -# available, choose the one first in the user's PATH. -m4_defun([_LT_DECL_EGREP], -[AC_REQUIRE([AC_PROG_EGREP])dnl -AC_REQUIRE([AC_PROG_FGREP])dnl -test -z "$GREP" && GREP=grep -_LT_DECL([], [GREP], [1], [A grep program that handles long lines]) -_LT_DECL([], [EGREP], [1], [An ERE matcher]) -_LT_DECL([], [FGREP], [1], [A literal string matcher]) -dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too -AC_SUBST([GREP]) -]) - - -# _LT_DECL_OBJDUMP -# -------------- -# If we don't have a new enough Autoconf to choose the best objdump -# available, choose the one first in the user's PATH. -m4_defun([_LT_DECL_OBJDUMP], -[AC_CHECK_TOOL(OBJDUMP, objdump, false) -test -z "$OBJDUMP" && OBJDUMP=objdump -_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper]) -AC_SUBST([OBJDUMP]) -]) - -# _LT_DECL_DLLTOOL -# ---------------- -# Ensure DLLTOOL variable is set. -m4_defun([_LT_DECL_DLLTOOL], -[AC_CHECK_TOOL(DLLTOOL, dlltool, false) -test -z "$DLLTOOL" && DLLTOOL=dlltool -_LT_DECL([], [DLLTOOL], [1], [DLL creation program]) -AC_SUBST([DLLTOOL]) -]) - -# _LT_DECL_SED -# ------------ -# Check for a fully-functional sed program, that truncates -# as few characters as possible. Prefer GNU sed if found. -m4_defun([_LT_DECL_SED], -[AC_PROG_SED -test -z "$SED" && SED=sed -Xsed="$SED -e 1s/^X//" -_LT_DECL([], [SED], [1], [A sed program that does not truncate output]) -_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"], - [Sed that helps us avoid accidentally triggering echo(1) options like -n]) -])# _LT_DECL_SED - -m4_ifndef([AC_PROG_SED], [ -############################################################ -# NOTE: This macro has been submitted for inclusion into # -# GNU Autoconf as AC_PROG_SED. When it is available in # -# a released version of Autoconf we should remove this # -# macro and use it instead. # -############################################################ - -m4_defun([AC_PROG_SED], -[AC_MSG_CHECKING([for a sed that does not truncate output]) -AC_CACHE_VAL(lt_cv_path_SED, -[# Loop through the user's path and test for sed and gsed. -# Then use that list of sed's as ones to test for truncation. -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for lt_ac_prog in sed gsed; do - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then - lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" - fi - done - done -done -IFS=$as_save_IFS -lt_ac_max=0 -lt_ac_count=0 -# 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 - cat /dev/null > conftest.in - lt_ac_count=0 - echo $ECHO_N "0123456789$ECHO_C" >conftest.in - # Check for GNU sed and select it if it is found. - if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then - lt_cv_path_SED=$lt_ac_sed - break - fi - while true; do - cat conftest.in conftest.in >conftest.tmp - mv conftest.tmp conftest.in - cp conftest.in conftest.nl - echo >>conftest.nl - $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break - cmp -s conftest.out conftest.nl || break - # 10000 chars as input seems more than enough - test $lt_ac_count -gt 10 && break - lt_ac_count=`expr $lt_ac_count + 1` - if test $lt_ac_count -gt $lt_ac_max; then - lt_ac_max=$lt_ac_count - lt_cv_path_SED=$lt_ac_sed - fi - done -done -]) -SED=$lt_cv_path_SED -AC_SUBST([SED]) -AC_MSG_RESULT([$SED]) -])#AC_PROG_SED -])#m4_ifndef - -# Old name: -AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([LT_AC_PROG_SED], []) - - -# _LT_CHECK_SHELL_FEATURES -# ------------------------ -# Find out whether the shell is Bourne or XSI compatible, -# or has some other useful features. -m4_defun([_LT_CHECK_SHELL_FEATURES], -[AC_MSG_CHECKING([whether the shell understands some XSI constructs]) -# Try some XSI features -xsi_shell=no -( _lt_dummy="a/b/c" - test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \ - = c,a/b,b/c, \ - && eval 'test $(( 1 + 1 )) -eq 2 \ - && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ - && xsi_shell=yes -AC_MSG_RESULT([$xsi_shell]) -_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell']) - -AC_MSG_CHECKING([whether the shell understands "+="]) -lt_shell_append=no -( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \ - >/dev/null 2>&1 \ - && lt_shell_append=yes -AC_MSG_RESULT([$lt_shell_append]) -_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append']) - -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - lt_unset=unset -else - lt_unset=false -fi -_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl - -# test EBCDIC or ASCII -case `echo X|tr X '\101'` in - A) # ASCII based system - # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr - lt_SP2NL='tr \040 \012' - lt_NL2SP='tr \015\012 \040\040' - ;; - *) # EBCDIC based system - lt_SP2NL='tr \100 \n' - lt_NL2SP='tr \r\n \100\100' - ;; -esac -_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl -_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl -])# _LT_CHECK_SHELL_FEATURES - - -# _LT_PROG_FUNCTION_REPLACE (FUNCNAME, REPLACEMENT-BODY) -# ------------------------------------------------------ -# In `$cfgfile', look for function FUNCNAME delimited by `^FUNCNAME ()$' and -# '^} FUNCNAME ', and replace its body with REPLACEMENT-BODY. -m4_defun([_LT_PROG_FUNCTION_REPLACE], -[dnl { -sed -e '/^$1 ()$/,/^} # $1 /c\ -$1 ()\ -{\ -m4_bpatsubsts([$2], [$], [\\], [^\([ ]\)], [\\\1]) -} # Extended-shell $1 implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: -]) - - -# _LT_PROG_REPLACE_SHELLFNS -# ------------------------- -# Replace existing portable implementations of several shell functions with -# equivalent extended shell implementations where those features are available.. -m4_defun([_LT_PROG_REPLACE_SHELLFNS], -[if test x"$xsi_shell" = xyes; then - _LT_PROG_FUNCTION_REPLACE([func_dirname], [dnl - case ${1} in - */*) func_dirname_result="${1%/*}${2}" ;; - * ) func_dirname_result="${3}" ;; - esac]) - - _LT_PROG_FUNCTION_REPLACE([func_basename], [dnl - func_basename_result="${1##*/}"]) - - _LT_PROG_FUNCTION_REPLACE([func_dirname_and_basename], [dnl - case ${1} in - */*) func_dirname_result="${1%/*}${2}" ;; - * ) func_dirname_result="${3}" ;; - esac - func_basename_result="${1##*/}"]) - - _LT_PROG_FUNCTION_REPLACE([func_stripname], [dnl - # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are - # positional parameters, so assign one to ordinary parameter first. - func_stripname_result=${3} - func_stripname_result=${func_stripname_result#"${1}"} - func_stripname_result=${func_stripname_result%"${2}"}]) - - _LT_PROG_FUNCTION_REPLACE([func_split_long_opt], [dnl - func_split_long_opt_name=${1%%=*} - func_split_long_opt_arg=${1#*=}]) - - _LT_PROG_FUNCTION_REPLACE([func_split_short_opt], [dnl - func_split_short_opt_arg=${1#??} - func_split_short_opt_name=${1%"$func_split_short_opt_arg"}]) - - _LT_PROG_FUNCTION_REPLACE([func_lo2o], [dnl - case ${1} in - *.lo) func_lo2o_result=${1%.lo}.${objext} ;; - *) func_lo2o_result=${1} ;; - esac]) - - _LT_PROG_FUNCTION_REPLACE([func_xform], [ func_xform_result=${1%.*}.lo]) - - _LT_PROG_FUNCTION_REPLACE([func_arith], [ func_arith_result=$(( $[*] ))]) - - _LT_PROG_FUNCTION_REPLACE([func_len], [ func_len_result=${#1}]) -fi - -if test x"$lt_shell_append" = xyes; then - _LT_PROG_FUNCTION_REPLACE([func_append], [ eval "${1}+=\\${2}"]) - - _LT_PROG_FUNCTION_REPLACE([func_append_quoted], [dnl - func_quote_for_eval "${2}" -dnl m4 expansion turns \\\\ into \\, and then the shell eval turns that into \ - eval "${1}+=\\\\ \\$func_quote_for_eval_result"]) - - # Save a `func_append' function call where possible by direct use of '+=' - sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") - test 0 -eq $? || _lt_function_replace_fail=: -else - # Save a `func_append' function call even when '+=' is not available - sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") - test 0 -eq $? || _lt_function_replace_fail=: -fi - -if test x"$_lt_function_replace_fail" = x":"; then - AC_MSG_WARN([Unable to substitute extended shell functions in $ofile]) -fi -]) - -# _LT_PATH_CONVERSION_FUNCTIONS -# ----------------------------- -# Determine which file name conversion functions should be used by -# func_to_host_file (and, implicitly, by func_to_host_path). These are needed -# for certain cross-compile configurations and native mingw. -m4_defun([_LT_PATH_CONVERSION_FUNCTIONS], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_CANONICAL_BUILD])dnl -AC_MSG_CHECKING([how to convert $build file names to $host format]) -AC_CACHE_VAL(lt_cv_to_host_file_cmd, -[case $host in - *-*-mingw* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 - ;; - *-*-cygwin* ) - lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 - ;; - * ) # otherwise, assume *nix - lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 - ;; - esac - ;; - *-*-cygwin* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin - ;; - *-*-cygwin* ) - lt_cv_to_host_file_cmd=func_convert_file_noop - ;; - * ) # otherwise, assume *nix - lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin - ;; - esac - ;; - * ) # unhandled hosts (and "normal" native builds) - lt_cv_to_host_file_cmd=func_convert_file_noop - ;; -esac -]) -to_host_file_cmd=$lt_cv_to_host_file_cmd -AC_MSG_RESULT([$lt_cv_to_host_file_cmd]) -_LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd], - [0], [convert $build file names to $host format])dnl - -AC_MSG_CHECKING([how to convert $build file names to toolchain format]) -AC_CACHE_VAL(lt_cv_to_tool_file_cmd, -[#assume ordinary cross tools, or native build. -lt_cv_to_tool_file_cmd=func_convert_file_noop -case $host in - *-*-mingw* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 - ;; - esac - ;; -esac -]) -to_tool_file_cmd=$lt_cv_to_tool_file_cmd -AC_MSG_RESULT([$lt_cv_to_tool_file_cmd]) -_LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd], - [0], [convert $build files to toolchain format])dnl -])# _LT_PATH_CONVERSION_FUNCTIONS diff --git a/m4/ltoptions.m4 b/m4/ltoptions.m4 deleted file mode 100644 index 5d9acd8..0000000 --- a/m4/ltoptions.m4 +++ /dev/null @@ -1,384 +0,0 @@ -# Helper functions for option handling. -*- Autoconf -*- -# -# Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation, -# Inc. -# Written by Gary V. Vaughan, 2004 -# -# 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 7 ltoptions.m4 - -# This is to help aclocal find these macros, as it can't see m4_define. -AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])]) - - -# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME) -# ------------------------------------------ -m4_define([_LT_MANGLE_OPTION], -[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])]) - - -# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME) -# --------------------------------------- -# Set option OPTION-NAME for macro MACRO-NAME, and if there is a -# matching handler defined, dispatch to it. Other OPTION-NAMEs are -# saved as a flag. -m4_define([_LT_SET_OPTION], -[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl -m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]), - _LT_MANGLE_DEFUN([$1], [$2]), - [m4_warning([Unknown $1 option `$2'])])[]dnl -]) - - -# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET]) -# ------------------------------------------------------------ -# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. -m4_define([_LT_IF_OPTION], -[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])]) - - -# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET) -# ------------------------------------------------------- -# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME -# are set. -m4_define([_LT_UNLESS_OPTIONS], -[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), - [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option), - [m4_define([$0_found])])])[]dnl -m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3 -])[]dnl -]) - - -# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST) -# ---------------------------------------- -# OPTION-LIST is a space-separated list of Libtool options associated -# with MACRO-NAME. If any OPTION has a matching handler declared with -# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about -# the unknown option and exit. -m4_defun([_LT_SET_OPTIONS], -[# Set options -m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), - [_LT_SET_OPTION([$1], _LT_Option)]) - -m4_if([$1],[LT_INIT],[ - dnl - dnl Simply set some default values (i.e off) if boolean options were not - dnl specified: - _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no - ]) - _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no - ]) - dnl - dnl If no reference was made to various pairs of opposing options, then - dnl we run the default mode handler for the pair. For example, if neither - dnl `shared' nor `disable-shared' was passed, we enable building of shared - dnl archives by default: - _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED]) - _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC]) - _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC]) - _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install], - [_LT_ENABLE_FAST_INSTALL]) - ]) -])# _LT_SET_OPTIONS - - -## --------------------------------- ## -## Macros to handle LT_INIT options. ## -## --------------------------------- ## - -# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME) -# ----------------------------------------- -m4_define([_LT_MANGLE_DEFUN], -[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])]) - - -# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE) -# ----------------------------------------------- -m4_define([LT_OPTION_DEFINE], -[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl -])# LT_OPTION_DEFINE - - -# dlopen -# ------ -LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes -]) - -AU_DEFUN([AC_LIBTOOL_DLOPEN], -[_LT_SET_OPTION([LT_INIT], [dlopen]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you -put the `dlopen' option into LT_INIT's first parameter.]) -]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], []) - - -# win32-dll -# --------- -# Declare package support for building win32 dll's. -LT_OPTION_DEFINE([LT_INIT], [win32-dll], -[enable_win32_dll=yes - -case $host in -*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) - AC_CHECK_TOOL(AS, as, false) - AC_CHECK_TOOL(DLLTOOL, dlltool, false) - AC_CHECK_TOOL(OBJDUMP, objdump, false) - ;; -esac - -test -z "$AS" && AS=as -_LT_DECL([], [AS], [1], [Assembler program])dnl - -test -z "$DLLTOOL" && DLLTOOL=dlltool -_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl - -test -z "$OBJDUMP" && OBJDUMP=objdump -_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl -])# win32-dll - -AU_DEFUN([AC_LIBTOOL_WIN32_DLL], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -_LT_SET_OPTION([LT_INIT], [win32-dll]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you -put the `win32-dll' option into LT_INIT's first parameter.]) -]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], []) - - -# _LT_ENABLE_SHARED([DEFAULT]) -# ---------------------------- -# implement the --enable-shared flag, and supports the `shared' and -# `disable-shared' LT_INIT options. -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. -m4_define([_LT_ENABLE_SHARED], -[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl -AC_ARG_ENABLE([shared], - [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@], - [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_shared=yes ;; - no) enable_shared=no ;; - *) - enable_shared=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_shared=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac], - [enable_shared=]_LT_ENABLE_SHARED_DEFAULT) - - _LT_DECL([build_libtool_libs], [enable_shared], [0], - [Whether or not to build shared libraries]) -])# _LT_ENABLE_SHARED - -LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])]) -LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])]) - -# Old names: -AC_DEFUN([AC_ENABLE_SHARED], -[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared]) -]) - -AC_DEFUN([AC_DISABLE_SHARED], -[_LT_SET_OPTION([LT_INIT], [disable-shared]) -]) - -AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) -AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AM_ENABLE_SHARED], []) -dnl AC_DEFUN([AM_DISABLE_SHARED], []) - - - -# _LT_ENABLE_STATIC([DEFAULT]) -# ---------------------------- -# implement the --enable-static flag, and support the `static' and -# `disable-static' LT_INIT options. -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. -m4_define([_LT_ENABLE_STATIC], -[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl -AC_ARG_ENABLE([static], - [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@], - [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_static=yes ;; - no) enable_static=no ;; - *) - enable_static=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_static=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac], - [enable_static=]_LT_ENABLE_STATIC_DEFAULT) - - _LT_DECL([build_old_libs], [enable_static], [0], - [Whether or not to build static libraries]) -])# _LT_ENABLE_STATIC - -LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])]) -LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])]) - -# Old names: -AC_DEFUN([AC_ENABLE_STATIC], -[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static]) -]) - -AC_DEFUN([AC_DISABLE_STATIC], -[_LT_SET_OPTION([LT_INIT], [disable-static]) -]) - -AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) -AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AM_ENABLE_STATIC], []) -dnl AC_DEFUN([AM_DISABLE_STATIC], []) - - - -# _LT_ENABLE_FAST_INSTALL([DEFAULT]) -# ---------------------------------- -# implement the --enable-fast-install flag, and support the `fast-install' -# and `disable-fast-install' LT_INIT options. -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. -m4_define([_LT_ENABLE_FAST_INSTALL], -[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl -AC_ARG_ENABLE([fast-install], - [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], - [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_fast_install=yes ;; - no) enable_fast_install=no ;; - *) - enable_fast_install=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_fast_install=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac], - [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT) - -_LT_DECL([fast_install], [enable_fast_install], [0], - [Whether or not to optimize for fast installation])dnl -])# _LT_ENABLE_FAST_INSTALL - -LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])]) -LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])]) - -# Old names: -AU_DEFUN([AC_ENABLE_FAST_INSTALL], -[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you put -the `fast-install' option into LT_INIT's first parameter.]) -]) - -AU_DEFUN([AC_DISABLE_FAST_INSTALL], -[_LT_SET_OPTION([LT_INIT], [disable-fast-install]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you put -the `disable-fast-install' option into LT_INIT's first parameter.]) -]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], []) -dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], []) - - -# _LT_WITH_PIC([MODE]) -# -------------------- -# implement the --with-pic flag, and support the `pic-only' and `no-pic' -# LT_INIT options. -# MODE is either `yes' or `no'. If omitted, it defaults to `both'. -m4_define([_LT_WITH_PIC], -[AC_ARG_WITH([pic], - [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@], - [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], - [lt_p=${PACKAGE-default} - case $withval in - yes|no) pic_mode=$withval ;; - *) - pic_mode=default - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for lt_pkg in $withval; do - IFS="$lt_save_ifs" - if test "X$lt_pkg" = "X$lt_p"; then - pic_mode=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac], - [pic_mode=default]) - -test -z "$pic_mode" && pic_mode=m4_default([$1], [default]) - -_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl -])# _LT_WITH_PIC - -LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])]) -LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])]) - -# Old name: -AU_DEFUN([AC_LIBTOOL_PICMODE], -[_LT_SET_OPTION([LT_INIT], [pic-only]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you -put the `pic-only' option into LT_INIT's first parameter.]) -]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_PICMODE], []) - -## ----------------- ## -## LTDL_INIT Options ## -## ----------------- ## - -m4_define([_LTDL_MODE], []) -LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive], - [m4_define([_LTDL_MODE], [nonrecursive])]) -LT_OPTION_DEFINE([LTDL_INIT], [recursive], - [m4_define([_LTDL_MODE], [recursive])]) -LT_OPTION_DEFINE([LTDL_INIT], [subproject], - [m4_define([_LTDL_MODE], [subproject])]) - -m4_define([_LTDL_TYPE], []) -LT_OPTION_DEFINE([LTDL_INIT], [installable], - [m4_define([_LTDL_TYPE], [installable])]) -LT_OPTION_DEFINE([LTDL_INIT], [convenience], - [m4_define([_LTDL_TYPE], [convenience])]) diff --git a/m4/ltsugar.m4 b/m4/ltsugar.m4 deleted file mode 100644 index 9000a05..0000000 --- a/m4/ltsugar.m4 +++ /dev/null @@ -1,123 +0,0 @@ -# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*- -# -# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc. -# Written by Gary V. Vaughan, 2004 -# -# 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 6 ltsugar.m4 - -# This is to help aclocal find these macros, as it can't see m4_define. -AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])]) - - -# lt_join(SEP, ARG1, [ARG2...]) -# ----------------------------- -# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their -# associated separator. -# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier -# versions in m4sugar had bugs. -m4_define([lt_join], -[m4_if([$#], [1], [], - [$#], [2], [[$2]], - [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])]) -m4_define([_lt_join], -[m4_if([$#$2], [2], [], - [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])]) - - -# lt_car(LIST) -# lt_cdr(LIST) -# ------------ -# Manipulate m4 lists. -# These macros are necessary as long as will still need to support -# Autoconf-2.59 which quotes differently. -m4_define([lt_car], [[$1]]) -m4_define([lt_cdr], -[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])], - [$#], 1, [], - [m4_dquote(m4_shift($@))])]) -m4_define([lt_unquote], $1) - - -# lt_append(MACRO-NAME, STRING, [SEPARATOR]) -# ------------------------------------------ -# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'. -# Note that neither SEPARATOR nor STRING are expanded; they are appended -# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked). -# No SEPARATOR is output if MACRO-NAME was previously undefined (different -# than defined and empty). -# -# This macro is needed until we can rely on Autoconf 2.62, since earlier -# versions of m4sugar mistakenly expanded SEPARATOR but not STRING. -m4_define([lt_append], -[m4_define([$1], - m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])]) - - - -# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...]) -# ---------------------------------------------------------- -# Produce a SEP delimited list of all paired combinations of elements of -# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list -# has the form PREFIXmINFIXSUFFIXn. -# Needed until we can rely on m4_combine added in Autoconf 2.62. -m4_define([lt_combine], -[m4_if(m4_eval([$# > 3]), [1], - [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl -[[m4_foreach([_Lt_prefix], [$2], - [m4_foreach([_Lt_suffix], - ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[, - [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])]) - - -# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ]) -# ----------------------------------------------------------------------- -# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited -# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ. -m4_define([lt_if_append_uniq], -[m4_ifdef([$1], - [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1], - [lt_append([$1], [$2], [$3])$4], - [$5])], - [lt_append([$1], [$2], [$3])$4])]) - - -# lt_dict_add(DICT, KEY, VALUE) -# ----------------------------- -m4_define([lt_dict_add], -[m4_define([$1($2)], [$3])]) - - -# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE) -# -------------------------------------------- -m4_define([lt_dict_add_subkey], -[m4_define([$1($2:$3)], [$4])]) - - -# lt_dict_fetch(DICT, KEY, [SUBKEY]) -# ---------------------------------- -m4_define([lt_dict_fetch], -[m4_ifval([$3], - m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]), - m4_ifdef([$1($2)], [m4_defn([$1($2)])]))]) - - -# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE]) -# ----------------------------------------------------------------- -m4_define([lt_if_dict_fetch], -[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4], - [$5], - [$6])]) - - -# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...]) -# -------------------------------------------------------------- -m4_define([lt_dict_filter], -[m4_if([$5], [], [], - [lt_join(m4_quote(m4_default([$4], [[, ]])), - lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]), - [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl -]) diff --git a/m4/ltversion.m4 b/m4/ltversion.m4 deleted file mode 100644 index 07a8602..0000000 --- a/m4/ltversion.m4 +++ /dev/null @@ -1,23 +0,0 @@ -# ltversion.m4 -- version numbers -*- Autoconf -*- -# -# Copyright (C) 2004 Free Software Foundation, Inc. -# Written by Scott James Remnant, 2004 -# -# 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. - -# @configure_input@ - -# serial 3337 ltversion.m4 -# This file is part of GNU Libtool - -m4_define([LT_PACKAGE_VERSION], [2.4.2]) -m4_define([LT_PACKAGE_REVISION], [1.3337]) - -AC_DEFUN([LTVERSION_VERSION], -[macro_version='2.4.2' -macro_revision='1.3337' -_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) -_LT_DECL(, macro_revision, 0) -]) diff --git a/m4/lt~obsolete.m4 b/m4/lt~obsolete.m4 deleted file mode 100644 index c573da9..0000000 --- a/m4/lt~obsolete.m4 +++ /dev/null @@ -1,98 +0,0 @@ -# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*- -# -# Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation, Inc. -# Written by Scott James Remnant, 2004. -# -# 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 5 lt~obsolete.m4 - -# These exist entirely to fool aclocal when bootstrapping libtool. -# -# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN) -# which have later been changed to m4_define as they aren't part of the -# exported API, or moved to Autoconf or Automake where they belong. -# -# The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN -# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us -# using a macro with the same name in our local m4/libtool.m4 it'll -# pull the old libtool.m4 in (it doesn't see our shiny new m4_define -# and doesn't know about Autoconf macros at all.) -# -# So we provide this file, which has a silly filename so it's always -# included after everything else. This provides aclocal with the -# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything -# because those macros already exist, or will be overwritten later. -# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. -# -# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here. -# Yes, that means every name once taken will need to remain here until -# we give up compatibility with versions before 1.7, at which point -# we need to keep only those names which we still refer to. - -# This is to help aclocal find these macros, as it can't see m4_define. -AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])]) - -m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])]) -m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])]) -m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])]) -m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])]) -m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])]) -m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])]) -m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])]) -m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])]) -m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])]) -m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])]) -m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])]) -m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])]) -m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])]) -m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])]) -m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])]) -m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])]) -m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])]) -m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])]) -m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])]) -m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])]) -m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])]) -m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])]) -m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])]) -m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])]) -m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])]) -m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])]) -m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])]) -m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])]) -m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])]) -m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])]) -m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])]) -m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])]) -m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])]) -m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])]) -m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])]) -m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])]) -m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])]) -m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])]) -m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])]) -m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])]) -m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])]) -m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])]) -m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])]) -m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])]) -m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])]) -m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])]) -m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])]) -m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])]) -m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])]) -m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])]) -m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])]) -m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])]) -m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])]) -m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])]) -m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS], [AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])]) -m4_ifndef([_LT_AC_PROG_CXXCPP], [AC_DEFUN([_LT_AC_PROG_CXXCPP])]) -m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS], [AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])]) -m4_ifndef([_LT_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])]) -m4_ifndef([_LT_PROG_F77], [AC_DEFUN([_LT_PROG_F77])]) -m4_ifndef([_LT_PROG_FC], [AC_DEFUN([_LT_PROG_FC])]) -m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])]) diff --git a/packaging/libsoup.spec b/packaging/libsoup.spec old mode 100644 new mode 100755 index 1d4f3a3..17bdee3 --- a/packaging/libsoup.spec +++ b/packaging/libsoup.spec @@ -4,13 +4,13 @@ Name: libsoup Version: 2.46.0 Release: 0 -License: LGPL-2.1+ +License: LGPL-2.0+ Summary: HTTP client/server library for GNOME Url: http://www.gnome.org Group: System/Libraries Source: http://download.gnome.org/sources/libsoup/2.41/%{name}-%{version}.tar.xz Source99: baselibs.conf -Source1001: libsoup.manifest +Source1001: libsoup.manifest Requires: glib-networking BuildRequires: gettext-tools BuildRequires: glib-networking @@ -19,13 +19,14 @@ BuildRequires: gobject-introspection-devel %endif %if %{with gnome} BuildRequires: pkgconfig(gnome-keyring-1) +BuildRequires: gnome-common %endif BuildRequires: intltool >= 0.35.0 -BuildRequires: sqlite3-devel +BuildRequires: sqlite-devel +BuildRequires: which BuildRequires: pkgconfig(glib-2.0) >= 2.35.0 -BuildRequires: gnome-common BuildRequires: pkgconfig(libxml-2.0) - +BuildRequires: pkgconfig(dlog) %description Libsoup is an HTTP client/server library for GNOME. It uses GObjects @@ -88,7 +89,26 @@ chmod +x autogen.sh --enable-sqlite=yes \ --disable-tls-check \ %endif - --disable-static +%if "%{?tizen_profile_name}" == "tv" + --enable-tizen-client-certificate=yes \ + --enable-tizen-disable-mime-sniff \ + --enable-tizen-text-storage-mode-of-cookie \ + --enable-tizen-soup-cache-clean-leaked-resources \ + --enable-tizen-tv-soup-cache-optimise-load-time \ + --enable-tizen-use-expanded-response-block=yes \ + --enable-tizen-create-idle-tcp-connection \ + --enable-tizen-immediate-requesting \ + --enable-tizen-computing-disk-cache-size \ + --enable-tizen-add-x-soup-message-headers \ + --enable-tizen-dynamic-certificate-loading \ + --enable-tizen-certificate-handling \ + --enable-tizen-tv-checking-deleted-entry-file \ + --enable-tizen-tv-force-preload-tlsdb \ + --enable-tizen-tv-no-cache-about-video-and-audio \ + --enable-tizen-performance-test-log \ + --enable-tizen-tv-adjust-time \ +%endif + --disable-static make %{?_smp_mflags} %install @@ -105,7 +125,7 @@ make %{?_smp_mflags} %files %manifest %{name}.manifest %defattr(-, root, root) -%license COPYING +%doc COPYING %{_libdir}/*.so.* %if %{with introspection} -- 2.7.4