From 471f2260d022b6814576238e42f87eb92bd2cafc Mon Sep 17 00:00:00 2001 From: Arseny Kapoulkine Date: Sun, 18 Oct 2015 18:23:17 -0700 Subject: docs: Rewrite Portability section --- docs/manual.adoc | 28 ++++++++--------------- docs/manual.html | 68 ++++++++++---------------------------------------------- 2 files changed, 21 insertions(+), 75 deletions(-) diff --git a/docs/manual.adoc b/docs/manual.adoc index 63bc397..79ae2ed 100644 --- a/docs/manual.adoc +++ b/docs/manual.adoc @@ -235,25 +235,15 @@ NOTE: In that example `PUGIXML_API` is inconsistent between several source files [[install.portability]] === Portability -pugixml is written in standard-compliant C{plus}{plus} with some compiler-specific workarounds where appropriate. pugixml is compatible with the C{plus}{plus}11 standard, but does not require C{plus}{plus}11 support. Each version is tested with a unit test suite (with code coverage about 99%) on the following platforms: - -* Microsoft Windows: -** Borland C{plus}{plus} Compiler 5.82 -** Digital Mars C{plus}{plus} Compiler 8.51 -** Intel C{plus}{plus} Compiler 8.0, 9.0 x86/x64, 10.0 x86/x64, 11.0 x86/x64 -** Metrowerks CodeWarrior 8.0 -** Microsoft Visual C{plus}{plus} 6.0, 7.0 (2002), 7.1 (2003), 8.0 (2005) x86/x64, 9.0 (2008) x86/x64, 10.0 (2010) x86/x64, 11.0 (2011) x86/x64/ARM, 12.0 (2013) x86/x64/ARM and some CLR versions -** MinGW (GCC) 3.4, 4.4, 4.5, 4.6 x64 - -* Linux (GCC 4.4.3 x86/x64, GCC 4.8.1 x64, Clang 3.2 x64) -* FreeBSD (GCC 4.2.1 x86/x64) -* Apple MacOSX (GCC 4.0.1 x86/x64/PowerPC, Clang 3.5 x64) -* Sun Solaris (sunCC x86/x64) -* Microsoft Xbox 360 -* Nintendo Wii (Metrowerks CodeWarrior 4.1) -* Sony Playstation Portable (GCC 3.4.2) -* Sony Playstation 3 (GCC 4.1.1, SNC 310.1) -* Various portable platforms (Android NDK, BlackBerry NDK, Samsung bada, Windows CE) +pugixml is written in standard-compliant C{plus}{plus} with some compiler-specific workarounds where appropriate. pugixml is compatible with the C{plus}{plus}11 standard, but does not require C{plus}{plus}11 support. Each version is tested with a unit test suite with code coverage exceeding 99%. + +pugixml runs on a variety of desktop platforms (including Microsoft Windows, Linux, FreeBSD, Apple MacOSX and Sun Solaris), game consoles (inclusing Microsoft Xbox 360, Microsoft Xbox One, Nintendo Wii, Sony Playstation Portable and Sony Playstation 3) and mobile platforms (including Android, BlackBerry, Samsung bada and Microsoft Windows CE). + +pugixml supports various architectures, such as x86/x86-64, PowerPC, ARM, MIPS and SPARC. In general it should run on any architecture since it does not use architecture-specific code and does not rely on features such as unaligned memory access. + +pugixml can be compiled using any C++ compiler; it was tested with all versions of Microsoft Visual C{plus}{plus} from 6.0 up to 2015, GCC from 3.4 up to 5.2, Clang from 3.2 up to 3.7, as well as a variety of other compilers (e.g. Borland C{plus}{plus}, Digital Mars C{plus}{plus}, Intel C{plus}{plus}, Metrowerks CodeWarrior and PathScale). The code is written to avoid compilation warnings even on reasonably high warning levels. + +Note that some platforms may have very bare-bones support of C++; in some cases you'll have to use `PUGIXML_NO_STL` and/or `PUGIXML_NO_EXCEPTIONS` to compile without issues. This mostly applies to old game consoles and embedded systems. [[dom]] == Document object model diff --git a/docs/manual.html b/docs/manual.html index 8f96633..b45db0c 100644 --- a/docs/manual.html +++ b/docs/manual.html @@ -968,63 +968,19 @@ In that example PUGIXML_API is inconsistent between several source

