Apache Portable Runtime

The Apache Portable Runtime (APR) is a supporting library for the Apache web server. It provides a set of APIs that map to the underlying operating system (OS).[2] Where the OS does not support a particular function, APR will provide an emulation. Thus programmers can use the APR to make a program truly portable across platforms.

Apache Portable Runtime
Developer(s)Apache Software Foundation
Stable release
1.7.0 / April 5, 2019 (2019-04-05)[1]
Written inC
Operating systemCross-platform
TypeDevelopment library
LicenseApache License 2.0

APR originally formed a part of Apache HTTP Server, but the Apache Software Foundation spun it off into a separate project. Other applications can use it to achieve platform independence.


The range of platform-independent functionality provided by APR includes::

Similar projects

  • GLib – provides similar functionality. It supports many more data structures and OS-independent functions, but fewer IPC-related functions. (GLib lacks local and global locking and shared-memory management.)
  • Netscape Portable Runtime (NSPR) is a cross-platform abstraction library used by the Mozilla project. It is used by another subproject of Mozilla application framework (XPFE) to provide cross-platform graphical user interface (GUI) functionality.
  • Adaptive Communication Environment (ACE) is an object-oriented library written in C++ similar in functionality to APR. It is widely deployed in commercial products.[3]
  • commonc++ is a cross-platform C++ class library for systems programming, with much of the same functionality as APR.
  • POCO is a modern C++ framework similar in concept but more extensive than APR.
  • WxWidgets is an object-oriented cross-platform GUI library that also provides abstraction classes for database communication, IPC and networking functionality.
  • KDE Frameworks – used by KDE SC


  1. "Apache Portable Runtime APR 1.7.0 Released". Retrieved 13 June 2019.
  2. Stable Apache Release Hits, Sean Michael Kerner, 2 December 2005, "Apache Portable Runtime (APR) 1.0 API, which provides libraries that interface between the underlying operating system and the server."
  3. "ACE and TAO Success Stories". Archived from the original on 29 August 2008. Retrieved 2008-07-31.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.