• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

docs/reference/H22-Aug-2021-1,6461,435

examples/H22-Aug-2021-1,035841

libsoup/H03-May-2022-60,48537,201

po/H22-Aug-2021-12,1369,609

subprojects/H22-Aug-2021-1713

tests/H03-May-2022-27,21121,532

AUTHORSH A D22-Aug-2021189 1410

COPYINGH A D22-Aug-202124.8 KiB482399

ChangeLog.pre-gitH A D22-Aug-2021242.4 KiB6,9584,960

HACKINGH A D22-Aug-20212.2 KiB6752

NEWSH A D22-Aug-2021146.1 KiB3,9582,786

READMEH A D22-Aug-20211.1 KiB3023

README.msvcH A D22-Aug-20213.9 KiB8059

get_apache_modules_dirs.pyH A D22-Aug-20215 KiB13787

libsoup.doapH A D22-Aug-20211.6 KiB4036

meson.buildH A D03-May-202213.6 KiB399350

README

1libsoup is an HTTP client/server library for GNOME. It uses GObjects
2and the glib main loop, to integrate well with GNOME applications.
3
4Features:
5  * Both asynchronous (GMainLoop and callback-based) and synchronous APIs
6  * Automatically caches connections
7  * SSL support
8  * Proxy support, including authentication and SSL tunneling
9  * Client support for Digest, NTLM, and Basic authentication
10  * Server support for Digest and Basic authentication
11  * XML-RPC support
12
13See the documentation in docs/reference/ and the test programs in
14tests/ for simple examples of how to use the code. The
15evolution-data-server and evolution-exchange modules in GNOME git have
16some more complicated examples.
17
18There is a mailing list for libsoup-related questions/discussions at
19gnome.org. Visit http://mail.gnome.org/mailman/listinfo/libsoup-list
20to subscribe or read the archives.
21
22Bugs against libsoup can be filed at:
23https://gitlab.gnome.org/GNOME/libsoup/issues/
24
25More information (including the libsoup To Do list) is available at
26https://wiki.gnome.org/Projects/libsoup
27
28Licensing:
29libsoup is licensed under the LGPL, see COPYING for more details.
30

README.msvc

1Building with Visual Studio using Meson
2=======================================
3
4Meson is now the supported method of building libsoup using Visual Studio.
5
6Note that you will need libxml2, SQLite3, libpsl and optionally MIT
7Kerberos, in addition to GLib and all its dependencies.  You will also need
8a set of GIO modules that implement TLS functionality, which needs to be
9found and loadable by GLib (GIO).  glib-openssl is the
10only supported option for this at this time of writing for Visual Studio
11builds.  Note that these should be built with the same compiler that is being
12used to build libsoup.
13
14For libxml2, SQLite3 and MIT Kerberos (for GSSAPI functionality), ensure that
15their headers, .lib's and DLLs can be found in the paths defined in your INCLUDE,
16LIB and PATH environmental variables, while you need to set PKG_CONFIG_PATH to
17contain the path to the pkg-config (.pc) files for the various components of GLib
18and for libpsl.  If GObject-Introspection is found via pkg-config files, the
19introspection files are built as well.
20
21One can also refer to the following page for building the dependencies:
22
23https://wiki.gnome.org/Projects/GTK%2B/Win32/MSVCCompilationOfGTKStack
24
25You will also need the following items:
26-Python 3.6.x.  You will then need to install or update Meson by using pip.
27-The Ninja build tool, required for Visual Studio 2008, 2012 and 2013 builds,
28 and optional for 2010, 2015 and 2017 builds, where Visual Studio projects
29 can be generated instead of the Ninja build files.
30-GIT for Windows is highly recommended, in the case where some required
31 dependencies are not found, and Meson makes use of GIT to download
32 the sources to build in the build process.
33
34To do a build using Meson, do the following:
35
36-Open a Visual Studio (or SDK) command prompt that matches the Visual Studio
37 version and build platform (Win32/x86, x64, etc.) that will be used in all
38 the following steps.
39
40-Create an empty directory/folder for the build.  It needs to be in the same
41 drive as where your libsoup sources are located (i.e. $(LIBSOUP_SRCDIR)).
42 cd into that directory/folder.
43
44-Setup your PATH envvar:
45
46   set PATH=%PATH%;$(PYTHON_INSTALL_DIR);$(NINJA_DIR)
47
48 where PYTHON_INSTALL_DIR is where Python 3.6.x+ is installed to, and NINJA_DIR
49 is where your ninja executable can be found.  The NINJA_DIR can be omitted if one
50 passes --backend=vs to the Meson configuration line, for Visual Studio 2010, 2015
51 and 2017 builds.
52
53-Configure the build using Meson:
54
55    python $(PYTHON_INSTALL_DIR)\scripts\meson.py $(LIBSOUP_SRCDIR) --buildtype=$(build_configuration) --prefix=$(INSTALL_PREFIX) -Dsysprof=disabled [--backend=vs]
56
57 Also pass in -Dgssapi=false if not building with GSSAPI support.
58 For pre-Visual Studio 2013, pass in -Dtests=false, since the tests are written in
59 C99 syntax.
60
61 Please see the Meson docs for an explanation for --buildtype, the path passed for
62 --prefix need not to be on the same drive as where the build is carried out, but
63 it is recommended to use forward slashes for this path.  The --backend=vs can be
64 used if the Visual Studio project generator is preferred over using Ninja, for
65 Visual Studio 2010, 2015 and 2017 builds.
66
67-Build, test and install the build:
68 Run ninja (and ninja test and ninja install) or open the generated Visual Studio
69 projects to compile, test and install the build.
70
71Note that if building the sources with Visual Studio 2008, note the following
72additional items:
73
74-You need to run the following lines from your build directory, to embed the manifests
75 that are generated during the build, assuming the built binaries are installed
76 to $(PREFIX), after a successful build/installation:
77
78for /r %f in (*.dll.manifest) do if exist $(PREFIX)\bin\%~nf mt /manifest %f $(PREFIX)\bin\%~nf;2
79for /r %f in (*.exe.manifest) do if exist $(PREFIX)\bin\%~nf mt /manifest %f $(PREFIX)\bin\%~nf;1
80