Skip to content
master
Switch branches/tags
Code

Latest commit

Doing it this way ensures that GCC understands that the delete this in
decref() is never actually called for end_link.

Instead of incrementing the reference count of end_link so that it
doesn't get deleted in unlink(), we instead add a bool parameter to
unlink that determines whether the unlink should cause a decref(). By
default it always does so, but end_link, being stack-allocated, is a
special case.

unlink is probably inlined by the compiler, so this extra if may
actually marginally improve performance?
2d74b07

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
May 12, 2020

What is Wt ?

Wt is a C++ library for developing web applications. It consists of:

  • libwt, a widget/rendering library
  • libwthttp, an (async I/O) HTTP/WebSockets server
  • libwtfcgi, a FastCGI connector library (Unix)
  • libwtisapi, an ISAPI connector library (Windows)
  • libwttest, a test connector environment

It also contains a C++ ORM, which can be used in a web application (obviously), but can also be used on its own:

  • libwtdbo, a C++ ORM
  • libwtdbopostgres, PostgreSQL backend
  • libwtdbosqlite3, Sqlite3 backend
  • libwtdbomysql, MySQL and MariaDB backend
  • libwtdbomssqlserver, Microsoft SQL Server backend
  • libwtdbofirebird, Firebird backend

For more information, see the homepage.

Dependencies

To build Wt from source you will need at least CMake (>= 3.1), and boost (version >= 1.50).

Optionally, you may want to add:

  • OpenSSL for SSL and WebSockets support in the built-in httpd, the HTTP(S) client, and additional cryptographic hashes in the authentication module
  • Haru PDF library which is used for painting to PDF
  • GraphicsMagick which is used for painting to PNG, GIF (on Windows, Direct2D can be used instead)
  • PostgreSQL for the PostgreSQL Dbo backend
  • MySQL or MariaDB for the MySQL Dbo backend
  • An ODBC driver for the Microsoft SQL Server Dbo backend, and unixODBC on Unix-like platforms
  • Firebird for the Firebird Dbo backend
  • Pango for improved font support in PDF and raster image painting. On Windows, DirectWrite can be used instead.
  • ZLib for compression in the built-in httpd.

For the FastCGI connector, you also need:

Building

Generic instructions for Unix-like platforms or Windows platforms.

Bug Reporting

Bugs can be reported here http://redmine.webtoolkit.eu/projects/wt/issues/new

Demos, examples

The homepage, itself a Wt application, contains also various examples.

License

Wt is available under two licenses:

  • the GNU General Public License, Version 2, with OpenSSL exception. Only version 2 of the GPL applies. See the LICENSE file for more information.
  • a commercial license, which does not require you to distribute the source code of your application. Request a quotation online or contact sales@emweb.be for more information.

See doc/licenses.md for an exhaustive list of the licenses used by Wt, source code from external sources included in Wt and common (optional) external dependencies.