2.3. Portability

-

pugixml is written in standard-compliant C++ with some compiler-specific workarounds where appropriate. pugixml is compatible with the C++11 standard, but does not require C++11 support. Each version is tested with a unit test suite (with code coverage about 99%) on the following platforms:

+

pugixml is written in standard-compliant C++ with some compiler-specific workarounds where appropriate. pugixml is compatible with the C++11 standard, but does not require C++11 support. Each version is tested with a unit test suite with code coverage exceeding 99%.

-
-
    -
  • -

    Microsoft Windows:

    -
    -
      -
    • -

      Borland C++ Compiler 5.82

      -
    • -
    • -

      Digital Mars C++ Compiler 8.51

      -
    • -
    • -

      Intel C++ Compiler 8.0, 9.0 x86/x64, 10.0 x86/x64, 11.0 x86/x64

      -
    • -
    • -

      Metrowerks CodeWarrior 8.0

      -
    • -
    • -

      Microsoft Visual C++ 6.0, 7.0 (2002), 7.1 (2003), 8.0 (2005) x86/x64, 9.0 (2008) x86/x64, 10.0 (2010) x86/x64, 11.0 (2011) x86/x64/ARM, 12.0 (2013) x86/x64/ARM and some CLR versions

      -
    • -
    • -

      MinGW (GCC) 3.4, 4.4, 4.5, 4.6 x64

      -
    • -
    +
    +

    pugixml runs on a variety of desktop platforms (including Microsoft Windows, Linux, FreeBSD, Apple MacOSX and Sun Solaris), game consoles (inclusing Microsoft Xbox 360, Microsoft Xbox One, Nintendo Wii, Sony Playstation Portable and Sony Playstation 3) and mobile platforms (including Android, BlackBerry, Samsung bada and Microsoft Windows CE).

    -
  • -
  • -

    Linux (GCC 4.4.3 x86/x64, GCC 4.8.1 x64, Clang 3.2 x64)

    -
  • -
  • -

    FreeBSD (GCC 4.2.1 x86/x64)

    -
  • -
  • -

    Apple MacOSX (GCC 4.0.1 x86/x64/PowerPC, Clang 3.5 x64)

    -
  • -
  • -

    Sun Solaris (sunCC x86/x64)

    -
  • -
  • -

    Microsoft Xbox 360

    -
  • -
  • -

    Nintendo Wii (Metrowerks CodeWarrior 4.1)

    -
  • -
  • -

    Sony Playstation Portable (GCC 3.4.2)

    -
  • -
  • -

    Sony Playstation 3 (GCC 4.1.1, SNC 310.1)

    -
  • -
  • -

    Various portable platforms (Android NDK, BlackBerry NDK, Samsung bada, Windows CE)

    -
  • -
+
+

pugixml supports various architectures, such as x86/x86-64, PowerPC, ARM, MIPS and SPARC. In general it should run on any architecture since it does not use architecture-specific code and does not rely on features such as unaligned memory access.

+
+
+

pugixml can be compiled using any C++ compiler; it was tested with all versions of Microsoft Visual C++ from 6.0 up to 2015, GCC from 3.4 up to 5.2, Clang from 3.2 up to 3.7, as well as a variety of other compilers (e.g. Borland C++, Digital Mars C++, Intel C++, Metrowerks CodeWarrior and PathScale). The code is written to avoid compilation warnings even on reasonably high warning levels.

+
+
+

Note that some platforms may have very bare-bones support of C++; in some cases you’ll have to use PUGIXML_NO_STL and/or PUGIXML_NO_EXCEPTIONS to compile without issues. This mostly applies to old game consoles and embedded systems.

@@ -5607,7 +5563,7 @@ If exceptions are disabled, then in the event of parsing failure the query is in -- cgit v1.2.3