diff options
author | orivej <orivej@yandex-team.ru> | 2022-02-10 16:45:01 +0300 |
---|---|---|
committer | Daniil Cherednik <dcherednik@yandex-team.ru> | 2022-02-10 16:45:01 +0300 |
commit | 2d37894b1b037cf24231090eda8589bbb44fb6fc (patch) | |
tree | be835aa92c6248212e705f25388ebafcf84bc7a1 /contrib/libs/poco/README | |
parent | 718c552901d703c502ccbefdfc3c9028d608b947 (diff) | |
download | ydb-2d37894b1b037cf24231090eda8589bbb44fb6fc.tar.gz |
Restoring authorship annotation for <orivej@yandex-team.ru>. Commit 2 of 2.
Diffstat (limited to 'contrib/libs/poco/README')
-rw-r--r-- | contrib/libs/poco/README | 568 |
1 files changed, 284 insertions, 284 deletions
diff --git a/contrib/libs/poco/README b/contrib/libs/poco/README index 554ec94842..aced9dffa7 100644 --- a/contrib/libs/poco/README +++ b/contrib/libs/poco/README @@ -1,284 +1,284 @@ -This is the README file for the POCO C++ Libraries. - -In this document you will find a brief description of the directory layout, -as well as a description necessary steps to build the POCO C++ Libraries. - -The Foundation library contains a platform abstraction layer (including classes -for multithreading, file system access, logging, etc.), as well as -a large number of useful utility classes, such various stream buffer and stream -classes, URI handling, and many more. -The XML library contains an XML parser with SAX2 and DOM interfaces, -as well as an XMLWriter. -The Util library contains classes for working with configuration files and -command line arguments, as well as various utility classes. -The Net library contains network classes (sockets, HTTP client/server, etc.). -All libraries come with a test suite and a number of sample programs. - -The basic directory layout is as follows: - -build/ the build system for Unix and additional utility scripts - config/ build configurations for various Unix platforms - rules/ common build rules for all platforms - scripts/ build and utility scripts - vxconfig/ VxWorks build configurations - -cmake/ Support files for CMake - -bin/ all executables (dynamic link libraries on Windows) -bin64/ all 64-bit executables (and DLLs) - -doc/ additional documentation - -lib/ all libraries (import libraries on Windows) -lib64/ all 64-bit libraries - -CppUnit/ project and make/build files for the CppUnit unit testing framework - doc/ additional documentation - include/ - CppUnit/ header files for CppUnit - src/ source files for CppUnit - WinTestRunner/ Windows GUI for CppUnit - -Foundation/ project and make/build files for the Foundation library - include/ - Poco/ header files for the Foundation library - src/ source files for the Foundation library - testsuite/ project and make/build files for the Foundation testsuite - src/ source files for the Foundation testsuite - bin/ test suite executables - samples/ sample applications for the Foundation library - -XML/ project and make/build files for the XML library - include/ - Poco/ - XML/ header files for the core XML library - SAX/ header files for SAX support - DOM/ header files for DOM support - src/ source files for the XML library - testsuite/ project and make/build files for the XML testsuite - src/ source files for the XML testsuite - bin/ test suite executables - samples/ sample applications for the XML library - -Net/ project and make/build files for the Net library - include/ - Poco/ - Net/ header files for the Net library - src/ source files for the Net library - testsuite/ project and make/build files for the Net testsuite - src/ source files for the Net testsuite - bin/ test suite executables - samples/ sample applications for the Net library - - -Depending on what package you have downloaded, there may be other libraries -as well (such as Data, Crypto, NetSSL_OpenSSL and Zip). - - -DOCUMENTATION -============= - -Plenty of documentation (tutorial slides, articles and SDK reference) -is available at <http://pocoproject.org/documentation/>. - - -EXTERNAL DEPENDENCIES -===================== - -The following libraries require third-party software (header files and -libraries) being installed to build properly: - -- NetSSL_OpenSSL and Crypt require OpenSSL. -- Data/ODBC requires ODBC - (Microsoft ODBC on Windows, unixODBC or iODBC on Unix/Linux) -- Data/MySQL requires the MySQL client. - -Most Unix/Linux systems already have OpenSSL preinstalled. If your system -does not have OpenSSL, please get it from http://www.openssl.org or -another source. You do not have to build OpenSSL yourself - a binary -distribution is fine (e.g., apt-get install openssl libssl-dev). -On macOS, install OpenSSL via Homebrew (brew install openssl). - -The easiest way to install OpenSSL on Windows is to get the pre-built -libraries from the pocoproject/openssl Git repository at -<https://github.com/pocoproject/openssl>. This repository is included -as a submodule in the poco GitHub repository, but not in the release -source code packages. You can also provide your own OpenSSL build by -editing the Visual Studio project files. - -Depending on where you have installed the OpenSSL libraries, -you might have to edit the build script (buildwin.cmd), or add the -necessary paths to the INCLUDE and LIB environment variables. - -Through the Poco/Crypto/Crypto.h and Poco/Net/NetSSL.h header files, -Visual C++ will automatically link the libcrypto.lib and libssl.lib -libraries. If your OpenSSL libraries are named differently, compile -with the macro POCO_EXTERNAL_OPENSSL defined and edit the project -files accordingly. - -The Data library requires ODBC support on your system if you want -to build the ODBC connector (which is the default). On Windows -platforms, ODBC should be readily available if you have the -Windows SDK. On Unix/Linux platforms, you can use iODBC -(preinstalled on macOS X) or unixODBC. For the MySQL connector, -the MySQL client libraries and header files are required. - -The Data/ODBC and Data/MySQL Makefiles will search for the ODBC -and MySQL headers and libraries in various places. Nevertheless, -the Makefiles may not be able to find the headers and libraries. -In this case, please edit the Makefile in Data/ODBC and/or Data/MySQL -accordingly. - - -BUILDING WITH CMAKE -=================== - -The POCO C++ Libraries support CMake as a build system on Linux, macOS and Windows. -To build the POCO C++ Libraries with CMake: - -1. create a cmake-build directory (e.g. in the POCO root directory): - -$ mkdir cmake-build - -2. and run CMake from there: - -$ cd cmake-build -$ cmake .. -$ make -s -j (or build the generated Visual Studio solution on Windows) - -If you cannot or do not want to build with CMake, there are other options, -described in the following. - - -BUILDING ON WINDOWS -=================== - -Microsoft Visual Studio 2008 or newer is required to build the POCO C++ Libraries on -Windows platforms. Solution and project files for all versions from 2008 to 2017 are included. -64-bit (x64) builds are supported as well. -You can either build from within Visual Studio (Build->Batch Build->Select All;Rebuild) -or from the command line. To build from the command line, start the -Visual Studio Command Prompt and cd to the directory where you -have extracted the POCO C++ Libraries sources. Then, simply start the buildwin.cmd script -and pass as argument the version of visual studio (90, 100, 110, etc.). You can customize -what is being built by buildwin.cmd by passing appropriate command line arguments to -it. Call buildwin.cmd without arguments to see what is available. - -To disable certain components (e.g., NetSSL_OpenSSL or Data/MySQL) from the build, -edit the file named "components" and remove the respective lines. - -Certain libraries, like NetSSL_OpenSSL, Crypto or Data/MySQL have dependencies -to other libraries. Since the build script does not know where to find the necessary -header files and import libraries, you have to either add the header file paths to -the INCLUDE environment variable and the library path to the LIB environment variable, -or you'll have to edit the buildwin.cmd script, where these environment variables can -be set as well. - -In order to run the test suite and the samples, the top-most bin directory containing -the shared libraries must be in the PATH environment variable. - -IMPORTANT NOTE: Please make sure that the path to the directory containing the -POCO C++ Libraries source tree does not contain spaces. Otherwise, the Microsoft -message compiler may fail when building the Foundation library. - - -BUILDING FOR WINDOWS CE - -Building for Windows CE 6.0 and Windows Embedded Compact 2013 is supported with -Microsoft Visual Studio 2008 (CE 6.0), and Visual Studio 2012/2013 (WEC 2013), respectively. -For CE 6.0, unless you have the Digi JumpStart Windows CE 6.0 SDK installed, you'll -have to modify the included Visual Studio project and solution files. Same applies -to the WEC2013 projects, which are based on the AM335X SDK. -Please see the SDK Reference Documentation (http://pocoproject.org/documentation) -for instructions. - - -BUILDING ON UNIX/LINUX/macOS -============================ - -For building on Unix platforms, the POCO C++ Libraries come with their own -build system. The build system is based on GNU Make 3.80 (or newer), with the help -from a few shell scripts. If you do not have GNU Make 3.80 (or later) installed on -your machine, you will need to download it from -http://directory.fsf.org/devel/build/make.html>, -build and install it prior to building the POCO C++ Libraries. - -You can check the version of GNU Make installed on your system with - -> gmake --version - -or - -> make --version - -Once you have GNU Make up and running, the rest is quite simple. -To extract the sources and build all libraries, testsuites and samples, simply - -> gunzip poco-X.Y.tar.gz -> tar -xf poco-X.Y.tar -> cd poco-X.Y -> ./configure -> gmake -s - -See the configure script source for a list of possible options. -For starters, we recommend --no-tests and --no-samples, to reduce build times. -On a multicore or multiprocessor machine, use parallel makes to speed up -the build (make -j4). - -Once you have successfully built POCO, you can install it -to /usr/local (or another directory specified as parameter -to configure --prefix=<path>): - -> sudo gmake -s install - -You can omit certain components from the build. For example, you might -want to omit Data/ODBC or Data/MySQL if you do not have the corresponding -third-party libraries (iodbc or unixodbc, mysqlclient) installed -on your system. To do this, use the --omit argument to configure: - -> ./configure --omit=Data/ODBC,Data/MySQL - - -IMPORTANT: Make sure that the path to the build directory does not -contain symbolic links. Furthermore, on macOS (or other systems -with case insensitive filesystems), make sure that the characters in -the path have the correct case. Otherwise you'll get an error saying -"Current working directory not under $PROJECT_BASE.". - - -BUILDING ON QNX NEUTRINO -======================== - -For QNX Neutrino, the Unix build system (see the instructions above) is used. -You can use the build system to cross-compile for a target platform on a Solaris or -Linux host. Unfortunately, the Cygwin-based Windows host environment has some major -quirks that prevent the build system from working there. You can also use the -build system on a self-hosted QNX system. The default build configuration for QNX -(found in build/config/QNX) is for a self-hosted x86 platform. To specify another -target, edit the CCVER setting in the build configuration file. For example, to -compile for a PowerPC target, specify CCVER=3.3.1,gcc_ntoppcbe. - -Service Pack 1 for QNX Neutrino 6.3 must be installed, otherwise compiling the -Foundation library will fail due to a problem with the <list> header in the -default (Dinkumware) C++ standard library. - -When building on QNX, you might want to disable NetSSL_OpenSSL, Crypto and -some Data connectors, unless you have the necessary third party components -available: - -> ./configure --omit=NetSSL_OpenSSL,Crypto,Data/ODBC,Data/MySQL - - -BUILDING FOR VXWORKS -==================== - -Please see the VxWorks Platform Notes in the Reference Documentation for -more information. The Reference Documentation can be found online -at <http://pocoproject.org/docs/>. - - -MORE INFORMATION -================ - -For more information, see the POCO C++ Libraries website -at <http://pocoproject.org>. +This is the README file for the POCO C++ Libraries. + +In this document you will find a brief description of the directory layout, +as well as a description necessary steps to build the POCO C++ Libraries. + +The Foundation library contains a platform abstraction layer (including classes +for multithreading, file system access, logging, etc.), as well as +a large number of useful utility classes, such various stream buffer and stream +classes, URI handling, and many more. +The XML library contains an XML parser with SAX2 and DOM interfaces, +as well as an XMLWriter. +The Util library contains classes for working with configuration files and +command line arguments, as well as various utility classes. +The Net library contains network classes (sockets, HTTP client/server, etc.). +All libraries come with a test suite and a number of sample programs. + +The basic directory layout is as follows: + +build/ the build system for Unix and additional utility scripts + config/ build configurations for various Unix platforms + rules/ common build rules for all platforms + scripts/ build and utility scripts + vxconfig/ VxWorks build configurations + +cmake/ Support files for CMake + +bin/ all executables (dynamic link libraries on Windows) +bin64/ all 64-bit executables (and DLLs) + +doc/ additional documentation + +lib/ all libraries (import libraries on Windows) +lib64/ all 64-bit libraries + +CppUnit/ project and make/build files for the CppUnit unit testing framework + doc/ additional documentation + include/ + CppUnit/ header files for CppUnit + src/ source files for CppUnit + WinTestRunner/ Windows GUI for CppUnit + +Foundation/ project and make/build files for the Foundation library + include/ + Poco/ header files for the Foundation library + src/ source files for the Foundation library + testsuite/ project and make/build files for the Foundation testsuite + src/ source files for the Foundation testsuite + bin/ test suite executables + samples/ sample applications for the Foundation library + +XML/ project and make/build files for the XML library + include/ + Poco/ + XML/ header files for the core XML library + SAX/ header files for SAX support + DOM/ header files for DOM support + src/ source files for the XML library + testsuite/ project and make/build files for the XML testsuite + src/ source files for the XML testsuite + bin/ test suite executables + samples/ sample applications for the XML library + +Net/ project and make/build files for the Net library + include/ + Poco/ + Net/ header files for the Net library + src/ source files for the Net library + testsuite/ project and make/build files for the Net testsuite + src/ source files for the Net testsuite + bin/ test suite executables + samples/ sample applications for the Net library + + +Depending on what package you have downloaded, there may be other libraries +as well (such as Data, Crypto, NetSSL_OpenSSL and Zip). + + +DOCUMENTATION +============= + +Plenty of documentation (tutorial slides, articles and SDK reference) +is available at <http://pocoproject.org/documentation/>. + + +EXTERNAL DEPENDENCIES +===================== + +The following libraries require third-party software (header files and +libraries) being installed to build properly: + +- NetSSL_OpenSSL and Crypt require OpenSSL. +- Data/ODBC requires ODBC + (Microsoft ODBC on Windows, unixODBC or iODBC on Unix/Linux) +- Data/MySQL requires the MySQL client. + +Most Unix/Linux systems already have OpenSSL preinstalled. If your system +does not have OpenSSL, please get it from http://www.openssl.org or +another source. You do not have to build OpenSSL yourself - a binary +distribution is fine (e.g., apt-get install openssl libssl-dev). +On macOS, install OpenSSL via Homebrew (brew install openssl). + +The easiest way to install OpenSSL on Windows is to get the pre-built +libraries from the pocoproject/openssl Git repository at +<https://github.com/pocoproject/openssl>. This repository is included +as a submodule in the poco GitHub repository, but not in the release +source code packages. You can also provide your own OpenSSL build by +editing the Visual Studio project files. + +Depending on where you have installed the OpenSSL libraries, +you might have to edit the build script (buildwin.cmd), or add the +necessary paths to the INCLUDE and LIB environment variables. + +Through the Poco/Crypto/Crypto.h and Poco/Net/NetSSL.h header files, +Visual C++ will automatically link the libcrypto.lib and libssl.lib +libraries. If your OpenSSL libraries are named differently, compile +with the macro POCO_EXTERNAL_OPENSSL defined and edit the project +files accordingly. + +The Data library requires ODBC support on your system if you want +to build the ODBC connector (which is the default). On Windows +platforms, ODBC should be readily available if you have the +Windows SDK. On Unix/Linux platforms, you can use iODBC +(preinstalled on macOS X) or unixODBC. For the MySQL connector, +the MySQL client libraries and header files are required. + +The Data/ODBC and Data/MySQL Makefiles will search for the ODBC +and MySQL headers and libraries in various places. Nevertheless, +the Makefiles may not be able to find the headers and libraries. +In this case, please edit the Makefile in Data/ODBC and/or Data/MySQL +accordingly. + + +BUILDING WITH CMAKE +=================== + +The POCO C++ Libraries support CMake as a build system on Linux, macOS and Windows. +To build the POCO C++ Libraries with CMake: + +1. create a cmake-build directory (e.g. in the POCO root directory): + +$ mkdir cmake-build + +2. and run CMake from there: + +$ cd cmake-build +$ cmake .. +$ make -s -j (or build the generated Visual Studio solution on Windows) + +If you cannot or do not want to build with CMake, there are other options, +described in the following. + + +BUILDING ON WINDOWS +=================== + +Microsoft Visual Studio 2008 or newer is required to build the POCO C++ Libraries on +Windows platforms. Solution and project files for all versions from 2008 to 2017 are included. +64-bit (x64) builds are supported as well. +You can either build from within Visual Studio (Build->Batch Build->Select All;Rebuild) +or from the command line. To build from the command line, start the +Visual Studio Command Prompt and cd to the directory where you +have extracted the POCO C++ Libraries sources. Then, simply start the buildwin.cmd script +and pass as argument the version of visual studio (90, 100, 110, etc.). You can customize +what is being built by buildwin.cmd by passing appropriate command line arguments to +it. Call buildwin.cmd without arguments to see what is available. + +To disable certain components (e.g., NetSSL_OpenSSL or Data/MySQL) from the build, +edit the file named "components" and remove the respective lines. + +Certain libraries, like NetSSL_OpenSSL, Crypto or Data/MySQL have dependencies +to other libraries. Since the build script does not know where to find the necessary +header files and import libraries, you have to either add the header file paths to +the INCLUDE environment variable and the library path to the LIB environment variable, +or you'll have to edit the buildwin.cmd script, where these environment variables can +be set as well. + +In order to run the test suite and the samples, the top-most bin directory containing +the shared libraries must be in the PATH environment variable. + +IMPORTANT NOTE: Please make sure that the path to the directory containing the +POCO C++ Libraries source tree does not contain spaces. Otherwise, the Microsoft +message compiler may fail when building the Foundation library. + + +BUILDING FOR WINDOWS CE + +Building for Windows CE 6.0 and Windows Embedded Compact 2013 is supported with +Microsoft Visual Studio 2008 (CE 6.0), and Visual Studio 2012/2013 (WEC 2013), respectively. +For CE 6.0, unless you have the Digi JumpStart Windows CE 6.0 SDK installed, you'll +have to modify the included Visual Studio project and solution files. Same applies +to the WEC2013 projects, which are based on the AM335X SDK. +Please see the SDK Reference Documentation (http://pocoproject.org/documentation) +for instructions. + + +BUILDING ON UNIX/LINUX/macOS +============================ + +For building on Unix platforms, the POCO C++ Libraries come with their own +build system. The build system is based on GNU Make 3.80 (or newer), with the help +from a few shell scripts. If you do not have GNU Make 3.80 (or later) installed on +your machine, you will need to download it from +http://directory.fsf.org/devel/build/make.html>, +build and install it prior to building the POCO C++ Libraries. + +You can check the version of GNU Make installed on your system with + +> gmake --version + +or + +> make --version + +Once you have GNU Make up and running, the rest is quite simple. +To extract the sources and build all libraries, testsuites and samples, simply + +> gunzip poco-X.Y.tar.gz +> tar -xf poco-X.Y.tar +> cd poco-X.Y +> ./configure +> gmake -s + +See the configure script source for a list of possible options. +For starters, we recommend --no-tests and --no-samples, to reduce build times. +On a multicore or multiprocessor machine, use parallel makes to speed up +the build (make -j4). + +Once you have successfully built POCO, you can install it +to /usr/local (or another directory specified as parameter +to configure --prefix=<path>): + +> sudo gmake -s install + +You can omit certain components from the build. For example, you might +want to omit Data/ODBC or Data/MySQL if you do not have the corresponding +third-party libraries (iodbc or unixodbc, mysqlclient) installed +on your system. To do this, use the --omit argument to configure: + +> ./configure --omit=Data/ODBC,Data/MySQL + + +IMPORTANT: Make sure that the path to the build directory does not +contain symbolic links. Furthermore, on macOS (or other systems +with case insensitive filesystems), make sure that the characters in +the path have the correct case. Otherwise you'll get an error saying +"Current working directory not under $PROJECT_BASE.". + + +BUILDING ON QNX NEUTRINO +======================== + +For QNX Neutrino, the Unix build system (see the instructions above) is used. +You can use the build system to cross-compile for a target platform on a Solaris or +Linux host. Unfortunately, the Cygwin-based Windows host environment has some major +quirks that prevent the build system from working there. You can also use the +build system on a self-hosted QNX system. The default build configuration for QNX +(found in build/config/QNX) is for a self-hosted x86 platform. To specify another +target, edit the CCVER setting in the build configuration file. For example, to +compile for a PowerPC target, specify CCVER=3.3.1,gcc_ntoppcbe. + +Service Pack 1 for QNX Neutrino 6.3 must be installed, otherwise compiling the +Foundation library will fail due to a problem with the <list> header in the +default (Dinkumware) C++ standard library. + +When building on QNX, you might want to disable NetSSL_OpenSSL, Crypto and +some Data connectors, unless you have the necessary third party components +available: + +> ./configure --omit=NetSSL_OpenSSL,Crypto,Data/ODBC,Data/MySQL + + +BUILDING FOR VXWORKS +==================== + +Please see the VxWorks Platform Notes in the Reference Documentation for +more information. The Reference Documentation can be found online +at <http://pocoproject.org/docs/>. + + +MORE INFORMATION +================ + +For more information, see the POCO C++ Libraries website +at <http://pocoproject.org>. |