summaryrefslogtreecommitdiffstats
path: root/tools/configure/configureapp.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Add cross_compile to qconfig.pri for global advertisingPeter Kümmel2012-09-071-1/+6
| | | | | | | | | | | .qmake.cache is not necessarily accessible to other modules which depend on information about whether we are cross compiling or not. We might as well advertise this fact globally via the CONFIG variable in qconfig.pri. Backported qtbase/3c47b52bd37488d41a3ad068de7976c838b7d63c Change-Id: Ie2566a44fb26e26af97c791e1ed1592fd650dbbd Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Disable 3DNOW on Blackberry/Win32Rafael Roquetto2012-08-171-0/+1
| | | | | | | | | | | 3DNow is being incorrectly auto-detected on Windows, causing it to be enabled by default when cross-compiling to Blackberry. In other words, the code line introduced by this patch should have already been there since the beginning, but it got lost somehow. So here it is. Change-Id: Iad0b90908602633e3046b54c1c60139c6483632d Reviewed-by: Laszlo Papp <lpapp@kde.org> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* add configure options for debug/release OpenSSLPeter Kümmel2012-08-151-10/+31
| | | | | | | | | msvc cannot use the same library for debug and release builds if openssl libraries are linked statically into the network library. Backported from 952788d64bc30c7aac5f9572533241ab8f48fb63 Change-Id: I8332b8293a27b6f9bd87ca1e6ebc63327589ab78 Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* Update contact information in license headers.Sergio Ahumada2012-08-011-2/+2
| | | | | | | | | | | | | - Replace Nokia contact email address with Qt Project website. - Remove "All rights reserved" line from license headers. As in the past, to avoid rewriting various autotests that contain line-number information, an extra blank line has been inserted at the end of the license text to ensure that this commit does not change the total number of lines in the license header. Change-Id: Ie7ba62011752fcb149b99b26317c54f2a0cfa931 Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
* Add defaults for Blackberry platform on configureRafael Roquetto2012-07-301-0/+25
| | | | | | | Adds default values for Blackbery platform configuration on configure.exe. Change-Id: I11e4f7135d88fcc6133194d6a82863ae494c8c82 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Set correct QT_LFLAGS_SQLITE for default cases.Rafael Roquetto2012-07-181-4/+9
| | | | | | | | | | In systems where no pkgconfig is available, such as QNX, we set QT_LFLAGS_SQLITE to the default values. cherry-picked from qt5/qtbase: a94e917eeb7b19eb19c3cf74d71a9b4cabfb1124 Change-Id: Iccf4e403a90e85b41c70895e1c91fe2d8f0eb573 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* New command line switches for configure.exeRafael Roquetto2012-07-161-2/+184
| | | | | | | | | | | | | | | | | | | Adds support for the following command line switches to configure.exe tool: * -qpa * -nis (-no-nis) * -neon (-no-neon) * -largefile * -little-endian (-big-endian) * -fontconfig (-no-fontconfig) * -system-freetype * -gnu-iconv * -sun-iconv * -posix-ipc based on qt5/qtbase: 1838a6c2fb5e3b4368c871aa330d028b255b83af Change-Id: I4a5adf09e4c0e312372b96dceb87ff3310e26ba6 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Support mkspecs in subdirs for xcompile under windowsAndreas Holzammer2012-05-251-3/+11
| | | | | | | | | | | | Support mkspecs in subdirectories for cross compilation under windows. Mkspecs in subdirectories are separated by slashes. backport from qt5 a3a1fea094434e29c362caba711c7d9883461792 Change-Id: Id3954cc38df2922b20156589335faad989ec0537 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
* Add concurrent to QT_CONFIGSamuli Piippo2012-02-061-0/+2
| | | | | | | | cherry-picked from qtbase d21f28956e494baae311dc6d8f9dfbd4448965b5 cherry-picked from qtbase 7c64ab4966e24834768eb1a09b3d2fd08471787a Change-Id: I8f7f9991fa197e737fe7f9af0ab949a5d48e7069 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Windows configure: make -mp affect the Qt build itselfJoerg Bornemann2012-02-021-3/+4
| | | | | | | | | | | Before -mp and -no-mp affected only projects built with Qt. There was no way to turn off msvc_mp for the Qt build. Qt projects can add msvc_mp themselves. Task-number: QTBUG-23929 Change-Id: I2f9f038ae64acec545fcd038842bba92a8736af4 (cherry picked from commit 41a5ca35591a735d9f07e2335d5827763d52c1f4) Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Make configure not complain about missing perl for non-dev. builds.Markku Heikkila2012-02-011-5/+11
| | | | | | | | | Fixed so that configure.exe is consistent with unix configure. Task-number: QTBUG-5710 Change-Id: I74f35ea269e9ca6648866542a2bd1a15cda09ac0 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Update year in Nokia copyright messages.Jason McDonald2012-01-111-1/+1
| | | | | | | | | Simple search and replace. This commit doesn't touch 3rd-party files, nor translations (where the change is not so simple and will be handled in a separate commit). Change-Id: I4e48513b8078a44a8cd272326685b25338890148 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Windows: Add gcc 4.6.Friedemann Kleint2011-11-161-14/+17
| | | | | | | - Add gcc 4.6 mkspec for > 4.4 (win32-g++-4.6) - Add detection of g++ version and 64bit to configure. Reviewed-by: mariusSO
* Perl check for windows configure.Markku Heikkila2011-09-071-11/+15
| | | | | | | | Works for Windows, *nix check is done by bash shell. Task-number: QTBUG-5710 Merge-request: 1362 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Fix configure after new import of WebKit.Alexis Menard2011-05-311-1/+1
| | | | | | configure.exe still needs to be regenerated. Reviewed by: Andreas Kling
* Update licenseheader text in source files for qt4.8Jyri Tahtela2011-05-131-17/+17
| | | | | | | Updated version of LGPL and FDL licenseheaders. Apply release phase licenseheaders for all source files. Reviewed-by: Trust Me
* Update the source file of configure.exe to enable QtConcurrent for SymbianLiang Qi2011-05-021-2/+0
|
* Merge branch 'symbian-socket-engine' of scm.dev.troll.no:qt/qt-symbian-networkShane Kearns2011-04-121-4/+2
|\ | | | | | | | | | | | | | | Conflicts: configure.exe src/s60installs/bwins/QtCoreu.def src/s60installs/bwins/QtGuiu.def src/s60installs/eabi/QtCoreu.def
| * Merge branch 'master' of scm.dev.troll.no:qt/qt-earth-team into ↵Shane Kearns2011-04-111-2/+32
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | symbian-socket-engine Conflicts: src/s60installs/bwins/QtCoreu.def src/s60installs/bwins/QtGuiu.def src/s60installs/bwins/QtNetworku.def src/s60installs/eabi/QtCoreu.def src/s60installs/eabi/QtGuiu.def src/s60installs/eabi/QtNetworku.def src/s60installs/eabi/QtOpenVGu.def tests/auto/qabstractnetworkcache/tst_qabstractnetworkcache.cpp
| * \ Merge branch 'symbian-socket-engine' of ↵Shane Kearns2011-03-081-4/+2
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | scm.dev.troll.no:qt/qt-symbian-network into symbian-socket-engine Conflicts: src/network/access/qnetworkaccessmanager.cpp tests/auto/qsslsocket/tst_qsslsocket.cpp
| | * \ Merge remote branch 'qt/master' into symbian-socket-engineShane Kearns2011-02-071-5/+33
| | |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/network/access/qnetworkaccessmanager.cpp src/network/bearer/qnetworksession.cpp src/network/kernel/qnetworkproxy_symbian.cpp src/network/socket/qnativesocketengine_unix.cpp tests/auto/platformsocketengine/tst_platformsocketengine.cpp
| | * \ \ Merge remote branch 'qt/master' into symbian-socket-engineShane Kearns2010-12-151-11/+26
| | |\ \ \
| | * | | | Symbian: Also force IPv6 on Windows configure.exeMarkus Goetz2010-12-081-0/+2
| | | | | |
| | * | | | Symbian: Enable IPv6 again.Markus Goetz2010-12-081-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The native QSymbianSocketEngine supports IPv6 just fine. This reverts commit 0c7d5d106152924dedd822da8c90d9f3247a9947.
* | | | | | Merge remote-tracking branch 'origin/4.7' into qt-master-from-4.7Olivier Goffart2011-04-071-1/+1
|\ \ \ \ \ \ | |_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/gui/text/qfontengine_mac.mm tests/auto/qdiriterator/tst_qdiriterator.cpp
| * | | | | fix configure.exe option -opengl desktopMark Brand2011-03-311-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-17997 Merge-request: 1161 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* | | | | | Introduce QFontEngineDirectWriteEskil Abrahamsen Blomfeldt2011-03-141-2/+32
| |/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make a font engine for subpixel positioned text on Windows Vista (with platform update) and Windows 7. If selected during configuration, the engine will be selected only when the hinting preference of a font is set to None or Vertical hinting. The font database uses most of the same logic but creates a direct write font based on the LOGFONT rather than a GDI handle. The engine is currently regarded as experimental, meaning that code using it should do substantial testing to make sure it covers their use cases. Task-number: QTBUG-12678 Reviewed-by: Jiang Jiang
* | | | | Merge remote-tracking branch 'origin/4.7' into qt-master-from-4.7Olivier Goffart2011-02-101-24/+6
|\ \ \ \ \ | |/ / / / | | | | / | |_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: doc/src/development/qmake-manual.qdoc mkspecs/symbian-gcce/qmake.conf qmake/project.cpp src/corelib/global/qnamespace.qdoc src/declarative/graphicsitems/qdeclarativetext.cpp src/gui/text/qtextdocumentlayout.cpp src/gui/text/qtextdocumentlayout_p.h tests/auto/declarative/qdeclarativetext/tst_qdeclarativetext.cpp tests/auto/networkselftest/networkselftest.pro tests/auto/qscriptengine/tst_qscriptengine.cpp tools/designer/src/components/signalsloteditor/signalslot_utils.cpp tools/designer/src/components/signalsloteditor/signalsloteditorwindow.cpp tools/qdoc3/test/qt-build-docs.qdocconf tools/qdoc3/test/qt-html-templates.qdocconf tools/qdoc3/test/qt-html-templates_zh_CN.qdocconf tools/qdoc3/test/qt.qdocconf tools/qdoc3/test/qt_ja_JP.qdocconf tools/qdoc3/test/qt_zh_CN.qdocconf
| * | | Fix regression in creating mkspecs/defaultMiikka Heikkinen2011-02-091-24/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Copy all files from original mkspec to default one and modify *.conf, *.prf, and *.h to include their original counterparts. Task-number: QTBUG-17258 Reviewed-by: Oswald Buddenhagen
* | | | Allow the user to select imageformats to be built as plugin vs internalBernhard Rosenkraenzer2011-02-021-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds what is already there for different plugin types to imageformats plugins -- allowing the user to configure which image formats will be built into Qt and which will be built as plugins. Merge-request: 1028 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* | | | Merge remote branch 'origin/4.7' into qt-master-from-4.7Olivier Goffart2011-01-251-3/+13
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | Conflicts: configure src/network/bearer/bearer.pri
| * | | don't ignore return code from syncqtOswald Buddenhagen2011-01-171-1/+5
| | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-16176 Reviewed-by: mariusSO
| * | | make qtlibinfix apply to QT_INSTALL_TRANSLATIONSOswald Buddenhagen2011-01-171-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the unix configure already got it right Task-number: QTBUG-15978 Reviewed-by: Alessandro Portale Reviewed-by: mariusSO
| * | | don't claim declarative debugging support without having declarativeOswald Buddenhagen2011-01-171-2/+6
| | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-15228 Reviewed-by: mariusSO
* | | | Merge remote branch 'origin/4.7' into qt-master-from-4.7Olivier Goffart2011-01-171-1/+1
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: examples/webkit/imageanalyzer/imageanalyzer.h examples/webkit/imageanalyzer/mainwindow.h mkspecs/unsupported/qws/linux-x86-openkode-g++/qplatformdefs.h src/corelib/io/qfsfileengine_iterator_unix.cpp src/corelib/io/qfsfileengine_iterator_win.cpp src/corelib/kernel/qcoreapplication.cpp src/network/access/qnetworkaccessdatabackend.cpp src/plugins/bearer/connman/qconnmanservice_linux.cpp src/plugins/platforms/openvglite/qwindowsurface_vglite.h src/s60installs/bwins/QtCoreu.def src/s60installs/eabi/QtCoreu.def src/s60installs/s60installs.pro tools/assistant/tools/assistant/helpviewer_qwv.h tools/qdoc3/test/qt-html-templates.qdocconf
| * | | Update copyright year to 2011.Jason McDonald2011-01-101-1/+1
| | | | | | | | | | | | | | | | Reviewed-by: Trust Me
* | | | Merge remote branch 'origin/4.7' into qt-master-from-4.7Olivier Goffart2010-12-201-1/+7
|\ \ \ \ | |/ / / | | | / | |_|/ |/| | | | | | | | | | | | | | | | | Conflicts: demos/declarative/minehunt/minehunt.pro src/opengl/gl2paintengineex/qtextureglyphcache_gl.cpp src/plugins/phonon/mmf/mmf.pro src/s60installs/s60installs.pro tests/auto/qapplication/test/test.pro tests/auto/qgraphicsview/tst_qgraphicsview.cpp
| * | Use relative include instead of absolute in default qmake.confMiikka Heikkinen2010-12-171-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Absolute include path breaks QtP releases which copy mkspecs under epoc32 and do not necessarily have the sources available in the original absolute path and can't patch the paths either at installation time. Task-number: QTBUG-16172 Reviewed-by: Oswald Buddenhagen
* | | Merge remote branch 'origin/4.7' into qt-master-from-4.7Olivier Goffart2010-12-131-0/+2
|\ \ \ | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure src/gui/graphicsview/qgraphicslayout.cpp src/gui/text/qfontengine_s60.cpp src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp src/opengl/qwindowsurface_gl.cpp src/s60installs/bwins/QtGuiu.def src/s60installs/eabi/QtGuiu.def tests/auto/qsortfilterproxymodel/tst_qsortfilterproxymodel.cpp
| * | Add libinfix support for QML plugins in Symbian.Miikka Heikkinen2010-12-091-0/+2
| | | | | | | | | | | | | | | Task-number: QTBUG-14736 Reviewed-by: Alessandro Portale
* | | Merge remote branch 'origin/4.7' into qt-master-from-4.7Olivier Goffart2010-12-061-11/+24
|\ \ \ | |/ / | | / | |/ |/| | | | | | | | | | | Conflicts: configure qmake/generators/win32/msbuild_objectmodel.cpp src/gui/image/qpnghandler.cpp src/network/access/qnetworkaccessdatabackend.cpp src/opengl/qgl_x11egl.cpp tests/auto/qnetworkreply/tst_qnetworkreply.cpp
| * Synchronized configure.exe OpenGL options with Unix configureOleh Vasyura2010-12-031-2/+23
| | | | | | | | | | | | | | | | | | | | | | Windows configure tool and Linux configure script use different options for OpenGL modules. Windows configure tool uses -opengl-es-cm and -opengl-es-2. Linux configure script uses -opengl <api> where <api> can be as "desktop", "es1", "es2" and are more common. Windows configure tool is changed to understand Linux OpenGL configure options as well. The old options are retained for compatibility but not documented any more. Reviewed-by: ossi
| * purge vestiges of imageformat-pluginsMark Brand2010-12-031-8/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The imageformat-plugins variable is never referenced by the .pr[io] for building Qt. Its presence in configure.exe appears to be a vestige of an earlier state of affairs. As a reminder, jpeg, mng, tiff and gif can be built into QtGui or built as plugins. The default is plugin. During configuration, this can be overridden by adding, for example, "no-jpeg" to disable support altogether or "jpeg" to build into QtGui. Merge-request: 961 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
| * Add missing newline to configure.exe output.Jason McDonald2010-11-261-1/+1
| | | | | | | | Reviewed-by: Trust Me
* | Merge remote branch 'origin/4.7' into qt-master-from-4.7Olivier Goffart2010-11-251-9/+11
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: qmake/generators/symbian/symmake.cpp src/corelib/global/qglobal.h src/gui/kernel/qwidget_p.h src/gui/painting/qtextureglyphcache.cpp src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp src/opengl/gl2paintengineex/qtextureglyphcache_gl.cpp src/opengl/gl2paintengineex/qtextureglyphcache_gl_p.h src/plugins/qpluginbase.pri src/qbase.pri tests/auto/qgraphicsgridlayout/tst_qgraphicsgridlayout.cpp tests/auto/qthread/tst_qthread.cpp tests/auto/selftests/expected_cmptest.txt tests/auto/selftests/expected_crashes_3.txt tests/auto/selftests/expected_longstring.txt tests/auto/selftests/expected_maxwarnings.txt tests/auto/selftests/expected_skip.txt tools/assistant/tools/assistant/doc/assistant.qdocconf tools/qdoc3/test/assistant.qdocconf tools/qdoc3/test/designer.qdocconf tools/qdoc3/test/linguist.qdocconf tools/qdoc3/test/qdeclarative.qdocconf tools/qdoc3/test/qmake.qdocconf tools/qdoc3/test/qt-build-docs.qdocconf tools/qdoc3/test/qt-build-docs_ja_JP.qdocconf tools/qdoc3/test/qt-build-docs_zh_CN.qdocconf tools/qdoc3/test/qt.qdocconf tools/qdoc3/test/qt_ja_JP.qdocconf tools/qdoc3/test/qt_zh_CN.qdocconf
| * Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public into ↵Qt Continuous Integration System2010-11-241-8/+10
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public: (28 commits) Fixed tst_qwidget::winIdChangeEvent Use parent class function to generate Makefile headers in Symbian Fix spaces Fix QPixmap::fromImage() in the OpenVG pixmap backend. Native color dialog on symbian Fix non-stroked filled paths in OpenVG paint engine. Fix symbian-mmp.conf include path Fix a build break when namespace is defined Fixed namespace issues related to epocroot.cpp Corrected ASCII comparison and removed extra braces Add symbian scope for qfiledialog_symbian.cpp Resolve EPOCROOT in qt.conf using same logic as in .pro Make epocroot resolving compatible with more build environments Fix for QtOpenGL RVCT4 compilation error Removed extra cpp and done changes based on comments Correct flags for Symbian file dialogs Fix for WServ 64 crash on Symbian. Use include(original mkspec) instead of copying of mkspec to default Fixed code style of d92cbfc5, reported by git push. Switched qdesktopservices to use SchemeHandler for Symbian^3 and later. ...
| | * Use include(original mkspec) instead of copying of mkspec to defaultMiikka Heikkinen2010-11-161-8/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Having QMAKESPEC_ORIGINAL at the end of the default qmake.conf sets the mkspec too late for scope checks in symbian-mmp.conf and related files. Fixed by changing how default mkspec is handled: it is no longer simply copied over to mkspecs/default by configure but rather included with include statement in the generated mkspecs/default/qmake.conf after setting of QMAKESPEC_ORIGINAL value. This should also fix any issues with relative includes in mkspecs used as default that are not on same level as mkspecs/default folder. Task-number: QTBUG-15159 Reviewed-by: Oswald Buddenhagen Reviewed-by: Joerg Bornemann
| * | Prevent compilers optimizing eval timebomb code out of existence.Jason McDonald2010-11-241-1/+1
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The variable that holds the eval license key is a placeholder that is patched during package installation. Unfortunately, for a non-final package build, the placeholder is filled with nulls at compile-time and a clever compiler will optimize away most of the eval timebomb code due to a check in the eval code for the first character of the license key being null. This commit makes the variable that holds the license key volatile, to convince compilers that they cannot make assumptions about the contents of the variable when optimizing. Task-number: QT-3848 Acked-by: Thiago Macieira
* | removed obsolete -qt-gif configure optionMark Brand2010-10-151-4/+1
| | | | | | | | | | | | | | | | | | Since "-system-gif" is not offered, offering "-qt-gif" is unnecessary and perhaps misleading. By default the GIF handler is built from code included with Qt, unless suppressed by "-no-gif". Merge-request: 859 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* | Merge remote branch 'origin/4.7' into qt-master-from-4.7Olivier Goffart2010-09-281-1/+1
|\ \ | |/ | | | | | | | | | | | | Conflicts: src/gui/painting/qrasterizer.cpp src/network/access/qnetworkaccessmanager.cpp tests/auto/qpainter/tst_qpainter.cpp tools/assistant/tools/assistant/mainwindow.cpp