aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.commit-template4
-rw-r--r--.gitmodules79
-rw-r--r--CMakeLists.txt114
-rw-r--r--LICENSE.QT-LICENSE-AGREEMENT1331
-rw-r--r--LICENSE.QT-LICENSE-AGREEMENT-4.0913
-rw-r--r--_clang-format3
-rw-r--r--cmake/ECMOptionalAddSubdirectory.cmake73
-rw-r--r--cmake/TopologicalSort.cmake148
-rw-r--r--cmake/TopologicalSort_LICENSE.txt23
-rw-r--r--cmake/qt_attribution.json13
-rw-r--r--coin/module_config.yaml27
-rw-r--r--coin/platform_configs/default.yaml46
-rw-r--r--coin/platform_configs/flashing-wizard.yaml23
-rw-r--r--coin/platform_configs/meta-boot2qt.yaml43
-rw-r--r--coin/platform_configs/ogl-runtime.yaml1
-rw-r--r--coin/platform_configs/qdb.yaml28
-rw-r--r--coin/platform_configs/qt3d-runtime.yaml1
-rw-r--r--coin/platform_configs/qt3d.yaml43
-rw-r--r--coin/platform_configs/qt5.yaml6
-rw-r--r--coin/platform_configs/qt5compat.yaml43
-rw-r--r--coin/platform_configs/qtandroidextras.yaml43
-rw-r--r--coin/platform_configs/qtbase.yaml62
-rw-r--r--coin/platform_configs/qtcoap.yaml43
-rw-r--r--coin/platform_configs/qtdeclarative.yaml48
-rw-r--r--coin/platform_configs/qtdoc.yaml43
-rw-r--r--coin/platform_configs/qtgraphicaleffects.yaml43
-rw-r--r--coin/platform_configs/qtimageformats.yaml43
-rw-r--r--coin/platform_configs/qtnetworkauth.yaml43
-rw-r--r--coin/platform_configs/qtqa.yaml7
-rw-r--r--coin/platform_configs/qtquick3d.yaml43
-rw-r--r--coin/platform_configs/qtquickcontrols2.yaml43
-rw-r--r--coin/platform_configs/qtquicktimeline.yaml43
-rw-r--r--coin/platform_configs/qtsaferenderer.yaml19
-rw-r--r--coin/platform_configs/qtsdk.yaml15
-rw-r--r--coin/platform_configs/qtshadertools.yaml43
-rw-r--r--coin/platform_configs/qtsvg.yaml43
-rw-r--r--coin/platform_configs/qttools.yaml43
-rw-r--r--coin/platform_configs/qttranslations.yaml43
-rw-r--r--coin/platform_configs/qtvirtualkeyboard.yaml43
-rw-r--r--coin/platform_configs/qtwayland.yaml43
-rw-r--r--coin/platform_configs/qtwebengine.yaml80
-rw-r--r--coin/platform_configs/qtwebkit.yaml14
-rw-r--r--coin/platform_configs/qtwebsockets.yaml43
-rw-r--r--coin/platform_configs/tqtc-qt-config-gui.yaml28
-rw-r--r--coin/platform_configs/tqtc-qt-rta.yaml15
-rw-r--r--coin/pre-provisioning/qtci-windows-10-x86/README_MANUAL_INSTALLATIONS47
-rw-r--r--coin/pre-provisioning/qtci-windows-10-x86/disable-defragment.ps172
-rw-r--r--coin/pre-provisioning/qtci-windows-10-x86/disable-ntp.ps14
-rw-r--r--coin/pre-provisioning/qtci-windows-10-x86/disable-schedule-tasks.ps188
-rw-r--r--coin/pre-provisioning/qtci-windows-10-x86/disable-update-orchestrator.ps116
-rw-r--r--coin/pre-provisioning/qtci-windows-10-x86/disable-windefender.ps163
-rw-r--r--coin/pre-provisioning/qtci-windows-10-x86/disable-windows-file-protector.ps14
-rw-r--r--coin/pre-provisioning/qtci-windows-10-x86/disable-windows-update-medic.ps125
-rw-r--r--[-rwxr-xr-x]coin/pre-provisioning/qtci-windows-10-x86/disable-windows-updates.ps1 (renamed from coin/provisioning/qtci-macos-10.12-x86_64/15-xz.sh)42
-rw-r--r--coin/pre-provisioning/qtci-windows-10-x86/msvc2015.txt14
-rw-r--r--coin/pre-provisioning/qtci-windows-10-x86/msvc2015_update.ps158
-rw-r--r--coin/pre-provisioning/qtci-windows-10-x86/msvc2017.ps149
-rw-r--r--coin/pre-provisioning/qtci-windows-10-x86/msvc2017.txt (renamed from coin/pre-provisioning/qtci-windows-10-x86_64/msvc2017.ps1)12
-rw-r--r--coin/pre-provisioning/qtci-windows-10-x86/msvc2017_build_tools.txt (renamed from coin/pre-provisioning/qtci-windows-10-x86/06-msvc_2017_build_tools.ps1)18
-rw-r--r--coin/pre-provisioning/qtci-windows-10-x86/msvc2019.txt69
-rw-r--r--coin/pre-provisioning/qtci-windows-10-x86_64/README_MANUAL_INSTALLATIONS50
-rw-r--r--coin/pre-provisioning/qtci-windows-10-x86_64/disable-clean-manager.ps18
-rw-r--r--coin/pre-provisioning/qtci-windows-10-x86_64/disable-defragment.ps172
-rw-r--r--coin/pre-provisioning/qtci-windows-10-x86_64/disable-ntp.ps14
-rw-r--r--coin/pre-provisioning/qtci-windows-10-x86_64/disable-schedule-tasks.ps188
-rw-r--r--coin/pre-provisioning/qtci-windows-10-x86_64/disable-update-orchestrator.ps115
-rw-r--r--coin/pre-provisioning/qtci-windows-10-x86_64/disable-windefender.ps163
-rw-r--r--coin/pre-provisioning/qtci-windows-10-x86_64/disable-windows-file-protector.ps14
-rw-r--r--coin/pre-provisioning/qtci-windows-10-x86_64/disable-windows-update-medic.ps125
-rw-r--r--[-rwxr-xr-x]coin/pre-provisioning/qtci-windows-10-x86_64/disable-windows-updates.ps1 (renamed from coin/provisioning/qtci-macos-10.12-x86_64/21-install-commandlinetools.sh)31
-rw-r--r--coin/pre-provisioning/qtci-windows-10-x86_64/msvc2015_update.ps12
-rw-r--r--coin/pre-provisioning/qtci-windows-10-x86_64/msvc2019.txt67
-rw-r--r--coin/pre-provisioning/qtci-windows-10-x86_64/msvc_2015_update3_patch.ps167
-rwxr-xr-xcoin/provisioning/common/linux/android_linux.sh24
-rwxr-xr-xcoin/provisioning/common/linux/cmake_linux.sh6
-rw-r--r--coin/provisioning/common/linux/devel_languages_go.SUSE_repo_key.pub19
-rwxr-xr-xcoin/provisioning/common/linux/disable-notifications.sh4
-rwxr-xr-xcoin/provisioning/common/linux/disable-ntp_linux.sh4
-rwxr-xr-xcoin/provisioning/common/linux/docker.sh43
-rwxr-xr-xcoin/provisioning/common/linux/gcc.sh16
-rwxr-xr-xcoin/provisioning/common/linux/install_dwz.sh (renamed from coin/provisioning/qtci-linux-RHEL-6.6-x86_64/03-install-rhel-epel.sh)42
-rwxr-xr-xcoin/provisioning/common/linux/openssl_for_android_linux.sh4
-rwxr-xr-xcoin/provisioning/common/linux/qnx_660.sh2
-rwxr-xr-xcoin/provisioning/common/linux/remove-update_notifier.sh2
-rwxr-xr-xcoin/provisioning/common/linux/remove_update-manager.sh3
-rw-r--r--coin/provisioning/common/linux/telegraf-coin.conf47
-rwxr-xr-xcoin/provisioning/common/linux/version.sh6
-rwxr-xr-xcoin/provisioning/common/macos/InstallPKGFromURL.sh14
-rwxr-xr-xcoin/provisioning/common/macos/cmake.sh12
-rwxr-xr-xcoin/provisioning/common/macos/disable-notifications_and_warnings.sh7
-rwxr-xr-xcoin/provisioning/common/macos/homebrew.sh24
-rwxr-xr-x[-rw-r--r--]coin/provisioning/common/macos/increase_limits.sh (renamed from coin/provisioning/common/windows/install-vcpkg.ps1)50
-rwxr-xr-xcoin/provisioning/common/macos/install-commandlinetools.sh2
-rwxr-xr-xcoin/provisioning/common/macos/install_openssl_111a.sh78
-rw-r--r--coin/provisioning/common/macos/libiodbc.rb23
-rwxr-xr-xcoin/provisioning/common/macos/libiodbc.sh3
-rwxr-xr-xcoin/provisioning/common/macos/libusb.sh (renamed from coin/provisioning/qtci-linux-RHEL-6.6-x86_64/01-refresh-subscription-manager.sh)14
-rw-r--r--coin/provisioning/common/macos/limit.maxfiles.plist20
-rw-r--r--coin/provisioning/common/macos/limit.maxproc.plist20
-rwxr-xr-xcoin/provisioning/common/macos/pkgconfig.sh43
-rwxr-xr-xcoin/provisioning/common/macos/set-locale.sh41
-rw-r--r--coin/provisioning/common/macos/telegraf-coin.conf57
-rwxr-xr-xcoin/provisioning/common/macos/version.sh6
-rw-r--r--coin/provisioning/common/shared/requirements.txt2
-rw-r--r--coin/provisioning/common/shared/telegraf/influxdb.repo_key.pub52
-rw-r--r--coin/provisioning/common/shared/telegraf/telegraf-ioping.sh26
-rw-r--r--coin/provisioning/common/shared/telegraf/telegraf_packages.sha256.txt4
-rw-r--r--coin/provisioning/common/shared/testserver/apache2/Dockerfile7
-rw-r--r--coin/provisioning/common/shared/testserver/apache2_18.04/Dockerfile4
-rw-r--r--coin/provisioning/common/shared/testserver/californium/Dockerfile12
-rw-r--r--coin/provisioning/common/shared/testserver/cyrus/Dockerfile4
-rw-r--r--coin/provisioning/common/shared/testserver/cyrus_18.04/Dockerfile4
-rw-r--r--coin/provisioning/common/shared/testserver/danted/Dockerfile9
-rw-r--r--coin/provisioning/common/shared/testserver/danted_18.04/Dockerfile4
-rwxr-xr-xcoin/provisioning/common/shared/testserver/docker_images.sh84
-rw-r--r--coin/provisioning/common/shared/testserver/echo/Dockerfile4
-rw-r--r--coin/provisioning/common/shared/testserver/echo_18.04/Dockerfile4
-rw-r--r--coin/provisioning/common/shared/testserver/freecoap/Dockerfile20
-rw-r--r--coin/provisioning/common/shared/testserver/ftp-proxy/Dockerfile4
-rw-r--r--coin/provisioning/common/shared/testserver/ftp-proxy_18.04/Dockerfile4
-rw-r--r--coin/provisioning/common/shared/testserver/iptables/Dockerfile4
-rw-r--r--coin/provisioning/common/shared/testserver/iptables_18.04/Dockerfile4
-rw-r--r--coin/provisioning/common/shared/testserver/qt_ubuntu_16.04/Dockerfile5
-rw-r--r--coin/provisioning/common/shared/testserver/qt_ubuntu_18.04/Dockerfile5
-rw-r--r--coin/provisioning/common/shared/testserver/squid/Dockerfile4
-rw-r--r--coin/provisioning/common/shared/testserver/squid_18.04/Dockerfile4
-rw-r--r--coin/provisioning/common/shared/testserver/vsftpd/Dockerfile6
-rw-r--r--coin/provisioning/common/shared/testserver/vsftpd_18.04/Dockerfile4
-rwxr-xr-xcoin/provisioning/common/unix/DownloadURL.sh113
-rwxr-xr-xcoin/provisioning/common/unix/InstallFromCompressedFileFromURL.sh3
-rw-r--r--coin/provisioning/common/unix/common.sourced.sh167
-rwxr-xr-xcoin/provisioning/common/unix/emsdk.sh60
-rwxr-xr-xcoin/provisioning/common/unix/install-openssl.sh4
-rwxr-xr-xcoin/provisioning/common/unix/install_protobuff.sh2
-rwxr-xr-xcoin/provisioning/common/unix/libclang.sh4
-rwxr-xr-xcoin/provisioning/common/unix/python_modules.sh38
-rwxr-xr-xcoin/provisioning/common/unix/squishInstall.sh165
-rwxr-xr-xcoin/provisioning/common/unix/telegraf_install.sh98
-rwxr-xr-xcoin/provisioning/common/unix/telegraf_password.sh (renamed from coin/provisioning/qtci-macos-10.12-x86_64/25-mysql.sh)38
-rw-r--r--coin/provisioning/common/windows/android-openssl.ps127
-rw-r--r--coin/provisioning/common/windows/android.ps15
-rw-r--r--coin/provisioning/common/windows/cmake.ps16
-rw-r--r--coin/provisioning/common/windows/conan.ps127
-rw-r--r--coin/provisioning/common/windows/conan_manifests/icu/64.2/qtproject/stable/export/conanmanifest.txt4
-rw-r--r--coin/provisioning/common/windows/conan_manifests/icu/64.2/qtproject/stable/package/04159420740fe51b1a5d12efd6a3342553fee413/conanmanifest.txt251
-rw-r--r--coin/provisioning/common/windows/conan_manifests/icu/64.2/qtproject/stable/package/0fa8894ab40ba8bc84e36b1278e6fb93534ef433/conanmanifest.txt251
-rw-r--r--coin/provisioning/common/windows/conan_manifests/icu/64.2/qtproject/stable/package/11dc74683b2b5768b63ea1e7443e7aaa2d3151c4/conanmanifest.txt251
-rw-r--r--coin/provisioning/common/windows/conan_manifests/icu/64.2/qtproject/stable/package/8f5896a40336524af740600c29144c7c6a773119/conanmanifest.txt251
-rw-r--r--coin/provisioning/common/windows/conan_manifests/icu/64.2/qtproject/stable/package/a75971da93722f430ab0d3354b4c35c8e1cb8be6/conanmanifest.txt251
-rw-r--r--coin/provisioning/common/windows/conan_manifests/icu/64.2/qtproject/stable/package/a779998d6f2f83fe0e000f516f7f7c4a1739e0a3/conanmanifest.txt251
-rw-r--r--coin/provisioning/common/windows/conan_manifests/icu/65.1/qtproject/stable/export/conanmanifest.txt3
-rw-r--r--coin/provisioning/common/windows/conan_manifests/icu/65.1/qtproject/stable/package/1fab1e9a646ef41ee7e947ef7a9524b08e3ef34d/conanmanifest.txt250
-rw-r--r--coin/provisioning/common/windows/conan_manifests/icu/65.1/qtproject/stable/package/488cd5989854dc1a08e31f9977289ed30f65b0f0/conanmanifest.txt250
-rw-r--r--coin/provisioning/common/windows/conan_manifests/icu/65.1/qtproject/stable/package/a4f43a91306db32ecaa845a88306f02b0613c925/conanmanifest.txt250
-rw-r--r--coin/provisioning/common/windows/conan_manifests/icu/65.1/qtproject/stable/package/ab841b0a4eaa947ac9d6b85f19b13aaf18c6911d/conanmanifest.txt250
-rw-r--r--coin/provisioning/common/windows/conan_manifests/icu/65.1/qtproject/stable/package/b78a3590f375c283e83a188d891b97d04832121e/conanmanifest.txt250
-rw-r--r--coin/provisioning/common/windows/conan_manifests/icu/65.1/qtproject/stable/package/c55d3669e198b38f9cbd3031c1943896d7bcdad9/conanmanifest.txt250
-rw-r--r--coin/provisioning/common/windows/conan_manifests/icu/65.1/qtproject/stable/package/cd2d3d20ffbb190b9b990f98e6dedc2be0228764/conanmanifest.txt250
-rw-r--r--coin/provisioning/common/windows/conan_manifests/icu/65.1/qtproject/stable/package/e493e4ecb2fa207a4d212307e7d30a35fc0dde29/conanmanifest.txt250
-rw-r--r--coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.2/qtproject/stable/package/2b3cb3bb931646fe98ad49632435cdd3ed213435/conanmanifest.txt12
-rw-r--r--coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.2/qtproject/stable/package/4985763cfece81b148d7c11f16d564e42ee2756c/conanmanifest.txt12
-rw-r--r--coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.2/qtproject/stable/package/6fe55a250d22d4408ba9c4b99015260e933b58f0/conanmanifest.txt12
-rw-r--r--coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.2/qtproject/stable/package/8f06876bcdec0570dded47fecf362dd95832bd6e/conanmanifest.txt12
-rw-r--r--coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.2/qtproject/stable/package/9b721b63e452039565ba8417e25a183d1bbcb4df/conanmanifest.txt12
-rw-r--r--coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.2/qtproject/stable/package/acb703d92685c00a6f85ed3ca8225725f0e186c1/conanmanifest.txt12
-rw-r--r--coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.3/qtproject/stable/export/conanmanifest.txt (renamed from coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.2/qtproject/stable/export/conanmanifest.txt)4
-rw-r--r--coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.3/qtproject/stable/package/1c8544b57637b92dcdfce760b76b459bde0ce701/conanmanifest.txt12
-rw-r--r--coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.3/qtproject/stable/package/2b3cb3bb931646fe98ad49632435cdd3ed213435/conanmanifest.txt12
-rw-r--r--coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.3/qtproject/stable/package/4985763cfece81b148d7c11f16d564e42ee2756c/conanmanifest.txt12
-rw-r--r--coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.3/qtproject/stable/package/6fe55a250d22d4408ba9c4b99015260e933b58f0/conanmanifest.txt12
-rw-r--r--coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.3/qtproject/stable/package/7fbb66ade701b46f34dff2e121edef66968608b5/conanmanifest.txt12
-rw-r--r--coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.3/qtproject/stable/package/8f06876bcdec0570dded47fecf362dd95832bd6e/conanmanifest.txt12
-rw-r--r--coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.3/qtproject/stable/package/9b721b63e452039565ba8417e25a183d1bbcb4df/conanmanifest.txt12
-rw-r--r--coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.3/qtproject/stable/package/acb703d92685c00a6f85ed3ca8225725f0e186c1/conanmanifest.txt12
-rw-r--r--coin/provisioning/common/windows/conan_manifests/libxml2/2.9.10/qtproject/stable/export/conanmanifest.txt3
-rw-r--r--coin/provisioning/common/windows/conan_manifests/libxml2/2.9.10/qtproject/stable/package/12ee02550ebaf136555a7f3bbc8cc25cfb8bb72b/conanmanifest.txt (renamed from coin/provisioning/common/windows/conan_manifests/libxml2/2.9.9/qtproject/stable/package/0576a44cadaf801a35075ee2885891b12616dbb9/conanmanifest.txt)45
-rw-r--r--coin/provisioning/common/windows/conan_manifests/libxml2/2.9.10/qtproject/stable/package/22d88c0e3f63872fe31c5fa40fc8085250867c11/conanmanifest.txt58
-rw-r--r--coin/provisioning/common/windows/conan_manifests/libxml2/2.9.10/qtproject/stable/package/260f4ea2f609c699c16e114aec312888ec0a10b0/conanmanifest.txt58
-rw-r--r--coin/provisioning/common/windows/conan_manifests/libxml2/2.9.10/qtproject/stable/package/3c8e91368468fdcd96258c1b561b15aca6819857/conanmanifest.txt (renamed from coin/provisioning/common/windows/conan_manifests/libxml2/2.9.9/qtproject/stable/package/4370064884cce35fe631d04efb5ff5c356ea732a/conanmanifest.txt)45
-rw-r--r--coin/provisioning/common/windows/conan_manifests/libxml2/2.9.10/qtproject/stable/package/52cf7dbd8248b3f021f6d94e6a16c70823093916/conanmanifest.txt (renamed from coin/provisioning/common/windows/conan_manifests/libxml2/2.9.9/qtproject/stable/package/a2f0cba83ce6faca8664d5e4c043b89cb0b7bfe2/conanmanifest.txt)45
-rw-r--r--coin/provisioning/common/windows/conan_manifests/libxml2/2.9.10/qtproject/stable/package/6950736270999084f676eb62bcb88ece1b8351b7/conanmanifest.txt (renamed from coin/provisioning/common/windows/conan_manifests/libxml2/2.9.9/qtproject/stable/package/c837186703e4fb24344e99222c6f8da4a8574e49/conanmanifest.txt)45
-rw-r--r--coin/provisioning/common/windows/conan_manifests/libxml2/2.9.10/qtproject/stable/package/c32d851699c84c9ca05d351cd671598c4b2b7ea5/conanmanifest.txt56
-rw-r--r--coin/provisioning/common/windows/conan_manifests/libxml2/2.9.10/qtproject/stable/package/eae1effa51b2513b93fde5c749bae61b6203abfa/conanmanifest.txt56
-rw-r--r--coin/provisioning/common/windows/conan_manifests/libxml2/2.9.9/qtproject/stable/export/conanmanifest.txt4
-rw-r--r--coin/provisioning/common/windows/conan_manifests/libxml2/2.9.9/qtproject/stable/package/228fe6274aa7b6b50620b9e88bd3505648dacfd9/conanmanifest.txt274
-rw-r--r--coin/provisioning/common/windows/conan_manifests/libxml2/2.9.9/qtproject/stable/package/61072772572f3007a94ff98e7a5b24691e94f83f/conanmanifest.txt274
-rw-r--r--coin/provisioning/common/windows/conan_manifests/libxslt/1.1.33/qtproject/stable/export/conanmanifest.txt3
-rw-r--r--coin/provisioning/common/windows/conan_manifests/libxslt/1.1.33/qtproject/stable/package/ae932df57acef9c094443d5579df1a9b72790e1a/conanmanifest.txt131
-rw-r--r--coin/provisioning/common/windows/conan_manifests/libxslt/1.1.33/qtproject/stable/package/b06e2211adc32e230f2d9e729d1dcad2648782e8/conanmanifest.txt131
-rw-r--r--coin/provisioning/common/windows/conan_manifests/libxslt/1.1.34/qtproject/stable/export/conanmanifest.txt4
-rw-r--r--coin/provisioning/common/windows/conan_manifests/libxslt/1.1.34/qtproject/stable/package/19663639a14063d996b277c7fac0e00264689c20/conanmanifest.txt (renamed from coin/provisioning/common/windows/conan_manifests/libxslt/1.1.33/qtproject/stable/package/f8cbe39e2f6584ea05b56c1f3dd9b0a99f522727/conanmanifest.txt)24
-rw-r--r--coin/provisioning/common/windows/conan_manifests/libxslt/1.1.34/qtproject/stable/package/466fc39fa8b7a19ee2095aa945fff98630acdd12/conanmanifest.txt (renamed from coin/provisioning/common/windows/conan_manifests/libxslt/1.1.33/qtproject/stable/package/466fc39fa8b7a19ee2095aa945fff98630acdd12/conanmanifest.txt)24
-rw-r--r--coin/provisioning/common/windows/conan_manifests/libxslt/1.1.34/qtproject/stable/package/8c83c725f7fefe466a2c6c18ff17d3b0b91202c6/conanmanifest.txt (renamed from coin/provisioning/common/windows/conan_manifests/libxslt/1.1.33/qtproject/stable/package/19663639a14063d996b277c7fac0e00264689c20/conanmanifest.txt)24
-rw-r--r--coin/provisioning/common/windows/conan_manifests/libxslt/1.1.34/qtproject/stable/package/a19b1f00428920c59efe23b98acbe83d331049b4/conanmanifest.txt (renamed from coin/provisioning/common/windows/conan_manifests/libxslt/1.1.33/qtproject/stable/package/8c83c725f7fefe466a2c6c18ff17d3b0b91202c6/conanmanifest.txt)24
-rw-r--r--coin/provisioning/common/windows/conan_manifests/libxslt/1.1.34/qtproject/stable/package/ae932df57acef9c094443d5579df1a9b72790e1a/conanmanifest.txt130
-rw-r--r--coin/provisioning/common/windows/conan_manifests/libxslt/1.1.34/qtproject/stable/package/b06e2211adc32e230f2d9e729d1dcad2648782e8/conanmanifest.txt130
-rw-r--r--coin/provisioning/common/windows/conan_manifests/libxslt/1.1.34/qtproject/stable/package/d9686cd1257700d08189681d9907564e4a9147cb/conanmanifest.txt37
-rw-r--r--coin/provisioning/common/windows/conan_manifests/libxslt/1.1.34/qtproject/stable/package/f8cbe39e2f6584ea05b56c1f3dd9b0a99f522727/conanmanifest.txt37
-rw-r--r--coin/provisioning/common/windows/conan_manifests/zlib/1.2.11/qtproject/stable/export/conanmanifest.txt2
-rw-r--r--coin/provisioning/common/windows/conan_manifests/zlib/1.2.11/qtproject/stable/package/5a14faea650589a68f33a6a5b0207a4a852a5f1d/conanmanifest.txt4
-rw-r--r--coin/provisioning/common/windows/conan_requirements.txt33
-rw-r--r--coin/provisioning/common/windows/disable-clean-manager.ps18
-rw-r--r--coin/provisioning/common/windows/disable-windefender.ps151
-rw-r--r--coin/provisioning/common/windows/disable-windows-module-installer.ps14
-rwxr-xr-xcoin/provisioning/common/windows/emsdk.ps161
-rw-r--r--coin/provisioning/common/windows/helpers.ps122
-rw-r--r--coin/provisioning/common/windows/install-gnuwin32.ps11
-rw-r--r--coin/provisioning/common/windows/install-jdk.ps13
-rw-r--r--coin/provisioning/common/windows/install-msys2.ps114
-rw-r--r--[-rwxr-xr-x]coin/provisioning/common/windows/install_telegraf.ps1 (renamed from coin/provisioning/qtci-macos-10.12-x86_64/25-postgresql.sh)47
-rw-r--r--coin/provisioning/common/windows/mesa_llvmpipe.ps114
-rw-r--r--[-rwxr-xr-x]coin/provisioning/common/windows/nodejs.ps1 (renamed from coin/provisioning/qtci-macos-10.12-x86_64/20-xcode.sh)41
-rw-r--r--coin/provisioning/common/windows/openssl.ps16
-rw-r--r--coin/provisioning/common/windows/postgresql.ps114
-rw-r--r--coin/provisioning/common/windows/python.ps15
-rw-r--r--coin/provisioning/common/windows/python3.ps16
-rw-r--r--coin/provisioning/common/windows/squishInstall.ps1132
-rw-r--r--coin/provisioning/common/windows/telegraf-coin.conf41
-rw-r--r--[-rwxr-xr-x]coin/provisioning/common/windows/telegraf_password.ps1 (renamed from coin/provisioning/qtci-linux-RHEL-6.6-x86_64/01-systemsetup.sh)24
-rw-r--r--coin/provisioning/common/windows/version.ps16
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-6.6-x86_64/01-disable-mlocate.sh4
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-6.6-x86_64/05-subscription-manager-tooling.sh10
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-6.6-x86_64/06-odbc.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-6.6-x86_64/08-pythondev.sh51
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-6.6-x86_64/09-cmake.sh4
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-6.6-x86_64/20-libusb.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-6.6-x86_64/30-install_icu.sh74
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-7.4-x86_64/90-python-modules.sh39
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-7.6-x86_64/01-install_telegraf.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-7.6-x86_64/01-refresh-subscription-manager.sh9
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-7.6-x86_64/02-enable-repos.sh1
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-7.6-x86_64/03-install-rhel-epel.sh9
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-7.6-x86_64/04-install-packages.sh11
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-7.6-x86_64/70-install_dwz.sh (renamed from coin/provisioning/qtci-linux-RHEL-6.6-x86_64/04-install-packages.sh)12
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-15-x86_64/01-install_telegraf.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-15-x86_64/01-systemsetup.sh73
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-15-x86_64/02-disable-gnome-notifications.sh4
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-15-x86_64/02-disable-ntp.sh (renamed from coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/02-disable-ntp.sh)0
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-15-x86_64/02-zypperpackages.sh96
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-15-x86_64/08-libclang.sh (renamed from coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/08-libclang.sh)0
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-15-x86_64/08-pythondev.sh102
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-15-x86_64/09-install-openssl.sh (renamed from coin/provisioning/common/windows/09-install-openssl.sh)0
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-15-x86_64/18-icc.sh (renamed from coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/18-icc.sh)0
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-15-x86_64/22-mqtt_broker.sh (renamed from coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/22-mqtt_broker.sh)0
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-15-x86_64/55-emsdk.sh (renamed from coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/55-emsdk.sh)0
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-15-x86_64/90-squish.sh (renamed from coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/90-squish.sh)0
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-15-x86_64/99-unset-proxy.sh (renamed from coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/99-unset-proxy.sh)0
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-15-x86_64/99-version.sh (renamed from coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/99-version.sh)0
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/01-install_telegraf.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/01-systemsetup.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-apt.sh23
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/03-gcc.sh2
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/03-qemu.sh122
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/04-yocto.sh40
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.0-x86_64/09-install-openssl.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.1-x86_64/01-install_telegraf.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.1-x86_64/01-systemsetup.sh (renamed from coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/01-systemsetup.sh)3
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.1-x86_64/02-disable-ntp.sh (renamed from coin/provisioning/qtci-linux-RHEL-6.6-x86_64/02-disable-ntp.sh)1
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.1-x86_64/02-zypperpackages.sh (renamed from coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/02-zypperpackages.sh)3
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.1-x86_64/08-libclang.sh (renamed from coin/provisioning/qtci-macos-10.12-x86_64/27-libclang.sh)2
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.1-x86_64/08-pythondev.sh (renamed from coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/08-pythondev.sh)5
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.1-x86_64/09-cmake.sh (renamed from coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/09-cmake.sh)0
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.1-x86_64/09-install-openssl.sh (renamed from coin/provisioning/qtci-linux-RHEL-6.6-x86_64/09-install-openssl.sh)0
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.1-x86_64/18-icc.sh86
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.1-x86_64/22-mqtt_broker.sh (renamed from coin/provisioning/qtci-linux-RHEL-6.6-x86_64/22-mqtt_broker.sh)2
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.1-x86_64/55-emsdk.sh (renamed from coin/provisioning/qtci-macos-10.12-x86_64/01-sha1sum-compatibility.sh)6
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.1-x86_64/90-squish.sh (renamed from coin/provisioning/qtci-macos-10.12-x86_64/90-squish.sh)2
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.1-x86_64/99-unset-proxy.sh (renamed from coin/provisioning/common/windows/50-openssl_for_android_linux.sh)8
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.1-x86_64/99-version.sh (renamed from coin/provisioning/qtci-linux-RHEL-6.6-x86_64/99-version.sh)4
-rwxr-xr-xcoin/provisioning/qtci-macos-10.12-x86_64/02-disable-ntp.sh5
-rwxr-xr-xcoin/provisioning/qtci-macos-10.12-x86_64/03-bashprofile.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-10.12-x86_64/05-systemsetup.sh91
-rwxr-xr-xcoin/provisioning/qtci-macos-10.12-x86_64/06-crashreporter.sh5
-rwxr-xr-xcoin/provisioning/qtci-macos-10.12-x86_64/06-disable_spotlight.sh5
-rwxr-xr-xcoin/provisioning/qtci-macos-10.12-x86_64/06-disable_update_downloads.sh4
-rwxr-xr-xcoin/provisioning/qtci-macos-10.12-x86_64/07-SSL_keychain.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-10.12-x86_64/20-java.sh5
-rwxr-xr-xcoin/provisioning/qtci-macos-10.12-x86_64/25-python2.sh5
-rwxr-xr-xcoin/provisioning/qtci-macos-10.12-x86_64/25-python3.sh5
-rwxr-xr-xcoin/provisioning/qtci-macos-10.12-x86_64/26-odbc.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-10.12-x86_64/26-p7zip.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-10.12-x86_64/35-openssl.sh6
-rwxr-xr-xcoin/provisioning/qtci-macos-10.12-x86_64/55-signtools.sh138
-rwxr-xr-xcoin/provisioning/qtci-macos-10.12-x86_64/99-mac-version.sh6
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/01-disable-notifications_and_warnings.sh3
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/01-increase_limits.sh3
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/01-install_telegraf.sh3
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/05-systemsetup.sh13
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/20-xcode.sh2
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/25-homebrew.sh2
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/26-p7zip.sh2
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/26-pkgconfig.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/27-libusb.sh (renamed from coin/provisioning/qtci-macos-10.12-x86_64/26-virtualenv.sh)3
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/30-android.sh12
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/30-nodejs.sh6
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/55-signtools.sh20
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/90-python-modules.sh (renamed from coin/provisioning/qtci-macos-10.12-x86_64/30-fbx.sh)2
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/97-set-locale.sh (renamed from coin/provisioning/qtci-macos-10.12-x86_64/25-cmake.sh)2
-rwxr-xr-xcoin/provisioning/qtci-macos-10.14-x86_64/01-disable-notifications_and_warnings.sh3
-rwxr-xr-xcoin/provisioning/qtci-macos-10.14-x86_64/01-increase_limits.sh3
-rwxr-xr-xcoin/provisioning/qtci-macos-10.14-x86_64/01-install_telegraf.sh3
-rwxr-xr-xcoin/provisioning/qtci-macos-10.14-x86_64/05-systemsetup.sh13
-rwxr-xr-xcoin/provisioning/qtci-macos-10.14-x86_64/20-xcode.sh2
-rwxr-xr-xcoin/provisioning/qtci-macos-10.14-x86_64/21-install-commandlinetools.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-10.14-x86_64/25-homebrew.sh2
-rwxr-xr-xcoin/provisioning/qtci-macos-10.14-x86_64/26-freetype.sh5
-rwxr-xr-xcoin/provisioning/qtci-macos-10.14-x86_64/26-ninja.sh5
-rwxr-xr-xcoin/provisioning/qtci-macos-10.14-x86_64/26-pcre2.sh5
-rwxr-xr-xcoin/provisioning/qtci-macos-10.14-x86_64/30-android.sh10
-rwxr-xr-xcoin/provisioning/qtci-macos-10.14-x86_64/30-nodejs.sh6
-rwxr-xr-xcoin/provisioning/qtci-macos-10.14-x86_64/35-openssl.sh5
-rwxr-xr-xcoin/provisioning/qtci-macos-10.14-x86_64/36-emsdk.sh6
-rwxr-xr-xcoin/provisioning/qtci-macos-10.14-x86_64/55-signtools.sh20
-rwxr-xr-xcoin/provisioning/qtci-macos-10.14-x86_64/97-set-locale.sh (renamed from coin/provisioning/qtci-macos-10.12-x86_64/25-homebrew.sh)2
-rw-r--r--coin/provisioning/qtci-windows-10-x86/00-disable-clean-manager.ps11
-rw-r--r--coin/provisioning/qtci-windows-10-x86/00-install-sevenzip.ps1 (renamed from coin/provisioning/qtci-windows-10-x86/03-install-sevenzip.ps1)0
-rw-r--r--coin/provisioning/qtci-windows-10-x86/01-disable-notifications.ps19
-rw-r--r--coin/provisioning/qtci-windows-10-x86/01-disable-windows-telemetry.ps17
-rw-r--r--coin/provisioning/qtci-windows-10-x86/01-disable-windows-updates.ps11
-rw-r--r--coin/provisioning/qtci-windows-10-x86/01-install_telegraf.ps11
-rw-r--r--coin/provisioning/qtci-windows-10-x86/02-disable-defragment.ps11
-rw-r--r--coin/provisioning/qtci-windows-10-x86/02-disable-ntp.ps11
-rw-r--r--coin/provisioning/qtci-windows-10-x86/08-install-git.ps11
-rw-r--r--coin/provisioning/qtci-windows-10-x86/99-version.ps11
-rw-r--r--coin/provisioning/qtci-windows-10-x86/conanfiles/qtwebkit.txt14
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/00-install-sevenzip.ps1 (renamed from coin/provisioning/qtci-windows-10-x86_64/03-install-sevenzip.ps1)0
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/01-change-resolution.ps125
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/01-disable-notifications.ps19
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/01-disable-windows-telemetry.ps17
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/01-install_telegraf.ps11
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/02-disable-defragment.ps11
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/02-disable-ntp.ps11
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/02-disable-windows-updates.ps11
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/03-nodejs.ps11
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/09-install-mingw810.ps111
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/09-install-mingw810_64.ps110
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/11-conan.ps116
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/90-install-vcpkg.ps12
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/90-python-modules.ps13
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/98-disable-windows-module-installer.ps11
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/99-version.ps11
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/conanfiles/qtwebkit.txt14
-rw-r--r--coin/provisioning/qtci-windows-7-x86/00-disable-clean-manager.ps11
-rw-r--r--coin/provisioning/qtci-windows-7-x86/00-disable-windefender.ps1 (renamed from coin/provisioning/qtci-windows-10-x86/01-disable-windefender.ps1)0
-rw-r--r--coin/provisioning/qtci-windows-7-x86/00-install-sevenzip.ps1 (renamed from coin/provisioning/qtci-windows-7-x86/03-install-sevenzip.ps1)0
-rw-r--r--coin/provisioning/qtci-windows-7-x86/01-install_telegraf.ps11
-rw-r--r--coin/provisioning/qtci-windows-7-x86/09-install-mingw810.ps111
-rw-r--r--coin/provisioning/qtci-windows-7-x86/09-openssl.ps18
-rw-r--r--coin/provisioning/qtci-windows-7-x86/99-version.ps11
-rw-r--r--coin/provisioning/qtci-windows-7-x86/conanfiles/qtwebkit.txt14
-rw-r--r--coin/provisioning/qtci-windows-7-x86_64/00-disable-windefender.ps1 (renamed from coin/provisioning/qtci-windows-10-x86_64/01-disable-windefender.ps1)0
-rw-r--r--coin/provisioning/qtci-windows-7-x86_64/00-install-sevenzip.ps1 (renamed from coin/provisioning/qtci-windows-7-x86_64/03-install-sevenzip.ps1)0
-rw-r--r--coin/provisioning/qtci-windows-7-x86_64/01-install_telegraf.ps11
-rw-r--r--coin/provisioning/qtci-windows-7-x86_64/99-version.ps11
-rw-r--r--coin/provisioning/qtci-windows-8.1-x86/00-disable-windefender.ps1 (renamed from coin/provisioning/qtci-windows-7-x86/04-disable-windefender.ps1)0
-rw-r--r--coin/provisioning/qtci-windows-8.1-x86/00-install-sevenzip.ps1 (renamed from coin/provisioning/qtci-windows-8.1-x86/03-install-sevenzip.ps1)0
-rw-r--r--coin/provisioning/qtci-windows-8.1-x86/01-install_telegraf.ps11
-rw-r--r--coin/provisioning/qtci-windows-8.1-x86/04-disable-windefender.ps11
-rw-r--r--coin/provisioning/qtci-windows-8.1-x86/99-version.ps11
-rw-r--r--coin/provisioning/qtci-windows-8.1-x86_64/00-disable-windefender.ps1 (renamed from coin/provisioning/qtci-windows-7-x86_64/04-disable-windefender.ps1)0
-rw-r--r--coin/provisioning/qtci-windows-8.1-x86_64/00-install-sevenzip.ps1 (renamed from coin/provisioning/qtci-windows-8.1-x86_64/03-install-sevenzip.ps1)0
-rw-r--r--coin/provisioning/qtci-windows-8.1-x86_64/01-install_telegraf.ps11
-rw-r--r--coin/provisioning/qtci-windows-8.1-x86_64/04-disable-windefender.ps11
-rw-r--r--coin/provisioning/qtci-windows-8.1-x86_64/99-version.ps11
-rw-r--r--gnuwin32/README9
-rwxr-xr-xgnuwin32/bin/bison.exebin539648 -> 0 bytes
-rw-r--r--gnuwin32/bin/data/README70
-rw-r--r--gnuwin32/bin/data/bison.m41063
-rw-r--r--gnuwin32/bin/data/c++-skel.m426
-rw-r--r--gnuwin32/bin/data/c++.m4544
-rw-r--r--gnuwin32/bin/data/c-like.m465
-rw-r--r--gnuwin32/bin/data/c-skel.m426
-rw-r--r--gnuwin32/bin/data/c.m4839
-rw-r--r--gnuwin32/bin/data/glr.c2563
-rw-r--r--gnuwin32/bin/data/glr.cc345
-rw-r--r--gnuwin32/bin/data/java-skel.m426
-rw-r--r--gnuwin32/bin/data/java.m4342
-rw-r--r--gnuwin32/bin/data/lalr1.cc1161
-rw-r--r--gnuwin32/bin/data/lalr1.java1065
-rw-r--r--gnuwin32/bin/data/local.mk45
-rw-r--r--gnuwin32/bin/data/location.cc335
-rw-r--r--gnuwin32/bin/data/m4sugar/foreach.m4362
-rw-r--r--gnuwin32/bin/data/m4sugar/m4sugar.m43307
-rw-r--r--gnuwin32/bin/data/stack.hh154
-rw-r--r--gnuwin32/bin/data/variant.hh362
-rw-r--r--gnuwin32/bin/data/xslt/bison.xsl105
-rw-r--r--gnuwin32/bin/data/xslt/xml2dot.xsl397
-rw-r--r--gnuwin32/bin/data/xslt/xml2text.xsl569
-rw-r--r--gnuwin32/bin/data/xslt/xml2xhtml.xsl745
-rw-r--r--gnuwin32/bin/data/yacc.c1915
-rwxr-xr-xgnuwin32/bin/flex.exebin546816 -> 0 bytes
-rw-r--r--gnuwin32/bin/gperf.exebin103424 -> 0 bytes
-rw-r--r--gnuwin32/bin/iconv.exebin16896 -> 0 bytes
-rw-r--r--gnuwin32/bin/libcharset1.dllbin11776 -> 0 bytes
-rw-r--r--gnuwin32/bin/libiconv2.dllbin1008128 -> 0 bytes
-rw-r--r--gnuwin32/bin/libintl3.dllbin103424 -> 0 bytes
-rw-r--r--gnuwin32/bin/m4.exebin179200 -> 0 bytes
-rw-r--r--gnuwin32/bin/regex2.dllbin79360 -> 0 bytes
-rw-r--r--gnuwin32/contrib/gperf/3.0.1/depends-GnuWin32.lst3
-rw-r--r--gnuwin32/contrib/gperf/3.0.1/gperf-3.0.1-GnuWin32.README54
-rw-r--r--gnuwin32/contrib/gperf/3.0.1/gperf-3.0.1-src/AUTHORS2
-rw-r--r--gnuwin32/contrib/gperf/3.0.1/gperf-3.0.1-src/COPYING340
-rw-r--r--gnuwin32/contrib/gperf/3.0.1/gperf-3.0.1-src/ChangeLog3185
-rw-r--r--gnuwin32/contrib/gperf/3.0.1/gperf-3.0.1-src/INSTALL183
-rw-r--r--gnuwin32/contrib/gperf/3.0.1/gperf-3.0.1-src/NEWS80
-rw-r--r--gnuwin32/contrib/gperf/3.0.1/gperf-3.0.1-src/README28
-rw-r--r--gnuwin32/contrib/gperf/3.0.1/gperf-3.0.1/check.log156
-rw-r--r--gnuwin32/contrib/gperf/3.0.1/gperf-3.0.1/check_err.log21
-rw-r--r--gnuwin32/contrib/libiconv/1.9.2/depends-GnuWin32.lst9
-rw-r--r--gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-1-GnuWin32.README54
-rw-r--r--gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/ABOUT-NLS477
-rw-r--r--gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/AUTHORS1
-rw-r--r--gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/ChangeLog2633
-rw-r--r--gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/DESIGN64
-rw-r--r--gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/NEWS119
-rw-r--r--gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/NOTES392
-rw-r--r--gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/PORTS46
-rw-r--r--gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/README149
-rw-r--r--gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/THANKS13
-rw-r--r--gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/djgpp/README122
-rw-r--r--gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/extras/ChangeLog64
-rw-r--r--gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/libcharset/AUTHORS1
-rw-r--r--gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/libcharset/ChangeLog322
-rw-r--r--gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/libcharset/NEWS2
-rw-r--r--gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/libcharset/README60
-rw-r--r--gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/libcharset/djgpp/README123
-rw-r--r--gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/libcharset/lib/ChangeLog302
-rw-r--r--gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/libcharset/m4/ChangeLog18
-rw-r--r--gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/libcharset/tools/README25
-rw-r--r--gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/po/ChangeLog148
-rw-r--r--gnuwin32/lib/charset.alias4
-rw-r--r--gnuwin32/lib/libcharset.la35
-rw-r--r--gnuwin32/lib/libcharset.la.orig35
-rw-r--r--gnuwin32/lib/libiconv.la35
-rw-r--r--gnuwin32/lib/libiconv.la.orig35
-rw-r--r--gnuwin32/man/cat1/gperf.1.txt226
-rw-r--r--gnuwin32/man/cat1/iconv.1.txt48
-rw-r--r--gnuwin32/man/cat1/yacc.1.txt42
-rw-r--r--gnuwin32/man/cat1p/yacc.1p.txt1269
-rw-r--r--gnuwin32/man/cat3/iconv.3.txt97
-rw-r--r--gnuwin32/man/cat3/iconv_close.3.txt32
-rw-r--r--gnuwin32/man/cat3/iconv_open.3.txt152
-rw-r--r--gnuwin32/manifest/gperf-3.0.1-bin.mft14
-rw-r--r--gnuwin32/manifest/gperf-3.0.1-bin.ver2
-rw-r--r--gnuwin32/manifest/libiconv-1.9.2-1-bin.mft0
-rw-r--r--gnuwin32/manifest/libiconv-1.9.2-1-bin.ver2
-rw-r--r--gnuwin32/manifest/libiconv-1.9.2-1-dep.mft0
-rw-r--r--gnuwin32/manifest/libiconv-1.9.2-1-dep.ver2
-rw-r--r--gnuwin32/patches/win_flex.patch47
-rw-r--r--gnuwin32/share/aclocal/bison-i18n.m448
-rw-r--r--gnuwin32/share/locale/ca/LC_MESSAGES/libiconv.mobin1803 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/da/LC_MESSAGES/bison-runtime.mobin1268 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/da/LC_MESSAGES/bison.mobin9458 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/da/LC_MESSAGES/libiconv.mobin1728 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/de/LC_MESSAGES/bison-runtime.mobin1347 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/de/LC_MESSAGES/bison.mobin18417 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/de/LC_MESSAGES/libiconv.mobin1847 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/el/LC_MESSAGES/bison-runtime.mobin1545 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/el/LC_MESSAGES/bison.mobin23536 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/eo/LC_MESSAGES/libiconv.mobin1739 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/es/LC_MESSAGES/bison-runtime.mobin514 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/es/LC_MESSAGES/bison.mobin10645 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/es/LC_MESSAGES/libiconv.mobin1758 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/et/LC_MESSAGES/bison-runtime.mobin1248 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/et/LC_MESSAGES/bison.mobin10820 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/et/LC_MESSAGES/libiconv.mobin1723 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/fi/LC_MESSAGES/bison-runtime.mobin1303 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/fi/LC_MESSAGES/libiconv.mobin1862 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/fr/LC_MESSAGES/bison-runtime.mobin1296 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/fr/LC_MESSAGES/bison.mobin11517 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/fr/LC_MESSAGES/libiconv.mobin1778 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/ga/LC_MESSAGES/bison-runtime.mobin1324 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/ga/LC_MESSAGES/bison.mobin18930 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/ga/LC_MESSAGES/libiconv.mobin1704 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/gl/LC_MESSAGES/libiconv.mobin1752 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/hr/LC_MESSAGES/bison-runtime.mobin529 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/hr/LC_MESSAGES/bison.mobin4127 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/hr/LC_MESSAGES/libiconv.mobin1783 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/hu/LC_MESSAGES/libiconv.mobin1876 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/id/LC_MESSAGES/bison-runtime.mobin1393 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/id/LC_MESSAGES/bison.mobin10896 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/id/LC_MESSAGES/libiconv.mobin1767 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/it/LC_MESSAGES/bison-runtime.mobin1232 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/it/LC_MESSAGES/bison.mobin9864 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/it/LC_MESSAGES/libiconv.mobin1913 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/ja/LC_MESSAGES/bison-runtime.mobin505 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/ja/LC_MESSAGES/bison.mobin4346 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/ky/LC_MESSAGES/bison-runtime.mobin1582 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/lt/LC_MESSAGES/bison-runtime.mobin1407 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/ms/LC_MESSAGES/bison-runtime.mobin1362 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/ms/LC_MESSAGES/bison.mobin16368 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/nb/LC_MESSAGES/bison-runtime.mobin1302 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/nb/LC_MESSAGES/bison.mobin9579 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/nl/LC_MESSAGES/bison-runtime.mobin1275 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/nl/LC_MESSAGES/bison.mobin18338 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/nl/LC_MESSAGES/libiconv.mobin1719 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/pl/LC_MESSAGES/bison-runtime.mobin1438 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/pl/LC_MESSAGES/bison.mobin18475 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/pl/LC_MESSAGES/libiconv.mobin1831 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/pt_BR/LC_MESSAGES/bison-runtime.mobin1284 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/pt_BR/LC_MESSAGES/bison.mobin9241 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/pt_BR/LC_MESSAGES/libiconv.mobin1810 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/ro/LC_MESSAGES/bison-runtime.mobin1366 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/ro/LC_MESSAGES/bison.mobin9948 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/ro/LC_MESSAGES/libiconv.mobin1408 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/ru/LC_MESSAGES/bison-runtime.mobin571 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/ru/LC_MESSAGES/bison.mobin7718 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/ru/LC_MESSAGES/libiconv.mobin1793 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/sk/LC_MESSAGES/libiconv.mobin1780 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/sl/LC_MESSAGES/bison-runtime.mobin1513 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/sl/LC_MESSAGES/libiconv.mobin1808 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/sr/LC_MESSAGES/libiconv.mobin1989 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/sv/LC_MESSAGES/bison-runtime.mobin1238 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/sv/LC_MESSAGES/bison.mobin17501 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/sv/LC_MESSAGES/libiconv.mobin1716 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/th/LC_MESSAGES/bison-runtime.mobin1936 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/tr/LC_MESSAGES/bison-runtime.mobin509 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/tr/LC_MESSAGES/bison.mobin9654 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/tr/LC_MESSAGES/libiconv.mobin1778 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/uk/LC_MESSAGES/bison-runtime.mobin1781 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/uk/LC_MESSAGES/bison.mobin14418 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/uk/LC_MESSAGES/libiconv.mobin1809 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/vi/LC_MESSAGES/bison-runtime.mobin1423 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/vi/LC_MESSAGES/bison.mobin18090 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/wa/LC_MESSAGES/libiconv.mobin2007 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/zh_CN/LC_MESSAGES/bison-runtime.mobin1243 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/zh_CN/LC_MESSAGES/libiconv.mobin1743 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/zh_TW/LC_MESSAGES/bison-runtime.mobin1294 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/zh_TW/LC_MESSAGES/bison.mobin10645 -> 0 bytes
-rwxr-xr-xinit-repository1
m---------qt3d0
m---------qt5compat0
m---------qtactiveqt0
m---------qtandroidextras0
m---------qtbase0
m---------qtcharts0
m---------qtconnectivity0
m---------qtdatavis3d0
m---------qtdeclarative0
m---------qtdoc0
m---------qtgamepad0
m---------qtgraphicaleffects0
m---------qtimageformats0
m---------qtlocation0
m---------qtlottie0
m---------qtmacextras0
m---------qtmultimedia0
m---------qtnetworkauth0
m---------qtpurchasing0
m---------qtqa0
m---------qtquick3d0
m---------qtquickcontrols0
m---------qtquickcontrols20
m---------qtquicktimeline0
m---------qtremoteobjects0
m---------qtrepotools0
m---------qtscript0
m---------qtscxml0
m---------qtsensors0
m---------qtserialbus0
m---------qtserialport0
m---------qtshadertools0
m---------qtspeech0
m---------qtsvg0
m---------qttools0
m---------qttranslations0
m---------qtvirtualkeyboard0
m---------qtwayland0
m---------qtwebchannel0
m---------qtwebengine0
m---------qtwebglplugin0
m---------qtwebsockets0
m---------qtwebview0
m---------qtwinextras0
m---------qtx11extras0
m---------qtxmlpatterns0
576 files changed, 9068 insertions, 32782 deletions
diff --git a/.commit-template b/.commit-template
index 36687ee0..81c72bb7 100644
--- a/.commit-template
+++ b/.commit-template
@@ -17,6 +17,10 @@
#Task-number:
#Coverity-Id:
#
+# Add a space-separated list of target branches that the change should
+# be cherry-picked to automatically.
+#Pick-to:
+#
# ==[ Please wrap at 72 characters ]===================================|
#
# Remember to read http://wiki.qt.io/Commit_Policy
diff --git a/.gitmodules b/.gitmodules
index 9167958c..ea697b07 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,20 +1,20 @@
[submodule "qtbase"]
path = qtbase
url = ../qtbase.git
- branch = wip/cmake
+ branch = dev
status = essential
[submodule "qtsvg"]
depends = qtbase
path = qtsvg
url = ../qtsvg.git
- branch = wip/cmake
+ branch = dev
status = addon
[submodule "qtdeclarative"]
depends = qtbase
recommends = qtsvg
path = qtdeclarative
url = ../qtdeclarative.git
- branch = wip/cmake
+ branch = dev
status = essential
[submodule "qtactiveqt"]
depends = qtbase
@@ -22,13 +22,6 @@
url = ../qtactiveqt.git
branch = dev
status = ignore
-[submodule "qtscript"]
- depends = qtbase
- recommends = qttools
- path = qtscript
- url = ../qtscript.git
- branch = dev
- status = ignore
[submodule "qtmultimedia"]
depends = qtbase
recommends = qtdeclarative
@@ -41,7 +34,7 @@
recommends = qtdeclarative qtactiveqt
path = qttools
url = ../qttools.git
- branch = wip/cmake
+ branch = dev
status = essential
[submodule "qtxmlpatterns"]
depends = qtbase
@@ -69,14 +62,14 @@
path = qtrepotools
url = ../qtrepotools.git
branch = master
- status = essential
+ status = ignore
project = -
[submodule "qtqa"]
depends = qtbase
path = qtqa
url = ../qtqa.git
- branch = master
- status = ignore
+ branch = dev
+ status = essential
priority = 50
[submodule "qtlocation"]
depends = qtbase
@@ -131,26 +124,26 @@
path = qtwayland
url = ../qtwayland.git
branch = dev
- status = ignore
+ status = addon
[submodule "qt3d"]
depends = qtbase
- recommends = qtdeclarative qtimageformats qtgamepad
+ recommends = qtdeclarative qtshadertools
path = qt3d
url = ../qt3d.git
branch = dev
- status = ignore
+ status = addon
[submodule "qtimageformats"]
depends = qtbase
path = qtimageformats
url = ../qtimageformats.git
- branch = wip/cmake
+ branch = dev
status = addon
[submodule "qtgraphicaleffects"]
depends = qtdeclarative
path = qtgraphicaleffects
url = ../qtgraphicaleffects.git
- branch = wip/cmake
- status = addon
+ branch = dev
+ status = essential
[submodule "qtquickcontrols"]
depends = qtdeclarative
recommends = qtgraphicaleffects
@@ -163,14 +156,14 @@
recommends = qtserialport
path = qtserialbus
url = ../qtserialbus.git
- branch = wip/cmake
- status = addon
+ branch = dev
+ status = ignore
[submodule "qtserialport"]
depends = qtbase
path = qtserialport
url = ../qtserialport.git
- branch = wip/cmake
- status = addon
+ branch = dev
+ status = ignore
[submodule "qtx11extras"]
depends = qtbase
path = qtx11extras
@@ -195,13 +188,13 @@
path = qtandroidextras
url = ../qtandroidextras.git
branch = dev
- status = ignore
+ status = addon
[submodule "qtwebsockets"]
depends = qtbase
recommends = qtdeclarative
path = qtwebsockets
url = ../qtwebsockets.git
- branch = wip/cmake
+ branch = dev
status = addon
[submodule "qtwebchannel"]
depends = qtbase
@@ -232,12 +225,12 @@
branch = dev
status = ignore
[submodule "qtquickcontrols2"]
- depends = qtgraphicaleffects
- recommends = qtimageformats
+ depends = qtdeclarative
+ recommends = qtimageformats qtgraphicaleffects
path = qtquickcontrols2
url = ../qtquickcontrols2.git
branch = dev
- status = ignore
+ status = essential
[submodule "qtpurchasing"]
depends = qtbase
recommends = qtdeclarative qtandroidextras
@@ -265,20 +258,20 @@
path = qtvirtualkeyboard
url = ../qtvirtualkeyboard.git
branch = dev
- status = ignore
+ status = addon
[submodule "qtgamepad"]
depends = qtbase
recommends = qtdeclarative
path = qtgamepad
url = ../qtgamepad.git
- branch = wip/cmake
- status = addon
+ branch = dev
+ status = ignore
[submodule "qtscxml"]
depends = qtbase qtdeclarative
path = qtscxml
url = ../qtscxml.git
- branch = wip/cmake
- status = addon
+ branch = dev
+ status = ignore
[submodule "qtspeech"]
depends = qtbase
recommends = qtdeclarative qtmultimedia
@@ -290,7 +283,7 @@
depends = qtbase
path = qtnetworkauth
url = ../qtnetworkauth.git
- branch = wip/cmake
+ branch = dev
status = addon
[submodule "qtremoteobjects"]
depends = qtbase
@@ -319,8 +312,20 @@
branch = dev
status = ignore
[submodule "qtquick3d"]
- depends = qtbase qtdeclarative
+ depends = qtbase qtdeclarative qtshadertools
path = qtquick3d
url = ../qtquick3d.git
branch = dev
- status = ignore
+ status = addon
+[submodule "qtshadertools"]
+ depends = qtbase
+ path = qtshadertools
+ url = ../qtshadertools.git
+ branch = dev
+ status = addon
+[submodule "qt5compat"]
+ depends = qtbase
+ path = qt5compat
+ url = ../qt5compat.git
+ branch = dev
+ status = deprecated
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 00000000..98b44543
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,114 @@
+cmake_minimum_required(VERSION 3.15.0)
+
+project(Qt
+ VERSION 6.0.0
+ DESCRIPTION "Qt Libraries"
+ HOMEPAGE_URL "https://qt.io/"
+ LANGUAGES CXX C ASM
+)
+
+# Required so we can call ctest from the root build directory
+enable_testing()
+
+set(qt_module_prop_prefix "__qt_prop_")
+function(extract_git_submodules out_module_list)
+ set(modules "")
+ set(current_module "")
+ set(module_list "")
+ file(STRINGS "${CMAKE_CURRENT_SOURCE_DIR}/.gitmodules" lines)
+ foreach(line IN LISTS lines)
+ string(REGEX REPLACE "^\\[submodule \"([^\"]+)\"\\]$" "\\1" module ${line})
+ if (NOT module STREQUAL line)
+ list(APPEND modules ${modules})
+ set(current_module ${module})
+ list(APPEND module_list ${module})
+ else()
+ string(REGEX REPLACE "^\t([^ =]+) *=.*$" "\\1" prop ${line})
+ if (NOT prop STREQUAL line)
+ string(REGEX REPLACE "^[^=]+= *" "" value ${line})
+ string(REPLACE " " ";" value ${value})
+ set("${qt_module_prop_prefix}${current_module}_${prop}" "${value}" PARENT_SCOPE)
+ else()
+ message(FATAL_ERROR "Malformed line ${CMAKE_CURRENT_SOURCE_DIR}/.gitmodules: ${line}")
+ endif()
+ endif()
+ endforeach()
+ set(${out_module_list} ${module_list} PARENT_SCOPE)
+endfunction()
+
+list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
+if (NOT QT_BUILD_STANDALONE_TESTS)
+ list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/qtbase/cmake")
+endif()
+
+include(ECMOptionalAddSubdirectory)
+include(TopologicalSort)
+
+# Use the CMake config files from the binary dir
+list(APPEND CMAKE_PREFIX_PATH "${CMAKE_BINARY_DIR}")
+# Also make sure the CMake config files do not recreate the already-existing targets
+if (NOT QT_BUILD_STANDALONE_TESTS)
+ set(QT_NO_CREATE_TARGETS TRUE)
+endif()
+set(QT_SUPERBUILD TRUE)
+
+# Get submodules list
+extract_git_submodules(git_module_list)
+foreach(module IN LISTS git_module_list)
+ # Prepare a list of dependencies to be fed into topological sort
+ set("${qt_module_prop_prefix}${module}_all_dependencies"
+ ${${qt_module_prop_prefix}${module}_depends}
+ ${${qt_module_prop_prefix}${module}_recommends}
+ ${${qt_module_prop_prefix}${module}_serialize}
+ )
+endforeach()
+
+# Sort by dependencies
+topological_sort(git_module_list "${qt_module_prop_prefix}" "_all_dependencies")
+
+# Check for unknown modules
+foreach(module IN LISTS git_module_list)
+ foreach(dep IN LISTS "${qt_module_prop_prefix}${module}_all_dependencies")
+ if (NOT dep IN_LIST git_module_list)
+ message(FATAL_ERROR "Module '${module}' depends on undeclared module '${dep}'")
+ endif()
+ endforeach()
+endforeach()
+
+# qtbase is always needed
+list(REMOVE_ITEM git_module_list qtbase)
+add_subdirectory(qtbase)
+
+if (NOT QT_BUILD_STANDALONE_TESTS)
+ list(APPEND CMAKE_PREFIX_PATH "${QtBase_BINARY_DIR}")
+endif()
+
+foreach(module IN LISTS git_module_list)
+ ecm_optional_add_subdirectory(${module})
+endforeach()
+
+# Check for unmet dependencies
+foreach(module IN LISTS git_module_list)
+ foreach(dep IN LISTS "${qt_module_prop_prefix}${module}_depends")
+ if (dep STREQUAL qtbase)
+ # Always available skip
+ continue()
+ endif()
+ if (DEFINED BUILD_${module} AND BUILD_${module})
+ if(NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/${dep}/CMakeLists.txt")
+ message(FATAL_ERROR "Module '${module} depends on '${dep}', but ${deps}'s CMakeLists.txt couldn't be found.\n")
+ endif()
+ if(NOT BUILD_${dep})
+ message(FATAL_ERROR "Module '${module} depends on '${dep}', but ${deps} will not be built.\n")
+ endif()
+ endif()
+ endforeach()
+endforeach()
+
+
+if(NOT QT_BUILD_STANDALONE_TESTS)
+ # Display a summary of everything
+ include(QtBuildInformation)
+ qt_print_feature_summary()
+ qt_print_build_instructions()
+endif()
diff --git a/LICENSE.QT-LICENSE-AGREEMENT b/LICENSE.QT-LICENSE-AGREEMENT
new file mode 100644
index 00000000..19a20ea4
--- /dev/null
+++ b/LICENSE.QT-LICENSE-AGREEMENT
@@ -0,0 +1,1331 @@
+QT LICENSE AGREEMENT
+Agreement version 4.2.1
+
+This Qt License Agreement ("Agreement") is a legal agreement for the licensing
+of Licensed Software (as defined below) between The Qt Company (as defined
+below) and the Licensee who has accepted the terms of this Agreement by
+downloading or using the Licensed Software and/or as defined herein:
+
+Capitalized terms used herein are defined in Section 1.
+
+WHEREAS:
+ (A) Licensee wishes to use the Licensed Software for the purpose of
+ developing and distributing Applications and/or Devices (each as
+ defined below); and
+ (B) The Qt Company is willing to grant the Licensee a right to use
+ Licensed Software for such a purpose pursuant to term and conditions
+ of this Agreement.
+
+NOW, THEREFORE, THE PARTIES HEREBY AGREE AS FOLLOWS:
+
+1. DEFINITIONS
+"Affiliate" of a Party shall mean an entity (i) which is directly or indirectly
+controlling such Party; (ii) which is under the same direct or indirect
+ownership or control as such Party; or (iii) which is directly or indirectly
+owned or controlled by such Party. For these purposes, an entity shall be
+treated as being controlled by another if that other entity has fifty percent
+(50 %) or more of the votes in such entity, is able to direct its affairs
+and/or to control the composition of its board of directors or equivalent body.
+
+"Add-on Products" shall mean The Qt Company's specific add-on software products
+(for example Qt Safe Renderer, Qt for Automation, Qt Application Manager),
+which are not licensed as part of The Qt Company's standard offering, but shall
+be included into the scope of Licensed Software only if so specifically agreed
+between the Parties.
+
+"Applications" shall mean Licensee's software products created using the
+Licensed Software, which may include the Redistributables, or part thereof.
+
+"Contractor(s)" shall mean third party consultants, distributors and
+contractors performing services to the Licensee under applicable contractual
+arrangement.
+
+"Customer(s)" shall mean Licensee's end users to whom Licensee, directly or
+indirectly, distributes copies of the Redistributables.
+
+"Data Protection Legislation" shall mean the General Data Protection Regulation
+(EU 2016/679) (GDPR) and any national implementing laws, regulations and
+secondary legislation, as may be amended or updated from time to time, as well
+as any other data protection laws or regulations applicable in relevant
+territory.
+
+"Deployment Platforms" shall mean operating systems and/or hardware specified
+in the License Certificate, on which the Redistributables can be distributed
+pursuant to the terms and conditions of this Agreement.
+
+"Designated User(s)" shall mean the employee(s) of Licensee or Licensee's
+Affiliates acting within the scope of their employment or Licensee's
+Contractors acting within the scope of their services for Licensee and on
+behalf of Licensee. Designated Users shall be named in the License Certificate.
+
+"Development License" shall mean the license needed by the Licensee for each
+Designated User to use the Licensed Software under the license grant described
+in Section 3.1 of this Agreement. Development Licenses are available
+separately for Qt for Application Development and Qt for Device Creation
+products, each product having its designated scope and purpose of use.
+Distribution Licenses are always connected to Qt for Device Creation
+product only.
+
+"Development Platforms" shall mean those operating systems specified in the
+License Certificate, in which the Licensed Software can be used under the
+Development License, but not distributed in any form or used for any other
+purpose.
+
+"Devices" shall mean hardware devices or products that 1) are manufactured
+and/or distributed by the Licensee or its Affiliates or Contractors, and
+(2)(i) incorporate or integrate the Redistributables or parts thereof; or (ii)
+where the main user interface or substantial functionality of such unit , when
+used by a Customer, is provided by Application(s) or otherwise depends on the
+Licensed Software, regardless of whether the Redistributables are distributed
+together with the hardware or not. Devices covered with this Agreement shall
+be specified in Appendix 2 or in a quote.
+
+"Distribution License(s)" shall mean the license required for any kind of sale,
+trade, exchange, loan, lease, rental or other distribution by or on behalf of
+Licensee to a third party of Redistributables in connection with Devices
+pursuant to license grant described in Section 3.3 of this Agreement.
+
+"Distribution License Packs" shall mean set of prepaid Distribution Licenses
+for distribution of Redistributables, as defined in The Qt Company's standard
+price list, quote, Purchase Order confirmation or in an appendix hereto, as
+the case may be.
+
+"Intellectual Property Rights" shall mean patents (including utility models),
+design patents, and designs (whether or not capable of registration), chip
+topography rights and other like protection, copyrights, trademarks, service
+marks, trade names, logos or other words or symbols and any other form of
+statutory protection of any kind and applications for any of the foregoing as
+well as any trade secrets.
+
+"License Certificate" shall mean a certificate generated by The Qt Company for
+each Designated User respectively upon them downloading the Licensed Software,
+which will be available under respective Designated User's Qt Account at
+account.qt.io. License Certificates will specify the Designated User, the
+Development Platforms, Deployment Platforms and the License Term. Such terms
+are considered part of the licenses granted hereunder and shall be updated
+from time to time to reflect any agreed changes to the foregoing terms
+relating to Designated User's rights to the Licensed Software.
+
+"License Fee" shall mean the fee charged to the Licensee for rights granted
+under the terms of this Agreement.
+
+"License Term" shall mean the agreed validity period of the Development License
+of the respective Designated User, during which time the Designated User is
+entitled to use the Licensed Software, as set forth in the respective License
+Certificate.
+
+"Licensed Software" shall mean either
+ (i) Qt for Application Development or
+ (ii) Qt for Device Creation, and/or
+ (iii) Qt 3D Studio, and/or
+ (iv) Qt Design Studio, and/or
+ (v) Qt for MCUs, and/or
+ (vi) selected Add-on Products, if any,
+
+depending on which product(s) the Licensee has purchased under this Agreement,
+as well as corresponding online or electronic documentation, associated media
+and printed materials, including the source code (where applicable), example
+programs and the documentation, licensed to the Licensee under this Agreement.
+Licensed Software does not include Third Party Software (as defined in Section
+4) or Open Source Qt. The Qt Company may, in the course of its development
+activities, at its free and absolute discretion and without any obligation to
+send or publish any notifications to the Licensee or in general, make changes,
+additions or deletions in the components and functionalities of the Licensed
+Software, provided that no such changes, additions or deletions will affect
+the already released version of the Licensed Software, but only upcoming
+version(s).
+
+"Licensee" shall mean the individual or legal entity that is party to this
+Agreement, as identified on the signature page hereof.
+
+"Licensee's Records" shall mean books and records that are likely to contain
+information bearing on Licensee's compliance with this Agreement, Licensee's
+use of Open Source Qt and/or the payments due to The Qt Company under this
+Agreement, including, but not limited to user information, assembly logs,
+sales records and distribution records.
+
+"Modified Software" shall have the meaning as set forth in Section 2.3.
+
+"Online Services" shall mean any services or access to systems made available
+by The Qt Company to the Licensee over the Internet relating to the Licensed
+Software or for the purpose of use by the Licensee of the Licensed Software or
+Support. Use of any such Online Services is discretionary for the Licensee and
+some of them may be subject to additional fees.
+
+"Open Source Qt" shall mean the non-commercial Qt computer software products,
+licensed under the terms of the GNU Lesser General Public License, version 2.1
+or later ("LGPL") or the GNU General Public License, version 2.0 or later
+("GPL"). For clarity, Open Source Qt shall not be provided nor governed under
+this Agreement.
+
+"Party" or "Parties" shall mean Licensee and/or The Qt Company.
+
+"Permitted Combination" shall have the meaning as set forth in Section
+3.4(viii).
+
+"Pre-Release Code" shall have the meaning as set forth in Section 4.
+
+"Prohibited Combination" shall mean any means to (i) use, combine, incorporate,
+link or integrate Licensed Software with any software created with or
+incorporating Open Source Qt, (ii) use Licensed Software for creation of any
+software created with or incorporating Open Source Qt, or (iii) incorporate or
+integrate Applications into a hardware device or product other than a Device.
+
+"Qt 3D Studio" shall mean The Qt Company's productized offering, which consist
+of all versions of modules and tools as set forth in Appendix 1.
+
+"Qt Design Studio" shall mean The Qt Company's productized offering, which
+consist of all versions of modules and tools as set forth in Appendix 1.
+
+"Qt for Application Development" shall mean The Qt Company's productized
+offering, which consist of all versions of modules and tools as set forth in
+Appendix 1.
+
+"Qt for Device Creation" shall mean The Qt Company's productized offering,
+which consist of all versions of modules and tools as set forth in Appendix 1.
+
+"Qt for MCUs" shall mean The Qt Company's productized offering, which consist
+of all versions of modules and tools as set forth in Appendix 1.
+
+"Redistributables" shall mean the portions of the Licensed Software set forth
+in Appendix 1 that may be distributed pursuant to the terms of this Agreement
+in object code form only, including any relevant documentation. Where
+relevant, any reference to Licensed Software in this Agreement shall include
+and refer also to Redistributables.
+
+"Renewal Term" shall mean an extension of previous License Term as agreed
+between the Parties.
+
+"Submitted Modified Software" shall have the meaning as set forth in
+Section 2.3.
+
+"Support" shall mean standard developer support that is provided by The Qt
+Company to assist Designated Users in using the Licensed Software in
+accordance with The Qt Company's standard support terms available at
+https://www.qt.io/terms-conditions/ and as further defined in Section 8
+hereunder.
+
+"Taxes" shall have the meaning set forth in Section 10.5.
+
+"Term" shall have the meaning set forth in Section 12.
+
+"The Qt Company" shall mean:
+ (i) in the event Licensee is an individual residing in the United
+ States or a legal entity incorporated in the United States or
+ having its headquarters in the United States, The Qt Company Inc.,
+ a Delaware corporation with its office at 2350 Mission College
+ Blvd., Suite 1020, Santa Clara, CA 95054, USA.; or
+ (ii) in the event the Licensee is an individual residing outside of the
+ United States or a legal entity incorporated outside of the United
+ States or having its registered office outside of the United
+ States, The Qt Company Ltd., a Finnish company with its registered
+ office at Bertel Jungin aukio D3A, 02600 Espoo, Finland.
+
+"Third-Party Software" shall have the meaning set forth in Section 4.
+
+"Updates" shall mean a release or version of the Licensed Software containing
+bug fixes, error corrections and other changes that are generally made
+available to users of the Licensed Software that have contracted for Support.
+Updates are generally depicted as a change to the digits following the decimal
+in the Licensed Software version number. The Qt Company shall make Updates
+available to the Licensee under the Support. Updates shall be considered as
+part of the Licensed Software hereunder.
+
+"Upgrades" shall mean a release or version of the Licensed Software containing
+enhancements and new features and are generally depicted as a change to the
+first digit of the Licensed Software version number. In the event Upgrades are
+provided to the Licensee under this Agreement, they shall be considered as
+part of the Licensed Software hereunder.
+
+
+2. OWNERSHIP
+2.1. Ownership of The Qt Company
+The Licensed Software is protected by copyright laws and international
+copyright treaties, as well as other intellectual property laws and
+treaties. The Licensed Software is licensed, not sold.
+
+All of The Qt Company's Intellectual Property Rights are and shall remain the
+exclusive property of The Qt Company or its licensors respectively.
+
+2.2. Ownership of Licensee
+All the Licensee's Intellectual Property Rights are and shall remain the
+exclusive property of the Licensee or its licensors respectively.
+
+All Intellectual Property Rights to the Modified Software, Applications and
+Devices shall remain with the Licensee and no rights thereto shall be granted
+by the Licensee to The Qt Company under this Agreement (except as set forth in
+Section 2.3 below).
+
+2.3. Modified Software
+Licensee may create bug-fixes, error corrections, patches or modifications to
+the Licensed Software ("Modified Software"). Such Modified Software may break
+the source or binary compatibility with the Licensed Software (including
+without limitation through changing the application programming interfaces
+("API") or by adding, changing or deleting any variable, method, or class
+signature in the Licensed Software and/or any inter-process protocols,
+services or standards in the Licensed Software libraries). To the extent that
+Licensee's Modified Software so breaks source or binary compatibility with the
+Licensed Software, Licensee acknowledges that The Qt Company's ability to
+provide Support may be prevented or limited and Licensee's ability to make use
+of Updates may be restricted.
+
+Licensee may, at its sole and absolute discretion, choose to submit Modified
+Software to The Qt Company ("Submitted Modified Software") in connection with
+Licensee's Support request, service request or otherwise. In the event
+Licensee does so, then, Licensee hereby grants The Qt Company a sublicensable,
+assignable, irrevocable, perpetual, worldwide, non-exclusive, royalty-free and
+fully paid-up license, under all of Licensee's Intellectual Property Rights,
+to reproduce, adapt, translate, modify, and prepare derivative works of,
+publicly display, publicly perform, sublicense, make available and distribute
+such Submitted Modified Software as The Qt Company sees fit at its free and
+absolute discretion.
+
+3. LICENSES GRANTED
+3.1. Development with Licensed Software
+Subject to the terms of this Agreement, The Qt Company grants to Licensee a
+worldwide, non-exclusive, non-transferable license, valid for the License
+Term, to use, modify and copy the Licensed Software by Designated Users on the
+Development Platforms for the sole purposes of designing, developing,
+demonstrating and testing Application(s) and/or Devices, and to provide
+thereto related support and other related services to end-user Customers.
+
+Licensee may install copies of the Licensed Software on five (5) computers per
+Designated User, provided that only the Designated Users who have a valid
+Development License may use the Licensed Software.
+
+Licensee may at any time designate another Designated User to replace a
+then-current Designated User by notifying The Qt Company in writing, provided
+that any Designated User may be replaced only once during any six-month period.
+
+Upon expiry of the initially agreed License Term, the respective License Terms
+shall be automatically extended to one or more Renewal Term(s), unless and
+until either Party notifies the other Party in writing that it does not wish
+to continue the License Term, such notification to be provided to the other
+Party no less than ninety (90) days before expiry of the respective License
+Term. Unless otherwise agreed between the Parties, Renewal Term shall be of
+equal length with the initial License Term.
+
+Any such Renewal Term shall be subject to License Fees agreed between the
+Parties or, if no advance agreement exists, subject to The Qt Company's
+standard pricing applicable at the commencement date of any such Renewal Term.
+
+Any price or other term specified for a Renewal Term shall be valid only for
+the specified time.
+
+The Qt Company may request the Licensee to place a purchase order corresponding
+to a quote by The Qt Company for the relevant Renewal Term.
+
+In the event Licensee does not prevent auto-renewal pursuant the above, but a
+Renewal Term is nevertheless not duly ordered within 30 days from the date of
+the respective quote from The Qt Company and/or the respective License Fee
+paid by due date specified in The Qt Company's respective invoice, The Qt
+Company shall apply a reinstatement fee equal to ten percent (10 %) of the
+total value of the License Fees of the Development Licenses for the expired
+term to be added to the License Fee of the respective Renewal Term.
+
+In the event Licensee chooses not to renew a Development License for a Renewal
+Term by notifying The Qt Company thereof no less than ninety (90) days before
+expiry of the respective License Term, Licensee may still reinstate such
+expired Development Licenses for a Renewal Term subject to applicable renewal
+Term License Fees until thirty (30) days from the expiry of the initially
+agreed License Term or preceding Renewal Term. After such thirty (30) day
+period a Development License shall be subject to applicable License Fees for a
+new Development License and not any Renewal Term License Fees.
+
+3.2. Distribution of Applications
+Subject to the terms of this Agreement, The Qt Company grants to Licensee a
+worldwide, non-exclusive, non-transferable, revocable (for cause pursuant to
+this Agreement) right and license, valid for the Term, to
+ (i) distribute, by itself or through its Contractors, Redistributables
+ as installed, incorporated or integrated into Applications for
+ execution on the Deployment Platforms, and
+ (ii) grant sublicenses to Redistributables, as distributed hereunder,
+ for Customers solely for Customer's internal use and to the extent
+ necessary in order for the Customers to use the Applications for
+ their respective intended purposes.
+
+Right to distribute the Redistributables as part of an Application as provided
+herein is not royalty-bearing but is conditional upon the Licensee not having
+any unpaid License Fees for Development Licenses owed to The Qt Company at the
+time of distribution of any Redistributables to Customers.
+
+3.3. Distribution of Devices
+Subject to the terms of this Agreement, The Qt Company grants to Licensee a
+worldwide, non-exclusive, non-transferable, revocable (for cause pursuant to
+this Agreement) right and license, valid for the Term, to
+ (i) distribute, by itself or through one or more tiers of Contractors,
+ Redistributables as installed, incorporated or integrated, or
+ intended to be installed, incorporated or integrated into Devices
+ for execution on the Deployment Platforms, and
+ (ii) grant sublicenses to Redistributables, as distributed hereunder,
+ for Customers solely for Customer's internal use and to the extent
+ necessary in order for the Customers to use the Devices for their
+ respective intended purposes.
+
+Right to distribute the Redistributables with Devices as provided herein is
+conditional upon the Licensee (i) not having any unpaid License Fees for
+Development Licenses owed to The Qt Company, and (ii) having purchased and
+paid corresponding Distribution Licenses at the time of distribution of any
+Redistributables to Customers.
+
+3.4. Further Requirements
+The licenses granted above in this Section 3 by The Qt Company to Licensee are
+conditional and subject to Licensee's compliance with the following terms:
+ (i) Licensee shall not remove or alter any copyright, trademark or
+ other proprietary rights notice(s) contained in any portion of the
+ Licensed Software;
+ (ii) Applications must add primary and substantial functionality to the
+ Licensed Software so as not to compete with the Licensed Software;
+ (iii) Applications may not pass on functionality which in any way makes
+ it possible for others to create software with the Licensed
+ Software; provided however that Licensee may use the Licensed
+ Software's scripting and QML ("Qt Quick") functionality solely in
+ order to enable scripting, themes and styles that augment the
+ functionality and appearance of the Application(s) without adding
+ primary and substantial functionality to the Application(s);
+ (iv) Licensee shall not use Licensed Software in any manner or for any
+ purpose that infringes, misappropriates or otherwise violates any
+ Intellectual property or right of any third party, or that
+ violates any applicable law;
+ (v) Licensee shall not use The Qt Company's or any of its suppliers'
+ names, logos, or trademarks to market Applications, except that
+ Licensee may use "Built with Qt" logo to indicate that
+ Application(s) was developed using the Licensed Software;
+ (vi) Licensee shall not distribute, sublicense or disclose source code
+ of Licensed Software to any third party (provided however that
+ Licensee may appoint employee(s) of Contractors as Designated
+ Users to use Licensed Software pursuant to this Agreement). Such
+ right may be available for the Licensee subject to a separate
+ software development kit ("SDK") license agreement to be concluded
+ with The Qt Company;
+ (vii) Licensee shall not grant the Customers a right to (i) make copies
+ of the Redistributables except when and to the extent required to
+ use the Applications and/or Devices for their intended purpose,
+ (ii) modify the Redistributables or create derivative works
+ thereof, (iii) decompile, disassemble or otherwise reverse
+ engineer Redistributables, or (iv) redistribute any copy or
+ portion of the Redistributables to any third party, except as part
+ of the onward sale of the Device on which the Redistributables are
+ installed;
+ (viii) Licensee shall not and shall cause that its Affiliates or
+ Contractors shall not use Licensed Software in any Prohibited
+ Combination, unless Licensee has received an advance written
+ permission from The Qt Company to do so. Absent such written
+ permission, any and all distribution by the Licensee during the
+ Term of a hardware device or product a) which incorporate or
+ integrate any part of Licensed Software or Open Source Qt; or b)
+ where the main user interface or substantial functionality is
+ provided by software built with Licensed Software or Open Source
+ Qt or otherwise depends on the Licensed Software or Open Source
+ Qt, shall be considered to be Device distribution under this
+ Agreement and shall be dependent on Licensee's compliance thereof
+ (including but not limited to obligation to pay applicable License
+ Fees for such distribution). Notwithstanding what is provided
+ above in this sub-section (viii), Licensee is entitled to use and
+ combine Qt 3D Studio and/or Qt Design Studio with Open Source Qt
+ ("Permitted Combination") for its internal evaluation purposes,
+ provided that Licensee shall in no way transfer, publish, disclose,
+ display or otherwise make available any software or work resulting
+ from such Permitted Combination;
+ (ix) Licensee shall cause all of its Affiliates and Contractors
+ entitled to make use of the licenses granted under this Agreement,
+ to be contractually bound to comply with the relevant terms of
+ this Agreement and not to use the Licensed Software beyond the
+ terms hereof and for any purposes other than operating within the
+ scope of their services for Licensee. Licensee shall be responsible
+ for any and all actions and omissions of its Affiliates and
+ Contractors relating to the Licensed Software and use thereof
+ (including but not limited to payment of all applicable License
+ Fees);
+ (x) Except when and to the extent explicitly provided in this Section
+ 3, Licensee shall not transfer, publish, disclose, display or
+ otherwise make available the Licensed Software; and
+ (xi) Licensee shall not attempt or enlist a third party to conduct or
+ attempt to conduct any of the above.
+
+Above terms shall not be applicable if and to the extent they conflict with
+any mandatory provisions of any applicable laws.
+Any use of Licensed Software beyond the provisions of this Agreement is
+strictly prohibited and requires an additional license from The Qt Company.
+
+4. THIRD-PARTY SOFTWARE
+The Licensed Software may provide links to third party libraries or code
+(collectively "Third-Party Software") to implement various functions.
+Third-Party Software does not comprise part of the Licensed Software. In some
+cases, access to Third-Party Software may be included with the Licensed
+Software. Such Third-Party Software will be listed in the ".../src/3rdparty"
+source tree delivered with the Licensed Software or documented in the Licensed
+Software, as such may be amended from time to time. Licensee acknowledges that
+use or distribution of Third-Party Software is in all respects subject to
+applicable license terms of applicable third-party right holders.
+
+5. PRE-RELEASE CODE
+The Licensed Software may contain pre-release code and functionality, or sample
+code marked or otherwise stated with appropriate designation such as
+"Technology Preview", "Alpha", "Beta", "Sample" etc. ("Pre-Release Code").
+
+Such Pre-Release Code may be present complimentary for the Licensee, in order
+to provide experimental support or information for new platforms or preliminary
+versions of one or more new functionalities or for other similar reasons. The
+Pre-Release Code may not be at the level of performance and compatibility of a
+final, generally available, product offering. The Pre-Release Code may not
+operate correctly, may contain errors and may be substantially modified by The
+Qt Company prior to the first commercial product release, if any. The Qt
+Company is under no obligation to make Pre-Release Code commercially available,
+or provide any Support or Updates relating thereto. The Qt Company assumes no
+liability whatsoever regarding any Pre-Release Code, but any use thereof is
+exclusively at Licensee's own risk and expense.
+
+For clarity, unless Licensed Software specifies different license terms for the
+respective Pre-Release Code, the Licensee is entitled to use such pre-release
+code pursuant to Section 3, just like other Licensed Software, provided however
+that in the event Add-on Products are included and available as such
+Pre-Release Code, Licensee's right to use such Add-on Products is nevertheless
+subject to and conditional upon conclusion of separate agreement with The Qt
+Company.
+
+6. LIMITED WARRANTY AND WARRANTY DISCLAIMER
+The Qt Company hereby represents and warrants that it has the power and
+authority to grant the rights and licenses granted to Licensee under this
+Agreement.
+
+Except as set forth above, the Licensed Software is licensed to Licensee
+"as is" and Licensee's exclusive remedy and The Qt Company's entire liability
+for errors in the Licensed Software shall be limited, at The Qt Company's
+option, to correction of the error, replacement of the Licensed Software or
+return of the applicable fees paid for the defective Licensed Software for the
+time period during which the License is not able to utilize the Licensed
+Software under the terms of this Agreement.
+
+TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THE QT COMPANY ON BEHALF OF
+ITSELF AND ITS LICENSORS, SUPPLIERS AND AFFILIATES, DISCLAIMS ALL OTHER
+WARRANTIES, EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, ANY IMPLIED
+WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND
+NON-INFRINGEMENT WITH REGARD TO THE LICENSED SOFTWARE. THE QT COMPANY DOES NOT
+WARRANT THAT THE LICENSED SOFTWARE WILL SATISFY LICENSEE'S REQUIREMENTS OR THAT
+IT WILL OPERATE WITHOUT DEFECT OR ERROR OR THAT THE OPERATION THEREOF WILL BE
+UNINTERRUPTED.
+
+7. INDEMNIFICATION AND LIMITATION OF LIABILITY
+7.1. Limitation of Liability
+EXCEPT FOR (I) CASES OF GROSS NEGLIGENCE OR INTENTIONAL MISCONDUCT, AND (II)
+BREACH OF CONFIDENTIALITY, AND TO THE EXTENT PERMITTED BY APPLICABLE LAW, IN NO
+EVENT SHALL EITHER PARTY BE LIABLE TO THE OTHER PARTY FOR ANY LOSS OF PROFIT,
+LOSS OF DATA, LOSS OF BUSINESS OR GOODWILL OR ANY OTHER INDIRECT, SPECIAL,
+CONSEQUENTIAL, INCIDENTAL OR PUNITIVE COST, DAMAGES OR EXPENSE OF ANY KIND,
+HOWSOEVER ARISING UNDER OR IN CONNECTION WITH THIS AGREEMENT.
+
+EXCEPT FOR (I) CASES OF GROSS NEGLIGENCE OR INTENTIONAL MISCONDUCT, AND (II)
+BREACH OF CONFIDENTIALITY, AND TO THE EXTENT PERMITTED BY APPLICABLE LAW, IN NO
+EVENT SHALL EITHER PARTY'S TOTAL AGGREGATE LIABILITY UNDER THIS AGREEMENT
+EXCEED THE AGGREGATE LICENSE FEES PAID OR PAYABLE TO THE QT COMPANY FROM
+LICENSEE DURING THE PERIOD OF TWELVE (12) MONTHS IMMEDIATELY PRECEDING THE
+EVENT RESULTING IN SUCH LIABILITY.
+
+THE PROVISIONS OF THIS SECTION 7 ALLOCATE THE RISKS UNDER THIS AGREEMENT
+BETWEEN THE QT COMPANY AND LICENSEE AND THE PARTIES HAVE RELIED UPON THE
+LIMITATIONS SET FORTH HEREIN IN DETERMINING WHETHER TO ENTER INTO THIS
+AGREEMENT.
+
+NOTWITHSTANDING ANYTHING TO THE CONTRARY IN THIS AGREEMENT, LICENSEE SHALL
+ALWAYS BE LIABLE TO PAY THE APPLICABLE LICENSE FEES CORRESPONDING TO ITS ACTUAL
+USE OF LICENSED SOFTWARE.
+
+8. SUPPORT, UPDATES AND ONLINE SERVICES
+Upon due payment of the agreed License Fees the Licensee will be eligible to
+receive Support and Updates and to use the Online Services during the License
+Term, provided, however, that in the event the License Term is longer than 36
+months, the initial payment includes Support for only the first 12 months,
+unless the Parties specifically otherwise agree.
+
+Unless otherwise decided by The Company at its free and absolute discretion,
+Upgrades will not be included in the Support but may be available subject to
+additional fees.
+
+From time to time The Qt Company may change the Support terms, provided that
+during the respective ongoing License Term the level of Support provided by The
+Qt Company may not be reduced without the consent of the Licensee.
+
+Unless otherwise agreed, The Qt Company shall not be responsible for providing
+any service or support to Customers.
+
+9. CONFIDENTIALITY
+Each Party acknowledges that during the Term of this Agreement each Party may
+receive information about the other Party's business, business methods,
+business plans, customers, business relations, technology, and other
+information, including the terms of this Agreement, that is confidential and of
+great value to the other Party, and the value of which would be significantly
+reduced if disclosed to third parties ("Confidential Information").
+Accordingly, when a Party (the "Receiving Party") receives Confidential
+Information from the other Party (the "Disclosing Party"), the Receiving Party
+shall only disclose such information to employees and Contractors on a need to
+know basis, and shall cause its employees and employees of its Affiliates to:
+(i) maintain any and all Confidential Information in confidence; (ii) not
+disclose the Confidential Information to a third party without the Disclosing
+Party's prior written approval; and (iii) not, directly or indirectly, use the
+Confidential Information for any purpose other than for exercising its rights
+and fulfilling its responsibilities pursuant to this Agreement. Each Party
+shall take reasonable measures to protect the Confidential Information of the
+other Party, which measures shall not be less than the measures taken by such
+Party to protect its own confidential and proprietary information.
+
+Obligation of confidentiality shall not apply to information that (i) is or
+becomes generally known to the public through no act or omission of the
+Receiving Party; (ii) was in the Receiving Party's lawful possession prior to
+the disclosure hereunder and was not subject to limitations on disclosure or
+use; (iii) is developed independently by employees or Contractors of the
+Receiving Party or other persons working for the Receiving Party who have not
+had access to the Confidential Information of the Disclosing Party, as proven
+by the written records of the Receiving Party; (iv) is lawfully disclosed to
+the Receiving Party without restrictions, by a third party not under an
+obligation of confidentiality; or (v) the Receiving Party is legally compelled
+to disclose, in which case the Receiving Party shall notify the Disclosing
+Party of such compelled disclosure and assert the privileged and confidential
+nature of the information and cooperate fully with the Disclosing Party to
+limit the scope of disclosure and the dissemination of disclosed Confidential
+Information to the minimum extent necessary.
+
+The obligations under this Section 9 shall continue to remain in force for a
+period of five (5) years after the last disclosure, and, with respect to trade
+secrets, for so long as such trade secrets are protected under applicable trade
+secret laws.
+
+10. FEES, DELIVERY AND PAYMENT
+10.1. License Fees
+License Fees are described in The Qt Company's standard price list, quote or
+Purchase Order confirmation or in an appendix hereto, as the case may be.
+
+The License Fees shall not be refunded or claimed as a credit in any event or
+for any reason whatsoever.
+
+10.2. Ordering Licenses
+Licensee may purchase Development Licenses and Distribution Licenses pursuant
+to agreed pricing terms or, if no specific pricing terms have been agreed upon,
+at The Qt Company's standard pricing terms applicable at the time of purchase.
+Unless specifically otherwise provided, any pricing terms referenced in this
+Agreement shall be valid for twelve (12) months from the date of this Agreement.
+
+Licensee shall submit all purchase orders for Development Licenses and
+Distribution Licenses to The Qt Company by email or any other method acceptable
+to The Qt Company (each such order is referred to herein as a "Purchase Order")
+for confirmation, whereupon the Purchase Order shall become binding between the
+Parties.
+
+10.3. Distribution License Packs
+Unless otherwise agreed, Distribution Licenses shall be purchased by way of
+Distribution License Packs.
+
+Upon due payment of the ordered Distribution License Pack(s), the Licensee will
+have an account of Distribution Licenses available for distributing the
+Redistributables in accordance with this Agreement.
+
+Each time Licensee distributes a copy of Redistributables, then one
+Distribution License is used, and Licensee's account of available Distribution
+Licenses is decreased accordingly.Licensee may distribute copies of the
+Redistributables so long as Licensee has Distribution Licenses remaining on
+its account.
+
+10.4. Payment Terms
+License Fees and any other charges under this Agreement shall be paid by
+Licensee no later than thirty (30) days from the date of the applicable
+invoice from The Qt Company.
+
+The Qt Company will submit an invoice to Licensee after the date of this
+Agreement and/or after The Qt Company receives a Purchase Order from Licensee.
+
+A late payment charge of the lower of (a) one percent per month; or (b) the
+interest rate stipulated by applicable law, shall be charged on any unpaid
+balances that remain past due.
+
+10.5. Taxes
+All License Fees and other charges payable hereunder are gross amounts but
+exclusive of any value added tax, use tax, sales tax, withholding tax and other
+taxes, duties or tariffs ("Taxes") levied directly for the sale, delivery or
+use of Licensed Software hereunder pursuant to any applicable law. Such
+applicable Taxes shall be paid by Licensee to The Qt Company, or, where
+applicable, in lieu of payment of such Taxes to The Qt Company, Licensee shall
+provide an exemption certificate to The Qt Company and any applicable authority.
+
+11. RECORD-KEEPING AND REPORTING OBLIGATIONS; AUDIT RIGHTS
+11.1. Licensee's Record-keeping
+Licensee shall at all times during the Term of this Agreement and for a period
+of seven (7) years thereafter maintain Licensee's Records in an accurate and
+up-to-date form. Licensee's Records shall be adequate to reasonably enable The
+Qt Company to determine Licensee's compliance with the provisions of this
+Agreement. The records shall conform to general good accounting practices.
+
+Licensee shall, within thirty (30) days from receiving The Qt Company's request
+to that effect, deliver to The Qt Company a report based on Licensee's Records,
+such report to contain information, in sufficient detail, on (i) number and
+identity of users working with Licensed Software or Open Source Qt, (ii) copies
+of Redistributables distributed by Licensee during the most recent calendar
+quarter and/or any other term specified by The Qt Company, (iii) number of
+undistributed copies of Redistributables and corresponding number of unused
+Distribution Licenses remaining on Licensee's account, and (iv) any other
+information as The Qt Company may reasonably require from time to time.
+
+11.2. The Qt Company's Audit Rights
+The Qt Company or an independent auditor acting on behalf of The Qt Company's,
+may, upon at least five (5) business days' prior written notice and at its
+expense, audit Licensee with respect to the Licensee's use of the Licensed
+Software, but not more frequently than once during each 6-month period. Such
+audit may be conducted by mail, electronic means or through an in-person visit
+to Licensee's place of business. Any such in-person audit shall be conducted
+during regular business hours at Licensee's facilities and shall not
+unreasonably interfere with Licensee's business activities. The Qt Company or
+the independent auditor acting on behalf of The Qt Company shall be entitled to
+inspect Licensee's Records and conduct necessary interviews of Licensee's
+relevant employees and Contractors. All such Licensee's Records and use thereof
+shall be subject to an obligation of confidentiality under this Agreement.
+
+If an audit reveals that Licensee is using the Licensed Software beyond scope
+of the licenses Licensee has paid for, Licensee agrees to pay The Qt Company
+any amounts owed for such unauthorized use within 30 days from receipt of the
+corresponding invoice from The Qt Company. In addition, in the event the audit
+reveals a material violation of the terms of this Agreement (without
+limitation, either (i) underpayment of more than 10 % of License Fees or 10,000
+euros (whichever is more) or (ii) distribution of products, which include or
+result from Prohibited Combination, shall be deemed a material violation for
+purposes of this section), then the Licensee shall pay The Qt Company's
+reasonable cost of conducting such audit.
+
+12. TERM AND TERMINATION
+12.1. Agreement Term
+This Agreement shall enter into force upon due acceptance by both Parties and
+remain in force for as long as there is any Development License(s) purchased
+under this Agreement in force ("Term"), unless and until terminated pursuant to
+the terms of this Section 12.
+
+12.2. Termination and suspension of rights
+Either Party shall have the right to terminate this Agreement upon thirty (30)
+days prior written notice if the other Party commits a material breach of any
+obligation of this Agreement and fails to remedy such breach within such notice
+period.
+
+Instead of termination, The Qt Company shall have the right to suspend or
+withhold grants of all rights to the Licensed Software hereunder, including but
+not limited to the Development Licenses, Distribution License, and Support,
+should Licensee fail to make payment in timely fashion or otherwise violates or
+is reasonably suspected to violate its obligations or terms of this Agreement,
+and where such violation or breach is not cured within five (5) business days
+following The Qt Company's written notice thereof.
+
+12.3. Mutual Right to Terminate
+Either Party shall have the right to terminate this Agreement immediately upon
+written notice in the event that the other Party becomes insolvent, files for
+any form of bankruptcy, makes any assignment for the benefit of creditors, has
+a receiver, administrative receiver or officer appointed over the whole or a
+substantial part of its assets, ceases to conduct business, or an act
+equivalent to any of the above occurs under the laws of the jurisdiction of the
+other Party.
+
+12.4. Parties´ Rights and Duties upon Termination
+Upon expiry or termination of the Agreement, Licensee shall cease and shall
+cause all Designated Users (including those of its Affiliates' and
+Contractors') to cease using the Licensed Software and distribution of the
+Redistributables under this Agreement.
+
+Notwithstanding the above, in the event the Agreement expires or is terminated:
+ (i) as a result of The Qt Company choosing not to renew the Development
+ License(s) as set forth in Section 3.1, then all valid licenses
+ possessed by the Licensee at such date shall be extended to be
+ valid in perpetuity under the terms of this Agreement and Licensee
+ is entitled to purchase additional licenses as set forth in
+ Section 10.2; or
+ (ii) for reason other than by The Qt Company pursuant to item (i) above
+ or pursuant to Section 12.2, then the Licensee is entitled, for a
+ period of six (6) months after the effective date of termination,
+ to continue distribution of Devices under the Distribution Licenses
+ paid but unused at such effective date of termination.
+
+Upon any such termination the Licensee shall destroy or return to The Qt
+Company all copies of the Licensed Software and all related materials and will
+certify the same to The Qt Company upon its request, provided however that
+Licensee may retain and exploit such copies of the Licensed Software as it may
+reasonably require in providing continued support to Customers.
+
+Expiry or termination of this Agreement for any reason whatsoever shall not
+relieve Licensee of its obligation to pay any License Fees accrued or payable
+to The Qt Company prior to the effective date of termination, and Licensee
+shall immediately pay to The Qt Company all such fees upon the effective date
+of termination. Termination of this Agreement shall not affect any rights of
+Customers to continue use of Applications and Devices (and therein incorporated
+Redistributables).
+
+12.5. Extension in case of bankruptcy
+In the event The Qt Company is declared bankrupt under a final, non-cancellable
+decision by relevant court of law, and this Agreement is not, at the date of
+expiry of the Development License(s) pursuant to Section 3.1, assigned to
+party, who has assumed The Qt Company's position as a legitimate licensor of
+Licensed Software under this Agreement, then all valid licenses possessed by
+the Licensee at such date of expiry, and which the Licensee has not notified
+for expiry, shall be extended to be valid in perpetuity under the terms of this
+Agreement.
+
+13. GOVERNING LAW AND LEGAL VENUE
+In the event this Agreement is in the name of The Qt Company Inc., a Delaware
+Corporation, then:
+ (i) this Agreement shall be construed and interpreted in accordance
+ with the laws of the State of California, USA, excluding its choice
+ of law provisions;
+ (ii) the United Nations Convention on Contracts for the International
+ Sale of Goods will not apply to this Agreement; and
+ (iii) any dispute, claim or controversy arising out of or relating to
+ this Agreement or the breach, termination, enforcement,
+ interpretation or validity thereof, including the determination of
+ the scope or applicability of this Agreement to arbitrate, shall
+ be determined by arbitration in San Francisco, USA, before one
+ arbitrator. The arbitration shall be administered by JAMS pursuant
+ to JAMS' Streamlined Arbitration Rules and Procedures. Judgment on
+ the Award may be entered in any court having jurisdiction. This
+ Section shall not preclude parties from seeking provisional
+ remedies in aid of arbitration from a court of appropriate
+ jurisdiction.
+
+In the event this Agreement is in the name of The Qt Company Ltd., a Finnish
+Company, then:
+ (i) this Agreement shall be construed and interpreted in accordance
+ with the laws of Finland, excluding its choice of law provisions;
+ (ii) the United Nations Convention on Contracts for the International
+ Sale of Goods will not apply to this Agreement; and
+ (iii) any disputes, controversy or claim arising out of or relating to
+ this Agreement, or the breach, termination or validity thereof
+ shall be finally settled by arbitration in accordance with the
+ Arbitration Rules of Finland Chamber of Commerce. The arbitration
+ tribunal shall consist of one (1), or if either Party so requires,
+ of three (3), arbitrators. The award shall be final and binding and
+ enforceable in any court of competent jurisdiction. The arbitration
+ shall be held in Helsinki, Finland and the process shall be
+ conducted in the English language. This Section shall not preclude
+ parties from seeking provisional remedies in aid of arbitration
+ from a court of appropriate jurisdiction.
+
+14. GENERAL PROVISIONS
+14.1. No Assignment
+Except in the case of a merger or sale of substantially all of its corporate
+assets, Licensee shall not be entitled to assign or transfer all or any of its
+rights, benefits and obligations under this Agreement without the prior written
+consent of The Qt Company, which shall not be unreasonably withheld or delayed.
+The Qt Company shall be entitled to freely assign or transfer any of its
+rights, benefits or obligations under this Agreement.
+
+14.2. No Third-Party Representations
+Licensee shall make no representations or warranties concerning the Licensed
+Software on behalf of The Qt Company. Any representation or warranty Licensee
+makes or purports to make on The Qt Company's behalf shall be void as to The
+Qt Company.
+
+14.3. Surviving Sections
+Any terms and conditions that by their nature or otherwise reasonably should
+survive termination of this Agreement shall so be deemed to survive. Such
+sections include especially the following: 1, 2, 6, 7, 9, 11, 12.4, 13 and 14.
+
+14.4. Entire Agreement
+This Agreement, the exhibits hereto, the License Certificate and any applicable
+Purchase Order accepted by The Qt Company constitute the complete agreement
+between the Parties and supersedes all prior or contemporaneous discussions,
+representations, and proposals, written or oral, with respect to the subject
+matters discussed herein.
+
+In the event of any conflict or inconsistency between this Agreement and any
+Purchase Order, the terms of this Agreement will prevail over the terms of the
+Purchase Order with respect to such conflict or inconsistency.
+
+Parties specifically acknowledge and agree that this Agreement prevails over
+any click-to-accept or similar agreements the Designated Users may need to
+accept online upon download of the Licensed Software, as may be required by
+The Qt Company's applicable processes relating to Licensed Software.
+
+14.5. Modifications
+No modification of this Agreement shall be effective unless contained in a
+writing executed by an authorized representative of each Party. No term or
+condition contained in Licensee's Purchase Order ("Deviating Terms") shall
+apply unless The Qt Company has expressly agreed such Deviating Terms in
+writing. Unless and to the extent expressly agreed by The Qt Company, any such
+Deviating Terms shall be deemed void and with no legal effect. For clarity,
+delivery of the Licensed Software following the receipt of the Purchase Order
+including Deviating Terms shall not constitute acceptance of such Deviating
+Terms."
+
+14.6. Force Majeure
+Except for the payment obligations hereunder, neither Party shall be liable to
+the other for any delay or non-performance of its obligations hereunder in the
+event and to the extent that such delay or non-performance is due to an event
+of act of God, terrorist attack or other similar unforeseeable catastrophic
+event that prevents either Party for fulfilling its obligations under this
+Agreement and which such Party cannot avoid or circumvent ("Force Majeure
+Event"). If the Force Majeure Event results in a delay or non-performance of a
+Party for a period of three (3) months or longer, then either Party shall have
+the right to terminate this Agreement with immediate effect without any
+liability (except for the obligations of payment arising prior to the event of
+Force Majeure) towards the other Party.
+
+14.7. Notices
+Any notice given by one Party to the other shall be deemed properly given and
+deemed received if specifically acknowledged by the receiving Party in writing
+or when successfully delivered to the recipient by hand, fax, or special
+courier during normal business hours on a business day to the addresses
+specified for each Party on the signature page. Each communication and document
+made or delivered by one Party to the other Party pursuant to this Agreement
+shall be in the English language.
+
+14.8. Export Control
+Licensee acknowledges that the Redistributables, as incorporated in
+Applications or Devices, may be subject to export control restrictions under
+the applicable laws of respective countries. Licensee shall fully comply with
+all applicable export license restrictions and requirements as well as with all
+laws and regulations relating to the Redistributables and exercise of licenses
+hereunder and shall procure all necessary governmental authorizations,
+including without limitation, all necessary licenses, approvals, permissions or
+consents, where necessary for the re-exportation of the Redistributables,
+Applications and/or Devices.
+
+14.9. No Implied License
+There are no implied licenses or other implied rights granted under this
+Agreement, and all rights, save for those expressly granted hereunder, shall
+remain with The Qt Company and its licensors. In addition, no licenses or
+immunities are granted to the combination of the Licensed Software with any
+other software or hardware not delivered by The Qt Company under this Agreement.
+
+14.10. Attorney Fees
+The prevailing Party in any action to enforce this Agreement shall be entitled
+to recover its attorney's fees and costs in connection with such action.
+
+14.11. Privacy
+Licensee acknowledges and agrees that for the purpose of this Agreement, The Qt
+Company may collect, use, transfer and disclose personal data pertaining to
+Designated Users as well as any other employees and directors of the Licensee
+and its Contractors relevant for carrying out the intent of this Agreement.
+Such personal data may be collected from the Licensee or directly from the
+relevant individuals. The Parties acknowledge that with regard to such personal
+data processed hereunder, The Qt Company shall be regarded as the Data
+Controller under the applicable Data Protection Legislation. The Qt Company
+shall process any such personal data in accordance with its privacy policies
+and practices, which will comply with all applicable requirements of the Data
+Protection Legislation.
+
+14.12. Severability
+If any provision of this Agreement shall be adjudged by any court of competent
+jurisdiction to be unenforceable or invalid, that provision shall be limited or
+eliminated to the minimum extent necessary so that this Agreement shall
+otherwise remain in full force and effect and enforceable.
+
+
+
+APPENDICES
+The Agreement includes Appendix 1, and possibly one or more of the appendices
+3-5, depending on the product(s) purchased by the Licensee, what is stated in
+the quote or invoice, and/or what is stated in the Licensee's License
+Certificate.
+
+
+APPENDIX 1
+The modules and/or tools that are included in the respective product - Qt for
+Application Development (QtAD), Qt for Device Creation (QtDC), Qt for MCUs
+(QtMCU), Qt 3D Studio (Qt3DS) and Qt Design Studio (QtDS) - are marked with 'X'
+in the below table.
+
+Parts of the product that are permitted for distribution in object-code form
+only ("Redistributables") are marked with 'R' in the below table.
+
+Modules/Tools | QtAD | QtDC | QtMCU | Qt3DS | QtDS
+-------------------------------------------------------------------------------
+Qt Core | X,R | X,R | | |
+-------------------------------------------------------------------------------
+Qt GUI | X,R | X,R | | |
+-------------------------------------------------------------------------------
+Qt Multimedia | X,R | X,R | | |
+-------------------------------------------------------------------------------
+Qt Multimedia Widgets | X,R | X,R | | |
+-------------------------------------------------------------------------------
+Qt Network | X,R | X,R | | |
+-------------------------------------------------------------------------------
+Qt QML | X,R | X,R | | |
+-------------------------------------------------------------------------------
+Qt Quick | X,R | X,R | | |
+-------------------------------------------------------------------------------
+Qt Quick Controls 2 | X,R | X,R | | |
+-------------------------------------------------------------------------------
+Qt Quick Dialogs | X,R | X,R | | |
+-------------------------------------------------------------------------------
+Qt Quick Layouts | X,R | X,R | | |
+-------------------------------------------------------------------------------
+Qt Quick Test | X,R | X,R | | |
+-------------------------------------------------------------------------------
+Qt SQL | X,R | X,R | | |
+-------------------------------------------------------------------------------
+Qt Test | X,R | X,R | | |
+-------------------------------------------------------------------------------
+Qt Widgets | X,R | X,R | | |
+-------------------------------------------------------------------------------
+Active Qt | X,R | X,R | | |
+-------------------------------------------------------------------------------
+Qt 3D | X,R | X,R | | |
+-------------------------------------------------------------------------------
+Qt Android Extras | X,R | X,R | | |
+-------------------------------------------------------------------------------
+Qt Bluetooth | X,R | X,R | | |
+-------------------------------------------------------------------------------
+Qt Canvas 3D | X,R | X,R | | |
+-------------------------------------------------------------------------------
+Qt Concurrent | X,R | X,R | | |
+-------------------------------------------------------------------------------
+Qt D-Bus | X,R | X,R | | |
+-------------------------------------------------------------------------------
+Qt Gamepad | X,R | X,R | | |
+-------------------------------------------------------------------------------
+Qt Graphical Effects | X,R | X,R | | |
+-------------------------------------------------------------------------------
+Qt Help | X,R | X,R | | |
+-------------------------------------------------------------------------------
+Qt Image Formats | X,R | X,R | | |
+-------------------------------------------------------------------------------
+Qt Location | X,R | X,R | | |
+-------------------------------------------------------------------------------
+Qt Mac Extras | X,R | X,R | | |
+-------------------------------------------------------------------------------
+Qt Network Authorization | X,R | X,R | | |
+-------------------------------------------------------------------------------
+Qt NFC | X,R | X,R | | |
+-------------------------------------------------------------------------------
+Qt Platform Headers | X,R | X,R | | |
+-------------------------------------------------------------------------------
+Qt Positioning | X,R | X,R | | |
+-------------------------------------------------------------------------------
+Qt Print Support | X,R | X,R | | |
+-------------------------------------------------------------------------------
+Qt Purchasing | X,R | X,R | | |
+-------------------------------------------------------------------------------
+Qt for Python | X,R | X,R | | |
+-------------------------------------------------------------------------------
+Qt Quick Controls | X,R | X,R | | |
+-------------------------------------------------------------------------------
+Qt Quick Extras | X,R | X,R | | |
+-------------------------------------------------------------------------------
+Qt Quick Widgets | X,R | X,R | | |
+-------------------------------------------------------------------------------
+Qt SCXML | X,R | X,R | | |
+-------------------------------------------------------------------------------
+Qt Sensors | X,R | X,R | | |
+-------------------------------------------------------------------------------
+Qt Serial Bus | X,R | X,R | | |
+-------------------------------------------------------------------------------
+Qt Serial Port | X,R | X,R | | |
+-------------------------------------------------------------------------------
+Qt Speech | X,R | X,R | | |
+-------------------------------------------------------------------------------
+Qt SVG | X,R | X,R | | |
+-------------------------------------------------------------------------------
+Qt UI Tools | X,R | X,R | | |
+-------------------------------------------------------------------------------
+Qt WebChannel | X,R | X,R | | |
+-------------------------------------------------------------------------------
+Qt WebEngine | X,R | X,R | | |
+-------------------------------------------------------------------------------
+Qt WebSockets | X,R | X,R | | |
+-------------------------------------------------------------------------------
+Qt WebView | X,R | X,R | | |
+-------------------------------------------------------------------------------
+Qt Windows Extras | X,R | X,R | | |
+-------------------------------------------------------------------------------
+Qt X11 Extras | X,R | X,R | | |
+-------------------------------------------------------------------------------
+Qt XML | X,R | X,R | | |
+-------------------------------------------------------------------------------
+Qt XML Patterns | X,R | X,R | | |
+-------------------------------------------------------------------------------
+Qt Wayland Compositor | X,R | X,R | | |
+-------------------------------------------------------------------------------
+Qt Charts | X,R | X,R | | |
+-------------------------------------------------------------------------------
+Qt Data Visualization | X,R | X,R | | |
+-------------------------------------------------------------------------------
+Qt Virtual Keyboard | X,R | X,R | | |
+-------------------------------------------------------------------------------
+Boot 2 Qt stack | | X,R | | |
+-------------------------------------------------------------------------------
+Qt OTA | | X,R | | |
+-------------------------------------------------------------------------------
+Device Utilities | | X,R | | |
+-------------------------------------------------------------------------------
+Qt Debugging Bridge (QDB) Daemon | | X,R | | |
+-------------------------------------------------------------------------------
+Qt Quick Ultralite Controls | | | X,R | |
+-------------------------------------------------------------------------------
+Qt Quick Ultralite | | | X,R | |
+-------------------------------------------------------------------------------
+Qt Creator | X | X | X | |
+-------------------------------------------------------------------------------
+Qt Designer (Qt Widget Designer) | X | X | | |
+-------------------------------------------------------------------------------
+Qt Quick Designer (Qt Creator plugin) | X | X | X | |
+-------------------------------------------------------------------------------
+Qt Linguist | X | X | X | |
+-------------------------------------------------------------------------------
+Qt Assistant | X | X | X | |
+-------------------------------------------------------------------------------
+lupdate | X | X | X | |
+-------------------------------------------------------------------------------
+lrelease | X | X | X | |
+-------------------------------------------------------------------------------
+qmake | X | X | | |
+-------------------------------------------------------------------------------
+uic | X | X | | |
+-------------------------------------------------------------------------------
+rcc | X | X | | |
+-------------------------------------------------------------------------------
+qlalr | X | X | | |
+-------------------------------------------------------------------------------
+qdoc | X | X | | |
+-------------------------------------------------------------------------------
+qmlscene | X | X | | |
+-------------------------------------------------------------------------------
+qmlviewer | X | X | | |
+-------------------------------------------------------------------------------
+Target toolchains | | X | X | |
+-------------------------------------------------------------------------------
+Qt Debugging Bridge (QDB) Host Tools | | X | | |
+-------------------------------------------------------------------------------
+qtconfig-gui | | X | | |
+-------------------------------------------------------------------------------
+Qt Emulator | | X | | |
+-------------------------------------------------------------------------------
+qmlinterfacegenerator | | | X | |
+-------------------------------------------------------------------------------
+qmltocpp | | | X | |
+-------------------------------------------------------------------------------
+qulfontcompiler | | | X | |
+-------------------------------------------------------------------------------
+Qt53DStudioRuntime2 | | | | X,R |
+-------------------------------------------------------------------------------
+Qt 3D Studio | | | | X |
+-------------------------------------------------------------------------------
+Qt Design Studio | | | | | X
+-------------------------------------------------------------------------------
+
+
+APPENDIX 3: ADDITIONS TO LICENSED SOFTWARE
+In addition to what is provided under the definition of the Licensed Software,
+Parties agree that Licensed Software shall also include the Add-On Products of
+The Qt Company, as mentioned in this Appendix, if included in the
+quote / invoice.
+
+The Modules and/or Tools of the Licensed Software that are included with each
+Add-On Product respectively are marked with 'X' in the below table. Parts of
+the respective Add-On Product that are permitted for distribution in
+object-code form only ("Redistributables") are marked with 'R' in the below
+table.
+
+-------------------------------------------------------------------------------
+ | Add-On Product(s)
+Modules / |------------------------------------------------------------------
+Tools of |Qt for |Qt |Qt Safe |Qt |Qt |Qt
+Licensed |Automation |Automotive |Renderer |Application|Gammaray |Deployment
+Software | |Suite | |Manager | |Platform
+ | | | | | |Package
+-------------------------------------------------------------------------------
+Qt MQTT | X,R | | | | |
+-------------------------------------------------------------------------------
+Qt KNX | X,R | | | | |
+-------------------------------------------------------------------------------
+Qt OPC UA | X,R | | | | |
+-------------------------------------------------------------------------------
+Qt CoAP | X,R | | | | |
+-------------------------------------------------------------------------------
+Qt Safe | | X,R | X,R | | |
+Renderer | | | | | |
+-------------------------------------------------------------------------------
+Qt | | | | | |
+Application | | X,R | | X,R | |
+Manager | | | | | |
+-------------------------------------------------------------------------------
+Qt IVI | | X,R | | | |
+-------------------------------------------------------------------------------
+Reference UI| | X,R | | | |
+-------------------------------------------------------------------------------
+Qt GENIVI | | X,R | | | |
+Extras | | | | | |
+-------------------------------------------------------------------------------
+QML Live | | X | | | |
+-------------------------------------------------------------------------------
+Qt Creator | | X | | | |
+Deployment | | | | | |
+-------------------------------------------------------------------------------
+Qt Creator | | | | | |
+Plugin for | | | | | |
+Qt | | X | | X | |
+Application | | | | | |
+Manager | | | | | |
+-------------------------------------------------------------------------------
+Qt | | | | | |
+Automotive | | | | | |
+Suite | | X | | | |
+Deployment | | | | | |
+Server | | | | | |
+-------------------------------------------------------------------------------
+Qt Design | | X | | | |
+Studio | | | | | |
+-------------------------------------------------------------------------------
+Qt 3D Studio| | X | | | |
+-------------------------------------------------------------------------------
+GammaRay | | X | | | X |
+-------------------------------------------------------------------------------
+Platform | | | | | |
+adaptations | | | | | |
+for | | | | | | X
+specified | | | | | |
+Deployment | | | | | |
+Platforms | | | | | |
+-------------------------------------------------------------------------------
+Qt for | | | | | |
+Device | | X | | | |
+Creation | | | | | |
+-------------------------------------------------------------------------------
+
+All the above Redistributables are subject to applicable provisions and
+limitations including but not limited to what is defined in section 3 of the
+Agreement.
+
+
+APPENDIX 4: SMALL BUSINESS AND STARTUP
+The provisions of this Appendix 4 are applicable for Start-up Companies and for
+the Evaluation Term.For the purpose of this Appendix 4, the following
+additional definitions shall be applicable:
+
+"Trial Term" shall mean a period of twelve (12) months.
+
+"Start-up Company" means a company with a maximum annual revenue, including
+funding, equivalent to 100,000 USD (in applicable currency) during a respective
+calendar year, as evidenced by duly audited records of the Licensee and
+approved by The Qt Company.
+
+During the Trial Term, Section 3 shall apply with following modifications
+("Trial Term Modifications"):
+ (i) Licenses granted under Sections 3.1 and 3.2 shall be free of any
+ charge. For clarity, License for distribution of Devices pursuant
+ to Section 3.3 is subject to applicable License Fee for necessary
+ Distribution Licenses;
+ (ii) Development License under Section 3.1 is limited to a maximum of
+ three (3) Designated Users; and
+ (iii) Support is available subject to availability, as judged by The Qt
+ Company at its free and absolute discretion, provided that support
+ will be limited to a maximum of ten (10) tickets during the Trial
+ Term.
+
+Upon expiry of the Trial Term:
+ (a) This Appendix 4 is terminated, Trial Term Modifications cease to
+ remain in force, Licensee's Development Licenses shall be
+ automatically converted into licenses subject to a License Fee (in
+ the amount specified in the quote or in Appendix 2 and payable with
+ a 30-day payment term) and Licensee's rights and obligations under
+ this Agreement shall continue to remain in force under the standard
+ provisions of the Agreement, unless the Licensee notifies The Qt
+ Company in writing no less than ninety (90) days before such expiry
+ date that Licensee does not agree to such continuance, in which
+ event the Agreement, and all rights of the Licensee thereunder,
+ shall expire; provided however that
+ (b) in the event the Licensee still qualifies as a Start-up Company,
+ the Licensee has an option ("Option"), instead of what is stated in
+ item a) above, to renew the Trial Term. Renewal is limited to one
+ time, and the total duration of Trial Term is thus 24 months after
+ the effective date. Licensee shall notify The Qt Company in
+ writing, no less than ninety (90) days before the expiry date, if
+ Licensee wish to exercise the Option.
+
+
+APPENDIX 5: NON-COMMERCIAL USE
+The provisions of this Appendix 5 are applicable for non-commercial use of the
+Licensed Software by the Licensee.
+
+For the purpose of this Appendix 5, the following additional definitions
+(replacing the relevant definition of the Agreement, where applicable) shall be
+applicable:
+
+"Demo Units" shall mean (i) hardware development platform, which incorporates
+the Licensed Software along with Licensee's software and/or hardware, and (ii)
+prototype versions of Applications or Devices.
+
+"Designated User(s)" shall mean the employees and students of the Licensee.
+
+"Licensee Products" shall mean Applications and/or Devices.
+
+"Permitted Purpose" shall mean (i) Licensee's internal evaluation and testing
+of Licensed Software, (ii) building Demo Units as well as (iii) educational
+use.
+
+"Term" shall mean a period of twelve (12) months or any such other period as
+may be agreed between the Parties.
+
+For the purpose of this Appendix 5, the following changes shall be agreed with
+respect to relevant Sections of the Agreement:
+ I. Recital (A) shall be replaced in its entirety to read as follows:
+
+ "(A) Licensee wishes to use the Licensed Software for the Permitted
+ Purpose."
+
+ II. Section 3.1 shall be replaced in its entirety to read as follows:
+
+ "The Qt Company grants to Licensee a personal, non-exclusive,
+ non-transferable, revocable, royalty-free license, valid for the
+ Term, to use, modify and copy the Licensed Software solely for the
+ Permitted Purpose.
+
+ Licensee may install copies of the Licensed Software on an
+ unlimited number of computers provided that only Designated Users
+ may use the Licensed Software.
+
+ Licensee may demonstrate the Demo Units, provided that such
+ demonstrations must be conducted by Licensee, and the Demo Units
+ must remain in Licensee's possession and under Licensee's control
+ at all times.
+
+ For clarity, this Agreement does not (i) entitle Licensee to use
+ Licensed Software to create Applications or Devices (other than
+ prototypes thereof) or (ii) carry any distribution rights to
+ Licensee, but such rights are subject to and conditional upon
+ conclusion of a separate license agreement with The Qt Company."
+
+ III. Sections 3.2, 3.3, 8 and 10 shall be deleted.
+
+ IV. Section 3.4 shall be replaced in its entirety to read as follows:
+
+ "Licensee shall not:
+ - remove or alter any copyright, trademark or other proprietary
+ rights notice contained in any portion of the Licensed
+ Software;
+
+ - transfer, publish, sublicense, disclose, display or otherwise
+ make the Licensed Software available to any third party
+ (except that Licensee may demonstrate the Demo Units pursuant
+ to Section 3.1);
+
+ - in any way combine, incorporate or integrate Licensed
+ Software with, or use Licensed Software for creation of, any
+ software created with or incorporating Open Source Qt;
+
+ Licensee shall cause all Designated Users who make use of the
+ licenses granted under this Agreement, to be contractually bound to
+ comply with the relevant terms of this Agreement and not to use the
+ Licensed Software beyond the terms hereof. Licensee shall be
+ responsible for any and all actions and omissions of its Designated
+ Users relating to the Licensed Software and use thereof.
+
+ Any use of Licensed Software beyond the provisions of this
+ Agreement is strictly prohibited and requires an additional license
+ from The Qt Company."
+
+ V. Section 12 shall be replaced in its entirety to read as follows:
+
+ "This Agreement shall enter into force upon due acceptance by both
+ Parties and remain in force for the Term, unless and until
+ terminated pursuant to the terms of Section 12.
+
+ Upon termination of the Agreement, Licensee shall cease using the
+ Licensed Software. All other copies of Licensed Software in the
+ possession or control of Licensee must be erased or destroyed. An
+ officer of Licensee must, upon request, promptly deliver to The Qt
+ Company a written confirmation that this has occurred."
+
+Except for the modifications specified above, this Appendix carries no change
+to the terms of the Agreement which shall remain in full force.
+
diff --git a/LICENSE.QT-LICENSE-AGREEMENT-4.0 b/LICENSE.QT-LICENSE-AGREEMENT-4.0
deleted file mode 100644
index 74bd6bb4..00000000
--- a/LICENSE.QT-LICENSE-AGREEMENT-4.0
+++ /dev/null
@@ -1,913 +0,0 @@
-QT LICENSE AGREEMENT
-Agreement version 4.0
-
-This License Agreement ("Agreement") is a legal agreement between The Qt
-Company (as defined below) and the Licensee (as defined below) for the license
-of Licensed Software (as defined below). Capitalized terms used herein are
-defined in Section 1.
-
-WHEREAS:
-
-(A). Licensee wishes to use the Licensed Software for the purpose of developing
-and distributing Applications and/or Devices; and
-
-(B). The Qt Company is willing to grant the Licensee a right to use Licensed
-Software for such purpose pursuant to term and conditions of this Agreement.
-
-NOW, THEREFORE, THE PARTIES HEREBY AGREE AS FOLLOWS:
-
-1. DEFINITIONS
-
-"Affiliate" of a Party shall mean an entity (i) which is directly or indirectly
-controlling such Party; (ii) which is under the same direct or indirect
-ownership or control as such Party; or (iii) which is directly or indirectly
-owned or controlled by such Party. For these purposes, an entity shall be
-treated as being controlled by another if that other entity has fifty percent
-(50 %) or more of the votes in such entity, is able to direct its affairs
-and/or to control the composition of its board of directors or equivalent body.
-
-"Applications" shall mean Licensee's software products created using the
-Licensed Software, which may include the Redistributables, or part
-thereof.
-
-"Contractor(s)" shall mean third party consultants, distributors and
-contractors performing services to a Party under applicable contractual
-arrangement.
-
-"Customer(s)" shall mean Licensee's end users to whom Licensee, directly or
-indirectly, distributes copies of the Redistributables.
-
-"Deployment Platforms" shall mean operating systems specified in the License
-Certificate, in which the Redistributables can be distributed pursuant to the
-terms and conditions of this Agreement.
-
-"Designated User(s)" shall mean the employee(s) of Licensee or Licensee's
-Affiliates acting within the scope of their employment or Licensee's
-Contractors acting within the scope of their services for Licensee and on
-behalf of Licensee. Designated Users shall be named in the License Certificate.
-
-"Development License" shall mean the license needed by the Licensee for each
-Designated User to use the Licensed Software under the license grant described
-in Section 3.1 of this Agreement.
-
-"Development Platforms" shall mean those operating systems specified in the
-License Certificate, in which the Licensed Software can be used under the
-Development License, but not distributed in any form or used for any other
-purpose.
-
-"Devices" shall mean hardware devices or products that 1) are manufactured
-and/or distributed by the Licensee or its Affiliates or Contractors, and
-(2)(i) incorporate or integrate the Redistributables or parts thereof; or (ii)
-do not incorporate or integrate the Redistributables at the time of
-distribution, but where, when used by a Customer, the main user interface or
-substantial functionality of such device is provided by Application(s) or
-otherwise depends on the Licensed Software.
-
-"Distribution License(s)" shall mean the license required for distribution of
-Redistributables in connection with Devices pursuant to license grant described
-in Section 3.3 of this Agreement.
-
-"Distribution License Packs" shall mean set of prepaid Distribution Licenses
-for distribution of Redistributables, as defined in The Qt Company's standard
-price list, quote, Purchase Order confirmation or in an appendix hereto,
-as the case may be.
-
-"Intellectual Property Rights" shall mean patents (including utility models),
-design patents, and designs (whether or not capable of registration), chip
-topography rights and other like protection, copyrights, trademarks, service
-marks, trade names, logos or other words or symbols and any other form of
-statutory protection of any kind and applications for any of the foregoing as
-well as any trade secrets.
-
-"License Certificate" shall mean a certificate generated by The Qt Company for
-each Designated User respectively upon them downloading the licensed Software.
-License Certificate will be available under respective Designated User's Qt
-Account at account.qt.io and it will specify the Designated User, the
-Development Platforms, Deployment Platforms and the License Term. The terms of
-the License Certificate are considered part of this Agreement and shall be
-updated from time to time to reflect any agreed changes to the foregoing terms
-relating to Designated User's rights to the Licensed Software.
-
-"License Fee" shall mean the fee charged to the Licensee for rights granted
-under the terms of this Agreement.
-
-"License Term" shall mean the agreed validity period of the Development
-License of the respective Designated User, during which time the
-Designated User is entitled to use the Licensed Software, as set forth in the
-respective License Certificate.
-
-"Licensed Software" shall mean all versions of the
-
-(i) Qt Toolkit (including Qt Essentials, Qt Add-Ons and Value-Add modules) as
-described in http://doc.qt.io/qt-5/qtmodules.html,
-
-(ii) Qt Creator (including Creator IDE tool) as described in
-http://doc.qt.io/qtcreator/index.html,
-
-(iii) Qt 3D Studio as described in http://doc.qt.io/qt3dstudio/index.html, and
-
-as well as corresponding online or electronic documentation, associated media
-and printed materials, including the source code, example programs and the
-documentation, licensed to the Licensee under this Agreement. Licensed Software
-does not include Third Party Software (as defined in Section 4), Open Source
-Qt, or other software products of The Qt Company (for example Qt Safe Renderer
-and Qt for Automation), unless such other software products of The Qt Company
-are separately agreed in writing to be included in scope of the Licensed
-Software.
-
-"Licensee" shall mean the individual or legal entity that is party to this
-Agreement, as identified on the signature page hereof.
-
-"Licensee's Records" shall mean books and records that are likely to contain
-information bearing on Licensee's compliance with this Agreement or the
-payments due to The Qt Company under this Agreement, including, but not limited
-to: assembly logs, sales records and distribution records.
-
-"Modified Software" shall have the meaning as set forth in Section 2.3.
-
-"Online Services" shall mean any services or access to systems made available
-by The Qt Company to the Licensee over the Internet relating to the Licensed
-Software or for the purpose of use by the Licensee of the Licensed Software or
-Support. Use of any such Online Services is discretionary for the Licensee and
-some of them may be subject to additional fees.
-
-"Open Source Qt" shall mean the non-commercial Qt computer software products,
-licensed under the terms of the GNU Lesser General Public License, version
-2.1 or later ("LGPL") or the GNU General Public License, version 2.0 or later
-("GPL"). For clarity, Open Source Qt shall not be provided nor governed under
-this Agreement.
-
-"Party" or "Parties" shall mean Licensee and/or The Qt Company.
-
-"Redistributables" shall mean the portions of the Licensed Software set forth
-in Appendix 1, Section 1 that may be distributed pursuant to the terms of this
-Agreement in object code form only, including any relevant documentation.
-Where relevant, any reference to Licensed Software in this Agreement shall
-include and refer also to Redistributables.
-
-"Renewal Term" shall mean an extension of previous License Term as agreed
-between the Parties.
-
-"Submitted Modified Software" shall have the meaning as set forth in
-Section 2.3.
-
-"Support" shall mean standard developer support that is provided by The Qt
-Company to assist Designated Users in using the Licensed Software in
-accordance with The Qt Company's standard support terms and as further
-defined in Section 8 hereunder.
-
-"Taxes" shall have the meaning set forth in Section 10.5.
-
-"Term" shall have the meaning set forth in Section 12.
-
-"The Qt Company" shall mean:
-
-(i) in the event Licensee is an individual residing in the United States or a
-legal entity incorporated in the United States or having its headquarters in
-the United States, The Qt Company Inc., a Delaware corporation with its office
-at 2350 Mission College Blvd., Suite 1020, Santa Clara, CA 95054, USA.; or
-
-(ii) in the event the Licensee is an individual residing outside of the United
-States or a legal entity incorporated outside of the United States or having
-its registered office outside of the United States, The Qt Company Ltd., a
-Finnish company with its registered office at Bertel Jungin aukio D3A, 02600
-Espoo, Finland.
-
-"Third Party Software " shall have the meaning set forth in Section 4.
-
-"Updates" shall mean a release or version of the Licensed Software containing
-bug fixes, error corrections and other changes that are generally made
-available to users of the Licensed Software that have contracted for Support.
-Updates are generally depicted as a change to the digits following the decimal
-in the Licensed Software version number. The Qt Company shall make Updates
-available to the Licensee under the Support. Updates shall be considered as
-part of the Licensed Software hereunder.
-
-"Upgrades" shall mean a release or version of the Licensed Software containing
-enhancements and new features and are generally depicted as a change to the
-first digit of the Licensed Software version number. In the event Upgrades are
-provided to the Licensee under this Agreement, they shall be considered as
-part of the Licensed Software hereunder.
-
-2. OWNERSHIP
-
-2.1 Ownership of The Qt Company
-
-The Licensed Software is protected by copyright laws and international
-copyright treaties, as well as other intellectual property laws and treaties.
-The Licensed Software is licensed, not sold.
-
-All The Qt Company's Intellectual Property Rights are and shall remain the
-exclusive property of The Qt Company or its licensors respectively.
-
-2.2 Ownership of Licensee
-
-All the Licensee's Intellectual Property Rights are and shall remain the
-exclusive property of the Licensee or its licensors respectively.
-
-All Intellectual Property Rights to the Modified Software, Applications and
-Devices shall remain with the Licensee and no rights thereto shall be granted
-by the Licensee to The Qt Company under this Agreement (except as set forth in
-Section 2.3 below).
-
-2.3 Modified Software
-
-Licensee may create bug-fixes, error corrections, patches or modifications to
-the Licensed Software ("Modified Software"). Such Modified Software may break
-the source or binary compatibility with the Licensed Software (including
-without limitation through changing the application programming interfaces
-("API") or by adding, changing or deleting any variable, method, or class
-signature in the Licensed Software and/or any inter-process protocols, services
-or standards in the Licensed Software libraries). To the extent that Licensee's
-Modified Software so breaks source or binary compatibility with the Licensed
-Software, Licensee acknowledges that The Qt Company's ability to provide
-Support may be prevented or limited and Licensee's ability to make use of
-Updates may be restricted.
-
-Licensee may, at its sole and absolute discretion, choose to submit Modified
-Software to The Qt Company ("Submitted Modified Software") in connection with
-Licensee's Support request, service request or otherwise. In the event Licensee
-does so, then, Licensee hereby grants The Qt Company a sublicensable,
-assignable, irrevocable, perpetual, worldwide, non-exclusive, royalty-free and
-fully paid-up license, under all of Licensee's Intellectual Property Rights, to
-reproduce, adapt, translate, modify, and prepare derivative works of, publicly
-display, publicly perform, sublicense, make available and distribute such
-Submitted Modified Software as The Qt Company sees fit at its free and absolute
-discretion.
-
-3. LICENSES GRANTED
-
-3.1 Development with Licensed Software
-
-Subject to the terms of this Agreement, The Qt Company grants to Licensee a
-personal, worldwide, non-exclusive, non-transferable license, valid for the
-License Term, to use, modify and copy the Licensed Software by Designated Users
-on the Development Platforms for the sole purposes of designing, developing,
-demonstrating and testing Application(s) and/or Devices, and to provide thereto
-related support and other related services to end-user Customers.
-
-Licensee may install copies of the Licensed Software on an unlimited number of
-computers provided that (i) only the Designated Users may use the Licensed
-Software, and (ii) all Designated Users must have a valid Development License
-to use Licensed Software.
-
-Licensee may at any time designate another Designated User to replace a then-
-current Designated User by notifying The Qt Company in writing, provided that
-any Designated User may be replaced only once during any six-month period.
-
-Upon expiry of the initially agreed License Term, the respective License Terms
-shall be automatically extended to one or more Renewal Term(s), unless and
-until either Party notifies the other Party in writing that it does not wish to
-continue the License Term, such notification to be provided to the other Party
-no less than ninety (90) days before expiry of the respective License Term.
-Unless otherwise agreed between the Parties, Renewal Term shall be of equal
-length with the initial Term.
-
-Any such Renewal Term shall be subject to License Fees agreed between the
-Parties or, if no advance agreement exists, subject to The Qt Company's
-standard pricing applicable at the commencement date of any such Renewal Term.
-
-3.2 Distribution of Applications
-
-Subject to the terms of this Agreement, The Qt Company grants to Licensee a
-personal, worldwide, non-exclusive, non-transferable, revocable (for cause
-pursuant to this Agreement) right and license, valid for the Term, to
-
-(i) distribute, by itself or through its Contractors, Redistributables as
-installed, incorporated or integrated into Applications for execution on the
-Deployment Platforms, and
-
-(ii) grant sublicenses to Redistributables, as distributed hereunder, for
-Customers solely for Customer's internal use and to the extent necessary in
-order for the Customers to use the Applications for their respective intended
-purposes.
-
-Right to distribute the Redistributables as part of an Application as provided
-herein is not royalty-bearing but is conditional upon the Licensee having paid
-the agreed Development Licenses from The Qt Company before distributing any
-Redistributables to Customers.
-
-3.3 Distribution of Devices
-
-Subject to the terms of this Agreement, The Qt Company grants to Licensee a
-personal, worldwide, non-exclusive, non-transferable, revocable (for cause
-pursuant to this Agreement) right and license, valid for the Term, to
-
-(i) distribute, by itself or through one or more tiers of Contractors,
-Redistributables as installed, incorporated or integrated, or intended to be
-installed, incorporated or integrated into Devices for execution on the
-Deployment Platforms, and
-
-(ii) grant sublicenses to Redistributables, as distributed hereunder, for
-Customers solely for Customer's internal use and to the extent necessary in
-order for the Customers to use the Devices for their respective intended
-purposes.
-
-Right to distribute the Redistributables with Devices as provided herein is
-conditional upon the Licensee having purchased and paid the appropriate amount
-of Development and Distribution Licenses from The Qt Company before
-distributing any Redistributables to Customers.
-
-3.4 Further Requirements
-
-The licenses granted above in this Section 3 by The Qt Company to Licensee are
-conditional and subject to Licensee's compliance with the following terms:
-
-(i) Licensee shall not remove or alter any copyright, trademark or other
-proprietary rights notice contained in any portion of the Licensed Software;
-
-(ii) Applications must add primary and substantial functionality to the
-Licensed Software;
-
-(iii) Applications may not pass on functionality which in any way makes it
-possible for others to create software with the Licensed Software; provided
-however that Licensee may use the Licensed Software's scripting and QML ("Qt
-Quick") functionality solely in order to enable scripting, themes and styles
-that augment the functionality and appearance of the Application(s) without
-adding primary and substantial functionality to the Application(s);
-
-(iv) Applications must not compete with the Licensed Software;
-
-(v) Licensee shall not use The Qt Company's or any of its suppliers' names,
-logos, or trademarks to market Applications, except that Licensee may use
-"Built with Qt" logo to indicate that Application(s) was developed using the
-Licensed Software;
-
-(vi) Licensee shall not distribute, sublicense or disclose source code of
-Licensed Software to any third party (provided however that Licensee may
-appoint employee(s) of Contractors as Designated Users to use Licensed
-Software pursuant to this Agreement). Such right may be available for the
-Licensee subject to a separate software development kit ("SDK") license
-agreement to be concluded with The Qt Company;
-
-(vii) Licensee shall not grant the Customers a right to (i) make copies of the
-Redistributables except when and to the extent required to use the Applications
-and/or Devices for their intended purpose, (ii) modify the Redistributables or
-create derivative works thereof, (iii) decompile, disassemble or otherwise
-reverse engineer Redistributables, or (iv) redistribute any copy or portion of
-the Redistributables to any third party, except as part of the onward sale of
-the Device on which the Redistributables are installed;
-
-(viii) Licensee shall not and shall cause that its Affiliates or Contractors
-shall not a) in any way combine, incorporate or integrate Licensed Software
-with, or use Licensed Software for creation of, any software created with or
-incorporating Open Source Qt, or b) incorporate or integrate Applications
-into a hardware device or product other than a Device, unless Licensee has
-received an advance written permission from The Qt Company to do so. Absent
-such written permission, any and all distribution by the Licensee during the
-Term of a hardware device or product a) which incorporate or integrate any
-part of Licensed Software or Open Source Qt; or b) where the main user
-interface or substantial functionality is provided by software build with
-Licensed Software or Open Source Qt or otherwise depends on the Licensed
-Software or Open Source Qt, shall be considered as a Device distribution under
-this Agreement and dependent on compliance thereof (including but not limited
-to obligation to pay applicable License Fees for such distribution);
-
-(ix) Licensee shall cause all of its Affiliates and Contractors entitled to
-make use of the licenses granted under this Agreement, to be contractually
-bound to comply with the relevant terms of this Agreement and not to use the
-Licensed Software beyond the terms hereof and for any purposes other than
-operating within the scope of their services for Licensee. Licensee shall be
-responsible for any and all actions and omissions of its Affiliates and
-Contractors relating to the Licensed Software and use thereof (including but
-not limited to payment of all applicable License Fees);
-
-(x) Except when and to the extent explicitly provided in this Section 3,
-Licensee shall not transfer, publish, disclose, display or otherwise make
-available the Licensed Software;
-
-; and
-
-(xi) Licensee shall not attempt or enlist a third party to conduct or attempt
-to conduct any of the above.
-
-Above terms shall not be applicable if and to the extent they conflict with any
-mandatory provisions of any applicable laws.
-
-Any use of Licensed Software beyond the provisions of this Agreement is
-strictly prohibited and requires an additional license from The Qt Company.
-
-4. THIRD PARTY SOFTWARE
-
-The Licensed Software may provide links to third party libraries or code
-(collectively "Third Party Software") to implement various functions. Third
-Party Software does not comprise part of the Licensed Software. In some cases,
-access to Third Party Software may be included in the Licensed Software. Such
-Third Party Software will be listed in the ".../src/3rdparty" source tree
-delivered with the Licensed Software or documented in the Licensed Software, as
-such may be amended from time to time. Licensee acknowledges that use or
-distribution of Third Party Software is in all respects subject to applicable
-license terms of applicable third party right holders.
-
-5. PRE-RELEASE CODE
-
-The Licensed Software may contain pre-release code and functionality marked or
-otherwise stated as "Technology Preview", "Alpha", "Beta" or similar
-designation. Such pre-release code may be present in order to provide
-experimental support for new platforms or preliminary versions of one or more
-new functionalities. The pre-release code may not be at the level of
-performance and compatibility of a final, generally available, product
-offering of the Licensed Software. The pre-release parts of the Licensed
-Software may not operate correctly, may contain errors and may be substantially
-modified by The Qt Company prior to the first commercial product release, if
-any. The Qt Company is under no obligation to make pre-release code
-commercially available, or provide any Support or Updates relating thereto. The
-Qt Company assumes no liability whatsoever regarding any pre-release code, but
-any use thereof is exclusively at Licensee's own risk and expense.
-
-6. LIMITED WARRANTY AND WARRANTY DISCLAIMER
-
-The Qt Company hereby represents and warrants that it has the power and
-authority to grant the rights and licenses granted to Licensee under this
-Agreement.
-
-Except as set forth above, the Licensed Software is licensed to Licensee
-"as is" and Licensee's exclusive remedy and The Qt Company's entire liability
-for errors in the Licensed Software shall be limited, at The Qt Company's
-option, to correction of the error, replacement of the Licensed Software or
-return of the applicable fees paid for the defective Licensed Software for the
-time period during which the License is not able to utilize the Licensed
-Software under the terms of this Agreement.
-
-TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THE QT COMPANY ON BEHALF OF
-ITSELF AND ITS LICENSORS, SUPPLIERS AND AFFILIATES, DISCLAIMS ALL OTHER
-WARRANTIES, EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, ANY IMPLIED
-WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-
-INFRINGEMENT WITH REGARD TO THE LICENSED SOFTWARE. THE QT COMPANY DOES NOT
-WARRANT THAT THE LICENSED SOFTWARE WILL SATISFY LICENSEE'S REQUIREMENTS OR THAT
-IT WILL OPERATE WITHOUT DEFECT OR ERROR OR THAT THE OPERATION THEREOF WILL BE
-UNINTERRUPTED. ALL USE OF AND RELIANCE ON THE LICENSED SOFTWARE IS AT THE SOLE
-RISK OF AND RESPONSIBILITY OF LICENSEE.
-
-7. INDEMNIFICATION AND LIMITATION OF LIABILITY
-
-7.1 Limitation of Liability
-
-EXCEPT FOR (I) CASES OF GROSS NEGLIGENCE OR INTENTIONAL MISCONDUCT, AND (II)
-BREACH OF CONFIDENTIALITY, AND TO THE EXTENT PERMITTED BY APPLICABLE LAW, IN NO
-EVENT SHALL EITHER PARTY BE LIABLE TO THE OTHER PARTY FOR ANY LOSS OF PROFIT,
-LOSS OF DATA, LOSS OF BUSINESS OR GOODWILL OR ANY OTHER INDIRECT, SPECIAL,
-CONSEQUENTIAL, INCIDENTAL OR PUNITIVE COST, DAMAGES OR EXPENSE OF ANY KIND,
-HOWSOEVER ARISING UNDER OR IN CONNECTION WITH THIS AGREEMENT. PARTIES
-SPECIFICALLY AGREE THAT LICENSEE'S OBLIGATION TO PAY LICENSE AND OTHER FEES
-CORRESPONDING TO ACTUAL USAGE OF LICENSED SOFTWARE HEREUNDER SHALL BE
-CONSIDERED AS A DIRECT DAMAGE.
-
-EXCEPT FOR (I) CASES OF GROSS NEGLIGENCE OR INTENTIONAL MISCONDUCT, AND (II)
-BREACH OF CONFIDENTIALITY, AND TO THE EXTENT PERMITTED BY APPLICABLE LAW, IN
-NO EVENT SHALL EITHER PARTY'S TOTAL AGGREGATE LIABILITY UNDER THIS AGREEMENT
-EXCEED THE AGGREGATE LICENSE FEES PAID OR PAYABLE TO THE QT COMPANY FROM
-LICENSEE DURING THE PERIOD OF TWELVE (12) MONTHS IMMEDIATELY PRECEDING THE
-EVENT RESULTING IN SUCH LIABILITY.
-
-THE PROVISIONS OF THIS SECTION 7 ALLOCATE THE RISKS UNDER THIS AGREEMENT
-BETWEEN THE QT COMPANY AND LICENSEE AND THE PARTIES HAVE RELIED UPON THE
-LIMITATIONS SET FORTH HEREIN IN DETERMINING WHETHER TO ENTER INTO THIS AGREEMENT.
-
-7.2 Licensee's Indemnification
-
-Licensee shall indemnify and hold harmless The Qt Company from and against any
-claim, injury, judgment, settlement, loss or expense, including attorneys' fees
-related to: (a) Licensee's misrepresentation in connection with The Qt Company
-or the Licensed Software or breach of this Agreement, (b) the Application or
-Device (except where such cause of liability is solely attributable to the
-Licensed Software).
-
-8. SUPPORT, UPDATES AND ONLINE SERVICES
-
-Upon due payment of the agreed License Fees the Licensee will be eligible to
-receive Support and Updates and to use the Online Services during the License
-Term, provided, however, that in the event the License Term is longer than 36
-months, Support is provided only for the first 12 months, unless the Parties
-specifically otherwise agree.
-
-Unless otherwise decided by The Company at its free and absolute discretion,
-Upgrades will not be included in the Support but may be available subject to
-additional fees.
-
-From time to time The Qt Company may change the Support terms, provided that
-during the respective ongoing License Term the level of Support provided by The
-Qt Company may not be reduced without the consent of the Licensee.
-
-Unless otherwise agreed, The Qt Company shall not be responsible for providing
-any service or support to Customers.
-
-9. CONFIDENTIALITY
-
-Each Party acknowledges that during the Term of this Agreement each Party may
-receive information about the other Party's business, business methods,
-business plans, customers, business relations, technology, and other
-information, including the terms of this Agreement, that is confidential and
-of great value to the other Party, and the value of which would be
-significantly reduced if disclosed to third parties ("Confidential
-Information"). Accordingly, when a Party (the "Receiving Party") receives
-Confidential Information from the other Party (the "Disclosing Party"), the
-Receiving Party shall only disclose such information to employees and
-Contractors on a need to know basis, and shall cause its employees and
-employees of its Affiliates to: (i) maintain any and all Confidential
-Information in confidence; (ii) not disclose the Confidential Information to a
-third party without the Disclosing Party's prior written approval; and (iii)
-not, directly or indirectly, use the Confidential Information for any purpose
-other than for exercising its rights and fulfilling its responsibilities
-pursuant to this Agreement. Each Party shall take reasonable measures to
-protect the Confidential Information of the other Party, which measures shall
-not be less than the measures taken by such Party to protect its own
-confidential and proprietary information.
-
-Obligation of confidentiality shall not apply to information that (i) is or
-becomes generally known to the public through no act or omission of the
-Receiving Party; (ii) was in the Receiving Party's lawful possession prior to
-the disclosure hereunder and was not subject to limitations on disclosure or
-use; (iii) is developed independently by employees or Contractors of the
-Receiving Party or other persons working for the Receiving Party who have not
-had access to the Confidential Information of the Disclosing Party, as proven
-by the written records of the Receiving Party; (iv) is lawfully disclosed to
-the Receiving Party without restrictions, by a third party not under an
-obligation of confidentiality; or (v) the Receiving Party is legally compelled
-to disclose, in which case the Receiving Party shall notify the Disclosing
-Party of such compelled disclosure and assert the privileged and confidential
-nature of the information and cooperate fully with the Disclosing Party to
-limit the scope of disclosure and the dissemination of disclosed Confidential
-Information to the minimum extent necessary.
-
-The obligations under this Section 9 shall continue to remain in force for a
-period of five (5) years after the last disclosure, and, with respect to trade
-secrets, for so long as such trade secrets are protected under applicable trade
-secret laws.
-
-10. FEES, DELIVERY AND PAYMENT
-
-10.1 License Fees
-
-License Fees are described in The Qt Company's standard price list, quote or
-Purchase Order confirmation or in an appendix hereto, as the case may be.
-
-The License Fees shall not be refunded or claimed as a credit in any event or
-for any reason whatsoever.
-
-10.2 Ordering Licenses
-
-Licensee may purchase Development Licenses and Distribution Licenses pursuant
-to agreed pricing terms or, if no specific pricing terms have been agreed upon,
-at The Qt Company's standard pricing terms applicable at the time of purchase.
-
-Licensee shall submit all purchase orders for Development Licenses and
-Distribution Licenses to The Qt Company by email or any other method acceptable
-to The Qt Company (each such order is referred to herein as a "Purchase Order")
-for confirmation, whereupon the Purchase Order shall become binding between the
-Parties.
-
-10.3 Distribution License Packs
-
-Unless otherwise agreed, Distribution Licenses shall be purchased by way of
-Distribution License Packs.
-
-Upon due payment of the ordered Distribution License Pack(s), the Licensee will
-have an account of Distribution Licenses available for installing, bundling or
-integrating (all jointly "installing") the Redistributables with the Devices or
-for otherwise distributing the Redistributables in accordance with this
-Agreement.
-
-Each time Licensee "installs" or distributes a copy of Redistributables, then
-one Distribution License is used, and Licensee's account of available
-Distribution Licenses is decreased accordingly.
-
-Licensee may "install" copies of the Redistributables so long as Licensee has
-Distribution Licenses remaining on its account.
-
-Redistributables will be deemed to have been "installed" into a Device when one
-of the following circumstances shall have occurred: a) the Redistributables
-have been loaded onto the Device and used outside of the Licensee's premises or
-b) the Device has been fully tested and placed into Licensee's inventory
-(or sold) for the first time (i.e., Licensee will not be required to use
-(or pay for) more than one Distribution License for each individual Device,
-e.g. in a situation where a Device is returned to Licensee's inventory after
-delivery to a distributor or sale to a Customer). In addition, if Licensee
-includes a back-up copy of the Redistributables on a CD-ROM or other storage
-medium along with the product, that backup copy of the Redistributables will
-not be deemed to have been "installed" and will not require an additional
-Distribution License.
-
-10.4 Payment Terms
-
-License Fees and any other charges under this Agreement shall be paid by
-Licensee no later than thirty (30) days from the date of the applicable invoice
-from The Qt Company.
-
-The Qt Company will submit an invoice to Licensee after the date of this
-Agreement and/or after The Qt Company receives a Purchase Order from
-Licensee.
-
-A late payment charge of the lower of (a) one percent per month; or (b) the
-interest rate stipulated by applicable law, shall be charged on any unpaid
-balances that remain past due.
-
-The Qt Company shall have the right to suspend, terminate or withhold grants
-of all rights to the Licensed Software hereunder, including but not limited to
-the Developer License, Distribution License, and Support, should Licensee fail
-to make payment in timely fashion.
-
-10.5 Taxes
-
-All License Fees and other charges payable hereunder are gross amounts but
-exclusive of any value added tax, use tax, sales tax and other taxes, duties or
-tariffs ("Taxes"). Such applicable Taxes shall be paid by Licensee, or, where
-applicable, in lieu of payment of such Taxes, Licensee shall provide an
-exemption certificate to The Qt Company and any applicable authority.
-
-11 RECORD-KEEPING AND REPORTING OBLIGATIONS; AUDIT RIGHTS
-
-11.1 Licensee's Record-keeping
-
-Licensee shall at all times maintain accurate and up-to-date written records of
-Licensee's activities related to the use of Licensed Software and distribution
-of Redistributables. The records shall be adequate to determine Licensee's
-compliance with the provisions of this Agreement and to demonstrate the number
-of Designated Users and Redistributables distributed by Licensee. The records
-shall conform to good accounting practices reasonably acceptable to The Qt
-Company.
-
-Licensee shall, within thirty (30) days from receiving The Qt Company's request
-to that effect, deliver to The Qt Company a report on Licensee's usage of
-Licensed Software, such report to copies of Redistributables distributed by
-Licensee during that calendar quarter, and also detailing the number of
-undistributed copies of Redistributables made by Licensee and remaining in its
-account contain information, in sufficient detail, on (i) amount of users
-working with Licensed Software, (ii) copies of Redistributables distributed by
-Licensee during that calendar quarter, (iii) number of undistributed copies of
-Redistributables and corresponding number of unused Distribution Licenses
-remaining on Licensee's account, and (iv) any other information as The Qt
-Company may reasonably require from time to time.
-
-11.2. The Qt Company's Audit Rights
-
-The Qt Company or an independent auditor acting on behalf of The Qt Company's,
-may, upon at least five (5) business days' prior written notice and at its
-expense, audit Licensee with respect to the use of the Redistributables, but
-not more frequently than once during each 6-month period. Such audit may be
-conducted by mail, electronic means or through an in-person visit to Licensee's
-place of business. Any such in-person audit shall be conducted during regular
-business hours at Licensee's facilities and shall not unreasonably interfere
-with Licensee's business activities. The Qt Company or the independent auditor
-acting on behalf of The Qt Company shall be entitled to inspect Licensee's
-Records. All such Licensee's Records and use thereof shall be subject to an
-obligation of confidentiality under this Agreement.
-
-If an audit reveals that Licensee is using the Licensed Software beyond scope
-of the licenses Licensee has paid for, Licensee agrees to immediately pay The
-Qt Company any amounts owed for such unauthorized use.
-
-In addition, in the event the audit reveals a material violation of the terms
-of this Agreement (underpayment of more than 5% of License Fees shall always be
-deemed a material violation for purposes of this section), then the Licensee
-shall pay The Qt Company's reasonable cost of conducting such audit.
-
-12 TERM AND TERMINATION
-
-12.1 Term
-
-This Agreement shall enter into force upon due acceptance by both Parties and
-remain in force for as long as there is any Development License(s) in force
-("Term"), unless and until terminated pursuant to the terms of this Section 12.
-
-12.2 Termination by The Qt Company
-
-The Qt Company shall have the right to terminate this Agreement upon thirty
-(30) days prior written notice if the Licensee is in material breach of any
-obligation of this Agreement and fails to remedy such breach within such notice
-period.
-
-12.3 Mutual Right to Terminate
-
-Either Party shall have the right to terminate this Agreement immediately upon
-written notice in the event that the other Party becomes insolvent, files for
-any form of bankruptcy, makes any assignment for the benefit of creditors, has
-a receiver, administrative receiver or officer appointed over the whole or a
-substantial part of its assets, ceases to conduct business, or an act
-equivalent to any of the above occurs under the laws of the jurisdiction of the
-other Party.
-
-12.4 Parties' Rights and Duties upon Termination
-
-Upon expiry or termination of the Agreement Licensee shall cease and shall
-cause all Designated Users (including those of its Affiliates' and
-Contractors') to cease using the Licensed Software and distribution of the
-Redistributables under this Agreement.
-
-Notwithstanding the above, in the event the Agreement expires or is terminated:
-
-(i) as a result of The Qt Company choosing not to renew the Development
-License(s) as set forth in Section 3.1, then all valid licenses possessed by
-the Licensee at such date shall be extended to be valid in perpetuity under the
-terms of this Agreement and Licensee is entitled to purchase additional
-licenses as set forth in Section 10.2; or
-
-(ii) for reason other than by The Qt Company pursuant to item (i) above or
-pursuant to Section 12.2, then the Licensee is entitled, for a period of six
-(6) months after the effective date of termination, to continue distribution of
-Devices under the Distribution Licenses paid but unused at such effective date
-of termination.
-
-Upon any such termination the Licensee shall destroy or return to The Qt
-Company all copies of the Licensed Software and all related materials and will
-certify the same to The Qt Company upon its request, provided however that
-Licensee may retain and exploit such copies of the Licensed Software as it may
-reasonably require in providing continued support to Customers.
-
-Expiry or termination of this Agreement for any reason whatsoever shall not
-relieve Licensee of its obligation to pay any License Fees accrued or payable
-to The Qt Company prior to the effective date of termination, and Licensee
-shall immediately pay to The Qt Company all such fees upon the effective date
-of termination. Termination of this Agreement shall not affect any rights of
-Customers to continue use of Applications and Devices (and therein incorporated
-Redistributables).
-
-12.5 Extension in case of bankruptcy
-
-In the event The Qt Company is declared bankrupt under a final, non-cancellable
-decision by relevant court of law, and this Agreement is not, at the date of
-expiry of the Development License(s) pursuant to Section 3.1, assigned to
-party, who has assumed The Qt Company's position as a legitimate licensor of
-Licensed Software under this Agreement, then all valid licenses possessed by
-the Licensee at such date of expiry, and which the Licensee has not notified
-for expiry, shall be extended to be valid in perpetuity under the terms of
-this Agreement.
-
-13. GOVERNING LAW AND LEGAL VENUE
-
-In the event this Agreement is in the name of The Qt Company Inc., a Delaware
-Corporation, then:
-
-(i) this Agreement shall be construed and interpreted in accordance with the
-laws of the State of California, USA, excluding its choice of law provisions;
-
-(ii) the United Nations Convention on Contracts for the International Sale of
-Goods will not apply to this Agreement; and
-
-(iii) any dispute, claim or controversy arising out of or relating to this
-Agreement or the breach, termination, enforcement, interpretation or validity
-thereof, including the determination of the scope or applicability of this
-Agreement to arbitrate, shall be determined by arbitration in San Francisco,
-USA, before one arbitrator. The arbitration shall be administered by JAMS
-pursuant to JAMS' Streamlined Arbitration Rules and Procedures. Judgment on the
-Award may be entered in any court having jurisdiction. This Section shall not
-preclude parties from seeking provisional remedies in aid of arbitration from a
-court of appropriate jurisdiction.
-
-In the event this Agreement is in the name of The Qt Company Ltd., a Finnish
-Company, then:
-
-(i) this Agreement shall be construed and interpreted in accordance with the
-laws of Finland, excluding its choice of law provisions;
-
-(ii) the United Nations Convention on Contracts for the International Sale of
-Goods will not apply to this Agreement; and
-
-(iii) any disputes, controversy or claim arising out of or relating to this
-Agreement, or the breach, termination or validity thereof shall be shall be
-finally settled by arbitration in accordance with the Arbitration Rules of
-Finland Chamber of Commerce. The arbitration tribunal shall consist of one (1),
-or if either Party so requires, of three (3), arbitrators. The award shall be
-final and binding and enforceable in any court of competent jurisdiction. The
-arbitration shall be held in Helsinki, Finland and the process shall be
-conducted in the English language. This Section shall not preclude parties from
-seeking provisional remedies in aid of arbitration from a court of appropriate
-jurisdiction.
-
-14. GENERAL PROVISIONS
-
-14.1 No Assignment
-
-Except in the case of a merger or sale of substantially all of its corporate
-assets, Licensee shall not be entitled to assign or transfer all or any of its
-rights, benefits and obligations under this Agreement without the prior written
-consent of The Qt Company, which shall not be unreasonably withheld or delayed.
-The Qt Company shall be entitled to freely assign or transfer any of its
-rights, benefits or obligations under this Agreement.
-
-14.2 No Third Party Representations
-
-Licensee shall make no representations or warranties concerning the Licensed
-Software on behalf of The Qt Company. Any representation or warranty Licensee
-makes or purports to make on The Qt Company's behalf shall be void as to The
-Qt Company.
-
-14.3 Surviving Sections
-
-Any terms and conditions that by their nature or otherwise reasonably should
-survive termination of this Agreement shall so be deemed to survive.
-
-14.4 Entire Agreement
-
-This Agreement, the exhibits hereto, the License Certificate and any applicable
-Purchase Order constitute the complete agreement between the Parties and
-supersedes all prior or contemporaneous discussions, representations, and
-proposals, written or oral, with respect to the subject matters discussed
-herein.
-
-In the event of any conflict or inconsistency between this Agreement and any
-Purchase Order, the terms of this Agreement will prevail over the terms of the
-Purchase Order with respect to such conflict or inconsistency.
-
-Parties specifically acknowledge and agree that this Agreement prevails over
-any click-to-accept or similar agreements the Designated Users may need to
-accept online upon download of the Licensed Software, as may be required by
-The Qt Company's applicable processes relating to Licensed Software.
-
-14.5 Modifications
-
-No modification of this Agreement shall be effective unless contained in a
-writing executed by an authorized representative of each Party. No term or
-condition contained in Licensee's Purchase Order shall apply unless expressly
-accepted by The Qt Company in writing.
-
-14.6 Force Majeure
-
-Except for the payment obligations hereunder, neither Party shall be liable to
-the other for any delay or non-performance of its obligations hereunder in the
-event and to the extent that such delay or non-performance is due to an event
-of act of God, terrorist attack or other similar unforeseeable catastrophic
-event that prevents either Party for fulfilling its obligations under this
-Agreement and which such Party cannot avoid or circumvent ("Force Majeure
-Event"). If the Force Majeure Event results in a delay or non-performance of a
-Party for a period of three (3) months or longer, then either Party shall have
-the right to terminate this Agreement with immediate effect without any
-liability (except for the obligations of payment arising prior to the event of
-Force Majeure) towards the other Party.
-
-14.7 Notices
-
-Any notice given by one Party to the other shall be deemed properly given and
-deemed received if specifically acknowledged by the receiving Party in writing
-or when successfully delivered to the recipient by hand, fax, or special
-courier during normal business hours on a business day to the addresses
-specified for each Party on the signature page. Each communication and document
-made or delivered by one Party to the other Party pursuant to this Agreement
-shall be in the English language.
-
-14.8 Export Control
-
-Licensee acknowledges that the Redistributables may be subject to export
-control restrictions under the applicable laws of respective countries.
-Licensee shall fully comply with all applicable export license restrictions
-and requirements as well as with all laws and regulations relating to the
-Redistributables and exercise of licenses hereunder and shall procure all
-necessary governmental authorizations, including without limitation, all
-necessary licenses, approvals, permissions or consents, where necessary for the
-re-exportation of the Redistributables, Applications and/or Devices.
-
-14.9 No Implied License
-
-There are no implied licenses or other implied rights granted under this
-Agreement, and all rights, save for those expressly granted hereunder, shall
-remain with The Qt Company and its licensors. In addition, no licenses or
-immunities are granted to the combination of the Licensed Software with any
-other software or hardware not delivered by The Qt Company under this Agreement.
-
-14.10 Attorney Fees
-
-The prevailing Party in any action to enforce this Agreement shall be entitled
-to recover its attorney's fees and costs in connection with such action.
-
-14.11 Severability
-
-If any provision of this Agreement shall be adjudged by any court of competent
-jurisdiction to be unenforceable or invalid, that provision shall be limited or
-eliminated to the minimum extent necessary so that this Agreement shall
-otherwise remain in full force and effect and enforceable.
-
-
-IN WITNESS WHEREOF, the Parties hereto, intending to be legally bound hereby,
-have caused this Agreement to be executed by Licensee's authorized
-representative installing the Licensed Software and accepting the terms
-hereof in connection therewith.
-
-
-Appendix 1
-
-1. Parts of the Licensed Software that are permitted for distribution in
-object code form only ("Redistributables") under this Agreement:
-
-- The Licensed Software's Qt Essentials and Qt Add-on libraries
-- The Licensed Software's configuration tool ("qtconfig")
-- The Licensed Software's help tool ("Qt Assistant")
-- The Licensed Software's internationalization tools ("Qt Linguist", "lupdate",
- "lrelease")
-- The Licensed Software's QML ("Qt Quick") launcher tool ("qmlscene" or
- "qmlviewer")
-- The Licensed Software's installer framework
-
-2. Parts of the Licensed Software that are not permitted for distribution
-include, but are not limited to:
-
-- The Licensed Software's source code and header files
-- The Licensed Software's documentation
-- The Licensed Software's documentation generation tool ("qdoc")
-- The Licensed Software's tool for writing makefiles ("qmake")
-- The Licensed Software's Meta Object Compiler ("moc")
-- The Licensed Software's User Interface Compiler ("uic")
-- The Licensed Software's Resource Compiler ("rcc")
-- The Licensed Software's parts of the IDE tool ("Qt Creator")
-- The Licensed Software's parts of the Design tools ("Qt 3D Studio" or
- "Qt Quick Designer")
-- The Licensed Software's Emulator
diff --git a/_clang-format b/_clang-format
index 589baff3..d4f5ffbf 100644
--- a/_clang-format
+++ b/_clang-format
@@ -59,6 +59,9 @@ ContinuationIndentWidth: 8
# No indentation for namespaces.
NamespaceIndentation: None
+# Allow indentation for preprocessing directives (if/ifdef/endif). https://reviews.llvm.org/rL312125
+IndentPPDirectives: AfterHash
+
# Horizontally align arguments after an open bracket.
# The coding style does not specify the following, but this is what gives
# results closest to the existing code.
diff --git a/cmake/ECMOptionalAddSubdirectory.cmake b/cmake/ECMOptionalAddSubdirectory.cmake
new file mode 100644
index 00000000..79a533d4
--- /dev/null
+++ b/cmake/ECMOptionalAddSubdirectory.cmake
@@ -0,0 +1,73 @@
+#.rst:
+# ECMOptionalAddSubdirectory
+# --------------------------
+#
+# Make subdirectories optional.
+#
+# ::
+#
+# ecm_optional_add_subdirectory(<dir>)
+#
+# This behaves like add_subdirectory(), except that it does not complain if the
+# directory does not exist. Additionally, if the directory does exist, it
+# creates an option to allow the user to skip it. The option will be named
+# BUILD_<dir>.
+#
+# This is useful for "meta-projects" that combine several mostly-independent
+# sub-projects.
+#
+# If the CMake variable DISABLE_ALL_OPTIONAL_SUBDIRECTORIES is set to TRUE for
+# the first CMake run on the project, all optional subdirectories will be
+# disabled by default (but can of course be enabled via the respective options).
+# For example, the following will disable all optional subdirectories except the
+# one named "foo":
+#
+# .. code-block:: sh
+#
+# cmake -DDISABLE_ALL_OPTIONAL_SUBDIRECTORIES=TRUE -DBUILD_foo=TRUE myproject
+#
+# Since pre-1.0.0.
+
+#=============================================================================
+# Copyright 2007 Alexander Neundorf <neundorf@kde.org>
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# 1. Redistributions of source code must retain the copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+# 3. The name of the author may not be used to endorse or promote products
+# derived from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+function(ECM_OPTIONAL_ADD_SUBDIRECTORY _dir)
+ get_filename_component(_fullPath ${_dir} ABSOLUTE)
+ if(EXISTS ${_fullPath}/CMakeLists.txt)
+ if(DISABLE_ALL_OPTIONAL_SUBDIRECTORIES)
+ set(_DEFAULT_OPTION_VALUE FALSE)
+ else()
+ set(_DEFAULT_OPTION_VALUE TRUE)
+ endif()
+ if(DISABLE_ALL_OPTIONAL_SUBDIRS AND NOT DEFINED BUILD_${_dir})
+ set(_DEFAULT_OPTION_VALUE FALSE)
+ endif()
+ option(BUILD_${_dir} "Build directory ${_dir}" ${_DEFAULT_OPTION_VALUE})
+ if(BUILD_${_dir})
+ add_subdirectory(${_dir})
+ endif()
+ endif()
+endfunction()
diff --git a/cmake/TopologicalSort.cmake b/cmake/TopologicalSort.cmake
new file mode 100644
index 00000000..b85e7749
--- /dev/null
+++ b/cmake/TopologicalSort.cmake
@@ -0,0 +1,148 @@
+##############################################################################
+# @file TopologicalSort.cmake
+# @brief CMake implementation of topological sorting algorithm.
+#
+# Perform a reverse topological sort on the given LIST.
+#
+# topological_sort(my_list "MY_" "_EDGES")
+#
+# LIST is the name of a variable containing a list of elements to be
+# sorted in reverse topological order. Each element in the list has a
+# set of outgoing edges (for example, those other list elements that
+# it depends on). In the resulting reverse topological ordering
+# (written back into the variable named LIST), an element will come
+# later in the list than any of the elements that can be reached by
+# following its outgoing edges and the outgoing edges of any vertices
+# they target, recursively. Thus, if the edges represent dependencies
+# on build targets, for example, the reverse topological ordering is
+# the order in which one would build those targets.
+#
+# For each element E in this list, the edges for E are contained in
+# the variable named ${PREFIX}${E}${SUFFIX}. If no such variable
+# exists, then it is assumed that there are no edges. For example, if
+# my_list contains a, b, and c, one could provide a dependency graph
+# using the following variables:
+#
+# MY_A_EDGES b
+# MY_B_EDGES
+# MY_C_EDGES a b
+#
+# With the involcation of topological_sort shown above and these
+# variables, the resulting reverse topological ordering will be b, a, c.
+#
+# @verbatim
+##############################################################################
+# Modified from Boost Utilities
+#
+# Copyright 2010 Kitware, Inc.
+##############################################################################
+# Copyright 2007 Douglas Gregor <doug.gregor@gmail.com>
+# Copyright 2007 Troy Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+##############################################################################
+# Boost Software License - Version 1.0 - August 17th, 2003
+#
+# Permission is hereby granted, free of charge, to any person or organization
+# obtaining a copy of the software and accompanying documentation covered by
+# this license (the "Software") to use, reproduce, display, distribute,
+# execute, and transmit the Software, and to prepare derivative works of the
+# Software, and to permit third-parties to whom the Software is furnished to
+# do so, all subject to the following:
+#
+# The copyright notices in the Software and this entire statement, including
+# the above license grant, this restriction and the following disclaimer,
+# must be included in all copies of the Software, in whole or in part, and
+# all derivative works of the Software, unless such copies or derivative
+# works are solely in the form of machine-executable object code generated by
+# a source language processor.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
+# SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
+# FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
+# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+# DEALINGS IN THE SOFTWARE.
+##############################################################################
+# @endverbatim
+#
+# @ingroup CMakeUtilities
+##############################################################################
+
+function(topological_sort LIST PREFIX SUFFIX)
+ # Clear the stack and output variable
+ set(VERTICES "${${LIST}}")
+ set(STACK)
+ set(${LIST})
+
+ # Loop over all of the vertices, starting the topological sort from
+ # each one.
+ foreach(VERTEX ${VERTICES})
+
+ # If we haven't already processed this vertex, start a depth-first
+ # search from where.
+ if (NOT FOUND_${VERTEX})
+ # Push this vertex onto the stack with all of its outgoing edges
+ string(REPLACE ";" " " NEW_ELEMENT
+ "${VERTEX};${${PREFIX}${VERTEX}${SUFFIX}}")
+ list(APPEND STACK ${NEW_ELEMENT})
+
+ # We've now seen this vertex
+ set(FOUND_${VERTEX} TRUE)
+
+ # While the depth-first search stack is not empty
+ list(LENGTH STACK STACK_LENGTH)
+ while(STACK_LENGTH GREATER 0)
+ # Remove the vertex and its remaining out-edges from the top
+ # of the stack
+ list(GET STACK -1 OUT_EDGES)
+ list(REMOVE_AT STACK -1)
+
+ # Get the source vertex and the list of out-edges
+ separate_arguments(OUT_EDGES)
+ list(GET OUT_EDGES 0 SOURCE)
+ list(REMOVE_AT OUT_EDGES 0)
+
+ # While there are still out-edges remaining
+ list(LENGTH OUT_EDGES OUT_DEGREE)
+ while (OUT_DEGREE GREATER 0)
+ # Pull off the first outgoing edge
+ list(GET OUT_EDGES 0 TARGET)
+ list(REMOVE_AT OUT_EDGES 0)
+
+ if (NOT FOUND_${TARGET})
+ # We have not seen the target before, so we will traverse
+ # its outgoing edges before coming back to our
+ # source. This is the key to the depth-first traversal.
+
+ # We've now seen this vertex
+ set(FOUND_${TARGET} TRUE)
+
+ # Push the remaining edges for the current vertex onto the
+ # stack
+ string(REPLACE ";" " " NEW_ELEMENT
+ "${SOURCE};${OUT_EDGES}")
+ list(APPEND STACK ${NEW_ELEMENT})
+
+ # Setup the new source and outgoing edges
+ set(SOURCE ${TARGET})
+ set(OUT_EDGES
+ ${${PREFIX}${SOURCE}${SUFFIX}})
+ endif(NOT FOUND_${TARGET})
+
+ list(LENGTH OUT_EDGES OUT_DEGREE)
+ endwhile (OUT_DEGREE GREATER 0)
+
+ # We have finished all of the outgoing edges for
+ # SOURCE; add it to the resulting list.
+ list(APPEND ${LIST} ${SOURCE})
+
+ # Check the length of the stack
+ list(LENGTH STACK STACK_LENGTH)
+ endwhile(STACK_LENGTH GREATER 0)
+ endif (NOT FOUND_${VERTEX})
+ endforeach(VERTEX)
+
+ set(${LIST} ${${LIST}} PARENT_SCOPE)
+endfunction(topological_sort)
diff --git a/cmake/TopologicalSort_LICENSE.txt b/cmake/TopologicalSort_LICENSE.txt
new file mode 100644
index 00000000..36b7cd93
--- /dev/null
+++ b/cmake/TopologicalSort_LICENSE.txt
@@ -0,0 +1,23 @@
+Boost Software License - Version 1.0 - August 17th, 2003
+
+Permission is hereby granted, free of charge, to any person or organization
+obtaining a copy of the software and accompanying documentation covered by
+this license (the "Software") to use, reproduce, display, distribute,
+execute, and transmit the Software, and to prepare derivative works of the
+Software, and to permit third-parties to whom the Software is furnished to
+do so, all subject to the following:
+
+The copyright notices in the Software and this entire statement, including
+the above license grant, this restriction and the following disclaimer,
+must be included in all copies of the Software, in whole or in part, and
+all derivative works of the Software, unless such copies or derivative
+works are solely in the form of machine-executable object code generated by
+a source language processor.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
+SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
+FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
diff --git a/cmake/qt_attribution.json b/cmake/qt_attribution.json
new file mode 100644
index 00000000..026a9265
--- /dev/null
+++ b/cmake/qt_attribution.json
@@ -0,0 +1,13 @@
+{
+ "Id": "cmake_topological_sort",
+ "Name": "CMake Topological Sort",
+ "QDocModule": "qt",
+ "QtUsage": "Used in the CMake super build project file",
+ "Files": "TopologicalSort.cmake",
+
+ "Description": "CMake implementation of the topological sort algorithm",
+ "License": "Boost Software License - Version 1.0",
+ "LicenseFile": "TopologicalSort_LICENSE.txt",
+ "Copyright": "Copyright 2010 Kitware, Inc."
+}
+
diff --git a/coin/module_config.yaml b/coin/module_config.yaml
index d10eb769..96d20dd4 100644
--- a/coin/module_config.yaml
+++ b/coin/module_config.yaml
@@ -1,10 +1,27 @@
-version: 1
+version: 2
accept_configuration:
condition: property
property: host.os
equals_property: target.os
-build_instructions:
- - type: EnvironmentVariable
- variableName: Dummy
- variableValue: dummy
+instructions:
+ Build:
+ - !include "{{qt/qtbase}}/prepare_building_env.yaml"
+ - type: MakeDirectory
+ directory: .git
+ - type: SetBuildDirectory
+ directory: "{{.SourceDir}}"
+ - type: ChangeDirectory
+ directory: "{{.BuildDir}}"
+ - type: ExecuteCommand
+ command: "{{.Env.ENV_PREFIX}} cmake {{.Env.CONFIGURE_ARGS}} -DCMAKE_INSTALL_PREFIX:PATH={{.InstallDir}} -DBUILD_TESTING=OFF {{.SourceDir}}"
+ executeCommandArgumentSplitingBehavior: SplitAfterVariableSubstitution
+ maxTimeInSeconds: 6000
+ maxTimeBetweenOutput: 1200
+ userMessageOnFailure: >
+ Failed to call cmake.
+
+ Test:
+ - type: EnvironmentVariable
+ variableName: Dummy
+ variableValue: dummy
diff --git a/coin/platform_configs/default.yaml b/coin/platform_configs/default.yaml
index 0e3aefa6..c4be174a 100644
--- a/coin/platform_configs/default.yaml
+++ b/coin/platform_configs/default.yaml
@@ -1,22 +1,40 @@
Version: 2
Configurations:
-
- Template: 'qtci-linux-Ubuntu-18.04-x86_64'
- Compiler: 'GCC'
- Configure arguments: '-DBUILD_EXAMPLES=ON -DFEATURE_developer_build=ON'
--
- Template: 'qtci-linux-openSUSE-15.0-x86_64'
- Compiler: 'ICC_18'
- Configure arguments: '-DBUILD_EXAMPLES=OFF -DBUILD_SHARED_LIBS=OFF'
--
- Template: 'qtci-macos-10.13-x86_64-2'
+ Template: 'qtci-macos-10.14-x86_64'
Compiler: 'Clang'
- Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode10.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.12'
+ Features: ['Packaging']
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_framework=ON -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
-
- Template: 'qtci-windows-10-x86_64-14'
- Compiler: 'MSVC2017'
- Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_TOOLCHAIN_FILE={{.Env.VCPKG_ROOT}}/scripts/buildsystems/vcpkg.cmake'
+ Template: 'qtci-windows-10-x86_64-15'
+ Compiler: 'MSVC2019'
+ Features: ['Packaging']
+ Configure arguments: '-G"Ninja Multi-Config" -DCMAKE_CONFIGURATION_TYPES="RelWithDebInfo;Debug" -DBUILD_EXAMPLES=OFF -DBUILD_WITH_PCH=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\..'
-
Template: 'qtci-linux-RHEL-7.6-x86_64'
Compiler: 'GCC'
- Configure arguments: '-DBUILD_EXAMPLES=OFF'
+ Features: ['Packaging']
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+-
+ Template: 'qtci-linux-RHEL-7.6-x86_64'
+ Target os: 'Android_ANY'
+ Target arch: 'arm64'
+ Compiler: 'GCC'
+ Features: ['Packaging']
+ Target compiler: 'Clang'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+ Environment variables: ['TARGET_CONFIGURE_ARGS=-DBUILD_EXAMPLES=OFF -DCMAKE_TOOLCHAIN_FILE={{.Env.ANDROID_NDK_ROOT}}/build/cmake/android.toolchain.cmake -DANDROID_SDK_ROOT={{.Env.ANDROID_SDK_HOME}} -DANDROID_ABI=arm64-v8a -DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME}}']
+-
+ Template: 'qtci-macos-10.14-x86_64'
+ Target os: 'IOS_ANY'
+ Target arch: 'arm64'
+ Compiler: 'Clang'
+ Features: ['Packaging']
+ Target compiler: 'Clang'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
+ Environment variables: ['TARGET_CONFIGURE_ARGS=-DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=OFF -DCMAKE_SYSTEM_NAME=iOS -DQT_FORCE_SIMULATOR_AND_DEVICE=ON']
+-
+ Template: 'qtci-windows-7-x86-3'
+ Compiler: 'Mingw'
+ Configure arguments: '-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_separate_debug_info=ON -DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x86}}\.. -DFEATURE_system_zlib=OFF'
+ Environment variables: ['Path={{.Env.MINGW810_i686}}\bin;{{.Env.Path}}'] \ No newline at end of file
diff --git a/coin/platform_configs/flashing-wizard.yaml b/coin/platform_configs/flashing-wizard.yaml
new file mode 100644
index 00000000..20f87947
--- /dev/null
+++ b/coin/platform_configs/flashing-wizard.yaml
@@ -0,0 +1,23 @@
+Version: 2
+Module only: True
+Configurations:
+ -
+ Template: 'qtci-windows-10-x86_64-17'
+ Compiler: 'MSVC2019'
+ Features: ['Packaging', 'UseLegacyInstructions']
+ Configure arguments: '-opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -debug-and-release -release -force-debug-info -nomake tests -opengl dynamic -nomake examples -openssl -I %OPENSSL_INCLUDE_x64% -L %OPENSSL_LIB_x64% -no-sql-mysql -plugin-sql-sqlite -plugin-sql-odbc -I %MYSQL_INCLUDE_x64% -L %MYSQL_LIB_x64% -plugin-sql-psql -I %POSTGRESQL_INCLUDE_x64% -L %POSTGRESQL_LIB_x64% -static -no-icu'
+ -
+ Template: 'qtci-windows-10-x86_64-17'
+ Compiler: 'MSVC2019'
+ Target arch: 'x86'
+ Features: ['Packaging', 'UseLegacyInstructions']
+ Configure arguments: '-opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -debug-and-release -release -force-debug-info -nomake tests -nomake examples -opengl dynamic -openssl -I %OPENSSL_INCLUDE_x86% -L %OPENSSL_LIB_x86% -no-sql-mysql -plugin-sql-sqlite -plugin-sql-odbc -I %MYSQL_INCLUDE_x86% -L %MYSQL_LIB_x86% -plugin-sql-psql -I %POSTGRESQL_INCLUDE_x86% -L %POSTGRESQL_LIB_x86% -static -no-icu'
+ -
+ Template: 'qtci-linux-RHEL-7.6-x86_64'
+ Compiler: 'GCC'
+ Features: ['Packaging', 'UseLegacyInstructions']
+ Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -release -nomake tests -nomake examples -no-libudev -no-use-gold-linker -force-debug-info -no-sql-mysql -plugin-sql-psql -plugin-sql-sqlite -qt-libjpeg -qt-libpng -qt-xcb -sysconfdir /etc/xdg -qt-pcre -qt-harfbuzz -openssl -I {{.Env.OPENSSL_HOME}}/include -L {{.Env.OPENSSL_HOME}}/lib QMAKE_LFLAGS_APP+=-s -static -no-icu'
+ -
+ Template: 'qtci-linux-Ubuntu-18.04-x86_64'
+ Compiler: 'GCC'
+ Features: ['TestOnly', 'LicenseCheck', 'UseLegacyInstructions']
diff --git a/coin/platform_configs/meta-boot2qt.yaml b/coin/platform_configs/meta-boot2qt.yaml
new file mode 100644
index 00000000..e1446696
--- /dev/null
+++ b/coin/platform_configs/meta-boot2qt.yaml
@@ -0,0 +1,43 @@
+Version: 2
+Module only: True
+Configurations:
+ -
+ Template: 'qtci-linux-Ubuntu-18.04-x86_64'
+ Compiler: 'Yocto'
+ Target arch: 'TARGET1'
+ -
+ Template: 'qtci-linux-Ubuntu-18.04-x86_64'
+ Compiler: 'Yocto'
+ Target arch: 'TARGET2'
+ -
+ Template: 'qtci-linux-Ubuntu-18.04-x86_64'
+ Compiler: 'Yocto'
+ Target arch: 'TARGET3'
+ -
+ Template: 'qtci-linux-Ubuntu-18.04-x86_64'
+ Compiler: 'Yocto'
+ Target arch: 'TARGET4'
+ -
+ Template: 'qtci-linux-Ubuntu-18.04-x86_64'
+ Compiler: 'Yocto'
+ Target arch: 'TARGET5'
+ -
+ Template: 'qtci-linux-Ubuntu-18.04-x86_64'
+ Compiler: 'Yocto'
+ Target arch: 'TARGET6'
+ -
+ Template: 'qtci-linux-Ubuntu-18.04-x86_64'
+ Compiler: 'Yocto'
+ Target arch: 'TARGET7'
+ -
+ Template: 'qtci-linux-Ubuntu-18.04-x86_64'
+ Compiler: 'Yocto'
+ Target arch: 'TARGET8'
+ -
+ Template: 'qtci-linux-Ubuntu-18.04-x86_64'
+ Compiler: 'Yocto'
+ Target arch: 'TARGET9'
+ -
+ Template: 'qtci-linux-Ubuntu-18.04-x86_64'
+ Compiler: 'Yocto'
+ Target arch: 'TARGET10'
diff --git a/coin/platform_configs/ogl-runtime.yaml b/coin/platform_configs/ogl-runtime.yaml
new file mode 100644
index 00000000..c1ec5493
--- /dev/null
+++ b/coin/platform_configs/ogl-runtime.yaml
@@ -0,0 +1 @@
+qt5.yaml
diff --git a/coin/platform_configs/qdb.yaml b/coin/platform_configs/qdb.yaml
new file mode 100644
index 00000000..eea309b4
--- /dev/null
+++ b/coin/platform_configs/qdb.yaml
@@ -0,0 +1,28 @@
+Version: 2
+Module only: True
+Configurations:
+ -
+ Template: 'qtci-windows-10-x86_64-17'
+ Compiler: 'MSVC2015'
+ Target arch: 'x86'
+ Features: ['Packaging', 'UseLegacyInstructions']
+ Configure arguments: '-opensource -confirm-license -nomake tests -verbose -prefix c:\Users\qt\work\install -debug-and-release -release -force-debug-info -opengl dynamic -static -no-icu -nomake examples -openssl -I %OPENSSL_INCLUDE_x86% -L %OPENSSL_LIB_x86% -plugin-sql-mysql -plugin-sql-sqlite -plugin-sql-odbc -I %MYSQL_INCLUDE_x86% -L %MYSQL_LIB_x86%'
+ -
+ Template: 'qtci-windows-10-x86_64-17'
+ Compiler: 'MSVC2015'
+ Features: ['Packaging', 'UseLegacyInstructions']
+ Configure arguments: '-opensource -confirm-license -nomake tests -verbose -prefix c:\Users\qt\work\install -debug-and-release -release -force-debug-info -opengl dynamic -static -no-icu -nomake examples -openssl -I %OPENSSL_INCLUDE_x64% -L %OPENSSL_LIB_x64% -plugin-sql-mysql -plugin-sql-sqlite -plugin-sql-odbc -I %MYSQL_INCLUDE_x64% -L %MYSQL_LIB_x64%'
+ -
+ Template: 'qtci-linux-RHEL-7.6-x86_64'
+ Compiler: 'GCC'
+ Features: ['Packaging', 'UseLegacyInstructions']
+ Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -release -nomake tests -nomake examples -no-libudev -no-use-gold-linker -force-debug-info -no-sql-mysql -plugin-sql-psql -plugin-sql-sqlite -qt-libjpeg -qt-libpng -qt-xcb -sysconfdir /etc/xdg -qt-pcre -qt-harfbuzz -openssl -I {{.Env.OPENSSL_HOME}}/include -L {{.Env.OPENSSL_HOME}}/lib QMAKE_LFLAGS_APP+=-s -static -no-icu'
+ -
+ Template: 'qtci-macos-10.13-x86_64-2'
+ Compiler: 'Clang'
+ Features: ['Packaging']
+ Configure arguments: '-opensource -confirm-license -verbose -prefix /Users/qt/work/install -debug-and-release -release -nomake tests -nomake examples -no-sql-mysql -plugin-sql-psql -plugin-sql-sqlite -sysconfdir /Library/Preferences/Qt -I/usr/local/opt/openssl/include -static -no-icu'
+ -
+ Template: 'qtci-linux-Ubuntu-18.04-x86_64'
+ Compiler: 'GCC'
+ Features: ['TestOnly', 'LicenseCheck', 'UseLegacyInstructions']
diff --git a/coin/platform_configs/qt3d-runtime.yaml b/coin/platform_configs/qt3d-runtime.yaml
new file mode 100644
index 00000000..c1ec5493
--- /dev/null
+++ b/coin/platform_configs/qt3d-runtime.yaml
@@ -0,0 +1 @@
+qt5.yaml
diff --git a/coin/platform_configs/qt3d.yaml b/coin/platform_configs/qt3d.yaml
new file mode 100644
index 00000000..cf9d61c8
--- /dev/null
+++ b/coin/platform_configs/qt3d.yaml
@@ -0,0 +1,43 @@
+Version: 2
+Configurations:
+-
+ Template: 'qtci-linux-Ubuntu-18.04-x86_64'
+ Compiler: 'GCC'
+ Configure arguments: '-DBUILD_EXAMPLES=ON -DFEATURE_developer_build=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+-
+ Template: 'qtci-linux-openSUSE-15.1-x86_64'
+ Compiler: 'GCC'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DBUILD_SHARED_LIBS=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+-
+ Template: 'qtci-macos-10.14-x86_64'
+ Compiler: 'Clang'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_framework=ON -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
+-
+ Template: 'qtci-windows-10-x86_64-15'
+ Compiler: 'MSVC2019'
+ Configure arguments: '-G"Ninja Multi-Config" -DCMAKE_CONFIGURATION_TYPES="RelWithDebInfo;Debug" -DBUILD_EXAMPLES=OFF -DBUILD_WITH_PCH=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\..'
+-
+ Template: 'qtci-linux-RHEL-7.6-x86_64'
+ Compiler: 'GCC'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+-
+ Template: 'qtci-linux-RHEL-7.6-x86_64'
+ Target os: 'Android_ANY'
+ Target arch: 'arm64'
+ Compiler: 'GCC'
+ Target compiler: 'Clang'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+ Environment variables: ['TARGET_CONFIGURE_ARGS=-DBUILD_EXAMPLES=OFF -DCMAKE_TOOLCHAIN_FILE={{.Env.ANDROID_NDK_ROOT}}/build/cmake/android.toolchain.cmake -DANDROID_SDK_ROOT={{.Env.ANDROID_SDK_HOME}} -DANDROID_ABI=arm64-v8a -DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME}}']
+-
+ Template: 'qtci-macos-10.14-x86_64'
+ Target os: 'IOS_ANY'
+ Target arch: 'arm64'
+ Compiler: 'Clang'
+ Target compiler: 'Clang'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
+ Environment variables: ['TARGET_CONFIGURE_ARGS=-DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=OFF -DCMAKE_SYSTEM_NAME=iOS -DQT_FORCE_SIMULATOR_AND_DEVICE=ON']
+-
+ Template: 'qtci-windows-7-x86-3'
+ Compiler: 'Mingw'
+ Configure arguments: '-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_separate_debug_info=ON -DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x86}}\.. -DFEATURE_system_zlib=OFF'
+ Environment variables: ['Path={{.Env.MINGW810_i686}}\bin;{{.Env.Path}}']
diff --git a/coin/platform_configs/qt5.yaml b/coin/platform_configs/qt5.yaml
new file mode 100644
index 00000000..665d101c
--- /dev/null
+++ b/coin/platform_configs/qt5.yaml
@@ -0,0 +1,6 @@
+Version: 2
+Configurations:
+-
+ Template: 'qtci-linux-Ubuntu-18.04-x86_64'
+ Compiler: 'GCC'
+ Features: ['TestOnly', 'LicenseCheck', 'UseLegacyInstructions']
diff --git a/coin/platform_configs/qt5compat.yaml b/coin/platform_configs/qt5compat.yaml
new file mode 100644
index 00000000..cf9d61c8
--- /dev/null
+++ b/coin/platform_configs/qt5compat.yaml
@@ -0,0 +1,43 @@
+Version: 2
+Configurations:
+-
+ Template: 'qtci-linux-Ubuntu-18.04-x86_64'
+ Compiler: 'GCC'
+ Configure arguments: '-DBUILD_EXAMPLES=ON -DFEATURE_developer_build=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+-
+ Template: 'qtci-linux-openSUSE-15.1-x86_64'
+ Compiler: 'GCC'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DBUILD_SHARED_LIBS=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+-
+ Template: 'qtci-macos-10.14-x86_64'
+ Compiler: 'Clang'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_framework=ON -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
+-
+ Template: 'qtci-windows-10-x86_64-15'
+ Compiler: 'MSVC2019'
+ Configure arguments: '-G"Ninja Multi-Config" -DCMAKE_CONFIGURATION_TYPES="RelWithDebInfo;Debug" -DBUILD_EXAMPLES=OFF -DBUILD_WITH_PCH=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\..'
+-
+ Template: 'qtci-linux-RHEL-7.6-x86_64'
+ Compiler: 'GCC'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+-
+ Template: 'qtci-linux-RHEL-7.6-x86_64'
+ Target os: 'Android_ANY'
+ Target arch: 'arm64'
+ Compiler: 'GCC'
+ Target compiler: 'Clang'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+ Environment variables: ['TARGET_CONFIGURE_ARGS=-DBUILD_EXAMPLES=OFF -DCMAKE_TOOLCHAIN_FILE={{.Env.ANDROID_NDK_ROOT}}/build/cmake/android.toolchain.cmake -DANDROID_SDK_ROOT={{.Env.ANDROID_SDK_HOME}} -DANDROID_ABI=arm64-v8a -DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME}}']
+-
+ Template: 'qtci-macos-10.14-x86_64'
+ Target os: 'IOS_ANY'
+ Target arch: 'arm64'
+ Compiler: 'Clang'
+ Target compiler: 'Clang'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
+ Environment variables: ['TARGET_CONFIGURE_ARGS=-DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=OFF -DCMAKE_SYSTEM_NAME=iOS -DQT_FORCE_SIMULATOR_AND_DEVICE=ON']
+-
+ Template: 'qtci-windows-7-x86-3'
+ Compiler: 'Mingw'
+ Configure arguments: '-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_separate_debug_info=ON -DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x86}}\.. -DFEATURE_system_zlib=OFF'
+ Environment variables: ['Path={{.Env.MINGW810_i686}}\bin;{{.Env.Path}}']
diff --git a/coin/platform_configs/qtandroidextras.yaml b/coin/platform_configs/qtandroidextras.yaml
new file mode 100644
index 00000000..cf9d61c8
--- /dev/null
+++ b/coin/platform_configs/qtandroidextras.yaml
@@ -0,0 +1,43 @@
+Version: 2
+Configurations:
+-
+ Template: 'qtci-linux-Ubuntu-18.04-x86_64'
+ Compiler: 'GCC'
+ Configure arguments: '-DBUILD_EXAMPLES=ON -DFEATURE_developer_build=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+-
+ Template: 'qtci-linux-openSUSE-15.1-x86_64'
+ Compiler: 'GCC'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DBUILD_SHARED_LIBS=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+-
+ Template: 'qtci-macos-10.14-x86_64'
+ Compiler: 'Clang'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_framework=ON -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
+-
+ Template: 'qtci-windows-10-x86_64-15'
+ Compiler: 'MSVC2019'
+ Configure arguments: '-G"Ninja Multi-Config" -DCMAKE_CONFIGURATION_TYPES="RelWithDebInfo;Debug" -DBUILD_EXAMPLES=OFF -DBUILD_WITH_PCH=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\..'
+-
+ Template: 'qtci-linux-RHEL-7.6-x86_64'
+ Compiler: 'GCC'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+-
+ Template: 'qtci-linux-RHEL-7.6-x86_64'
+ Target os: 'Android_ANY'
+ Target arch: 'arm64'
+ Compiler: 'GCC'
+ Target compiler: 'Clang'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+ Environment variables: ['TARGET_CONFIGURE_ARGS=-DBUILD_EXAMPLES=OFF -DCMAKE_TOOLCHAIN_FILE={{.Env.ANDROID_NDK_ROOT}}/build/cmake/android.toolchain.cmake -DANDROID_SDK_ROOT={{.Env.ANDROID_SDK_HOME}} -DANDROID_ABI=arm64-v8a -DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME}}']
+-
+ Template: 'qtci-macos-10.14-x86_64'
+ Target os: 'IOS_ANY'
+ Target arch: 'arm64'
+ Compiler: 'Clang'
+ Target compiler: 'Clang'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
+ Environment variables: ['TARGET_CONFIGURE_ARGS=-DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=OFF -DCMAKE_SYSTEM_NAME=iOS -DQT_FORCE_SIMULATOR_AND_DEVICE=ON']
+-
+ Template: 'qtci-windows-7-x86-3'
+ Compiler: 'Mingw'
+ Configure arguments: '-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_separate_debug_info=ON -DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x86}}\.. -DFEATURE_system_zlib=OFF'
+ Environment variables: ['Path={{.Env.MINGW810_i686}}\bin;{{.Env.Path}}']
diff --git a/coin/platform_configs/qtbase.yaml b/coin/platform_configs/qtbase.yaml
new file mode 100644
index 00000000..59c84e4f
--- /dev/null
+++ b/coin/platform_configs/qtbase.yaml
@@ -0,0 +1,62 @@
+Version: 2
+Configurations:
+-
+ Template: 'qtci-linux-Ubuntu-18.04-x86_64'
+ Target os: 'QEMU'
+ Target arch: 'armv7'
+ Compiler: 'GCC'
+ Features: ['DisableTests']
+ Environment variables: ['TARGET_CONFIGURE_ARGS=-DBUILD_EXAMPLES=OFF -DCMAKE_TOOLCHAIN_FILE={{.Env.QEMUARMV7_TOOLCHAIN_SYSROOT}}/../x86_64-pokysdk-linux/usr/share/cmake/OEToolchainConfig.cmake -DQT_FEATURE_system_harfbuzz=OFF', 'QT_YOCTO_ENVSETUP={{.Env.QEMUARMV7_TOOLCHAIN_SYSROOT}}/../../environment-setup-armv7at2hf-neon-poky-linux-gnueabi', "QT_CMAKE_DIR=/opt/cmake-3.17.2/bin"]
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+-
+ Template: 'qtci-linux-openSUSE-15.1-x86_64'
+ Target os: 'WebAssembly'
+ Compiler: 'GCC'
+ Features: ['DisableTests', 'UseLegacyInstructions']
+ Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -release -developer-build -static -nomake tests -nomake examples -no-pch -no-feature-thread -no-dbus -no-headersclean -no-ssl -no-warnings-are-errors -xplatform wasm-emscripten'
+-
+ Template: 'qtci-macos-10.14-x86_64'
+ Compiler: 'Clang'
+ Features: ['UseLegacyInstructions']
+ Configure arguments: '-opensource -confirm-license -verbose -prefix /Users/qt/work/install -developer-build -release -no-pch -no-framework -qtnamespace TestNamespace -nomake tests -nomake examples -I/usr/local/opt/openssl/include'
+-
+ Template: 'qtci-linux-Ubuntu-18.04-x86_64'
+ Compiler: 'GCC'
+ Configure arguments: '-DBUILD_EXAMPLES=ON -DFEATURE_developer_build=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+-
+ Template: 'qtci-linux-openSUSE-15.1-x86_64'
+ Compiler: 'GCC'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DBUILD_SHARED_LIBS=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+-
+ Template: 'qtci-macos-10.14-x86_64'
+ Compiler: 'Clang'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_framework=ON -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
+-
+ Template: 'qtci-windows-10-x86_64-15'
+ Compiler: 'MSVC2019'
+ Configure arguments: '-G"Ninja Multi-Config" -DCMAKE_CONFIGURATION_TYPES="RelWithDebInfo;Debug" -DBUILD_EXAMPLES=OFF -DBUILD_WITH_PCH=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\..'
+-
+ Template: 'qtci-linux-RHEL-7.6-x86_64'
+ Compiler: 'GCC'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+-
+ Template: 'qtci-linux-RHEL-7.6-x86_64'
+ Target os: 'Android_ANY'
+ Target arch: 'arm64'
+ Compiler: 'GCC'
+ Target compiler: 'Clang'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+ Environment variables: ['TARGET_CONFIGURE_ARGS=-DBUILD_EXAMPLES=OFF -DCMAKE_TOOLCHAIN_FILE={{.Env.ANDROID_NDK_ROOT}}/build/cmake/android.toolchain.cmake -DANDROID_SDK_ROOT={{.Env.ANDROID_SDK_HOME}} -DANDROID_ABI=arm64-v8a -DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME}}']
+-
+ Template: 'qtci-macos-10.14-x86_64'
+ Target os: 'IOS_ANY'
+ Target arch: 'arm64'
+ Compiler: 'Clang'
+ Target compiler: 'Clang'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
+ Environment variables: ['TARGET_CONFIGURE_ARGS=-DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=OFF -DCMAKE_SYSTEM_NAME=iOS -DQT_FORCE_SIMULATOR_AND_DEVICE=ON']
+-
+ Template: 'qtci-windows-7-x86-3'
+ Compiler: 'Mingw'
+ Configure arguments: '-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_separate_debug_info=ON -DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x86}}\.. -DFEATURE_system_zlib=OFF'
+ Environment variables: ['Path={{.Env.MINGW810_i686}}\bin;{{.Env.Path}}']
diff --git a/coin/platform_configs/qtcoap.yaml b/coin/platform_configs/qtcoap.yaml
new file mode 100644
index 00000000..cf9d61c8
--- /dev/null
+++ b/coin/platform_configs/qtcoap.yaml
@@ -0,0 +1,43 @@
+Version: 2
+Configurations:
+-
+ Template: 'qtci-linux-Ubuntu-18.04-x86_64'
+ Compiler: 'GCC'
+ Configure arguments: '-DBUILD_EXAMPLES=ON -DFEATURE_developer_build=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+-
+ Template: 'qtci-linux-openSUSE-15.1-x86_64'
+ Compiler: 'GCC'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DBUILD_SHARED_LIBS=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+-
+ Template: 'qtci-macos-10.14-x86_64'
+ Compiler: 'Clang'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_framework=ON -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
+-
+ Template: 'qtci-windows-10-x86_64-15'
+ Compiler: 'MSVC2019'
+ Configure arguments: '-G"Ninja Multi-Config" -DCMAKE_CONFIGURATION_TYPES="RelWithDebInfo;Debug" -DBUILD_EXAMPLES=OFF -DBUILD_WITH_PCH=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\..'
+-
+ Template: 'qtci-linux-RHEL-7.6-x86_64'
+ Compiler: 'GCC'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+-
+ Template: 'qtci-linux-RHEL-7.6-x86_64'
+ Target os: 'Android_ANY'
+ Target arch: 'arm64'
+ Compiler: 'GCC'
+ Target compiler: 'Clang'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+ Environment variables: ['TARGET_CONFIGURE_ARGS=-DBUILD_EXAMPLES=OFF -DCMAKE_TOOLCHAIN_FILE={{.Env.ANDROID_NDK_ROOT}}/build/cmake/android.toolchain.cmake -DANDROID_SDK_ROOT={{.Env.ANDROID_SDK_HOME}} -DANDROID_ABI=arm64-v8a -DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME}}']
+-
+ Template: 'qtci-macos-10.14-x86_64'
+ Target os: 'IOS_ANY'
+ Target arch: 'arm64'
+ Compiler: 'Clang'
+ Target compiler: 'Clang'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
+ Environment variables: ['TARGET_CONFIGURE_ARGS=-DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=OFF -DCMAKE_SYSTEM_NAME=iOS -DQT_FORCE_SIMULATOR_AND_DEVICE=ON']
+-
+ Template: 'qtci-windows-7-x86-3'
+ Compiler: 'Mingw'
+ Configure arguments: '-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_separate_debug_info=ON -DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x86}}\.. -DFEATURE_system_zlib=OFF'
+ Environment variables: ['Path={{.Env.MINGW810_i686}}\bin;{{.Env.Path}}']
diff --git a/coin/platform_configs/qtdeclarative.yaml b/coin/platform_configs/qtdeclarative.yaml
new file mode 100644
index 00000000..c6ea5fdc
--- /dev/null
+++ b/coin/platform_configs/qtdeclarative.yaml
@@ -0,0 +1,48 @@
+Version: 2
+Configurations:
+-
+ Template: 'qtci-macos-10.14-x86_64'
+ Compiler: 'Clang'
+ Features: ['UseLegacyInstructions']
+ Configure arguments: '-opensource -confirm-license -verbose -prefix /Users/qt/work/install -developer-build -release -no-pch -no-framework -qtnamespace TestNamespace -nomake tests -nomake examples -I/usr/local/opt/openssl/include'
+-
+ Template: 'qtci-linux-Ubuntu-18.04-x86_64'
+ Compiler: 'GCC'
+ Configure arguments: '-DBUILD_EXAMPLES=ON -DFEATURE_developer_build=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+-
+ Template: 'qtci-linux-openSUSE-15.1-x86_64'
+ Compiler: 'GCC'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DBUILD_SHARED_LIBS=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+-
+ Template: 'qtci-macos-10.14-x86_64'
+ Compiler: 'Clang'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_framework=ON -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
+-
+ Template: 'qtci-windows-10-x86_64-15'
+ Compiler: 'MSVC2019'
+ Configure arguments: '-G"Ninja Multi-Config" -DCMAKE_CONFIGURATION_TYPES="RelWithDebInfo;Debug" -DBUILD_EXAMPLES=OFF -DBUILD_WITH_PCH=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\..'
+-
+ Template: 'qtci-linux-RHEL-7.6-x86_64'
+ Compiler: 'GCC'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+-
+ Template: 'qtci-linux-RHEL-7.6-x86_64'
+ Target os: 'Android_ANY'
+ Target arch: 'arm64'
+ Compiler: 'GCC'
+ Target compiler: 'Clang'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+ Environment variables: ['TARGET_CONFIGURE_ARGS=-DBUILD_EXAMPLES=OFF -DCMAKE_TOOLCHAIN_FILE={{.Env.ANDROID_NDK_ROOT}}/build/cmake/android.toolchain.cmake -DANDROID_SDK_ROOT={{.Env.ANDROID_SDK_HOME}} -DANDROID_ABI=arm64-v8a -DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME}}']
+-
+ Template: 'qtci-macos-10.14-x86_64'
+ Target os: 'IOS_ANY'
+ Target arch: 'arm64'
+ Compiler: 'Clang'
+ Target compiler: 'Clang'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
+ Environment variables: ['TARGET_CONFIGURE_ARGS=-DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=OFF -DCMAKE_SYSTEM_NAME=iOS -DQT_FORCE_SIMULATOR_AND_DEVICE=ON']
+-
+ Template: 'qtci-windows-7-x86-3'
+ Compiler: 'Mingw'
+ Configure arguments: '-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_separate_debug_info=ON -DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x86}}\.. -DFEATURE_system_zlib=OFF'
+ Environment variables: ['Path={{.Env.MINGW810_i686}}\bin;{{.Env.Path}}']
diff --git a/coin/platform_configs/qtdoc.yaml b/coin/platform_configs/qtdoc.yaml
new file mode 100644
index 00000000..cf9d61c8
--- /dev/null
+++ b/coin/platform_configs/qtdoc.yaml
@@ -0,0 +1,43 @@
+Version: 2
+Configurations:
+-
+ Template: 'qtci-linux-Ubuntu-18.04-x86_64'
+ Compiler: 'GCC'
+ Configure arguments: '-DBUILD_EXAMPLES=ON -DFEATURE_developer_build=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+-
+ Template: 'qtci-linux-openSUSE-15.1-x86_64'
+ Compiler: 'GCC'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DBUILD_SHARED_LIBS=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+-
+ Template: 'qtci-macos-10.14-x86_64'
+ Compiler: 'Clang'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_framework=ON -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
+-
+ Template: 'qtci-windows-10-x86_64-15'
+ Compiler: 'MSVC2019'
+ Configure arguments: '-G"Ninja Multi-Config" -DCMAKE_CONFIGURATION_TYPES="RelWithDebInfo;Debug" -DBUILD_EXAMPLES=OFF -DBUILD_WITH_PCH=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\..'
+-
+ Template: 'qtci-linux-RHEL-7.6-x86_64'
+ Compiler: 'GCC'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+-
+ Template: 'qtci-linux-RHEL-7.6-x86_64'
+ Target os: 'Android_ANY'
+ Target arch: 'arm64'
+ Compiler: 'GCC'
+ Target compiler: 'Clang'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+ Environment variables: ['TARGET_CONFIGURE_ARGS=-DBUILD_EXAMPLES=OFF -DCMAKE_TOOLCHAIN_FILE={{.Env.ANDROID_NDK_ROOT}}/build/cmake/android.toolchain.cmake -DANDROID_SDK_ROOT={{.Env.ANDROID_SDK_HOME}} -DANDROID_ABI=arm64-v8a -DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME}}']
+-
+ Template: 'qtci-macos-10.14-x86_64'
+ Target os: 'IOS_ANY'
+ Target arch: 'arm64'
+ Compiler: 'Clang'
+ Target compiler: 'Clang'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
+ Environment variables: ['TARGET_CONFIGURE_ARGS=-DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=OFF -DCMAKE_SYSTEM_NAME=iOS -DQT_FORCE_SIMULATOR_AND_DEVICE=ON']
+-
+ Template: 'qtci-windows-7-x86-3'
+ Compiler: 'Mingw'
+ Configure arguments: '-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_separate_debug_info=ON -DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x86}}\.. -DFEATURE_system_zlib=OFF'
+ Environment variables: ['Path={{.Env.MINGW810_i686}}\bin;{{.Env.Path}}']
diff --git a/coin/platform_configs/qtgraphicaleffects.yaml b/coin/platform_configs/qtgraphicaleffects.yaml
new file mode 100644
index 00000000..cf9d61c8
--- /dev/null
+++ b/coin/platform_configs/qtgraphicaleffects.yaml
@@ -0,0 +1,43 @@
+Version: 2
+Configurations:
+-
+ Template: 'qtci-linux-Ubuntu-18.04-x86_64'
+ Compiler: 'GCC'
+ Configure arguments: '-DBUILD_EXAMPLES=ON -DFEATURE_developer_build=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+-
+ Template: 'qtci-linux-openSUSE-15.1-x86_64'
+ Compiler: 'GCC'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DBUILD_SHARED_LIBS=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+-
+ Template: 'qtci-macos-10.14-x86_64'
+ Compiler: 'Clang'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_framework=ON -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
+-
+ Template: 'qtci-windows-10-x86_64-15'
+ Compiler: 'MSVC2019'
+ Configure arguments: '-G"Ninja Multi-Config" -DCMAKE_CONFIGURATION_TYPES="RelWithDebInfo;Debug" -DBUILD_EXAMPLES=OFF -DBUILD_WITH_PCH=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\..'
+-
+ Template: 'qtci-linux-RHEL-7.6-x86_64'
+ Compiler: 'GCC'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+-
+ Template: 'qtci-linux-RHEL-7.6-x86_64'
+ Target os: 'Android_ANY'
+ Target arch: 'arm64'
+ Compiler: 'GCC'
+ Target compiler: 'Clang'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+ Environment variables: ['TARGET_CONFIGURE_ARGS=-DBUILD_EXAMPLES=OFF -DCMAKE_TOOLCHAIN_FILE={{.Env.ANDROID_NDK_ROOT}}/build/cmake/android.toolchain.cmake -DANDROID_SDK_ROOT={{.Env.ANDROID_SDK_HOME}} -DANDROID_ABI=arm64-v8a -DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME}}']
+-
+ Template: 'qtci-macos-10.14-x86_64'
+ Target os: 'IOS_ANY'
+ Target arch: 'arm64'
+ Compiler: 'Clang'
+ Target compiler: 'Clang'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
+ Environment variables: ['TARGET_CONFIGURE_ARGS=-DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=OFF -DCMAKE_SYSTEM_NAME=iOS -DQT_FORCE_SIMULATOR_AND_DEVICE=ON']
+-
+ Template: 'qtci-windows-7-x86-3'
+ Compiler: 'Mingw'
+ Configure arguments: '-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_separate_debug_info=ON -DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x86}}\.. -DFEATURE_system_zlib=OFF'
+ Environment variables: ['Path={{.Env.MINGW810_i686}}\bin;{{.Env.Path}}']
diff --git a/coin/platform_configs/qtimageformats.yaml b/coin/platform_configs/qtimageformats.yaml
new file mode 100644
index 00000000..cf9d61c8
--- /dev/null
+++ b/coin/platform_configs/qtimageformats.yaml
@@ -0,0 +1,43 @@
+Version: 2
+Configurations:
+-
+ Template: 'qtci-linux-Ubuntu-18.04-x86_64'
+ Compiler: 'GCC'
+ Configure arguments: '-DBUILD_EXAMPLES=ON -DFEATURE_developer_build=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+-
+ Template: 'qtci-linux-openSUSE-15.1-x86_64'
+ Compiler: 'GCC'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DBUILD_SHARED_LIBS=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+-
+ Template: 'qtci-macos-10.14-x86_64'
+ Compiler: 'Clang'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_framework=ON -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
+-
+ Template: 'qtci-windows-10-x86_64-15'
+ Compiler: 'MSVC2019'
+ Configure arguments: '-G"Ninja Multi-Config" -DCMAKE_CONFIGURATION_TYPES="RelWithDebInfo;Debug" -DBUILD_EXAMPLES=OFF -DBUILD_WITH_PCH=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\..'
+-
+ Template: 'qtci-linux-RHEL-7.6-x86_64'
+ Compiler: 'GCC'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+-
+ Template: 'qtci-linux-RHEL-7.6-x86_64'
+ Target os: 'Android_ANY'
+ Target arch: 'arm64'
+ Compiler: 'GCC'
+ Target compiler: 'Clang'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+ Environment variables: ['TARGET_CONFIGURE_ARGS=-DBUILD_EXAMPLES=OFF -DCMAKE_TOOLCHAIN_FILE={{.Env.ANDROID_NDK_ROOT}}/build/cmake/android.toolchain.cmake -DANDROID_SDK_ROOT={{.Env.ANDROID_SDK_HOME}} -DANDROID_ABI=arm64-v8a -DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME}}']
+-
+ Template: 'qtci-macos-10.14-x86_64'
+ Target os: 'IOS_ANY'
+ Target arch: 'arm64'
+ Compiler: 'Clang'
+ Target compiler: 'Clang'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
+ Environment variables: ['TARGET_CONFIGURE_ARGS=-DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=OFF -DCMAKE_SYSTEM_NAME=iOS -DQT_FORCE_SIMULATOR_AND_DEVICE=ON']
+-
+ Template: 'qtci-windows-7-x86-3'
+ Compiler: 'Mingw'
+ Configure arguments: '-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_separate_debug_info=ON -DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x86}}\.. -DFEATURE_system_zlib=OFF'
+ Environment variables: ['Path={{.Env.MINGW810_i686}}\bin;{{.Env.Path}}']
diff --git a/coin/platform_configs/qtnetworkauth.yaml b/coin/platform_configs/qtnetworkauth.yaml
new file mode 100644
index 00000000..cf9d61c8
--- /dev/null
+++ b/coin/platform_configs/qtnetworkauth.yaml
@@ -0,0 +1,43 @@
+Version: 2
+Configurations:
+-
+ Template: 'qtci-linux-Ubuntu-18.04-x86_64'
+ Compiler: 'GCC'
+ Configure arguments: '-DBUILD_EXAMPLES=ON -DFEATURE_developer_build=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+-
+ Template: 'qtci-linux-openSUSE-15.1-x86_64'
+ Compiler: 'GCC'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DBUILD_SHARED_LIBS=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+-
+ Template: 'qtci-macos-10.14-x86_64'
+ Compiler: 'Clang'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_framework=ON -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
+-
+ Template: 'qtci-windows-10-x86_64-15'
+ Compiler: 'MSVC2019'
+ Configure arguments: '-G"Ninja Multi-Config" -DCMAKE_CONFIGURATION_TYPES="RelWithDebInfo;Debug" -DBUILD_EXAMPLES=OFF -DBUILD_WITH_PCH=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\..'
+-
+ Template: 'qtci-linux-RHEL-7.6-x86_64'
+ Compiler: 'GCC'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+-
+ Template: 'qtci-linux-RHEL-7.6-x86_64'
+ Target os: 'Android_ANY'
+ Target arch: 'arm64'
+ Compiler: 'GCC'
+ Target compiler: 'Clang'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+ Environment variables: ['TARGET_CONFIGURE_ARGS=-DBUILD_EXAMPLES=OFF -DCMAKE_TOOLCHAIN_FILE={{.Env.ANDROID_NDK_ROOT}}/build/cmake/android.toolchain.cmake -DANDROID_SDK_ROOT={{.Env.ANDROID_SDK_HOME}} -DANDROID_ABI=arm64-v8a -DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME}}']
+-
+ Template: 'qtci-macos-10.14-x86_64'
+ Target os: 'IOS_ANY'
+ Target arch: 'arm64'
+ Compiler: 'Clang'
+ Target compiler: 'Clang'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
+ Environment variables: ['TARGET_CONFIGURE_ARGS=-DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=OFF -DCMAKE_SYSTEM_NAME=iOS -DQT_FORCE_SIMULATOR_AND_DEVICE=ON']
+-
+ Template: 'qtci-windows-7-x86-3'
+ Compiler: 'Mingw'
+ Configure arguments: '-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_separate_debug_info=ON -DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x86}}\.. -DFEATURE_system_zlib=OFF'
+ Environment variables: ['Path={{.Env.MINGW810_i686}}\bin;{{.Env.Path}}']
diff --git a/coin/platform_configs/qtqa.yaml b/coin/platform_configs/qtqa.yaml
new file mode 100644
index 00000000..ec8c3214
--- /dev/null
+++ b/coin/platform_configs/qtqa.yaml
@@ -0,0 +1,7 @@
+Version: 2
+Configurations:
+-
+ Template: 'qtci-windows-7-x86-3'
+ Compiler: 'Mingw'
+ Configure arguments: '-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_separate_debug_info=ON -DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x86}}\.. -DFEATURE_system_zlib=OFF'
+ Environment variables: ['Path={{.Env.MINGW810_i686}}\bin;{{.Env.Path}}']
diff --git a/coin/platform_configs/qtquick3d.yaml b/coin/platform_configs/qtquick3d.yaml
new file mode 100644
index 00000000..cf9d61c8
--- /dev/null
+++ b/coin/platform_configs/qtquick3d.yaml
@@ -0,0 +1,43 @@
+Version: 2
+Configurations:
+-
+ Template: 'qtci-linux-Ubuntu-18.04-x86_64'
+ Compiler: 'GCC'
+ Configure arguments: '-DBUILD_EXAMPLES=ON -DFEATURE_developer_build=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+-
+ Template: 'qtci-linux-openSUSE-15.1-x86_64'
+ Compiler: 'GCC'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DBUILD_SHARED_LIBS=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+-
+ Template: 'qtci-macos-10.14-x86_64'
+ Compiler: 'Clang'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_framework=ON -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
+-
+ Template: 'qtci-windows-10-x86_64-15'
+ Compiler: 'MSVC2019'
+ Configure arguments: '-G"Ninja Multi-Config" -DCMAKE_CONFIGURATION_TYPES="RelWithDebInfo;Debug" -DBUILD_EXAMPLES=OFF -DBUILD_WITH_PCH=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\..'
+-
+ Template: 'qtci-linux-RHEL-7.6-x86_64'
+ Compiler: 'GCC'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+-
+ Template: 'qtci-linux-RHEL-7.6-x86_64'
+ Target os: 'Android_ANY'
+ Target arch: 'arm64'
+ Compiler: 'GCC'
+ Target compiler: 'Clang'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+ Environment variables: ['TARGET_CONFIGURE_ARGS=-DBUILD_EXAMPLES=OFF -DCMAKE_TOOLCHAIN_FILE={{.Env.ANDROID_NDK_ROOT}}/build/cmake/android.toolchain.cmake -DANDROID_SDK_ROOT={{.Env.ANDROID_SDK_HOME}} -DANDROID_ABI=arm64-v8a -DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME}}']
+-
+ Template: 'qtci-macos-10.14-x86_64'
+ Target os: 'IOS_ANY'
+ Target arch: 'arm64'
+ Compiler: 'Clang'
+ Target compiler: 'Clang'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
+ Environment variables: ['TARGET_CONFIGURE_ARGS=-DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=OFF -DCMAKE_SYSTEM_NAME=iOS -DQT_FORCE_SIMULATOR_AND_DEVICE=ON']
+-
+ Template: 'qtci-windows-7-x86-3'
+ Compiler: 'Mingw'
+ Configure arguments: '-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_separate_debug_info=ON -DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x86}}\.. -DFEATURE_system_zlib=OFF'
+ Environment variables: ['Path={{.Env.MINGW810_i686}}\bin;{{.Env.Path}}']
diff --git a/coin/platform_configs/qtquickcontrols2.yaml b/coin/platform_configs/qtquickcontrols2.yaml
new file mode 100644
index 00000000..cf9d61c8
--- /dev/null
+++ b/coin/platform_configs/qtquickcontrols2.yaml
@@ -0,0 +1,43 @@
+Version: 2
+Configurations:
+-
+ Template: 'qtci-linux-Ubuntu-18.04-x86_64'
+ Compiler: 'GCC'
+ Configure arguments: '-DBUILD_EXAMPLES=ON -DFEATURE_developer_build=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+-
+ Template: 'qtci-linux-openSUSE-15.1-x86_64'
+ Compiler: 'GCC'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DBUILD_SHARED_LIBS=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+-
+ Template: 'qtci-macos-10.14-x86_64'
+ Compiler: 'Clang'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_framework=ON -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
+-
+ Template: 'qtci-windows-10-x86_64-15'
+ Compiler: 'MSVC2019'
+ Configure arguments: '-G"Ninja Multi-Config" -DCMAKE_CONFIGURATION_TYPES="RelWithDebInfo;Debug" -DBUILD_EXAMPLES=OFF -DBUILD_WITH_PCH=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\..'
+-
+ Template: 'qtci-linux-RHEL-7.6-x86_64'
+ Compiler: 'GCC'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+-
+ Template: 'qtci-linux-RHEL-7.6-x86_64'
+ Target os: 'Android_ANY'
+ Target arch: 'arm64'
+ Compiler: 'GCC'
+ Target compiler: 'Clang'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+ Environment variables: ['TARGET_CONFIGURE_ARGS=-DBUILD_EXAMPLES=OFF -DCMAKE_TOOLCHAIN_FILE={{.Env.ANDROID_NDK_ROOT}}/build/cmake/android.toolchain.cmake -DANDROID_SDK_ROOT={{.Env.ANDROID_SDK_HOME}} -DANDROID_ABI=arm64-v8a -DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME}}']
+-
+ Template: 'qtci-macos-10.14-x86_64'
+ Target os: 'IOS_ANY'
+ Target arch: 'arm64'
+ Compiler: 'Clang'
+ Target compiler: 'Clang'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
+ Environment variables: ['TARGET_CONFIGURE_ARGS=-DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=OFF -DCMAKE_SYSTEM_NAME=iOS -DQT_FORCE_SIMULATOR_AND_DEVICE=ON']
+-
+ Template: 'qtci-windows-7-x86-3'
+ Compiler: 'Mingw'
+ Configure arguments: '-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_separate_debug_info=ON -DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x86}}\.. -DFEATURE_system_zlib=OFF'
+ Environment variables: ['Path={{.Env.MINGW810_i686}}\bin;{{.Env.Path}}']
diff --git a/coin/platform_configs/qtquicktimeline.yaml b/coin/platform_configs/qtquicktimeline.yaml
new file mode 100644
index 00000000..cf9d61c8
--- /dev/null
+++ b/coin/platform_configs/qtquicktimeline.yaml
@@ -0,0 +1,43 @@
+Version: 2
+Configurations:
+-
+ Template: 'qtci-linux-Ubuntu-18.04-x86_64'
+ Compiler: 'GCC'
+ Configure arguments: '-DBUILD_EXAMPLES=ON -DFEATURE_developer_build=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+-
+ Template: 'qtci-linux-openSUSE-15.1-x86_64'
+ Compiler: 'GCC'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DBUILD_SHARED_LIBS=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+-
+ Template: 'qtci-macos-10.14-x86_64'
+ Compiler: 'Clang'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_framework=ON -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
+-
+ Template: 'qtci-windows-10-x86_64-15'
+ Compiler: 'MSVC2019'
+ Configure arguments: '-G"Ninja Multi-Config" -DCMAKE_CONFIGURATION_TYPES="RelWithDebInfo;Debug" -DBUILD_EXAMPLES=OFF -DBUILD_WITH_PCH=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\..'
+-
+ Template: 'qtci-linux-RHEL-7.6-x86_64'
+ Compiler: 'GCC'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+-
+ Template: 'qtci-linux-RHEL-7.6-x86_64'
+ Target os: 'Android_ANY'
+ Target arch: 'arm64'
+ Compiler: 'GCC'
+ Target compiler: 'Clang'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+ Environment variables: ['TARGET_CONFIGURE_ARGS=-DBUILD_EXAMPLES=OFF -DCMAKE_TOOLCHAIN_FILE={{.Env.ANDROID_NDK_ROOT}}/build/cmake/android.toolchain.cmake -DANDROID_SDK_ROOT={{.Env.ANDROID_SDK_HOME}} -DANDROID_ABI=arm64-v8a -DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME}}']
+-
+ Template: 'qtci-macos-10.14-x86_64'
+ Target os: 'IOS_ANY'
+ Target arch: 'arm64'
+ Compiler: 'Clang'
+ Target compiler: 'Clang'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
+ Environment variables: ['TARGET_CONFIGURE_ARGS=-DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=OFF -DCMAKE_SYSTEM_NAME=iOS -DQT_FORCE_SIMULATOR_AND_DEVICE=ON']
+-
+ Template: 'qtci-windows-7-x86-3'
+ Compiler: 'Mingw'
+ Configure arguments: '-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_separate_debug_info=ON -DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x86}}\.. -DFEATURE_system_zlib=OFF'
+ Environment variables: ['Path={{.Env.MINGW810_i686}}\bin;{{.Env.Path}}']
diff --git a/coin/platform_configs/qtsaferenderer.yaml b/coin/platform_configs/qtsaferenderer.yaml
new file mode 100644
index 00000000..40125e05
--- /dev/null
+++ b/coin/platform_configs/qtsaferenderer.yaml
@@ -0,0 +1,19 @@
+Version: 2
+Configurations:
+-
+ Template: 'qtci-windows-10-x86_64-17'
+ Compiler: 'Mingw'
+ Environment variables: ['PATH=C:\MINGW810\mingw64\bin;$PATH']
+ Configure arguments: '-opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -release -developer-build -nomake tests -opengl dynamic -openssl -I %OPENSSL_INCLUDE_x64% -L %OPENSSL_LIB_x64% -plugin-sql-mysql -plugin-sql-sqlite -plugin-sql-odbc -I %MYSQL_INCLUDE_x64% -L %MYSQL_LIB_x64% -plugin-sql-psql -I %POSTGRESQL_INCLUDE_x64% -L %POSTGRESQL_LIB_x64% -platform win32-g++'
+ Features: ['UseLegacyInstructions']
+-
+ Template: 'qtci-windows-10-x86_64-17'
+ Compiler: 'Mingw'
+ Environment variables: ['PATH=C:\MINGW810\mingw64\bin;$PATH']
+ Features: ['Packaging', 'DisableTests', 'UseLegacyInstructions']
+ Configure arguments: '-opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -release -static -nomake tests -nomake examples -no-icu -opengl dynamic -openssl -I %OPENSSL_INCLUDE_x64% -L %OPENSSL_LIB_x64% -plugin-sql-mysql -plugin-sql-sqlite -plugin-sql-odbc -I %MYSQL_INCLUDE_x64% -L %MYSQL_LIB_x64% -platform win32-g++'
+-
+ Template: 'qtci-linux-RHEL-7.6-x86_64'
+ Compiler: 'GCC'
+ Features: ['Packaging', 'DisableTests', 'UseLegacyInstructions']
+ Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -release -static -nomake tests -nomake examples -no-use-gold-linker -no-icu -no-fontconfig -qt-freetype -no-opengl -qpa offscreen -no-xcb -qt-libpng -no-vulkan'
diff --git a/coin/platform_configs/qtsdk.yaml b/coin/platform_configs/qtsdk.yaml
new file mode 100644
index 00000000..13686f2b
--- /dev/null
+++ b/coin/platform_configs/qtsdk.yaml
@@ -0,0 +1,15 @@
+-
+ Template: 'qtci-windows-10-x86-4'
+ Compiler: 'MSVC2019'
+ Configure arguments: '-opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -release -force-debug-info -opengl dynamic -nomake examples -nomake tests'
+ Features: ['UseLegacyInstructions']
+-
+ Template: 'qtci-linux-RHEL-6.6-x86_64'
+ Compiler: 'GCC'
+ Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -release -force-debug-info -nomake examples -nomake tests'
+ Features: ['UseLegacyInstructions']
+-
+ Template: 'qtci-windows-8.1-x86'
+ Compiler: 'MSVC2015'
+ Features: ['DisableTests', 'UseLegacyInstructions']
+ Configure arguments: '-opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -release -force-debug-info -opengl dynamic -nomake examples -nomake tests'
diff --git a/coin/platform_configs/qtshadertools.yaml b/coin/platform_configs/qtshadertools.yaml
new file mode 100644
index 00000000..cf9d61c8
--- /dev/null
+++ b/coin/platform_configs/qtshadertools.yaml
@@ -0,0 +1,43 @@
+Version: 2
+Configurations:
+-
+ Template: 'qtci-linux-Ubuntu-18.04-x86_64'
+ Compiler: 'GCC'
+ Configure arguments: '-DBUILD_EXAMPLES=ON -DFEATURE_developer_build=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+-
+ Template: 'qtci-linux-openSUSE-15.1-x86_64'
+ Compiler: 'GCC'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DBUILD_SHARED_LIBS=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+-
+ Template: 'qtci-macos-10.14-x86_64'
+ Compiler: 'Clang'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_framework=ON -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
+-
+ Template: 'qtci-windows-10-x86_64-15'
+ Compiler: 'MSVC2019'
+ Configure arguments: '-G"Ninja Multi-Config" -DCMAKE_CONFIGURATION_TYPES="RelWithDebInfo;Debug" -DBUILD_EXAMPLES=OFF -DBUILD_WITH_PCH=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\..'
+-
+ Template: 'qtci-linux-RHEL-7.6-x86_64'
+ Compiler: 'GCC'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+-
+ Template: 'qtci-linux-RHEL-7.6-x86_64'
+ Target os: 'Android_ANY'
+ Target arch: 'arm64'
+ Compiler: 'GCC'
+ Target compiler: 'Clang'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+ Environment variables: ['TARGET_CONFIGURE_ARGS=-DBUILD_EXAMPLES=OFF -DCMAKE_TOOLCHAIN_FILE={{.Env.ANDROID_NDK_ROOT}}/build/cmake/android.toolchain.cmake -DANDROID_SDK_ROOT={{.Env.ANDROID_SDK_HOME}} -DANDROID_ABI=arm64-v8a -DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME}}']
+-
+ Template: 'qtci-macos-10.14-x86_64'
+ Target os: 'IOS_ANY'
+ Target arch: 'arm64'
+ Compiler: 'Clang'
+ Target compiler: 'Clang'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
+ Environment variables: ['TARGET_CONFIGURE_ARGS=-DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=OFF -DCMAKE_SYSTEM_NAME=iOS -DQT_FORCE_SIMULATOR_AND_DEVICE=ON']
+-
+ Template: 'qtci-windows-7-x86-3'
+ Compiler: 'Mingw'
+ Configure arguments: '-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_separate_debug_info=ON -DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x86}}\.. -DFEATURE_system_zlib=OFF'
+ Environment variables: ['Path={{.Env.MINGW810_i686}}\bin;{{.Env.Path}}']
diff --git a/coin/platform_configs/qtsvg.yaml b/coin/platform_configs/qtsvg.yaml
new file mode 100644
index 00000000..cf9d61c8
--- /dev/null
+++ b/coin/platform_configs/qtsvg.yaml
@@ -0,0 +1,43 @@
+Version: 2
+Configurations:
+-
+ Template: 'qtci-linux-Ubuntu-18.04-x86_64'
+ Compiler: 'GCC'
+ Configure arguments: '-DBUILD_EXAMPLES=ON -DFEATURE_developer_build=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+-
+ Template: 'qtci-linux-openSUSE-15.1-x86_64'
+ Compiler: 'GCC'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DBUILD_SHARED_LIBS=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+-
+ Template: 'qtci-macos-10.14-x86_64'
+ Compiler: 'Clang'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_framework=ON -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
+-
+ Template: 'qtci-windows-10-x86_64-15'
+ Compiler: 'MSVC2019'
+ Configure arguments: '-G"Ninja Multi-Config" -DCMAKE_CONFIGURATION_TYPES="RelWithDebInfo;Debug" -DBUILD_EXAMPLES=OFF -DBUILD_WITH_PCH=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\..'
+-
+ Template: 'qtci-linux-RHEL-7.6-x86_64'
+ Compiler: 'GCC'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+-
+ Template: 'qtci-linux-RHEL-7.6-x86_64'
+ Target os: 'Android_ANY'
+ Target arch: 'arm64'
+ Compiler: 'GCC'
+ Target compiler: 'Clang'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+ Environment variables: ['TARGET_CONFIGURE_ARGS=-DBUILD_EXAMPLES=OFF -DCMAKE_TOOLCHAIN_FILE={{.Env.ANDROID_NDK_ROOT}}/build/cmake/android.toolchain.cmake -DANDROID_SDK_ROOT={{.Env.ANDROID_SDK_HOME}} -DANDROID_ABI=arm64-v8a -DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME}}']
+-
+ Template: 'qtci-macos-10.14-x86_64'
+ Target os: 'IOS_ANY'
+ Target arch: 'arm64'
+ Compiler: 'Clang'
+ Target compiler: 'Clang'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
+ Environment variables: ['TARGET_CONFIGURE_ARGS=-DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=OFF -DCMAKE_SYSTEM_NAME=iOS -DQT_FORCE_SIMULATOR_AND_DEVICE=ON']
+-
+ Template: 'qtci-windows-7-x86-3'
+ Compiler: 'Mingw'
+ Configure arguments: '-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_separate_debug_info=ON -DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x86}}\.. -DFEATURE_system_zlib=OFF'
+ Environment variables: ['Path={{.Env.MINGW810_i686}}\bin;{{.Env.Path}}']
diff --git a/coin/platform_configs/qttools.yaml b/coin/platform_configs/qttools.yaml
new file mode 100644
index 00000000..cf9d61c8
--- /dev/null
+++ b/coin/platform_configs/qttools.yaml
@@ -0,0 +1,43 @@
+Version: 2
+Configurations:
+-
+ Template: 'qtci-linux-Ubuntu-18.04-x86_64'
+ Compiler: 'GCC'
+ Configure arguments: '-DBUILD_EXAMPLES=ON -DFEATURE_developer_build=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+-
+ Template: 'qtci-linux-openSUSE-15.1-x86_64'
+ Compiler: 'GCC'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DBUILD_SHARED_LIBS=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+-
+ Template: 'qtci-macos-10.14-x86_64'
+ Compiler: 'Clang'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_framework=ON -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
+-
+ Template: 'qtci-windows-10-x86_64-15'
+ Compiler: 'MSVC2019'
+ Configure arguments: '-G"Ninja Multi-Config" -DCMAKE_CONFIGURATION_TYPES="RelWithDebInfo;Debug" -DBUILD_EXAMPLES=OFF -DBUILD_WITH_PCH=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\..'
+-
+ Template: 'qtci-linux-RHEL-7.6-x86_64'
+ Compiler: 'GCC'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+-
+ Template: 'qtci-linux-RHEL-7.6-x86_64'
+ Target os: 'Android_ANY'
+ Target arch: 'arm64'
+ Compiler: 'GCC'
+ Target compiler: 'Clang'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+ Environment variables: ['TARGET_CONFIGURE_ARGS=-DBUILD_EXAMPLES=OFF -DCMAKE_TOOLCHAIN_FILE={{.Env.ANDROID_NDK_ROOT}}/build/cmake/android.toolchain.cmake -DANDROID_SDK_ROOT={{.Env.ANDROID_SDK_HOME}} -DANDROID_ABI=arm64-v8a -DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME}}']
+-
+ Template: 'qtci-macos-10.14-x86_64'
+ Target os: 'IOS_ANY'
+ Target arch: 'arm64'
+ Compiler: 'Clang'
+ Target compiler: 'Clang'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
+ Environment variables: ['TARGET_CONFIGURE_ARGS=-DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=OFF -DCMAKE_SYSTEM_NAME=iOS -DQT_FORCE_SIMULATOR_AND_DEVICE=ON']
+-
+ Template: 'qtci-windows-7-x86-3'
+ Compiler: 'Mingw'
+ Configure arguments: '-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_separate_debug_info=ON -DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x86}}\.. -DFEATURE_system_zlib=OFF'
+ Environment variables: ['Path={{.Env.MINGW810_i686}}\bin;{{.Env.Path}}']
diff --git a/coin/platform_configs/qttranslations.yaml b/coin/platform_configs/qttranslations.yaml
new file mode 100644
index 00000000..cf9d61c8
--- /dev/null
+++ b/coin/platform_configs/qttranslations.yaml
@@ -0,0 +1,43 @@
+Version: 2
+Configurations:
+-
+ Template: 'qtci-linux-Ubuntu-18.04-x86_64'
+ Compiler: 'GCC'
+ Configure arguments: '-DBUILD_EXAMPLES=ON -DFEATURE_developer_build=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+-
+ Template: 'qtci-linux-openSUSE-15.1-x86_64'
+ Compiler: 'GCC'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DBUILD_SHARED_LIBS=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+-
+ Template: 'qtci-macos-10.14-x86_64'
+ Compiler: 'Clang'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_framework=ON -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
+-
+ Template: 'qtci-windows-10-x86_64-15'
+ Compiler: 'MSVC2019'
+ Configure arguments: '-G"Ninja Multi-Config" -DCMAKE_CONFIGURATION_TYPES="RelWithDebInfo;Debug" -DBUILD_EXAMPLES=OFF -DBUILD_WITH_PCH=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\..'
+-
+ Template: 'qtci-linux-RHEL-7.6-x86_64'
+ Compiler: 'GCC'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+-
+ Template: 'qtci-linux-RHEL-7.6-x86_64'
+ Target os: 'Android_ANY'
+ Target arch: 'arm64'
+ Compiler: 'GCC'
+ Target compiler: 'Clang'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+ Environment variables: ['TARGET_CONFIGURE_ARGS=-DBUILD_EXAMPLES=OFF -DCMAKE_TOOLCHAIN_FILE={{.Env.ANDROID_NDK_ROOT}}/build/cmake/android.toolchain.cmake -DANDROID_SDK_ROOT={{.Env.ANDROID_SDK_HOME}} -DANDROID_ABI=arm64-v8a -DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME}}']
+-
+ Template: 'qtci-macos-10.14-x86_64'
+ Target os: 'IOS_ANY'
+ Target arch: 'arm64'
+ Compiler: 'Clang'
+ Target compiler: 'Clang'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
+ Environment variables: ['TARGET_CONFIGURE_ARGS=-DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=OFF -DCMAKE_SYSTEM_NAME=iOS -DQT_FORCE_SIMULATOR_AND_DEVICE=ON']
+-
+ Template: 'qtci-windows-7-x86-3'
+ Compiler: 'Mingw'
+ Configure arguments: '-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_separate_debug_info=ON -DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x86}}\.. -DFEATURE_system_zlib=OFF'
+ Environment variables: ['Path={{.Env.MINGW810_i686}}\bin;{{.Env.Path}}']
diff --git a/coin/platform_configs/qtvirtualkeyboard.yaml b/coin/platform_configs/qtvirtualkeyboard.yaml
new file mode 100644
index 00000000..cf9d61c8
--- /dev/null
+++ b/coin/platform_configs/qtvirtualkeyboard.yaml
@@ -0,0 +1,43 @@
+Version: 2
+Configurations:
+-
+ Template: 'qtci-linux-Ubuntu-18.04-x86_64'
+ Compiler: 'GCC'
+ Configure arguments: '-DBUILD_EXAMPLES=ON -DFEATURE_developer_build=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+-
+ Template: 'qtci-linux-openSUSE-15.1-x86_64'
+ Compiler: 'GCC'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DBUILD_SHARED_LIBS=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+-
+ Template: 'qtci-macos-10.14-x86_64'
+ Compiler: 'Clang'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_framework=ON -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
+-
+ Template: 'qtci-windows-10-x86_64-15'
+ Compiler: 'MSVC2019'
+ Configure arguments: '-G"Ninja Multi-Config" -DCMAKE_CONFIGURATION_TYPES="RelWithDebInfo;Debug" -DBUILD_EXAMPLES=OFF -DBUILD_WITH_PCH=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\..'
+-
+ Template: 'qtci-linux-RHEL-7.6-x86_64'
+ Compiler: 'GCC'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+-
+ Template: 'qtci-linux-RHEL-7.6-x86_64'
+ Target os: 'Android_ANY'
+ Target arch: 'arm64'
+ Compiler: 'GCC'
+ Target compiler: 'Clang'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+ Environment variables: ['TARGET_CONFIGURE_ARGS=-DBUILD_EXAMPLES=OFF -DCMAKE_TOOLCHAIN_FILE={{.Env.ANDROID_NDK_ROOT}}/build/cmake/android.toolchain.cmake -DANDROID_SDK_ROOT={{.Env.ANDROID_SDK_HOME}} -DANDROID_ABI=arm64-v8a -DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME}}']
+-
+ Template: 'qtci-macos-10.14-x86_64'
+ Target os: 'IOS_ANY'
+ Target arch: 'arm64'
+ Compiler: 'Clang'
+ Target compiler: 'Clang'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
+ Environment variables: ['TARGET_CONFIGURE_ARGS=-DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=OFF -DCMAKE_SYSTEM_NAME=iOS -DQT_FORCE_SIMULATOR_AND_DEVICE=ON']
+-
+ Template: 'qtci-windows-7-x86-3'
+ Compiler: 'Mingw'
+ Configure arguments: '-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_separate_debug_info=ON -DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x86}}\.. -DFEATURE_system_zlib=OFF'
+ Environment variables: ['Path={{.Env.MINGW810_i686}}\bin;{{.Env.Path}}']
diff --git a/coin/platform_configs/qtwayland.yaml b/coin/platform_configs/qtwayland.yaml
new file mode 100644
index 00000000..cf9d61c8
--- /dev/null
+++ b/coin/platform_configs/qtwayland.yaml
@@ -0,0 +1,43 @@
+Version: 2
+Configurations:
+-
+ Template: 'qtci-linux-Ubuntu-18.04-x86_64'
+ Compiler: 'GCC'
+ Configure arguments: '-DBUILD_EXAMPLES=ON -DFEATURE_developer_build=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+-
+ Template: 'qtci-linux-openSUSE-15.1-x86_64'
+ Compiler: 'GCC'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DBUILD_SHARED_LIBS=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+-
+ Template: 'qtci-macos-10.14-x86_64'
+ Compiler: 'Clang'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_framework=ON -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
+-
+ Template: 'qtci-windows-10-x86_64-15'
+ Compiler: 'MSVC2019'
+ Configure arguments: '-G"Ninja Multi-Config" -DCMAKE_CONFIGURATION_TYPES="RelWithDebInfo;Debug" -DBUILD_EXAMPLES=OFF -DBUILD_WITH_PCH=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\..'
+-
+ Template: 'qtci-linux-RHEL-7.6-x86_64'
+ Compiler: 'GCC'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+-
+ Template: 'qtci-linux-RHEL-7.6-x86_64'
+ Target os: 'Android_ANY'
+ Target arch: 'arm64'
+ Compiler: 'GCC'
+ Target compiler: 'Clang'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+ Environment variables: ['TARGET_CONFIGURE_ARGS=-DBUILD_EXAMPLES=OFF -DCMAKE_TOOLCHAIN_FILE={{.Env.ANDROID_NDK_ROOT}}/build/cmake/android.toolchain.cmake -DANDROID_SDK_ROOT={{.Env.ANDROID_SDK_HOME}} -DANDROID_ABI=arm64-v8a -DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME}}']
+-
+ Template: 'qtci-macos-10.14-x86_64'
+ Target os: 'IOS_ANY'
+ Target arch: 'arm64'
+ Compiler: 'Clang'
+ Target compiler: 'Clang'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
+ Environment variables: ['TARGET_CONFIGURE_ARGS=-DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=OFF -DCMAKE_SYSTEM_NAME=iOS -DQT_FORCE_SIMULATOR_AND_DEVICE=ON']
+-
+ Template: 'qtci-windows-7-x86-3'
+ Compiler: 'Mingw'
+ Configure arguments: '-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_separate_debug_info=ON -DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x86}}\.. -DFEATURE_system_zlib=OFF'
+ Environment variables: ['Path={{.Env.MINGW810_i686}}\bin;{{.Env.Path}}']
diff --git a/coin/platform_configs/qtwebengine.yaml b/coin/platform_configs/qtwebengine.yaml
new file mode 100644
index 00000000..906e0236
--- /dev/null
+++ b/coin/platform_configs/qtwebengine.yaml
@@ -0,0 +1,80 @@
+Version: 2
+Module only: True
+Configurations:
+-
+ Template: 'qtci-windows-10-x86_64-17'
+ Compiler: 'MSVC2019'
+ Features: ['Packaging', 'UseLegacyInstructions']
+ Configure arguments: '-opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -debug-and-release -release -force-debug-info -nomake tests -opengl dynamic -nomake examples -openssl -I %OPENSSL_INCLUDE_x64% -L %OPENSSL_LIB_x64% -no-sql-mysql -plugin-sql-sqlite -plugin-sql-odbc -I %MYSQL_INCLUDE_x64% -L %MYSQL_LIB_x64% -plugin-sql-psql -I %POSTGRESQL_INCLUDE_x64% -L %POSTGRESQL_LIB_x64%'
+-
+ Template: 'qtci-linux-Ubuntu-18.04-x86_64'
+ Compiler: 'GCC'
+ Features: ['UseLegacyInstructions']
+ Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -force-debug-info -nomake tests -no-widgets -R . -openssl -I {{.Env.OPENSSL_HOME}}/include -L {{.Env.OPENSSL_HOME}}/lib'
+-
+ Template: 'qtci-linux-Ubuntu-18.04-x86_64'
+ Compiler: 'GCC'
+ Features: ['OutOfSourceBuild', 'Documentation', 'UseLegacyInstructions']
+ Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -developer-build -no-warnings-are-errors -nomake tests -R . -qtlibinfix TestInfix -qtnamespace TestNamespace -openssl -I {{.Env.OPENSSL_HOME}}/include -L {{.Env.OPENSSL_HOME}}/lib'
+-
+ Template: 'qtci-linux-RHEL-7.6-x86_64'
+ Compiler: 'GCC'
+ Features: ['Packaging', 'UseLegacyInstructions']
+ Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -release -nomake tests -nomake examples -no-libudev -no-use-gold-linker -force-debug-info -separate-debug-info -no-sql-mysql -plugin-sql-psql -plugin-sql-sqlite -qt-libjpeg -qt-libpng -xcb -bundled-xcb-xinput -sysconfdir /etc/xdg -qt-pcre -qt-harfbuzz -R . -openssl -I {{.Env.OPENSSL_HOME}}/include -L {{.Env.OPENSSL_HOME}}/lib QMAKE_LFLAGS_APP+=-s'
+-
+ Template: 'qtci-macos-10.14-x86_64'
+ Compiler: 'Clang'
+ Features: ['DisableTests', 'Packaging', 'UseLegacyInstructions']
+ Configure arguments: '-opensource -confirm-license -verbose -prefix /Users/qt/work/install -release -force-debug-info -separate-debug-info -nomake tests -nomake examples -no-sql-mysql -plugin-sql-psql -plugin-sql-sqlite -sysconfdir /Library/Preferences/Qt -I/usr/local/opt/openssl/include'
+-
+ Template: 'qtci-macos-10.14-x86_64'
+ Compiler: 'Clang'
+ Features: ['UseLegacyInstructions']
+ Configure arguments: '-opensource -confirm-license -verbose -prefix /Users/qt/work/install -debug-and-release -release -nomake tests -no-sql-mysql -plugin-sql-psql -plugin-sql-sqlite -sysconfdir /Library/Preferences/Qt -I/usr/local/opt/openssl/include'
+-
+ Template: 'qtci-macos-10.14-x86_64'
+ Compiler: 'Clang'
+ Features: ['DisableTests', 'UseLegacyInstructions']
+ Configure arguments: '-opensource -confirm-license -verbose -prefix /Users/qt/work/install -developer-build -release -no-pch -no-framework -qtnamespace TestNamespace -nomake tests -nomake examples -I/usr/local/opt/openssl/include'
+-
+ Template: 'qtci-macos-10.14-x86_64'
+ Target os: 'IOS_ANY'
+ Target arch: 'multi'
+ Compiler: 'Clang'
+ Features: ['Packaging', 'DisableTests', 'UseLegacyInstructions']
+ Configure arguments: '-opensource -confirm-license -verbose -prefix /Users/qt/work/install -debug-and-release -nomake tests -no-icu -nomake examples -no-sql-mysql -no-sql-psql -plugin-sql-sqlite -static -xplatform macx-ios-clang'
+-
+ Template: 'qtci-linux-RHEL-7.6-x86_64'
+ Target os: 'Android_ANY'
+ Target arch: 'multi'
+ Compiler: 'Clang'
+ Target compiler: 'Clang'
+ Features: ['Packaging', 'DisableTests', 'UseLegacyInstructions']
+ Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -release -nomake tests -nomake examples -no-sql-mysql -no-dbus -no-use-gold-linker -no-qpa-platform-guard -opengl es2 -sysconfdir /etc/xdg -openssl -I {{.Env.OPENSSL_ANDROID_HOME}}/include -xplatform android-clang -android-sdk /opt/android/sdk -android-ndk /opt/android/android-ndk-r20 -android-ndk-host linux-x86_64'
+-
+ Template: 'qtci-linux-Ubuntu-18.04-x86_64'
+ Target os: 'QEMU'
+ Target arch: 'armv7'
+ Compiler: 'GCC'
+ Features: ['UseLegacyInstructions']
+ Environment variables: ['GST_PLUGIN_SCANNER=/opt/yocto-armv7/sysroots/armv7at2hf-neon-poky-linux-gnueabi/usr/libexec/gstreamer-1.0/gst-plugin-scanner']
+ Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -release -nomake tests -nomake examples -no-xcb -R . -openssl -device linux-imx7-g++ -device-option CROSS_COMPILE=/opt/yocto-armv7/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi- -device-option DISTRO_OPTS="hard-float boot2qt" -sysroot /opt/yocto-armv7/sysroots/armv7at2hf-neon-poky-linux-gnueabi -extprefix /home/qt/work/install -mysql_config /opt/yocto-armv7/sysroots/armv7at2hf-neon-poky-linux-gnueabi/usr/bin/mysql_config -psql_config /dev/null -tslib'
+-
+ Template: 'qtci-linux-Ubuntu-18.04-x86_64'
+ Target os: 'QEMU'
+ Target arch: 'arm64'
+ Compiler: 'GCC'
+ Features: ['UseLegacyInstructions']
+ Environment variables: ['GST_PLUGIN_SCANNER=/opt/yocto-arm64/sysroots/aarch64-poky-linux/usr/libexec/gstreamer-1.0/gst-plugin-scanner']
+ Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -release -nomake tests -nomake examples -no-xcb -R . -openssl -device linux-generic-g++ -device-option CROSS_COMPILE=/opt/yocto-arm64/sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux- -device-option DISTRO_OPTS=boot2qt -sysroot /opt/yocto-arm64/sysroots/aarch64-poky-linux -extprefix /home/qt/work/install -mysql_config /opt/yocto-arm64/sysroots/aarch64-poky-linux/usr/bin/mysql_config -psql_config /dev/null -tslib'
+-
+ Template: 'qtci-linux-Ubuntu-18.04-x86_64'
+ Target os: 'QEMU'
+ Target arch: 'mips64'
+ Compiler: 'GCC'
+ Features: ['DisableTests', 'UseLegacyInstructions']
+ Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -release -nomake tests -nomake examples -no-xcb -R . -openssl -device linux-generic-g++ -device-option CROSS_COMPILE=/opt/yocto-mips64/sysroots/x86_64-pokysdk-linux/usr/bin/mips64-poky-linux/mips64-poky-linux- -device-option DISTRO_OPTS=boot2qt -sysroot /opt/yocto-mips64/sysroots/mips64r2-poky-linux -extprefix /home/qt/work/install -mysql_config /opt/yocto-mips64/sysroots/mips64r2-poky-linux/usr/bin/mysql_config -psql_config /dev/null -tslib'
+-
+ Template: 'qtci-linux-Ubuntu-18.04-x86_64'
+ Compiler: 'GCC'
+ Features: ['TestOnly', 'LicenseCheck', 'UseLegacyInstructions']
diff --git a/coin/platform_configs/qtwebkit.yaml b/coin/platform_configs/qtwebkit.yaml
new file mode 100644
index 00000000..9b2ae381
--- /dev/null
+++ b/coin/platform_configs/qtwebkit.yaml
@@ -0,0 +1,14 @@
+Version: 2
+Configurations:
+-
+ Template: 'qtci-windows-7-x86-3'
+ Compiler: 'Mingw'
+ Environment variables: ['PATH=C:\MINGW810_i686\mingw32\bin;$PATH']
+ Features: ['Packaging', 'DisableTests', 'UseLegacyInstructions']
+ Configure arguments: '-opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -release -nomake tests -nomake examples -opengl dynamic -openssl -I %OPENSSL_INCLUDE_x86% -L %OPENSSL_LIB_x86% -no-sql-mysql -plugin-sql-sqlite -plugin-sql-odbc -I %MYSQL_INCLUDE_x86% -L %MYSQL_LIB_x86% -plugin-sql-psql -I %POSTGRESQL_INCLUDE_x86% -L %POSTGRESQL_LIB_x86% -platform win32-g++ QMAKE_LFLAGS_APP+=-s'
+-
+ Template: 'qtci-windows-10-x86_64-17'
+ Compiler: 'Mingw'
+ Environment variables: ['PATH=C:\MINGW810_i686\mingw32\bin;$PATH']
+ Features: ['Packaging', UseLegacyInstructions']
+ Configure arguments: '-opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -release -nomake tests -nomake examples -opengl dynamic -openssl -I %OPENSSL_INCLUDE_x64% -L %OPENSSL_LIB_x64% -no-sql-mysql -plugin-sql-sqlite -plugin-sql-odbc -I %MYSQL_INCLUDE_x64% -L %MYSQL_LIB_x64% -plugin-sql-psql -I %POSTGRESQL_INCLUDE_x64% -L %POSTGRESQL_LIB_x64% -platform win32-g++ QMAKE_LFLAGS_APP+=-s'
diff --git a/coin/platform_configs/qtwebsockets.yaml b/coin/platform_configs/qtwebsockets.yaml
new file mode 100644
index 00000000..cf9d61c8
--- /dev/null
+++ b/coin/platform_configs/qtwebsockets.yaml
@@ -0,0 +1,43 @@
+Version: 2
+Configurations:
+-
+ Template: 'qtci-linux-Ubuntu-18.04-x86_64'
+ Compiler: 'GCC'
+ Configure arguments: '-DBUILD_EXAMPLES=ON -DFEATURE_developer_build=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+-
+ Template: 'qtci-linux-openSUSE-15.1-x86_64'
+ Compiler: 'GCC'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DBUILD_SHARED_LIBS=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+-
+ Template: 'qtci-macos-10.14-x86_64'
+ Compiler: 'Clang'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_framework=ON -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
+-
+ Template: 'qtci-windows-10-x86_64-15'
+ Compiler: 'MSVC2019'
+ Configure arguments: '-G"Ninja Multi-Config" -DCMAKE_CONFIGURATION_TYPES="RelWithDebInfo;Debug" -DBUILD_EXAMPLES=OFF -DBUILD_WITH_PCH=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\..'
+-
+ Template: 'qtci-linux-RHEL-7.6-x86_64'
+ Compiler: 'GCC'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+-
+ Template: 'qtci-linux-RHEL-7.6-x86_64'
+ Target os: 'Android_ANY'
+ Target arch: 'arm64'
+ Compiler: 'GCC'
+ Target compiler: 'Clang'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+ Environment variables: ['TARGET_CONFIGURE_ARGS=-DBUILD_EXAMPLES=OFF -DCMAKE_TOOLCHAIN_FILE={{.Env.ANDROID_NDK_ROOT}}/build/cmake/android.toolchain.cmake -DANDROID_SDK_ROOT={{.Env.ANDROID_SDK_HOME}} -DANDROID_ABI=arm64-v8a -DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME}}']
+-
+ Template: 'qtci-macos-10.14-x86_64'
+ Target os: 'IOS_ANY'
+ Target arch: 'arm64'
+ Compiler: 'Clang'
+ Target compiler: 'Clang'
+ Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl'
+ Environment variables: ['TARGET_CONFIGURE_ARGS=-DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=OFF -DCMAKE_SYSTEM_NAME=iOS -DQT_FORCE_SIMULATOR_AND_DEVICE=ON']
+-
+ Template: 'qtci-windows-7-x86-3'
+ Compiler: 'Mingw'
+ Configure arguments: '-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_separate_debug_info=ON -DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x86}}\.. -DFEATURE_system_zlib=OFF'
+ Environment variables: ['Path={{.Env.MINGW810_i686}}\bin;{{.Env.Path}}']
diff --git a/coin/platform_configs/tqtc-qt-config-gui.yaml b/coin/platform_configs/tqtc-qt-config-gui.yaml
new file mode 100644
index 00000000..07b98183
--- /dev/null
+++ b/coin/platform_configs/tqtc-qt-config-gui.yaml
@@ -0,0 +1,28 @@
+Version: 2
+Module only: True
+Configurations:
+ -
+ Template: 'qtci-windows-10-x86_64-17'
+ Compiler: 'MSVC2019'
+ Features: ['Packaging', 'UseLegacyInstructions']
+ Configure arguments: '-opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -debug-and-release -release -force-debug-info -nomake tests -opengl dynamic -nomake examples -openssl -I %OPENSSL_INCLUDE_x64% -L %OPENSSL_LIB_x64% -no-sql-mysql -plugin-sql-sqlite -plugin-sql-odbc -I %MYSQL_INCLUDE_x64% -L %MYSQL_LIB_x64% -plugin-sql-psql -I %POSTGRESQL_INCLUDE_x64% -L %POSTGRESQL_LIB_x64% -static -no-icu'
+ -
+ Template: 'qtci-windows-10-x86_64-17'
+ Compiler: 'MSVC2019'
+ Target arch: 'x86'
+ Features: ['Packaging', 'UseLegacyInstructions']
+ Configure arguments: '-opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -debug-and-release -release -force-debug-info -nomake tests -opengl dynamic -nomake examples -openssl -I %OPENSSL_INCLUDE_x86% -L %OPENSSL_LIB_x86% -no-sql-mysql -plugin-sql-sqlite -plugin-sql-odbc -I %MYSQL_INCLUDE_x86% -L %MYSQL_LIB_x86% -plugin-sql-psql -I %POSTGRESQL_INCLUDE_x86% -L %POSTGRESQL_LIB_x86% -static -no-icu'
+ -
+ Template: 'qtci-linux-RHEL-7.6-x86_64'
+ Compiler: 'GCC'
+ Features: ['Packaging', 'UseLegacyInstructions']
+ Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -release -nomake tests -nomake examples -no-libudev -no-use-gold-linker -force-debug-info -no-sql-mysql -plugin-sql-psql -plugin-sql-sqlite -qt-libjpeg -qt-libpng -qt-xcb -sysconfdir /etc/xdg -qt-pcre -qt-harfbuzz -openssl -I {{.Env.OPENSSL_HOME}}/include -L {{.Env.OPENSSL_HOME}}/lib QMAKE_LFLAGS_APP+=-s -static -no-icu'
+ -
+ Template: 'qtci-macos-10.13-x86_64-2'
+ Compiler: 'Clang'
+ Features: ['Packaging', 'UseLegacyInstructions']
+ Configure arguments: '-opensource -confirm-license -verbose -prefix /Users/qt/work/install -debug-and-release -release -nomake tests -nomake examples -no-sql-mysql -plugin-sql-psql -plugin-sql-sqlite -sysconfdir /Library/Preferences/Qt -I/usr/local/opt/openssl/include -static -no-icu'
+ -
+ Template: 'qtci-linux-Ubuntu-18.04-x86_64'
+ Compiler: 'GCC'
+ Features: ['TestOnly', 'LicenseCheck', 'UseLegacyInstructions']
diff --git a/coin/platform_configs/tqtc-qt-rta.yaml b/coin/platform_configs/tqtc-qt-rta.yaml
new file mode 100644
index 00000000..175524b2
--- /dev/null
+++ b/coin/platform_configs/tqtc-qt-rta.yaml
@@ -0,0 +1,15 @@
+-
+ Template: 'qtci-windows-7-x86_64-4'
+ Compiler: 'MSVC2013'
+ Features: ['DisableTests', 'UseLegacyInstructions']
+ Configure arguments: '-opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -release -force-debug-info -opengl dynamic -nomake examples -nomake tests'
+-
+ Template: 'qtci-windows-8.1-x86_64'
+ Compiler: 'MSVC2013'
+ Features: ['DisableTests', 'UseLegacyInstructions']
+ Configure arguments: '-opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -release -force-debug-info -opengl dynamic -nomake examples -nomake tests'
+-
+ Template: 'qtci-windows-10-x86-4'
+ Compiler: 'MSVC2019'
+ Configure arguments: '-opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -release -force-debug-info -opengl dynamic -nomake examples -nomake tests'
+ Features: ['UseLegacyInstructions']
diff --git a/coin/pre-provisioning/qtci-windows-10-x86/README_MANUAL_INSTALLATIONS b/coin/pre-provisioning/qtci-windows-10-x86/README_MANUAL_INSTALLATIONS
new file mode 100644
index 00000000..0099b600
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10-x86/README_MANUAL_INSTALLATIONS
@@ -0,0 +1,47 @@
+CPU 4G
+Memory: 4G
+Hard disk: 250G
+Network: CI_NW
+Video Card - total memory: 32MB
+
+VM Options:
+Boot options/Firmware: BIOS
+
+Language: English US
+Time and currency format: Finnish (Finland)
+Keyboard: Finnish
+Windows 10 Enterprise
+Region: Finland
+Default keyboard layout: English (United States)
+
+* VMware tools (complete) installed
+* Resolution set to 1280x800
+* Coin-setup:
+ - Installing Boostrap agent
+ - Disabling fast boot
+ - Disabling firewall
+ - Disabling UAC
+ - Enabling autologin
+ - Automatic login
+ - Disabling windows updates
+* Enable 'Allow remote connections to this computer'
+* Windows Defender Antivirus turned off: Open 'gpedit.msc': 'Computer Configuration' - 'Administrative Templates' - 'Windows Components' - 'Windows Defender Antivirus'
+ - Edit 'Turn off Windows Defender Antivirus' > 'Enabled' > 'Apply' * Background defrag disabled: 'defragment and optimize drives' - 'change settings' - unchecked "run on a schedule" * Background defrag disabled: 'defragment
+ NOTE! Without this step windows defender can't be disabled!
+* Background defrag disabled: 'defragment and optimize drives' - 'change settings' - unchecked "run on a schedule"
+ - Run in terminal: 'schtasks /Delete /TN "Microsoft\Windows\Defrag\ScheduledDefrag"'
+* Time zone: Coordinated Universal Time
+* Windows search disabled: 'Control Panel\System and Security\Administrative Tools\Services' - 'Windows search' - stop & disable
+* Sysmain disabled: 'Control Panel\System and Security\Administrative Tools\Services' - 'SysMain' - stop & disable
+* Power saver disabled: Open 'Power & sleep' and set 'Screen' to 'never'
+* Turn windows features on or off -> Check the "SMB 1.0/CIFS File Sharing Support
+* Google Chrome installed for RTA
+* Turn off Virus & threat protection (all sections) manually. Without this step windows defender can't be disabled!
+ - Real-tiem protection -> off
+ - Cloud-delivered protection -> off
+ - Automatic sample submission -> off
+ - Tamper protection -> off
+* Activate Windows
+* Modify 'Windows Software Development Kit - Windows 10.0.18362.1' from 'Add or remove programs'
+ - Add feature 'Debugging Tools for Windows'
+* REBOOT the VM
diff --git a/coin/pre-provisioning/qtci-windows-10-x86/disable-defragment.ps1 b/coin/pre-provisioning/qtci-windows-10-x86/disable-defragment.ps1
new file mode 100644
index 00000000..e76f0649
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10-x86/disable-defragment.ps1
@@ -0,0 +1,72 @@
+#############################################################################
+##
+## Copyright (C) 2019 The Qt Company Ltd.
+## Contact: http://www.qt.io/licensing/
+##
+## This file is part of the provisioning scripts of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL21$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see http://www.qt.io/terms-conditions. For further
+## information use the contact form at http://www.qt.io/contact-us.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 2.1 or version 3 as published by the Free
+## Software Foundation and appearing in the file LICENSE.LGPLv21 and
+## LICENSE.LGPLv3 included in the packaging of this file. Please review the
+## following information to ensure the GNU Lesser General Public License
+## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## As a special exception, The Qt Company gives you certain additional
+## rights. These rights are described in The Qt Company LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+# Windows 7 does not have Get-ScheduledTask and Unregister-ScheduledTask
+# thus needing its own version.
+Write-Host "Disabling defragmentation"
+$version = Get-CimInstance Win32_OperatingSystem | Select-Object -ExpandProperty Caption
+if ($version -like '*Windows 7*'){
+ $pi = New-Object System.Diagnostics.ProcessStartInfo
+ $pi.FileName = "C:\Windows\System32\schtasks.exe"
+ $pi.RedirectStandardError = $true
+ $pi.UseShellExecute = $false
+ $pi.Arguments = "/Delete /TN `"\Microsoft\Windows\Defrag\ScheduledDefrag`" /F"
+ $prog = New-Object System.Diagnostics.Process
+ $prog.StartInfo = $pi
+ $prog.Start() | Out-Null
+ $err = $prog.StandardError.ReadToEnd()
+ $prog.WaitForExit()
+ if ($prog.ExitCode -eq 0){
+ Write-Host "Scheduled defragmentation removed"
+ } else {
+ if ($err -like '*cannot find the file*'){
+ Write-Host "No scheduled defragmentation task found"
+ exit 0
+ } else {
+ Write-Host "Error while deleting scheduled defragmentation task: $err"
+ }
+ }
+}
+else {
+ try {
+ $state = (Get-ScheduledTask -ErrorAction Stop -TaskName "ScheduledDefrag").State
+ Write-Host "Scheduled defragmentation task found in state: $state"
+ }
+ catch {
+ Write-Host "No scheduled defragmentation task found"
+ exit 0
+ }
+ Write-Host "Unregistering scheduled defragmentation task"
+ Unregister-ScheduledTask -ErrorAction Stop -Confirm:$false -TaskName ScheduledDefrag
+ Write-Host "Scheduled Defragmentation task was cancelled"
+}
diff --git a/coin/pre-provisioning/qtci-windows-10-x86/disable-ntp.ps1 b/coin/pre-provisioning/qtci-windows-10-x86/disable-ntp.ps1
new file mode 100644
index 00000000..22651763
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10-x86/disable-ntp.ps1
@@ -0,0 +1,4 @@
+. "$PSScriptRoot\..\..\provisioning\common\windows\helpers.ps1"
+
+# Disable the NTP from syncing
+Run-Executable "w32tm.exe" "/config /syncfromflags:NO"
diff --git a/coin/pre-provisioning/qtci-windows-10-x86/disable-schedule-tasks.ps1 b/coin/pre-provisioning/qtci-windows-10-x86/disable-schedule-tasks.ps1
new file mode 100644
index 00000000..1febd88c
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10-x86/disable-schedule-tasks.ps1
@@ -0,0 +1,88 @@
+. "$PSScriptRoot\..\..\provisioning\common\windows\helpers.ps1"
+
+# This script will remove unneeded Tasks from Task Scheduler
+
+# Application Experience 'Microsoft Compatibility Appraiser' - "Collects program telemetry information if opted-in to the Microsoft Customer Experience Improvement Program."
+DisableSchedulerTask "Application Experience\Microsoft Compatibility Appraiser"
+
+# Application Experience 'ProgramDataUpdater' - "Collects program telemetry information if opted-in to the Microsoft Customer Experience Improvement Program"
+DisableSchedulerTask "Application Experience\ProgramDataUpdater"
+
+# Autochk 'Proxy' - "This task collects and uploads autochk SQM data if opted-in to the Microsoft Customer Experience Improvement Program."
+DisableSchedulerTask "Autochk\Proxy"
+
+# Chkdsk 'ProactiveScan' - "NTFS Volume Health Scan"
+DisableSchedulerTask "Chkdsk\ProactiveScan"
+
+# Chkdsk 'SyspartRepair'
+DeleteSchedulerTask "Chkdsk\SyspartRepair"
+
+# Customer Experience Improvement Program 'Consolidator' - "If the user has consented to participate in the Windows Customer Experience Improvement Program, this job collects and sends usage data to Microsoft."
+DisableSchedulerTask "Customer Experience Improvement Program\Consolidator"
+
+# Customer Experience Improvement Program 'sbCeip' - "The USB CEIP (Customer Experience Improvement Program) task collects Universal Serial Bus related statistics and information about your machine and sends it to the Windows Device Connectivity engineering group at Microsoft. The information received is used to help improve the reliability, stability, and overall functionality of USB in Windows. If the user has not consented to participate in Windows CEIP, this task does not do anything."
+DisableSchedulerTask "Customer Experience Improvement Program\UsbCeip"
+
+# Device Information 'Device'
+DisableSchedulerTask "Device Information\Device"
+
+# Diagnosis 'Scheduled' - "The Windows Scheduled Maintenance Task performs periodic maintenance of the computer system by fixing problems automatically or reporting them through Security and Maintenance."
+DisableSchedulerTask "Diagnosis\Scheduled"
+
+# DiskDiagnostic 'Microsoft-Windows-DiskDiagnosticDataCollector' - "The Windows Disk Diagnostic reports general disk and system information to Microsoft for users participating in the Customer Experience Program."
+DisableSchedulerTask "DiskDiagnostic\Microsoft-Windows-DiskDiagnosticDataCollector"
+
+# ExploitGuard 'ExploitGuard MDM policy Refresh' - "Task for applying changes to the machine's Exploit Protection settings."
+DisableSchedulerTask "ExploitGuard\ExploitGuard MDM policy Refresh"
+
+# Feedback/Siuf 'DmClient'
+DisableSchedulerTask "Feedback\Siuf\DmClient"
+
+# Feedback/Siuf 'DmClient'OnScenarioDownload'
+DisableSchedulerTask "Feedback\Siuf\DmClientOnScenarioDownload"
+
+# File Classification Infrastructure 'Property Definition Sync'
+DisableSchedulerTask "File Classification Infrastructure\Property Definition Sync"
+
+# InstallService 'ScanForUpdates'
+DisableSchedulerTask "InstallService\ScanForUpdates"
+
+# InstallService 'ScanForUpdatesAsUser'
+DisableSchedulerTask "InstallService\ScanForUpdatesAsUser"
+
+# LanguageComponentsInstaller 'Installation' - "Install language components that match the user's language list."
+DisableSchedulerTask "LanguageComponentsInstaller\Installation"
+
+# LanguageComponentsInstaller 'ReconcileLanguageResources' - "Install language components that match the user's language list."
+DisableSchedulerTask "LanguageComponentsInstaller\ReconcileLanguageResources"
+
+# PI 'Secure-Boot-Update' - "This task updates the Secure Boot variables."
+DisableSchedulerTask "PI\Secure-Boot-Update"
+
+# PI 'Sqm-Tasks' - "This task gathers information about the Trusted Platform Module (TPM), Secure Boot, and Measured Boot."
+DisableSchedulerTask "PI\Sqm-Tasks"
+
+# Power Efficiency Diagnotics 'AnalyzeSystem' - "This task analyzes the system looking for conditions that may cause high energy use."
+DisableSchedulerTask "PushToInstall\Registration"
+
+# Servicing 'StartComponentCleanup'
+DisableSchedulerTask "Servicing\StartComponentCleanup"
+
+# SettingSync 'BackgroundUploadTask'
+DeleteSchedulerTask "SettingSync\BackgroundUploadTask"
+
+# SoftwareProtectionPlatform 'SvcRestartTask' - "This task restarts the Software Protection Platform service at the specified time"
+DeleteSchedulerTask "SoftwareProtectionPlatform\SvcRestartTask"
+
+# SoftwareProtectionPlatform 'SvcRestartTaskLogon' - "This task restarts the Software Protection Platform service at the specified time"
+DisableSchedulerTask "SoftwareProtectionPlatform\SvcRestartTaskLogon"
+
+# SoftwareProtectionPlatform 'SvcRestartTaskNetwork' - "This task restarts the Software Protection Platform service when a new network is detected"
+DisableSchedulerTask "SoftwareProtectionPlatform\SvcRestartTaskNetwork"
+
+# UNP 'RunUpdateNotificationMgr'
+DeleteSchedulerTask "UNP\RunUpdateNotificationMgr"
+
+
+
+
diff --git a/coin/pre-provisioning/qtci-windows-10-x86/disable-update-orchestrator.ps1 b/coin/pre-provisioning/qtci-windows-10-x86/disable-update-orchestrator.ps1
new file mode 100644
index 00000000..5ae8fb0d
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10-x86/disable-update-orchestrator.ps1
@@ -0,0 +1,16 @@
+# Disable UpdateOrchestrator
+
+$name = "UpdateOrchestrator"
+$path = "C:\Windows\System32\Tasks\Microsoft\Windows\$name"
+
+takeown /F $path /A /R
+icacls $path /grant Administrators:F /T
+SCHTASKS /Change /TN "Microsoft\Windows\$name\Reboot" /DISABLE
+del "$path\Schedule Scan"
+del "$path\Schedule Scan Static Task"
+del "$path\Backup Scan"
+del "$path\UpdateModelTask"
+del "$path\USO_UxBroker"
+
+# Disable Update orchestrator service
+reg.exe ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\UsoSvc" /V Start /T REG_dWORD /D 4 /F
diff --git a/coin/pre-provisioning/qtci-windows-10-x86/disable-windefender.ps1 b/coin/pre-provisioning/qtci-windows-10-x86/disable-windefender.ps1
new file mode 100644
index 00000000..47e913d5
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10-x86/disable-windefender.ps1
@@ -0,0 +1,63 @@
+###########################################################################
+##
+## Copyright (C) 2019 The Qt Company Ltd.
+## Contact: http://www.qt.io/licensing/
+##
+## This file is part of the provisioning scripts of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL21$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see http://www.qt.io/terms-conditions. For further
+## information use the contact form at http://www.qt.io/contact-us.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 2.1 or version 3 as published by the Free
+## Software Foundation and appearing in the file LICENSE.LGPLv21 and
+## LICENSE.LGPLv3 included in the packaging of this file. Please review the
+## following information to ensure the GNU Lesser General Public License
+## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## As a special exception, The Qt Company gives you certain additional
+## rights. These rights are described in The Qt Company LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+# Turning off win defender.
+#
+# If disabled manually, windows will automatically enable it after
+# some period of time. Disabling it speeds up the builds.
+# NOTE! Windows Defender Antivirus needs to be turned off!
+# Open 'gpedit.msc': 'Computer Configuration' - 'Administrative Templates' - 'Windows Components' - 'Windows Defender Antivirus'
+# Edit 'Turn off Windows Defender Antivirus' > 'Enabled' > 'Apply'
+
+
+. "$PSScriptRoot\..\..\provisioning\common\windows\helpers.ps1"
+
+Run-Executable "reg.exe" "ADD `"HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender`" /V DisableAntiSpyware /T REG_dWORD /D 1 /F"
+
+# 'Windows Defender Cache Maintenance' - "Periodic maintenance task."
+DisableSchedulerTask "Windows Defender\Windows Defender Cache Maintenance"
+
+# 'Windows Defender Cleanup' - "Periodic cleanup task."
+DisableSchedulerTask "Windows Defender\Windows Defender Cleanup"
+
+# 'Windows Defender Scheduled Scan' - "Periodic scan task."
+DisableSchedulerTask "Windows Defender\Windows Defender Scheduled Scan"
+
+# 'Windows Defender Verification' - "Periodic verification task."
+DisableSchedulerTask "Windows Defender\Windows Defender Verification"
+
+# Disable 'QueueReporting' - "Windows Error Reporting task to process queued reports."
+DisableSchedulerTask "Windows Error Reporting\QueueReporting"
+
+# Disable WindowsUpdate from Task Scheduler
+DisableSchedulerTask "WindowsUpdate\Scheduled Start"
diff --git a/coin/pre-provisioning/qtci-windows-10-x86/disable-windows-file-protector.ps1 b/coin/pre-provisioning/qtci-windows-10-x86/disable-windows-file-protector.ps1
new file mode 100644
index 00000000..f1d09fb5
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10-x86/disable-windows-file-protector.ps1
@@ -0,0 +1,4 @@
+# Disable Windows File Protection
+# Windows File Protection feature in Microsoft Windows prevents programs from replacing critical Windows system files.
+
+reg.exe ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /V SFCDisable /T REG_dWORD /D 0xffffff9d /F
diff --git a/coin/pre-provisioning/qtci-windows-10-x86/disable-windows-update-medic.ps1 b/coin/pre-provisioning/qtci-windows-10-x86/disable-windows-update-medic.ps1
new file mode 100644
index 00000000..6accbd3b
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10-x86/disable-windows-update-medic.ps1
@@ -0,0 +1,25 @@
+# Windows Update Medic Service (WaaSMedicSvc)'PerformRemediation' helps recover update-related services to the supported configuration.
+# WaasMedicSvc keeps re-starting Windows Update, even if it disabled manually.
+# Even Admin user don't have privileged to disable PerformRemediation from Task Scheduler which means that WaaSMedicSvc.dll need's to be removed from the system
+
+$limit = (Get-Date).AddMinutes(20)
+$path = "C:\Windows\System32\WaaSMedicSvc.dll"
+
+DO {
+ takeown /F $path
+ icacls $path /grant Administrators:f
+ Write-host "Deleting $path"
+
+ Try {
+ del $path
+ }
+ Catch [System.UnauthorizedAccessException] {
+ Write-host "Access to the path '$path' is denied."
+ Continue
+ }
+
+ if ((Get-Date) -gt $limit) {
+ exit 1
+ }
+
+}while (Test-Path -Path "$path")
diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/15-xz.sh b/coin/pre-provisioning/qtci-windows-10-x86/disable-windows-updates.ps1
index 6e47f6a5..87414f03 100755..100644
--- a/coin/provisioning/qtci-macos-10.12-x86_64/15-xz.sh
+++ b/coin/pre-provisioning/qtci-windows-10-x86/disable-windows-updates.ps1
@@ -1,6 +1,4 @@
-#!/usr/bin/env bash
-
-#############################################################################
+############################################################################
##
## Copyright (C) 2017 The Qt Company Ltd.
## Contact: http://www.qt.io/licensing/
@@ -33,20 +31,24 @@
##
#############################################################################
-# This script installs XZ-Utils
-
-# XZ-Utils are needed for uncompressing xz-compressed files
-
-set -ex
-
-# shellcheck source=../common/macos/InstallPKGFromURL.sh
-source "${BASH_SOURCE%/*}/../common/macos/InstallPKGFromURL.sh"
-
-PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mac/macos_10.12_sierra/XZ.pkg"
-AltUrl="http://sourceforge.net/projects/macpkg/files/XZ/5.0.7/XZ.pkg"
-SHA1="f0c1f82ebcffe0bd4b8b57b6a77805db56b2de67"
-DestDir="/"
-
-InstallPKGFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$DestDir"
-
-echo "XZ = 5.0.7" >> ~/versions.txt
+# This script disables the automatic Windows updates
+
+$service = get-service wuauserv
+if (-not $service) {
+ Write-Host "Windows Update service not found."
+ exit 0
+}
+
+if ($service.Status -eq "Stopped") {
+ Write-Host "Windows Update service already stopped."
+} else {
+ Write-Host "Stopping Windows Update service."
+ Stop-Service -Name "wuauserv" -Force
+}
+
+$startup = Get-WmiObject Win32_Service | Where-Object {$_.Name -eq "wuauserv"} | Select -ExpandProperty "StartMode"
+if ($startup -ne "Disabled") {
+ set-service wuauserv -startup disabled
+} else {
+ Write-Host "Windows Update service startup already disabled."
+}
diff --git a/coin/pre-provisioning/qtci-windows-10-x86/msvc2015.txt b/coin/pre-provisioning/qtci-windows-10-x86/msvc2015.txt
new file mode 100644
index 00000000..cfd6a4c4
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10-x86/msvc2015.txt
@@ -0,0 +1,14 @@
+# Install visual studio 2015
+
+version = "2015 update 3"
+installer = "http://ci-files01-hki.intra.qt.io/input/windows/en_visual_studio_professional_2015_x86_x64_web_installer_6846650.exe"
+# Select default values
+# Make sure these are selected:
+ * All values from 'Universal Windows App Development Tools'
+ * 'Visual C++'
+ * 'Common Tools for Visual C++ 2015'
+ * 'Windows XP Support for C++'
+ * 'Common Tools and Software Development Kits'
+ * 'Android Native Development Kit (R11C, 32 bits)
+ * 'Apache Ant (1.9.3)
+
diff --git a/coin/pre-provisioning/qtci-windows-10-x86/msvc2015_update.ps1 b/coin/pre-provisioning/qtci-windows-10-x86/msvc2015_update.ps1
deleted file mode 100644
index 35f8dc3f..00000000
--- a/coin/pre-provisioning/qtci-windows-10-x86/msvc2015_update.ps1
+++ /dev/null
@@ -1,58 +0,0 @@
-#############################################################################
-##
-## Copyright (C) 2018 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-. "$PSScriptRoot\..\..\provisioning\common\helpers.ps1"
-
-# Install Visual Studio $version with $update_version
-# Original download page: https://www.visualstudio.com/en-us/news/releasenotes/vs2015-update3-vs
-$version = "2015"
-$update_version = "3"
-
-# Only way to install specific Visual studio release is to use feed.xml.
-# Visual Studio $version setup will use the feed.xml that was available when $update_version released -> 'https://msdn.microsoft.com/en-us/library/mt653628.aspx'
-# These parameters will install Visual Studio Enterprise Update $update_version (the original Update $update_version without any further Update $update_version-era updates)
-$parameters = "/OverrideFeedURI http://download.microsoft.com/download/6/B/B/6BBD3561-D764-4F39-AB8E-05356A122545/20160628.2/enu/feed.xml"
-
-$msvc_web_installer = "vs" + $version + "_" + $update_version
-$package = "C:\Windows\temp\$msvc_web_installer.exe"
-$url_cache = "http://ci-files01-hki.intra.qt.io/input/windows/$msvc_web_installer.exe"
-$url_official = "https://go.microsoft.com/fwlink/?LinkId=691129"
-$sha1 = "68abf90424aff604a04d6c61fb52adcd2cab2266"
-
-echo "Fetching Visual Studio $version update $update_version..."
-Download $url_official $url_cache $package
-Verify-Checksum $package $sha1
-echo "Installing Visual studio $version update $update_version..."
-cmd /c "$package $parameters /norestart /Quiet"
-remove-item $package
-
-echo "Visual Studio = $version update $update_version" >> ~\versions.txt
diff --git a/coin/pre-provisioning/qtci-windows-10-x86/msvc2017.ps1 b/coin/pre-provisioning/qtci-windows-10-x86/msvc2017.ps1
deleted file mode 100644
index 052ec9c6..00000000
--- a/coin/pre-provisioning/qtci-windows-10-x86/msvc2017.ps1
+++ /dev/null
@@ -1,49 +0,0 @@
-############################################################################
-##
-## Copyright (C) 2018 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-. "$PSScriptRoot\..\common\helpers.ps1"
-
-# This script will install Visual Studio 2017
-
-$version = "2017"
-$url_cache = "http://ci-files01-hki.intra.qt.io/input/windows/mu_visual_studio_professional_" + $version + "_x86_x64_10049787.exe"
-$sha1 = "8d678d27735018a99dc22ddb5412e4e6868991ae"
-$msvcPackage = "C:\Windows\Temp\$version.exe"
-
-
-Download $url_cache $url_cache $msvcPackage
-Verify-Checksum $msvcPackage $sha1
-cmd /c "$msvcPackage --all --norestart --quiet --wait --add Microsoft.VisualStudio.Component.VC.Tools.ARM"
-echo "Cleaning $msvcPackage.."
-Remove-Item -Recurse -Force "$msvcPackage"
-echo "Visual Studio = $version" >> ~\versions.txt
diff --git a/coin/pre-provisioning/qtci-windows-10-x86_64/msvc2017.ps1 b/coin/pre-provisioning/qtci-windows-10-x86/msvc2017.txt
index cc0dbd85..7b834a4c 100644
--- a/coin/pre-provisioning/qtci-windows-10-x86_64/msvc2017.ps1
+++ b/coin/pre-provisioning/qtci-windows-10-x86/msvc2017.txt
@@ -1,6 +1,6 @@
############################################################################
##
-## Copyright (C) 2018 The Qt Company Ltd.
+## Copyright (C) 2020 The Qt Company Ltd.
## Contact: http://www.qt.io/licensing/
##
## This file is part of the provisioning scripts of the Qt Toolkit.
@@ -34,8 +34,9 @@
# Visual Studio $version version $version_number was installed manually using $installer.
$version = "2017"
-$version_number = "15.8.5"
-$installer = "http://ci-files01-hki.ci.local/input/windows/vs_professional__1312218103.1526017942.exe"
+# Current version was manually upgraded from the installer
+$version_number = "15.9.21"
+$installer = "http://ci-files01-hki.intra.qt.io/input/windows/vs_professional__1312218103.1526017942.exe"
# Following components were selected from installer:
# Microsoft.Net.Component.4.5.TargetingPack (.NET Framework 4.5 targeting pack)
@@ -51,7 +52,7 @@ $installer = "http://ci-files01-hki.ci.local/input/windows/vs_professional__1312
# Microsoft.VisualStudio.Component.TextTemplating (Text Template Transformation)
# Microsoft.VisualStudio.Component.Roslyn.Compiler (C# and Visual Basic Roslyn compilers)
# Microsoft.Component.MSBuild (MSBuild)
-# Microsoft.VisualStudio.Component.VC.Tools.x86.x64 (VC++ 2017 version 15.8 v14.15 latest v141 tools)
+# Microsoft.VisualStudio.Component.VC.Tools.x86.x64 (VC++ 2017 version 15.9 v14.16 latest v141 tools)
# Microsoft.VisualStudio.Component.VC.Redist.14.Latest (Visual C++ 2017 Redistributable Update)
# Microsoft.VisualStudio.Component.VC.Tools.ARM (Visual C++ compilers and libraries for ARM)
# Microsoft.VisualStudio.Component.VC.Tools.ARM64 (Visual C++ compilers and libraries for ARM64)
@@ -70,6 +71,7 @@ $installer = "http://ci-files01-hki.ci.local/input/windows/vs_professional__1312
# Microsoft.VisualStudio.Component.Graphics.Win81 (Graphics Tools Windows 8.1 SDK)
# Microsoft.VisualStudio.Component.TypeScript.2.3 (TypeScript 2.3 SDK)
# Microsoft.VisualStudio.Component.TypeScript.3.0 (TypeScript 3.0 SDK)
+# Microsoft.VisualStudio.Component.TypeScript.3.0 (TypeScript 3.1 SDK)
# Microsoft.VisualStudio.Component.VC.ATL (Visual C++ ATL for x86 and x64)
# Microsoft.VisualStudio.Component.Windows10SDK.10240 (Windows 10 SDK (10.0.10240.0))
# Microsoft.VisualStudio.Component.Windows10SDK.10586 (Windows 10 SDK (10.0.10586.0))
@@ -84,4 +86,6 @@ $installer = "http://ci-files01-hki.ci.local/input/windows/vs_professional__1312
# Microsoft.VisualStudio.Component.Windows10SDK.17134 (Windows 10 SDK (10.0.17134.0))
# Microsoft.VisualStudio.Component.Windows10SDK.17763 (Windows 10 SDK (10.0.17763.0))
+# NOTE! Work loads were added during installation!
+
echo "Visual Studio = $version version version_number" >> ~\versions.txt
diff --git a/coin/pre-provisioning/qtci-windows-10-x86/06-msvc_2017_build_tools.ps1 b/coin/pre-provisioning/qtci-windows-10-x86/msvc2017_build_tools.txt
index 2bb92c22..42cbb707 100644
--- a/coin/pre-provisioning/qtci-windows-10-x86/06-msvc_2017_build_tools.ps1
+++ b/coin/pre-provisioning/qtci-windows-10-x86/msvc2017_build_tools.txt
@@ -1,6 +1,6 @@
############################################################################
##
-## Copyright (C) 2018 The Qt Company Ltd.
+## Copyright (C) 2020 The Qt Company Ltd.
## Contact: http://www.qt.io/licensing/
##
## This file is part of the provisioning scripts of the Qt Toolkit.
@@ -32,17 +32,9 @@
#############################################################################
. "$PSScriptRoot\..\common\helpers.ps1"
-# This script will install Visual Studio 2017 Build Tools
+# Install Visual Studio 2017 Build Tools
+# Install both build tools: Visual C++ and Web development
# https://www.visualstudio.com/downloads/#build-tools-for-visual-studio-2017
-$version = "2017_version_15.0"
-$url_cache = "http://ci-files01-hki.intra.qt.io/input/windows/mu_build_tools_for_visual_studio_" + $version + "_x86_x64_10254482.exe"
-$sha1 = "a31e099e5114fef80a21654689e6864afc544a16"
-$msvcPackage = "C:\Windows\Temp\$version.exe"
-
-Download $url_cache $url_cache $msvcPackage
-Verify-Checksum $msvcPackage $sha1
-cmd /c "$msvcPackage --all --passive --wait"
-echo "Cleaning $msvcPackage.."
-Remove-Item -Recurse -Force "$msvcPackage"
-echo "Visual Studio Build Tools = $version" >> ~\versions.txt
+$url_internal = https://www.visualstudio.com/downloads/#build-tools-for-visual-studio-2017
+$url_cache = "http://ci-files01-hki.intra.qt.io/input/windows/mu_build_tools_for_visual_studio_2017_version_15.0_x86_x64_10254482.exe"
diff --git a/coin/pre-provisioning/qtci-windows-10-x86/msvc2019.txt b/coin/pre-provisioning/qtci-windows-10-x86/msvc2019.txt
new file mode 100644
index 00000000..d8767a96
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10-x86/msvc2019.txt
@@ -0,0 +1,69 @@
+# Visual Studio $version version $version_number was installed manually using $installer.
+
+$version = "2019"
+# Current version was manually upgraded from the installer
+$version_number = "16.4.6"
+$installer = "http://ci-files01-hki.intra.qt.io/input/windows/vs_professional__505064367.1547034421.exe"
+
+MSVC 2019 build tools (default installation, no additional selections).
+ * Install after MSVC2019 is installed!
+ * Installer: "http://ci-files01-hki.intra.qt.io/input/windows/vs_buildtools__251503345.1575372514.exe"
+ * Version: 16.4.6
+
+Installed MSVC-2019 Components:
+
+.NET Framework 4.5 targeting pack
+.NET Framework 4.5.1 targeting pack
+.NET Framework 4.5.2 targeting pack
+.NET Framework 4.6.1 SDK
+.NET Framework 4.6.1 targeting pack
+.NET Framework 4.6.2 SDK
+.NET Framework 4.6.2 targeting pack
+.NET Framework 4.7.2 SDK
+.NET Framework 4.7.2 targeting pack
+.NET Framework 4.8 SDK
+.NET Framework 4.8 targeting pack
+.NET Native
+.NET Portable Library targeting pack
+CLR data typer for SQL Sever
+Connectivity and publishing tools
+Data sources for SQL Server support
+SQL ADAL runtime
+SQL Server Command Linne Utilities
+SQL Server Data Tools
+SQL Server Express 2016 LocalDB
+SQL Server ODBC Driver
+ClickOnce Publishing
+Developer Analytics tools
+NuGet package manager
+Text Template Transformation
+C# and Visual Basic Roslyn compilers
+C++ 2019 Redistributable Update
+C++ Cmake tools for Windows
+C++/CLI support for v142 build tools /14.24)
+MSBuild
+MSVC v142 - VS 2019 C++ ARM build tools (v14.20)
+MSVC v142 - VS 2019 C++ ARM build tools (v14.24)
+MSVC v142 - VS 2019 C++ ARM64 build tools (v14.20)
+MSVC v142 - VS 2019 C++ ARM64 build tools (v14.24)
+MSVC v142 - VS 2019 C++ x64/x86 build tools (v14.20)
+MSVC v142 - VS 2019 C++ x64/x86 build tools (v14.24)
+.NET profiling tools
+C++ profiling tools
+JavaScript diagnostics
+Just-In-Time debugger
+C# and Visual Basic
+C++ core features
+JavaSript and TypeScript language support
+Razor Language Services
+Graphics debugger and GPU profiler for DirectX
+Image and 3D model editors
+C++ ATL for latest v142 build tools (x86 & x64)
+TypeScript 3.7 SDK
+Windows 10 SDK (10.0.16299.0)
+Windows 10 SDK (10.0.17134.0)
+Windows 10 SDK (10.0.17763.0)
+Windows 10 SDK (10.0.18362.0)
+
+# NOTE! Work loads were added during installation!
+
diff --git a/coin/pre-provisioning/qtci-windows-10-x86_64/README_MANUAL_INSTALLATIONS b/coin/pre-provisioning/qtci-windows-10-x86_64/README_MANUAL_INSTALLATIONS
new file mode 100644
index 00000000..fd646cbf
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10-x86_64/README_MANUAL_INSTALLATIONS
@@ -0,0 +1,50 @@
+# List about manual pre-installations to Tier1 image:
+
+Virtual Hardware:
+CPU: 4
+Memory: 8 GB
+Hard Disk: 550 GB
+CI_NW
+Video Card - total memory: 32MB
+
+VM Options:
+Boot options/Firmware: BIOS
+
+Language: English US
+Keyboard: finnish
+location: finnish
+Windows 10 Enterprise
+Region: Finland
+Keyboard layout: Finnish
+
+* VMware tools (complete) installed
+* Resolution set to 1280x800
+* Coin-setup:
+ - Installing Boostrap agent
+ - Disabling fast boot
+ - Disabling firewall
+ - Disabling UAC
+ - Enabling autologin
+ - Automatic login
+ - Disabling windows updates
+* Windows Defender Antivirus turned off: Open 'gpedit.msc': 'Computer Configuration' - 'Administrative Templates' - 'Windows Components' - 'Windows Defender Antivirus'
+ - Edit 'Turn off Windows Defender Antivirus' > 'Enabled' > 'Apply'
+ - NOTE! Without this step windows defender can't be disabled!
+* Remote connections allowed:
+ - Enable Remote Desktop
+* Background defrag disabled: 'defragment and optimize drives' - 'change settings' - unchecked "run on a schedule"
+ - Run in terminal: 'schtasks /Delete /TN "Microsoft\Windows\Defrag\ScheduledDefrag"'
+* Time zone: Coordinated Universal Time
+* Windows search disabled: 'Control Panel\System and Security\Administrative Tools\Services' - 'Windows search' - stop & disable
+* Sysmain disabled: 'Control Panel\System and Security\Administrative Tools\Services' - 'SysMain' - stop & disable
+* Power saver disabled: Open 'Power & sleep' and set 'Screen' to 'never'
+* Turn windows features on or off -> Check the "SMB 1.0/CIFS File Sharing Support
+* Google Chrome installed for RTA
+* Turn off Virus & threat protection (all sections) manually
+ - Real-tiem protection -> off
+ - Cloud-delivered protection -> off
+ - Automatic sample submission -> off
+ - Tamper protection -> off
+* Activate Windows
+* Modify 'Windows Software Development Kit - Windows 10.0.18362.1' from 'Add or remove programs'
+ - Add feature 'Debugging Tools for Windows'
diff --git a/coin/pre-provisioning/qtci-windows-10-x86_64/disable-clean-manager.ps1 b/coin/pre-provisioning/qtci-windows-10-x86_64/disable-clean-manager.ps1
new file mode 100644
index 00000000..45ce141f
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10-x86_64/disable-clean-manager.ps1
@@ -0,0 +1,8 @@
+# This script will disable automatic disk cleanup
+
+. "$PSScriptRoot\..\..\provisioning\common\windows\helpers.ps1"
+
+Run-Executable "reg.exe" "ADD `"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy`" /V 04 /T REG_dWORD /D 0 /F"
+
+# Maintenance task used by the system to launch a silent auto disk cleanup when running low on free disk space.
+DisableSchedulerTask "DiskCleanup\SilentCleanup"
diff --git a/coin/pre-provisioning/qtci-windows-10-x86_64/disable-defragment.ps1 b/coin/pre-provisioning/qtci-windows-10-x86_64/disable-defragment.ps1
new file mode 100644
index 00000000..e76f0649
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10-x86_64/disable-defragment.ps1
@@ -0,0 +1,72 @@
+#############################################################################
+##
+## Copyright (C) 2019 The Qt Company Ltd.
+## Contact: http://www.qt.io/licensing/
+##
+## This file is part of the provisioning scripts of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL21$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see http://www.qt.io/terms-conditions. For further
+## information use the contact form at http://www.qt.io/contact-us.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 2.1 or version 3 as published by the Free
+## Software Foundation and appearing in the file LICENSE.LGPLv21 and
+## LICENSE.LGPLv3 included in the packaging of this file. Please review the
+## following information to ensure the GNU Lesser General Public License
+## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## As a special exception, The Qt Company gives you certain additional
+## rights. These rights are described in The Qt Company LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+# Windows 7 does not have Get-ScheduledTask and Unregister-ScheduledTask
+# thus needing its own version.
+Write-Host "Disabling defragmentation"
+$version = Get-CimInstance Win32_OperatingSystem | Select-Object -ExpandProperty Caption
+if ($version -like '*Windows 7*'){
+ $pi = New-Object System.Diagnostics.ProcessStartInfo
+ $pi.FileName = "C:\Windows\System32\schtasks.exe"
+ $pi.RedirectStandardError = $true
+ $pi.UseShellExecute = $false
+ $pi.Arguments = "/Delete /TN `"\Microsoft\Windows\Defrag\ScheduledDefrag`" /F"
+ $prog = New-Object System.Diagnostics.Process
+ $prog.StartInfo = $pi
+ $prog.Start() | Out-Null
+ $err = $prog.StandardError.ReadToEnd()
+ $prog.WaitForExit()
+ if ($prog.ExitCode -eq 0){
+ Write-Host "Scheduled defragmentation removed"
+ } else {
+ if ($err -like '*cannot find the file*'){
+ Write-Host "No scheduled defragmentation task found"
+ exit 0
+ } else {
+ Write-Host "Error while deleting scheduled defragmentation task: $err"
+ }
+ }
+}
+else {
+ try {
+ $state = (Get-ScheduledTask -ErrorAction Stop -TaskName "ScheduledDefrag").State
+ Write-Host "Scheduled defragmentation task found in state: $state"
+ }
+ catch {
+ Write-Host "No scheduled defragmentation task found"
+ exit 0
+ }
+ Write-Host "Unregistering scheduled defragmentation task"
+ Unregister-ScheduledTask -ErrorAction Stop -Confirm:$false -TaskName ScheduledDefrag
+ Write-Host "Scheduled Defragmentation task was cancelled"
+}
diff --git a/coin/pre-provisioning/qtci-windows-10-x86_64/disable-ntp.ps1 b/coin/pre-provisioning/qtci-windows-10-x86_64/disable-ntp.ps1
new file mode 100644
index 00000000..22651763
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10-x86_64/disable-ntp.ps1
@@ -0,0 +1,4 @@
+. "$PSScriptRoot\..\..\provisioning\common\windows\helpers.ps1"
+
+# Disable the NTP from syncing
+Run-Executable "w32tm.exe" "/config /syncfromflags:NO"
diff --git a/coin/pre-provisioning/qtci-windows-10-x86_64/disable-schedule-tasks.ps1 b/coin/pre-provisioning/qtci-windows-10-x86_64/disable-schedule-tasks.ps1
new file mode 100644
index 00000000..1febd88c
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10-x86_64/disable-schedule-tasks.ps1
@@ -0,0 +1,88 @@
+. "$PSScriptRoot\..\..\provisioning\common\windows\helpers.ps1"
+
+# This script will remove unneeded Tasks from Task Scheduler
+
+# Application Experience 'Microsoft Compatibility Appraiser' - "Collects program telemetry information if opted-in to the Microsoft Customer Experience Improvement Program."
+DisableSchedulerTask "Application Experience\Microsoft Compatibility Appraiser"
+
+# Application Experience 'ProgramDataUpdater' - "Collects program telemetry information if opted-in to the Microsoft Customer Experience Improvement Program"
+DisableSchedulerTask "Application Experience\ProgramDataUpdater"
+
+# Autochk 'Proxy' - "This task collects and uploads autochk SQM data if opted-in to the Microsoft Customer Experience Improvement Program."
+DisableSchedulerTask "Autochk\Proxy"
+
+# Chkdsk 'ProactiveScan' - "NTFS Volume Health Scan"
+DisableSchedulerTask "Chkdsk\ProactiveScan"
+
+# Chkdsk 'SyspartRepair'
+DeleteSchedulerTask "Chkdsk\SyspartRepair"
+
+# Customer Experience Improvement Program 'Consolidator' - "If the user has consented to participate in the Windows Customer Experience Improvement Program, this job collects and sends usage data to Microsoft."
+DisableSchedulerTask "Customer Experience Improvement Program\Consolidator"
+
+# Customer Experience Improvement Program 'sbCeip' - "The USB CEIP (Customer Experience Improvement Program) task collects Universal Serial Bus related statistics and information about your machine and sends it to the Windows Device Connectivity engineering group at Microsoft. The information received is used to help improve the reliability, stability, and overall functionality of USB in Windows. If the user has not consented to participate in Windows CEIP, this task does not do anything."
+DisableSchedulerTask "Customer Experience Improvement Program\UsbCeip"
+
+# Device Information 'Device'
+DisableSchedulerTask "Device Information\Device"
+
+# Diagnosis 'Scheduled' - "The Windows Scheduled Maintenance Task performs periodic maintenance of the computer system by fixing problems automatically or reporting them through Security and Maintenance."
+DisableSchedulerTask "Diagnosis\Scheduled"
+
+# DiskDiagnostic 'Microsoft-Windows-DiskDiagnosticDataCollector' - "The Windows Disk Diagnostic reports general disk and system information to Microsoft for users participating in the Customer Experience Program."
+DisableSchedulerTask "DiskDiagnostic\Microsoft-Windows-DiskDiagnosticDataCollector"
+
+# ExploitGuard 'ExploitGuard MDM policy Refresh' - "Task for applying changes to the machine's Exploit Protection settings."
+DisableSchedulerTask "ExploitGuard\ExploitGuard MDM policy Refresh"
+
+# Feedback/Siuf 'DmClient'
+DisableSchedulerTask "Feedback\Siuf\DmClient"
+
+# Feedback/Siuf 'DmClient'OnScenarioDownload'
+DisableSchedulerTask "Feedback\Siuf\DmClientOnScenarioDownload"
+
+# File Classification Infrastructure 'Property Definition Sync'
+DisableSchedulerTask "File Classification Infrastructure\Property Definition Sync"
+
+# InstallService 'ScanForUpdates'
+DisableSchedulerTask "InstallService\ScanForUpdates"
+
+# InstallService 'ScanForUpdatesAsUser'
+DisableSchedulerTask "InstallService\ScanForUpdatesAsUser"
+
+# LanguageComponentsInstaller 'Installation' - "Install language components that match the user's language list."
+DisableSchedulerTask "LanguageComponentsInstaller\Installation"
+
+# LanguageComponentsInstaller 'ReconcileLanguageResources' - "Install language components that match the user's language list."
+DisableSchedulerTask "LanguageComponentsInstaller\ReconcileLanguageResources"
+
+# PI 'Secure-Boot-Update' - "This task updates the Secure Boot variables."
+DisableSchedulerTask "PI\Secure-Boot-Update"
+
+# PI 'Sqm-Tasks' - "This task gathers information about the Trusted Platform Module (TPM), Secure Boot, and Measured Boot."
+DisableSchedulerTask "PI\Sqm-Tasks"
+
+# Power Efficiency Diagnotics 'AnalyzeSystem' - "This task analyzes the system looking for conditions that may cause high energy use."
+DisableSchedulerTask "PushToInstall\Registration"
+
+# Servicing 'StartComponentCleanup'
+DisableSchedulerTask "Servicing\StartComponentCleanup"
+
+# SettingSync 'BackgroundUploadTask'
+DeleteSchedulerTask "SettingSync\BackgroundUploadTask"
+
+# SoftwareProtectionPlatform 'SvcRestartTask' - "This task restarts the Software Protection Platform service at the specified time"
+DeleteSchedulerTask "SoftwareProtectionPlatform\SvcRestartTask"
+
+# SoftwareProtectionPlatform 'SvcRestartTaskLogon' - "This task restarts the Software Protection Platform service at the specified time"
+DisableSchedulerTask "SoftwareProtectionPlatform\SvcRestartTaskLogon"
+
+# SoftwareProtectionPlatform 'SvcRestartTaskNetwork' - "This task restarts the Software Protection Platform service when a new network is detected"
+DisableSchedulerTask "SoftwareProtectionPlatform\SvcRestartTaskNetwork"
+
+# UNP 'RunUpdateNotificationMgr'
+DeleteSchedulerTask "UNP\RunUpdateNotificationMgr"
+
+
+
+
diff --git a/coin/pre-provisioning/qtci-windows-10-x86_64/disable-update-orchestrator.ps1 b/coin/pre-provisioning/qtci-windows-10-x86_64/disable-update-orchestrator.ps1
new file mode 100644
index 00000000..c7f23470
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10-x86_64/disable-update-orchestrator.ps1
@@ -0,0 +1,15 @@
+# Disable UpdateOrchestrator
+
+$name = "UpdateOrchestrator"
+$path = "C:\Windows\System32\Tasks\Microsoft\Windows\$name"
+
+takeown /F $path /A /R
+icacls $path /grant Administrators:F /T
+SCHTASKS /Change /TN "Microsoft\Windows\$name\Reboot" /DISABLE
+del "$path\Schedule Scan"
+del "$path\Schedule Scan Static Task"
+del "$path\UpdateModelTask"
+del "$path\USO_UxBroker"
+
+# Disable Update orchestrator service
+reg.exe ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\UsoSvc" /V Start /T REG_dWORD /D 4 /F
diff --git a/coin/pre-provisioning/qtci-windows-10-x86_64/disable-windefender.ps1 b/coin/pre-provisioning/qtci-windows-10-x86_64/disable-windefender.ps1
new file mode 100644
index 00000000..21938f7f
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10-x86_64/disable-windefender.ps1
@@ -0,0 +1,63 @@
+###########################################################################
+##
+## Copyright (C) 2019 The Qt Company Ltd.
+## Contact: http://www.qt.io/licensing/
+##
+## This file is part of the provisioning scripts of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL21$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see http://www.qt.io/terms-conditions. For further
+## information use the contact form at http://www.qt.io/contact-us.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 2.1 or version 3 as published by the Free
+## Software Foundation and appearing in the file LICENSE.LGPLv21 and
+## LICENSE.LGPLv3 included in the packaging of this file. Please review the
+## following information to ensure the GNU Lesser General Public License
+## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## As a special exception, The Qt Company gives you certain additional
+## rights. These rights are described in The Qt Company LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+# Turning off win defender.
+#
+# If disabled manually, windows will automatically enable it after
+# some period of time. Disabling it speeds up the builds.
+# NOTE! Windows Defender Antivirus needs to be turned off!
+# Open 'gpedit.msc': 'Computer Configuration' - 'Administrative Templates' - 'Windows Components' - 'Windows Defender Antivirus'
+# Edit 'Turn off Windows Defender Antivirus' > 'Enabled' > 'Apply'
+
+. "$PSScriptRoot\..\..\provisioning\common\windows\helpers.ps1"
+
+Run-Executable "reg.exe" "ADD `"HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender`" /V DisableAntiSpyware /T REG_dWORD /D 1 /F"
+Run-Executable "reg.exe" "ADD `"HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender`" /V DisableRoutinelyTakingAction /T REG_dWORD /D 1 /F"
+
+# 'Windows Defender Cache Maintenance' - "Periodic maintenance task."
+DisableSchedulerTask "Windows Defender\Windows Defender Cache Maintenance"
+
+# 'Windows Defender Cleanup' - "Periodic cleanup task."
+DisableSchedulerTask "Windows Defender\Windows Defender Cleanup"
+
+# 'Windows Defender Scheduled Scan' - "Periodic scan task."
+DisableSchedulerTask "Windows Defender\Windows Defender Scheduled Scan"
+
+# 'Windows Defender Verification' - "Periodic verification task."
+DisableSchedulerTask "Windows Defender\Windows Defender Verification"
+
+# Disable 'QueueReporting' - "Windows Error Reporting task to process queued reports."
+DisableSchedulerTask "Windows Error Reporting\QueueReporting"
+
+# Disable WindowsUpdate from Task Scheduler
+DisableSchedulerTask "WindowsUpdate\Scheduled Start"
diff --git a/coin/pre-provisioning/qtci-windows-10-x86_64/disable-windows-file-protector.ps1 b/coin/pre-provisioning/qtci-windows-10-x86_64/disable-windows-file-protector.ps1
new file mode 100644
index 00000000..f1d09fb5
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10-x86_64/disable-windows-file-protector.ps1
@@ -0,0 +1,4 @@
+# Disable Windows File Protection
+# Windows File Protection feature in Microsoft Windows prevents programs from replacing critical Windows system files.
+
+reg.exe ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /V SFCDisable /T REG_dWORD /D 0xffffff9d /F
diff --git a/coin/pre-provisioning/qtci-windows-10-x86_64/disable-windows-update-medic.ps1 b/coin/pre-provisioning/qtci-windows-10-x86_64/disable-windows-update-medic.ps1
new file mode 100644
index 00000000..6accbd3b
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10-x86_64/disable-windows-update-medic.ps1
@@ -0,0 +1,25 @@
+# Windows Update Medic Service (WaaSMedicSvc)'PerformRemediation' helps recover update-related services to the supported configuration.
+# WaasMedicSvc keeps re-starting Windows Update, even if it disabled manually.
+# Even Admin user don't have privileged to disable PerformRemediation from Task Scheduler which means that WaaSMedicSvc.dll need's to be removed from the system
+
+$limit = (Get-Date).AddMinutes(20)
+$path = "C:\Windows\System32\WaaSMedicSvc.dll"
+
+DO {
+ takeown /F $path
+ icacls $path /grant Administrators:f
+ Write-host "Deleting $path"
+
+ Try {
+ del $path
+ }
+ Catch [System.UnauthorizedAccessException] {
+ Write-host "Access to the path '$path' is denied."
+ Continue
+ }
+
+ if ((Get-Date) -gt $limit) {
+ exit 1
+ }
+
+}while (Test-Path -Path "$path")
diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/21-install-commandlinetools.sh b/coin/pre-provisioning/qtci-windows-10-x86_64/disable-windows-updates.ps1
index 1fa8b05d..87414f03 100755..100644
--- a/coin/provisioning/qtci-macos-10.12-x86_64/21-install-commandlinetools.sh
+++ b/coin/pre-provisioning/qtci-windows-10-x86_64/disable-windows-updates.ps1
@@ -1,6 +1,4 @@
-#!/usr/bin/env bash
-
-#############################################################################
+############################################################################
##
## Copyright (C) 2017 The Qt Company Ltd.
## Contact: http://www.qt.io/licensing/
@@ -33,15 +31,24 @@
##
#############################################################################
-set -ex
-
-# shellcheck source=../common/macos/install-commandlinetools.sh
-source "${BASH_SOURCE%/*}/../common/macos/install-commandlinetools.sh"
+# This script disables the automatic Windows updates
-version="9.2"
-packageName="Command_Line_Tools_macOS_10.12_for_Xcode_$version.dmg"
-url="http://ci-files01-hki.intra.qt.io/input/mac/$packageName"
-sha1="f121c3b70fb77a98c1f2fc5e1932bd93bde03acf"
+$service = get-service wuauserv
+if (-not $service) {
+ Write-Host "Windows Update service not found."
+ exit 0
+}
-InstallCommandLineTools $url $url $sha1 $packageName $version
+if ($service.Status -eq "Stopped") {
+ Write-Host "Windows Update service already stopped."
+} else {
+ Write-Host "Stopping Windows Update service."
+ Stop-Service -Name "wuauserv" -Force
+}
+$startup = Get-WmiObject Win32_Service | Where-Object {$_.Name -eq "wuauserv"} | Select -ExpandProperty "StartMode"
+if ($startup -ne "Disabled") {
+ set-service wuauserv -startup disabled
+} else {
+ Write-Host "Windows Update service startup already disabled."
+}
diff --git a/coin/pre-provisioning/qtci-windows-10-x86_64/msvc2015_update.ps1 b/coin/pre-provisioning/qtci-windows-10-x86_64/msvc2015_update.ps1
index 00f8af72..69f3e27b 100644
--- a/coin/pre-provisioning/qtci-windows-10-x86_64/msvc2015_update.ps1
+++ b/coin/pre-provisioning/qtci-windows-10-x86_64/msvc2015_update.ps1
@@ -33,7 +33,7 @@
# Visual Studio $version was installed manually using $installer.
$version = "2015 update 3"
-$version_number ="14.0.25431.01"
+$version_number ="14.0.25420.1"
$installer = "http://ci-files01-hki.intra.qt.io/input/windows/en_visual_studio_professional_2015_with_update_3_x86_x64_web_installer_8922978"
# default plus following components were selected:
diff --git a/coin/pre-provisioning/qtci-windows-10-x86_64/msvc2019.txt b/coin/pre-provisioning/qtci-windows-10-x86_64/msvc2019.txt
new file mode 100644
index 00000000..28f63762
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10-x86_64/msvc2019.txt
@@ -0,0 +1,67 @@
+# Visual Studio $version version $version_number was installed manually using $installer.
+
+$version = "2019"
+# Current version was manually upgraded from the installer
+$version_number = "16.4.4"
+$installer = "http://ci-files01-hki.ci.local/input/windows/vs_professional__505064367.1547034421.exe"
+
+MSVC 2019 build tools (default installation, no additional selections).
+ * Install after MSVC2019 is installed!
+ * Installer: "http://ci-files01-hki.intra.qt.io/input/windows/vs_buildtools__251503345.1575372514.exe"
+ * Version: 16.4.4
+
+Installed MSVC-2019 Components:
+
+.NET Framework 4.5 targeting pack
+.NET Framework 4.5.1 targeting pack
+.NET Framework 4.5.2 targeting pack
+.NET Framework 4.6.1 SDK
+.NET Framework 4.6.1 targeting pack
+.NET Framework 4.6.2 SDK
+.NET Framework 4.6.2 targeting pack
+.NET Framework 4.7.2 SDK
+.NET Framework 4.7.2 targeting pack
+.NET Native
+.NET Portable Library targeting pack
+CLR data typer for SQL Sever
+Connectivity and publishing tools
+Data sources for SQL Server support
+SQL ADAL runtime
+SQL Server Command Linne Utilities
+SQL Server Data Tools
+SQL Server Express 2016 LocalDB
+SQL Server ODBC Driver
+ClickOnce Publishing
+Developer Analytics tools
+NuGet package manager
+Text Template Transformation
+C# and Visual Basic Roslyn compilers
+C++ 2019 Redistributable Update
+C++ Cmake tools for Windows
+C++/CLI support for v142 build tools /14.24)
+MSBuild
+MSVC v142 - VS 2019 C++ ARM build tools (v14.20)
+MSVC v142 - VS 2019 C++ ARM build tools (v14.24)
+MSVC v142 - VS 2019 C++ ARM64 build tools (v14.20)
+MSVC v142 - VS 2019 C++ ARM64 build tools (v14.24)
+MSVC v142 - VS 2019 C++ x64/x86 build tools (v14.20)
+MSVC v142 - VS 2019 C++ x64/x86 build tools (v14.24)
+.NET profiling tools
+C++ profiling tools
+JavaScript diagnostics
+Just-In-Time debugger
+C# and Visual Basic
+C++ core features
+JavaSript and TypeScript language support
+Razor Language Services
+Graphics debugger and GPU profiler for DirectX
+Image and 3D model editors
+C++ ATL for latest v142 build tools (x86 & x64)
+TypeScript 3.7 SDK
+Windows 10 SDK (10.0.16299.0)
+Windows 10 SDK (10.0.17134.0)
+Windows 10 SDK (10.0.17763.0)
+Windows 10 SDK (10.0.18362.0)
+
+# NOTE! Work loads were added during installation!
+
diff --git a/coin/pre-provisioning/qtci-windows-10-x86_64/msvc_2015_update3_patch.ps1 b/coin/pre-provisioning/qtci-windows-10-x86_64/msvc_2015_update3_patch.ps1
deleted file mode 100644
index bfbb397a..00000000
--- a/coin/pre-provisioning/qtci-windows-10-x86_64/msvc_2015_update3_patch.ps1
+++ /dev/null
@@ -1,67 +0,0 @@
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-. "$PSScriptRoot\helpers.ps1"
-
-# Install Cumulative Servicing Release Visual Studio 2015 update 3
-# Original download page: https://msdn.microsoft.com/en-us/library/mt752379.aspx
-
-$version = "2015 update3 (KB3165756)"
-$packagePath = "C:\Windows\Temp"
-$package = $packagePath + "\vs14-kb3165756.exe"
-$url_cache = "http://ci-files01-hki.intra.qt.io/input/windows/vs14-kb3165756.exe"
-$url_official = "http://go.microsoft.com/fwlink/?LinkID=816878"
-$sha1 = "6a21d9b291ca75d44baad95e278fdc0d05d84c02"
-$preparedPackage = "\\ci-files01-hki.intra.qt.io\provisioning\windows\vs14-kb3165756-update"
-
-if (Test-Path $preparedPackage) {
- # The prepared package contains updated packages so that not everything has to be downloaded
- Write-Host "Using prepared package"
- Copy-Item -Recurse $preparedPackage $packagePath
- # Remove the whole downloaded folder
- $toRemove = $packagePath + "\vs14-kb3165756-update"
- $executable = "$toRemove\vs14-kb3165756.exe"
-} else {
- Write-Host "Fetching patch for Visual Studio $version..."
- Download $url_official $url_cache $package
- $executable = $package
- # Remove the downloaded executable
- $toRemove = $executable
-}
-
-Verify-Checksum $executable $sha1
-Write-Host "Installing patch for Visual Studio $version..."
-Run-Executable $executable "/norestart /passive"
-
-Remove-Item -Force -Recurse -Path $toRemove
-
-Write-Output "Visual Studio = $version" >> ~\versions.txt
diff --git a/coin/provisioning/common/linux/android_linux.sh b/coin/provisioning/common/linux/android_linux.sh
index 1e151efe..ca9110b8 100755
--- a/coin/provisioning/common/linux/android_linux.sh
+++ b/coin/provisioning/common/linux/android_linux.sh
@@ -37,6 +37,8 @@
# It also runs update for SDK API, latest SDK tools, latest platform-tools and build-tools version
+set -e
+
# shellcheck source=../unix/DownloadURL.sh
source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh"
# shellcheck source=../unix/check_and_set_proxy.sh
@@ -80,14 +82,25 @@ else
sudo chown -R qt:users "$targetFolder"
fi
+# Stop the sdkmanager from printing thousands of lines of #hashmarks.
+# Run the following command under `eval` or `sh -c` so that the shell properly splits it.
+sdkmanager_no_progress_bar_cmd="tr '\r' '\n' | grep -v '^\[[ =]*\]'"
+# But don't let the pipeline hide sdkmanager failures.
+set -o pipefail
+
echo "Running SDK manager for platforms;$sdkApiLevel, platform-tools and build-tools;$sdkBuildToolsVersion."
# shellcheck disable=SC2031
if [ "$http_proxy" != "" ]; then
proxy_host=$(echo "$proxy" | cut -d'/' -f3 | cut -d':' -f1)
proxy_port=$(echo "$proxy" | cut -d':' -f3)
- echo "y" |"$sdkTargetFolder/tools/bin/sdkmanager" --no_https --proxy=http --proxy_host="$proxy_host" --proxy_port="$proxy_port" "platforms;$sdkApiLevel" "platform-tools" "build-tools;$sdkBuildToolsVersion"
+ echo "y" | "$sdkTargetFolder/tools/bin/sdkmanager" \
+ --no_https --proxy=http --proxy_host="$proxy_host" --proxy_port="$proxy_port" \
+ "platforms;$sdkApiLevel" "platform-tools" "build-tools;$sdkBuildToolsVersion" \
+ | eval $sdkmanager_no_progress_bar_cmd
else
- echo "y" |"$sdkTargetFolder/tools/bin/sdkmanager" "platforms;$sdkApiLevel" "platform-tools" "build-tools;$sdkBuildToolsVersion"
+ echo "y" | "$sdkTargetFolder/tools/bin/sdkmanager" \
+ "platforms;$sdkApiLevel" "platform-tools" "build-tools;$sdkBuildToolsVersion" \
+ | eval $sdkmanager_no_progress_bar_cmd
fi
echo "Checking the contents of Android SDK..."
@@ -106,8 +119,11 @@ echo "Android SDK API level = $sdkApiLevel" >> ~/versions.txt
echo "Android NDK = $ndkVersion" >> ~/versions.txt
cd "$sdkTargetFolder/tools/bin"
-./sdkmanager --install "emulator"
-echo "y" | ./sdkmanager --install "system-images;android-21;google_apis;x86"
+./sdkmanager --install "emulator" \
+ | eval $sdkmanager_no_progress_bar_cmd
+echo "y" | ./sdkmanager --install "system-images;android-21;google_apis;x86" \
+ | eval $sdkmanager_no_progress_bar_cmd
+
echo "Checking the contents of Android SDK again..."
ls -l "$sdkTargetFolder"
diff --git a/coin/provisioning/common/linux/cmake_linux.sh b/coin/provisioning/common/linux/cmake_linux.sh
index bfe7a9c5..ea2cdf8e 100755
--- a/coin/provisioning/common/linux/cmake_linux.sh
+++ b/coin/provisioning/common/linux/cmake_linux.sh
@@ -42,11 +42,11 @@ source "${BASH_SOURCE%/*}/../unix/InstallFromCompressedFileFromURL.sh"
# shellcheck source=../unix/SetEnvVar.sh
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
-majorminorversion="3.15"
-version="3.15.0-rc1"
+majorminorversion="3.17"
+version="3.17.2"
PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/cmake/cmake-$version-Linux-x86_64.tar.gz"
AltUrl="https://cmake.org/files/v$majorminorversion/cmake-$version-Linux-x86_64.tar.gz"
-SHA1="5e4d2b4478485f1a16c91463fc91eea3a9487b7a"
+SHA1="24a68e61292b91c706b09b4aa8044764e2dfb2e2"
targetFolder="/opt/cmake-$version"
appPrefix="cmake-$version-Linux-x86_64"
diff --git a/coin/provisioning/common/linux/devel_languages_go.SUSE_repo_key.pub b/coin/provisioning/common/linux/devel_languages_go.SUSE_repo_key.pub
new file mode 100644
index 00000000..48162c56
--- /dev/null
+++ b/coin/provisioning/common/linux/devel_languages_go.SUSE_repo_key.pub
@@ -0,0 +1,19 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v1.4.5 (GNU/Linux)
+
+mQGiBEyvJq8RBAD64FtKbU3VFsZ4PAzcSi9rETc1qXZLVQYtrE38niriIJUuT/tC
+kxGjkduD7ozP6rxL+M8fk9UdbbmzhHhXzQT2blyYy2iwpZP5+AFeQawz+oyMRVze
+x6IY5qO31TiRu+aEBptk6nco4DULlKABlvtjKI+gJ4buJm+TumyrPaxe9wCgpFwl
+O0fEjpOfQd+6Du0sCnPX7+8D/3xYVj9q5ILmrJ9zehBKjRYEcaP0rZVqudH51FUS
+I0LQNHsJdzKLzhT+Zj7TJU4KnCN4sX7amfYL3GT9qyZEBDx2alubvEsI36wtNq0i
+ewU4XmyZ+Rd7Q4mAPNoBGe5DsUA8wn/7iHGg9aJHu+GXvH7T3DVoUxW5W2KqPw+h
+jzqGBACWGuuCefa683uf6aKqpTS3JB+01BDPf+sG9qJ+k7xcJOsEiXIe1X5vH9ov
+kEvTM12kzY7SGwlsFsTDT1xioDl62g5nPlZMXErUBVnjoMtjl9bDwUPJY/vP1S9M
+VaONBMoJEON3HRui9jhdEK25LTdrcFlFpRzJI3AgdXwy8aQyiLRGZGV2ZWw6bGFu
+Z3VhZ2VzOmdvIE9CUyBQcm9qZWN0IDxkZXZlbDpsYW5ndWFnZXM6Z29AYnVpbGQu
+b3BlbnN1c2Uub3JnPohmBBMRAgAmBQJc9DoCAhsDBQkUY8NTBgsJCAcDAgQVAggD
+BBYCAwECHgECF4AACgkQr0z+TTB9e/lQZgCfXIjj30HyCPvUbSbSd6zOS0seAegA
+n3DXayMpRphNmyJgLvl5qKfsX7f6iEYEExECAAYFAkyvJq8ACgkQOzARt2udZSOg
+qQCeOba7kjk7CI+64GOkhhTGSdjnjdQAn2IC5tx+PW38XKwl3Jr5YVp0RyR0
+=AOj6
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/coin/provisioning/common/linux/disable-notifications.sh b/coin/provisioning/common/linux/disable-notifications.sh
index 7e805833..28d21656 100755
--- a/coin/provisioning/common/linux/disable-notifications.sh
+++ b/coin/provisioning/common/linux/disable-notifications.sh
@@ -1,4 +1,4 @@
#!/usr/bin/env bash
-sudo gsettings set org.gnome.desktop.notifications.application:/update-manager/ enable false
-sudo gsettings set org.gnome.desktop.notifications show-banners false
+gsettings set org.gnome.desktop.notifications.application:/update-manager/ enable false
+gsettings set org.gnome.desktop.notifications show-banners false
diff --git a/coin/provisioning/common/linux/disable-ntp_linux.sh b/coin/provisioning/common/linux/disable-ntp_linux.sh
index 06d17be0..dc592553 100755
--- a/coin/provisioning/common/linux/disable-ntp_linux.sh
+++ b/coin/provisioning/common/linux/disable-ntp_linux.sh
@@ -41,6 +41,8 @@ if uname -a |grep -q "Ubuntu"; then
sudo timedatectl set-ntp false
elif cat /etc/os-release | grep "PRETTY_NAME" | grep -q "Leap 15"; then
(sudo systemctl stop chronyd && sudo systemctl disable chronyd)
+elif cat /etc/os-release |grep "SUSE Linux Enterprise Server 15"; then
+ sudo timedatectl set-ntp false
else
- (systemctl &>/dev/null && sudo systemctl disable ntpd) || sudo /sbin/chkconfig ntpd off
+ sudo systemctl disable ntpd || sudo /sbin/chkconfig ntpd off
fi
diff --git a/coin/provisioning/common/linux/docker.sh b/coin/provisioning/common/linux/docker.sh
index 9be84e38..cf2ff717 100755
--- a/coin/provisioning/common/linux/docker.sh
+++ b/coin/provisioning/common/linux/docker.sh
@@ -33,21 +33,42 @@
##
#############################################################################
-set -ex
-
-# Download and install the docker engine.
-sudo apt-get install curl -y
-curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
-sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
-sudo apt-get update
-sudo apt-get install docker-ce -y
+set -e
+
+
+PROVISIONING_DIR="$(dirname "$0")/../../"
+. "$PROVISIONING_DIR"/common/unix/common.sourced.sh
+. "$PROVISIONING_DIR"/common/unix/DownloadURL.sh
+
+
+localRepo=http://ci-files01-hki.intra.qt.io/input/docker
+upstreamRepo=https://download.docker.com/linux/ubuntu/dists/bionic/pool/stable/amd64
+
+echo '
+ f4c941807310e3fa470dddfb068d599174a3daec containerd.io_1.2.10-3_amd64.deb
+ ee640d9258fd4d3f4c7017ab2a71da63cbbead55 docker-ce_19.03.4~3-0~ubuntu-bionic_amd64.deb
+ 09402bf5dac40f0c50f1071b17f38f6584a42ad1 docker-ce-cli_19.03.4~3-0~ubuntu-bionic_amd64.deb
+' \
+ | xargs -n2 | while read sha f
+do
+ DownloadURL $localRepo/$f $upstreamRepo/$f $sha
+done
+
+sudo apt-get -y install ./containerd.io_*.deb ./docker-ce_*.deb ./docker-ce-cli_*.deb
+rm -f ./containerd.io_*.deb ./docker-ce_*.deb ./docker-ce-cli_*.deb
+
sudo usermod -a -G docker $USER
sudo docker --version
-# Download and install the docker-compose extension.
-sudo curl -L https://github.com/docker/compose/releases/download/1.21.0/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
-sudo chmod +x /usr/local/bin/docker-compose
+# Download and install the docker-compose extension from https://github.com/docker/compose/releases
+f=docker-compose-$(uname -s)-$(uname -m)
+DownloadURL \
+ $localRepo/$f-1.24.1 \
+ https://github.com/docker/compose/releases/download/1.24.1/$f \
+ cfb3439956216b1248308141f7193776fcf4b9c9b49cbbe2fb07885678e2bb8a
+sudo install -m 755 ./docker-compose* /usr/local/bin/docker-compose
sudo docker-compose --version
+rm ./docker-compose*
# Install Avahi to discover Docker containers in the test network
sudo apt-get install avahi-daemon -y
diff --git a/coin/provisioning/common/linux/gcc.sh b/coin/provisioning/common/linux/gcc.sh
index c26c9bf1..06fe8bf7 100755
--- a/coin/provisioning/common/linux/gcc.sh
+++ b/coin/provisioning/common/linux/gcc.sh
@@ -88,15 +88,15 @@ function InstallGCC() {
# openSUSE has update-alternatives under /usr/sbin and it has grouped the commands by means of master and slave links
if [ -f "/usr/sbin/update-alternatives" ]; then
- sudo /usr/sbin/update-alternatives --install /usr/bin/gcc gcc "$installPrefix/bin/gcc-$suffixVersion" "$priority" \
- --slave /usr/bin/g++ g++ "$installPrefix/bin/g++-$suffixVersion" \
- --slave /usr/bin/cc cc "$installPrefix/bin/gcc-$suffixVersion" \
- --slave /usr/bin/c++ c++ "$installPrefix/bin/g++-$suffixVersion"
+ sudo /usr/sbin/update-alternatives --install /usr/bin/gcc gcc "$installPrefix/bin/gcc${suffixVersion}" "$priority" \
+ --slave /usr/bin/g++ g++ "$installPrefix/bin/g++${suffixVersion}" \
+ --slave /usr/bin/cc cc "$installPrefix/bin/gcc${suffixVersion}" \
+ --slave /usr/bin/c++ c++ "$installPrefix/bin/g++${suffixVersion}"
else
- sudo /usr/bin/update-alternatives --install /usr/bin/gcc gcc "$installPrefix/bin/gcc-$suffixVersion" "$priority"
- sudo /usr/bin/update-alternatives --install /usr/bin/g++ g++ "$installPrefix/bin/g++-$suffixVersion" "$priority"
- sudo /usr/bin/update-alternatives --install /usr/bin/cc cc "$installPrefix/bin/gcc-$suffixVersion" "$priority"
- sudo /usr/bin/update-alternatives --install /usr/bin/c++ c++ "$installPrefix/bin/g++-$suffixVersion" "$priority"
+ sudo /usr/bin/update-alternatives --install /usr/bin/gcc gcc "$installPrefix/bin/gcc${suffixVersion}" "$priority"
+ sudo /usr/bin/update-alternatives --install /usr/bin/g++ g++ "$installPrefix/bin/g++${suffixVersion}" "$priority"
+ sudo /usr/bin/update-alternatives --install /usr/bin/cc cc "$installPrefix/bin/gcc${suffixVersion}" "$priority"
+ sudo /usr/bin/update-alternatives --install /usr/bin/c++ c++ "$installPrefix/bin/g++${suffixVersion}" "$priority"
fi
echo "/usr/local/lib64" | sudo tee /etc/ld.so.conf.d/gcc-libraries.conf
diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/03-install-rhel-epel.sh b/coin/provisioning/common/linux/install_dwz.sh
index 21a45506..1df959e2 100755
--- a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/03-install-rhel-epel.sh
+++ b/coin/provisioning/common/linux/install_dwz.sh
@@ -3,6 +3,7 @@
#############################################################################
##
## Copyright (C) 2018 The Qt Company Ltd.
+## Copyright (C) 2020 Konstantin Tokarev <annulen@yandex.ru>
## Contact: http://www.qt.io/licensing/
##
## This file is part of the provisioning scripts of the Qt Toolkit.
@@ -33,17 +34,38 @@
##
#############################################################################
-# shellcheck source=../common/unix/DownloadURL.sh
-source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh"
+# shellcheck source=../unix/DownloadURL.sh
+source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh"
+# shellcheck source=../unix/SetEnvVar.sh
+source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
-package="epel-release-6-8.noarch.rpm"
-primaryUrl="https://dl.fedoraproject.org/pub/epel/6/x86_64/Packages/e/$package"
-cacheUrl="http://ci-files01-hki.intra.qt.io/input/rhel6/$package"
-sha1="2b2767a5ae0de30b9c7b840f2e34f5dd9deaf19a"
-targetFile="/tmp/$package"
+# This script will install dwz 0.13 - optimization tool for DWARF debug info
-DownloadURL "$primaryUrl" "$cacheUrl" "$sha1" "$targetFile"
+version="0.13"
+sha1="21e6d5878bb84ac6c9ad07b00ed248d8c547bc7d"
+internalUrl="http://ci-files01-hki.intra.qt.io/input/rhel7/dwz-$version.tar.xz"
+externalUrl="https://www.sourceware.org/ftp/dwz/releases/dwz-$version.tar.xz"
-sudo rpm -ivh "$targetFile"
-rm "$targetFile"
+targetDir="$HOME/dwz"
+targetFile="$HOME/dwz-$version.zip"
+DownloadURL "$internalUrl" "$externalUrl" "$sha1" "$targetFile"
+tar -xJf "$targetFile" -C "$HOME"
+sudo rm "$targetFile"
+# devtoolset is needed when running configuration
+export PATH="/opt/rh/devtoolset-4/root/usr/bin:$PATH"
+
+installPrefix="/opt/dwz-$version"
+
+echo "Configuring and building dwz"
+cd "$targetDir"
+# dwz uses plain makefile instead of autotools, so it works a bit unconventionally
+./configure
+make -j5
+sudo make install prefix=$installPrefix
+
+sudo rm -r "$targetDir"
+
+SetEnvVar "PATH" "$installPrefix/bin:\$PATH"
+
+echo "dwz = $version" >> ~/versions.txt
diff --git a/coin/provisioning/common/linux/openssl_for_android_linux.sh b/coin/provisioning/common/linux/openssl_for_android_linux.sh
index d833975f..4860c01f 100755
--- a/coin/provisioning/common/linux/openssl_for_android_linux.sh
+++ b/coin/provisioning/common/linux/openssl_for_android_linux.sh
@@ -53,11 +53,11 @@ else
rm -rf "$exports_file"
fi
-version="1.1.1b"
+version="1.1.1d"
officialUrl="https://www.openssl.org/source/openssl-$version.tar.gz"
cachedUrl="http://ci-files01-hki.intra.qt.io/input/openssl/openssl-$version.tar.gz"
targetFile="/tmp/openssl-$version.tar.gz"
-sha="e9710abf5e95c48ebf47991b10cbb48c09dae102"
+sha="056057782325134b76d1931c48f2c7e6595d7ef4"
opensslHome="${HOME}/openssl/android/openssl-${version}"
DownloadURL "$cachedUrl" "$officialUrl" "$sha" "$targetFile"
mkdir -p "${HOME}/openssl/android/"
diff --git a/coin/provisioning/common/linux/qnx_660.sh b/coin/provisioning/common/linux/qnx_660.sh
index 2add6901..eb6fd5f0 100755
--- a/coin/provisioning/common/linux/qnx_660.sh
+++ b/coin/provisioning/common/linux/qnx_660.sh
@@ -49,7 +49,7 @@ echo "$sha1 $targetFile" | sha1sum --check
if [ ! -d "$targetFolder" ]; then
mkdir -p $targetFolder
fi
-sudo tar -C $targetFolder -xvzf $targetFile
+sudo tar -C $targetFolder -xzf $targetFile
sudo chown -R qt:users "$targetFolder"/"$folderName"
# Verify that we have last file in tar
diff --git a/coin/provisioning/common/linux/remove-update_notifier.sh b/coin/provisioning/common/linux/remove-update_notifier.sh
index 152d7fa8..4ee32d61 100755
--- a/coin/provisioning/common/linux/remove-update_notifier.sh
+++ b/coin/provisioning/common/linux/remove-update_notifier.sh
@@ -1,3 +1,3 @@
#!/usr/bin/env bash
-sudo apt -q -y remove update-notifier update-manager
+sudo apt -q -y remove update-notifier update-manager python3-distupgrade python3-update-manager ubuntu-release-upgrader-core update-manager-core
diff --git a/coin/provisioning/common/linux/remove_update-manager.sh b/coin/provisioning/common/linux/remove_update-manager.sh
deleted file mode 100755
index d5dc1ca4..00000000
--- a/coin/provisioning/common/linux/remove_update-manager.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/usr/bin/env bash
-
-sudo apt-get remove update-manager
diff --git a/coin/provisioning/common/linux/telegraf-coin.conf b/coin/provisioning/common/linux/telegraf-coin.conf
new file mode 100644
index 00000000..33a9c6de
--- /dev/null
+++ b/coin/provisioning/common/linux/telegraf-coin.conf
@@ -0,0 +1,47 @@
+[global_tags]
+[agent]
+ interval = "10s"
+ round_interval = true
+ metric_batch_size = 100
+ metric_buffer_limit = 10000
+ collection_jitter = "0s"
+ flush_interval = "10s"
+ flush_jitter = "5s"
+ precision = ""
+ logfile = "/var/log/telegraf-coin.log"
+ hostname = "$COIN_UNIQUE_JOB_ID"
+ omit_hostname = false
+[[outputs.influxdb]]
+ urls= ["https://qtinfluxdb01.intra.qt.io:8086"]
+ insecure_skip_verify = true
+ database = "coin_vms"
+ skip_database_creation = true
+ username = "coin_vms_writer"
+ password = "COIN_VMS_WRITER_PASS"
+[[inputs.cpu]]
+ percpu = true
+ totalcpu = true
+ collect_cpu_time = false
+ report_active = false
+[[inputs.disk]]
+ ignore_fs = ["tmpfs", "devtmpfs", "devfs", "iso9660", "overlay", "aufs", "squashfs"]
+[[inputs.diskio]]
+[[inputs.kernel]]
+[[inputs.mem]]
+[[inputs.processes]]
+[[inputs.swap]]
+[[inputs.system]]
+[[inputs.kernel_vmstat]] # linux-only
+[[inputs.netstat]]
+
+
+# Monitor Coin process
+[[inputs.procstat]]
+ exe = "coin-"
+ pid_finder = "native"
+
+
+# Monitor I/O latency
+[[inputs.exec]]
+ data_format = "influx"
+ commands = [ "/usr/bin/telegraf-ioping.sh /" ]
diff --git a/coin/provisioning/common/linux/version.sh b/coin/provisioning/common/linux/version.sh
index 3e2a7f19..9e23a77e 100755
--- a/coin/provisioning/common/linux/version.sh
+++ b/coin/provisioning/common/linux/version.sh
@@ -41,3 +41,9 @@ echo "*********************************************"
echo "***** SW VERSIONS *****"
cat ~/versions.txt
echo "*********************************************"
+echo "*************** mount ***********************"
+mount
+echo "*********************************************"
+echo "*************** df **************************"
+df -hT
+echo "*********************************************"
diff --git a/coin/provisioning/common/macos/InstallPKGFromURL.sh b/coin/provisioning/common/macos/InstallPKGFromURL.sh
index 77ef128a..d9b55d3b 100755
--- a/coin/provisioning/common/macos/InstallPKGFromURL.sh
+++ b/coin/provisioning/common/macos/InstallPKGFromURL.sh
@@ -42,7 +42,9 @@ function InstallPKGFromURL {
targetDirectory=$4
echo "Creating temporary file"
- targetFile=$(mktemp "$TMPDIR$(uuidgen).pkg")
+ package_basename=$(echo "$url" | sed 's|^.*/||')
+ tmpdir=$(mktemp -d)
+ targetFile="$tmpdir/$package_basename"
echo "Downloading PKG from primary URL '$url'"
curl --fail -L --retry 5 --retry-delay 5 -o "$targetFile" "$url" || (
echo "Failed to download '$url' multiple times"
@@ -50,10 +52,12 @@ function InstallPKGFromURL {
curl --fail -L --retry 5 --retry-delay 5 -o "$targetFile" "$url_alt"
)
echo "Checking SHA1 on PKG '$targetFile'"
- echo "$expectedSha1 *$targetFile" > "$targetFile.sha1"
- /usr/bin/shasum --check "$targetFile.sha1"
+ echo "$expectedSha1 *$targetFile" > "$targetFile".sha1
+ /usr/bin/shasum --check "$targetFile".sha1
echo "Run installer on PKG"
sudo installer -package "$targetFile" -target "$targetDirectory"
- echo "Removing file '$targetFile'"
- rm "$targetFile"
+
+ rm -f "$targetFile".sha1
+ rm -f "$targetFile"
+ rmdir "$tmpdir"
}
diff --git a/coin/provisioning/common/macos/cmake.sh b/coin/provisioning/common/macos/cmake.sh
index ed49de81..80b513d6 100755
--- a/coin/provisioning/common/macos/cmake.sh
+++ b/coin/provisioning/common/macos/cmake.sh
@@ -42,13 +42,15 @@ source "${BASH_SOURCE%/*}/InstallAppFromCompressedFileFromURL.sh"
# shellcheck source=../unix/SetEnvVar.sh
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
-PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mac/macos_10.13_high_sierra/cmake-3.15.0-rc1-Darwin-x86_64.tar.gz"
-AltUrl="https://cmake.org/files/v3.15/cmake-3.15.0-rc1-Darwin-x86_64.tar.gz"
-SHA1="94b6aa5f36fd20811eb6c5c036bb2ec154f2d652"
-appPrefix="cmake-3.15.0-rc1-Darwin-x86_64"
+majorminorversion="3.17"
+version="3.17.2"
+PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/cmake/cmake-$version-Darwin-x86_64.tar.gz"
+AltUrl="https://cmake.org/files/v$majorminorversion/cmake-$version-Darwin-x86_64.tar.gz"
+SHA1="918a21481751b19915767649281d623aa60716f4"
+appPrefix="cmake-$version-Darwin-x86_64"
InstallAppFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$appPrefix"
SetEnvVar "PATH" "/Applications/CMake.app/Contents/bin:\$PATH"
-echo "CMake = 3.15.0-rc1" >> ~/versions.txt
+echo "CMake = $version" >> ~/versions.txt
diff --git a/coin/provisioning/common/macos/disable-notifications_and_warnings.sh b/coin/provisioning/common/macos/disable-notifications_and_warnings.sh
new file mode 100755
index 00000000..c40a4f65
--- /dev/null
+++ b/coin/provisioning/common/macos/disable-notifications_and_warnings.sh
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+echo "Unload notificationcenterui.plist"
+launchctl unload -w /System/Library/LaunchAgents/com.apple.notificationcenterui.plist
+
+echo "Remove 32-bit warnings"
+rm ~/Library/Preferences/com.apple.coreservices.uiagent.plist
diff --git a/coin/provisioning/common/macos/homebrew.sh b/coin/provisioning/common/macos/homebrew.sh
index a6efe123..66463c44 100755
--- a/coin/provisioning/common/macos/homebrew.sh
+++ b/coin/provisioning/common/macos/homebrew.sh
@@ -1,3 +1,21 @@
-#!/usr/bin/env bash
-# Will install homebrew package manager for macOS
-/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" </dev/null
+#!/bin/sh
+
+
+# Will install homebrew package manager for macOS.
+# WARNING: Requires commandlinetools
+
+
+set -e
+
+. "$(dirname "$0")"/../../common/unix/DownloadURL.sh
+
+
+DownloadURL \
+ http://ci-files01-hki.intra.qt.io/input/mac/homebrew-install.c744a716f9845988d01e6e238eee7117b8c366c9.rb \
+ https://raw.githubusercontent.com/Homebrew/install/c744a716f9845988d01e6e238eee7117b8c366c9/install \
+ b9782cc0b550229de77b429b56ffce04157e60486ab9df00461ccf3dad565b0a \
+ /tmp/homebrew_install
+/usr/bin/ruby /tmp/homebrew_install </dev/null
+
+# No need to manually do `brew update`, the homebrew installer script does it.
+### brew update
diff --git a/coin/provisioning/common/windows/install-vcpkg.ps1 b/coin/provisioning/common/macos/increase_limits.sh
index 36b0d826..040c55e8 100644..100755
--- a/coin/provisioning/common/windows/install-vcpkg.ps1
+++ b/coin/provisioning/common/macos/increase_limits.sh
@@ -1,3 +1,5 @@
+#!/bin/sh
+
#############################################################################
##
## Copyright (C) 2019 The Qt Company Ltd.
@@ -30,37 +32,39 @@
## $QT_END_LICENSE$
##
#############################################################################
-. "$PSScriptRoot\helpers.ps1"
-# This script will install vcpkg
-Write-Host "Installing vcpkg"
+# Increase the soft and hard RLIMIT_NOFILE and RLIMIT_NPROC limits.
+# By default they are 256/unlimited and 709/1064
+# and they sometimes create problems to the build process and telegraf.
+
+
+set -e
-$version = "qt-snapshot-2019-06-20"
-$officialUrl = "https://codeload.github.com/tronical/vcpkg/zip/$version"
-$zip = "C:\Utils\vcpkg.zip"
+PROVISIONING_DIR="$(dirname "$0")/../../"
+. "$PROVISIONING_DIR"/common/unix/common.sourced.sh
-Download "$officialUrl" "" "$zip"
-Extract-7Zip "$zip" c:\utils
-Remove-Item $zip
-$installationFolder = "c:\utils\vcpkg-$version"
+echo "Current limits are:"
+ulimit -a
+launchctl limit
-cd $installationFolder
+$CMD_INSTALL -m 644 -o root -g wheel \
+ $PROVISIONING_DIR/common/macos/limit.maxfiles.plist \
+ $PROVISIONING_DIR/common/macos/limit.maxproc.plist \
+ /Library/LaunchDaemons/
-cmd /c bootstrap-vcpkg.bat
+# Activate the new limits immediately (not for the current session though)
+sudo launchctl load -w /Library/LaunchDaemons/limit.maxfiles.plist
+sudo launchctl load -w /Library/LaunchDaemons/limit.maxproc.plist
-if(![System.IO.File]::Exists("$installationFolder\vcpkg.exe")){
- Write-Host "Can't find $installationFolder\vcpkg.exe. Installation probably failed!"
- exit 1
-}
+echo "After adjusting, limits are:"
+ulimit -a
+launchctl limit
-Set-EnvironmentVariable VCPKG_DEFAULT_TRIPLET "qt-x64-windows-static"
-Set-EnvironmentVariable VCPKG_ROOT "$installationFolder"
-cmd /c $installationFolder\vcpkg.exe install --triplet qt-x64-windows-static @qt-packages-windows.txt
-cmd /c $installationFolder\vcpkg.exe install --triplet qt-x86-windows-static @qt-packages-windows.txt
+# NOTE: If the limits are not increased enough, it might be because of
+# restrictions set by the kernel. They can be temporarily altered with:
-Remove-Item -Recurse -Force packages
-Remove-Item -Recurse -Force buildtrees
-Remove-Item -Recurse -Force downloads
+# sudo sysctl -w kern.maxproc=xxxx
+# sudo sysctl -w kern.maxprocperuid=xxx
diff --git a/coin/provisioning/common/macos/install-commandlinetools.sh b/coin/provisioning/common/macos/install-commandlinetools.sh
index 7b0ead98..cd7838b6 100755
--- a/coin/provisioning/common/macos/install-commandlinetools.sh
+++ b/coin/provisioning/common/macos/install-commandlinetools.sh
@@ -50,7 +50,7 @@ function InstallCommandLineTools {
hdiutil attach "/tmp/$packageName"
cd "/Volumes/Command Line Developer Tools"
echo "Installing"
- sudo installer -verbose -pkg ./*.pkg -target /
+ sudo installer -pkg ./*.pkg -target / -allowUntrusted
cd /
# Let's fait for 5 second before unmounting. Sometimes resource is busy and cant be unmounted
sleep 3
diff --git a/coin/provisioning/common/macos/install_openssl_111a.sh b/coin/provisioning/common/macos/install_openssl_111a.sh
deleted file mode 100755
index cd6cd9e8..00000000
--- a/coin/provisioning/common/macos/install_openssl_111a.sh
+++ /dev/null
@@ -1,78 +0,0 @@
-#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2019 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-# This script install OpenSSL
-
-set -ex
-
-# shellcheck source=../unix/InstallFromCompressedFileFromURL.sh
-source "${BASH_SOURCE%/*}/../unix/InstallFromCompressedFileFromURL.sh"
-# shellcheck source=../unix/SetEnvVar.sh
-source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
-
-opensslVersion="1.1.1a"
-opensslFile="openssl-$opensslVersion.tar.gz"
-opensslDlUrl="http://ci-files01-hki.intra.qt.io/input/openssl/$opensslFile"
-opensslAltDlUrl="https://www.openssl.org/source/$opensslFile"
-opensslSha1="8fae27b4f34445a5500c9dc50ae66b4d6472ce29"
-
-# Below target location has been hard coded into Coin.
-# QTQAINFRA-1195
-openssl_install_dir=/usr/local/openssl-$opensslVersion
-opensslTargetLocation="/usr/local/opt/openssl"
-
-InstallFromCompressedFileFromURL "$opensslDlUrl" "$opensslAltDlUrl" "$opensslSha1" "/tmp/openssl-$opensslVersion" "openssl-$opensslVersion"
-cd "/tmp/openssl-$opensslVersion"
-sudo ./Configure --prefix=$openssl_install_dir shared no-ssl3-method enable-ec_nistp_64_gcc_128 darwin64-x86_64-cc "-Wa,--noexecstack"
-
-sudo make install_sw install_ssldirs
-
-path=$(echo "$opensslTargetLocation" | sed -E 's/(.*)\/.*$/\1/')
-sudo mkdir -p "$path"
-sudo ln -s $openssl_install_dir $opensslTargetLocation
-
-SetEnvVar "PATH" "\"$opensslTargetLocation/bin:\$PATH\""
-SetEnvVar "MANPATH" "\"$opensslTargetLocation/share/man:\$MANPATH\""
-
-SetEnvVar "OPENSSL_DIR" "\"$openssl_install_dir\""
-SetEnvVar "OPENSSL_INCLUDE" "\"$openssl_install_dir/include\""
-SetEnvVar "OPENSSL_LIB" "\"$openssl_install_dir/lib\""
-
-security find-certificate -a -p /Library/Keychains/System.keychain | sudo tee -a $opensslTargetLocation/ssl/cert.pem > /dev/null
-security find-certificate -a -p /System/Library/Keychains/SystemRootCertificates.keychain | sudo tee -a $opensslTargetLocation/ssl/cert.pem > /dev/null
-
-sudo rm -rf /tmp/openssl-$opensslVersion
-
-echo "OpenSSL = $opensslVersion" >> ~/versions.txt
diff --git a/coin/provisioning/common/macos/libiodbc.rb b/coin/provisioning/common/macos/libiodbc.rb
new file mode 100644
index 00000000..ed669e69
--- /dev/null
+++ b/coin/provisioning/common/macos/libiodbc.rb
@@ -0,0 +1,23 @@
+class Libiodbc < Formula
+ desc "Database connectivity layer based on ODBC. (alternative to unixodbc)"
+ homepage "http://www.iodbc.org/dataspace/iodbc/wiki/iODBC/"
+ url "https://github.com/openlink/iODBC/archive/v3.52.12.tar.gz"
+ sha256 "b2cab4f8fbd5388344d7ee0deb1a32310795b1e631c3505a5b515d90186e2516"
+
+ depends_on "autoconf" => :build
+ depends_on "automake" => :build
+ depends_on "libtool" => :build
+
+ conflicts_with "unixodbc", :because => "both install 'odbcinst.h' header"
+
+ def install
+ system "./autogen.sh"
+ system "./configure", "--prefix=#{prefix}"
+ system "make", "install"
+ end
+
+ test do
+ system bin/"iodbc-config", "--version"
+ end
+end
+
diff --git a/coin/provisioning/common/macos/libiodbc.sh b/coin/provisioning/common/macos/libiodbc.sh
index 79fa86c2..d620c71d 100755
--- a/coin/provisioning/common/macos/libiodbc.sh
+++ b/coin/provisioning/common/macos/libiodbc.sh
@@ -40,8 +40,7 @@ set -ex
# shellcheck source=../unix/SetEnvVar.sh
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
-brew update
-brew install libiodbc
+brew install ${BASH_SOURCE%/*}/libiodbc.rb
# CPLUS_INCLUDE_PATH is set so clang and configure can find libiodbc
diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/01-refresh-subscription-manager.sh b/coin/provisioning/common/macos/libusb.sh
index 84238ebf..cf9e7150 100755
--- a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/01-refresh-subscription-manager.sh
+++ b/coin/provisioning/common/macos/libusb.sh
@@ -2,7 +2,7 @@
#############################################################################
##
-## Copyright (C) 2018 The Qt Company Ltd.
+## Copyright (C) 2020 The Qt Company Ltd.
## Contact: http://www.qt.io/licensing/
##
## This file is part of the provisioning scripts of the Qt Toolkit.
@@ -33,11 +33,11 @@
##
#############################################################################
+# Install libusb
set -ex
-# refresh local certificates
-sudo subscription-manager refresh
-
-# Attach available subscriptions to system. This is needed when subscriptions are renewed.
-sudo subscription-manager attach --auto
-
+source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
+brew install libusb
+read -r -a arr <<< $(brew list --versions libusb)
+version=${arr[1]}
+echo "libusb = $version" >> ~/versions.txt
diff --git a/coin/provisioning/common/macos/limit.maxfiles.plist b/coin/provisioning/common/macos/limit.maxfiles.plist
new file mode 100644
index 00000000..1bf85214
--- /dev/null
+++ b/coin/provisioning/common/macos/limit.maxfiles.plist
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+ <dict>
+ <key>Label</key>
+ <string>limit.maxfiles</string>
+ <key>ProgramArguments</key>
+ <array>
+ <string>launchctl</string>
+ <string>limit</string>
+ <string>maxfiles</string>
+ <string>65536</string>
+ <string>524288</string>
+ </array>
+ <key>RunAtLoad</key>
+ <true/>
+ <key>ServiceIPC</key>
+ <false/>
+ </dict>
+</plist>
diff --git a/coin/provisioning/common/macos/limit.maxproc.plist b/coin/provisioning/common/macos/limit.maxproc.plist
new file mode 100644
index 00000000..0c2cc0e9
--- /dev/null
+++ b/coin/provisioning/common/macos/limit.maxproc.plist
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+ <dict>
+ <key>Label</key>
+ <string>limit.maxproc</string>
+ <key>ProgramArguments</key>
+ <array>
+ <string>launchctl</string>
+ <string>limit</string>
+ <string>maxproc</string>
+ <string>8192</string>
+ <string>32768</string>
+ </array>
+ <key>RunAtLoad</key>
+ <true/>
+ <key>ServiceIPC</key>
+ <false/>
+ </dict>
+</plist>
diff --git a/coin/provisioning/common/macos/pkgconfig.sh b/coin/provisioning/common/macos/pkgconfig.sh
new file mode 100755
index 00000000..9fad4912
--- /dev/null
+++ b/coin/provisioning/common/macos/pkgconfig.sh
@@ -0,0 +1,43 @@
+#!/usr/bin/env bash
+
+#############################################################################
+##
+## Copyright (C) 2020 The Qt Company Ltd.
+## Contact: http://www.qt.io/licensing/
+##
+## This file is part of the provisioning scripts of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL21$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see http://www.qt.io/terms-conditions. For further
+## information use the contact form at http://www.qt.io/contact-us.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 2.1 or version 3 as published by the Free
+## Software Foundation and appearing in the file LICENSE.LGPLv21 and
+## LICENSE.LGPLv3 included in the packaging of this file. Please review the
+## following information to ensure the GNU Lesser General Public License
+## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## As a special exception, The Qt Company gives you certain additional
+## rights. These rights are described in The Qt Company LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+# Install pkgconfig
+set -ex
+
+source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
+brew install pkgconfig
+read -r -a arr <<< $(brew list --versions pkgconfig)
+version=${arr[1]}
+echo "pkgconfig = $version" >> ~/versions.txt
diff --git a/coin/provisioning/common/macos/set-locale.sh b/coin/provisioning/common/macos/set-locale.sh
new file mode 100755
index 00000000..b4a84522
--- /dev/null
+++ b/coin/provisioning/common/macos/set-locale.sh
@@ -0,0 +1,41 @@
+#!/usr/bin/env bash
+
+#############################################################################
+##
+## Copyright (C) 2019 The Qt Company Ltd.
+## Copyright (C) 2017 Pelagicore AG
+## Contact: http://www.qt.io/licensing/
+##
+## This file is part of the provisioning scripts of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL21$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see http://www.qt.io/terms-conditions. For further
+## information use the contact form at http://www.qt.io/contact-us.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 2.1 or version 3 as published by the Free
+## Software Foundation and appearing in the file LICENSE.LGPLv21 and
+## LICENSE.LGPLv3 included in the packaging of this file. Please review the
+## following information to ensure the GNU Lesser General Public License
+## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## As a special exception, The Qt Company gives you certain additional
+## rights. These rights are described in The Qt Company LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+# This script sets the macOS locale to UTF-8
+set -ex
+
+source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
+SetEnvVar "LANG" "en_US.UTF-8"
diff --git a/coin/provisioning/common/macos/telegraf-coin.conf b/coin/provisioning/common/macos/telegraf-coin.conf
new file mode 100644
index 00000000..006de88c
--- /dev/null
+++ b/coin/provisioning/common/macos/telegraf-coin.conf
@@ -0,0 +1,57 @@
+[global_tags]
+[agent]
+ interval = "10s"
+ round_interval = true
+ metric_batch_size = 100
+ metric_buffer_limit = 10000
+ collection_jitter = "0s"
+ flush_interval = "10s"
+ flush_jitter = "5s"
+ precision = ""
+ logfile = "/var/log/telegraf-coin.log"
+ hostname = "$COIN_UNIQUE_JOB_ID"
+ omit_hostname = false
+[[outputs.influxdb]]
+ urls= ["https://qtinfluxdb01.intra.qt.io:8086"]
+ insecure_skip_verify = true
+ database = "coin_vms"
+ skip_database_creation = true
+ username = "coin_vms_writer"
+ password = "COIN_VMS_WRITER_PASS"
+#[[inputs.cpu]] # linux-only
+# percpu = true
+# totalcpu = true
+# collect_cpu_time = false
+# report_active = false
+[[inputs.disk]]
+ # macOS needs two extra filesystem exceptions:
+ # + cd9660: This is a read-only filesystem, and always 100% full
+ # + msdos: Sometimes at boot a short-lived unique mount of type "msdos"
+ # is performed, at the random directory
+ # /Volumes/firmwaresyncd.XXXXXX.
+ # The uniqueness of the path bloats the cardinality of InfluxDB.
+ ignore_fs = ["tmpfs", "devtmpfs", "devfs", "iso9660", "overlay", "aufs", "squashfs", "cd9660", "msdos"]
+#[[inputs.diskio]] # linux-only
+[[inputs.kernel]]
+[[inputs.mem]]
+[[inputs.processes]]
+[[inputs.swap]]
+[[inputs.system]]
+#[[inputs.kernel_vmstat]] # linux-only
+[[inputs.netstat]]
+
+
+# Monitor Coin process
+[[inputs.procstat]]
+ exe = "coin-"
+ # Buggy on macOS if using the "native" pid_finder, see:
+ # https://github.com/influxdata/telegraf/issues/6265
+ # Tested 1.12.1 version that "native" pid_finder has been fixed,
+ # but it is slow and times out frequently
+ pid_finder = "pgrep"
+
+
+# Monitor I/O latency
+[[inputs.exec]]
+ data_format = "influx"
+ commands = [ "/usr/bin/telegraf-ioping.sh /" ]
diff --git a/coin/provisioning/common/macos/version.sh b/coin/provisioning/common/macos/version.sh
index 3e2a7f19..e57fb60b 100755
--- a/coin/provisioning/common/macos/version.sh
+++ b/coin/provisioning/common/macos/version.sh
@@ -41,3 +41,9 @@ echo "*********************************************"
echo "***** SW VERSIONS *****"
cat ~/versions.txt
echo "*********************************************"
+echo "*************** mount ***********************"
+mount
+echo "*********************************************"
+echo "*************** df **************************"
+df -h
+echo "*********************************************"
diff --git a/coin/provisioning/common/shared/requirements.txt b/coin/provisioning/common/shared/requirements.txt
index 60239142..7285caca 100644
--- a/coin/provisioning/common/shared/requirements.txt
+++ b/coin/provisioning/common/shared/requirements.txt
@@ -9,7 +9,7 @@ argh==0.26.2
click==6.7
coloredlogs==10.0
humanfriendly==4.15.1
-Jinja2==2.10
+Jinja2==2.10.3
MarkupSafe==1.0
path.py==11.0.1
pathtools==0.1.2
diff --git a/coin/provisioning/common/shared/telegraf/influxdb.repo_key.pub b/coin/provisioning/common/shared/telegraf/influxdb.repo_key.pub
new file mode 100644
index 00000000..c97d5933
--- /dev/null
+++ b/coin/provisioning/common/shared/telegraf/influxdb.repo_key.pub
@@ -0,0 +1,52 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v1
+
+mQINBFYJmwQBEADCw7mob8Vzk+DmkYyiv0dTU/xgoSlp4SQwrTzat8MB8jxmx60l
+QjmhqEyuB8ho4zzZF9KV+gJWrG6Rj4t69JMTJWM7jFz+0B1PC7kJfNM+VcBmkTnj
+fP+KJjqz50ETnsF0kQTG++UJeRYjG1dDK0JQNQJAM6NQpIWJI339lcDf15vzrMnb
+OgIlNxV6j1ZZqkle4fvScF1NQxYScRiL+sRgVx92SI4SyD/xZnVGD/szB+4OCzah
++0Q/MnNGV6TtN0RiCDZjIUYiHoeT9iQXEONKf7T62T4zUafO734HyqGvht93MLVU
+GQAeuyx0ikGsULfOsJfBmb3XJS9u+16v7oPFt5WIbeyyNuhUu0ocK/PKt5sPYR4u
+ouPq6Ls3RY3BGCH9DpokcYsdalo51NMrMdnYwdkeq9MEpsEKrKIN5ke7fk4weamJ
+BiLI/bTcfM7Fy5r4ghdI9Ksw/ULXLm4GNabkIOSfT7UjTzcBDOvWfKRBLX4qvsx4
+YzA5kR+nX85u6I7W10aSqBiaLqk6vCj0QmBmCjlSeYqNQqSzH/6OoL6FZ7lP6AiG
+F2NyGveJKjugoXlreLEhOYp20F81PNwlRBCAlMC2Q9mpcFu0dtAriVoG4gVDdYn5
+t+BiGfD2rJlCinYLgYBDpTPcdRT3VKHWqL9fcC4HKmic0mwWg9homx550wARAQAB
+tDFJbmZsdXhEQiBQYWNrYWdpbmcgU2VydmljZSA8c3VwcG9ydEBpbmZsdXhkYi5j
+b20+iQI3BBMBCgAhBQJWCZsEAhsDBQsJCAcDBRUKCQgLBRYDAgEAAh4BAheAAAoJ
+EGhKFM8lguDF9XEQAK9rREnZt6ujh7GXfeNki35bkn39q8GYh0mouShFbFY9o0i3
+UJVChsxokJSRPgFh9GOhOPTupl3rzfdpD+IlWI2Myt6han2HOjZKNZ4RGNrYJ5UR
+uxt4dKMWlMbpkzL56bhHlx97RoXKv2d2zRQfw9nyZb6t3lw2k2kKXsMxjGa0agM+
+2SropwYOXdtkz8UWaGd3LYxwEvW3AuhI8EEEHdLetQaYe9sANDvUEofgFbdsuICH
+9QLmbYavk7wyGTPBKfPBbeyTxwW2rMUnFCNccMKLm1i5NpZYineBtQbX2cfx9Xsk
+1JLOzEBmNal53H2ob0kjev6ufzOD3s8hLu4KMCivbIz4YT3fZyeExn0/0lUtsQ56
+5fCxE983+ygDzKsCnfdXqm3GgjaI90OkNr1y4gWbcd5hicVDv5fD3TD9f0GbpDVw
+yDz8YmvNzxMILt5Glisr6aH7gLG/u8jxy0D8YcBiyv5kfY4vMI2yXHpGg1cn/sVu
+ZB01sU09VVIM2BznnimyAayI430wquxkZCyMx//BqFM1qetIgk1wDZTlFd0n6qtA
+fDmXAC4s5pM5rfM5V57WmPaIqnRIaESJ35tFUFlCHfkfl/N/ribGVDg1z2KDW08r
+96oEiIIiV4GfXl+NprJqpNS3Cn+aCXtd7/TsDScDEgs4sMaR29Lsf26cuWk8uQIN
+BFYJmwQBEADDPi3fmwn6iwkiDcH2E2V31cHlBw9OdJfxKVUdyAQEhTtqmG9P8XFZ
+ERRQF155XLQPLvRlUlq7vEYSROn5J6BAnsjdjsH9LmFMOEV8CIRCRIDePG/Mez2d
+nIK5yiU6GkS3IFaQg2T9/tOBKxm0ZJPfqTXbT4jFSfvYJ3oUqc+AyYxtb8gj1GRk
+X283/86/bA3C98u7re1vPtiDRyM8r0+lhEc59Yx/EAOL+X2gZyTgyUoH+LLuOWQK
+s1egI8y80R8NZfM1nMiQk2ywMsTFwQjSVimScvzqv5Nt8k8CvHUQ3a6R+6doXGNX
+5RnUqn9Qvmh0JY5sNgFsoaGbuk2PJrVaGBRnfnjaDqAlZpDhwkWhcCcguNhRbRHp
+N7/a0pQr70bAG9VikzLyGC17EU0sxney/hyNHkr4Uyy2OXHpuJvRjVKy/BwZ3fxA
+AYX2oZIOxQB3/OulzO/DppaCVhRtp1bt+Z5f+fpisiVb5DvZcMdeyAoQ4+oOr7v3
+EasIs2XYcQ+kOE3Y2kdlHWBeuXzxgWgJZ1OOpwGMjR3Uy6IwhuSWtreJBA4er+Df
+vgSPwKBsRLNLbPe3ftjArnC5GfMiGgikVdAUdN4OkEqvUbkRoAVGKTOMLUKm+ZkG
+OskJOVYS+JAina0qkYEFF7haycMjf9olhqLmTIC+6X7Ox9R2plaOhQARAQABiQIf
+BBgBCgAJBQJWCZsEAhsMAAoJEGhKFM8lguDF8ZIP/1q9Sdz8oMvf9AJXZ7AYxm77
+V+kJzJqi62nZLWJnrFXDZJpU+LkYlb3fstsZ1rvBhnrEPSmFxoj72CP0RtcyX7wJ
+dA7K1Fl9LpJi5H8300cC7UyG94MUYbrXijbLTbnFTfNr1tGx4a1T/7Yyxx/wZGrT
+H/X8cvNybkl33SxDdlQQ9kx3lFOwC41e3TkGsUWxn3TCfvDh8VdA6Py6JeSPFGOb
+MEO2/q7oUgvjfV+ivN5ayZi9bWgeqm1sgtmTHHQ4RqwwKrAb5ynXpn1b9QrkevgT
+b91uzMA22Prl4DuzKiaMYDcZOQ3vtf0eFBP0GOSSgUKS4bQ3dGgi1JmQ7VuAM4uj
++Ug5TnGoLwclTwLksc7v89C5MMPgm2vVXvCUDzyzQA7bIHFeX+Rziby4nymec4Nr
+eeXYNBJWrEp8XR7UNWmEgroXRoN1x9/6esh5pnoUXGAIWuKzSLQM70/wWxS67+v2
+aC1GNb+pXXAzYeIIiyLWaZwCSr8sWMvshFT9REk2+lnb6sAeJswQtfTUWI00mVqZ
+dvI3Wys2h0IyIejuwetTUvGhr9VgpqiLLfGzGlt/y2sg27wdHzSJbMh0VrVAK26/
+BlvEwWDCFT0ZJUMG9Lvre25DD0ycbougLsRYjzmGb/3k3UktS3XTCxyBa/k3TPw3
+vqIHrEqk446nGPDqJPS5
+=9iF7
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/coin/provisioning/common/shared/telegraf/telegraf-ioping.sh b/coin/provisioning/common/shared/telegraf/telegraf-ioping.sh
new file mode 100644
index 00000000..ad95eadc
--- /dev/null
+++ b/coin/provisioning/common/shared/telegraf/telegraf-ioping.sh
@@ -0,0 +1,26 @@
+#!/bin/sh
+
+# Measure I/O latency once, return data in InfluxDB format
+#
+# Run one ioping command for read, and one for write.
+# Each one sends 3 requests and reports the minimum time, in nanoseconds.
+# (Because of limitations of ioping, we can't just send one request and get
+# the number back in the batch format. Additionally, the number seems to be
+# fluctuating quite a bit so taking the smallest number out of 3 requests is
+# stabilising it a bit.)
+
+
+set -e
+
+[ x"$1" = x ] && echo "$0 takes a path as a first argument" && exit 1
+
+# Try to run in high priority to avoid slow-downs because of
+# factors other than I/O.
+renice -n -10 -p $$ >/dev/null 2>&1 || true
+
+
+rlatency="$(ioping -B -k -c 3 -i 0.1 "$1" | cut -d " " -f 5)"
+wlatency="$(ioping -B -k -c 3 -i 0.1 -W "$1" | cut -d " " -f 5)"
+
+printf "ioping,path=$1 read_latency_ns=%u,write_latency_ns=%u\n" \
+ $rlatency $wlatency
diff --git a/coin/provisioning/common/shared/telegraf/telegraf_packages.sha256.txt b/coin/provisioning/common/shared/telegraf/telegraf_packages.sha256.txt
new file mode 100644
index 00000000..28304114
--- /dev/null
+++ b/coin/provisioning/common/shared/telegraf/telegraf_packages.sha256.txt
@@ -0,0 +1,4 @@
+https://dl.influxdata.com/telegraf/releases/telegraf-1.12.6_darwin_amd64.tar.gz 2bc056e1ad38af2ba95d2cb1d43b513cc611fdd3b851b2ff5e09991d52b01253
+https://dl.influxdata.com/telegraf/releases/telegraf-1.12.6_linux_amd64.tar.gz b33cf0f5935a5c225ab0de69db1e6b249d581f3213313de62a8de928aedadbec
+https://dl.influxdata.com/telegraf/releases/telegraf-1.12.6_windows_amd64.zip 5d025d85070e8c180c443580afa8a27421a7bbcf14b5044894e9f3298d0ce97a
+https://dl.influxdata.com/telegraf/releases/telegraf-1.12.6_windows_i386.zip 5178a0bdaab448c2ef965b0e36f835849cea731ccd87c4a4527f0f05fbbdf271
diff --git a/coin/provisioning/common/shared/testserver/apache2/Dockerfile b/coin/provisioning/common/shared/testserver/apache2/Dockerfile
index b39eb21e..c3dc5d59 100644
--- a/coin/provisioning/common/shared/testserver/apache2/Dockerfile
+++ b/coin/provisioning/common/shared/testserver/apache2/Dockerfile
@@ -1,7 +1,8 @@
-FROM ubuntu:16.04
-ARG packages="apache2 libcgi-session-perl wget avahi-daemon"
+FROM qt_ubuntu_16.04
+ARG packages="avahi-daemon apache2 libcgi-session-perl"
RUN apt-get update && apt-get install -y $packages && dpkg -l $packages
EXPOSE 80 443
# install configurations and test data
-RUN wget https://tools.ietf.org/rfc/rfc3252.txt
+
+COPY rfc3252.txt .
diff --git a/coin/provisioning/common/shared/testserver/apache2_18.04/Dockerfile b/coin/provisioning/common/shared/testserver/apache2_18.04/Dockerfile
index dff9fe43..1a629c47 100644
--- a/coin/provisioning/common/shared/testserver/apache2_18.04/Dockerfile
+++ b/coin/provisioning/common/shared/testserver/apache2_18.04/Dockerfile
@@ -1,4 +1,4 @@
-FROM ubuntu:18.04
-ARG packages="apache2 libcgi-session-perl avahi-daemon"
+FROM qt_ubuntu_18.04
+ARG packages="avahi-daemon apache2 libcgi-session-perl"
RUN apt-get update && apt-get install -y $packages && dpkg -l $packages
EXPOSE 80 443
diff --git a/coin/provisioning/common/shared/testserver/californium/Dockerfile b/coin/provisioning/common/shared/testserver/californium/Dockerfile
index 90722510..041c3ef4 100644
--- a/coin/provisioning/common/shared/testserver/californium/Dockerfile
+++ b/coin/provisioning/common/shared/testserver/californium/Dockerfile
@@ -1,15 +1,13 @@
-FROM ubuntu:18.04
-
-RUN apt-get update && apt-get -y install git maven default-jdk avahi-daemon
-
-RUN mkdir -p /root/src/
+FROM qt_ubuntu_18.04
+ARG packages="avahi-daemon maven default-jdk"
+RUN apt-get update && apt-get -y install $packages
# Get californium-based CoAP test server
WORKDIR /root/src
-RUN git clone https://github.com/selart/californium.git
+ADD californium-*.tar.gz .
+RUN mv californium-* californium
WORKDIR /root/src/californium
RUN mvn clean install -q -DskipTests
-
WORKDIR /
EXPOSE 5683/udp 5684/udp
diff --git a/coin/provisioning/common/shared/testserver/cyrus/Dockerfile b/coin/provisioning/common/shared/testserver/cyrus/Dockerfile
index 55486175..4708ef5b 100644
--- a/coin/provisioning/common/shared/testserver/cyrus/Dockerfile
+++ b/coin/provisioning/common/shared/testserver/cyrus/Dockerfile
@@ -1,4 +1,4 @@
-FROM ubuntu:16.04
-ARG packages="cyrus-imapd avahi-daemon"
+FROM qt_ubuntu_16.04
+ARG packages="avahi-daemon cyrus-imapd"
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y $packages && dpkg -l $packages
EXPOSE 143 993
diff --git a/coin/provisioning/common/shared/testserver/cyrus_18.04/Dockerfile b/coin/provisioning/common/shared/testserver/cyrus_18.04/Dockerfile
index 2e525ec6..c20ed4f9 100644
--- a/coin/provisioning/common/shared/testserver/cyrus_18.04/Dockerfile
+++ b/coin/provisioning/common/shared/testserver/cyrus_18.04/Dockerfile
@@ -1,4 +1,4 @@
-FROM ubuntu:18.04
-ARG packages="cyrus-imapd avahi-daemon"
+FROM qt_ubuntu_18.04
+ARG packages="avahi-daemon cyrus-imapd"
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y $packages && dpkg -l $packages
EXPOSE 143 993
diff --git a/coin/provisioning/common/shared/testserver/danted/Dockerfile b/coin/provisioning/common/shared/testserver/danted/Dockerfile
index 67c1159b..0d3ca461 100644
--- a/coin/provisioning/common/shared/testserver/danted/Dockerfile
+++ b/coin/provisioning/common/shared/testserver/danted/Dockerfile
@@ -1,8 +1,9 @@
-FROM ubuntu:16.04
-ARG packages="gdebi-core wget avahi-daemon"
+FROM qt_ubuntu_16.04
+ARG packages="avahi-daemon"
RUN apt-get update && apt-get install -y $packages && dpkg -l $packages
-RUN wget http://ppa.launchpad.net/dajhorn/dante/ubuntu/pool/main/d/dante/dante-server_1.4.1-1_amd64.deb
-RUN gdebi -n dante-server_1.4.1-1_amd64.deb
+COPY dante-server_1.4.1-1_amd64.deb .
+RUN apt -y install ./dante-server_1.4.1-1_amd64.deb \
+ && rm -f ./dante-server_1.4.1-1_amd64.deb
EXPOSE 1080-1081
# install configurations and test data
diff --git a/coin/provisioning/common/shared/testserver/danted_18.04/Dockerfile b/coin/provisioning/common/shared/testserver/danted_18.04/Dockerfile
index f48794af..ba732bff 100644
--- a/coin/provisioning/common/shared/testserver/danted_18.04/Dockerfile
+++ b/coin/provisioning/common/shared/testserver/danted_18.04/Dockerfile
@@ -1,4 +1,4 @@
-FROM ubuntu:18.04
-ARG packages="dante-server avahi-daemon"
+FROM qt_ubuntu_18.04
+ARG packages="avahi-daemon dante-server"
RUN apt-get update && apt-get install -y $packages && dpkg -l $packages
EXPOSE 1080-1081
diff --git a/coin/provisioning/common/shared/testserver/docker_images.sh b/coin/provisioning/common/shared/testserver/docker_images.sh
index e98183d8..406a5b5d 100755
--- a/coin/provisioning/common/shared/testserver/docker_images.sh
+++ b/coin/provisioning/common/shared/testserver/docker_images.sh
@@ -33,13 +33,13 @@
##
#############################################################################
-set -ex
+set -e
+
+
+PROVISIONING_DIR="$(dirname "$0")/../../../"
+. "$PROVISIONING_DIR"/common/unix/common.sourced.sh
+. "$PROVISIONING_DIR"/common/unix/DownloadURL.sh
-[ -x "$(command -v realpath)" ] && FILE=$(realpath ${BASH_SOURCE[0]}) || FILE=${BASH_SOURCE[0]}
-case $FILE in
- */*) SERVER_PATH="${FILE%/*}" ;;
- *) SERVER_PATH="." ;;
-esac
# Sort files by their SHA-1, and then return the accumulated result
sha1tree () {
@@ -51,18 +51,76 @@ sha1tree () {
sort | ${SHASUM-sha1sum} | cut -d ' ' -f 1
}
-# Using SHA-1 of each server context as the tag of docker images. A tag labels a
-# specific image version. It is used by docker compose file (docker-compose.yml)
-# to launch the corresponding docker containers. If one of the server contexts
-# (./apache2, ./danted, ...) gets changes, all the related compose files in
-# qtbase should be updated as well.
-source "$SERVER_PATH/settings.sh"
+SERVER_PATH="$PROVISIONING_DIR/common/shared/testserver"
+
+. "$SERVER_PATH/settings.sh"
+
+
+# Download all necessary dependencies outside of the dockerfiles, so that we
+# can use provisioning functionality for cached and verified downloads. In the
+# dockerfiles we just do COPY to put them where needed.
+
+echo 'Downloading support files for the docker images'
+
+DownloadURL \
+ http://ci-files01-hki.intra.qt.io/input/docker/rfc3252.txt \
+ https://tools.ietf.org/rfc/rfc3252.txt \
+ 50c323dedce95e4fdc2db35cd1b8ebf9d74711bf5296ef438b88d186d7dd082d
+cp rfc3252.txt "$SERVER_PATH/vsftpd/"
+cp rfc3252.txt "$SERVER_PATH/apache2/"
+
+DownloadURL \
+ http://ci-files01-hki.intra.qt.io/input/docker/dante-server_1.4.1-1_amd64.deb \
+ http://ppa.launchpad.net/dajhorn/dante/ubuntu/pool/main/d/dante/dante-server_1.4.1-1_amd64.deb \
+ 674a06f356cebd92c64920cec38a6687650a6f880198fbbad05aaaccca5c0a21
+mv dante-server_1.4.1-1_amd64.deb "$SERVER_PATH/danted/"
+
+DownloadURL \
+ http://ci-files01-hki.intra.qt.io/input/docker/FreeCoAP-0.7.tar.gz \
+ https://github.com/keith-cullen/FreeCoAP/archive/v0.7.tar.gz \
+ fa6602e27dc8eaee6e34ff53400c0519da0c5c7cd47bf6f13acb564f52a693ee \
+ FreeCoAP-0.7.tar.gz
+mv FreeCoAP-0.7.tar.gz "$SERVER_PATH/freecoap/"
+
+# Custom fork of Eclipse Californium with changes not upstream
+DownloadURL \
+ http://ci-files01-hki.intra.qt.io/input/docker/californium-secure-test-server.tar.gz \
+ https://github.com/sonakur/californium/archive/secure-test-server.tar.gz \
+ 0ee7f5d4366b9e31f6d2d42e389cb7a66d2db54987b700a38a3a31e8f38a7a19 \
+ californium-secure-test-server.tar.gz
+mv californium-secure-test-server.tar.gz "$SERVER_PATH/californium/"
+
+
+echo 'Building the docker images...'
+
+# Build the 2 base layers: qt_ubuntu_1604, qt_ubuntu_1804.
+# These are the base for all other docker images.
+for image in qt_ubuntu_16.04 qt_ubuntu_18.04
+do
+ docker build -t $image \
+ --build-arg COIN_RUNS_IN_QT_COMPANY="$COIN_RUNS_IN_QT_COMPANY" \
+ "$SERVER_PATH/$image"
+done
+
for server in $testserver
do
+
+ # We label each docker image with `-t name:tag`.
+ # A tag labels a specific image version. In the docker compose file
+ # (docker-compose.yml) that launches the containers, the tag used is
+ # "latest". Here the images are additionally tagged with the SHA1 of each
+ # image directory (context), so that if needed we can modify
+ # docker-compose.yml and modify "latest" to a SHA in order to launch a
+ # very specific image, thus providing a way to stage
+ # backwards-incompatible changes across repositories.
+
context="$SERVER_PATH/$server"
- docker build -t qt-test-server-$server:$(sha1tree $context) $context
+ tag=$(sha1tree $context)
+ docker build -t qt-test-server-$server:latest \
+ -t qt-test-server-$server:$tag \
+ $context
done
docker images
diff --git a/coin/provisioning/common/shared/testserver/echo/Dockerfile b/coin/provisioning/common/shared/testserver/echo/Dockerfile
index 653ca714..a20419c6 100644
--- a/coin/provisioning/common/shared/testserver/echo/Dockerfile
+++ b/coin/provisioning/common/shared/testserver/echo/Dockerfile
@@ -1,4 +1,4 @@
-FROM ubuntu:16.04
-ARG packages="xinetd avahi-daemon"
+FROM qt_ubuntu_16.04
+ARG packages="avahi-daemon xinetd"
RUN apt-get update && apt-get install -y $packages && dpkg -l $packages
EXPOSE 7 7/UDP 13
diff --git a/coin/provisioning/common/shared/testserver/echo_18.04/Dockerfile b/coin/provisioning/common/shared/testserver/echo_18.04/Dockerfile
index 37f488cb..e86357a2 100644
--- a/coin/provisioning/common/shared/testserver/echo_18.04/Dockerfile
+++ b/coin/provisioning/common/shared/testserver/echo_18.04/Dockerfile
@@ -1,4 +1,4 @@
-FROM ubuntu:18.04
-ARG packages="xinetd avahi-daemon"
+FROM qt_ubuntu_18.04
+ARG packages="avahi-daemon xinetd"
RUN apt-get update && apt-get install -y $packages && dpkg -l $packages
EXPOSE 7 7/UDP 13
diff --git a/coin/provisioning/common/shared/testserver/freecoap/Dockerfile b/coin/provisioning/common/shared/testserver/freecoap/Dockerfile
index 2c665bd5..7b2a27a7 100644
--- a/coin/provisioning/common/shared/testserver/freecoap/Dockerfile
+++ b/coin/provisioning/common/shared/testserver/freecoap/Dockerfile
@@ -1,20 +1,14 @@
-FROM ubuntu:18.04
+FROM qt_ubuntu_18.04
+ARG packages="avahi-daemon autoconf automake libtool make libgnutls28-dev"
+RUN apt-get update && apt-get -y install $packages
-RUN apt-get update && apt-get -y install git avahi-daemon autoconf automake libtool make libgnutls28-dev
-
-RUN mkdir -p /root/src/
-
-# Get FreeCoAP test server
WORKDIR /root/src
-RUN git clone https://github.com/keith-cullen/FreeCoAP.git
+ADD FreeCoAP-*.tar.gz .
+RUN mv FreeCoAP-* FreeCoAP
WORKDIR /root/src/FreeCoAP
-RUN autoreconf --install
-RUN ./configure
+RUN autoreconf --install && ./configure && make && make install
+WORKDIR sample/time_server
RUN make
-RUN make install
-WORKDIR /root/src/FreeCoAP/sample/time_server
-RUN make
-
WORKDIR /
EXPOSE 5685/udp
diff --git a/coin/provisioning/common/shared/testserver/ftp-proxy/Dockerfile b/coin/provisioning/common/shared/testserver/ftp-proxy/Dockerfile
index c719c1eb..de3e5b86 100644
--- a/coin/provisioning/common/shared/testserver/ftp-proxy/Dockerfile
+++ b/coin/provisioning/common/shared/testserver/ftp-proxy/Dockerfile
@@ -1,4 +1,4 @@
-FROM ubuntu:16.04
-ARG packages="ftp-proxy avahi-daemon"
+FROM qt_ubuntu_16.04
+ARG packages="avahi-daemon ftp-proxy"
RUN apt-get update && apt-get install -y $packages && dpkg -l $packages
EXPOSE 2121
diff --git a/coin/provisioning/common/shared/testserver/ftp-proxy_18.04/Dockerfile b/coin/provisioning/common/shared/testserver/ftp-proxy_18.04/Dockerfile
index 0e7146ba..383ba140 100644
--- a/coin/provisioning/common/shared/testserver/ftp-proxy_18.04/Dockerfile
+++ b/coin/provisioning/common/shared/testserver/ftp-proxy_18.04/Dockerfile
@@ -1,4 +1,4 @@
-FROM ubuntu:18.04
-ARG packages="ftp-proxy avahi-daemon"
+FROM qt_ubuntu_18.04
+ARG packages="avahi-daemon ftp-proxy"
RUN apt-get update && apt-get install -y $packages && dpkg -l $packages
EXPOSE 2121
diff --git a/coin/provisioning/common/shared/testserver/iptables/Dockerfile b/coin/provisioning/common/shared/testserver/iptables/Dockerfile
index cbee61d4..1c2a4b4d 100644
--- a/coin/provisioning/common/shared/testserver/iptables/Dockerfile
+++ b/coin/provisioning/common/shared/testserver/iptables/Dockerfile
@@ -1,4 +1,4 @@
-FROM ubuntu:16.04
-ARG packages="iptables avahi-daemon"
+FROM qt_ubuntu_16.04
+ARG packages="avahi-daemon iptables"
RUN apt-get update && apt-get install -y $packages && dpkg -l $packages
EXPOSE 1357
diff --git a/coin/provisioning/common/shared/testserver/iptables_18.04/Dockerfile b/coin/provisioning/common/shared/testserver/iptables_18.04/Dockerfile
index 5865e9c8..49b277c7 100644
--- a/coin/provisioning/common/shared/testserver/iptables_18.04/Dockerfile
+++ b/coin/provisioning/common/shared/testserver/iptables_18.04/Dockerfile
@@ -1,4 +1,4 @@
-FROM ubuntu:18.04
-ARG packages="iptables avahi-daemon"
+FROM qt_ubuntu_18.04
+ARG packages="avahi-daemon iptables"
RUN apt-get update && apt-get install -y $packages && dpkg -l $packages
EXPOSE 1357
diff --git a/coin/provisioning/common/shared/testserver/qt_ubuntu_16.04/Dockerfile b/coin/provisioning/common/shared/testserver/qt_ubuntu_16.04/Dockerfile
new file mode 100644
index 00000000..a9c8b9ef
--- /dev/null
+++ b/coin/provisioning/common/shared/testserver/qt_ubuntu_16.04/Dockerfile
@@ -0,0 +1,5 @@
+FROM ubuntu:16.04
+ARG COIN_RUNS_IN_QT_COMPANY
+RUN test x"$COIN_RUNS_IN_QT_COMPANY" = xtrue \
+ && sed -i 's;\(archive\|security\)\.ubuntu\.com;repo-clones.ci.qt.io/apt-mirror/mirror;' /etc/apt/sources.list \
+ || echo "Internal package repository not found. Using public repositories."
diff --git a/coin/provisioning/common/shared/testserver/qt_ubuntu_18.04/Dockerfile b/coin/provisioning/common/shared/testserver/qt_ubuntu_18.04/Dockerfile
new file mode 100644
index 00000000..f62a29c6
--- /dev/null
+++ b/coin/provisioning/common/shared/testserver/qt_ubuntu_18.04/Dockerfile
@@ -0,0 +1,5 @@
+FROM ubuntu:18.04
+ARG COIN_RUNS_IN_QT_COMPANY
+RUN test x"$COIN_RUNS_IN_QT_COMPANY" = xtrue \
+ && sed -i 's;\(archive\|security\)\.ubuntu\.com;repo-clones.ci.qt.io/apt-mirror/mirror;' /etc/apt/sources.list \
+ || echo "Internal package repository not found. Using public repositories."
diff --git a/coin/provisioning/common/shared/testserver/squid/Dockerfile b/coin/provisioning/common/shared/testserver/squid/Dockerfile
index f0ed68b3..330d3929 100644
--- a/coin/provisioning/common/shared/testserver/squid/Dockerfile
+++ b/coin/provisioning/common/shared/testserver/squid/Dockerfile
@@ -1,4 +1,4 @@
-FROM ubuntu:16.04
-ARG packages="squid avahi-daemon"
+FROM qt_ubuntu_16.04
+ARG packages="avahi-daemon squid"
RUN apt-get update && apt-get install -y $packages && dpkg -l $packages
EXPOSE 3128-3130
diff --git a/coin/provisioning/common/shared/testserver/squid_18.04/Dockerfile b/coin/provisioning/common/shared/testserver/squid_18.04/Dockerfile
index 208feec7..239ea4c8 100644
--- a/coin/provisioning/common/shared/testserver/squid_18.04/Dockerfile
+++ b/coin/provisioning/common/shared/testserver/squid_18.04/Dockerfile
@@ -1,4 +1,4 @@
-FROM ubuntu:18.04
-ARG packages="squid avahi-daemon"
+FROM qt_ubuntu_18.04
+ARG packages="avahi-daemon squid"
RUN apt-get update && apt-get install -y $packages && dpkg -l $packages
EXPOSE 3128-3130
diff --git a/coin/provisioning/common/shared/testserver/vsftpd/Dockerfile b/coin/provisioning/common/shared/testserver/vsftpd/Dockerfile
index af6cd7c7..4c2e00e4 100644
--- a/coin/provisioning/common/shared/testserver/vsftpd/Dockerfile
+++ b/coin/provisioning/common/shared/testserver/vsftpd/Dockerfile
@@ -1,7 +1,7 @@
-FROM ubuntu:16.04
-ARG packages="vsftpd ftp wget avahi-daemon"
+FROM qt_ubuntu_16.04
+ARG packages="avahi-daemon vsftpd ftp"
RUN apt-get update && apt-get install -y $packages && dpkg -l $packages
EXPOSE 20-21
# install configurations and test data
-RUN wget https://tools.ietf.org/rfc/rfc3252.txt
+COPY rfc3252.txt .
diff --git a/coin/provisioning/common/shared/testserver/vsftpd_18.04/Dockerfile b/coin/provisioning/common/shared/testserver/vsftpd_18.04/Dockerfile
index 843472fd..8886308c 100644
--- a/coin/provisioning/common/shared/testserver/vsftpd_18.04/Dockerfile
+++ b/coin/provisioning/common/shared/testserver/vsftpd_18.04/Dockerfile
@@ -1,4 +1,4 @@
-FROM ubuntu:18.04
-ARG packages="vsftpd avahi-daemon"
+FROM qt_ubuntu_18.04
+ARG packages="avahi-daemon vsftpd"
RUN apt-get update && apt-get install -y $packages && dpkg -l $packages
EXPOSE 20-21
diff --git a/coin/provisioning/common/unix/DownloadURL.sh b/coin/provisioning/common/unix/DownloadURL.sh
index 996c99da..1d48a565 100755
--- a/coin/provisioning/common/unix/DownloadURL.sh
+++ b/coin/provisioning/common/unix/DownloadURL.sh
@@ -1,8 +1,8 @@
-#!/usr/bin/env bash
+#!/bin/sh
#############################################################################
##
-## Copyright (C) 2017 The Qt Company Ltd.
+## Copyright (C) 2019 The Qt Company Ltd.
## Contact: http://www.qt.io/licensing/
##
## This file is part of the provisioning scripts of the Qt Toolkit.
@@ -33,31 +33,94 @@
##
#############################################################################
+
# A helper script used for downloading a file from a URL or an alternative
-# URL. Also the SHA1 is checked for the file. Target filename should also
-# be given.
-#
-# If called directly from another script, it will exit the parent script
-# as well, if not called in its own subshell with parentheses.
+# URL. Also the SHA is checked for the file (SHA algorithm is autodetected
+# based on the SHA length). Target filename should also be given.
-set -ex
+############################ BOILERPLATE ###############################
-function DownloadURL {
- url=$1
- url_alt=$2
- expectedSha1=$3
- targetFile=$4
-
- echo "Downloading from primary URL '$url'"
- curl --fail -L --retry 5 --retry-delay 5 -o "$targetFile" "$url" || {
- echo "Failed to download '$url' multiple times"
- echo "Downloading from alternative URL '$url_alt'"
- curl --fail -L --retry 5 --retry-delay 5 -o "$targetFile" "$url_alt" || { echo 'Failed to download even from alternative url'; exit 1; }
- }
-
- echo "Checking SHA1 on PKG '$targetFile'"
- echo "$expectedSha1 *$targetFile" > "$targetFile.sha1"
- sha1sum --check "$targetFile.sha1"
- rm -f "$targetFile.sha1"
+command -v sha1sum >/dev/null || sha1sum () { shasum -a 1 "$@" ; }
+command -v sha256sum >/dev/null || sha256sum () { shasum -a 256 "$@" ; }
+command -v sha384sum >/dev/null || sha384sum () { shasum -a 384 "$@" ; }
+command -v sha512sum >/dev/null || sha512sum () { shasum -a 512 "$@" ; }
+
+########################################################################
+
+
+Download () {
+ url="$1"
+ targetFile="$2"
+
+ command -v curl >/dev/null \
+ && curl --fail -L --retry 5 --retry-delay 5 -o "$targetFile" "$url" \
+ || wget --tries 5 -O "$targetFile" "$url"
+}
+
+VerifyHash () {
+ file=$1
+ expectedHash=$2
+
+ if [ ! -f "$file" ]
+ then return 2 # file does not exist
+ fi
+
+
+ hashLength="$(echo "$expectedHash" | wc -c | sed 's/ *//g')"
+ # Use backticks because of bug with bash-3 (default on macOS),
+ # caused when there are unbalanced parentheses inside $()
+ # shellcheck disable=SC2006
+ hash=`case "$hashLength" in
+ 41) sha1sum "$file" ;;
+ 65) sha256sum "$file" ;;
+ 97) sha384sum "$file" ;;
+ 129) sha512sum "$file" ;;
+ *) echo "FATAL! Unknown hash length: $hashLength" 1>&2 && exit 1 ;;
+ esac | cut -d ' ' -f 1`
+
+ if [ ! "$expectedHash" = "$hash" ]
+ then
+ echo "FAIL! wrong file hash: $file $hash" 1>&2
+ return 1
+ fi
+ echo "OK verified integrity of: $file"
}
+# Check if file already exists and is good, otherwise download it
+DownloadURL () {
+ url=$1
+ url2=$2
+ expectedHash=$3
+ # Optional argument $4: destination filename
+ if [ x"$4" = x ]
+ then
+ # defaults to the last component of $url
+ targetFile=$(echo $url | sed 's|^.*/||')
+ else
+ targetFile=$4
+ fi
+
+ # If a non-empty file already exists
+ if [ -s "$targetFile" ]
+ then
+ if VerifyHash "$targetFile" "$expectedHash"
+ then
+ echo "Skipping download, found and validated existing file: $targetFile"
+ return
+ else
+ echo "WARNING: Non-empty but different file found at destination; will re-download and overwrite file: $targetFile"
+ fi
+ fi
+
+ echo "Downloading from primary URL: $url"
+ if ! Download "$url" "$targetFile"
+ then
+ echo "FAIL! to download, trying alternative URL: $url2" 1>&2
+ if ! Download "$url2" "$targetFile"
+ then
+ echo 'FAIL! to download even from alternative URL' 1>&2
+ return 1
+ fi
+ fi
+ VerifyHash "$targetFile" "$expectedHash"
+}
diff --git a/coin/provisioning/common/unix/InstallFromCompressedFileFromURL.sh b/coin/provisioning/common/unix/InstallFromCompressedFileFromURL.sh
index 34bcf289..8aaa0dc3 100755
--- a/coin/provisioning/common/unix/InstallFromCompressedFileFromURL.sh
+++ b/coin/provisioning/common/unix/InstallFromCompressedFileFromURL.sh
@@ -67,6 +67,9 @@ function InstallFromCompressedFileFromURL {
"xz")
tar -xf "$targetFile" --directory "$targetDirectory"
;;
+ "tbz2")
+ tar -xjf "$targetFile" --directory "$targetDirectory"
+ ;;
*)
exit 1
;;
diff --git a/coin/provisioning/common/unix/common.sourced.sh b/coin/provisioning/common/unix/common.sourced.sh
new file mode 100644
index 00000000..9f74b32e
--- /dev/null
+++ b/coin/provisioning/common/unix/common.sourced.sh
@@ -0,0 +1,167 @@
+#!/bin/sh
+
+
+#############################################################################
+##
+## Copyright (C) 2019 The Qt Company Ltd.
+## Contact: http://www.qt.io/licensing/
+##
+## This file is part of the provisioning scripts of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL21$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see http://www.qt.io/terms-conditions. For further
+## information use the contact form at http://www.qt.io/contact-us.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 2.1 or version 3 as published by the Free
+## Software Foundation and appearing in the file LICENSE.LGPLv21 and
+## LICENSE.LGPLv3 included in the packaging of this file. Please review the
+## following information to ensure the GNU Lesser General Public License
+## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## As a special exception, The Qt Company gives you certain additional
+## rights. These rights are described in The Qt Company LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+
+# Script to be sourced from everywhere you need a common environment. Defines:
+export PROVISIONING_DIR
+export PROVISIONING_OS
+export PROVISIONING_OS_ID
+export PROVISIONING_ARCH
+export CMD_PKG_INSTALL
+export CMD_PKG_LOCALINSTALL
+export CMD_INSTALL
+export COIN_RUNS_IN_QT_COMPANY
+
+
+
+if [ x"$IS_PROVISIONING_COMMON_SOURCED" != x ]
+then
+ echo "common.sourced.sh has already been sourced, re-sourcing skipped"
+ return
+fi
+
+# Do not export; you want children to re-source, because they only inherit the
+# variables but not the functions
+IS_PROVISIONING_COMMON_SOURCED=1
+
+
+fatal () {
+ echo "$1" 1>&2
+ if [ x"$2" != x ]
+ then exit "$2"
+ else exit
+ fi
+}
+
+# Takes one argument which should be the filename of this script. Returns true
+# if the script is being sourced, false if the script is being executed.
+is_script_executed () {
+ [ x"$(basename $(echo "$0" | sed s/^-//))" = x"$1" ]
+}
+
+
+is_script_executed common.sourced.sh \
+ && fatal "Script common.sourced.sh should always be sourced, not executed"
+
+
+_detect_linux_OS_ID () {
+ if [ -f /etc/os-release ]
+ then
+ . /etc/os-release
+ PROVISIONING_OS_ID="$ID"
+ elif [ -f /etc/redhat-release ]
+ then
+ case "$(cat /etc/redhat-release)" in
+ "Red Hat Enterprise Linux"*)
+ PROVISIONING_OS_ID="rhel"
+ ;;
+ "CentOS Linux"*)
+ PROVISIONING_OS_ID="centos"
+ ;;
+ *) fatal "Unknown string in /etc/redhat-release" ;;
+ esac
+ fi
+}
+
+set_common_environment () {
+ # Unfortunately we can't find the provisioning directory from a sourced
+ # script in a portable way
+ # PROVISIONING_DIR="$(dirname "$0")/../../"
+
+ [ x"$PROVISIONING_DIR" = x ] \
+ && fatal "PROVISIONING_DIR variable needs to be set before calling set_common_environment"
+
+ uname_s="$(uname -s)"
+ case "$uname_s" in
+ Linux)
+ PROVISIONING_OS=linux
+ _detect_linux_OS_ID
+ case "$PROVISIONING_OS_ID" in
+ suse|sles|opensuse*)
+ CMD_PKG_INSTALL="sudo zypper -nq install"
+ CMD_PKG_LOCALINSTALL="sudo zypper --no-gpg-checks -nq install"
+ ;;
+ debian|ubuntu)
+ CMD_PKG_INSTALL="sudo apt -y install"
+ CMD_PKG_LOCALINSTALL="sudo apt -y install"
+ ;;
+ rhel|centos|fedora)
+ CMD_PKG_INSTALL="sudo yum -y install"
+ CMD_PKG_LOCALINSTALL="sudo yum -y --nogpgcheck localinstall"
+ ;;
+ *) fatal "Unknown ID in /etc/os-release: $PROVISIONING_OS_ID" ;;
+ esac
+ ;;
+ Darwin)
+ PROVISIONING_OS=macos
+ PROVISIONING_OS_ID=macos
+ CMD_PKG_INSTALL="brew install"
+ CMD_PKG_LOCALINSTALL="echo 'TODO how to install a package file on macOS'"
+ ;;
+ *)
+ fatal "Unknown system in uname: $uname_s" 42
+ ;;
+ esac
+
+ uname_m="$(uname -m)"
+ case "$uname_m" in
+ x86_64|amd64) PROVISIONING_ARCH=amd64 ;;
+ i[3456]86) PROVISIONING_ARCH=x86 ;;
+ *) fatal "Unknown architecture in uname: $uname_m" 43 ;;
+ esac
+
+ CMD_INSTALL="sudo install"
+
+ COIN_RUNS_IN_QT_COMPANY=false
+ if ping -c1 repo-clones.ci.qt.io >/dev/null 2>&1
+ then
+ COIN_RUNS_IN_QT_COMPANY=true
+ fi
+
+}
+
+set_common_environment
+
+set_dry_run () {
+ if [ x"$PROVISIONING_DRY_RUN" != x ]
+ then
+ CMD_PKG_INSTALL="echo DRYRUN: $CMD_PKG_INSTALL"
+ CMD_PKG_LOCALINSTALL="echo DRYRUN: $CMD_PKG_LOCALINSTALL"
+ CMD_INSTALL="echo DRYRUN: $CMD_INSTALL"
+ fi
+}
+
+set_dry_run
diff --git a/coin/provisioning/common/unix/emsdk.sh b/coin/provisioning/common/unix/emsdk.sh
index acb2483a..a2fda735 100755
--- a/coin/provisioning/common/unix/emsdk.sh
+++ b/coin/provisioning/common/unix/emsdk.sh
@@ -39,59 +39,55 @@ source "${BASH_SOURCE%/*}/SetEnvVar.sh"
# shellcheck source=./DownloadURL.sh
source "${BASH_SOURCE%/*}/DownloadURL.sh"
-version="1.38.27"
-version_node="8.9.1"
-urlOfficial="https://s3.amazonaws.com/mozilla-games/emscripten/packages"
+version="1.39.8"
urlCache="http://ci-files01-hki.intra.qt.io/input/emsdk"
targetFolder="/opt/emsdk"
-urlEmscriptenCache="$urlCache/emscripten-$version.tar.gz"
-urlEmscriptenExternal="https://github.com/kripken/emscripten/archive/$version.tar.gz"
-sha1Emscripten="ff9748a8f6b8eaa8192cce9fe2befc801443a161"
+# cross-platform emscripten SDK
+urlEmscriptenExternal="https://github.com/emscripten-core/emscripten/archive/$version.tar.gz"
+urlEmscriptenCache="$urlCache/emscripten.$version.tar.gz"
+sha1Emscripten="a593ea3b4ab7e3d57e1232b19a903ccf8f137d2f"
+# platform-specific toolchain and node binaries. urls obtained from "emsdk install"
if uname -a |grep -q Darwin; then
- urlEmscriptenLlvmCache="$urlCache/macos/emscripten-llvm-e$version.tar.gz"
- urlEmscriptenLlvmExternal="$urlOfficial/llvm/tag/osx_64bit/emscripten-llvm-e$version.tar.gz"
- urlNodeCache="$urlCache/macos/node-v$version_node-darwin-x64.tar.gz"
- urlNodeExternal="$urlOfficial/node-v$version_node-darwin-x64.tar.gz"
- sha1EmscriptenLlvm="66dffbc44cfcb7bcb1ed0d2658b519276c3077fa"
- sha1Node="b9ec6fe9701d385e385886a4b171ba02bb6aead7"
- node_js="$targetFolder/node-v$version_node-darwin-x64/bin"
+ urlWasmBinariesExternal="https://storage.googleapis.com/webassembly/emscripten-releases-builds/mac/9e60f34accb4627d7358223862a7e74291886ab6/wasm-binaries.tbz2"
+ urlWasmBinariesCache="$urlCache/macos/wasm-binaries.$version.tbz2"
+ sha1WasmBinaries="aedb30fb07d565c35305af0920ab072ae743895d"
+
+ urlNodeBinariesExternal="https://storage.googleapis.com/webassembly/emscripten-releases-builds/deps/node-v12.9.1-darwin-x64.tar.gz"
+ urlNodeBinariesCache="$urlCache/mac/node-v12.9.1-darwin-x64.tar.gz"
+ sha1NodeBinaries="f5976321ded091e70358e406b223f6fd64e35a43"
+ pathNodeExecutable='node-v12.9.1-darwin-x64/bin/node'
else
- urlEmscriptenLlvmCache="$urlCache/linux/emscripten-llvm-e$version.tar.gz"
- urlEmscriptenLlvmExternal="$urlOfficial/llvm/tag/linux_64bit/emscripten-llvm-e$version.tar.gz"
- urlNodeCache="$urlCache/linux/node-v$version_node-linux-x64.tar.xz"
- urlNodeExternal="$urlOfficial/node-v$version_node-linux-x64.tar.xz"
- sha1EmscriptenLlvm="8f5cd026c98cd40e53e6d11fbc32b116280ef9bb"
- sha1Node="eaec5de2af934f7ebc7f9597983e71c5d5a9a726"
- node_js="$targetFolder/node-v$version_node-linux-x64/bin"
+ urlWasmBinariesExternal="https://storage.googleapis.com/webassembly/emscripten-releases-builds/linux/9e60f34accb4627d7358223862a7e74291886ab6/wasm-binaries.tbz2"
+ urlWasmBinariesCache="$urlCache/linux/wasm-binaries.$version.tbz2"
+ sha1WasmBinaries="eb7fc94aa79a6e215272e2586173515aa37c3141"
+
+ urlNodeBinariesExternal="https://storage.googleapis.com/webassembly/emscripten-releases-builds/deps/node-v12.9.1-linux-x64.tar.xz"
+ urlNodeBinariesCache="$urlCache/linux/node-v12.9.1-linux-x64.tar.xz"
+ sha1NodeBinaries="cde96023b468d593c50de27470dd714c8cfda9aa"
+ pathNodeExecutable='node-v12.9.1-linux-x64/bin/node'
fi
sudo mkdir "$targetFolder"
InstallFromCompressedFileFromURL "$urlEmscriptenCache" "$urlEmscriptenExternal" "$sha1Emscripten" "$targetFolder" ""
-InstallFromCompressedFileFromURL "$urlEmscriptenLlvmCache" "$urlEmscriptenLlvmExternal" "$sha1EmscriptenLlvm" "$targetFolder" ""
-InstallFromCompressedFileFromURL "$urlNodeCache" "$urlNodeExternal" "$sha1Node" "$targetFolder" ""
+InstallFromCompressedFileFromURL "$urlWasmBinariesCache" "$urlWasmBinariesExternal" "$sha1WasmBinaries" "$targetFolder" ""
+InstallFromCompressedFileFromURL "$urlNodeBinariesCache" "$urlNodeBinariesExternal" "$sha1NodeBinaries" "$targetFolder" ""
sudo chmod -R a+rwx "$targetFolder"
echo "Writing $targetFolder/.emscripten"
cat <<EOM >"$targetFolder/.emscripten"
-LLVM_ROOT='$targetFolder/emscripten-llvm-e$version/'
-EMSCRIPTEN_NATIVE_OPTIMIZER='$targetFolder/emscripten-llvm-e$version/optimizer'
-BINARYEN_ROOT='$targetFolder/emscripten-llvm-e$version/binaryen'
-NODE_JS='$node_js/node'
EMSCRIPTEN_ROOT='$targetFolder/emscripten-$version'
-SPIDERMONKEY_ENGINE = ''
-V8_ENGINE = ''
+LLVM_ROOT='$targetFolder/install/bin'
+BINARYEN_ROOT='$targetFolder/install'
+NODE_JS='$targetFolder/$pathNodeExecutable'
TEMP_DIR = '/tmp'
-COMPILER_ENGINE = NODE_JS
-JS_ENGINES = [NODE_JS]
EOM
-SetEnvVar "PATH" "\"\$PATH:$targetFolder/emscripten-llvm-e$version/:$node_js:$targetFolder/emscripten-$version\""
+SetEnvVar "PATH" "\"\$PATH:$targetFolder/emscripten-$version/\""
SetEnvVar "EMSCRIPTEN" "$targetFolder/emscripten-$version"
SetEnvVar "EM_CONFIG" "$targetFolder/.emscripten"
echo "Emsdk = $version" >> ~/versions.txt
-echo "Emsdk node = $version_node" >> ~/versions.txt
diff --git a/coin/provisioning/common/unix/install-openssl.sh b/coin/provisioning/common/unix/install-openssl.sh
index 01a20935..08a3390b 100755
--- a/coin/provisioning/common/unix/install-openssl.sh
+++ b/coin/provisioning/common/unix/install-openssl.sh
@@ -42,11 +42,11 @@ source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh"
# shellcheck source=../unix/SetEnvVar.sh
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
-version="1.1.1b"
+version="1.1.1d"
officialUrl="https://www.openssl.org/source/openssl-$version.tar.gz"
cachedUrl="http://ci-files01-hki.intra.qt.io/input/openssl/openssl-$version.tar.gz"
targetFile="/tmp/openssl-$version.tar.gz"
-sha="e9710abf5e95c48ebf47991b10cbb48c09dae102"
+sha="056057782325134b76d1931c48f2c7e6595d7ef4"
opensslHome="${HOME}/openssl-${version}"
opensslSource="${opensslHome}-src"
DownloadURL "$cachedUrl" "$officialUrl" "$sha" "$targetFile"
diff --git a/coin/provisioning/common/unix/install_protobuff.sh b/coin/provisioning/common/unix/install_protobuff.sh
index 20e9ab44..9a1d9508 100755
--- a/coin/provisioning/common/unix/install_protobuff.sh
+++ b/coin/provisioning/common/unix/install_protobuff.sh
@@ -64,7 +64,7 @@ if uname -a |grep -q Darwin; then
else
./configure
fi
-make
+make -j5
sudo make install
# Refresh shared library cache if OS isn't macOS
diff --git a/coin/provisioning/common/unix/libclang.sh b/coin/provisioning/common/unix/libclang.sh
index a9d1cc49..6fa6c040 100755
--- a/coin/provisioning/common/unix/libclang.sh
+++ b/coin/provisioning/common/unix/libclang.sh
@@ -65,10 +65,10 @@ zip="/tmp/libclang.7z"
destination="/usr/local/libclang-$version"
DownloadURL $url_cached $url $sha1 $zip
-7z x $zip -o/tmp/
+sudo 7z x $zip -o/usr/local/
+sudo mv /usr/local/libclang "$destination"
rm -rf $zip
-sudo mv /tmp/libclang "$destination"
echo "export LLVM_INSTALL_DIR=$destination" >> ~/.bash_profile
echo "libClang = $version" >> ~/versions.txt
diff --git a/coin/provisioning/common/unix/python_modules.sh b/coin/provisioning/common/unix/python_modules.sh
new file mode 100755
index 00000000..89adbd5c
--- /dev/null
+++ b/coin/provisioning/common/unix/python_modules.sh
@@ -0,0 +1,38 @@
+#!/usr/bin/env bash
+
+#############################################################################
+##
+## Copyright (C) 2019 The Qt Company Ltd.
+## Contact: http://www.qt.io/licensing/
+##
+## This file is part of the provisioning scripts of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL21$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see http://www.qt.io/terms-conditions. For further
+## information use the contact form at http://www.qt.io/contact-us.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 2.1 or version 3 as published by the Free
+## Software Foundation and appearing in the file LICENSE.LGPLv21 and
+## LICENSE.LGPLv3 included in the packaging of this file. Please review the
+## following information to ensure the GNU Lesser General Public License
+## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## As a special exception, The Qt Company gives you certain additional
+## rights. These rights are described in The Qt Company LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+# needed by packaging scripts
+pip3 install bs4
+pip3 install sh
diff --git a/coin/provisioning/common/unix/squishInstall.sh b/coin/provisioning/common/unix/squishInstall.sh
index b40c1922..7592814b 100755
--- a/coin/provisioning/common/unix/squishInstall.sh
+++ b/coin/provisioning/common/unix/squishInstall.sh
@@ -2,7 +2,7 @@
#############################################################################
##
-## Copyright (C) 2017 The Qt Company Ltd.
+## Copyright (C) 2020 The Qt Company Ltd.
## Contact: http://www.qt.io/licensing/
##
## This file is part of the provisioning scripts of the Qt Toolkit.
@@ -33,120 +33,79 @@
##
#############################################################################
+# shellcheck source=./DownloadURL.sh
+source "${BASH_SOURCE%/*}/DownloadURL.sh"
+
set -ex
-# This script will install squish package for Linux and Mac.
+# This script will fetch and extract pre-buildt squish package for Linux and Mac.
# Squish is need by Release Test Automation (RTA)
-version="6.4.3"
-# Branch version without dot
-qtBranch="512x"
-squishFolder="/opt/squish"
-squishUrl="ci-files01-hki.intra.qt.io:/hdd/www/input/squish/coin/$qtBranch/"
-squishFile="squish-$version-qt$qtBranch-linux64.run"
+version="6.5.2"
+qtBranch="514x"
+installFolder="/opt"
+squishFolder="$installFolder/squish"
+preBuildCacheUrl="ci-files01-hki.intra.qt.io:/hdd/www/input/squish/jenkins_build/stable"
+licenseUrl="http://ci-files01-hki.intra.qt.io/input/squish/coin/.squish-3-license"
if uname -a |grep -q Darwin; then
- squishFile="squish-$version-qt$qtBranch-macx86_64.dmg"
+ compressedFolder="prebuild-squish-$version-$qtBranch-macx86_64.tar.gz"
+ sha1="91a1d7228dc4b4bd64f93191c33d2642abc97e14"
+else
+ compressedFolder="prebuild-squish-$version-$qtBranch-linux64.tar.gz"
+ sha1="63f33de55770e2588dd9f482546900e33d20f8ec"
fi
-squishLicenseUrl="ci-files01-hki.intra.qt.io:/hdd/www/input/squish/coin/"
-squishLicenseFile=".squish-3-license.tar.gz"
-
-testSuite="suite_test_squish"
-testSuiteUrl="ci-files01-hki.intra.qt.io:/hdd/www/input/squish/coin/"
+mountFolder="/tmp/squish"
+sudo mkdir "$mountFolder"
-# These checks can be removed when Vanilla OS for all linux and Mac are in
-if [ -d "$squishFolder" ]; then
- echo "Move old squish to /tmp"
- sudo mv "$squishFolder" "/tmp/squish_$(date)"
+# Check which platform
+if uname -a |grep -q Darwin; then
+ usersGroup="staff"
+ squishLicenseDir="/Users/qt"
+elif uname -a |grep -q "el7"; then
+ usersGroup="qt"
+ squishLicenseDir="/root"
+elif uname -a |grep -q "Ubuntu"; then
+ usersGroup="users"
+ squishLicenseDir="/home/qt"
+else
+ usersGroup="users"
+ squishLicenseDir="/root"
fi
-if [ -f "/etc/profile.d/squish_env.sh" ]; then
- echo "Remove /etc/profile.d/squish_env.sh"
- sudo rm -f "/etc/profile.d/squish_env.sh"
- export SQUISH_LICENSEKEY_DIR=$HOME
+targetFileMount="$mountFolder"/"$compressedFolder"
+
+echo "Mounting $preBuildCacheUrl to $mountFolder"
+sudo mount "$preBuildCacheUrl" "$mountFolder"
+echo "Create $installFolder if needed"
+if [ ! -d "$installFolder" ]; then
+ sudo mkdir "$installFolder"
fi
-function MountAndInstall {
- url=$1
- targetDirectory=$2
- targetFile=$3
-
- # Check which platform
- if uname -a |grep -q Darwin; then
- usersGroup="staff"
- mountFolder="/Volumes"
- squishLicenseDir="/Users/qt"
- elif uname -a |grep -q "el7"; then
- usersGroup="qt"
- mountFolder="/tmp"
- squishLicenseDir="/root"
- elif uname -a |grep -q "Ubuntu"; then
- usersGroup="users"
- mountFolder="/tmp"
- squishLicenseDir="/home/qt"
- else
- usersGroup="users"
- mountFolder="/tmp"
- squishLicenseDir="/root"
- fi
+VerifyHash "$targetFileMount" "$sha1"
- function UnMount {
- echo "Unmounting $mountFolder"
- sudo diskutil unmount force "$mountFolder" || sudo umount -f "$mountFolder"
- }
+echo "Uncompress $compressedFolder"
+sudo tar -xzf "$targetFileMount" --directory "$installFolder"
- targetFileMount="$mountFolder"/"$targetFile"
+echo "Unmounting $mountFolder"
+sudo diskutil unmount force "$mountFolder" || sudo umount -f "$mountFolder"
- echo "Mounting $url to $mountFolder"
- sudo mount "$url" "$mountFolder"
- echo "Create $targetDirectory if needed"
- if [ ! -d "/opt" ]; then
- sudo mkdir "/opt"
- fi
- if [ ! -d "$targetDirectory" ]; then
- sudo mkdir "$targetDirectory"
- fi
- echo "Uncompress $targetFile"
- if [[ $targetFile == *.tar.gz ]]; then
- if [[ $targetFile == .squish-3-license.* ]]; then
- target="$squishLicenseDir"
- # Squish license need to be exists also in users home directory, because squish check it before it starts running tests
- sudo tar -xzf "$targetFileMount" --directory "$HOME"
- else
- target="$targetDirectory"
- fi
- sudo tar -xzf "$targetFileMount" --directory "$target"
- UnMount
- elif [[ $targetFile == *.dmg ]]; then
- echo "'dmg-file', no need to uncompress"
- sudo cp $targetFileMount /tmp
- UnMount
- sudo hdiutil attach "/tmp/$targetFile"
- sudo /Volumes/froglogic\ Squish/Install\ Squish.app/Contents/MacOS/Squish unattended=1 targetdir="$targetDirectory/package" qtpath="$targetDirectory" > /dev/null 2>&1
- mountFolder="/Volumes/froglogic Squish"
- UnMount
- elif [[ $targetFile == *.run ]]; then
- echo "'run-file', no need to uncompress"
- sudo cp $targetFileMount $targetDirectory
- UnMount
- sudo chmod +x $targetDirectory/$targetFile
- sudo $targetDirectory/$targetFile unattended=1 targetdir="$targetDirectory/package" qtpath="$targetDirectory" > /dev/null 2>&1
- sudo rm -fr "$targetDirectory/$targetFile"
- if uname -a |grep -q "Ubuntu"; then
- sudo mkdir /usr/lib/tcl8.6
- sudo cp "$targetDirectory/package/tcl/lib/tcl8.6/init.tcl" /usr/lib/tcl8.6/
- fi
- else
- exit 1
+sudo mv "$installFolder/rta_squish_$version" "$squishFolder"
+
+if uname -a |grep -q "Ubuntu"; then
+ if [ ! -e "/usr/lib/tcl8.6" ]; then
+ sudo mkdir /usr/lib/tcl8.6
+ sudo cp "$squishFolder/package/tcl/lib/tcl8.6/init.tcl" /usr/lib/tcl8.6/
fi
+fi
- echo "Changing ownerships"
- sudo chown -R qt:$usersGroup "$targetDirectory"
- sudo chown qt:$usersGroup "$HOME/.squish-3-license"
-}
+DownloadURL "$licenseUrl" "$licenseUrl" "3c6b2b3ca047f68e20f697afcc3a9d376f01b376" "$HOME/.squish-3-license"
-echo "Set commands for environment variables in .bashrc"
+echo "Changing ownerships"
+sudo chown -R qt:$usersGroup "$squishFolder"
+sudo chown qt:$usersGroup "$HOME/.squish-3-license"
+echo "Set commands for environment variables in .bashrc"
if uname -a |grep -q "Ubuntu"; then
echo "export SQUISH_PATH=$squishFolder/package" >> ~/.profile
echo "export PATH=\$PATH:$squishFolder/squish-$version/bin" >> ~/.profile
@@ -155,19 +114,11 @@ else
echo "export PATH=\$PATH:$squishFolder/squish-$version/bin" >> ~/.bashrc
fi
-echo "Installing squish license to home directory.."
-MountAndInstall "$squishLicenseUrl" "$squishFolder" "$squishLicenseFile"
-
-echo "Installing squish $version.."
-MountAndInstall "$squishUrl" "$squishFolder" "$squishFile"
-
-echo "Installing provisioning scripts for squish"
-MountAndInstall "$testSuiteUrl" "$squishFolder" "$testSuite.tar.gz"
-
-echo "Verifying Squish Installation"
-if "$squishFolder/package/bin/squishrunner" --testsuite "$squishFolder/$testSuite" | grep "Squish test run successfully" ; then
+echo "Verifying Squish"
+if "$squishFolder/package/bin/squishrunner" --testsuite "$squishFolder/suite_test_squish" | grep "Squish test run successfully" ; then
echo "Squish installation tested successfully"
else
echo "Squish test failed! Package wasn't installed correctly."
exit 1
fi
+
diff --git a/coin/provisioning/common/unix/telegraf_install.sh b/coin/provisioning/common/unix/telegraf_install.sh
new file mode 100755
index 00000000..b2dd244e
--- /dev/null
+++ b/coin/provisioning/common/unix/telegraf_install.sh
@@ -0,0 +1,98 @@
+#!/bin/sh
+
+#############################################################################
+##
+## Copyright (C) 2019 The Qt Company Ltd.
+## Contact: http://www.qt.io/licensing/
+##
+## This file is part of the provisioning scripts of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL21$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see http://www.qt.io/terms-conditions. For further
+## information use the contact form at http://www.qt.io/contact-us.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 2.1 or version 3 as published by the Free
+## Software Foundation and appearing in the file LICENSE.LGPLv21 and
+## LICENSE.LGPLv3 included in the packaging of this file. Please review the
+## following information to ensure the GNU Lesser General Public License
+## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## As a special exception, The Qt Company gives you certain additional
+## rights. These rights are described in The Qt Company LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+
+# This script installs telegraf and ioping and our script telegraf-ioping.sh
+# to the /usr/bin directory.
+#
+# The reasons we don't install to /usr/local/bin are:
+# 1. On SLES and RHEL, the PATH of sudo (secure_path setting in /etc/sudoers)
+# does not include /usr/local/bin.
+# 2. On macOS /usr/local/bin does not even exist early in provisioning.
+
+
+######################## BOILERPLATE ###########################
+set -e
+
+
+PROVISIONING_DIR="$(dirname "$0")/../../"
+. "$PROVISIONING_DIR"/common/unix/common.sourced.sh
+
+. "$PROVISIONING_DIR"/common/unix/DownloadURL.sh
+
+is_script_executed telegraf_install.sh \
+ || fatal "Script telegraf_install.sh should be executed, not sourced"
+
+################################################################
+
+
+[ "$PROVISIONING_OS" = linux ] \
+ && ioping_sha256=259abf04bcb84f4126ff97c04b6651e1cf5ea6d8a9ff364c769a26c95b6eeb44 \
+ || ioping_sha256=55de6a2f1a5343e0ce8df31d82d47a9e79c7e612edbc6dfb39b5fc6fb358b2e3
+DownloadURL "http://ci-files01-hki.intra.qt.io/input/ioping/ioping.${PROVISIONING_OS}-${PROVISIONING_ARCH}" \
+ '' "$ioping_sha256" ioping
+$CMD_INSTALL -m 755 ./ioping /usr/bin/
+rm -f ioping
+
+# 2. Install custom ioping monitoring script
+$CMD_INSTALL -m 755 "$PROVISIONING_DIR"/common/shared/telegraf/telegraf-ioping.sh /usr/bin/
+
+# 3. Download and install telegraf
+
+[ x"$PROVISIONING_OS" = xmacos ] && os=darwin || os=linux
+[ x"$PROVISIONING_ARCH" = xx86 ] && arch=i386 || arch=amd64
+package_filename=telegraf-1.12.6_${os}_${arch}.tar.gz
+package_sha256_list="$PROVISIONING_DIR"/common/shared/telegraf/telegraf_packages.sha256.txt
+package_sha256=$(sed -n "s/.*$package_filename *//p" "$package_sha256_list")
+
+DownloadURL \
+ http://ci-files01-hki.intra.qt.io/input/telegraf/"$package_filename" \
+ https://dl.influxdata.com/telegraf/releases/"$package_filename" \
+ "$package_sha256" \
+ telegraf.tar.gz
+
+tar -xzf ./telegraf.tar.gz -C /tmp
+telegraf_binary=$(find /tmp/telegraf* -name telegraf -type f | grep /bin/ | head -1)
+$CMD_INSTALL -m 755 "$telegraf_binary" /usr/bin/
+rm -rf /tmp/telegraf*
+
+# 4. Edit config file with passwords
+"$PROVISIONING_DIR"/common/unix/telegraf_password.sh
+
+# 5. Start telegraf in background (-b) and with retaining the environment (-E)
+# in order to report as hostname = $COIN_UNIQUE_JOB_ID.
+/usr/bin/sudo -b -E telegraf --config /etc/telegraf-coin.conf >/dev/null 2>&1
+
+echo DONE: "Installed and started telegraf: $package_filename"
diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/25-mysql.sh b/coin/provisioning/common/unix/telegraf_password.sh
index a28e306f..efbed142 100755
--- a/coin/provisioning/qtci-macos-10.12-x86_64/25-mysql.sh
+++ b/coin/provisioning/common/unix/telegraf_password.sh
@@ -1,8 +1,8 @@
-#!/usr/bin/env bash
+#!/bin/sh
#############################################################################
##
-## Copyright (C) 2017 The Qt Company Ltd.
+## Copyright (C) 2019 The Qt Company Ltd.
## Contact: http://www.qt.io/licensing/
##
## This file is part of the provisioning scripts of the Qt Toolkit.
@@ -33,26 +33,28 @@
##
#############################################################################
-# This script installs MySQL
-# MySQL is needed for Qt to be able to support MySQL
+######################## BOILERPLATE ###########################
+set -e
-set -ex
-# shellcheck source=../common/macos/InstallAppFromCompressedFileFromURL.sh
-source "${BASH_SOURCE%/*}/../common/macos/InstallAppFromCompressedFileFromURL.sh"
-# shellcheck source=../common/unix/SetEnvVar.sh
-source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
+PROVISIONING_DIR="$(dirname "$0")/../../"
+. "$PROVISIONING_DIR"/common/unix/common.sourced.sh
-PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mac/macos_10.12_sierra/mysql-5.7.15-osx10.11-x86_64.tar.gz"
-AltUrl="https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.15-osx10.11-x86_64.tar.gz"
-SHA1="07949bd42f350b0504a1536b8830b809b4a34fca"
-appPrefix=""
-targetDir="/opt/mysql57/"
+is_script_executed telegraf_password.sh \
+ || fatal "Script telegraf_password.sh should be executed, not sourced, to avoid leaking secrets in the logs"
+# Avoid leaking secrets in the logs
+set +x
+################################################################
-sudo mkdir -p "/opt"
-InstallAppFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$appPrefix" "$targetDir"
+# Provisioning should run even without the secrets repository
+influxdb_password=$(cut -d : -f 2 ~qt/work/influxdb/coin_vms_writer.auth) \
+ || influxdb_password=no_password_provided
-SetEnvVar "MYSQLBINPATH" "/opt/mysql57/bin"
-echo "MySQL = 5.7.15" >> ~/versions.txt
+rm -f ~qt/work/influxdb/coin_vms_writer.auth
+sed "s|COIN_VMS_WRITER_PASS|$influxdb_password|" \
+ "$PROVISIONING_DIR"/common/"$PROVISIONING_OS"/telegraf-coin.conf \
+ > .telegraf-coin.conf.final
+$CMD_INSTALL -m 600 .telegraf-coin.conf.final /etc/telegraf-coin.conf
+rm -f .telegraf-coin.conf.final
diff --git a/coin/provisioning/common/windows/android-openssl.ps1 b/coin/provisioning/common/windows/android-openssl.ps1
index fb5c5aab..d1877b64 100644
--- a/coin/provisioning/common/windows/android-openssl.ps1
+++ b/coin/provisioning/common/windows/android-openssl.ps1
@@ -1,6 +1,6 @@
############################################################################
##
-## Copyright (C) 2018 The Qt Company Ltd.
+## Copyright (C) 2019 The Qt Company Ltd.
## Contact: http://www.qt.io/licensing/
##
## This file is part of the provisioning scripts of the Qt Toolkit.
@@ -45,9 +45,9 @@ if (Is64BitWinHost) {
# Msys need to be installed to target machine
# More info and building instructions can be found from http://doc.qt.io/qt-5/opensslsupport.html
-$version = "1.1.1b"
+$version = "1.1.1d"
$zip = Get-DownloadLocation ("openssl-$version.tar.gz")
-$sha1 = "e9710abf5e95c48ebf47991b10cbb48c09dae102"
+$sha1 = "056057782325134b76d1931c48f2c7e6595d7ef4"
$destination = "C:\Utils\openssl-android-master"
# msys unix style paths
@@ -65,8 +65,25 @@ Remove-Item -Path $zip
Write-Host "Configuring OpenSSL $version for Android..."
Push-Location $destination
# $ must be escaped in powershell...
-Start-Process -NoNewWindow -Wait -ErrorAction Stop -FilePath "$msys_bash" -ArgumentList ("-lc", "`"pushd $openssl_path; ANDROID_NDK_HOME=$ndkPath PATH=${cc_path}:`$PATH CC=clang $openssl_path/Configure shared android-arm`"")
-Start-Process -NoNewWindow -Wait -ErrorAction Stop -FilePath "$msys_bash" -ArgumentList ("-lc", "`"pushd $openssl_path; ANDROID_NDK_HOME=$ndkPath PATH=${cc_path}:`$PATH CC=clang make -f $openssl_path/Makefile build_generated`"")
+
+function CheckExitCode {
+
+ param (
+ $p
+ )
+
+ if ($p.ExitCode) {
+ Write-host "Process failed with exit code: $($p.ExitCode)"
+ exit 1
+ }
+}
+
+$configure = Start-Process -NoNewWindow -Wait -PassThru -ErrorAction Stop -FilePath "$msys_bash" -ArgumentList ("-lc", "`"pushd $openssl_path; ANDROID_NDK_HOME=$ndkPath PATH=${cc_path}:`$PATH CC=clang $openssl_path/Configure shared android-arm`"")
+CheckExitCode $configure
+
+$make = Start-Process -NoNewWindow -Wait -PassThru -ErrorAction Stop -FilePath "$msys_bash" -ArgumentList ("-lc", "`"pushd $openssl_path; ANDROID_NDK_HOME=$ndkPath PATH=${cc_path}:`$PATH CC=clang make -f $openssl_path/Makefile build_generated`"")
+CheckExitCode $make
+
Pop-Location
Set-EnvironmentVariable "OPENSSL_ANDROID_HOME" "$destination"
diff --git a/coin/provisioning/common/windows/android.ps1 b/coin/provisioning/common/windows/android.ps1
index 537e14a2..2cf18cdc 100644
--- a/coin/provisioning/common/windows/android.ps1
+++ b/coin/provisioning/common/windows/android.ps1
@@ -95,9 +95,12 @@ Out-File -FilePath C:\Utils\Android\licenses\android-sdk-license -Encoding utf8
# Get a PATH where Java's path is defined from previous provisioning
[Environment]::SetEnvironmentVariable("PATH", [Environment]::GetEnvironmentVariable("PATH", "Machine"), "Process")
+# Attempt to catch all errors of sdkmanager.bat, even when hidden behind a pipeline.
+$ErrorActionPreference = "Stop"
+
cd $toolsFolder\bin\
$sdkmanager_args += "platforms;$sdkApiLevel", "platform-tools", "build-tools;$sdkBuildToolsVersion"
-$command = 'for($i=0;$i -lt 6;$i++) { $response += "y`n"}; $response | .\sdkmanager.bat @sdkmanager_args'
+$command = 'for($i=0;$i -lt 6;$i++) { $response += "y`n"}; $response | .\sdkmanager.bat @sdkmanager_args | Out-Null'
Invoke-Expression $command
$command = 'for($i=0;$i -lt 6;$i++) { $response += "y`n"}; $response | .\sdkmanager.bat --licenses'
iex $command
diff --git a/coin/provisioning/common/windows/cmake.ps1 b/coin/provisioning/common/windows/cmake.ps1
index 3367440b..5d61549a 100644
--- a/coin/provisioning/common/windows/cmake.ps1
+++ b/coin/provisioning/common/windows/cmake.ps1
@@ -33,8 +33,8 @@
. "$PSScriptRoot\helpers.ps1"
-$majorminorversion = "3.15"
-$version = "3.15.0-rc1"
+$majorminorversion = "3.17"
+$version = "3.17.2"
$zip = Get-DownloadLocation ("cmake-" + $version + "-win32-x86.zip")
$officialurl = "https://cmake.org/files/v" + $majorminorversion + "/cmake-" + $version + "-win32-x86.zip"
@@ -44,7 +44,7 @@ Write-Host "Removing old cmake"
Remove-Item "C:\CMake" -Force -Recurse -ErrorAction SilentlyContinue
Download $officialurl $cachedurl $zip
-Verify-Checksum $zip "3739F2FF0CAD6EC15475A32D419EBEB0864C4800"
+Verify-Checksum $zip "d4a1d60fccaee7f9a8ceb1ed4fb576a63103a69f"
Extract-7Zip $zip C:
$defaultinstallfolder = "C:\cmake-" + $version + "-win32-x86"
diff --git a/coin/provisioning/common/windows/conan.ps1 b/coin/provisioning/common/windows/conan.ps1
index d77d28e2..e7e0de22 100644
--- a/coin/provisioning/common/windows/conan.ps1
+++ b/coin/provisioning/common/windows/conan.ps1
@@ -36,8 +36,8 @@
$scriptsPath = "C:\Python36\Scripts"
-Run-Executable "$scriptsPath\pip3.exe" "install --upgrade conan==1.17.0"
-Write-Output "Conan = 1.17.0" >> ~\versions.txt
+Run-Executable "$scriptsPath\pip3.exe" "install -r $PSScriptRoot\conan_requirements.txt"
+Write-Output "Conan = 1.22.2" >> ~\versions.txt
# Use Qt Project repository by default
Run-Executable "$scriptsPath\conan.exe" "remote add qtproject https://api.bintray.com/conan/qtproject/conan --insert --force"
@@ -77,27 +77,20 @@ function Run-Conan-Install
$manifestsDir = "$PSScriptRoot\conan_manifests"
$buildinfoRoot = "C:\Utils\conanbuildinfos"
+ # Make up to 5 attempts for all download operations in conan
+ $env:CONAN_RETRY = "5"
+
Get-ChildItem -Path "$ConanfilesDir\*.txt" |
ForEach-Object {
$conanfile = $_.FullName
$outpwd = "$buildinfoRoot\$BuildinfoDir\$($_.BaseName)"
New-Item $outpwd -Type directory -Force | Out-Null
- for ($i = 1; $i -le 5; $i++) {
- try {
- Push-Location $outpwd
- Run-Executable "$scriptsPath\conan.exe" "install --no-imports --verify $manifestsDir", `
- '-s', ('compiler="' + $Compiler + '"'), `
- "-s os=Windows -s arch=$Arch -s compiler.version=$CompilerVersion $extraArgs $conanfile"
- break;
- } catch {
- if ($i -eq 5) {
- throw "Could not install conan content"
- }
- } finally {
- Pop-Location
- }
- }
+ Push-Location $outpwd
+ Run-Executable "$scriptsPath\conan.exe" "install --no-imports --verify $manifestsDir", `
+ '-s', ('compiler="' + $Compiler + '"'), `
+ "-s os=Windows -s arch=$Arch -s compiler.version=$CompilerVersion $extraArgs $conanfile"
+ Pop-Location
Copy-Item -Path $conanfile -Destination "$outpwd\conanfile.txt"
}
diff --git a/coin/provisioning/common/windows/conan_manifests/icu/64.2/qtproject/stable/export/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/icu/64.2/qtproject/stable/export/conanmanifest.txt
deleted file mode 100644
index 0179c3cc..00000000
--- a/coin/provisioning/common/windows/conan_manifests/icu/64.2/qtproject/stable/export/conanmanifest.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-1563296922
-LICENSE.md: e5e131742c86307b7fb2fc2255e6277d
-conanfile.py: 18b376bcd3b1fb69a62d916ee609ce75
-icu_base.py: 03540bb5bf8ac0694a52ee04566cef8a
diff --git a/coin/provisioning/common/windows/conan_manifests/icu/64.2/qtproject/stable/package/04159420740fe51b1a5d12efd6a3342553fee413/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/icu/64.2/qtproject/stable/package/04159420740fe51b1a5d12efd6a3342553fee413/conanmanifest.txt
deleted file mode 100644
index 53ef2d23..00000000
--- a/coin/provisioning/common/windows/conan_manifests/icu/64.2/qtproject/stable/package/04159420740fe51b1a5d12efd6a3342553fee413/conanmanifest.txt
+++ /dev/null
@@ -1,251 +0,0 @@
-1563302303
-bin/derb.exe: 5dab26f815c8a555677c48514a6208eb
-bin/escapesrc.exe: 196361eaefbf657aaad12f6ebc7d9fd0
-bin/genbrk.exe: 481473c589c454cb0c67d477112326b6
-bin/genccode.exe: 36e12767557b6b62b7368b82af71dc7d
-bin/gencfu.exe: 4ed7055fc629466383663481024ce56b
-bin/gencmn.exe: 793b30b115e0d1697a005bbd7be8e2bf
-bin/gencnval.exe: 549ae3eff6f7f6c733a7a022e74ccf16
-bin/gendict.exe: 38799ad1ecf2bac24995d2030b248b1a
-bin/gennorm2.exe: 2b0ee309f4dd5f6394a799ae57615d99
-bin/genrb.exe: 0ad48828a13286a2ef10140a5b4a89df
-bin/gensprep.exe: 8a8c1abb007b882616f0c038b473a4fa
-bin/icu-config: 0bb77dfc59d545ffb13abbe29faa1050
-bin/icuinfo.exe: 06e182a0726c4fbdc0e2bad482cbcddb
-bin/icupkg.exe: a1f1c12ec71f39a273cdba803329feec
-bin/makeconv.exe: 12d9fa58c5016487606c60f2604dbfa5
-bin/pkgdata.exe: 47afb5e78953c34bd9bd3a47a8b58b1c
-bin/uconv.exe: 1b3131e11a447981322d479ac418e152
-conaninfo.txt: 94f4cb59828b265621231d47fa4013f1
-include/unicode/alphaindex.h: edc0ff1708822c14fbac4f58a89859c9
-include/unicode/appendable.h: 713ee4a1c3e3ca090b202ceb81d6ad9f
-include/unicode/basictz.h: 456683947de10ae84e2c069c9fc55e9f
-include/unicode/brkiter.h: c69c05b804270ad6c64f80c03a5b8ee0
-include/unicode/bytestream.h: 8b946f79fb11d18859acdceab1bb5d46
-include/unicode/bytestrie.h: 781e30fb8103ba58fdfe4b6704e54347
-include/unicode/bytestriebuilder.h: e6649e470ceff3af7ec894aa6031cb21
-include/unicode/calendar.h: e640b0fd471a5313b85a866871b9df2a
-include/unicode/caniter.h: 74858b2a33cb2805dea0b0bc480dda7d
-include/unicode/casemap.h: b40e8878db23b64a72763bf75e4e3e2a
-include/unicode/char16ptr.h: 3bed1c6f219d725f6daf274704427035
-include/unicode/chariter.h: 463cdd4748695660223db14c27da3e84
-include/unicode/choicfmt.h: 38f338fb58eebce7fc999c906aad142e
-include/unicode/coleitr.h: 35cafcefbe5155408aa6166781d4290d
-include/unicode/coll.h: a60e4d0e20f25015d370bfb3b24e267e
-include/unicode/compactdecimalformat.h: dd1f639d5c836e200b48ad69ef326fc0
-include/unicode/curramt.h: 8f57c8f5a77ffd6d1f4a9c53b100ee3e
-include/unicode/currpinf.h: e279f04f8bb9c6a686ede0f4bbc7caf4
-include/unicode/currunit.h: 0ea702494028296a411ac0bda6895275
-include/unicode/datefmt.h: 91aee102e3fa68c64113645be5b944c4
-include/unicode/dbbi.h: 15a312f4cf6c6bc243fd6d32368956a1
-include/unicode/dcfmtsym.h: 3eec16337aeaa8877e966616ac53783a
-include/unicode/decimfmt.h: 18479b4ccc0b4efa7732b1da2d0fd2ab
-include/unicode/docmain.h: 0df0e8161180b869031a88050e0a01c9
-include/unicode/dtfmtsym.h: c06710d48a792838da0f5e3814b3908a
-include/unicode/dtintrv.h: 65e3985e944f54230322acc986c59a30
-include/unicode/dtitvfmt.h: 72a63051451b33ba43f67e572883e855
-include/unicode/dtitvinf.h: b6e798c244d5d4ed73916a8db5b4a855
-include/unicode/dtptngen.h: 5c7a7e4d10c3db7123815ff42dc904f6
-include/unicode/dtrule.h: a2a865734c97d4d5ee2a095ebbd629cf
-include/unicode/edits.h: 7fd52de9a5c418c48234d1425f22fabc
-include/unicode/enumset.h: 3bb75fc43c88682895ae98c02e69810d
-include/unicode/errorcode.h: 6f00859e026be521cff595db38b871db
-include/unicode/fieldpos.h: d42ab3ff641fdc7016cbc3e7526594a1
-include/unicode/filteredbrk.h: 4ab1ef82654177aea8000c72f6652e40
-include/unicode/fmtable.h: c0c5ea7bd3e3a5fded75c2fea543c668
-include/unicode/format.h: 71642e006d9e359a5a8b0800d390ec52
-include/unicode/formattedvalue.h: a502788adec3ba1025321c2cefd0e4c7
-include/unicode/fpositer.h: 2fdf3d1fa8b84e6ba3c561803de5f595
-include/unicode/gender.h: 21d668158f52ab989a8a4711de79f099
-include/unicode/gregocal.h: 4e746c8c84966372f9e66255e3d05246
-include/unicode/icudataver.h: d1c480a9eb95aaa058a6b9311074bc33
-include/unicode/icuplug.h: 60ad27a2a36284bbc1766f9920769175
-include/unicode/idna.h: e2bb1287f5f61b37dd11493008d29ef6
-include/unicode/listformatter.h: 2942dcd998fbadca9043912a2dbe9e7e
-include/unicode/localebuilder.h: 5690e3f03681a2fbfe7baea5226378cd
-include/unicode/localpointer.h: a89505f84a4bb4e231a17676f1b1d51a
-include/unicode/locdspnm.h: 5d12af057d2675b88cf95dc63f015f21
-include/unicode/locid.h: 9df99f05fc348684e116098f6e0a6710
-include/unicode/measfmt.h: 909302945254ede1a345342a8c4b402d
-include/unicode/measunit.h: 9e0fe1ba857f051874760f7aad55c68b
-include/unicode/measure.h: 060550ced6b6ceae742c8d47772e190f
-include/unicode/messagepattern.h: b671e9e96bad09137a7bf186e8d795fc
-include/unicode/msgfmt.h: f1723a391f733367dde795d42d1734f3
-include/unicode/normalizer2.h: 909305633321f6cbb76cc88dc8c00c90
-include/unicode/normlzr.h: c974010d56584fcf75f0f2e10e05fe9c
-include/unicode/nounit.h: 86e94a9d9377bcd124dfd80600a66d19
-include/unicode/numberformatter.h: 5f13d5de2fb98bb5f6ce33e5b48698c3
-include/unicode/numberrangeformatter.h: 460fa1a21356b00a275e27a9a540140e
-include/unicode/numfmt.h: 26724db0305eab9f3b810f3a6accc729
-include/unicode/numsys.h: f68bc678c30deeb7c50a104d852e40d8
-include/unicode/parseerr.h: ce38831411af01eeaf0bbbb6e1cb0153
-include/unicode/parsepos.h: d5300bfbc1b2cd0081aecb71320e11ec
-include/unicode/platform.h: d6aed91f3114fe877714fc554ad167ae
-include/unicode/plurfmt.h: fa64bd7797a74e8e8769a12047c5bf3c
-include/unicode/plurrule.h: 8d3eb6b9c5e6eec6da436601e42ec65e
-include/unicode/ptypes.h: d74097874c82f77331d8e06a5c59d37f
-include/unicode/putil.h: ee1c69d5060b8d5754bf8879bb7f10d1
-include/unicode/rbbi.h: a0202b93d684e8e595c0012e4cefca83
-include/unicode/rbnf.h: c951102dad30e81d893bc81df09820f5
-include/unicode/rbtz.h: f772120604410ff1f1492b1991d36163
-include/unicode/regex.h: e911b68edf768bc0c96b770fced3a7f5
-include/unicode/region.h: b0c3e0b2ad6650fbab876495b114b639
-include/unicode/reldatefmt.h: 99195dad14eef9b8992409fc066b97d7
-include/unicode/rep.h: d29a88e12fd288a0606a41464630a015
-include/unicode/resbund.h: 87a08c1ea0b825d2f99951e9be9f1127
-include/unicode/schriter.h: 9c196272282acc6ccf6cd34544095b63
-include/unicode/scientificnumberformatter.h: b0f20bc8a5b53b07a07d4576d3d6d928
-include/unicode/search.h: bee76013db18275ff842e90c6805ae72
-include/unicode/selfmt.h: 2457e48d1cf8ff880f1bdaf80a9e2fc7
-include/unicode/simpleformatter.h: 3dfb5ab658aecf124d329b645082b879
-include/unicode/simpletz.h: 07c17256943be808b2b2a597d3d27c33
-include/unicode/smpdtfmt.h: e5ba02765fd03756ba63ca138a47daf1
-include/unicode/sortkey.h: 25af96ad696ab793d62d67debb04c8ba
-include/unicode/std_string.h: 2300a9ee3296c630373a6e8b685dff88
-include/unicode/strenum.h: 2d2998dd8033ac7272c39406cc3f8b51
-include/unicode/stringoptions.h: d4929224e8d9df2f272f0305780cbacb
-include/unicode/stringpiece.h: 4265692d09da7d3cd585bc6776a8a0c7
-include/unicode/stringtriebuilder.h: fc74bea13a3003c79ebeccc442703037
-include/unicode/stsearch.h: 33d820eada4a37ceb3f0bd9ff07ed63d
-include/unicode/symtable.h: 763520aa161c95884efa6f6a5f29eb77
-include/unicode/tblcoll.h: 9aad9b68d582e13be85f437f815a3eb1
-include/unicode/timezone.h: 4e6b12c8e428fae21f99552d29544690
-include/unicode/tmunit.h: 9a1f159c304e2bd283d7cf61a0807c05
-include/unicode/tmutamt.h: 0890de21bc330b69b00f94c437e0f140
-include/unicode/tmutfmt.h: c344b95b816e04ed0bc895c6da6ef460
-include/unicode/translit.h: 3464c7b8023b7c131b0b533e1b372c3a
-include/unicode/tzfmt.h: 2cb06301f2376b6802834105060311bf
-include/unicode/tznames.h: b5935a11cb884e2e47ad732ee684037d
-include/unicode/tzrule.h: bcba9c924da93d42e4f18f507c11e8cf
-include/unicode/tztrans.h: 6e72d3497b3e68dc9aad510e2b45f781
-include/unicode/ubidi.h: d90a13a2933198f134efefc0ff7563e6
-include/unicode/ubiditransform.h: fab65809ece8816f1a002eb843b80e29
-include/unicode/ubrk.h: e85002afa629b85ba239135ab11f47f0
-include/unicode/ucal.h: c39d869ac0bca5859e78287092e40721
-include/unicode/ucasemap.h: 2f240e1dc6db1771e843f1a03fd0c8f4
-include/unicode/ucat.h: f412352b86adccba85d7f3e4b4515064
-include/unicode/uchar.h: 25e6419710b325b53286cb7dcaf4af57
-include/unicode/ucharstrie.h: 644af4172d542594c40face6cbe01b5e
-include/unicode/ucharstriebuilder.h: 52600c017361ee29f21a6fef13667948
-include/unicode/uchriter.h: 85c221ab993783ec8f7823713c30758c
-include/unicode/uclean.h: ef4b9289f510edd0bb6b779d0a299f44
-include/unicode/ucnv.h: db701a7a83540ef4dcfc4e780f1da016
-include/unicode/ucnv_cb.h: 69c1c5b156028cd623ed7e5b5b4ab730
-include/unicode/ucnv_err.h: 6ef0751460140d23ae678ef85c298906
-include/unicode/ucnvsel.h: 6e4c5e31c2a89439ef4945cd4a402ef3
-include/unicode/ucol.h: 0b6d71140d2f8e0cf618e5a54cf251af
-include/unicode/ucoleitr.h: b4576706530850666c1cfd2424276b26
-include/unicode/uconfig.h: 680b99d4b154e14ac1ebcb9c60f5ab3c
-include/unicode/ucpmap.h: a22571c78880dd947efc0ab547061a35
-include/unicode/ucptrie.h: 9b16abc66b11f53941ec5d90af1df0b0
-include/unicode/ucsdet.h: c7d5b3d36da0c71b0a85a72642439a90
-include/unicode/ucurr.h: 0ec2b114be8c462d4542c6e1d0bf2b8a
-include/unicode/udat.h: 373cf290162e44eba9f2cf6dad278858
-include/unicode/udata.h: e747b190fadb0749c129aeff7e6eef54
-include/unicode/udateintervalformat.h: 178f650518ecceeb2eca7b763dd68799
-include/unicode/udatpg.h: 078d2d548f3123fceae0d4056359a62e
-include/unicode/udisplaycontext.h: 57a269787da52ad6720ff5b1e87b5cdd
-include/unicode/uenum.h: 41cce54d4862d5068f4f087b935c0657
-include/unicode/ufieldpositer.h: 21f8ba8e285bfea4daa3da8a01911b7e
-include/unicode/uformattable.h: cad38a97f9f929ebc28d5e72dc5ec14f
-include/unicode/uformattedvalue.h: 47ae4b93dddfe15d28400da09201090e
-include/unicode/ugender.h: d64c9ad1d5cf04136534e3aca38d2638
-include/unicode/uidna.h: 88ee381ec6ec01cb677f3e5222e9cf22
-include/unicode/uiter.h: 3fea96177f4f814091918f54d1e68ccd
-include/unicode/uldnames.h: d18634bc73c16b9ae02b6a60fd94d8be
-include/unicode/ulistformatter.h: 64859bc80c70c1e183f3537e1c354142
-include/unicode/uloc.h: b344a11407a95b108ef52a4d88c74d6a
-include/unicode/ulocdata.h: 116fad6a2c0db0d08e3f5ae02d93a035
-include/unicode/umachine.h: b25221a74cab16d993f35108e6da340a
-include/unicode/umisc.h: eca71d8c8bf86529ae5bbc5f34598bea
-include/unicode/umsg.h: 298645d31f8d8e209cbb5eb3751e3ceb
-include/unicode/umutablecptrie.h: 4fe0aaad80938fbe881a3fb447be1f24
-include/unicode/unifilt.h: 71e8ecdb31d706e8e0efc4bbdc9f86b5
-include/unicode/unifunct.h: 97d80d81556b54ac674d09643df98cfc
-include/unicode/unimatch.h: 00eb31b1d65f3e0f03e7d880b1bb79fb
-include/unicode/unirepl.h: c5eeec0e14a9666262d332c22124803f
-include/unicode/uniset.h: 69b5447c36eec06421bc9038df3bd80e
-include/unicode/unistr.h: e35ee05307a3338579df46718b049b32
-include/unicode/unorm.h: 3a1e6dcd474ef8b2c3377b34141bf6d3
-include/unicode/unorm2.h: e8fff4023ad114b325f346d2cdbbe043
-include/unicode/unum.h: ec868132b7242d85645d30dd549b25fc
-include/unicode/unumberformatter.h: 0dc25c33373d63ca0beb10a9ef265237
-include/unicode/unumsys.h: 7e5dd76a0e07f790c30c944bfb810e71
-include/unicode/uobject.h: c9a1e3afb798e0fbcad34b01b0bc5c3e
-include/unicode/upluralrules.h: 15feae7c7df35b97d5e715f28f616e63
-include/unicode/uregex.h: 10fe8b8c9f98758bf192bc765fa45e3c
-include/unicode/uregion.h: a3f28f15972bf18600012815a8c76535
-include/unicode/ureldatefmt.h: d528589ebdc3f8cb6c27ce4867752c55
-include/unicode/urename.h: 7cd5ed487b56e2aeb354867a0b2cda5f
-include/unicode/urep.h: 6ada98ac1aa68081f10d17b1abadef6e
-include/unicode/ures.h: 8c69586a969eb2898d5d3e8c08beda9c
-include/unicode/uscript.h: 5bf2d96240b17507a05ebe4d36b1a38e
-include/unicode/usearch.h: fc5b3e0d1096ff69c3a2397ef5b3a036
-include/unicode/uset.h: a285e1b480a3abaaee753ba74d245efd
-include/unicode/usetiter.h: 36896c874036542390b5a75a04f330c5
-include/unicode/ushape.h: 86fdf709d4312bb17cf95b16f58e1dc4
-include/unicode/uspoof.h: 6c2d471942085f091c8bc748a02f113e
-include/unicode/usprep.h: e88585ae8bdb3a35aa88417993bde732
-include/unicode/ustdio.h: 3104e526d3de60538f42c0fd5430adcb
-include/unicode/ustream.h: 6a3f303b73d795a0ff9a1b8d2758d88d
-include/unicode/ustring.h: 92f522f8ef62e443c11baa56c32e42e4
-include/unicode/ustringtrie.h: 54a28aa9c4e117cd3ebfd0a670324f6c
-include/unicode/utext.h: b0e85d74193953fcaa29de51853cc95a
-include/unicode/utf.h: 4434eeb75c89a49228884aa247714e1c
-include/unicode/utf16.h: d95d304275f6c688b0c4ae5620d57e4c
-include/unicode/utf32.h: a1fdf74f4bd8808f9fb17df371f886d9
-include/unicode/utf8.h: 7d5d7b60c96cccc184cdc5cd53447e7c
-include/unicode/utf_old.h: c89c03a53abcf83e039ad4217246acd9
-include/unicode/utmscale.h: 7c59d91f835bc9f4b805dd64e73851d7
-include/unicode/utrace.h: 35cbc5ec2fd02b703a449e896f48ebfe
-include/unicode/utrans.h: 7a20730bb6d33441a5b9c886cc7cd0eb
-include/unicode/utypes.h: be7b3c9d785b5d70b2f05e6dd527f026
-include/unicode/uvernum.h: 59a34f58b169d039a90da4e8824af662
-include/unicode/uversion.h: af19802ec4e905051d79ab4579a30bcd
-include/unicode/vtzone.h: a9053ef95930bd854729360fe00fed7a
-lib/icu/64.2/Makefile.inc: 877c8d22d35ab71a25e3545b714b393e
-lib/icu/64.2/pkgdata.inc: 49b14eabd895cebb63a73c80d9099337
-lib/icu/Makefile.inc: 877c8d22d35ab71a25e3545b714b393e
-lib/icu/current/Makefile.inc: 877c8d22d35ab71a25e3545b714b393e
-lib/icu/current/pkgdata.inc: 49b14eabd895cebb63a73c80d9099337
-lib/icu/pkgdata.inc: 49b14eabd895cebb63a73c80d9099337
-lib/icudt.dll: 51718083e11c934244a2180453b6192d
-lib/icudt64.dll: d4b6d9f7726209fb2e7c50ad59ef948e
-lib/icuin.dll: 37ef9947c0ed682d9ca1200599ef8326
-lib/icuin64.dll: 37ef9947c0ed682d9ca1200599ef8326
-lib/icuio.dll: 6f163cb40ada9784eef3ff17d7c81541
-lib/icuio64.dll: 6f163cb40ada9784eef3ff17d7c81541
-lib/icutest.dll: 22f051d821580c97afb4e98955502003
-lib/icutest64.dll: 22f051d821580c97afb4e98955502003
-lib/icutu.dll: a1d54e06d72aa4ff539c850dc8b5ef07
-lib/icutu64.dll: a1d54e06d72aa4ff539c850dc8b5ef07
-lib/icuuc.dll: 95f54a0d2f02015eb1a2d996d52f7379
-lib/icuuc64.dll: 95f54a0d2f02015eb1a2d996d52f7379
-lib/libicudt.dll.a: 1bee3188c02b6416f380d1317ddb6173
-lib/libicuin.dll.a: 45887066a9eec4f2a3babb6a2b149cca
-lib/libicuio.dll.a: f28fc05d5c77873f77c98de4120c2257
-lib/libicutest.dll.a: e124c5752ed2fa61d3305d62c6bbb77f
-lib/libicutu.dll.a: 613e72ca20a6a70dea011a863fdb67cf
-lib/libicuuc.dll.a: c48739947c0ec41087df6f167b9f193d
-lib/pkgconfig/icu-i18n.pc: 1f2b1e05e6f343591662ee6a5c2120ff
-lib/pkgconfig/icu-io.pc: 90ce9fbc240c0d18469d4c949c1ff38c
-lib/pkgconfig/icu-uc.pc: 59f15ab191724fc7a7bb257f96d1746e
-licenses/LICENSE: 8bc5d32052a96f214cbdd1e53dfc935d
-share/icu/64.2/LICENSE: 8bc5d32052a96f214cbdd1e53dfc935d
-share/icu/64.2/config/mh-mingw64: 21a2b87cfc116d4f2a08e9c6c160f2d4
-share/icu/64.2/install-sh: 5afe8eb5573965dfb58378e4e46f3813
-share/icu/64.2/mkinstalldirs: 31c4856b24c8dbc6319819ccd43b4fda
-share/man/man1/derb.1: 140b84149f762ce47b2fe263aed44fb5
-share/man/man1/genbrk.1: f3b0b5c88f6562d93a27e776bf13987c
-share/man/man1/gencfu.1: fc9b581c0fe513328c22b44ce035e0c1
-share/man/man1/gencnval.1: 696401204fbe4d17e8dac25eea70ce07
-share/man/man1/gendict.1: f3607026142ed53bf2d0bae71884ce02
-share/man/man1/genrb.1: 3860427c56aa1c847586737737325550
-share/man/man1/icu-config.1: 24f882d0de63c5fee2b10a2911b206f8
-share/man/man1/makeconv.1: ee9bdbd7ee11f0e705e6de72b86f29ac
-share/man/man1/pkgdata.1: 2cb82b3e1c820002968867c3b2b5b811
-share/man/man1/uconv.1: 516c265d14b9f3ad72dceb2c2d23f2bb
-share/man/man8/genccode.8: 0c9f23a8cec80bfdb6127197f1c3ed17
-share/man/man8/gencmn.8: 251c98aa763ab74829e074c5e6f21c98
-share/man/man8/gensprep.8: a3129a511adbb04310a2d900c15784e1
-share/man/man8/icupkg.8: 145940ae5e9a8aea3a93213f13ddd70c
diff --git a/coin/provisioning/common/windows/conan_manifests/icu/64.2/qtproject/stable/package/0fa8894ab40ba8bc84e36b1278e6fb93534ef433/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/icu/64.2/qtproject/stable/package/0fa8894ab40ba8bc84e36b1278e6fb93534ef433/conanmanifest.txt
deleted file mode 100644
index 3246cfc4..00000000
--- a/coin/provisioning/common/windows/conan_manifests/icu/64.2/qtproject/stable/package/0fa8894ab40ba8bc84e36b1278e6fb93534ef433/conanmanifest.txt
+++ /dev/null
@@ -1,251 +0,0 @@
-1563301699
-bin/derb.exe: 375bc0810269406e4097d43a9ef65de5
-bin/escapesrc.exe: 5569002ce7984123f9eefa19840a6ee7
-bin/genbrk.exe: 10c1ce5f94d9fac6b4d38429855483a5
-bin/genccode.exe: 79e308a8f027703438157b75cdcaee5f
-bin/gencfu.exe: b3f38f0d3f048e988eae84ac462291e2
-bin/gencmn.exe: a1660bd03f65026d9557f7b8354d6a14
-bin/gencnval.exe: e04e852bd61714cfa38e795429d637e9
-bin/gendict.exe: 0fee346a8d0d07f1566501859da6d475
-bin/gennorm2.exe: 9e618d91189587ef232a399e4939ed59
-bin/genrb.exe: ee43e9ada1993a944aee14b5af361ec8
-bin/gensprep.exe: 24f03316091277e31f3d1e21d907c143
-bin/icu-config: 665a391274c974f9b3416bf3c796f9e8
-bin/icuinfo.exe: ba1e67402b55c3d5f3a494f326c7782f
-bin/icupkg.exe: 2a326b48e8b86d69d02f79db5380f629
-bin/makeconv.exe: 9be102256933aab5d9396495bbe8aa43
-bin/pkgdata.exe: a9b1aac252e93d5aa4cdbdd85ba4e46e
-bin/uconv.exe: 5dd0ea19fc070e08af7405cacadbbb01
-conaninfo.txt: 575afb295783470adb371557b8917a1a
-include/unicode/alphaindex.h: edc0ff1708822c14fbac4f58a89859c9
-include/unicode/appendable.h: 713ee4a1c3e3ca090b202ceb81d6ad9f
-include/unicode/basictz.h: 456683947de10ae84e2c069c9fc55e9f
-include/unicode/brkiter.h: c69c05b804270ad6c64f80c03a5b8ee0
-include/unicode/bytestream.h: 8b946f79fb11d18859acdceab1bb5d46
-include/unicode/bytestrie.h: 781e30fb8103ba58fdfe4b6704e54347
-include/unicode/bytestriebuilder.h: e6649e470ceff3af7ec894aa6031cb21
-include/unicode/calendar.h: e640b0fd471a5313b85a866871b9df2a
-include/unicode/caniter.h: 74858b2a33cb2805dea0b0bc480dda7d
-include/unicode/casemap.h: b40e8878db23b64a72763bf75e4e3e2a
-include/unicode/char16ptr.h: 3bed1c6f219d725f6daf274704427035
-include/unicode/chariter.h: 463cdd4748695660223db14c27da3e84
-include/unicode/choicfmt.h: 38f338fb58eebce7fc999c906aad142e
-include/unicode/coleitr.h: 35cafcefbe5155408aa6166781d4290d
-include/unicode/coll.h: a60e4d0e20f25015d370bfb3b24e267e
-include/unicode/compactdecimalformat.h: dd1f639d5c836e200b48ad69ef326fc0
-include/unicode/curramt.h: 8f57c8f5a77ffd6d1f4a9c53b100ee3e
-include/unicode/currpinf.h: e279f04f8bb9c6a686ede0f4bbc7caf4
-include/unicode/currunit.h: 0ea702494028296a411ac0bda6895275
-include/unicode/datefmt.h: 91aee102e3fa68c64113645be5b944c4
-include/unicode/dbbi.h: 15a312f4cf6c6bc243fd6d32368956a1
-include/unicode/dcfmtsym.h: 3eec16337aeaa8877e966616ac53783a
-include/unicode/decimfmt.h: 18479b4ccc0b4efa7732b1da2d0fd2ab
-include/unicode/docmain.h: 0df0e8161180b869031a88050e0a01c9
-include/unicode/dtfmtsym.h: c06710d48a792838da0f5e3814b3908a
-include/unicode/dtintrv.h: 65e3985e944f54230322acc986c59a30
-include/unicode/dtitvfmt.h: 72a63051451b33ba43f67e572883e855
-include/unicode/dtitvinf.h: b6e798c244d5d4ed73916a8db5b4a855
-include/unicode/dtptngen.h: 5c7a7e4d10c3db7123815ff42dc904f6
-include/unicode/dtrule.h: a2a865734c97d4d5ee2a095ebbd629cf
-include/unicode/edits.h: 7fd52de9a5c418c48234d1425f22fabc
-include/unicode/enumset.h: 3bb75fc43c88682895ae98c02e69810d
-include/unicode/errorcode.h: 6f00859e026be521cff595db38b871db
-include/unicode/fieldpos.h: d42ab3ff641fdc7016cbc3e7526594a1
-include/unicode/filteredbrk.h: 4ab1ef82654177aea8000c72f6652e40
-include/unicode/fmtable.h: c0c5ea7bd3e3a5fded75c2fea543c668
-include/unicode/format.h: 71642e006d9e359a5a8b0800d390ec52
-include/unicode/formattedvalue.h: a502788adec3ba1025321c2cefd0e4c7
-include/unicode/fpositer.h: 2fdf3d1fa8b84e6ba3c561803de5f595
-include/unicode/gender.h: 21d668158f52ab989a8a4711de79f099
-include/unicode/gregocal.h: 4e746c8c84966372f9e66255e3d05246
-include/unicode/icudataver.h: d1c480a9eb95aaa058a6b9311074bc33
-include/unicode/icuplug.h: 60ad27a2a36284bbc1766f9920769175
-include/unicode/idna.h: e2bb1287f5f61b37dd11493008d29ef6
-include/unicode/listformatter.h: 2942dcd998fbadca9043912a2dbe9e7e
-include/unicode/localebuilder.h: 5690e3f03681a2fbfe7baea5226378cd
-include/unicode/localpointer.h: a89505f84a4bb4e231a17676f1b1d51a
-include/unicode/locdspnm.h: 5d12af057d2675b88cf95dc63f015f21
-include/unicode/locid.h: 9df99f05fc348684e116098f6e0a6710
-include/unicode/measfmt.h: 909302945254ede1a345342a8c4b402d
-include/unicode/measunit.h: 9e0fe1ba857f051874760f7aad55c68b
-include/unicode/measure.h: 060550ced6b6ceae742c8d47772e190f
-include/unicode/messagepattern.h: b671e9e96bad09137a7bf186e8d795fc
-include/unicode/msgfmt.h: f1723a391f733367dde795d42d1734f3
-include/unicode/normalizer2.h: 909305633321f6cbb76cc88dc8c00c90
-include/unicode/normlzr.h: c974010d56584fcf75f0f2e10e05fe9c
-include/unicode/nounit.h: 86e94a9d9377bcd124dfd80600a66d19
-include/unicode/numberformatter.h: 5f13d5de2fb98bb5f6ce33e5b48698c3
-include/unicode/numberrangeformatter.h: 460fa1a21356b00a275e27a9a540140e
-include/unicode/numfmt.h: 26724db0305eab9f3b810f3a6accc729
-include/unicode/numsys.h: f68bc678c30deeb7c50a104d852e40d8
-include/unicode/parseerr.h: ce38831411af01eeaf0bbbb6e1cb0153
-include/unicode/parsepos.h: d5300bfbc1b2cd0081aecb71320e11ec
-include/unicode/platform.h: d6aed91f3114fe877714fc554ad167ae
-include/unicode/plurfmt.h: fa64bd7797a74e8e8769a12047c5bf3c
-include/unicode/plurrule.h: 8d3eb6b9c5e6eec6da436601e42ec65e
-include/unicode/ptypes.h: d74097874c82f77331d8e06a5c59d37f
-include/unicode/putil.h: ee1c69d5060b8d5754bf8879bb7f10d1
-include/unicode/rbbi.h: a0202b93d684e8e595c0012e4cefca83
-include/unicode/rbnf.h: c951102dad30e81d893bc81df09820f5
-include/unicode/rbtz.h: f772120604410ff1f1492b1991d36163
-include/unicode/regex.h: e911b68edf768bc0c96b770fced3a7f5
-include/unicode/region.h: b0c3e0b2ad6650fbab876495b114b639
-include/unicode/reldatefmt.h: 99195dad14eef9b8992409fc066b97d7
-include/unicode/rep.h: d29a88e12fd288a0606a41464630a015
-include/unicode/resbund.h: 87a08c1ea0b825d2f99951e9be9f1127
-include/unicode/schriter.h: 9c196272282acc6ccf6cd34544095b63
-include/unicode/scientificnumberformatter.h: b0f20bc8a5b53b07a07d4576d3d6d928
-include/unicode/search.h: bee76013db18275ff842e90c6805ae72
-include/unicode/selfmt.h: 2457e48d1cf8ff880f1bdaf80a9e2fc7
-include/unicode/simpleformatter.h: 3dfb5ab658aecf124d329b645082b879
-include/unicode/simpletz.h: 07c17256943be808b2b2a597d3d27c33
-include/unicode/smpdtfmt.h: e5ba02765fd03756ba63ca138a47daf1
-include/unicode/sortkey.h: 25af96ad696ab793d62d67debb04c8ba
-include/unicode/std_string.h: 2300a9ee3296c630373a6e8b685dff88
-include/unicode/strenum.h: 2d2998dd8033ac7272c39406cc3f8b51
-include/unicode/stringoptions.h: d4929224e8d9df2f272f0305780cbacb
-include/unicode/stringpiece.h: 4265692d09da7d3cd585bc6776a8a0c7
-include/unicode/stringtriebuilder.h: fc74bea13a3003c79ebeccc442703037
-include/unicode/stsearch.h: 33d820eada4a37ceb3f0bd9ff07ed63d
-include/unicode/symtable.h: 763520aa161c95884efa6f6a5f29eb77
-include/unicode/tblcoll.h: 9aad9b68d582e13be85f437f815a3eb1
-include/unicode/timezone.h: 4e6b12c8e428fae21f99552d29544690
-include/unicode/tmunit.h: 9a1f159c304e2bd283d7cf61a0807c05
-include/unicode/tmutamt.h: 0890de21bc330b69b00f94c437e0f140
-include/unicode/tmutfmt.h: c344b95b816e04ed0bc895c6da6ef460
-include/unicode/translit.h: 3464c7b8023b7c131b0b533e1b372c3a
-include/unicode/tzfmt.h: 2cb06301f2376b6802834105060311bf
-include/unicode/tznames.h: b5935a11cb884e2e47ad732ee684037d
-include/unicode/tzrule.h: bcba9c924da93d42e4f18f507c11e8cf
-include/unicode/tztrans.h: 6e72d3497b3e68dc9aad510e2b45f781
-include/unicode/ubidi.h: d90a13a2933198f134efefc0ff7563e6
-include/unicode/ubiditransform.h: fab65809ece8816f1a002eb843b80e29
-include/unicode/ubrk.h: e85002afa629b85ba239135ab11f47f0
-include/unicode/ucal.h: c39d869ac0bca5859e78287092e40721
-include/unicode/ucasemap.h: 2f240e1dc6db1771e843f1a03fd0c8f4
-include/unicode/ucat.h: f412352b86adccba85d7f3e4b4515064
-include/unicode/uchar.h: 25e6419710b325b53286cb7dcaf4af57
-include/unicode/ucharstrie.h: 644af4172d542594c40face6cbe01b5e
-include/unicode/ucharstriebuilder.h: 52600c017361ee29f21a6fef13667948
-include/unicode/uchriter.h: 85c221ab993783ec8f7823713c30758c
-include/unicode/uclean.h: ef4b9289f510edd0bb6b779d0a299f44
-include/unicode/ucnv.h: db701a7a83540ef4dcfc4e780f1da016
-include/unicode/ucnv_cb.h: 69c1c5b156028cd623ed7e5b5b4ab730
-include/unicode/ucnv_err.h: 6ef0751460140d23ae678ef85c298906
-include/unicode/ucnvsel.h: 6e4c5e31c2a89439ef4945cd4a402ef3
-include/unicode/ucol.h: 0b6d71140d2f8e0cf618e5a54cf251af
-include/unicode/ucoleitr.h: b4576706530850666c1cfd2424276b26
-include/unicode/uconfig.h: 680b99d4b154e14ac1ebcb9c60f5ab3c
-include/unicode/ucpmap.h: a22571c78880dd947efc0ab547061a35
-include/unicode/ucptrie.h: 9b16abc66b11f53941ec5d90af1df0b0
-include/unicode/ucsdet.h: c7d5b3d36da0c71b0a85a72642439a90
-include/unicode/ucurr.h: 0ec2b114be8c462d4542c6e1d0bf2b8a
-include/unicode/udat.h: 373cf290162e44eba9f2cf6dad278858
-include/unicode/udata.h: e747b190fadb0749c129aeff7e6eef54
-include/unicode/udateintervalformat.h: 178f650518ecceeb2eca7b763dd68799
-include/unicode/udatpg.h: 078d2d548f3123fceae0d4056359a62e
-include/unicode/udisplaycontext.h: 57a269787da52ad6720ff5b1e87b5cdd
-include/unicode/uenum.h: 41cce54d4862d5068f4f087b935c0657
-include/unicode/ufieldpositer.h: 21f8ba8e285bfea4daa3da8a01911b7e
-include/unicode/uformattable.h: cad38a97f9f929ebc28d5e72dc5ec14f
-include/unicode/uformattedvalue.h: 47ae4b93dddfe15d28400da09201090e
-include/unicode/ugender.h: d64c9ad1d5cf04136534e3aca38d2638
-include/unicode/uidna.h: 88ee381ec6ec01cb677f3e5222e9cf22
-include/unicode/uiter.h: 3fea96177f4f814091918f54d1e68ccd
-include/unicode/uldnames.h: d18634bc73c16b9ae02b6a60fd94d8be
-include/unicode/ulistformatter.h: 64859bc80c70c1e183f3537e1c354142
-include/unicode/uloc.h: b344a11407a95b108ef52a4d88c74d6a
-include/unicode/ulocdata.h: 116fad6a2c0db0d08e3f5ae02d93a035
-include/unicode/umachine.h: b25221a74cab16d993f35108e6da340a
-include/unicode/umisc.h: eca71d8c8bf86529ae5bbc5f34598bea
-include/unicode/umsg.h: 298645d31f8d8e209cbb5eb3751e3ceb
-include/unicode/umutablecptrie.h: 4fe0aaad80938fbe881a3fb447be1f24
-include/unicode/unifilt.h: 71e8ecdb31d706e8e0efc4bbdc9f86b5
-include/unicode/unifunct.h: 97d80d81556b54ac674d09643df98cfc
-include/unicode/unimatch.h: 00eb31b1d65f3e0f03e7d880b1bb79fb
-include/unicode/unirepl.h: c5eeec0e14a9666262d332c22124803f
-include/unicode/uniset.h: 69b5447c36eec06421bc9038df3bd80e
-include/unicode/unistr.h: e35ee05307a3338579df46718b049b32
-include/unicode/unorm.h: 3a1e6dcd474ef8b2c3377b34141bf6d3
-include/unicode/unorm2.h: e8fff4023ad114b325f346d2cdbbe043
-include/unicode/unum.h: ec868132b7242d85645d30dd549b25fc
-include/unicode/unumberformatter.h: 0dc25c33373d63ca0beb10a9ef265237
-include/unicode/unumsys.h: 7e5dd76a0e07f790c30c944bfb810e71
-include/unicode/uobject.h: c9a1e3afb798e0fbcad34b01b0bc5c3e
-include/unicode/upluralrules.h: 15feae7c7df35b97d5e715f28f616e63
-include/unicode/uregex.h: 10fe8b8c9f98758bf192bc765fa45e3c
-include/unicode/uregion.h: a3f28f15972bf18600012815a8c76535
-include/unicode/ureldatefmt.h: d528589ebdc3f8cb6c27ce4867752c55
-include/unicode/urename.h: 7cd5ed487b56e2aeb354867a0b2cda5f
-include/unicode/urep.h: 6ada98ac1aa68081f10d17b1abadef6e
-include/unicode/ures.h: 8c69586a969eb2898d5d3e8c08beda9c
-include/unicode/uscript.h: 5bf2d96240b17507a05ebe4d36b1a38e
-include/unicode/usearch.h: fc5b3e0d1096ff69c3a2397ef5b3a036
-include/unicode/uset.h: a285e1b480a3abaaee753ba74d245efd
-include/unicode/usetiter.h: 36896c874036542390b5a75a04f330c5
-include/unicode/ushape.h: 86fdf709d4312bb17cf95b16f58e1dc4
-include/unicode/uspoof.h: 6c2d471942085f091c8bc748a02f113e
-include/unicode/usprep.h: e88585ae8bdb3a35aa88417993bde732
-include/unicode/ustdio.h: 3104e526d3de60538f42c0fd5430adcb
-include/unicode/ustream.h: 6a3f303b73d795a0ff9a1b8d2758d88d
-include/unicode/ustring.h: 92f522f8ef62e443c11baa56c32e42e4
-include/unicode/ustringtrie.h: 54a28aa9c4e117cd3ebfd0a670324f6c
-include/unicode/utext.h: b0e85d74193953fcaa29de51853cc95a
-include/unicode/utf.h: 4434eeb75c89a49228884aa247714e1c
-include/unicode/utf16.h: d95d304275f6c688b0c4ae5620d57e4c
-include/unicode/utf32.h: a1fdf74f4bd8808f9fb17df371f886d9
-include/unicode/utf8.h: 7d5d7b60c96cccc184cdc5cd53447e7c
-include/unicode/utf_old.h: c89c03a53abcf83e039ad4217246acd9
-include/unicode/utmscale.h: 7c59d91f835bc9f4b805dd64e73851d7
-include/unicode/utrace.h: 35cbc5ec2fd02b703a449e896f48ebfe
-include/unicode/utrans.h: 7a20730bb6d33441a5b9c886cc7cd0eb
-include/unicode/utypes.h: be7b3c9d785b5d70b2f05e6dd527f026
-include/unicode/uvernum.h: 59a34f58b169d039a90da4e8824af662
-include/unicode/uversion.h: af19802ec4e905051d79ab4579a30bcd
-include/unicode/vtzone.h: a9053ef95930bd854729360fe00fed7a
-lib/icu/64.2/Makefile.inc: d000546022e2d0cfb58241c11f054e80
-lib/icu/64.2/pkgdata.inc: 9e9ad5b73839668e9675f4b31caa2ebe
-lib/icu/Makefile.inc: d000546022e2d0cfb58241c11f054e80
-lib/icu/current/Makefile.inc: d000546022e2d0cfb58241c11f054e80
-lib/icu/current/pkgdata.inc: 9e9ad5b73839668e9675f4b31caa2ebe
-lib/icu/pkgdata.inc: 9e9ad5b73839668e9675f4b31caa2ebe
-lib/icudt.dll: ac6efe7eaec4fa7b749550173b04392f
-lib/icudt64.dll: 4d80d23284671bd24e8ac1aaf6fc0a7b
-lib/icuin.dll: 0a482904d287f7c26d664be6ae1f1671
-lib/icuin64.dll: 0a482904d287f7c26d664be6ae1f1671
-lib/icuio.dll: ed81589b9b71286be32cd8bee437eb41
-lib/icuio64.dll: ed81589b9b71286be32cd8bee437eb41
-lib/icutest.dll: 3c6d6063ae6f1d621a79b7897b48d656
-lib/icutest64.dll: 3c6d6063ae6f1d621a79b7897b48d656
-lib/icutu.dll: 520c5a42e1c175b532fbcd9b90313b6c
-lib/icutu64.dll: 520c5a42e1c175b532fbcd9b90313b6c
-lib/icuuc.dll: 8200c94ba062e2c9e30da33aca8a4309
-lib/icuuc64.dll: 8200c94ba062e2c9e30da33aca8a4309
-lib/libicudt.dll.a: df32fc5d9b5b4b8b73ef99bd6406fc8e
-lib/libicuin.dll.a: b46652d08d3f871395a17d1464c49971
-lib/libicuio.dll.a: 30bbc1bd1301eb888d4ec6097537662a
-lib/libicutest.dll.a: 787604ab7a3c1de020d86a9a1fa66be3
-lib/libicutu.dll.a: a5373379a2587d545ab1dd45f0c0667b
-lib/libicuuc.dll.a: 2a0ffc1076f58b463cc4bec245c2b1be
-lib/pkgconfig/icu-i18n.pc: f573b14475965f49567ed83d5031538e
-lib/pkgconfig/icu-io.pc: 2a4e41cb67a88fc54f60694bef22b72a
-lib/pkgconfig/icu-uc.pc: 22a5ded4d9fe218e037b1f4c13a70579
-licenses/LICENSE: 8bc5d32052a96f214cbdd1e53dfc935d
-share/icu/64.2/LICENSE: 8bc5d32052a96f214cbdd1e53dfc935d
-share/icu/64.2/config/mh-mingw: ab13bce100d6595882f2b3a8cc69b564
-share/icu/64.2/install-sh: 5afe8eb5573965dfb58378e4e46f3813
-share/icu/64.2/mkinstalldirs: 31c4856b24c8dbc6319819ccd43b4fda
-share/man/man1/derb.1: 140b84149f762ce47b2fe263aed44fb5
-share/man/man1/genbrk.1: f3b0b5c88f6562d93a27e776bf13987c
-share/man/man1/gencfu.1: fc9b581c0fe513328c22b44ce035e0c1
-share/man/man1/gencnval.1: 696401204fbe4d17e8dac25eea70ce07
-share/man/man1/gendict.1: f3607026142ed53bf2d0bae71884ce02
-share/man/man1/genrb.1: 3860427c56aa1c847586737737325550
-share/man/man1/icu-config.1: 24f882d0de63c5fee2b10a2911b206f8
-share/man/man1/makeconv.1: ee9bdbd7ee11f0e705e6de72b86f29ac
-share/man/man1/pkgdata.1: 2cb82b3e1c820002968867c3b2b5b811
-share/man/man1/uconv.1: 516c265d14b9f3ad72dceb2c2d23f2bb
-share/man/man8/genccode.8: 0c9f23a8cec80bfdb6127197f1c3ed17
-share/man/man8/gencmn.8: 251c98aa763ab74829e074c5e6f21c98
-share/man/man8/gensprep.8: a3129a511adbb04310a2d900c15784e1
-share/man/man8/icupkg.8: 145940ae5e9a8aea3a93213f13ddd70c
diff --git a/coin/provisioning/common/windows/conan_manifests/icu/64.2/qtproject/stable/package/11dc74683b2b5768b63ea1e7443e7aaa2d3151c4/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/icu/64.2/qtproject/stable/package/11dc74683b2b5768b63ea1e7443e7aaa2d3151c4/conanmanifest.txt
deleted file mode 100644
index 7762ff52..00000000
--- a/coin/provisioning/common/windows/conan_manifests/icu/64.2/qtproject/stable/package/11dc74683b2b5768b63ea1e7443e7aaa2d3151c4/conanmanifest.txt
+++ /dev/null
@@ -1,251 +0,0 @@
-1563299277
-bin/derb.exe: 90f54a8bbda4f39f4c47287681cb5552
-bin/escapesrc.exe: 12accb206165830ccf4d69fa1f59fc1e
-bin/genbrk.exe: 9cbe27e07ad58bf1d237c3349fffa504
-bin/genccode.exe: d84c895291b64a664556e5a1fe6f6bdf
-bin/gencfu.exe: be92b3dfda1abb865169cdfb3ede6b4d
-bin/gencmn.exe: dac536a66875e73d7d70f881ce89d06d
-bin/gencnval.exe: aa1bd302568764a11b399e325e50e653
-bin/gendict.exe: 676c786297c610cf0f5c04599ea3dbe7
-bin/gennorm2.exe: 3c5bf8829fd165df210dcba3b7dc3707
-bin/genrb.exe: 8ae3ad0fda5d3b89f720d423351a5ab7
-bin/gensprep.exe: f5de9cef94d2140c495b63a064013c04
-bin/icu-config: 5b68566c6fde8a8f0c20d9510580f68b
-bin/icuinfo.exe: e1141df949642693b26f9fddc43918c0
-bin/icupkg.exe: 8ef556e822f708e61e7c5bb6a1a3b32b
-bin/makeconv.exe: ebe2fe9248d4a3a1e0070a2861e35f44
-bin/pkgdata.exe: 807bd1cff4a08161f8b9334e327db6f1
-bin/uconv.exe: 470f25326a8ad758f90f1e4a6f8f17b0
-conaninfo.txt: 9675d2fb92175cb1bef18e3e3ff74825
-include/unicode/alphaindex.h: edc0ff1708822c14fbac4f58a89859c9
-include/unicode/appendable.h: 713ee4a1c3e3ca090b202ceb81d6ad9f
-include/unicode/basictz.h: 456683947de10ae84e2c069c9fc55e9f
-include/unicode/brkiter.h: c69c05b804270ad6c64f80c03a5b8ee0
-include/unicode/bytestream.h: 8b946f79fb11d18859acdceab1bb5d46
-include/unicode/bytestrie.h: 781e30fb8103ba58fdfe4b6704e54347
-include/unicode/bytestriebuilder.h: e6649e470ceff3af7ec894aa6031cb21
-include/unicode/calendar.h: e640b0fd471a5313b85a866871b9df2a
-include/unicode/caniter.h: 74858b2a33cb2805dea0b0bc480dda7d
-include/unicode/casemap.h: b40e8878db23b64a72763bf75e4e3e2a
-include/unicode/char16ptr.h: 3bed1c6f219d725f6daf274704427035
-include/unicode/chariter.h: 463cdd4748695660223db14c27da3e84
-include/unicode/choicfmt.h: 38f338fb58eebce7fc999c906aad142e
-include/unicode/coleitr.h: 35cafcefbe5155408aa6166781d4290d
-include/unicode/coll.h: a60e4d0e20f25015d370bfb3b24e267e
-include/unicode/compactdecimalformat.h: dd1f639d5c836e200b48ad69ef326fc0
-include/unicode/curramt.h: 8f57c8f5a77ffd6d1f4a9c53b100ee3e
-include/unicode/currpinf.h: e279f04f8bb9c6a686ede0f4bbc7caf4
-include/unicode/currunit.h: 0ea702494028296a411ac0bda6895275
-include/unicode/datefmt.h: 91aee102e3fa68c64113645be5b944c4
-include/unicode/dbbi.h: 15a312f4cf6c6bc243fd6d32368956a1
-include/unicode/dcfmtsym.h: 3eec16337aeaa8877e966616ac53783a
-include/unicode/decimfmt.h: 18479b4ccc0b4efa7732b1da2d0fd2ab
-include/unicode/docmain.h: 0df0e8161180b869031a88050e0a01c9
-include/unicode/dtfmtsym.h: c06710d48a792838da0f5e3814b3908a
-include/unicode/dtintrv.h: 65e3985e944f54230322acc986c59a30
-include/unicode/dtitvfmt.h: 72a63051451b33ba43f67e572883e855
-include/unicode/dtitvinf.h: b6e798c244d5d4ed73916a8db5b4a855
-include/unicode/dtptngen.h: 5c7a7e4d10c3db7123815ff42dc904f6
-include/unicode/dtrule.h: a2a865734c97d4d5ee2a095ebbd629cf
-include/unicode/edits.h: 7fd52de9a5c418c48234d1425f22fabc
-include/unicode/enumset.h: 3bb75fc43c88682895ae98c02e69810d
-include/unicode/errorcode.h: 6f00859e026be521cff595db38b871db
-include/unicode/fieldpos.h: d42ab3ff641fdc7016cbc3e7526594a1
-include/unicode/filteredbrk.h: 4ab1ef82654177aea8000c72f6652e40
-include/unicode/fmtable.h: c0c5ea7bd3e3a5fded75c2fea543c668
-include/unicode/format.h: 71642e006d9e359a5a8b0800d390ec52
-include/unicode/formattedvalue.h: a502788adec3ba1025321c2cefd0e4c7
-include/unicode/fpositer.h: 2fdf3d1fa8b84e6ba3c561803de5f595
-include/unicode/gender.h: 21d668158f52ab989a8a4711de79f099
-include/unicode/gregocal.h: 4e746c8c84966372f9e66255e3d05246
-include/unicode/icudataver.h: d1c480a9eb95aaa058a6b9311074bc33
-include/unicode/icuplug.h: 60ad27a2a36284bbc1766f9920769175
-include/unicode/idna.h: e2bb1287f5f61b37dd11493008d29ef6
-include/unicode/listformatter.h: 2942dcd998fbadca9043912a2dbe9e7e
-include/unicode/localebuilder.h: 5690e3f03681a2fbfe7baea5226378cd
-include/unicode/localpointer.h: a89505f84a4bb4e231a17676f1b1d51a
-include/unicode/locdspnm.h: 5d12af057d2675b88cf95dc63f015f21
-include/unicode/locid.h: 9df99f05fc348684e116098f6e0a6710
-include/unicode/measfmt.h: 909302945254ede1a345342a8c4b402d
-include/unicode/measunit.h: 9e0fe1ba857f051874760f7aad55c68b
-include/unicode/measure.h: 060550ced6b6ceae742c8d47772e190f
-include/unicode/messagepattern.h: b671e9e96bad09137a7bf186e8d795fc
-include/unicode/msgfmt.h: f1723a391f733367dde795d42d1734f3
-include/unicode/normalizer2.h: 909305633321f6cbb76cc88dc8c00c90
-include/unicode/normlzr.h: c974010d56584fcf75f0f2e10e05fe9c
-include/unicode/nounit.h: 86e94a9d9377bcd124dfd80600a66d19
-include/unicode/numberformatter.h: 5f13d5de2fb98bb5f6ce33e5b48698c3
-include/unicode/numberrangeformatter.h: 460fa1a21356b00a275e27a9a540140e
-include/unicode/numfmt.h: 26724db0305eab9f3b810f3a6accc729
-include/unicode/numsys.h: f68bc678c30deeb7c50a104d852e40d8
-include/unicode/parseerr.h: ce38831411af01eeaf0bbbb6e1cb0153
-include/unicode/parsepos.h: d5300bfbc1b2cd0081aecb71320e11ec
-include/unicode/platform.h: d6aed91f3114fe877714fc554ad167ae
-include/unicode/plurfmt.h: fa64bd7797a74e8e8769a12047c5bf3c
-include/unicode/plurrule.h: 8d3eb6b9c5e6eec6da436601e42ec65e
-include/unicode/ptypes.h: d74097874c82f77331d8e06a5c59d37f
-include/unicode/putil.h: ee1c69d5060b8d5754bf8879bb7f10d1
-include/unicode/rbbi.h: a0202b93d684e8e595c0012e4cefca83
-include/unicode/rbnf.h: c951102dad30e81d893bc81df09820f5
-include/unicode/rbtz.h: f772120604410ff1f1492b1991d36163
-include/unicode/regex.h: e911b68edf768bc0c96b770fced3a7f5
-include/unicode/region.h: b0c3e0b2ad6650fbab876495b114b639
-include/unicode/reldatefmt.h: 99195dad14eef9b8992409fc066b97d7
-include/unicode/rep.h: d29a88e12fd288a0606a41464630a015
-include/unicode/resbund.h: 87a08c1ea0b825d2f99951e9be9f1127
-include/unicode/schriter.h: 9c196272282acc6ccf6cd34544095b63
-include/unicode/scientificnumberformatter.h: b0f20bc8a5b53b07a07d4576d3d6d928
-include/unicode/search.h: bee76013db18275ff842e90c6805ae72
-include/unicode/selfmt.h: 2457e48d1cf8ff880f1bdaf80a9e2fc7
-include/unicode/simpleformatter.h: 3dfb5ab658aecf124d329b645082b879
-include/unicode/simpletz.h: 07c17256943be808b2b2a597d3d27c33
-include/unicode/smpdtfmt.h: e5ba02765fd03756ba63ca138a47daf1
-include/unicode/sortkey.h: 25af96ad696ab793d62d67debb04c8ba
-include/unicode/std_string.h: 2300a9ee3296c630373a6e8b685dff88
-include/unicode/strenum.h: 2d2998dd8033ac7272c39406cc3f8b51
-include/unicode/stringoptions.h: d4929224e8d9df2f272f0305780cbacb
-include/unicode/stringpiece.h: 4265692d09da7d3cd585bc6776a8a0c7
-include/unicode/stringtriebuilder.h: fc74bea13a3003c79ebeccc442703037
-include/unicode/stsearch.h: 33d820eada4a37ceb3f0bd9ff07ed63d
-include/unicode/symtable.h: 763520aa161c95884efa6f6a5f29eb77
-include/unicode/tblcoll.h: 9aad9b68d582e13be85f437f815a3eb1
-include/unicode/timezone.h: 4e6b12c8e428fae21f99552d29544690
-include/unicode/tmunit.h: 9a1f159c304e2bd283d7cf61a0807c05
-include/unicode/tmutamt.h: 0890de21bc330b69b00f94c437e0f140
-include/unicode/tmutfmt.h: c344b95b816e04ed0bc895c6da6ef460
-include/unicode/translit.h: 3464c7b8023b7c131b0b533e1b372c3a
-include/unicode/tzfmt.h: 2cb06301f2376b6802834105060311bf
-include/unicode/tznames.h: b5935a11cb884e2e47ad732ee684037d
-include/unicode/tzrule.h: bcba9c924da93d42e4f18f507c11e8cf
-include/unicode/tztrans.h: 6e72d3497b3e68dc9aad510e2b45f781
-include/unicode/ubidi.h: d90a13a2933198f134efefc0ff7563e6
-include/unicode/ubiditransform.h: fab65809ece8816f1a002eb843b80e29
-include/unicode/ubrk.h: e85002afa629b85ba239135ab11f47f0
-include/unicode/ucal.h: c39d869ac0bca5859e78287092e40721
-include/unicode/ucasemap.h: 2f240e1dc6db1771e843f1a03fd0c8f4
-include/unicode/ucat.h: f412352b86adccba85d7f3e4b4515064
-include/unicode/uchar.h: 25e6419710b325b53286cb7dcaf4af57
-include/unicode/ucharstrie.h: 644af4172d542594c40face6cbe01b5e
-include/unicode/ucharstriebuilder.h: 52600c017361ee29f21a6fef13667948
-include/unicode/uchriter.h: 85c221ab993783ec8f7823713c30758c
-include/unicode/uclean.h: ef4b9289f510edd0bb6b779d0a299f44
-include/unicode/ucnv.h: db701a7a83540ef4dcfc4e780f1da016
-include/unicode/ucnv_cb.h: 69c1c5b156028cd623ed7e5b5b4ab730
-include/unicode/ucnv_err.h: 6ef0751460140d23ae678ef85c298906
-include/unicode/ucnvsel.h: 6e4c5e31c2a89439ef4945cd4a402ef3
-include/unicode/ucol.h: 0b6d71140d2f8e0cf618e5a54cf251af
-include/unicode/ucoleitr.h: b4576706530850666c1cfd2424276b26
-include/unicode/uconfig.h: 680b99d4b154e14ac1ebcb9c60f5ab3c
-include/unicode/ucpmap.h: a22571c78880dd947efc0ab547061a35
-include/unicode/ucptrie.h: 9b16abc66b11f53941ec5d90af1df0b0
-include/unicode/ucsdet.h: c7d5b3d36da0c71b0a85a72642439a90
-include/unicode/ucurr.h: 0ec2b114be8c462d4542c6e1d0bf2b8a
-include/unicode/udat.h: 373cf290162e44eba9f2cf6dad278858
-include/unicode/udata.h: e747b190fadb0749c129aeff7e6eef54
-include/unicode/udateintervalformat.h: 178f650518ecceeb2eca7b763dd68799
-include/unicode/udatpg.h: 078d2d548f3123fceae0d4056359a62e
-include/unicode/udisplaycontext.h: 57a269787da52ad6720ff5b1e87b5cdd
-include/unicode/uenum.h: 41cce54d4862d5068f4f087b935c0657
-include/unicode/ufieldpositer.h: 21f8ba8e285bfea4daa3da8a01911b7e
-include/unicode/uformattable.h: cad38a97f9f929ebc28d5e72dc5ec14f
-include/unicode/uformattedvalue.h: 47ae4b93dddfe15d28400da09201090e
-include/unicode/ugender.h: d64c9ad1d5cf04136534e3aca38d2638
-include/unicode/uidna.h: 88ee381ec6ec01cb677f3e5222e9cf22
-include/unicode/uiter.h: 3fea96177f4f814091918f54d1e68ccd
-include/unicode/uldnames.h: d18634bc73c16b9ae02b6a60fd94d8be
-include/unicode/ulistformatter.h: 64859bc80c70c1e183f3537e1c354142
-include/unicode/uloc.h: b344a11407a95b108ef52a4d88c74d6a
-include/unicode/ulocdata.h: 116fad6a2c0db0d08e3f5ae02d93a035
-include/unicode/umachine.h: b25221a74cab16d993f35108e6da340a
-include/unicode/umisc.h: eca71d8c8bf86529ae5bbc5f34598bea
-include/unicode/umsg.h: 298645d31f8d8e209cbb5eb3751e3ceb
-include/unicode/umutablecptrie.h: 4fe0aaad80938fbe881a3fb447be1f24
-include/unicode/unifilt.h: 71e8ecdb31d706e8e0efc4bbdc9f86b5
-include/unicode/unifunct.h: 97d80d81556b54ac674d09643df98cfc
-include/unicode/unimatch.h: 00eb31b1d65f3e0f03e7d880b1bb79fb
-include/unicode/unirepl.h: c5eeec0e14a9666262d332c22124803f
-include/unicode/uniset.h: 69b5447c36eec06421bc9038df3bd80e
-include/unicode/unistr.h: e35ee05307a3338579df46718b049b32
-include/unicode/unorm.h: 3a1e6dcd474ef8b2c3377b34141bf6d3
-include/unicode/unorm2.h: e8fff4023ad114b325f346d2cdbbe043
-include/unicode/unum.h: ec868132b7242d85645d30dd549b25fc
-include/unicode/unumberformatter.h: 0dc25c33373d63ca0beb10a9ef265237
-include/unicode/unumsys.h: 7e5dd76a0e07f790c30c944bfb810e71
-include/unicode/uobject.h: c9a1e3afb798e0fbcad34b01b0bc5c3e
-include/unicode/upluralrules.h: 15feae7c7df35b97d5e715f28f616e63
-include/unicode/uregex.h: 10fe8b8c9f98758bf192bc765fa45e3c
-include/unicode/uregion.h: a3f28f15972bf18600012815a8c76535
-include/unicode/ureldatefmt.h: d528589ebdc3f8cb6c27ce4867752c55
-include/unicode/urename.h: 7cd5ed487b56e2aeb354867a0b2cda5f
-include/unicode/urep.h: 6ada98ac1aa68081f10d17b1abadef6e
-include/unicode/ures.h: 8c69586a969eb2898d5d3e8c08beda9c
-include/unicode/uscript.h: 5bf2d96240b17507a05ebe4d36b1a38e
-include/unicode/usearch.h: fc5b3e0d1096ff69c3a2397ef5b3a036
-include/unicode/uset.h: a285e1b480a3abaaee753ba74d245efd
-include/unicode/usetiter.h: 36896c874036542390b5a75a04f330c5
-include/unicode/ushape.h: 86fdf709d4312bb17cf95b16f58e1dc4
-include/unicode/uspoof.h: 6c2d471942085f091c8bc748a02f113e
-include/unicode/usprep.h: e88585ae8bdb3a35aa88417993bde732
-include/unicode/ustdio.h: 3104e526d3de60538f42c0fd5430adcb
-include/unicode/ustream.h: 6a3f303b73d795a0ff9a1b8d2758d88d
-include/unicode/ustring.h: 92f522f8ef62e443c11baa56c32e42e4
-include/unicode/ustringtrie.h: 54a28aa9c4e117cd3ebfd0a670324f6c
-include/unicode/utext.h: b0e85d74193953fcaa29de51853cc95a
-include/unicode/utf.h: 4434eeb75c89a49228884aa247714e1c
-include/unicode/utf16.h: d95d304275f6c688b0c4ae5620d57e4c
-include/unicode/utf32.h: a1fdf74f4bd8808f9fb17df371f886d9
-include/unicode/utf8.h: 7d5d7b60c96cccc184cdc5cd53447e7c
-include/unicode/utf_old.h: c89c03a53abcf83e039ad4217246acd9
-include/unicode/utmscale.h: 7c59d91f835bc9f4b805dd64e73851d7
-include/unicode/utrace.h: 35cbc5ec2fd02b703a449e896f48ebfe
-include/unicode/utrans.h: 7a20730bb6d33441a5b9c886cc7cd0eb
-include/unicode/utypes.h: be7b3c9d785b5d70b2f05e6dd527f026
-include/unicode/uvernum.h: 59a34f58b169d039a90da4e8824af662
-include/unicode/uversion.h: af19802ec4e905051d79ab4579a30bcd
-include/unicode/vtzone.h: a9053ef95930bd854729360fe00fed7a
-lib/icu/64.2/Makefile.inc: 49a9042429df8bb20c35ae40a5e872bc
-lib/icu/64.2/pkgdata.inc: 4baa6960303983040c0689566f358abd
-lib/icu/Makefile.inc: 49a9042429df8bb20c35ae40a5e872bc
-lib/icu/current/Makefile.inc: 49a9042429df8bb20c35ae40a5e872bc
-lib/icu/current/pkgdata.inc: 4baa6960303983040c0689566f358abd
-lib/icu/pkgdata.inc: 4baa6960303983040c0689566f358abd
-lib/icudt.dll: a8748b83adb2628d2c99150894d8ac1b
-lib/icudt.lib: 898e94917525b05795e4a30553f4b666
-lib/icudt64.dll: 4282a87a2c9daf500af6c5f7e9b4e109
-lib/icuin.dll: bff4742e2ba70223bf90373952a1eae7
-lib/icuin.lib: 3f9b2e9d2f305451f8b3915fba0f8403
-lib/icuin64.dll: bff4742e2ba70223bf90373952a1eae7
-lib/icuio.dll: d8d5998ed616f4a66073cfd37efc6caa
-lib/icuio.lib: f501e4e1d43982349477e30de4429b9e
-lib/icuio64.dll: d8d5998ed616f4a66073cfd37efc6caa
-lib/icutest.dll: dfe962d20d861934b40901b50ad90e4b
-lib/icutest.lib: 7bf6bdcade9592385d7c9daac9f2745a
-lib/icutest64.dll: dfe962d20d861934b40901b50ad90e4b
-lib/icutu.dll: 6b7a7fa8f00c563d41cd79928cae7884
-lib/icutu.lib: 942628ede719f1f9908fc7733fc5b437
-lib/icutu64.dll: 6b7a7fa8f00c563d41cd79928cae7884
-lib/icuuc.dll: 4b4ec90086dd45b272354d748cc4f86d
-lib/icuuc.lib: 449908250aff19a211223e1f54a00546
-lib/icuuc64.dll: 4b4ec90086dd45b272354d748cc4f86d
-lib/pkgconfig/icu-i18n.pc: 35a0ea632f5e2750c5b88b57c280185f
-lib/pkgconfig/icu-io.pc: 460699d6c9195c15fe610407e7c94dc1
-lib/pkgconfig/icu-uc.pc: 571c9d5900880452353bed815fe9b556
-licenses/LICENSE: 8bc5d32052a96f214cbdd1e53dfc935d
-share/icu/64.2/LICENSE: 8bc5d32052a96f214cbdd1e53dfc935d
-share/icu/64.2/config/mh-msys-msvc: deb94ef2bd29c3471723b79091991a51
-share/icu/64.2/install-sh: 5afe8eb5573965dfb58378e4e46f3813
-share/icu/64.2/mkinstalldirs: 31c4856b24c8dbc6319819ccd43b4fda
-share/man/man1/derb.1: 140b84149f762ce47b2fe263aed44fb5
-share/man/man1/genbrk.1: f3b0b5c88f6562d93a27e776bf13987c
-share/man/man1/gencfu.1: fc9b581c0fe513328c22b44ce035e0c1
-share/man/man1/gencnval.1: 696401204fbe4d17e8dac25eea70ce07
-share/man/man1/gendict.1: f3607026142ed53bf2d0bae71884ce02
-share/man/man1/genrb.1: 3860427c56aa1c847586737737325550
-share/man/man1/icu-config.1: 24f882d0de63c5fee2b10a2911b206f8
-share/man/man1/makeconv.1: ee9bdbd7ee11f0e705e6de72b86f29ac
-share/man/man1/pkgdata.1: 2cb82b3e1c820002968867c3b2b5b811
-share/man/man1/uconv.1: 516c265d14b9f3ad72dceb2c2d23f2bb
-share/man/man8/genccode.8: 0c9f23a8cec80bfdb6127197f1c3ed17
-share/man/man8/gencmn.8: 251c98aa763ab74829e074c5e6f21c98
-share/man/man8/gensprep.8: a3129a511adbb04310a2d900c15784e1
-share/man/man8/icupkg.8: 145940ae5e9a8aea3a93213f13ddd70c
diff --git a/coin/provisioning/common/windows/conan_manifests/icu/64.2/qtproject/stable/package/8f5896a40336524af740600c29144c7c6a773119/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/icu/64.2/qtproject/stable/package/8f5896a40336524af740600c29144c7c6a773119/conanmanifest.txt
deleted file mode 100644
index e5259822..00000000
--- a/coin/provisioning/common/windows/conan_manifests/icu/64.2/qtproject/stable/package/8f5896a40336524af740600c29144c7c6a773119/conanmanifest.txt
+++ /dev/null
@@ -1,251 +0,0 @@
-1563297339
-bin/derb.exe: 7cd652556ce507a28ae660230f10568b
-bin/escapesrc.exe: 1edea3a9d8522e65e8053c9086eed770
-bin/genbrk.exe: 746dcc890f9723f73aa9f75dea374ce3
-bin/genccode.exe: dcbef1a4ea36678b9526aa87835675e1
-bin/gencfu.exe: cd19e1d4aed9b9aeb7d277daacb5986d
-bin/gencmn.exe: 529ea65a5773bb35cde37cdbf9adb6dd
-bin/gencnval.exe: 2e6d55a670224e6f0658229d84e6a6a5
-bin/gendict.exe: f8b5a0456d69e825d2c88061b31b9676
-bin/gennorm2.exe: 773d3a430f1b8311882753b65c7c6d71
-bin/genrb.exe: b5432bca364600228474909227413bbe
-bin/gensprep.exe: bb9fc116557ab14439cbef3440054134
-bin/icu-config: 869e4451de3e58a28e317cf451c66ac3
-bin/icuinfo.exe: 4bfad340f094172a591d28ba43fdef38
-bin/icupkg.exe: dcaf4627585fb9c59605741f91586107
-bin/makeconv.exe: 6d3238b2b0f479b3c9bebb4bb2d46169
-bin/pkgdata.exe: 27ff75055a8338c77320f4cb9418bcf4
-bin/uconv.exe: 27fce36a4c62ecb72569b769e0349f24
-conaninfo.txt: 540bd8edc660c49d7a7fa5802d75e37a
-include/unicode/alphaindex.h: edc0ff1708822c14fbac4f58a89859c9
-include/unicode/appendable.h: 713ee4a1c3e3ca090b202ceb81d6ad9f
-include/unicode/basictz.h: 456683947de10ae84e2c069c9fc55e9f
-include/unicode/brkiter.h: c69c05b804270ad6c64f80c03a5b8ee0
-include/unicode/bytestream.h: 8b946f79fb11d18859acdceab1bb5d46
-include/unicode/bytestrie.h: 781e30fb8103ba58fdfe4b6704e54347
-include/unicode/bytestriebuilder.h: e6649e470ceff3af7ec894aa6031cb21
-include/unicode/calendar.h: e640b0fd471a5313b85a866871b9df2a
-include/unicode/caniter.h: 74858b2a33cb2805dea0b0bc480dda7d
-include/unicode/casemap.h: b40e8878db23b64a72763bf75e4e3e2a
-include/unicode/char16ptr.h: 3bed1c6f219d725f6daf274704427035
-include/unicode/chariter.h: 463cdd4748695660223db14c27da3e84
-include/unicode/choicfmt.h: 38f338fb58eebce7fc999c906aad142e
-include/unicode/coleitr.h: 35cafcefbe5155408aa6166781d4290d
-include/unicode/coll.h: a60e4d0e20f25015d370bfb3b24e267e
-include/unicode/compactdecimalformat.h: dd1f639d5c836e200b48ad69ef326fc0
-include/unicode/curramt.h: 8f57c8f5a77ffd6d1f4a9c53b100ee3e
-include/unicode/currpinf.h: e279f04f8bb9c6a686ede0f4bbc7caf4
-include/unicode/currunit.h: 0ea702494028296a411ac0bda6895275
-include/unicode/datefmt.h: 91aee102e3fa68c64113645be5b944c4
-include/unicode/dbbi.h: 15a312f4cf6c6bc243fd6d32368956a1
-include/unicode/dcfmtsym.h: 3eec16337aeaa8877e966616ac53783a
-include/unicode/decimfmt.h: 18479b4ccc0b4efa7732b1da2d0fd2ab
-include/unicode/docmain.h: 0df0e8161180b869031a88050e0a01c9
-include/unicode/dtfmtsym.h: c06710d48a792838da0f5e3814b3908a
-include/unicode/dtintrv.h: 65e3985e944f54230322acc986c59a30
-include/unicode/dtitvfmt.h: 72a63051451b33ba43f67e572883e855
-include/unicode/dtitvinf.h: b6e798c244d5d4ed73916a8db5b4a855
-include/unicode/dtptngen.h: 5c7a7e4d10c3db7123815ff42dc904f6
-include/unicode/dtrule.h: a2a865734c97d4d5ee2a095ebbd629cf
-include/unicode/edits.h: 7fd52de9a5c418c48234d1425f22fabc
-include/unicode/enumset.h: 3bb75fc43c88682895ae98c02e69810d
-include/unicode/errorcode.h: 6f00859e026be521cff595db38b871db
-include/unicode/fieldpos.h: d42ab3ff641fdc7016cbc3e7526594a1
-include/unicode/filteredbrk.h: 4ab1ef82654177aea8000c72f6652e40
-include/unicode/fmtable.h: c0c5ea7bd3e3a5fded75c2fea543c668
-include/unicode/format.h: 71642e006d9e359a5a8b0800d390ec52
-include/unicode/formattedvalue.h: a502788adec3ba1025321c2cefd0e4c7
-include/unicode/fpositer.h: 2fdf3d1fa8b84e6ba3c561803de5f595
-include/unicode/gender.h: 21d668158f52ab989a8a4711de79f099
-include/unicode/gregocal.h: 4e746c8c84966372f9e66255e3d05246
-include/unicode/icudataver.h: d1c480a9eb95aaa058a6b9311074bc33
-include/unicode/icuplug.h: 60ad27a2a36284bbc1766f9920769175
-include/unicode/idna.h: e2bb1287f5f61b37dd11493008d29ef6
-include/unicode/listformatter.h: 2942dcd998fbadca9043912a2dbe9e7e
-include/unicode/localebuilder.h: 5690e3f03681a2fbfe7baea5226378cd
-include/unicode/localpointer.h: a89505f84a4bb4e231a17676f1b1d51a
-include/unicode/locdspnm.h: 5d12af057d2675b88cf95dc63f015f21
-include/unicode/locid.h: 9df99f05fc348684e116098f6e0a6710
-include/unicode/measfmt.h: 909302945254ede1a345342a8c4b402d
-include/unicode/measunit.h: 9e0fe1ba857f051874760f7aad55c68b
-include/unicode/measure.h: 060550ced6b6ceae742c8d47772e190f
-include/unicode/messagepattern.h: b671e9e96bad09137a7bf186e8d795fc
-include/unicode/msgfmt.h: f1723a391f733367dde795d42d1734f3
-include/unicode/normalizer2.h: 909305633321f6cbb76cc88dc8c00c90
-include/unicode/normlzr.h: c974010d56584fcf75f0f2e10e05fe9c
-include/unicode/nounit.h: 86e94a9d9377bcd124dfd80600a66d19
-include/unicode/numberformatter.h: 5f13d5de2fb98bb5f6ce33e5b48698c3
-include/unicode/numberrangeformatter.h: 460fa1a21356b00a275e27a9a540140e
-include/unicode/numfmt.h: 26724db0305eab9f3b810f3a6accc729
-include/unicode/numsys.h: f68bc678c30deeb7c50a104d852e40d8
-include/unicode/parseerr.h: ce38831411af01eeaf0bbbb6e1cb0153
-include/unicode/parsepos.h: d5300bfbc1b2cd0081aecb71320e11ec
-include/unicode/platform.h: d6aed91f3114fe877714fc554ad167ae
-include/unicode/plurfmt.h: fa64bd7797a74e8e8769a12047c5bf3c
-include/unicode/plurrule.h: 8d3eb6b9c5e6eec6da436601e42ec65e
-include/unicode/ptypes.h: d74097874c82f77331d8e06a5c59d37f
-include/unicode/putil.h: ee1c69d5060b8d5754bf8879bb7f10d1
-include/unicode/rbbi.h: a0202b93d684e8e595c0012e4cefca83
-include/unicode/rbnf.h: c951102dad30e81d893bc81df09820f5
-include/unicode/rbtz.h: f772120604410ff1f1492b1991d36163
-include/unicode/regex.h: e911b68edf768bc0c96b770fced3a7f5
-include/unicode/region.h: b0c3e0b2ad6650fbab876495b114b639
-include/unicode/reldatefmt.h: 99195dad14eef9b8992409fc066b97d7
-include/unicode/rep.h: d29a88e12fd288a0606a41464630a015
-include/unicode/resbund.h: 87a08c1ea0b825d2f99951e9be9f1127
-include/unicode/schriter.h: 9c196272282acc6ccf6cd34544095b63
-include/unicode/scientificnumberformatter.h: b0f20bc8a5b53b07a07d4576d3d6d928
-include/unicode/search.h: bee76013db18275ff842e90c6805ae72
-include/unicode/selfmt.h: 2457e48d1cf8ff880f1bdaf80a9e2fc7
-include/unicode/simpleformatter.h: 3dfb5ab658aecf124d329b645082b879
-include/unicode/simpletz.h: 07c17256943be808b2b2a597d3d27c33
-include/unicode/smpdtfmt.h: e5ba02765fd03756ba63ca138a47daf1
-include/unicode/sortkey.h: 25af96ad696ab793d62d67debb04c8ba
-include/unicode/std_string.h: 2300a9ee3296c630373a6e8b685dff88
-include/unicode/strenum.h: 2d2998dd8033ac7272c39406cc3f8b51
-include/unicode/stringoptions.h: d4929224e8d9df2f272f0305780cbacb
-include/unicode/stringpiece.h: 4265692d09da7d3cd585bc6776a8a0c7
-include/unicode/stringtriebuilder.h: fc74bea13a3003c79ebeccc442703037
-include/unicode/stsearch.h: 33d820eada4a37ceb3f0bd9ff07ed63d
-include/unicode/symtable.h: 763520aa161c95884efa6f6a5f29eb77
-include/unicode/tblcoll.h: 9aad9b68d582e13be85f437f815a3eb1
-include/unicode/timezone.h: 4e6b12c8e428fae21f99552d29544690
-include/unicode/tmunit.h: 9a1f159c304e2bd283d7cf61a0807c05
-include/unicode/tmutamt.h: 0890de21bc330b69b00f94c437e0f140
-include/unicode/tmutfmt.h: c344b95b816e04ed0bc895c6da6ef460
-include/unicode/translit.h: 3464c7b8023b7c131b0b533e1b372c3a
-include/unicode/tzfmt.h: 2cb06301f2376b6802834105060311bf
-include/unicode/tznames.h: b5935a11cb884e2e47ad732ee684037d
-include/unicode/tzrule.h: bcba9c924da93d42e4f18f507c11e8cf
-include/unicode/tztrans.h: 6e72d3497b3e68dc9aad510e2b45f781
-include/unicode/ubidi.h: d90a13a2933198f134efefc0ff7563e6
-include/unicode/ubiditransform.h: fab65809ece8816f1a002eb843b80e29
-include/unicode/ubrk.h: e85002afa629b85ba239135ab11f47f0
-include/unicode/ucal.h: c39d869ac0bca5859e78287092e40721
-include/unicode/ucasemap.h: 2f240e1dc6db1771e843f1a03fd0c8f4
-include/unicode/ucat.h: f412352b86adccba85d7f3e4b4515064
-include/unicode/uchar.h: 25e6419710b325b53286cb7dcaf4af57
-include/unicode/ucharstrie.h: 644af4172d542594c40face6cbe01b5e
-include/unicode/ucharstriebuilder.h: 52600c017361ee29f21a6fef13667948
-include/unicode/uchriter.h: 85c221ab993783ec8f7823713c30758c
-include/unicode/uclean.h: ef4b9289f510edd0bb6b779d0a299f44
-include/unicode/ucnv.h: db701a7a83540ef4dcfc4e780f1da016
-include/unicode/ucnv_cb.h: 69c1c5b156028cd623ed7e5b5b4ab730
-include/unicode/ucnv_err.h: 6ef0751460140d23ae678ef85c298906
-include/unicode/ucnvsel.h: 6e4c5e31c2a89439ef4945cd4a402ef3
-include/unicode/ucol.h: 0b6d71140d2f8e0cf618e5a54cf251af
-include/unicode/ucoleitr.h: b4576706530850666c1cfd2424276b26
-include/unicode/uconfig.h: 680b99d4b154e14ac1ebcb9c60f5ab3c
-include/unicode/ucpmap.h: a22571c78880dd947efc0ab547061a35
-include/unicode/ucptrie.h: 9b16abc66b11f53941ec5d90af1df0b0
-include/unicode/ucsdet.h: c7d5b3d36da0c71b0a85a72642439a90
-include/unicode/ucurr.h: 0ec2b114be8c462d4542c6e1d0bf2b8a
-include/unicode/udat.h: 373cf290162e44eba9f2cf6dad278858
-include/unicode/udata.h: e747b190fadb0749c129aeff7e6eef54
-include/unicode/udateintervalformat.h: 178f650518ecceeb2eca7b763dd68799
-include/unicode/udatpg.h: 078d2d548f3123fceae0d4056359a62e
-include/unicode/udisplaycontext.h: 57a269787da52ad6720ff5b1e87b5cdd
-include/unicode/uenum.h: 41cce54d4862d5068f4f087b935c0657
-include/unicode/ufieldpositer.h: 21f8ba8e285bfea4daa3da8a01911b7e
-include/unicode/uformattable.h: cad38a97f9f929ebc28d5e72dc5ec14f
-include/unicode/uformattedvalue.h: 47ae4b93dddfe15d28400da09201090e
-include/unicode/ugender.h: d64c9ad1d5cf04136534e3aca38d2638
-include/unicode/uidna.h: 88ee381ec6ec01cb677f3e5222e9cf22
-include/unicode/uiter.h: 3fea96177f4f814091918f54d1e68ccd
-include/unicode/uldnames.h: d18634bc73c16b9ae02b6a60fd94d8be
-include/unicode/ulistformatter.h: 64859bc80c70c1e183f3537e1c354142
-include/unicode/uloc.h: b344a11407a95b108ef52a4d88c74d6a
-include/unicode/ulocdata.h: 116fad6a2c0db0d08e3f5ae02d93a035
-include/unicode/umachine.h: b25221a74cab16d993f35108e6da340a
-include/unicode/umisc.h: eca71d8c8bf86529ae5bbc5f34598bea
-include/unicode/umsg.h: 298645d31f8d8e209cbb5eb3751e3ceb
-include/unicode/umutablecptrie.h: 4fe0aaad80938fbe881a3fb447be1f24
-include/unicode/unifilt.h: 71e8ecdb31d706e8e0efc4bbdc9f86b5
-include/unicode/unifunct.h: 97d80d81556b54ac674d09643df98cfc
-include/unicode/unimatch.h: 00eb31b1d65f3e0f03e7d880b1bb79fb
-include/unicode/unirepl.h: c5eeec0e14a9666262d332c22124803f
-include/unicode/uniset.h: 69b5447c36eec06421bc9038df3bd80e
-include/unicode/unistr.h: e35ee05307a3338579df46718b049b32
-include/unicode/unorm.h: 3a1e6dcd474ef8b2c3377b34141bf6d3
-include/unicode/unorm2.h: e8fff4023ad114b325f346d2cdbbe043
-include/unicode/unum.h: ec868132b7242d85645d30dd549b25fc
-include/unicode/unumberformatter.h: 0dc25c33373d63ca0beb10a9ef265237
-include/unicode/unumsys.h: 7e5dd76a0e07f790c30c944bfb810e71
-include/unicode/uobject.h: c9a1e3afb798e0fbcad34b01b0bc5c3e
-include/unicode/upluralrules.h: 15feae7c7df35b97d5e715f28f616e63
-include/unicode/uregex.h: 10fe8b8c9f98758bf192bc765fa45e3c
-include/unicode/uregion.h: a3f28f15972bf18600012815a8c76535
-include/unicode/ureldatefmt.h: d528589ebdc3f8cb6c27ce4867752c55
-include/unicode/urename.h: 7cd5ed487b56e2aeb354867a0b2cda5f
-include/unicode/urep.h: 6ada98ac1aa68081f10d17b1abadef6e
-include/unicode/ures.h: 8c69586a969eb2898d5d3e8c08beda9c
-include/unicode/uscript.h: 5bf2d96240b17507a05ebe4d36b1a38e
-include/unicode/usearch.h: fc5b3e0d1096ff69c3a2397ef5b3a036
-include/unicode/uset.h: a285e1b480a3abaaee753ba74d245efd
-include/unicode/usetiter.h: 36896c874036542390b5a75a04f330c5
-include/unicode/ushape.h: 86fdf709d4312bb17cf95b16f58e1dc4
-include/unicode/uspoof.h: 6c2d471942085f091c8bc748a02f113e
-include/unicode/usprep.h: e88585ae8bdb3a35aa88417993bde732
-include/unicode/ustdio.h: 3104e526d3de60538f42c0fd5430adcb
-include/unicode/ustream.h: 6a3f303b73d795a0ff9a1b8d2758d88d
-include/unicode/ustring.h: 92f522f8ef62e443c11baa56c32e42e4
-include/unicode/ustringtrie.h: 54a28aa9c4e117cd3ebfd0a670324f6c
-include/unicode/utext.h: b0e85d74193953fcaa29de51853cc95a
-include/unicode/utf.h: 4434eeb75c89a49228884aa247714e1c
-include/unicode/utf16.h: d95d304275f6c688b0c4ae5620d57e4c
-include/unicode/utf32.h: a1fdf74f4bd8808f9fb17df371f886d9
-include/unicode/utf8.h: 7d5d7b60c96cccc184cdc5cd53447e7c
-include/unicode/utf_old.h: c89c03a53abcf83e039ad4217246acd9
-include/unicode/utmscale.h: 7c59d91f835bc9f4b805dd64e73851d7
-include/unicode/utrace.h: 35cbc5ec2fd02b703a449e896f48ebfe
-include/unicode/utrans.h: 7a20730bb6d33441a5b9c886cc7cd0eb
-include/unicode/utypes.h: be7b3c9d785b5d70b2f05e6dd527f026
-include/unicode/uvernum.h: 59a34f58b169d039a90da4e8824af662
-include/unicode/uversion.h: af19802ec4e905051d79ab4579a30bcd
-include/unicode/vtzone.h: a9053ef95930bd854729360fe00fed7a
-lib/icu/64.2/Makefile.inc: 3fe76ee05bc5afaade899a09af565372
-lib/icu/64.2/pkgdata.inc: 438ae219a7c80279027ca5fd315183c3
-lib/icu/Makefile.inc: 3fe76ee05bc5afaade899a09af565372
-lib/icu/current/Makefile.inc: 3fe76ee05bc5afaade899a09af565372
-lib/icu/current/pkgdata.inc: 438ae219a7c80279027ca5fd315183c3
-lib/icu/pkgdata.inc: 438ae219a7c80279027ca5fd315183c3
-lib/icudt.dll: ce725647c92aca144492f3dbf3ee04ab
-lib/icudt.lib: d4e6c59a65ceeea625b1c5d7e35f363c
-lib/icudt64.dll: 6b2909c7301d61d84f5fd2286153a1b5
-lib/icuin.dll: 8f2c0c4ce91bcd934234802538d8df14
-lib/icuin.lib: d09d76c165eacaaf52f7320ce0640f55
-lib/icuin64.dll: 8f2c0c4ce91bcd934234802538d8df14
-lib/icuio.dll: ed47e8ce82dac037a9890e0267640627
-lib/icuio.lib: 2fd670029f2809911c8222baa6c56873
-lib/icuio64.dll: ed47e8ce82dac037a9890e0267640627
-lib/icutest.dll: 6b3bada7f63c1c864439ade06a7fd723
-lib/icutest.lib: 110add657fb11e29f12b0ca5b051dfde
-lib/icutest64.dll: 6b3bada7f63c1c864439ade06a7fd723
-lib/icutu.dll: f18bca836cb96b59f007eb9ac5fd3e68
-lib/icutu.lib: 4d1c6e152525c0b834eeeb06c9196c6f
-lib/icutu64.dll: f18bca836cb96b59f007eb9ac5fd3e68
-lib/icuuc.dll: 1dee2047ea3d480376375c7db457acb3
-lib/icuuc.lib: f669e924846cbe1dc144ee15f1094a66
-lib/icuuc64.dll: 1dee2047ea3d480376375c7db457acb3
-lib/pkgconfig/icu-i18n.pc: 75e0caa47aef4ee8dad62714518ce7e3
-lib/pkgconfig/icu-io.pc: bbb8e1ef1d9bf466c474ed4722ba1fe6
-lib/pkgconfig/icu-uc.pc: 5ef9d87af3f5aff6401d808db734f3bf
-licenses/LICENSE: 8bc5d32052a96f214cbdd1e53dfc935d
-share/icu/64.2/LICENSE: 8bc5d32052a96f214cbdd1e53dfc935d
-share/icu/64.2/config/mh-msys-msvc: deb94ef2bd29c3471723b79091991a51
-share/icu/64.2/install-sh: 5afe8eb5573965dfb58378e4e46f3813
-share/icu/64.2/mkinstalldirs: 31c4856b24c8dbc6319819ccd43b4fda
-share/man/man1/derb.1: 140b84149f762ce47b2fe263aed44fb5
-share/man/man1/genbrk.1: f3b0b5c88f6562d93a27e776bf13987c
-share/man/man1/gencfu.1: fc9b581c0fe513328c22b44ce035e0c1
-share/man/man1/gencnval.1: 696401204fbe4d17e8dac25eea70ce07
-share/man/man1/gendict.1: f3607026142ed53bf2d0bae71884ce02
-share/man/man1/genrb.1: 3860427c56aa1c847586737737325550
-share/man/man1/icu-config.1: 24f882d0de63c5fee2b10a2911b206f8
-share/man/man1/makeconv.1: ee9bdbd7ee11f0e705e6de72b86f29ac
-share/man/man1/pkgdata.1: 2cb82b3e1c820002968867c3b2b5b811
-share/man/man1/uconv.1: 516c265d14b9f3ad72dceb2c2d23f2bb
-share/man/man8/genccode.8: 0c9f23a8cec80bfdb6127197f1c3ed17
-share/man/man8/gencmn.8: 251c98aa763ab74829e074c5e6f21c98
-share/man/man8/gensprep.8: a3129a511adbb04310a2d900c15784e1
-share/man/man8/icupkg.8: 145940ae5e9a8aea3a93213f13ddd70c
diff --git a/coin/provisioning/common/windows/conan_manifests/icu/64.2/qtproject/stable/package/a75971da93722f430ab0d3354b4c35c8e1cb8be6/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/icu/64.2/qtproject/stable/package/a75971da93722f430ab0d3354b4c35c8e1cb8be6/conanmanifest.txt
deleted file mode 100644
index eace1273..00000000
--- a/coin/provisioning/common/windows/conan_manifests/icu/64.2/qtproject/stable/package/a75971da93722f430ab0d3354b4c35c8e1cb8be6/conanmanifest.txt
+++ /dev/null
@@ -1,251 +0,0 @@
-1563298569
-bin/derb.exe: 7d155c681231f54f3669512100a3038b
-bin/escapesrc.exe: 3a54768e31b5a9bf53d0a9fb7b061f10
-bin/genbrk.exe: 12e8b427719bfc85cb0e360422fd81e5
-bin/genccode.exe: 4396af32d01e2106690bd9be45806950
-bin/gencfu.exe: 59986571fd686f3318478d421a9fc9e8
-bin/gencmn.exe: 50750e744321b6a3bade411422e7200a
-bin/gencnval.exe: b57f7999a023751638b310e850a875ce
-bin/gendict.exe: c950331a93edec89eb962df7390f870d
-bin/gennorm2.exe: 842415940c303beeb1716446f99a9d67
-bin/genrb.exe: 90cf94ed8ae02aa51e96f76ab92bfdea
-bin/gensprep.exe: 004c1295706f785027f8dd977ba40f50
-bin/icu-config: a59cd8e08313ed02c280f1594f2e4bf1
-bin/icuinfo.exe: 08bb8fa2d591f6e8ee93db64f7ed2ec4
-bin/icupkg.exe: 5c165a685956ccd12a0d858cab69b20b
-bin/makeconv.exe: 89487251963c62fe0c3dc00610e60f09
-bin/pkgdata.exe: 0704cd29d80d2d2e3155fdd989c9b94d
-bin/uconv.exe: e1d74673fa12224f8371052f6f5feeb2
-conaninfo.txt: e159d49bd326a197124489ebd8636307
-include/unicode/alphaindex.h: edc0ff1708822c14fbac4f58a89859c9
-include/unicode/appendable.h: 713ee4a1c3e3ca090b202ceb81d6ad9f
-include/unicode/basictz.h: 456683947de10ae84e2c069c9fc55e9f
-include/unicode/brkiter.h: c69c05b804270ad6c64f80c03a5b8ee0
-include/unicode/bytestream.h: 8b946f79fb11d18859acdceab1bb5d46
-include/unicode/bytestrie.h: 781e30fb8103ba58fdfe4b6704e54347
-include/unicode/bytestriebuilder.h: e6649e470ceff3af7ec894aa6031cb21
-include/unicode/calendar.h: e640b0fd471a5313b85a866871b9df2a
-include/unicode/caniter.h: 74858b2a33cb2805dea0b0bc480dda7d
-include/unicode/casemap.h: b40e8878db23b64a72763bf75e4e3e2a
-include/unicode/char16ptr.h: 3bed1c6f219d725f6daf274704427035
-include/unicode/chariter.h: 463cdd4748695660223db14c27da3e84
-include/unicode/choicfmt.h: 38f338fb58eebce7fc999c906aad142e
-include/unicode/coleitr.h: 35cafcefbe5155408aa6166781d4290d
-include/unicode/coll.h: a60e4d0e20f25015d370bfb3b24e267e
-include/unicode/compactdecimalformat.h: dd1f639d5c836e200b48ad69ef326fc0
-include/unicode/curramt.h: 8f57c8f5a77ffd6d1f4a9c53b100ee3e
-include/unicode/currpinf.h: e279f04f8bb9c6a686ede0f4bbc7caf4
-include/unicode/currunit.h: 0ea702494028296a411ac0bda6895275
-include/unicode/datefmt.h: 91aee102e3fa68c64113645be5b944c4
-include/unicode/dbbi.h: 15a312f4cf6c6bc243fd6d32368956a1
-include/unicode/dcfmtsym.h: 3eec16337aeaa8877e966616ac53783a
-include/unicode/decimfmt.h: 18479b4ccc0b4efa7732b1da2d0fd2ab
-include/unicode/docmain.h: 0df0e8161180b869031a88050e0a01c9
-include/unicode/dtfmtsym.h: c06710d48a792838da0f5e3814b3908a
-include/unicode/dtintrv.h: 65e3985e944f54230322acc986c59a30
-include/unicode/dtitvfmt.h: 72a63051451b33ba43f67e572883e855
-include/unicode/dtitvinf.h: b6e798c244d5d4ed73916a8db5b4a855
-include/unicode/dtptngen.h: 5c7a7e4d10c3db7123815ff42dc904f6
-include/unicode/dtrule.h: a2a865734c97d4d5ee2a095ebbd629cf
-include/unicode/edits.h: 7fd52de9a5c418c48234d1425f22fabc
-include/unicode/enumset.h: 3bb75fc43c88682895ae98c02e69810d
-include/unicode/errorcode.h: 6f00859e026be521cff595db38b871db
-include/unicode/fieldpos.h: d42ab3ff641fdc7016cbc3e7526594a1
-include/unicode/filteredbrk.h: 4ab1ef82654177aea8000c72f6652e40
-include/unicode/fmtable.h: c0c5ea7bd3e3a5fded75c2fea543c668
-include/unicode/format.h: 71642e006d9e359a5a8b0800d390ec52
-include/unicode/formattedvalue.h: a502788adec3ba1025321c2cefd0e4c7
-include/unicode/fpositer.h: 2fdf3d1fa8b84e6ba3c561803de5f595
-include/unicode/gender.h: 21d668158f52ab989a8a4711de79f099
-include/unicode/gregocal.h: 4e746c8c84966372f9e66255e3d05246
-include/unicode/icudataver.h: d1c480a9eb95aaa058a6b9311074bc33
-include/unicode/icuplug.h: 60ad27a2a36284bbc1766f9920769175
-include/unicode/idna.h: e2bb1287f5f61b37dd11493008d29ef6
-include/unicode/listformatter.h: 2942dcd998fbadca9043912a2dbe9e7e
-include/unicode/localebuilder.h: 5690e3f03681a2fbfe7baea5226378cd
-include/unicode/localpointer.h: a89505f84a4bb4e231a17676f1b1d51a
-include/unicode/locdspnm.h: 5d12af057d2675b88cf95dc63f015f21
-include/unicode/locid.h: 9df99f05fc348684e116098f6e0a6710
-include/unicode/measfmt.h: 909302945254ede1a345342a8c4b402d
-include/unicode/measunit.h: 9e0fe1ba857f051874760f7aad55c68b
-include/unicode/measure.h: 060550ced6b6ceae742c8d47772e190f
-include/unicode/messagepattern.h: b671e9e96bad09137a7bf186e8d795fc
-include/unicode/msgfmt.h: f1723a391f733367dde795d42d1734f3
-include/unicode/normalizer2.h: 909305633321f6cbb76cc88dc8c00c90
-include/unicode/normlzr.h: c974010d56584fcf75f0f2e10e05fe9c
-include/unicode/nounit.h: 86e94a9d9377bcd124dfd80600a66d19
-include/unicode/numberformatter.h: 5f13d5de2fb98bb5f6ce33e5b48698c3
-include/unicode/numberrangeformatter.h: 460fa1a21356b00a275e27a9a540140e
-include/unicode/numfmt.h: 26724db0305eab9f3b810f3a6accc729
-include/unicode/numsys.h: f68bc678c30deeb7c50a104d852e40d8
-include/unicode/parseerr.h: ce38831411af01eeaf0bbbb6e1cb0153
-include/unicode/parsepos.h: d5300bfbc1b2cd0081aecb71320e11ec
-include/unicode/platform.h: d6aed91f3114fe877714fc554ad167ae
-include/unicode/plurfmt.h: fa64bd7797a74e8e8769a12047c5bf3c
-include/unicode/plurrule.h: 8d3eb6b9c5e6eec6da436601e42ec65e
-include/unicode/ptypes.h: d74097874c82f77331d8e06a5c59d37f
-include/unicode/putil.h: ee1c69d5060b8d5754bf8879bb7f10d1
-include/unicode/rbbi.h: a0202b93d684e8e595c0012e4cefca83
-include/unicode/rbnf.h: c951102dad30e81d893bc81df09820f5
-include/unicode/rbtz.h: f772120604410ff1f1492b1991d36163
-include/unicode/regex.h: e911b68edf768bc0c96b770fced3a7f5
-include/unicode/region.h: b0c3e0b2ad6650fbab876495b114b639
-include/unicode/reldatefmt.h: 99195dad14eef9b8992409fc066b97d7
-include/unicode/rep.h: d29a88e12fd288a0606a41464630a015
-include/unicode/resbund.h: 87a08c1ea0b825d2f99951e9be9f1127
-include/unicode/schriter.h: 9c196272282acc6ccf6cd34544095b63
-include/unicode/scientificnumberformatter.h: b0f20bc8a5b53b07a07d4576d3d6d928
-include/unicode/search.h: bee76013db18275ff842e90c6805ae72
-include/unicode/selfmt.h: 2457e48d1cf8ff880f1bdaf80a9e2fc7
-include/unicode/simpleformatter.h: 3dfb5ab658aecf124d329b645082b879
-include/unicode/simpletz.h: 07c17256943be808b2b2a597d3d27c33
-include/unicode/smpdtfmt.h: e5ba02765fd03756ba63ca138a47daf1
-include/unicode/sortkey.h: 25af96ad696ab793d62d67debb04c8ba
-include/unicode/std_string.h: 2300a9ee3296c630373a6e8b685dff88
-include/unicode/strenum.h: 2d2998dd8033ac7272c39406cc3f8b51
-include/unicode/stringoptions.h: d4929224e8d9df2f272f0305780cbacb
-include/unicode/stringpiece.h: 4265692d09da7d3cd585bc6776a8a0c7
-include/unicode/stringtriebuilder.h: fc74bea13a3003c79ebeccc442703037
-include/unicode/stsearch.h: 33d820eada4a37ceb3f0bd9ff07ed63d
-include/unicode/symtable.h: 763520aa161c95884efa6f6a5f29eb77
-include/unicode/tblcoll.h: 9aad9b68d582e13be85f437f815a3eb1
-include/unicode/timezone.h: 4e6b12c8e428fae21f99552d29544690
-include/unicode/tmunit.h: 9a1f159c304e2bd283d7cf61a0807c05
-include/unicode/tmutamt.h: 0890de21bc330b69b00f94c437e0f140
-include/unicode/tmutfmt.h: c344b95b816e04ed0bc895c6da6ef460
-include/unicode/translit.h: 3464c7b8023b7c131b0b533e1b372c3a
-include/unicode/tzfmt.h: 2cb06301f2376b6802834105060311bf
-include/unicode/tznames.h: b5935a11cb884e2e47ad732ee684037d
-include/unicode/tzrule.h: bcba9c924da93d42e4f18f507c11e8cf
-include/unicode/tztrans.h: 6e72d3497b3e68dc9aad510e2b45f781
-include/unicode/ubidi.h: d90a13a2933198f134efefc0ff7563e6
-include/unicode/ubiditransform.h: fab65809ece8816f1a002eb843b80e29
-include/unicode/ubrk.h: e85002afa629b85ba239135ab11f47f0
-include/unicode/ucal.h: c39d869ac0bca5859e78287092e40721
-include/unicode/ucasemap.h: 2f240e1dc6db1771e843f1a03fd0c8f4
-include/unicode/ucat.h: f412352b86adccba85d7f3e4b4515064
-include/unicode/uchar.h: 25e6419710b325b53286cb7dcaf4af57
-include/unicode/ucharstrie.h: 644af4172d542594c40face6cbe01b5e
-include/unicode/ucharstriebuilder.h: 52600c017361ee29f21a6fef13667948
-include/unicode/uchriter.h: 85c221ab993783ec8f7823713c30758c
-include/unicode/uclean.h: ef4b9289f510edd0bb6b779d0a299f44
-include/unicode/ucnv.h: db701a7a83540ef4dcfc4e780f1da016
-include/unicode/ucnv_cb.h: 69c1c5b156028cd623ed7e5b5b4ab730
-include/unicode/ucnv_err.h: 6ef0751460140d23ae678ef85c298906
-include/unicode/ucnvsel.h: 6e4c5e31c2a89439ef4945cd4a402ef3
-include/unicode/ucol.h: 0b6d71140d2f8e0cf618e5a54cf251af
-include/unicode/ucoleitr.h: b4576706530850666c1cfd2424276b26
-include/unicode/uconfig.h: 680b99d4b154e14ac1ebcb9c60f5ab3c
-include/unicode/ucpmap.h: a22571c78880dd947efc0ab547061a35
-include/unicode/ucptrie.h: 9b16abc66b11f53941ec5d90af1df0b0
-include/unicode/ucsdet.h: c7d5b3d36da0c71b0a85a72642439a90
-include/unicode/ucurr.h: 0ec2b114be8c462d4542c6e1d0bf2b8a
-include/unicode/udat.h: 373cf290162e44eba9f2cf6dad278858
-include/unicode/udata.h: e747b190fadb0749c129aeff7e6eef54
-include/unicode/udateintervalformat.h: 178f650518ecceeb2eca7b763dd68799
-include/unicode/udatpg.h: 078d2d548f3123fceae0d4056359a62e
-include/unicode/udisplaycontext.h: 57a269787da52ad6720ff5b1e87b5cdd
-include/unicode/uenum.h: 41cce54d4862d5068f4f087b935c0657
-include/unicode/ufieldpositer.h: 21f8ba8e285bfea4daa3da8a01911b7e
-include/unicode/uformattable.h: cad38a97f9f929ebc28d5e72dc5ec14f
-include/unicode/uformattedvalue.h: 47ae4b93dddfe15d28400da09201090e
-include/unicode/ugender.h: d64c9ad1d5cf04136534e3aca38d2638
-include/unicode/uidna.h: 88ee381ec6ec01cb677f3e5222e9cf22
-include/unicode/uiter.h: 3fea96177f4f814091918f54d1e68ccd
-include/unicode/uldnames.h: d18634bc73c16b9ae02b6a60fd94d8be
-include/unicode/ulistformatter.h: 64859bc80c70c1e183f3537e1c354142
-include/unicode/uloc.h: b344a11407a95b108ef52a4d88c74d6a
-include/unicode/ulocdata.h: 116fad6a2c0db0d08e3f5ae02d93a035
-include/unicode/umachine.h: b25221a74cab16d993f35108e6da340a
-include/unicode/umisc.h: eca71d8c8bf86529ae5bbc5f34598bea
-include/unicode/umsg.h: 298645d31f8d8e209cbb5eb3751e3ceb
-include/unicode/umutablecptrie.h: 4fe0aaad80938fbe881a3fb447be1f24
-include/unicode/unifilt.h: 71e8ecdb31d706e8e0efc4bbdc9f86b5
-include/unicode/unifunct.h: 97d80d81556b54ac674d09643df98cfc
-include/unicode/unimatch.h: 00eb31b1d65f3e0f03e7d880b1bb79fb
-include/unicode/unirepl.h: c5eeec0e14a9666262d332c22124803f
-include/unicode/uniset.h: 69b5447c36eec06421bc9038df3bd80e
-include/unicode/unistr.h: e35ee05307a3338579df46718b049b32
-include/unicode/unorm.h: 3a1e6dcd474ef8b2c3377b34141bf6d3
-include/unicode/unorm2.h: e8fff4023ad114b325f346d2cdbbe043
-include/unicode/unum.h: ec868132b7242d85645d30dd549b25fc
-include/unicode/unumberformatter.h: 0dc25c33373d63ca0beb10a9ef265237
-include/unicode/unumsys.h: 7e5dd76a0e07f790c30c944bfb810e71
-include/unicode/uobject.h: c9a1e3afb798e0fbcad34b01b0bc5c3e
-include/unicode/upluralrules.h: 15feae7c7df35b97d5e715f28f616e63
-include/unicode/uregex.h: 10fe8b8c9f98758bf192bc765fa45e3c
-include/unicode/uregion.h: a3f28f15972bf18600012815a8c76535
-include/unicode/ureldatefmt.h: d528589ebdc3f8cb6c27ce4867752c55
-include/unicode/urename.h: 7cd5ed487b56e2aeb354867a0b2cda5f
-include/unicode/urep.h: 6ada98ac1aa68081f10d17b1abadef6e
-include/unicode/ures.h: 8c69586a969eb2898d5d3e8c08beda9c
-include/unicode/uscript.h: 5bf2d96240b17507a05ebe4d36b1a38e
-include/unicode/usearch.h: fc5b3e0d1096ff69c3a2397ef5b3a036
-include/unicode/uset.h: a285e1b480a3abaaee753ba74d245efd
-include/unicode/usetiter.h: 36896c874036542390b5a75a04f330c5
-include/unicode/ushape.h: 86fdf709d4312bb17cf95b16f58e1dc4
-include/unicode/uspoof.h: 6c2d471942085f091c8bc748a02f113e
-include/unicode/usprep.h: e88585ae8bdb3a35aa88417993bde732
-include/unicode/ustdio.h: 3104e526d3de60538f42c0fd5430adcb
-include/unicode/ustream.h: 6a3f303b73d795a0ff9a1b8d2758d88d
-include/unicode/ustring.h: 92f522f8ef62e443c11baa56c32e42e4
-include/unicode/ustringtrie.h: 54a28aa9c4e117cd3ebfd0a670324f6c
-include/unicode/utext.h: b0e85d74193953fcaa29de51853cc95a
-include/unicode/utf.h: 4434eeb75c89a49228884aa247714e1c
-include/unicode/utf16.h: d95d304275f6c688b0c4ae5620d57e4c
-include/unicode/utf32.h: a1fdf74f4bd8808f9fb17df371f886d9
-include/unicode/utf8.h: 7d5d7b60c96cccc184cdc5cd53447e7c
-include/unicode/utf_old.h: c89c03a53abcf83e039ad4217246acd9
-include/unicode/utmscale.h: 7c59d91f835bc9f4b805dd64e73851d7
-include/unicode/utrace.h: 35cbc5ec2fd02b703a449e896f48ebfe
-include/unicode/utrans.h: 7a20730bb6d33441a5b9c886cc7cd0eb
-include/unicode/utypes.h: be7b3c9d785b5d70b2f05e6dd527f026
-include/unicode/uvernum.h: 59a34f58b169d039a90da4e8824af662
-include/unicode/uversion.h: af19802ec4e905051d79ab4579a30bcd
-include/unicode/vtzone.h: a9053ef95930bd854729360fe00fed7a
-lib/icu/64.2/Makefile.inc: 6c092462cc6db00d752a733b771de789
-lib/icu/64.2/pkgdata.inc: e0192327bcacf61fba9402f67377ab4a
-lib/icu/Makefile.inc: 6c092462cc6db00d752a733b771de789
-lib/icu/current/Makefile.inc: 6c092462cc6db00d752a733b771de789
-lib/icu/current/pkgdata.inc: e0192327bcacf61fba9402f67377ab4a
-lib/icu/pkgdata.inc: e0192327bcacf61fba9402f67377ab4a
-lib/icudt.dll: 15709335a869f8f94cc8c6be6c67a3d7
-lib/icudt.lib: 6c28bff05a11ca4606ccdb90935307d8
-lib/icudt64.dll: f8a3a40930adfbd0da1863a3c345aff8
-lib/icuin.dll: 9a3c5dfa3855df6e1d0292a572274abb
-lib/icuin.lib: 314b4206062131c02206389852decf97
-lib/icuin64.dll: 9a3c5dfa3855df6e1d0292a572274abb
-lib/icuio.dll: ecf45606b8b48e38f13938e1bdc06252
-lib/icuio.lib: 68b6479455934321afd66a395f920fe1
-lib/icuio64.dll: ecf45606b8b48e38f13938e1bdc06252
-lib/icutest.dll: 31eb2b086911853280a3e52907e8cbae
-lib/icutest.lib: cc54d80d0566a234ba8c33f25ea21a0e
-lib/icutest64.dll: 31eb2b086911853280a3e52907e8cbae
-lib/icutu.dll: 493b7e3e5f80811d7f15ce8695936db6
-lib/icutu.lib: 5e9f9225f1c5a767e636ad81f45fb854
-lib/icutu64.dll: 493b7e3e5f80811d7f15ce8695936db6
-lib/icuuc.dll: 16f1a404b6a12e105ef79b8c080dce93
-lib/icuuc.lib: c7cb6e9b49a9982322891656c9bf4ee8
-lib/icuuc64.dll: 16f1a404b6a12e105ef79b8c080dce93
-lib/pkgconfig/icu-i18n.pc: 563963d9f6cca93481456dc19e973958
-lib/pkgconfig/icu-io.pc: 838e3c4ffd237b5fe921cefea15fd327
-lib/pkgconfig/icu-uc.pc: ea0501759b296704a1e2319420dddb59
-licenses/LICENSE: 8bc5d32052a96f214cbdd1e53dfc935d
-share/icu/64.2/LICENSE: 8bc5d32052a96f214cbdd1e53dfc935d
-share/icu/64.2/config/mh-msys-msvc: deb94ef2bd29c3471723b79091991a51
-share/icu/64.2/install-sh: 5afe8eb5573965dfb58378e4e46f3813
-share/icu/64.2/mkinstalldirs: 31c4856b24c8dbc6319819ccd43b4fda
-share/man/man1/derb.1: 140b84149f762ce47b2fe263aed44fb5
-share/man/man1/genbrk.1: f3b0b5c88f6562d93a27e776bf13987c
-share/man/man1/gencfu.1: fc9b581c0fe513328c22b44ce035e0c1
-share/man/man1/gencnval.1: 696401204fbe4d17e8dac25eea70ce07
-share/man/man1/gendict.1: f3607026142ed53bf2d0bae71884ce02
-share/man/man1/genrb.1: 3860427c56aa1c847586737737325550
-share/man/man1/icu-config.1: 24f882d0de63c5fee2b10a2911b206f8
-share/man/man1/makeconv.1: ee9bdbd7ee11f0e705e6de72b86f29ac
-share/man/man1/pkgdata.1: 2cb82b3e1c820002968867c3b2b5b811
-share/man/man1/uconv.1: 516c265d14b9f3ad72dceb2c2d23f2bb
-share/man/man8/genccode.8: 0c9f23a8cec80bfdb6127197f1c3ed17
-share/man/man8/gencmn.8: 251c98aa763ab74829e074c5e6f21c98
-share/man/man8/gensprep.8: a3129a511adbb04310a2d900c15784e1
-share/man/man8/icupkg.8: 145940ae5e9a8aea3a93213f13ddd70c
diff --git a/coin/provisioning/common/windows/conan_manifests/icu/64.2/qtproject/stable/package/a779998d6f2f83fe0e000f516f7f7c4a1739e0a3/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/icu/64.2/qtproject/stable/package/a779998d6f2f83fe0e000f516f7f7c4a1739e0a3/conanmanifest.txt
deleted file mode 100644
index 706f1e53..00000000
--- a/coin/provisioning/common/windows/conan_manifests/icu/64.2/qtproject/stable/package/a779998d6f2f83fe0e000f516f7f7c4a1739e0a3/conanmanifest.txt
+++ /dev/null
@@ -1,251 +0,0 @@
-1563297860
-bin/derb.exe: 4007262865fcb9d6c7b7bfaadacc0b8e
-bin/escapesrc.exe: 877b764cf7a705f0f0f0b81173078c01
-bin/genbrk.exe: 716cf45fb7e09ffe4f110480b6a28832
-bin/genccode.exe: 3b468fd77d7e5cf80ecbb4d32b4be7cb
-bin/gencfu.exe: 95f0d7ff1f481f66726036b672076ba8
-bin/gencmn.exe: a03b4d4f9b94a8444a8d8a3c3f798bd6
-bin/gencnval.exe: 6750a9a5197fbd74b275b5fd7dd7c33e
-bin/gendict.exe: b6f46c1edc548cbdd9ac67118a5d7c10
-bin/gennorm2.exe: e8cc3907125b3bc4c5e9ed448e3c2973
-bin/genrb.exe: d1a306e9480606f24b54149e2799dc2b
-bin/gensprep.exe: 63036e1b8ddb3bad807d6c715eda172a
-bin/icu-config: 9781767fcfa815c455e405cbcbb9145c
-bin/icuinfo.exe: 74bc712f5696f58051aab155bc8dadfa
-bin/icupkg.exe: 61c5bf5b56108646efc293a4655db32a
-bin/makeconv.exe: e52c6aa01bb900e12a94af475aecd1c1
-bin/pkgdata.exe: 1ef1bfbf10da2177339157bf133b03d9
-bin/uconv.exe: c37a845021460f32e50e9674c13bbd95
-conaninfo.txt: ca8ff827ceed6bcfd8927596f342ccd3
-include/unicode/alphaindex.h: edc0ff1708822c14fbac4f58a89859c9
-include/unicode/appendable.h: 713ee4a1c3e3ca090b202ceb81d6ad9f
-include/unicode/basictz.h: 456683947de10ae84e2c069c9fc55e9f
-include/unicode/brkiter.h: c69c05b804270ad6c64f80c03a5b8ee0
-include/unicode/bytestream.h: 8b946f79fb11d18859acdceab1bb5d46
-include/unicode/bytestrie.h: 781e30fb8103ba58fdfe4b6704e54347
-include/unicode/bytestriebuilder.h: e6649e470ceff3af7ec894aa6031cb21
-include/unicode/calendar.h: e640b0fd471a5313b85a866871b9df2a
-include/unicode/caniter.h: 74858b2a33cb2805dea0b0bc480dda7d
-include/unicode/casemap.h: b40e8878db23b64a72763bf75e4e3e2a
-include/unicode/char16ptr.h: 3bed1c6f219d725f6daf274704427035
-include/unicode/chariter.h: 463cdd4748695660223db14c27da3e84
-include/unicode/choicfmt.h: 38f338fb58eebce7fc999c906aad142e
-include/unicode/coleitr.h: 35cafcefbe5155408aa6166781d4290d
-include/unicode/coll.h: a60e4d0e20f25015d370bfb3b24e267e
-include/unicode/compactdecimalformat.h: dd1f639d5c836e200b48ad69ef326fc0
-include/unicode/curramt.h: 8f57c8f5a77ffd6d1f4a9c53b100ee3e
-include/unicode/currpinf.h: e279f04f8bb9c6a686ede0f4bbc7caf4
-include/unicode/currunit.h: 0ea702494028296a411ac0bda6895275
-include/unicode/datefmt.h: 91aee102e3fa68c64113645be5b944c4
-include/unicode/dbbi.h: 15a312f4cf6c6bc243fd6d32368956a1
-include/unicode/dcfmtsym.h: 3eec16337aeaa8877e966616ac53783a
-include/unicode/decimfmt.h: 18479b4ccc0b4efa7732b1da2d0fd2ab
-include/unicode/docmain.h: 0df0e8161180b869031a88050e0a01c9
-include/unicode/dtfmtsym.h: c06710d48a792838da0f5e3814b3908a
-include/unicode/dtintrv.h: 65e3985e944f54230322acc986c59a30
-include/unicode/dtitvfmt.h: 72a63051451b33ba43f67e572883e855
-include/unicode/dtitvinf.h: b6e798c244d5d4ed73916a8db5b4a855
-include/unicode/dtptngen.h: 5c7a7e4d10c3db7123815ff42dc904f6
-include/unicode/dtrule.h: a2a865734c97d4d5ee2a095ebbd629cf
-include/unicode/edits.h: 7fd52de9a5c418c48234d1425f22fabc
-include/unicode/enumset.h: 3bb75fc43c88682895ae98c02e69810d
-include/unicode/errorcode.h: 6f00859e026be521cff595db38b871db
-include/unicode/fieldpos.h: d42ab3ff641fdc7016cbc3e7526594a1
-include/unicode/filteredbrk.h: 4ab1ef82654177aea8000c72f6652e40
-include/unicode/fmtable.h: c0c5ea7bd3e3a5fded75c2fea543c668
-include/unicode/format.h: 71642e006d9e359a5a8b0800d390ec52
-include/unicode/formattedvalue.h: a502788adec3ba1025321c2cefd0e4c7
-include/unicode/fpositer.h: 2fdf3d1fa8b84e6ba3c561803de5f595
-include/unicode/gender.h: 21d668158f52ab989a8a4711de79f099
-include/unicode/gregocal.h: 4e746c8c84966372f9e66255e3d05246
-include/unicode/icudataver.h: d1c480a9eb95aaa058a6b9311074bc33
-include/unicode/icuplug.h: 60ad27a2a36284bbc1766f9920769175
-include/unicode/idna.h: e2bb1287f5f61b37dd11493008d29ef6
-include/unicode/listformatter.h: 2942dcd998fbadca9043912a2dbe9e7e
-include/unicode/localebuilder.h: 5690e3f03681a2fbfe7baea5226378cd
-include/unicode/localpointer.h: a89505f84a4bb4e231a17676f1b1d51a
-include/unicode/locdspnm.h: 5d12af057d2675b88cf95dc63f015f21
-include/unicode/locid.h: 9df99f05fc348684e116098f6e0a6710
-include/unicode/measfmt.h: 909302945254ede1a345342a8c4b402d
-include/unicode/measunit.h: 9e0fe1ba857f051874760f7aad55c68b
-include/unicode/measure.h: 060550ced6b6ceae742c8d47772e190f
-include/unicode/messagepattern.h: b671e9e96bad09137a7bf186e8d795fc
-include/unicode/msgfmt.h: f1723a391f733367dde795d42d1734f3
-include/unicode/normalizer2.h: 909305633321f6cbb76cc88dc8c00c90
-include/unicode/normlzr.h: c974010d56584fcf75f0f2e10e05fe9c
-include/unicode/nounit.h: 86e94a9d9377bcd124dfd80600a66d19
-include/unicode/numberformatter.h: 5f13d5de2fb98bb5f6ce33e5b48698c3
-include/unicode/numberrangeformatter.h: 460fa1a21356b00a275e27a9a540140e
-include/unicode/numfmt.h: 26724db0305eab9f3b810f3a6accc729
-include/unicode/numsys.h: f68bc678c30deeb7c50a104d852e40d8
-include/unicode/parseerr.h: ce38831411af01eeaf0bbbb6e1cb0153
-include/unicode/parsepos.h: d5300bfbc1b2cd0081aecb71320e11ec
-include/unicode/platform.h: d6aed91f3114fe877714fc554ad167ae
-include/unicode/plurfmt.h: fa64bd7797a74e8e8769a12047c5bf3c
-include/unicode/plurrule.h: 8d3eb6b9c5e6eec6da436601e42ec65e
-include/unicode/ptypes.h: d74097874c82f77331d8e06a5c59d37f
-include/unicode/putil.h: ee1c69d5060b8d5754bf8879bb7f10d1
-include/unicode/rbbi.h: a0202b93d684e8e595c0012e4cefca83
-include/unicode/rbnf.h: c951102dad30e81d893bc81df09820f5
-include/unicode/rbtz.h: f772120604410ff1f1492b1991d36163
-include/unicode/regex.h: e911b68edf768bc0c96b770fced3a7f5
-include/unicode/region.h: b0c3e0b2ad6650fbab876495b114b639
-include/unicode/reldatefmt.h: 99195dad14eef9b8992409fc066b97d7
-include/unicode/rep.h: d29a88e12fd288a0606a41464630a015
-include/unicode/resbund.h: 87a08c1ea0b825d2f99951e9be9f1127
-include/unicode/schriter.h: 9c196272282acc6ccf6cd34544095b63
-include/unicode/scientificnumberformatter.h: b0f20bc8a5b53b07a07d4576d3d6d928
-include/unicode/search.h: bee76013db18275ff842e90c6805ae72
-include/unicode/selfmt.h: 2457e48d1cf8ff880f1bdaf80a9e2fc7
-include/unicode/simpleformatter.h: 3dfb5ab658aecf124d329b645082b879
-include/unicode/simpletz.h: 07c17256943be808b2b2a597d3d27c33
-include/unicode/smpdtfmt.h: e5ba02765fd03756ba63ca138a47daf1
-include/unicode/sortkey.h: 25af96ad696ab793d62d67debb04c8ba
-include/unicode/std_string.h: 2300a9ee3296c630373a6e8b685dff88
-include/unicode/strenum.h: 2d2998dd8033ac7272c39406cc3f8b51
-include/unicode/stringoptions.h: d4929224e8d9df2f272f0305780cbacb
-include/unicode/stringpiece.h: 4265692d09da7d3cd585bc6776a8a0c7
-include/unicode/stringtriebuilder.h: fc74bea13a3003c79ebeccc442703037
-include/unicode/stsearch.h: 33d820eada4a37ceb3f0bd9ff07ed63d
-include/unicode/symtable.h: 763520aa161c95884efa6f6a5f29eb77
-include/unicode/tblcoll.h: 9aad9b68d582e13be85f437f815a3eb1
-include/unicode/timezone.h: 4e6b12c8e428fae21f99552d29544690
-include/unicode/tmunit.h: 9a1f159c304e2bd283d7cf61a0807c05
-include/unicode/tmutamt.h: 0890de21bc330b69b00f94c437e0f140
-include/unicode/tmutfmt.h: c344b95b816e04ed0bc895c6da6ef460
-include/unicode/translit.h: 3464c7b8023b7c131b0b533e1b372c3a
-include/unicode/tzfmt.h: 2cb06301f2376b6802834105060311bf
-include/unicode/tznames.h: b5935a11cb884e2e47ad732ee684037d
-include/unicode/tzrule.h: bcba9c924da93d42e4f18f507c11e8cf
-include/unicode/tztrans.h: 6e72d3497b3e68dc9aad510e2b45f781
-include/unicode/ubidi.h: d90a13a2933198f134efefc0ff7563e6
-include/unicode/ubiditransform.h: fab65809ece8816f1a002eb843b80e29
-include/unicode/ubrk.h: e85002afa629b85ba239135ab11f47f0
-include/unicode/ucal.h: c39d869ac0bca5859e78287092e40721
-include/unicode/ucasemap.h: 2f240e1dc6db1771e843f1a03fd0c8f4
-include/unicode/ucat.h: f412352b86adccba85d7f3e4b4515064
-include/unicode/uchar.h: 25e6419710b325b53286cb7dcaf4af57
-include/unicode/ucharstrie.h: 644af4172d542594c40face6cbe01b5e
-include/unicode/ucharstriebuilder.h: 52600c017361ee29f21a6fef13667948
-include/unicode/uchriter.h: 85c221ab993783ec8f7823713c30758c
-include/unicode/uclean.h: ef4b9289f510edd0bb6b779d0a299f44
-include/unicode/ucnv.h: db701a7a83540ef4dcfc4e780f1da016
-include/unicode/ucnv_cb.h: 69c1c5b156028cd623ed7e5b5b4ab730
-include/unicode/ucnv_err.h: 6ef0751460140d23ae678ef85c298906
-include/unicode/ucnvsel.h: 6e4c5e31c2a89439ef4945cd4a402ef3
-include/unicode/ucol.h: 0b6d71140d2f8e0cf618e5a54cf251af
-include/unicode/ucoleitr.h: b4576706530850666c1cfd2424276b26
-include/unicode/uconfig.h: 680b99d4b154e14ac1ebcb9c60f5ab3c
-include/unicode/ucpmap.h: a22571c78880dd947efc0ab547061a35
-include/unicode/ucptrie.h: 9b16abc66b11f53941ec5d90af1df0b0
-include/unicode/ucsdet.h: c7d5b3d36da0c71b0a85a72642439a90
-include/unicode/ucurr.h: 0ec2b114be8c462d4542c6e1d0bf2b8a
-include/unicode/udat.h: 373cf290162e44eba9f2cf6dad278858
-include/unicode/udata.h: e747b190fadb0749c129aeff7e6eef54
-include/unicode/udateintervalformat.h: 178f650518ecceeb2eca7b763dd68799
-include/unicode/udatpg.h: 078d2d548f3123fceae0d4056359a62e
-include/unicode/udisplaycontext.h: 57a269787da52ad6720ff5b1e87b5cdd
-include/unicode/uenum.h: 41cce54d4862d5068f4f087b935c0657
-include/unicode/ufieldpositer.h: 21f8ba8e285bfea4daa3da8a01911b7e
-include/unicode/uformattable.h: cad38a97f9f929ebc28d5e72dc5ec14f
-include/unicode/uformattedvalue.h: 47ae4b93dddfe15d28400da09201090e
-include/unicode/ugender.h: d64c9ad1d5cf04136534e3aca38d2638
-include/unicode/uidna.h: 88ee381ec6ec01cb677f3e5222e9cf22
-include/unicode/uiter.h: 3fea96177f4f814091918f54d1e68ccd
-include/unicode/uldnames.h: d18634bc73c16b9ae02b6a60fd94d8be
-include/unicode/ulistformatter.h: 64859bc80c70c1e183f3537e1c354142
-include/unicode/uloc.h: b344a11407a95b108ef52a4d88c74d6a
-include/unicode/ulocdata.h: 116fad6a2c0db0d08e3f5ae02d93a035
-include/unicode/umachine.h: b25221a74cab16d993f35108e6da340a
-include/unicode/umisc.h: eca71d8c8bf86529ae5bbc5f34598bea
-include/unicode/umsg.h: 298645d31f8d8e209cbb5eb3751e3ceb
-include/unicode/umutablecptrie.h: 4fe0aaad80938fbe881a3fb447be1f24
-include/unicode/unifilt.h: 71e8ecdb31d706e8e0efc4bbdc9f86b5
-include/unicode/unifunct.h: 97d80d81556b54ac674d09643df98cfc
-include/unicode/unimatch.h: 00eb31b1d65f3e0f03e7d880b1bb79fb
-include/unicode/unirepl.h: c5eeec0e14a9666262d332c22124803f
-include/unicode/uniset.h: 69b5447c36eec06421bc9038df3bd80e
-include/unicode/unistr.h: e35ee05307a3338579df46718b049b32
-include/unicode/unorm.h: 3a1e6dcd474ef8b2c3377b34141bf6d3
-include/unicode/unorm2.h: e8fff4023ad114b325f346d2cdbbe043
-include/unicode/unum.h: ec868132b7242d85645d30dd549b25fc
-include/unicode/unumberformatter.h: 0dc25c33373d63ca0beb10a9ef265237
-include/unicode/unumsys.h: 7e5dd76a0e07f790c30c944bfb810e71
-include/unicode/uobject.h: c9a1e3afb798e0fbcad34b01b0bc5c3e
-include/unicode/upluralrules.h: 15feae7c7df35b97d5e715f28f616e63
-include/unicode/uregex.h: 10fe8b8c9f98758bf192bc765fa45e3c
-include/unicode/uregion.h: a3f28f15972bf18600012815a8c76535
-include/unicode/ureldatefmt.h: d528589ebdc3f8cb6c27ce4867752c55
-include/unicode/urename.h: 7cd5ed487b56e2aeb354867a0b2cda5f
-include/unicode/urep.h: 6ada98ac1aa68081f10d17b1abadef6e
-include/unicode/ures.h: 8c69586a969eb2898d5d3e8c08beda9c
-include/unicode/uscript.h: 5bf2d96240b17507a05ebe4d36b1a38e
-include/unicode/usearch.h: fc5b3e0d1096ff69c3a2397ef5b3a036
-include/unicode/uset.h: a285e1b480a3abaaee753ba74d245efd
-include/unicode/usetiter.h: 36896c874036542390b5a75a04f330c5
-include/unicode/ushape.h: 86fdf709d4312bb17cf95b16f58e1dc4
-include/unicode/uspoof.h: 6c2d471942085f091c8bc748a02f113e
-include/unicode/usprep.h: e88585ae8bdb3a35aa88417993bde732
-include/unicode/ustdio.h: 3104e526d3de60538f42c0fd5430adcb
-include/unicode/ustream.h: 6a3f303b73d795a0ff9a1b8d2758d88d
-include/unicode/ustring.h: 92f522f8ef62e443c11baa56c32e42e4
-include/unicode/ustringtrie.h: 54a28aa9c4e117cd3ebfd0a670324f6c
-include/unicode/utext.h: b0e85d74193953fcaa29de51853cc95a
-include/unicode/utf.h: 4434eeb75c89a49228884aa247714e1c
-include/unicode/utf16.h: d95d304275f6c688b0c4ae5620d57e4c
-include/unicode/utf32.h: a1fdf74f4bd8808f9fb17df371f886d9
-include/unicode/utf8.h: 7d5d7b60c96cccc184cdc5cd53447e7c
-include/unicode/utf_old.h: c89c03a53abcf83e039ad4217246acd9
-include/unicode/utmscale.h: 7c59d91f835bc9f4b805dd64e73851d7
-include/unicode/utrace.h: 35cbc5ec2fd02b703a449e896f48ebfe
-include/unicode/utrans.h: 7a20730bb6d33441a5b9c886cc7cd0eb
-include/unicode/utypes.h: be7b3c9d785b5d70b2f05e6dd527f026
-include/unicode/uvernum.h: 59a34f58b169d039a90da4e8824af662
-include/unicode/uversion.h: af19802ec4e905051d79ab4579a30bcd
-include/unicode/vtzone.h: a9053ef95930bd854729360fe00fed7a
-lib/icu/64.2/Makefile.inc: b9c41b216021001f76a7ee0e7a52be73
-lib/icu/64.2/pkgdata.inc: 97b000374f8cbf1bc206bd53c44b2484
-lib/icu/Makefile.inc: b9c41b216021001f76a7ee0e7a52be73
-lib/icu/current/Makefile.inc: b9c41b216021001f76a7ee0e7a52be73
-lib/icu/current/pkgdata.inc: 97b000374f8cbf1bc206bd53c44b2484
-lib/icu/pkgdata.inc: 97b000374f8cbf1bc206bd53c44b2484
-lib/icudt.dll: 4bf335f3c812239fdb288af9c7536ac4
-lib/icudt.lib: ef983e4199b691cb04ccd33f0d59d042
-lib/icudt64.dll: 5f5f9b34176b0c012f5d62cdd1d947d6
-lib/icuin.dll: 3da27ef4f6ed75685def244900ab251f
-lib/icuin.lib: 7b4035a5a6b22ee5a062a4a7c11aeed6
-lib/icuin64.dll: 3da27ef4f6ed75685def244900ab251f
-lib/icuio.dll: 3c0193269e42635affe3809d9fccb3eb
-lib/icuio.lib: ca82aa1a25c7f1089855744bffaf9e4e
-lib/icuio64.dll: 3c0193269e42635affe3809d9fccb3eb
-lib/icutest.dll: 538469e7a3a2b678b9628df448d950fb
-lib/icutest.lib: c0725af49af2df05b5cd1508cd7ed8d2
-lib/icutest64.dll: 538469e7a3a2b678b9628df448d950fb
-lib/icutu.dll: aee92b3be1ad903962710112088b0a4e
-lib/icutu.lib: b39b7512ad21ceb5734159f4061cb1cb
-lib/icutu64.dll: aee92b3be1ad903962710112088b0a4e
-lib/icuuc.dll: 187d80a431a3dd72bc5635e42680ee0d
-lib/icuuc.lib: dfb526d79d8568a1b6db40e9c02ea072
-lib/icuuc64.dll: 187d80a431a3dd72bc5635e42680ee0d
-lib/pkgconfig/icu-i18n.pc: d4740b0d88c4f31cdb35448da73f84c3
-lib/pkgconfig/icu-io.pc: 3a210f03beec91148eaf11f9f57aa22e
-lib/pkgconfig/icu-uc.pc: 4c0594d00617771efbe334cf08c5e5b0
-licenses/LICENSE: 8bc5d32052a96f214cbdd1e53dfc935d
-share/icu/64.2/LICENSE: 8bc5d32052a96f214cbdd1e53dfc935d
-share/icu/64.2/config/mh-msys-msvc: deb94ef2bd29c3471723b79091991a51
-share/icu/64.2/install-sh: 5afe8eb5573965dfb58378e4e46f3813
-share/icu/64.2/mkinstalldirs: 31c4856b24c8dbc6319819ccd43b4fda
-share/man/man1/derb.1: 140b84149f762ce47b2fe263aed44fb5
-share/man/man1/genbrk.1: f3b0b5c88f6562d93a27e776bf13987c
-share/man/man1/gencfu.1: fc9b581c0fe513328c22b44ce035e0c1
-share/man/man1/gencnval.1: 696401204fbe4d17e8dac25eea70ce07
-share/man/man1/gendict.1: f3607026142ed53bf2d0bae71884ce02
-share/man/man1/genrb.1: 3860427c56aa1c847586737737325550
-share/man/man1/icu-config.1: 24f882d0de63c5fee2b10a2911b206f8
-share/man/man1/makeconv.1: ee9bdbd7ee11f0e705e6de72b86f29ac
-share/man/man1/pkgdata.1: 2cb82b3e1c820002968867c3b2b5b811
-share/man/man1/uconv.1: 516c265d14b9f3ad72dceb2c2d23f2bb
-share/man/man8/genccode.8: 0c9f23a8cec80bfdb6127197f1c3ed17
-share/man/man8/gencmn.8: 251c98aa763ab74829e074c5e6f21c98
-share/man/man8/gensprep.8: a3129a511adbb04310a2d900c15784e1
-share/man/man8/icupkg.8: 145940ae5e9a8aea3a93213f13ddd70c
diff --git a/coin/provisioning/common/windows/conan_manifests/icu/65.1/qtproject/stable/export/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/icu/65.1/qtproject/stable/export/conanmanifest.txt
new file mode 100644
index 00000000..8c6d0b8c
--- /dev/null
+++ b/coin/provisioning/common/windows/conan_manifests/icu/65.1/qtproject/stable/export/conanmanifest.txt
@@ -0,0 +1,3 @@
+1582252281
+conanfile.py: d7d6690f8a7dd0d9fe4e201a78c61c67
+icu_base.py: dbd6da563f0739fa7b162d8bc0099974
diff --git a/coin/provisioning/common/windows/conan_manifests/icu/65.1/qtproject/stable/package/1fab1e9a646ef41ee7e947ef7a9524b08e3ef34d/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/icu/65.1/qtproject/stable/package/1fab1e9a646ef41ee7e947ef7a9524b08e3ef34d/conanmanifest.txt
new file mode 100644
index 00000000..afff694d
--- /dev/null
+++ b/coin/provisioning/common/windows/conan_manifests/icu/65.1/qtproject/stable/package/1fab1e9a646ef41ee7e947ef7a9524b08e3ef34d/conanmanifest.txt
@@ -0,0 +1,250 @@
+1582257415
+bin/derb.exe: 430c27da15e7c5d4c6eb60e0b1e6fb8f
+bin/escapesrc.exe: 9a59fded291dd4ea4cbfe3b7a1c80080
+bin/genbrk.exe: 56897185781522cd685e4af4ca102a3b
+bin/genccode.exe: c99c94069e8a0098bc4db9914a7f6e7a
+bin/gencfu.exe: e23c79026bb78c1991c7f7a8425fad13
+bin/gencmn.exe: 8fba64b78d2ab6f5bcd6c723da1f57ad
+bin/gencnval.exe: 14c87059b1c39a72879837cabb3eb84d
+bin/gendict.exe: 1380f639d83e4d1f21b55ba2495d4a41
+bin/gennorm2.exe: 914fa6268d94fe08969d7104dc55218f
+bin/genrb.exe: 22e6461a351f1bf391d181f78a6ef54b
+bin/gensprep.exe: 4bccca6db929a0b19fff1c5a37873b16
+bin/icu-config: 9250dfdf7faa8c4d08dfa6cf4f40e2d1
+bin/icudt.dll: 8a2d4864a89ed94a0e16eaab44d3a4c2
+bin/icudt65.dll: aa62d2fd6b59bd61116910583e3dd41d
+bin/icuin.dll: 05cc7ab8708577d53395eb242a0dcc6d
+bin/icuin65.dll: 05cc7ab8708577d53395eb242a0dcc6d
+bin/icuinfo.exe: 3700aeeae9229fff4fe501ae415b5c36
+bin/icuio.dll: f2c286ef97baf5ddc7c8110dbd9e6b4c
+bin/icuio65.dll: f2c286ef97baf5ddc7c8110dbd9e6b4c
+bin/icupkg.exe: c03f0c24917039bc98a3b7616c9b141e
+bin/icutest.dll: 9db214eb296a087b0385f07c21e15b6f
+bin/icutest65.dll: 9db214eb296a087b0385f07c21e15b6f
+bin/icutu.dll: f8df0b65efc4fffc30850b6fd6513eeb
+bin/icutu65.dll: f8df0b65efc4fffc30850b6fd6513eeb
+bin/icuuc.dll: 81bebc9772571cf4c591512707de7f6f
+bin/icuuc65.dll: 81bebc9772571cf4c591512707de7f6f
+bin/makeconv.exe: ef7aa77bd42300c98ea2676e095356d0
+bin/pkgdata.exe: 4f957c0e9d26523d6977c47879ccb20a
+conaninfo.txt: 87f571b59f21d0be18bbbb1a53c6b2f2
+include/unicode/alphaindex.h: 1be039746e3da3f7baa9421062373468
+include/unicode/appendable.h: 48b3a0a4c3044ad5f2af18f1ab48c8ff
+include/unicode/basictz.h: 57fe3c53d6b1a2bf5d1f40ec51efd7a1
+include/unicode/brkiter.h: e5ff475b7b01a97e5cd11a5362785921
+include/unicode/bytestream.h: 34a6807cd42f2e64ca60429897eb4b10
+include/unicode/bytestrie.h: d9be048d5c7e9dd0a2c6cd82e91e6002
+include/unicode/bytestriebuilder.h: 66236ad8247bd04c9ea525012b4c4ca8
+include/unicode/calendar.h: 692005b416fc2e4a8c497ff9b9a31bd8
+include/unicode/caniter.h: a70809c92ea90b654e9f11a793f84429
+include/unicode/casemap.h: d088e7422633b4cad3ad2b0b83ca239b
+include/unicode/char16ptr.h: c234b9ba14299c6068f5af1a936c1ead
+include/unicode/chariter.h: c8623016adba39ab38ef29f38ec87e45
+include/unicode/choicfmt.h: 832e7b39d19ec192ac1551360436f946
+include/unicode/coleitr.h: d9f07937d600ee811c121c0b0504724c
+include/unicode/coll.h: a2062360d7415e08abb01c44088f074e
+include/unicode/compactdecimalformat.h: 029f9640501bd640495c18397b5ff8bb
+include/unicode/curramt.h: 41fc0e62956b2e0fa7fd5e05213afc85
+include/unicode/currpinf.h: 09cbc4d9eb04b2aa2c4c155961f13c89
+include/unicode/currunit.h: 43648726f439d03c8c8a13b87c122332
+include/unicode/datefmt.h: 28ef92e98cdac29630b0aa0daf122798
+include/unicode/dbbi.h: 3d4186ec9549d6693d136257f610ec06
+include/unicode/dcfmtsym.h: b18b90c0c6371eab5028582492859142
+include/unicode/decimfmt.h: fb4231ddf75de524300ee952634ef038
+include/unicode/docmain.h: 697c221351932e373cf9e5903f40b723
+include/unicode/dtfmtsym.h: cabbccbf9deec91ebf291a19110007fb
+include/unicode/dtintrv.h: 7a7ce170e6035b90ef5b4bee91893833
+include/unicode/dtitvfmt.h: da220b13a8f895c4e77b653d865eb049
+include/unicode/dtitvinf.h: 1ad6b7f844a9362b2b7a0f509284cae7
+include/unicode/dtptngen.h: 8f8fcb053b5024c5b1d3dfc258f59344
+include/unicode/dtrule.h: 68551564f8ab72271d3574aa0cba381d
+include/unicode/edits.h: 6b8aa73dbf2c2f0b49da5bc5903bcc8c
+include/unicode/enumset.h: 3bb75fc43c88682895ae98c02e69810d
+include/unicode/errorcode.h: debeda4467a19aaf964fafc73629c8ae
+include/unicode/fieldpos.h: 3b041c7d9a5df0aef744b88e764af17e
+include/unicode/filteredbrk.h: e54dd29247eb75f8490423f7f8541691
+include/unicode/fmtable.h: 3816f155db2c35ac5de3f80ffdaa549c
+include/unicode/format.h: 0417863e1b303fa282659c4903e3a11c
+include/unicode/formattedvalue.h: fc50c8972404b212799d76cf8e647888
+include/unicode/fpositer.h: b5e8bbc249dc37e3b159f0a2b5053957
+include/unicode/gender.h: 5e093c1cfb96ef671f2e5dedb96a0d64
+include/unicode/gregocal.h: 15c7b4ceaca9b8b8f8e747d5427aa7a7
+include/unicode/icudataver.h: d1c480a9eb95aaa058a6b9311074bc33
+include/unicode/icuplug.h: 60ad27a2a36284bbc1766f9920769175
+include/unicode/idna.h: a7c3650d5311edeb01f754c574d0fb8b
+include/unicode/listformatter.h: 65911d72679c6e0a267e951b03467f37
+include/unicode/localebuilder.h: 1b6106448cf6cde7e7ebf25ee6fe4065
+include/unicode/localematcher.h: 3a03cbb5970a14fe153041c878f583f2
+include/unicode/localpointer.h: a89505f84a4bb4e231a17676f1b1d51a
+include/unicode/locdspnm.h: aa260a00e31e970757e3b3cbe00fff3d
+include/unicode/locid.h: 6caa36f85c9bab54b78ecd0c056789aa
+include/unicode/measfmt.h: 21b534367e4b3825dc70c3a289822df8
+include/unicode/measunit.h: 0f903f67958ad91e8bd2e49fc40c3075
+include/unicode/measure.h: 49091c823a2f12f5f60f7fecd7c452f2
+include/unicode/messagepattern.h: 15ecc58806c256ac91c2549d4f5c242f
+include/unicode/msgfmt.h: f9ff9322fa80486203829c15d4982573
+include/unicode/normalizer2.h: 436d923df3a66774b7bf26ffe75a5d1c
+include/unicode/normlzr.h: 5bf33ff933ee7eb49c330df38f490f57
+include/unicode/nounit.h: 2b4901f562077b370d82c4bbe229aac4
+include/unicode/numberformatter.h: 0f62c292f92d5598a61647bbf4294e1a
+include/unicode/numberrangeformatter.h: 58623918bf66f1fd6687f3dd03180a4b
+include/unicode/numfmt.h: 2a21117116463390ec4f19d53f485890
+include/unicode/numsys.h: 186ba43c003b4f56af3c63abd08f418e
+include/unicode/parseerr.h: ce38831411af01eeaf0bbbb6e1cb0153
+include/unicode/parsepos.h: 5c53fa7c473d4593fd72ce964b505807
+include/unicode/platform.h: 56fe53b31059acb1be086c45ce88e8c6
+include/unicode/plurfmt.h: 6f1b781b7a62a6ac1c7e4c6a2bb18d77
+include/unicode/plurrule.h: cf4b0b9ec1a525b96e7d27e489044337
+include/unicode/ptypes.h: d74097874c82f77331d8e06a5c59d37f
+include/unicode/putil.h: ee1c69d5060b8d5754bf8879bb7f10d1
+include/unicode/rbbi.h: 6c5f44ef812dfb48b65466732513c091
+include/unicode/rbnf.h: e870f2cf64c9b72eb549c413d6f98299
+include/unicode/rbtz.h: ea9f5a1edac3fe535ec7b83636daf61d
+include/unicode/regex.h: 16565e3d41228a76f17a63842d9594d2
+include/unicode/region.h: 22585a516ee7525f3e9094f2843b7640
+include/unicode/reldatefmt.h: 1b226903d9375471432582c27ade4934
+include/unicode/rep.h: eab550a9bbb33b4c1283ab16bc2dfafa
+include/unicode/resbund.h: cc93ada0e9871eee0a86f81548a3be73
+include/unicode/schriter.h: acea2a510e5c9127dad0e2538cf65ccd
+include/unicode/scientificnumberformatter.h: 40eb759fc2902b6c8e732b440fe6a1bc
+include/unicode/search.h: a93ebdadfc5113f1b9c9c185262ef461
+include/unicode/selfmt.h: 581ab6f6ac584265d5c56dad4051ee12
+include/unicode/simpleformatter.h: 8e5e9a9589359e06110af10bcf941d54
+include/unicode/simpletz.h: 194e0d388b74daa4cf51d012e2d14ebd
+include/unicode/smpdtfmt.h: 0e6383eafd569b511791e826b51df8d1
+include/unicode/sortkey.h: 27f3d671f37c27d0b36953d00c1f2e7b
+include/unicode/std_string.h: bb3b2e28a2ae9b66a60b7d90f8c07512
+include/unicode/strenum.h: 3c23eb4fa4d847b6afdd18adf3ccdaf5
+include/unicode/stringoptions.h: d4929224e8d9df2f272f0305780cbacb
+include/unicode/stringpiece.h: 3d7911a3b2a59830eaceb37e46110285
+include/unicode/stringtriebuilder.h: 08ce10a0f6e85f4bb078f69d5382f8bc
+include/unicode/stsearch.h: b15838a5cf5740b0aaa9af5356aef26b
+include/unicode/symtable.h: 7487ffc7069316553d08f1109965bf9d
+include/unicode/tblcoll.h: ee27157293d0802cde26d75c6098c1d3
+include/unicode/timezone.h: 54689b5ef15d0f03a146e8aeac163be8
+include/unicode/tmunit.h: 9ddf31866353dde1ae249ed93fce9234
+include/unicode/tmutamt.h: beea411e9f16d8b91fef39a297cd06d8
+include/unicode/tmutfmt.h: ae13f8ac46ad754bf83142943b19a647
+include/unicode/translit.h: f225620498133e8e4bcc2ad6679225e5
+include/unicode/tzfmt.h: b6c94cd901ffe5387f0245ca9fd68604
+include/unicode/tznames.h: a50010925037c01304c719e47bfb369a
+include/unicode/tzrule.h: 0e3465c0eeb27a0545f94bf9f5cfc21e
+include/unicode/tztrans.h: 117392a0dc2fe373946aecfa74475842
+include/unicode/ubidi.h: d90a13a2933198f134efefc0ff7563e6
+include/unicode/ubiditransform.h: fab65809ece8816f1a002eb843b80e29
+include/unicode/ubrk.h: e85002afa629b85ba239135ab11f47f0
+include/unicode/ucal.h: d247badde5d39cc16e06d26153054c85
+include/unicode/ucasemap.h: 2f240e1dc6db1771e843f1a03fd0c8f4
+include/unicode/ucat.h: f412352b86adccba85d7f3e4b4515064
+include/unicode/uchar.h: ebac2b0b753a1cd10db2f428736bf06d
+include/unicode/ucharstrie.h: 16d3d38154f1444b8a3425254ab7ab81
+include/unicode/ucharstriebuilder.h: b92f18132f6c1d61da0ad51b8099435d
+include/unicode/uchriter.h: a356cb90d62d9e425e5efbb071c30b21
+include/unicode/uclean.h: ef4b9289f510edd0bb6b779d0a299f44
+include/unicode/ucnv.h: db701a7a83540ef4dcfc4e780f1da016
+include/unicode/ucnv_cb.h: 69c1c5b156028cd623ed7e5b5b4ab730
+include/unicode/ucnv_err.h: 6ef0751460140d23ae678ef85c298906
+include/unicode/ucnvsel.h: 6e4c5e31c2a89439ef4945cd4a402ef3
+include/unicode/ucol.h: 47c1acc6c2bde098f0b06c8590d68b9f
+include/unicode/ucoleitr.h: b4576706530850666c1cfd2424276b26
+include/unicode/uconfig.h: 80678a12de446cdf8679cdd5792a12e9
+include/unicode/ucpmap.h: 0b16934410c99981d87ddd10e1759bed
+include/unicode/ucptrie.h: 7450de71dd5e1a83f5290da33d48d40d
+include/unicode/ucsdet.h: c7d5b3d36da0c71b0a85a72642439a90
+include/unicode/ucurr.h: 5de7a80ece54cf7583e19f292ad17825
+include/unicode/udat.h: c665d53e4691b564ae5394957fcdcf31
+include/unicode/udata.h: 98e2327300a26bbaf40bd8eb7eee8c1a
+include/unicode/udateintervalformat.h: 178f650518ecceeb2eca7b763dd68799
+include/unicode/udatpg.h: ce0332b911d1a820a0b45922bd0e97fc
+include/unicode/udisplaycontext.h: 57a269787da52ad6720ff5b1e87b5cdd
+include/unicode/uenum.h: 41cce54d4862d5068f4f087b935c0657
+include/unicode/ufieldpositer.h: 21f8ba8e285bfea4daa3da8a01911b7e
+include/unicode/uformattable.h: cad38a97f9f929ebc28d5e72dc5ec14f
+include/unicode/uformattedvalue.h: e1e69e0927595423076481b8f948fd2a
+include/unicode/ugender.h: d64c9ad1d5cf04136534e3aca38d2638
+include/unicode/uidna.h: 88ee381ec6ec01cb677f3e5222e9cf22
+include/unicode/uiter.h: 3fea96177f4f814091918f54d1e68ccd
+include/unicode/uldnames.h: d18634bc73c16b9ae02b6a60fd94d8be
+include/unicode/ulistformatter.h: 21277400caea3c7e7fdb57457c10e423
+include/unicode/uloc.h: 39d42620d3a97a7ae26d7b560ea3eacc
+include/unicode/ulocdata.h: 116fad6a2c0db0d08e3f5ae02d93a035
+include/unicode/umachine.h: 0a7fe7df81aedd43f322a9ec540feff5
+include/unicode/umisc.h: eca71d8c8bf86529ae5bbc5f34598bea
+include/unicode/umsg.h: 298645d31f8d8e209cbb5eb3751e3ceb
+include/unicode/umutablecptrie.h: 5dc81c63a8b2c80ffd401c9bb5180e61
+include/unicode/unifilt.h: e170c06bf1bf81a56c7ed605d41fa02f
+include/unicode/unifunct.h: 23981a5088ba5d5af70309b73eef7666
+include/unicode/unimatch.h: 66161ce491e3b24e9e011cfc0e78be42
+include/unicode/unirepl.h: 462716fd44618949b405645ba7b5c8e6
+include/unicode/uniset.h: cb94f902233b2e1807156afe0967e3e0
+include/unicode/unistr.h: 5ebe061e4a17e981bb249c4814f4dd9d
+include/unicode/unorm.h: ca96f37ed2e2afd56585a238d73cea51
+include/unicode/unorm2.h: e8fff4023ad114b325f346d2cdbbe043
+include/unicode/unum.h: 656d2aa9a41ca4b7bfad0a09420bdc23
+include/unicode/unumberformatter.h: 9be73b6bb76bb5862a8dfd615e563b82
+include/unicode/unumsys.h: 7e5dd76a0e07f790c30c944bfb810e71
+include/unicode/uobject.h: b56a28b01e3df9088315aeb145ec3a8e
+include/unicode/upluralrules.h: 15feae7c7df35b97d5e715f28f616e63
+include/unicode/uregex.h: 10fe8b8c9f98758bf192bc765fa45e3c
+include/unicode/uregion.h: a3f28f15972bf18600012815a8c76535
+include/unicode/ureldatefmt.h: d528589ebdc3f8cb6c27ce4867752c55
+include/unicode/urename.h: 1642d190b583bbaaf454ac65a37a8024
+include/unicode/urep.h: 6ada98ac1aa68081f10d17b1abadef6e
+include/unicode/ures.h: 8c69586a969eb2898d5d3e8c08beda9c
+include/unicode/uscript.h: 5bf2d96240b17507a05ebe4d36b1a38e
+include/unicode/usearch.h: 1f3fcea9dc6c40e908992e74f602235f
+include/unicode/uset.h: a285e1b480a3abaaee753ba74d245efd
+include/unicode/usetiter.h: ab1ebd4b0b9e3560a94a7c6cb3a9e48f
+include/unicode/ushape.h: 86fdf709d4312bb17cf95b16f58e1dc4
+include/unicode/uspoof.h: 8b9508cbe045b114f0f618d04fcab512
+include/unicode/usprep.h: e88585ae8bdb3a35aa88417993bde732
+include/unicode/ustdio.h: 3104e526d3de60538f42c0fd5430adcb
+include/unicode/ustream.h: 0a74df2b9d1967d0b859d21f5828f4e8
+include/unicode/ustring.h: 92f522f8ef62e443c11baa56c32e42e4
+include/unicode/ustringtrie.h: 54a28aa9c4e117cd3ebfd0a670324f6c
+include/unicode/utext.h: 89a08f750d0c5751d4f385c4874c0e61
+include/unicode/utf.h: 4434eeb75c89a49228884aa247714e1c
+include/unicode/utf16.h: 147fbb88d8300af3e38d80ce59c1c1ce
+include/unicode/utf32.h: a1fdf74f4bd8808f9fb17df371f886d9
+include/unicode/utf8.h: 7f0c4c02bd7506e80fd11a4597cc1450
+include/unicode/utf_old.h: 92ffc297b71c8d83ed05b644183c477c
+include/unicode/utmscale.h: 7c59d91f835bc9f4b805dd64e73851d7
+include/unicode/utrace.h: 420d2f8d462ae300ca1903c2a6ebaba3
+include/unicode/utrans.h: 5cd9b1f130197e5fdd8a66519233abf5
+include/unicode/utypes.h: 47eb8ff3f909dafa9bee14f8bb224342
+include/unicode/uvernum.h: a91a8e07c665891ed234de3a58302663
+include/unicode/uversion.h: 0b8f75f3d1c816ee3359dde5be390d17
+include/unicode/vtzone.h: 615f12cb0d05441d0872aa677db80a90
+lib/icu/65.1/Makefile.inc: 578a604f57dc0000c3e4272ac5159ced
+lib/icu/65.1/pkgdata.inc: 9f94a807fa04d65b45bb04114c74fc8f
+lib/icu/Makefile.inc: 578a604f57dc0000c3e4272ac5159ced
+lib/icu/current/Makefile.inc: 578a604f57dc0000c3e4272ac5159ced
+lib/icu/current/pkgdata.inc: 9f94a807fa04d65b45bb04114c74fc8f
+lib/icu/pkgdata.inc: 9f94a807fa04d65b45bb04114c74fc8f
+lib/libicudt.dll.a: 6d19c78195cbf2af4f68b3a1ff93f612
+lib/libicuin.dll.a: dc5b0188be79d786a1612ab4fe8ee105
+lib/libicuio.dll.a: a995de8310f252cd356949a19ace1fc9
+lib/libicutest.dll.a: 4017504bf0e1cbc71fa05c5fda30fcc8
+lib/libicutu.dll.a: aca996f2762328e3a3125c52582d4c19
+lib/libicuuc.dll.a: 45c324a2b53e0860672f73a13dd0eaed
+lib/pkgconfig/icu-i18n.pc: b86403e2cbd81f2559f01cda101d5181
+lib/pkgconfig/icu-io.pc: f7bf176168b2c48bbf9d5b3ab3513420
+lib/pkgconfig/icu-uc.pc: b939d24910a7545f0dd199b79e60a1a0
+licenses/LICENSE: 8bc5d32052a96f214cbdd1e53dfc935d
+share/icu/65.1/LICENSE: 8bc5d32052a96f214cbdd1e53dfc935d
+share/icu/65.1/config/mh-mingw64: 071f2f1be85f81141e4243ab65ca2a5b
+share/icu/65.1/install-sh: 5afe8eb5573965dfb58378e4e46f3813
+share/icu/65.1/mkinstalldirs: 31c4856b24c8dbc6319819ccd43b4fda
+share/man/man1/derb.1: bddb017162105939f6d43c9539c99497
+share/man/man1/genbrk.1: a4e60e4a60ab26eb29119649bfb60d2b
+share/man/man1/gencfu.1: 4950b8178b944a3ebfea1c419ffd3319
+share/man/man1/gencnval.1: 53b10d9351473a7ea603400973377a7d
+share/man/man1/gendict.1: 9c1bf2760e5735b0e6601f48e92cb0d9
+share/man/man1/genrb.1: ffebc1e8007bd58f5623299e6b4babe8
+share/man/man1/icu-config.1: f4670ca16d77ce21310e48aa91f7ee5b
+share/man/man1/makeconv.1: c96397ad56d2c21649757c407aac46d8
+share/man/man1/pkgdata.1: 5f7b05c28de887cca1e5d7bfb9db4c39
+share/man/man8/genccode.8: 498418dc0aec1fa7ccfb83c491b5a23e
+share/man/man8/gencmn.8: c43635e431ea0f1616ea8266e36c0d75
+share/man/man8/gensprep.8: 396d70fec1a04aae25e6bfc6e8e58c65
+share/man/man8/icupkg.8: 430bcbed42faa9ea33b161a48c0490c6
diff --git a/coin/provisioning/common/windows/conan_manifests/icu/65.1/qtproject/stable/package/488cd5989854dc1a08e31f9977289ed30f65b0f0/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/icu/65.1/qtproject/stable/package/488cd5989854dc1a08e31f9977289ed30f65b0f0/conanmanifest.txt
new file mode 100644
index 00000000..29781a54
--- /dev/null
+++ b/coin/provisioning/common/windows/conan_manifests/icu/65.1/qtproject/stable/package/488cd5989854dc1a08e31f9977289ed30f65b0f0/conanmanifest.txt
@@ -0,0 +1,250 @@
+1582255516
+bin/derb.exe: d93a62f01851ea95efc58eb4f3e791d4
+bin/escapesrc.exe: 75766f460e5dd0ef808b120c732d92c7
+bin/genbrk.exe: 4da632c505bd5b926a89a6dd7b650596
+bin/genccode.exe: 41877ba4b04cf49f636a263aae4f2886
+bin/gencfu.exe: 525a49626036d2aa86e8bfc18b45b465
+bin/gencmn.exe: b15da25db0862b3849b93253b645bd16
+bin/gencnval.exe: 98574f94180b8bd9ff07ef5eeac235f7
+bin/gendict.exe: ee8fa0b65b6a843c8e92079a0d301941
+bin/gennorm2.exe: 385efdd848fe0e109ae5ee72dc36f42a
+bin/genrb.exe: 148d9244a745bad05dd0673c110bfa1a
+bin/gensprep.exe: be0b6b49063cff5266a8b37bbd91bb4a
+bin/icu-config: 834abc11547153b24a70aae3f4df2ac3
+bin/icudt.dll: 03d96a7e1c900cf203bdca34ea180587
+bin/icudt65.dll: 53718118d1f9fac7737f13a072f4e1cb
+bin/icuin.dll: ad70d6cc6d9224b69b09ec3ee1f21b1b
+bin/icuin65.dll: ad70d6cc6d9224b69b09ec3ee1f21b1b
+bin/icuinfo.exe: 2acbbb839cca99cf9027c4de7fc818f5
+bin/icuio.dll: c09966904d088940c4ccf498302d4712
+bin/icuio65.dll: c09966904d088940c4ccf498302d4712
+bin/icupkg.exe: 6461f7ae7163bdc1d542d450eeff22ce
+bin/icutest.dll: 91bc1bd35f625900ca74f90373a1b811
+bin/icutest65.dll: 91bc1bd35f625900ca74f90373a1b811
+bin/icutu.dll: 2d9def13c1f8a2c6b99d43feb3d37d6a
+bin/icutu65.dll: 2d9def13c1f8a2c6b99d43feb3d37d6a
+bin/icuuc.dll: ac883bcb5dda0de14c7789bb0cfa0d0f
+bin/icuuc65.dll: ac883bcb5dda0de14c7789bb0cfa0d0f
+bin/makeconv.exe: fbf44ce800fb2377ca93b022aa6c4e24
+bin/pkgdata.exe: bb2da4ab37e16ff6c0fe037f431a7920
+conaninfo.txt: d3efa735bfabe1d967065dfa9682bce6
+include/unicode/alphaindex.h: 1be039746e3da3f7baa9421062373468
+include/unicode/appendable.h: 48b3a0a4c3044ad5f2af18f1ab48c8ff
+include/unicode/basictz.h: 57fe3c53d6b1a2bf5d1f40ec51efd7a1
+include/unicode/brkiter.h: e5ff475b7b01a97e5cd11a5362785921
+include/unicode/bytestream.h: 34a6807cd42f2e64ca60429897eb4b10
+include/unicode/bytestrie.h: d9be048d5c7e9dd0a2c6cd82e91e6002
+include/unicode/bytestriebuilder.h: 66236ad8247bd04c9ea525012b4c4ca8
+include/unicode/calendar.h: 692005b416fc2e4a8c497ff9b9a31bd8
+include/unicode/caniter.h: a70809c92ea90b654e9f11a793f84429
+include/unicode/casemap.h: d088e7422633b4cad3ad2b0b83ca239b
+include/unicode/char16ptr.h: c234b9ba14299c6068f5af1a936c1ead
+include/unicode/chariter.h: c8623016adba39ab38ef29f38ec87e45
+include/unicode/choicfmt.h: 832e7b39d19ec192ac1551360436f946
+include/unicode/coleitr.h: d9f07937d600ee811c121c0b0504724c
+include/unicode/coll.h: a2062360d7415e08abb01c44088f074e
+include/unicode/compactdecimalformat.h: 029f9640501bd640495c18397b5ff8bb
+include/unicode/curramt.h: 41fc0e62956b2e0fa7fd5e05213afc85
+include/unicode/currpinf.h: 09cbc4d9eb04b2aa2c4c155961f13c89
+include/unicode/currunit.h: 43648726f439d03c8c8a13b87c122332
+include/unicode/datefmt.h: 28ef92e98cdac29630b0aa0daf122798
+include/unicode/dbbi.h: 3d4186ec9549d6693d136257f610ec06
+include/unicode/dcfmtsym.h: b18b90c0c6371eab5028582492859142
+include/unicode/decimfmt.h: fb4231ddf75de524300ee952634ef038
+include/unicode/docmain.h: 697c221351932e373cf9e5903f40b723
+include/unicode/dtfmtsym.h: cabbccbf9deec91ebf291a19110007fb
+include/unicode/dtintrv.h: 7a7ce170e6035b90ef5b4bee91893833
+include/unicode/dtitvfmt.h: da220b13a8f895c4e77b653d865eb049
+include/unicode/dtitvinf.h: 1ad6b7f844a9362b2b7a0f509284cae7
+include/unicode/dtptngen.h: 8f8fcb053b5024c5b1d3dfc258f59344
+include/unicode/dtrule.h: 68551564f8ab72271d3574aa0cba381d
+include/unicode/edits.h: 6b8aa73dbf2c2f0b49da5bc5903bcc8c
+include/unicode/enumset.h: 3bb75fc43c88682895ae98c02e69810d
+include/unicode/errorcode.h: debeda4467a19aaf964fafc73629c8ae
+include/unicode/fieldpos.h: 3b041c7d9a5df0aef744b88e764af17e
+include/unicode/filteredbrk.h: e54dd29247eb75f8490423f7f8541691
+include/unicode/fmtable.h: 3816f155db2c35ac5de3f80ffdaa549c
+include/unicode/format.h: 0417863e1b303fa282659c4903e3a11c
+include/unicode/formattedvalue.h: fc50c8972404b212799d76cf8e647888
+include/unicode/fpositer.h: b5e8bbc249dc37e3b159f0a2b5053957
+include/unicode/gender.h: 5e093c1cfb96ef671f2e5dedb96a0d64
+include/unicode/gregocal.h: 15c7b4ceaca9b8b8f8e747d5427aa7a7
+include/unicode/icudataver.h: d1c480a9eb95aaa058a6b9311074bc33
+include/unicode/icuplug.h: 60ad27a2a36284bbc1766f9920769175
+include/unicode/idna.h: a7c3650d5311edeb01f754c574d0fb8b
+include/unicode/listformatter.h: 65911d72679c6e0a267e951b03467f37
+include/unicode/localebuilder.h: 1b6106448cf6cde7e7ebf25ee6fe4065
+include/unicode/localematcher.h: 3a03cbb5970a14fe153041c878f583f2
+include/unicode/localpointer.h: a89505f84a4bb4e231a17676f1b1d51a
+include/unicode/locdspnm.h: aa260a00e31e970757e3b3cbe00fff3d
+include/unicode/locid.h: 6caa36f85c9bab54b78ecd0c056789aa
+include/unicode/measfmt.h: 21b534367e4b3825dc70c3a289822df8
+include/unicode/measunit.h: 0f903f67958ad91e8bd2e49fc40c3075
+include/unicode/measure.h: 49091c823a2f12f5f60f7fecd7c452f2
+include/unicode/messagepattern.h: 15ecc58806c256ac91c2549d4f5c242f
+include/unicode/msgfmt.h: f9ff9322fa80486203829c15d4982573
+include/unicode/normalizer2.h: 436d923df3a66774b7bf26ffe75a5d1c
+include/unicode/normlzr.h: 5bf33ff933ee7eb49c330df38f490f57
+include/unicode/nounit.h: 2b4901f562077b370d82c4bbe229aac4
+include/unicode/numberformatter.h: 0f62c292f92d5598a61647bbf4294e1a
+include/unicode/numberrangeformatter.h: 58623918bf66f1fd6687f3dd03180a4b
+include/unicode/numfmt.h: 2a21117116463390ec4f19d53f485890
+include/unicode/numsys.h: 186ba43c003b4f56af3c63abd08f418e
+include/unicode/parseerr.h: ce38831411af01eeaf0bbbb6e1cb0153
+include/unicode/parsepos.h: 5c53fa7c473d4593fd72ce964b505807
+include/unicode/platform.h: 56fe53b31059acb1be086c45ce88e8c6
+include/unicode/plurfmt.h: 6f1b781b7a62a6ac1c7e4c6a2bb18d77
+include/unicode/plurrule.h: cf4b0b9ec1a525b96e7d27e489044337
+include/unicode/ptypes.h: d74097874c82f77331d8e06a5c59d37f
+include/unicode/putil.h: ee1c69d5060b8d5754bf8879bb7f10d1
+include/unicode/rbbi.h: 6c5f44ef812dfb48b65466732513c091
+include/unicode/rbnf.h: e870f2cf64c9b72eb549c413d6f98299
+include/unicode/rbtz.h: ea9f5a1edac3fe535ec7b83636daf61d
+include/unicode/regex.h: 16565e3d41228a76f17a63842d9594d2
+include/unicode/region.h: 22585a516ee7525f3e9094f2843b7640
+include/unicode/reldatefmt.h: 1b226903d9375471432582c27ade4934
+include/unicode/rep.h: eab550a9bbb33b4c1283ab16bc2dfafa
+include/unicode/resbund.h: cc93ada0e9871eee0a86f81548a3be73
+include/unicode/schriter.h: acea2a510e5c9127dad0e2538cf65ccd
+include/unicode/scientificnumberformatter.h: 40eb759fc2902b6c8e732b440fe6a1bc
+include/unicode/search.h: a93ebdadfc5113f1b9c9c185262ef461
+include/unicode/selfmt.h: 581ab6f6ac584265d5c56dad4051ee12
+include/unicode/simpleformatter.h: 8e5e9a9589359e06110af10bcf941d54
+include/unicode/simpletz.h: 194e0d388b74daa4cf51d012e2d14ebd
+include/unicode/smpdtfmt.h: 0e6383eafd569b511791e826b51df8d1
+include/unicode/sortkey.h: 27f3d671f37c27d0b36953d00c1f2e7b
+include/unicode/std_string.h: bb3b2e28a2ae9b66a60b7d90f8c07512
+include/unicode/strenum.h: 3c23eb4fa4d847b6afdd18adf3ccdaf5
+include/unicode/stringoptions.h: d4929224e8d9df2f272f0305780cbacb
+include/unicode/stringpiece.h: 3d7911a3b2a59830eaceb37e46110285
+include/unicode/stringtriebuilder.h: 08ce10a0f6e85f4bb078f69d5382f8bc
+include/unicode/stsearch.h: b15838a5cf5740b0aaa9af5356aef26b
+include/unicode/symtable.h: 7487ffc7069316553d08f1109965bf9d
+include/unicode/tblcoll.h: ee27157293d0802cde26d75c6098c1d3
+include/unicode/timezone.h: 54689b5ef15d0f03a146e8aeac163be8
+include/unicode/tmunit.h: 9ddf31866353dde1ae249ed93fce9234
+include/unicode/tmutamt.h: beea411e9f16d8b91fef39a297cd06d8
+include/unicode/tmutfmt.h: ae13f8ac46ad754bf83142943b19a647
+include/unicode/translit.h: f225620498133e8e4bcc2ad6679225e5
+include/unicode/tzfmt.h: b6c94cd901ffe5387f0245ca9fd68604
+include/unicode/tznames.h: a50010925037c01304c719e47bfb369a
+include/unicode/tzrule.h: 0e3465c0eeb27a0545f94bf9f5cfc21e
+include/unicode/tztrans.h: 117392a0dc2fe373946aecfa74475842
+include/unicode/ubidi.h: d90a13a2933198f134efefc0ff7563e6
+include/unicode/ubiditransform.h: fab65809ece8816f1a002eb843b80e29
+include/unicode/ubrk.h: e85002afa629b85ba239135ab11f47f0
+include/unicode/ucal.h: d247badde5d39cc16e06d26153054c85
+include/unicode/ucasemap.h: 2f240e1dc6db1771e843f1a03fd0c8f4
+include/unicode/ucat.h: f412352b86adccba85d7f3e4b4515064
+include/unicode/uchar.h: ebac2b0b753a1cd10db2f428736bf06d
+include/unicode/ucharstrie.h: 16d3d38154f1444b8a3425254ab7ab81
+include/unicode/ucharstriebuilder.h: b92f18132f6c1d61da0ad51b8099435d
+include/unicode/uchriter.h: a356cb90d62d9e425e5efbb071c30b21
+include/unicode/uclean.h: ef4b9289f510edd0bb6b779d0a299f44
+include/unicode/ucnv.h: db701a7a83540ef4dcfc4e780f1da016
+include/unicode/ucnv_cb.h: 69c1c5b156028cd623ed7e5b5b4ab730
+include/unicode/ucnv_err.h: 6ef0751460140d23ae678ef85c298906
+include/unicode/ucnvsel.h: 6e4c5e31c2a89439ef4945cd4a402ef3
+include/unicode/ucol.h: 47c1acc6c2bde098f0b06c8590d68b9f
+include/unicode/ucoleitr.h: b4576706530850666c1cfd2424276b26
+include/unicode/uconfig.h: 80678a12de446cdf8679cdd5792a12e9
+include/unicode/ucpmap.h: 0b16934410c99981d87ddd10e1759bed
+include/unicode/ucptrie.h: 7450de71dd5e1a83f5290da33d48d40d
+include/unicode/ucsdet.h: c7d5b3d36da0c71b0a85a72642439a90
+include/unicode/ucurr.h: 5de7a80ece54cf7583e19f292ad17825
+include/unicode/udat.h: c665d53e4691b564ae5394957fcdcf31
+include/unicode/udata.h: 98e2327300a26bbaf40bd8eb7eee8c1a
+include/unicode/udateintervalformat.h: 178f650518ecceeb2eca7b763dd68799
+include/unicode/udatpg.h: ce0332b911d1a820a0b45922bd0e97fc
+include/unicode/udisplaycontext.h: 57a269787da52ad6720ff5b1e87b5cdd
+include/unicode/uenum.h: 41cce54d4862d5068f4f087b935c0657
+include/unicode/ufieldpositer.h: 21f8ba8e285bfea4daa3da8a01911b7e
+include/unicode/uformattable.h: cad38a97f9f929ebc28d5e72dc5ec14f
+include/unicode/uformattedvalue.h: e1e69e0927595423076481b8f948fd2a
+include/unicode/ugender.h: d64c9ad1d5cf04136534e3aca38d2638
+include/unicode/uidna.h: 88ee381ec6ec01cb677f3e5222e9cf22
+include/unicode/uiter.h: 3fea96177f4f814091918f54d1e68ccd
+include/unicode/uldnames.h: d18634bc73c16b9ae02b6a60fd94d8be
+include/unicode/ulistformatter.h: 21277400caea3c7e7fdb57457c10e423
+include/unicode/uloc.h: 39d42620d3a97a7ae26d7b560ea3eacc
+include/unicode/ulocdata.h: 116fad6a2c0db0d08e3f5ae02d93a035
+include/unicode/umachine.h: 0a7fe7df81aedd43f322a9ec540feff5
+include/unicode/umisc.h: eca71d8c8bf86529ae5bbc5f34598bea
+include/unicode/umsg.h: 298645d31f8d8e209cbb5eb3751e3ceb
+include/unicode/umutablecptrie.h: 5dc81c63a8b2c80ffd401c9bb5180e61
+include/unicode/unifilt.h: e170c06bf1bf81a56c7ed605d41fa02f
+include/unicode/unifunct.h: 23981a5088ba5d5af70309b73eef7666
+include/unicode/unimatch.h: 66161ce491e3b24e9e011cfc0e78be42
+include/unicode/unirepl.h: 462716fd44618949b405645ba7b5c8e6
+include/unicode/uniset.h: cb94f902233b2e1807156afe0967e3e0
+include/unicode/unistr.h: 5ebe061e4a17e981bb249c4814f4dd9d
+include/unicode/unorm.h: ca96f37ed2e2afd56585a238d73cea51
+include/unicode/unorm2.h: e8fff4023ad114b325f346d2cdbbe043
+include/unicode/unum.h: 656d2aa9a41ca4b7bfad0a09420bdc23
+include/unicode/unumberformatter.h: 9be73b6bb76bb5862a8dfd615e563b82
+include/unicode/unumsys.h: 7e5dd76a0e07f790c30c944bfb810e71
+include/unicode/uobject.h: b56a28b01e3df9088315aeb145ec3a8e
+include/unicode/upluralrules.h: 15feae7c7df35b97d5e715f28f616e63
+include/unicode/uregex.h: 10fe8b8c9f98758bf192bc765fa45e3c
+include/unicode/uregion.h: a3f28f15972bf18600012815a8c76535
+include/unicode/ureldatefmt.h: d528589ebdc3f8cb6c27ce4867752c55
+include/unicode/urename.h: 1642d190b583bbaaf454ac65a37a8024
+include/unicode/urep.h: 6ada98ac1aa68081f10d17b1abadef6e
+include/unicode/ures.h: 8c69586a969eb2898d5d3e8c08beda9c
+include/unicode/uscript.h: 5bf2d96240b17507a05ebe4d36b1a38e
+include/unicode/usearch.h: 1f3fcea9dc6c40e908992e74f602235f
+include/unicode/uset.h: a285e1b480a3abaaee753ba74d245efd
+include/unicode/usetiter.h: ab1ebd4b0b9e3560a94a7c6cb3a9e48f
+include/unicode/ushape.h: 86fdf709d4312bb17cf95b16f58e1dc4
+include/unicode/uspoof.h: 8b9508cbe045b114f0f618d04fcab512
+include/unicode/usprep.h: e88585ae8bdb3a35aa88417993bde732
+include/unicode/ustdio.h: 3104e526d3de60538f42c0fd5430adcb
+include/unicode/ustream.h: 0a74df2b9d1967d0b859d21f5828f4e8
+include/unicode/ustring.h: 92f522f8ef62e443c11baa56c32e42e4
+include/unicode/ustringtrie.h: 54a28aa9c4e117cd3ebfd0a670324f6c
+include/unicode/utext.h: 89a08f750d0c5751d4f385c4874c0e61
+include/unicode/utf.h: 4434eeb75c89a49228884aa247714e1c
+include/unicode/utf16.h: 147fbb88d8300af3e38d80ce59c1c1ce
+include/unicode/utf32.h: a1fdf74f4bd8808f9fb17df371f886d9
+include/unicode/utf8.h: 7f0c4c02bd7506e80fd11a4597cc1450
+include/unicode/utf_old.h: 92ffc297b71c8d83ed05b644183c477c
+include/unicode/utmscale.h: 7c59d91f835bc9f4b805dd64e73851d7
+include/unicode/utrace.h: 420d2f8d462ae300ca1903c2a6ebaba3
+include/unicode/utrans.h: 5cd9b1f130197e5fdd8a66519233abf5
+include/unicode/utypes.h: 47eb8ff3f909dafa9bee14f8bb224342
+include/unicode/uvernum.h: a91a8e07c665891ed234de3a58302663
+include/unicode/uversion.h: 0b8f75f3d1c816ee3359dde5be390d17
+include/unicode/vtzone.h: 615f12cb0d05441d0872aa677db80a90
+lib/icu/65.1/Makefile.inc: a010e16166fd57feaffe08a65d0ae173
+lib/icu/65.1/pkgdata.inc: 9e0c896d9c5269625cebf6cbe09cbd1c
+lib/icu/Makefile.inc: a010e16166fd57feaffe08a65d0ae173
+lib/icu/current/Makefile.inc: a010e16166fd57feaffe08a65d0ae173
+lib/icu/current/pkgdata.inc: 9e0c896d9c5269625cebf6cbe09cbd1c
+lib/icu/pkgdata.inc: 9e0c896d9c5269625cebf6cbe09cbd1c
+lib/icudt.lib: ad50da716c0eb6bcdc66a7af5d049876
+lib/icuin.lib: d8b960575d5737a7e80a0eaf77a0ccd3
+lib/icuio.lib: 5edd899a7b0a07ef963258ee9adb4558
+lib/icutest.lib: 192e87c4ce05c5eda7a2697127b133b3
+lib/icutu.lib: 30f71a2ff5da26365e87511eff019264
+lib/icuuc.lib: b2df448006c67b3ba595ec3096a58286
+lib/pkgconfig/icu-i18n.pc: 6edbc25754da101395bb827058b3066e
+lib/pkgconfig/icu-io.pc: 3354070d7484f6e3ef09f18e28290679
+lib/pkgconfig/icu-uc.pc: 2c56fbbb59cde31869da0e5b0224c770
+licenses/LICENSE: 8bc5d32052a96f214cbdd1e53dfc935d
+share/icu/65.1/LICENSE: 8bc5d32052a96f214cbdd1e53dfc935d
+share/icu/65.1/config/mh-msys-msvc: c3bf313c25288142820e4ab191c1c153
+share/icu/65.1/install-sh: 5afe8eb5573965dfb58378e4e46f3813
+share/icu/65.1/mkinstalldirs: 31c4856b24c8dbc6319819ccd43b4fda
+share/man/man1/derb.1: bddb017162105939f6d43c9539c99497
+share/man/man1/genbrk.1: a4e60e4a60ab26eb29119649bfb60d2b
+share/man/man1/gencfu.1: 4950b8178b944a3ebfea1c419ffd3319
+share/man/man1/gencnval.1: 53b10d9351473a7ea603400973377a7d
+share/man/man1/gendict.1: 9c1bf2760e5735b0e6601f48e92cb0d9
+share/man/man1/genrb.1: ffebc1e8007bd58f5623299e6b4babe8
+share/man/man1/icu-config.1: f4670ca16d77ce21310e48aa91f7ee5b
+share/man/man1/makeconv.1: c96397ad56d2c21649757c407aac46d8
+share/man/man1/pkgdata.1: 5f7b05c28de887cca1e5d7bfb9db4c39
+share/man/man8/genccode.8: 498418dc0aec1fa7ccfb83c491b5a23e
+share/man/man8/gencmn.8: c43635e431ea0f1616ea8266e36c0d75
+share/man/man8/gensprep.8: 396d70fec1a04aae25e6bfc6e8e58c65
+share/man/man8/icupkg.8: 430bcbed42faa9ea33b161a48c0490c6
diff --git a/coin/provisioning/common/windows/conan_manifests/icu/65.1/qtproject/stable/package/a4f43a91306db32ecaa845a88306f02b0613c925/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/icu/65.1/qtproject/stable/package/a4f43a91306db32ecaa845a88306f02b0613c925/conanmanifest.txt
new file mode 100644
index 00000000..4ea10475
--- /dev/null
+++ b/coin/provisioning/common/windows/conan_manifests/icu/65.1/qtproject/stable/package/a4f43a91306db32ecaa845a88306f02b0613c925/conanmanifest.txt
@@ -0,0 +1,250 @@
+1582254638
+bin/derb.exe: 9402347ec08d3affb5242e8915a1ae2e
+bin/escapesrc.exe: c68c5776435122d3cccb5c24bf558b15
+bin/genbrk.exe: 2fd2ad29c07b47ff04641ee563a02b52
+bin/genccode.exe: efa9d408230e4b1250d824fa9c217719
+bin/gencfu.exe: 5eaa7fd2dc326ccceead7ba393644f10
+bin/gencmn.exe: 534d11f13f1755fadc9afc46585883c8
+bin/gencnval.exe: 1a9f6b25b9913c581d930d42210ccd21
+bin/gendict.exe: a167352835a738970bd7c68cd1cd49dc
+bin/gennorm2.exe: 36154154f98af8bca4b0a123568cea63
+bin/genrb.exe: d773b260dc0e94e675deb9748c2da8dd
+bin/gensprep.exe: ff9455f54337bf6047c7db80ef728760
+bin/icu-config: 20abf6675f8bfb3fcf46f32fdf353b49
+bin/icudt.dll: 2f7b7b206e1f684599b45ba6edbfcb3d
+bin/icudt65.dll: b6f90422cf02717f781e15336af5ceca
+bin/icuin.dll: 1165d3bc96a47083286650f456020d75
+bin/icuin65.dll: 1165d3bc96a47083286650f456020d75
+bin/icuinfo.exe: 02b6d79b31b5c3e788382c6e1febd395
+bin/icuio.dll: 759fa58886a257da4b96472cf218e423
+bin/icuio65.dll: 759fa58886a257da4b96472cf218e423
+bin/icupkg.exe: 0c49dd3b01e6f4724804d200ab2c3a64
+bin/icutest.dll: e1756d2040f2582fd4fd0605597a3316
+bin/icutest65.dll: e1756d2040f2582fd4fd0605597a3316
+bin/icutu.dll: 594534d86f04ca685ff86de412823e62
+bin/icutu65.dll: 594534d86f04ca685ff86de412823e62
+bin/icuuc.dll: 180e21cdf903b9a464fb065be16ca58c
+bin/icuuc65.dll: 180e21cdf903b9a464fb065be16ca58c
+bin/makeconv.exe: fd402c849b984d94b93385a0e2398579
+bin/pkgdata.exe: ea595b2862f0cfc2235351ffdd210a9f
+conaninfo.txt: 80581cd5963be4a5afe5e9391769826f
+include/unicode/alphaindex.h: 1be039746e3da3f7baa9421062373468
+include/unicode/appendable.h: 48b3a0a4c3044ad5f2af18f1ab48c8ff
+include/unicode/basictz.h: 57fe3c53d6b1a2bf5d1f40ec51efd7a1
+include/unicode/brkiter.h: e5ff475b7b01a97e5cd11a5362785921
+include/unicode/bytestream.h: 34a6807cd42f2e64ca60429897eb4b10
+include/unicode/bytestrie.h: d9be048d5c7e9dd0a2c6cd82e91e6002
+include/unicode/bytestriebuilder.h: 66236ad8247bd04c9ea525012b4c4ca8
+include/unicode/calendar.h: 692005b416fc2e4a8c497ff9b9a31bd8
+include/unicode/caniter.h: a70809c92ea90b654e9f11a793f84429
+include/unicode/casemap.h: d088e7422633b4cad3ad2b0b83ca239b
+include/unicode/char16ptr.h: c234b9ba14299c6068f5af1a936c1ead
+include/unicode/chariter.h: c8623016adba39ab38ef29f38ec87e45
+include/unicode/choicfmt.h: 832e7b39d19ec192ac1551360436f946
+include/unicode/coleitr.h: d9f07937d600ee811c121c0b0504724c
+include/unicode/coll.h: a2062360d7415e08abb01c44088f074e
+include/unicode/compactdecimalformat.h: 029f9640501bd640495c18397b5ff8bb
+include/unicode/curramt.h: 41fc0e62956b2e0fa7fd5e05213afc85
+include/unicode/currpinf.h: 09cbc4d9eb04b2aa2c4c155961f13c89
+include/unicode/currunit.h: 43648726f439d03c8c8a13b87c122332
+include/unicode/datefmt.h: 28ef92e98cdac29630b0aa0daf122798
+include/unicode/dbbi.h: 3d4186ec9549d6693d136257f610ec06
+include/unicode/dcfmtsym.h: b18b90c0c6371eab5028582492859142
+include/unicode/decimfmt.h: fb4231ddf75de524300ee952634ef038
+include/unicode/docmain.h: 697c221351932e373cf9e5903f40b723
+include/unicode/dtfmtsym.h: cabbccbf9deec91ebf291a19110007fb
+include/unicode/dtintrv.h: 7a7ce170e6035b90ef5b4bee91893833
+include/unicode/dtitvfmt.h: da220b13a8f895c4e77b653d865eb049
+include/unicode/dtitvinf.h: 1ad6b7f844a9362b2b7a0f509284cae7
+include/unicode/dtptngen.h: 8f8fcb053b5024c5b1d3dfc258f59344
+include/unicode/dtrule.h: 68551564f8ab72271d3574aa0cba381d
+include/unicode/edits.h: 6b8aa73dbf2c2f0b49da5bc5903bcc8c
+include/unicode/enumset.h: 3bb75fc43c88682895ae98c02e69810d
+include/unicode/errorcode.h: debeda4467a19aaf964fafc73629c8ae
+include/unicode/fieldpos.h: 3b041c7d9a5df0aef744b88e764af17e
+include/unicode/filteredbrk.h: e54dd29247eb75f8490423f7f8541691
+include/unicode/fmtable.h: 3816f155db2c35ac5de3f80ffdaa549c
+include/unicode/format.h: 0417863e1b303fa282659c4903e3a11c
+include/unicode/formattedvalue.h: fc50c8972404b212799d76cf8e647888
+include/unicode/fpositer.h: b5e8bbc249dc37e3b159f0a2b5053957
+include/unicode/gender.h: 5e093c1cfb96ef671f2e5dedb96a0d64
+include/unicode/gregocal.h: 15c7b4ceaca9b8b8f8e747d5427aa7a7
+include/unicode/icudataver.h: d1c480a9eb95aaa058a6b9311074bc33
+include/unicode/icuplug.h: 60ad27a2a36284bbc1766f9920769175
+include/unicode/idna.h: a7c3650d5311edeb01f754c574d0fb8b
+include/unicode/listformatter.h: 65911d72679c6e0a267e951b03467f37
+include/unicode/localebuilder.h: 1b6106448cf6cde7e7ebf25ee6fe4065
+include/unicode/localematcher.h: 3a03cbb5970a14fe153041c878f583f2
+include/unicode/localpointer.h: a89505f84a4bb4e231a17676f1b1d51a
+include/unicode/locdspnm.h: aa260a00e31e970757e3b3cbe00fff3d
+include/unicode/locid.h: 6caa36f85c9bab54b78ecd0c056789aa
+include/unicode/measfmt.h: 21b534367e4b3825dc70c3a289822df8
+include/unicode/measunit.h: 0f903f67958ad91e8bd2e49fc40c3075
+include/unicode/measure.h: 49091c823a2f12f5f60f7fecd7c452f2
+include/unicode/messagepattern.h: 15ecc58806c256ac91c2549d4f5c242f
+include/unicode/msgfmt.h: f9ff9322fa80486203829c15d4982573
+include/unicode/normalizer2.h: 436d923df3a66774b7bf26ffe75a5d1c
+include/unicode/normlzr.h: 5bf33ff933ee7eb49c330df38f490f57
+include/unicode/nounit.h: 2b4901f562077b370d82c4bbe229aac4
+include/unicode/numberformatter.h: 0f62c292f92d5598a61647bbf4294e1a
+include/unicode/numberrangeformatter.h: 58623918bf66f1fd6687f3dd03180a4b
+include/unicode/numfmt.h: 2a21117116463390ec4f19d53f485890
+include/unicode/numsys.h: 186ba43c003b4f56af3c63abd08f418e
+include/unicode/parseerr.h: ce38831411af01eeaf0bbbb6e1cb0153
+include/unicode/parsepos.h: 5c53fa7c473d4593fd72ce964b505807
+include/unicode/platform.h: 56fe53b31059acb1be086c45ce88e8c6
+include/unicode/plurfmt.h: 6f1b781b7a62a6ac1c7e4c6a2bb18d77
+include/unicode/plurrule.h: cf4b0b9ec1a525b96e7d27e489044337
+include/unicode/ptypes.h: d74097874c82f77331d8e06a5c59d37f
+include/unicode/putil.h: ee1c69d5060b8d5754bf8879bb7f10d1
+include/unicode/rbbi.h: 6c5f44ef812dfb48b65466732513c091
+include/unicode/rbnf.h: e870f2cf64c9b72eb549c413d6f98299
+include/unicode/rbtz.h: ea9f5a1edac3fe535ec7b83636daf61d
+include/unicode/regex.h: 16565e3d41228a76f17a63842d9594d2
+include/unicode/region.h: 22585a516ee7525f3e9094f2843b7640
+include/unicode/reldatefmt.h: 1b226903d9375471432582c27ade4934
+include/unicode/rep.h: eab550a9bbb33b4c1283ab16bc2dfafa
+include/unicode/resbund.h: cc93ada0e9871eee0a86f81548a3be73
+include/unicode/schriter.h: acea2a510e5c9127dad0e2538cf65ccd
+include/unicode/scientificnumberformatter.h: 40eb759fc2902b6c8e732b440fe6a1bc
+include/unicode/search.h: a93ebdadfc5113f1b9c9c185262ef461
+include/unicode/selfmt.h: 581ab6f6ac584265d5c56dad4051ee12
+include/unicode/simpleformatter.h: 8e5e9a9589359e06110af10bcf941d54
+include/unicode/simpletz.h: 194e0d388b74daa4cf51d012e2d14ebd
+include/unicode/smpdtfmt.h: 0e6383eafd569b511791e826b51df8d1
+include/unicode/sortkey.h: 27f3d671f37c27d0b36953d00c1f2e7b
+include/unicode/std_string.h: bb3b2e28a2ae9b66a60b7d90f8c07512
+include/unicode/strenum.h: 3c23eb4fa4d847b6afdd18adf3ccdaf5
+include/unicode/stringoptions.h: d4929224e8d9df2f272f0305780cbacb
+include/unicode/stringpiece.h: 3d7911a3b2a59830eaceb37e46110285
+include/unicode/stringtriebuilder.h: 08ce10a0f6e85f4bb078f69d5382f8bc
+include/unicode/stsearch.h: b15838a5cf5740b0aaa9af5356aef26b
+include/unicode/symtable.h: 7487ffc7069316553d08f1109965bf9d
+include/unicode/tblcoll.h: ee27157293d0802cde26d75c6098c1d3
+include/unicode/timezone.h: 54689b5ef15d0f03a146e8aeac163be8
+include/unicode/tmunit.h: 9ddf31866353dde1ae249ed93fce9234
+include/unicode/tmutamt.h: beea411e9f16d8b91fef39a297cd06d8
+include/unicode/tmutfmt.h: ae13f8ac46ad754bf83142943b19a647
+include/unicode/translit.h: f225620498133e8e4bcc2ad6679225e5
+include/unicode/tzfmt.h: b6c94cd901ffe5387f0245ca9fd68604
+include/unicode/tznames.h: a50010925037c01304c719e47bfb369a
+include/unicode/tzrule.h: 0e3465c0eeb27a0545f94bf9f5cfc21e
+include/unicode/tztrans.h: 117392a0dc2fe373946aecfa74475842
+include/unicode/ubidi.h: d90a13a2933198f134efefc0ff7563e6
+include/unicode/ubiditransform.h: fab65809ece8816f1a002eb843b80e29
+include/unicode/ubrk.h: e85002afa629b85ba239135ab11f47f0
+include/unicode/ucal.h: d247badde5d39cc16e06d26153054c85
+include/unicode/ucasemap.h: 2f240e1dc6db1771e843f1a03fd0c8f4
+include/unicode/ucat.h: f412352b86adccba85d7f3e4b4515064
+include/unicode/uchar.h: ebac2b0b753a1cd10db2f428736bf06d
+include/unicode/ucharstrie.h: 16d3d38154f1444b8a3425254ab7ab81
+include/unicode/ucharstriebuilder.h: b92f18132f6c1d61da0ad51b8099435d
+include/unicode/uchriter.h: a356cb90d62d9e425e5efbb071c30b21
+include/unicode/uclean.h: ef4b9289f510edd0bb6b779d0a299f44
+include/unicode/ucnv.h: db701a7a83540ef4dcfc4e780f1da016
+include/unicode/ucnv_cb.h: 69c1c5b156028cd623ed7e5b5b4ab730
+include/unicode/ucnv_err.h: 6ef0751460140d23ae678ef85c298906
+include/unicode/ucnvsel.h: 6e4c5e31c2a89439ef4945cd4a402ef3
+include/unicode/ucol.h: 47c1acc6c2bde098f0b06c8590d68b9f
+include/unicode/ucoleitr.h: b4576706530850666c1cfd2424276b26
+include/unicode/uconfig.h: 80678a12de446cdf8679cdd5792a12e9
+include/unicode/ucpmap.h: 0b16934410c99981d87ddd10e1759bed
+include/unicode/ucptrie.h: 7450de71dd5e1a83f5290da33d48d40d
+include/unicode/ucsdet.h: c7d5b3d36da0c71b0a85a72642439a90
+include/unicode/ucurr.h: 5de7a80ece54cf7583e19f292ad17825
+include/unicode/udat.h: c665d53e4691b564ae5394957fcdcf31
+include/unicode/udata.h: 98e2327300a26bbaf40bd8eb7eee8c1a
+include/unicode/udateintervalformat.h: 178f650518ecceeb2eca7b763dd68799
+include/unicode/udatpg.h: ce0332b911d1a820a0b45922bd0e97fc
+include/unicode/udisplaycontext.h: 57a269787da52ad6720ff5b1e87b5cdd
+include/unicode/uenum.h: 41cce54d4862d5068f4f087b935c0657
+include/unicode/ufieldpositer.h: 21f8ba8e285bfea4daa3da8a01911b7e
+include/unicode/uformattable.h: cad38a97f9f929ebc28d5e72dc5ec14f
+include/unicode/uformattedvalue.h: e1e69e0927595423076481b8f948fd2a
+include/unicode/ugender.h: d64c9ad1d5cf04136534e3aca38d2638
+include/unicode/uidna.h: 88ee381ec6ec01cb677f3e5222e9cf22
+include/unicode/uiter.h: 3fea96177f4f814091918f54d1e68ccd
+include/unicode/uldnames.h: d18634bc73c16b9ae02b6a60fd94d8be
+include/unicode/ulistformatter.h: 21277400caea3c7e7fdb57457c10e423
+include/unicode/uloc.h: 39d42620d3a97a7ae26d7b560ea3eacc
+include/unicode/ulocdata.h: 116fad6a2c0db0d08e3f5ae02d93a035
+include/unicode/umachine.h: 0a7fe7df81aedd43f322a9ec540feff5
+include/unicode/umisc.h: eca71d8c8bf86529ae5bbc5f34598bea
+include/unicode/umsg.h: 298645d31f8d8e209cbb5eb3751e3ceb
+include/unicode/umutablecptrie.h: 5dc81c63a8b2c80ffd401c9bb5180e61
+include/unicode/unifilt.h: e170c06bf1bf81a56c7ed605d41fa02f
+include/unicode/unifunct.h: 23981a5088ba5d5af70309b73eef7666
+include/unicode/unimatch.h: 66161ce491e3b24e9e011cfc0e78be42
+include/unicode/unirepl.h: 462716fd44618949b405645ba7b5c8e6
+include/unicode/uniset.h: cb94f902233b2e1807156afe0967e3e0
+include/unicode/unistr.h: 5ebe061e4a17e981bb249c4814f4dd9d
+include/unicode/unorm.h: ca96f37ed2e2afd56585a238d73cea51
+include/unicode/unorm2.h: e8fff4023ad114b325f346d2cdbbe043
+include/unicode/unum.h: 656d2aa9a41ca4b7bfad0a09420bdc23
+include/unicode/unumberformatter.h: 9be73b6bb76bb5862a8dfd615e563b82
+include/unicode/unumsys.h: 7e5dd76a0e07f790c30c944bfb810e71
+include/unicode/uobject.h: b56a28b01e3df9088315aeb145ec3a8e
+include/unicode/upluralrules.h: 15feae7c7df35b97d5e715f28f616e63
+include/unicode/uregex.h: 10fe8b8c9f98758bf192bc765fa45e3c
+include/unicode/uregion.h: a3f28f15972bf18600012815a8c76535
+include/unicode/ureldatefmt.h: d528589ebdc3f8cb6c27ce4867752c55
+include/unicode/urename.h: 1642d190b583bbaaf454ac65a37a8024
+include/unicode/urep.h: 6ada98ac1aa68081f10d17b1abadef6e
+include/unicode/ures.h: 8c69586a969eb2898d5d3e8c08beda9c
+include/unicode/uscript.h: 5bf2d96240b17507a05ebe4d36b1a38e
+include/unicode/usearch.h: 1f3fcea9dc6c40e908992e74f602235f
+include/unicode/uset.h: a285e1b480a3abaaee753ba74d245efd
+include/unicode/usetiter.h: ab1ebd4b0b9e3560a94a7c6cb3a9e48f
+include/unicode/ushape.h: 86fdf709d4312bb17cf95b16f58e1dc4
+include/unicode/uspoof.h: 8b9508cbe045b114f0f618d04fcab512
+include/unicode/usprep.h: e88585ae8bdb3a35aa88417993bde732
+include/unicode/ustdio.h: 3104e526d3de60538f42c0fd5430adcb
+include/unicode/ustream.h: 0a74df2b9d1967d0b859d21f5828f4e8
+include/unicode/ustring.h: 92f522f8ef62e443c11baa56c32e42e4
+include/unicode/ustringtrie.h: 54a28aa9c4e117cd3ebfd0a670324f6c
+include/unicode/utext.h: 89a08f750d0c5751d4f385c4874c0e61
+include/unicode/utf.h: 4434eeb75c89a49228884aa247714e1c
+include/unicode/utf16.h: 147fbb88d8300af3e38d80ce59c1c1ce
+include/unicode/utf32.h: a1fdf74f4bd8808f9fb17df371f886d9
+include/unicode/utf8.h: 7f0c4c02bd7506e80fd11a4597cc1450
+include/unicode/utf_old.h: 92ffc297b71c8d83ed05b644183c477c
+include/unicode/utmscale.h: 7c59d91f835bc9f4b805dd64e73851d7
+include/unicode/utrace.h: 420d2f8d462ae300ca1903c2a6ebaba3
+include/unicode/utrans.h: 5cd9b1f130197e5fdd8a66519233abf5
+include/unicode/utypes.h: 47eb8ff3f909dafa9bee14f8bb224342
+include/unicode/uvernum.h: a91a8e07c665891ed234de3a58302663
+include/unicode/uversion.h: 0b8f75f3d1c816ee3359dde5be390d17
+include/unicode/vtzone.h: 615f12cb0d05441d0872aa677db80a90
+lib/icu/65.1/Makefile.inc: f5e2f0c3dcc648ded863f43b364ea27a
+lib/icu/65.1/pkgdata.inc: 8dcd0dcd7fe6f9e2f8a7173e323610bf
+lib/icu/Makefile.inc: f5e2f0c3dcc648ded863f43b364ea27a
+lib/icu/current/Makefile.inc: f5e2f0c3dcc648ded863f43b364ea27a
+lib/icu/current/pkgdata.inc: 8dcd0dcd7fe6f9e2f8a7173e323610bf
+lib/icu/pkgdata.inc: 8dcd0dcd7fe6f9e2f8a7173e323610bf
+lib/icudt.lib: b4b3f945f56190323606765375a12549
+lib/icuin.lib: 1a90372fa68aabf20fab0562c2a335b3
+lib/icuio.lib: 036e79a2d77e6c0e5fbce8a585e8957a
+lib/icutest.lib: b28da84f52b38cf4370fdf8376a429df
+lib/icutu.lib: 79d057da17aaedf154c1a04fe6f0531b
+lib/icuuc.lib: 435c68c385ef5ca438209da9c5cc9f50
+lib/pkgconfig/icu-i18n.pc: b9363636432515be407b7064af279fb8
+lib/pkgconfig/icu-io.pc: 6a4dd6c7fda1fe6a3616e11589188ebd
+lib/pkgconfig/icu-uc.pc: 13407d5da8b659cf80911084593ec3fc
+licenses/LICENSE: 8bc5d32052a96f214cbdd1e53dfc935d
+share/icu/65.1/LICENSE: 8bc5d32052a96f214cbdd1e53dfc935d
+share/icu/65.1/config/mh-msys-msvc: c3bf313c25288142820e4ab191c1c153
+share/icu/65.1/install-sh: 5afe8eb5573965dfb58378e4e46f3813
+share/icu/65.1/mkinstalldirs: 31c4856b24c8dbc6319819ccd43b4fda
+share/man/man1/derb.1: bddb017162105939f6d43c9539c99497
+share/man/man1/genbrk.1: a4e60e4a60ab26eb29119649bfb60d2b
+share/man/man1/gencfu.1: 4950b8178b944a3ebfea1c419ffd3319
+share/man/man1/gencnval.1: 53b10d9351473a7ea603400973377a7d
+share/man/man1/gendict.1: 9c1bf2760e5735b0e6601f48e92cb0d9
+share/man/man1/genrb.1: ffebc1e8007bd58f5623299e6b4babe8
+share/man/man1/icu-config.1: f4670ca16d77ce21310e48aa91f7ee5b
+share/man/man1/makeconv.1: c96397ad56d2c21649757c407aac46d8
+share/man/man1/pkgdata.1: 5f7b05c28de887cca1e5d7bfb9db4c39
+share/man/man8/genccode.8: 498418dc0aec1fa7ccfb83c491b5a23e
+share/man/man8/gencmn.8: c43635e431ea0f1616ea8266e36c0d75
+share/man/man8/gensprep.8: 396d70fec1a04aae25e6bfc6e8e58c65
+share/man/man8/icupkg.8: 430bcbed42faa9ea33b161a48c0490c6
diff --git a/coin/provisioning/common/windows/conan_manifests/icu/65.1/qtproject/stable/package/ab841b0a4eaa947ac9d6b85f19b13aaf18c6911d/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/icu/65.1/qtproject/stable/package/ab841b0a4eaa947ac9d6b85f19b13aaf18c6911d/conanmanifest.txt
new file mode 100644
index 00000000..6e95c971
--- /dev/null
+++ b/coin/provisioning/common/windows/conan_manifests/icu/65.1/qtproject/stable/package/ab841b0a4eaa947ac9d6b85f19b13aaf18c6911d/conanmanifest.txt
@@ -0,0 +1,250 @@
+1582253186
+bin/derb.exe: dc98a0009eadb08cd1e6002964198454
+bin/escapesrc.exe: 6e94b0c7aa0884187e4c3750b119f7b3
+bin/genbrk.exe: 07f4a7f6dc3400f977ae298553fd5234
+bin/genccode.exe: 0a0fe1f107a4443b40b4a4614f4ae1c5
+bin/gencfu.exe: 61909d0b2b7b802513d9d6f4b0bec9b6
+bin/gencmn.exe: f21ce5db620484dd132d4d43c88a3a1a
+bin/gencnval.exe: ecd28d9d9384a8f93dc6956ac9386967
+bin/gendict.exe: da73417895777f8f314106af04d14478
+bin/gennorm2.exe: 737c98d900b446b7c7a3f0d802273ecc
+bin/genrb.exe: d5e70d201a86f904d5fe6dd98f6dd4d3
+bin/gensprep.exe: fab610f7267b97229254954991adcd78
+bin/icu-config: a24fba93a7f18735cf8eeee4a0be99f4
+bin/icudt.dll: 69aea2912de9c26484fec080f34e1406
+bin/icudt65.dll: da4eb3daf433eff2ec340664cfd37a78
+bin/icuin.dll: e85762e3d63c0de21cda507d45e0ce4e
+bin/icuin65.dll: e85762e3d63c0de21cda507d45e0ce4e
+bin/icuinfo.exe: e02b72dcc1f6ab466105aef3b7116a5d
+bin/icuio.dll: 124ddaae2c6cf1c4444fefee8d457b8b
+bin/icuio65.dll: 124ddaae2c6cf1c4444fefee8d457b8b
+bin/icupkg.exe: 01fc079734715bf5345a9f261c0be05c
+bin/icutest.dll: 17696a3fec53c09745628f631cf4e043
+bin/icutest65.dll: 17696a3fec53c09745628f631cf4e043
+bin/icutu.dll: 5fabe2af7abe728f73ad2ce12a618054
+bin/icutu65.dll: 5fabe2af7abe728f73ad2ce12a618054
+bin/icuuc.dll: bb6108cfb8cdb841acca9d6503da5a92
+bin/icuuc65.dll: bb6108cfb8cdb841acca9d6503da5a92
+bin/makeconv.exe: fa4edcd9da14864b23a09649ade53c3e
+bin/pkgdata.exe: 49f58bf6e1831ac2d56cf9b9bf258299
+conaninfo.txt: 77218f3231990ed4f6e6c63c73a70354
+include/unicode/alphaindex.h: 1be039746e3da3f7baa9421062373468
+include/unicode/appendable.h: 48b3a0a4c3044ad5f2af18f1ab48c8ff
+include/unicode/basictz.h: 57fe3c53d6b1a2bf5d1f40ec51efd7a1
+include/unicode/brkiter.h: e5ff475b7b01a97e5cd11a5362785921
+include/unicode/bytestream.h: 34a6807cd42f2e64ca60429897eb4b10
+include/unicode/bytestrie.h: d9be048d5c7e9dd0a2c6cd82e91e6002
+include/unicode/bytestriebuilder.h: 66236ad8247bd04c9ea525012b4c4ca8
+include/unicode/calendar.h: 692005b416fc2e4a8c497ff9b9a31bd8
+include/unicode/caniter.h: a70809c92ea90b654e9f11a793f84429
+include/unicode/casemap.h: d088e7422633b4cad3ad2b0b83ca239b
+include/unicode/char16ptr.h: c234b9ba14299c6068f5af1a936c1ead
+include/unicode/chariter.h: c8623016adba39ab38ef29f38ec87e45
+include/unicode/choicfmt.h: 832e7b39d19ec192ac1551360436f946
+include/unicode/coleitr.h: d9f07937d600ee811c121c0b0504724c
+include/unicode/coll.h: a2062360d7415e08abb01c44088f074e
+include/unicode/compactdecimalformat.h: 029f9640501bd640495c18397b5ff8bb
+include/unicode/curramt.h: 41fc0e62956b2e0fa7fd5e05213afc85
+include/unicode/currpinf.h: 09cbc4d9eb04b2aa2c4c155961f13c89
+include/unicode/currunit.h: 43648726f439d03c8c8a13b87c122332
+include/unicode/datefmt.h: 28ef92e98cdac29630b0aa0daf122798
+include/unicode/dbbi.h: 3d4186ec9549d6693d136257f610ec06
+include/unicode/dcfmtsym.h: b18b90c0c6371eab5028582492859142
+include/unicode/decimfmt.h: fb4231ddf75de524300ee952634ef038
+include/unicode/docmain.h: 697c221351932e373cf9e5903f40b723
+include/unicode/dtfmtsym.h: cabbccbf9deec91ebf291a19110007fb
+include/unicode/dtintrv.h: 7a7ce170e6035b90ef5b4bee91893833
+include/unicode/dtitvfmt.h: da220b13a8f895c4e77b653d865eb049
+include/unicode/dtitvinf.h: 1ad6b7f844a9362b2b7a0f509284cae7
+include/unicode/dtptngen.h: 8f8fcb053b5024c5b1d3dfc258f59344
+include/unicode/dtrule.h: 68551564f8ab72271d3574aa0cba381d
+include/unicode/edits.h: 6b8aa73dbf2c2f0b49da5bc5903bcc8c
+include/unicode/enumset.h: 3bb75fc43c88682895ae98c02e69810d
+include/unicode/errorcode.h: debeda4467a19aaf964fafc73629c8ae
+include/unicode/fieldpos.h: 3b041c7d9a5df0aef744b88e764af17e
+include/unicode/filteredbrk.h: e54dd29247eb75f8490423f7f8541691
+include/unicode/fmtable.h: 3816f155db2c35ac5de3f80ffdaa549c
+include/unicode/format.h: 0417863e1b303fa282659c4903e3a11c
+include/unicode/formattedvalue.h: fc50c8972404b212799d76cf8e647888
+include/unicode/fpositer.h: b5e8bbc249dc37e3b159f0a2b5053957
+include/unicode/gender.h: 5e093c1cfb96ef671f2e5dedb96a0d64
+include/unicode/gregocal.h: 15c7b4ceaca9b8b8f8e747d5427aa7a7
+include/unicode/icudataver.h: d1c480a9eb95aaa058a6b9311074bc33
+include/unicode/icuplug.h: 60ad27a2a36284bbc1766f9920769175
+include/unicode/idna.h: a7c3650d5311edeb01f754c574d0fb8b
+include/unicode/listformatter.h: 65911d72679c6e0a267e951b03467f37
+include/unicode/localebuilder.h: 1b6106448cf6cde7e7ebf25ee6fe4065
+include/unicode/localematcher.h: 3a03cbb5970a14fe153041c878f583f2
+include/unicode/localpointer.h: a89505f84a4bb4e231a17676f1b1d51a
+include/unicode/locdspnm.h: aa260a00e31e970757e3b3cbe00fff3d
+include/unicode/locid.h: 6caa36f85c9bab54b78ecd0c056789aa
+include/unicode/measfmt.h: 21b534367e4b3825dc70c3a289822df8
+include/unicode/measunit.h: 0f903f67958ad91e8bd2e49fc40c3075
+include/unicode/measure.h: 49091c823a2f12f5f60f7fecd7c452f2
+include/unicode/messagepattern.h: 15ecc58806c256ac91c2549d4f5c242f
+include/unicode/msgfmt.h: f9ff9322fa80486203829c15d4982573
+include/unicode/normalizer2.h: 436d923df3a66774b7bf26ffe75a5d1c
+include/unicode/normlzr.h: 5bf33ff933ee7eb49c330df38f490f57
+include/unicode/nounit.h: 2b4901f562077b370d82c4bbe229aac4
+include/unicode/numberformatter.h: 0f62c292f92d5598a61647bbf4294e1a
+include/unicode/numberrangeformatter.h: 58623918bf66f1fd6687f3dd03180a4b
+include/unicode/numfmt.h: 2a21117116463390ec4f19d53f485890
+include/unicode/numsys.h: 186ba43c003b4f56af3c63abd08f418e
+include/unicode/parseerr.h: ce38831411af01eeaf0bbbb6e1cb0153
+include/unicode/parsepos.h: 5c53fa7c473d4593fd72ce964b505807
+include/unicode/platform.h: 56fe53b31059acb1be086c45ce88e8c6
+include/unicode/plurfmt.h: 6f1b781b7a62a6ac1c7e4c6a2bb18d77
+include/unicode/plurrule.h: cf4b0b9ec1a525b96e7d27e489044337
+include/unicode/ptypes.h: d74097874c82f77331d8e06a5c59d37f
+include/unicode/putil.h: ee1c69d5060b8d5754bf8879bb7f10d1
+include/unicode/rbbi.h: 6c5f44ef812dfb48b65466732513c091
+include/unicode/rbnf.h: e870f2cf64c9b72eb549c413d6f98299
+include/unicode/rbtz.h: ea9f5a1edac3fe535ec7b83636daf61d
+include/unicode/regex.h: 16565e3d41228a76f17a63842d9594d2
+include/unicode/region.h: 22585a516ee7525f3e9094f2843b7640
+include/unicode/reldatefmt.h: 1b226903d9375471432582c27ade4934
+include/unicode/rep.h: eab550a9bbb33b4c1283ab16bc2dfafa
+include/unicode/resbund.h: cc93ada0e9871eee0a86f81548a3be73
+include/unicode/schriter.h: acea2a510e5c9127dad0e2538cf65ccd
+include/unicode/scientificnumberformatter.h: 40eb759fc2902b6c8e732b440fe6a1bc
+include/unicode/search.h: a93ebdadfc5113f1b9c9c185262ef461
+include/unicode/selfmt.h: 581ab6f6ac584265d5c56dad4051ee12
+include/unicode/simpleformatter.h: 8e5e9a9589359e06110af10bcf941d54
+include/unicode/simpletz.h: 194e0d388b74daa4cf51d012e2d14ebd
+include/unicode/smpdtfmt.h: 0e6383eafd569b511791e826b51df8d1
+include/unicode/sortkey.h: 27f3d671f37c27d0b36953d00c1f2e7b
+include/unicode/std_string.h: bb3b2e28a2ae9b66a60b7d90f8c07512
+include/unicode/strenum.h: 3c23eb4fa4d847b6afdd18adf3ccdaf5
+include/unicode/stringoptions.h: d4929224e8d9df2f272f0305780cbacb
+include/unicode/stringpiece.h: 3d7911a3b2a59830eaceb37e46110285
+include/unicode/stringtriebuilder.h: 08ce10a0f6e85f4bb078f69d5382f8bc
+include/unicode/stsearch.h: b15838a5cf5740b0aaa9af5356aef26b
+include/unicode/symtable.h: 7487ffc7069316553d08f1109965bf9d
+include/unicode/tblcoll.h: ee27157293d0802cde26d75c6098c1d3
+include/unicode/timezone.h: 54689b5ef15d0f03a146e8aeac163be8
+include/unicode/tmunit.h: 9ddf31866353dde1ae249ed93fce9234
+include/unicode/tmutamt.h: beea411e9f16d8b91fef39a297cd06d8
+include/unicode/tmutfmt.h: ae13f8ac46ad754bf83142943b19a647
+include/unicode/translit.h: f225620498133e8e4bcc2ad6679225e5
+include/unicode/tzfmt.h: b6c94cd901ffe5387f0245ca9fd68604
+include/unicode/tznames.h: a50010925037c01304c719e47bfb369a
+include/unicode/tzrule.h: 0e3465c0eeb27a0545f94bf9f5cfc21e
+include/unicode/tztrans.h: 117392a0dc2fe373946aecfa74475842
+include/unicode/ubidi.h: d90a13a2933198f134efefc0ff7563e6
+include/unicode/ubiditransform.h: fab65809ece8816f1a002eb843b80e29
+include/unicode/ubrk.h: e85002afa629b85ba239135ab11f47f0
+include/unicode/ucal.h: d247badde5d39cc16e06d26153054c85
+include/unicode/ucasemap.h: 2f240e1dc6db1771e843f1a03fd0c8f4
+include/unicode/ucat.h: f412352b86adccba85d7f3e4b4515064
+include/unicode/uchar.h: ebac2b0b753a1cd10db2f428736bf06d
+include/unicode/ucharstrie.h: 16d3d38154f1444b8a3425254ab7ab81
+include/unicode/ucharstriebuilder.h: b92f18132f6c1d61da0ad51b8099435d
+include/unicode/uchriter.h: a356cb90d62d9e425e5efbb071c30b21
+include/unicode/uclean.h: ef4b9289f510edd0bb6b779d0a299f44
+include/unicode/ucnv.h: db701a7a83540ef4dcfc4e780f1da016
+include/unicode/ucnv_cb.h: 69c1c5b156028cd623ed7e5b5b4ab730
+include/unicode/ucnv_err.h: 6ef0751460140d23ae678ef85c298906
+include/unicode/ucnvsel.h: 6e4c5e31c2a89439ef4945cd4a402ef3
+include/unicode/ucol.h: 47c1acc6c2bde098f0b06c8590d68b9f
+include/unicode/ucoleitr.h: b4576706530850666c1cfd2424276b26
+include/unicode/uconfig.h: 80678a12de446cdf8679cdd5792a12e9
+include/unicode/ucpmap.h: 0b16934410c99981d87ddd10e1759bed
+include/unicode/ucptrie.h: 7450de71dd5e1a83f5290da33d48d40d
+include/unicode/ucsdet.h: c7d5b3d36da0c71b0a85a72642439a90
+include/unicode/ucurr.h: 5de7a80ece54cf7583e19f292ad17825
+include/unicode/udat.h: c665d53e4691b564ae5394957fcdcf31
+include/unicode/udata.h: 98e2327300a26bbaf40bd8eb7eee8c1a
+include/unicode/udateintervalformat.h: 178f650518ecceeb2eca7b763dd68799
+include/unicode/udatpg.h: ce0332b911d1a820a0b45922bd0e97fc
+include/unicode/udisplaycontext.h: 57a269787da52ad6720ff5b1e87b5cdd
+include/unicode/uenum.h: 41cce54d4862d5068f4f087b935c0657
+include/unicode/ufieldpositer.h: 21f8ba8e285bfea4daa3da8a01911b7e
+include/unicode/uformattable.h: cad38a97f9f929ebc28d5e72dc5ec14f
+include/unicode/uformattedvalue.h: e1e69e0927595423076481b8f948fd2a
+include/unicode/ugender.h: d64c9ad1d5cf04136534e3aca38d2638
+include/unicode/uidna.h: 88ee381ec6ec01cb677f3e5222e9cf22
+include/unicode/uiter.h: 3fea96177f4f814091918f54d1e68ccd
+include/unicode/uldnames.h: d18634bc73c16b9ae02b6a60fd94d8be
+include/unicode/ulistformatter.h: 21277400caea3c7e7fdb57457c10e423
+include/unicode/uloc.h: 39d42620d3a97a7ae26d7b560ea3eacc
+include/unicode/ulocdata.h: 116fad6a2c0db0d08e3f5ae02d93a035
+include/unicode/umachine.h: 0a7fe7df81aedd43f322a9ec540feff5
+include/unicode/umisc.h: eca71d8c8bf86529ae5bbc5f34598bea
+include/unicode/umsg.h: 298645d31f8d8e209cbb5eb3751e3ceb
+include/unicode/umutablecptrie.h: 5dc81c63a8b2c80ffd401c9bb5180e61
+include/unicode/unifilt.h: e170c06bf1bf81a56c7ed605d41fa02f
+include/unicode/unifunct.h: 23981a5088ba5d5af70309b73eef7666
+include/unicode/unimatch.h: 66161ce491e3b24e9e011cfc0e78be42
+include/unicode/unirepl.h: 462716fd44618949b405645ba7b5c8e6
+include/unicode/uniset.h: cb94f902233b2e1807156afe0967e3e0
+include/unicode/unistr.h: 5ebe061e4a17e981bb249c4814f4dd9d
+include/unicode/unorm.h: ca96f37ed2e2afd56585a238d73cea51
+include/unicode/unorm2.h: e8fff4023ad114b325f346d2cdbbe043
+include/unicode/unum.h: 656d2aa9a41ca4b7bfad0a09420bdc23
+include/unicode/unumberformatter.h: 9be73b6bb76bb5862a8dfd615e563b82
+include/unicode/unumsys.h: 7e5dd76a0e07f790c30c944bfb810e71
+include/unicode/uobject.h: b56a28b01e3df9088315aeb145ec3a8e
+include/unicode/upluralrules.h: 15feae7c7df35b97d5e715f28f616e63
+include/unicode/uregex.h: 10fe8b8c9f98758bf192bc765fa45e3c
+include/unicode/uregion.h: a3f28f15972bf18600012815a8c76535
+include/unicode/ureldatefmt.h: d528589ebdc3f8cb6c27ce4867752c55
+include/unicode/urename.h: 1642d190b583bbaaf454ac65a37a8024
+include/unicode/urep.h: 6ada98ac1aa68081f10d17b1abadef6e
+include/unicode/ures.h: 8c69586a969eb2898d5d3e8c08beda9c
+include/unicode/uscript.h: 5bf2d96240b17507a05ebe4d36b1a38e
+include/unicode/usearch.h: 1f3fcea9dc6c40e908992e74f602235f
+include/unicode/uset.h: a285e1b480a3abaaee753ba74d245efd
+include/unicode/usetiter.h: ab1ebd4b0b9e3560a94a7c6cb3a9e48f
+include/unicode/ushape.h: 86fdf709d4312bb17cf95b16f58e1dc4
+include/unicode/uspoof.h: 8b9508cbe045b114f0f618d04fcab512
+include/unicode/usprep.h: e88585ae8bdb3a35aa88417993bde732
+include/unicode/ustdio.h: 3104e526d3de60538f42c0fd5430adcb
+include/unicode/ustream.h: 0a74df2b9d1967d0b859d21f5828f4e8
+include/unicode/ustring.h: 92f522f8ef62e443c11baa56c32e42e4
+include/unicode/ustringtrie.h: 54a28aa9c4e117cd3ebfd0a670324f6c
+include/unicode/utext.h: 89a08f750d0c5751d4f385c4874c0e61
+include/unicode/utf.h: 4434eeb75c89a49228884aa247714e1c
+include/unicode/utf16.h: 147fbb88d8300af3e38d80ce59c1c1ce
+include/unicode/utf32.h: a1fdf74f4bd8808f9fb17df371f886d9
+include/unicode/utf8.h: 7f0c4c02bd7506e80fd11a4597cc1450
+include/unicode/utf_old.h: 92ffc297b71c8d83ed05b644183c477c
+include/unicode/utmscale.h: 7c59d91f835bc9f4b805dd64e73851d7
+include/unicode/utrace.h: 420d2f8d462ae300ca1903c2a6ebaba3
+include/unicode/utrans.h: 5cd9b1f130197e5fdd8a66519233abf5
+include/unicode/utypes.h: 47eb8ff3f909dafa9bee14f8bb224342
+include/unicode/uvernum.h: a91a8e07c665891ed234de3a58302663
+include/unicode/uversion.h: 0b8f75f3d1c816ee3359dde5be390d17
+include/unicode/vtzone.h: 615f12cb0d05441d0872aa677db80a90
+lib/icu/65.1/Makefile.inc: 3f7edd281b0e2ccb0e38fb1e56d06df2
+lib/icu/65.1/pkgdata.inc: d2c3b7892bda8925396ec5c3b7dcc870
+lib/icu/Makefile.inc: 3f7edd281b0e2ccb0e38fb1e56d06df2
+lib/icu/current/Makefile.inc: 3f7edd281b0e2ccb0e38fb1e56d06df2
+lib/icu/current/pkgdata.inc: d2c3b7892bda8925396ec5c3b7dcc870
+lib/icu/pkgdata.inc: d2c3b7892bda8925396ec5c3b7dcc870
+lib/icudt.lib: e47cbc518c8766bca16f620f6513d5bf
+lib/icuin.lib: 55f9a9287ac97eab15705ea295275016
+lib/icuio.lib: 0d96956e15be5bab913a18992d9b3dd1
+lib/icutest.lib: 7889ef04c9d45cdc7068899c370323c5
+lib/icutu.lib: 1090703afda44cd52ee5e00ef40da807
+lib/icuuc.lib: 8728c76a03a718250dc976ee632d29e9
+lib/pkgconfig/icu-i18n.pc: 6a70cff3fab15c8bcf5a3662b97b8478
+lib/pkgconfig/icu-io.pc: f567f9e77052669510453f1717a23949
+lib/pkgconfig/icu-uc.pc: 41780a643168113af5fd0c73740d94eb
+licenses/LICENSE: 8bc5d32052a96f214cbdd1e53dfc935d
+share/icu/65.1/LICENSE: 8bc5d32052a96f214cbdd1e53dfc935d
+share/icu/65.1/config/mh-msys-msvc: c3bf313c25288142820e4ab191c1c153
+share/icu/65.1/install-sh: 5afe8eb5573965dfb58378e4e46f3813
+share/icu/65.1/mkinstalldirs: 31c4856b24c8dbc6319819ccd43b4fda
+share/man/man1/derb.1: bddb017162105939f6d43c9539c99497
+share/man/man1/genbrk.1: a4e60e4a60ab26eb29119649bfb60d2b
+share/man/man1/gencfu.1: 4950b8178b944a3ebfea1c419ffd3319
+share/man/man1/gencnval.1: 53b10d9351473a7ea603400973377a7d
+share/man/man1/gendict.1: 9c1bf2760e5735b0e6601f48e92cb0d9
+share/man/man1/genrb.1: ffebc1e8007bd58f5623299e6b4babe8
+share/man/man1/icu-config.1: f4670ca16d77ce21310e48aa91f7ee5b
+share/man/man1/makeconv.1: c96397ad56d2c21649757c407aac46d8
+share/man/man1/pkgdata.1: 5f7b05c28de887cca1e5d7bfb9db4c39
+share/man/man8/genccode.8: 498418dc0aec1fa7ccfb83c491b5a23e
+share/man/man8/gencmn.8: c43635e431ea0f1616ea8266e36c0d75
+share/man/man8/gensprep.8: 396d70fec1a04aae25e6bfc6e8e58c65
+share/man/man8/icupkg.8: 430bcbed42faa9ea33b161a48c0490c6
diff --git a/coin/provisioning/common/windows/conan_manifests/icu/65.1/qtproject/stable/package/b78a3590f375c283e83a188d891b97d04832121e/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/icu/65.1/qtproject/stable/package/b78a3590f375c283e83a188d891b97d04832121e/conanmanifest.txt
new file mode 100644
index 00000000..fd65fe1a
--- /dev/null
+++ b/coin/provisioning/common/windows/conan_manifests/icu/65.1/qtproject/stable/package/b78a3590f375c283e83a188d891b97d04832121e/conanmanifest.txt
@@ -0,0 +1,250 @@
+1582253929
+bin/derb.exe: a24749643ced24bb71f9e9bde38f4838
+bin/escapesrc.exe: 301a39e83195168bd5f666836943743f
+bin/genbrk.exe: 31247c5d2a896ec82292d3a17dc26029
+bin/genccode.exe: e1c97dbf05055d524104549b1e5de5c4
+bin/gencfu.exe: e2a0edc31e415524f3f3d19f1409c797
+bin/gencmn.exe: 832f8ae7d33b87db636422479f51f770
+bin/gencnval.exe: 537ba315464376bbc7628c336950c0e8
+bin/gendict.exe: 7fe620956d704ae39b0111057c4e8fa9
+bin/gennorm2.exe: 6eb084dbb625e71058fad6a85739e8a1
+bin/genrb.exe: 4c90027ab6073c39f89497eab86ce886
+bin/gensprep.exe: 146462b18bef8f5400cc3766dc9b86de
+bin/icu-config: 3a87ac9bf130302803c4701de84d9c37
+bin/icudt.dll: 0f40cea01ded07cb350f2c403656d44a
+bin/icudt65.dll: e6ee7d07552a003380ee4619d829c3ea
+bin/icuin.dll: b0c40d9818ad9326e937931560ed55a3
+bin/icuin65.dll: b0c40d9818ad9326e937931560ed55a3
+bin/icuinfo.exe: 4351b9bbb634d2cff3f7c44dd875c9dd
+bin/icuio.dll: 0f7a17681ec833dbc3d6539e4a219a4e
+bin/icuio65.dll: 0f7a17681ec833dbc3d6539e4a219a4e
+bin/icupkg.exe: 4dc235da4700e63507b0f8f354d77144
+bin/icutest.dll: d34192cf4141e249bfc6415473300d4c
+bin/icutest65.dll: d34192cf4141e249bfc6415473300d4c
+bin/icutu.dll: 8b37b110590276f8ce9d1dc507f18dbf
+bin/icutu65.dll: 8b37b110590276f8ce9d1dc507f18dbf
+bin/icuuc.dll: 986b6bcf5a7869152b9e4f5798447d7c
+bin/icuuc65.dll: 986b6bcf5a7869152b9e4f5798447d7c
+bin/makeconv.exe: 353545d6125d9175083bb09bfe2be140
+bin/pkgdata.exe: 4e3690809456f62a6cb15d4aa688062f
+conaninfo.txt: fbad57d958b1fc325e2e0519ab48b3d3
+include/unicode/alphaindex.h: 1be039746e3da3f7baa9421062373468
+include/unicode/appendable.h: 48b3a0a4c3044ad5f2af18f1ab48c8ff
+include/unicode/basictz.h: 57fe3c53d6b1a2bf5d1f40ec51efd7a1
+include/unicode/brkiter.h: e5ff475b7b01a97e5cd11a5362785921
+include/unicode/bytestream.h: 34a6807cd42f2e64ca60429897eb4b10
+include/unicode/bytestrie.h: d9be048d5c7e9dd0a2c6cd82e91e6002
+include/unicode/bytestriebuilder.h: 66236ad8247bd04c9ea525012b4c4ca8
+include/unicode/calendar.h: 692005b416fc2e4a8c497ff9b9a31bd8
+include/unicode/caniter.h: a70809c92ea90b654e9f11a793f84429
+include/unicode/casemap.h: d088e7422633b4cad3ad2b0b83ca239b
+include/unicode/char16ptr.h: c234b9ba14299c6068f5af1a936c1ead
+include/unicode/chariter.h: c8623016adba39ab38ef29f38ec87e45
+include/unicode/choicfmt.h: 832e7b39d19ec192ac1551360436f946
+include/unicode/coleitr.h: d9f07937d600ee811c121c0b0504724c
+include/unicode/coll.h: a2062360d7415e08abb01c44088f074e
+include/unicode/compactdecimalformat.h: 029f9640501bd640495c18397b5ff8bb
+include/unicode/curramt.h: 41fc0e62956b2e0fa7fd5e05213afc85
+include/unicode/currpinf.h: 09cbc4d9eb04b2aa2c4c155961f13c89
+include/unicode/currunit.h: 43648726f439d03c8c8a13b87c122332
+include/unicode/datefmt.h: 28ef92e98cdac29630b0aa0daf122798
+include/unicode/dbbi.h: 3d4186ec9549d6693d136257f610ec06
+include/unicode/dcfmtsym.h: b18b90c0c6371eab5028582492859142
+include/unicode/decimfmt.h: fb4231ddf75de524300ee952634ef038
+include/unicode/docmain.h: 697c221351932e373cf9e5903f40b723
+include/unicode/dtfmtsym.h: cabbccbf9deec91ebf291a19110007fb
+include/unicode/dtintrv.h: 7a7ce170e6035b90ef5b4bee91893833
+include/unicode/dtitvfmt.h: da220b13a8f895c4e77b653d865eb049
+include/unicode/dtitvinf.h: 1ad6b7f844a9362b2b7a0f509284cae7
+include/unicode/dtptngen.h: 8f8fcb053b5024c5b1d3dfc258f59344
+include/unicode/dtrule.h: 68551564f8ab72271d3574aa0cba381d
+include/unicode/edits.h: 6b8aa73dbf2c2f0b49da5bc5903bcc8c
+include/unicode/enumset.h: 3bb75fc43c88682895ae98c02e69810d
+include/unicode/errorcode.h: debeda4467a19aaf964fafc73629c8ae
+include/unicode/fieldpos.h: 3b041c7d9a5df0aef744b88e764af17e
+include/unicode/filteredbrk.h: e54dd29247eb75f8490423f7f8541691
+include/unicode/fmtable.h: 3816f155db2c35ac5de3f80ffdaa549c
+include/unicode/format.h: 0417863e1b303fa282659c4903e3a11c
+include/unicode/formattedvalue.h: fc50c8972404b212799d76cf8e647888
+include/unicode/fpositer.h: b5e8bbc249dc37e3b159f0a2b5053957
+include/unicode/gender.h: 5e093c1cfb96ef671f2e5dedb96a0d64
+include/unicode/gregocal.h: 15c7b4ceaca9b8b8f8e747d5427aa7a7
+include/unicode/icudataver.h: d1c480a9eb95aaa058a6b9311074bc33
+include/unicode/icuplug.h: 60ad27a2a36284bbc1766f9920769175
+include/unicode/idna.h: a7c3650d5311edeb01f754c574d0fb8b
+include/unicode/listformatter.h: 65911d72679c6e0a267e951b03467f37
+include/unicode/localebuilder.h: 1b6106448cf6cde7e7ebf25ee6fe4065
+include/unicode/localematcher.h: 3a03cbb5970a14fe153041c878f583f2
+include/unicode/localpointer.h: a89505f84a4bb4e231a17676f1b1d51a
+include/unicode/locdspnm.h: aa260a00e31e970757e3b3cbe00fff3d
+include/unicode/locid.h: 6caa36f85c9bab54b78ecd0c056789aa
+include/unicode/measfmt.h: 21b534367e4b3825dc70c3a289822df8
+include/unicode/measunit.h: 0f903f67958ad91e8bd2e49fc40c3075
+include/unicode/measure.h: 49091c823a2f12f5f60f7fecd7c452f2
+include/unicode/messagepattern.h: 15ecc58806c256ac91c2549d4f5c242f
+include/unicode/msgfmt.h: f9ff9322fa80486203829c15d4982573
+include/unicode/normalizer2.h: 436d923df3a66774b7bf26ffe75a5d1c
+include/unicode/normlzr.h: 5bf33ff933ee7eb49c330df38f490f57
+include/unicode/nounit.h: 2b4901f562077b370d82c4bbe229aac4
+include/unicode/numberformatter.h: 0f62c292f92d5598a61647bbf4294e1a
+include/unicode/numberrangeformatter.h: 58623918bf66f1fd6687f3dd03180a4b
+include/unicode/numfmt.h: 2a21117116463390ec4f19d53f485890
+include/unicode/numsys.h: 186ba43c003b4f56af3c63abd08f418e
+include/unicode/parseerr.h: ce38831411af01eeaf0bbbb6e1cb0153
+include/unicode/parsepos.h: 5c53fa7c473d4593fd72ce964b505807
+include/unicode/platform.h: 56fe53b31059acb1be086c45ce88e8c6
+include/unicode/plurfmt.h: 6f1b781b7a62a6ac1c7e4c6a2bb18d77
+include/unicode/plurrule.h: cf4b0b9ec1a525b96e7d27e489044337
+include/unicode/ptypes.h: d74097874c82f77331d8e06a5c59d37f
+include/unicode/putil.h: ee1c69d5060b8d5754bf8879bb7f10d1
+include/unicode/rbbi.h: 6c5f44ef812dfb48b65466732513c091
+include/unicode/rbnf.h: e870f2cf64c9b72eb549c413d6f98299
+include/unicode/rbtz.h: ea9f5a1edac3fe535ec7b83636daf61d
+include/unicode/regex.h: 16565e3d41228a76f17a63842d9594d2
+include/unicode/region.h: 22585a516ee7525f3e9094f2843b7640
+include/unicode/reldatefmt.h: 1b226903d9375471432582c27ade4934
+include/unicode/rep.h: eab550a9bbb33b4c1283ab16bc2dfafa
+include/unicode/resbund.h: cc93ada0e9871eee0a86f81548a3be73
+include/unicode/schriter.h: acea2a510e5c9127dad0e2538cf65ccd
+include/unicode/scientificnumberformatter.h: 40eb759fc2902b6c8e732b440fe6a1bc
+include/unicode/search.h: a93ebdadfc5113f1b9c9c185262ef461
+include/unicode/selfmt.h: 581ab6f6ac584265d5c56dad4051ee12
+include/unicode/simpleformatter.h: 8e5e9a9589359e06110af10bcf941d54
+include/unicode/simpletz.h: 194e0d388b74daa4cf51d012e2d14ebd
+include/unicode/smpdtfmt.h: 0e6383eafd569b511791e826b51df8d1
+include/unicode/sortkey.h: 27f3d671f37c27d0b36953d00c1f2e7b
+include/unicode/std_string.h: bb3b2e28a2ae9b66a60b7d90f8c07512
+include/unicode/strenum.h: 3c23eb4fa4d847b6afdd18adf3ccdaf5
+include/unicode/stringoptions.h: d4929224e8d9df2f272f0305780cbacb
+include/unicode/stringpiece.h: 3d7911a3b2a59830eaceb37e46110285
+include/unicode/stringtriebuilder.h: 08ce10a0f6e85f4bb078f69d5382f8bc
+include/unicode/stsearch.h: b15838a5cf5740b0aaa9af5356aef26b
+include/unicode/symtable.h: 7487ffc7069316553d08f1109965bf9d
+include/unicode/tblcoll.h: ee27157293d0802cde26d75c6098c1d3
+include/unicode/timezone.h: 54689b5ef15d0f03a146e8aeac163be8
+include/unicode/tmunit.h: 9ddf31866353dde1ae249ed93fce9234
+include/unicode/tmutamt.h: beea411e9f16d8b91fef39a297cd06d8
+include/unicode/tmutfmt.h: ae13f8ac46ad754bf83142943b19a647
+include/unicode/translit.h: f225620498133e8e4bcc2ad6679225e5
+include/unicode/tzfmt.h: b6c94cd901ffe5387f0245ca9fd68604
+include/unicode/tznames.h: a50010925037c01304c719e47bfb369a
+include/unicode/tzrule.h: 0e3465c0eeb27a0545f94bf9f5cfc21e
+include/unicode/tztrans.h: 117392a0dc2fe373946aecfa74475842
+include/unicode/ubidi.h: d90a13a2933198f134efefc0ff7563e6
+include/unicode/ubiditransform.h: fab65809ece8816f1a002eb843b80e29
+include/unicode/ubrk.h: e85002afa629b85ba239135ab11f47f0
+include/unicode/ucal.h: d247badde5d39cc16e06d26153054c85
+include/unicode/ucasemap.h: 2f240e1dc6db1771e843f1a03fd0c8f4
+include/unicode/ucat.h: f412352b86adccba85d7f3e4b4515064
+include/unicode/uchar.h: ebac2b0b753a1cd10db2f428736bf06d
+include/unicode/ucharstrie.h: 16d3d38154f1444b8a3425254ab7ab81
+include/unicode/ucharstriebuilder.h: b92f18132f6c1d61da0ad51b8099435d
+include/unicode/uchriter.h: a356cb90d62d9e425e5efbb071c30b21
+include/unicode/uclean.h: ef4b9289f510edd0bb6b779d0a299f44
+include/unicode/ucnv.h: db701a7a83540ef4dcfc4e780f1da016
+include/unicode/ucnv_cb.h: 69c1c5b156028cd623ed7e5b5b4ab730
+include/unicode/ucnv_err.h: 6ef0751460140d23ae678ef85c298906
+include/unicode/ucnvsel.h: 6e4c5e31c2a89439ef4945cd4a402ef3
+include/unicode/ucol.h: 47c1acc6c2bde098f0b06c8590d68b9f
+include/unicode/ucoleitr.h: b4576706530850666c1cfd2424276b26
+include/unicode/uconfig.h: 80678a12de446cdf8679cdd5792a12e9
+include/unicode/ucpmap.h: 0b16934410c99981d87ddd10e1759bed
+include/unicode/ucptrie.h: 7450de71dd5e1a83f5290da33d48d40d
+include/unicode/ucsdet.h: c7d5b3d36da0c71b0a85a72642439a90
+include/unicode/ucurr.h: 5de7a80ece54cf7583e19f292ad17825
+include/unicode/udat.h: c665d53e4691b564ae5394957fcdcf31
+include/unicode/udata.h: 98e2327300a26bbaf40bd8eb7eee8c1a
+include/unicode/udateintervalformat.h: 178f650518ecceeb2eca7b763dd68799
+include/unicode/udatpg.h: ce0332b911d1a820a0b45922bd0e97fc
+include/unicode/udisplaycontext.h: 57a269787da52ad6720ff5b1e87b5cdd
+include/unicode/uenum.h: 41cce54d4862d5068f4f087b935c0657
+include/unicode/ufieldpositer.h: 21f8ba8e285bfea4daa3da8a01911b7e
+include/unicode/uformattable.h: cad38a97f9f929ebc28d5e72dc5ec14f
+include/unicode/uformattedvalue.h: e1e69e0927595423076481b8f948fd2a
+include/unicode/ugender.h: d64c9ad1d5cf04136534e3aca38d2638
+include/unicode/uidna.h: 88ee381ec6ec01cb677f3e5222e9cf22
+include/unicode/uiter.h: 3fea96177f4f814091918f54d1e68ccd
+include/unicode/uldnames.h: d18634bc73c16b9ae02b6a60fd94d8be
+include/unicode/ulistformatter.h: 21277400caea3c7e7fdb57457c10e423
+include/unicode/uloc.h: 39d42620d3a97a7ae26d7b560ea3eacc
+include/unicode/ulocdata.h: 116fad6a2c0db0d08e3f5ae02d93a035
+include/unicode/umachine.h: 0a7fe7df81aedd43f322a9ec540feff5
+include/unicode/umisc.h: eca71d8c8bf86529ae5bbc5f34598bea
+include/unicode/umsg.h: 298645d31f8d8e209cbb5eb3751e3ceb
+include/unicode/umutablecptrie.h: 5dc81c63a8b2c80ffd401c9bb5180e61
+include/unicode/unifilt.h: e170c06bf1bf81a56c7ed605d41fa02f
+include/unicode/unifunct.h: 23981a5088ba5d5af70309b73eef7666
+include/unicode/unimatch.h: 66161ce491e3b24e9e011cfc0e78be42
+include/unicode/unirepl.h: 462716fd44618949b405645ba7b5c8e6
+include/unicode/uniset.h: cb94f902233b2e1807156afe0967e3e0
+include/unicode/unistr.h: 5ebe061e4a17e981bb249c4814f4dd9d
+include/unicode/unorm.h: ca96f37ed2e2afd56585a238d73cea51
+include/unicode/unorm2.h: e8fff4023ad114b325f346d2cdbbe043
+include/unicode/unum.h: 656d2aa9a41ca4b7bfad0a09420bdc23
+include/unicode/unumberformatter.h: 9be73b6bb76bb5862a8dfd615e563b82
+include/unicode/unumsys.h: 7e5dd76a0e07f790c30c944bfb810e71
+include/unicode/uobject.h: b56a28b01e3df9088315aeb145ec3a8e
+include/unicode/upluralrules.h: 15feae7c7df35b97d5e715f28f616e63
+include/unicode/uregex.h: 10fe8b8c9f98758bf192bc765fa45e3c
+include/unicode/uregion.h: a3f28f15972bf18600012815a8c76535
+include/unicode/ureldatefmt.h: d528589ebdc3f8cb6c27ce4867752c55
+include/unicode/urename.h: 1642d190b583bbaaf454ac65a37a8024
+include/unicode/urep.h: 6ada98ac1aa68081f10d17b1abadef6e
+include/unicode/ures.h: 8c69586a969eb2898d5d3e8c08beda9c
+include/unicode/uscript.h: 5bf2d96240b17507a05ebe4d36b1a38e
+include/unicode/usearch.h: 1f3fcea9dc6c40e908992e74f602235f
+include/unicode/uset.h: a285e1b480a3abaaee753ba74d245efd
+include/unicode/usetiter.h: ab1ebd4b0b9e3560a94a7c6cb3a9e48f
+include/unicode/ushape.h: 86fdf709d4312bb17cf95b16f58e1dc4
+include/unicode/uspoof.h: 8b9508cbe045b114f0f618d04fcab512
+include/unicode/usprep.h: e88585ae8bdb3a35aa88417993bde732
+include/unicode/ustdio.h: 3104e526d3de60538f42c0fd5430adcb
+include/unicode/ustream.h: 0a74df2b9d1967d0b859d21f5828f4e8
+include/unicode/ustring.h: 92f522f8ef62e443c11baa56c32e42e4
+include/unicode/ustringtrie.h: 54a28aa9c4e117cd3ebfd0a670324f6c
+include/unicode/utext.h: 89a08f750d0c5751d4f385c4874c0e61
+include/unicode/utf.h: 4434eeb75c89a49228884aa247714e1c
+include/unicode/utf16.h: 147fbb88d8300af3e38d80ce59c1c1ce
+include/unicode/utf32.h: a1fdf74f4bd8808f9fb17df371f886d9
+include/unicode/utf8.h: 7f0c4c02bd7506e80fd11a4597cc1450
+include/unicode/utf_old.h: 92ffc297b71c8d83ed05b644183c477c
+include/unicode/utmscale.h: 7c59d91f835bc9f4b805dd64e73851d7
+include/unicode/utrace.h: 420d2f8d462ae300ca1903c2a6ebaba3
+include/unicode/utrans.h: 5cd9b1f130197e5fdd8a66519233abf5
+include/unicode/utypes.h: 47eb8ff3f909dafa9bee14f8bb224342
+include/unicode/uvernum.h: a91a8e07c665891ed234de3a58302663
+include/unicode/uversion.h: 0b8f75f3d1c816ee3359dde5be390d17
+include/unicode/vtzone.h: 615f12cb0d05441d0872aa677db80a90
+lib/icu/65.1/Makefile.inc: 0837bd0a935d699cc1dd640c7314b82b
+lib/icu/65.1/pkgdata.inc: 5403e67e87ccf7f7f6308b73f28db0d8
+lib/icu/Makefile.inc: 0837bd0a935d699cc1dd640c7314b82b
+lib/icu/current/Makefile.inc: 0837bd0a935d699cc1dd640c7314b82b
+lib/icu/current/pkgdata.inc: 5403e67e87ccf7f7f6308b73f28db0d8
+lib/icu/pkgdata.inc: 5403e67e87ccf7f7f6308b73f28db0d8
+lib/icudt.lib: 80aa256bbad5c4a26896fd26bec6f86f
+lib/icuin.lib: 54647f26fac9db72359bbdbc71cebc23
+lib/icuio.lib: 184195dbde43ed548090979ad9a128c4
+lib/icutest.lib: 4c4a3317fee3fa1de24f942c45af2ece
+lib/icutu.lib: 8ee68008fc00479c67370964953dfd68
+lib/icuuc.lib: a76af6e6572036599e910ff98ac04d94
+lib/pkgconfig/icu-i18n.pc: 88bb0292f144092f85bf8b6cfea1153e
+lib/pkgconfig/icu-io.pc: 06d2e747b0f4023c5f71e1fdd4026da2
+lib/pkgconfig/icu-uc.pc: 6ac693e689f5c04d9de86f2ca0e3e436
+licenses/LICENSE: 8bc5d32052a96f214cbdd1e53dfc935d
+share/icu/65.1/LICENSE: 8bc5d32052a96f214cbdd1e53dfc935d
+share/icu/65.1/config/mh-msys-msvc: c3bf313c25288142820e4ab191c1c153
+share/icu/65.1/install-sh: 5afe8eb5573965dfb58378e4e46f3813
+share/icu/65.1/mkinstalldirs: 31c4856b24c8dbc6319819ccd43b4fda
+share/man/man1/derb.1: bddb017162105939f6d43c9539c99497
+share/man/man1/genbrk.1: a4e60e4a60ab26eb29119649bfb60d2b
+share/man/man1/gencfu.1: 4950b8178b944a3ebfea1c419ffd3319
+share/man/man1/gencnval.1: 53b10d9351473a7ea603400973377a7d
+share/man/man1/gendict.1: 9c1bf2760e5735b0e6601f48e92cb0d9
+share/man/man1/genrb.1: ffebc1e8007bd58f5623299e6b4babe8
+share/man/man1/icu-config.1: f4670ca16d77ce21310e48aa91f7ee5b
+share/man/man1/makeconv.1: c96397ad56d2c21649757c407aac46d8
+share/man/man1/pkgdata.1: 5f7b05c28de887cca1e5d7bfb9db4c39
+share/man/man8/genccode.8: 498418dc0aec1fa7ccfb83c491b5a23e
+share/man/man8/gencmn.8: c43635e431ea0f1616ea8266e36c0d75
+share/man/man8/gensprep.8: 396d70fec1a04aae25e6bfc6e8e58c65
+share/man/man8/icupkg.8: 430bcbed42faa9ea33b161a48c0490c6
diff --git a/coin/provisioning/common/windows/conan_manifests/icu/65.1/qtproject/stable/package/c55d3669e198b38f9cbd3031c1943896d7bcdad9/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/icu/65.1/qtproject/stable/package/c55d3669e198b38f9cbd3031c1943896d7bcdad9/conanmanifest.txt
new file mode 100644
index 00000000..8e9cf00d
--- /dev/null
+++ b/coin/provisioning/common/windows/conan_manifests/icu/65.1/qtproject/stable/package/c55d3669e198b38f9cbd3031c1943896d7bcdad9/conanmanifest.txt
@@ -0,0 +1,250 @@
+1582252581
+bin/derb.exe: e1074ba17285251adf697cda6ce5017e
+bin/escapesrc.exe: c3a5c8098e30594896d898cd62715266
+bin/genbrk.exe: b34338f9b3d88142970c08f412c3daa6
+bin/genccode.exe: daeac719a207ef0d3e734d13e09afa0d
+bin/gencfu.exe: ed884f96a0c448a8d22ddff24459db21
+bin/gencmn.exe: a1adbdf27b068509572d9e18d22783dc
+bin/gencnval.exe: 4560ca93240af1d915eb094da534bc90
+bin/gendict.exe: 24c940f65956db106c6d508448c29a1a
+bin/gennorm2.exe: 0e40277b079b43bd0ce969dec55da043
+bin/genrb.exe: 78934b245ff5999b85385f6a1439d0b2
+bin/gensprep.exe: 352ed54da1bf852b67fb8d16beff4539
+bin/icu-config: ecf291d6e37d486071082910cf0be55d
+bin/icudt.dll: 3c4e3ba8297b06c62e73c0959c3cc4f6
+bin/icudt65.dll: 91f7d31e19be159c682aedcab49e948a
+bin/icuin.dll: 3632ad7d32ee05018c5981b601e84c49
+bin/icuin65.dll: 3632ad7d32ee05018c5981b601e84c49
+bin/icuinfo.exe: 68f3a5f63ade67740302ab27d9576331
+bin/icuio.dll: 1031a987b85fa753b8821e6ad995e7ef
+bin/icuio65.dll: 1031a987b85fa753b8821e6ad995e7ef
+bin/icupkg.exe: f31b4a094d83d57345ce887830d65d13
+bin/icutest.dll: 9c2c53fedcd0db636e41b5d934412481
+bin/icutest65.dll: 9c2c53fedcd0db636e41b5d934412481
+bin/icutu.dll: 5d921612fdff2cd7477eeb3a37537827
+bin/icutu65.dll: 5d921612fdff2cd7477eeb3a37537827
+bin/icuuc.dll: b7c9077308dd7a2117ed14e102320fc6
+bin/icuuc65.dll: b7c9077308dd7a2117ed14e102320fc6
+bin/makeconv.exe: 33549fef25929dcf22f218201d6be4d9
+bin/pkgdata.exe: 2ee2c1c0e8eea44f578f88c6ec454ada
+conaninfo.txt: 99ef2c6b9431afc948348c7c42c5b77b
+include/unicode/alphaindex.h: 1be039746e3da3f7baa9421062373468
+include/unicode/appendable.h: 48b3a0a4c3044ad5f2af18f1ab48c8ff
+include/unicode/basictz.h: 57fe3c53d6b1a2bf5d1f40ec51efd7a1
+include/unicode/brkiter.h: e5ff475b7b01a97e5cd11a5362785921
+include/unicode/bytestream.h: 34a6807cd42f2e64ca60429897eb4b10
+include/unicode/bytestrie.h: d9be048d5c7e9dd0a2c6cd82e91e6002
+include/unicode/bytestriebuilder.h: 66236ad8247bd04c9ea525012b4c4ca8
+include/unicode/calendar.h: 692005b416fc2e4a8c497ff9b9a31bd8
+include/unicode/caniter.h: a70809c92ea90b654e9f11a793f84429
+include/unicode/casemap.h: d088e7422633b4cad3ad2b0b83ca239b
+include/unicode/char16ptr.h: c234b9ba14299c6068f5af1a936c1ead
+include/unicode/chariter.h: c8623016adba39ab38ef29f38ec87e45
+include/unicode/choicfmt.h: 832e7b39d19ec192ac1551360436f946
+include/unicode/coleitr.h: d9f07937d600ee811c121c0b0504724c
+include/unicode/coll.h: a2062360d7415e08abb01c44088f074e
+include/unicode/compactdecimalformat.h: 029f9640501bd640495c18397b5ff8bb
+include/unicode/curramt.h: 41fc0e62956b2e0fa7fd5e05213afc85
+include/unicode/currpinf.h: 09cbc4d9eb04b2aa2c4c155961f13c89
+include/unicode/currunit.h: 43648726f439d03c8c8a13b87c122332
+include/unicode/datefmt.h: 28ef92e98cdac29630b0aa0daf122798
+include/unicode/dbbi.h: 3d4186ec9549d6693d136257f610ec06
+include/unicode/dcfmtsym.h: b18b90c0c6371eab5028582492859142
+include/unicode/decimfmt.h: fb4231ddf75de524300ee952634ef038
+include/unicode/docmain.h: 697c221351932e373cf9e5903f40b723
+include/unicode/dtfmtsym.h: cabbccbf9deec91ebf291a19110007fb
+include/unicode/dtintrv.h: 7a7ce170e6035b90ef5b4bee91893833
+include/unicode/dtitvfmt.h: da220b13a8f895c4e77b653d865eb049
+include/unicode/dtitvinf.h: 1ad6b7f844a9362b2b7a0f509284cae7
+include/unicode/dtptngen.h: 8f8fcb053b5024c5b1d3dfc258f59344
+include/unicode/dtrule.h: 68551564f8ab72271d3574aa0cba381d
+include/unicode/edits.h: 6b8aa73dbf2c2f0b49da5bc5903bcc8c
+include/unicode/enumset.h: 3bb75fc43c88682895ae98c02e69810d
+include/unicode/errorcode.h: debeda4467a19aaf964fafc73629c8ae
+include/unicode/fieldpos.h: 3b041c7d9a5df0aef744b88e764af17e
+include/unicode/filteredbrk.h: e54dd29247eb75f8490423f7f8541691
+include/unicode/fmtable.h: 3816f155db2c35ac5de3f80ffdaa549c
+include/unicode/format.h: 0417863e1b303fa282659c4903e3a11c
+include/unicode/formattedvalue.h: fc50c8972404b212799d76cf8e647888
+include/unicode/fpositer.h: b5e8bbc249dc37e3b159f0a2b5053957
+include/unicode/gender.h: 5e093c1cfb96ef671f2e5dedb96a0d64
+include/unicode/gregocal.h: 15c7b4ceaca9b8b8f8e747d5427aa7a7
+include/unicode/icudataver.h: d1c480a9eb95aaa058a6b9311074bc33
+include/unicode/icuplug.h: 60ad27a2a36284bbc1766f9920769175
+include/unicode/idna.h: a7c3650d5311edeb01f754c574d0fb8b
+include/unicode/listformatter.h: 65911d72679c6e0a267e951b03467f37
+include/unicode/localebuilder.h: 1b6106448cf6cde7e7ebf25ee6fe4065
+include/unicode/localematcher.h: 3a03cbb5970a14fe153041c878f583f2
+include/unicode/localpointer.h: a89505f84a4bb4e231a17676f1b1d51a
+include/unicode/locdspnm.h: aa260a00e31e970757e3b3cbe00fff3d
+include/unicode/locid.h: 6caa36f85c9bab54b78ecd0c056789aa
+include/unicode/measfmt.h: 21b534367e4b3825dc70c3a289822df8
+include/unicode/measunit.h: 0f903f67958ad91e8bd2e49fc40c3075
+include/unicode/measure.h: 49091c823a2f12f5f60f7fecd7c452f2
+include/unicode/messagepattern.h: 15ecc58806c256ac91c2549d4f5c242f
+include/unicode/msgfmt.h: f9ff9322fa80486203829c15d4982573
+include/unicode/normalizer2.h: 436d923df3a66774b7bf26ffe75a5d1c
+include/unicode/normlzr.h: 5bf33ff933ee7eb49c330df38f490f57
+include/unicode/nounit.h: 2b4901f562077b370d82c4bbe229aac4
+include/unicode/numberformatter.h: 0f62c292f92d5598a61647bbf4294e1a
+include/unicode/numberrangeformatter.h: 58623918bf66f1fd6687f3dd03180a4b
+include/unicode/numfmt.h: 2a21117116463390ec4f19d53f485890
+include/unicode/numsys.h: 186ba43c003b4f56af3c63abd08f418e
+include/unicode/parseerr.h: ce38831411af01eeaf0bbbb6e1cb0153
+include/unicode/parsepos.h: 5c53fa7c473d4593fd72ce964b505807
+include/unicode/platform.h: 56fe53b31059acb1be086c45ce88e8c6
+include/unicode/plurfmt.h: 6f1b781b7a62a6ac1c7e4c6a2bb18d77
+include/unicode/plurrule.h: cf4b0b9ec1a525b96e7d27e489044337
+include/unicode/ptypes.h: d74097874c82f77331d8e06a5c59d37f
+include/unicode/putil.h: ee1c69d5060b8d5754bf8879bb7f10d1
+include/unicode/rbbi.h: 6c5f44ef812dfb48b65466732513c091
+include/unicode/rbnf.h: e870f2cf64c9b72eb549c413d6f98299
+include/unicode/rbtz.h: ea9f5a1edac3fe535ec7b83636daf61d
+include/unicode/regex.h: 16565e3d41228a76f17a63842d9594d2
+include/unicode/region.h: 22585a516ee7525f3e9094f2843b7640
+include/unicode/reldatefmt.h: 1b226903d9375471432582c27ade4934
+include/unicode/rep.h: eab550a9bbb33b4c1283ab16bc2dfafa
+include/unicode/resbund.h: cc93ada0e9871eee0a86f81548a3be73
+include/unicode/schriter.h: acea2a510e5c9127dad0e2538cf65ccd
+include/unicode/scientificnumberformatter.h: 40eb759fc2902b6c8e732b440fe6a1bc
+include/unicode/search.h: a93ebdadfc5113f1b9c9c185262ef461
+include/unicode/selfmt.h: 581ab6f6ac584265d5c56dad4051ee12
+include/unicode/simpleformatter.h: 8e5e9a9589359e06110af10bcf941d54
+include/unicode/simpletz.h: 194e0d388b74daa4cf51d012e2d14ebd
+include/unicode/smpdtfmt.h: 0e6383eafd569b511791e826b51df8d1
+include/unicode/sortkey.h: 27f3d671f37c27d0b36953d00c1f2e7b
+include/unicode/std_string.h: bb3b2e28a2ae9b66a60b7d90f8c07512
+include/unicode/strenum.h: 3c23eb4fa4d847b6afdd18adf3ccdaf5
+include/unicode/stringoptions.h: d4929224e8d9df2f272f0305780cbacb
+include/unicode/stringpiece.h: 3d7911a3b2a59830eaceb37e46110285
+include/unicode/stringtriebuilder.h: 08ce10a0f6e85f4bb078f69d5382f8bc
+include/unicode/stsearch.h: b15838a5cf5740b0aaa9af5356aef26b
+include/unicode/symtable.h: 7487ffc7069316553d08f1109965bf9d
+include/unicode/tblcoll.h: ee27157293d0802cde26d75c6098c1d3
+include/unicode/timezone.h: 54689b5ef15d0f03a146e8aeac163be8
+include/unicode/tmunit.h: 9ddf31866353dde1ae249ed93fce9234
+include/unicode/tmutamt.h: beea411e9f16d8b91fef39a297cd06d8
+include/unicode/tmutfmt.h: ae13f8ac46ad754bf83142943b19a647
+include/unicode/translit.h: f225620498133e8e4bcc2ad6679225e5
+include/unicode/tzfmt.h: b6c94cd901ffe5387f0245ca9fd68604
+include/unicode/tznames.h: a50010925037c01304c719e47bfb369a
+include/unicode/tzrule.h: 0e3465c0eeb27a0545f94bf9f5cfc21e
+include/unicode/tztrans.h: 117392a0dc2fe373946aecfa74475842
+include/unicode/ubidi.h: d90a13a2933198f134efefc0ff7563e6
+include/unicode/ubiditransform.h: fab65809ece8816f1a002eb843b80e29
+include/unicode/ubrk.h: e85002afa629b85ba239135ab11f47f0
+include/unicode/ucal.h: d247badde5d39cc16e06d26153054c85
+include/unicode/ucasemap.h: 2f240e1dc6db1771e843f1a03fd0c8f4
+include/unicode/ucat.h: f412352b86adccba85d7f3e4b4515064
+include/unicode/uchar.h: ebac2b0b753a1cd10db2f428736bf06d
+include/unicode/ucharstrie.h: 16d3d38154f1444b8a3425254ab7ab81
+include/unicode/ucharstriebuilder.h: b92f18132f6c1d61da0ad51b8099435d
+include/unicode/uchriter.h: a356cb90d62d9e425e5efbb071c30b21
+include/unicode/uclean.h: ef4b9289f510edd0bb6b779d0a299f44
+include/unicode/ucnv.h: db701a7a83540ef4dcfc4e780f1da016
+include/unicode/ucnv_cb.h: 69c1c5b156028cd623ed7e5b5b4ab730
+include/unicode/ucnv_err.h: 6ef0751460140d23ae678ef85c298906
+include/unicode/ucnvsel.h: 6e4c5e31c2a89439ef4945cd4a402ef3
+include/unicode/ucol.h: 47c1acc6c2bde098f0b06c8590d68b9f
+include/unicode/ucoleitr.h: b4576706530850666c1cfd2424276b26
+include/unicode/uconfig.h: 80678a12de446cdf8679cdd5792a12e9
+include/unicode/ucpmap.h: 0b16934410c99981d87ddd10e1759bed
+include/unicode/ucptrie.h: 7450de71dd5e1a83f5290da33d48d40d
+include/unicode/ucsdet.h: c7d5b3d36da0c71b0a85a72642439a90
+include/unicode/ucurr.h: 5de7a80ece54cf7583e19f292ad17825
+include/unicode/udat.h: c665d53e4691b564ae5394957fcdcf31
+include/unicode/udata.h: 98e2327300a26bbaf40bd8eb7eee8c1a
+include/unicode/udateintervalformat.h: 178f650518ecceeb2eca7b763dd68799
+include/unicode/udatpg.h: ce0332b911d1a820a0b45922bd0e97fc
+include/unicode/udisplaycontext.h: 57a269787da52ad6720ff5b1e87b5cdd
+include/unicode/uenum.h: 41cce54d4862d5068f4f087b935c0657
+include/unicode/ufieldpositer.h: 21f8ba8e285bfea4daa3da8a01911b7e
+include/unicode/uformattable.h: cad38a97f9f929ebc28d5e72dc5ec14f
+include/unicode/uformattedvalue.h: e1e69e0927595423076481b8f948fd2a
+include/unicode/ugender.h: d64c9ad1d5cf04136534e3aca38d2638
+include/unicode/uidna.h: 88ee381ec6ec01cb677f3e5222e9cf22
+include/unicode/uiter.h: 3fea96177f4f814091918f54d1e68ccd
+include/unicode/uldnames.h: d18634bc73c16b9ae02b6a60fd94d8be
+include/unicode/ulistformatter.h: 21277400caea3c7e7fdb57457c10e423
+include/unicode/uloc.h: 39d42620d3a97a7ae26d7b560ea3eacc
+include/unicode/ulocdata.h: 116fad6a2c0db0d08e3f5ae02d93a035
+include/unicode/umachine.h: 0a7fe7df81aedd43f322a9ec540feff5
+include/unicode/umisc.h: eca71d8c8bf86529ae5bbc5f34598bea
+include/unicode/umsg.h: 298645d31f8d8e209cbb5eb3751e3ceb
+include/unicode/umutablecptrie.h: 5dc81c63a8b2c80ffd401c9bb5180e61
+include/unicode/unifilt.h: e170c06bf1bf81a56c7ed605d41fa02f
+include/unicode/unifunct.h: 23981a5088ba5d5af70309b73eef7666
+include/unicode/unimatch.h: 66161ce491e3b24e9e011cfc0e78be42
+include/unicode/unirepl.h: 462716fd44618949b405645ba7b5c8e6
+include/unicode/uniset.h: cb94f902233b2e1807156afe0967e3e0
+include/unicode/unistr.h: 5ebe061e4a17e981bb249c4814f4dd9d
+include/unicode/unorm.h: ca96f37ed2e2afd56585a238d73cea51
+include/unicode/unorm2.h: e8fff4023ad114b325f346d2cdbbe043
+include/unicode/unum.h: 656d2aa9a41ca4b7bfad0a09420bdc23
+include/unicode/unumberformatter.h: 9be73b6bb76bb5862a8dfd615e563b82
+include/unicode/unumsys.h: 7e5dd76a0e07f790c30c944bfb810e71
+include/unicode/uobject.h: b56a28b01e3df9088315aeb145ec3a8e
+include/unicode/upluralrules.h: 15feae7c7df35b97d5e715f28f616e63
+include/unicode/uregex.h: 10fe8b8c9f98758bf192bc765fa45e3c
+include/unicode/uregion.h: a3f28f15972bf18600012815a8c76535
+include/unicode/ureldatefmt.h: d528589ebdc3f8cb6c27ce4867752c55
+include/unicode/urename.h: 1642d190b583bbaaf454ac65a37a8024
+include/unicode/urep.h: 6ada98ac1aa68081f10d17b1abadef6e
+include/unicode/ures.h: 8c69586a969eb2898d5d3e8c08beda9c
+include/unicode/uscript.h: 5bf2d96240b17507a05ebe4d36b1a38e
+include/unicode/usearch.h: 1f3fcea9dc6c40e908992e74f602235f
+include/unicode/uset.h: a285e1b480a3abaaee753ba74d245efd
+include/unicode/usetiter.h: ab1ebd4b0b9e3560a94a7c6cb3a9e48f
+include/unicode/ushape.h: 86fdf709d4312bb17cf95b16f58e1dc4
+include/unicode/uspoof.h: 8b9508cbe045b114f0f618d04fcab512
+include/unicode/usprep.h: e88585ae8bdb3a35aa88417993bde732
+include/unicode/ustdio.h: 3104e526d3de60538f42c0fd5430adcb
+include/unicode/ustream.h: 0a74df2b9d1967d0b859d21f5828f4e8
+include/unicode/ustring.h: 92f522f8ef62e443c11baa56c32e42e4
+include/unicode/ustringtrie.h: 54a28aa9c4e117cd3ebfd0a670324f6c
+include/unicode/utext.h: 89a08f750d0c5751d4f385c4874c0e61
+include/unicode/utf.h: 4434eeb75c89a49228884aa247714e1c
+include/unicode/utf16.h: 147fbb88d8300af3e38d80ce59c1c1ce
+include/unicode/utf32.h: a1fdf74f4bd8808f9fb17df371f886d9
+include/unicode/utf8.h: 7f0c4c02bd7506e80fd11a4597cc1450
+include/unicode/utf_old.h: 92ffc297b71c8d83ed05b644183c477c
+include/unicode/utmscale.h: 7c59d91f835bc9f4b805dd64e73851d7
+include/unicode/utrace.h: 420d2f8d462ae300ca1903c2a6ebaba3
+include/unicode/utrans.h: 5cd9b1f130197e5fdd8a66519233abf5
+include/unicode/utypes.h: 47eb8ff3f909dafa9bee14f8bb224342
+include/unicode/uvernum.h: a91a8e07c665891ed234de3a58302663
+include/unicode/uversion.h: 0b8f75f3d1c816ee3359dde5be390d17
+include/unicode/vtzone.h: 615f12cb0d05441d0872aa677db80a90
+lib/icu/65.1/Makefile.inc: deb555bb13d6bc64ecf03938649bcb42
+lib/icu/65.1/pkgdata.inc: 14bffb89dfab6dd2dabc9cf5e577ad54
+lib/icu/Makefile.inc: deb555bb13d6bc64ecf03938649bcb42
+lib/icu/current/Makefile.inc: deb555bb13d6bc64ecf03938649bcb42
+lib/icu/current/pkgdata.inc: 14bffb89dfab6dd2dabc9cf5e577ad54
+lib/icu/pkgdata.inc: 14bffb89dfab6dd2dabc9cf5e577ad54
+lib/icudt.lib: 58b9ec51a1777de1fb041aa28a7bb8da
+lib/icuin.lib: cca9b85fa3acdea42ff12221243200bf
+lib/icuio.lib: 991e3087c1bc4d830370c0f4e9f31263
+lib/icutest.lib: 58deae087e7a789565740f446b16ac7b
+lib/icutu.lib: 2edad731e421178212835b5beeaef3a8
+lib/icuuc.lib: 2fb6b667845492e190bc4b4d4c161728
+lib/pkgconfig/icu-i18n.pc: 8675adcacb3f4d1bc051fc74e4b2ad83
+lib/pkgconfig/icu-io.pc: d4525de45bc4dcde93b0e08c54d372f7
+lib/pkgconfig/icu-uc.pc: 43c29b64579be3832ffc3bf22af9d52a
+licenses/LICENSE: 8bc5d32052a96f214cbdd1e53dfc935d
+share/icu/65.1/LICENSE: 8bc5d32052a96f214cbdd1e53dfc935d
+share/icu/65.1/config/mh-msys-msvc: c3bf313c25288142820e4ab191c1c153
+share/icu/65.1/install-sh: 5afe8eb5573965dfb58378e4e46f3813
+share/icu/65.1/mkinstalldirs: 31c4856b24c8dbc6319819ccd43b4fda
+share/man/man1/derb.1: bddb017162105939f6d43c9539c99497
+share/man/man1/genbrk.1: a4e60e4a60ab26eb29119649bfb60d2b
+share/man/man1/gencfu.1: 4950b8178b944a3ebfea1c419ffd3319
+share/man/man1/gencnval.1: 53b10d9351473a7ea603400973377a7d
+share/man/man1/gendict.1: 9c1bf2760e5735b0e6601f48e92cb0d9
+share/man/man1/genrb.1: ffebc1e8007bd58f5623299e6b4babe8
+share/man/man1/icu-config.1: f4670ca16d77ce21310e48aa91f7ee5b
+share/man/man1/makeconv.1: c96397ad56d2c21649757c407aac46d8
+share/man/man1/pkgdata.1: 5f7b05c28de887cca1e5d7bfb9db4c39
+share/man/man8/genccode.8: 498418dc0aec1fa7ccfb83c491b5a23e
+share/man/man8/gencmn.8: c43635e431ea0f1616ea8266e36c0d75
+share/man/man8/gensprep.8: 396d70fec1a04aae25e6bfc6e8e58c65
+share/man/man8/icupkg.8: 430bcbed42faa9ea33b161a48c0490c6
diff --git a/coin/provisioning/common/windows/conan_manifests/icu/65.1/qtproject/stable/package/cd2d3d20ffbb190b9b990f98e6dedc2be0228764/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/icu/65.1/qtproject/stable/package/cd2d3d20ffbb190b9b990f98e6dedc2be0228764/conanmanifest.txt
new file mode 100644
index 00000000..6f0c7a16
--- /dev/null
+++ b/coin/provisioning/common/windows/conan_manifests/icu/65.1/qtproject/stable/package/cd2d3d20ffbb190b9b990f98e6dedc2be0228764/conanmanifest.txt
@@ -0,0 +1,250 @@
+1582256246
+bin/derb.exe: e6041fdf335b5a524557f138c869cc84
+bin/escapesrc.exe: 9cfd048a6bf3519b17f30df342966a33
+bin/genbrk.exe: 752b9f024858391ddbec6403bfb2048a
+bin/genccode.exe: 0369bda45bcbeb73f0915b74287d9ad5
+bin/gencfu.exe: ca626c73c414e88b65d934fa48a8f506
+bin/gencmn.exe: 8626f0646549407b32ac13d6e1952fd6
+bin/gencnval.exe: 3864bdb0a1b41b22d0582cb938cfcd5e
+bin/gendict.exe: a409064c7b8458063022de5fb14808b5
+bin/gennorm2.exe: 646e92dfa248ab1b06e4486b885a57ec
+bin/genrb.exe: 346551698bd19f0d29a57f1ed4f2fde7
+bin/gensprep.exe: 95680f967adc685b197756ba265cd7ef
+bin/icu-config: 09fb7ddac5b9883611c1f2fefb28e692
+bin/icudt.dll: a9192d258154160b288d939bb1eb3f96
+bin/icudt65.dll: 3a45a96f7e1e69d427063fe3627b1a38
+bin/icuin.dll: ab4224faef23c6b0bcb0601b44dd39b9
+bin/icuin65.dll: ab4224faef23c6b0bcb0601b44dd39b9
+bin/icuinfo.exe: abc421ec846b8d7dac99b1f4d296773d
+bin/icuio.dll: cab9b7f62754cbe7bce23d07bce9fedc
+bin/icuio65.dll: cab9b7f62754cbe7bce23d07bce9fedc
+bin/icupkg.exe: bc5f4f3f340b4621df456c4aed4073c2
+bin/icutest.dll: 921c386181ff37db17e063bc4cf55a62
+bin/icutest65.dll: 921c386181ff37db17e063bc4cf55a62
+bin/icutu.dll: f72c49d172522323d7069a96224d89a9
+bin/icutu65.dll: f72c49d172522323d7069a96224d89a9
+bin/icuuc.dll: afe869974d32eedcf1289b5592ea007c
+bin/icuuc65.dll: afe869974d32eedcf1289b5592ea007c
+bin/makeconv.exe: 5f302e72bc98f33db337fdb644c79181
+bin/pkgdata.exe: a48d51ee2d5a1e6d71dd2d7e98dc69be
+conaninfo.txt: ebe8d1091c909c57853d44504c05ac72
+include/unicode/alphaindex.h: 1be039746e3da3f7baa9421062373468
+include/unicode/appendable.h: 48b3a0a4c3044ad5f2af18f1ab48c8ff
+include/unicode/basictz.h: 57fe3c53d6b1a2bf5d1f40ec51efd7a1
+include/unicode/brkiter.h: e5ff475b7b01a97e5cd11a5362785921
+include/unicode/bytestream.h: 34a6807cd42f2e64ca60429897eb4b10
+include/unicode/bytestrie.h: d9be048d5c7e9dd0a2c6cd82e91e6002
+include/unicode/bytestriebuilder.h: 66236ad8247bd04c9ea525012b4c4ca8
+include/unicode/calendar.h: 692005b416fc2e4a8c497ff9b9a31bd8
+include/unicode/caniter.h: a70809c92ea90b654e9f11a793f84429
+include/unicode/casemap.h: d088e7422633b4cad3ad2b0b83ca239b
+include/unicode/char16ptr.h: c234b9ba14299c6068f5af1a936c1ead
+include/unicode/chariter.h: c8623016adba39ab38ef29f38ec87e45
+include/unicode/choicfmt.h: 832e7b39d19ec192ac1551360436f946
+include/unicode/coleitr.h: d9f07937d600ee811c121c0b0504724c
+include/unicode/coll.h: a2062360d7415e08abb01c44088f074e
+include/unicode/compactdecimalformat.h: 029f9640501bd640495c18397b5ff8bb
+include/unicode/curramt.h: 41fc0e62956b2e0fa7fd5e05213afc85
+include/unicode/currpinf.h: 09cbc4d9eb04b2aa2c4c155961f13c89
+include/unicode/currunit.h: 43648726f439d03c8c8a13b87c122332
+include/unicode/datefmt.h: 28ef92e98cdac29630b0aa0daf122798
+include/unicode/dbbi.h: 3d4186ec9549d6693d136257f610ec06
+include/unicode/dcfmtsym.h: b18b90c0c6371eab5028582492859142
+include/unicode/decimfmt.h: fb4231ddf75de524300ee952634ef038
+include/unicode/docmain.h: 697c221351932e373cf9e5903f40b723
+include/unicode/dtfmtsym.h: cabbccbf9deec91ebf291a19110007fb
+include/unicode/dtintrv.h: 7a7ce170e6035b90ef5b4bee91893833
+include/unicode/dtitvfmt.h: da220b13a8f895c4e77b653d865eb049
+include/unicode/dtitvinf.h: 1ad6b7f844a9362b2b7a0f509284cae7
+include/unicode/dtptngen.h: 8f8fcb053b5024c5b1d3dfc258f59344
+include/unicode/dtrule.h: 68551564f8ab72271d3574aa0cba381d
+include/unicode/edits.h: 6b8aa73dbf2c2f0b49da5bc5903bcc8c
+include/unicode/enumset.h: 3bb75fc43c88682895ae98c02e69810d
+include/unicode/errorcode.h: debeda4467a19aaf964fafc73629c8ae
+include/unicode/fieldpos.h: 3b041c7d9a5df0aef744b88e764af17e
+include/unicode/filteredbrk.h: e54dd29247eb75f8490423f7f8541691
+include/unicode/fmtable.h: 3816f155db2c35ac5de3f80ffdaa549c
+include/unicode/format.h: 0417863e1b303fa282659c4903e3a11c
+include/unicode/formattedvalue.h: fc50c8972404b212799d76cf8e647888
+include/unicode/fpositer.h: b5e8bbc249dc37e3b159f0a2b5053957
+include/unicode/gender.h: 5e093c1cfb96ef671f2e5dedb96a0d64
+include/unicode/gregocal.h: 15c7b4ceaca9b8b8f8e747d5427aa7a7
+include/unicode/icudataver.h: d1c480a9eb95aaa058a6b9311074bc33
+include/unicode/icuplug.h: 60ad27a2a36284bbc1766f9920769175
+include/unicode/idna.h: a7c3650d5311edeb01f754c574d0fb8b
+include/unicode/listformatter.h: 65911d72679c6e0a267e951b03467f37
+include/unicode/localebuilder.h: 1b6106448cf6cde7e7ebf25ee6fe4065
+include/unicode/localematcher.h: 3a03cbb5970a14fe153041c878f583f2
+include/unicode/localpointer.h: a89505f84a4bb4e231a17676f1b1d51a
+include/unicode/locdspnm.h: aa260a00e31e970757e3b3cbe00fff3d
+include/unicode/locid.h: 6caa36f85c9bab54b78ecd0c056789aa
+include/unicode/measfmt.h: 21b534367e4b3825dc70c3a289822df8
+include/unicode/measunit.h: 0f903f67958ad91e8bd2e49fc40c3075
+include/unicode/measure.h: 49091c823a2f12f5f60f7fecd7c452f2
+include/unicode/messagepattern.h: 15ecc58806c256ac91c2549d4f5c242f
+include/unicode/msgfmt.h: f9ff9322fa80486203829c15d4982573
+include/unicode/normalizer2.h: 436d923df3a66774b7bf26ffe75a5d1c
+include/unicode/normlzr.h: 5bf33ff933ee7eb49c330df38f490f57
+include/unicode/nounit.h: 2b4901f562077b370d82c4bbe229aac4
+include/unicode/numberformatter.h: 0f62c292f92d5598a61647bbf4294e1a
+include/unicode/numberrangeformatter.h: 58623918bf66f1fd6687f3dd03180a4b
+include/unicode/numfmt.h: 2a21117116463390ec4f19d53f485890
+include/unicode/numsys.h: 186ba43c003b4f56af3c63abd08f418e
+include/unicode/parseerr.h: ce38831411af01eeaf0bbbb6e1cb0153
+include/unicode/parsepos.h: 5c53fa7c473d4593fd72ce964b505807
+include/unicode/platform.h: 56fe53b31059acb1be086c45ce88e8c6
+include/unicode/plurfmt.h: 6f1b781b7a62a6ac1c7e4c6a2bb18d77
+include/unicode/plurrule.h: cf4b0b9ec1a525b96e7d27e489044337
+include/unicode/ptypes.h: d74097874c82f77331d8e06a5c59d37f
+include/unicode/putil.h: ee1c69d5060b8d5754bf8879bb7f10d1
+include/unicode/rbbi.h: 6c5f44ef812dfb48b65466732513c091
+include/unicode/rbnf.h: e870f2cf64c9b72eb549c413d6f98299
+include/unicode/rbtz.h: ea9f5a1edac3fe535ec7b83636daf61d
+include/unicode/regex.h: 16565e3d41228a76f17a63842d9594d2
+include/unicode/region.h: 22585a516ee7525f3e9094f2843b7640
+include/unicode/reldatefmt.h: 1b226903d9375471432582c27ade4934
+include/unicode/rep.h: eab550a9bbb33b4c1283ab16bc2dfafa
+include/unicode/resbund.h: cc93ada0e9871eee0a86f81548a3be73
+include/unicode/schriter.h: acea2a510e5c9127dad0e2538cf65ccd
+include/unicode/scientificnumberformatter.h: 40eb759fc2902b6c8e732b440fe6a1bc
+include/unicode/search.h: a93ebdadfc5113f1b9c9c185262ef461
+include/unicode/selfmt.h: 581ab6f6ac584265d5c56dad4051ee12
+include/unicode/simpleformatter.h: 8e5e9a9589359e06110af10bcf941d54
+include/unicode/simpletz.h: 194e0d388b74daa4cf51d012e2d14ebd
+include/unicode/smpdtfmt.h: 0e6383eafd569b511791e826b51df8d1
+include/unicode/sortkey.h: 27f3d671f37c27d0b36953d00c1f2e7b
+include/unicode/std_string.h: bb3b2e28a2ae9b66a60b7d90f8c07512
+include/unicode/strenum.h: 3c23eb4fa4d847b6afdd18adf3ccdaf5
+include/unicode/stringoptions.h: d4929224e8d9df2f272f0305780cbacb
+include/unicode/stringpiece.h: 3d7911a3b2a59830eaceb37e46110285
+include/unicode/stringtriebuilder.h: 08ce10a0f6e85f4bb078f69d5382f8bc
+include/unicode/stsearch.h: b15838a5cf5740b0aaa9af5356aef26b
+include/unicode/symtable.h: 7487ffc7069316553d08f1109965bf9d
+include/unicode/tblcoll.h: ee27157293d0802cde26d75c6098c1d3
+include/unicode/timezone.h: 54689b5ef15d0f03a146e8aeac163be8
+include/unicode/tmunit.h: 9ddf31866353dde1ae249ed93fce9234
+include/unicode/tmutamt.h: beea411e9f16d8b91fef39a297cd06d8
+include/unicode/tmutfmt.h: ae13f8ac46ad754bf83142943b19a647
+include/unicode/translit.h: f225620498133e8e4bcc2ad6679225e5
+include/unicode/tzfmt.h: b6c94cd901ffe5387f0245ca9fd68604
+include/unicode/tznames.h: a50010925037c01304c719e47bfb369a
+include/unicode/tzrule.h: 0e3465c0eeb27a0545f94bf9f5cfc21e
+include/unicode/tztrans.h: 117392a0dc2fe373946aecfa74475842
+include/unicode/ubidi.h: d90a13a2933198f134efefc0ff7563e6
+include/unicode/ubiditransform.h: fab65809ece8816f1a002eb843b80e29
+include/unicode/ubrk.h: e85002afa629b85ba239135ab11f47f0
+include/unicode/ucal.h: d247badde5d39cc16e06d26153054c85
+include/unicode/ucasemap.h: 2f240e1dc6db1771e843f1a03fd0c8f4
+include/unicode/ucat.h: f412352b86adccba85d7f3e4b4515064
+include/unicode/uchar.h: ebac2b0b753a1cd10db2f428736bf06d
+include/unicode/ucharstrie.h: 16d3d38154f1444b8a3425254ab7ab81
+include/unicode/ucharstriebuilder.h: b92f18132f6c1d61da0ad51b8099435d
+include/unicode/uchriter.h: a356cb90d62d9e425e5efbb071c30b21
+include/unicode/uclean.h: ef4b9289f510edd0bb6b779d0a299f44
+include/unicode/ucnv.h: db701a7a83540ef4dcfc4e780f1da016
+include/unicode/ucnv_cb.h: 69c1c5b156028cd623ed7e5b5b4ab730
+include/unicode/ucnv_err.h: 6ef0751460140d23ae678ef85c298906
+include/unicode/ucnvsel.h: 6e4c5e31c2a89439ef4945cd4a402ef3
+include/unicode/ucol.h: 47c1acc6c2bde098f0b06c8590d68b9f
+include/unicode/ucoleitr.h: b4576706530850666c1cfd2424276b26
+include/unicode/uconfig.h: 80678a12de446cdf8679cdd5792a12e9
+include/unicode/ucpmap.h: 0b16934410c99981d87ddd10e1759bed
+include/unicode/ucptrie.h: 7450de71dd5e1a83f5290da33d48d40d
+include/unicode/ucsdet.h: c7d5b3d36da0c71b0a85a72642439a90
+include/unicode/ucurr.h: 5de7a80ece54cf7583e19f292ad17825
+include/unicode/udat.h: c665d53e4691b564ae5394957fcdcf31
+include/unicode/udata.h: 98e2327300a26bbaf40bd8eb7eee8c1a
+include/unicode/udateintervalformat.h: 178f650518ecceeb2eca7b763dd68799
+include/unicode/udatpg.h: ce0332b911d1a820a0b45922bd0e97fc
+include/unicode/udisplaycontext.h: 57a269787da52ad6720ff5b1e87b5cdd
+include/unicode/uenum.h: 41cce54d4862d5068f4f087b935c0657
+include/unicode/ufieldpositer.h: 21f8ba8e285bfea4daa3da8a01911b7e
+include/unicode/uformattable.h: cad38a97f9f929ebc28d5e72dc5ec14f
+include/unicode/uformattedvalue.h: e1e69e0927595423076481b8f948fd2a
+include/unicode/ugender.h: d64c9ad1d5cf04136534e3aca38d2638
+include/unicode/uidna.h: 88ee381ec6ec01cb677f3e5222e9cf22
+include/unicode/uiter.h: 3fea96177f4f814091918f54d1e68ccd
+include/unicode/uldnames.h: d18634bc73c16b9ae02b6a60fd94d8be
+include/unicode/ulistformatter.h: 21277400caea3c7e7fdb57457c10e423
+include/unicode/uloc.h: 39d42620d3a97a7ae26d7b560ea3eacc
+include/unicode/ulocdata.h: 116fad6a2c0db0d08e3f5ae02d93a035
+include/unicode/umachine.h: 0a7fe7df81aedd43f322a9ec540feff5
+include/unicode/umisc.h: eca71d8c8bf86529ae5bbc5f34598bea
+include/unicode/umsg.h: 298645d31f8d8e209cbb5eb3751e3ceb
+include/unicode/umutablecptrie.h: 5dc81c63a8b2c80ffd401c9bb5180e61
+include/unicode/unifilt.h: e170c06bf1bf81a56c7ed605d41fa02f
+include/unicode/unifunct.h: 23981a5088ba5d5af70309b73eef7666
+include/unicode/unimatch.h: 66161ce491e3b24e9e011cfc0e78be42
+include/unicode/unirepl.h: 462716fd44618949b405645ba7b5c8e6
+include/unicode/uniset.h: cb94f902233b2e1807156afe0967e3e0
+include/unicode/unistr.h: 5ebe061e4a17e981bb249c4814f4dd9d
+include/unicode/unorm.h: ca96f37ed2e2afd56585a238d73cea51
+include/unicode/unorm2.h: e8fff4023ad114b325f346d2cdbbe043
+include/unicode/unum.h: 656d2aa9a41ca4b7bfad0a09420bdc23
+include/unicode/unumberformatter.h: 9be73b6bb76bb5862a8dfd615e563b82
+include/unicode/unumsys.h: 7e5dd76a0e07f790c30c944bfb810e71
+include/unicode/uobject.h: b56a28b01e3df9088315aeb145ec3a8e
+include/unicode/upluralrules.h: 15feae7c7df35b97d5e715f28f616e63
+include/unicode/uregex.h: 10fe8b8c9f98758bf192bc765fa45e3c
+include/unicode/uregion.h: a3f28f15972bf18600012815a8c76535
+include/unicode/ureldatefmt.h: d528589ebdc3f8cb6c27ce4867752c55
+include/unicode/urename.h: 1642d190b583bbaaf454ac65a37a8024
+include/unicode/urep.h: 6ada98ac1aa68081f10d17b1abadef6e
+include/unicode/ures.h: 8c69586a969eb2898d5d3e8c08beda9c
+include/unicode/uscript.h: 5bf2d96240b17507a05ebe4d36b1a38e
+include/unicode/usearch.h: 1f3fcea9dc6c40e908992e74f602235f
+include/unicode/uset.h: a285e1b480a3abaaee753ba74d245efd
+include/unicode/usetiter.h: ab1ebd4b0b9e3560a94a7c6cb3a9e48f
+include/unicode/ushape.h: 86fdf709d4312bb17cf95b16f58e1dc4
+include/unicode/uspoof.h: 8b9508cbe045b114f0f618d04fcab512
+include/unicode/usprep.h: e88585ae8bdb3a35aa88417993bde732
+include/unicode/ustdio.h: 3104e526d3de60538f42c0fd5430adcb
+include/unicode/ustream.h: 0a74df2b9d1967d0b859d21f5828f4e8
+include/unicode/ustring.h: 92f522f8ef62e443c11baa56c32e42e4
+include/unicode/ustringtrie.h: 54a28aa9c4e117cd3ebfd0a670324f6c
+include/unicode/utext.h: 89a08f750d0c5751d4f385c4874c0e61
+include/unicode/utf.h: 4434eeb75c89a49228884aa247714e1c
+include/unicode/utf16.h: 147fbb88d8300af3e38d80ce59c1c1ce
+include/unicode/utf32.h: a1fdf74f4bd8808f9fb17df371f886d9
+include/unicode/utf8.h: 7f0c4c02bd7506e80fd11a4597cc1450
+include/unicode/utf_old.h: 92ffc297b71c8d83ed05b644183c477c
+include/unicode/utmscale.h: 7c59d91f835bc9f4b805dd64e73851d7
+include/unicode/utrace.h: 420d2f8d462ae300ca1903c2a6ebaba3
+include/unicode/utrans.h: 5cd9b1f130197e5fdd8a66519233abf5
+include/unicode/utypes.h: 47eb8ff3f909dafa9bee14f8bb224342
+include/unicode/uvernum.h: a91a8e07c665891ed234de3a58302663
+include/unicode/uversion.h: 0b8f75f3d1c816ee3359dde5be390d17
+include/unicode/vtzone.h: 615f12cb0d05441d0872aa677db80a90
+lib/icu/65.1/Makefile.inc: 73ad866aae05ced0a9a9d1458dc1bf8f
+lib/icu/65.1/pkgdata.inc: bf50cad45e347453287b6c89411eaea9
+lib/icu/Makefile.inc: 73ad866aae05ced0a9a9d1458dc1bf8f
+lib/icu/current/Makefile.inc: 73ad866aae05ced0a9a9d1458dc1bf8f
+lib/icu/current/pkgdata.inc: bf50cad45e347453287b6c89411eaea9
+lib/icu/pkgdata.inc: bf50cad45e347453287b6c89411eaea9
+lib/icudt.lib: 5dbe4c8d0feeacf4d9eea9d067a7afc3
+lib/icuin.lib: 45f344989a36defbc1f0f7227308865d
+lib/icuio.lib: 33e944538f0f5c890581d2e8840bba83
+lib/icutest.lib: cc355097c595e6c1c4a1cb1e92ed311a
+lib/icutu.lib: 5db94d78a0f650efa606d964444b78e8
+lib/icuuc.lib: 80d1fd2e66b136767395e3811227737c
+lib/pkgconfig/icu-i18n.pc: 648b5d9ec85b0426e1069c02742b5617
+lib/pkgconfig/icu-io.pc: 34521e04a76356658abd41e3932acd56
+lib/pkgconfig/icu-uc.pc: cb702fa4b4c1fa616e01eb228cebd947
+licenses/LICENSE: 8bc5d32052a96f214cbdd1e53dfc935d
+share/icu/65.1/LICENSE: 8bc5d32052a96f214cbdd1e53dfc935d
+share/icu/65.1/config/mh-msys-msvc: c3bf313c25288142820e4ab191c1c153
+share/icu/65.1/install-sh: 5afe8eb5573965dfb58378e4e46f3813
+share/icu/65.1/mkinstalldirs: 31c4856b24c8dbc6319819ccd43b4fda
+share/man/man1/derb.1: bddb017162105939f6d43c9539c99497
+share/man/man1/genbrk.1: a4e60e4a60ab26eb29119649bfb60d2b
+share/man/man1/gencfu.1: 4950b8178b944a3ebfea1c419ffd3319
+share/man/man1/gencnval.1: 53b10d9351473a7ea603400973377a7d
+share/man/man1/gendict.1: 9c1bf2760e5735b0e6601f48e92cb0d9
+share/man/man1/genrb.1: ffebc1e8007bd58f5623299e6b4babe8
+share/man/man1/icu-config.1: f4670ca16d77ce21310e48aa91f7ee5b
+share/man/man1/makeconv.1: c96397ad56d2c21649757c407aac46d8
+share/man/man1/pkgdata.1: 5f7b05c28de887cca1e5d7bfb9db4c39
+share/man/man8/genccode.8: 498418dc0aec1fa7ccfb83c491b5a23e
+share/man/man8/gencmn.8: c43635e431ea0f1616ea8266e36c0d75
+share/man/man8/gensprep.8: 396d70fec1a04aae25e6bfc6e8e58c65
+share/man/man8/icupkg.8: 430bcbed42faa9ea33b161a48c0490c6
diff --git a/coin/provisioning/common/windows/conan_manifests/icu/65.1/qtproject/stable/package/e493e4ecb2fa207a4d212307e7d30a35fc0dde29/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/icu/65.1/qtproject/stable/package/e493e4ecb2fa207a4d212307e7d30a35fc0dde29/conanmanifest.txt
new file mode 100644
index 00000000..b8dd8f97
--- /dev/null
+++ b/coin/provisioning/common/windows/conan_manifests/icu/65.1/qtproject/stable/package/e493e4ecb2fa207a4d212307e7d30a35fc0dde29/conanmanifest.txt
@@ -0,0 +1,250 @@
+1582256998
+bin/derb.exe: db2e978367ccf635ff7ecc7d1514778e
+bin/escapesrc.exe: 647ffe2234275d13cffef8b84f052700
+bin/genbrk.exe: fceaae69a437fdcd4ed1f79bdeac6f13
+bin/genccode.exe: 81e45377e293edabeb321ba3ab339abb
+bin/gencfu.exe: 78036b67e099cc312da25d80f9c8b6cf
+bin/gencmn.exe: 4f73ec63d48e3935e0fa67313a7d8f8f
+bin/gencnval.exe: 38519687874be469d38e8aadc74d5dc7
+bin/gendict.exe: be263dfa3e3267340bb4a8815bd4f72e
+bin/gennorm2.exe: 8e51f5820ec15ed33edb293d5d154138
+bin/genrb.exe: 0a911668227dec1fca18e7299d737d59
+bin/gensprep.exe: a96ab9a47ea6e80869c2f732d66296e6
+bin/icu-config: 4d315b6fa7b53efaf8974aaceb0c7a18
+bin/icudt.dll: a8b8ce26bbfb30b99d97a5ced4d016ed
+bin/icudt65.dll: d134d26eb54ba7d5b637c16c974737fb
+bin/icuin.dll: 5bb19d323881787da00a706f86b7a77a
+bin/icuin65.dll: 5bb19d323881787da00a706f86b7a77a
+bin/icuinfo.exe: d9e0c244e7a939c48c2fa2536ea3c836
+bin/icuio.dll: 98c919ca7fc813e8dc5f645fcc914e5b
+bin/icuio65.dll: 98c919ca7fc813e8dc5f645fcc914e5b
+bin/icupkg.exe: 5b9542ec3f054880d2ec484516fae931
+bin/icutest.dll: e94878f59e7de6f7b2cc52476540c578
+bin/icutest65.dll: e94878f59e7de6f7b2cc52476540c578
+bin/icutu.dll: 22d3955eeabe583ef8f339d43ee32e3f
+bin/icutu65.dll: 22d3955eeabe583ef8f339d43ee32e3f
+bin/icuuc.dll: 7871b100e82744b16a608d01df837485
+bin/icuuc65.dll: 7871b100e82744b16a608d01df837485
+bin/makeconv.exe: 3fae3578534581895353052e4268c8e8
+bin/pkgdata.exe: 3a91ebe880d28e02b72b69bef2508337
+conaninfo.txt: 81e378c465132a1385850c1d3d4394ed
+include/unicode/alphaindex.h: 1be039746e3da3f7baa9421062373468
+include/unicode/appendable.h: 48b3a0a4c3044ad5f2af18f1ab48c8ff
+include/unicode/basictz.h: 57fe3c53d6b1a2bf5d1f40ec51efd7a1
+include/unicode/brkiter.h: e5ff475b7b01a97e5cd11a5362785921
+include/unicode/bytestream.h: 34a6807cd42f2e64ca60429897eb4b10
+include/unicode/bytestrie.h: d9be048d5c7e9dd0a2c6cd82e91e6002
+include/unicode/bytestriebuilder.h: 66236ad8247bd04c9ea525012b4c4ca8
+include/unicode/calendar.h: 692005b416fc2e4a8c497ff9b9a31bd8
+include/unicode/caniter.h: a70809c92ea90b654e9f11a793f84429
+include/unicode/casemap.h: d088e7422633b4cad3ad2b0b83ca239b
+include/unicode/char16ptr.h: c234b9ba14299c6068f5af1a936c1ead
+include/unicode/chariter.h: c8623016adba39ab38ef29f38ec87e45
+include/unicode/choicfmt.h: 832e7b39d19ec192ac1551360436f946
+include/unicode/coleitr.h: d9f07937d600ee811c121c0b0504724c
+include/unicode/coll.h: a2062360d7415e08abb01c44088f074e
+include/unicode/compactdecimalformat.h: 029f9640501bd640495c18397b5ff8bb
+include/unicode/curramt.h: 41fc0e62956b2e0fa7fd5e05213afc85
+include/unicode/currpinf.h: 09cbc4d9eb04b2aa2c4c155961f13c89
+include/unicode/currunit.h: 43648726f439d03c8c8a13b87c122332
+include/unicode/datefmt.h: 28ef92e98cdac29630b0aa0daf122798
+include/unicode/dbbi.h: 3d4186ec9549d6693d136257f610ec06
+include/unicode/dcfmtsym.h: b18b90c0c6371eab5028582492859142
+include/unicode/decimfmt.h: fb4231ddf75de524300ee952634ef038
+include/unicode/docmain.h: 697c221351932e373cf9e5903f40b723
+include/unicode/dtfmtsym.h: cabbccbf9deec91ebf291a19110007fb
+include/unicode/dtintrv.h: 7a7ce170e6035b90ef5b4bee91893833
+include/unicode/dtitvfmt.h: da220b13a8f895c4e77b653d865eb049
+include/unicode/dtitvinf.h: 1ad6b7f844a9362b2b7a0f509284cae7
+include/unicode/dtptngen.h: 8f8fcb053b5024c5b1d3dfc258f59344
+include/unicode/dtrule.h: 68551564f8ab72271d3574aa0cba381d
+include/unicode/edits.h: 6b8aa73dbf2c2f0b49da5bc5903bcc8c
+include/unicode/enumset.h: 3bb75fc43c88682895ae98c02e69810d
+include/unicode/errorcode.h: debeda4467a19aaf964fafc73629c8ae
+include/unicode/fieldpos.h: 3b041c7d9a5df0aef744b88e764af17e
+include/unicode/filteredbrk.h: e54dd29247eb75f8490423f7f8541691
+include/unicode/fmtable.h: 3816f155db2c35ac5de3f80ffdaa549c
+include/unicode/format.h: 0417863e1b303fa282659c4903e3a11c
+include/unicode/formattedvalue.h: fc50c8972404b212799d76cf8e647888
+include/unicode/fpositer.h: b5e8bbc249dc37e3b159f0a2b5053957
+include/unicode/gender.h: 5e093c1cfb96ef671f2e5dedb96a0d64
+include/unicode/gregocal.h: 15c7b4ceaca9b8b8f8e747d5427aa7a7
+include/unicode/icudataver.h: d1c480a9eb95aaa058a6b9311074bc33
+include/unicode/icuplug.h: 60ad27a2a36284bbc1766f9920769175
+include/unicode/idna.h: a7c3650d5311edeb01f754c574d0fb8b
+include/unicode/listformatter.h: 65911d72679c6e0a267e951b03467f37
+include/unicode/localebuilder.h: 1b6106448cf6cde7e7ebf25ee6fe4065
+include/unicode/localematcher.h: 3a03cbb5970a14fe153041c878f583f2
+include/unicode/localpointer.h: a89505f84a4bb4e231a17676f1b1d51a
+include/unicode/locdspnm.h: aa260a00e31e970757e3b3cbe00fff3d
+include/unicode/locid.h: 6caa36f85c9bab54b78ecd0c056789aa
+include/unicode/measfmt.h: 21b534367e4b3825dc70c3a289822df8
+include/unicode/measunit.h: 0f903f67958ad91e8bd2e49fc40c3075
+include/unicode/measure.h: 49091c823a2f12f5f60f7fecd7c452f2
+include/unicode/messagepattern.h: 15ecc58806c256ac91c2549d4f5c242f
+include/unicode/msgfmt.h: f9ff9322fa80486203829c15d4982573
+include/unicode/normalizer2.h: 436d923df3a66774b7bf26ffe75a5d1c
+include/unicode/normlzr.h: 5bf33ff933ee7eb49c330df38f490f57
+include/unicode/nounit.h: 2b4901f562077b370d82c4bbe229aac4
+include/unicode/numberformatter.h: 0f62c292f92d5598a61647bbf4294e1a
+include/unicode/numberrangeformatter.h: 58623918bf66f1fd6687f3dd03180a4b
+include/unicode/numfmt.h: 2a21117116463390ec4f19d53f485890
+include/unicode/numsys.h: 186ba43c003b4f56af3c63abd08f418e
+include/unicode/parseerr.h: ce38831411af01eeaf0bbbb6e1cb0153
+include/unicode/parsepos.h: 5c53fa7c473d4593fd72ce964b505807
+include/unicode/platform.h: 56fe53b31059acb1be086c45ce88e8c6
+include/unicode/plurfmt.h: 6f1b781b7a62a6ac1c7e4c6a2bb18d77
+include/unicode/plurrule.h: cf4b0b9ec1a525b96e7d27e489044337
+include/unicode/ptypes.h: d74097874c82f77331d8e06a5c59d37f
+include/unicode/putil.h: ee1c69d5060b8d5754bf8879bb7f10d1
+include/unicode/rbbi.h: 6c5f44ef812dfb48b65466732513c091
+include/unicode/rbnf.h: e870f2cf64c9b72eb549c413d6f98299
+include/unicode/rbtz.h: ea9f5a1edac3fe535ec7b83636daf61d
+include/unicode/regex.h: 16565e3d41228a76f17a63842d9594d2
+include/unicode/region.h: 22585a516ee7525f3e9094f2843b7640
+include/unicode/reldatefmt.h: 1b226903d9375471432582c27ade4934
+include/unicode/rep.h: eab550a9bbb33b4c1283ab16bc2dfafa
+include/unicode/resbund.h: cc93ada0e9871eee0a86f81548a3be73
+include/unicode/schriter.h: acea2a510e5c9127dad0e2538cf65ccd
+include/unicode/scientificnumberformatter.h: 40eb759fc2902b6c8e732b440fe6a1bc
+include/unicode/search.h: a93ebdadfc5113f1b9c9c185262ef461
+include/unicode/selfmt.h: 581ab6f6ac584265d5c56dad4051ee12
+include/unicode/simpleformatter.h: 8e5e9a9589359e06110af10bcf941d54
+include/unicode/simpletz.h: 194e0d388b74daa4cf51d012e2d14ebd
+include/unicode/smpdtfmt.h: 0e6383eafd569b511791e826b51df8d1
+include/unicode/sortkey.h: 27f3d671f37c27d0b36953d00c1f2e7b
+include/unicode/std_string.h: bb3b2e28a2ae9b66a60b7d90f8c07512
+include/unicode/strenum.h: 3c23eb4fa4d847b6afdd18adf3ccdaf5
+include/unicode/stringoptions.h: d4929224e8d9df2f272f0305780cbacb
+include/unicode/stringpiece.h: 3d7911a3b2a59830eaceb37e46110285
+include/unicode/stringtriebuilder.h: 08ce10a0f6e85f4bb078f69d5382f8bc
+include/unicode/stsearch.h: b15838a5cf5740b0aaa9af5356aef26b
+include/unicode/symtable.h: 7487ffc7069316553d08f1109965bf9d
+include/unicode/tblcoll.h: ee27157293d0802cde26d75c6098c1d3
+include/unicode/timezone.h: 54689b5ef15d0f03a146e8aeac163be8
+include/unicode/tmunit.h: 9ddf31866353dde1ae249ed93fce9234
+include/unicode/tmutamt.h: beea411e9f16d8b91fef39a297cd06d8
+include/unicode/tmutfmt.h: ae13f8ac46ad754bf83142943b19a647
+include/unicode/translit.h: f225620498133e8e4bcc2ad6679225e5
+include/unicode/tzfmt.h: b6c94cd901ffe5387f0245ca9fd68604
+include/unicode/tznames.h: a50010925037c01304c719e47bfb369a
+include/unicode/tzrule.h: 0e3465c0eeb27a0545f94bf9f5cfc21e
+include/unicode/tztrans.h: 117392a0dc2fe373946aecfa74475842
+include/unicode/ubidi.h: d90a13a2933198f134efefc0ff7563e6
+include/unicode/ubiditransform.h: fab65809ece8816f1a002eb843b80e29
+include/unicode/ubrk.h: e85002afa629b85ba239135ab11f47f0
+include/unicode/ucal.h: d247badde5d39cc16e06d26153054c85
+include/unicode/ucasemap.h: 2f240e1dc6db1771e843f1a03fd0c8f4
+include/unicode/ucat.h: f412352b86adccba85d7f3e4b4515064
+include/unicode/uchar.h: ebac2b0b753a1cd10db2f428736bf06d
+include/unicode/ucharstrie.h: 16d3d38154f1444b8a3425254ab7ab81
+include/unicode/ucharstriebuilder.h: b92f18132f6c1d61da0ad51b8099435d
+include/unicode/uchriter.h: a356cb90d62d9e425e5efbb071c30b21
+include/unicode/uclean.h: ef4b9289f510edd0bb6b779d0a299f44
+include/unicode/ucnv.h: db701a7a83540ef4dcfc4e780f1da016
+include/unicode/ucnv_cb.h: 69c1c5b156028cd623ed7e5b5b4ab730
+include/unicode/ucnv_err.h: 6ef0751460140d23ae678ef85c298906
+include/unicode/ucnvsel.h: 6e4c5e31c2a89439ef4945cd4a402ef3
+include/unicode/ucol.h: 47c1acc6c2bde098f0b06c8590d68b9f
+include/unicode/ucoleitr.h: b4576706530850666c1cfd2424276b26
+include/unicode/uconfig.h: 80678a12de446cdf8679cdd5792a12e9
+include/unicode/ucpmap.h: 0b16934410c99981d87ddd10e1759bed
+include/unicode/ucptrie.h: 7450de71dd5e1a83f5290da33d48d40d
+include/unicode/ucsdet.h: c7d5b3d36da0c71b0a85a72642439a90
+include/unicode/ucurr.h: 5de7a80ece54cf7583e19f292ad17825
+include/unicode/udat.h: c665d53e4691b564ae5394957fcdcf31
+include/unicode/udata.h: 98e2327300a26bbaf40bd8eb7eee8c1a
+include/unicode/udateintervalformat.h: 178f650518ecceeb2eca7b763dd68799
+include/unicode/udatpg.h: ce0332b911d1a820a0b45922bd0e97fc
+include/unicode/udisplaycontext.h: 57a269787da52ad6720ff5b1e87b5cdd
+include/unicode/uenum.h: 41cce54d4862d5068f4f087b935c0657
+include/unicode/ufieldpositer.h: 21f8ba8e285bfea4daa3da8a01911b7e
+include/unicode/uformattable.h: cad38a97f9f929ebc28d5e72dc5ec14f
+include/unicode/uformattedvalue.h: e1e69e0927595423076481b8f948fd2a
+include/unicode/ugender.h: d64c9ad1d5cf04136534e3aca38d2638
+include/unicode/uidna.h: 88ee381ec6ec01cb677f3e5222e9cf22
+include/unicode/uiter.h: 3fea96177f4f814091918f54d1e68ccd
+include/unicode/uldnames.h: d18634bc73c16b9ae02b6a60fd94d8be
+include/unicode/ulistformatter.h: 21277400caea3c7e7fdb57457c10e423
+include/unicode/uloc.h: 39d42620d3a97a7ae26d7b560ea3eacc
+include/unicode/ulocdata.h: 116fad6a2c0db0d08e3f5ae02d93a035
+include/unicode/umachine.h: 0a7fe7df81aedd43f322a9ec540feff5
+include/unicode/umisc.h: eca71d8c8bf86529ae5bbc5f34598bea
+include/unicode/umsg.h: 298645d31f8d8e209cbb5eb3751e3ceb
+include/unicode/umutablecptrie.h: 5dc81c63a8b2c80ffd401c9bb5180e61
+include/unicode/unifilt.h: e170c06bf1bf81a56c7ed605d41fa02f
+include/unicode/unifunct.h: 23981a5088ba5d5af70309b73eef7666
+include/unicode/unimatch.h: 66161ce491e3b24e9e011cfc0e78be42
+include/unicode/unirepl.h: 462716fd44618949b405645ba7b5c8e6
+include/unicode/uniset.h: cb94f902233b2e1807156afe0967e3e0
+include/unicode/unistr.h: 5ebe061e4a17e981bb249c4814f4dd9d
+include/unicode/unorm.h: ca96f37ed2e2afd56585a238d73cea51
+include/unicode/unorm2.h: e8fff4023ad114b325f346d2cdbbe043
+include/unicode/unum.h: 656d2aa9a41ca4b7bfad0a09420bdc23
+include/unicode/unumberformatter.h: 9be73b6bb76bb5862a8dfd615e563b82
+include/unicode/unumsys.h: 7e5dd76a0e07f790c30c944bfb810e71
+include/unicode/uobject.h: b56a28b01e3df9088315aeb145ec3a8e
+include/unicode/upluralrules.h: 15feae7c7df35b97d5e715f28f616e63
+include/unicode/uregex.h: 10fe8b8c9f98758bf192bc765fa45e3c
+include/unicode/uregion.h: a3f28f15972bf18600012815a8c76535
+include/unicode/ureldatefmt.h: d528589ebdc3f8cb6c27ce4867752c55
+include/unicode/urename.h: 1642d190b583bbaaf454ac65a37a8024
+include/unicode/urep.h: 6ada98ac1aa68081f10d17b1abadef6e
+include/unicode/ures.h: 8c69586a969eb2898d5d3e8c08beda9c
+include/unicode/uscript.h: 5bf2d96240b17507a05ebe4d36b1a38e
+include/unicode/usearch.h: 1f3fcea9dc6c40e908992e74f602235f
+include/unicode/uset.h: a285e1b480a3abaaee753ba74d245efd
+include/unicode/usetiter.h: ab1ebd4b0b9e3560a94a7c6cb3a9e48f
+include/unicode/ushape.h: 86fdf709d4312bb17cf95b16f58e1dc4
+include/unicode/uspoof.h: 8b9508cbe045b114f0f618d04fcab512
+include/unicode/usprep.h: e88585ae8bdb3a35aa88417993bde732
+include/unicode/ustdio.h: 3104e526d3de60538f42c0fd5430adcb
+include/unicode/ustream.h: 0a74df2b9d1967d0b859d21f5828f4e8
+include/unicode/ustring.h: 92f522f8ef62e443c11baa56c32e42e4
+include/unicode/ustringtrie.h: 54a28aa9c4e117cd3ebfd0a670324f6c
+include/unicode/utext.h: 89a08f750d0c5751d4f385c4874c0e61
+include/unicode/utf.h: 4434eeb75c89a49228884aa247714e1c
+include/unicode/utf16.h: 147fbb88d8300af3e38d80ce59c1c1ce
+include/unicode/utf32.h: a1fdf74f4bd8808f9fb17df371f886d9
+include/unicode/utf8.h: 7f0c4c02bd7506e80fd11a4597cc1450
+include/unicode/utf_old.h: 92ffc297b71c8d83ed05b644183c477c
+include/unicode/utmscale.h: 7c59d91f835bc9f4b805dd64e73851d7
+include/unicode/utrace.h: 420d2f8d462ae300ca1903c2a6ebaba3
+include/unicode/utrans.h: 5cd9b1f130197e5fdd8a66519233abf5
+include/unicode/utypes.h: 47eb8ff3f909dafa9bee14f8bb224342
+include/unicode/uvernum.h: a91a8e07c665891ed234de3a58302663
+include/unicode/uversion.h: 0b8f75f3d1c816ee3359dde5be390d17
+include/unicode/vtzone.h: 615f12cb0d05441d0872aa677db80a90
+lib/icu/65.1/Makefile.inc: dfca695719fce3f4802048877b7e5ef5
+lib/icu/65.1/pkgdata.inc: 8a01d365fe1a225f3168d4659ea48705
+lib/icu/Makefile.inc: dfca695719fce3f4802048877b7e5ef5
+lib/icu/current/Makefile.inc: dfca695719fce3f4802048877b7e5ef5
+lib/icu/current/pkgdata.inc: 8a01d365fe1a225f3168d4659ea48705
+lib/icu/pkgdata.inc: 8a01d365fe1a225f3168d4659ea48705
+lib/libicudt.dll.a: 4297604f481c4f41cd69f1c0d41544a8
+lib/libicuin.dll.a: 78136e54cf3ad942dddc32b3d8c42aab
+lib/libicuio.dll.a: 681e068e1ebbb2665b222bd3894c8f96
+lib/libicutest.dll.a: 2d7d50cebf7a15c2bd05995ff9dc2e38
+lib/libicutu.dll.a: e08a3d12905cb703179a11e250fe4f61
+lib/libicuuc.dll.a: e92fdef67e56c164ec5c6d47ae97be6b
+lib/pkgconfig/icu-i18n.pc: eed957ffe006f4fb042981c0f7e0451a
+lib/pkgconfig/icu-io.pc: 43c8fc7b90303c819b1669ca99e10dde
+lib/pkgconfig/icu-uc.pc: 3e8708649f2ea8ebd74f0c75655bdd66
+licenses/LICENSE: 8bc5d32052a96f214cbdd1e53dfc935d
+share/icu/65.1/LICENSE: 8bc5d32052a96f214cbdd1e53dfc935d
+share/icu/65.1/config/mh-mingw: 95446b7c74bc210a824c787c9bd47a93
+share/icu/65.1/install-sh: 5afe8eb5573965dfb58378e4e46f3813
+share/icu/65.1/mkinstalldirs: 31c4856b24c8dbc6319819ccd43b4fda
+share/man/man1/derb.1: bddb017162105939f6d43c9539c99497
+share/man/man1/genbrk.1: a4e60e4a60ab26eb29119649bfb60d2b
+share/man/man1/gencfu.1: 4950b8178b944a3ebfea1c419ffd3319
+share/man/man1/gencnval.1: 53b10d9351473a7ea603400973377a7d
+share/man/man1/gendict.1: 9c1bf2760e5735b0e6601f48e92cb0d9
+share/man/man1/genrb.1: ffebc1e8007bd58f5623299e6b4babe8
+share/man/man1/icu-config.1: f4670ca16d77ce21310e48aa91f7ee5b
+share/man/man1/makeconv.1: c96397ad56d2c21649757c407aac46d8
+share/man/man1/pkgdata.1: 5f7b05c28de887cca1e5d7bfb9db4c39
+share/man/man8/genccode.8: 498418dc0aec1fa7ccfb83c491b5a23e
+share/man/man8/gencmn.8: c43635e431ea0f1616ea8266e36c0d75
+share/man/man8/gensprep.8: 396d70fec1a04aae25e6bfc6e8e58c65
+share/man/man8/icupkg.8: 430bcbed42faa9ea33b161a48c0490c6
diff --git a/coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.2/qtproject/stable/package/2b3cb3bb931646fe98ad49632435cdd3ed213435/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.2/qtproject/stable/package/2b3cb3bb931646fe98ad49632435cdd3ed213435/conanmanifest.txt
deleted file mode 100644
index 44600a77..00000000
--- a/coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.2/qtproject/stable/package/2b3cb3bb931646fe98ad49632435cdd3ed213435/conanmanifest.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-1563319076
-conaninfo.txt: f7407f0b37a177dbd8da281e911fae13
-include/jconfig.h: 4afbe7884ea1911cce5eb488828a2441
-include/jerror.h: 9b7898fe417de269b8be88b10df908b0
-include/jmorecfg.h: 7873b0a4457d21a746e23c16fc16127d
-include/jpeglib.h: 49b0829e2b84fcd4a0cee359199499cb
-include/turbojpeg.h: b5b3a4a233ea12d2041ad1d1c971e6a0
-lib/libjpeg.a: 76c0df72f772b8437d4cbae90033e9e1
-lib/libturbojpeg.a: 5c6f3ef0620d46137252e6c3a74bd235
-lib/pkgconfig/libjpeg.pc: e8374a56760f12ee4e809879b1675b88
-lib/pkgconfig/libturbojpeg.pc: e9877f5ec875796a6063943cc96cfb3a
-licenses/LICENSE.md: 2a423a921d0f68082c80ccc7ad808ef2
diff --git a/coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.2/qtproject/stable/package/4985763cfece81b148d7c11f16d564e42ee2756c/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.2/qtproject/stable/package/4985763cfece81b148d7c11f16d564e42ee2756c/conanmanifest.txt
deleted file mode 100644
index 2b4c30ed..00000000
--- a/coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.2/qtproject/stable/package/4985763cfece81b148d7c11f16d564e42ee2756c/conanmanifest.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-1563317429
-conaninfo.txt: d18e9d7f8420204b797c974a3840cd84
-include/jconfig.h: 4afbe7884ea1911cce5eb488828a2441
-include/jerror.h: 9b7898fe417de269b8be88b10df908b0
-include/jmorecfg.h: 7873b0a4457d21a746e23c16fc16127d
-include/jpeglib.h: 49b0829e2b84fcd4a0cee359199499cb
-include/turbojpeg.h: b5b3a4a233ea12d2041ad1d1c971e6a0
-lib/jpeg-static.lib: ff36c0d3e4e89fe38504b7902848cf43
-lib/pkgconfig/libjpeg.pc: aaa7ae7e53ca96542aa9dc600892a37f
-lib/pkgconfig/libturbojpeg.pc: bd2d8c64e49e878fb5b3d9ec4e5d48cc
-lib/turbojpeg-static.lib: b8f67c803866ebd5e8a4b78e5b1e69be
-licenses/LICENSE.md: 2a423a921d0f68082c80ccc7ad808ef2
diff --git a/coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.2/qtproject/stable/package/6fe55a250d22d4408ba9c4b99015260e933b58f0/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.2/qtproject/stable/package/6fe55a250d22d4408ba9c4b99015260e933b58f0/conanmanifest.txt
deleted file mode 100644
index bf462a03..00000000
--- a/coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.2/qtproject/stable/package/6fe55a250d22d4408ba9c4b99015260e933b58f0/conanmanifest.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-1563317951
-conaninfo.txt: 30e51ce35bad9c012af4f30e6e7892ed
-include/jconfig.h: 4afbe7884ea1911cce5eb488828a2441
-include/jerror.h: 9b7898fe417de269b8be88b10df908b0
-include/jmorecfg.h: 7873b0a4457d21a746e23c16fc16127d
-include/jpeglib.h: 49b0829e2b84fcd4a0cee359199499cb
-include/turbojpeg.h: b5b3a4a233ea12d2041ad1d1c971e6a0
-lib/jpeg-static.lib: 9bc7573efc66b8352d20c75ccc749f02
-lib/pkgconfig/libjpeg.pc: 8262515528659421186ba8c1ec623689
-lib/pkgconfig/libturbojpeg.pc: 837f896e637fff65f9d69c867fafdfec
-lib/turbojpeg-static.lib: c018bdcd94775b2a7b25c1a69742cf28
-licenses/LICENSE.md: 2a423a921d0f68082c80ccc7ad808ef2
diff --git a/coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.2/qtproject/stable/package/8f06876bcdec0570dded47fecf362dd95832bd6e/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.2/qtproject/stable/package/8f06876bcdec0570dded47fecf362dd95832bd6e/conanmanifest.txt
deleted file mode 100644
index dcf9b779..00000000
--- a/coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.2/qtproject/stable/package/8f06876bcdec0570dded47fecf362dd95832bd6e/conanmanifest.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-1563318848
-conaninfo.txt: 91949552e25a4ed2d26b7f0720dfb965
-include/jconfig.h: 4afbe7884ea1911cce5eb488828a2441
-include/jerror.h: 9b7898fe417de269b8be88b10df908b0
-include/jmorecfg.h: 7873b0a4457d21a746e23c16fc16127d
-include/jpeglib.h: 49b0829e2b84fcd4a0cee359199499cb
-include/turbojpeg.h: b5b3a4a233ea12d2041ad1d1c971e6a0
-lib/libjpeg.a: 66c75997f3c87e8c27f51bd4c464f421
-lib/libturbojpeg.a: 1fdd01646bf0752dc56aa89326e81081
-lib/pkgconfig/libjpeg.pc: 5d283d46775e3e57e96354b3e019af5e
-lib/pkgconfig/libturbojpeg.pc: f72af38bacd8a265b3d7c595b2fcb631
-licenses/LICENSE.md: 2a423a921d0f68082c80ccc7ad808ef2
diff --git a/coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.2/qtproject/stable/package/9b721b63e452039565ba8417e25a183d1bbcb4df/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.2/qtproject/stable/package/9b721b63e452039565ba8417e25a183d1bbcb4df/conanmanifest.txt
deleted file mode 100644
index 641788cf..00000000
--- a/coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.2/qtproject/stable/package/9b721b63e452039565ba8417e25a183d1bbcb4df/conanmanifest.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-1563318176
-conaninfo.txt: 6ec16cc31fcf0bd158817c15ca8b5fab
-include/jconfig.h: 4afbe7884ea1911cce5eb488828a2441
-include/jerror.h: 9b7898fe417de269b8be88b10df908b0
-include/jmorecfg.h: 7873b0a4457d21a746e23c16fc16127d
-include/jpeglib.h: 49b0829e2b84fcd4a0cee359199499cb
-include/turbojpeg.h: b5b3a4a233ea12d2041ad1d1c971e6a0
-lib/jpeg-static.lib: 5cd2ee8719b6d66010f5467e5b2df897
-lib/pkgconfig/libjpeg.pc: 8d5435c5c55ee8c6ac656a369397ab7e
-lib/pkgconfig/libturbojpeg.pc: 16682a8d9851f1b61285ef3ba5cd999e
-lib/turbojpeg-static.lib: 9f40b2cddb0673e15b28f5a345cd9d58
-licenses/LICENSE.md: 2a423a921d0f68082c80ccc7ad808ef2
diff --git a/coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.2/qtproject/stable/package/acb703d92685c00a6f85ed3ca8225725f0e186c1/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.2/qtproject/stable/package/acb703d92685c00a6f85ed3ca8225725f0e186c1/conanmanifest.txt
deleted file mode 100644
index 6a50555a..00000000
--- a/coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.2/qtproject/stable/package/acb703d92685c00a6f85ed3ca8225725f0e186c1/conanmanifest.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-1563317644
-conaninfo.txt: 2c723d8a067380f691577b026b7edafd
-include/jconfig.h: 4afbe7884ea1911cce5eb488828a2441
-include/jerror.h: 9b7898fe417de269b8be88b10df908b0
-include/jmorecfg.h: 7873b0a4457d21a746e23c16fc16127d
-include/jpeglib.h: 49b0829e2b84fcd4a0cee359199499cb
-include/turbojpeg.h: b5b3a4a233ea12d2041ad1d1c971e6a0
-lib/jpeg-static.lib: 08048bd6e49dfd238c50d5063f1c3141
-lib/pkgconfig/libjpeg.pc: 5523669f66f81e12a045408fac68bbde
-lib/pkgconfig/libturbojpeg.pc: 3261437bc15909fb4090d70cc282eaa9
-lib/turbojpeg-static.lib: 5430670586f6bde839d35b9a98d57624
-licenses/LICENSE.md: 2a423a921d0f68082c80ccc7ad808ef2
diff --git a/coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.2/qtproject/stable/export/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.3/qtproject/stable/export/conanmanifest.txt
index 0685a515..b0bb10ac 100644
--- a/coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.2/qtproject/stable/export/conanmanifest.txt
+++ b/coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.3/qtproject/stable/export/conanmanifest.txt
@@ -1,4 +1,4 @@
-1563317256
+1582280120
LICENSE.md: 5aa9930034582b90e2008d2c609d1317
-conanfile.py: f80221898becb58bc0de993097f98818
+conanfile.py: fc9f9025d45306204140aafdf174a422
export_source/CMakeLists.txt: eb0fcc86f467a4c6ac9f37c16887a29f
diff --git a/coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.3/qtproject/stable/package/1c8544b57637b92dcdfce760b76b459bde0ce701/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.3/qtproject/stable/package/1c8544b57637b92dcdfce760b76b459bde0ce701/conanmanifest.txt
new file mode 100644
index 00000000..4f7d3680
--- /dev/null
+++ b/coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.3/qtproject/stable/package/1c8544b57637b92dcdfce760b76b459bde0ce701/conanmanifest.txt
@@ -0,0 +1,12 @@
+1582282172
+conaninfo.txt: d3531bf4208a49880b6916cb487ca0fd
+include/jconfig.h: 36405c50a3b1509877826e26eac4fb69
+include/jerror.h: 9b7898fe417de269b8be88b10df908b0
+include/jmorecfg.h: 7873b0a4457d21a746e23c16fc16127d
+include/jpeglib.h: 49b0829e2b84fcd4a0cee359199499cb
+include/turbojpeg.h: b5b3a4a233ea12d2041ad1d1c971e6a0
+lib/jpeg-static.lib: f1380749e57edaa40366510a55c4a581
+lib/pkgconfig/libjpeg.pc: 46be85b895bb997ec57faee440b199c9
+lib/pkgconfig/libturbojpeg.pc: 891d57d67b7bb2d2246f6c84e3802ff3
+lib/turbojpeg-static.lib: 03531f3967223cb10088dccf1f0ab17e
+licenses/LICENSE.md: 2a423a921d0f68082c80ccc7ad808ef2
diff --git a/coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.3/qtproject/stable/package/2b3cb3bb931646fe98ad49632435cdd3ed213435/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.3/qtproject/stable/package/2b3cb3bb931646fe98ad49632435cdd3ed213435/conanmanifest.txt
new file mode 100644
index 00000000..9297a30c
--- /dev/null
+++ b/coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.3/qtproject/stable/package/2b3cb3bb931646fe98ad49632435cdd3ed213435/conanmanifest.txt
@@ -0,0 +1,12 @@
+1582282436
+conaninfo.txt: e412e1148672ae4437d5d9e8f0089dae
+include/jconfig.h: 36405c50a3b1509877826e26eac4fb69
+include/jerror.h: 9b7898fe417de269b8be88b10df908b0
+include/jmorecfg.h: 7873b0a4457d21a746e23c16fc16127d
+include/jpeglib.h: 49b0829e2b84fcd4a0cee359199499cb
+include/turbojpeg.h: b5b3a4a233ea12d2041ad1d1c971e6a0
+lib/libjpeg.a: 9ec4a3ea70de97420d8a262641df11fe
+lib/libturbojpeg.a: 3704f7242f7d79187bcf09b7ff7bb86e
+lib/pkgconfig/libjpeg.pc: fa956ecec06575a626eb24df4ade7059
+lib/pkgconfig/libturbojpeg.pc: 7a28369f664feaef64c4f36043bdbf84
+licenses/LICENSE.md: 2a423a921d0f68082c80ccc7ad808ef2
diff --git a/coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.3/qtproject/stable/package/4985763cfece81b148d7c11f16d564e42ee2756c/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.3/qtproject/stable/package/4985763cfece81b148d7c11f16d564e42ee2756c/conanmanifest.txt
new file mode 100644
index 00000000..32c864e9
--- /dev/null
+++ b/coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.3/qtproject/stable/package/4985763cfece81b148d7c11f16d564e42ee2756c/conanmanifest.txt
@@ -0,0 +1,12 @@
+1582280262
+conaninfo.txt: 3ce2f8cfe80b79b4dd725bdff24c402d
+include/jconfig.h: 36405c50a3b1509877826e26eac4fb69
+include/jerror.h: 9b7898fe417de269b8be88b10df908b0
+include/jmorecfg.h: 7873b0a4457d21a746e23c16fc16127d
+include/jpeglib.h: 49b0829e2b84fcd4a0cee359199499cb
+include/turbojpeg.h: b5b3a4a233ea12d2041ad1d1c971e6a0
+lib/jpeg-static.lib: 277031e07ff0a68b0da547fd73fa8931
+lib/pkgconfig/libjpeg.pc: 18fe4739f1c264cc5807ac171f79d5de
+lib/pkgconfig/libturbojpeg.pc: 080a4da3c8052f00721671016bda4f79
+lib/turbojpeg-static.lib: 142395e528dbecc678f0f0242512cb32
+licenses/LICENSE.md: 2a423a921d0f68082c80ccc7ad808ef2
diff --git a/coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.3/qtproject/stable/package/6fe55a250d22d4408ba9c4b99015260e933b58f0/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.3/qtproject/stable/package/6fe55a250d22d4408ba9c4b99015260e933b58f0/conanmanifest.txt
new file mode 100644
index 00000000..c64266b1
--- /dev/null
+++ b/coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.3/qtproject/stable/package/6fe55a250d22d4408ba9c4b99015260e933b58f0/conanmanifest.txt
@@ -0,0 +1,12 @@
+1582281085
+conaninfo.txt: 05273e3ea056a1d7946e1065622c2e6d
+include/jconfig.h: 36405c50a3b1509877826e26eac4fb69
+include/jerror.h: 9b7898fe417de269b8be88b10df908b0
+include/jmorecfg.h: 7873b0a4457d21a746e23c16fc16127d
+include/jpeglib.h: 49b0829e2b84fcd4a0cee359199499cb
+include/turbojpeg.h: b5b3a4a233ea12d2041ad1d1c971e6a0
+lib/jpeg-static.lib: 94e22b458fa49d878f9f5ecaa83b4d4c
+lib/pkgconfig/libjpeg.pc: f86f98cba102e1be6cdbc77e1f73d6e2
+lib/pkgconfig/libturbojpeg.pc: 9138a79005a0dd437ec485743cbc7708
+lib/turbojpeg-static.lib: 85dceca1ee42fb40b9177483a710931c
+licenses/LICENSE.md: 2a423a921d0f68082c80ccc7ad808ef2
diff --git a/coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.3/qtproject/stable/package/7fbb66ade701b46f34dff2e121edef66968608b5/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.3/qtproject/stable/package/7fbb66ade701b46f34dff2e121edef66968608b5/conanmanifest.txt
new file mode 100644
index 00000000..acabe605
--- /dev/null
+++ b/coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.3/qtproject/stable/package/7fbb66ade701b46f34dff2e121edef66968608b5/conanmanifest.txt
@@ -0,0 +1,12 @@
+1582282050
+conaninfo.txt: 5d70fc12733b9ab4f2eef806064af4fc
+include/jconfig.h: 36405c50a3b1509877826e26eac4fb69
+include/jerror.h: 9b7898fe417de269b8be88b10df908b0
+include/jmorecfg.h: 7873b0a4457d21a746e23c16fc16127d
+include/jpeglib.h: 49b0829e2b84fcd4a0cee359199499cb
+include/turbojpeg.h: b5b3a4a233ea12d2041ad1d1c971e6a0
+lib/jpeg-static.lib: dc1e769eef09dec4761fcecb6e25e416
+lib/pkgconfig/libjpeg.pc: 58e4fea9c97c1e8ddfe69f5c7a90ee63
+lib/pkgconfig/libturbojpeg.pc: d8e6f88b279ae6759cf8f0363cb08913
+lib/turbojpeg-static.lib: 34efadab9c45a4be93bb62e415b7bd5b
+licenses/LICENSE.md: 2a423a921d0f68082c80ccc7ad808ef2
diff --git a/coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.3/qtproject/stable/package/8f06876bcdec0570dded47fecf362dd95832bd6e/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.3/qtproject/stable/package/8f06876bcdec0570dded47fecf362dd95832bd6e/conanmanifest.txt
new file mode 100644
index 00000000..bf51a89e
--- /dev/null
+++ b/coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.3/qtproject/stable/package/8f06876bcdec0570dded47fecf362dd95832bd6e/conanmanifest.txt
@@ -0,0 +1,12 @@
+1582282336
+conaninfo.txt: 99d4bfcf4fe5b33346747d9aed5a90dd
+include/jconfig.h: 36405c50a3b1509877826e26eac4fb69
+include/jerror.h: 9b7898fe417de269b8be88b10df908b0
+include/jmorecfg.h: 7873b0a4457d21a746e23c16fc16127d
+include/jpeglib.h: 49b0829e2b84fcd4a0cee359199499cb
+include/turbojpeg.h: b5b3a4a233ea12d2041ad1d1c971e6a0
+lib/libjpeg.a: 520fd96afa81fffa67fbccc2d7499459
+lib/libturbojpeg.a: 65c525625f9bdb0c9c93b3cae93116f1
+lib/pkgconfig/libjpeg.pc: 9088ad9e74b2b56826bc949805312370
+lib/pkgconfig/libturbojpeg.pc: 176a550708755ea935a3928dcc75bb0c
+licenses/LICENSE.md: 2a423a921d0f68082c80ccc7ad808ef2
diff --git a/coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.3/qtproject/stable/package/9b721b63e452039565ba8417e25a183d1bbcb4df/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.3/qtproject/stable/package/9b721b63e452039565ba8417e25a183d1bbcb4df/conanmanifest.txt
new file mode 100644
index 00000000..4a4b3386
--- /dev/null
+++ b/coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.3/qtproject/stable/package/9b721b63e452039565ba8417e25a183d1bbcb4df/conanmanifest.txt
@@ -0,0 +1,12 @@
+1582281572
+conaninfo.txt: 9868d7ba246ae96d18441c975ee816f1
+include/jconfig.h: 36405c50a3b1509877826e26eac4fb69
+include/jerror.h: 9b7898fe417de269b8be88b10df908b0
+include/jmorecfg.h: 7873b0a4457d21a746e23c16fc16127d
+include/jpeglib.h: 49b0829e2b84fcd4a0cee359199499cb
+include/turbojpeg.h: b5b3a4a233ea12d2041ad1d1c971e6a0
+lib/jpeg-static.lib: fb149794dc225dcb890e1b2c48569660
+lib/pkgconfig/libjpeg.pc: 16468bac09adeea126c41a7e2eab161f
+lib/pkgconfig/libturbojpeg.pc: 6bad484e5ee764e95e570110855d00c8
+lib/turbojpeg-static.lib: 12e129d91c4f92257c7b12d88a0ccd3b
+licenses/LICENSE.md: 2a423a921d0f68082c80ccc7ad808ef2
diff --git a/coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.3/qtproject/stable/package/acb703d92685c00a6f85ed3ca8225725f0e186c1/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.3/qtproject/stable/package/acb703d92685c00a6f85ed3ca8225725f0e186c1/conanmanifest.txt
new file mode 100644
index 00000000..53b1b8b3
--- /dev/null
+++ b/coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.3/qtproject/stable/package/acb703d92685c00a6f85ed3ca8225725f0e186c1/conanmanifest.txt
@@ -0,0 +1,12 @@
+1582280641
+conaninfo.txt: d0e67ef7124b3767bbd5cebd7e4bf806
+include/jconfig.h: 36405c50a3b1509877826e26eac4fb69
+include/jerror.h: 9b7898fe417de269b8be88b10df908b0
+include/jmorecfg.h: 7873b0a4457d21a746e23c16fc16127d
+include/jpeglib.h: 49b0829e2b84fcd4a0cee359199499cb
+include/turbojpeg.h: b5b3a4a233ea12d2041ad1d1c971e6a0
+lib/jpeg-static.lib: 50b078fedbf48e2accf55cc1201717d8
+lib/pkgconfig/libjpeg.pc: ef1839c5639ee60768584c29626db8b1
+lib/pkgconfig/libturbojpeg.pc: 53423ccf67af6cc13cc571dd1e7568e0
+lib/turbojpeg-static.lib: c3f43cb91de65238d38bee7051671eff
+licenses/LICENSE.md: 2a423a921d0f68082c80ccc7ad808ef2
diff --git a/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.10/qtproject/stable/export/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.10/qtproject/stable/export/conanmanifest.txt
new file mode 100644
index 00000000..343eaba4
--- /dev/null
+++ b/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.10/qtproject/stable/export/conanmanifest.txt
@@ -0,0 +1,3 @@
+1582268701
+conanfile.py: 0b5f0deb08eb369fa19f3f01d80c92be
+export_source/patches/0001-fix-install-mingw.patch: 10e6d5f804a7e2eadb8886369b87cc95
diff --git a/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.9/qtproject/stable/package/0576a44cadaf801a35075ee2885891b12616dbb9/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.10/qtproject/stable/package/12ee02550ebaf136555a7f3bbc8cc25cfb8bb72b/conanmanifest.txt
index 1f9402da..589c19a3 100644
--- a/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.9/qtproject/stable/package/0576a44cadaf801a35075ee2885891b12616dbb9/conanmanifest.txt
+++ b/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.10/qtproject/stable/package/12ee02550ebaf136555a7f3bbc8cc25cfb8bb72b/conanmanifest.txt
@@ -1,42 +1,41 @@
-1563313057
-FindLibXml2.cmake: d030bc3535551b29c75e192b74469347
-bin/libxml2.dll: 0663731980bb5825bc40424f4dedf2ad
-bin/xmlcatalog.exe: 6c78c8607751fac92cb6b7e2aa114d41
-bin/xmllint.exe: 899b5bf615155460ef9f1c9e8c378c62
-conaninfo.txt: 43bcadd86eb95b1ececb8eb5bb363cc0
+1582268746
+bin/libxml2.dll: 4bf6b00300c299b6aef150a9c1bb7e90
+bin/xmlcatalog.exe: b641fe4f903b62cfc782df6153f474e9
+bin/xmllint.exe: 74c28eab6a05370be02554de2082edcd
+conaninfo.txt: b4ac5d6349d8656894474d1d8237aa96
include/libxml2/libxml/DOCBparser.h: 21e6523a86338325c527e1e8847adc1d
include/libxml2/libxml/HTMLparser.h: d57891c89573ed6dce04b8133e7438d2
include/libxml2/libxml/HTMLtree.h: 46cf4cefb419e18c40b8d5b6ac982f3f
include/libxml2/libxml/SAX.h: bf46553ceac47b24126d4a1abb7b26fa
include/libxml2/libxml/SAX2.h: 226675de48e46a282141b438b0895db4
-include/libxml2/libxml/c14n.h: 083bf52bbdd0563ff61605cb2bc9316f
-include/libxml2/libxml/catalog.h: 1d5e464fe629dde9758d6c33ea7a3d8e
+include/libxml2/libxml/c14n.h: 6f2b3ecf12e815ce0159be0fbba1bc4f
+include/libxml2/libxml/catalog.h: 382caf85e794d06e84280cf702a42c18
include/libxml2/libxml/chvalid.h: 4e1ca6554b98687e75d03662cd92d14e
include/libxml2/libxml/debugXML.h: 73816937df233c77ebfa261f3ca00dd8
-include/libxml2/libxml/dict.h: 93b78165ce896cbda4417bd278259714
+include/libxml2/libxml/dict.h: a48513ceb9774ebece2daa8a2cd52f07
include/libxml2/libxml/encoding.h: 807b84fade38abad3ae0d9b6af714dbc
include/libxml2/libxml/entities.h: 16467595fdaff28420d1657b1658f267
include/libxml2/libxml/globals.h: 4b9d5b9ff807b093244cc301d2cefda5
-include/libxml2/libxml/hash.h: 35f22cf7568b12fcf7bdc3f47fe2ccca
+include/libxml2/libxml/hash.h: af6927d60ab5a971b68a65626d903bb2
include/libxml2/libxml/list.h: 7600108b9a637797d97d3f47ed045287
include/libxml2/libxml/nanoftp.h: 3f25d5edfbdb1fd084e53d9a7dbaff73
include/libxml2/libxml/nanohttp.h: d31b62933eab6d58a46eb075b49b7715
-include/libxml2/libxml/parser.h: 3ef7bece85150ab2319aed3fd0d36034
-include/libxml2/libxml/parserInternals.h: c55ce5832dae535ce6d59b6aa10f6133
+include/libxml2/libxml/parser.h: 3e149b90da438833f98a1bcd12a0abcb
+include/libxml2/libxml/parserInternals.h: 4c3e253f541b903f061a2ef7fadcdc35
include/libxml2/libxml/pattern.h: db123ed3ecc27ab31b3f808e96edb492
include/libxml2/libxml/relaxng.h: 348c151f5b45a3543862c0e280f9fbba
-include/libxml2/libxml/schemasInternals.h: 57e07ffffb72ccfa3ef131c7ad89633a
+include/libxml2/libxml/schemasInternals.h: 5072dee68b3423ac6f13185b984cc325
include/libxml2/libxml/schematron.h: 96d9e0c083c4949e246ce02cf31de483
include/libxml2/libxml/threads.h: 56e93792a1e4d23fe9c6940231cd4a40
-include/libxml2/libxml/tree.h: 7e730a421411d4d34ad95b52122f2650
+include/libxml2/libxml/tree.h: 406fe7a05a1503755da736b98b1ab781
include/libxml2/libxml/uri.h: 032d430e35153af35f2fe17a9e9c37bf
include/libxml2/libxml/valid.h: 3c082c0a5b81e1bc9fd9a21b69014584
include/libxml2/libxml/xinclude.h: 1f8b2beb8f49da4bf3a658d31dccb2ef
-include/libxml2/libxml/xlink.h: 8b82b67e61ebffc721bd23af66724f49
-include/libxml2/libxml/xmlIO.h: 31c8dfbaee25e20cd0d6eb2549929f5d
+include/libxml2/libxml/xlink.h: 0f722691abab1f60d5a9f0c14bbb26c4
+include/libxml2/libxml/xmlIO.h: cb4be47d203f7d54f374b9272db7e3f3
include/libxml2/libxml/xmlautomata.h: 3c3c0a7d353bacfbede7c2decf27e62a
-include/libxml2/libxml/xmlerror.h: 9f03d7b7788f158e68a75132e9249975
-include/libxml2/libxml/xmlexports.h: 600bbe5e56f034234213b0c0bf36f2b9
+include/libxml2/libxml/xmlerror.h: 28cd85987165565f9306b9b66a2b4e88
+include/libxml2/libxml/xmlexports.h: 27052360fc0021d99870d8f49371dae0
include/libxml2/libxml/xmlmemory.h: c0167c625ecaf670d76480506425b472
include/libxml2/libxml/xmlmodule.h: de174bf853776e7e653c66c059d19e61
include/libxml2/libxml/xmlreader.h: f4e1ae61cb2ac0d3ded93985fed902db
@@ -46,12 +45,12 @@ include/libxml2/libxml/xmlschemas.h: 44ee98f77e997b8843fe6e5c45aa4ab0
include/libxml2/libxml/xmlschemastypes.h: 160197e01dfa56cd9ad09d201d5bdeb4
include/libxml2/libxml/xmlstring.h: 82efb8a055d5fc8eb7d815ed471eca53
include/libxml2/libxml/xmlunicode.h: b9f0b8acddfee9b620ea822978a51d29
-include/libxml2/libxml/xmlversion.h: e3b607d4f9fb7f1efffd2a983cdd3563
+include/libxml2/libxml/xmlversion.h: 1e9e77170ee677ce49956476e0f845d6
include/libxml2/libxml/xmlwriter.h: 8694436144b1fb0aab2e2d6b725035e3
-include/libxml2/libxml/xpath.h: 2e60b359a61db15d05409ebef1b140b1
+include/libxml2/libxml/xpath.h: bfe49b59c50e544f6e7a72423159775a
include/libxml2/libxml/xpathInternals.h: c18fad3cce22369a75166afed6343bcd
include/libxml2/libxml/xpointer.h: 5b8025430888d5b99d03d159ddc78388
-include/libxml2/win32config.h: 117c7e9cb4e95acd6648f4af9cf98c5b
-include/libxml2/wsockcompat.h: 04a6c8ece3e62ee924d3653c2613b5be
-lib/libxml2.lib: 08c8e1421562bb62aee40892226151ec
+include/libxml2/win32config.h: e51ff5a65571584fbe45f75eede0ee3e
+include/libxml2/wsockcompat.h: fd8ce4d6dabe53035a28c6aa64926b1c
+lib/libxml2.lib: c55f634ace8fec0ca1860fdf41504bb5
licenses/COPYING: 2044417e2e5006b65a8b9067b683fcf1
diff --git a/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.10/qtproject/stable/package/22d88c0e3f63872fe31c5fa40fc8085250867c11/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.10/qtproject/stable/package/22d88c0e3f63872fe31c5fa40fc8085250867c11/conanmanifest.txt
new file mode 100644
index 00000000..975f4f5d
--- /dev/null
+++ b/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.10/qtproject/stable/package/22d88c0e3f63872fe31c5fa40fc8085250867c11/conanmanifest.txt
@@ -0,0 +1,58 @@
+1582270297
+bin/libxml2-2.dll: 47b3af0297a53e146d739ba46b957ac9
+bin/xml2-config: f002e2e4fcc1ac7a3ed6a93044a99de1
+bin/xmlcatalog.exe: f51848350034b8b6010fd11f6e3aa10f
+bin/xmllint.exe: 689e7c9b94aff9b39383164b13412623
+conaninfo.txt: ea32a81840ad020d92e3c678a2b31ab7
+include/libxml2/libxml/DOCBparser.h: 21e6523a86338325c527e1e8847adc1d
+include/libxml2/libxml/HTMLparser.h: d57891c89573ed6dce04b8133e7438d2
+include/libxml2/libxml/HTMLtree.h: 46cf4cefb419e18c40b8d5b6ac982f3f
+include/libxml2/libxml/SAX.h: bf46553ceac47b24126d4a1abb7b26fa
+include/libxml2/libxml/SAX2.h: 226675de48e46a282141b438b0895db4
+include/libxml2/libxml/c14n.h: 6f2b3ecf12e815ce0159be0fbba1bc4f
+include/libxml2/libxml/catalog.h: 382caf85e794d06e84280cf702a42c18
+include/libxml2/libxml/chvalid.h: 4e1ca6554b98687e75d03662cd92d14e
+include/libxml2/libxml/debugXML.h: 73816937df233c77ebfa261f3ca00dd8
+include/libxml2/libxml/dict.h: a48513ceb9774ebece2daa8a2cd52f07
+include/libxml2/libxml/encoding.h: 807b84fade38abad3ae0d9b6af714dbc
+include/libxml2/libxml/entities.h: 16467595fdaff28420d1657b1658f267
+include/libxml2/libxml/globals.h: 4b9d5b9ff807b093244cc301d2cefda5
+include/libxml2/libxml/hash.h: af6927d60ab5a971b68a65626d903bb2
+include/libxml2/libxml/list.h: 7600108b9a637797d97d3f47ed045287
+include/libxml2/libxml/nanoftp.h: 3f25d5edfbdb1fd084e53d9a7dbaff73
+include/libxml2/libxml/nanohttp.h: d31b62933eab6d58a46eb075b49b7715
+include/libxml2/libxml/parser.h: 3e149b90da438833f98a1bcd12a0abcb
+include/libxml2/libxml/parserInternals.h: 4c3e253f541b903f061a2ef7fadcdc35
+include/libxml2/libxml/pattern.h: db123ed3ecc27ab31b3f808e96edb492
+include/libxml2/libxml/relaxng.h: 348c151f5b45a3543862c0e280f9fbba
+include/libxml2/libxml/schemasInternals.h: 5072dee68b3423ac6f13185b984cc325
+include/libxml2/libxml/schematron.h: 96d9e0c083c4949e246ce02cf31de483
+include/libxml2/libxml/threads.h: 56e93792a1e4d23fe9c6940231cd4a40
+include/libxml2/libxml/tree.h: 406fe7a05a1503755da736b98b1ab781
+include/libxml2/libxml/uri.h: 032d430e35153af35f2fe17a9e9c37bf
+include/libxml2/libxml/valid.h: 3c082c0a5b81e1bc9fd9a21b69014584
+include/libxml2/libxml/xinclude.h: 1f8b2beb8f49da4bf3a658d31dccb2ef
+include/libxml2/libxml/xlink.h: 0f722691abab1f60d5a9f0c14bbb26c4
+include/libxml2/libxml/xmlIO.h: cb4be47d203f7d54f374b9272db7e3f3
+include/libxml2/libxml/xmlautomata.h: 3c3c0a7d353bacfbede7c2decf27e62a
+include/libxml2/libxml/xmlerror.h: 28cd85987165565f9306b9b66a2b4e88
+include/libxml2/libxml/xmlexports.h: 27052360fc0021d99870d8f49371dae0
+include/libxml2/libxml/xmlmemory.h: c0167c625ecaf670d76480506425b472
+include/libxml2/libxml/xmlmodule.h: de174bf853776e7e653c66c059d19e61
+include/libxml2/libxml/xmlreader.h: f4e1ae61cb2ac0d3ded93985fed902db
+include/libxml2/libxml/xmlregexp.h: fea3110c96e8cd9013900e1c8e5b6c0b
+include/libxml2/libxml/xmlsave.h: eed2463cad941f74f99b8b9bc03aa74d
+include/libxml2/libxml/xmlschemas.h: 44ee98f77e997b8843fe6e5c45aa4ab0
+include/libxml2/libxml/xmlschemastypes.h: 160197e01dfa56cd9ad09d201d5bdeb4
+include/libxml2/libxml/xmlstring.h: 82efb8a055d5fc8eb7d815ed471eca53
+include/libxml2/libxml/xmlunicode.h: b9f0b8acddfee9b620ea822978a51d29
+include/libxml2/libxml/xmlversion.h: 58554a85bf2735e2824973cb81347bc9
+include/libxml2/libxml/xmlwriter.h: 8694436144b1fb0aab2e2d6b725035e3
+include/libxml2/libxml/xpath.h: bfe49b59c50e544f6e7a72423159775a
+include/libxml2/libxml/xpathInternals.h: c18fad3cce22369a75166afed6343bcd
+include/libxml2/libxml/xpointer.h: 5b8025430888d5b99d03d159ddc78388
+include/libxml2/win32config.h: e51ff5a65571584fbe45f75eede0ee3e
+include/libxml2/wsockcompat.h: fd8ce4d6dabe53035a28c6aa64926b1c
+lib/libxml2.dll.a: 843beb5d307eda9c6600f02a2cd3f701
+lib/xml2Conf.sh: 26c219db3da9c216926f8894c096409b
+licenses/COPYING: 2044417e2e5006b65a8b9067b683fcf1
diff --git a/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.10/qtproject/stable/package/260f4ea2f609c699c16e114aec312888ec0a10b0/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.10/qtproject/stable/package/260f4ea2f609c699c16e114aec312888ec0a10b0/conanmanifest.txt
new file mode 100644
index 00000000..c7c8ae44
--- /dev/null
+++ b/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.10/qtproject/stable/package/260f4ea2f609c699c16e114aec312888ec0a10b0/conanmanifest.txt
@@ -0,0 +1,58 @@
+1582270098
+bin/libxml2-2.dll: 0a707dea653e54ed8606c66cb4af5eca
+bin/xml2-config: f90c21a49ff66959f9370243e8aeb274
+bin/xmlcatalog.exe: 1f51631564d0df1e2eb7bab1e744797f
+bin/xmllint.exe: 705805f98a8ee9045078d6d91a1e076b
+conaninfo.txt: 5d6fafed34bc3f9e5dce2ad99f65aba0
+include/libxml2/libxml/DOCBparser.h: 21e6523a86338325c527e1e8847adc1d
+include/libxml2/libxml/HTMLparser.h: d57891c89573ed6dce04b8133e7438d2
+include/libxml2/libxml/HTMLtree.h: 46cf4cefb419e18c40b8d5b6ac982f3f
+include/libxml2/libxml/SAX.h: bf46553ceac47b24126d4a1abb7b26fa
+include/libxml2/libxml/SAX2.h: 226675de48e46a282141b438b0895db4
+include/libxml2/libxml/c14n.h: 6f2b3ecf12e815ce0159be0fbba1bc4f
+include/libxml2/libxml/catalog.h: 382caf85e794d06e84280cf702a42c18
+include/libxml2/libxml/chvalid.h: 4e1ca6554b98687e75d03662cd92d14e
+include/libxml2/libxml/debugXML.h: 73816937df233c77ebfa261f3ca00dd8
+include/libxml2/libxml/dict.h: a48513ceb9774ebece2daa8a2cd52f07
+include/libxml2/libxml/encoding.h: 807b84fade38abad3ae0d9b6af714dbc
+include/libxml2/libxml/entities.h: 16467595fdaff28420d1657b1658f267
+include/libxml2/libxml/globals.h: 4b9d5b9ff807b093244cc301d2cefda5
+include/libxml2/libxml/hash.h: af6927d60ab5a971b68a65626d903bb2
+include/libxml2/libxml/list.h: 7600108b9a637797d97d3f47ed045287
+include/libxml2/libxml/nanoftp.h: 3f25d5edfbdb1fd084e53d9a7dbaff73
+include/libxml2/libxml/nanohttp.h: d31b62933eab6d58a46eb075b49b7715
+include/libxml2/libxml/parser.h: 3e149b90da438833f98a1bcd12a0abcb
+include/libxml2/libxml/parserInternals.h: 4c3e253f541b903f061a2ef7fadcdc35
+include/libxml2/libxml/pattern.h: db123ed3ecc27ab31b3f808e96edb492
+include/libxml2/libxml/relaxng.h: 348c151f5b45a3543862c0e280f9fbba
+include/libxml2/libxml/schemasInternals.h: 5072dee68b3423ac6f13185b984cc325
+include/libxml2/libxml/schematron.h: 96d9e0c083c4949e246ce02cf31de483
+include/libxml2/libxml/threads.h: 56e93792a1e4d23fe9c6940231cd4a40
+include/libxml2/libxml/tree.h: 406fe7a05a1503755da736b98b1ab781
+include/libxml2/libxml/uri.h: 032d430e35153af35f2fe17a9e9c37bf
+include/libxml2/libxml/valid.h: 3c082c0a5b81e1bc9fd9a21b69014584
+include/libxml2/libxml/xinclude.h: 1f8b2beb8f49da4bf3a658d31dccb2ef
+include/libxml2/libxml/xlink.h: 0f722691abab1f60d5a9f0c14bbb26c4
+include/libxml2/libxml/xmlIO.h: cb4be47d203f7d54f374b9272db7e3f3
+include/libxml2/libxml/xmlautomata.h: 3c3c0a7d353bacfbede7c2decf27e62a
+include/libxml2/libxml/xmlerror.h: 28cd85987165565f9306b9b66a2b4e88
+include/libxml2/libxml/xmlexports.h: 27052360fc0021d99870d8f49371dae0
+include/libxml2/libxml/xmlmemory.h: c0167c625ecaf670d76480506425b472
+include/libxml2/libxml/xmlmodule.h: de174bf853776e7e653c66c059d19e61
+include/libxml2/libxml/xmlreader.h: f4e1ae61cb2ac0d3ded93985fed902db
+include/libxml2/libxml/xmlregexp.h: fea3110c96e8cd9013900e1c8e5b6c0b
+include/libxml2/libxml/xmlsave.h: eed2463cad941f74f99b8b9bc03aa74d
+include/libxml2/libxml/xmlschemas.h: 44ee98f77e997b8843fe6e5c45aa4ab0
+include/libxml2/libxml/xmlschemastypes.h: 160197e01dfa56cd9ad09d201d5bdeb4
+include/libxml2/libxml/xmlstring.h: 82efb8a055d5fc8eb7d815ed471eca53
+include/libxml2/libxml/xmlunicode.h: b9f0b8acddfee9b620ea822978a51d29
+include/libxml2/libxml/xmlversion.h: 58554a85bf2735e2824973cb81347bc9
+include/libxml2/libxml/xmlwriter.h: 8694436144b1fb0aab2e2d6b725035e3
+include/libxml2/libxml/xpath.h: bfe49b59c50e544f6e7a72423159775a
+include/libxml2/libxml/xpathInternals.h: c18fad3cce22369a75166afed6343bcd
+include/libxml2/libxml/xpointer.h: 5b8025430888d5b99d03d159ddc78388
+include/libxml2/win32config.h: e51ff5a65571584fbe45f75eede0ee3e
+include/libxml2/wsockcompat.h: fd8ce4d6dabe53035a28c6aa64926b1c
+lib/libxml2.dll.a: 849838d8f7d5dcbcb16097dbdabee707
+lib/xml2Conf.sh: d980a83ab1cdd3637ee4fc3aeb75733c
+licenses/COPYING: 2044417e2e5006b65a8b9067b683fcf1
diff --git a/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.9/qtproject/stable/package/4370064884cce35fe631d04efb5ff5c356ea732a/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.10/qtproject/stable/package/3c8e91368468fdcd96258c1b561b15aca6819857/conanmanifest.txt
index ebd8dee8..59ce0a4c 100644
--- a/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.9/qtproject/stable/package/4370064884cce35fe631d04efb5ff5c356ea732a/conanmanifest.txt
+++ b/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.10/qtproject/stable/package/3c8e91368468fdcd96258c1b561b15aca6819857/conanmanifest.txt
@@ -1,42 +1,41 @@
-1563312863
-FindLibXml2.cmake: d030bc3535551b29c75e192b74469347
-bin/libxml2.dll: 632148ab34c6b6cb2561f1681e22279f
-bin/xmlcatalog.exe: 08d32e0db94de3b1cf466ddc7089045d
-bin/xmllint.exe: 8037bc812f6015bfecbd4eb5e0f97770
-conaninfo.txt: e46ac0e8413b00cf35c221a02d466f4a
+1582268935
+bin/libxml2.dll: b39e8747b893f40371b031652f5a5bff
+bin/xmlcatalog.exe: b798aee02fe1e2301c2e03ece882a19b
+bin/xmllint.exe: 9d112a5178d123156759a5e5a440b760
+conaninfo.txt: a281958bfa5d3a17d0aad2a05b96d677
include/libxml2/libxml/DOCBparser.h: 21e6523a86338325c527e1e8847adc1d
include/libxml2/libxml/HTMLparser.h: d57891c89573ed6dce04b8133e7438d2
include/libxml2/libxml/HTMLtree.h: 46cf4cefb419e18c40b8d5b6ac982f3f
include/libxml2/libxml/SAX.h: bf46553ceac47b24126d4a1abb7b26fa
include/libxml2/libxml/SAX2.h: 226675de48e46a282141b438b0895db4
-include/libxml2/libxml/c14n.h: 083bf52bbdd0563ff61605cb2bc9316f
-include/libxml2/libxml/catalog.h: 1d5e464fe629dde9758d6c33ea7a3d8e
+include/libxml2/libxml/c14n.h: 6f2b3ecf12e815ce0159be0fbba1bc4f
+include/libxml2/libxml/catalog.h: 382caf85e794d06e84280cf702a42c18
include/libxml2/libxml/chvalid.h: 4e1ca6554b98687e75d03662cd92d14e
include/libxml2/libxml/debugXML.h: 73816937df233c77ebfa261f3ca00dd8
-include/libxml2/libxml/dict.h: 93b78165ce896cbda4417bd278259714
+include/libxml2/libxml/dict.h: a48513ceb9774ebece2daa8a2cd52f07
include/libxml2/libxml/encoding.h: 807b84fade38abad3ae0d9b6af714dbc
include/libxml2/libxml/entities.h: 16467595fdaff28420d1657b1658f267
include/libxml2/libxml/globals.h: 4b9d5b9ff807b093244cc301d2cefda5
-include/libxml2/libxml/hash.h: 35f22cf7568b12fcf7bdc3f47fe2ccca
+include/libxml2/libxml/hash.h: af6927d60ab5a971b68a65626d903bb2
include/libxml2/libxml/list.h: 7600108b9a637797d97d3f47ed045287
include/libxml2/libxml/nanoftp.h: 3f25d5edfbdb1fd084e53d9a7dbaff73
include/libxml2/libxml/nanohttp.h: d31b62933eab6d58a46eb075b49b7715
-include/libxml2/libxml/parser.h: 3ef7bece85150ab2319aed3fd0d36034
-include/libxml2/libxml/parserInternals.h: c55ce5832dae535ce6d59b6aa10f6133
+include/libxml2/libxml/parser.h: 3e149b90da438833f98a1bcd12a0abcb
+include/libxml2/libxml/parserInternals.h: 4c3e253f541b903f061a2ef7fadcdc35
include/libxml2/libxml/pattern.h: db123ed3ecc27ab31b3f808e96edb492
include/libxml2/libxml/relaxng.h: 348c151f5b45a3543862c0e280f9fbba
-include/libxml2/libxml/schemasInternals.h: 57e07ffffb72ccfa3ef131c7ad89633a
+include/libxml2/libxml/schemasInternals.h: 5072dee68b3423ac6f13185b984cc325
include/libxml2/libxml/schematron.h: 96d9e0c083c4949e246ce02cf31de483
include/libxml2/libxml/threads.h: 56e93792a1e4d23fe9c6940231cd4a40
-include/libxml2/libxml/tree.h: 7e730a421411d4d34ad95b52122f2650
+include/libxml2/libxml/tree.h: 406fe7a05a1503755da736b98b1ab781
include/libxml2/libxml/uri.h: 032d430e35153af35f2fe17a9e9c37bf
include/libxml2/libxml/valid.h: 3c082c0a5b81e1bc9fd9a21b69014584
include/libxml2/libxml/xinclude.h: 1f8b2beb8f49da4bf3a658d31dccb2ef
-include/libxml2/libxml/xlink.h: 8b82b67e61ebffc721bd23af66724f49
-include/libxml2/libxml/xmlIO.h: 31c8dfbaee25e20cd0d6eb2549929f5d
+include/libxml2/libxml/xlink.h: 0f722691abab1f60d5a9f0c14bbb26c4
+include/libxml2/libxml/xmlIO.h: cb4be47d203f7d54f374b9272db7e3f3
include/libxml2/libxml/xmlautomata.h: 3c3c0a7d353bacfbede7c2decf27e62a
-include/libxml2/libxml/xmlerror.h: 9f03d7b7788f158e68a75132e9249975
-include/libxml2/libxml/xmlexports.h: 600bbe5e56f034234213b0c0bf36f2b9
+include/libxml2/libxml/xmlerror.h: 28cd85987165565f9306b9b66a2b4e88
+include/libxml2/libxml/xmlexports.h: 27052360fc0021d99870d8f49371dae0
include/libxml2/libxml/xmlmemory.h: c0167c625ecaf670d76480506425b472
include/libxml2/libxml/xmlmodule.h: de174bf853776e7e653c66c059d19e61
include/libxml2/libxml/xmlreader.h: f4e1ae61cb2ac0d3ded93985fed902db
@@ -46,12 +45,12 @@ include/libxml2/libxml/xmlschemas.h: 44ee98f77e997b8843fe6e5c45aa4ab0
include/libxml2/libxml/xmlschemastypes.h: 160197e01dfa56cd9ad09d201d5bdeb4
include/libxml2/libxml/xmlstring.h: 82efb8a055d5fc8eb7d815ed471eca53
include/libxml2/libxml/xmlunicode.h: b9f0b8acddfee9b620ea822978a51d29
-include/libxml2/libxml/xmlversion.h: e3b607d4f9fb7f1efffd2a983cdd3563
+include/libxml2/libxml/xmlversion.h: 1e9e77170ee677ce49956476e0f845d6
include/libxml2/libxml/xmlwriter.h: 8694436144b1fb0aab2e2d6b725035e3
-include/libxml2/libxml/xpath.h: 2e60b359a61db15d05409ebef1b140b1
+include/libxml2/libxml/xpath.h: bfe49b59c50e544f6e7a72423159775a
include/libxml2/libxml/xpathInternals.h: c18fad3cce22369a75166afed6343bcd
include/libxml2/libxml/xpointer.h: 5b8025430888d5b99d03d159ddc78388
-include/libxml2/win32config.h: 117c7e9cb4e95acd6648f4af9cf98c5b
-include/libxml2/wsockcompat.h: 04a6c8ece3e62ee924d3653c2613b5be
-lib/libxml2.lib: 41f3c91f5e91295170f3d8bb407871dd
+include/libxml2/win32config.h: e51ff5a65571584fbe45f75eede0ee3e
+include/libxml2/wsockcompat.h: fd8ce4d6dabe53035a28c6aa64926b1c
+lib/libxml2.lib: 7a43cf6d0d6465bfadf9fd1e02130d68
licenses/COPYING: 2044417e2e5006b65a8b9067b683fcf1
diff --git a/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.9/qtproject/stable/package/a2f0cba83ce6faca8664d5e4c043b89cb0b7bfe2/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.10/qtproject/stable/package/52cf7dbd8248b3f021f6d94e6a16c70823093916/conanmanifest.txt
index 5bc2a52a..0e317ac4 100644
--- a/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.9/qtproject/stable/package/a2f0cba83ce6faca8664d5e4c043b89cb0b7bfe2/conanmanifest.txt
+++ b/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.10/qtproject/stable/package/52cf7dbd8248b3f021f6d94e6a16c70823093916/conanmanifest.txt
@@ -1,42 +1,41 @@
-1563312673
-FindLibXml2.cmake: d030bc3535551b29c75e192b74469347
-bin/libxml2.dll: 36f09f1647f79bbcd6fb83990e7556d6
-bin/xmlcatalog.exe: aece355d60e23820db6b8a8f5398926b
-bin/xmllint.exe: 5b4c66ea7fd3eded27162c6a264168d6
-conaninfo.txt: 2f9e27dac66da907585431bf3e1cd5cd
+1582269846
+bin/libxml2.dll: 9807c311cef5ae7c2116871b45bb4398
+bin/xmlcatalog.exe: 3ead86d739b476b2ca12ac46ef1f0707
+bin/xmllint.exe: bd9d34f006212ca595816def045d62f7
+conaninfo.txt: 0768398792af659c3fbe40072a9585d3
include/libxml2/libxml/DOCBparser.h: 21e6523a86338325c527e1e8847adc1d
include/libxml2/libxml/HTMLparser.h: d57891c89573ed6dce04b8133e7438d2
include/libxml2/libxml/HTMLtree.h: 46cf4cefb419e18c40b8d5b6ac982f3f
include/libxml2/libxml/SAX.h: bf46553ceac47b24126d4a1abb7b26fa
include/libxml2/libxml/SAX2.h: 226675de48e46a282141b438b0895db4
-include/libxml2/libxml/c14n.h: 083bf52bbdd0563ff61605cb2bc9316f
-include/libxml2/libxml/catalog.h: 1d5e464fe629dde9758d6c33ea7a3d8e
+include/libxml2/libxml/c14n.h: 6f2b3ecf12e815ce0159be0fbba1bc4f
+include/libxml2/libxml/catalog.h: 382caf85e794d06e84280cf702a42c18
include/libxml2/libxml/chvalid.h: 4e1ca6554b98687e75d03662cd92d14e
include/libxml2/libxml/debugXML.h: 73816937df233c77ebfa261f3ca00dd8
-include/libxml2/libxml/dict.h: 93b78165ce896cbda4417bd278259714
+include/libxml2/libxml/dict.h: a48513ceb9774ebece2daa8a2cd52f07
include/libxml2/libxml/encoding.h: 807b84fade38abad3ae0d9b6af714dbc
include/libxml2/libxml/entities.h: 16467595fdaff28420d1657b1658f267
include/libxml2/libxml/globals.h: 4b9d5b9ff807b093244cc301d2cefda5
-include/libxml2/libxml/hash.h: 35f22cf7568b12fcf7bdc3f47fe2ccca
+include/libxml2/libxml/hash.h: af6927d60ab5a971b68a65626d903bb2
include/libxml2/libxml/list.h: 7600108b9a637797d97d3f47ed045287
include/libxml2/libxml/nanoftp.h: 3f25d5edfbdb1fd084e53d9a7dbaff73
include/libxml2/libxml/nanohttp.h: d31b62933eab6d58a46eb075b49b7715
-include/libxml2/libxml/parser.h: 3ef7bece85150ab2319aed3fd0d36034
-include/libxml2/libxml/parserInternals.h: c55ce5832dae535ce6d59b6aa10f6133
+include/libxml2/libxml/parser.h: 3e149b90da438833f98a1bcd12a0abcb
+include/libxml2/libxml/parserInternals.h: 4c3e253f541b903f061a2ef7fadcdc35
include/libxml2/libxml/pattern.h: db123ed3ecc27ab31b3f808e96edb492
include/libxml2/libxml/relaxng.h: 348c151f5b45a3543862c0e280f9fbba
-include/libxml2/libxml/schemasInternals.h: 57e07ffffb72ccfa3ef131c7ad89633a
+include/libxml2/libxml/schemasInternals.h: 5072dee68b3423ac6f13185b984cc325
include/libxml2/libxml/schematron.h: 96d9e0c083c4949e246ce02cf31de483
include/libxml2/libxml/threads.h: 56e93792a1e4d23fe9c6940231cd4a40
-include/libxml2/libxml/tree.h: 7e730a421411d4d34ad95b52122f2650
+include/libxml2/libxml/tree.h: 406fe7a05a1503755da736b98b1ab781
include/libxml2/libxml/uri.h: 032d430e35153af35f2fe17a9e9c37bf
include/libxml2/libxml/valid.h: 3c082c0a5b81e1bc9fd9a21b69014584
include/libxml2/libxml/xinclude.h: 1f8b2beb8f49da4bf3a658d31dccb2ef
-include/libxml2/libxml/xlink.h: 8b82b67e61ebffc721bd23af66724f49
-include/libxml2/libxml/xmlIO.h: 31c8dfbaee25e20cd0d6eb2549929f5d
+include/libxml2/libxml/xlink.h: 0f722691abab1f60d5a9f0c14bbb26c4
+include/libxml2/libxml/xmlIO.h: cb4be47d203f7d54f374b9272db7e3f3
include/libxml2/libxml/xmlautomata.h: 3c3c0a7d353bacfbede7c2decf27e62a
-include/libxml2/libxml/xmlerror.h: 9f03d7b7788f158e68a75132e9249975
-include/libxml2/libxml/xmlexports.h: 600bbe5e56f034234213b0c0bf36f2b9
+include/libxml2/libxml/xmlerror.h: 28cd85987165565f9306b9b66a2b4e88
+include/libxml2/libxml/xmlexports.h: 27052360fc0021d99870d8f49371dae0
include/libxml2/libxml/xmlmemory.h: c0167c625ecaf670d76480506425b472
include/libxml2/libxml/xmlmodule.h: de174bf853776e7e653c66c059d19e61
include/libxml2/libxml/xmlreader.h: f4e1ae61cb2ac0d3ded93985fed902db
@@ -46,12 +45,12 @@ include/libxml2/libxml/xmlschemas.h: 44ee98f77e997b8843fe6e5c45aa4ab0
include/libxml2/libxml/xmlschemastypes.h: 160197e01dfa56cd9ad09d201d5bdeb4
include/libxml2/libxml/xmlstring.h: 82efb8a055d5fc8eb7d815ed471eca53
include/libxml2/libxml/xmlunicode.h: b9f0b8acddfee9b620ea822978a51d29
-include/libxml2/libxml/xmlversion.h: e3b607d4f9fb7f1efffd2a983cdd3563
+include/libxml2/libxml/xmlversion.h: 1e9e77170ee677ce49956476e0f845d6
include/libxml2/libxml/xmlwriter.h: 8694436144b1fb0aab2e2d6b725035e3
-include/libxml2/libxml/xpath.h: 2e60b359a61db15d05409ebef1b140b1
+include/libxml2/libxml/xpath.h: bfe49b59c50e544f6e7a72423159775a
include/libxml2/libxml/xpathInternals.h: c18fad3cce22369a75166afed6343bcd
include/libxml2/libxml/xpointer.h: 5b8025430888d5b99d03d159ddc78388
-include/libxml2/win32config.h: 117c7e9cb4e95acd6648f4af9cf98c5b
-include/libxml2/wsockcompat.h: 04a6c8ece3e62ee924d3653c2613b5be
-lib/libxml2.lib: 3298f82644251a34bd95fbd900087e19
+include/libxml2/win32config.h: e51ff5a65571584fbe45f75eede0ee3e
+include/libxml2/wsockcompat.h: fd8ce4d6dabe53035a28c6aa64926b1c
+lib/libxml2.lib: 7fcc4938ce977551d281c3b284908fc4
licenses/COPYING: 2044417e2e5006b65a8b9067b683fcf1
diff --git a/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.9/qtproject/stable/package/c837186703e4fb24344e99222c6f8da4a8574e49/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.10/qtproject/stable/package/6950736270999084f676eb62bcb88ece1b8351b7/conanmanifest.txt
index 1c0f5276..04b694fb 100644
--- a/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.9/qtproject/stable/package/c837186703e4fb24344e99222c6f8da4a8574e49/conanmanifest.txt
+++ b/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.10/qtproject/stable/package/6950736270999084f676eb62bcb88ece1b8351b7/conanmanifest.txt
@@ -1,42 +1,41 @@
-1563312495
-FindLibXml2.cmake: d030bc3535551b29c75e192b74469347
-bin/libxml2.dll: b028a505c7edcec4b7ee8e1a4d49a846
-bin/xmlcatalog.exe: c6047d4112de01e2da37c1c591c9a451
-bin/xmllint.exe: 47b08028082138743437c8bcd9e4fa2a
-conaninfo.txt: 70025695045214886ea8bb78eb461369
+1582269689
+bin/libxml2.dll: ae389e2ddae1c43bf9ec445624f47b2a
+bin/xmlcatalog.exe: bbc783406f307ead9e208cc053057515
+bin/xmllint.exe: 219e6273a76bff9f81311845cdafbdc5
+conaninfo.txt: fa7291961078c99298606983d6ee6f4f
include/libxml2/libxml/DOCBparser.h: 21e6523a86338325c527e1e8847adc1d
include/libxml2/libxml/HTMLparser.h: d57891c89573ed6dce04b8133e7438d2
include/libxml2/libxml/HTMLtree.h: 46cf4cefb419e18c40b8d5b6ac982f3f
include/libxml2/libxml/SAX.h: bf46553ceac47b24126d4a1abb7b26fa
include/libxml2/libxml/SAX2.h: 226675de48e46a282141b438b0895db4
-include/libxml2/libxml/c14n.h: 083bf52bbdd0563ff61605cb2bc9316f
-include/libxml2/libxml/catalog.h: 1d5e464fe629dde9758d6c33ea7a3d8e
+include/libxml2/libxml/c14n.h: 6f2b3ecf12e815ce0159be0fbba1bc4f
+include/libxml2/libxml/catalog.h: 382caf85e794d06e84280cf702a42c18
include/libxml2/libxml/chvalid.h: 4e1ca6554b98687e75d03662cd92d14e
include/libxml2/libxml/debugXML.h: 73816937df233c77ebfa261f3ca00dd8
-include/libxml2/libxml/dict.h: 93b78165ce896cbda4417bd278259714
+include/libxml2/libxml/dict.h: a48513ceb9774ebece2daa8a2cd52f07
include/libxml2/libxml/encoding.h: 807b84fade38abad3ae0d9b6af714dbc
include/libxml2/libxml/entities.h: 16467595fdaff28420d1657b1658f267
include/libxml2/libxml/globals.h: 4b9d5b9ff807b093244cc301d2cefda5
-include/libxml2/libxml/hash.h: 35f22cf7568b12fcf7bdc3f47fe2ccca
+include/libxml2/libxml/hash.h: af6927d60ab5a971b68a65626d903bb2
include/libxml2/libxml/list.h: 7600108b9a637797d97d3f47ed045287
include/libxml2/libxml/nanoftp.h: 3f25d5edfbdb1fd084e53d9a7dbaff73
include/libxml2/libxml/nanohttp.h: d31b62933eab6d58a46eb075b49b7715
-include/libxml2/libxml/parser.h: 3ef7bece85150ab2319aed3fd0d36034
-include/libxml2/libxml/parserInternals.h: c55ce5832dae535ce6d59b6aa10f6133
+include/libxml2/libxml/parser.h: 3e149b90da438833f98a1bcd12a0abcb
+include/libxml2/libxml/parserInternals.h: 4c3e253f541b903f061a2ef7fadcdc35
include/libxml2/libxml/pattern.h: db123ed3ecc27ab31b3f808e96edb492
include/libxml2/libxml/relaxng.h: 348c151f5b45a3543862c0e280f9fbba
-include/libxml2/libxml/schemasInternals.h: 57e07ffffb72ccfa3ef131c7ad89633a
+include/libxml2/libxml/schemasInternals.h: 5072dee68b3423ac6f13185b984cc325
include/libxml2/libxml/schematron.h: 96d9e0c083c4949e246ce02cf31de483
include/libxml2/libxml/threads.h: 56e93792a1e4d23fe9c6940231cd4a40
-include/libxml2/libxml/tree.h: 7e730a421411d4d34ad95b52122f2650
+include/libxml2/libxml/tree.h: 406fe7a05a1503755da736b98b1ab781
include/libxml2/libxml/uri.h: 032d430e35153af35f2fe17a9e9c37bf
include/libxml2/libxml/valid.h: 3c082c0a5b81e1bc9fd9a21b69014584
include/libxml2/libxml/xinclude.h: 1f8b2beb8f49da4bf3a658d31dccb2ef
-include/libxml2/libxml/xlink.h: 8b82b67e61ebffc721bd23af66724f49
-include/libxml2/libxml/xmlIO.h: 31c8dfbaee25e20cd0d6eb2549929f5d
+include/libxml2/libxml/xlink.h: 0f722691abab1f60d5a9f0c14bbb26c4
+include/libxml2/libxml/xmlIO.h: cb4be47d203f7d54f374b9272db7e3f3
include/libxml2/libxml/xmlautomata.h: 3c3c0a7d353bacfbede7c2decf27e62a
-include/libxml2/libxml/xmlerror.h: 9f03d7b7788f158e68a75132e9249975
-include/libxml2/libxml/xmlexports.h: 600bbe5e56f034234213b0c0bf36f2b9
+include/libxml2/libxml/xmlerror.h: 28cd85987165565f9306b9b66a2b4e88
+include/libxml2/libxml/xmlexports.h: 27052360fc0021d99870d8f49371dae0
include/libxml2/libxml/xmlmemory.h: c0167c625ecaf670d76480506425b472
include/libxml2/libxml/xmlmodule.h: de174bf853776e7e653c66c059d19e61
include/libxml2/libxml/xmlreader.h: f4e1ae61cb2ac0d3ded93985fed902db
@@ -46,12 +45,12 @@ include/libxml2/libxml/xmlschemas.h: 44ee98f77e997b8843fe6e5c45aa4ab0
include/libxml2/libxml/xmlschemastypes.h: 160197e01dfa56cd9ad09d201d5bdeb4
include/libxml2/libxml/xmlstring.h: 82efb8a055d5fc8eb7d815ed471eca53
include/libxml2/libxml/xmlunicode.h: b9f0b8acddfee9b620ea822978a51d29
-include/libxml2/libxml/xmlversion.h: e3b607d4f9fb7f1efffd2a983cdd3563
+include/libxml2/libxml/xmlversion.h: 1e9e77170ee677ce49956476e0f845d6
include/libxml2/libxml/xmlwriter.h: 8694436144b1fb0aab2e2d6b725035e3
-include/libxml2/libxml/xpath.h: 2e60b359a61db15d05409ebef1b140b1
+include/libxml2/libxml/xpath.h: bfe49b59c50e544f6e7a72423159775a
include/libxml2/libxml/xpathInternals.h: c18fad3cce22369a75166afed6343bcd
include/libxml2/libxml/xpointer.h: 5b8025430888d5b99d03d159ddc78388
-include/libxml2/win32config.h: 117c7e9cb4e95acd6648f4af9cf98c5b
-include/libxml2/wsockcompat.h: 04a6c8ece3e62ee924d3653c2613b5be
-lib/libxml2.lib: 80971fc22fe9830afe2ec26e2f0e1597
+include/libxml2/win32config.h: e51ff5a65571584fbe45f75eede0ee3e
+include/libxml2/wsockcompat.h: fd8ce4d6dabe53035a28c6aa64926b1c
+lib/libxml2.lib: 7fad5ca5e6d3bcc2115e380257743d75
licenses/COPYING: 2044417e2e5006b65a8b9067b683fcf1
diff --git a/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.10/qtproject/stable/package/c32d851699c84c9ca05d351cd671598c4b2b7ea5/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.10/qtproject/stable/package/c32d851699c84c9ca05d351cd671598c4b2b7ea5/conanmanifest.txt
new file mode 100644
index 00000000..d0279a1e
--- /dev/null
+++ b/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.10/qtproject/stable/package/c32d851699c84c9ca05d351cd671598c4b2b7ea5/conanmanifest.txt
@@ -0,0 +1,56 @@
+1582269412
+bin/libxml2.dll: d7b295a30b17fb9677f51f2b2a50076b
+bin/xmlcatalog.exe: ddf64e3e045991cec3447cd9b28e800a
+bin/xmllint.exe: d076d2473573b6823244150d4960656e
+conaninfo.txt: af801cc2589c7b7ec4c2e824d6dda402
+include/libxml2/libxml/DOCBparser.h: 21e6523a86338325c527e1e8847adc1d
+include/libxml2/libxml/HTMLparser.h: d57891c89573ed6dce04b8133e7438d2
+include/libxml2/libxml/HTMLtree.h: 46cf4cefb419e18c40b8d5b6ac982f3f
+include/libxml2/libxml/SAX.h: bf46553ceac47b24126d4a1abb7b26fa
+include/libxml2/libxml/SAX2.h: 226675de48e46a282141b438b0895db4
+include/libxml2/libxml/c14n.h: 6f2b3ecf12e815ce0159be0fbba1bc4f
+include/libxml2/libxml/catalog.h: 382caf85e794d06e84280cf702a42c18
+include/libxml2/libxml/chvalid.h: 4e1ca6554b98687e75d03662cd92d14e
+include/libxml2/libxml/debugXML.h: 73816937df233c77ebfa261f3ca00dd8
+include/libxml2/libxml/dict.h: a48513ceb9774ebece2daa8a2cd52f07
+include/libxml2/libxml/encoding.h: 807b84fade38abad3ae0d9b6af714dbc
+include/libxml2/libxml/entities.h: 16467595fdaff28420d1657b1658f267
+include/libxml2/libxml/globals.h: 4b9d5b9ff807b093244cc301d2cefda5
+include/libxml2/libxml/hash.h: af6927d60ab5a971b68a65626d903bb2
+include/libxml2/libxml/list.h: 7600108b9a637797d97d3f47ed045287
+include/libxml2/libxml/nanoftp.h: 3f25d5edfbdb1fd084e53d9a7dbaff73
+include/libxml2/libxml/nanohttp.h: d31b62933eab6d58a46eb075b49b7715
+include/libxml2/libxml/parser.h: 3e149b90da438833f98a1bcd12a0abcb
+include/libxml2/libxml/parserInternals.h: 4c3e253f541b903f061a2ef7fadcdc35
+include/libxml2/libxml/pattern.h: db123ed3ecc27ab31b3f808e96edb492
+include/libxml2/libxml/relaxng.h: 348c151f5b45a3543862c0e280f9fbba
+include/libxml2/libxml/schemasInternals.h: 5072dee68b3423ac6f13185b984cc325
+include/libxml2/libxml/schematron.h: 96d9e0c083c4949e246ce02cf31de483
+include/libxml2/libxml/threads.h: 56e93792a1e4d23fe9c6940231cd4a40
+include/libxml2/libxml/tree.h: 406fe7a05a1503755da736b98b1ab781
+include/libxml2/libxml/uri.h: 032d430e35153af35f2fe17a9e9c37bf
+include/libxml2/libxml/valid.h: 3c082c0a5b81e1bc9fd9a21b69014584
+include/libxml2/libxml/xinclude.h: 1f8b2beb8f49da4bf3a658d31dccb2ef
+include/libxml2/libxml/xlink.h: 0f722691abab1f60d5a9f0c14bbb26c4
+include/libxml2/libxml/xmlIO.h: cb4be47d203f7d54f374b9272db7e3f3
+include/libxml2/libxml/xmlautomata.h: 3c3c0a7d353bacfbede7c2decf27e62a
+include/libxml2/libxml/xmlerror.h: 28cd85987165565f9306b9b66a2b4e88
+include/libxml2/libxml/xmlexports.h: 27052360fc0021d99870d8f49371dae0
+include/libxml2/libxml/xmlmemory.h: c0167c625ecaf670d76480506425b472
+include/libxml2/libxml/xmlmodule.h: de174bf853776e7e653c66c059d19e61
+include/libxml2/libxml/xmlreader.h: f4e1ae61cb2ac0d3ded93985fed902db
+include/libxml2/libxml/xmlregexp.h: fea3110c96e8cd9013900e1c8e5b6c0b
+include/libxml2/libxml/xmlsave.h: eed2463cad941f74f99b8b9bc03aa74d
+include/libxml2/libxml/xmlschemas.h: 44ee98f77e997b8843fe6e5c45aa4ab0
+include/libxml2/libxml/xmlschemastypes.h: 160197e01dfa56cd9ad09d201d5bdeb4
+include/libxml2/libxml/xmlstring.h: 82efb8a055d5fc8eb7d815ed471eca53
+include/libxml2/libxml/xmlunicode.h: b9f0b8acddfee9b620ea822978a51d29
+include/libxml2/libxml/xmlversion.h: 1e9e77170ee677ce49956476e0f845d6
+include/libxml2/libxml/xmlwriter.h: 8694436144b1fb0aab2e2d6b725035e3
+include/libxml2/libxml/xpath.h: bfe49b59c50e544f6e7a72423159775a
+include/libxml2/libxml/xpathInternals.h: c18fad3cce22369a75166afed6343bcd
+include/libxml2/libxml/xpointer.h: 5b8025430888d5b99d03d159ddc78388
+include/libxml2/win32config.h: e51ff5a65571584fbe45f75eede0ee3e
+include/libxml2/wsockcompat.h: fd8ce4d6dabe53035a28c6aa64926b1c
+lib/libxml2.lib: 7a24d97214c4d65842d59d29bd14b3dd
+licenses/COPYING: 2044417e2e5006b65a8b9067b683fcf1
diff --git a/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.10/qtproject/stable/package/eae1effa51b2513b93fde5c749bae61b6203abfa/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.10/qtproject/stable/package/eae1effa51b2513b93fde5c749bae61b6203abfa/conanmanifest.txt
new file mode 100644
index 00000000..9416f4c7
--- /dev/null
+++ b/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.10/qtproject/stable/package/eae1effa51b2513b93fde5c749bae61b6203abfa/conanmanifest.txt
@@ -0,0 +1,56 @@
+1582269192
+bin/libxml2.dll: 3f2b68ee4ebaa7c2007c9648a3de0d7f
+bin/xmlcatalog.exe: 7fe9c0dbe6bcefb7366e6998a92bdc61
+bin/xmllint.exe: f8b7e9d86809338f0514f8a21e850776
+conaninfo.txt: c7c94b95b4b1e8c661e76d4a70708dc3
+include/libxml2/libxml/DOCBparser.h: 21e6523a86338325c527e1e8847adc1d
+include/libxml2/libxml/HTMLparser.h: d57891c89573ed6dce04b8133e7438d2
+include/libxml2/libxml/HTMLtree.h: 46cf4cefb419e18c40b8d5b6ac982f3f
+include/libxml2/libxml/SAX.h: bf46553ceac47b24126d4a1abb7b26fa
+include/libxml2/libxml/SAX2.h: 226675de48e46a282141b438b0895db4
+include/libxml2/libxml/c14n.h: 6f2b3ecf12e815ce0159be0fbba1bc4f
+include/libxml2/libxml/catalog.h: 382caf85e794d06e84280cf702a42c18
+include/libxml2/libxml/chvalid.h: 4e1ca6554b98687e75d03662cd92d14e
+include/libxml2/libxml/debugXML.h: 73816937df233c77ebfa261f3ca00dd8
+include/libxml2/libxml/dict.h: a48513ceb9774ebece2daa8a2cd52f07
+include/libxml2/libxml/encoding.h: 807b84fade38abad3ae0d9b6af714dbc
+include/libxml2/libxml/entities.h: 16467595fdaff28420d1657b1658f267
+include/libxml2/libxml/globals.h: 4b9d5b9ff807b093244cc301d2cefda5
+include/libxml2/libxml/hash.h: af6927d60ab5a971b68a65626d903bb2
+include/libxml2/libxml/list.h: 7600108b9a637797d97d3f47ed045287
+include/libxml2/libxml/nanoftp.h: 3f25d5edfbdb1fd084e53d9a7dbaff73
+include/libxml2/libxml/nanohttp.h: d31b62933eab6d58a46eb075b49b7715
+include/libxml2/libxml/parser.h: 3e149b90da438833f98a1bcd12a0abcb
+include/libxml2/libxml/parserInternals.h: 4c3e253f541b903f061a2ef7fadcdc35
+include/libxml2/libxml/pattern.h: db123ed3ecc27ab31b3f808e96edb492
+include/libxml2/libxml/relaxng.h: 348c151f5b45a3543862c0e280f9fbba
+include/libxml2/libxml/schemasInternals.h: 5072dee68b3423ac6f13185b984cc325
+include/libxml2/libxml/schematron.h: 96d9e0c083c4949e246ce02cf31de483
+include/libxml2/libxml/threads.h: 56e93792a1e4d23fe9c6940231cd4a40
+include/libxml2/libxml/tree.h: 406fe7a05a1503755da736b98b1ab781
+include/libxml2/libxml/uri.h: 032d430e35153af35f2fe17a9e9c37bf
+include/libxml2/libxml/valid.h: 3c082c0a5b81e1bc9fd9a21b69014584
+include/libxml2/libxml/xinclude.h: 1f8b2beb8f49da4bf3a658d31dccb2ef
+include/libxml2/libxml/xlink.h: 0f722691abab1f60d5a9f0c14bbb26c4
+include/libxml2/libxml/xmlIO.h: cb4be47d203f7d54f374b9272db7e3f3
+include/libxml2/libxml/xmlautomata.h: 3c3c0a7d353bacfbede7c2decf27e62a
+include/libxml2/libxml/xmlerror.h: 28cd85987165565f9306b9b66a2b4e88
+include/libxml2/libxml/xmlexports.h: 27052360fc0021d99870d8f49371dae0
+include/libxml2/libxml/xmlmemory.h: c0167c625ecaf670d76480506425b472
+include/libxml2/libxml/xmlmodule.h: de174bf853776e7e653c66c059d19e61
+include/libxml2/libxml/xmlreader.h: f4e1ae61cb2ac0d3ded93985fed902db
+include/libxml2/libxml/xmlregexp.h: fea3110c96e8cd9013900e1c8e5b6c0b
+include/libxml2/libxml/xmlsave.h: eed2463cad941f74f99b8b9bc03aa74d
+include/libxml2/libxml/xmlschemas.h: 44ee98f77e997b8843fe6e5c45aa4ab0
+include/libxml2/libxml/xmlschemastypes.h: 160197e01dfa56cd9ad09d201d5bdeb4
+include/libxml2/libxml/xmlstring.h: 82efb8a055d5fc8eb7d815ed471eca53
+include/libxml2/libxml/xmlunicode.h: b9f0b8acddfee9b620ea822978a51d29
+include/libxml2/libxml/xmlversion.h: 1e9e77170ee677ce49956476e0f845d6
+include/libxml2/libxml/xmlwriter.h: 8694436144b1fb0aab2e2d6b725035e3
+include/libxml2/libxml/xpath.h: bfe49b59c50e544f6e7a72423159775a
+include/libxml2/libxml/xpathInternals.h: c18fad3cce22369a75166afed6343bcd
+include/libxml2/libxml/xpointer.h: 5b8025430888d5b99d03d159ddc78388
+include/libxml2/win32config.h: e51ff5a65571584fbe45f75eede0ee3e
+include/libxml2/wsockcompat.h: fd8ce4d6dabe53035a28c6aa64926b1c
+lib/libxml2.lib: 6147cf7e90ad1040f634126a812b6971
+licenses/COPYING: 2044417e2e5006b65a8b9067b683fcf1
diff --git a/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.9/qtproject/stable/export/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.9/qtproject/stable/export/conanmanifest.txt
deleted file mode 100644
index 4ae813dc..00000000
--- a/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.9/qtproject/stable/export/conanmanifest.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-1563312451
-LICENSE.md: 5aa9930034582b90e2008d2c609d1317
-conanfile.py: ccf2921e844affb96a4da65b7272cfc5
-export_source/FindLibXml2.cmake: d030bc3535551b29c75e192b74469347
diff --git a/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.9/qtproject/stable/package/228fe6274aa7b6b50620b9e88bd3505648dacfd9/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.9/qtproject/stable/package/228fe6274aa7b6b50620b9e88bd3505648dacfd9/conanmanifest.txt
deleted file mode 100644
index 9ca47ec2..00000000
--- a/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.9/qtproject/stable/package/228fe6274aa7b6b50620b9e88bd3505648dacfd9/conanmanifest.txt
+++ /dev/null
@@ -1,274 +0,0 @@
-1563313980
-FindLibXml2.cmake: d030bc3535551b29c75e192b74469347
-bin/libxml2-2.dll: 15a6499bd578ade12e2cf23132a80c0a
-bin/xml2-config: 8928b07e20f1e79cdf49a6b6bd41ac43
-bin/xmlcatalog.exe: 35d5476cb769eea55ca9b3477d0fd793
-bin/xmllint.exe: 14b1972dc6dcfefb0286c9cdfe578873
-conaninfo.txt: 31e483fb81ef6da53e5e7c43e641cce3
-include/libxml2/libxml/DOCBparser.h: 21e6523a86338325c527e1e8847adc1d
-include/libxml2/libxml/HTMLparser.h: d57891c89573ed6dce04b8133e7438d2
-include/libxml2/libxml/HTMLtree.h: 46cf4cefb419e18c40b8d5b6ac982f3f
-include/libxml2/libxml/SAX.h: bf46553ceac47b24126d4a1abb7b26fa
-include/libxml2/libxml/SAX2.h: 226675de48e46a282141b438b0895db4
-include/libxml2/libxml/c14n.h: 083bf52bbdd0563ff61605cb2bc9316f
-include/libxml2/libxml/catalog.h: 1d5e464fe629dde9758d6c33ea7a3d8e
-include/libxml2/libxml/chvalid.h: 4e1ca6554b98687e75d03662cd92d14e
-include/libxml2/libxml/debugXML.h: 73816937df233c77ebfa261f3ca00dd8
-include/libxml2/libxml/dict.h: 93b78165ce896cbda4417bd278259714
-include/libxml2/libxml/encoding.h: 807b84fade38abad3ae0d9b6af714dbc
-include/libxml2/libxml/entities.h: 16467595fdaff28420d1657b1658f267
-include/libxml2/libxml/globals.h: 4b9d5b9ff807b093244cc301d2cefda5
-include/libxml2/libxml/hash.h: 35f22cf7568b12fcf7bdc3f47fe2ccca
-include/libxml2/libxml/list.h: 7600108b9a637797d97d3f47ed045287
-include/libxml2/libxml/nanoftp.h: 3f25d5edfbdb1fd084e53d9a7dbaff73
-include/libxml2/libxml/nanohttp.h: d31b62933eab6d58a46eb075b49b7715
-include/libxml2/libxml/parser.h: 3ef7bece85150ab2319aed3fd0d36034
-include/libxml2/libxml/parserInternals.h: c55ce5832dae535ce6d59b6aa10f6133
-include/libxml2/libxml/pattern.h: db123ed3ecc27ab31b3f808e96edb492
-include/libxml2/libxml/relaxng.h: 348c151f5b45a3543862c0e280f9fbba
-include/libxml2/libxml/schemasInternals.h: 57e07ffffb72ccfa3ef131c7ad89633a
-include/libxml2/libxml/schematron.h: 96d9e0c083c4949e246ce02cf31de483
-include/libxml2/libxml/threads.h: 56e93792a1e4d23fe9c6940231cd4a40
-include/libxml2/libxml/tree.h: 7e730a421411d4d34ad95b52122f2650
-include/libxml2/libxml/uri.h: 032d430e35153af35f2fe17a9e9c37bf
-include/libxml2/libxml/valid.h: 3c082c0a5b81e1bc9fd9a21b69014584
-include/libxml2/libxml/xinclude.h: 1f8b2beb8f49da4bf3a658d31dccb2ef
-include/libxml2/libxml/xlink.h: 8b82b67e61ebffc721bd23af66724f49
-include/libxml2/libxml/xmlIO.h: 31c8dfbaee25e20cd0d6eb2549929f5d
-include/libxml2/libxml/xmlautomata.h: 3c3c0a7d353bacfbede7c2decf27e62a
-include/libxml2/libxml/xmlerror.h: 9f03d7b7788f158e68a75132e9249975
-include/libxml2/libxml/xmlexports.h: 600bbe5e56f034234213b0c0bf36f2b9
-include/libxml2/libxml/xmlmemory.h: c0167c625ecaf670d76480506425b472
-include/libxml2/libxml/xmlmodule.h: de174bf853776e7e653c66c059d19e61
-include/libxml2/libxml/xmlreader.h: f4e1ae61cb2ac0d3ded93985fed902db
-include/libxml2/libxml/xmlregexp.h: fea3110c96e8cd9013900e1c8e5b6c0b
-include/libxml2/libxml/xmlsave.h: eed2463cad941f74f99b8b9bc03aa74d
-include/libxml2/libxml/xmlschemas.h: 44ee98f77e997b8843fe6e5c45aa4ab0
-include/libxml2/libxml/xmlschemastypes.h: 160197e01dfa56cd9ad09d201d5bdeb4
-include/libxml2/libxml/xmlstring.h: 82efb8a055d5fc8eb7d815ed471eca53
-include/libxml2/libxml/xmlunicode.h: b9f0b8acddfee9b620ea822978a51d29
-include/libxml2/libxml/xmlversion.h: 23a57bce6575bfbeea3ce80479990313
-include/libxml2/libxml/xmlwriter.h: 8694436144b1fb0aab2e2d6b725035e3
-include/libxml2/libxml/xpath.h: 2e60b359a61db15d05409ebef1b140b1
-include/libxml2/libxml/xpathInternals.h: c18fad3cce22369a75166afed6343bcd
-include/libxml2/libxml/xpointer.h: 5b8025430888d5b99d03d159ddc78388
-include/libxml2/win32config.h: 117c7e9cb4e95acd6648f4af9cf98c5b
-include/libxml2/wsockcompat.h: 04a6c8ece3e62ee924d3653c2613b5be
-lib/cmake/libxml2/libxml2-config.cmake: 52555e668f1ac8a60ed70f97137e235b
-lib/libxml2.dll.a: 1727a0e231ae14d0a847108d588727f8
-lib/pkgconfig/libxml-2.0.pc: 4ab65cc88734f5b0fd61903eb57c2375
-lib/xml2Conf.sh: 31d3c8499fc68d2d81616b021ddf13bd
-licenses/COPYING: 2044417e2e5006b65a8b9067b683fcf1
-share/aclocal/libxml.m4: c6969a0bf79628df8bf639433092d7b2
-share/doc/libxml2-2.9.9/Copyright: 2044417e2e5006b65a8b9067b683fcf1
-share/doc/libxml2-2.9.9/examples/testHTML.c: 6b181ebf4001bb62b07c7be7d79a2f01
-share/doc/libxml2-2.9.9/examples/testSAX.c: 34e3e9b268e1915652c15c4be11216a8
-share/doc/libxml2-2.9.9/examples/testXPath.c: 1db9d6ae0438d72387bcfd0ff1ae5ce4
-share/doc/libxml2-2.9.9/examples/xmllint.c: 15e78f93aab67d34d487eaeef8d7df22
-share/doc/libxml2-2.9.9/html/DOM.gif: b3d91cf23f7c9199b395356ea98cd097
-share/doc/libxml2-2.9.9/html/FAQ.html: 46b6bf6536bf9b2652891363aafb0b58
-share/doc/libxml2-2.9.9/html/Libxml2-Logo-180x168.gif: 6704060ba0272a9624e0a732455439ba
-share/doc/libxml2-2.9.9/html/Libxml2-Logo-90x34.gif: 29dfd4b3dec5fee179d3dc7e3d65be8a
-share/doc/libxml2-2.9.9/html/encoding.html: 3be0aba75968021dc9be873c020b93a9
-share/doc/libxml2-2.9.9/html/examples.xml: e94ff0f46d36f998999908d5f55cbbe9
-share/doc/libxml2-2.9.9/html/examples.xsl: 821de9e855568781f8c87ad0fe9afcba
-share/doc/libxml2-2.9.9/html/html/book1.html: 461321024ef78221594067503eb0eba0
-share/doc/libxml2-2.9.9/html/html/home.png: f6192f4292d744423df690e785d60fdf
-share/doc/libxml2-2.9.9/html/html/index.html: 461321024ef78221594067503eb0eba0
-share/doc/libxml2-2.9.9/html/html/left.png: f771308152ab24a69682daed70ce136d
-share/doc/libxml2-2.9.9/html/html/libxml-DOCBparser.html: a9c425e3ab0c095b85759a321c294a72
-share/doc/libxml2-2.9.9/html/html/libxml-HTMLparser.html: 9bed50ea5f7ef6398a54151a85e5d82e
-share/doc/libxml2-2.9.9/html/html/libxml-HTMLtree.html: b639bc91545a89e12d9c0a34a23bd6de
-share/doc/libxml2-2.9.9/html/html/libxml-SAX.html: a1dddf7f62888196c45c587a216cbe8a
-share/doc/libxml2-2.9.9/html/html/libxml-SAX2.html: 2d8812144ee7796aa073b748ba560d34
-share/doc/libxml2-2.9.9/html/html/libxml-c14n.html: af407530b72ad6d8342eab7e3d90207b
-share/doc/libxml2-2.9.9/html/html/libxml-catalog.html: 6ccaf618b222577f8b1c9ed8278ea357
-share/doc/libxml2-2.9.9/html/html/libxml-chvalid.html: 4bec2549c1505b9048041b722cb052c6
-share/doc/libxml2-2.9.9/html/html/libxml-debugXML.html: b1b29857fbff5d68b7bdf982f8b9f6c7
-share/doc/libxml2-2.9.9/html/html/libxml-dict.html: 01ef47c7c40b6bcdcea9c6ee95a20780
-share/doc/libxml2-2.9.9/html/html/libxml-encoding.html: 9158690112453706058d7c502fd881e1
-share/doc/libxml2-2.9.9/html/html/libxml-entities.html: d4ae454060415d31a5eec7a09d6c05a3
-share/doc/libxml2-2.9.9/html/html/libxml-globals.html: 7487fd3b2740f53f259016b9032caf19
-share/doc/libxml2-2.9.9/html/html/libxml-hash.html: b29d9a4775962146ba81bc5b89d54126
-share/doc/libxml2-2.9.9/html/html/libxml-lib.html: 461321024ef78221594067503eb0eba0
-share/doc/libxml2-2.9.9/html/html/libxml-list.html: f6aa3e5c878950a036c171fc9632a362
-share/doc/libxml2-2.9.9/html/html/libxml-nanoftp.html: c07d479ce51894e6181be84cd7afc8f6
-share/doc/libxml2-2.9.9/html/html/libxml-nanohttp.html: a4457c15280d27457677a436286c344e
-share/doc/libxml2-2.9.9/html/html/libxml-parser.html: d9abc1e3b231427736e24bb53d310edf
-share/doc/libxml2-2.9.9/html/html/libxml-parserInternals.html: dc212b49555db1f4d3473021415990f5
-share/doc/libxml2-2.9.9/html/html/libxml-pattern.html: bff29ccd97d10d65cd40201985ba2501
-share/doc/libxml2-2.9.9/html/html/libxml-relaxng.html: da69ff4b925629ce5667c63895aecf3f
-share/doc/libxml2-2.9.9/html/html/libxml-schemasInternals.html: ca466a394d9e945fcbe283d0b4a24e2f
-share/doc/libxml2-2.9.9/html/html/libxml-schematron.html: f0ddff7bae5bba25b1c98abd75038c36
-share/doc/libxml2-2.9.9/html/html/libxml-threads.html: 8bfd4253309b18e5b94f01228f3c6887
-share/doc/libxml2-2.9.9/html/html/libxml-tree.html: 298516ac6d45a3439975e5de9b830a3a
-share/doc/libxml2-2.9.9/html/html/libxml-uri.html: 9b4186c1502963221da42717dfcf2789
-share/doc/libxml2-2.9.9/html/html/libxml-valid.html: 51b24ec90bd3c5591130fa219172dca8
-share/doc/libxml2-2.9.9/html/html/libxml-xinclude.html: 2639d942d8a7bb71201ef35d8dd0a5d1
-share/doc/libxml2-2.9.9/html/html/libxml-xlink.html: 1de0d3b14ab220eb6b51bfa254b03769
-share/doc/libxml2-2.9.9/html/html/libxml-xmlIO.html: e9d7b75133b68febff966553614ca1e3
-share/doc/libxml2-2.9.9/html/html/libxml-xmlautomata.html: 28a6fdabf1bcc027c5723ef484551a3b
-share/doc/libxml2-2.9.9/html/html/libxml-xmlerror.html: b5130ac841f15f86cc076778451028c3
-share/doc/libxml2-2.9.9/html/html/libxml-xmlexports.html: 76a89eb95c8256a4277f65250245ef9a
-share/doc/libxml2-2.9.9/html/html/libxml-xmlmemory.html: ea097805488added49ebb2f1373c212a
-share/doc/libxml2-2.9.9/html/html/libxml-xmlmodule.html: dad4c35e0c0a8fb9bc1db2d42ae5f664
-share/doc/libxml2-2.9.9/html/html/libxml-xmlreader.html: c73d0449fa012be1b45d28aabb9dd67c
-share/doc/libxml2-2.9.9/html/html/libxml-xmlregexp.html: fc8289c2885a2e9adae8ce5f3f784f4d
-share/doc/libxml2-2.9.9/html/html/libxml-xmlsave.html: 8e4208e2908bd9a021c31ee1338755d2
-share/doc/libxml2-2.9.9/html/html/libxml-xmlschemas.html: 455628ea9eca007ecaa224305df3b0c8
-share/doc/libxml2-2.9.9/html/html/libxml-xmlschemastypes.html: f698db4a289728d46199ad42160da1d3
-share/doc/libxml2-2.9.9/html/html/libxml-xmlstring.html: d567835fca72a7e73875b513626e1d54
-share/doc/libxml2-2.9.9/html/html/libxml-xmlunicode.html: 7b282351048157db2233f4a8c9ed305c
-share/doc/libxml2-2.9.9/html/html/libxml-xmlversion.html: d9e2cd59ac2a1aa5319d09f7ad726a63
-share/doc/libxml2-2.9.9/html/html/libxml-xmlwriter.html: f7345386e22ec21cf60d91371eeaed57
-share/doc/libxml2-2.9.9/html/html/libxml-xpath.html: 0308bfeeaa1f3f9c39d95e2015ae7157
-share/doc/libxml2-2.9.9/html/html/libxml-xpathInternals.html: f41a22321ebfed3de68cd89b8a84a118
-share/doc/libxml2-2.9.9/html/html/libxml-xpointer.html: 39926eb00e10d3513053bebbb82d015e
-share/doc/libxml2-2.9.9/html/html/libxml-xzlib.html: 8d55e7cdc5a0363d945c8a672841bd6f
-share/doc/libxml2-2.9.9/html/html/right.png: ebd7e6d206d73850d77d305ab548f957
-share/doc/libxml2-2.9.9/html/html/up.png: 2f07d9272deb4ae870ca6821117877fa
-share/doc/libxml2-2.9.9/html/index.html: 854eae61c805261731f38a873415144f
-share/doc/libxml2-2.9.9/html/io1.c: 8861af9d5ae163e2679d14cccd7c50a8
-share/doc/libxml2-2.9.9/html/io1.res: c1063365cedce05c3c75361d8b21eda0
-share/doc/libxml2-2.9.9/html/io2.c: 064a8c92267a391f5cbc41dbf49b14ad
-share/doc/libxml2-2.9.9/html/io2.res: c6a030758261e4b23c18fe8fa9b9f1cb
-share/doc/libxml2-2.9.9/html/libxml.gif: 7b77627ea524c095934962f5dee442cb
-share/doc/libxml2-2.9.9/html/parse1.c: 35924de5d0e047f4e2732e8ef4d31fea
-share/doc/libxml2-2.9.9/html/parse2.c: 1533aa6faa9efa078a56d2d37b4e318c
-share/doc/libxml2-2.9.9/html/parse3.c: 745ea8e70138377b1fb1d0e3116dba63
-share/doc/libxml2-2.9.9/html/parse4.c: 1ebc80d9df8a1b0568f9cf7a2cc70a3e
-share/doc/libxml2-2.9.9/html/reader1.c: b30f26d62bb3c37fc9cba51fff13924e
-share/doc/libxml2-2.9.9/html/reader1.res: c7e547f58d4407d091d189a1ebfeab77
-share/doc/libxml2-2.9.9/html/reader2.c: 8b66731b71444ec57b99acc9d41a5f1d
-share/doc/libxml2-2.9.9/html/reader3.c: 2874d5506c9f0b9f4a1dead26d58e559
-share/doc/libxml2-2.9.9/html/reader3.res: ce152220e5a24918935d6f0c8bbcf587
-share/doc/libxml2-2.9.9/html/reader4.c: c7d0e7908cfc12c1102a58f4e530bbfd
-share/doc/libxml2-2.9.9/html/reader4.res: 2f8c9c74667d1434104e5610a77f824f
-share/doc/libxml2-2.9.9/html/redhat.gif: dd0216f442bf6845c103aba1b4bcb869
-share/doc/libxml2-2.9.9/html/smallfootonly.gif: e92b022a99a76d6fceeb35576bb7718f
-share/doc/libxml2-2.9.9/html/structure.gif: f10610a92f24c3f0fc35078f5764867e
-share/doc/libxml2-2.9.9/html/test1.xml: 5ffe018a2890cdd13b4d08d674cf8dd4
-share/doc/libxml2-2.9.9/html/test2.xml: 4084cf4871ee86fef27f5e5ee91ea455
-share/doc/libxml2-2.9.9/html/test3.xml: 0ba76ca9c89e995bbaf258ab154e5205
-share/doc/libxml2-2.9.9/html/testWriter.c: 26b676b61b6f1926e5ff470395878a20
-share/doc/libxml2-2.9.9/html/tree1.c: 8e3b9f050ff7e6ecd2912940cbb2394f
-share/doc/libxml2-2.9.9/html/tree1.res: 4d4d5f3e8297d35e59d9f92c876b42ac
-share/doc/libxml2-2.9.9/html/tree2.c: 9896bce93692a296135127551f5b2a4b
-share/doc/libxml2-2.9.9/html/tree2.res: 8e5cc417bcb23115c4f802404e09657e
-share/doc/libxml2-2.9.9/html/tst.xml: 6d10ac1b8fb04bc8fb73f9964589a223
-share/doc/libxml2-2.9.9/html/tutorial/apa.html: 51b23839855ffbb232c8ba2211a4d9ca
-share/doc/libxml2-2.9.9/html/tutorial/apb.html: 6fa0d1a793a7d794967c497dc9112077
-share/doc/libxml2-2.9.9/html/tutorial/apc.html: c263a905499b8177ee93b6ab39b26266
-share/doc/libxml2-2.9.9/html/tutorial/apd.html: 9f3342db337c1a28df32d4b85eba94be
-share/doc/libxml2-2.9.9/html/tutorial/ape.html: 69164a2345a37ac0b1001f2084ee5abc
-share/doc/libxml2-2.9.9/html/tutorial/apf.html: 4b58ea573ee05ceb46cac6c3eeef8211
-share/doc/libxml2-2.9.9/html/tutorial/apg.html: a84665f786e99169afa8e9dceb5003ca
-share/doc/libxml2-2.9.9/html/tutorial/aph.html: d49dfaba969e5b9161748d98b6f8eb0b
-share/doc/libxml2-2.9.9/html/tutorial/api.html: 0433fb6f377e50662e0f89b1e2f8e49a
-share/doc/libxml2-2.9.9/html/tutorial/ar01s02.html: d2b5e466f1613a0a281969296efe652e
-share/doc/libxml2-2.9.9/html/tutorial/ar01s03.html: af7d8b5f8bf6e7c6949c5f1b260289ef
-share/doc/libxml2-2.9.9/html/tutorial/ar01s04.html: 08161b16d07d12969e2ff0db52c0006d
-share/doc/libxml2-2.9.9/html/tutorial/ar01s05.html: a39259d226409f45e234b8e4f0ae1e9f
-share/doc/libxml2-2.9.9/html/tutorial/ar01s06.html: 4d622cd5afe28d58e8808651c896ff1e
-share/doc/libxml2-2.9.9/html/tutorial/ar01s07.html: c3d0264c72c908e119c22c7787892db9
-share/doc/libxml2-2.9.9/html/tutorial/ar01s08.html: 47bfaa87452e5e5d3436b232d96b1cf7
-share/doc/libxml2-2.9.9/html/tutorial/ar01s09.html: 066052f4864add31dffd8fc4bb1b9b7f
-share/doc/libxml2-2.9.9/html/tutorial/images/blank.png: 6f7573d4bb6bf0f55ed9ebd79f3f786f
-share/doc/libxml2-2.9.9/html/tutorial/images/callouts/1.png: 0f67842b8cc059137a88288e95115a18
-share/doc/libxml2-2.9.9/html/tutorial/images/callouts/10.png: 29fd9e419eee2efa4ef6ce493ca51a9c
-share/doc/libxml2-2.9.9/html/tutorial/images/callouts/2.png: 782f998bab59d0221977c1c0eaa676c8
-share/doc/libxml2-2.9.9/html/tutorial/images/callouts/3.png: 35dcf1dd29a802080c984e52d76e5b1f
-share/doc/libxml2-2.9.9/html/tutorial/images/callouts/4.png: 3d412b47729eb73afc7aa430feeb7da0
-share/doc/libxml2-2.9.9/html/tutorial/images/callouts/5.png: 489005941fbb522369466ca850189c59
-share/doc/libxml2-2.9.9/html/tutorial/images/callouts/6.png: f64cfcfac0c4219edebc96d6d043c84c
-share/doc/libxml2-2.9.9/html/tutorial/images/callouts/7.png: 0def94f52c5e45256232320aaffeb1ce
-share/doc/libxml2-2.9.9/html/tutorial/images/callouts/8.png: 2f899cf0909049b0472654d7357eaeb3
-share/doc/libxml2-2.9.9/html/tutorial/images/callouts/9.png: 5ba16a0731d050493bd7e0b95244aafc
-share/doc/libxml2-2.9.9/html/tutorial/images/caution.png: 2245032ab69fc481e2eefd246aa96e07
-share/doc/libxml2-2.9.9/html/tutorial/images/draft.png: 1b1da3ec69df05af5f2a5475e8a8a24b
-share/doc/libxml2-2.9.9/html/tutorial/images/home.png: 700644702db92b31d7488edfb3adfe7e
-share/doc/libxml2-2.9.9/html/tutorial/images/important.png: ca20b7b781cf82d1aeb36ce63590ccd0
-share/doc/libxml2-2.9.9/html/tutorial/images/next.png: c4ec8d7f81407ce09d175d7366c25ba0
-share/doc/libxml2-2.9.9/html/tutorial/images/note.png: 109e4af9c43357a74c6de01db819f36f
-share/doc/libxml2-2.9.9/html/tutorial/images/prev.png: 2188e42454c65ed8a37126d0f5f5830a
-share/doc/libxml2-2.9.9/html/tutorial/images/tip.png: dbb88aaf05b4a6a7df59c72cc5c947b4
-share/doc/libxml2-2.9.9/html/tutorial/images/toc-blank.png: a9dfccc01739501bbc01d561da12c944
-share/doc/libxml2-2.9.9/html/tutorial/images/toc-minus.png: 72baddf4a76d4d74f634edf1e71134b3
-share/doc/libxml2-2.9.9/html/tutorial/images/toc-plus.png: ee8d311bafbc474875730d7644e86047
-share/doc/libxml2-2.9.9/html/tutorial/images/up.png: ddf37bee4d12f626b42004e26bdd4e13
-share/doc/libxml2-2.9.9/html/tutorial/images/warning.png: 59c28f6840b1f20094af4ffc16ce3189
-share/doc/libxml2-2.9.9/html/tutorial/includeaddattribute.c: ba57721ff902105ef3c79eb199f4da5e
-share/doc/libxml2-2.9.9/html/tutorial/includeaddkeyword.c: 268f90fc598ccf5a5bd1de7d1f57c873
-share/doc/libxml2-2.9.9/html/tutorial/includeconvert.c: b91e86a449cb257dd92ada947c2b2320
-share/doc/libxml2-2.9.9/html/tutorial/includegetattribute.c: af83032a68f54f420f04430efd7629c8
-share/doc/libxml2-2.9.9/html/tutorial/includekeyword.c: 5508972bd6f704cddb4b4faeaa5397b0
-share/doc/libxml2-2.9.9/html/tutorial/includexpath.c: a9718d128b1abbf9710cb7ea315cffec
-share/doc/libxml2-2.9.9/html/tutorial/index.html: c3df2af08328cd4cbf697d55ca9cd419
-share/doc/libxml2-2.9.9/html/tutorial/ix01.html: 2f9c98d5610fc9a8f02c7312c3c49691
-share/doc/libxml2-2.9.9/html/tutorial/xmltutorial.pdf: 12df01000d92ab495235de65abcd4e46
-share/doc/libxml2-2.9.9/html/w3c.png: ba69544b9cfa7659a0bb1b81410680a9
-share/doc/libxml2-2.9.9/html/writer.xml: 1e16356328b8e3fa703a18858a11f3bb
-share/doc/libxml2-2.9.9/html/xml.html: 86d057e640e777486b33b7e424e0beeb
-share/doc/libxml2-2.9.9/html/xpath1.c: 87445983c77091ef0441ff775fb8edc6
-share/doc/libxml2-2.9.9/html/xpath1.res: cf508aadb27c5c145ac58d256326e8eb
-share/doc/libxml2-2.9.9/html/xpath2.c: 413d481a75246b5af3d8e7f489e3408f
-share/doc/libxml2-2.9.9/html/xpath2.res: c32344efbb7334a5f2563420e0d1723c
-share/gtk-doc/html/libxml2/general.html: df2b20bc526b927eefa3f401349d1287
-share/gtk-doc/html/libxml2/home.png: f6192f4292d744423df690e785d60fdf
-share/gtk-doc/html/libxml2/index.html: b0b369ddf6959a2604b422c9268a0a3f
-share/gtk-doc/html/libxml2/left.png: f771308152ab24a69682daed70ce136d
-share/gtk-doc/html/libxml2/libxml2-DOCBparser.html: bde929bed90adf39144b561ad443c278
-share/gtk-doc/html/libxml2/libxml2-HTMLparser.html: b0c4afaee2ffdfb2381d66acad586e2a
-share/gtk-doc/html/libxml2/libxml2-HTMLtree.html: e53dcd12a0e8e51413ca1de4986d7898
-share/gtk-doc/html/libxml2/libxml2-SAX.html: 5ba9dd3cf89972a337869e55024aeb0e
-share/gtk-doc/html/libxml2/libxml2-SAX2.html: 9a8574da93ad762a54194f690db4dbee
-share/gtk-doc/html/libxml2/libxml2-c14n.html: 57a9ef60a8af4df6586ab78061a75fd6
-share/gtk-doc/html/libxml2/libxml2-catalog.html: bcd705392f52867a1afadc1166739d17
-share/gtk-doc/html/libxml2/libxml2-chvalid.html: dca486d382dbf88f4d9155e3f7a826cf
-share/gtk-doc/html/libxml2/libxml2-debugXML.html: efd04207438816e0ce69c47bc93e525b
-share/gtk-doc/html/libxml2/libxml2-dict.html: 48012abaae77f87834377e8d4eb7caf1
-share/gtk-doc/html/libxml2/libxml2-encoding.html: d273f53a4f3c511372c5b984455f0288
-share/gtk-doc/html/libxml2/libxml2-entities.html: 3afcaf72917d0f9dda002baf4445e936
-share/gtk-doc/html/libxml2/libxml2-globals.html: 08b752bd53e687bf8ac51400c62ded68
-share/gtk-doc/html/libxml2/libxml2-hash.html: 371418533e8ef188b888d9e6e34aa245
-share/gtk-doc/html/libxml2/libxml2-list.html: 5a6fe5bf2cefe31f0f68cd2d8cafb2d7
-share/gtk-doc/html/libxml2/libxml2-nanoftp.html: 79f4eb67e7eb955c19bd5337a8cc5177
-share/gtk-doc/html/libxml2/libxml2-nanohttp.html: 0eac4dace4fda9fcd0bb2ebb6c16aaf0
-share/gtk-doc/html/libxml2/libxml2-parser.html: c3f66200ba47bd8198ec81aa3c8ce608
-share/gtk-doc/html/libxml2/libxml2-parserInternals.html: b2757ce5c41539e70df72da43af67825
-share/gtk-doc/html/libxml2/libxml2-pattern.html: 6129a6b5661fc0a38d5c967153651d26
-share/gtk-doc/html/libxml2/libxml2-relaxng.html: f98fee61d7e051dff9719e13b768b26c
-share/gtk-doc/html/libxml2/libxml2-schemasInternals.html: d25db26772d036681e1299a9f214427a
-share/gtk-doc/html/libxml2/libxml2-schematron.html: b3700a489202f309f02c6309f9d86984
-share/gtk-doc/html/libxml2/libxml2-threads.html: bb12a300c2c86bc49f586858a1ef6cd0
-share/gtk-doc/html/libxml2/libxml2-tree.html: 5bbe2d33f9b1917956919b7e18e47c53
-share/gtk-doc/html/libxml2/libxml2-uri.html: c46c9dfea580890ac48b70346c987bf0
-share/gtk-doc/html/libxml2/libxml2-valid.html: b4165290c6751ed9b2074eb915f0601f
-share/gtk-doc/html/libxml2/libxml2-xinclude.html: 644e5093b3931eee1fece47fb9a3c908
-share/gtk-doc/html/libxml2/libxml2-xlink.html: fe35c6e86ba9419aea9f628ed45bc57a
-share/gtk-doc/html/libxml2/libxml2-xmlIO.html: 1dd2f72b5a9014978f94155981fa6486
-share/gtk-doc/html/libxml2/libxml2-xmlautomata.html: 9cd301cf92ecca4ff9e896663f6d6570
-share/gtk-doc/html/libxml2/libxml2-xmlerror.html: 57549b7df0cd531b4d0ce6c03f9d9ade
-share/gtk-doc/html/libxml2/libxml2-xmlexports.html: 62aebfe3442aedae77f8ff0514a8160c
-share/gtk-doc/html/libxml2/libxml2-xmlmemory.html: 8c22f5ea8ddd2ed6795726d714b4ab9f
-share/gtk-doc/html/libxml2/libxml2-xmlmodule.html: 215331b3567ef3b2e79cf35b1998a357
-share/gtk-doc/html/libxml2/libxml2-xmlreader.html: 512101e5eb61e5955c991e14b11ab3bd
-share/gtk-doc/html/libxml2/libxml2-xmlregexp.html: 1a42a4508373992c4471d360bf1cdf4f
-share/gtk-doc/html/libxml2/libxml2-xmlsave.html: ee31535906cba2ee6455e430f48eb236
-share/gtk-doc/html/libxml2/libxml2-xmlschemas.html: 55b5ed0793dd7f64e9c25cfe4be40287
-share/gtk-doc/html/libxml2/libxml2-xmlschemastypes.html: aa49b7bc4fe1493b926c035484fd77af
-share/gtk-doc/html/libxml2/libxml2-xmlstring.html: 39057622b32c4f7bdb0836fd6005a1fa
-share/gtk-doc/html/libxml2/libxml2-xmlunicode.html: 9ac652a74d46f8c3e1caa26c19732b2a
-share/gtk-doc/html/libxml2/libxml2-xmlversion.html: 11a6e7c28ccbdbc1ca91213139decfa9
-share/gtk-doc/html/libxml2/libxml2-xmlwriter.html: 088d1735eaf6fcd0e4117c3cad0aa691
-share/gtk-doc/html/libxml2/libxml2-xpath.html: b75d3437dc3c3c355d6bace3b077e019
-share/gtk-doc/html/libxml2/libxml2-xpathInternals.html: 5f40882d1654ed5c644f22a10c8df2d3
-share/gtk-doc/html/libxml2/libxml2-xpointer.html: f1a81f0b99b0230bc0ceacae67d87043
-share/gtk-doc/html/libxml2/libxml2.devhelp: 138e3b9326546e2e347b3c0b18c12764
-share/gtk-doc/html/libxml2/right.png: ebd7e6d206d73850d77d305ab548f957
-share/gtk-doc/html/libxml2/style.css: a7b180ebf583ed0c315d70d6a4890f79
-share/gtk-doc/html/libxml2/up.png: 2f07d9272deb4ae870ca6821117877fa
-share/man/man1/xml2-config.1: f9ea1b8ede868111a96fc3dbd9db79e6
-share/man/man1/xmlcatalog.1: 79205743b3bdefdddbcb175c60105cc8
-share/man/man1/xmllint.1: c2da2d5425849f19b8b0d355f5215973
-share/man/man3/libxml.3: 1bc9e496f1d34157a9e0d1b65704819a
diff --git a/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.9/qtproject/stable/package/61072772572f3007a94ff98e7a5b24691e94f83f/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.9/qtproject/stable/package/61072772572f3007a94ff98e7a5b24691e94f83f/conanmanifest.txt
deleted file mode 100644
index 8833c57a..00000000
--- a/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.9/qtproject/stable/package/61072772572f3007a94ff98e7a5b24691e94f83f/conanmanifest.txt
+++ /dev/null
@@ -1,274 +0,0 @@
-1563314249
-FindLibXml2.cmake: d030bc3535551b29c75e192b74469347
-bin/libxml2-2.dll: 4a66e2fbb3e6ff0d3be4288f48ec4357
-bin/xml2-config: 76e6eed3b6f08bbd199bc8c0b7053dd5
-bin/xmlcatalog.exe: 3e562c6e39cbb4c5df1e3c0f8c413e2a
-bin/xmllint.exe: dff065ca8a593135b1dfcfeb4f03326e
-conaninfo.txt: 22f2906125da3c1eb305243d0f2b63bf
-include/libxml2/libxml/DOCBparser.h: 21e6523a86338325c527e1e8847adc1d
-include/libxml2/libxml/HTMLparser.h: d57891c89573ed6dce04b8133e7438d2
-include/libxml2/libxml/HTMLtree.h: 46cf4cefb419e18c40b8d5b6ac982f3f
-include/libxml2/libxml/SAX.h: bf46553ceac47b24126d4a1abb7b26fa
-include/libxml2/libxml/SAX2.h: 226675de48e46a282141b438b0895db4
-include/libxml2/libxml/c14n.h: 083bf52bbdd0563ff61605cb2bc9316f
-include/libxml2/libxml/catalog.h: 1d5e464fe629dde9758d6c33ea7a3d8e
-include/libxml2/libxml/chvalid.h: 4e1ca6554b98687e75d03662cd92d14e
-include/libxml2/libxml/debugXML.h: 73816937df233c77ebfa261f3ca00dd8
-include/libxml2/libxml/dict.h: 93b78165ce896cbda4417bd278259714
-include/libxml2/libxml/encoding.h: 807b84fade38abad3ae0d9b6af714dbc
-include/libxml2/libxml/entities.h: 16467595fdaff28420d1657b1658f267
-include/libxml2/libxml/globals.h: 4b9d5b9ff807b093244cc301d2cefda5
-include/libxml2/libxml/hash.h: 35f22cf7568b12fcf7bdc3f47fe2ccca
-include/libxml2/libxml/list.h: 7600108b9a637797d97d3f47ed045287
-include/libxml2/libxml/nanoftp.h: 3f25d5edfbdb1fd084e53d9a7dbaff73
-include/libxml2/libxml/nanohttp.h: d31b62933eab6d58a46eb075b49b7715
-include/libxml2/libxml/parser.h: 3ef7bece85150ab2319aed3fd0d36034
-include/libxml2/libxml/parserInternals.h: c55ce5832dae535ce6d59b6aa10f6133
-include/libxml2/libxml/pattern.h: db123ed3ecc27ab31b3f808e96edb492
-include/libxml2/libxml/relaxng.h: 348c151f5b45a3543862c0e280f9fbba
-include/libxml2/libxml/schemasInternals.h: 57e07ffffb72ccfa3ef131c7ad89633a
-include/libxml2/libxml/schematron.h: 96d9e0c083c4949e246ce02cf31de483
-include/libxml2/libxml/threads.h: 56e93792a1e4d23fe9c6940231cd4a40
-include/libxml2/libxml/tree.h: 7e730a421411d4d34ad95b52122f2650
-include/libxml2/libxml/uri.h: 032d430e35153af35f2fe17a9e9c37bf
-include/libxml2/libxml/valid.h: 3c082c0a5b81e1bc9fd9a21b69014584
-include/libxml2/libxml/xinclude.h: 1f8b2beb8f49da4bf3a658d31dccb2ef
-include/libxml2/libxml/xlink.h: 8b82b67e61ebffc721bd23af66724f49
-include/libxml2/libxml/xmlIO.h: 31c8dfbaee25e20cd0d6eb2549929f5d
-include/libxml2/libxml/xmlautomata.h: 3c3c0a7d353bacfbede7c2decf27e62a
-include/libxml2/libxml/xmlerror.h: 9f03d7b7788f158e68a75132e9249975
-include/libxml2/libxml/xmlexports.h: 600bbe5e56f034234213b0c0bf36f2b9
-include/libxml2/libxml/xmlmemory.h: c0167c625ecaf670d76480506425b472
-include/libxml2/libxml/xmlmodule.h: de174bf853776e7e653c66c059d19e61
-include/libxml2/libxml/xmlreader.h: f4e1ae61cb2ac0d3ded93985fed902db
-include/libxml2/libxml/xmlregexp.h: fea3110c96e8cd9013900e1c8e5b6c0b
-include/libxml2/libxml/xmlsave.h: eed2463cad941f74f99b8b9bc03aa74d
-include/libxml2/libxml/xmlschemas.h: 44ee98f77e997b8843fe6e5c45aa4ab0
-include/libxml2/libxml/xmlschemastypes.h: 160197e01dfa56cd9ad09d201d5bdeb4
-include/libxml2/libxml/xmlstring.h: 82efb8a055d5fc8eb7d815ed471eca53
-include/libxml2/libxml/xmlunicode.h: b9f0b8acddfee9b620ea822978a51d29
-include/libxml2/libxml/xmlversion.h: 23a57bce6575bfbeea3ce80479990313
-include/libxml2/libxml/xmlwriter.h: 8694436144b1fb0aab2e2d6b725035e3
-include/libxml2/libxml/xpath.h: 2e60b359a61db15d05409ebef1b140b1
-include/libxml2/libxml/xpathInternals.h: c18fad3cce22369a75166afed6343bcd
-include/libxml2/libxml/xpointer.h: 5b8025430888d5b99d03d159ddc78388
-include/libxml2/win32config.h: 117c7e9cb4e95acd6648f4af9cf98c5b
-include/libxml2/wsockcompat.h: 04a6c8ece3e62ee924d3653c2613b5be
-lib/cmake/libxml2/libxml2-config.cmake: 52555e668f1ac8a60ed70f97137e235b
-lib/libxml2.dll.a: e98c74ae88f8c5d3cecef3bbd139beb7
-lib/pkgconfig/libxml-2.0.pc: fe998038a6721fa60055ab9cc8b32139
-lib/xml2Conf.sh: 83704a436b85808dce196ac73c3b7803
-licenses/COPYING: 2044417e2e5006b65a8b9067b683fcf1
-share/aclocal/libxml.m4: c6969a0bf79628df8bf639433092d7b2
-share/doc/libxml2-2.9.9/Copyright: 2044417e2e5006b65a8b9067b683fcf1
-share/doc/libxml2-2.9.9/examples/testHTML.c: 6b181ebf4001bb62b07c7be7d79a2f01
-share/doc/libxml2-2.9.9/examples/testSAX.c: 34e3e9b268e1915652c15c4be11216a8
-share/doc/libxml2-2.9.9/examples/testXPath.c: 1db9d6ae0438d72387bcfd0ff1ae5ce4
-share/doc/libxml2-2.9.9/examples/xmllint.c: 15e78f93aab67d34d487eaeef8d7df22
-share/doc/libxml2-2.9.9/html/DOM.gif: b3d91cf23f7c9199b395356ea98cd097
-share/doc/libxml2-2.9.9/html/FAQ.html: 46b6bf6536bf9b2652891363aafb0b58
-share/doc/libxml2-2.9.9/html/Libxml2-Logo-180x168.gif: 6704060ba0272a9624e0a732455439ba
-share/doc/libxml2-2.9.9/html/Libxml2-Logo-90x34.gif: 29dfd4b3dec5fee179d3dc7e3d65be8a
-share/doc/libxml2-2.9.9/html/encoding.html: 3be0aba75968021dc9be873c020b93a9
-share/doc/libxml2-2.9.9/html/examples.xml: e94ff0f46d36f998999908d5f55cbbe9
-share/doc/libxml2-2.9.9/html/examples.xsl: 821de9e855568781f8c87ad0fe9afcba
-share/doc/libxml2-2.9.9/html/html/book1.html: 461321024ef78221594067503eb0eba0
-share/doc/libxml2-2.9.9/html/html/home.png: f6192f4292d744423df690e785d60fdf
-share/doc/libxml2-2.9.9/html/html/index.html: 461321024ef78221594067503eb0eba0
-share/doc/libxml2-2.9.9/html/html/left.png: f771308152ab24a69682daed70ce136d
-share/doc/libxml2-2.9.9/html/html/libxml-DOCBparser.html: a9c425e3ab0c095b85759a321c294a72
-share/doc/libxml2-2.9.9/html/html/libxml-HTMLparser.html: 9bed50ea5f7ef6398a54151a85e5d82e
-share/doc/libxml2-2.9.9/html/html/libxml-HTMLtree.html: b639bc91545a89e12d9c0a34a23bd6de
-share/doc/libxml2-2.9.9/html/html/libxml-SAX.html: a1dddf7f62888196c45c587a216cbe8a
-share/doc/libxml2-2.9.9/html/html/libxml-SAX2.html: 2d8812144ee7796aa073b748ba560d34
-share/doc/libxml2-2.9.9/html/html/libxml-c14n.html: af407530b72ad6d8342eab7e3d90207b
-share/doc/libxml2-2.9.9/html/html/libxml-catalog.html: 6ccaf618b222577f8b1c9ed8278ea357
-share/doc/libxml2-2.9.9/html/html/libxml-chvalid.html: 4bec2549c1505b9048041b722cb052c6
-share/doc/libxml2-2.9.9/html/html/libxml-debugXML.html: b1b29857fbff5d68b7bdf982f8b9f6c7
-share/doc/libxml2-2.9.9/html/html/libxml-dict.html: 01ef47c7c40b6bcdcea9c6ee95a20780
-share/doc/libxml2-2.9.9/html/html/libxml-encoding.html: 9158690112453706058d7c502fd881e1
-share/doc/libxml2-2.9.9/html/html/libxml-entities.html: d4ae454060415d31a5eec7a09d6c05a3
-share/doc/libxml2-2.9.9/html/html/libxml-globals.html: 7487fd3b2740f53f259016b9032caf19
-share/doc/libxml2-2.9.9/html/html/libxml-hash.html: b29d9a4775962146ba81bc5b89d54126
-share/doc/libxml2-2.9.9/html/html/libxml-lib.html: 461321024ef78221594067503eb0eba0
-share/doc/libxml2-2.9.9/html/html/libxml-list.html: f6aa3e5c878950a036c171fc9632a362
-share/doc/libxml2-2.9.9/html/html/libxml-nanoftp.html: c07d479ce51894e6181be84cd7afc8f6
-share/doc/libxml2-2.9.9/html/html/libxml-nanohttp.html: a4457c15280d27457677a436286c344e
-share/doc/libxml2-2.9.9/html/html/libxml-parser.html: d9abc1e3b231427736e24bb53d310edf
-share/doc/libxml2-2.9.9/html/html/libxml-parserInternals.html: dc212b49555db1f4d3473021415990f5
-share/doc/libxml2-2.9.9/html/html/libxml-pattern.html: bff29ccd97d10d65cd40201985ba2501
-share/doc/libxml2-2.9.9/html/html/libxml-relaxng.html: da69ff4b925629ce5667c63895aecf3f
-share/doc/libxml2-2.9.9/html/html/libxml-schemasInternals.html: ca466a394d9e945fcbe283d0b4a24e2f
-share/doc/libxml2-2.9.9/html/html/libxml-schematron.html: f0ddff7bae5bba25b1c98abd75038c36
-share/doc/libxml2-2.9.9/html/html/libxml-threads.html: 8bfd4253309b18e5b94f01228f3c6887
-share/doc/libxml2-2.9.9/html/html/libxml-tree.html: 298516ac6d45a3439975e5de9b830a3a
-share/doc/libxml2-2.9.9/html/html/libxml-uri.html: 9b4186c1502963221da42717dfcf2789
-share/doc/libxml2-2.9.9/html/html/libxml-valid.html: 51b24ec90bd3c5591130fa219172dca8
-share/doc/libxml2-2.9.9/html/html/libxml-xinclude.html: 2639d942d8a7bb71201ef35d8dd0a5d1
-share/doc/libxml2-2.9.9/html/html/libxml-xlink.html: 1de0d3b14ab220eb6b51bfa254b03769
-share/doc/libxml2-2.9.9/html/html/libxml-xmlIO.html: e9d7b75133b68febff966553614ca1e3
-share/doc/libxml2-2.9.9/html/html/libxml-xmlautomata.html: 28a6fdabf1bcc027c5723ef484551a3b
-share/doc/libxml2-2.9.9/html/html/libxml-xmlerror.html: b5130ac841f15f86cc076778451028c3
-share/doc/libxml2-2.9.9/html/html/libxml-xmlexports.html: 76a89eb95c8256a4277f65250245ef9a
-share/doc/libxml2-2.9.9/html/html/libxml-xmlmemory.html: ea097805488added49ebb2f1373c212a
-share/doc/libxml2-2.9.9/html/html/libxml-xmlmodule.html: dad4c35e0c0a8fb9bc1db2d42ae5f664
-share/doc/libxml2-2.9.9/html/html/libxml-xmlreader.html: c73d0449fa012be1b45d28aabb9dd67c
-share/doc/libxml2-2.9.9/html/html/libxml-xmlregexp.html: fc8289c2885a2e9adae8ce5f3f784f4d
-share/doc/libxml2-2.9.9/html/html/libxml-xmlsave.html: 8e4208e2908bd9a021c31ee1338755d2
-share/doc/libxml2-2.9.9/html/html/libxml-xmlschemas.html: 455628ea9eca007ecaa224305df3b0c8
-share/doc/libxml2-2.9.9/html/html/libxml-xmlschemastypes.html: f698db4a289728d46199ad42160da1d3
-share/doc/libxml2-2.9.9/html/html/libxml-xmlstring.html: d567835fca72a7e73875b513626e1d54
-share/doc/libxml2-2.9.9/html/html/libxml-xmlunicode.html: 7b282351048157db2233f4a8c9ed305c
-share/doc/libxml2-2.9.9/html/html/libxml-xmlversion.html: d9e2cd59ac2a1aa5319d09f7ad726a63
-share/doc/libxml2-2.9.9/html/html/libxml-xmlwriter.html: f7345386e22ec21cf60d91371eeaed57
-share/doc/libxml2-2.9.9/html/html/libxml-xpath.html: 0308bfeeaa1f3f9c39d95e2015ae7157
-share/doc/libxml2-2.9.9/html/html/libxml-xpathInternals.html: f41a22321ebfed3de68cd89b8a84a118
-share/doc/libxml2-2.9.9/html/html/libxml-xpointer.html: 39926eb00e10d3513053bebbb82d015e
-share/doc/libxml2-2.9.9/html/html/libxml-xzlib.html: 8d55e7cdc5a0363d945c8a672841bd6f
-share/doc/libxml2-2.9.9/html/html/right.png: ebd7e6d206d73850d77d305ab548f957
-share/doc/libxml2-2.9.9/html/html/up.png: 2f07d9272deb4ae870ca6821117877fa
-share/doc/libxml2-2.9.9/html/index.html: 854eae61c805261731f38a873415144f
-share/doc/libxml2-2.9.9/html/io1.c: 8861af9d5ae163e2679d14cccd7c50a8
-share/doc/libxml2-2.9.9/html/io1.res: c1063365cedce05c3c75361d8b21eda0
-share/doc/libxml2-2.9.9/html/io2.c: 064a8c92267a391f5cbc41dbf49b14ad
-share/doc/libxml2-2.9.9/html/io2.res: c6a030758261e4b23c18fe8fa9b9f1cb
-share/doc/libxml2-2.9.9/html/libxml.gif: 7b77627ea524c095934962f5dee442cb
-share/doc/libxml2-2.9.9/html/parse1.c: 35924de5d0e047f4e2732e8ef4d31fea
-share/doc/libxml2-2.9.9/html/parse2.c: 1533aa6faa9efa078a56d2d37b4e318c
-share/doc/libxml2-2.9.9/html/parse3.c: 745ea8e70138377b1fb1d0e3116dba63
-share/doc/libxml2-2.9.9/html/parse4.c: 1ebc80d9df8a1b0568f9cf7a2cc70a3e
-share/doc/libxml2-2.9.9/html/reader1.c: b30f26d62bb3c37fc9cba51fff13924e
-share/doc/libxml2-2.9.9/html/reader1.res: c7e547f58d4407d091d189a1ebfeab77
-share/doc/libxml2-2.9.9/html/reader2.c: 8b66731b71444ec57b99acc9d41a5f1d
-share/doc/libxml2-2.9.9/html/reader3.c: 2874d5506c9f0b9f4a1dead26d58e559
-share/doc/libxml2-2.9.9/html/reader3.res: ce152220e5a24918935d6f0c8bbcf587
-share/doc/libxml2-2.9.9/html/reader4.c: c7d0e7908cfc12c1102a58f4e530bbfd
-share/doc/libxml2-2.9.9/html/reader4.res: 2f8c9c74667d1434104e5610a77f824f
-share/doc/libxml2-2.9.9/html/redhat.gif: dd0216f442bf6845c103aba1b4bcb869
-share/doc/libxml2-2.9.9/html/smallfootonly.gif: e92b022a99a76d6fceeb35576bb7718f
-share/doc/libxml2-2.9.9/html/structure.gif: f10610a92f24c3f0fc35078f5764867e
-share/doc/libxml2-2.9.9/html/test1.xml: 5ffe018a2890cdd13b4d08d674cf8dd4
-share/doc/libxml2-2.9.9/html/test2.xml: 4084cf4871ee86fef27f5e5ee91ea455
-share/doc/libxml2-2.9.9/html/test3.xml: 0ba76ca9c89e995bbaf258ab154e5205
-share/doc/libxml2-2.9.9/html/testWriter.c: 26b676b61b6f1926e5ff470395878a20
-share/doc/libxml2-2.9.9/html/tree1.c: 8e3b9f050ff7e6ecd2912940cbb2394f
-share/doc/libxml2-2.9.9/html/tree1.res: 4d4d5f3e8297d35e59d9f92c876b42ac
-share/doc/libxml2-2.9.9/html/tree2.c: 9896bce93692a296135127551f5b2a4b
-share/doc/libxml2-2.9.9/html/tree2.res: 8e5cc417bcb23115c4f802404e09657e
-share/doc/libxml2-2.9.9/html/tst.xml: 6d10ac1b8fb04bc8fb73f9964589a223
-share/doc/libxml2-2.9.9/html/tutorial/apa.html: 51b23839855ffbb232c8ba2211a4d9ca
-share/doc/libxml2-2.9.9/html/tutorial/apb.html: 6fa0d1a793a7d794967c497dc9112077
-share/doc/libxml2-2.9.9/html/tutorial/apc.html: c263a905499b8177ee93b6ab39b26266
-share/doc/libxml2-2.9.9/html/tutorial/apd.html: 9f3342db337c1a28df32d4b85eba94be
-share/doc/libxml2-2.9.9/html/tutorial/ape.html: 69164a2345a37ac0b1001f2084ee5abc
-share/doc/libxml2-2.9.9/html/tutorial/apf.html: 4b58ea573ee05ceb46cac6c3eeef8211
-share/doc/libxml2-2.9.9/html/tutorial/apg.html: a84665f786e99169afa8e9dceb5003ca
-share/doc/libxml2-2.9.9/html/tutorial/aph.html: d49dfaba969e5b9161748d98b6f8eb0b
-share/doc/libxml2-2.9.9/html/tutorial/api.html: 0433fb6f377e50662e0f89b1e2f8e49a
-share/doc/libxml2-2.9.9/html/tutorial/ar01s02.html: d2b5e466f1613a0a281969296efe652e
-share/doc/libxml2-2.9.9/html/tutorial/ar01s03.html: af7d8b5f8bf6e7c6949c5f1b260289ef
-share/doc/libxml2-2.9.9/html/tutorial/ar01s04.html: 08161b16d07d12969e2ff0db52c0006d
-share/doc/libxml2-2.9.9/html/tutorial/ar01s05.html: a39259d226409f45e234b8e4f0ae1e9f
-share/doc/libxml2-2.9.9/html/tutorial/ar01s06.html: 4d622cd5afe28d58e8808651c896ff1e
-share/doc/libxml2-2.9.9/html/tutorial/ar01s07.html: c3d0264c72c908e119c22c7787892db9
-share/doc/libxml2-2.9.9/html/tutorial/ar01s08.html: 47bfaa87452e5e5d3436b232d96b1cf7
-share/doc/libxml2-2.9.9/html/tutorial/ar01s09.html: 066052f4864add31dffd8fc4bb1b9b7f
-share/doc/libxml2-2.9.9/html/tutorial/images/blank.png: 6f7573d4bb6bf0f55ed9ebd79f3f786f
-share/doc/libxml2-2.9.9/html/tutorial/images/callouts/1.png: 0f67842b8cc059137a88288e95115a18
-share/doc/libxml2-2.9.9/html/tutorial/images/callouts/10.png: 29fd9e419eee2efa4ef6ce493ca51a9c
-share/doc/libxml2-2.9.9/html/tutorial/images/callouts/2.png: 782f998bab59d0221977c1c0eaa676c8
-share/doc/libxml2-2.9.9/html/tutorial/images/callouts/3.png: 35dcf1dd29a802080c984e52d76e5b1f
-share/doc/libxml2-2.9.9/html/tutorial/images/callouts/4.png: 3d412b47729eb73afc7aa430feeb7da0
-share/doc/libxml2-2.9.9/html/tutorial/images/callouts/5.png: 489005941fbb522369466ca850189c59
-share/doc/libxml2-2.9.9/html/tutorial/images/callouts/6.png: f64cfcfac0c4219edebc96d6d043c84c
-share/doc/libxml2-2.9.9/html/tutorial/images/callouts/7.png: 0def94f52c5e45256232320aaffeb1ce
-share/doc/libxml2-2.9.9/html/tutorial/images/callouts/8.png: 2f899cf0909049b0472654d7357eaeb3
-share/doc/libxml2-2.9.9/html/tutorial/images/callouts/9.png: 5ba16a0731d050493bd7e0b95244aafc
-share/doc/libxml2-2.9.9/html/tutorial/images/caution.png: 2245032ab69fc481e2eefd246aa96e07
-share/doc/libxml2-2.9.9/html/tutorial/images/draft.png: 1b1da3ec69df05af5f2a5475e8a8a24b
-share/doc/libxml2-2.9.9/html/tutorial/images/home.png: 700644702db92b31d7488edfb3adfe7e
-share/doc/libxml2-2.9.9/html/tutorial/images/important.png: ca20b7b781cf82d1aeb36ce63590ccd0
-share/doc/libxml2-2.9.9/html/tutorial/images/next.png: c4ec8d7f81407ce09d175d7366c25ba0
-share/doc/libxml2-2.9.9/html/tutorial/images/note.png: 109e4af9c43357a74c6de01db819f36f
-share/doc/libxml2-2.9.9/html/tutorial/images/prev.png: 2188e42454c65ed8a37126d0f5f5830a
-share/doc/libxml2-2.9.9/html/tutorial/images/tip.png: dbb88aaf05b4a6a7df59c72cc5c947b4
-share/doc/libxml2-2.9.9/html/tutorial/images/toc-blank.png: a9dfccc01739501bbc01d561da12c944
-share/doc/libxml2-2.9.9/html/tutorial/images/toc-minus.png: 72baddf4a76d4d74f634edf1e71134b3
-share/doc/libxml2-2.9.9/html/tutorial/images/toc-plus.png: ee8d311bafbc474875730d7644e86047
-share/doc/libxml2-2.9.9/html/tutorial/images/up.png: ddf37bee4d12f626b42004e26bdd4e13
-share/doc/libxml2-2.9.9/html/tutorial/images/warning.png: 59c28f6840b1f20094af4ffc16ce3189
-share/doc/libxml2-2.9.9/html/tutorial/includeaddattribute.c: ba57721ff902105ef3c79eb199f4da5e
-share/doc/libxml2-2.9.9/html/tutorial/includeaddkeyword.c: 268f90fc598ccf5a5bd1de7d1f57c873
-share/doc/libxml2-2.9.9/html/tutorial/includeconvert.c: b91e86a449cb257dd92ada947c2b2320
-share/doc/libxml2-2.9.9/html/tutorial/includegetattribute.c: af83032a68f54f420f04430efd7629c8
-share/doc/libxml2-2.9.9/html/tutorial/includekeyword.c: 5508972bd6f704cddb4b4faeaa5397b0
-share/doc/libxml2-2.9.9/html/tutorial/includexpath.c: a9718d128b1abbf9710cb7ea315cffec
-share/doc/libxml2-2.9.9/html/tutorial/index.html: c3df2af08328cd4cbf697d55ca9cd419
-share/doc/libxml2-2.9.9/html/tutorial/ix01.html: 2f9c98d5610fc9a8f02c7312c3c49691
-share/doc/libxml2-2.9.9/html/tutorial/xmltutorial.pdf: 12df01000d92ab495235de65abcd4e46
-share/doc/libxml2-2.9.9/html/w3c.png: ba69544b9cfa7659a0bb1b81410680a9
-share/doc/libxml2-2.9.9/html/writer.xml: 1e16356328b8e3fa703a18858a11f3bb
-share/doc/libxml2-2.9.9/html/xml.html: 86d057e640e777486b33b7e424e0beeb
-share/doc/libxml2-2.9.9/html/xpath1.c: 87445983c77091ef0441ff775fb8edc6
-share/doc/libxml2-2.9.9/html/xpath1.res: cf508aadb27c5c145ac58d256326e8eb
-share/doc/libxml2-2.9.9/html/xpath2.c: 413d481a75246b5af3d8e7f489e3408f
-share/doc/libxml2-2.9.9/html/xpath2.res: c32344efbb7334a5f2563420e0d1723c
-share/gtk-doc/html/libxml2/general.html: df2b20bc526b927eefa3f401349d1287
-share/gtk-doc/html/libxml2/home.png: f6192f4292d744423df690e785d60fdf
-share/gtk-doc/html/libxml2/index.html: b0b369ddf6959a2604b422c9268a0a3f
-share/gtk-doc/html/libxml2/left.png: f771308152ab24a69682daed70ce136d
-share/gtk-doc/html/libxml2/libxml2-DOCBparser.html: bde929bed90adf39144b561ad443c278
-share/gtk-doc/html/libxml2/libxml2-HTMLparser.html: b0c4afaee2ffdfb2381d66acad586e2a
-share/gtk-doc/html/libxml2/libxml2-HTMLtree.html: e53dcd12a0e8e51413ca1de4986d7898
-share/gtk-doc/html/libxml2/libxml2-SAX.html: 5ba9dd3cf89972a337869e55024aeb0e
-share/gtk-doc/html/libxml2/libxml2-SAX2.html: 9a8574da93ad762a54194f690db4dbee
-share/gtk-doc/html/libxml2/libxml2-c14n.html: 57a9ef60a8af4df6586ab78061a75fd6
-share/gtk-doc/html/libxml2/libxml2-catalog.html: bcd705392f52867a1afadc1166739d17
-share/gtk-doc/html/libxml2/libxml2-chvalid.html: dca486d382dbf88f4d9155e3f7a826cf
-share/gtk-doc/html/libxml2/libxml2-debugXML.html: efd04207438816e0ce69c47bc93e525b
-share/gtk-doc/html/libxml2/libxml2-dict.html: 48012abaae77f87834377e8d4eb7caf1
-share/gtk-doc/html/libxml2/libxml2-encoding.html: d273f53a4f3c511372c5b984455f0288
-share/gtk-doc/html/libxml2/libxml2-entities.html: 3afcaf72917d0f9dda002baf4445e936
-share/gtk-doc/html/libxml2/libxml2-globals.html: 08b752bd53e687bf8ac51400c62ded68
-share/gtk-doc/html/libxml2/libxml2-hash.html: 371418533e8ef188b888d9e6e34aa245
-share/gtk-doc/html/libxml2/libxml2-list.html: 5a6fe5bf2cefe31f0f68cd2d8cafb2d7
-share/gtk-doc/html/libxml2/libxml2-nanoftp.html: 79f4eb67e7eb955c19bd5337a8cc5177
-share/gtk-doc/html/libxml2/libxml2-nanohttp.html: 0eac4dace4fda9fcd0bb2ebb6c16aaf0
-share/gtk-doc/html/libxml2/libxml2-parser.html: c3f66200ba47bd8198ec81aa3c8ce608
-share/gtk-doc/html/libxml2/libxml2-parserInternals.html: b2757ce5c41539e70df72da43af67825
-share/gtk-doc/html/libxml2/libxml2-pattern.html: 6129a6b5661fc0a38d5c967153651d26
-share/gtk-doc/html/libxml2/libxml2-relaxng.html: f98fee61d7e051dff9719e13b768b26c
-share/gtk-doc/html/libxml2/libxml2-schemasInternals.html: d25db26772d036681e1299a9f214427a
-share/gtk-doc/html/libxml2/libxml2-schematron.html: b3700a489202f309f02c6309f9d86984
-share/gtk-doc/html/libxml2/libxml2-threads.html: bb12a300c2c86bc49f586858a1ef6cd0
-share/gtk-doc/html/libxml2/libxml2-tree.html: 5bbe2d33f9b1917956919b7e18e47c53
-share/gtk-doc/html/libxml2/libxml2-uri.html: c46c9dfea580890ac48b70346c987bf0
-share/gtk-doc/html/libxml2/libxml2-valid.html: b4165290c6751ed9b2074eb915f0601f
-share/gtk-doc/html/libxml2/libxml2-xinclude.html: 644e5093b3931eee1fece47fb9a3c908
-share/gtk-doc/html/libxml2/libxml2-xlink.html: fe35c6e86ba9419aea9f628ed45bc57a
-share/gtk-doc/html/libxml2/libxml2-xmlIO.html: 1dd2f72b5a9014978f94155981fa6486
-share/gtk-doc/html/libxml2/libxml2-xmlautomata.html: 9cd301cf92ecca4ff9e896663f6d6570
-share/gtk-doc/html/libxml2/libxml2-xmlerror.html: 57549b7df0cd531b4d0ce6c03f9d9ade
-share/gtk-doc/html/libxml2/libxml2-xmlexports.html: 62aebfe3442aedae77f8ff0514a8160c
-share/gtk-doc/html/libxml2/libxml2-xmlmemory.html: 8c22f5ea8ddd2ed6795726d714b4ab9f
-share/gtk-doc/html/libxml2/libxml2-xmlmodule.html: 215331b3567ef3b2e79cf35b1998a357
-share/gtk-doc/html/libxml2/libxml2-xmlreader.html: 512101e5eb61e5955c991e14b11ab3bd
-share/gtk-doc/html/libxml2/libxml2-xmlregexp.html: 1a42a4508373992c4471d360bf1cdf4f
-share/gtk-doc/html/libxml2/libxml2-xmlsave.html: ee31535906cba2ee6455e430f48eb236
-share/gtk-doc/html/libxml2/libxml2-xmlschemas.html: 55b5ed0793dd7f64e9c25cfe4be40287
-share/gtk-doc/html/libxml2/libxml2-xmlschemastypes.html: aa49b7bc4fe1493b926c035484fd77af
-share/gtk-doc/html/libxml2/libxml2-xmlstring.html: 39057622b32c4f7bdb0836fd6005a1fa
-share/gtk-doc/html/libxml2/libxml2-xmlunicode.html: 9ac652a74d46f8c3e1caa26c19732b2a
-share/gtk-doc/html/libxml2/libxml2-xmlversion.html: 11a6e7c28ccbdbc1ca91213139decfa9
-share/gtk-doc/html/libxml2/libxml2-xmlwriter.html: 088d1735eaf6fcd0e4117c3cad0aa691
-share/gtk-doc/html/libxml2/libxml2-xpath.html: b75d3437dc3c3c355d6bace3b077e019
-share/gtk-doc/html/libxml2/libxml2-xpathInternals.html: 5f40882d1654ed5c644f22a10c8df2d3
-share/gtk-doc/html/libxml2/libxml2-xpointer.html: f1a81f0b99b0230bc0ceacae67d87043
-share/gtk-doc/html/libxml2/libxml2.devhelp: 138e3b9326546e2e347b3c0b18c12764
-share/gtk-doc/html/libxml2/right.png: ebd7e6d206d73850d77d305ab548f957
-share/gtk-doc/html/libxml2/style.css: a7b180ebf583ed0c315d70d6a4890f79
-share/gtk-doc/html/libxml2/up.png: 2f07d9272deb4ae870ca6821117877fa
-share/man/man1/xml2-config.1: f9ea1b8ede868111a96fc3dbd9db79e6
-share/man/man1/xmlcatalog.1: 79205743b3bdefdddbcb175c60105cc8
-share/man/man1/xmllint.1: c2da2d5425849f19b8b0d355f5215973
-share/man/man3/libxml.3: 1bc9e496f1d34157a9e0d1b65704819a
diff --git a/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.33/qtproject/stable/export/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.33/qtproject/stable/export/conanmanifest.txt
deleted file mode 100644
index f01b0b20..00000000
--- a/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.33/qtproject/stable/export/conanmanifest.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-1564572636
-LICENSE.md: 5aa9930034582b90e2008d2c609d1317
-conanfile.py: cd5a1ced5c2ea7eebac675979e021936
diff --git a/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.33/qtproject/stable/package/ae932df57acef9c094443d5579df1a9b72790e1a/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.33/qtproject/stable/package/ae932df57acef9c094443d5579df1a9b72790e1a/conanmanifest.txt
deleted file mode 100644
index 9df383f3..00000000
--- a/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.33/qtproject/stable/package/ae932df57acef9c094443d5579df1a9b72790e1a/conanmanifest.txt
+++ /dev/null
@@ -1,131 +0,0 @@
-1564657192
-bin/libexslt-0.dll: 5b1aa1e3f0b7420e460bd2ba7c0905b7
-bin/libxslt-1.dll: 304fe2300204c90d4f9ff63489d69037
-bin/xslt-config: 40811a2730bb0b6542758cff609476a4
-bin/xsltproc.exe: 4816b9ff0fe4dcc89c57c2e3fab9ea1f
-conaninfo.txt: 0e255efc593a041926b319133858565c
-include/libexslt/exslt.h: f01af3bf058520059ba6d50f42133717
-include/libexslt/exsltconfig.h: 0ecd038f6193e48046754b4c19c5100a
-include/libexslt/exsltexports.h: 03a75a174bc5b056f014e592cfd4db36
-include/libxslt/attributes.h: 32e43c08f66b85266c391301d322a21f
-include/libxslt/documents.h: 22a35bd1102fd1ac301e50cf650a8b8a
-include/libxslt/extensions.h: 0396b6be07f707b0c6ee171a63b2e520
-include/libxslt/extra.h: 94fe9ce1c0c47724aae4a1bcb8c29433
-include/libxslt/functions.h: 052fd28e9971416b2bbebdc3d1103c4e
-include/libxslt/imports.h: 66e26ad969e3c37fdeedcbc2716d7cf3
-include/libxslt/keys.h: 77a11ee3de841d02d3461b829cfcc11e
-include/libxslt/namespaces.h: c784b4b8e80274491fe023ce26d4847b
-include/libxslt/numbersInternals.h: 27c2c21ab1535f84710fe1c8c8829018
-include/libxslt/pattern.h: 1d928199f1adf63d79d9ec6aa7eb060f
-include/libxslt/preproc.h: 829de337aca8b15f699708e6b7340549
-include/libxslt/security.h: 1b24b61ea6afe01d18c647c94b1245c7
-include/libxslt/templates.h: 6901f4c8fad239b588b9f6d4cdfef5ac
-include/libxslt/transform.h: ccbcce4553f3231003b1944002814246
-include/libxslt/variables.h: ebd9b3b1f996c4a2ed79d4473ff0fd77
-include/libxslt/xslt.h: 0c08b8e7223b72f822a58457520b6387
-include/libxslt/xsltInternals.h: 83c28cbab61567177227bc7d65cedc5d
-include/libxslt/xsltconfig.h: 05fef7eabdf530bd4187f2ab36f75ab2
-include/libxslt/xsltexports.h: 751f95448e71222d8e10d31ebf8822df
-include/libxslt/xsltlocale.h: d7b200e408cefe5082b15d3a5e1bf600
-include/libxslt/xsltutils.h: c190bd536ce0cffe1ccba74c68f7b0c9
-lib/libexslt.dll.a: 9bd0029908c64166fc25a8f9768a9899
-lib/libexslt.la: 0cb3b2219e4d584e600e7c8c2793c17f
-lib/libxslt.dll.a: 19e51032012443406f5baa4cbc9f2fc0
-lib/pkgconfig/libexslt.pc: bf17f17059d9835bd023402072aae276
-lib/pkgconfig/libxslt.pc: d44ef86e4b636bfdb470a0abac21ea2c
-lib/xsltConf.sh: 6592ea47fbdda09eda481af47695c07e
-licenses/COPYING: 0cd9a07afbeb24026c9b03aecfeba458
-share/aclocal/libxslt.m4: 7b0b8b6bd86eea30c617663c9e9439b3
-share/doc/libxslt-1.1.33/html/API.html: 99b964a0e24da7db2d479302fbde49ef
-share/doc/libxslt-1.1.33/html/APIchunk0.html: 2606a248a6bcc15dc3a0a7b24aa4c986
-share/doc/libxslt-1.1.33/html/APIchunk1.html: b7d490ac26795f95c2bef95c0a594602
-share/doc/libxslt-1.1.33/html/APIchunk10.html: 21469e5e8bddfc34612199bcbe475986
-share/doc/libxslt-1.1.33/html/APIchunk11.html: d885dc364ca2e7f673e70a8e4bebe708
-share/doc/libxslt-1.1.33/html/APIchunk12.html: bf1786a4eec69d7f07b1b343e5896578
-share/doc/libxslt-1.1.33/html/APIchunk13.html: a6260a4828dede37e72fcba0b0896bbc
-share/doc/libxslt-1.1.33/html/APIchunk2.html: d23cc069d98f804c94b5f89d689df18d
-share/doc/libxslt-1.1.33/html/APIchunk3.html: 726cc909e934c30b155938c7e3054514
-share/doc/libxslt-1.1.33/html/APIchunk4.html: 6ae81594249831b8fb705cf93e2aeb1c
-share/doc/libxslt-1.1.33/html/APIchunk5.html: abec4cefc8e617a8a5a09a4eb698f1b2
-share/doc/libxslt-1.1.33/html/APIchunk6.html: fbf021be7dc8290f2e982f142db88c65
-share/doc/libxslt-1.1.33/html/APIchunk7.html: 8a239dc2258366ba021dff7da5bff984
-share/doc/libxslt-1.1.33/html/APIchunk8.html: 477f0b927ea36d2b304b4d9cc50c1d33
-share/doc/libxslt-1.1.33/html/APIchunk9.html: 6a3e5b1297a1ac42a923be4572e910b1
-share/doc/libxslt-1.1.33/html/APIconstructors.html: 024a521581bd48526c32d53ad523ca7d
-share/doc/libxslt-1.1.33/html/APIfiles.html: 5d7c6992d4f45cc688140d67c1c36819
-share/doc/libxslt-1.1.33/html/APIfunctions.html: 3507a0636b416c3d0e26d751ffbc89b4
-share/doc/libxslt-1.1.33/html/APIsymbols.html: b4e69e2a3f573e06627682607098e7d5
-share/doc/libxslt-1.1.33/html/EXSLT/APIchunk0.html: be037131987b78b19b9e61ce54877bee
-share/doc/libxslt-1.1.33/html/EXSLT/APIconstructors.html: 3da084171718dfe3cfc77c6d4350762f
-share/doc/libxslt-1.1.33/html/EXSLT/APIfiles.html: d67a66297a2fd601bc1553874765a315
-share/doc/libxslt-1.1.33/html/EXSLT/APIfunctions.html: 6b0b4b814785deca06fb32b27d1421db
-share/doc/libxslt-1.1.33/html/EXSLT/APIsymbols.html: 39928a27a9ada210627deef998899296
-share/doc/libxslt-1.1.33/html/EXSLT/bugs.html: 7e22e19ae460ec6a27849b6bf2870eaf
-share/doc/libxslt-1.1.33/html/EXSLT/docs.html: de04679a46246ab14183bfddfb9fe21e
-share/doc/libxslt-1.1.33/html/EXSLT/downloads.html: 775d1c9006018e2a6afbd46aabac94cc
-share/doc/libxslt-1.1.33/html/EXSLT/exslt.html: 506581c3f25d8dbc5443c8892dfd09fe
-share/doc/libxslt-1.1.33/html/EXSLT/help.html: 6a3ae7a677b508299d6843ec2aa06919
-share/doc/libxslt-1.1.33/html/EXSLT/index.html: f10878530c0c370434e38f8669b87fb2
-share/doc/libxslt-1.1.33/html/EXSLT/intro.html: 08c5743544fa11d3e47794d2bddf58c5
-share/doc/libxslt-1.1.33/html/FAQ.html: d50bcf8a29a1593dd5e0a3821071274f
-share/doc/libxslt-1.1.33/html/Libxslt-Logo-180x168.gif: e6f8bb7e4a5a426380d387adaedadad9
-share/doc/libxslt-1.1.33/html/Libxslt-Logo-90x34.gif: 6b3ac58ce6c3e622db3dbf83d127f1ac
-share/doc/libxslt-1.1.33/html/bugs.html: f724ff1f191cd6d6006ff81f85b84987
-share/doc/libxslt-1.1.33/html/contexts.gif: 8d882ee509aaba54abf791a312fdb617
-share/doc/libxslt-1.1.33/html/contribs.html: c3d4e7a850f0d5e373f857093b092fbc
-share/doc/libxslt-1.1.33/html/docbook.html: 776f814590907d566008cb194162da1a
-share/doc/libxslt-1.1.33/html/docs.html: 4291a6eb59ef115310843882330d25f1
-share/doc/libxslt-1.1.33/html/downloads.html: a34b24da9c37d11b160a51375b2d8e26
-share/doc/libxslt-1.1.33/html/extensions.html: d9dc8d45c36e77af9b229d9de2fa184c
-share/doc/libxslt-1.1.33/html/help.html: ec0ba42602368c606bb282ae37d6e8ff
-share/doc/libxslt-1.1.33/html/html/book1.html: 38e702d7abb51be701e9e4a132b7fbf3
-share/doc/libxslt-1.1.33/html/html/home.png: f6192f4292d744423df690e785d60fdf
-share/doc/libxslt-1.1.33/html/html/index.html: 38e702d7abb51be701e9e4a132b7fbf3
-share/doc/libxslt-1.1.33/html/html/left.png: f771308152ab24a69682daed70ce136d
-share/doc/libxslt-1.1.33/html/html/libxslt-attributes.html: 01e3dad54911c715af8eb4edd03680d7
-share/doc/libxslt-1.1.33/html/html/libxslt-documents.html: 04b4f566bc179282ba31e4086733d392
-share/doc/libxslt-1.1.33/html/html/libxslt-extensions.html: 48ba473ecaca35f0e9d118bfe569a4ce
-share/doc/libxslt-1.1.33/html/html/libxslt-extra.html: caf4705080e4ff3f3ade158e71226d47
-share/doc/libxslt-1.1.33/html/html/libxslt-functions.html: bb94525f596eb9c2e1f3920758659832
-share/doc/libxslt-1.1.33/html/html/libxslt-imports.html: fc82892efd0d57468cf0bbae61aeb34f
-share/doc/libxslt-1.1.33/html/html/libxslt-keys.html: 595c6d8e3cbd5836d765a714cdaa8662
-share/doc/libxslt-1.1.33/html/html/libxslt-lib.html: 38e702d7abb51be701e9e4a132b7fbf3
-share/doc/libxslt-1.1.33/html/html/libxslt-namespaces.html: f1957f303bf803b546fea20c3210e66c
-share/doc/libxslt-1.1.33/html/html/libxslt-numbersInternals.html: 8270d01773d6827cef5eb0e5fbc06cbe
-share/doc/libxslt-1.1.33/html/html/libxslt-pattern.html: 68a6e5041985bd90b062f225d3e4a4ea
-share/doc/libxslt-1.1.33/html/html/libxslt-preproc.html: 2e5b3d40d10b5d19f8d8981890fa60e6
-share/doc/libxslt-1.1.33/html/html/libxslt-security.html: 0fc54dbb04c31db7273540c6aa15b789
-share/doc/libxslt-1.1.33/html/html/libxslt-templates.html: f795df05f5ada549196b3b0af2b51b6f
-share/doc/libxslt-1.1.33/html/html/libxslt-transform.html: 4e6ec4dbc8937a8c616f86691efbbf00
-share/doc/libxslt-1.1.33/html/html/libxslt-variables.html: 35187493583603e51076ec5a24641ef9
-share/doc/libxslt-1.1.33/html/html/libxslt-xslt.html: e94fba7be3d50049b723a80d3b0a1b40
-share/doc/libxslt-1.1.33/html/html/libxslt-xsltInternals.html: cc1b16d88f1793e3a851668a70c9c759
-share/doc/libxslt-1.1.33/html/html/libxslt-xsltexports.html: 21afd523be589d91dac3cdd1692d434c
-share/doc/libxslt-1.1.33/html/html/libxslt-xsltlocale.html: 81fdb21658d2250d7d760a3ce7fb7e2f
-share/doc/libxslt-1.1.33/html/html/libxslt-xsltutils.html: ac754a1cb0a4674f5f9758c5e5349901
-share/doc/libxslt-1.1.33/html/html/right.png: ebd7e6d206d73850d77d305ab548f957
-share/doc/libxslt-1.1.33/html/html/up.png: 2f07d9272deb4ae870ca6821117877fa
-share/doc/libxslt-1.1.33/html/index.html: 05e32435399ac231b17cd820de78ac70
-share/doc/libxslt-1.1.33/html/internals.html: 922c61987ad85ba31859d1fa36ca2fc2
-share/doc/libxslt-1.1.33/html/intro.html: f7674ee30704647018c1cdd5ffa4b56f
-share/doc/libxslt-1.1.33/html/news.html: 61820b5fa72adba71e24ff667a33473b
-share/doc/libxslt-1.1.33/html/node.gif: e0b48d09fa64e4a64831c42c4f9e6331
-share/doc/libxslt-1.1.33/html/object.gif: 879905dbfdc584f7a8543b7804cc3ff4
-share/doc/libxslt-1.1.33/html/processing.gif: e6924e110962e92a04d6d3f1f1196b31
-share/doc/libxslt-1.1.33/html/python.html: c8c7fafbda61cd06c188c4cceb78184e
-share/doc/libxslt-1.1.33/html/redhat.gif: dd0216f442bf6845c103aba1b4bcb869
-share/doc/libxslt-1.1.33/html/smallfootonly.gif: e92b022a99a76d6fceeb35576bb7718f
-share/doc/libxslt-1.1.33/html/stylesheet.gif: 15a7ac6844ef2b2a7f601ed6cb6cb277
-share/doc/libxslt-1.1.33/html/templates.gif: e1ac04018d8f602adbd28a72153f9956
-share/doc/libxslt-1.1.33/html/tutorial/libxslt_tutorial.c: 0c3d2acbfb0be23b984c695600170d16
-share/doc/libxslt-1.1.33/html/tutorial/libxslttutorial.html: ee8ec694b4a88c4b6503f5301c998ecd
-share/doc/libxslt-1.1.33/html/tutorial/libxslttutorial.xml: 7f3bb19c2dcc54c5f76e953a65dbd339
-share/doc/libxslt-1.1.33/html/tutorial2/libxslt_pipes.c: 01a91d21b5e9a1e2259752d5325feaf0
-share/doc/libxslt-1.1.33/html/tutorial2/libxslt_pipes.html: ac0dc678b3ab0da56681555c51e6fa64
-share/doc/libxslt-1.1.33/html/tutorial2/libxslt_pipes.xml: 0c0faafe5595b19ebe09f6110fe3a7fd
-share/doc/libxslt-1.1.33/html/xslt.html: 1374af624caff863c3a74a0638cc864e
-share/doc/libxslt-1.1.33/html/xsltproc.html: fa713b8a3fd6b30a19319a821d7bb238
-share/doc/libxslt-1.1.33/html/xsltproc2.html: 52997d42ce172e9b1cace319bb5aaa0b
-share/man/man1/xsltproc.1: de3280d3d36348484726358785ec0b16
-share/man/man3/libexslt.3: c7089bab11720e9c9c17962a68c528ff
-share/man/man3/libxslt.3: e4962632ed2590adad3621054417bd2a
diff --git a/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.33/qtproject/stable/package/b06e2211adc32e230f2d9e729d1dcad2648782e8/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.33/qtproject/stable/package/b06e2211adc32e230f2d9e729d1dcad2648782e8/conanmanifest.txt
deleted file mode 100644
index e68abb87..00000000
--- a/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.33/qtproject/stable/package/b06e2211adc32e230f2d9e729d1dcad2648782e8/conanmanifest.txt
+++ /dev/null
@@ -1,131 +0,0 @@
-1564657427
-bin/libexslt-0.dll: 833bc209ca4345e34a91747b902561a8
-bin/libxslt-1.dll: 664ee7f047e6f16dcbcf81b7244f0574
-bin/xslt-config: 8da5db250243d255558b3e78442b2509
-bin/xsltproc.exe: 748e52a2a7ac0424a8be0aca0e1a3721
-conaninfo.txt: bb58ef48f7e3996938a57377e073c849
-include/libexslt/exslt.h: f01af3bf058520059ba6d50f42133717
-include/libexslt/exsltconfig.h: 0ecd038f6193e48046754b4c19c5100a
-include/libexslt/exsltexports.h: 03a75a174bc5b056f014e592cfd4db36
-include/libxslt/attributes.h: 32e43c08f66b85266c391301d322a21f
-include/libxslt/documents.h: 22a35bd1102fd1ac301e50cf650a8b8a
-include/libxslt/extensions.h: 0396b6be07f707b0c6ee171a63b2e520
-include/libxslt/extra.h: 94fe9ce1c0c47724aae4a1bcb8c29433
-include/libxslt/functions.h: 052fd28e9971416b2bbebdc3d1103c4e
-include/libxslt/imports.h: 66e26ad969e3c37fdeedcbc2716d7cf3
-include/libxslt/keys.h: 77a11ee3de841d02d3461b829cfcc11e
-include/libxslt/namespaces.h: c784b4b8e80274491fe023ce26d4847b
-include/libxslt/numbersInternals.h: 27c2c21ab1535f84710fe1c8c8829018
-include/libxslt/pattern.h: 1d928199f1adf63d79d9ec6aa7eb060f
-include/libxslt/preproc.h: 829de337aca8b15f699708e6b7340549
-include/libxslt/security.h: 1b24b61ea6afe01d18c647c94b1245c7
-include/libxslt/templates.h: 6901f4c8fad239b588b9f6d4cdfef5ac
-include/libxslt/transform.h: ccbcce4553f3231003b1944002814246
-include/libxslt/variables.h: ebd9b3b1f996c4a2ed79d4473ff0fd77
-include/libxslt/xslt.h: 0c08b8e7223b72f822a58457520b6387
-include/libxslt/xsltInternals.h: 83c28cbab61567177227bc7d65cedc5d
-include/libxslt/xsltconfig.h: 57168ad99e4e28bcfeea713ead5cea37
-include/libxslt/xsltexports.h: 751f95448e71222d8e10d31ebf8822df
-include/libxslt/xsltlocale.h: d7b200e408cefe5082b15d3a5e1bf600
-include/libxslt/xsltutils.h: c190bd536ce0cffe1ccba74c68f7b0c9
-lib/libexslt.dll.a: c6b6ba9f72c57f2737cb58744db48cce
-lib/libexslt.la: 64bd984341b00db0bef87e5452b8a52c
-lib/libxslt.dll.a: 9c6d3367a2c9d81da888aec728595158
-lib/pkgconfig/libexslt.pc: 96de8f80e8e66cc6fa593aaaae8f0d79
-lib/pkgconfig/libxslt.pc: ca661115f87755258b6c925774d0bc04
-lib/xsltConf.sh: 9fcd150c391ae3fba108aa9ec272601b
-licenses/COPYING: 0cd9a07afbeb24026c9b03aecfeba458
-share/aclocal/libxslt.m4: 7b0b8b6bd86eea30c617663c9e9439b3
-share/doc/libxslt-1.1.33/html/API.html: 99b964a0e24da7db2d479302fbde49ef
-share/doc/libxslt-1.1.33/html/APIchunk0.html: 2606a248a6bcc15dc3a0a7b24aa4c986
-share/doc/libxslt-1.1.33/html/APIchunk1.html: b7d490ac26795f95c2bef95c0a594602
-share/doc/libxslt-1.1.33/html/APIchunk10.html: 21469e5e8bddfc34612199bcbe475986
-share/doc/libxslt-1.1.33/html/APIchunk11.html: d885dc364ca2e7f673e70a8e4bebe708
-share/doc/libxslt-1.1.33/html/APIchunk12.html: bf1786a4eec69d7f07b1b343e5896578
-share/doc/libxslt-1.1.33/html/APIchunk13.html: a6260a4828dede37e72fcba0b0896bbc
-share/doc/libxslt-1.1.33/html/APIchunk2.html: d23cc069d98f804c94b5f89d689df18d
-share/doc/libxslt-1.1.33/html/APIchunk3.html: 726cc909e934c30b155938c7e3054514
-share/doc/libxslt-1.1.33/html/APIchunk4.html: 6ae81594249831b8fb705cf93e2aeb1c
-share/doc/libxslt-1.1.33/html/APIchunk5.html: abec4cefc8e617a8a5a09a4eb698f1b2
-share/doc/libxslt-1.1.33/html/APIchunk6.html: fbf021be7dc8290f2e982f142db88c65
-share/doc/libxslt-1.1.33/html/APIchunk7.html: 8a239dc2258366ba021dff7da5bff984
-share/doc/libxslt-1.1.33/html/APIchunk8.html: 477f0b927ea36d2b304b4d9cc50c1d33
-share/doc/libxslt-1.1.33/html/APIchunk9.html: 6a3e5b1297a1ac42a923be4572e910b1
-share/doc/libxslt-1.1.33/html/APIconstructors.html: 024a521581bd48526c32d53ad523ca7d
-share/doc/libxslt-1.1.33/html/APIfiles.html: 5d7c6992d4f45cc688140d67c1c36819
-share/doc/libxslt-1.1.33/html/APIfunctions.html: 3507a0636b416c3d0e26d751ffbc89b4
-share/doc/libxslt-1.1.33/html/APIsymbols.html: b4e69e2a3f573e06627682607098e7d5
-share/doc/libxslt-1.1.33/html/EXSLT/APIchunk0.html: be037131987b78b19b9e61ce54877bee
-share/doc/libxslt-1.1.33/html/EXSLT/APIconstructors.html: 3da084171718dfe3cfc77c6d4350762f
-share/doc/libxslt-1.1.33/html/EXSLT/APIfiles.html: d67a66297a2fd601bc1553874765a315
-share/doc/libxslt-1.1.33/html/EXSLT/APIfunctions.html: 6b0b4b814785deca06fb32b27d1421db
-share/doc/libxslt-1.1.33/html/EXSLT/APIsymbols.html: 39928a27a9ada210627deef998899296
-share/doc/libxslt-1.1.33/html/EXSLT/bugs.html: 7e22e19ae460ec6a27849b6bf2870eaf
-share/doc/libxslt-1.1.33/html/EXSLT/docs.html: de04679a46246ab14183bfddfb9fe21e
-share/doc/libxslt-1.1.33/html/EXSLT/downloads.html: 775d1c9006018e2a6afbd46aabac94cc
-share/doc/libxslt-1.1.33/html/EXSLT/exslt.html: 506581c3f25d8dbc5443c8892dfd09fe
-share/doc/libxslt-1.1.33/html/EXSLT/help.html: 6a3ae7a677b508299d6843ec2aa06919
-share/doc/libxslt-1.1.33/html/EXSLT/index.html: f10878530c0c370434e38f8669b87fb2
-share/doc/libxslt-1.1.33/html/EXSLT/intro.html: 08c5743544fa11d3e47794d2bddf58c5
-share/doc/libxslt-1.1.33/html/FAQ.html: d50bcf8a29a1593dd5e0a3821071274f
-share/doc/libxslt-1.1.33/html/Libxslt-Logo-180x168.gif: e6f8bb7e4a5a426380d387adaedadad9
-share/doc/libxslt-1.1.33/html/Libxslt-Logo-90x34.gif: 6b3ac58ce6c3e622db3dbf83d127f1ac
-share/doc/libxslt-1.1.33/html/bugs.html: f724ff1f191cd6d6006ff81f85b84987
-share/doc/libxslt-1.1.33/html/contexts.gif: 8d882ee509aaba54abf791a312fdb617
-share/doc/libxslt-1.1.33/html/contribs.html: c3d4e7a850f0d5e373f857093b092fbc
-share/doc/libxslt-1.1.33/html/docbook.html: 776f814590907d566008cb194162da1a
-share/doc/libxslt-1.1.33/html/docs.html: 4291a6eb59ef115310843882330d25f1
-share/doc/libxslt-1.1.33/html/downloads.html: a34b24da9c37d11b160a51375b2d8e26
-share/doc/libxslt-1.1.33/html/extensions.html: d9dc8d45c36e77af9b229d9de2fa184c
-share/doc/libxslt-1.1.33/html/help.html: ec0ba42602368c606bb282ae37d6e8ff
-share/doc/libxslt-1.1.33/html/html/book1.html: 38e702d7abb51be701e9e4a132b7fbf3
-share/doc/libxslt-1.1.33/html/html/home.png: f6192f4292d744423df690e785d60fdf
-share/doc/libxslt-1.1.33/html/html/index.html: 38e702d7abb51be701e9e4a132b7fbf3
-share/doc/libxslt-1.1.33/html/html/left.png: f771308152ab24a69682daed70ce136d
-share/doc/libxslt-1.1.33/html/html/libxslt-attributes.html: 01e3dad54911c715af8eb4edd03680d7
-share/doc/libxslt-1.1.33/html/html/libxslt-documents.html: 04b4f566bc179282ba31e4086733d392
-share/doc/libxslt-1.1.33/html/html/libxslt-extensions.html: 48ba473ecaca35f0e9d118bfe569a4ce
-share/doc/libxslt-1.1.33/html/html/libxslt-extra.html: caf4705080e4ff3f3ade158e71226d47
-share/doc/libxslt-1.1.33/html/html/libxslt-functions.html: bb94525f596eb9c2e1f3920758659832
-share/doc/libxslt-1.1.33/html/html/libxslt-imports.html: fc82892efd0d57468cf0bbae61aeb34f
-share/doc/libxslt-1.1.33/html/html/libxslt-keys.html: 595c6d8e3cbd5836d765a714cdaa8662
-share/doc/libxslt-1.1.33/html/html/libxslt-lib.html: 38e702d7abb51be701e9e4a132b7fbf3
-share/doc/libxslt-1.1.33/html/html/libxslt-namespaces.html: f1957f303bf803b546fea20c3210e66c
-share/doc/libxslt-1.1.33/html/html/libxslt-numbersInternals.html: 8270d01773d6827cef5eb0e5fbc06cbe
-share/doc/libxslt-1.1.33/html/html/libxslt-pattern.html: 68a6e5041985bd90b062f225d3e4a4ea
-share/doc/libxslt-1.1.33/html/html/libxslt-preproc.html: 2e5b3d40d10b5d19f8d8981890fa60e6
-share/doc/libxslt-1.1.33/html/html/libxslt-security.html: 0fc54dbb04c31db7273540c6aa15b789
-share/doc/libxslt-1.1.33/html/html/libxslt-templates.html: f795df05f5ada549196b3b0af2b51b6f
-share/doc/libxslt-1.1.33/html/html/libxslt-transform.html: 4e6ec4dbc8937a8c616f86691efbbf00
-share/doc/libxslt-1.1.33/html/html/libxslt-variables.html: 35187493583603e51076ec5a24641ef9
-share/doc/libxslt-1.1.33/html/html/libxslt-xslt.html: e94fba7be3d50049b723a80d3b0a1b40
-share/doc/libxslt-1.1.33/html/html/libxslt-xsltInternals.html: cc1b16d88f1793e3a851668a70c9c759
-share/doc/libxslt-1.1.33/html/html/libxslt-xsltexports.html: 21afd523be589d91dac3cdd1692d434c
-share/doc/libxslt-1.1.33/html/html/libxslt-xsltlocale.html: 81fdb21658d2250d7d760a3ce7fb7e2f
-share/doc/libxslt-1.1.33/html/html/libxslt-xsltutils.html: ac754a1cb0a4674f5f9758c5e5349901
-share/doc/libxslt-1.1.33/html/html/right.png: ebd7e6d206d73850d77d305ab548f957
-share/doc/libxslt-1.1.33/html/html/up.png: 2f07d9272deb4ae870ca6821117877fa
-share/doc/libxslt-1.1.33/html/index.html: 05e32435399ac231b17cd820de78ac70
-share/doc/libxslt-1.1.33/html/internals.html: 922c61987ad85ba31859d1fa36ca2fc2
-share/doc/libxslt-1.1.33/html/intro.html: f7674ee30704647018c1cdd5ffa4b56f
-share/doc/libxslt-1.1.33/html/news.html: 61820b5fa72adba71e24ff667a33473b
-share/doc/libxslt-1.1.33/html/node.gif: e0b48d09fa64e4a64831c42c4f9e6331
-share/doc/libxslt-1.1.33/html/object.gif: 879905dbfdc584f7a8543b7804cc3ff4
-share/doc/libxslt-1.1.33/html/processing.gif: e6924e110962e92a04d6d3f1f1196b31
-share/doc/libxslt-1.1.33/html/python.html: c8c7fafbda61cd06c188c4cceb78184e
-share/doc/libxslt-1.1.33/html/redhat.gif: dd0216f442bf6845c103aba1b4bcb869
-share/doc/libxslt-1.1.33/html/smallfootonly.gif: e92b022a99a76d6fceeb35576bb7718f
-share/doc/libxslt-1.1.33/html/stylesheet.gif: 15a7ac6844ef2b2a7f601ed6cb6cb277
-share/doc/libxslt-1.1.33/html/templates.gif: e1ac04018d8f602adbd28a72153f9956
-share/doc/libxslt-1.1.33/html/tutorial/libxslt_tutorial.c: 0c3d2acbfb0be23b984c695600170d16
-share/doc/libxslt-1.1.33/html/tutorial/libxslttutorial.html: ee8ec694b4a88c4b6503f5301c998ecd
-share/doc/libxslt-1.1.33/html/tutorial/libxslttutorial.xml: 7f3bb19c2dcc54c5f76e953a65dbd339
-share/doc/libxslt-1.1.33/html/tutorial2/libxslt_pipes.c: 01a91d21b5e9a1e2259752d5325feaf0
-share/doc/libxslt-1.1.33/html/tutorial2/libxslt_pipes.html: ac0dc678b3ab0da56681555c51e6fa64
-share/doc/libxslt-1.1.33/html/tutorial2/libxslt_pipes.xml: 0c0faafe5595b19ebe09f6110fe3a7fd
-share/doc/libxslt-1.1.33/html/xslt.html: 1374af624caff863c3a74a0638cc864e
-share/doc/libxslt-1.1.33/html/xsltproc.html: fa713b8a3fd6b30a19319a821d7bb238
-share/doc/libxslt-1.1.33/html/xsltproc2.html: 52997d42ce172e9b1cace319bb5aaa0b
-share/man/man1/xsltproc.1: de3280d3d36348484726358785ec0b16
-share/man/man3/libexslt.3: c7089bab11720e9c9c17962a68c528ff
-share/man/man3/libxslt.3: e4962632ed2590adad3621054417bd2a
diff --git a/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.34/qtproject/stable/export/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.34/qtproject/stable/export/conanmanifest.txt
new file mode 100644
index 00000000..b8f7a946
--- /dev/null
+++ b/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.34/qtproject/stable/export/conanmanifest.txt
@@ -0,0 +1,4 @@
+1582270556
+LICENSE.md: d9f691088a6aaf0589397de712404f23
+conanfile.py: fdaa2f193e25d36dbf5b92a0f6567611
+export_source/patches/0001-remove-with-profiler.patch: 44c783ce23e5be1360ef1521b1427da3
diff --git a/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.33/qtproject/stable/package/f8cbe39e2f6584ea05b56c1f3dd9b0a99f522727/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.34/qtproject/stable/package/19663639a14063d996b277c7fac0e00264689c20/conanmanifest.txt
index c4697d0a..0b7f4d23 100644
--- a/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.33/qtproject/stable/package/f8cbe39e2f6584ea05b56c1f3dd9b0a99f522727/conanmanifest.txt
+++ b/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.34/qtproject/stable/package/19663639a14063d996b277c7fac0e00264689c20/conanmanifest.txt
@@ -1,10 +1,10 @@
-1564656516
-bin/libexslt.dll: 3a90a85d74d278313c61201a5c93c400
-bin/libxslt.dll: 15647e2321ca68c2967b669a63e1b107
-bin/xsltproc.exe: ac0db93df3f4d40b628285c69f20a56b
-conaninfo.txt: 8871cf3a8be8aaedae333c30219d4169
+1582270759
+bin/libexslt.dll: a51fe97830a208d53dcfe45d9c2e09e9
+bin/libxslt.dll: 8470c67ac38dffe68e148fb70699df40
+bin/xsltproc.exe: 1b74f23e59bb5634225f1db2bee37fa1
+conaninfo.txt: 9165bb7c04c9c150f6e1b40f11644483
include/libexslt/exslt.h: f01af3bf058520059ba6d50f42133717
-include/libexslt/exsltconfig.h: b59169f8160a77fbe1f2a5857b0d3575
+include/libexslt/exsltconfig.h: a0afe6a6e6db6ad4dc8bf86d0364f188
include/libexslt/exsltexports.h: 03a75a174bc5b056f014e592cfd4db36
include/libexslt/libexslt.h: 4564d6e70f8ce16e36c0bde5969fdab5
include/libxslt/attributes.h: 32e43c08f66b85266c391301d322a21f
@@ -17,7 +17,7 @@ include/libxslt/keys.h: 77a11ee3de841d02d3461b829cfcc11e
include/libxslt/libxslt.h: b84034c942ffa214709b590b29131637
include/libxslt/namespaces.h: c784b4b8e80274491fe023ce26d4847b
include/libxslt/numbersInternals.h: 27c2c21ab1535f84710fe1c8c8829018
-include/libxslt/pattern.h: 1d928199f1adf63d79d9ec6aa7eb060f
+include/libxslt/pattern.h: adf6b78e6c68a7d34ae680f6dc3f5240
include/libxslt/preproc.h: 829de337aca8b15f699708e6b7340549
include/libxslt/security.h: 1b24b61ea6afe01d18c647c94b1245c7
include/libxslt/templates.h: 6901f4c8fad239b588b9f6d4cdfef5ac
@@ -27,11 +27,11 @@ include/libxslt/triodef.h: e41149b088de4a04c067c85969f4db3c
include/libxslt/variables.h: ebd9b3b1f996c4a2ed79d4473ff0fd77
include/libxslt/win32config.h: c64153b1a2c8bba1a8aa600741f04690
include/libxslt/xslt.h: 0c08b8e7223b72f822a58457520b6387
-include/libxslt/xsltInternals.h: 83c28cbab61567177227bc7d65cedc5d
-include/libxslt/xsltconfig.h: b650a6d45e6a25c2b6a855e881c57f2c
+include/libxslt/xsltInternals.h: 0c245b0fcc81bf537632a45adf8fcffb
+include/libxslt/xsltconfig.h: 5a24e58adcdbe603c43a8f044ba5f763
include/libxslt/xsltexports.h: 751f95448e71222d8e10d31ebf8822df
include/libxslt/xsltlocale.h: d7b200e408cefe5082b15d3a5e1bf600
-include/libxslt/xsltutils.h: c190bd536ce0cffe1ccba74c68f7b0c9
-lib/libexslt.lib: b42f86d1df0d2ea5acdab2358ce0e342
-lib/libxslt.lib: e27ebe0519adda4e86bdb7c66084dd5f
+include/libxslt/xsltutils.h: 5f7848088182b183e6d1fdb335b2616a
+lib/libexslt.lib: a52c95945695dc7ca60c7e026ff6e66e
+lib/libxslt.lib: 86f6c6067a0405c07a6e2e5a5a20ec75
licenses/COPYING: 0cd9a07afbeb24026c9b03aecfeba458
diff --git a/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.33/qtproject/stable/package/466fc39fa8b7a19ee2095aa945fff98630acdd12/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.34/qtproject/stable/package/466fc39fa8b7a19ee2095aa945fff98630acdd12/conanmanifest.txt
index a9c74e01..966a5370 100644
--- a/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.33/qtproject/stable/package/466fc39fa8b7a19ee2095aa945fff98630acdd12/conanmanifest.txt
+++ b/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.34/qtproject/stable/package/466fc39fa8b7a19ee2095aa945fff98630acdd12/conanmanifest.txt
@@ -1,10 +1,10 @@
-1564656268
-bin/libexslt.dll: 0cd198fb320233108fddee3ec09bc377
-bin/libxslt.dll: 54cb08fddcb054636a8075e00e0bc883
-bin/xsltproc.exe: e874bb0ee567a308e9a9fde668a0702e
-conaninfo.txt: bcb10215b78158b38fd56dadc574ca72
+1582270589
+bin/libexslt.dll: de0d471ee78a2f94412e55185800e9d0
+bin/libxslt.dll: 2ae75390522642eb9c9fe475f41aa8b7
+bin/xsltproc.exe: 217e6de210dd4babad9cb1c9c205a040
+conaninfo.txt: 578af7a111c601731b3b45df8c7baa8d
include/libexslt/exslt.h: f01af3bf058520059ba6d50f42133717
-include/libexslt/exsltconfig.h: b59169f8160a77fbe1f2a5857b0d3575
+include/libexslt/exsltconfig.h: a0afe6a6e6db6ad4dc8bf86d0364f188
include/libexslt/exsltexports.h: 03a75a174bc5b056f014e592cfd4db36
include/libexslt/libexslt.h: 4564d6e70f8ce16e36c0bde5969fdab5
include/libxslt/attributes.h: 32e43c08f66b85266c391301d322a21f
@@ -17,7 +17,7 @@ include/libxslt/keys.h: 77a11ee3de841d02d3461b829cfcc11e
include/libxslt/libxslt.h: b84034c942ffa214709b590b29131637
include/libxslt/namespaces.h: c784b4b8e80274491fe023ce26d4847b
include/libxslt/numbersInternals.h: 27c2c21ab1535f84710fe1c8c8829018
-include/libxslt/pattern.h: 1d928199f1adf63d79d9ec6aa7eb060f
+include/libxslt/pattern.h: adf6b78e6c68a7d34ae680f6dc3f5240
include/libxslt/preproc.h: 829de337aca8b15f699708e6b7340549
include/libxslt/security.h: 1b24b61ea6afe01d18c647c94b1245c7
include/libxslt/templates.h: 6901f4c8fad239b588b9f6d4cdfef5ac
@@ -27,11 +27,11 @@ include/libxslt/triodef.h: e41149b088de4a04c067c85969f4db3c
include/libxslt/variables.h: ebd9b3b1f996c4a2ed79d4473ff0fd77
include/libxslt/win32config.h: c64153b1a2c8bba1a8aa600741f04690
include/libxslt/xslt.h: 0c08b8e7223b72f822a58457520b6387
-include/libxslt/xsltInternals.h: 83c28cbab61567177227bc7d65cedc5d
-include/libxslt/xsltconfig.h: b650a6d45e6a25c2b6a855e881c57f2c
+include/libxslt/xsltInternals.h: 0c245b0fcc81bf537632a45adf8fcffb
+include/libxslt/xsltconfig.h: 5a24e58adcdbe603c43a8f044ba5f763
include/libxslt/xsltexports.h: 751f95448e71222d8e10d31ebf8822df
include/libxslt/xsltlocale.h: d7b200e408cefe5082b15d3a5e1bf600
-include/libxslt/xsltutils.h: c190bd536ce0cffe1ccba74c68f7b0c9
-lib/libexslt.lib: f0201dd318f087f040abe3361adc6041
-lib/libxslt.lib: 3ca1e0c7dc446c2b547593d2243052c2
+include/libxslt/xsltutils.h: 5f7848088182b183e6d1fdb335b2616a
+lib/libexslt.lib: 39e6513160cc2def93d57bed1475eeeb
+lib/libxslt.lib: 5b5c6927b596acce143095bf80fceb0d
licenses/COPYING: 0cd9a07afbeb24026c9b03aecfeba458
diff --git a/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.33/qtproject/stable/package/19663639a14063d996b277c7fac0e00264689c20/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.34/qtproject/stable/package/8c83c725f7fefe466a2c6c18ff17d3b0b91202c6/conanmanifest.txt
index 9bf86a8e..30633666 100644
--- a/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.33/qtproject/stable/package/19663639a14063d996b277c7fac0e00264689c20/conanmanifest.txt
+++ b/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.34/qtproject/stable/package/8c83c725f7fefe466a2c6c18ff17d3b0b91202c6/conanmanifest.txt
@@ -1,10 +1,10 @@
-1564656371
-bin/libexslt.dll: 89db784739897fce0f3eb2d1e9eb999e
-bin/libxslt.dll: 540a0335b4abe7684a79df6f1e3af541
-bin/xsltproc.exe: 35f757a2ae4c7ec075ea77726ceaf9e8
-conaninfo.txt: e7802d9fecb7b400478ba69c2bf3b6fb
+1582271158
+bin/libexslt.dll: e496cd641e119c9afb8f29b557107fac
+bin/libxslt.dll: 1cbe999cd3f4e41ecc50eb8647c9a1be
+bin/xsltproc.exe: 4e016b0c46f630144ab003984bc6ceee
+conaninfo.txt: 4818881c8b2f14e0ec8da1810712bcb5
include/libexslt/exslt.h: f01af3bf058520059ba6d50f42133717
-include/libexslt/exsltconfig.h: b59169f8160a77fbe1f2a5857b0d3575
+include/libexslt/exsltconfig.h: a0afe6a6e6db6ad4dc8bf86d0364f188
include/libexslt/exsltexports.h: 03a75a174bc5b056f014e592cfd4db36
include/libexslt/libexslt.h: 4564d6e70f8ce16e36c0bde5969fdab5
include/libxslt/attributes.h: 32e43c08f66b85266c391301d322a21f
@@ -17,7 +17,7 @@ include/libxslt/keys.h: 77a11ee3de841d02d3461b829cfcc11e
include/libxslt/libxslt.h: b84034c942ffa214709b590b29131637
include/libxslt/namespaces.h: c784b4b8e80274491fe023ce26d4847b
include/libxslt/numbersInternals.h: 27c2c21ab1535f84710fe1c8c8829018
-include/libxslt/pattern.h: 1d928199f1adf63d79d9ec6aa7eb060f
+include/libxslt/pattern.h: adf6b78e6c68a7d34ae680f6dc3f5240
include/libxslt/preproc.h: 829de337aca8b15f699708e6b7340549
include/libxslt/security.h: 1b24b61ea6afe01d18c647c94b1245c7
include/libxslt/templates.h: 6901f4c8fad239b588b9f6d4cdfef5ac
@@ -27,11 +27,11 @@ include/libxslt/triodef.h: e41149b088de4a04c067c85969f4db3c
include/libxslt/variables.h: ebd9b3b1f996c4a2ed79d4473ff0fd77
include/libxslt/win32config.h: c64153b1a2c8bba1a8aa600741f04690
include/libxslt/xslt.h: 0c08b8e7223b72f822a58457520b6387
-include/libxslt/xsltInternals.h: 83c28cbab61567177227bc7d65cedc5d
-include/libxslt/xsltconfig.h: b650a6d45e6a25c2b6a855e881c57f2c
+include/libxslt/xsltInternals.h: 0c245b0fcc81bf537632a45adf8fcffb
+include/libxslt/xsltconfig.h: 5a24e58adcdbe603c43a8f044ba5f763
include/libxslt/xsltexports.h: 751f95448e71222d8e10d31ebf8822df
include/libxslt/xsltlocale.h: d7b200e408cefe5082b15d3a5e1bf600
-include/libxslt/xsltutils.h: c190bd536ce0cffe1ccba74c68f7b0c9
-lib/libexslt.lib: 574b83bbe26eca748519e1e2ef2ad50a
-lib/libxslt.lib: 2a550274770dc3a3ae6611acc2466cf9
+include/libxslt/xsltutils.h: 5f7848088182b183e6d1fdb335b2616a
+lib/libexslt.lib: db86a5f1d7a41d45971e749994a5add2
+lib/libxslt.lib: eccf05fb19bcc4df01d3b34360aa0122
licenses/COPYING: 0cd9a07afbeb24026c9b03aecfeba458
diff --git a/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.33/qtproject/stable/package/8c83c725f7fefe466a2c6c18ff17d3b0b91202c6/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.34/qtproject/stable/package/a19b1f00428920c59efe23b98acbe83d331049b4/conanmanifest.txt
index a5f648f7..6e45a634 100644
--- a/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.33/qtproject/stable/package/8c83c725f7fefe466a2c6c18ff17d3b0b91202c6/conanmanifest.txt
+++ b/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.34/qtproject/stable/package/a19b1f00428920c59efe23b98acbe83d331049b4/conanmanifest.txt
@@ -1,10 +1,10 @@
-1564656635
-bin/libexslt.dll: 5c4d6d1be796247772c3b2e64847e21a
-bin/libxslt.dll: 3153114bfd1f64870f6523d2643b58db
-bin/xsltproc.exe: 31f2b7049e0a5e168358a03d2cfb2e3a
-conaninfo.txt: 2970ef8cccdfe7e239697f31c737af3c
+1582271502
+bin/libexslt.dll: dfa355cf061960fb9ac90eb96978efe2
+bin/libxslt.dll: 66d893778ed2fdb0996d65cfafde86c8
+bin/xsltproc.exe: 9758509e1893f33b8a72fac95277173d
+conaninfo.txt: 925c32911a6c22d5017050c029b235fe
include/libexslt/exslt.h: f01af3bf058520059ba6d50f42133717
-include/libexslt/exsltconfig.h: b59169f8160a77fbe1f2a5857b0d3575
+include/libexslt/exsltconfig.h: a0afe6a6e6db6ad4dc8bf86d0364f188
include/libexslt/exsltexports.h: 03a75a174bc5b056f014e592cfd4db36
include/libexslt/libexslt.h: 4564d6e70f8ce16e36c0bde5969fdab5
include/libxslt/attributes.h: 32e43c08f66b85266c391301d322a21f
@@ -17,7 +17,7 @@ include/libxslt/keys.h: 77a11ee3de841d02d3461b829cfcc11e
include/libxslt/libxslt.h: b84034c942ffa214709b590b29131637
include/libxslt/namespaces.h: c784b4b8e80274491fe023ce26d4847b
include/libxslt/numbersInternals.h: 27c2c21ab1535f84710fe1c8c8829018
-include/libxslt/pattern.h: 1d928199f1adf63d79d9ec6aa7eb060f
+include/libxslt/pattern.h: adf6b78e6c68a7d34ae680f6dc3f5240
include/libxslt/preproc.h: 829de337aca8b15f699708e6b7340549
include/libxslt/security.h: 1b24b61ea6afe01d18c647c94b1245c7
include/libxslt/templates.h: 6901f4c8fad239b588b9f6d4cdfef5ac
@@ -27,11 +27,11 @@ include/libxslt/triodef.h: e41149b088de4a04c067c85969f4db3c
include/libxslt/variables.h: ebd9b3b1f996c4a2ed79d4473ff0fd77
include/libxslt/win32config.h: c64153b1a2c8bba1a8aa600741f04690
include/libxslt/xslt.h: 0c08b8e7223b72f822a58457520b6387
-include/libxslt/xsltInternals.h: 83c28cbab61567177227bc7d65cedc5d
-include/libxslt/xsltconfig.h: b650a6d45e6a25c2b6a855e881c57f2c
+include/libxslt/xsltInternals.h: 0c245b0fcc81bf537632a45adf8fcffb
+include/libxslt/xsltconfig.h: 5a24e58adcdbe603c43a8f044ba5f763
include/libxslt/xsltexports.h: 751f95448e71222d8e10d31ebf8822df
include/libxslt/xsltlocale.h: d7b200e408cefe5082b15d3a5e1bf600
-include/libxslt/xsltutils.h: c190bd536ce0cffe1ccba74c68f7b0c9
-lib/libexslt.lib: a6856e7a6c5bf5a3219d20f6a4196af7
-lib/libxslt.lib: c92f8017146bd83d247fa2923fefad40
+include/libxslt/xsltutils.h: 5f7848088182b183e6d1fdb335b2616a
+lib/libexslt.lib: f6157fec5ccb3854968dc422548971f3
+lib/libxslt.lib: 63331e57a1bc5adaa352f3ee2c68b5cd
licenses/COPYING: 0cd9a07afbeb24026c9b03aecfeba458
diff --git a/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.34/qtproject/stable/package/ae932df57acef9c094443d5579df1a9b72790e1a/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.34/qtproject/stable/package/ae932df57acef9c094443d5579df1a9b72790e1a/conanmanifest.txt
new file mode 100644
index 00000000..a9d50c77
--- /dev/null
+++ b/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.34/qtproject/stable/package/ae932df57acef9c094443d5579df1a9b72790e1a/conanmanifest.txt
@@ -0,0 +1,130 @@
+1582271749
+bin/libexslt-0.dll: 4b9cbde76ca3933da5a551bccc952ec4
+bin/libxslt-1.dll: 819776a46fa5031884953e1ad3e0e753
+bin/xslt-config: 7425a897e93c2b35d098d21de286564b
+bin/xsltproc.exe: b7198489b916c3f5936284418d756f80
+conaninfo.txt: fd798c9d2cde468877c2c25020e44443
+include/libexslt/exslt.h: f01af3bf058520059ba6d50f42133717
+include/libexslt/exsltconfig.h: eb4297a735f2666c5872067c25f16005
+include/libexslt/exsltexports.h: 03a75a174bc5b056f014e592cfd4db36
+include/libxslt/attributes.h: 32e43c08f66b85266c391301d322a21f
+include/libxslt/documents.h: 22a35bd1102fd1ac301e50cf650a8b8a
+include/libxslt/extensions.h: 0396b6be07f707b0c6ee171a63b2e520
+include/libxslt/extra.h: 94fe9ce1c0c47724aae4a1bcb8c29433
+include/libxslt/functions.h: 052fd28e9971416b2bbebdc3d1103c4e
+include/libxslt/imports.h: 66e26ad969e3c37fdeedcbc2716d7cf3
+include/libxslt/keys.h: 77a11ee3de841d02d3461b829cfcc11e
+include/libxslt/namespaces.h: c784b4b8e80274491fe023ce26d4847b
+include/libxslt/numbersInternals.h: 27c2c21ab1535f84710fe1c8c8829018
+include/libxslt/pattern.h: adf6b78e6c68a7d34ae680f6dc3f5240
+include/libxslt/preproc.h: 829de337aca8b15f699708e6b7340549
+include/libxslt/security.h: 1b24b61ea6afe01d18c647c94b1245c7
+include/libxslt/templates.h: 6901f4c8fad239b588b9f6d4cdfef5ac
+include/libxslt/transform.h: ccbcce4553f3231003b1944002814246
+include/libxslt/variables.h: ebd9b3b1f996c4a2ed79d4473ff0fd77
+include/libxslt/xslt.h: 0c08b8e7223b72f822a58457520b6387
+include/libxslt/xsltInternals.h: 0c245b0fcc81bf537632a45adf8fcffb
+include/libxslt/xsltconfig.h: e49047ac857ae0fea24b99ee4c56de62
+include/libxslt/xsltexports.h: 751f95448e71222d8e10d31ebf8822df
+include/libxslt/xsltlocale.h: d7b200e408cefe5082b15d3a5e1bf600
+include/libxslt/xsltutils.h: 5f7848088182b183e6d1fdb335b2616a
+lib/libexslt.dll.a: a27a9df2d4b7cf070377a32e10961027
+lib/libexslt.la: 036e99c1bab6a8d3a63471ad94d13aaf
+lib/libxslt.dll.a: 5bf3583373ca584df267b766c3e9cb3e
+lib/pkgconfig/libexslt.pc: a9e14aa113bd8c105df76410e046b233
+lib/pkgconfig/libxslt.pc: 12169caf9654c69c90e0e0c0f98776ad
+lib/xsltConf.sh: 5fa057a4733819c38f5c55d1ce50fd48
+licenses/COPYING: 0cd9a07afbeb24026c9b03aecfeba458
+share/aclocal/libxslt.m4: 7b0b8b6bd86eea30c617663c9e9439b3
+share/doc/libxslt-1.1.34/html/API.html: 205e063f09d60a36b44a61c6b7af0af9
+share/doc/libxslt-1.1.34/html/APIchunk0.html: 393346f160807a1dda5fb31574ee1457
+share/doc/libxslt-1.1.34/html/APIchunk1.html: bc91cf0e6e08b6df806ca76efb1bf6f1
+share/doc/libxslt-1.1.34/html/APIchunk10.html: b2989e9c9c581006aecf89fe5360adbd
+share/doc/libxslt-1.1.34/html/APIchunk11.html: 3d13e19d8f480f37025f27d708c05fab
+share/doc/libxslt-1.1.34/html/APIchunk12.html: 1257ecf31f3ce181cac700a9b1674484
+share/doc/libxslt-1.1.34/html/APIchunk2.html: 017db5ec517e094b99eeea4b7f494348
+share/doc/libxslt-1.1.34/html/APIchunk3.html: 951071214af1942ef8d12c8d6e87f2a3
+share/doc/libxslt-1.1.34/html/APIchunk4.html: 035ac12ab5d1974ebf1a029ac1dee309
+share/doc/libxslt-1.1.34/html/APIchunk5.html: 1e751df6345f2e6ae2f80d01ea4699b9
+share/doc/libxslt-1.1.34/html/APIchunk6.html: 3748fd39dfb4dc99453e0287548d42ca
+share/doc/libxslt-1.1.34/html/APIchunk7.html: bb08a461eb51ca86034d7898eaa9779c
+share/doc/libxslt-1.1.34/html/APIchunk8.html: 80b83f24130a9adc03151245c71be0b4
+share/doc/libxslt-1.1.34/html/APIchunk9.html: a45286d30316b24772a148d9ab3b107e
+share/doc/libxslt-1.1.34/html/APIconstructors.html: bbacba9196901ab4df80744ded578d38
+share/doc/libxslt-1.1.34/html/APIfiles.html: 2eab4f8035f681bd9e8428311ba452f5
+share/doc/libxslt-1.1.34/html/APIfunctions.html: 4ab0b09bfc13d94f19dc2e390c1f54c8
+share/doc/libxslt-1.1.34/html/APIsymbols.html: b1488e9773ab063203a9a9660e34c376
+share/doc/libxslt-1.1.34/html/EXSLT/APIchunk0.html: 7931b430411ef347e2080f39f7bbc6f7
+share/doc/libxslt-1.1.34/html/EXSLT/APIconstructors.html: 75b44d45225e2435c8cbccdb6aa617f0
+share/doc/libxslt-1.1.34/html/EXSLT/APIfiles.html: 8aafc65876afb28aff473f1502d067e8
+share/doc/libxslt-1.1.34/html/EXSLT/APIfunctions.html: a123fcaaa9396c834261eb0f734f65cf
+share/doc/libxslt-1.1.34/html/EXSLT/APIsymbols.html: 6669114987760e2853aff651b6c22377
+share/doc/libxslt-1.1.34/html/EXSLT/bugs.html: d7a0c23b923175a4055c311c219b3137
+share/doc/libxslt-1.1.34/html/EXSLT/docs.html: fc3defa0e87648748becf6092ec86487
+share/doc/libxslt-1.1.34/html/EXSLT/downloads.html: 1393428e523072adf4fcb9433fb71273
+share/doc/libxslt-1.1.34/html/EXSLT/exslt.html: b267dcf1f3e36874bbcb67db54447411
+share/doc/libxslt-1.1.34/html/EXSLT/help.html: c7e39df0856121711d7bb92a408ed320
+share/doc/libxslt-1.1.34/html/EXSLT/index.html: 64d9d65df45301a81c181d213ceef803
+share/doc/libxslt-1.1.34/html/EXSLT/intro.html: 52af4215ed80a6e36269ea879dbf23e3
+share/doc/libxslt-1.1.34/html/FAQ.html: 02feaf8ed528b4fffb1537866b1bd55f
+share/doc/libxslt-1.1.34/html/Libxslt-Logo-180x168.gif: e6f8bb7e4a5a426380d387adaedadad9
+share/doc/libxslt-1.1.34/html/Libxslt-Logo-90x34.gif: 6b3ac58ce6c3e622db3dbf83d127f1ac
+share/doc/libxslt-1.1.34/html/bugs.html: 59f370f68224527bd966172ad84720fd
+share/doc/libxslt-1.1.34/html/contexts.gif: 8d882ee509aaba54abf791a312fdb617
+share/doc/libxslt-1.1.34/html/contribs.html: 06426656757dfa9d63e2e25f7cc86496
+share/doc/libxslt-1.1.34/html/docbook.html: 9ca15cdd191b5acf369be447c4f27044
+share/doc/libxslt-1.1.34/html/docs.html: 9869f684c46bf9159de17319e94118a2
+share/doc/libxslt-1.1.34/html/downloads.html: d1088704f6d439cec1a0a1b6444d50ba
+share/doc/libxslt-1.1.34/html/extensions.html: bf062b7b72aeffcf356d06d7c859d46d
+share/doc/libxslt-1.1.34/html/help.html: 0230faa6b8697315ba13452f96d66192
+share/doc/libxslt-1.1.34/html/html/book1.html: 4ac64efce7a076016eee8b91c65f19d4
+share/doc/libxslt-1.1.34/html/html/home.png: f6192f4292d744423df690e785d60fdf
+share/doc/libxslt-1.1.34/html/html/index.html: 4ac64efce7a076016eee8b91c65f19d4
+share/doc/libxslt-1.1.34/html/html/left.png: f771308152ab24a69682daed70ce136d
+share/doc/libxslt-1.1.34/html/html/libxslt-attributes.html: a2dc8fa8e1482a6614e2febd235e9b72
+share/doc/libxslt-1.1.34/html/html/libxslt-documents.html: ff5544c5c06db000e21cffc45496e0e3
+share/doc/libxslt-1.1.34/html/html/libxslt-extensions.html: bcda217cdad6c77d228e6540474e510f
+share/doc/libxslt-1.1.34/html/html/libxslt-extra.html: 49d72e4b1f453b324c9d73ddbabbccd6
+share/doc/libxslt-1.1.34/html/html/libxslt-functions.html: 30a16899d9a4aff2819a25301dcfa599
+share/doc/libxslt-1.1.34/html/html/libxslt-imports.html: 496f606d9a344631b9bba167b4c9f14d
+share/doc/libxslt-1.1.34/html/html/libxslt-keys.html: 92ed5acbac225c7cb4ace6ff02d41e69
+share/doc/libxslt-1.1.34/html/html/libxslt-lib.html: 4ac64efce7a076016eee8b91c65f19d4
+share/doc/libxslt-1.1.34/html/html/libxslt-namespaces.html: 9f9397c7bb231cf0f99fe99457c5f8d8
+share/doc/libxslt-1.1.34/html/html/libxslt-numbersInternals.html: 69c3debdded54f0ea07690e3b6a59fbb
+share/doc/libxslt-1.1.34/html/html/libxslt-pattern.html: 908ed0ae7ca6e3e805c682a0191a0d38
+share/doc/libxslt-1.1.34/html/html/libxslt-preproc.html: 3afc35f88d6394abb5344420696d560d
+share/doc/libxslt-1.1.34/html/html/libxslt-security.html: e2aa152b3b51ba0e836f70e5ffb07086
+share/doc/libxslt-1.1.34/html/html/libxslt-templates.html: a62b46da774c809cca2108b24ca7683c
+share/doc/libxslt-1.1.34/html/html/libxslt-transform.html: d5dd4737d05b79fecb4641cb9d862ce4
+share/doc/libxslt-1.1.34/html/html/libxslt-variables.html: e8af85513e6e615ac9baa687cc76da78
+share/doc/libxslt-1.1.34/html/html/libxslt-xslt.html: efc4daad4e8a928c3d4a6ed699411af1
+share/doc/libxslt-1.1.34/html/html/libxslt-xsltInternals.html: bdeaba0346b5eeb0fe469eb6b5e5fe8a
+share/doc/libxslt-1.1.34/html/html/libxslt-xsltexports.html: 94a5ea4215bd82f9282919092f4abcf6
+share/doc/libxslt-1.1.34/html/html/libxslt-xsltlocale.html: f4416a46860870961418ef64d4fc191a
+share/doc/libxslt-1.1.34/html/html/libxslt-xsltutils.html: 37364ec86deb0b6d41a65f012fccdbb5
+share/doc/libxslt-1.1.34/html/html/right.png: ebd7e6d206d73850d77d305ab548f957
+share/doc/libxslt-1.1.34/html/html/up.png: 2f07d9272deb4ae870ca6821117877fa
+share/doc/libxslt-1.1.34/html/index.html: 28ef54704508981bac11ae159e5a1bdb
+share/doc/libxslt-1.1.34/html/internals.html: f009fed1b132f80788bfcc8e6ff735f9
+share/doc/libxslt-1.1.34/html/intro.html: ca05691aa5682537e9e4d1c62f9e7a6a
+share/doc/libxslt-1.1.34/html/news.html: c911411e4f3c62463442db3471622e47
+share/doc/libxslt-1.1.34/html/node.gif: e0b48d09fa64e4a64831c42c4f9e6331
+share/doc/libxslt-1.1.34/html/object.gif: 879905dbfdc584f7a8543b7804cc3ff4
+share/doc/libxslt-1.1.34/html/processing.gif: e6924e110962e92a04d6d3f1f1196b31
+share/doc/libxslt-1.1.34/html/python.html: b96f9c0b03998d5eab3d0becdda47f8c
+share/doc/libxslt-1.1.34/html/redhat.gif: dd0216f442bf6845c103aba1b4bcb869
+share/doc/libxslt-1.1.34/html/smallfootonly.gif: e92b022a99a76d6fceeb35576bb7718f
+share/doc/libxslt-1.1.34/html/stylesheet.gif: 15a7ac6844ef2b2a7f601ed6cb6cb277
+share/doc/libxslt-1.1.34/html/templates.gif: e1ac04018d8f602adbd28a72153f9956
+share/doc/libxslt-1.1.34/html/tutorial/libxslt_tutorial.c: 0c3d2acbfb0be23b984c695600170d16
+share/doc/libxslt-1.1.34/html/tutorial/libxslttutorial.html: ee8ec694b4a88c4b6503f5301c998ecd
+share/doc/libxslt-1.1.34/html/tutorial/libxslttutorial.xml: 7f3bb19c2dcc54c5f76e953a65dbd339
+share/doc/libxslt-1.1.34/html/tutorial2/libxslt_pipes.c: 01a91d21b5e9a1e2259752d5325feaf0
+share/doc/libxslt-1.1.34/html/tutorial2/libxslt_pipes.html: ac0dc678b3ab0da56681555c51e6fa64
+share/doc/libxslt-1.1.34/html/tutorial2/libxslt_pipes.xml: 0c0faafe5595b19ebe09f6110fe3a7fd
+share/doc/libxslt-1.1.34/html/xslt.html: 1deceec55c7f85078216bf23dde147d9
+share/doc/libxslt-1.1.34/html/xsltproc.html: fa713b8a3fd6b30a19319a821d7bb238
+share/doc/libxslt-1.1.34/html/xsltproc2.html: 860eef94cf4ea84717452da3b6b0019e
+share/man/man1/xsltproc.1: d8ec831afeed91a84b8b7fc32cb73a4e
+share/man/man3/libexslt.3: c7089bab11720e9c9c17962a68c528ff
+share/man/man3/libxslt.3: e4962632ed2590adad3621054417bd2a
diff --git a/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.34/qtproject/stable/package/b06e2211adc32e230f2d9e729d1dcad2648782e8/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.34/qtproject/stable/package/b06e2211adc32e230f2d9e729d1dcad2648782e8/conanmanifest.txt
new file mode 100644
index 00000000..bd393d41
--- /dev/null
+++ b/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.34/qtproject/stable/package/b06e2211adc32e230f2d9e729d1dcad2648782e8/conanmanifest.txt
@@ -0,0 +1,130 @@
+1582271938
+bin/libexslt-0.dll: 1561e984c203d94cdfcf78235ecfe43a
+bin/libxslt-1.dll: 0174f89e8ec9e26aee9e665e686214b9
+bin/xslt-config: 6e477e88682bb878d649b48d48de3b3d
+bin/xsltproc.exe: 3cd6a8754d4e21dec52c8dab720cfcf3
+conaninfo.txt: fb9e8ed7e2ab80afd38743a228fd5ac9
+include/libexslt/exslt.h: f01af3bf058520059ba6d50f42133717
+include/libexslt/exsltconfig.h: eb4297a735f2666c5872067c25f16005
+include/libexslt/exsltexports.h: 03a75a174bc5b056f014e592cfd4db36
+include/libxslt/attributes.h: 32e43c08f66b85266c391301d322a21f
+include/libxslt/documents.h: 22a35bd1102fd1ac301e50cf650a8b8a
+include/libxslt/extensions.h: 0396b6be07f707b0c6ee171a63b2e520
+include/libxslt/extra.h: 94fe9ce1c0c47724aae4a1bcb8c29433
+include/libxslt/functions.h: 052fd28e9971416b2bbebdc3d1103c4e
+include/libxslt/imports.h: 66e26ad969e3c37fdeedcbc2716d7cf3
+include/libxslt/keys.h: 77a11ee3de841d02d3461b829cfcc11e
+include/libxslt/namespaces.h: c784b4b8e80274491fe023ce26d4847b
+include/libxslt/numbersInternals.h: 27c2c21ab1535f84710fe1c8c8829018
+include/libxslt/pattern.h: adf6b78e6c68a7d34ae680f6dc3f5240
+include/libxslt/preproc.h: 829de337aca8b15f699708e6b7340549
+include/libxslt/security.h: 1b24b61ea6afe01d18c647c94b1245c7
+include/libxslt/templates.h: 6901f4c8fad239b588b9f6d4cdfef5ac
+include/libxslt/transform.h: ccbcce4553f3231003b1944002814246
+include/libxslt/variables.h: ebd9b3b1f996c4a2ed79d4473ff0fd77
+include/libxslt/xslt.h: 0c08b8e7223b72f822a58457520b6387
+include/libxslt/xsltInternals.h: 0c245b0fcc81bf537632a45adf8fcffb
+include/libxslt/xsltconfig.h: e23457bb8ef22a6dc617d413679d59ca
+include/libxslt/xsltexports.h: 751f95448e71222d8e10d31ebf8822df
+include/libxslt/xsltlocale.h: d7b200e408cefe5082b15d3a5e1bf600
+include/libxslt/xsltutils.h: 5f7848088182b183e6d1fdb335b2616a
+lib/libexslt.dll.a: 3fee05595887faea3d7022483bf8ab9d
+lib/libexslt.la: 1ea05e967d865f7ac83d66aeef3f9740
+lib/libxslt.dll.a: b42e5789521163430675d263374e745e
+lib/pkgconfig/libexslt.pc: 40e4bf2205e0bcc91529683218d7b53a
+lib/pkgconfig/libxslt.pc: 296b763342f742c10accc1cd9b08dd08
+lib/xsltConf.sh: dab0389225bc7e3b47e502c8a6496ff0
+licenses/COPYING: 0cd9a07afbeb24026c9b03aecfeba458
+share/aclocal/libxslt.m4: 7b0b8b6bd86eea30c617663c9e9439b3
+share/doc/libxslt-1.1.34/html/API.html: 205e063f09d60a36b44a61c6b7af0af9
+share/doc/libxslt-1.1.34/html/APIchunk0.html: 393346f160807a1dda5fb31574ee1457
+share/doc/libxslt-1.1.34/html/APIchunk1.html: bc91cf0e6e08b6df806ca76efb1bf6f1
+share/doc/libxslt-1.1.34/html/APIchunk10.html: b2989e9c9c581006aecf89fe5360adbd
+share/doc/libxslt-1.1.34/html/APIchunk11.html: 3d13e19d8f480f37025f27d708c05fab
+share/doc/libxslt-1.1.34/html/APIchunk12.html: 1257ecf31f3ce181cac700a9b1674484
+share/doc/libxslt-1.1.34/html/APIchunk2.html: 017db5ec517e094b99eeea4b7f494348
+share/doc/libxslt-1.1.34/html/APIchunk3.html: 951071214af1942ef8d12c8d6e87f2a3
+share/doc/libxslt-1.1.34/html/APIchunk4.html: 035ac12ab5d1974ebf1a029ac1dee309
+share/doc/libxslt-1.1.34/html/APIchunk5.html: 1e751df6345f2e6ae2f80d01ea4699b9
+share/doc/libxslt-1.1.34/html/APIchunk6.html: 3748fd39dfb4dc99453e0287548d42ca
+share/doc/libxslt-1.1.34/html/APIchunk7.html: bb08a461eb51ca86034d7898eaa9779c
+share/doc/libxslt-1.1.34/html/APIchunk8.html: 80b83f24130a9adc03151245c71be0b4
+share/doc/libxslt-1.1.34/html/APIchunk9.html: a45286d30316b24772a148d9ab3b107e
+share/doc/libxslt-1.1.34/html/APIconstructors.html: bbacba9196901ab4df80744ded578d38
+share/doc/libxslt-1.1.34/html/APIfiles.html: 2eab4f8035f681bd9e8428311ba452f5
+share/doc/libxslt-1.1.34/html/APIfunctions.html: 4ab0b09bfc13d94f19dc2e390c1f54c8
+share/doc/libxslt-1.1.34/html/APIsymbols.html: b1488e9773ab063203a9a9660e34c376
+share/doc/libxslt-1.1.34/html/EXSLT/APIchunk0.html: 7931b430411ef347e2080f39f7bbc6f7
+share/doc/libxslt-1.1.34/html/EXSLT/APIconstructors.html: 75b44d45225e2435c8cbccdb6aa617f0
+share/doc/libxslt-1.1.34/html/EXSLT/APIfiles.html: 8aafc65876afb28aff473f1502d067e8
+share/doc/libxslt-1.1.34/html/EXSLT/APIfunctions.html: a123fcaaa9396c834261eb0f734f65cf
+share/doc/libxslt-1.1.34/html/EXSLT/APIsymbols.html: 6669114987760e2853aff651b6c22377
+share/doc/libxslt-1.1.34/html/EXSLT/bugs.html: d7a0c23b923175a4055c311c219b3137
+share/doc/libxslt-1.1.34/html/EXSLT/docs.html: fc3defa0e87648748becf6092ec86487
+share/doc/libxslt-1.1.34/html/EXSLT/downloads.html: 1393428e523072adf4fcb9433fb71273
+share/doc/libxslt-1.1.34/html/EXSLT/exslt.html: b267dcf1f3e36874bbcb67db54447411
+share/doc/libxslt-1.1.34/html/EXSLT/help.html: c7e39df0856121711d7bb92a408ed320
+share/doc/libxslt-1.1.34/html/EXSLT/index.html: 64d9d65df45301a81c181d213ceef803
+share/doc/libxslt-1.1.34/html/EXSLT/intro.html: 52af4215ed80a6e36269ea879dbf23e3
+share/doc/libxslt-1.1.34/html/FAQ.html: 02feaf8ed528b4fffb1537866b1bd55f
+share/doc/libxslt-1.1.34/html/Libxslt-Logo-180x168.gif: e6f8bb7e4a5a426380d387adaedadad9
+share/doc/libxslt-1.1.34/html/Libxslt-Logo-90x34.gif: 6b3ac58ce6c3e622db3dbf83d127f1ac
+share/doc/libxslt-1.1.34/html/bugs.html: 59f370f68224527bd966172ad84720fd
+share/doc/libxslt-1.1.34/html/contexts.gif: 8d882ee509aaba54abf791a312fdb617
+share/doc/libxslt-1.1.34/html/contribs.html: 06426656757dfa9d63e2e25f7cc86496
+share/doc/libxslt-1.1.34/html/docbook.html: 9ca15cdd191b5acf369be447c4f27044
+share/doc/libxslt-1.1.34/html/docs.html: 9869f684c46bf9159de17319e94118a2
+share/doc/libxslt-1.1.34/html/downloads.html: d1088704f6d439cec1a0a1b6444d50ba
+share/doc/libxslt-1.1.34/html/extensions.html: bf062b7b72aeffcf356d06d7c859d46d
+share/doc/libxslt-1.1.34/html/help.html: 0230faa6b8697315ba13452f96d66192
+share/doc/libxslt-1.1.34/html/html/book1.html: 4ac64efce7a076016eee8b91c65f19d4
+share/doc/libxslt-1.1.34/html/html/home.png: f6192f4292d744423df690e785d60fdf
+share/doc/libxslt-1.1.34/html/html/index.html: 4ac64efce7a076016eee8b91c65f19d4
+share/doc/libxslt-1.1.34/html/html/left.png: f771308152ab24a69682daed70ce136d
+share/doc/libxslt-1.1.34/html/html/libxslt-attributes.html: a2dc8fa8e1482a6614e2febd235e9b72
+share/doc/libxslt-1.1.34/html/html/libxslt-documents.html: ff5544c5c06db000e21cffc45496e0e3
+share/doc/libxslt-1.1.34/html/html/libxslt-extensions.html: bcda217cdad6c77d228e6540474e510f
+share/doc/libxslt-1.1.34/html/html/libxslt-extra.html: 49d72e4b1f453b324c9d73ddbabbccd6
+share/doc/libxslt-1.1.34/html/html/libxslt-functions.html: 30a16899d9a4aff2819a25301dcfa599
+share/doc/libxslt-1.1.34/html/html/libxslt-imports.html: 496f606d9a344631b9bba167b4c9f14d
+share/doc/libxslt-1.1.34/html/html/libxslt-keys.html: 92ed5acbac225c7cb4ace6ff02d41e69
+share/doc/libxslt-1.1.34/html/html/libxslt-lib.html: 4ac64efce7a076016eee8b91c65f19d4
+share/doc/libxslt-1.1.34/html/html/libxslt-namespaces.html: 9f9397c7bb231cf0f99fe99457c5f8d8
+share/doc/libxslt-1.1.34/html/html/libxslt-numbersInternals.html: 69c3debdded54f0ea07690e3b6a59fbb
+share/doc/libxslt-1.1.34/html/html/libxslt-pattern.html: 908ed0ae7ca6e3e805c682a0191a0d38
+share/doc/libxslt-1.1.34/html/html/libxslt-preproc.html: 3afc35f88d6394abb5344420696d560d
+share/doc/libxslt-1.1.34/html/html/libxslt-security.html: e2aa152b3b51ba0e836f70e5ffb07086
+share/doc/libxslt-1.1.34/html/html/libxslt-templates.html: a62b46da774c809cca2108b24ca7683c
+share/doc/libxslt-1.1.34/html/html/libxslt-transform.html: d5dd4737d05b79fecb4641cb9d862ce4
+share/doc/libxslt-1.1.34/html/html/libxslt-variables.html: e8af85513e6e615ac9baa687cc76da78
+share/doc/libxslt-1.1.34/html/html/libxslt-xslt.html: efc4daad4e8a928c3d4a6ed699411af1
+share/doc/libxslt-1.1.34/html/html/libxslt-xsltInternals.html: bdeaba0346b5eeb0fe469eb6b5e5fe8a
+share/doc/libxslt-1.1.34/html/html/libxslt-xsltexports.html: 94a5ea4215bd82f9282919092f4abcf6
+share/doc/libxslt-1.1.34/html/html/libxslt-xsltlocale.html: f4416a46860870961418ef64d4fc191a
+share/doc/libxslt-1.1.34/html/html/libxslt-xsltutils.html: 37364ec86deb0b6d41a65f012fccdbb5
+share/doc/libxslt-1.1.34/html/html/right.png: ebd7e6d206d73850d77d305ab548f957
+share/doc/libxslt-1.1.34/html/html/up.png: 2f07d9272deb4ae870ca6821117877fa
+share/doc/libxslt-1.1.34/html/index.html: 28ef54704508981bac11ae159e5a1bdb
+share/doc/libxslt-1.1.34/html/internals.html: f009fed1b132f80788bfcc8e6ff735f9
+share/doc/libxslt-1.1.34/html/intro.html: ca05691aa5682537e9e4d1c62f9e7a6a
+share/doc/libxslt-1.1.34/html/news.html: c911411e4f3c62463442db3471622e47
+share/doc/libxslt-1.1.34/html/node.gif: e0b48d09fa64e4a64831c42c4f9e6331
+share/doc/libxslt-1.1.34/html/object.gif: 879905dbfdc584f7a8543b7804cc3ff4
+share/doc/libxslt-1.1.34/html/processing.gif: e6924e110962e92a04d6d3f1f1196b31
+share/doc/libxslt-1.1.34/html/python.html: b96f9c0b03998d5eab3d0becdda47f8c
+share/doc/libxslt-1.1.34/html/redhat.gif: dd0216f442bf6845c103aba1b4bcb869
+share/doc/libxslt-1.1.34/html/smallfootonly.gif: e92b022a99a76d6fceeb35576bb7718f
+share/doc/libxslt-1.1.34/html/stylesheet.gif: 15a7ac6844ef2b2a7f601ed6cb6cb277
+share/doc/libxslt-1.1.34/html/templates.gif: e1ac04018d8f602adbd28a72153f9956
+share/doc/libxslt-1.1.34/html/tutorial/libxslt_tutorial.c: 0c3d2acbfb0be23b984c695600170d16
+share/doc/libxslt-1.1.34/html/tutorial/libxslttutorial.html: ee8ec694b4a88c4b6503f5301c998ecd
+share/doc/libxslt-1.1.34/html/tutorial/libxslttutorial.xml: 7f3bb19c2dcc54c5f76e953a65dbd339
+share/doc/libxslt-1.1.34/html/tutorial2/libxslt_pipes.c: 01a91d21b5e9a1e2259752d5325feaf0
+share/doc/libxslt-1.1.34/html/tutorial2/libxslt_pipes.html: ac0dc678b3ab0da56681555c51e6fa64
+share/doc/libxslt-1.1.34/html/tutorial2/libxslt_pipes.xml: 0c0faafe5595b19ebe09f6110fe3a7fd
+share/doc/libxslt-1.1.34/html/xslt.html: 1deceec55c7f85078216bf23dde147d9
+share/doc/libxslt-1.1.34/html/xsltproc.html: fa713b8a3fd6b30a19319a821d7bb238
+share/doc/libxslt-1.1.34/html/xsltproc2.html: 860eef94cf4ea84717452da3b6b0019e
+share/man/man1/xsltproc.1: d8ec831afeed91a84b8b7fc32cb73a4e
+share/man/man3/libexslt.3: c7089bab11720e9c9c17962a68c528ff
+share/man/man3/libxslt.3: e4962632ed2590adad3621054417bd2a
diff --git a/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.34/qtproject/stable/package/d9686cd1257700d08189681d9907564e4a9147cb/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.34/qtproject/stable/package/d9686cd1257700d08189681d9907564e4a9147cb/conanmanifest.txt
new file mode 100644
index 00000000..8422de36
--- /dev/null
+++ b/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.34/qtproject/stable/package/d9686cd1257700d08189681d9907564e4a9147cb/conanmanifest.txt
@@ -0,0 +1,37 @@
+1582271394
+bin/libexslt.dll: 1a591c14ad6a05a2fe4a20cf40573e75
+bin/libxslt.dll: 051a19fc29aff43011488ea49d2cf353
+bin/xsltproc.exe: 1105ea2e3f79fdd698feb5fa8858e01e
+conaninfo.txt: f5d7a59989b8119bea8988657e0ba42c
+include/libexslt/exslt.h: f01af3bf058520059ba6d50f42133717
+include/libexslt/exsltconfig.h: a0afe6a6e6db6ad4dc8bf86d0364f188
+include/libexslt/exsltexports.h: 03a75a174bc5b056f014e592cfd4db36
+include/libexslt/libexslt.h: 4564d6e70f8ce16e36c0bde5969fdab5
+include/libxslt/attributes.h: 32e43c08f66b85266c391301d322a21f
+include/libxslt/documents.h: 22a35bd1102fd1ac301e50cf650a8b8a
+include/libxslt/extensions.h: 0396b6be07f707b0c6ee171a63b2e520
+include/libxslt/extra.h: 94fe9ce1c0c47724aae4a1bcb8c29433
+include/libxslt/functions.h: 052fd28e9971416b2bbebdc3d1103c4e
+include/libxslt/imports.h: 66e26ad969e3c37fdeedcbc2716d7cf3
+include/libxslt/keys.h: 77a11ee3de841d02d3461b829cfcc11e
+include/libxslt/libxslt.h: b84034c942ffa214709b590b29131637
+include/libxslt/namespaces.h: c784b4b8e80274491fe023ce26d4847b
+include/libxslt/numbersInternals.h: 27c2c21ab1535f84710fe1c8c8829018
+include/libxslt/pattern.h: adf6b78e6c68a7d34ae680f6dc3f5240
+include/libxslt/preproc.h: 829de337aca8b15f699708e6b7340549
+include/libxslt/security.h: 1b24b61ea6afe01d18c647c94b1245c7
+include/libxslt/templates.h: 6901f4c8fad239b588b9f6d4cdfef5ac
+include/libxslt/transform.h: ccbcce4553f3231003b1944002814246
+include/libxslt/trio.h: 7da7b1fcf378330699c7ecdd96908641
+include/libxslt/triodef.h: e41149b088de4a04c067c85969f4db3c
+include/libxslt/variables.h: ebd9b3b1f996c4a2ed79d4473ff0fd77
+include/libxslt/win32config.h: c64153b1a2c8bba1a8aa600741f04690
+include/libxslt/xslt.h: 0c08b8e7223b72f822a58457520b6387
+include/libxslt/xsltInternals.h: 0c245b0fcc81bf537632a45adf8fcffb
+include/libxslt/xsltconfig.h: 5a24e58adcdbe603c43a8f044ba5f763
+include/libxslt/xsltexports.h: 751f95448e71222d8e10d31ebf8822df
+include/libxslt/xsltlocale.h: d7b200e408cefe5082b15d3a5e1bf600
+include/libxslt/xsltutils.h: 5f7848088182b183e6d1fdb335b2616a
+lib/libexslt.lib: b10239833b6a5f4f489202cb8b2256bd
+lib/libxslt.lib: 0fcb41267f05f802050235fa09e0688f
+licenses/COPYING: 0cd9a07afbeb24026c9b03aecfeba458
diff --git a/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.34/qtproject/stable/package/f8cbe39e2f6584ea05b56c1f3dd9b0a99f522727/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.34/qtproject/stable/package/f8cbe39e2f6584ea05b56c1f3dd9b0a99f522727/conanmanifest.txt
new file mode 100644
index 00000000..bde173da
--- /dev/null
+++ b/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.34/qtproject/stable/package/f8cbe39e2f6584ea05b56c1f3dd9b0a99f522727/conanmanifest.txt
@@ -0,0 +1,37 @@
+1582270972
+bin/libexslt.dll: 6b7c76739d8c733ed320960c846691f9
+bin/libxslt.dll: 86136a3af24b1959ec96b09b1a1a92b8
+bin/xsltproc.exe: 4d2ab196d60209ce656167cb805c78d4
+conaninfo.txt: 1b228d4732e22d46c6bbbcd97ec4884d
+include/libexslt/exslt.h: f01af3bf058520059ba6d50f42133717
+include/libexslt/exsltconfig.h: a0afe6a6e6db6ad4dc8bf86d0364f188
+include/libexslt/exsltexports.h: 03a75a174bc5b056f014e592cfd4db36
+include/libexslt/libexslt.h: 4564d6e70f8ce16e36c0bde5969fdab5
+include/libxslt/attributes.h: 32e43c08f66b85266c391301d322a21f
+include/libxslt/documents.h: 22a35bd1102fd1ac301e50cf650a8b8a
+include/libxslt/extensions.h: 0396b6be07f707b0c6ee171a63b2e520
+include/libxslt/extra.h: 94fe9ce1c0c47724aae4a1bcb8c29433
+include/libxslt/functions.h: 052fd28e9971416b2bbebdc3d1103c4e
+include/libxslt/imports.h: 66e26ad969e3c37fdeedcbc2716d7cf3
+include/libxslt/keys.h: 77a11ee3de841d02d3461b829cfcc11e
+include/libxslt/libxslt.h: b84034c942ffa214709b590b29131637
+include/libxslt/namespaces.h: c784b4b8e80274491fe023ce26d4847b
+include/libxslt/numbersInternals.h: 27c2c21ab1535f84710fe1c8c8829018
+include/libxslt/pattern.h: adf6b78e6c68a7d34ae680f6dc3f5240
+include/libxslt/preproc.h: 829de337aca8b15f699708e6b7340549
+include/libxslt/security.h: 1b24b61ea6afe01d18c647c94b1245c7
+include/libxslt/templates.h: 6901f4c8fad239b588b9f6d4cdfef5ac
+include/libxslt/transform.h: ccbcce4553f3231003b1944002814246
+include/libxslt/trio.h: 7da7b1fcf378330699c7ecdd96908641
+include/libxslt/triodef.h: e41149b088de4a04c067c85969f4db3c
+include/libxslt/variables.h: ebd9b3b1f996c4a2ed79d4473ff0fd77
+include/libxslt/win32config.h: c64153b1a2c8bba1a8aa600741f04690
+include/libxslt/xslt.h: 0c08b8e7223b72f822a58457520b6387
+include/libxslt/xsltInternals.h: 0c245b0fcc81bf537632a45adf8fcffb
+include/libxslt/xsltconfig.h: 5a24e58adcdbe603c43a8f044ba5f763
+include/libxslt/xsltexports.h: 751f95448e71222d8e10d31ebf8822df
+include/libxslt/xsltlocale.h: d7b200e408cefe5082b15d3a5e1bf600
+include/libxslt/xsltutils.h: 5f7848088182b183e6d1fdb335b2616a
+lib/libexslt.lib: 84550d24382766924a35e8f94b129f9f
+lib/libxslt.lib: 00cd024fbaffc4c4d8c2925a2d968b7c
+licenses/COPYING: 0cd9a07afbeb24026c9b03aecfeba458
diff --git a/coin/provisioning/common/windows/conan_manifests/zlib/1.2.11/qtproject/stable/export/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/zlib/1.2.11/qtproject/stable/export/conanmanifest.txt
index 6b51b7b6..dc3fe965 100644
--- a/coin/provisioning/common/windows/conan_manifests/zlib/1.2.11/qtproject/stable/export/conanmanifest.txt
+++ b/coin/provisioning/common/windows/conan_manifests/zlib/1.2.11/qtproject/stable/export/conanmanifest.txt
@@ -1,4 +1,4 @@
-1563296424
+1582277614
FindZLIB.cmake: 0ec128c2f97a3a6d7e800d3204e5c94f
LICENSE: 1ac8330e79e050867144e174d80880f7
conanfile.py: c7aba1a732c28bb9851cb50acf3f7a4d
diff --git a/coin/provisioning/common/windows/conan_manifests/zlib/1.2.11/qtproject/stable/package/5a14faea650589a68f33a6a5b0207a4a852a5f1d/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/zlib/1.2.11/qtproject/stable/package/5a14faea650589a68f33a6a5b0207a4a852a5f1d/conanmanifest.txt
index 45447d86..239d5b82 100644
--- a/coin/provisioning/common/windows/conan_manifests/zlib/1.2.11/qtproject/stable/package/5a14faea650589a68f33a6a5b0207a4a852a5f1d/conanmanifest.txt
+++ b/coin/provisioning/common/windows/conan_manifests/zlib/1.2.11/qtproject/stable/package/5a14faea650589a68f33a6a5b0207a4a852a5f1d/conanmanifest.txt
@@ -1,9 +1,9 @@
-1563296480
+1582279989
FindZLIB.cmake: 0ec128c2f97a3a6d7e800d3204e5c94f
conaninfo.txt: 40e76e93e86476bbd92e1e82b71d04bb
include/zconf.h: 931d0dd891d90ace1eab7a46125a8bda
include/zlib.h: 0338828e9d00c94645648b1517108324
-lib/libzlib.a: 5dc51a25ecef8f9c97e6b67cec736634
+lib/libzlib.a: 7e55bbef492eceaf8101e433e2a46720
lib/pkgconfig/zlib.pc: 29adeed07108745c3562dc19343f3d99
licenses/LICENSE: 1af2e5353c16e930435fff550f827c3e
zlib.pc: 29adeed07108745c3562dc19343f3d99
diff --git a/coin/provisioning/common/windows/conan_requirements.txt b/coin/provisioning/common/windows/conan_requirements.txt
new file mode 100644
index 00000000..7097de1e
--- /dev/null
+++ b/coin/provisioning/common/windows/conan_requirements.txt
@@ -0,0 +1,33 @@
+# Generated for conan==1.22.2
+appdirs==1.4.3
+bottle==0.12.18
+certifi==2019.11.28
+chardet==3.0.4
+colorama==0.4.3
+conan==1.22.2
+deprecation==2.0.7
+distlib==0.3.0
+distro==1.1.0
+fasteners==0.15
+filelock==3.0.12
+future==0.18.2
+idna==2.9
+importlib-metadata==1.5.0
+Jinja2==2.11.1
+MarkupSafe==1.1.1
+monotonic==1.5
+node-semver==0.6.1
+packaging==20.1
+patch-ng==1.17.2
+pluginbase==0.7
+Pygments==2.5.2
+PyJWT==1.7.1
+pyparsing==2.4.6
+python-dateutil==2.8.1
+PyYAML==5.3
+requests==2.23.0
+six==1.14.0
+tqdm==4.43.0
+urllib3==1.25.8
+virtualenv==20.0.4
+zipp==2.2.0
diff --git a/coin/provisioning/common/windows/disable-clean-manager.ps1 b/coin/provisioning/common/windows/disable-clean-manager.ps1
new file mode 100644
index 00000000..6d54e137
--- /dev/null
+++ b/coin/provisioning/common/windows/disable-clean-manager.ps1
@@ -0,0 +1,8 @@
+# This script will disable automatic disk cleanup
+
+. "$PSScriptRoot\helpers.ps1"
+
+Run-Executable "reg.exe" "ADD `"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy`" /V 04 /T REG_dWORD /D 0 /F"
+
+# Maintenance task used by the system to launch a silent auto disk cleanup when running low on free disk space.
+DisableSchedulerTask "DiskCleanup\SilentCleanup"
diff --git a/coin/provisioning/common/windows/disable-windefender.ps1 b/coin/provisioning/common/windows/disable-windefender.ps1
index e508641e..02ed54da 100644
--- a/coin/provisioning/common/windows/disable-windefender.ps1
+++ b/coin/provisioning/common/windows/disable-windefender.ps1
@@ -1,3 +1,36 @@
+###########################################################################
+##
+## Copyright (C) 2019 The Qt Company Ltd.
+## Contact: http://www.qt.io/licensing/
+##
+## This file is part of the provisioning scripts of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL21$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see http://www.qt.io/terms-conditions. For further
+## information use the contact form at http://www.qt.io/contact-us.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 2.1 or version 3 as published by the Free
+## Software Foundation and appearing in the file LICENSE.LGPLv21 and
+## LICENSE.LGPLv3 included in the packaging of this file. Please review the
+## following information to ensure the GNU Lesser General Public License
+## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## As a special exception, The Qt Company gives you certain additional
+## rights. These rights are described in The Qt Company LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
# Turning off win defender.
#
# If disabled manually, windows will automatically enable it after
@@ -6,3 +39,21 @@
. "$PSScriptRoot\helpers.ps1"
Run-Executable "reg.exe" "ADD `"HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender`" /V DisableAntiSpyware /T REG_dWORD /D 1 /F"
+
+# 'Windows Defender Cache Maintenance' - "Periodic maintenance task."
+DisableSchedulerTask "Windows Defender\Windows Defender Cache Maintenance"
+
+# 'Windows Defender Cleanup' - "Periodic cleanup task."
+DisableSchedulerTask "Windows Defender\Windows Defender Cleanup"
+
+# 'Windows Defender Scheduled Scan' - "Periodic scan task."
+DisableSchedulerTask "Windows Defender\Windows Defender Scheduled Scan"
+
+# 'Windows Defender Verification' - "Periodic verification task."
+DisableSchedulerTask "Windows Defender\Windows Defender Verification"
+
+# Disable 'QueueReporting' - "Windows Error Reporting task to process queued reports."
+DisableSchedulerTask "Windows Error Reporting\QueueReporting"
+
+# Disable WindowsUpdate from Task Scheduler
+DisableSchedulerTask "WindowsUpdate\Scheduled Start"
diff --git a/coin/provisioning/common/windows/disable-windows-module-installer.ps1 b/coin/provisioning/common/windows/disable-windows-module-installer.ps1
new file mode 100644
index 00000000..c7f85ff7
--- /dev/null
+++ b/coin/provisioning/common/windows/disable-windows-module-installer.ps1
@@ -0,0 +1,4 @@
+# Disable Windows Module Installer (Trusted Installer).
+# Trusted Installe enables installation, modification, and removal of Windows updates and optional components.
+# If this service is disabled, install or uninstall of Windows updates might fail for this computer.
+sc.exe config TrustedInstaller start=disabled
diff --git a/coin/provisioning/common/windows/emsdk.ps1 b/coin/provisioning/common/windows/emsdk.ps1
index 2ce2754f..b3375d07 100755
--- a/coin/provisioning/common/windows/emsdk.ps1
+++ b/coin/provisioning/common/windows/emsdk.ps1
@@ -35,33 +35,38 @@
# This script will install emscripten needed by WebAssembly
-$version = "1.38.27"
-$versionNode = "8.9.1"
-$versionWinPython = "2.7.13"
+$version = "1.39.8"
+$versionNode = "12.9.1"
+$versionWinPython = "3.7.4"
$versionJre = "8_update_152"
-$urlOfficialMozilla = "https://s3.amazonaws.com/mozilla-games/emscripten/packages"
+$urlEmscripten = "https://storage.googleapis.com/webassembly/emscripten-releases-builds"
+
+# cross-platform emscripten SDK
+$urlEmscriptenExternal="https://github.com/emscripten-core/emscripten/archive/$version.zip"
$urlCache = "http://ci-files01-hki.intra.qt.io/input/emsdk"
-$urlOfficialEmscriptenLlvm = "$urlOfficialMozilla/llvm/tag/win_64bit/emscripten-llvm-e$version.zip"
-$urlCacheEmscriptenLlvm = "$urlCache/windows/emscripten-llvm-e$version.zip"
-$sha1EmscriptenLlvm = "1cd950feec50f1f3265f04ab01fb270250eb4232"
+$urlEmscriptenCache="$urlCache/emscripten.$version.zip"
+
+$urlWasmBinariesExternal="$urlEmscripten/win/9e60f34accb4627d7358223862a7e74291886ab6/wasm-binaries.zip"
+$urlWasmBinariesCache="$urlCache\windows\wasm-binaries.$version.zip"
+$sha1WasmBinaries="E94DCA7BA0526F88EDDBE45A0A0F61778D173603"
-$urlOfficialNode = "$urlOfficialMozilla/node-v$versionNode-win-x64.zip"
+$urlOfficialNode = "$urlEmscripten/deps/node-v$versionNode-win-x64.zip"
$urlCacheNode = "$urlCache/windows/node-v$versionNode-win-x64.zip"
-$sha1Node = "249c840f7b953e4cb7ac9db89aa92a98daa1dc63"
+$sha1Node = "D064145694578D6617AA99C694772D21480B6B6D"
-$urlOfficialWinPython = "$urlOfficialMozilla/WinPython-64bit-$versionWinPython.1Zero.zip"
-$urlCacheWinPython = "$urlCache/windows/WinPython-64bit-$versionWinPython.1Zero.zip"
-$sha1WinPython = "7e5a021878e0165ba0603e995b013e244d6e10cb"
+$urlOfficialWinPython = "$urlEmscripten/deps/python-$versionWinPython-embed-amd64-patched.zip"
+$urlCacheWinPython = "$urlCache/windows/python-$versionWinPython-embed-amd64-patched.zip"
+$sha1WinPython = "27C5A465390167FC03F3DD9075E3FDAAD9FBE104"
-$urlOfficialProtableJre = "$urlOfficialMozilla/portable_jre_${versionJre}_64bit.zip"
+$urlOfficialProtableJre = "$urlEmscripten/deps/portable_jre_${versionJre}_64bit.zip"
$urlCacheProtableJre = "$urlCache/windows/portable_jre_${versionJre}_64bit.zip"
$sha1ProtableJre = "6830524ec8b16742f956897abb6b6f5ef890a1c2"
$urlOfficialEmscripten = "https://github.com/kripken/emscripten/archive/$version.zip"
$urlCacheEmscripten = "$urlCache/windows/emscripten-$version.zip"
-$sha1Emscripten = "22d78a0af48b50271ab183fd3d8ea2f9ba311ee7"
+$sha1Emscripten = "3721DC133824BA59CDBDFC93704D47CE265F2AFE"
$installLocationEmsdk = "C:\\Utils\\emsdk"
$temp = "C:\Windows\Temp"
@@ -84,35 +89,33 @@ function Install {
New-Item -ItemType directory -Force -Path "$installLocationEmsdk"
-Install $urlOfficialEmscriptenLlvm $urlCacheEmscriptenLlvm $sha1EmscriptenLlvm "$temp\emscripten-llvm-e$version.zip" "$installLocationEmsdk\emscripten-llvm-e$version"
+Install $urlWasmBinariesExternal $urlWasmBinariesCache $sha1WasmBinaries "$temp\wasm-binaries.$version.zip" "$installLocationEmsdk\emscripten-llvm-e$version"
Install $urlOfficialNode $urlCacheNode $sha1Node "$temp\node-v$versionNode-win-x64.zip" "$installLocationEmsdk"
-Install $urlOfficialWinPython $urlCacheWinPython $sha1WinPython "$temp\WinPython-64bit-$versionWinPython.1Zero.zip" "$installLocationEmsdk"
+Install $urlOfficialWinPython $urlCacheWinPython $sha1WinPython "$temp\python-$versionWinPython-embed-amd64-patched.zip" "$installLocationEmsdk\python-$versionWinPython-embed-amd64-patched"
Install $urlOfficialProtableJre $urlCacheProtableJre $sha1ProtableJre "$temp\portable_jre_$versionJre_64bit.zip" "$installLocationEmsdk"
Install $urlOfficialEmscripten $urlCacheEmscripten $sha1Emscripten "$temp\emscripten-$version.zip" "$installLocationEmsdk"
cd $installLocationEmsdk
-"LLVM_ROOT='$installLocationEmsdk\\emscripten-llvm-e$version'" | Out-File '.emscripten' -Encoding ASCII
-"EMSCRIPTEN_NATIVE_OPTIMIZER='$installLocationEmsdk\\emscripten-llvm-e$version\\optimizer'" | Out-File '.emscripten' -Append -Encoding ASCII
-"BINARYEN_ROOT='$installLocationEmsdk\\emscripten-llvm-e$version\\binaryen'" | Out-File '.emscripten' -Append -Encoding ASCII
-"NODE_JS='$installLocationEmsdk\\node-v$versionNode-win-x64\\bin\\node'" | Out-File '.emscripten' -Append -Encoding ASCII
-"EMSCRIPTEN_ROOT='$installLocationEmsdk\emscripten-$version'" | Out-File '.emscripten' -Append -Encoding ASCII
-"SPIDERMONKEY_ENGINE = ''" | Out-File '.emscripten' -Append -Encoding ASCII
-"V8_ENGINE = ''" | Out-File '.emscripten' -Append -Encoding ASCII
+"LLVM_ROOT='$installLocationEmsdk\\emscripten-llvm-e$version\\install\\bin'" | Out-File '.emscripten' -Encoding ASCII
+"BINARYEN_ROOT='$installLocationEmsdk\\emscripten-llvm-e$version\\install'" | Out-File '.emscripten' -Append -Encoding ASCII
+"PYTHON='$installLocationEmsdk\\python-$versionWinPython-embed-amd64-patched\\python.exe'" | Out-File '.emscripten' -Append -Encoding ASCII
+"NODE_JS='$installLocationEmsdk\\node-v$versionNode-win-x64\\bin\\node.exe'" | Out-File '.emscripten' -Append -Encoding ASCII
+"EMSCRIPTEN_ROOT='$installLocationEmsdk\\emscripten-llvm-e$version\\install\\emscripten'" | Out-File '.emscripten' -Append -Encoding ASCII
+"JAVA='$installLocationEmsdk\\Java64'" | Out-File '.emscripten' -Append -Encoding ASCII
"TEMP_DIR = '/tmp'" | Out-File '.emscripten' -Append -Encoding ASCII
"COMPILER_ENGINE = NODE_JS" | Out-File '.emscripten' -Append -Encoding ASCII
"JS_ENGINES = [NODE_JS]" | Out-File '.emscripten' -Append -Encoding ASCII
Set-EnvironmentVariable "EMSDK" "$installLocationEmsdk"
Set-EnvironmentVariable "EM_CONFIG" "$installLocationEmsdk\.emscripten"
-Set-EnvironmentVariable "EMSDK_LLVM_ROOT" "$installLocationEmsdk\emscripten-llvm-e$version"
-Set-EnvironmentVariable "EMSCRIPTEN_NATIVE_OPTIMIZER" "$installLocationEmsdk\emscripten-llvm-e$version\optimizer.exe"
-Set-EnvironmentVariable "BINARYEN_ROOT" "$installLocationEmsdk\emscripten-llvm-e$version\binaryen"
+Set-EnvironmentVariable "EMSDK_LLVM_ROOT" "$installLocationEmsdk\emscripten-llvm-e$version\install\bin"
+Set-EnvironmentVariable "BINARYEN_ROOT" "$installLocationEmsdk\emscripten-llvm-e$version\install\"
Set-EnvironmentVariable "EMSDK_NODE" "$installLocationEmsdk\node$versionNode-win-x64\bin\node.exe"
-Set-EnvironmentVariable "EMSDK_PYTHON" "$installLocationEmsdk\WinPython-64bit-$versionWinPython.1Zero\python-$versionWinPython.amd64\python.exe"
+Set-EnvironmentVariable "EMSDK_PYTHON" "$installLocationEmsdk\python-$versionWinPython-embed-amd64-patched\python.exe"
Set-EnvironmentVariable "EMSDK_JAVA_HOME" "$installLocationEmsdk\java64"
Set-EnvironmentVariable "EMSCRIPTEN" "$installLocationEmsdk\emscripten-$version"
-Set-EnvironmentVariable "EMSCRIPTEN_ROOT" "$installLocationEmsdk\emscripten-$version"
-Set-EnvironmentVariable "EMSDK_PATH" "$installLocationEmsdk\emscripten-$version;$installLocationEmsdk;$installLocationEmsdk\node$versionNode-win-x64\bin;$installLocationEmsdk\emscripten-llvm-e$version;$installLocationEmsdk\WinPython-64bit-$versionWinPython.1Zero\python-$versionWinPython.amd64;$installLocationEmsdk\java64\bin"
+Set-EnvironmentVariable "EMSCRIPTEN_ROOT" "$installLocationEmsdk\emscripten-llvm-e$version\install\emscripten"
+Set-EnvironmentVariable "EMSDK_PATH" "$installLocationEmsdk\emscripten-llvm-e$version\install\emscripten;$installLocationEmsdk\node$versionNode-win-x64\bin;$installLocationEmsdk\emscripten-llvm-e$version\install\bin;$installLocationEmsdk\python-$versionWinPython-embed-amd64-patched;$installLocationEmsdk\java64\bin"
Write-Output "emsdk = $version" >> ~/versions.txt
Write-Output "emsdk llvm = $version" >> ~/versions.txt
diff --git a/coin/provisioning/common/windows/helpers.ps1 b/coin/provisioning/common/windows/helpers.ps1
index 100f14ae..8599791d 100644
--- a/coin/provisioning/common/windows/helpers.ps1
+++ b/coin/provisioning/common/windows/helpers.ps1
@@ -3,7 +3,7 @@ function Verify-Checksum
Param (
[string]$File=$(throw("You must specify a filename to get the checksum of.")),
[string]$Expected=$(throw("Checksum required")),
- [ValidateSet("sha1","md5")][string]$Algorithm="sha1"
+ [ValidateSet("sha256","sha1","md5")][string]$Algorithm="sha1"
)
Write-Host "Verifying checksum of $File"
$fs = new-object System.IO.FileStream $File, "Open"
@@ -254,3 +254,23 @@ function Remove {
}
}
}
+
+function DisableSchedulerTask {
+
+ Param (
+ [string]$Task = $(BadParam("a task"))
+ )
+
+ Write-Host "Disabling $Task from Task Scheduler"
+ SCHTASKS /Change /TN "Microsoft\Windows\$Task" /DISABLE
+}
+
+function DeleteSchedulerTask {
+
+ Param (
+ [string]$Task = $(BadParam("a task"))
+ )
+
+ Write-Host "Disabling $Task from Task Scheduler"
+ SCHTASKS /DELETE /TN "Microsoft\Windows\$Task" /F
+}
diff --git a/coin/provisioning/common/windows/install-gnuwin32.ps1 b/coin/provisioning/common/windows/install-gnuwin32.ps1
index 99862b3c..6acede79 100644
--- a/coin/provisioning/common/windows/install-gnuwin32.ps1
+++ b/coin/provisioning/common/windows/install-gnuwin32.ps1
@@ -44,3 +44,4 @@ Verify-Checksum "$temp\$zipPackage" "d7a34a385ccde2374b8a2ca3369e5b8a1452c5a5"
Extract-7Zip "$temp\$zipPackage" C:\Utils
Write-Output "$prog qt5 commit sha = 98c4f1bbebfb3cc6d8e031d36fd1da3c19e634fb" >> ~\versions.txt
+Prepend-Path "C:\Utils\gnuwin32\bin"
diff --git a/coin/provisioning/common/windows/install-jdk.ps1 b/coin/provisioning/common/windows/install-jdk.ps1
index 0c548e63..ce1abdd5 100644
--- a/coin/provisioning/common/windows/install-jdk.ps1
+++ b/coin/provisioning/common/windows/install-jdk.ps1
@@ -68,8 +68,7 @@ try {
Verify-Checksum $javaPackage $sha1
Run-Executable "$javaPackage" "/s SPONSORS=0"
-Write-Host "Cleaning $javaPackage.."
-Remove-Item -Recurse -Force -Path "$javaPackage"
+Remove "$javaPackage"
Write-Host "Remove Java update from startup"
reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Run" /v SunJavaUpdateSched /f
diff --git a/coin/provisioning/common/windows/install-msys2.ps1 b/coin/provisioning/common/windows/install-msys2.ps1
index 0c4a9680..784b09dc 100644
--- a/coin/provisioning/common/windows/install-msys2.ps1
+++ b/coin/provisioning/common/windows/install-msys2.ps1
@@ -1,6 +1,6 @@
############################################################################
##
-## Copyright (C) 2019 The Qt Company Ltd.
+## Copyright (C) 2020 The Qt Company Ltd.
## Contact: http://www.qt.io/licensing/
##
## This file is part of the provisioning scripts of the Qt Toolkit.
@@ -61,8 +61,16 @@ Extract-tar_gz $PackagePath $TargetLocation
$msys = "$TargetLocation\$folder\msys2_shell.cmd"
# install perl
-Run-Executable "$msys" "`"-l`" `"-c`" `"rm -rf /etc/pacman.d/gnupg;pacman-key --init;pacman-key --populate msys2;pacman -S --noconfirm perl make`""
-Run-Executable "$msys" "`"-l`" `"-c`" `"cpan -i Text::Template Test::More`""
+# Run these without 'Run-Executable' function. When using the function the gpg-agent will lock the needed tmp*.tmp file.
+cmd /c "$msys `"-l`" `"-c`" `"rm -rf /etc/pacman.d/gnupg;pacman-key --init;pacman-key --populate msys2;pacman -S --noconfirm perl make`""
+Start-Sleep -s 30
+cmd /c "$msys `"-l`" `"-c`" `"cpan -i Text::Template Test::More`""
+
+# Sometimes gpg-agent won't get killed after the installation process. If that happens the provisioning will won't continue and it will hang until timeout. So we need make sure it will be killed.
+# Let's sleep for awhile and wait that msys installation is finished. Otherwise the installation might start up gpg-agent or dirmngr after the script has passed the killing process.
+Start-Sleep -s 180
+if (Get-Process -Name "gpg-agent" -ErrorAction SilentlyContinue) { Stop-Process -Force -Name gpg-agent }
+if (Get-Process -Name "dirmngr" -ErrorAction SilentlyContinue) { Stop-Process -Force -Name dirmngr }
Write-Host "Cleaning $PackagePath.."
Remove-Item -Recurse -Force -Path "$PackagePath"
diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/25-postgresql.sh b/coin/provisioning/common/windows/install_telegraf.ps1
index 9f79c594..0a64cfd4 100755..100644
--- a/coin/provisioning/qtci-macos-10.12-x86_64/25-postgresql.sh
+++ b/coin/provisioning/common/windows/install_telegraf.ps1
@@ -1,8 +1,6 @@
-#!/usr/bin/env bash
-
#############################################################################
##
-## Copyright (C) 2017 The Qt Company Ltd.
+## Copyright (C) 2019 The Qt Company Ltd.
## Contact: http://www.qt.io/licensing/
##
## This file is part of the provisioning scripts of the Qt Toolkit.
@@ -33,25 +31,38 @@
##
#############################################################################
-# This script installs PostgreSQL
+. "$PSScriptRoot\..\..\common\windows\helpers.ps1"
+
+
+# Install a specific version of Telegraf
+# https://github.com/influxdata/telegraf/releases
+
+$version = "1.12.6"
+
+if (Is64BitWinHost) {
+ $arch = "amd64"
+ $sha256 = "5d025d85070e8c180c443580afa8a27421a7bbcf14b5044894e9f3298d0ce97a"
+} else {
+ $arch = "i386"
+ $sha256 = "5178a0bdaab448c2ef965b0e36f835849cea731ccd87c4a4527f0f05fbbdf271"
+}
-# PostgreSQL is needed for Qt to be able to support PostgreSQL
+$filename = "telegraf-" + $version + "_windows_" + $arch + ".zip"
-set -ex
+$url_cache = "http://ci-files01-hki.intra.qt.io/input/telegraf/" + $filename
+$url_official = "https://dl.influxdata.com/telegraf/releases/" + $filename
+$tempfile = "C:\Windows\Temp\" + $filename
-# shellcheck source=../common/macos/InstallAppFromCompressedFileFromURL.sh
-source "${BASH_SOURCE%/*}/../common/macos/InstallAppFromCompressedFileFromURL.sh"
-# shellcheck source=../common/unix/SetEnvVar.sh
-source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
+Write-Host "Fetching Telegraf $version..."
+Download $url_official $url_cache $tempfile
+Verify-Checksum $tempfile $sha256 sha256
-psqlVersion="9.6.0"
+Write-Host "Installing telegraf.exe under C:\Utils\telegraf"
+Extract-7Zip $tempfile C:\Utils "telegraf"
+Copy-Item "$PSScriptRoot\..\..\common\windows\telegraf-coin.conf" C:\telegraf-coin.conf
-PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mac/macos_10.12_sierra/Postgres-$psqlVersion.zip"
-AltUrl="https://github.com/PostgresApp/PostgresApp/releases/download/$psqlVersion/Postgres-$psqlVersion.zip"
-SHA1="5078e44663787006ca55fa3b5e2be598bed82eb5"
-appPrefix=""
+. "$PSScriptRoot\telegraf_password.ps1"
-InstallAppFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$appPrefix"
+Start-Process -FilePath C:\Utils\telegraf\telegraf.exe -ArgumentList "--config C:\telegraf-coin.conf"
-SetEnvVar "POSTGRESQLBINPATH" "/Applications/Postgres.app/Contents/Versions/9.6/bin"
-echo "PostgreSQL = $psqlVersion" >> ~/versions.txt
+Write-Output "Telegraf = $version" >> ~\versions.txt
diff --git a/coin/provisioning/common/windows/mesa_llvmpipe.ps1 b/coin/provisioning/common/windows/mesa_llvmpipe.ps1
index ee792896..17684575 100644
--- a/coin/provisioning/common/windows/mesa_llvmpipe.ps1
+++ b/coin/provisioning/common/windows/mesa_llvmpipe.ps1
@@ -1,6 +1,6 @@
#############################################################################
##
-## Copyright (C) 2017 The Qt Company Ltd.
+## Copyright (C) 2020 The Qt Company Ltd.
## Contact: http://www.qt.io/licensing/
##
## This file is part of the provisioning scripts of the Qt Toolkit.
@@ -34,12 +34,12 @@
$version = "11_2_2"
$package = "C:\Windows\temp\opengl32sw.7z"
-$mesaOpenglSha1_64 = "b2ffa5f230a0caa2c2e0bb9a5398bcfb81a0e5d1"
-$mesaOpenglUrl_64_cache = "http://ci-files01-hki.intra.qt.io/input/windows/opengl32sw-64-mesa_$version.7z"
-$mesaOpenglUrl_64_alt = "http://download.qt.io/development_releases/prebuilt/llvmpipe/windows/opengl32sw-64-mesa_$version.7z"
-$mesaOpenglSha1_32 = "e742e9d4e16b9c69b6d844940861d3ef1748356b"
-$mesaOpenglUrl_32_cache = "http://ci-files01-hki.intra.qt.io/input/windows/opengl32sw-32-mesa_$version.7z"
-$mesaOpenglUrl_32_alt = "http://download.qt.io/development_releases/prebuilt/llvmpipe/windows/opengl32sw-32-mesa_$version.7z"
+$mesaOpenglSha1_64 = "0ed35efbc8112282be5d0c87c37fde2d15e81998"
+$mesaOpenglUrl_64_cache = "http://ci-files01-hki.intra.qt.io/input/windows/opengl32sw-64-mesa_$version-signed.7z"
+$mesaOpenglUrl_64_alt = "http://download.qt.io/development_releases/prebuilt/llvmpipe/windows/opengl32sw-64-mesa_$version-signed.7z"
+$mesaOpenglSha1_32 = "96bd6ca0d7fd249fb61531dca888965ffd20f53c"
+$mesaOpenglUrl_32_cache = "http://ci-files01-hki.intra.qt.io/input/windows/opengl32sw-32-mesa_$version-signed.7z"
+$mesaOpenglUrl_32_alt = "http://download.qt.io/development_releases/prebuilt/llvmpipe/windows/opengl32sw-32-mesa_$version-signed.7z"
function Extract-Mesa
{
diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/20-xcode.sh b/coin/provisioning/common/windows/nodejs.ps1
index 304eb0b6..c56f6db6 100755..100644
--- a/coin/provisioning/qtci-macos-10.12-x86_64/20-xcode.sh
+++ b/coin/provisioning/common/windows/nodejs.ps1
@@ -1,8 +1,6 @@
-#!/usr/bin/env bash
-
#############################################################################
##
-## Copyright (C) 2017 The Qt Company Ltd.
+## Copyright (C) 2020 The Qt Company Ltd.
## Contact: http://www.qt.io/licensing/
##
## This file is part of the provisioning scripts of the Qt Toolkit.
@@ -33,18 +31,31 @@
##
#############################################################################
-# This script installs Xcode
-# Prerequisites: Have Xcode prefetched to local cache as xz compressed.
-# This can be achieved by fetching Xcode_8.xip from Apple Store.
-# Uncompress it with 'xar -xf Xcode_8.xip'
-# Then get https://gist.githubusercontent.com/pudquick/ff412bcb29c9c1fa4b8d/raw/24b25538ea8df8d0634a2a6189aa581ccc6a5b4b/parse_pbzx2.py
-# with which you can run 'python parse_pbzx2.py Content'.
-# This will give you a file called "Content.part00.cpio.xz" that
-# can be renamed to Xcode_8.xz for this script.
+. "$PSScriptRoot\helpers.ps1"
+
+# This script will install Node.js
+# Needed by QtWebengine
+
+$version = "12.18.0"
+$package = "C:\Windows\temp\nodejs-$version.zip"
+$targetFolder = "C:\Utils\nodejs"
+$arch = "$((Get-WmiObject Win32_Processor).AddressWidth)"
+$externalUrl = "https://nodejs.org/dist/v$version/node-v$version-win-x$arch.zip"
+$internalUrl = "http://ci-files01-hki.intra.qt.io/input/windows/node-v$version-win-x$arch.zip"
+
+if ( $arch -eq 64 ) {
+ $sha1 = "457b1527d249ee471a9445953a906cb10c75378d"
+} else {
+ $sha1 = "58801900f5bddca9c00feed6b84fed729426fc92"
-set -ex
+}
-# shellcheck source=../common/macos/install_xcode.sh
-source "${BASH_SOURCE%/*}/../common/macos/install_xcode.sh"
+Write-Host "Installing Node.js"
+Download $externalUrl $internalUrl $package
+Verify-Checksum $package $sha1
+mkdir $targetFolder
+Extract-7Zip $package $targetFolder
+Add-Path $targetFolder
+Remove $package
-InstallXCode /net/ci-files01-hki.intra.qt.io/hdd/www/input/mac/Xcode_9.2.tar.gz 9.2
+Write-Output "Node.js = $version" >> ~/versions.txt
diff --git a/coin/provisioning/common/windows/openssl.ps1 b/coin/provisioning/common/windows/openssl.ps1
index 2f21db37..891f5db7 100644
--- a/coin/provisioning/common/windows/openssl.ps1
+++ b/coin/provisioning/common/windows/openssl.ps1
@@ -36,7 +36,7 @@
# This script installs OpenSSL $version.
# Both x86 and x64 versions needed when x86 integrations are done on x64 machine
-$version = "1_1_1b"
+$version = "1_1_1d"
$packagex64 = "C:\Windows\Temp\Win64OpenSSL-$version.exe"
$packagex86 = "C:\Windows\Temp\Win32OpenSSL-$version.exe"
@@ -47,7 +47,7 @@ if (Is64BitWinHost) {
$installFolder = "C:\openssl"
$externalUrl = "https://slproweb.com/download/Win64OpenSSL-$version.exe"
$internalUrl = "\\ci-files01-hki.intra.qt.io\provisioning\openssl\Win64OpenSSL-$version.exe"
- $sha1 = "5b50819dd84aa9219e0cad9cdddf78285bdd1bbb"
+ $sha1 = "df9c40e9e82edf693c15302cbc8e8a057857a13c"
Write-Host "Fetching from URL ..."
Download $externalUrl $internalUrl $packagex64
@@ -74,7 +74,7 @@ if (Is64BitWinHost) {
$externalUrl = "https://slproweb.com/download/Win32OpenSSL-$version.exe"
$internalUrl = "\\ci-files01-hki.intra.qt.io\provisioning\openssl\Win32OpenSSL-$version.exe"
-$sha1 = "1ae5ad4fe5dae01dd056274979cce26945c9e86c"
+$sha1 = "5c49ccd3a5d17f63d25fb819963978f50c7966d0"
Write-Host "Fetching from URL ..."
Download $externalUrl $internalUrl $packagex86
diff --git a/coin/provisioning/common/windows/postgresql.ps1 b/coin/provisioning/common/windows/postgresql.ps1
index 46d7501a..27f9190a 100644
--- a/coin/provisioning/common/windows/postgresql.ps1
+++ b/coin/provisioning/common/windows/postgresql.ps1
@@ -1,6 +1,6 @@
#############################################################################
##
-## Copyright (C) 2017 The Qt Company Ltd.
+## Copyright (C) 2020 The Qt Company Ltd.
## Contact: http://www.qt.io/licensing/
##
## This file is part of the provisioning scripts of the Qt Toolkit.
@@ -36,7 +36,7 @@
# This script installs postgresql $version.
# Both x86 and x64 versions needed when x86 integrations are done on x64 machine
-$version = "9.1.9-1"
+$version = "9.6.16-1"
$packagex64 = "C:\Windows\temp\postgresql-$version-windows-x64-binaries.zip"
$packagex86 = "C:\Windows\temp\postgresql-$version-windows-binaries.zip"
@@ -46,7 +46,7 @@ if (Is64BitWinHost) {
$installFolder = "C:\Utils\postgresql"
$externalUrl = "http://get.enterprisedb.com/postgresql/postgresql-$version-windows-x64-binaries.zip"
$internalUrl = "\\ci-files01-hki.intra.qt.io\provisioning\windows\postgresql-$version-windows-x64-binaries.zip"
- $sha1 = "4da0453cdfda335e064d4437cf5bb9d356054cfd"
+ $sha1 = "5dd604f91973112209362b5abbbd1220c026f645"
Write-Host "Fetching from URL ..."
Download $externalUrl $internalUrl $packagex64
@@ -56,6 +56,9 @@ if (Is64BitWinHost) {
Write-Host "Remove downloaded $packagex64 ..."
Remove-Item -Path $packagex64
+ # Remove pthread.h file so it won't be used in mingw builds (QTBUG-79555)
+ Remove-item -Path "$installFolder\pgsql\include\pthread.h"
+ Remove-item -Path "$installFolder\pgsql\include\unistd.h"
Set-EnvironmentVariable "POSTGRESQL_INCLUDE_x64" "$installFolder\pgsql\include"
Set-EnvironmentVariable "POSTGRESQL_LIB_x64" "$installFolder\pgsql\lib"
@@ -65,7 +68,7 @@ if (Is64BitWinHost) {
$architecture = "x86"
$externalUrl = "http://get.enterprisedb.com/postgresql/postgresql-$version-windows-binaries.zip"
$internalUrl = "\\ci-files01-hki.intra.qt.io\provisioning\windows\postgresql-$version-windows-binaries.zip"
-$sha1 = "eb4f01845e1592800edbb74f60944b6c0aca51a9"
+$sha1 = "46309190e60eead99c2d39c1dd18a91f2104d000"
if (Is64BitWinHost) {
$installFolder = "C:\Utils\postgresql$architecture"
} else {
@@ -81,6 +84,9 @@ Extract-7Zip $packagex86 $installFolder "pgsql\lib pgsql\bin pgsql\share pgsql\i
Write-Host "Remove downloaded $packagex86 ..."
Remove-Item -Path $packagex86
+# Remove pthread.h file so it won't be used in mingw builds (QTBUG-79555)
+Remove-item -Path "$installFolder\pgsql\include\pthread.h"
+Remove-item -Path "$installFolder\pgsql\include\unistd.h"
Set-EnvironmentVariable "POSTGRESQL_INCLUDE_x86" "$installFolder\pgsql\include"
Set-EnvironmentVariable "POSTGRESQL_LIB_x86" "$installFolder\pgsql\lib"
diff --git a/coin/provisioning/common/windows/python.ps1 b/coin/provisioning/common/windows/python.ps1
index aee4c199..342358d5 100644
--- a/coin/provisioning/common/windows/python.ps1
+++ b/coin/provisioning/common/windows/python.ps1
@@ -1,6 +1,6 @@
#############################################################################
##
-## Copyright (C) 2016 The Qt Company Ltd.
+## Copyright (C) 2019 The Qt Company Ltd.
## Contact: http://www.qt.io/licensing/
##
## This file is part of the provisioning scripts of the Qt Toolkit.
@@ -75,6 +75,9 @@ if (($archVer -eq 32) -And (Is64BitWinHost)) {
Run-Executable "$targetDir\python.exe" "-m ensurepip"
+Write-Host "Upgrade pip to the latest version available."
+Run-Executable "$targetDir\python.exe" "-m pip install --upgrade pip"
+
# Install python virtual env
if (IsProxyEnabled) {
$proxy = Get-Proxy
diff --git a/coin/provisioning/common/windows/python3.ps1 b/coin/provisioning/common/windows/python3.ps1
index c05c022c..8fbd615c 100644
--- a/coin/provisioning/common/windows/python3.ps1
+++ b/coin/provisioning/common/windows/python3.ps1
@@ -1,6 +1,6 @@
#############################################################################
##
-## Copyright (C) 2017 The Qt Company Ltd.
+## Copyright (C) 2019 The Qt Company Ltd.
## Copyright (C) 2017 Pelagicore AG
## Contact: http://www.qt.io/licensing/
##
@@ -79,6 +79,10 @@ if (IsProxyEnabled) {
Write-Host "Using proxy ($proxy) with pip"
$pip_args = "--proxy=$proxy"
}
+
+Write-Host "Upgrade pip3 to the latest version available."
+Run-Executable "$install_path\python.exe" "-m pip install --upgrade pip"
+
Run-Executable "$install_path\Scripts\pip3.exe" "$pip_args install virtualenv wheel"
# Install all needed packages in a special wheel cache directory
diff --git a/coin/provisioning/common/windows/squishInstall.ps1 b/coin/provisioning/common/windows/squishInstall.ps1
index de04d242..8396743e 100644
--- a/coin/provisioning/common/windows/squishInstall.ps1
+++ b/coin/provisioning/common/windows/squishInstall.ps1
@@ -1,6 +1,6 @@
#############################################################################
##
-## Copyright (C) 2018 The Qt Company Ltd.
+## Copyright (C) 2020 The Qt Company Ltd.
## Contact: http://www.qt.io/licensing/
##
## This file is part of the provisioning scripts of the Qt Toolkit.
@@ -33,122 +33,48 @@
. "$PSScriptRoot\helpers.ps1"
-# This script will install squish package for Windows.
+# This script will pre-installed squish package for Windows.
# Squish is need by Release Test Automation (RTA)
-# NOTE! Make sure 64bit versions are always installed before 32bit,
-# because they use same folder name before a rename
-
-$version = "6.4.3"
-
-# Qt branch without dot (*.*)
-$qtBranch = "512x"
-# So far Squish built with Qt5.12 works also with 5.13, but we have to be prepared that on some point
-# the compatibility breaks, and we may need to have separate Squish packages for different Qt versions.
+$version = "6.5.2"
+$qtBranch = "514x"
$targetDir = "C:\Utils\squish"
-$squishUrl = "\\ci-files01-hki.intra.qt.io\provisioning\squish\coin"
-$squishBranchUrl = "$squishUrl\$qtBranch"
-$testSuite = "suite_test_squish"
-$testSuiteUrl = "$squishUrl\$testSuite.7z"
+$squishPackage = "C:\Utils\rta_squish"
+$squishUrl = "\\ci-files01-hki.intra.qt.io\provisioning\squish\jenkins_build"
+$licenseUrl = "\\ci-files01-hki.intra.qt.io\provisioning\squish\coin"
# Squish license
$licensePackage = ".squish-3-license"
-$OSVersion = (get-itemproperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion" -Name ProductName).ProductName
-
-Function DownloadAndInstallSquish {
- Param (
- [string]$version,
- [string]$bit,
- [string]$squishPackage
- )
- # MinGW x86 available only with Qt5.11, to be updated when Squish is supporting 5.13
- if ("$bit" -eq "win32" -and $squishPackage.StartsWith("mingw")) {
- $qtBranch = "511x"
- }
- $SquishUrl = $squishBranchUrl + "\squish-" + $version + "-qt" + $qtBranch + "-" + $bit + "-" + $squishPackage + ".exe"
- $SquishInstaller = "$targetDir\$squishPackage.exe"
- $SquishParameters = "unattended=1 targetdir=$targetDir\$squishPackage"
+Write-Host "Installing Squish license to home directory"
+Copy-Item $licenseUrl\$licensePackage ~\$licensePackage
- Write-Host "Fetching from URL $squishUrl"
- Copy-Item "$SquishUrl" "$SquishInstaller"
- Write-Host "Installing Squish"
- Run-Executable "$SquishInstaller" "$SquishParameters"
- Remove-Item -Path $SquishInstaller
- if ("$bit" -eq "win64") {
- if ($squishPackage.StartsWith("mingw")) {
- $squishPackage64bit = "mingw_64"
- } else {
- $squishPackage64bit = "$squishPackage`_64"
- }
- Rename-Item $targetDir\$squishPackage $targetDir\$squishPackage64bit
- TestSquish $squishPackage64bit
- } else {
- if ($squishPackage.StartsWith("mingw")) {
- Rename-Item $targetDir\$squishPackage $targetDir\mingw
- TestSquish mingw
- } else {
- TestSquish $squishPackage
- }
- }
-}
-
-Function DownloadSquishLicence {
- Param (
- [string]$squishUrl
- )
-
- Write-Host "Installing Squish license to home directory"
- Copy-Item $squishUrl\$licensePackage ~\$licensePackage
-}
-
-Function TestSquish {
- Param (
- [string]$squishPackage
- )
-
- Write-Host "Verifying Squish Installation"
- if (cmd /c "$targetDir\$squishPackage\bin\squishrunner.exe --testsuite $targetDir\$testSuite" |Select-String -Pattern "Squish test run successfully") {
- Write-Host "Squish installation tested successfully!"
- } else {
- Write-Host "Squish test failed! $squishPackage wasn't installed correctly."
- [Environment]::Exit(1)
- }
+if (Is64BitWinHost) {
+ $arch = "x64"
+} else {
+ $arch = "x86"
}
-Write-Host "Creating $targetDir"
-New-Item -ErrorAction Ignore -ItemType directory -Path "$targetDir"
-
-Write-Host "Download and install Test Suite for squish"
-Copy-Item $testSuiteUrl $targetDir/$testSuite.7z
-Extract-7Zip $targetDir/$testSuite.7z $targetDir
-
-DownloadSquishLicence $squishUrl
+$OSVersion = (get-itemproperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion" -Name ProductName).ProductName
if ($OSVersion -eq "Windows 10 Enterprise") {
-
+ $winVersion = "win10"
if (Is64BitWinHost) {
- DownloadAndInstallSquish $version win64 "msvc14"
- DownloadAndInstallSquish $version win64 "msvc141"
- DownloadAndInstallSquish $version win64 "mingw_gcc73_posix_seh"
+ $sha1 = "9262d3b749483094024c74986f93e9340afbdb62"
} else {
- DownloadAndInstallSquish $version win32 "mingw_gcc53_posix_dwarf"
- }
- DownloadAndInstallSquish $version win32 "msvc141"
-
-} elseif ($OSVersion -eq "Windows 8.1 Enterprise") {
-
- if (Is64BitWinHost) {
- DownloadAndInstallSquish $version win64 "msvc14"
+ $sha1 = "0763b344afa327e6c374971492021c5e923be892"
}
- DownloadAndInstallSquish $version win32 "msvc141"
-
} elseif ($OSVersion -eq "Windows 7 Enterprise") {
-
- if (Is64BitWinHost) {
- DownloadAndInstallSquish $version win64 "msvc14"
- } else {
- DownloadAndInstallSquish $version win32 "mingw_gcc53_posix_dwarf"
- }
- DownloadAndInstallSquish $version win32 "msvc141"
+ $winVersion = "win7"
+ $sha1 = "01b3529459da948cfde319d60becc666da0e1c4d"
}
+$squishArchive = "prebuild-squish-$version-$qtBranch-$winVersion-$arch.zip"
+
+Copy-Item "\\ci-files01-hki.intra.qt.io\provisioning\squish\jenkins_build\stable\$squishArchive" "C:\Utils"
+Verify-Checksum "C:\Utils\$squishArchive" $sha1
+Extract-7Zip "C:\Utils\$squishArchive" "C:\Utils"
+Rename-Item "$squishPackage" "$targetDir"
+
+Write-Host "Verifying Squish Installation for following targets:"
+get-childitem "$targetDir" -Filter squishrunner.exe -Recurse | % { $_.FullName }
+get-childitem "$targetDir" -Filter squishrunner.exe -Recurse | % { if (cmd /c $_.FullName --testsuite "$targetDir\suite_test_squish" |Select-String -Pattern "Squish test run successfully") { Write-Host "Squish tested successfully"} else { [Environment]::Exit(1) } }
diff --git a/coin/provisioning/common/windows/telegraf-coin.conf b/coin/provisioning/common/windows/telegraf-coin.conf
new file mode 100644
index 00000000..9a4d22e8
--- /dev/null
+++ b/coin/provisioning/common/windows/telegraf-coin.conf
@@ -0,0 +1,41 @@
+[global_tags]
+[agent]
+ interval = "10s"
+ round_interval = true
+ metric_batch_size = 100
+ metric_buffer_limit = 10000
+ collection_jitter = "0s"
+ flush_interval = "10s"
+ flush_jitter = "5s"
+ precision = ""
+ logfile = "C:\\telegraf-coin.log"
+ hostname = "$COIN_UNIQUE_JOB_ID"
+ omit_hostname = false
+[[outputs.influxdb]]
+ urls= ["https://qtinfluxdb01.intra.qt.io:8086"]
+ insecure_skip_verify = true
+ database = "coin_vms"
+ skip_database_creation = true
+ username = "coin_vms_writer"
+ password = "COIN_VMS_WRITER_PASS"
+[[inputs.cpu]]
+ percpu = true
+ totalcpu = true
+ collect_cpu_time = false
+ report_active = false
+[[inputs.disk]]
+ ignore_fs = ["tmpfs", "devtmpfs", "devfs", "iso9660", "overlay", "aufs", "squashfs"]
+[[inputs.diskio]]
+[[inputs.kernel]]
+[[inputs.mem]]
+#[[inputs.processes]]
+[[inputs.swap]]
+[[inputs.system]]
+#[[inputs.kernel_vmstat]] # linux-only
+[[inputs.netstat]]
+
+
+# Monitor Coin process
+[[inputs.procstat]]
+ exe = "coin-"
+ pid_finder = "native"
diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/01-systemsetup.sh b/coin/provisioning/common/windows/telegraf_password.ps1
index 0b85f10d..773ec866 100755..100644
--- a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/01-systemsetup.sh
+++ b/coin/provisioning/common/windows/telegraf_password.ps1
@@ -1,8 +1,6 @@
-#!/usr/bin/env bash
-
#############################################################################
##
-## Copyright (C) 2017 The Qt Company Ltd.
+## Copyright (C) 2019 The Qt Company Ltd.
## Contact: http://www.qt.io/licensing/
##
## This file is part of the provisioning scripts of the Qt Toolkit.
@@ -33,14 +31,16 @@
##
#############################################################################
-set -ex
-
-# shellcheck source=../common/unix/check_and_set_proxy.sh
-source "${BASH_SOURCE%/*}/../common/unix/check_and_set_proxy.sh"
+$auth_file = "C:\Users\qt\work\influxdb\coin_vms_writer.auth"
-# shellcheck disable=SC2031
-if [ "$http_proxy" != "" ]; then
- echo "proxy=$proxy" | sudo tee -a /etc/yum.conf
-fi
+# Provisioning should run even without the secrets repository
+if (Test-Path $auth_file) {
+ $auth_content = Get-Content $auth_file
+ $influxdb_password = $auth_content.Substring($auth_content.LastIndexOf(':') + 1)
+ Remove-Item $auth_file
+} else {
+ $influxdb_password = "no_password_provided"
+}
-sudo yum update -y nss curl
+$telegraf_conf = "C:\telegraf-coin.conf"
+(Get-Content $telegraf_conf) | ForEach-Object { $_.Replace("COIN_VMS_WRITER_PASS", $influxdb_password) } | Out-File -Encoding UTF8 $telegraf_conf
diff --git a/coin/provisioning/common/windows/version.ps1 b/coin/provisioning/common/windows/version.ps1
new file mode 100644
index 00000000..7f701f63
--- /dev/null
+++ b/coin/provisioning/common/windows/version.ps1
@@ -0,0 +1,6 @@
+Write-Host '******************** SW VERSIONS ********************'
+type ~/versions.txt
+Write-Host '*****************************************************'
+Write-Host '******************** Get-PSDrive ********************'
+Get-PSDrive
+Write-Host '*****************************************************'
diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/01-disable-mlocate.sh b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/01-disable-mlocate.sh
deleted file mode 100755
index f12cff1e..00000000
--- a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/01-disable-mlocate.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/usr/bin/env bash
-BASEDIR=$(dirname "$0")
-# shellcheck source=../common/linux/disable-mlocate.sh
-"$BASEDIR/../common/linux/disable-mlocate.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/05-subscription-manager-tooling.sh b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/05-subscription-manager-tooling.sh
deleted file mode 100755
index d3072b37..00000000
--- a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/05-subscription-manager-tooling.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/usr/bin/env bash
-# provides: fix for possible bug in the subscription manager
-# version: provided by RedHat
-# needed for yum to work properly in case there is incorrect data in
-# the sslclientkey repository parameter value
-
-set -ex
-
-sudo rm -f /etc/pki/entitlement/*
-sudo subscription-manager refresh
diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/06-odbc.sh b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/06-odbc.sh
deleted file mode 100755
index c8edc2a2..00000000
--- a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/06-odbc.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/usr/bin/env bash
-# provides: odbc devel packages on RHEL
-# version: provided by default Linux distribution repository
-# needed for configure -plugin-sql-odbc in qtbase
-
-set -ex
-
-sudo yum install -y unixODBC-devel
diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/08-pythondev.sh b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/08-pythondev.sh
deleted file mode 100755
index 2861821c..00000000
--- a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/08-pythondev.sh
+++ /dev/null
@@ -1,51 +0,0 @@
-#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2018 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-# provides: python development libraries
-# version: provided by default Linux distribution repository
-# needed to build pyside
-
-set -ex
-
-sudo yum install -y python-devel python-virtualenv
-
-# install python3
-sudo yum install -y python34-devel
-
-# install pip3
-wget https://bootstrap.pypa.io/get-pip.py
-sudo python3 get-pip.py
-sudo rm -f get-pip.py
-sudo pip3 install virtualenv
diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/09-cmake.sh b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/09-cmake.sh
deleted file mode 100755
index 74520b6e..00000000
--- a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/09-cmake.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/usr/bin/env bash
-set -ex
-
-"$(dirname "$0")/../common/linux/cmake_linux.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/20-libusb.sh b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/20-libusb.sh
deleted file mode 100755
index b156e8f9..00000000
--- a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/20-libusb.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/usr/bin/env bash
-# Required for tqtc-boot2qt/qdb
-
-set -ex
-
-sudo yum install -y libusb1-devel
diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/30-install_icu.sh b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/30-install_icu.sh
deleted file mode 100755
index 67c17954..00000000
--- a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/30-install_icu.sh
+++ /dev/null
@@ -1,74 +0,0 @@
-#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2016 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the test suite of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-# This script installs the right ICU version
-
-set -ex
-icuVersion="56.1"
-icuLocation="/usr/lib64"
-sha1="f2eab775c04ce5f3bdae6c47d06b62158b5d6753"
-
-function Install7ZPackageFromURL {
- url=$1
- expectedSha1=$2
- targetDirectory=$3
-
- targetFile=$(mktemp)
- wget --tries=5 --waitretry=5 --output-document="$targetFile" "$url"
- echo "$expectedSha1 $targetFile" | sha1sum --check
- sudo /usr/local/bin/7z x -yo"$targetDirectory" "$targetFile"
- rm "$targetFile"
-}
-
-echo "Installing custom ICU $icuVersion $sha1 packages on RHEL to $icuLocation"
-
-baseBinaryPackageURL="http://master.qt.io/development_releases/prebuilt/icu/prebuilt/$icuVersion/icu-linux-g++-Rhel6.6-x64.7z"
-Install7ZPackageFromURL "$baseBinaryPackageURL" "$sha1" "/usr/lib64"
-
-echo "Installing custom ICU devel packages on RHEL"
-
-sha1Dev="82f8b216371b848b8d36ecec7fe7b6e9b0dba0df"
-develPackageURL="http://master.qt.io/development_releases/prebuilt/icu/prebuilt/$icuVersion/icu-linux-g++-Rhel6.6-x64-devel.7z"
-tempDir=$(mktemp -d)
-# shellcheck disable=SC2064
-trap "sudo rm -fr $tempDir" EXIT
-Install7ZPackageFromURL "$develPackageURL" "$sha1Dev" "$tempDir"
-sudo cp -a "$tempDir/lib"/* /usr/lib64
-sudo cp -a "$tempDir"/* /usr/
-
-sudo /sbin/ldconfig
-
-# Storage version information to ~/versions.txt, which is used to print version information to provision log.
-echo "ICU = $icuVersion" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/90-python-modules.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/90-python-modules.sh
new file mode 100755
index 00000000..8a3fc7b9
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/90-python-modules.sh
@@ -0,0 +1,39 @@
+#!/usr/bin/env bash
+
+#############################################################################
+##
+## Copyright (C) 2019 The Qt Company Ltd.
+## Contact: http://www.qt.io/licensing/
+##
+## This file is part of the provisioning scripts of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL21$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see http://www.qt.io/terms-conditions. For further
+## information use the contact form at http://www.qt.io/contact-us.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 2.1 or version 3 as published by the Free
+## Software Foundation and appearing in the file LICENSE.LGPLv21 and
+## LICENSE.LGPLv3 included in the packaging of this file. Please review the
+## following information to ensure the GNU Lesser General Public License
+## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## As a special exception, The Qt Company gives you certain additional
+## rights. These rights are described in The Qt Company LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+set -ex
+
+# shellcheck source=../common/unix/python-modules.sh
+source "${BASH_SOURCE%/*}/../common/unix/python-modules.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-7.6-x86_64/01-install_telegraf.sh b/coin/provisioning/qtci-linux-RHEL-7.6-x86_64/01-install_telegraf.sh
new file mode 100755
index 00000000..729f9003
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-7.6-x86_64/01-install_telegraf.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+"$(dirname "$0")"/../common/unix/telegraf_install.sh
diff --git a/coin/provisioning/qtci-linux-RHEL-7.6-x86_64/01-refresh-subscription-manager.sh b/coin/provisioning/qtci-linux-RHEL-7.6-x86_64/01-refresh-subscription-manager.sh
index 84238ebf..e26a1e0d 100755
--- a/coin/provisioning/qtci-linux-RHEL-7.6-x86_64/01-refresh-subscription-manager.sh
+++ b/coin/provisioning/qtci-linux-RHEL-7.6-x86_64/01-refresh-subscription-manager.sh
@@ -2,7 +2,7 @@
#############################################################################
##
-## Copyright (C) 2018 The Qt Company Ltd.
+## Copyright (C) 2020 The Qt Company Ltd.
## Contact: http://www.qt.io/licensing/
##
## This file is part of the provisioning scripts of the Qt Toolkit.
@@ -33,7 +33,11 @@
##
#############################################################################
-set -ex
+set -e
+
+curl --retry 5 --retry-delay 10 --retry-max-time 60 http://ci-files01-hki.intra.qt.io/input/semisecure/redhat_ak.sh -o "/tmp/redhat_ak.sh" &>/dev/null
+sudo chmod 755 /tmp/redhat_ak.sh
+/tmp/redhat_ak.sh
# refresh local certificates
sudo subscription-manager refresh
@@ -41,3 +45,4 @@ sudo subscription-manager refresh
# Attach available subscriptions to system. This is needed when subscriptions are renewed.
sudo subscription-manager attach --auto
+sudo rm -f /tmp/redhat_ak.sh
diff --git a/coin/provisioning/qtci-linux-RHEL-7.6-x86_64/02-enable-repos.sh b/coin/provisioning/qtci-linux-RHEL-7.6-x86_64/02-enable-repos.sh
index 548cb9ca..28f7faa0 100755
--- a/coin/provisioning/qtci-linux-RHEL-7.6-x86_64/02-enable-repos.sh
+++ b/coin/provisioning/qtci-linux-RHEL-7.6-x86_64/02-enable-repos.sh
@@ -38,6 +38,7 @@ set -ex
echo "set WritePreparedUpdates=false" | sudo tee -a /etc/PackageKit/PackageKit.conf
sudo systemctl stop packagekit
sudo systemctl disable packagekit
+sudo yum -y remove PackageKit gnome-software
sudo subscription-manager config --rhsm.manage_repos=0
sudo subscription-manager refresh
diff --git a/coin/provisioning/qtci-linux-RHEL-7.6-x86_64/03-install-rhel-epel.sh b/coin/provisioning/qtci-linux-RHEL-7.6-x86_64/03-install-rhel-epel.sh
index 5cdf7df0..443bfa9e 100755
--- a/coin/provisioning/qtci-linux-RHEL-7.6-x86_64/03-install-rhel-epel.sh
+++ b/coin/provisioning/qtci-linux-RHEL-7.6-x86_64/03-install-rhel-epel.sh
@@ -38,14 +38,13 @@ set -ex
# shellcheck source=../common/unix/DownloadURL.sh
source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh"
-package="epel-release-7-11.noarch.rpm"
+package="epel-release-7-12.noarch.rpm"
primaryUrl="https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/$package"
cacheUrl="http://ci-files01-hki.intra.qt.io/input/rhel7/$package"
-sha1="5512b80e5b71f2370d8419fa16a0bc14c5edf854"
+sha256="d6bb83c00ab3af26ded56459e7d6fceabfef66efbe0780b4dedbe81d62c07cd5"
targetFile="/tmp/$package"
-DownloadURL "$primaryUrl" "$cacheUrl" "$sha1" "$targetFile"
+DownloadURL "$cacheUrl" "$primaryUrl" "$sha256" "$targetFile"
-sudo rpm -ivh "$targetFile"
+sudo yum -y install "$targetFile"
rm "$targetFile"
-
diff --git a/coin/provisioning/qtci-linux-RHEL-7.6-x86_64/04-install-packages.sh b/coin/provisioning/qtci-linux-RHEL-7.6-x86_64/04-install-packages.sh
index 6b569552..2056df70 100755
--- a/coin/provisioning/qtci-linux-RHEL-7.6-x86_64/04-install-packages.sh
+++ b/coin/provisioning/qtci-linux-RHEL-7.6-x86_64/04-install-packages.sh
@@ -2,7 +2,7 @@
#############################################################################
##
-## Copyright (C) 2017 The Qt Company Ltd.
+## Copyright (C) 2020 The Qt Company Ltd.
## Contact: http://www.qt.io/licensing/
##
## This file is part of the provisioning scripts of the Qt Toolkit.
@@ -87,6 +87,8 @@ installPackages+=(pulseaudio-libs-devel)
installPackages+=(libXtst-devel)
installPackages+=(nspr-devel)
installPackages+=(nss-devel)
+installPackages+=(rh-nodejs12-nodejs)
+installPackages+=(rh-nodejs12-nodejs-devel)
# For Android builds
installPackages+=(java-1.8.0-openjdk-devel)
# For receiving shasum
@@ -122,6 +124,13 @@ installPackages+=(unixODBC-devel)
installPackages+=(unixODBC)
# Vulkan support
installPackages+=(vulkan-devel)
+# Conan: For Python build
+installPackages+=(xz-devel)
+installPackages+=(zlib-devel)
+installPackages+=(libffi-devel)
+installPackages+=(libsqlite3x-devel)
+# Build.pl
+installPackages+=(perl-Data-Dumper)
sudo yum -y install "${installPackages[@]}"
diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/04-install-packages.sh b/coin/provisioning/qtci-linux-RHEL-7.6-x86_64/70-install_dwz.sh
index c1189a94..935d9227 100755
--- a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/04-install-packages.sh
+++ b/coin/provisioning/qtci-linux-RHEL-7.6-x86_64/70-install_dwz.sh
@@ -2,7 +2,7 @@
#############################################################################
##
-## Copyright (C) 2018 The Qt Company Ltd.
+## Copyright (C) 2020 Konstantin Tokarev <annulen@yandex.ru>
## Contact: http://www.qt.io/licensing/
##
## This file is part of the provisioning scripts of the Qt Toolkit.
@@ -35,12 +35,8 @@
set -ex
-installPackages=()
+sudo yum -y install elfutils-libelf-devel
-# For Jenkins
-installPackages+=(java-1.8.0-openjdk-devel)
-# For Qt Creator
-installPackages+=(openssl-devel)
-
-sudo yum -y install "${installPackages[@]}"
+# shellcheck source=../common/linux/install_dwz.sh
+source "${BASH_SOURCE%/*}/../common/linux/install_dwz.sh"
diff --git a/coin/provisioning/qtci-linux-SLES-15-x86_64/01-install_telegraf.sh b/coin/provisioning/qtci-linux-SLES-15-x86_64/01-install_telegraf.sh
new file mode 100755
index 00000000..729f9003
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15-x86_64/01-install_telegraf.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+"$(dirname "$0")"/../common/unix/telegraf_install.sh
diff --git a/coin/provisioning/qtci-linux-SLES-15-x86_64/01-systemsetup.sh b/coin/provisioning/qtci-linux-SLES-15-x86_64/01-systemsetup.sh
new file mode 100755
index 00000000..28f25728
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15-x86_64/01-systemsetup.sh
@@ -0,0 +1,73 @@
+#!/usr/bin/env bash
+
+#############################################################################
+##
+## Copyright (C) 2019 The Qt Company Ltd.
+## Contact: http://www.qt.io/licensing/
+##
+## This file is part of the provisioning scripts of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL21$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see http://www.qt.io/terms-conditions. For further
+## information use the contact form at http://www.qt.io/contact-us.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 2.1 or version 3 as published by the Free
+## Software Foundation and appearing in the file LICENSE.LGPLv21 and
+## LICENSE.LGPLv3 included in the packaging of this file. Please review the
+## following information to ensure the GNU Lesser General Public License
+## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## As a special exception, The Qt Company gives you certain additional
+## rights. These rights are described in The Qt Company LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+# shellcheck source=../common/shared/network_test_server_ip.txt
+source "$BASEDIR/../common/shared/network_test_server_ip.txt"
+# shellcheck source=../common/unix/check_and_set_proxy.sh
+source "${BASH_SOURCE%/*}/../common/unix/check_and_set_proxy.sh"
+
+echo "Set timezone to UTC."
+sudo timedatectl set-timezone Etc/UTC
+echo "Timeout for blanking the screen (0 = never)"
+gsettings set org.gnome.desktop.session idle-delay 0
+echo "Prevents screen lock when screesaver goes active."
+gsettings set org.gnome.desktop.screensaver lock-enabled false
+gsettings set org.gnome.desktop.lockdown disable-lock-screen 'true'
+
+sudo sed -i 's|GRUB_TIMEOUT=8|GRUB_TIMEOUT=0|g' /etc/default/grub
+sudo grub2-mkconfig -o /boot/grub2/grub.cfg
+
+echo "Set Network Test Server address to $network_test_server_ip in /etc/hosts"
+echo "$network_test_server_ip qt-test-server qt-test-server.qt-test-net" | sudo tee -a /etc/hosts
+echo "Set DISPLAY"
+echo 'export DISPLAY=":0"' >> ~/.bashrc
+
+sudo systemctl stop packagekit
+sudo systemctl disable packagekit
+sudo systemctl mask packagekit
+while sudo fuser /usr/lib/packagekitd >/dev/null 2>&1 ; do
+ echo "Waiting for PackageKit to finish..."
+ sleep 5
+done
+sudo zypper -nq remove gnome-software
+
+# shellcheck disable=SC2031
+if [ "$http_proxy" != "" ]; then
+ sudo sed -i 's/PROXY_ENABLED=\"no\"/PROXY_ENABLED=\"yes\"/' /etc/sysconfig/proxy
+ sudo sed -i "s|HTTP_PROXY=\".*\"|HTTP_PROXY=\"$proxy\"|" /etc/sysconfig/proxy
+fi
diff --git a/coin/provisioning/qtci-linux-SLES-15-x86_64/02-disable-gnome-notifications.sh b/coin/provisioning/qtci-linux-SLES-15-x86_64/02-disable-gnome-notifications.sh
new file mode 100755
index 00000000..f38c9bab
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15-x86_64/02-disable-gnome-notifications.sh
@@ -0,0 +1,4 @@
+#!/usr/bin/env bash
+
+# shellcheck source=../common/linux/disable-notifications.sh
+source "${BASH_SOURCE%/*}/../common/linux/disable-notifications.sh"
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/02-disable-ntp.sh b/coin/provisioning/qtci-linux-SLES-15-x86_64/02-disable-ntp.sh
index 38707a8a..38707a8a 100755
--- a/coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/02-disable-ntp.sh
+++ b/coin/provisioning/qtci-linux-SLES-15-x86_64/02-disable-ntp.sh
diff --git a/coin/provisioning/qtci-linux-SLES-15-x86_64/02-zypperpackages.sh b/coin/provisioning/qtci-linux-SLES-15-x86_64/02-zypperpackages.sh
new file mode 100755
index 00000000..5a46049e
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15-x86_64/02-zypperpackages.sh
@@ -0,0 +1,96 @@
+#!/usr/bin/env bash
+
+#############################################################################
+##
+## Copyright (C) 2019 The Qt Company Ltd.
+## Contact: http://www.qt.io/licensing/
+##
+## This file is part of the provisioning scripts of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL21$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see http://www.qt.io/terms-conditions. For further
+## information use the contact form at http://www.qt.io/contact-us.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 2.1 or version 3 as published by the Free
+## Software Foundation and appearing in the file LICENSE.LGPLv21 and
+## LICENSE.LGPLv3 included in the packaging of this file. Please review the
+## following information to ensure the GNU Lesser General Public License
+## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## As a special exception, The Qt Company gives you certain additional
+## rights. These rights are described in The Qt Company LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+set -ex
+
+sudo zypper -nq install elfutils binutils
+
+sudo zypper -nq install git gcc gcc-c++ ninja make patch wget tar
+
+sudo zypper -nq install bison flex gperf \
+ zlib-devel \
+ libudev-devel \
+ glib2-devel \
+ libopenssl-devel \
+ freetype2-devel \
+ fontconfig-devel \
+ sqlite3-devel \
+ libxkbcommon-devel \
+ libxkbcommon-x11-devel
+
+sudo zypper -nq install cmake
+
+sudo zypper -nq install p7zip
+
+# EGL support
+sudo zypper -nq install Mesa-libEGL-devel Mesa-libGL-devel
+
+# gtk3 style for QtGui/QStyle
+sudo zypper -nq install gtk3-devel
+
+# Xinput2
+sudo zypper -nq install libXi-devel postgresql10 postgresql10-devel mysql-devel mysql mysql-server
+
+# system provided XCB libraries
+sudo zypper -nq install xcb-util-devel xcb-util-image-devel xcb-util-keysyms-devel \
+ xcb-util-wm-devel xcb-util-renderutil-devel
+
+# ICU
+sudo zypper -nq install libicu-devel libicu60_2
+
+# qtwebengine
+sudo zypper -nq install alsa-devel dbus-1-devel \
+ libXcomposite-devel libXcursor-devel libXrandr-devel libXtst-devel \
+ mozilla-nspr-devel mozilla-nss-devel
+
+# qtwebkit
+sudo zypper -nq install libxml2-devel libxslt-devel
+
+# GStreamer (qtwebkit and qtmultimedia), pulseaudio (qtmultimedia)
+sudo zypper -nq install gstreamer-devel gstreamer-plugins-base-devel libpulse-devel
+
+# cups
+sudo zypper -nq install cups-devel
+
+# speech-dispatcher
+sudo zypper -nq install libspeechd-devel
+#sudo sed -i 's:includedir=/usr/include:includedir=/usr/include/speech-dispatcher:' /usr/lib64/pkgconfig/speech-dispatcher.pc
+
+# ODBC support
+sudo zypper -nq install unixODBC-devel unixODBC
+
+# sqlite support
+sudo zypper -nq install sqlite3 sqlite3-devel
+
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/08-libclang.sh b/coin/provisioning/qtci-linux-SLES-15-x86_64/08-libclang.sh
index bbe2b4b4..bbe2b4b4 100755
--- a/coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/08-libclang.sh
+++ b/coin/provisioning/qtci-linux-SLES-15-x86_64/08-libclang.sh
diff --git a/coin/provisioning/qtci-linux-SLES-15-x86_64/08-pythondev.sh b/coin/provisioning/qtci-linux-SLES-15-x86_64/08-pythondev.sh
new file mode 100755
index 00000000..2da45c2b
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15-x86_64/08-pythondev.sh
@@ -0,0 +1,102 @@
+#!/usr/bin/env bash
+
+#############################################################################
+##
+## Copyright (C) 2018 The Qt Company Ltd.
+## Contact: http://www.qt.io/licensing/
+##
+## This file is part of the provisioning scripts of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL21$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see http://www.qt.io/terms-conditions. For further
+## information use the contact form at http://www.qt.io/contact-us.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 2.1 or version 3 as published by the Free
+## Software Foundation and appearing in the file LICENSE.LGPLv21 and
+## LICENSE.LGPLv3 included in the packaging of this file. Please review the
+## following information to ensure the GNU Lesser General Public License
+## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## As a special exception, The Qt Company gives you certain additional
+## rights. These rights are described in The Qt Company LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+# provides: python development libraries
+# version: provided by default Linux distribution repository
+# needed to build pyside
+
+set -ex
+
+PROVISIONING_DIR="$(dirname "$0")/../"
+. "$PROVISIONING_DIR"/common/unix/common.sourced.sh
+. "$PROVISIONING_DIR"/common/unix/DownloadURL.sh
+
+
+# Python 2
+$CMD_PKG_INSTALL python-devel
+
+# Selected installation instructions coming from:
+# https://raw.githubusercontent.com/linux-on-ibm-z/scripts/master/Python3/build_python3.sh
+export PACKAGE_NAME="python"
+export PACKAGE_VERSION="3.7.6"
+export PACKAGE_SHA=55a2cce72049f0794e9a11a84862e9039af9183603b78bc60d89539f82cf533f
+(
+
+ $CMD_PKG_INSTALL ncurses zlib-devel libffi-devel libopenssl-devel
+
+ echo 'Configuration and Installation started'
+
+ #Download Source code
+ DownloadURL \
+ http://ci-files01-hki.intra.qt.io/input/python/Python-${PACKAGE_VERSION}.tar.xz \
+ https://www.python.org/ftp/${PACKAGE_NAME}/${PACKAGE_VERSION}/Python-${PACKAGE_VERSION}.tar.xz \
+ $PACKAGE_SHA
+ tar -xf "Python-${PACKAGE_VERSION}.tar.xz"
+
+ #Configure and Build
+ cd "Python-${PACKAGE_VERSION}"
+ ./configure --prefix=/usr/local --exec-prefix=/usr/local
+ make
+ sudo make install
+
+ echo 'Installed python successfully'
+
+ #Cleanup
+ cd -
+ rm "Python-${PACKAGE_VERSION}.tar.xz"
+
+ #Verify python installation
+ export PATH="/usr/local/bin:${PATH}"
+ if command -V "$PACKAGE_NAME"${PACKAGE_VERSION:0:1} >/dev/null
+ then
+ printf -- "%s installation completed. Please check the Usage to start the service.\n" "$PACKAGE_NAME"
+ else
+ printf -- "Error while installing %s, exiting with 127 \n" "$PACKAGE_NAME"
+ exit 127
+ fi
+)
+
+
+python3 --version | fgrep "$PACKAGE_VERSION"
+
+pip3 install --user wheel
+pip3 install --user virtualenv
+
+# Install all needed packages in a special wheel cache directory
+pip3 wheel --wheel-dir "$HOME/python3-wheels" -r "${BASH_SOURCE%/*}/../common/shared/requirements.txt"
+
+# shellcheck source=../common/unix/SetEnvVar.sh
+source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
+SetEnvVar "PYTHON3_WHEEL_CACHE" "$HOME/python3-wheels"
diff --git a/coin/provisioning/common/windows/09-install-openssl.sh b/coin/provisioning/qtci-linux-SLES-15-x86_64/09-install-openssl.sh
index 4f1d3768..4f1d3768 100755
--- a/coin/provisioning/common/windows/09-install-openssl.sh
+++ b/coin/provisioning/qtci-linux-SLES-15-x86_64/09-install-openssl.sh
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/18-icc.sh b/coin/provisioning/qtci-linux-SLES-15-x86_64/18-icc.sh
index 7ab8528a..7ab8528a 100755
--- a/coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/18-icc.sh
+++ b/coin/provisioning/qtci-linux-SLES-15-x86_64/18-icc.sh
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/22-mqtt_broker.sh b/coin/provisioning/qtci-linux-SLES-15-x86_64/22-mqtt_broker.sh
index e677427f..e677427f 100755
--- a/coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/22-mqtt_broker.sh
+++ b/coin/provisioning/qtci-linux-SLES-15-x86_64/22-mqtt_broker.sh
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/55-emsdk.sh b/coin/provisioning/qtci-linux-SLES-15-x86_64/55-emsdk.sh
index 44cf1b80..44cf1b80 100755
--- a/coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/55-emsdk.sh
+++ b/coin/provisioning/qtci-linux-SLES-15-x86_64/55-emsdk.sh
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/90-squish.sh b/coin/provisioning/qtci-linux-SLES-15-x86_64/90-squish.sh
index e4281588..e4281588 100755
--- a/coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/90-squish.sh
+++ b/coin/provisioning/qtci-linux-SLES-15-x86_64/90-squish.sh
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/99-unset-proxy.sh b/coin/provisioning/qtci-linux-SLES-15-x86_64/99-unset-proxy.sh
index 5ff78055..5ff78055 100755
--- a/coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/99-unset-proxy.sh
+++ b/coin/provisioning/qtci-linux-SLES-15-x86_64/99-unset-proxy.sh
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/99-version.sh b/coin/provisioning/qtci-linux-SLES-15-x86_64/99-version.sh
index 03565da2..03565da2 100755
--- a/coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/99-version.sh
+++ b/coin/provisioning/qtci-linux-SLES-15-x86_64/99-version.sh
diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/01-install_telegraf.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/01-install_telegraf.sh
new file mode 100755
index 00000000..729f9003
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/01-install_telegraf.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+"$(dirname "$0")"/../common/unix/telegraf_install.sh
diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/01-systemsetup.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/01-systemsetup.sh
index 96bf23f8..5198e230 100755
--- a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/01-systemsetup.sh
+++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/01-systemsetup.sh
@@ -57,6 +57,9 @@ echo "Setting up workaround for Ubuntu systemd resolve bug"
sudo rm -f /etc/resolv.conf
sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf
+# remove hostname to get unique based on IP address
+sudo rm /etc/hostname
+
echo "Set Network Test Server address to $NTS_IP in /etc/hosts"
echo "$NTS_IP qt-test-server qt-test-server.qt-test-net" | sudo tee -a /etc/hosts
diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-apt.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-apt.sh
index ee121e92..dfae2e8b 100755
--- a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-apt.sh
+++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-apt.sh
@@ -46,12 +46,15 @@ for service in apt-daily.timer apt-daily-upgrade.timer apt-daily.service apt-dai
done
function set_internal_repo {
+
+ # Stop fetching the dep-11 metadata, since our mirrors do not handle them well
+ sudo mv /etc/apt/apt.conf.d/50appstream{,.disabled}
+
sudo tee "/etc/apt/sources.list" > /dev/null <<-EOC
- deb [arch=amd64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu.trumpetti.atm.tut.fi/ubuntu/ bionic main restricted universe multiverse
- deb [arch=amd64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu.trumpetti.atm.tut.fi/ubuntu/ bionic main restricted universe multiverse
- deb [arch=amd64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu.trumpetti.atm.tut.fi/ubuntu/ bionic-updates main restricted universe multiverse
- deb [arch=amd64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu.trumpetti.atm.tut.fi/ubuntu/ bionic-backports main restricted universe
- deb [arch=amd64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu.trumpetti.atm.tut.fi/ubuntu/ bionic-security main restricted universe multiverse
+ deb [arch=amd64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ bionic main restricted universe multiverse
+ deb [arch=amd64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ bionic-updates main restricted universe multiverse
+ deb [arch=amd64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ bionic-backports main restricted universe
+ deb [arch=amd64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ bionic-security main restricted universe multiverse
EOC
}
@@ -81,6 +84,9 @@ installPackages+=(libudev-dev)
installPackages+=(libegl1-mesa-dev)
installPackages+=(libfontconfig1-dev)
installPackages+=(libxss-dev)
+installPackages+=(nodejs)
+# NOTE! Can't install nodejs-dev because libssl1.0-dev conflicts with libssl1.0-dev which is depandency of nodejs-dev.
+
# Common event loop handling
installPackages+=(libglib2.0-dev)
# MySQL support
@@ -166,12 +172,19 @@ installPackages+=(git-lfs)
installPackages+=(chrpath)
installPackages+=(gawk)
installPackages+=(texinfo)
+# Needed for Poppler test in QtWebEngine
+installPackages+=(libpoppler-cpp-dev)
# Needed for QtCore
installPackages+=(libdouble-conversion-dev)
installPackages+=(libpcre2-dev)
# Needed for qtgampepad
installPackages+=(libsdl2-2.0)
installPackages+=(libsdl2-dev)
+# Needed for qtwebkit
+installPackages+=(ruby)
+installPackages+=(libxslt1-dev)
+installPackages+=(libxml2-dev)
+installPackages+=(libhyphen-dev)
echo "Running update for apt"
waitLoop
diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/03-gcc.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/03-gcc.sh
index 947583da..6c6a90c8 100755
--- a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/03-gcc.sh
+++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/03-gcc.sh
@@ -5,4 +5,4 @@ set -ex
# shellcheck source=../common/linux/gcc.sh
source "${BASH_SOURCE%/*}/../common/linux/gcc.sh"
-InstallGCC 9.1.0 50 3953fa0d34a467630088d2a43603f74a36a80468 ded538076858926d361af790d59c1f8440dd29b2
+InstallGCC 9.2.0 50 2b3873263d4d6b09b37102078d80dcd7016b9392 44975966b15bca922ba64efa8ec3257726a79153
diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/03-qemu.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/03-qemu.sh
index 4ca84072..d4ad40b7 100755
--- a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/03-qemu.sh
+++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/03-qemu.sh
@@ -34,21 +34,35 @@
set -ex
+# shellcheck source=../common/unix/DownloadURL.sh
+source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh"
# shellcheck source=../common/unix/SetEnvVar.sh
source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
-# build latest qemu to usermode
sudo apt-get -y install automake autoconf libtool
-tempDir=$(mktemp -d)
-git clone git://git.qemu.org/qemu.git "$tempDir"
-cd "$tempDir"
-
-#latest commit from the master proven to work
-git checkout c7f1cf01b8245762ca5864e835d84f6677ae8b1f
-git cherry-pick 75e5b70e6b5dcc4f2219992d7cffa462aa406af0
-git cherry-pick 04b33e21866412689f18b7ad6daf0a54d8f959a7
-git submodule update --init pixman
+DownloadAndBuiltQemu () {
+ tempDir=$(mktemp -d)
+ cd ${tempDir}
+
+ commit_sha=c7f1cf01b8245762ca5864e835d84f6677ae8b1f
+ qemu_tarball="qemu_tarball.zip"
+ PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/qemu/${qemu_tarball}"
+ AltUrl="https://github.com/qemu/qemu/archive/${commit_sha}.zip"
+ SHA1="351289c4420f16575bff060f91ce540d7b3fa2ab"
+ DownloadURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$qemu_tarball"
+ unzip ${qemu_tarball}
+ cd qemu-${commit_sha}
+
+ fixes=( 75e5b70e6b5dcc4f2219992d7cffa462aa406af0 04b33e21866412689f18b7ad6daf0a54d8f959a7 cd8133679f7e0e2c292f631f1c78b2452d2435c7 )
+ fixes_sha1sums=( e53c4f567b461e7e2905636b369c4458ee8c0277 1914e5fa2f707d69d86ceb7c94957d096c8e8db4 eeca01c307d37eb362913b3f811034d5ac77cac8 )
+ for i in $(seq 0 $((${#fixes[@]} - 1))); do
+ PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/qemu/${fixes[$i]}.diff"
+ AltUrl="https://github.com/qemu/qemu/commit/${fixes[$i]}.diff"
+ SHA1="${fixes_sha1sums[$i]}"
+ DownloadURL "$PrimaryUrl" "$AltUrl" "$SHA1" "${fixes[$i]}.diff"
+ patch -p1 < ${fixes[$i]}.diff
+ done
patch -p1 <<EOT
From aad6a8f17dc7ad3681d2d98a01e474a8904a129b Mon Sep 17 00:00:00 2001
@@ -121,27 +135,83 @@ index 11a311f9db..94d8abc745 100644
2.17.1
EOT
-./configure --target-list=arm-linux-user,aarch64-linux-user --static --disable-werror
-make
-sudo make install
-rm -rf "$tempDir"
+patch -p1 <<EOT
+From fb4f0fa319e757c083f0b3674f575a09c323f5aa Mon Sep 17 00:00:00 2001
+From: Assam Boudjelthia <assam.boudjelthia@qt.io>
+Date: Tue, 20 Aug 2019 09:46:46 +0300
+Subject: [PATCH] Suppress unsupported syscall and ioctl debug messages
+
+Those messages were spamming the CI tests output, thus they can
+only be shown by defining environment variable QEMU_SYSCALL_DEBUG=true
+
+diff --git a/linux-user/syscall.c b/linux-user/syscall.c
+index 94d8abc745..e72cfb0cb5 100644
+--- a/linux-user/syscall.c
++++ b/linux-user/syscall.c
+@@ -5479,7 +5479,8 @@ static abi_long do_ioctl(int fd, int cmd, abi_long arg)
+ ie = ioctl_entries;
+ for(;;) {
+ if (ie->target_cmd == 0) {
+- gemu_log("Unsupported ioctl: cmd=0x%04lx\n", (long)cmd);
++ if (getenv("QEMU_SYSCALL_DEBUG"))
++ gemu_log("Unsupported ioctl: cmd=0x%04lx\n", (long)cmd);
+ return -TARGET_ENOSYS;
+ }
+ if (ie->target_cmd == cmd)
+@@ -12172,7 +12173,8 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
+
+ default:
+ unimplemented:
+- gemu_log("qemu: Unsupported syscall: %d\n", num);
++ if (getenv("QEMU_SYSCALL_DEBUG"))
++ gemu_log("qemu: Unsupported syscall: %d\n", num);
+ #if defined(TARGET_NR_setxattr) || defined(TARGET_NR_get_thread_area) || defined(TARGET_NR_getdomainname) || defined(TARGET_NR_set_robust_list)
+ unimplemented_nowarn:
+ #endif
+--
+2.17.1
+EOT
+
+ ./configure --disable-bsd-user --disable-guest-agent --disable-strip --disable-werror --disable-gcrypt --disable-debug-info --disable-debug-tcg --disable-tcg-interpreter --enable-attr --disable-brlapi --disable-linux-aio --disable-bzip2 --disable-bluez --disable-cap-ng --disable-curl --disable-fdt --disable-glusterfs --disable-gnutls --disable-nettle --disable-gtk --disable-rdma --disable-libiscsi --disable-vnc-jpeg --disable-kvm --disable-lzo --disable-curses --disable-libnfs --disable-numa --disable-opengl --disable-vnc-png --disable-rbd --disable-vnc-sasl --disable-sdl --disable-seccomp --disable-smartcard --disable-snappy --disable-spice --disable-libusb --disable-usb-redir --disable-vde --disable-vhost-net --disable-virglrenderer --disable-virtfs --disable-vnc --disable-vte --disable-xen --disable-xen-pci-passthrough --disable-xfsctl --enable-linux-user --disable-system --disable-blobs --disable-tools --target-list=arm-linux-user,aarch64-linux-user --static --disable-pie --disable-docs
+ make
+ sudo make install
+
+# To create a new qemu.deb file add "--prefix=${tempDir}/qemu_prebuilt/usr/local/" to ./configure
+# Then add the following commands, make sure to change the version number.
+# mkdir ${tempDir}/qemu_prebuilt/DEBIAN
+# echo -n "Package: QEMU
+# Version: 2.8.0-833-g09cc6b1ab7-dirty
+# Section: misc
+# Priority: important
+# Architecture: i386
+# Maintainer: Fabrice Bellard and the QEMU Project developers
+# Description: QEMU for arm and arm64" > ${tempDir}/qemu_prebuilt/DEBIAN/control
+#
+# dpkg-deb --build ${tempDir}/qemu_prebuilt/
+ rm -rf ${tempDir}
+}
+
+qemu_prebuilt="/tmp/qemu_prebuilt.deb"
+PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/qemu/qemu_prebuilt.deb"
+AltUrl=${PrimaryUrl}
+SHA1="a50bea7ee79ca7b7b6eebe55f02853997d445ea4"
+DownloadURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$qemu_prebuilt" 2>&1 && success=$? || success=$?
+if [ $success -eq 0 ]; then
+ sudo dpkg -i ${qemu_prebuilt}
+else
+ DownloadAndBuiltQemu
+fi
# Enable binfmt support
sudo apt-get -y install binfmt-support
# Install qemu binfmt for 32bit and 64bit arm architectures
-sudo update-binfmts --package qemu-arm --install arm \
-/usr/local/bin/qemu-arm \
---magic \
-"\x7f\x45\x4c\x46\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00" \
---mask \
-"\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff"
-sudo update-binfmts --package qemu-aarch64 --install aarch64 \
-/usr/local/bin/qemu-aarch64 \
---magic \
-"\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xb7\x00" \
---mask \
-"\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff"
+sudo update-binfmts --package qemu-arm --install arm /usr/local/bin/qemu-arm \
+--magic "\x7f\x45\x4c\x46\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00" \
+--mask "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff"
+sudo update-binfmts --package qemu-aarch64 --install aarch64 /usr/local/bin/qemu-aarch64 \
+--magic "\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xb7\x00" \
+--mask "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff"
# First test using QFont fails if fonts-noto-cjk is installed. This happens because
# running fontcache for that font takes > 5 mins when run on QEMU. Running fc-cache
diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/04-yocto.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/04-yocto.sh
index f43e8fd2..ec6aa217 100755
--- a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/04-yocto.sh
+++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/04-yocto.sh
@@ -2,7 +2,7 @@
#############################################################################
##
-## Copyright (C) 2017 The Qt Company Ltd.
+## Copyright (C) 2019 The Qt Company Ltd.
## Contact: http://www.qt.io/licensing/
##
## This file is part of the provisioning scripts of the Qt Toolkit.
@@ -44,14 +44,14 @@ source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
echo "Installing Yocto toolchain for 32-bit b2qt ARMV7..."
-versionARM="2.5.2"
-package="b2qt-x86_64-meta-toolchain-b2qt-embedded-sdk-qemuarmv7-409ebc3.sh"
-PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/boot2qt/sumo/$package"
-AltUrl="http://download.qt.io/development_releases/prebuilt/boot2qt/sumo/$package"
-SHA1="a03b4eb492b16c6e60cf83c0718c27e9cfa6d522"
+versionARM="2.7.2"
+package="b2qt-x86_64-meta-toolchain-b2qt-embedded-sdk-qemuarmv7-60f80be.sh"
+PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/boot2qt/warrior/$package"
+AltUrl="http://download.qt.io/development_releases/prebuilt/boot2qt/warrior/$package"
+SHA1="b4a090f85268bed076451584cd48e27e17a6ae48"
yoctoInstaller="/tmp/yocto-toolchain-ARMv7.sh"
yoctoLocationARMv7="/opt/yocto-armv7"
-sysrootARMv7="sysroots/armv7ahf-neon-poky-linux-gnueabi"
+sysrootARMv7="sysroots/armv7at2hf-neon-poky-linux-gnueabi"
crosscompileARMv7="sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-"
DownloadURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$yoctoInstaller"
@@ -62,11 +62,11 @@ rm -rf "$yoctoInstaller"
echo "Installing Yocto toolchain for 64-bit b2qt ARM64..."
-versionARM64="2.5.2"
-package="b2qt-x86_64-meta-toolchain-b2qt-embedded-sdk-qemuarm64-409ebc3.sh"
-PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/boot2qt/sumo/$package"
-AltUrl="http://download.qt.io/development_releases/prebuilt/boot2qt/sumo/$package"
-SHA1="3dadf1135d00f7cb5586b605b1f7344ae828c9cd"
+versionARM64="2.7.2"
+package="b2qt-x86_64-meta-toolchain-b2qt-embedded-sdk-qemuarm64-60f80be.sh"
+PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/boot2qt/warrior/$package"
+AltUrl="http://download.qt.io/development_releases/prebuilt/boot2qt/warrior/$package"
+SHA1="9ba48d4d80a09908dd75090f94662c8192f0b19f"
yoctoInstaller="/tmp/yocto-toolchain-ARM64.sh"
yoctoLocationARM64="/opt/yocto-arm64"
sysrootARM64="sysroots/aarch64-poky-linux"
@@ -80,14 +80,14 @@ rm -rf "$yoctoInstaller"
echo "Installing Yocto toolchain for 64-bit b2qt MIPS64..."
-versionMIPS64="2.5.2"
-package="b2qt-x86_64-meta-toolchain-b2qt-embedded-sdk-qemumips64-409ebc3.sh"
-PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/boot2qt/sumo/$package"
-AltUrl="http://download.qt.io/development_releases/prebuilt/boot2qt/sumo/$package"
-SHA1="dd03b496707ca8888b339a667e021722a8c2fdb4"
+versionMIPS64="2.7.2"
+package="b2qt-x86_64-meta-toolchain-b2qt-embedded-sdk-qemumips64-60f80be.sh"
+PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/boot2qt/warrior/$package"
+AltUrl="http://download.qt.io/development_releases/prebuilt/boot2qt/warrior/$package"
+SHA1="b3a922b7501123464454c9a49f32b23fe1fd25b4"
yoctoInstaller="/tmp/yocto-toolchain-mips64.sh"
yoctoLocationMIPS64="/opt/yocto-mips64"
-sysrootMIPS64="sysroots/mips64-poky-linux"
+sysrootMIPS64="sysroots/mips64r2-poky-linux"
crosscompileMIPS64="sysroots/x86_64-pokysdk-linux/usr/bin/mips64-poky-linux/mips64-poky-linux-"
DownloadURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$yoctoInstaller"
@@ -115,7 +115,7 @@ echo "Yocto ARM64 toolchain = $versionARM64" >> ~/versions.txt
echo "Yocto MIPS64 toolchain = $versionMIPS64" >> ~/versions.txt
# List qt user in qemu toolchain sysroots
-sudo sh -c "grep ^qt /etc/passwd >> /opt/yocto-armv7/sysroots/armv7ahf-neon-poky-linux-gnueabi/etc/passwd"
-sudo sh -c "grep ^qt /etc/group >> /opt/yocto-armv7/sysroots/armv7ahf-neon-poky-linux-gnueabi/etc/group"
+sudo sh -c "grep ^qt /etc/passwd >> /opt/yocto-armv7/sysroots/armv7at2hf-neon-poky-linux-gnueabi/etc/passwd"
+sudo sh -c "grep ^qt /etc/group >> /opt/yocto-armv7/sysroots/armv7at2hf-neon-poky-linux-gnueabi/etc/group"
sudo sh -c "grep ^qt /etc/passwd >> /opt/yocto-arm64/sysroots/aarch64-poky-linux/etc/passwd"
sudo sh -c "grep ^qt /etc/group >> /opt/yocto-arm64/sysroots/aarch64-poky-linux/etc/group"
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/09-install-openssl.sh b/coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/09-install-openssl.sh
deleted file mode 100755
index 4f1d3768..00000000
--- a/coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/09-install-openssl.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/bash
-
-set -ex
-
-# shellcheck source=../common/unix/install-openssl.sh
-source "${BASH_SOURCE%/*}/../common/unix/install-openssl.sh" "linux"
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.1-x86_64/01-install_telegraf.sh b/coin/provisioning/qtci-linux-openSUSE-15.1-x86_64/01-install_telegraf.sh
new file mode 100755
index 00000000..729f9003
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.1-x86_64/01-install_telegraf.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+"$(dirname "$0")"/../common/unix/telegraf_install.sh
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/01-systemsetup.sh b/coin/provisioning/qtci-linux-openSUSE-15.1-x86_64/01-systemsetup.sh
index 7e6993a5..d3724ceb 100755
--- a/coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/01-systemsetup.sh
+++ b/coin/provisioning/qtci-linux-openSUSE-15.1-x86_64/01-systemsetup.sh
@@ -23,6 +23,9 @@ echo 'export DISPLAY=":0"' >> ~/.bashrc
echo "Disabling file indexing."
sudo balooctl disable
+sudo systemctl stop packagekit
+sudo systemctl disable packagekit
+sudo systemctl mask packagekit
while sudo fuser /usr/lib/packagekitd >/dev/null 2>&1 ; do
echo "Waiting for PackageKit to finish..."
sleep 0.5
diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/02-disable-ntp.sh b/coin/provisioning/qtci-linux-openSUSE-15.1-x86_64/02-disable-ntp.sh
index 89806892..38707a8a 100755
--- a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/02-disable-ntp.sh
+++ b/coin/provisioning/qtci-linux-openSUSE-15.1-x86_64/02-disable-ntp.sh
@@ -1,4 +1,3 @@
#!/usr/bin/env bash
-
# shellcheck source=../common/linux/disable-ntp_linux.sh
source "${BASH_SOURCE%/*}/../common/linux/disable-ntp_linux.sh"
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/02-zypperpackages.sh b/coin/provisioning/qtci-linux-openSUSE-15.1-x86_64/02-zypperpackages.sh
index 9da9ed0f..8f80518d 100755
--- a/coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/02-zypperpackages.sh
+++ b/coin/provisioning/qtci-linux-openSUSE-15.1-x86_64/02-zypperpackages.sh
@@ -37,7 +37,7 @@ sudo zypper -nq install libicu-devel libicu60_2
# qtwebengine
sudo zypper -nq install alsa-devel dbus-1-devel \
libXcomposite-devel libXcursor-devel libXrandr-devel libXtst-devel \
- mozilla-nspr-devel mozilla-nss-devel
+ mozilla-nspr-devel mozilla-nss-devel nodejs10 nodejs10-devel
# qtwebkit
sudo zypper -nq install libxml2-devel libxslt-devel
@@ -50,3 +50,4 @@ sudo zypper -nq install cups-devel
#speech-dispatcher
sudo zypper -nq install libspeechd-devel
+
diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/27-libclang.sh b/coin/provisioning/qtci-linux-openSUSE-15.1-x86_64/08-libclang.sh
index 33795b08..bbe2b4b4 100755
--- a/coin/provisioning/qtci-macos-10.12-x86_64/27-libclang.sh
+++ b/coin/provisioning/qtci-linux-openSUSE-15.1-x86_64/08-libclang.sh
@@ -3,5 +3,5 @@
set -ex
BASEDIR=$(dirname "$0")
-# There is only one mac package
+# shellcheck source=../common/unix/libclang.sh
"$BASEDIR/../common/unix/libclang.sh"
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/08-pythondev.sh b/coin/provisioning/qtci-linux-openSUSE-15.1-x86_64/08-pythondev.sh
index 6c5d2a0f..ab966a02 100755
--- a/coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/08-pythondev.sh
+++ b/coin/provisioning/qtci-linux-openSUSE-15.1-x86_64/08-pythondev.sh
@@ -5,11 +5,10 @@
set -ex
-sudo pkcon -y refresh
-sudo pkcon -y install python-devel python-virtualenv
+sudo zypper -nq install python-devel python-xml
# install python3
-sudo pkcon -y install libpython3_4m1_0 python3-base python3 python3-pip python3-devel python3-virtualenv python3-wheel
+sudo zypper -nq install python3-base python3 python3-pip python3-devel python3-virtualenv python3-wheel
# Install all needed packages in a special wheel cache directory
pip3 wheel --wheel-dir "$HOME/python3-wheels" -r "${BASH_SOURCE%/*}/../common/shared/requirements.txt"
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/09-cmake.sh b/coin/provisioning/qtci-linux-openSUSE-15.1-x86_64/09-cmake.sh
index 5eb53566..5eb53566 100755
--- a/coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/09-cmake.sh
+++ b/coin/provisioning/qtci-linux-openSUSE-15.1-x86_64/09-cmake.sh
diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/09-install-openssl.sh b/coin/provisioning/qtci-linux-openSUSE-15.1-x86_64/09-install-openssl.sh
index 4f1d3768..4f1d3768 100755
--- a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/09-install-openssl.sh
+++ b/coin/provisioning/qtci-linux-openSUSE-15.1-x86_64/09-install-openssl.sh
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.1-x86_64/18-icc.sh b/coin/provisioning/qtci-linux-openSUSE-15.1-x86_64/18-icc.sh
new file mode 100755
index 00000000..7ab8528a
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.1-x86_64/18-icc.sh
@@ -0,0 +1,86 @@
+#!/usr/bin/env bash
+
+#############################################################################
+##
+## Copyright (C) 2017 The Qt Company Ltd.
+## Contact: http://www.qt.io/licensing/
+##
+## This file is part of the provisioning scripts of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL21$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see http://www.qt.io/terms-conditions. For further
+## information use the contact form at http://www.qt.io/contact-us.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 2.1 or version 3 as published by the Free
+## Software Foundation and appearing in the file LICENSE.LGPLv21 and
+## LICENSE.LGPLv3 included in the packaging of this file. Please review the
+## following information to ensure the GNU Lesser General Public License
+## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## As a special exception, The Qt Company gives you certain additional
+## rights. These rights are described in The Qt Company LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+# This script install Intel Parallel Studio XE Composer Edition for C++ Linux
+
+# shellcheck source=../common/unix/DownloadURL.sh
+source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh"
+
+set -ex
+
+mainStorage="ci-files01-hki.intra.qt.io:/hdd/www/input"
+localMount="/mnt/storage/"
+
+iccPackage="parallel_studio_xe_2018_update1_composer_edition_for_cpp.tgz"
+iccPackageSource="$localMount/intel/$iccPackage"
+iccInstallPath="/opt/intel"
+iccTmpPath="/tmp/icc"
+
+iccLicense="l_icc_2018.lic"
+iccLicenseSource="$localMount/semisecure/$iccLicense"
+iccLicenseTarget="/home/qt/$iccLicense"
+
+iccInstallInstructions="$iccTmpPath/instructions.txt"
+
+sudo mkdir -p "$localMount"
+sudo mount "$mainStorage" "$localMount"
+mkdir -p "$iccTmpPath"
+tar -zxf "$iccPackageSource" -C "$iccTmpPath" --strip 1
+
+cp "$iccLicenseSource" "$iccLicenseTarget"
+
+sudo umount "$localMount"
+
+cat >"$iccInstallInstructions" <<EOT
+ACCEPT_EULA=accept
+CONTINUE_WITH_OPTIONAL_ERROR=yes
+PSET_INSTALL_DIR=$iccInstallPath
+CONTINUE_WITH_INSTALLDIR_OVERWRITE=yes
+PSET_MODE=install
+ACTIVATION_LICENSE_FILE=$iccLicenseTarget
+ACTIVATION_TYPE=license_file
+PHONEHOME_SEND_USAGE_DATA=no
+ARCH_SELECTED=ALL
+COMPONENTS=;intel-comp__x86_64;intel-comp-32bit__x86_64;intel-comp-doc__noarch;intel-comp-l-all-common__noarch;intel-comp-l-all-vars__noarch;intel-comp-nomcu-vars__noarch;intel-comp-ps-32bit__x86_64;intel-comp-ps__x86_64;intel-comp-ps-ss__x86_64;intel-comp-ps-ss-bec__x86_64;intel-comp-ps-ss-bec-32bit__x86_64;intel-openmp__x86_64;intel-openmp-32bit__x86_64;intel-openmp-common__noarch;intel-openmp-common-icc__noarch;intel-tbb-libs-32bit__x86_64;intel-tbb-libs__x86_64;intel-idesupport-icc-common-ps__noarch;intel-icc__x86_64;intel-icc-32bit__x86_64;intel-c-comp-common__noarch;intel-icc-common__noarch;intel-icc-common-ps__noarch;intel-icc-common-ps-ss-bec__noarch;intel-icc-doc__noarch;intel-icc-doc-ps__noarch;intel-icc-ps__x86_64;intel-icc-ps-ss__x86_64;intel-icc-ps-ss-bec__x86_64;intel-icc-ps-ss-bec-32bit__x86_64;intel-tbb-devel-32bit__x86_64;intel-tbb-devel__x86_64;intel-tbb-common__noarch;intel-tbb-doc__noarch;intel-ism__noarch;intel-ccompxe__noarch;intel-psxe-common__noarch;intel-psxe-doc__noarch;intel-psxe-common-doc__noarch;intel-ccompxe-doc__noarch;intel-psxe-licensing__noarch;intel-psxe-licensing-doc__noarch;intel-icsxe-pset
+EOT
+
+(cd "$iccTmpPath" && sudo ./install.sh --silent $iccInstallInstructions --ignore-cpu)
+
+# Export LD_LIBRARY_PATH to Coin
+echo "export ICC64_18_LDLP=$iccInstallPath/lib/intel64" >>~/.bashrc
+echo "export ICC64_18_PATH=$iccInstallPath/compilers_and_libraries_2018.1.163/linux/bin/intel64:$iccInstallPath/bin" >>~/.bashrc
+echo "ICC = 18.0.1 20171018" >> ~/versions.txt
+
+rm -rf "$iccTmpPath"
diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/22-mqtt_broker.sh b/coin/provisioning/qtci-linux-openSUSE-15.1-x86_64/22-mqtt_broker.sh
index 505374c5..e677427f 100755
--- a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/22-mqtt_broker.sh
+++ b/coin/provisioning/qtci-linux-openSUSE-15.1-x86_64/22-mqtt_broker.sh
@@ -5,7 +5,7 @@
## Copyright (C) 2017 The Qt Company Ltd.
## Contact: http://www.qt.io/licensing/
##
-## This file is part of the test suite of the Qt Toolkit.
+## This file is part of the provisioning scripts of the Qt Toolkit.
##
## $QT_BEGIN_LICENSE:LGPL21$
## Commercial License Usage
diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/01-sha1sum-compatibility.sh b/coin/provisioning/qtci-linux-openSUSE-15.1-x86_64/55-emsdk.sh
index 52650fea..44cf1b80 100755
--- a/coin/provisioning/qtci-macos-10.12-x86_64/01-sha1sum-compatibility.sh
+++ b/coin/provisioning/qtci-linux-openSUSE-15.1-x86_64/55-emsdk.sh
@@ -33,9 +33,7 @@
##
#############################################################################
-#!/usr/bin/env bash
-
set -ex
-# shellcheck source=../common/macos/sha1sum-compatibility.sh
-source "${BASH_SOURCE%/*}/../common/macos/sha1sum-compatibility.sh"
+# shellcheck source=../common/unix/emsdk.sh
+source "${BASH_SOURCE%/*}/../common/unix/emsdk.sh"
diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/90-squish.sh b/coin/provisioning/qtci-linux-openSUSE-15.1-x86_64/90-squish.sh
index 17a0c38e..e4281588 100755
--- a/coin/provisioning/qtci-macos-10.12-x86_64/90-squish.sh
+++ b/coin/provisioning/qtci-linux-openSUSE-15.1-x86_64/90-squish.sh
@@ -1,6 +1,4 @@
#!/usr/bin/env bash
-set -ex
-
BASEDIR=$(dirname "$0")
"$BASEDIR/../common/unix/squishInstall.sh"
diff --git a/coin/provisioning/common/windows/50-openssl_for_android_linux.sh b/coin/provisioning/qtci-linux-openSUSE-15.1-x86_64/99-unset-proxy.sh
index 81ea3b17..5ff78055 100755
--- a/coin/provisioning/common/windows/50-openssl_for_android_linux.sh
+++ b/coin/provisioning/qtci-linux-openSUSE-15.1-x86_64/99-unset-proxy.sh
@@ -1,5 +1,4 @@
-#!/bin/bash
-
+#!/usr/bin/env bash
#############################################################################
##
## Copyright (C) 2017 The Qt Company Ltd.
@@ -35,5 +34,6 @@
set -ex
-# shellcheck source=../common/linux/openssl_for_android_linux.sh
-source "${BASH_SOURCE%/*}/../common/linux/openssl_for_android_linux.sh"
+# Having proxy set while running autotests makes them fail
+sudo sed -i 's/PROXY_ENABLED=\"yes\"/PROXY_ENABLED=\"no\"/' /etc/sysconfig/proxy
+
diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/99-version.sh b/coin/provisioning/qtci-linux-openSUSE-15.1-x86_64/99-version.sh
index 1354bf6b..03565da2 100755
--- a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/99-version.sh
+++ b/coin/provisioning/qtci-linux-openSUSE-15.1-x86_64/99-version.sh
@@ -2,10 +2,10 @@
#############################################################################
##
-## Copyright (C) 2016 The Qt Company Ltd.
+## Copyright (C) 2018 The Qt Company Ltd.
## Contact: http://www.qt.io/licensing/
##
-## This file is part of the test suite of the Qt Toolkit.
+## This file is part of the provisioning scripts of the Qt Toolkit.
##
## $QT_BEGIN_LICENSE:LGPL21$
## Commercial License Usage
diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/02-disable-ntp.sh b/coin/provisioning/qtci-macos-10.12-x86_64/02-disable-ntp.sh
deleted file mode 100755
index 3304cc3e..00000000
--- a/coin/provisioning/qtci-macos-10.12-x86_64/02-disable-ntp.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/usr/bin/env bash
-set -ex
-
-# shellcheck source=../common/unix/disable-ntp_macos.sh
-source "${BASH_SOURCE%/*}/../common/unix/disable-ntp_macos.sh"
diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/03-bashprofile.sh b/coin/provisioning/qtci-macos-10.12-x86_64/03-bashprofile.sh
deleted file mode 100755
index 2c3e45f3..00000000
--- a/coin/provisioning/qtci-macos-10.12-x86_64/03-bashprofile.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/usr/bin/env sh
-
-set -ex
-
-# Read .bashrc if exist
-printf -- "# Get the aliases and functions\nif [ -f ~/.bashrc ]; then\n . ~/.bashrc\nfi\n" >> ~/.bash_profile
-
diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/05-systemsetup.sh b/coin/provisioning/qtci-macos-10.12-x86_64/05-systemsetup.sh
deleted file mode 100755
index ce8043fa..00000000
--- a/coin/provisioning/qtci-macos-10.12-x86_64/05-systemsetup.sh
+++ /dev/null
@@ -1,91 +0,0 @@
-#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-set -ex
-
-# This script modified system settings for automated use
-
-VNCPassword=qt
-NTS_IP=10.212.2.216
-
-echo "Disable Screensaver"
-# For current session
-defaults -currentHost write com.apple.screensaver idleTime 0
-
-echo "Disable sleep"
-sudo pmset sleep 0 displaysleep 0
-
-# For session after a reboot
-mkdir -p "$HOME/Library/LaunchAgents"
-cat >"$HOME/Library/LaunchAgents/no-screensaver.plist" <<EOT
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-
-<plist version="1.0">
- <dict>
- <key>Label</key>
- <string>org.qt.io.screensaver_disable</string>
- <key>ProgramArguments</key>
- <array>
- <string>defaults</string>
- <string>-currentHost</string>
- <string>write</string>
- <string>com.apple.screensaver</string>
- <string>idleTime</string>
- <string>0</string>
- </array>
- <key>RunAtLoad</key>
- <true/>
- <key>KeepAlive</key>
- <false/>
- </dict>
-</plist>
-EOT
-
-defaults write com.apple.screensaver askForPassword -int 0
-
-echo "Set keyboard type rates and delays"
-# normal minimum is 15 (225 ms)
-defaults write -g InitialKeyRepeat -int 15
-# normal minimum is 2 (30 ms)
-defaults write -g KeyRepeat -int 2
-
-echo "Enable remote desktop sharing"
-sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -clientopts -setvnclegacy -vnclegacy yes -clientopts -setvncpw -vncpw $VNCPassword -restart -agent -privs -all
-
-echo "Set Network Test Server address to $NTS_IP in /etc/hosts"
-echo "$NTS_IP qt-test-server qt-test-server.qt-test-net" | sudo tee -a /etc/hosts
-
-sudo systemsetup settimezone GMT
diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/06-crashreporter.sh b/coin/provisioning/qtci-macos-10.12-x86_64/06-crashreporter.sh
deleted file mode 100755
index 8461c656..00000000
--- a/coin/provisioning/qtci-macos-10.12-x86_64/06-crashreporter.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/usr/bin/env sh
-
-set -ex
-
-defaults write com.apple.CrashReporter DialogType server
diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/06-disable_spotlight.sh b/coin/provisioning/qtci-macos-10.12-x86_64/06-disable_spotlight.sh
deleted file mode 100755
index 67e2c1f6..00000000
--- a/coin/provisioning/qtci-macos-10.12-x86_64/06-disable_spotlight.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/usr/bin/env bash
-set -ex
-
-# shellcheck source=../common/macos/disable_spotlight.sh
-source "${BASH_SOURCE%/*}/../common/macos/disable_spotlight.sh"
diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/06-disable_update_downloads.sh b/coin/provisioning/qtci-macos-10.12-x86_64/06-disable_update_downloads.sh
deleted file mode 100755
index 3c11214d..00000000
--- a/coin/provisioning/qtci-macos-10.12-x86_64/06-disable_update_downloads.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/usr/bin/env bash
-set -ex
-BASEDIR=$(dirname "$0")
-"$BASEDIR"/../common/macos/disable_update_downloads.sh
diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/07-SSL_keychain.sh b/coin/provisioning/qtci-macos-10.12-x86_64/07-SSL_keychain.sh
deleted file mode 100755
index 6e7c796a..00000000
--- a/coin/provisioning/qtci-macos-10.12-x86_64/07-SSL_keychain.sh
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/usr/bin/env sh
-
-set -ex
-
-# shellcheck source=../common/unix/SetEnvVar.sh
-source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
-
-# Enables the usage of temporary keychains for SSL autotests
-SetEnvVar "QT_SSL_USE_TEMPORARY_KEYCHAIN" "1"
diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/20-java.sh b/coin/provisioning/qtci-macos-10.12-x86_64/20-java.sh
deleted file mode 100755
index dcfcb93b..00000000
--- a/coin/provisioning/qtci-macos-10.12-x86_64/20-java.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/usr/bin/env bash
-set -ex
-
-BASEDIR=$(dirname "$0")
-"$BASEDIR/../common/macos/java.sh"
diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/25-python2.sh b/coin/provisioning/qtci-macos-10.12-x86_64/25-python2.sh
deleted file mode 100755
index 7ebb8825..00000000
--- a/coin/provisioning/qtci-macos-10.12-x86_64/25-python2.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/usr/bin/env bash
-set -ex
-
-# shellcheck source=../common/macos/python2.sh
-source "${BASH_SOURCE%/*}/../common/macos/python2.sh"
diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/25-python3.sh b/coin/provisioning/qtci-macos-10.12-x86_64/25-python3.sh
deleted file mode 100755
index eb2a4863..00000000
--- a/coin/provisioning/qtci-macos-10.12-x86_64/25-python3.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/usr/bin/env bash
-set -ex
-
-# shellcheck source=../common/macos/python3.sh
-source "${BASH_SOURCE%/*}/../common/macos/python3.sh"
diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/26-odbc.sh b/coin/provisioning/qtci-macos-10.12-x86_64/26-odbc.sh
deleted file mode 100755
index 2aedfe7b..00000000
--- a/coin/provisioning/qtci-macos-10.12-x86_64/26-odbc.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/usr/bin/env bash
-# Install libiodbc
-
-set -ex
-
-BASEDIR=$(dirname "$0")
-"$BASEDIR/../common/macos/libiodbc.sh"
diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/26-p7zip.sh b/coin/provisioning/qtci-macos-10.12-x86_64/26-p7zip.sh
deleted file mode 100755
index 15511332..00000000
--- a/coin/provisioning/qtci-macos-10.12-x86_64/26-p7zip.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/usr/bin/env bash
-# Install 7z to be used from command line
-
-set -ex
-
-brew update
-brew install p7zip
diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/35-openssl.sh b/coin/provisioning/qtci-macos-10.12-x86_64/35-openssl.sh
deleted file mode 100755
index 44fa76f1..00000000
--- a/coin/provisioning/qtci-macos-10.12-x86_64/35-openssl.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/usr/bin/env bash
-
-set -ex
-
-# shellcheck source=../common/macos/install_openssl.sh
-source "${BASH_SOURCE%/*}/../common/unix/install-openssl.sh" "macos"
diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/55-signtools.sh b/coin/provisioning/qtci-macos-10.12-x86_64/55-signtools.sh
deleted file mode 100755
index 5bc77ad3..00000000
--- a/coin/provisioning/qtci-macos-10.12-x86_64/55-signtools.sh
+++ /dev/null
@@ -1,138 +0,0 @@
-#!/usr/bin/env sh
-
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-# Install tools for singing packages
-# This script assume that OS is vanilla. Target machine dosen't have any signing certificates installed.
-
-set -ex
-
-cache="http://ci-files01-hki.intra.qt.io/input"
-cacheSigningTools="$cache/mac/sign_tools"
-targetFolder="/Users/qt"
-keychains="$targetFolder/Library/Keychains"
-
-Install() {
-
- url=$1
- targetFile=$2
- expectedSha1=$3
-
- echo "Fetching $targetFile from $url..."
- curl --retry 5 --retry-delay 10 --retry-max-time 60 "$url" -o "$targetFile"
- shasum "$targetFile" |grep "$expectedSha1"
-
-}
-
-# qt-license
-sha1QtLicense="9d59241d16f68d914f1c7aa1dc23e05faa169e8d"
-Install "$cache/semisecure/.qt-license" "$targetFolder/.qt-license" $sha1QtLicense
-
-# Login keychain
-sha1LoginKeychainPassword="aae58d00d0a1b179a09f21cfc67f9d16fb95ff36"
-Install "$cacheSigningTools/login_keychain_password.txt" "$targetFolder/login_keychain_password.txt" "$sha1LoginKeychainPassword"
-loginKeychainPassword=$(cat "$targetFolder/login_keychain_password.txt")
-loginKeychain=$keychains/login.keychain
-
-echo "Setting login.keychain as default keychain.."
-security default-keychain -s $loginKeychain*
-echo "Unlocking Login keychain with password.."
-security unlock-keychain -p "$loginKeychainPassword" $loginKeychain*
-
-echo "remove the "Lock after X minutes of inactivity" from login.keychain"
-security set-keychain-settings $loginKeychain
-
-# Apple Worldwide Developer Relations Certification Authority -> https://developer.apple.com/certificationauthority/AppleWWDRCA.cer
-sha1AppleWWDRCA="ff6797793a3cd798dc5b2abef56f73edc9f83a64"
-Install "$cacheSigningTools/AppleWWDRCA.cer" "$targetFolder/AppleWWDRCA.cer" $sha1AppleWWDRCA
-sudo security add-certificates -k $loginKeychain* "$targetFolder/AppleWWDRCA.cer"
-
-# Developer ID Certification Authority -> https://www.apple.com/certificateauthority/DeveloperIDCA.cer
-sha1DeveloperIDCA="3b166c3b7dc4b751c9fe2afab9135641e388e186"
-Install "$cacheSigningTools/DeveloperIDCA.cer" "$targetFolder/DeveloperIDCA.cer" $sha1DeveloperIDCA
-sudo security add-certificates -k $loginKeychain* "$targetFolder/DeveloperIDCA.cer"
-
-# Create script to unlock keychain 'security unlock-keychain -p 'password' Developer_ID_TheQtCompany.keychain'
-sha1UnLockKeychain="4398870e3f558ad28c80566b5f70e24dc29ea724"
-unlockKeychain=$targetFolder/unlock-keychain.sh
-Install "$cacheSigningTools/unlock-keychain.sh" "$unlockKeychain" $sha1UnLockKeychain
-sudo chmod 755 "$unlockKeychain"
-
-# Codesigning requirements file. The bundle identifier in the requirements file should match the identifier of the application that is signed.
-shaCsreq="2c3f00b1845a0f475673fd6934ba25ea51d1f910"
-csreq=$targetFolder/csreq_qt_company.txt
-Install "$cacheSigningTools/csreq_qt_company.txt" "$csreq" $shaCsreq
-chmod 755 "$csreq"
-
-# iOS signing tools
-devIDKeychain="Developer_ID_TheQtCompany.keychain"
-shaDevIdKeychain="0420a129c17725a97afd6fdafeb9cddfb80a65ca"
-Install "$cacheSigningTools/$devIDKeychain" "$keychains/$devIDKeychain" $shaDevIdKeychain
-echo "Opening $devIDKeychain.."
-open "$keychains/$devIDKeychain"
-
-sha1DeveloperIDTheQtCompanyKeychainPassword="d758e067736bbda7a91ffaec66cd38afdaf68ea6"
-Install "$cacheSigningTools/Developer_ID_TheQtCompany_keychain_password.txt" "$targetFolder/Developer_ID_TheQtCompany_keychain_password.txt" "$sha1DeveloperIDTheQtCompanyKeychainPassword"
-DeveloperIDTheQtCompanyKeychainPassword=$(cat "$targetFolder/Developer_ID_TheQtCompany_keychain_password.txt")
-
-echo "Unlocking $devIDKeychain with password.."
-security unlock-keychain -p "$DeveloperIDTheQtCompanyKeychainPassword" $keychains/Developer_ID_TheQtCompany.keychain
-security set-keychain-settings $keychains/Developer_ID_TheQtCompany.keychain
-
-sha1Ios="aae58d00d0a1b179a09f21cfc67f9d16fb95ff36"
-Install "$cacheSigningTools/ios_password.txt" "$targetFolder/ios_password.txt" $sha1Ios
-iosPassword=$(cat "$targetFolder/ios_password.txt")
-
-iPhoneDeveloper="iosdevelopment.p12"
-shaIPhoneDeveloper="f48f6827e8d0ccdc764cb987e401b9a6f7d3f10c"
-Install "$cacheSigningTools/latest_ios_cert/$iPhoneDeveloper" "$targetFolder/$iPhoneDeveloper" $shaIPhoneDeveloper
-echo "Importing $iPhoneDeveloper.."
-security import $targetFolder/$iPhoneDeveloper -k $loginKeychain* -P "$iosPassword" -T /usr/bin/codesign
-
-iPhoneDistribution="iosdistribution.p12"
-shaIPhoneDistribution="64b1174fc3ce0eca044fbc9fa144f6a2d4330171"
-Install "$cacheSigningTools/latest_ios_cert/$iPhoneDistribution" "$targetFolder/$iPhoneDistribution" $shaIPhoneDistribution
-echo "Importing $iPhoneDistribution.."
-security import "$targetFolder/$iPhoneDistribution" -k $loginKeychain* -P "$iosPassword" -T /usr/bin/codesign
-
-# Mobileprovision
-echo "Creating directory $targetFolder/Library/MobileDevice/Provisioning Profiles.."
-mkdir "$targetFolder/Library/MobileDevice"
-mkdir "$targetFolder/Library/MobileDevice/Provisioning Profiles"
-shaMobileprovision="88c67c95a6f59e6463a00da0b5021f581db624bf"
-Install "$cacheSigningTools/latest_ios_cert/iOS_Dev08112017.mobileprovision" "$targetFolder/Library/MobileDevice/Provisioning Profiles/iOS_Dev08112017.mobileprovision" $shaMobileprovision
-
-# Removing password files
-rm -fr "$targetFolder/login_keychain_password.txt"
-
diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/99-mac-version.sh b/coin/provisioning/qtci-macos-10.12-x86_64/99-mac-version.sh
deleted file mode 100755
index 99d94150..00000000
--- a/coin/provisioning/qtci-macos-10.12-x86_64/99-mac-version.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/usr/bin/env bash
-
-set -ex
-
-BASEDIR=$(dirname "$0")
-$BASEDIR/../common/macos/macos-version.sh
diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/01-disable-notifications_and_warnings.sh b/coin/provisioning/qtci-macos-10.13-x86_64/01-disable-notifications_and_warnings.sh
new file mode 100755
index 00000000..27efbb62
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.13-x86_64/01-disable-notifications_and_warnings.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+"$(dirname "$0")"/../common/macos/disable-notifications_and_warnings.sh
diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/01-increase_limits.sh b/coin/provisioning/qtci-macos-10.13-x86_64/01-increase_limits.sh
new file mode 100755
index 00000000..08669e52
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.13-x86_64/01-increase_limits.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+"$(dirname "$0")"/../common/macos/increase_limits.sh
diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/01-install_telegraf.sh b/coin/provisioning/qtci-macos-10.13-x86_64/01-install_telegraf.sh
new file mode 100755
index 00000000..729f9003
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.13-x86_64/01-install_telegraf.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+"$(dirname "$0")"/../common/unix/telegraf_install.sh
diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/05-systemsetup.sh b/coin/provisioning/qtci-macos-10.13-x86_64/05-systemsetup.sh
index d91316bd..95631107 100755
--- a/coin/provisioning/qtci-macos-10.13-x86_64/05-systemsetup.sh
+++ b/coin/provisioning/qtci-macos-10.13-x86_64/05-systemsetup.sh
@@ -2,7 +2,7 @@
#############################################################################
##
-## Copyright (C) 2018 The Qt Company Ltd.
+## Copyright (C) 2019 The Qt Company Ltd.
## Contact: http://www.qt.io/licensing/
##
## This file is part of the provisioning scripts of the Qt Toolkit.
@@ -37,7 +37,13 @@ set -ex
# This script modified system settings for automated use
-VNCPassword=qt
+targetFile="$HOME/vncpw.txt"
+
+# Fetch password
+curl --retry 5 --retry-delay 10 --retry-max-time 60 "http://ci-files01-hki.intra.qt.io/input/semisecure/vncpw.txt" -o "$targetFile"
+shasum "$targetFile" |grep "a795fccaa8f277e62ec08e6056c544b8b63924a0"
+
+{ VNCPassword=$(cat "$targetFile"); } 2> /dev/null
NTS_IP=10.212.2.216
echo "Disable Screensaver"
@@ -82,10 +88,13 @@ defaults write -g InitialKeyRepeat -int 15
# normal minimum is 2 (30 ms)
defaults write -g KeyRepeat -int 2
+set +x
echo "Enable remote desktop sharing"
sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -clientopts -setvnclegacy -vnclegacy yes -clientopts -setvncpw -vncpw $VNCPassword -restart -agent -privs -all
+set -x
echo "Set Network Test Server address to $NTS_IP in /etc/hosts"
echo "$NTS_IP qt-test-server qt-test-server.qt-test-net" | sudo tee -a /etc/hosts
sudo systemsetup settimezone GMT
+sudo rm -f "$targetFile"
diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/20-xcode.sh b/coin/provisioning/qtci-macos-10.13-x86_64/20-xcode.sh
index 1ab68fec..510ce59b 100755
--- a/coin/provisioning/qtci-macos-10.13-x86_64/20-xcode.sh
+++ b/coin/provisioning/qtci-macos-10.13-x86_64/20-xcode.sh
@@ -50,4 +50,4 @@ set -ex
# shellcheck source=../common/macos/install_xcode.sh
source "${BASH_SOURCE%/*}/../common/macos/install_xcode.sh"
-InstallXCode /net/ci-files01-hki.intra.qt.io/hdd/www/input/mac/Xcode_10.1.tar.gz 10.1
+InstallXCode /net/ci-files01-hki.intra.qt.io/hdd/www/input/mac/Xcode_10.1_updated.tar.gz 10.1
diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/25-homebrew.sh b/coin/provisioning/qtci-macos-10.13-x86_64/25-homebrew.sh
index 06e984ec..f7f9e214 100755
--- a/coin/provisioning/qtci-macos-10.13-x86_64/25-homebrew.sh
+++ b/coin/provisioning/qtci-macos-10.13-x86_64/25-homebrew.sh
@@ -1,6 +1,6 @@
#!/usr/bin/env bash
-set -ex
+set -e
BASEDIR=$(dirname "$0")
"$BASEDIR/../common/macos/homebrew.sh"
diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/26-p7zip.sh b/coin/provisioning/qtci-macos-10.13-x86_64/26-p7zip.sh
index 15511332..1138ad3f 100755
--- a/coin/provisioning/qtci-macos-10.13-x86_64/26-p7zip.sh
+++ b/coin/provisioning/qtci-macos-10.13-x86_64/26-p7zip.sh
@@ -3,5 +3,5 @@
set -ex
-brew update
+
brew install p7zip
diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/26-pkgconfig.sh b/coin/provisioning/qtci-macos-10.13-x86_64/26-pkgconfig.sh
new file mode 100755
index 00000000..9362a345
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.13-x86_64/26-pkgconfig.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+# Install pkgconfig
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/pkgconfig.sh"
diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/26-virtualenv.sh b/coin/provisioning/qtci-macos-10.13-x86_64/27-libusb.sh
index eaabce82..acc7ad4f 100755
--- a/coin/provisioning/qtci-macos-10.12-x86_64/26-virtualenv.sh
+++ b/coin/provisioning/qtci-macos-10.13-x86_64/27-libusb.sh
@@ -1,6 +1,7 @@
#!/usr/bin/env bash
+# Install libusb
set -ex
BASEDIR=$(dirname "$0")
-"$BASEDIR/../common/macos/virtualenv.sh"
+"$BASEDIR/../common/macos/libusb.sh"
diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/30-android.sh b/coin/provisioning/qtci-macos-10.13-x86_64/30-android.sh
index 1886cce3..bc123111 100755
--- a/coin/provisioning/qtci-macos-10.13-x86_64/30-android.sh
+++ b/coin/provisioning/qtci-macos-10.13-x86_64/30-android.sh
@@ -37,7 +37,7 @@
# It also runs update for SDK API, latest SDK tools, latest platform-tools and build-tools version
-set -ex
+set -e
# shellcheck source=../common/unix/SetEnvVar.sh
source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
@@ -68,8 +68,16 @@ sudo unzip -q "$toolsSourceFile" -d "$sdkTargetFolder"
echo "Changing ownership of Android files."
sudo chown -R qt:wheel "$targetFolder"
+# Stop the sdkmanager from printing thousands of lines of #hashmarks.
+# Run the following command under `eval` or `sh -c` so that the shell properly splits it.
+sdkmanager_no_progress_bar_cmd="tr '\r' '\n' | grep -v '^\[[ =]*\]'"
+# But don't let the pipeline hide sdkmanager failures.
+set -o pipefail
+
echo "Running SDK manager for platforms;$sdkApiLevel, platform-tools and build-tools;$sdkBuildToolsVersion."
-(echo "y"; echo "y") |"$sdkTargetFolder/tools/bin/sdkmanager" "platforms;$sdkApiLevel" "platform-tools" "build-tools;$sdkBuildToolsVersion"
+(echo "y"; echo "y") | "$sdkTargetFolder/tools/bin/sdkmanager" \
+ "platforms;$sdkApiLevel" "platform-tools" "build-tools;$sdkBuildToolsVersion" \
+ | eval $sdkmanager_no_progress_bar_cmd
echo "Checking the contents of Android SDK..."
ls -l "$sdkTargetFolder"
diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/30-nodejs.sh b/coin/provisioning/qtci-macos-10.13-x86_64/30-nodejs.sh
new file mode 100755
index 00000000..ab992405
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.13-x86_64/30-nodejs.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+
+set -ex
+
+brew install nodejs
+
diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/55-signtools.sh b/coin/provisioning/qtci-macos-10.13-x86_64/55-signtools.sh
index 0b8595a0..bded35eb 100755
--- a/coin/provisioning/qtci-macos-10.13-x86_64/55-signtools.sh
+++ b/coin/provisioning/qtci-macos-10.13-x86_64/55-signtools.sh
@@ -96,8 +96,8 @@ Install "$cacheSigningTools/csreq_qt_company.txt" "$csreq" $shaCsreq
chmod 755 "$csreq"
# iOS signing tools
-devIDKeychain="Developer_ID_TheQtCompany.keychain"
-shaDevIdKeychain="0420a129c17725a97afd6fdafeb9cddfb80a65ca"
+devIDKeychain="Developer_ID_TheQtCompany.keychain-db"
+shaDevIdKeychain="972cca1879cdaeeb6042f9879756c748a8d1eddc"
Install "$cacheSigningTools/$devIDKeychain" "$keychains/$devIDKeychain" $shaDevIdKeychain
echo "Opening $devIDKeychain.."
open "$keychains/$devIDKeychain"
@@ -114,15 +114,15 @@ sha1Ios="aae58d00d0a1b179a09f21cfc67f9d16fb95ff36"
{ Install "$cacheSigningTools/ios_password.txt" "$targetFolder/ios_password.txt" $sha1Ios; } 2> /dev/null
{ iosPassword=$(cat "$targetFolder/ios_password.txt"); } 2> /dev/null
-iPhoneDeveloper="iosdevelopment_2019.p12"
-shaIPhoneDeveloper="fbc89661c5295b4105f3890989a94c559ea4a61c"
-Install "$cacheSigningTools/latest_ios_cert/$iPhoneDeveloper" "$targetFolder/$iPhoneDeveloper" $shaIPhoneDeveloper
+iPhoneDeveloper="iosDevelopment2019CiTeam.p12"
+shaIPhoneDeveloper="fa22abe1b1cc64af6585f7a61c4aba5e00220bdc"
+Install "$cacheSigningTools/latest_ios_cert_2019/$iPhoneDeveloper" "$targetFolder/$iPhoneDeveloper" $shaIPhoneDeveloper
echo "Importing $iPhoneDeveloper.."
{ security import $targetFolder/$iPhoneDeveloper -k $loginKeychain* -P "$iosPassword" -T /usr/bin/codesign; } 2> /dev/null
-iPhoneDistribution="iosdistribution_2019.p12"
-shaIPhoneDistribution="f306102f9e18e2074a7b655a9b151ce69c95baac"
-Install "$cacheSigningTools/latest_ios_cert/$iPhoneDistribution" "$targetFolder/$iPhoneDistribution" $shaIPhoneDistribution
+iPhoneDistribution="iosDistribution2019CiTeam.p12"
+shaIPhoneDistribution="6510119651c7aecb21d0a1dae329f2eae1e8f4e9"
+Install "$cacheSigningTools/latest_ios_cert_2019/$iPhoneDistribution" "$targetFolder/$iPhoneDistribution" $shaIPhoneDistribution
echo "Importing $iPhoneDistribution.."
{ security import "$targetFolder/$iPhoneDistribution" -k $loginKeychain* -P "$iosPassword" -T /usr/bin/codesign; } 2> /dev/null
@@ -130,8 +130,8 @@ echo "Importing $iPhoneDistribution.."
echo "Creating directory $targetFolder/Library/MobileDevice/Provisioning Profiles.."
mkdir "$targetFolder/Library/MobileDevice"
mkdir "$targetFolder/Library/MobileDevice/Provisioning Profiles"
-shaMobileprovision="88c67c95a6f59e6463a00da0b5021f581db624bf"
-Install "$cacheSigningTools/latest_ios_cert/iOS_Dev08112017.mobileprovision" "$targetFolder/Library/MobileDevice/Provisioning Profiles/iOS_Dev08112017.mobileprovision" $shaMobileprovision
+shaMobileprovision="477a7f3876c4333bd56a045df0d82fce795b1ebb"
+Install "$cacheSigningTools/latest_ios_cert_2019/iOS_Dev_2019_citeam.mobileprovision" "$targetFolder/Library/MobileDevice/Provisioning Profiles/iOS_Dev08112017.mobileprovision" $shaMobileprovision
# Removing password files
rm -fr "$targetFolder/login_keychain_password.txt"
diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/30-fbx.sh b/coin/provisioning/qtci-macos-10.13-x86_64/90-python-modules.sh
index 34eefeb6..8a2cbf64 100755
--- a/coin/provisioning/qtci-macos-10.12-x86_64/30-fbx.sh
+++ b/coin/provisioning/qtci-macos-10.13-x86_64/90-python-modules.sh
@@ -3,5 +3,5 @@
set -ex
BASEDIR=$(dirname "$0")
-"$BASEDIR/../common/macos/fbx_macos.sh"
+"$BASEDIR/../common/unix/python_modules.sh"
diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/25-cmake.sh b/coin/provisioning/qtci-macos-10.13-x86_64/97-set-locale.sh
index 4f4d405e..e34b7381 100755
--- a/coin/provisioning/qtci-macos-10.12-x86_64/25-cmake.sh
+++ b/coin/provisioning/qtci-macos-10.13-x86_64/97-set-locale.sh
@@ -3,4 +3,4 @@
set -ex
BASEDIR=$(dirname "$0")
-"$BASEDIR/../common/macos/cmake.sh"
+$BASEDIR/../common/macos/set-locale.sh
diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/01-disable-notifications_and_warnings.sh b/coin/provisioning/qtci-macos-10.14-x86_64/01-disable-notifications_and_warnings.sh
new file mode 100755
index 00000000..27efbb62
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.14-x86_64/01-disable-notifications_and_warnings.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+"$(dirname "$0")"/../common/macos/disable-notifications_and_warnings.sh
diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/01-increase_limits.sh b/coin/provisioning/qtci-macos-10.14-x86_64/01-increase_limits.sh
new file mode 100755
index 00000000..08669e52
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.14-x86_64/01-increase_limits.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+"$(dirname "$0")"/../common/macos/increase_limits.sh
diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/01-install_telegraf.sh b/coin/provisioning/qtci-macos-10.14-x86_64/01-install_telegraf.sh
new file mode 100755
index 00000000..729f9003
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.14-x86_64/01-install_telegraf.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+"$(dirname "$0")"/../common/unix/telegraf_install.sh
diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/05-systemsetup.sh b/coin/provisioning/qtci-macos-10.14-x86_64/05-systemsetup.sh
index 817e3858..79eba834 100755
--- a/coin/provisioning/qtci-macos-10.14-x86_64/05-systemsetup.sh
+++ b/coin/provisioning/qtci-macos-10.14-x86_64/05-systemsetup.sh
@@ -2,7 +2,7 @@
#############################################################################
##
-## Copyright (C) 2018 The Qt Company Ltd.
+## Copyright (C) 2019 The Qt Company Ltd.
## Contact: http://www.qt.io/licensing/
##
## This file is part of the provisioning scripts of the Qt Toolkit.
@@ -37,7 +37,13 @@ set -ex
# This script modified system settings for automated use
-VNCPassword=qt
+targetFile="$HOME/vncpw.txt"
+
+# Fetch password
+curl --retry 5 --retry-delay 10 --retry-max-time 60 "http://ci-files01-hki.intra.qt.io/input/semisecure/vncpw.txt" -o "$targetFile"
+shasum "$targetFile" |grep "a795fccaa8f277e62ec08e6056c544b8b63924a0"
+
+{ VNCPassword=$(cat "$targetFile"); } 2> /dev/null
NTS_IP=10.212.2.216
echo "Disable Screensaver"
@@ -82,11 +88,14 @@ defaults write -g InitialKeyRepeat -int 15
# normal minimum is 2 (30 ms)
defaults write -g KeyRepeat -int 2
+set +x
echo "Enable remote desktop sharing"
sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -clientopts -setvnclegacy -vnclegacy yes -clientopts -setvncpw -vncpw $VNCPassword -restart -agent -privs -all
+set -x
echo "Set Network Test Server address to $NTS_IP in /etc/hosts"
echo "$NTS_IP qt-test-server qt-test-server.qt-test-net" | sudo tee -a /etc/hosts
sudo systemsetup settimezone GMT
sudo systemsetup setusingnetworktime off
+sudo rm -f "$targetFile"
diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/20-xcode.sh b/coin/provisioning/qtci-macos-10.14-x86_64/20-xcode.sh
index ebeadc02..25a53374 100755
--- a/coin/provisioning/qtci-macos-10.14-x86_64/20-xcode.sh
+++ b/coin/provisioning/qtci-macos-10.14-x86_64/20-xcode.sh
@@ -50,4 +50,4 @@ set -ex
# shellcheck source=../common/macos/install_xcode.sh
source "${BASH_SOURCE%/*}/../common/macos/install_xcode.sh"
-InstallXCode /net/ci-files01-hki.intra.qt.io/hdd/www/input/mac/macos_10.14_mojave/Xcode_10.2.1.tar.gz 10.2.1
+InstallXCode /net/ci-files01-hki.intra.qt.io/hdd/www/input/mac/macos_10.14_mojave/Xcode_11.3.tar.gz 11.3
diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/21-install-commandlinetools.sh b/coin/provisioning/qtci-macos-10.14-x86_64/21-install-commandlinetools.sh
index 09055ee6..9d38eb10 100755
--- a/coin/provisioning/qtci-macos-10.14-x86_64/21-install-commandlinetools.sh
+++ b/coin/provisioning/qtci-macos-10.14-x86_64/21-install-commandlinetools.sh
@@ -37,11 +37,10 @@ set -ex
# shellcheck source=../common/macos/install-commandlinetools.sh
source "${BASH_SOURCE%/*}/../common/macos/install-commandlinetools.sh"
-
-version="10.2.1"
-packageName="Command_Line_Tools_macOS_10.14_for_Xcode_$version.dmg"
+version="11.3"
+packageName="Command_Line_Tools_for_Xcode_$version.dmg"
url="http://ci-files01-hki.intra.qt.io/input/mac/macos_10.14_mojave/$packageName"
-sha1="18fea89bb743107aee372a212be608d6e35fdecf"
+sha1="b42a0fdf69ac46de04812cd23f0eefa141371253"
InstallCommandLineTools $url $url $sha1 $packageName $version
diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/25-homebrew.sh b/coin/provisioning/qtci-macos-10.14-x86_64/25-homebrew.sh
index 06e984ec..f7f9e214 100755
--- a/coin/provisioning/qtci-macos-10.14-x86_64/25-homebrew.sh
+++ b/coin/provisioning/qtci-macos-10.14-x86_64/25-homebrew.sh
@@ -1,6 +1,6 @@
#!/usr/bin/env bash
-set -ex
+set -e
BASEDIR=$(dirname "$0")
"$BASEDIR/../common/macos/homebrew.sh"
diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/26-freetype.sh b/coin/provisioning/qtci-macos-10.14-x86_64/26-freetype.sh
new file mode 100755
index 00000000..0faec4b4
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.14-x86_64/26-freetype.sh
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+
+set -ex
+
+brew install freetype
diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/26-ninja.sh b/coin/provisioning/qtci-macos-10.14-x86_64/26-ninja.sh
new file mode 100755
index 00000000..c9d3e309
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.14-x86_64/26-ninja.sh
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+
+set -ex
+
+brew install ninja
diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/26-pcre2.sh b/coin/provisioning/qtci-macos-10.14-x86_64/26-pcre2.sh
new file mode 100755
index 00000000..f8af516b
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.14-x86_64/26-pcre2.sh
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+
+set -ex
+
+brew install pcre2
diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/30-android.sh b/coin/provisioning/qtci-macos-10.14-x86_64/30-android.sh
index c0d75ff6..aa0935f0 100755
--- a/coin/provisioning/qtci-macos-10.14-x86_64/30-android.sh
+++ b/coin/provisioning/qtci-macos-10.14-x86_64/30-android.sh
@@ -51,7 +51,7 @@ toolsVersion="r26.1.1"
# toolsFile dertermines tools version
toolsFile="sdk-tools-darwin-4333796.zip"
-ndkVersion="r18b"
+ndkVersion="r20"
ndkFile="android-ndk-$ndkVersion-darwin-x86_64.zip"
sdkBuildToolsVersion="28.0.3"
# this is compile sdk version
@@ -68,14 +68,20 @@ sudo unzip -q "$toolsSourceFile" -d "$sdkTargetFolder"
echo "Changing ownership of Android files."
sudo chown -R qt:wheel "$targetFolder"
+# Run the following command under `eval` or `sh -c` so that the shell properly splits it
+sdkmanager_no_progress_bar_cmd="tr '\r' '\n' | grep -v '^\[[ =]*\]'"
+
echo "Running SDK manager for platforms;$sdkApiLevel, platform-tools and build-tools;$sdkBuildToolsVersion."
-(echo "y"; echo "y") |"$sdkTargetFolder/tools/bin/sdkmanager" "platforms;$sdkApiLevel" "platform-tools" "build-tools;$sdkBuildToolsVersion"
+(echo "y"; echo "y") | "$sdkTargetFolder/tools/bin/sdkmanager" \
+ "platforms;$sdkApiLevel" "platform-tools" "build-tools;$sdkBuildToolsVersion" \
+ | eval $sdkmanager_no_progress_bar_cmd
echo "Checking the contents of Android SDK..."
ls -l "$sdkTargetFolder"
SetEnvVar "ANDROID_SDK_HOME" "$sdkTargetFolder"
SetEnvVar "ANDROID_NDK_HOME" "$targetFolder/android-ndk-$ndkVersion"
+SetEnvVar "ANDROID_NDK_ROOT" "$targetFolder/android-ndk-$ndkVersion"
SetEnvVar "ANDROID_NDK_HOST" "darwin-x86_64"
SetEnvVar "ANDROID_API_VERSION" "$sdkApiLevel"
diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/30-nodejs.sh b/coin/provisioning/qtci-macos-10.14-x86_64/30-nodejs.sh
new file mode 100755
index 00000000..ab992405
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.14-x86_64/30-nodejs.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+
+set -ex
+
+brew install nodejs
+
diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/35-openssl.sh b/coin/provisioning/qtci-macos-10.14-x86_64/35-openssl.sh
index cf312ed2..57a86c47 100755
--- a/coin/provisioning/qtci-macos-10.14-x86_64/35-openssl.sh
+++ b/coin/provisioning/qtci-macos-10.14-x86_64/35-openssl.sh
@@ -2,5 +2,6 @@
set -ex
-# shellcheck source=../common/macos/install_openssl_111a.sh
-source "${BASH_SOURCE%/*}/../common/macos/install_openssl_111a.sh"
+# shellcheck source=../common/macos/install_openssl.sh
+source "${BASH_SOURCE%/*}/../common/unix/install-openssl.sh" "macos"
+
diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/36-emsdk.sh b/coin/provisioning/qtci-macos-10.14-x86_64/36-emsdk.sh
new file mode 100755
index 00000000..7396d336
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.14-x86_64/36-emsdk.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+
+set -ex
+
+# shellcheck source=../common/unix/emsdk.sh
+source "${BASH_SOURCE%/*}/../common/unix/emsdk.sh"
diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/55-signtools.sh b/coin/provisioning/qtci-macos-10.14-x86_64/55-signtools.sh
index 0b8595a0..bded35eb 100755
--- a/coin/provisioning/qtci-macos-10.14-x86_64/55-signtools.sh
+++ b/coin/provisioning/qtci-macos-10.14-x86_64/55-signtools.sh
@@ -96,8 +96,8 @@ Install "$cacheSigningTools/csreq_qt_company.txt" "$csreq" $shaCsreq
chmod 755 "$csreq"
# iOS signing tools
-devIDKeychain="Developer_ID_TheQtCompany.keychain"
-shaDevIdKeychain="0420a129c17725a97afd6fdafeb9cddfb80a65ca"
+devIDKeychain="Developer_ID_TheQtCompany.keychain-db"
+shaDevIdKeychain="972cca1879cdaeeb6042f9879756c748a8d1eddc"
Install "$cacheSigningTools/$devIDKeychain" "$keychains/$devIDKeychain" $shaDevIdKeychain
echo "Opening $devIDKeychain.."
open "$keychains/$devIDKeychain"
@@ -114,15 +114,15 @@ sha1Ios="aae58d00d0a1b179a09f21cfc67f9d16fb95ff36"
{ Install "$cacheSigningTools/ios_password.txt" "$targetFolder/ios_password.txt" $sha1Ios; } 2> /dev/null
{ iosPassword=$(cat "$targetFolder/ios_password.txt"); } 2> /dev/null
-iPhoneDeveloper="iosdevelopment_2019.p12"
-shaIPhoneDeveloper="fbc89661c5295b4105f3890989a94c559ea4a61c"
-Install "$cacheSigningTools/latest_ios_cert/$iPhoneDeveloper" "$targetFolder/$iPhoneDeveloper" $shaIPhoneDeveloper
+iPhoneDeveloper="iosDevelopment2019CiTeam.p12"
+shaIPhoneDeveloper="fa22abe1b1cc64af6585f7a61c4aba5e00220bdc"
+Install "$cacheSigningTools/latest_ios_cert_2019/$iPhoneDeveloper" "$targetFolder/$iPhoneDeveloper" $shaIPhoneDeveloper
echo "Importing $iPhoneDeveloper.."
{ security import $targetFolder/$iPhoneDeveloper -k $loginKeychain* -P "$iosPassword" -T /usr/bin/codesign; } 2> /dev/null
-iPhoneDistribution="iosdistribution_2019.p12"
-shaIPhoneDistribution="f306102f9e18e2074a7b655a9b151ce69c95baac"
-Install "$cacheSigningTools/latest_ios_cert/$iPhoneDistribution" "$targetFolder/$iPhoneDistribution" $shaIPhoneDistribution
+iPhoneDistribution="iosDistribution2019CiTeam.p12"
+shaIPhoneDistribution="6510119651c7aecb21d0a1dae329f2eae1e8f4e9"
+Install "$cacheSigningTools/latest_ios_cert_2019/$iPhoneDistribution" "$targetFolder/$iPhoneDistribution" $shaIPhoneDistribution
echo "Importing $iPhoneDistribution.."
{ security import "$targetFolder/$iPhoneDistribution" -k $loginKeychain* -P "$iosPassword" -T /usr/bin/codesign; } 2> /dev/null
@@ -130,8 +130,8 @@ echo "Importing $iPhoneDistribution.."
echo "Creating directory $targetFolder/Library/MobileDevice/Provisioning Profiles.."
mkdir "$targetFolder/Library/MobileDevice"
mkdir "$targetFolder/Library/MobileDevice/Provisioning Profiles"
-shaMobileprovision="88c67c95a6f59e6463a00da0b5021f581db624bf"
-Install "$cacheSigningTools/latest_ios_cert/iOS_Dev08112017.mobileprovision" "$targetFolder/Library/MobileDevice/Provisioning Profiles/iOS_Dev08112017.mobileprovision" $shaMobileprovision
+shaMobileprovision="477a7f3876c4333bd56a045df0d82fce795b1ebb"
+Install "$cacheSigningTools/latest_ios_cert_2019/iOS_Dev_2019_citeam.mobileprovision" "$targetFolder/Library/MobileDevice/Provisioning Profiles/iOS_Dev08112017.mobileprovision" $shaMobileprovision
# Removing password files
rm -fr "$targetFolder/login_keychain_password.txt"
diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/25-homebrew.sh b/coin/provisioning/qtci-macos-10.14-x86_64/97-set-locale.sh
index 06e984ec..e34b7381 100755
--- a/coin/provisioning/qtci-macos-10.12-x86_64/25-homebrew.sh
+++ b/coin/provisioning/qtci-macos-10.14-x86_64/97-set-locale.sh
@@ -3,4 +3,4 @@
set -ex
BASEDIR=$(dirname "$0")
-"$BASEDIR/../common/macos/homebrew.sh"
+$BASEDIR/../common/macos/set-locale.sh
diff --git a/coin/provisioning/qtci-windows-10-x86/00-disable-clean-manager.ps1 b/coin/provisioning/qtci-windows-10-x86/00-disable-clean-manager.ps1
new file mode 100644
index 00000000..1dc08d21
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86/00-disable-clean-manager.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\disable-clean-manager.ps1"
diff --git a/coin/provisioning/qtci-windows-10-x86/03-install-sevenzip.ps1 b/coin/provisioning/qtci-windows-10-x86/00-install-sevenzip.ps1
index a9044256..a9044256 100644
--- a/coin/provisioning/qtci-windows-10-x86/03-install-sevenzip.ps1
+++ b/coin/provisioning/qtci-windows-10-x86/00-install-sevenzip.ps1
diff --git a/coin/provisioning/qtci-windows-10-x86/01-disable-notifications.ps1 b/coin/provisioning/qtci-windows-10-x86/01-disable-notifications.ps1
new file mode 100644
index 00000000..ada20147
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86/01-disable-notifications.ps1
@@ -0,0 +1,9 @@
+# Windows 'Notifications & actions'
+# Disable 'Get notifications from apps and other senders'
+reg.exe ADD "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\PushNotifications" /V ToastEnabled /T REG_dWORD /D 0 /F
+
+# Disable 'Show me the Windows welcome experience after udpates and occasionally when I sign in to highlight what's new and suggested'
+reg.exe ADD "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /V SubscribedContent-310093Enabled /T REG_dWORD /D 0 /F
+
+# Disable 'Get tips, tricks and suggestions as you use Windows'
+reg.exe ADD "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /V SubscribedContent-338389Enabled /T REG_dWORD /D 0 /F
diff --git a/coin/provisioning/qtci-windows-10-x86/01-disable-windows-telemetry.ps1 b/coin/provisioning/qtci-windows-10-x86/01-disable-windows-telemetry.ps1
new file mode 100644
index 00000000..3f5a75f4
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86/01-disable-windows-telemetry.ps1
@@ -0,0 +1,7 @@
+# Disable Connected User Experiences and Telemetry service
+# The Connected User Experiences and Telemetry service enables features that support in-application and connected user experiences.
+# Additionally, this service manages the event driven collection and transmission of diagnostic and usage information
+# (used to improve the experience and quality of the Windows Platform) when the diagnostics and usage privacy option settings are enabled under Feedback and Diagnostics.
+reg.exe ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Data Collection" /V AllowTelemetry /T REG_dWORD /D 0 /F
+stop-service diagtrack
+set-service diagtrack -startuptype disabled
diff --git a/coin/provisioning/qtci-windows-10-x86/01-disable-windows-updates.ps1 b/coin/provisioning/qtci-windows-10-x86/01-disable-windows-updates.ps1
deleted file mode 100644
index 57428310..00000000
--- a/coin/provisioning/qtci-windows-10-x86/01-disable-windows-updates.ps1
+++ /dev/null
@@ -1 +0,0 @@
-. "$PSScriptRoot\..\common\windows\disable-windows-updates.ps1"
diff --git a/coin/provisioning/qtci-windows-10-x86/01-install_telegraf.ps1 b/coin/provisioning/qtci-windows-10-x86/01-install_telegraf.ps1
new file mode 100644
index 00000000..77fa8cbf
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86/01-install_telegraf.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install_telegraf.ps1"
diff --git a/coin/provisioning/qtci-windows-10-x86/02-disable-defragment.ps1 b/coin/provisioning/qtci-windows-10-x86/02-disable-defragment.ps1
deleted file mode 100644
index 10518401..00000000
--- a/coin/provisioning/qtci-windows-10-x86/02-disable-defragment.ps1
+++ /dev/null
@@ -1 +0,0 @@
-. "$PSScriptRoot\..\common\windows\disable-defragment.ps1"
diff --git a/coin/provisioning/qtci-windows-10-x86/02-disable-ntp.ps1 b/coin/provisioning/qtci-windows-10-x86/02-disable-ntp.ps1
deleted file mode 100644
index ee3b3b7d..00000000
--- a/coin/provisioning/qtci-windows-10-x86/02-disable-ntp.ps1
+++ /dev/null
@@ -1 +0,0 @@
-. "$PSScriptRoot\..\common\windows\disable-ntp.ps1"
diff --git a/coin/provisioning/qtci-windows-10-x86/08-install-git.ps1 b/coin/provisioning/qtci-windows-10-x86/08-install-git.ps1
new file mode 100644
index 00000000..38106de7
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86/08-install-git.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-git.ps1"
diff --git a/coin/provisioning/qtci-windows-10-x86/99-version.ps1 b/coin/provisioning/qtci-windows-10-x86/99-version.ps1
new file mode 100644
index 00000000..36e498bc
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86/99-version.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\version.ps1"
diff --git a/coin/provisioning/qtci-windows-10-x86/conanfiles/qtwebkit.txt b/coin/provisioning/qtci-windows-10-x86/conanfiles/qtwebkit.txt
index 0c910ea2..5def5b33 100644
--- a/coin/provisioning/qtci-windows-10-x86/conanfiles/qtwebkit.txt
+++ b/coin/provisioning/qtci-windows-10-x86/conanfiles/qtwebkit.txt
@@ -1,8 +1,8 @@
[requires]
-icu/64.2@qtproject/stable
-libxml2/2.9.9@qtproject/stable
-libxslt/1.1.33@qtproject/stable
-libjpeg-turbo/2.0.2@qtproject/stable
+icu/65.1@qtproject/stable
+libxml2/2.9.10@qtproject/stable
+libxslt/1.1.34@qtproject/stable
+libjpeg-turbo/2.0.3@qtproject/stable
[generators]
cmake
@@ -22,8 +22,8 @@ libxslt:shared=True
libjpeg-turbo:shared=False
[imports]
-lib, icudt64.dll -> ./bin
-lib, icuin64.dll -> ./bin
-lib, icuuc64.dll -> ./bin
+bin, icudt65.dll -> ./bin
+bin, icuin65.dll -> ./bin
+bin, icuuc65.dll -> ./bin
bin, libxml2.dll -> ./bin
bin, libxslt.dll -> ./bin
diff --git a/coin/provisioning/qtci-windows-10-x86_64/03-install-sevenzip.ps1 b/coin/provisioning/qtci-windows-10-x86_64/00-install-sevenzip.ps1
index a9044256..a9044256 100644
--- a/coin/provisioning/qtci-windows-10-x86_64/03-install-sevenzip.ps1
+++ b/coin/provisioning/qtci-windows-10-x86_64/00-install-sevenzip.ps1
diff --git a/coin/provisioning/qtci-windows-10-x86_64/01-change-resolution.ps1 b/coin/provisioning/qtci-windows-10-x86_64/01-change-resolution.ps1
new file mode 100644
index 00000000..679769a8
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86_64/01-change-resolution.ps1
@@ -0,0 +1,25 @@
+$x_value = "1280"
+$y_value = "800"
+
+Function ChangeResolution {
+ Param (
+ [string]$driver
+ )
+
+ $path = "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Configuration"
+
+ reg.exe ADD "$path\$driver\00\" /V PrimSurfSize.cx /T REG_dWORD /D $x_value /F
+ reg.exe ADD "$path\$driver\00\" /V PrimSurfSize.cy /T REG_dWORD /D $y_value /F
+ reg.exe ADD "$path\$driver\00\00" /V DwmClipBox.bottom /T REG_dWORD /D $y_value /F
+ reg.exe ADD "$path\$driver\00\00" /V DwmClipBox.right /T REG_dWORD /D $x_value /F
+ reg.exe ADD "$path\$driver\00\00" /V PrimSurfSize.cx /T REG_dWORD /D $x_value /F
+ reg.exe ADD "$path\$driver\00\00" /V PrimSurfSize.cy /T REG_dWORD /D $y_value /F
+ reg.exe ADD "$path\$driver\00\00" /V ActiveSize.cy /T REG_dWORD /D $y_value /F
+ reg.exe ADD "$path\$driver\00\00" /V ActiveSize.cx /T REG_dWORD /D $x_value /F
+
+}
+
+Write-Host "Changing the resolution to ${x_value}x${y_value}"
+ChangeResolution "MSBDD_NOEDID_1234_1111_00000000_00020000_0^E3701873EC28AFCFF631E725354CDC2D"
+ChangeResolution "MSBDD_NOEDID_15AD_0405_00000000_000F0000_0^C13AE38966E73205F75BFACA84EB83A5"
+ChangeResolution "MSNILNOEDID_1414_008D_FFFFFFFF_FFFFFFFF_0^030B4FCE00727AC1593E5B6FD18648D6"
diff --git a/coin/provisioning/qtci-windows-10-x86_64/01-disable-notifications.ps1 b/coin/provisioning/qtci-windows-10-x86_64/01-disable-notifications.ps1
new file mode 100644
index 00000000..ada20147
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86_64/01-disable-notifications.ps1
@@ -0,0 +1,9 @@
+# Windows 'Notifications & actions'
+# Disable 'Get notifications from apps and other senders'
+reg.exe ADD "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\PushNotifications" /V ToastEnabled /T REG_dWORD /D 0 /F
+
+# Disable 'Show me the Windows welcome experience after udpates and occasionally when I sign in to highlight what's new and suggested'
+reg.exe ADD "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /V SubscribedContent-310093Enabled /T REG_dWORD /D 0 /F
+
+# Disable 'Get tips, tricks and suggestions as you use Windows'
+reg.exe ADD "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /V SubscribedContent-338389Enabled /T REG_dWORD /D 0 /F
diff --git a/coin/provisioning/qtci-windows-10-x86_64/01-disable-windows-telemetry.ps1 b/coin/provisioning/qtci-windows-10-x86_64/01-disable-windows-telemetry.ps1
new file mode 100644
index 00000000..3f5a75f4
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86_64/01-disable-windows-telemetry.ps1
@@ -0,0 +1,7 @@
+# Disable Connected User Experiences and Telemetry service
+# The Connected User Experiences and Telemetry service enables features that support in-application and connected user experiences.
+# Additionally, this service manages the event driven collection and transmission of diagnostic and usage information
+# (used to improve the experience and quality of the Windows Platform) when the diagnostics and usage privacy option settings are enabled under Feedback and Diagnostics.
+reg.exe ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Data Collection" /V AllowTelemetry /T REG_dWORD /D 0 /F
+stop-service diagtrack
+set-service diagtrack -startuptype disabled
diff --git a/coin/provisioning/qtci-windows-10-x86_64/01-install_telegraf.ps1 b/coin/provisioning/qtci-windows-10-x86_64/01-install_telegraf.ps1
new file mode 100644
index 00000000..77fa8cbf
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86_64/01-install_telegraf.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install_telegraf.ps1"
diff --git a/coin/provisioning/qtci-windows-10-x86_64/02-disable-defragment.ps1 b/coin/provisioning/qtci-windows-10-x86_64/02-disable-defragment.ps1
deleted file mode 100644
index 10518401..00000000
--- a/coin/provisioning/qtci-windows-10-x86_64/02-disable-defragment.ps1
+++ /dev/null
@@ -1 +0,0 @@
-. "$PSScriptRoot\..\common\windows\disable-defragment.ps1"
diff --git a/coin/provisioning/qtci-windows-10-x86_64/02-disable-ntp.ps1 b/coin/provisioning/qtci-windows-10-x86_64/02-disable-ntp.ps1
deleted file mode 100644
index ee3b3b7d..00000000
--- a/coin/provisioning/qtci-windows-10-x86_64/02-disable-ntp.ps1
+++ /dev/null
@@ -1 +0,0 @@
-. "$PSScriptRoot\..\common\windows\disable-ntp.ps1"
diff --git a/coin/provisioning/qtci-windows-10-x86_64/02-disable-windows-updates.ps1 b/coin/provisioning/qtci-windows-10-x86_64/02-disable-windows-updates.ps1
deleted file mode 100644
index 57428310..00000000
--- a/coin/provisioning/qtci-windows-10-x86_64/02-disable-windows-updates.ps1
+++ /dev/null
@@ -1 +0,0 @@
-. "$PSScriptRoot\..\common\windows\disable-windows-updates.ps1"
diff --git a/coin/provisioning/qtci-windows-10-x86_64/03-nodejs.ps1 b/coin/provisioning/qtci-windows-10-x86_64/03-nodejs.ps1
new file mode 100644
index 00000000..6032e945
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86_64/03-nodejs.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\nodejs.ps1"
diff --git a/coin/provisioning/qtci-windows-10-x86_64/09-install-mingw810.ps1 b/coin/provisioning/qtci-windows-10-x86_64/09-install-mingw810.ps1
new file mode 100644
index 00000000..fa8edb85
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86_64/09-install-mingw810.ps1
@@ -0,0 +1,11 @@
+. "$PSScriptRoot\..\common\windows\install-mingw.ps1"
+
+# This script will install MinGW 8.1.0
+
+$release = "i686-8.1.0-release-posix-dwarf-rt_v6-rev0"
+$sha1 = "dd4f34f473e84c79b6b446adb3a5fac7919ba9cb"
+$suffix = "_i686"
+
+InstallMinGW $release $sha1 $suffix
+
+
diff --git a/coin/provisioning/qtci-windows-10-x86_64/09-install-mingw810_64.ps1 b/coin/provisioning/qtci-windows-10-x86_64/09-install-mingw810_64.ps1
new file mode 100644
index 00000000..b712c2b3
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86_64/09-install-mingw810_64.ps1
@@ -0,0 +1,10 @@
+. "$PSScriptRoot\..\common\windows\install-mingw.ps1"
+
+# This script will install 64-bit MinGW 8.1.0
+
+$release = "x86_64-8.1.0-release-posix-seh-rt_v6-rev0"
+
+$sha1 = "5aa456654a6ce77249c27888b5d0f856fc011b9c"
+
+InstallMinGW $release $sha1
+
diff --git a/coin/provisioning/qtci-windows-10-x86_64/11-conan.ps1 b/coin/provisioning/qtci-windows-10-x86_64/11-conan.ps1
index a651bb0c..71abc7e1 100644
--- a/coin/provisioning/qtci-windows-10-x86_64/11-conan.ps1
+++ b/coin/provisioning/qtci-windows-10-x86_64/11-conan.ps1
@@ -34,6 +34,22 @@ Run-Conan-Install `
Run-Conan-Install `
-ConanfilesDir "$PSScriptRoot\conanfiles" `
+ -BuildinfoDir MSVC2019-x86_64 `
+ -Arch x86_64 `
+ -Compiler "Visual Studio" `
+ -CompilerVersion 16 `
+ -CompilerRuntime MD
+
+Run-Conan-Install `
+ -ConanfilesDir "$PSScriptRoot\conanfiles" `
+ -BuildinfoDir MSVC2019-x86 `
+ -Arch x86 `
+ -Compiler "Visual Studio" `
+ -CompilerVersion 16 `
+ -CompilerRuntime MD
+
+Run-Conan-Install `
+ -ConanfilesDir "$PSScriptRoot\conanfiles" `
-BuildinfoDir Mingw73-x86 `
-Arch x86 `
-Compiler "gcc" `
diff --git a/coin/provisioning/qtci-windows-10-x86_64/90-install-vcpkg.ps1 b/coin/provisioning/qtci-windows-10-x86_64/90-install-vcpkg.ps1
deleted file mode 100644
index c898da22..00000000
--- a/coin/provisioning/qtci-windows-10-x86_64/90-install-vcpkg.ps1
+++ /dev/null
@@ -1,2 +0,0 @@
-. "$PSScriptRoot\..\common\windows\install-vcpkg.ps1"
-
diff --git a/coin/provisioning/qtci-windows-10-x86_64/90-python-modules.ps1 b/coin/provisioning/qtci-windows-10-x86_64/90-python-modules.ps1
new file mode 100644
index 00000000..3646d826
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86_64/90-python-modules.ps1
@@ -0,0 +1,3 @@
+# Needed by packaging scripts
+C:\Python36\Scripts\pip3 install bs4
+C:\Python36\Scripts\pip3 install sh
diff --git a/coin/provisioning/qtci-windows-10-x86_64/98-disable-windows-module-installer.ps1 b/coin/provisioning/qtci-windows-10-x86_64/98-disable-windows-module-installer.ps1
new file mode 100644
index 00000000..fb8ec541
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86_64/98-disable-windows-module-installer.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\disable-windows-module-installer.ps1"
diff --git a/coin/provisioning/qtci-windows-10-x86_64/99-version.ps1 b/coin/provisioning/qtci-windows-10-x86_64/99-version.ps1
new file mode 100644
index 00000000..36e498bc
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86_64/99-version.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\version.ps1"
diff --git a/coin/provisioning/qtci-windows-10-x86_64/conanfiles/qtwebkit.txt b/coin/provisioning/qtci-windows-10-x86_64/conanfiles/qtwebkit.txt
index 4d9ca4b9..491c9375 100644
--- a/coin/provisioning/qtci-windows-10-x86_64/conanfiles/qtwebkit.txt
+++ b/coin/provisioning/qtci-windows-10-x86_64/conanfiles/qtwebkit.txt
@@ -1,8 +1,8 @@
[requires]
-icu/64.2@qtproject/stable
-libxml2/2.9.9@qtproject/stable
-libxslt/1.1.33@qtproject/stable
-libjpeg-turbo/2.0.2@qtproject/stable
+icu/65.1@qtproject/stable
+libxml2/2.9.10@qtproject/stable
+libxslt/1.1.34@qtproject/stable
+libjpeg-turbo/2.0.3@qtproject/stable
[generators]
cmake
@@ -22,9 +22,9 @@ libxslt:shared=True
libjpeg-turbo:shared=False
[imports]
-lib, icudt64.dll -> ./bin
-lib, icuin64.dll -> ./bin
-lib, icuuc64.dll -> ./bin
+bin, icudt65.dll -> ./bin
+bin, icuin65.dll -> ./bin
+bin, icuuc65.dll -> ./bin
bin, libxml2.dll -> ./bin
bin, libxslt.dll -> ./bin
bin, libxml2-2.dll -> ./bin
diff --git a/coin/provisioning/qtci-windows-7-x86/00-disable-clean-manager.ps1 b/coin/provisioning/qtci-windows-7-x86/00-disable-clean-manager.ps1
new file mode 100644
index 00000000..1dc08d21
--- /dev/null
+++ b/coin/provisioning/qtci-windows-7-x86/00-disable-clean-manager.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\disable-clean-manager.ps1"
diff --git a/coin/provisioning/qtci-windows-10-x86/01-disable-windefender.ps1 b/coin/provisioning/qtci-windows-7-x86/00-disable-windefender.ps1
index 8f94b3d5..8f94b3d5 100644
--- a/coin/provisioning/qtci-windows-10-x86/01-disable-windefender.ps1
+++ b/coin/provisioning/qtci-windows-7-x86/00-disable-windefender.ps1
diff --git a/coin/provisioning/qtci-windows-7-x86/03-install-sevenzip.ps1 b/coin/provisioning/qtci-windows-7-x86/00-install-sevenzip.ps1
index a9044256..a9044256 100644
--- a/coin/provisioning/qtci-windows-7-x86/03-install-sevenzip.ps1
+++ b/coin/provisioning/qtci-windows-7-x86/00-install-sevenzip.ps1
diff --git a/coin/provisioning/qtci-windows-7-x86/01-install_telegraf.ps1 b/coin/provisioning/qtci-windows-7-x86/01-install_telegraf.ps1
new file mode 100644
index 00000000..77fa8cbf
--- /dev/null
+++ b/coin/provisioning/qtci-windows-7-x86/01-install_telegraf.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install_telegraf.ps1"
diff --git a/coin/provisioning/qtci-windows-7-x86/09-install-mingw810.ps1 b/coin/provisioning/qtci-windows-7-x86/09-install-mingw810.ps1
new file mode 100644
index 00000000..fa8edb85
--- /dev/null
+++ b/coin/provisioning/qtci-windows-7-x86/09-install-mingw810.ps1
@@ -0,0 +1,11 @@
+. "$PSScriptRoot\..\common\windows\install-mingw.ps1"
+
+# This script will install MinGW 8.1.0
+
+$release = "i686-8.1.0-release-posix-dwarf-rt_v6-rev0"
+$sha1 = "dd4f34f473e84c79b6b446adb3a5fac7919ba9cb"
+$suffix = "_i686"
+
+InstallMinGW $release $sha1 $suffix
+
+
diff --git a/coin/provisioning/qtci-windows-7-x86/09-openssl.ps1 b/coin/provisioning/qtci-windows-7-x86/09-openssl.ps1
index f90938c4..269771c7 100644
--- a/coin/provisioning/qtci-windows-7-x86/09-openssl.ps1
+++ b/coin/provisioning/qtci-windows-7-x86/09-openssl.ps1
@@ -43,10 +43,10 @@
# nmake install
-$version = "1.1.1b"
+$version = "1.1.1d"
$zip = Get-DownloadLocation ("openssl-$version.7z")
-$sha1 = "7afba53ab984cecb54a1915c135cbb2a20c6b576"
-$url = "http://ci-files01-hki.intra.qt.io/input/openssl/openssl_${version}_prebuild_x86.7z"
+$sha1 = "2bf9379c4cea81858c4288cf06cc3444996bcad5"
+$url = "http://ci-files01-hki.intra.qt.io/input/openssl/openssl_${version}_prebuild_x86_windows7_msvc2010.zip"
Download $url $url $zip
Verify-Checksum $zip $sha1
@@ -55,6 +55,8 @@ $installFolder = "C:\openssl"
Extract-7Zip $zip "C:\"
Remove-Item -Path $zip
+Move-Item -Path C:\openssl_${version}_prebuild_x86_windows7_msvc2010 -Destination C:\openssl
+
Set-EnvironmentVariable "OPENSSL_CONF_x86" "$installFolder\openssl.cnf"
Set-EnvironmentVariable "OPENSSL_INCLUDE_x86" "$installFolder\include"
Set-EnvironmentVariable "OPENSSL_LIB_x86" "$installFolder\lib"
diff --git a/coin/provisioning/qtci-windows-7-x86/99-version.ps1 b/coin/provisioning/qtci-windows-7-x86/99-version.ps1
new file mode 100644
index 00000000..36e498bc
--- /dev/null
+++ b/coin/provisioning/qtci-windows-7-x86/99-version.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\version.ps1"
diff --git a/coin/provisioning/qtci-windows-7-x86/conanfiles/qtwebkit.txt b/coin/provisioning/qtci-windows-7-x86/conanfiles/qtwebkit.txt
index 7a5a892a..3850cfea 100644
--- a/coin/provisioning/qtci-windows-7-x86/conanfiles/qtwebkit.txt
+++ b/coin/provisioning/qtci-windows-7-x86/conanfiles/qtwebkit.txt
@@ -1,8 +1,8 @@
[requires]
-icu/64.2@qtproject/stable
-libxml2/2.9.9@qtproject/stable
-libxslt/1.1.33@qtproject/stable
-libjpeg-turbo/2.0.2@qtproject/stable
+icu/65.1@qtproject/stable
+libxml2/2.9.10@qtproject/stable
+libxslt/1.1.34@qtproject/stable
+libjpeg-turbo/2.0.3@qtproject/stable
zlib/1.2.11@qtproject/stable
[generators]
@@ -25,8 +25,8 @@ libjpeg-turbo:shared=False
zlib:shared=False
[imports]
-lib, icudt64.dll -> ./bin
-lib, icuin64.dll -> ./bin
-lib, icuuc64.dll -> ./bin
+bin, icudt65.dll -> ./bin
+bin, icuin65.dll -> ./bin
+bin, icuuc65.dll -> ./bin
bin, libxml2-2.dll -> ./bin
bin, libxslt-1.dll -> ./bin
diff --git a/coin/provisioning/qtci-windows-10-x86_64/01-disable-windefender.ps1 b/coin/provisioning/qtci-windows-7-x86_64/00-disable-windefender.ps1
index 8f94b3d5..8f94b3d5 100644
--- a/coin/provisioning/qtci-windows-10-x86_64/01-disable-windefender.ps1
+++ b/coin/provisioning/qtci-windows-7-x86_64/00-disable-windefender.ps1
diff --git a/coin/provisioning/qtci-windows-7-x86_64/03-install-sevenzip.ps1 b/coin/provisioning/qtci-windows-7-x86_64/00-install-sevenzip.ps1
index a9044256..a9044256 100644
--- a/coin/provisioning/qtci-windows-7-x86_64/03-install-sevenzip.ps1
+++ b/coin/provisioning/qtci-windows-7-x86_64/00-install-sevenzip.ps1
diff --git a/coin/provisioning/qtci-windows-7-x86_64/01-install_telegraf.ps1 b/coin/provisioning/qtci-windows-7-x86_64/01-install_telegraf.ps1
new file mode 100644
index 00000000..77fa8cbf
--- /dev/null
+++ b/coin/provisioning/qtci-windows-7-x86_64/01-install_telegraf.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install_telegraf.ps1"
diff --git a/coin/provisioning/qtci-windows-7-x86_64/99-version.ps1 b/coin/provisioning/qtci-windows-7-x86_64/99-version.ps1
new file mode 100644
index 00000000..36e498bc
--- /dev/null
+++ b/coin/provisioning/qtci-windows-7-x86_64/99-version.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\version.ps1"
diff --git a/coin/provisioning/qtci-windows-7-x86/04-disable-windefender.ps1 b/coin/provisioning/qtci-windows-8.1-x86/00-disable-windefender.ps1
index 8f94b3d5..8f94b3d5 100644
--- a/coin/provisioning/qtci-windows-7-x86/04-disable-windefender.ps1
+++ b/coin/provisioning/qtci-windows-8.1-x86/00-disable-windefender.ps1
diff --git a/coin/provisioning/qtci-windows-8.1-x86/03-install-sevenzip.ps1 b/coin/provisioning/qtci-windows-8.1-x86/00-install-sevenzip.ps1
index a9044256..a9044256 100644
--- a/coin/provisioning/qtci-windows-8.1-x86/03-install-sevenzip.ps1
+++ b/coin/provisioning/qtci-windows-8.1-x86/00-install-sevenzip.ps1
diff --git a/coin/provisioning/qtci-windows-8.1-x86/01-install_telegraf.ps1 b/coin/provisioning/qtci-windows-8.1-x86/01-install_telegraf.ps1
new file mode 100644
index 00000000..77fa8cbf
--- /dev/null
+++ b/coin/provisioning/qtci-windows-8.1-x86/01-install_telegraf.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install_telegraf.ps1"
diff --git a/coin/provisioning/qtci-windows-8.1-x86/04-disable-windefender.ps1 b/coin/provisioning/qtci-windows-8.1-x86/04-disable-windefender.ps1
deleted file mode 100644
index 8f94b3d5..00000000
--- a/coin/provisioning/qtci-windows-8.1-x86/04-disable-windefender.ps1
+++ /dev/null
@@ -1 +0,0 @@
-. "$PSScriptRoot\..\common\windows\disable-windefender.ps1"
diff --git a/coin/provisioning/qtci-windows-8.1-x86/99-version.ps1 b/coin/provisioning/qtci-windows-8.1-x86/99-version.ps1
new file mode 100644
index 00000000..36e498bc
--- /dev/null
+++ b/coin/provisioning/qtci-windows-8.1-x86/99-version.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\version.ps1"
diff --git a/coin/provisioning/qtci-windows-7-x86_64/04-disable-windefender.ps1 b/coin/provisioning/qtci-windows-8.1-x86_64/00-disable-windefender.ps1
index 8f94b3d5..8f94b3d5 100644
--- a/coin/provisioning/qtci-windows-7-x86_64/04-disable-windefender.ps1
+++ b/coin/provisioning/qtci-windows-8.1-x86_64/00-disable-windefender.ps1
diff --git a/coin/provisioning/qtci-windows-8.1-x86_64/03-install-sevenzip.ps1 b/coin/provisioning/qtci-windows-8.1-x86_64/00-install-sevenzip.ps1
index a9044256..a9044256 100644
--- a/coin/provisioning/qtci-windows-8.1-x86_64/03-install-sevenzip.ps1
+++ b/coin/provisioning/qtci-windows-8.1-x86_64/00-install-sevenzip.ps1
diff --git a/coin/provisioning/qtci-windows-8.1-x86_64/01-install_telegraf.ps1 b/coin/provisioning/qtci-windows-8.1-x86_64/01-install_telegraf.ps1
new file mode 100644
index 00000000..77fa8cbf
--- /dev/null
+++ b/coin/provisioning/qtci-windows-8.1-x86_64/01-install_telegraf.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install_telegraf.ps1"
diff --git a/coin/provisioning/qtci-windows-8.1-x86_64/04-disable-windefender.ps1 b/coin/provisioning/qtci-windows-8.1-x86_64/04-disable-windefender.ps1
deleted file mode 100644
index 8f94b3d5..00000000
--- a/coin/provisioning/qtci-windows-8.1-x86_64/04-disable-windefender.ps1
+++ /dev/null
@@ -1 +0,0 @@
-. "$PSScriptRoot\..\common\windows\disable-windefender.ps1"
diff --git a/coin/provisioning/qtci-windows-8.1-x86_64/99-version.ps1 b/coin/provisioning/qtci-windows-8.1-x86_64/99-version.ps1
new file mode 100644
index 00000000..36e498bc
--- /dev/null
+++ b/coin/provisioning/qtci-windows-8.1-x86_64/99-version.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\version.ps1"
diff --git a/gnuwin32/README b/gnuwin32/README
deleted file mode 100644
index c3a43063..00000000
--- a/gnuwin32/README
+++ /dev/null
@@ -1,9 +0,0 @@
-This directory contains the Windows binaries of various tools such as bison
-from the GnuWin32 project (http://gnuwin32.sourceforge.net/). We've put them
-here for your convenience, as they are needed to build projects such as
-QtWebKit.
-
-Aside from GnuWin32 binaries this directory also contains a distribution of Win
-flex-bison project (http://sourceforge.net/projects/winflexbison/), which provides
-much newer ports of Flex and Bison than what GnuWin32 provides.
-
diff --git a/gnuwin32/bin/bison.exe b/gnuwin32/bin/bison.exe
deleted file mode 100755
index 035eb2a4..00000000
--- a/gnuwin32/bin/bison.exe
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/bin/data/README b/gnuwin32/bin/data/README
deleted file mode 100644
index 842c0041..00000000
--- a/gnuwin32/bin/data/README
+++ /dev/null
@@ -1,70 +0,0 @@
--*- outline -*-
-
-This directory contains data needed by Bison.
-
-* Skeletons
-Bison skeletons: the general shapes of the different parser kinds,
-that are specialized for specific grammars by the bison program.
-
-Currently, the supported skeletons are:
-
-- yacc.c
- It used to be named bison.simple: it corresponds to C Yacc
- compatible LALR(1) parsers.
-
-- lalr1.cc
- Produces a C++ parser class.
-
-- lalr1.java
- Produces a Java parser class.
-
-- glr.c
- A Generalized LR C parser based on Bison's LALR(1) tables.
-
-- glr.cc
- A Generalized LR C++ parser. Actually a C++ wrapper around glr.c.
-
-These skeletons are the only ones supported by the Bison team.
-Because the interface between skeletons and the bison program is not
-finished, *we are not bound to it*. In particular, Bison is not
-mature enough for us to consider that "foreign skeletons" are
-supported.
-
-* m4sugar
-This directory contains M4sugar, sort of an extended library for M4,
-which is used by Bison to instantiate the skeletons.
-
-* xslt
-This directory contains XSLT programs that transform Bison's XML output
-into various formats.
-
-- bison.xsl
- A library of routines used by the other XSLT programs.
-
-- xml2dot.xsl
- Conversion into GraphViz's dot format.
-
-- xml2text.xsl
- Conversion into text.
-
-- xml2xhtml.xsl
- Conversion into XHTML.
-
------
-
-Copyright (C) 2002, 2008-2013 Free Software Foundation, Inc.
-
-This file is part of GNU Bison.
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
diff --git a/gnuwin32/bin/data/bison.m4 b/gnuwin32/bin/data/bison.m4
deleted file mode 100644
index ca27159c..00000000
--- a/gnuwin32/bin/data/bison.m4
+++ /dev/null
@@ -1,1063 +0,0 @@
- -*- Autoconf -*-
-
-# Language-independent M4 Macros for Bison.
-
-# Copyright (C) 2002, 2004-2013 Free Software Foundation, Inc.
-
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-
-## ---------------- ##
-## Identification. ##
-## ---------------- ##
-
-# b4_copyright(TITLE, [YEARS])
-# ----------------------------
-# If YEARS are not defined, use b4_copyright_years.
-m4_define([b4_copyright],
-[b4_comment([A Bison parser, made by GNU Bison b4_version.])
-
-b4_comment([$1
-
-]m4_dquote(m4_text_wrap([Copyright (C)
-]m4_ifval([$2], [[$2]], [m4_defn([b4_copyright_years])])[
-Free Software Foundation, Inc.]))[
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.])
-
-b4_comment([As a special exception, you may create a larger work that contains
-part or all of the Bison parser skeleton and distribute that work
-under terms of your choice, so long as that work isn't itself a
-parser generator using the skeleton or a modified version thereof
-as a parser skeleton. Alternatively, if you modify or redistribute
-the parser skeleton itself, you may (at your option) remove this
-special exception, which will cause the skeleton and the resulting
-Bison output files to be licensed under the GNU General Public
-License without this special exception.
-
-This special exception was added by the Free Software Foundation in
-version 2.2 of Bison.])])
-
-
-## -------- ##
-## Output. ##
-## -------- ##
-
-# b4_output_begin(FILE)
-# ---------------------
-# Enable output, i.e., send to diversion 0, expand after "#", and
-# generate the tag to output into FILE. Must be followed by EOL.
-m4_define([b4_output_begin],
-[m4_changecom()
-m4_divert_push(0)dnl
-@output(m4_unquote([$1])@)@dnl
-])
-
-
-# b4_output_end()
-# ---------------
-# Output nothing, restore # as comment character (no expansions after #).
-m4_define([b4_output_end],
-[m4_divert_pop(0)
-m4_changecom([#])
-])
-
-
-# b4_divert_kill(CODE)
-# --------------------
-# Expand CODE for its side effects, discard its output.
-m4_define([b4_divert_kill],
-[m4_divert_text([KILL], [$1])])
-
-
-# b4_define_silent(MACRO, CODE)
-# -----------------------------
-# Same as m4_define, but throw away the expansion of CODE.
-m4_define([b4_define_silent],
-[m4_define([$1], [b4_divert_kill([$2])])])
-
-
-## ---------------- ##
-## Error handling. ##
-## ---------------- ##
-
-# The following error handling macros print error directives that should not
-# become arguments of other macro invocations since they would likely then be
-# mangled. Thus, they print to stdout directly.
-
-# b4_cat(TEXT)
-# ------------
-# Write TEXT to stdout. Precede the final newline with an @ so that it's
-# escaped. For example:
-#
-# b4_cat([[@complain(invalid input@)]])
-m4_define([b4_cat],
-[m4_syscmd([cat <<'_m4eof'
-]m4_bpatsubst(m4_dquote($1), [_m4eof], [_m4@`eof])[@
-_m4eof
-])dnl
-m4_if(m4_sysval, [0], [], [m4_fatal([$0: cannot write to stdout])])])
-
-# b4_error(KIND, START, END, FORMAT, [ARG1], [ARG2], ...)
-# -------------------------------------------------------
-# Write @KIND(START@,END@,FORMAT@,ARG1@,ARG2@,...@) to stdout.
-#
-# For example:
-#
-# b4_error([[complain]], [[input.y:2.3]], [[input.y:5.4]],
-# [[invalid %s]], [[foo]])
-m4_define([b4_error],
-[b4_cat([[@complain][(]$1[@,]$2[@,]$3[@,]$4[]]dnl
-[m4_if([$#], [4], [],
- [m4_foreach([b4_arg],
- m4_dquote(m4_shift(m4_shift(m4_shift(m4_shift($@))))),
- [[@,]b4_arg])])[@)]])])
-
-# b4_warn(FORMAT, [ARG1], [ARG2], ...)
-# ------------------------------------
-# Write @warn(FORMAT@,ARG1@,ARG2@,...@) to stdout.
-#
-# For example:
-#
-# b4_warn([[invalid value for '%s': %s]], [[foo]], [[3]])
-#
-# As a simple test suite, this:
-#
-# m4_divert(-1)
-# m4_define([asdf], [ASDF])
-# m4_define([fsa], [FSA])
-# m4_define([fdsa], [FDSA])
-# b4_warn_at([[[asdf), asdf]]], [[[fsa), fsa]]], [[[fdsa), fdsa]]])
-# b4_warn_at([[asdf), asdf]], [[fsa), fsa]], [[fdsa), fdsa]])
-# b4_warn_at()
-# b4_warn_at(1)
-# b4_warn_at(1, 2)
-#
-# Should produce this without newlines:
-#
-# @warn_at([asdf), asdf]@,@,@,[fsa), fsa]@,[fdsa), fdsa]@)
-# @warn(asdf), asdf@,@,@,fsa), fsa@,fdsa), fdsa@)
-# @warn(@)
-# @warn(1@)
-# @warn(1@,2@)
-m4_define([b4_warn],
-[b4_error([[warn]], [], [], $@)])
-
-# b4_warn_at(START, END, FORMAT, [ARG1], [ARG2], ...)
-# ---------------------------------------------------
-# Write @warn(START@,END@,FORMAT@,ARG1@,ARG2@,...@) to stdout.
-#
-# For example:
-#
-# b4_warn_at([[input.y:2.3]], [[input.y:5.4]], [[invalid %s]], [[foo]])
-m4_define([b4_warn_at],
-[b4_error([[warn]], $@)])
-
-# b4_complain(FORMAT, [ARG1], [ARG2], ...)
-# ----------------------------------------
-# Bounce to b4_complain_at.
-#
-# See b4_warn example.
-m4_define([b4_complain],
-[b4_error([[complain]], [], [], $@)])
-
-# b4_complain_at(START, END, FORMAT, [ARG1], [ARG2], ...)
-# -------------------------------------------------------
-# Write @complain(START@,END@,FORMAT@,ARG1@,ARG2@,...@) to stdout.
-#
-# See b4_warn_at example.
-m4_define([b4_complain_at],
-[b4_error([[complain]], $@)])
-
-# b4_fatal(FORMAT, [ARG1], [ARG2], ...)
-# -------------------------------------
-# Bounce to b4_fatal_at.
-#
-# See b4_warn example.
-m4_define([b4_fatal],
-[b4_error([[fatal]], [], [], $@)dnl
-m4_exit(1)])
-
-# b4_fatal_at(START, END, FORMAT, [ARG1], [ARG2], ...)
-# ----------------------------------------------------
-# Write @fatal(START@,END@,FORMAT@,ARG1@,ARG2@,...@) to stdout and exit.
-#
-# See b4_warn_at example.
-m4_define([b4_fatal_at],
-[b4_error([[fatal]], $@)dnl
-m4_exit(1)])
-
-
-## ------------ ##
-## Data Types. ##
-## ------------ ##
-
-# b4_ints_in(INT1, INT2, LOW, HIGH)
-# ---------------------------------
-# Return 1 iff both INT1 and INT2 are in [LOW, HIGH], 0 otherwise.
-m4_define([b4_ints_in],
-[m4_eval([$3 <= $1 && $1 <= $4 && $3 <= $2 && $2 <= $4])])
-
-
-# b4_subtract(LHS, RHS)
-# ---------------------
-# Evaluate LHS - RHS if they are integer literals, otherwise expand
-# to (LHS) - (RHS).
-m4_define([b4_subtract],
-[m4_bmatch([$1$2], [^[0123456789]*$],
- [m4_eval([$1 - $2])],
- [($1) - ($2)])])
-
-# b4_join(ARG1, ...)
-# _b4_join(ARG1, ...)
-# -------------------
-# Join with comma, skipping empty arguments.
-# b4_join calls itself recursively until it sees the first non-empty
-# argument, then calls _b4_join which prepends each non-empty argument
-# with a comma.
-m4_define([b4_join],
-[m4_if([$#$1],
- [1], [],
- [m4_ifval([$1],
- [$1[]_$0(m4_shift($@))],
- [$0(m4_shift($@))])])])
-
-# _b4_join(ARGS1, ...)
-# --------------------
-m4_define([_b4_join],
-[m4_if([$#$1],
- [1], [],
- [m4_ifval([$1], [, $1])[]$0(m4_shift($@))])])
-
-
-
-
-# b4_integral_parser_tables_map(MACRO)
-# -------------------------------------
-# Map MACRO on all the integral tables. MACRO is expected to have
-# the signature MACRO(TABLE-NAME, CONTENT, COMMENT).
-m4_define([b4_integral_parser_tables_map],
-[$1([pact], [b4_pact],
- [[YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
-STATE-NUM.]])
-
-$1([defact], [b4_defact],
- [[YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
-Performed when YYTABLE does not specify something else to do. Zero
-means the default is an error.]])
-
-$1([pgoto], [b4_pgoto], [[YYPGOTO[NTERM-NUM].]])
-
-$1([defgoto], [b4_defgoto], [[YYDEFGOTO[NTERM-NUM].]])
-
-$1([table], [b4_table],
- [[YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
-positive, shift that token. If negative, reduce the rule whose
-number is the opposite. If YYTABLE_NINF, syntax error.]])
-
-$1([check], [b4_check])
-
-$1([stos], [b4_stos],
- [[YYSTOS[STATE-NUM] -- The (internal number of the) accessing
-symbol of state STATE-NUM.]])
-
-$1([r1], [b4_r1],
- [[YYR1[YYN] -- Symbol number of symbol that rule YYN derives.]])
-
-$1([r2], [b4_r2],
- [[YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.]])
-])
-
-
-# b4_parser_tables_declare
-# b4_parser_tables_define
-# ------------------------
-# Define/declare the (deterministic) parser tables.
-m4_define([b4_parser_tables_declare],
-[b4_integral_parser_tables_map([b4_integral_parser_table_declare])])
-
-m4_define([b4_parser_tables_define],
-[b4_integral_parser_tables_map([b4_integral_parser_table_define])])
-
-
-
-## ------------------ ##
-## Decoding options. ##
-## ------------------ ##
-
-# b4_flag_if(FLAG, IF-TRUE, IF-FALSE)
-# -----------------------------------
-# Run IF-TRUE if b4_FLAG_flag is 1, IF-FALSE if FLAG is 0, otherwise fail.
-m4_define([b4_flag_if],
-[m4_case(b4_$1_flag,
- [0], [$3],
- [1], [$2],
- [m4_fatal([invalid $1 value: ]b4_$1_flag)])])
-
-
-# b4_define_flag_if(FLAG)
-# -----------------------
-# Define "b4_FLAG_if(IF-TRUE, IF-FALSE)" that depends on the
-# value of the Boolean FLAG.
-m4_define([b4_define_flag_if],
-[_b4_define_flag_if($[1], $[2], [$1])])
-
-# _b4_define_flag_if($1, $2, FLAG)
-# --------------------------------
-# Work around the impossibility to define macros inside macros,
-# because issuing '[$1]' is not possible in M4. GNU M4 should provide
-# $$1 a la M5/TeX.
-m4_define([_b4_define_flag_if],
-[m4_if([$1$2], $[1]$[2], [],
- [m4_fatal([$0: Invalid arguments: $@])])dnl
-m4_define([b4_$3_if],
- [b4_flag_if([$3], [$1], [$2])])])
-
-
-# b4_FLAG_if(IF-TRUE, IF-FALSE)
-# -----------------------------
-# Expand IF-TRUE, if FLAG is true, IF-FALSE otherwise.
-b4_define_flag_if([defines]) # Whether headers are requested.
-b4_define_flag_if([glr]) # Whether a GLR parser is requested.
-b4_define_flag_if([nondeterministic]) # Whether conflicts should be handled.
-b4_define_flag_if([token_table]) # Whether yytoken_table is demanded.
-b4_define_flag_if([yacc]) # Whether POSIX Yacc is emulated.
-
-
-## --------- ##
-## Symbols. ##
-## --------- ##
-
-# In order to unify the handling of the various aspects of symbols
-# (tag, type_name, whether terminal, etc.), bison.exe defines one
-# macro per (token, field), where field can has_id, id, etc.: see
-# src/output.c:prepare_symbols_definitions().
-#
-# The various FIELDS are:
-#
-# - has_id: 0 or 1.
-# Whether the symbol has an id.
-# - id: string
-# If has_id, the id. Guaranteed to be usable as a C identifier.
-# Prefixed by api.token.prefix if defined.
-# - tag: string.
-# A representat of the symbol. Can be 'foo', 'foo.id', '"foo"' etc.
-# - user_number: integer
-# The assigned (external) number as used by yylex.
-# - is_token: 0 or 1
-# Whether this is a terminal symbol.
-# - number: integer
-# The internalized number (used after yytranslate).
-# - has_type: 0, 1
-# Whether has a semantic value.
-# - type_tag: string
-# When api.value.type=union, the generated name for the union member.
-# yytype_INT etc. for symbols that has_id, otherwise yytype_1 etc.
-# - type
-# If it has a semantic value, its type tag, or, if variant are used,
-# its type.
-# In the case of api.value.type=union, type is the real type (e.g. int).
-# - has_printer: 0, 1
-# - printer: string
-# - printer_file: string
-# - printer_line: integer
-# If the symbol has a printer, everything about it.
-# - has_destructor, destructor, destructor_file, destructor_line
-# Likewise.
-#
-# The following macros provide access to these values.
-
-# b4_symbol_(NUM, FIELD)
-# ----------------------
-# Recover a FIELD about symbol #NUM. Thanks to m4_indir, fails if
-# undefined.
-m4_define([b4_symbol_],
-[m4_indir([b4_symbol($1, $2)])])
-
-
-# b4_symbol(NUM, FIELD)
-# ---------------------
-# Recover a FIELD about symbol #NUM. Thanks to m4_indir, fails if
-# undefined. If FIELD = id, prepend the token prefix.
-m4_define([b4_symbol],
-[m4_case([$2],
- [id], [m4_do([b4_percent_define_get([api.token.prefix])],
- [b4_symbol_([$1], [id])])],
- [b4_symbol_($@)])])
-
-
-# b4_symbol_if(NUM, FIELD, IF-TRUE, IF-FALSE)
-# -------------------------------------------
-# If FIELD about symbol #NUM is 1 expand IF-TRUE, if is 0, expand IF-FALSE.
-# Otherwise an error.
-m4_define([b4_symbol_if],
-[m4_case(b4_symbol([$1], [$2]),
- [1], [$3],
- [0], [$4],
- [m4_fatal([$0: field $2 of $1 is not a Boolean:] b4_symbol([$1], [$2]))])])
-
-
-# b4_symbol_tag_comment(SYMBOL-NUM)
-# ---------------------------------
-# Issue a comment giving the tag of symbol NUM.
-m4_define([b4_symbol_tag_comment],
-[b4_comment([b4_symbol([$1], [tag])])
-])
-
-
-# b4_symbol_action_location(SYMBOL-NUM, KIND)
-# -------------------------------------------
-# Report the location of the KIND action as FILE:LINE.
-m4_define([b4_symbol_action_location],
-[b4_symbol([$1], [$2_file]):b4_syncline([b4_symbol([$1], [$2_line])])])
-
-
-# b4_symbol_action(SYMBOL-NUM, KIND)
-# ----------------------------------
-# Run the action KIND (destructor or printer) for SYMBOL-NUM.
-# Same as in C, but using references instead of pointers.
-m4_define([b4_symbol_action],
-[b4_symbol_if([$1], [has_$2],
-[b4_dollar_pushdef([(*yyvaluep)],
- b4_symbol_if([$1], [has_type],
- [m4_dquote(b4_symbol([$1], [type]))]),
- [(*yylocationp)])dnl
- b4_symbol_case_([$1])[]dnl
-b4_syncline([b4_symbol([$1], [$2_line])], ["b4_symbol([$1], [$2_file])"])
- b4_symbol([$1], [$2])
-b4_syncline([@oline@], [@ofile@])
- break;
-
-b4_dollar_popdef[]dnl
-])])
-
-
-# b4_symbol_destructor(SYMBOL-NUM)
-# b4_symbol_printer(SYMBOL-NUM)
-# --------------------------------
-m4_define([b4_symbol_destructor], [b4_symbol_action([$1], [destructor])])
-m4_define([b4_symbol_printer], [b4_symbol_action([$1], [printer])])
-
-
-# b4_symbol_actions(KIND, [TYPE = yytype])
-# ----------------------------------------
-# Emit the symbol actions for KIND ("printer" or "destructor").
-# Dispatch on TYPE.
-m4_define([b4_symbol_actions],
-[m4_pushdef([b4_actions_], m4_expand([b4_symbol_foreach([b4_symbol_$1])]))dnl
-m4_ifval(m4_defn([b4_actions_]),
-[switch (m4_default([$2], [yytype]))
- {
- m4_defn([b4_actions_])
- default:
- break;
- }dnl
-],
-[YYUSE (m4_default([$2], [yytype]));])dnl
-m4_popdef([b4_actions_])dnl
-])
-
-# b4_symbol_case_(SYMBOL-NUM)
-# ---------------------------
-# Issue a "case NUM" for SYMBOL-NUM.
-m4_define([b4_symbol_case_],
-[case b4_symbol([$1], [number]): b4_symbol_tag_comment([$1])])
-])
-
-
-# b4_symbol_foreach(MACRO)
-# ------------------------
-# Invoke MACRO(SYMBOL-NUM) for each SYMBOL-NUM.
-m4_define([b4_symbol_foreach],
- [m4_map([$1], m4_defn([b4_symbol_numbers]))])
-
-# b4_symbol_map(MACRO)
-# --------------------
-# Return a list (possibly empty elements) of MACRO invoked for each
-# SYMBOL-NUM.
-m4_define([b4_symbol_map],
-[m4_map_args_sep([$1(], [)], [,], b4_symbol_numbers)])
-
-
-# b4_token_visible_if(NUM, IF-TRUE, IF-FALSE)
-# -------------------------------------------
-# Whether NUM denotes a token that has an exported definition (i.e.,
-# shows in enum yytokentype).
-m4_define([b4_token_visible_if],
-[b4_symbol_if([$1], [is_token],
- [b4_symbol_if([$1], [has_id], [$2], [$3])],
- [$3])])
-
-# b4_token_has_definition(NUM)
-# ----------------------------
-# 1 if NUM is visible, nothing otherwise.
-m4_define([b4_token_has_definition],
-[b4_token_visible_if([$1], [1])])
-
-# b4_any_token_visible_if([IF-TRUE], [IF-FALSE])
-# ----------------------------------------------
-# Whether there is a token that needs to be defined.
-m4_define([b4_any_token_visible_if],
-[m4_ifval(b4_symbol_foreach([b4_token_has_definition]),
- [$1], [$2])])
-
-
-# b4_token_format(FORMAT, NUM)
-# ----------------------------
-m4_define([b4_token_format],
-[b4_token_visible_if([$2],
-[m4_quote(m4_format([$1],
- [b4_symbol([$2], [id])],
- [b4_symbol([$2], [user_number])]))])])
-
-
-## ------- ##
-## Types. ##
-## ------- ##
-
-# b4_type_action_(NUMS)
-# ---------------------
-# Run actions for the symbol NUMS that all have the same type-name.
-# Skip NUMS that have no type-name.
-#
-# To specify the action to run, define b4_dollar_dollar(NUMBER,
-# TAG, TYPE).
-m4_define([b4_type_action_],
-[b4_symbol_if([$1], [has_type],
-[m4_map([ b4_symbol_case_], [$@])[]dnl
- b4_dollar_dollar([b4_symbol([$1], [number])],
- [b4_symbol([$1], [tag])],
- [b4_symbol([$1], [type])]);
- break;
-
-])])
-
-# b4_type_foreach(MACRO)
-# ----------------------
-# Invoke MACRO(SYMBOL-NUMS) for each set of SYMBOL-NUMS for each type set.
-m4_define([b4_type_foreach],
- [m4_map([$1], m4_defn([b4_type_names]))])
-
-
-
-## ----------- ##
-## Synclines. ##
-## ----------- ##
-
-# b4_basename(NAME)
-# -----------------
-# Similar to POSIX basename; the differences don't matter here.
-# Beware that NAME is not evaluated.
-m4_define([b4_basename],
-[m4_bpatsubst([$1], [^.*/\([^/]+\)/*$], [\1])])
-
-
-# b4_syncline(LINE, FILE)
-# -----------------------
-m4_define([b4_syncline],
-[b4_flag_if([synclines],
-[b4_sync_start([$1], [$2]) b4_sync_end([__line__],
- [b4_basename(m4_quote(__file__))])[]dnl
-])])
-
-# b4_sync_start(LINE, FILE)
-# -----------------------
-# Syncline for the new place. Typically a directive for the compiler.
-m4_define([b4_sync_start], [b4_comment([$2:$1])])
-
-# b4_sync_end(LINE, FILE)
-# -----------------------
-# Syncline for the current place, which ends. Typically a comment
-# left for the reader.
-m4_define([b4_sync_end], [b4_comment([$2:$1])])
-
-
-# b4_user_code(USER-CODE)
-# -----------------------
-# Emit code from the user, ending it with synclines.
-m4_define([b4_user_code],
-[$1
-b4_syncline([@oline@], [@ofile@])])
-
-
-# b4_define_user_code(MACRO)
-# --------------------------
-# From b4_MACRO, build b4_user_MACRO that includes the synclines.
-m4_define([b4_define_user_code],
-[m4_define([b4_user_$1],
-[b4_user_code([b4_$1])])])
-
-
-# b4_user_actions
-# b4_user_initial_action
-# b4_user_post_prologue
-# b4_user_pre_prologue
-# b4_user_union_members
-# ----------------------
-# Macros that issue user code, ending with synclines.
-b4_define_user_code([actions])
-b4_define_user_code([initial_action])
-b4_define_user_code([post_prologue])
-b4_define_user_code([pre_prologue])
-b4_define_user_code([union_members])
-
-
-# b4_check_user_names(WHAT, USER-LIST, BISON-NAMESPACE)
-# -----------------------------------------------------
-# Complain if any name of type WHAT is used by the user (as recorded in
-# USER-LIST) but is not used by Bison (as recorded by macros in the
-# namespace BISON-NAMESPACE).
-#
-# USER-LIST must expand to a list specifying all user occurrences of all names
-# of type WHAT. Each item in the list must be a triplet specifying one
-# occurrence: name, start boundary, and end boundary. Empty string names are
-# fine. An empty list is fine.
-#
-# For example, to define b4_foo_user_names to be used for USER-LIST with three
-# name occurrences and with correct quoting:
-#
-# m4_define([b4_foo_user_names],
-# [[[[[[bar]], [[parser.y:1.7]], [[parser.y:1.16]]]],
-# [[[[bar]], [[parser.y:5.7]], [[parser.y:5.16]]]],
-# [[[[baz]], [[parser.y:8.7]], [[parser.y:8.16]]]]]])
-#
-# The macro BISON-NAMESPACE(bar) must be defined iff the name bar of type WHAT
-# is used by Bison (in the front-end or in the skeleton). Empty string names
-# are fine, but it would be ugly for Bison to actually use one.
-#
-# For example, to use b4_foo_bison_names for BISON-NAMESPACE and define that
-# the names bar and baz are used by Bison:
-#
-# m4_define([b4_foo_bison_names(bar)])
-# m4_define([b4_foo_bison_names(baz)])
-#
-# To invoke b4_check_user_names with TYPE foo, with USER-LIST
-# b4_foo_user_names, with BISON-NAMESPACE b4_foo_bison_names, and with correct
-# quoting:
-#
-# b4_check_user_names([[foo]], [b4_foo_user_names],
-# [[b4_foo_bison_names]])
-m4_define([b4_check_user_names],
-[m4_foreach([b4_occurrence], $2,
-[m4_pushdef([b4_occurrence], b4_occurrence)dnl
-m4_pushdef([b4_user_name], m4_car(b4_occurrence))dnl
-m4_pushdef([b4_start], m4_car(m4_shift(b4_occurrence)))dnl
-m4_pushdef([b4_end], m4_shift(m4_shift(b4_occurrence)))dnl
-m4_ifndef($3[(]m4_quote(b4_user_name)[)],
- [b4_complain_at([b4_start], [b4_end],
- [[%s '%s' is not used]],
- [$1], [b4_user_name])])[]dnl
-m4_popdef([b4_occurrence])dnl
-m4_popdef([b4_user_name])dnl
-m4_popdef([b4_start])dnl
-m4_popdef([b4_end])dnl
-])])
-
-
-
-## --------------------- ##
-## b4_percent_define_*. ##
-## --------------------- ##
-
-
-# b4_percent_define_use(VARIABLE)
-# -------------------------------
-# Declare that VARIABLE was used.
-m4_define([b4_percent_define_use],
-[m4_define([b4_percent_define_bison_variables(]$1[)])dnl
-])
-
-# b4_percent_define_get(VARIABLE, [DEFAULT])
-# ------------------------------------------
-# Mimic muscle_percent_define_get in ../src/muscle-tab.h. That is, if
-# the %define variable VARIABLE is defined, emit its value. Contrary
-# to its C counterpart, return DEFAULT otherwise. Also, record
-# Bison's usage of VARIABLE by defining
-# b4_percent_define_bison_variables(VARIABLE).
-#
-# For example:
-#
-# b4_percent_define_get([[foo]])
-m4_define([b4_percent_define_get],
-[b4_percent_define_use([$1])dnl
-b4_percent_define_ifdef_([$1],
- [m4_indir([b4_percent_define(]$1[)])],
- [$2])])
-
-# b4_percent_define_get_loc(VARIABLE)
-# -----------------------------------
-# Mimic muscle_percent_define_get_loc in ../src/muscle-tab.h exactly. That is,
-# if the %define variable VARIABLE is undefined, complain fatally since that's
-# a Bison or skeleton error. Otherwise, return its definition location in a
-# form approriate for the first two arguments of b4_warn_at, b4_complain_at, or
-# b4_fatal_at. Don't record this as a Bison usage of VARIABLE as there's no
-# reason to suspect that the user-supplied value has yet influenced the output.
-#
-# For example:
-#
-# b4_complain_at(b4_percent_define_get_loc([[foo]]), [[invalid foo]])
-m4_define([b4_percent_define_get_loc],
-[m4_ifdef([b4_percent_define_loc(]$1[)],
- [m4_pushdef([b4_loc], m4_indir([b4_percent_define_loc(]$1[)]))dnl
-b4_loc[]dnl
-m4_popdef([b4_loc])],
- [b4_fatal([[$0: undefined %%define variable '%s']], [$1])])])
-
-# b4_percent_define_get_kind(VARIABLE)
-# ------------------------------------
-# Get the kind (code, keyword, string) of VARIABLE, i.e., how its
-# value was defined (braces, not delimiters, quotes).
-#
-# If the %define variable VARIABLE is undefined, complain fatally
-# since that's a Bison or skeleton error. Don't record this as a
-# Bison usage of VARIABLE as there's no reason to suspect that the
-# user-supplied value has yet influenced the output.
-m4_define([b4_percent_define_get_kind],
-[m4_ifdef([b4_percent_define_kind(]$1[)],
- [m4_indir([b4_percent_define_kind(]$1[)])],
- [b4_fatal([[$0: undefined %%define variable '%s']], [$1])])])
-
-# b4_percent_define_get_syncline(VARIABLE)
-# ----------------------------------------
-# Mimic muscle_percent_define_get_syncline in ../src/muscle-tab.h exactly.
-# That is, if the %define variable VARIABLE is undefined, complain fatally
-# since that's a Bison or skeleton error. Otherwise, return its definition
-# location as a b4_syncline invocation. Don't record this as a Bison usage of
-# VARIABLE as there's no reason to suspect that the user-supplied value has yet
-# influenced the output.
-#
-# For example:
-#
-# b4_percent_define_get_syncline([[foo]])
-m4_define([b4_percent_define_get_syncline],
-[m4_ifdef([b4_percent_define_syncline(]$1[)],
- [m4_indir([b4_percent_define_syncline(]$1[)])],
- [b4_fatal([[$0: undefined %%define variable '%s']], [$1])])])
-
-# b4_percent_define_ifdef_(VARIABLE, IF-TRUE, [IF-FALSE])
-# ------------------------------------------------------
-# If the %define variable VARIABLE is defined, expand IF-TRUE, else expand
-# IF-FALSE. Don't record usage of VARIABLE.
-#
-# For example:
-#
-# b4_percent_define_ifdef_([[foo]], [[it's defined]], [[it's undefined]])
-m4_define([b4_percent_define_ifdef_],
-[m4_ifdef([b4_percent_define(]$1[)],
- [$2],
- [$3])])
-
-# b4_percent_define_ifdef(VARIABLE, IF-TRUE, [IF-FALSE])
-# ------------------------------------------------------
-# Mimic muscle_percent_define_ifdef in ../src/muscle-tab.h exactly. That is,
-# if the %define variable VARIABLE is defined, expand IF-TRUE, else expand
-# IF-FALSE. Also, record Bison's usage of VARIABLE by defining
-# b4_percent_define_bison_variables(VARIABLE).
-#
-# For example:
-#
-# b4_percent_define_ifdef([[foo]], [[it's defined]], [[it's undefined]])
-m4_define([b4_percent_define_ifdef],
-[b4_percent_define_ifdef_([$1],
- [b4_percent_define_use([$1])$2],
- [$3])])
-
-
-## --------- ##
-## Options. ##
-## --------- ##
-
-
-# b4_percent_define_flag_if(VARIABLE, IF-TRUE, [IF-FALSE])
-# --------------------------------------------------------
-# Mimic muscle_percent_define_flag_if in ../src/muscle-tab.h exactly. That is,
-# if the %define variable VARIABLE is defined to "" or "true", expand IF-TRUE.
-# If it is defined to "false", expand IF-FALSE. Complain if it is undefined
-# (a Bison or skeleton error since the default value should have been set
-# already) or defined to any other value (possibly a user error). Also, record
-# Bison's usage of VARIABLE by defining
-# b4_percent_define_bison_variables(VARIABLE).
-#
-# For example:
-#
-# b4_percent_define_flag_if([[foo]], [[it's true]], [[it's false]])
-m4_define([b4_percent_define_flag_if],
-[b4_percent_define_ifdef([$1],
- [m4_case(b4_percent_define_get([$1]),
- [], [$2], [true], [$2], [false], [$3],
- [m4_expand_once([b4_complain_at(b4_percent_define_get_loc([$1]),
- [[invalid value for %%define Boolean variable '%s']],
- [$1])],
- [[b4_percent_define_flag_if($1)]])])],
- [b4_fatal([[$0: undefined %%define variable '%s']], [$1])])])
-
-
-# b4_percent_define_default(VARIABLE, DEFAULT, [KIND = keyword])
-# --------------------------------------------------------------
-# Mimic muscle_percent_define_default in ../src/muscle-tab.h exactly. That is,
-# if the %define variable VARIABLE is undefined, set its value to DEFAULT.
-# Don't record this as a Bison usage of VARIABLE as there's no reason to
-# suspect that the value has yet influenced the output.
-#
-# For example:
-#
-# b4_percent_define_default([[foo]], [[default value]])
-m4_define([b4_percent_define_default],
-[b4_percent_define_ifdef_([$1], [],
- [m4_define([b4_percent_define(]$1[)], [$2])dnl
- m4_define([b4_percent_define_kind(]$1[)],
- [m4_default([$3], [keyword])])dnl
- m4_define([b4_percent_define_loc(]$1[)],
- [[[[<skeleton default value>:-1.-1]],
- [[<skeleton default value>:-1.-1]]]])dnl
- m4_define([b4_percent_define_syncline(]$1[)], [[]])])])
-
-
-# b4_percent_define_if_define(NAME, [VARIABLE = NAME])
-# ----------------------------------------------------
-# Define b4_NAME_if that executes its $1 or $2 depending whether
-# VARIABLE was %defined. The characters '.' and `-' in VARIABLE are mapped
-# to '_'.
-m4_define([b4_percent_define_if_define_],
-[m4_define(m4_bpatsubst([b4_$1_if], [[-.]], [_]),
- [b4_percent_define_flag_if(m4_default([$2], [$1]),
- [$3], [$4])])])
-m4_define([b4_percent_define_if_define],
-[b4_percent_define_default([m4_default([$2], [$1])], [[false]])
-b4_percent_define_if_define_([$1], [$2], $[1], $[2])])
-
-
-# b4_percent_define_check_kind(VARIABLE, KIND, [DIAGNOSTIC = complain])
-# ---------------------------------------------------------------------
-m4_define([b4_percent_define_check_kind],
-[b4_percent_define_ifdef_([$1],
- [m4_if(b4_percent_define_get_kind([$1]), [$2], [],
- [b4_error([m4_default([$3], [complain])],
- b4_percent_define_get_loc([$1]),
- [m4_case([$2],
- [code], [[%%define variable '%s' requires '{...}' values]],
- [keyword], [[%%define variable '%s' requires keyword values]],
- [string], [[%%define variable '%s' requires '"..."' values]])],
- [$1])])])dnl
-])
-
-
-# b4_percent_define_check_values(VALUES)
-# --------------------------------------
-# Mimic muscle_percent_define_check_values in ../src/muscle-tab.h exactly
-# except that the VALUES structure is more appropriate for M4. That is, VALUES
-# is a list of sublists of strings. For each sublist, the first string is the
-# name of a %define variable, and all remaining strings in that sublist are the
-# valid values for that variable. Complain if such a variable is undefined (a
-# Bison error since the default value should have been set already) or defined
-# to any other value (possibly a user error). Don't record this as a Bison
-# usage of the variable as there's no reason to suspect that the value has yet
-# influenced the output.
-#
-# For example:
-#
-# b4_percent_define_check_values([[[[foo]], [[foo-value1]], [[foo-value2]]]],
-# [[[[bar]], [[bar-value1]]]])
-m4_define([b4_percent_define_check_values],
-[m4_foreach([b4_sublist], m4_quote($@),
- [_b4_percent_define_check_values(b4_sublist)])])
-
-m4_define([_b4_percent_define_check_values],
-[b4_percent_define_ifdef_([$1],
- [b4_percent_define_check_kind(]$1[, [keyword], [deprecated])dnl
- m4_pushdef([b4_good_value], [0])dnl
- m4_if($#, 1, [],
- [m4_foreach([b4_value], m4_dquote(m4_shift($@)),
- [m4_if(m4_indir([b4_percent_define(]$1[)]), b4_value,
- [m4_define([b4_good_value], [1])])])])dnl
- m4_if(b4_good_value, [0],
- [b4_complain_at(b4_percent_define_get_loc([$1]),
- [[invalid value for %%define variable '%s': '%s']],
- [$1],
- m4_dquote(m4_indir([b4_percent_define(]$1[)])))
- m4_foreach([b4_value], m4_dquote(m4_shift($@)),
- [b4_error([[note]], b4_percent_define_get_loc([$1]), []
- [[accepted value: '%s']],
- m4_dquote(b4_value))])])dnl
- m4_popdef([b4_good_value])],
- [b4_fatal([[$0: undefined %%define variable '%s']], [$1])])])
-
-# b4_percent_code_get([QUALIFIER])
-# --------------------------------
-# If any %code blocks for QUALIFIER are defined, emit them beginning with a
-# comment and ending with synclines and a newline. If QUALIFIER is not
-# specified or empty, do this for the unqualified %code blocks. Also, record
-# Bison's usage of QUALIFIER (if specified) by defining
-# b4_percent_code_bison_qualifiers(QUALIFIER).
-#
-# For example, to emit any unqualified %code blocks followed by any %code
-# blocks for the qualifier foo:
-#
-# b4_percent_code_get
-# b4_percent_code_get([[foo]])
-m4_define([b4_percent_code_get],
-[m4_pushdef([b4_macro_name], [[b4_percent_code(]$1[)]])dnl
-m4_ifval([$1], [m4_define([b4_percent_code_bison_qualifiers(]$1[)])])dnl
-m4_ifdef(b4_macro_name,
-[b4_comment([m4_if([$#], [0], [[Unqualified %code]],
- [["%code ]$1["]])[ blocks.]])
-b4_user_code([m4_indir(b4_macro_name)])
-])dnl
-m4_popdef([b4_macro_name])])
-
-# b4_percent_code_ifdef(QUALIFIER, IF-TRUE, [IF-FALSE])
-# -----------------------------------------------------
-# If any %code blocks for QUALIFIER (or unqualified %code blocks if
-# QUALIFIER is empty) are defined, expand IF-TRUE, else expand IF-FALSE.
-# Also, record Bison's usage of QUALIFIER (if specified) by defining
-# b4_percent_code_bison_qualifiers(QUALIFIER).
-m4_define([b4_percent_code_ifdef],
-[m4_ifdef([b4_percent_code(]$1[)],
- [m4_ifval([$1], [m4_define([b4_percent_code_bison_qualifiers(]$1[)])])$2],
- [$3])])
-
-
-## ------------------ ##
-## Common variables. ##
-## ------------------ ##
-
-
-# b4_parse_assert_if([IF-ASSERTIONS-ARE-USED], [IF-NOT])
-# b4_parse_trace_if([IF-DEBUG-TRACES-ARE-ENABLED], [IF-NOT])
-# b4_token_ctor_if([IF-YYLEX-RETURNS-A-TOKEN], [IF-NOT])
-# ----------------------------------------------
-b4_percent_define_if_define([token_ctor], [api.token.constructor])
-b4_percent_define_if_define([locations]) # Whether locations are tracked.
-b4_percent_define_if_define([parse.assert])
-b4_percent_define_if_define([parse.trace])
-
-
-# b4_bison_locations_if([IF-TRUE])
-# --------------------------------
-# Expand IF-TRUE if using locations, and using the default location
-# type.
-m4_define([b4_bison_locations_if],
-[b4_locations_if([b4_percent_define_ifdef([[api.location.type]], [], [$1])])])
-
-
-# b4_error_verbose_if([IF-ERRORS-ARE-VERBOSE], [IF-NOT])
-# ------------------------------------------------------
-# Map %define parse.error "(simple|verbose)" to b4_error_verbose_if and
-# b4_error_verbose_flag.
-b4_percent_define_default([[parse.error]], [[simple]])
-b4_percent_define_check_values([[[[parse.error]],
- [[simple]], [[verbose]]]])
-m4_define([b4_error_verbose_flag],
- [m4_case(b4_percent_define_get([[parse.error]]),
- [simple], [[0]],
- [verbose], [[1]])])
-b4_define_flag_if([error_verbose])
-
-# yytoken_table is needed to support verbose errors.
-b4_error_verbose_if([m4_define([b4_token_table_flag], [1])])
-
-
-# b4_variant_if([IF-VARIANT-ARE-USED], [IF-NOT])
-# ----------------------------------------------
-b4_percent_define_if_define([variant])
-m4_define([b4_variant_flag], [[0]])
-b4_percent_define_ifdef([[api.value.type]],
- [m4_case(b4_percent_define_get_kind([[api.value.type]]), [keyword],
- [m4_case(b4_percent_define_get([[api.value.type]]), [variant],
- [m4_define([b4_variant_flag], [[1]])])])])
-b4_define_flag_if([variant])
-
-
-## ----------------------------------------------------------- ##
-## After processing the skeletons, check that all the user's ##
-## %define variables and %code qualifiers were used by Bison. ##
-## ----------------------------------------------------------- ##
-
-m4_define([b4_check_user_names_wrap],
-[m4_ifdef([b4_percent_]$1[_user_]$2[s],
- [b4_check_user_names([[%]$1 $2],
- [b4_percent_]$1[_user_]$2[s],
- [[b4_percent_]$1[_bison_]$2[s]])])])
-
-m4_wrap_lifo([
-b4_check_user_names_wrap([[define]], [[variable]])
-b4_check_user_names_wrap([[code]], [[qualifier]])
-])
-
-
-## ---------------- ##
-## Default values. ##
-## ---------------- ##
-
-# m4_define_default([b4_lex_param], []) dnl breaks other skeletons
-m4_define_default([b4_pre_prologue], [])
-m4_define_default([b4_post_prologue], [])
-m4_define_default([b4_epilogue], [])
-m4_define_default([b4_parse_param], [])
-
-# The initial column and line.
-m4_define_default([b4_location_initial_column], [1])
-m4_define_default([b4_location_initial_line], [1])
-
-
-## --------------- ##
-## Sanity checks. ##
-## --------------- ##
-
-# api.location.prefix={...} (Java and C++).
-b4_percent_define_check_kind([api.location.type], [code], [deprecated])
-
-# api.position.prefix={...} (Java).
-b4_percent_define_check_kind([api.position.type], [code], [deprecated])
-
-# api.prefix >< %name-prefix.
-b4_percent_define_check_kind([api.prefix], [code], [deprecated])
-b4_percent_define_ifdef([api.prefix],
-[m4_ifdef([b4_prefix],
-[b4_complain_at(b4_percent_define_get_loc([api.prefix]),
- [['%s' and '%s' cannot be used together]],
- [%name-prefix],
- [%define api.prefix])])])
-
-# api.token.prefix={...}
-# Make it a warning for those who used betas of Bison 3.0.
-b4_percent_define_check_kind([api.token.prefix], [code], [deprecated])
-
-# api.value.type >< %union.
-b4_percent_define_ifdef([api.value.type],
-[m4_ifdef([b4_union_members],
-[b4_complain_at(b4_percent_define_get_loc([api.value.type]),
- [['%s' and '%s' cannot be used together]],
- [%union],
- [%define api.value.type])])])
-
-# api.value.type=union >< %yacc.
-b4_percent_define_ifdef([api.value.type],
-[m4_if(b4_percent_define_get([api.value.type]), [union],
-[b4_yacc_if(dnl
-[b4_complain_at(b4_percent_define_get_loc([api.value.type]),
- [['%s' and '%s' cannot be used together]],
- [%yacc],
- [%define api.value.type "union"])])])])
diff --git a/gnuwin32/bin/data/c++-skel.m4 b/gnuwin32/bin/data/c++-skel.m4
deleted file mode 100644
index 06597a8b..00000000
--- a/gnuwin32/bin/data/c++-skel.m4
+++ /dev/null
@@ -1,26 +0,0 @@
- -*- Autoconf -*-
-
-# C++ skeleton dispatching for Bison.
-
-# Copyright (C) 2006-2007, 2009-2013 Free Software Foundation, Inc.
-
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-b4_glr_if( [m4_define([b4_used_skeleton], [b4_pkgdatadir/[glr.cc]])])
-b4_nondeterministic_if([m4_define([b4_used_skeleton], [b4_pkgdatadir/[glr.cc]])])
-
-m4_define_default([b4_used_skeleton], [b4_pkgdatadir/[lalr1.cc]])
-m4_define_default([b4_skeleton], ["b4_basename(b4_used_skeleton)"])
-
-m4_include(b4_used_skeleton)
diff --git a/gnuwin32/bin/data/c++.m4 b/gnuwin32/bin/data/c++.m4
deleted file mode 100644
index be12c0a2..00000000
--- a/gnuwin32/bin/data/c++.m4
+++ /dev/null
@@ -1,544 +0,0 @@
- -*- Autoconf -*-
-
-# C++ skeleton for Bison
-
-# Copyright (C) 2002-2013 Free Software Foundation, Inc.
-
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-m4_include(b4_pkgdatadir/[c.m4])
-
-# b4_comment(TEXT, [PREFIX])
-# --------------------------
-# Put TEXT in comment. Prefix all the output lines with PREFIX.
-m4_define([b4_comment],
-[b4_comment_([$1], [$2// ], [$2// ])])
-
-## -------- ##
-## Checks. ##
-## -------- ##
-
-b4_percent_define_check_kind([api.namespace], [code], [deprecated])
-b4_percent_define_check_kind([parser_class_name], [code], [deprecated])
-
-## ---------------- ##
-## Default values. ##
-## ---------------- ##
-
-b4_percent_define_default([[parser_class_name]], [[parser]])
-
-# Don't do that so that we remember whether we're using a user
-# request, or the default value.
-#
-# b4_percent_define_default([[api.location.type]], [[location]])
-
-b4_percent_define_default([[filename_type]], [[std::string]])
-# Make it a warning for those who used betas of Bison 3.0.
-b4_percent_define_default([[api.namespace]], m4_defn([b4_prefix]))
-
-b4_percent_define_default([[global_tokens_and_yystype]], [[false]])
-b4_percent_define_default([[define_location_comparison]],
- [m4_if(b4_percent_define_get([[filename_type]]),
- [std::string], [[true]], [[false]])])
-
-
-
-## ----------- ##
-## Namespace. ##
-## ----------- ##
-
-m4_define([b4_namespace_ref], [b4_percent_define_get([[api.namespace]])])
-
-
-# Don't permit an empty b4_namespace_ref. Any '::parser::foo' appended to it
-# would compile as an absolute reference with 'parser' in the global namespace.
-# b4_namespace_open would open an anonymous namespace and thus establish
-# internal linkage. This would compile. However, it's cryptic, and internal
-# linkage for the parser would be specified in all translation units that
-# include the header, which is always generated. If we ever need to permit
-# internal linkage somehow, surely we can find a cleaner approach.
-m4_if(m4_bregexp(b4_namespace_ref, [^[ ]*$]), [-1], [],
-[b4_complain_at(b4_percent_define_get_loc([[api.namespace]]),
- [[namespace reference is empty]])])
-
-# Instead of assuming the C++ compiler will do it, Bison should reject any
-# invalid b4_namepsace_ref that would be converted to a valid
-# b4_namespace_open. The problem is that Bison doesn't always output
-# b4_namespace_ref to uncommented code but should reserve the ability to do so
-# in future releases without risking breaking any existing user grammars.
-# Specifically, don't allow empty names as b4_namespace_open would just convert
-# those into anonymous namespaces, and that might tempt some users.
-m4_if(m4_bregexp(b4_namespace_ref, [::[ ]*::]), [-1], [],
-[b4_complain_at(b4_percent_define_get_loc([[api.namespace]]),
- [[namespace reference has consecutive "::"]])])
-m4_if(m4_bregexp(b4_namespace_ref, [::[ ]*$]), [-1], [],
-[b4_complain_at(b4_percent_define_get_loc([[api.namespace]]),
- [[namespace reference has a trailing "::"]])])
-
-m4_define([b4_namespace_open],
-[b4_user_code([b4_percent_define_get_syncline([[api.namespace]])
-[namespace ]m4_bpatsubst(m4_dquote(m4_bpatsubst(m4_dquote(b4_namespace_ref),
- [^\(.\)[ ]*::], [\1])),
- [::], [ { namespace ])[ {]])])
-
-m4_define([b4_namespace_close],
-[b4_user_code([b4_percent_define_get_syncline([[api.namespace]])
-m4_bpatsubst(m4_dquote(m4_bpatsubst(m4_dquote(b4_namespace_ref[ ]),
- [^\(.\)[ ]*\(::\)?\([^][:]\|:[^:]\)*],
- [\1])),
- [::\([^][:]\|:[^:]\)*], [} ])[} // ]b4_namespace_ref])])
-
-
-# b4_token_enums
-# --------------
-# Output the definition of the tokens as enums.
-m4_define([b4_token_enums],
-[[enum yytokentype
- {
- ]m4_join([,
- ],
- b4_symbol_map([b4_token_enum]))[
- };]dnl
-])
-
-
-
-
-## ----------------- ##
-## Semantic Values. ##
-## ----------------- ##
-
-
-
-# b4_value_type_declare
-# ---------------------
-# Declare semantic_type.
-m4_define([b4_value_type_declare],
-[b4_value_type_setup[]dnl
-[ /// Symbol semantic values.
-]m4_bmatch(b4_percent_define_get_kind([[api.value.type]]),
-[code],
-[[ typedef ]b4_percent_define_get([[api.value.type]])[ semantic_type;]],
-[m4_bmatch(b4_percent_define_get([[api.value.type]]),
-[union\|union-directive],
-[[ union semantic_type
- {
- ]b4_user_union_members[
- };]])])dnl
-])
-
-
-# b4_public_types_declare
-# -----------------------
-# Define the public types: token, semantic value, location, and so forth.
-# Depending on %define token_lex, may be output in the header or source file.
-m4_define([b4_public_types_declare],
-[[#ifndef ]b4_api_PREFIX[STYPE
-]b4_value_type_declare[
-#else
- typedef ]b4_api_PREFIX[STYPE semantic_type;
-#endif]b4_locations_if([
- /// Symbol locations.
- typedef b4_percent_define_get([[api.location.type]],
- [[location]]) location_type;])[
-
- /// Syntax errors thrown from user actions.
- struct syntax_error : std::runtime_error
- {
- syntax_error (]b4_locations_if([const location_type& l, ])[const std::string& m);]b4_locations_if([
- location_type location;])[
- };
-
- /// Tokens.
- struct token
- {
- ]b4_token_enums[
- };
-
- /// (External) token type, as returned by yylex.
- typedef token::yytokentype token_type;
-
- /// Internal symbol number.
- typedef int symbol_number_type;
-
- /// Internal symbol number for tokens (subsumed by symbol_number_type).
- typedef ]b4_int_type_for([b4_translate])[ token_number_type;
-
- /// A complete symbol.
- ///
- /// Expects its Base type to provide access to the symbol type
- /// via type_get().
- ///
- /// Provide access to semantic value]b4_locations_if([ and location])[.
- template <typename Base>
- struct basic_symbol : Base
- {
- /// Alias to Base.
- typedef Base super_type;
-
- /// Default constructor.
- basic_symbol ();
-
- /// Copy constructor.
- basic_symbol (const basic_symbol& other);
-]b4_variant_if([[
- /// Constructor for valueless symbols, and symbols from each type.
-]b4_type_foreach([b4_basic_symbol_constructor_declare])], [[
- /// Constructor for valueless symbols.
- basic_symbol (typename Base::kind_type t]b4_locations_if([,
- const location_type& l])[);]])[
-
- /// Constructor for symbols with semantic value.
- basic_symbol (typename Base::kind_type t,
- const semantic_type& v]b4_locations_if([,
- const location_type& l])[);
-
- ~basic_symbol ();
-
- /// Destructive move, \a s is emptied into this.
- void move (basic_symbol& s);
-
- /// The semantic value.
- semantic_type value;]b4_locations_if([
-
- /// The location.
- location_type location;])[
-
- private:
- /// Assignment operator.
- basic_symbol& operator= (const basic_symbol& other);
- };
-
- /// Type access provider for token (enum) based symbols.
- struct by_type
- {
- /// Default constructor.
- by_type ();
-
- /// Copy constructor.
- by_type (const by_type& other);
-
- /// The symbol type as needed by the constructor.
- typedef token_type kind_type;
-
- /// Constructor from (external) token numbers.
- by_type (kind_type t);
-
- /// Steal the symbol type from \a that.
- void move (by_type& that);
-
- /// The (internal) type number (corresponding to \a type).
- /// -1 when this symbol is empty.
- symbol_number_type type_get () const;
-
- /// The token.
- token_type token () const;
-
- enum { empty = 0 };
-
- /// The symbol type.
- /// -1 when this symbol is empty.
- token_number_type type;
- };
-
- /// "External" symbols: returned by the scanner.
- typedef basic_symbol<by_type> symbol_type;
-
-]b4_symbol_constructor_declare])
-
-
-# b4_public_types_define
-# ----------------------
-# Provide the implementation needed by the public types.
-m4_define([b4_public_types_define],
-[[ inline
- ]b4_parser_class_name[::syntax_error::syntax_error (]b4_locations_if([const location_type& l, ])[const std::string& m)
- : std::runtime_error (m)]b4_locations_if([
- , location (l)])[
- {}
-
- // basic_symbol.
- template <typename Base>
- inline
- ]b4_parser_class_name[::basic_symbol<Base>::basic_symbol ()
- : value ()
- {}
-
- template <typename Base>
- inline
- ]b4_parser_class_name[::basic_symbol<Base>::basic_symbol (const basic_symbol& other)
- : Base (other)
- , value ()]b4_locations_if([
- , location (other.location)])[
- {
- ]b4_variant_if([b4_symbol_variant([other.type_get ()], [value], [copy],
- [other.value])],
- [value = other.value;])[
- }
-
-
- template <typename Base>
- inline
- ]b4_parser_class_name[::basic_symbol<Base>::basic_symbol (]b4_join(
- [typename Base::kind_type t],
- [const semantic_type& v],
- b4_locations_if([const location_type& l]))[)
- : Base (t)
- , value (]b4_variant_if([], [v])[)]b4_locations_if([
- , location (l)])[
- {]b4_variant_if([[
- (void) v;
- ]b4_symbol_variant([this->type_get ()], [value], [copy], [v])])[}
-
-]b4_variant_if([[
- // Implementation of basic_symbol constructor for each type.
-]b4_type_foreach([b4_basic_symbol_constructor_define])], [[
- /// Constructor for valueless symbols.
- template <typename Base>
- inline
- ]b4_parser_class_name[::basic_symbol<Base>::basic_symbol (]b4_join(
- [typename Base::kind_type t],
- b4_locations_if([const location_type& l]))[)
- : Base (t)
- , value ()]b4_locations_if([
- , location (l)])[
- {}]])[
-
- template <typename Base>
- inline
- ]b4_parser_class_name[::basic_symbol<Base>::~basic_symbol ()
- {]b4_variant_if([[
- // User destructor.
- symbol_number_type yytype = this->type_get ();
- switch (yytype)
- {
-]b4_symbol_foreach([b4_symbol_destructor])dnl
-[ default:
- break;
- }
-
- // Type destructor.
- ]b4_symbol_variant([[yytype]], [[value]], [[template destroy]])])[
- }
-
- template <typename Base>
- inline
- void
- ]b4_parser_class_name[::basic_symbol<Base>::move (basic_symbol& s)
- {
- super_type::move(s);
- ]b4_variant_if([b4_symbol_variant([this->type_get ()], [value], [move],
- [s.value])],
- [value = s.value;])[]b4_locations_if([
- location = s.location;])[
- }
-
- // by_type.
- inline
- ]b4_parser_class_name[::by_type::by_type ()
- : type (empty)
- {}
-
- inline
- ]b4_parser_class_name[::by_type::by_type (const by_type& other)
- : type (other.type)
- {}
-
- inline
- ]b4_parser_class_name[::by_type::by_type (token_type t)
- : type (yytranslate_ (t))
- {}
-
- inline
- void
- ]b4_parser_class_name[::by_type::move (by_type& that)
- {
- type = that.type;
- that.type = empty;
- }
-
- inline
- int
- ]b4_parser_class_name[::by_type::type_get () const
- {
- return type;
- }
-]b4_token_ctor_if([[
- inline
- ]b4_parser_class_name[::token_type
- ]b4_parser_class_name[::by_type::token () const
- {
- // YYTOKNUM[NUM] -- (External) token number corresponding to the
- // (internal) symbol number NUM (which must be that of a token). */
- static
- const ]b4_int_type_for([b4_toknum])[
- yytoken_number_[] =
- {
- ]b4_toknum[
- };
- return static_cast<token_type> (yytoken_number_[type]);
- }
-]])[]dnl
-b4_symbol_constructor_define])
-
-
-# b4_symbol_constructor_declare
-# b4_symbol_constructor_define
-# -----------------------------
-# Declare/define symbol constructors for all the value types.
-# Use at class-level. Redefined in variant.hh.
-m4_define([b4_symbol_constructor_declare], [])
-m4_define([b4_symbol_constructor_define], [])
-
-
-# b4_yytranslate_define
-# ---------------------
-# Define yytranslate_. Sometimes used in the header file,
-# sometimes in the cc file.
-m4_define([b4_yytranslate_define],
-[[ // Symbol number corresponding to token number t.
- inline
- ]b4_parser_class_name[::token_number_type
- ]b4_parser_class_name[::yytranslate_ (]b4_token_ctor_if([token_type],
- [int])[ t)
- {
- static
- const token_number_type
- translate_table[] =
- {
-]b4_translate[
- };
- const unsigned int user_token_number_max_ = ]b4_user_token_number_max[;
- const token_number_type undef_token_ = ]b4_undef_token_number[;
-
- if (static_cast<int>(t) <= yyeof_)
- return yyeof_;
- else if (static_cast<unsigned int> (t) <= user_token_number_max_)
- return translate_table[t];
- else
- return undef_token_;
- }
-]])
-
-
-# b4_lhs_value([TYPE])
-# --------------------
-# Expansion of $<TYPE>$.
-m4_define([b4_lhs_value],
-[b4_symbol_value([yyval], [$1])])
-
-
-# b4_rhs_value(RULE-LENGTH, NUM, [TYPE])
-# --------------------------------------
-# Expansion of $<TYPE>NUM, where the current rule has RULE-LENGTH
-# symbols on RHS.
-m4_define([b4_rhs_value],
-[b4_symbol_value([yysemantic_stack_@{($1) - ($2)@}], [$3])])
-
-
-# b4_lhs_location()
-# -----------------
-# Expansion of @$.
-m4_define([b4_lhs_location],
-[(yyloc)])
-
-
-# b4_rhs_location(RULE-LENGTH, NUM)
-# ---------------------------------
-# Expansion of @NUM, where the current rule has RULE-LENGTH symbols
-# on RHS.
-m4_define([b4_rhs_location],
-[(yylocation_stack_@{($1) - ($2)@})])
-
-
-# b4_parse_param_decl
-# -------------------
-# Extra formal arguments of the constructor.
-# Change the parameter names from "foo" into "foo_yyarg", so that
-# there is no collision bw the user chosen attribute name, and the
-# argument name in the constructor.
-m4_define([b4_parse_param_decl],
-[m4_ifset([b4_parse_param],
- [m4_map_sep([b4_parse_param_decl_1], [, ], [b4_parse_param])])])
-
-m4_define([b4_parse_param_decl_1],
-[$1_yyarg])
-
-
-
-# b4_parse_param_cons
-# -------------------
-# Extra initialisations of the constructor.
-m4_define([b4_parse_param_cons],
- [m4_ifset([b4_parse_param],
- [
- b4_cc_constructor_calls(b4_parse_param)])])
-m4_define([b4_cc_constructor_calls],
- [m4_map_sep([b4_cc_constructor_call], [,
- ], [$@])])
-m4_define([b4_cc_constructor_call],
- [$2 ($2_yyarg)])
-
-# b4_parse_param_vars
-# -------------------
-# Extra instance variables.
-m4_define([b4_parse_param_vars],
- [m4_ifset([b4_parse_param],
- [
- // User arguments.
-b4_cc_var_decls(b4_parse_param)])])
-m4_define([b4_cc_var_decls],
- [m4_map_sep([b4_cc_var_decl], [
-], [$@])])
-m4_define([b4_cc_var_decl],
- [ $1;])
-
-
-## ---------##
-## Values. ##
-## ---------##
-
-# b4_yylloc_default_define
-# ------------------------
-# Define YYLLOC_DEFAULT.
-m4_define([b4_yylloc_default_define],
-[[/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
- If N is 0, then set CURRENT to the empty location which ends
- the previous symbol: RHS[0] (always defined). */
-
-# ifndef YYLLOC_DEFAULT
-# define YYLLOC_DEFAULT(Current, Rhs, N) \
- do \
- if (N) \
- { \
- (Current).begin = YYRHSLOC (Rhs, 1).begin; \
- (Current).end = YYRHSLOC (Rhs, N).end; \
- } \
- else \
- { \
- (Current).begin = (Current).end = YYRHSLOC (Rhs, 0).end; \
- } \
- while (/*CONSTCOND*/ false)
-# endif
-]])
-
-## -------- ##
-## Checks. ##
-## -------- ##
-
-b4_token_ctor_if([b4_variant_if([],
- [b4_fatal_at(b4_percent_define_get_loc(api.token.constructor),
- [cannot use '%s' without '%s'],
- [%define api.token.constructor],
- [%define api.value.type variant]))])])
diff --git a/gnuwin32/bin/data/c-like.m4 b/gnuwin32/bin/data/c-like.m4
deleted file mode 100644
index eb06de2a..00000000
--- a/gnuwin32/bin/data/c-like.m4
+++ /dev/null
@@ -1,65 +0,0 @@
- -*- Autoconf -*-
-
-# Common code for C-like languages (C, C++, Java, etc.)
-
-# Copyright (C) 2012-2013 Free Software Foundation, Inc.
-
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-# b4_comment_(TEXT, OPEN, CONTINUE, END)
-# --------------------------------------
-# Put TEXT in comment. Avoid trailing spaces: don't indent empty lines.
-# Avoid adding indentation to the first line, as the indentation comes
-# from OPEN. That's why we don't patsubst([$1], [^\(.\)], [ \1]).
-#
-# Prefix all the output lines with PREFIX.
-m4_define([b4_comment_],
-[$2[]m4_bpatsubst(m4_expand([[$1]]), [
-\(.\)], [
-$3\1])$4])
-
-
-# b4_comment(TEXT, [PREFIX])
-# --------------------------
-# Put TEXT in comment. Prefix all the output lines with PREFIX.
-m4_define([b4_comment],
-[b4_comment_([$1], [$2/* ], [$2 ], [ */])])
-
-
-
-
-# b4_dollar_dollar_(VALUE, FIELD, DEFAULT-FIELD)
-# ----------------------------------------------
-# If FIELD (or DEFAULT-FIELD) is non-null, return "VALUE.FIELD",
-# otherwise just VALUE. Be sure to pass "(VALUE)" is VALUE is a
-# pointer.
-m4_define([b4_dollar_dollar_],
-[b4_symbol_value([$1],
- m4_if([$2], [[]],
- [[$3]], [[$2]]))])
-
-# b4_dollar_pushdef(VALUE-POINTER, DEFAULT-FIELD, LOCATION)
-# b4_dollar_popdef
-# ---------------------------------------------------------
-# Define b4_dollar_dollar for VALUE and DEFAULT-FIELD,
-# and b4_at_dollar for LOCATION.
-m4_define([b4_dollar_pushdef],
-[m4_pushdef([b4_dollar_dollar],
- [b4_dollar_dollar_([$1], m4_dquote($][1), [$2])])dnl
-m4_pushdef([b4_at_dollar], [$3])dnl
-])
-m4_define([b4_dollar_popdef],
-[m4_popdef([b4_at_dollar])dnl
-m4_popdef([b4_dollar_dollar])dnl
-])
diff --git a/gnuwin32/bin/data/c-skel.m4 b/gnuwin32/bin/data/c-skel.m4
deleted file mode 100644
index 36904aaf..00000000
--- a/gnuwin32/bin/data/c-skel.m4
+++ /dev/null
@@ -1,26 +0,0 @@
- -*- Autoconf -*-
-
-# C skeleton dispatching for Bison.
-
-# Copyright (C) 2006-2007, 2009-2013 Free Software Foundation, Inc.
-
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-b4_glr_if( [m4_define([b4_used_skeleton], [b4_pkgdatadir/[glr.c]])])
-b4_nondeterministic_if([m4_define([b4_used_skeleton], [b4_pkgdatadir/[glr.c]])])
-
-m4_define_default([b4_used_skeleton], [b4_pkgdatadir/[yacc.c]])
-m4_define_default([b4_skeleton], ["b4_basename(b4_used_skeleton)"])
-
-m4_include(b4_used_skeleton)
diff --git a/gnuwin32/bin/data/c.m4 b/gnuwin32/bin/data/c.m4
deleted file mode 100644
index b1b43948..00000000
--- a/gnuwin32/bin/data/c.m4
+++ /dev/null
@@ -1,839 +0,0 @@
- -*- Autoconf -*-
-
-# C M4 Macros for Bison.
-
-# Copyright (C) 2002, 2004-2013 Free Software Foundation, Inc.
-
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-m4_include(b4_pkgdatadir/[c-like.m4])
-
-# b4_tocpp(STRING)
-# ----------------
-# Convert STRING into a valid C macro name.
-m4_define([b4_tocpp],
-[m4_toupper(m4_bpatsubst(m4_quote($1), [[^a-zA-Z0-9]+], [_]))])
-
-
-# b4_cpp_guard(FILE)
-# ------------------
-# A valid C macro name to use as a CPP header guard for FILE.
-m4_define([b4_cpp_guard],
-[[YY_]b4_tocpp(m4_defn([b4_prefix])/[$1])[_INCLUDED]])
-
-
-# b4_cpp_guard_open(FILE)
-# b4_cpp_guard_close(FILE)
-# ------------------------
-# If FILE does not expand to nothing, open/close CPP inclusion guards for FILE.
-m4_define([b4_cpp_guard_open],
-[m4_ifval(m4_quote($1),
-[#ifndef b4_cpp_guard([$1])
-# define b4_cpp_guard([$1])])])
-
-m4_define([b4_cpp_guard_close],
-[m4_ifval(m4_quote($1),
-[#endif b4_comment([!b4_cpp_guard([$1])])])])
-
-
-## ---------------- ##
-## Identification. ##
-## ---------------- ##
-
-# b4_identification
-# -----------------
-# Depends on individual skeletons to define b4_pure_flag, b4_push_flag, or
-# b4_pull_flag if they use the values of the %define variables api.pure or
-# api.push-pull.
-m4_define([b4_identification],
-[[/* Identify Bison output. */
-#define YYBISON 1
-
-/* Bison version. */
-#define YYBISON_VERSION "]b4_version["
-
-/* Skeleton name. */
-#define YYSKELETON_NAME ]b4_skeleton[]m4_ifdef([b4_pure_flag], [[
-
-/* Pure parsers. */
-#define YYPURE ]b4_pure_flag])[]m4_ifdef([b4_push_flag], [[
-
-/* Push parsers. */
-#define YYPUSH ]b4_push_flag])[]m4_ifdef([b4_pull_flag], [[
-
-/* Pull parsers. */
-#define YYPULL ]b4_pull_flag])[
-]])
-
-
-## ---------------- ##
-## Default values. ##
-## ---------------- ##
-
-# b4_api_prefix, b4_api_PREFIX
-# ----------------------------
-# Corresponds to %define api.prefix
-b4_percent_define_default([[api.prefix]], [[yy]])
-m4_define([b4_api_prefix],
-[b4_percent_define_get([[api.prefix]])])
-m4_define([b4_api_PREFIX],
-[m4_toupper(b4_api_prefix)])
-
-
-# b4_prefix
-# ---------
-# If the %name-prefix is not given, it is api.prefix.
-m4_define_default([b4_prefix], [b4_api_prefix])
-
-# If the %union is not named, its name is YYSTYPE.
-m4_define_default([b4_union_name], [b4_api_PREFIX[]STYPE])
-
-
-## ------------------------ ##
-## Pure/impure interfaces. ##
-## ------------------------ ##
-
-# b4_lex_formals
-# --------------
-# All the yylex formal arguments.
-# b4_lex_param arrives quoted twice, but we want to keep only one level.
-m4_define([b4_lex_formals],
-[b4_pure_if([[[[YYSTYPE *yylvalp]], [[&yylval]]][]dnl
-b4_locations_if([, [[YYLTYPE *yyllocp], [&yylloc]]])])dnl
-m4_ifdef([b4_lex_param], [, ]b4_lex_param)])
-
-
-# b4_lex
-# ------
-# Call yylex.
-m4_define([b4_lex],
-[b4_function_call([yylex], [int], b4_lex_formals)])
-
-
-# b4_user_args
-# ------------
-m4_define([b4_user_args],
-[m4_ifset([b4_parse_param], [, b4_args(b4_parse_param)])])
-
-
-# b4_parse_param
-# --------------
-# If defined, b4_parse_param arrives double quoted, but below we prefer
-# it to be single quoted.
-m4_define([b4_parse_param],
-b4_parse_param)
-
-
-# b4_parse_param_for(DECL, FORMAL, BODY)
-# ---------------------------------------
-# Iterate over the user parameters, binding the declaration to DECL,
-# the formal name to FORMAL, and evaluating the BODY.
-m4_define([b4_parse_param_for],
-[m4_foreach([$1_$2], m4_defn([b4_parse_param]),
-[m4_pushdef([$1], m4_unquote(m4_car($1_$2)))dnl
-m4_pushdef([$2], m4_shift($1_$2))dnl
-$3[]dnl
-m4_popdef([$2])dnl
-m4_popdef([$1])dnl
-])])
-
-# b4_parse_param_use([VAL], [LOC])
-# --------------------------------
-# 'YYUSE' VAL, LOC if locations are enabled, and all the parse-params.
-m4_define([b4_parse_param_use],
-[m4_ifvaln([$1], [ YYUSE ([$1]);])dnl
-b4_locations_if([m4_ifvaln([$2], [ YYUSE ([$2]);])])dnl
-b4_parse_param_for([Decl], [Formal], [ YYUSE (Formal);
-])dnl
-])
-
-
-## ------------ ##
-## Data Types. ##
-## ------------ ##
-
-# b4_int_type(MIN, MAX)
-# ---------------------
-# Return the smallest int type able to handle numbers ranging from
-# MIN to MAX (included).
-m4_define([b4_int_type],
-[m4_if(b4_ints_in($@, [0], [255]), [1], [unsigned char],
- b4_ints_in($@, [-128], [127]), [1], [signed char],
-
- b4_ints_in($@, [0], [65535]), [1], [unsigned short int],
- b4_ints_in($@, [-32768], [32767]), [1], [short int],
-
- m4_eval([0 <= $1]), [1], [unsigned int],
-
- [int])])
-
-
-# b4_int_type_for(NAME)
-# ---------------------
-# Return the smallest int type able to handle numbers ranging from
-# 'NAME_min' to 'NAME_max' (included).
-m4_define([b4_int_type_for],
-[b4_int_type($1_min, $1_max)])
-
-
-# b4_table_value_equals(TABLE, VALUE, LITERAL)
-# --------------------------------------------
-# Without inducing a comparison warning from the compiler, check if the
-# literal value LITERAL equals VALUE from table TABLE, which must have
-# TABLE_min and TABLE_max defined.
-m4_define([b4_table_value_equals],
-[m4_if(m4_eval($3 < m4_indir([b4_]$1[_min])
- || m4_indir([b4_]$1[_max]) < $3), [1],
- [[0]],
- [(!!(($2) == ($3)))])])
-
-
-## ----------------- ##
-## Compiler issues. ##
-## ----------------- ##
-
-# b4_attribute_define
-# -------------------
-# Provide portability for __attribute__.
-m4_define([b4_attribute_define],
-[#ifndef __attribute__
-/* This feature is available in gcc versions 2.5 and later. */
-# if (! defined __GNUC__ || __GNUC__ < 2 \
- || (__GNUC__ == 2 && __GNUC_MINOR__ < 5))
-# define __attribute__(Spec) /* empty */
-# endif
-#endif
-
-/* Suppress unused-variable warnings by "using" E. */
-#if ! defined lint || defined __GNUC__
-# define YYUSE(E) ((void) (E))
-#else
-# define YYUSE(E) /* empty */
-#endif
-
-#if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
-/* Suppress an incorrect diagnostic about yylval being uninitialized. */
-# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
- _Pragma ("GCC diagnostic push") \
- _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
- _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
-# define YY_IGNORE_MAYBE_UNINITIALIZED_END \
- _Pragma ("GCC diagnostic pop")
-#else
-# define YY_INITIAL_VALUE(Value) Value
-#endif
-#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
-# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
-# define YY_IGNORE_MAYBE_UNINITIALIZED_END
-#endif
-#ifndef YY_INITIAL_VALUE
-# define YY_INITIAL_VALUE(Value) /* Nothing. */
-#endif
-])
-
-
-## ---------##
-## Values. ##
-## ---------##
-
-
-# b4_null_define
-# --------------
-# Portability issues: define a YY_NULL appropriate for the current
-# language (C, C++98, or C++11).
-m4_define([b4_null_define],
-[# ifndef YY_NULL
-# if defined __cplusplus && 201103L <= __cplusplus
-# define YY_NULL nullptr
-# else
-# define YY_NULL 0
-# endif
-# endif[]dnl
-])
-
-
-# b4_null
-# -------
-# Return a null pointer constant.
-m4_define([b4_null], [YY_NULL])
-
-# b4_integral_parser_table_define(TABLE-NAME, CONTENT, COMMENT)
-# -------------------------------------------------------------
-# Define "yy<TABLE-NAME>" whose contents is CONTENT.
-m4_define([b4_integral_parser_table_define],
-[m4_ifvaln([$3], [b4_comment([$3], [ ])])dnl
-static const b4_int_type_for([$2]) yy$1[[]] =
-{
- $2
-};dnl
-])
-
-
-## ------------------------- ##
-## Assigning token numbers. ##
-## ------------------------- ##
-
-# b4_token_define(TOKEN-NUM)
-# --------------------------
-# Output the definition of this token as #define.
-m4_define([b4_token_define],
-[b4_token_format([#define %s %s], [$1])])
-
-# b4_token_defines
-# ----------------
-# Output the definition of the tokens.
-m4_define([b4_token_defines],
-[b4_any_token_visible_if([/* Tokens. */
-m4_join([
-], b4_symbol_map([b4_token_define]))
-])])
-
-
-# b4_token_enum(TOKEN-NUM)
-# ------------------------
-# Output the definition of this token as an enum.
-m4_define([b4_token_enum],
-[b4_token_format([%s = %s], [$1])])
-
-
-# b4_token_enums
-# --------------
-# Output the definition of the tokens (if there are) as enums.
-m4_define([b4_token_enums],
-[b4_any_token_visible_if([[/* Token type. */
-#ifndef ]b4_api_PREFIX[TOKENTYPE
-# define ]b4_api_PREFIX[TOKENTYPE
- enum ]b4_api_prefix[tokentype
- {
- ]m4_join([,
- ],
- b4_symbol_map([b4_token_enum]))[
- };
-#endif
-]])])
-
-
-# b4_token_enums_defines
-# ----------------------
-# Output the definition of the tokens (if there are any) as enums and,
-# if POSIX Yacc is enabled, as #defines.
-m4_define([b4_token_enums_defines],
-[b4_token_enums[]b4_yacc_if([b4_token_defines])])
-
-
-## ----------------- ##
-## Semantic Values. ##
-## ----------------- ##
-
-
-# b4_symbol_value(VAL, [TYPE])
-# ----------------------------
-# Given a semantic value VAL ($$, $1 etc.), extract its value of type
-# TYPE if TYPE is given, otherwise just return VAL. The result can be
-# used safetly, it is put in parens to avoid nasty precedence issues.
-# TYPE is *not* put in braces, provide some if needed.
-m4_define([b4_symbol_value],
-[($1[]m4_ifval([$2], [.$2]))])
-
-
-
-## ---------------------- ##
-## Defining C functions. ##
-## ---------------------- ##
-
-
-# b4_function_define(NAME, RETURN-VALUE, [DECL1, NAME1], ...)
-# -----------------------------------------------------------
-# Declare the function NAME in C.
-m4_define([b4_function_define],
-[$2
-$1 (b4_formals(m4_shift2($@)))[]dnl
-])
-
-
-# b4_formals([DECL1, NAME1], ...)
-# -------------------------------
-# The formal arguments of a C function definition.
-m4_define([b4_formals],
-[m4_if([$#], [0], [void],
- [$#$1], [1], [void],
- [m4_map_sep([b4_formal], [, ], [$@])])])
-
-m4_define([b4_formal],
-[$1])
-
-
-
-## ----------------------- ##
-## Declaring C functions. ##
-## ----------------------- ##
-
-
-# b4_function_declare(NAME, RETURN-VALUE, [DECL1, NAME1], ...)
-# ------------------------------------------------------------
-# Declare the function NAME.
-m4_define([b4_function_declare],
-[$2 $1 (b4_formals(m4_shift2($@)));[]dnl
-])
-
-
-
-
-## --------------------- ##
-## Calling C functions. ##
-## --------------------- ##
-
-
-# b4_function_call(NAME, RETURN-VALUE, [DECL1, NAME1], ...)
-# -----------------------------------------------------------
-# Call the function NAME with arguments NAME1, NAME2 etc.
-m4_define([b4_function_call],
-[$1 (b4_args(m4_shift2($@)))[]dnl
-])
-
-
-# b4_args([DECL1, NAME1], ...)
-# ----------------------------
-# Output the arguments NAME1, NAME2...
-m4_define([b4_args],
-[m4_map_sep([b4_arg], [, ], [$@])])
-
-m4_define([b4_arg],
-[$2])
-
-
-## ----------- ##
-## Synclines. ##
-## ----------- ##
-
-# b4_sync_start(LINE, FILE)
-# -------------------------
-m4_define([b4_sync_start], [[#]line $1 $2])
-
-
-## -------------- ##
-## User actions. ##
-## -------------- ##
-
-# b4_case(LABEL, STATEMENTS)
-# --------------------------
-m4_define([b4_case],
-[ case $1:
-$2
-b4_syncline([@oline@], [@ofile@])
- break;])
-
-
-# b4_predicate_case(LABEL, CONDITIONS)
-# ------------------------------------
-m4_define([b4_predicate_case],
-[ case $1:
- if (! ($2)) YYERROR;
-b4_syncline([@oline@], [@ofile@])
- break;])
-
-
-# b4_yydestruct_define
-# --------------------
-# Define the "yydestruct" function.
-m4_define_default([b4_yydestruct_define],
-[[/*-----------------------------------------------.
-| Release the memory associated to this symbol. |
-`-----------------------------------------------*/
-
-]b4_function_define([yydestruct],
- [static void],
- [[const char *yymsg], [yymsg]],
- [[int yytype], [yytype]],
- [[YYSTYPE *yyvaluep], [yyvaluep]][]dnl
-b4_locations_if( [, [[YYLTYPE *yylocationp], [yylocationp]]])[]dnl
-m4_ifset([b4_parse_param], [, b4_parse_param]))[
-{
-]b4_parse_param_use([yyvaluep], [yylocationp])dnl
-[ if (!yymsg)
- yymsg = "Deleting";
- YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
-
- YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
- ]b4_symbol_actions([destructor])[
- YY_IGNORE_MAYBE_UNINITIALIZED_END
-}]dnl
-])
-
-
-# b4_yy_symbol_print_define
-# -------------------------
-# Define the "yy_symbol_print" function.
-m4_define_default([b4_yy_symbol_print_define],
-[[
-/*----------------------------------------.
-| Print this symbol's value on YYOUTPUT. |
-`----------------------------------------*/
-
-]b4_function_define([yy_symbol_value_print],
- [static void],
- [[FILE *yyoutput], [yyoutput]],
- [[int yytype], [yytype]],
- [[YYSTYPE const * const yyvaluep], [yyvaluep]][]dnl
-b4_locations_if([, [[YYLTYPE const * const yylocationp], [yylocationp]]])[]dnl
-m4_ifset([b4_parse_param], [, b4_parse_param]))[
-{
- FILE *yyo = yyoutput;
-]b4_parse_param_use([yyo], [yylocationp])dnl
-[ if (!yyvaluep)
- return;]
-dnl glr.c does not feature yytoknum.
-m4_if(b4_skeleton, ["yacc.c"],
-[[# ifdef YYPRINT
- if (yytype < YYNTOKENS)
- YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
-# endif
-]])dnl
- b4_symbol_actions([printer])[
-}
-
-
-/*--------------------------------.
-| Print this symbol on YYOUTPUT. |
-`--------------------------------*/
-
-]b4_function_define([yy_symbol_print],
- [static void],
- [[FILE *yyoutput], [yyoutput]],
- [[int yytype], [yytype]],
- [[YYSTYPE const * const yyvaluep], [yyvaluep]][]dnl
-b4_locations_if([, [[YYLTYPE const * const yylocationp], [yylocationp]]])[]dnl
-m4_ifset([b4_parse_param], [, b4_parse_param]))[
-{
- YYFPRINTF (yyoutput, "%s %s (",
- yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
-
-]b4_locations_if([ YY_LOCATION_PRINT (yyoutput, *yylocationp);
- YYFPRINTF (yyoutput, ": ");
-])dnl
-[ yy_symbol_value_print (yyoutput, yytype, yyvaluep]dnl
-b4_locations_if([, yylocationp])[]b4_user_args[);
- YYFPRINTF (yyoutput, ")");
-}]dnl
-])
-
-
-## ---------------- ##
-## api.value.type. ##
-## ---------------- ##
-
-
-# ---------------------- #
-# api.value.type=union. #
-# ---------------------- #
-
-# b4_symbol_type_register(SYMBOL-NUM)
-# -----------------------------------
-# Symbol SYMBOL-NUM has a type (for variant) instead of a type-tag.
-# Extend the definition of %union's body with a field of that type,
-# and extend the symbol's "type" field to point to the field name,
-# instead of the type name.
-m4_define([b4_symbol_type_register],
-[m4_define([b4_symbol($1, type_tag)],
- [b4_symbol_if([$1], [has_id],
- [b4_symbol([$1], [id])],
- [yytype_[]b4_symbol([$1], [number])])])dnl
-m4_append([b4_user_union_members],
-m4_expand([
- b4_symbol_tag_comment([$1])dnl
- b4_symbol([$1], [type]) b4_symbol([$1], [type_tag]);]))
-])
-
-
-# b4_type_define_tag(SYMBOL1-NUM, ...)
-# ------------------------------------
-# For the batch of symbols SYMBOL1-NUM... (which all have the same
-# type), enhance the %union definition for each of them, and set
-# there "type" field to the field tag name, instead of the type name.
-m4_define([b4_type_define_tag],
-[b4_symbol_if([$1], [has_type],
- [m4_map([b4_symbol_type_register], [$@])])
-])
-
-
-# b4_symbol_value_union(VAL, [TYPE])
-# ----------------------------------
-# Same of b4_symbol_value, but when api.value.type=union.
-m4_define([b4_symbol_value_union],
-[m4_ifval([$2],
- [(*($2*)(&$1))],
- [$1])])
-])
-
-
-# b4_value_type_setup_union
-# -------------------------
-# Setup support for api.value.type=union. Symbols are defined with a
-# type instead of a union member name: build the corresponding union,
-# and give the symbols their tag.
-m4_define([b4_value_type_setup_union],
-[m4_define([b4_union_members])
-b4_type_foreach([b4_type_define_tag])
-m4_copy_force([b4_symbol_value_union], [b4_symbol_value])
-])
-
-
-# ---------------- #
-# api.value.type. #
-# ---------------- #
-
-
-# b4_value_type_setup_variant
-# ---------------------------
-# Setup support for api.value.type=variant. By default, fail, specialized
-# by other skeletons.
-m4_define([b4_value_type_setup_variant],
-[b4_complain_at(b4_percent_define_get_loc([[api.value.type]]),
- [['%s' does not support '%s']],
- [b4_skeleton],
- [%define api.value.type variant])])
-
-
-# _b4_value_type_setup_keyword
-# ----------------------------
-# api.value.type is defined with a keyword/string syntax. Check if
-# that is properly defined, and prepare its use.
-m4_define([_b4_value_type_setup_keyword],
-[b4_percent_define_check_values([[[[api.value.type]],
- [[none]],
- [[union]],
- [[union-directive]],
- [[variant]],
- [[yystype]]]])dnl
-m4_case(b4_percent_define_get([[api.value.type]]),
- [union], [b4_value_type_setup_union],
- [variant], [b4_value_type_setup_variant])])
-
-
-# b4_value_type_setup
-# -------------------
-# Check if api.value.type is properly defined, and possibly prepare
-# its use.
-b4_define_silent([b4_value_type_setup],
-[# Define default value.
-b4_percent_define_ifdef([[api.value.type]], [],
-[# %union => api.value.type=union-directive
-m4_ifdef([b4_union_members],
-[m4_define([b4_percent_define_kind(api.value.type)], [keyword])
-m4_define([b4_percent_define(api.value.type)], [union-directive])],
-[# no tag seen => api.value.type={int}
-m4_if(b4_tag_seen_flag, 0,
-[m4_define([b4_percent_define_kind(api.value.type)], [code])
-m4_define([b4_percent_define(api.value.type)], [int])],
-[# otherwise api.value.type=yystype
-m4_define([b4_percent_define_kind(api.value.type)], [keyword])
-m4_define([b4_percent_define(api.value.type)], [yystype])])])])
-
-# Set up.
-m4_bmatch(b4_percent_define_get_kind([[api.value.type]]),
- [keyword\|string], [_b4_value_type_setup_keyword])
-])
-
-
-## -------------- ##
-## Declarations. ##
-## -------------- ##
-
-
-# b4_value_type_define
-# --------------------
-m4_define([b4_value_type_define],
-[b4_value_type_setup[]dnl
-/* Value type. */
-m4_bmatch(b4_percent_define_get_kind([[api.value.type]]),
-[code],
-[[#if ! defined ]b4_api_PREFIX[STYPE && ! defined ]b4_api_PREFIX[STYPE_IS_DECLARED
-typedef ]b4_percent_define_get([[api.value.type]])[ ]b4_api_PREFIX[STYPE;
-# define ]b4_api_PREFIX[STYPE_IS_TRIVIAL 1
-# define ]b4_api_PREFIX[STYPE_IS_DECLARED 1
-#endif
-]],
-[m4_bmatch(b4_percent_define_get([[api.value.type]]),
-[union\|union-directive],
-[[#if ! defined ]b4_api_PREFIX[STYPE && ! defined ]b4_api_PREFIX[STYPE_IS_DECLARED
-typedef union ]b4_union_name[ ]b4_api_PREFIX[STYPE;
-union ]b4_union_name[
-{
-]b4_user_union_members[
-};
-# define ]b4_api_PREFIX[STYPE_IS_TRIVIAL 1
-# define ]b4_api_PREFIX[STYPE_IS_DECLARED 1
-#endif
-]])])])
-
-
-# b4_location_type_define
-# -----------------------
-m4_define([b4_location_type_define],
-[[/* Location type. */
-#if ! defined ]b4_api_PREFIX[LTYPE && ! defined ]b4_api_PREFIX[LTYPE_IS_DECLARED
-typedef struct ]b4_api_PREFIX[LTYPE ]b4_api_PREFIX[LTYPE;
-struct ]b4_api_PREFIX[LTYPE
-{
- int first_line;
- int first_column;
- int last_line;
- int last_column;
-};
-# define ]b4_api_PREFIX[LTYPE_IS_DECLARED 1
-# define ]b4_api_PREFIX[LTYPE_IS_TRIVIAL 1
-#endif
-]])
-
-
-# b4_declare_yylstype
-# -------------------
-# Declarations that might either go into the header (if --defines) or
-# in the parser body. Declare YYSTYPE/YYLTYPE, and yylval/yylloc.
-m4_define([b4_declare_yylstype],
-[b4_value_type_define[]b4_locations_if([
-b4_location_type_define])
-
-b4_pure_if([], [[extern ]b4_api_PREFIX[STYPE ]b4_prefix[lval;
-]b4_locations_if([[extern ]b4_api_PREFIX[LTYPE ]b4_prefix[lloc;]])])[]dnl
-])
-
-
-# b4_YYDEBUG_define
-# -----------------
-m4_define([b4_YYDEBUG_define],
-[[/* Debug traces. */
-]m4_if(b4_api_prefix, [yy],
-[[#ifndef YYDEBUG
-# define YYDEBUG ]b4_parse_trace_if([1], [0])[
-#endif]],
-[[#ifndef ]b4_api_PREFIX[DEBUG
-# if defined YYDEBUG
-#if YYDEBUG
-# define ]b4_api_PREFIX[DEBUG 1
-# else
-# define ]b4_api_PREFIX[DEBUG 0
-# endif
-# else /* ! defined YYDEBUG */
-# define ]b4_api_PREFIX[DEBUG ]b4_parse_trace_if([1], [0])[
-# endif /* ! defined YYDEBUG */
-#endif /* ! defined ]b4_api_PREFIX[DEBUG */]])[]dnl
-])
-
-# b4_declare_yydebug
-# ------------------
-m4_define([b4_declare_yydebug],
-[b4_YYDEBUG_define[
-#if ]b4_api_PREFIX[DEBUG
-extern int ]b4_prefix[debug;
-#endif][]dnl
-])
-
-# b4_yylloc_default_define
-# ------------------------
-# Define YYLLOC_DEFAULT.
-m4_define([b4_yylloc_default_define],
-[[/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
- If N is 0, then set CURRENT to the empty location which ends
- the previous symbol: RHS[0] (always defined). */
-
-#ifndef YYLLOC_DEFAULT
-# define YYLLOC_DEFAULT(Current, Rhs, N) \
- do \
- if (N) \
- { \
- (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
- (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
- (Current).last_line = YYRHSLOC (Rhs, N).last_line; \
- (Current).last_column = YYRHSLOC (Rhs, N).last_column; \
- } \
- else \
- { \
- (Current).first_line = (Current).last_line = \
- YYRHSLOC (Rhs, 0).last_line; \
- (Current).first_column = (Current).last_column = \
- YYRHSLOC (Rhs, 0).last_column; \
- } \
- while (0)
-#endif
-]])
-
-# b4_yy_location_print_define
-# ---------------------------
-# Define YY_LOCATION_PRINT.
-m4_define([b4_yy_location_print_define],
-[b4_locations_if([[
-/* YY_LOCATION_PRINT -- Print the location on the stream.
- This macro was not mandated originally: define only if we know
- we won't break user code: when these are the locations we know. */
-
-#ifndef YY_LOCATION_PRINT
-# if defined ]b4_api_PREFIX[LTYPE_IS_TRIVIAL && ]b4_api_PREFIX[LTYPE_IS_TRIVIAL
-
-/* Print *YYLOCP on YYO. Private, do not rely on its existence. */
-
-__attribute__((__unused__))
-]b4_function_define([yy_location_print_],
- [static unsigned],
- [[FILE *yyo], [yyo]],
- [[YYLTYPE const * const yylocp], [yylocp]])[
-{
- unsigned res = 0;
- int end_col = 0 != yylocp->last_column ? yylocp->last_column - 1 : 0;
- if (0 <= yylocp->first_line)
- {
- res += YYFPRINTF (yyo, "%d", yylocp->first_line);
- if (0 <= yylocp->first_column)
- res += YYFPRINTF (yyo, ".%d", yylocp->first_column);
- }
- if (0 <= yylocp->last_line)
- {
- if (yylocp->first_line < yylocp->last_line)
- {
- res += YYFPRINTF (yyo, "-%d", yylocp->last_line);
- if (0 <= end_col)
- res += YYFPRINTF (yyo, ".%d", end_col);
- }
- else if (0 <= end_col && yylocp->first_column < end_col)
- res += YYFPRINTF (yyo, "-%d", end_col);
- }
- return res;
- }
-
-# define YY_LOCATION_PRINT(File, Loc) \
- yy_location_print_ (File, &(Loc))
-
-# else
-# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
-# endif
-#endif]],
-[[/* This macro is provided for backward compatibility. */
-#ifndef YY_LOCATION_PRINT
-# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
-#endif]])
-])
-
-# b4_yyloc_default
-# ----------------
-# Expand to a possible default value for yylloc.
-m4_define([b4_yyloc_default],
-[[
-# if defined ]b4_api_PREFIX[LTYPE_IS_TRIVIAL && ]b4_api_PREFIX[LTYPE_IS_TRIVIAL
- = { ]m4_join([, ],
- m4_defn([b4_location_initial_line]),
- m4_defn([b4_location_initial_column]),
- m4_defn([b4_location_initial_line]),
- m4_defn([b4_location_initial_column]))[ }
-# endif
-]])
diff --git a/gnuwin32/bin/data/glr.c b/gnuwin32/bin/data/glr.c
deleted file mode 100644
index ff70890f..00000000
--- a/gnuwin32/bin/data/glr.c
+++ /dev/null
@@ -1,2563 +0,0 @@
- -*- C -*-
-
-# GLR skeleton for Bison
-
-# Copyright (C) 2002-2013 Free Software Foundation, Inc.
-
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-
-# If we are loaded by glr.cc, do not override c++.m4 definitions by
-# those of c.m4.
-m4_if(b4_skeleton, ["glr.c"],
- [m4_include(b4_pkgdatadir/[c.m4])])
-
-## ---------------- ##
-## Default values. ##
-## ---------------- ##
-
-# Stack parameters.
-m4_define_default([b4_stack_depth_max], [10000])
-m4_define_default([b4_stack_depth_init], [200])
-
-
-
-## ------------------------ ##
-## Pure/impure interfaces. ##
-## ------------------------ ##
-
-b4_define_flag_if([pure])
-# If glr.cc is including this file and thus has already set b4_pure_flag,
-# do not change the value of b4_pure_flag, and do not record a use of api.pure.
-m4_ifndef([b4_pure_flag],
-[b4_percent_define_default([[api.pure]], [[false]])
- m4_define([b4_pure_flag],
- [b4_percent_define_flag_if([[api.pure]], [[1]], [[0]])])])
-
-# b4_user_formals
-# ---------------
-# The possible parse-params formal arguments preceded by a comma.
-#
-# This is not shared with yacc.c in c.m4 because GLR relies on ISO C
-# formal argument declarations.
-m4_define([b4_user_formals],
-[m4_ifset([b4_parse_param], [, b4_formals(b4_parse_param)])])
-
-
-# b4_yyerror_args
-# ---------------
-# Optional effective arguments passed to yyerror: user args plus yylloc, and
-# a trailing comma.
-m4_define([b4_yyerror_args],
-[b4_pure_if([b4_locations_if([yylocp, ])])dnl
-m4_ifset([b4_parse_param], [b4_args(b4_parse_param), ])])
-
-
-# b4_lyyerror_args
-# ----------------
-# Same as above, but on the lookahead, hence &yylloc instead of yylocp.
-m4_define([b4_lyyerror_args],
-[b4_pure_if([b4_locations_if([&yylloc, ])])dnl
-m4_ifset([b4_parse_param], [b4_args(b4_parse_param), ])])
-
-
-# b4_pure_args
-# ------------
-# Same as b4_yyerror_args, but with a leading comma.
-m4_define([b4_pure_args],
-[b4_pure_if([b4_locations_if([, yylocp])])[]b4_user_args])
-
-
-# b4_lpure_args
-# -------------
-# Same as above, but on the lookahead, hence &yylloc instead of yylocp.
-m4_define([b4_lpure_args],
-[b4_pure_if([b4_locations_if([, &yylloc])])[]b4_user_args])
-
-
-
-# b4_pure_formals
-# ---------------
-# Arguments passed to yyerror: user formals plus yylocp with leading comma.
-m4_define([b4_pure_formals],
-[b4_pure_if([b4_locations_if([, YYLTYPE *yylocp])])[]b4_user_formals])
-
-
-# b4_locuser_formals(LOC = yylocp)
-# --------------------------------
-m4_define([b4_locuser_formals],
-[b4_locations_if([, YYLTYPE *m4_default([$1], [yylocp])])[]b4_user_formals])
-
-
-# b4_locuser_args(LOC = yylocp)
-# -----------------------------
-m4_define([b4_locuser_args],
-[b4_locations_if([, m4_default([$1], [yylocp])])[]b4_user_args])
-
-
-
-## ----------------- ##
-## Semantic Values. ##
-## ----------------- ##
-
-
-# b4_lhs_value([TYPE])
-# --------------------
-# Expansion of $<TYPE>$.
-m4_define([b4_lhs_value],
-[b4_symbol_value([(*yyvalp)], [$1])])
-
-
-# b4_rhs_data(RULE-LENGTH, NUM)
-# -----------------------------
-# Expand to the semantic stack place that contains value and location
-# of symbol number NUM in a rule of length RULE-LENGTH.
-m4_define([b4_rhs_data],
-[((yyGLRStackItem const *)yyvsp)@{YYFILL (b4_subtract([$2], [$1]))@}.yystate])
-
-
-# b4_rhs_value(RULE-LENGTH, NUM, [TYPE])
-# --------------------------------------
-# Expansion of $<TYPE>NUM, where the current rule has RULE-LENGTH
-# symbols on RHS.
-m4_define([b4_rhs_value],
-[b4_symbol_value([b4_rhs_data([$1], [$2]).yysemantics.yysval], [$3])])
-
-
-
-## ----------- ##
-## Locations. ##
-## ----------- ##
-
-# b4_lhs_location()
-# -----------------
-# Expansion of @$.
-m4_define([b4_lhs_location],
-[(*yylocp)])
-
-
-# b4_rhs_location(RULE-LENGTH, NUM)
-# ---------------------------------
-# Expansion of @NUM, where the current rule has RULE-LENGTH symbols
-# on RHS.
-m4_define([b4_rhs_location],
-[(b4_rhs_data([$1], [$2]).yyloc)])
-
-
-## -------------- ##
-## Declarations. ##
-## -------------- ##
-
-# b4_shared_declarations
-# ----------------------
-# Declaration that might either go into the header (if --defines)
-# or open coded in the parser body. glr.cc has its own definition.
-m4_if(b4_skeleton, ["glr.c"],
-[m4_define([b4_shared_declarations],
-[b4_declare_yydebug[
-]b4_percent_code_get([[requires]])[
-]b4_token_enums[
-]b4_declare_yylstype[
-]b4_function_declare(b4_prefix[parse], [int], b4_parse_param)[
-]b4_percent_code_get([[provides]])[]dnl
-])
-])
-
-## -------------- ##
-## Output files. ##
-## -------------- ##
-
-b4_output_begin([b4_parser_file_name])
-b4_copyright([Skeleton implementation for Bison GLR parsers in C],
- [2002-2013])[
-
-/* C GLR parser skeleton written by Paul Hilfinger. */
-
-]b4_identification
-
-b4_percent_code_get([[top]])[
-]m4_if(b4_api_prefix, [yy], [],
-[[/* Substitute the type names. */
-#define YYSTYPE ]b4_api_PREFIX[STYPE]b4_locations_if([[
-#define YYLTYPE ]b4_api_PREFIX[LTYPE]])])[
-]m4_if(b4_prefix, [yy], [],
-[[/* Substitute the variable and function names. */
-#define yyparse ]b4_prefix[parse
-#define yylex ]b4_prefix[lex
-#define yyerror ]b4_prefix[error
-#define yydebug ]b4_prefix[debug
-]]b4_pure_if([], [[
-#define yylval ]b4_prefix[lval
-#define yychar ]b4_prefix[char
-#define yynerrs ]b4_prefix[nerrs]b4_locations_if([[
-#define yylloc ]b4_prefix[lloc]])]))[
-
-/* First part of user declarations. */
-]b4_user_pre_prologue[
-
-]b4_null_define[
-
-]b4_defines_if([[#include "@basename(]b4_spec_defines_file[@)"]],
- [b4_shared_declarations])[
-
-/* Enabling verbose error messages. */
-#ifdef YYERROR_VERBOSE
-# undef YYERROR_VERBOSE
-# define YYERROR_VERBOSE 1
-#else
-# define YYERROR_VERBOSE ]b4_error_verbose_if([1], [0])[
-#endif
-
-/* Default (constant) value used for initialization for null
- right-hand sides. Unlike the standard yacc.c template, here we set
- the default value of $$ to a zeroed-out value. Since the default
- value is undefined, this behavior is technically correct. */
-static YYSTYPE yyval_default;]b4_locations_if([[
-static YYLTYPE yyloc_default][]b4_yyloc_default;])[
-
-/* Copy the second part of user declarations. */
-]b4_user_post_prologue
-b4_percent_code_get[]dnl
-
-[#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#ifndef YY_
-# if defined YYENABLE_NLS && YYENABLE_NLS
-# if ENABLE_NLS
-# include <libintl.h> /* INFRINGES ON USER NAME SPACE */
-# define YY_(Msgid) dgettext ("bison-runtime", Msgid)
-# endif
-# endif
-# ifndef YY_
-# define YY_(Msgid) Msgid
-# endif
-#endif
-
-#ifndef YYFREE
-# define YYFREE free
-#endif
-#ifndef YYMALLOC
-# define YYMALLOC malloc
-#endif
-#ifndef YYREALLOC
-# define YYREALLOC realloc
-#endif
-
-#define YYSIZEMAX ((size_t) -1)
-
-#ifdef __cplusplus
- typedef bool yybool;
-#else
- typedef unsigned char yybool;
-#endif
-#define yytrue 1
-#define yyfalse 0
-
-#ifndef YYSETJMP
-# include <setjmp.h>
-# define YYJMP_BUF jmp_buf
-# define YYSETJMP(Env) setjmp (Env)
-/* Pacify clang. */
-# define YYLONGJMP(Env, Val) (longjmp (Env, Val), YYASSERT (0))
-#endif
-
-]b4_attribute_define[
-
-#ifndef YYASSERT
-# define YYASSERT(Condition) ((void) ((Condition) || (abort (), 0)))
-#endif
-
-/* YYFINAL -- State number of the termination state. */
-#define YYFINAL ]b4_final_state_number[
-/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST ]b4_last[
-
-/* YYNTOKENS -- Number of terminals. */
-#define YYNTOKENS ]b4_tokens_number[
-/* YYNNTS -- Number of nonterminals. */
-#define YYNNTS ]b4_nterms_number[
-/* YYNRULES -- Number of rules. */
-#define YYNRULES ]b4_rules_number[
-/* YYNRULES -- Number of states. */
-#define YYNSTATES ]b4_states_number[
-/* YYMAXRHS -- Maximum number of symbols on right-hand side of rule. */
-#define YYMAXRHS ]b4_r2_max[
-/* YYMAXLEFT -- Maximum number of symbols to the left of a handle
- accessed by $0, $-1, etc., in any rule. */
-#define YYMAXLEFT ]b4_max_left_semantic_context[
-
-/* YYTRANSLATE(X) -- Bison symbol number corresponding to X. */
-#define YYUNDEFTOK ]b4_undef_token_number[
-#define YYMAXUTOK ]b4_user_token_number_max[
-
-#define YYTRANSLATE(YYX) \
- ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
-
-/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
-static const ]b4_int_type_for([b4_translate])[ yytranslate[] =
-{
- ]b4_translate[
-};
-
-#if ]b4_api_PREFIX[DEBUG
-/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
-static const ]b4_int_type_for([b4_rline])[ yyrline[] =
-{
- ]b4_rline[
-};
-#endif
-
-#if ]b4_api_PREFIX[DEBUG || YYERROR_VERBOSE || ]b4_token_table_flag[
-/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
- First, the terminals, then, starting at YYNTOKENS, nonterminals. */
-static const char *const yytname[] =
-{
- ]b4_tname[
-};
-#endif
-
-#define YYPACT_NINF ]b4_pact_ninf[
-#define YYTABLE_NINF ]b4_table_ninf[
-
-]b4_parser_tables_define[
-
-/* YYDPREC[RULE-NUM] -- Dynamic precedence of rule #RULE-NUM (0 if none). */
-static const ]b4_int_type_for([b4_dprec])[ yydprec[] =
-{
- ]b4_dprec[
-};
-
-/* YYMERGER[RULE-NUM] -- Index of merging function for rule #RULE-NUM. */
-static const ]b4_int_type_for([b4_merger])[ yymerger[] =
-{
- ]b4_merger[
-};
-
-/* YYIMMEDIATE[RULE-NUM] -- True iff rule #RULE-NUM is not to be deferred, as
- in the case of predicates. */
-static const yybool yyimmediate[] =
-{
- ]b4_immediate[
-};
-
-/* YYCONFLP[YYPACT[STATE-NUM]] -- Pointer into YYCONFL of start of
- list of conflicting reductions corresponding to action entry for
- state STATE-NUM in yytable. 0 means no conflicts. The list in
- yyconfl is terminated by a rule number of 0. */
-static const ]b4_int_type_for([b4_conflict_list_heads])[ yyconflp[] =
-{
- ]b4_conflict_list_heads[
-};
-
-/* YYCONFL[I] -- lists of conflicting rule numbers, each terminated by
- 0, pointed into by YYCONFLP. */
-]dnl Do not use b4_int_type_for here, since there are places where
-dnl pointers onto yyconfl are taken, whose type is "short int *".
-dnl We probably ought to introduce a type for confl.
-[static const short int yyconfl[] =
-{
- ]b4_conflicting_rules[
-};
-
-/* Error token number */
-#define YYTERROR 1
-
-]b4_locations_if([[
-]b4_yylloc_default_define[
-# define YYRHSLOC(Rhs, K) ((Rhs)[K].yystate.yyloc)
-]])[
-
-]b4_pure_if(
-[
-#undef yynerrs
-#define yynerrs (yystackp->yyerrcnt)
-#undef yychar
-#define yychar (yystackp->yyrawchar)
-#undef yylval
-#define yylval (yystackp->yyval)
-#undef yylloc
-#define yylloc (yystackp->yyloc)
-m4_if(b4_prefix[], [yy], [],
-[#define b4_prefix[]nerrs yynerrs
-#define b4_prefix[]char yychar
-#define b4_prefix[]lval yylval
-#define b4_prefix[]lloc yylloc])],
-[YYSTYPE yylval;]b4_locations_if([[
-YYLTYPE yylloc;]])[
-
-int yynerrs;
-int yychar;])[
-
-static const int YYEOF = 0;
-static const int YYEMPTY = -2;
-
-typedef enum { yyok, yyaccept, yyabort, yyerr } YYRESULTTAG;
-
-#define YYCHK(YYE) \
- do { \
- YYRESULTTAG yychk_flag = YYE; \
- if (yychk_flag != yyok) \
- return yychk_flag; \
- } while (0)
-
-#if ]b4_api_PREFIX[DEBUG
-
-# ifndef YYFPRINTF
-# define YYFPRINTF fprintf
-# endif
-
-]b4_yy_location_print_define[
-
-# define YYDPRINTF(Args) \
- do { \
- if (yydebug) \
- YYFPRINTF Args; \
- } while (0)
-
-]b4_yy_symbol_print_define[
-
-# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
- do { \
- if (yydebug) \
- { \
- YYFPRINTF (stderr, "%s ", Title); \
- yy_symbol_print (stderr, Type, Value]b4_locuser_args([Location])[); \
- YYFPRINTF (stderr, "\n"); \
- } \
- } while (0)
-
-/* Nonzero means print parse trace. It is left uninitialized so that
- multiple parsers can coexist. */
-int yydebug;
-
-struct yyGLRStack;
-static void yypstack (struct yyGLRStack* yystackp, size_t yyk)
- __attribute__ ((__unused__));
-static void yypdumpstack (struct yyGLRStack* yystackp)
- __attribute__ ((__unused__));
-
-#else /* !]b4_api_PREFIX[DEBUG */
-
-# define YYDPRINTF(Args)
-# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
-
-#endif /* !]b4_api_PREFIX[DEBUG */
-
-/* YYINITDEPTH -- initial size of the parser's stacks. */
-#ifndef YYINITDEPTH
-# define YYINITDEPTH ]b4_stack_depth_init[
-#endif
-
-/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
- if the built-in stack extension method is used).
-
- Do not make this value too large; the results are undefined if
- SIZE_MAX < YYMAXDEPTH * sizeof (GLRStackItem)
- evaluated with infinite-precision integer arithmetic. */
-
-#ifndef YYMAXDEPTH
-# define YYMAXDEPTH ]b4_stack_depth_max[
-#endif
-
-/* Minimum number of free items on the stack allowed after an
- allocation. This is to allow allocation and initialization
- to be completed by functions that call yyexpandGLRStack before the
- stack is expanded, thus insuring that all necessary pointers get
- properly redirected to new data. */
-#define YYHEADROOM 2
-
-#ifndef YYSTACKEXPANDABLE
-# define YYSTACKEXPANDABLE 1
-#endif
-
-#if YYSTACKEXPANDABLE
-# define YY_RESERVE_GLRSTACK(Yystack) \
- do { \
- if (Yystack->yyspaceLeft < YYHEADROOM) \
- yyexpandGLRStack (Yystack); \
- } while (0)
-#else
-# define YY_RESERVE_GLRSTACK(Yystack) \
- do { \
- if (Yystack->yyspaceLeft < YYHEADROOM) \
- yyMemoryExhausted (Yystack); \
- } while (0)
-#endif
-
-
-#if YYERROR_VERBOSE
-
-# ifndef yystpcpy
-# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
-# define yystpcpy stpcpy
-# else
-/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
- YYDEST. */
-static char *
-yystpcpy (char *yydest, const char *yysrc)
-{
- char *yyd = yydest;
- const char *yys = yysrc;
-
- while ((*yyd++ = *yys++) != '\0')
- continue;
-
- return yyd - 1;
-}
-# endif
-# endif
-
-# ifndef yytnamerr
-/* Copy to YYRES the contents of YYSTR after stripping away unnecessary
- quotes and backslashes, so that it's suitable for yyerror. The
- heuristic is that double-quoting is unnecessary unless the string
- contains an apostrophe, a comma, or backslash (other than
- backslash-backslash). YYSTR is taken from yytname. If YYRES is
- null, do not copy; instead, return the length of what the result
- would have been. */
-static size_t
-yytnamerr (char *yyres, const char *yystr)
-{
- if (*yystr == '"')
- {
- size_t yyn = 0;
- char const *yyp = yystr;
-
- for (;;)
- switch (*++yyp)
- {
- case '\'':
- case ',':
- goto do_not_strip_quotes;
-
- case '\\':
- if (*++yyp != '\\')
- goto do_not_strip_quotes;
- /* Fall through. */
- default:
- if (yyres)
- yyres[yyn] = *yyp;
- yyn++;
- break;
-
- case '"':
- if (yyres)
- yyres[yyn] = '\0';
- return yyn;
- }
- do_not_strip_quotes: ;
- }
-
- if (! yyres)
- return strlen (yystr);
-
- return yystpcpy (yyres, yystr) - yyres;
-}
-# endif
-
-#endif /* !YYERROR_VERBOSE */
-
-/** State numbers, as in LALR(1) machine */
-typedef int yyStateNum;
-
-/** Rule numbers, as in LALR(1) machine */
-typedef int yyRuleNum;
-
-/** Grammar symbol */
-typedef int yySymbol;
-
-/** Item references, as in LALR(1) machine */
-typedef short int yyItemNum;
-
-typedef struct yyGLRState yyGLRState;
-typedef struct yyGLRStateSet yyGLRStateSet;
-typedef struct yySemanticOption yySemanticOption;
-typedef union yyGLRStackItem yyGLRStackItem;
-typedef struct yyGLRStack yyGLRStack;
-
-struct yyGLRState {
- /** Type tag: always true. */
- yybool yyisState;
- /** Type tag for yysemantics. If true, yysval applies, otherwise
- * yyfirstVal applies. */
- yybool yyresolved;
- /** Number of corresponding LALR(1) machine state. */
- yyStateNum yylrState;
- /** Preceding state in this stack */
- yyGLRState* yypred;
- /** Source position of the last token produced by my symbol */
- size_t yyposn;
- union {
- /** First in a chain of alternative reductions producing the
- * non-terminal corresponding to this state, threaded through
- * yynext. */
- yySemanticOption* yyfirstVal;
- /** Semantic value for this state. */
- YYSTYPE yysval;
- } yysemantics;]b4_locations_if([[
- /** Source location for this state. */
- YYLTYPE yyloc;]])[
-};
-
-struct yyGLRStateSet {
- yyGLRState** yystates;
- /** During nondeterministic operation, yylookaheadNeeds tracks which
- * stacks have actually needed the current lookahead. During deterministic
- * operation, yylookaheadNeeds[0] is not maintained since it would merely
- * duplicate yychar != YYEMPTY. */
- yybool* yylookaheadNeeds;
- size_t yysize, yycapacity;
-};
-
-struct yySemanticOption {
- /** Type tag: always false. */
- yybool yyisState;
- /** Rule number for this reduction */
- yyRuleNum yyrule;
- /** The last RHS state in the list of states to be reduced. */
- yyGLRState* yystate;
- /** The lookahead for this reduction. */
- int yyrawchar;
- YYSTYPE yyval;]b4_locations_if([[
- YYLTYPE yyloc;]])[
- /** Next sibling in chain of options. To facilitate merging,
- * options are chained in decreasing order by address. */
- yySemanticOption* yynext;
-};
-
-/** Type of the items in the GLR stack. The yyisState field
- * indicates which item of the union is valid. */
-union yyGLRStackItem {
- yyGLRState yystate;
- yySemanticOption yyoption;
-};
-
-struct yyGLRStack {
- int yyerrState;
-]b4_locations_if([[ /* To compute the location of the error token. */
- yyGLRStackItem yyerror_range[3];]])[
-]b4_pure_if(
-[
- int yyerrcnt;
- int yyrawchar;
- YYSTYPE yyval;]b4_locations_if([[
- YYLTYPE yyloc;]])[
-])[
- YYJMP_BUF yyexception_buffer;
- yyGLRStackItem* yyitems;
- yyGLRStackItem* yynextFree;
- size_t yyspaceLeft;
- yyGLRState* yysplitPoint;
- yyGLRState* yylastDeleted;
- yyGLRStateSet yytops;
-};
-
-#if YYSTACKEXPANDABLE
-static void yyexpandGLRStack (yyGLRStack* yystackp);
-#endif
-
-static void yyFail (yyGLRStack* yystackp]b4_pure_formals[, const char* yymsg)
- __attribute__ ((__noreturn__));
-static void
-yyFail (yyGLRStack* yystackp]b4_pure_formals[, const char* yymsg)
-{
- if (yymsg != YY_NULL)
- yyerror (]b4_yyerror_args[yymsg);
- YYLONGJMP (yystackp->yyexception_buffer, 1);
-}
-
-static void yyMemoryExhausted (yyGLRStack* yystackp)
- __attribute__ ((__noreturn__));
-static void
-yyMemoryExhausted (yyGLRStack* yystackp)
-{
- YYLONGJMP (yystackp->yyexception_buffer, 2);
-}
-
-#if ]b4_api_PREFIX[DEBUG || YYERROR_VERBOSE
-/** A printable representation of TOKEN. */
-static inline const char*
-yytokenName (yySymbol yytoken)
-{
- if (yytoken == YYEMPTY)
- return "";
-
- return yytname[yytoken];
-}
-#endif
-
-/** Fill in YYVSP[YYLOW1 .. YYLOW0-1] from the chain of states starting
- * at YYVSP[YYLOW0].yystate.yypred. Leaves YYVSP[YYLOW1].yystate.yypred
- * containing the pointer to the next state in the chain. */
-static void yyfillin (yyGLRStackItem *, int, int) __attribute__ ((__unused__));
-static void
-yyfillin (yyGLRStackItem *yyvsp, int yylow0, int yylow1)
-{
- int i;
- yyGLRState *s = yyvsp[yylow0].yystate.yypred;
- for (i = yylow0-1; i >= yylow1; i -= 1)
- {
-#if ]b4_api_PREFIX[DEBUG
- yyvsp[i].yystate.yylrState = s->yylrState;
-#endif
- yyvsp[i].yystate.yyresolved = s->yyresolved;
- if (s->yyresolved)
- yyvsp[i].yystate.yysemantics.yysval = s->yysemantics.yysval;
- else
- /* The effect of using yysval or yyloc (in an immediate rule) is
- * undefined. */
- yyvsp[i].yystate.yysemantics.yyfirstVal = YY_NULL;]b4_locations_if([[
- yyvsp[i].yystate.yyloc = s->yyloc;]])[
- s = yyvsp[i].yystate.yypred = s->yypred;
- }
-}
-
-/* Do nothing if YYNORMAL or if *YYLOW <= YYLOW1. Otherwise, fill in
- * YYVSP[YYLOW1 .. *YYLOW-1] as in yyfillin and set *YYLOW = YYLOW1.
- * For convenience, always return YYLOW1. */
-static inline int yyfill (yyGLRStackItem *, int *, int, yybool)
- __attribute__ ((__unused__));
-static inline int
-yyfill (yyGLRStackItem *yyvsp, int *yylow, int yylow1, yybool yynormal)
-{
- if (!yynormal && yylow1 < *yylow)
- {
- yyfillin (yyvsp, *yylow, yylow1);
- *yylow = yylow1;
- }
- return yylow1;
-}
-
-/** Perform user action for rule number YYN, with RHS length YYRHSLEN,
- * and top stack item YYVSP. YYLVALP points to place to put semantic
- * value ($$), and yylocp points to place for location information
- * (@@$). Returns yyok for normal return, yyaccept for YYACCEPT,
- * yyerr for YYERROR, yyabort for YYABORT. */
-static YYRESULTTAG
-yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp,
- yyGLRStack* yystackp,
- YYSTYPE* yyvalp]b4_locuser_formals[)
-{
- yybool yynormal __attribute__ ((__unused__)) =
- (yystackp->yysplitPoint == YY_NULL);
- int yylow;
-]b4_parse_param_use([yyvalp], [yylocp])dnl
-[ YYUSE (yyrhslen);
-# undef yyerrok
-# define yyerrok (yystackp->yyerrState = 0)
-# undef YYACCEPT
-# define YYACCEPT return yyaccept
-# undef YYABORT
-# define YYABORT return yyabort
-# undef YYERROR
-# define YYERROR return yyerrok, yyerr
-# undef YYRECOVERING
-# define YYRECOVERING() (yystackp->yyerrState != 0)
-# undef yyclearin
-# define yyclearin (yychar = YYEMPTY)
-# undef YYFILL
-# define YYFILL(N) yyfill (yyvsp, &yylow, N, yynormal)
-# undef YYBACKUP
-# define YYBACKUP(Token, Value) \
- return yyerror (]b4_yyerror_args[YY_("syntax error: cannot back up")), \
- yyerrok, yyerr
-
- yylow = 1;
- if (yyrhslen == 0)
- *yyvalp = yyval_default;
- else
- *yyvalp = yyvsp[YYFILL (1-yyrhslen)].yystate.yysemantics.yysval;]b4_locations_if([[
- YYLLOC_DEFAULT ((*yylocp), (yyvsp - yyrhslen), yyrhslen);
- yystackp->yyerror_range[1].yystate.yyloc = *yylocp;
-]])[
- switch (yyn)
- {
- ]b4_user_actions[
- default: break;
- }
-
- return yyok;
-# undef yyerrok
-# undef YYABORT
-# undef YYACCEPT
-# undef YYERROR
-# undef YYBACKUP
-# undef yyclearin
-# undef YYRECOVERING
-}
-
-
-static void
-yyuserMerge (int yyn, YYSTYPE* yy0, YYSTYPE* yy1)
-{
- YYUSE (yy0);
- YYUSE (yy1);
-
- switch (yyn)
- {
-]b4_mergers[
- default: break;
- }
-}
-
- /* Bison grammar-table manipulation. */
-
-]b4_yydestruct_define[
-
-/** Number of symbols composing the right hand side of rule #RULE. */
-static inline int
-yyrhsLength (yyRuleNum yyrule)
-{
- return yyr2[yyrule];
-}
-
-static void
-yydestroyGLRState (char const *yymsg, yyGLRState *yys]b4_user_formals[)
-{
- if (yys->yyresolved)
- yydestruct (yymsg, yystos[yys->yylrState],
- &yys->yysemantics.yysval]b4_locuser_args([&yys->yyloc])[);
- else
- {
-#if ]b4_api_PREFIX[DEBUG
- if (yydebug)
- {
- if (yys->yysemantics.yyfirstVal)
- YYFPRINTF (stderr, "%s unresolved ", yymsg);
- else
- YYFPRINTF (stderr, "%s incomplete ", yymsg);
- yy_symbol_print (stderr, yystos[yys->yylrState],
- YY_NULL]b4_locuser_args([&yys->yyloc])[);
- YYFPRINTF (stderr, "\n");
- }
-#endif
-
- if (yys->yysemantics.yyfirstVal)
- {
- yySemanticOption *yyoption = yys->yysemantics.yyfirstVal;
- yyGLRState *yyrh;
- int yyn;
- for (yyrh = yyoption->yystate, yyn = yyrhsLength (yyoption->yyrule);
- yyn > 0;
- yyrh = yyrh->yypred, yyn -= 1)
- yydestroyGLRState (yymsg, yyrh]b4_user_args[);
- }
- }
-}
-
-/** Left-hand-side symbol for rule #YYRULE. */
-static inline yySymbol
-yylhsNonterm (yyRuleNum yyrule)
-{
- return yyr1[yyrule];
-}
-
-#define yypact_value_is_default(Yystate) \
- ]b4_table_value_equals([[pact]], [[Yystate]], [b4_pact_ninf])[
-
-/** True iff LR state YYSTATE has only a default reduction (regardless
- * of token). */
-static inline yybool
-yyisDefaultedState (yyStateNum yystate)
-{
- return yypact_value_is_default (yypact[yystate]);
-}
-
-/** The default reduction for YYSTATE, assuming it has one. */
-static inline yyRuleNum
-yydefaultAction (yyStateNum yystate)
-{
- return yydefact[yystate];
-}
-
-#define yytable_value_is_error(Yytable_value) \
- ]b4_table_value_equals([[table]], [[Yytable_value]], [b4_table_ninf])[
-
-/** Set *YYACTION to the action to take in YYSTATE on seeing YYTOKEN.
- * Result R means
- * R < 0: Reduce on rule -R.
- * R = 0: Error.
- * R > 0: Shift to state R.
- * Set *YYCONFLICTS to a pointer into yyconfl to a 0-terminated list
- * of conflicting reductions.
- */
-static inline void
-yygetLRActions (yyStateNum yystate, int yytoken,
- int* yyaction, const short int** yyconflicts)
-{
- int yyindex = yypact[yystate] + yytoken;
- if (yypact_value_is_default (yypact[yystate])
- || yyindex < 0 || YYLAST < yyindex || yycheck[yyindex] != yytoken)
- {
- *yyaction = -yydefact[yystate];
- *yyconflicts = yyconfl;
- }
- else if (! yytable_value_is_error (yytable[yyindex]))
- {
- *yyaction = yytable[yyindex];
- *yyconflicts = yyconfl + yyconflp[yyindex];
- }
- else
- {
- *yyaction = 0;
- *yyconflicts = yyconfl + yyconflp[yyindex];
- }
-}
-
-static inline yyStateNum
-yyLRgotoState (yyStateNum yystate, yySymbol yylhs)
-{
- int yyr = yypgoto[yylhs - YYNTOKENS] + yystate;
- if (0 <= yyr && yyr <= YYLAST && yycheck[yyr] == yystate)
- return yytable[yyr];
- else
- return yydefgoto[yylhs - YYNTOKENS];
-}
-
-static inline yybool
-yyisShiftAction (int yyaction)
-{
- return 0 < yyaction;
-}
-
-static inline yybool
-yyisErrorAction (int yyaction)
-{
- return yyaction == 0;
-}
-
- /* GLRStates */
-
-/** Return a fresh GLRStackItem in YYSTACKP. The item is an LR state
- * if YYISSTATE, and otherwise a semantic option. Callers should call
- * YY_RESERVE_GLRSTACK afterwards to make sure there is sufficient
- * headroom. */
-
-static inline yyGLRStackItem*
-yynewGLRStackItem (yyGLRStack* yystackp, yybool yyisState)
-{
- yyGLRStackItem* yynewItem = yystackp->yynextFree;
- yystackp->yyspaceLeft -= 1;
- yystackp->yynextFree += 1;
- yynewItem->yystate.yyisState = yyisState;
- return yynewItem;
-}
-
-/** Add a new semantic action that will execute the action for rule
- * YYRULE on the semantic values in YYRHS to the list of
- * alternative actions for YYSTATE. Assumes that YYRHS comes from
- * stack #YYK of *YYSTACKP. */
-static void
-yyaddDeferredAction (yyGLRStack* yystackp, size_t yyk, yyGLRState* yystate,
- yyGLRState* yyrhs, yyRuleNum yyrule)
-{
- yySemanticOption* yynewOption =
- &yynewGLRStackItem (yystackp, yyfalse)->yyoption;
- yynewOption->yystate = yyrhs;
- yynewOption->yyrule = yyrule;
- if (yystackp->yytops.yylookaheadNeeds[yyk])
- {
- yynewOption->yyrawchar = yychar;
- yynewOption->yyval = yylval;]b4_locations_if([
- yynewOption->yyloc = yylloc;])[
- }
- else
- yynewOption->yyrawchar = YYEMPTY;
- yynewOption->yynext = yystate->yysemantics.yyfirstVal;
- yystate->yysemantics.yyfirstVal = yynewOption;
-
- YY_RESERVE_GLRSTACK (yystackp);
-}
-
- /* GLRStacks */
-
-/** Initialize YYSET to a singleton set containing an empty stack. */
-static yybool
-yyinitStateSet (yyGLRStateSet* yyset)
-{
- yyset->yysize = 1;
- yyset->yycapacity = 16;
- yyset->yystates = (yyGLRState**) YYMALLOC (16 * sizeof yyset->yystates[0]);
- if (! yyset->yystates)
- return yyfalse;
- yyset->yystates[0] = YY_NULL;
- yyset->yylookaheadNeeds =
- (yybool*) YYMALLOC (16 * sizeof yyset->yylookaheadNeeds[0]);
- if (! yyset->yylookaheadNeeds)
- {
- YYFREE (yyset->yystates);
- return yyfalse;
- }
- return yytrue;
-}
-
-static void yyfreeStateSet (yyGLRStateSet* yyset)
-{
- YYFREE (yyset->yystates);
- YYFREE (yyset->yylookaheadNeeds);
-}
-
-/** Initialize *YYSTACKP to a single empty stack, with total maximum
- * capacity for all stacks of YYSIZE. */
-static yybool
-yyinitGLRStack (yyGLRStack* yystackp, size_t yysize)
-{
- yystackp->yyerrState = 0;
- yynerrs = 0;
- yystackp->yyspaceLeft = yysize;
- yystackp->yyitems =
- (yyGLRStackItem*) YYMALLOC (yysize * sizeof yystackp->yynextFree[0]);
- if (!yystackp->yyitems)
- return yyfalse;
- yystackp->yynextFree = yystackp->yyitems;
- yystackp->yysplitPoint = YY_NULL;
- yystackp->yylastDeleted = YY_NULL;
- return yyinitStateSet (&yystackp->yytops);
-}
-
-
-#if YYSTACKEXPANDABLE
-# define YYRELOC(YYFROMITEMS,YYTOITEMS,YYX,YYTYPE) \
- &((YYTOITEMS) - ((YYFROMITEMS) - (yyGLRStackItem*) (YYX)))->YYTYPE
-
-/** If *YYSTACKP is expandable, extend it. WARNING: Pointers into the
- stack from outside should be considered invalid after this call.
- We always expand when there are 1 or fewer items left AFTER an
- allocation, so that we can avoid having external pointers exist
- across an allocation. */
-static void
-yyexpandGLRStack (yyGLRStack* yystackp)
-{
- yyGLRStackItem* yynewItems;
- yyGLRStackItem* yyp0, *yyp1;
- size_t yynewSize;
- size_t yyn;
- size_t yysize = yystackp->yynextFree - yystackp->yyitems;
- if (YYMAXDEPTH - YYHEADROOM < yysize)
- yyMemoryExhausted (yystackp);
- yynewSize = 2*yysize;
- if (YYMAXDEPTH < yynewSize)
- yynewSize = YYMAXDEPTH;
- yynewItems = (yyGLRStackItem*) YYMALLOC (yynewSize * sizeof yynewItems[0]);
- if (! yynewItems)
- yyMemoryExhausted (yystackp);
- for (yyp0 = yystackp->yyitems, yyp1 = yynewItems, yyn = yysize;
- 0 < yyn;
- yyn -= 1, yyp0 += 1, yyp1 += 1)
- {
- *yyp1 = *yyp0;
- if (*(yybool *) yyp0)
- {
- yyGLRState* yys0 = &yyp0->yystate;
- yyGLRState* yys1 = &yyp1->yystate;
- if (yys0->yypred != YY_NULL)
- yys1->yypred =
- YYRELOC (yyp0, yyp1, yys0->yypred, yystate);
- if (! yys0->yyresolved && yys0->yysemantics.yyfirstVal != YY_NULL)
- yys1->yysemantics.yyfirstVal =
- YYRELOC (yyp0, yyp1, yys0->yysemantics.yyfirstVal, yyoption);
- }
- else
- {
- yySemanticOption* yyv0 = &yyp0->yyoption;
- yySemanticOption* yyv1 = &yyp1->yyoption;
- if (yyv0->yystate != YY_NULL)
- yyv1->yystate = YYRELOC (yyp0, yyp1, yyv0->yystate, yystate);
- if (yyv0->yynext != YY_NULL)
- yyv1->yynext = YYRELOC (yyp0, yyp1, yyv0->yynext, yyoption);
- }
- }
- if (yystackp->yysplitPoint != YY_NULL)
- yystackp->yysplitPoint = YYRELOC (yystackp->yyitems, yynewItems,
- yystackp->yysplitPoint, yystate);
-
- for (yyn = 0; yyn < yystackp->yytops.yysize; yyn += 1)
- if (yystackp->yytops.yystates[yyn] != YY_NULL)
- yystackp->yytops.yystates[yyn] =
- YYRELOC (yystackp->yyitems, yynewItems,
- yystackp->yytops.yystates[yyn], yystate);
- YYFREE (yystackp->yyitems);
- yystackp->yyitems = yynewItems;
- yystackp->yynextFree = yynewItems + yysize;
- yystackp->yyspaceLeft = yynewSize - yysize;
-}
-#endif
-
-static void
-yyfreeGLRStack (yyGLRStack* yystackp)
-{
- YYFREE (yystackp->yyitems);
- yyfreeStateSet (&yystackp->yytops);
-}
-
-/** Assuming that YYS is a GLRState somewhere on *YYSTACKP, update the
- * splitpoint of *YYSTACKP, if needed, so that it is at least as deep as
- * YYS. */
-static inline void
-yyupdateSplit (yyGLRStack* yystackp, yyGLRState* yys)
-{
- if (yystackp->yysplitPoint != YY_NULL && yystackp->yysplitPoint > yys)
- yystackp->yysplitPoint = yys;
-}
-
-/** Invalidate stack #YYK in *YYSTACKP. */
-static inline void
-yymarkStackDeleted (yyGLRStack* yystackp, size_t yyk)
-{
- if (yystackp->yytops.yystates[yyk] != YY_NULL)
- yystackp->yylastDeleted = yystackp->yytops.yystates[yyk];
- yystackp->yytops.yystates[yyk] = YY_NULL;
-}
-
-/** Undelete the last stack in *YYSTACKP that was marked as deleted. Can
- only be done once after a deletion, and only when all other stacks have
- been deleted. */
-static void
-yyundeleteLastStack (yyGLRStack* yystackp)
-{
- if (yystackp->yylastDeleted == YY_NULL || yystackp->yytops.yysize != 0)
- return;
- yystackp->yytops.yystates[0] = yystackp->yylastDeleted;
- yystackp->yytops.yysize = 1;
- YYDPRINTF ((stderr, "Restoring last deleted stack as stack #0.\n"));
- yystackp->yylastDeleted = YY_NULL;
-}
-
-static inline void
-yyremoveDeletes (yyGLRStack* yystackp)
-{
- size_t yyi, yyj;
- yyi = yyj = 0;
- while (yyj < yystackp->yytops.yysize)
- {
- if (yystackp->yytops.yystates[yyi] == YY_NULL)
- {
- if (yyi == yyj)
- {
- YYDPRINTF ((stderr, "Removing dead stacks.\n"));
- }
- yystackp->yytops.yysize -= 1;
- }
- else
- {
- yystackp->yytops.yystates[yyj] = yystackp->yytops.yystates[yyi];
- /* In the current implementation, it's unnecessary to copy
- yystackp->yytops.yylookaheadNeeds[yyi] since, after
- yyremoveDeletes returns, the parser immediately either enters
- deterministic operation or shifts a token. However, it doesn't
- hurt, and the code might evolve to need it. */
- yystackp->yytops.yylookaheadNeeds[yyj] =
- yystackp->yytops.yylookaheadNeeds[yyi];
- if (yyj != yyi)
- {
- YYDPRINTF ((stderr, "Rename stack %lu -> %lu.\n",
- (unsigned long int) yyi, (unsigned long int) yyj));
- }
- yyj += 1;
- }
- yyi += 1;
- }
-}
-
-/** Shift to a new state on stack #YYK of *YYSTACKP, corresponding to LR
- * state YYLRSTATE, at input position YYPOSN, with (resolved) semantic
- * value *YYVALP and source location *YYLOCP. */
-static inline void
-yyglrShift (yyGLRStack* yystackp, size_t yyk, yyStateNum yylrState,
- size_t yyposn,
- YYSTYPE* yyvalp]b4_locations_if([, YYLTYPE* yylocp])[)
-{
- yyGLRState* yynewState = &yynewGLRStackItem (yystackp, yytrue)->yystate;
-
- yynewState->yylrState = yylrState;
- yynewState->yyposn = yyposn;
- yynewState->yyresolved = yytrue;
- yynewState->yypred = yystackp->yytops.yystates[yyk];
- yynewState->yysemantics.yysval = *yyvalp;]b4_locations_if([
- yynewState->yyloc = *yylocp;])[
- yystackp->yytops.yystates[yyk] = yynewState;
-
- YY_RESERVE_GLRSTACK (yystackp);
-}
-
-/** Shift stack #YYK of *YYSTACKP, to a new state corresponding to LR
- * state YYLRSTATE, at input position YYPOSN, with the (unresolved)
- * semantic value of YYRHS under the action for YYRULE. */
-static inline void
-yyglrShiftDefer (yyGLRStack* yystackp, size_t yyk, yyStateNum yylrState,
- size_t yyposn, yyGLRState* yyrhs, yyRuleNum yyrule)
-{
- yyGLRState* yynewState = &yynewGLRStackItem (yystackp, yytrue)->yystate;
-
- yynewState->yylrState = yylrState;
- yynewState->yyposn = yyposn;
- yynewState->yyresolved = yyfalse;
- yynewState->yypred = yystackp->yytops.yystates[yyk];
- yynewState->yysemantics.yyfirstVal = YY_NULL;
- yystackp->yytops.yystates[yyk] = yynewState;
-
- /* Invokes YY_RESERVE_GLRSTACK. */
- yyaddDeferredAction (yystackp, yyk, yynewState, yyrhs, yyrule);
-}
-
-#if !]b4_api_PREFIX[DEBUG
-# define YY_REDUCE_PRINT(Args)
-#else
-# define YY_REDUCE_PRINT(Args) \
-do { \
- if (yydebug) \
- yy_reduce_print Args; \
-} while (0)
-
-/*----------------------------------------------------------------------.
-| Report that stack #YYK of *YYSTACKP is going to be reduced by YYRULE. |
-`----------------------------------------------------------------------*/
-
-static inline void
-yy_reduce_print (int yynormal, yyGLRStackItem* yyvsp, size_t yyk,
- yyRuleNum yyrule]b4_user_formals[)
-{
- int yynrhs = yyrhsLength (yyrule);]b4_locations_if([
- int yylow = 1;])[
- int yyi;
- YYFPRINTF (stderr, "Reducing stack %lu by rule %d (line %lu):\n",
- (unsigned long int) yyk, yyrule - 1,
- (unsigned long int) yyrline[yyrule]);
- if (! yynormal)
- yyfillin (yyvsp, 1, -yynrhs);
- /* The symbols being reduced. */
- for (yyi = 0; yyi < yynrhs; yyi++)
- {
- YYFPRINTF (stderr, " $%d = ", yyi + 1);
- yy_symbol_print (stderr,
- yystos[yyvsp[yyi - yynrhs + 1].yystate.yylrState],
- &yyvsp[yyi - yynrhs + 1].yystate.yysemantics.yysval
- ]b4_locations_if([, &]b4_rhs_location(yynrhs, yyi + 1))[]dnl
- b4_user_args[);
- if (!yyvsp[yyi - yynrhs + 1].yystate.yyresolved)
- YYFPRINTF (stderr, " (unresolved)");
- YYFPRINTF (stderr, "\n");
- }
-}
-#endif
-
-/** Pop the symbols consumed by reduction #YYRULE from the top of stack
- * #YYK of *YYSTACKP, and perform the appropriate semantic action on their
- * semantic values. Assumes that all ambiguities in semantic values
- * have been previously resolved. Set *YYVALP to the resulting value,
- * and *YYLOCP to the computed location (if any). Return value is as
- * for userAction. */
-static inline YYRESULTTAG
-yydoAction (yyGLRStack* yystackp, size_t yyk, yyRuleNum yyrule,
- YYSTYPE* yyvalp]b4_locuser_formals[)
-{
- int yynrhs = yyrhsLength (yyrule);
-
- if (yystackp->yysplitPoint == YY_NULL)
- {
- /* Standard special case: single stack. */
- yyGLRStackItem* yyrhs = (yyGLRStackItem*) yystackp->yytops.yystates[yyk];
- YYASSERT (yyk == 0);
- yystackp->yynextFree -= yynrhs;
- yystackp->yyspaceLeft += yynrhs;
- yystackp->yytops.yystates[0] = & yystackp->yynextFree[-1].yystate;
- YY_REDUCE_PRINT ((1, yyrhs, yyk, yyrule]b4_user_args[));
- return yyuserAction (yyrule, yynrhs, yyrhs, yystackp,
- yyvalp]b4_locuser_args[);
- }
- else
- {
- int yyi;
- yyGLRState* yys;
- yyGLRStackItem yyrhsVals[YYMAXRHS + YYMAXLEFT + 1];
- yys = yyrhsVals[YYMAXRHS + YYMAXLEFT].yystate.yypred
- = yystackp->yytops.yystates[yyk];]b4_locations_if([[
- if (yynrhs == 0)
- /* Set default location. */
- yyrhsVals[YYMAXRHS + YYMAXLEFT - 1].yystate.yyloc = yys->yyloc;]])[
- for (yyi = 0; yyi < yynrhs; yyi += 1)
- {
- yys = yys->yypred;
- YYASSERT (yys);
- }
- yyupdateSplit (yystackp, yys);
- yystackp->yytops.yystates[yyk] = yys;
- YY_REDUCE_PRINT ((0, yyrhsVals + YYMAXRHS + YYMAXLEFT - 1, yyk, yyrule]b4_user_args[));
- return yyuserAction (yyrule, yynrhs, yyrhsVals + YYMAXRHS + YYMAXLEFT - 1,
- yystackp, yyvalp]b4_locuser_args[);
- }
-}
-
-/** Pop items off stack #YYK of *YYSTACKP according to grammar rule YYRULE,
- * and push back on the resulting nonterminal symbol. Perform the
- * semantic action associated with YYRULE and store its value with the
- * newly pushed state, if YYFORCEEVAL or if *YYSTACKP is currently
- * unambiguous. Otherwise, store the deferred semantic action with
- * the new state. If the new state would have an identical input
- * position, LR state, and predecessor to an existing state on the stack,
- * it is identified with that existing state, eliminating stack #YYK from
- * *YYSTACKP. In this case, the semantic value is
- * added to the options for the existing state's semantic value.
- */
-static inline YYRESULTTAG
-yyglrReduce (yyGLRStack* yystackp, size_t yyk, yyRuleNum yyrule,
- yybool yyforceEval]b4_user_formals[)
-{
- size_t yyposn = yystackp->yytops.yystates[yyk]->yyposn;
-
- if (yyforceEval || yystackp->yysplitPoint == YY_NULL)
- {
- YYRESULTTAG yyflag;
- YYSTYPE yysval;]b4_locations_if([
- YYLTYPE yyloc;])[
-
- yyflag = yydoAction (yystackp, yyk, yyrule, &yysval]b4_locuser_args([&yyloc])[);
- if (yyflag == yyerr && yystackp->yysplitPoint != YY_NULL)
- {
- YYDPRINTF ((stderr, "Parse on stack %lu rejected by rule #%d.\n",
- (unsigned long int) yyk, yyrule - 1));
- }
- if (yyflag != yyok)
- return yyflag;
- YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyrule], &yysval, &yyloc);
- yyglrShift (yystackp, yyk,
- yyLRgotoState (yystackp->yytops.yystates[yyk]->yylrState,
- yylhsNonterm (yyrule)),
- yyposn, &yysval]b4_locations_if([, &yyloc])[);
- }
- else
- {
- size_t yyi;
- int yyn;
- yyGLRState* yys, *yys0 = yystackp->yytops.yystates[yyk];
- yyStateNum yynewLRState;
-
- for (yys = yystackp->yytops.yystates[yyk], yyn = yyrhsLength (yyrule);
- 0 < yyn; yyn -= 1)
- {
- yys = yys->yypred;
- YYASSERT (yys);
- }
- yyupdateSplit (yystackp, yys);
- yynewLRState = yyLRgotoState (yys->yylrState, yylhsNonterm (yyrule));
- YYDPRINTF ((stderr,
- "Reduced stack %lu by rule #%d; action deferred. "
- "Now in state %d.\n",
- (unsigned long int) yyk, yyrule - 1, yynewLRState));
- for (yyi = 0; yyi < yystackp->yytops.yysize; yyi += 1)
- if (yyi != yyk && yystackp->yytops.yystates[yyi] != YY_NULL)
- {
- yyGLRState *yysplit = yystackp->yysplitPoint;
- yyGLRState *yyp = yystackp->yytops.yystates[yyi];
- while (yyp != yys && yyp != yysplit && yyp->yyposn >= yyposn)
- {
- if (yyp->yylrState == yynewLRState && yyp->yypred == yys)
- {
- yyaddDeferredAction (yystackp, yyk, yyp, yys0, yyrule);
- yymarkStackDeleted (yystackp, yyk);
- YYDPRINTF ((stderr, "Merging stack %lu into stack %lu.\n",
- (unsigned long int) yyk,
- (unsigned long int) yyi));
- return yyok;
- }
- yyp = yyp->yypred;
- }
- }
- yystackp->yytops.yystates[yyk] = yys;
- yyglrShiftDefer (yystackp, yyk, yynewLRState, yyposn, yys0, yyrule);
- }
- return yyok;
-}
-
-static size_t
-yysplitStack (yyGLRStack* yystackp, size_t yyk)
-{
- if (yystackp->yysplitPoint == YY_NULL)
- {
- YYASSERT (yyk == 0);
- yystackp->yysplitPoint = yystackp->yytops.yystates[yyk];
- }
- if (yystackp->yytops.yysize >= yystackp->yytops.yycapacity)
- {
- yyGLRState** yynewStates;
- yybool* yynewLookaheadNeeds;
-
- yynewStates = YY_NULL;
-
- if (yystackp->yytops.yycapacity
- > (YYSIZEMAX / (2 * sizeof yynewStates[0])))
- yyMemoryExhausted (yystackp);
- yystackp->yytops.yycapacity *= 2;
-
- yynewStates =
- (yyGLRState**) YYREALLOC (yystackp->yytops.yystates,
- (yystackp->yytops.yycapacity
- * sizeof yynewStates[0]));
- if (yynewStates == YY_NULL)
- yyMemoryExhausted (yystackp);
- yystackp->yytops.yystates = yynewStates;
-
- yynewLookaheadNeeds =
- (yybool*) YYREALLOC (yystackp->yytops.yylookaheadNeeds,
- (yystackp->yytops.yycapacity
- * sizeof yynewLookaheadNeeds[0]));
- if (yynewLookaheadNeeds == YY_NULL)
- yyMemoryExhausted (yystackp);
- yystackp->yytops.yylookaheadNeeds = yynewLookaheadNeeds;
- }
- yystackp->yytops.yystates[yystackp->yytops.yysize]
- = yystackp->yytops.yystates[yyk];
- yystackp->yytops.yylookaheadNeeds[yystackp->yytops.yysize]
- = yystackp->yytops.yylookaheadNeeds[yyk];
- yystackp->yytops.yysize += 1;
- return yystackp->yytops.yysize-1;
-}
-
-/** True iff YYY0 and YYY1 represent identical options at the top level.
- * That is, they represent the same rule applied to RHS symbols
- * that produce the same terminal symbols. */
-static yybool
-yyidenticalOptions (yySemanticOption* yyy0, yySemanticOption* yyy1)
-{
- if (yyy0->yyrule == yyy1->yyrule)
- {
- yyGLRState *yys0, *yys1;
- int yyn;
- for (yys0 = yyy0->yystate, yys1 = yyy1->yystate,
- yyn = yyrhsLength (yyy0->yyrule);
- yyn > 0;
- yys0 = yys0->yypred, yys1 = yys1->yypred, yyn -= 1)
- if (yys0->yyposn != yys1->yyposn)
- return yyfalse;
- return yytrue;
- }
- else
- return yyfalse;
-}
-
-/** Assuming identicalOptions (YYY0,YYY1), destructively merge the
- * alternative semantic values for the RHS-symbols of YYY1 and YYY0. */
-static void
-yymergeOptionSets (yySemanticOption* yyy0, yySemanticOption* yyy1)
-{
- yyGLRState *yys0, *yys1;
- int yyn;
- for (yys0 = yyy0->yystate, yys1 = yyy1->yystate,
- yyn = yyrhsLength (yyy0->yyrule);
- yyn > 0;
- yys0 = yys0->yypred, yys1 = yys1->yypred, yyn -= 1)
- {
- if (yys0 == yys1)
- break;
- else if (yys0->yyresolved)
- {
- yys1->yyresolved = yytrue;
- yys1->yysemantics.yysval = yys0->yysemantics.yysval;
- }
- else if (yys1->yyresolved)
- {
- yys0->yyresolved = yytrue;
- yys0->yysemantics.yysval = yys1->yysemantics.yysval;
- }
- else
- {
- yySemanticOption** yyz0p = &yys0->yysemantics.yyfirstVal;
- yySemanticOption* yyz1 = yys1->yysemantics.yyfirstVal;
- while (yytrue)
- {
- if (yyz1 == *yyz0p || yyz1 == YY_NULL)
- break;
- else if (*yyz0p == YY_NULL)
- {
- *yyz0p = yyz1;
- break;
- }
- else if (*yyz0p < yyz1)
- {
- yySemanticOption* yyz = *yyz0p;
- *yyz0p = yyz1;
- yyz1 = yyz1->yynext;
- (*yyz0p)->yynext = yyz;
- }
- yyz0p = &(*yyz0p)->yynext;
- }
- yys1->yysemantics.yyfirstVal = yys0->yysemantics.yyfirstVal;
- }
- }
-}
-
-/** Y0 and Y1 represent two possible actions to take in a given
- * parsing state; return 0 if no combination is possible,
- * 1 if user-mergeable, 2 if Y0 is preferred, 3 if Y1 is preferred. */
-static int
-yypreference (yySemanticOption* y0, yySemanticOption* y1)
-{
- yyRuleNum r0 = y0->yyrule, r1 = y1->yyrule;
- int p0 = yydprec[r0], p1 = yydprec[r1];
-
- if (p0 == p1)
- {
- if (yymerger[r0] == 0 || yymerger[r0] != yymerger[r1])
- return 0;
- else
- return 1;
- }
- if (p0 == 0 || p1 == 0)
- return 0;
- if (p0 < p1)
- return 3;
- if (p1 < p0)
- return 2;
- return 0;
-}
-
-static YYRESULTTAG yyresolveValue (yyGLRState* yys,
- yyGLRStack* yystackp]b4_user_formals[);
-
-
-/** Resolve the previous YYN states starting at and including state YYS
- * on *YYSTACKP. If result != yyok, some states may have been left
- * unresolved possibly with empty semantic option chains. Regardless
- * of whether result = yyok, each state has been left with consistent
- * data so that yydestroyGLRState can be invoked if necessary. */
-static YYRESULTTAG
-yyresolveStates (yyGLRState* yys, int yyn,
- yyGLRStack* yystackp]b4_user_formals[)
-{
- if (0 < yyn)
- {
- YYASSERT (yys->yypred);
- YYCHK (yyresolveStates (yys->yypred, yyn-1, yystackp]b4_user_args[));
- if (! yys->yyresolved)
- YYCHK (yyresolveValue (yys, yystackp]b4_user_args[));
- }
- return yyok;
-}
-
-/** Resolve the states for the RHS of YYOPT on *YYSTACKP, perform its
- * user action, and return the semantic value and location in *YYVALP
- * and *YYLOCP. Regardless of whether result = yyok, all RHS states
- * have been destroyed (assuming the user action destroys all RHS
- * semantic values if invoked). */
-static YYRESULTTAG
-yyresolveAction (yySemanticOption* yyopt, yyGLRStack* yystackp,
- YYSTYPE* yyvalp]b4_locuser_formals[)
-{
- yyGLRStackItem yyrhsVals[YYMAXRHS + YYMAXLEFT + 1];
- int yynrhs = yyrhsLength (yyopt->yyrule);
- YYRESULTTAG yyflag =
- yyresolveStates (yyopt->yystate, yynrhs, yystackp]b4_user_args[);
- if (yyflag != yyok)
- {
- yyGLRState *yys;
- for (yys = yyopt->yystate; yynrhs > 0; yys = yys->yypred, yynrhs -= 1)
- yydestroyGLRState ("Cleanup: popping", yys]b4_user_args[);
- return yyflag;
- }
-
- yyrhsVals[YYMAXRHS + YYMAXLEFT].yystate.yypred = yyopt->yystate;]b4_locations_if([[
- if (yynrhs == 0)
- /* Set default location. */
- yyrhsVals[YYMAXRHS + YYMAXLEFT - 1].yystate.yyloc = yyopt->yystate->yyloc;]])[
- {
- int yychar_current = yychar;
- YYSTYPE yylval_current = yylval;]b4_locations_if([
- YYLTYPE yylloc_current = yylloc;])[
- yychar = yyopt->yyrawchar;
- yylval = yyopt->yyval;]b4_locations_if([
- yylloc = yyopt->yyloc;])[
- yyflag = yyuserAction (yyopt->yyrule, yynrhs,
- yyrhsVals + YYMAXRHS + YYMAXLEFT - 1,
- yystackp, yyvalp]b4_locuser_args[);
- yychar = yychar_current;
- yylval = yylval_current;]b4_locations_if([
- yylloc = yylloc_current;])[
- }
- return yyflag;
-}
-
-#if ]b4_api_PREFIX[DEBUG
-static void
-yyreportTree (yySemanticOption* yyx, int yyindent)
-{
- int yynrhs = yyrhsLength (yyx->yyrule);
- int yyi;
- yyGLRState* yys;
- yyGLRState* yystates[1 + YYMAXRHS];
- yyGLRState yyleftmost_state;
-
- for (yyi = yynrhs, yys = yyx->yystate; 0 < yyi; yyi -= 1, yys = yys->yypred)
- yystates[yyi] = yys;
- if (yys == YY_NULL)
- {
- yyleftmost_state.yyposn = 0;
- yystates[0] = &yyleftmost_state;
- }
- else
- yystates[0] = yys;
-
- if (yyx->yystate->yyposn < yys->yyposn + 1)
- YYFPRINTF (stderr, "%*s%s -> <Rule %d, empty>\n",
- yyindent, "", yytokenName (yylhsNonterm (yyx->yyrule)),
- yyx->yyrule - 1);
- else
- YYFPRINTF (stderr, "%*s%s -> <Rule %d, tokens %lu .. %lu>\n",
- yyindent, "", yytokenName (yylhsNonterm (yyx->yyrule)),
- yyx->yyrule - 1, (unsigned long int) (yys->yyposn + 1),
- (unsigned long int) yyx->yystate->yyposn);
- for (yyi = 1; yyi <= yynrhs; yyi += 1)
- {
- if (yystates[yyi]->yyresolved)
- {
- if (yystates[yyi-1]->yyposn+1 > yystates[yyi]->yyposn)
- YYFPRINTF (stderr, "%*s%s <empty>\n", yyindent+2, "",
- yytokenName (yystos[yystates[yyi]->yylrState]));
- else
- YYFPRINTF (stderr, "%*s%s <tokens %lu .. %lu>\n", yyindent+2, "",
- yytokenName (yystos[yystates[yyi]->yylrState]),
- (unsigned long int) (yystates[yyi-1]->yyposn + 1),
- (unsigned long int) yystates[yyi]->yyposn);
- }
- else
- yyreportTree (yystates[yyi]->yysemantics.yyfirstVal, yyindent+2);
- }
-}
-#endif
-
-static YYRESULTTAG
-yyreportAmbiguity (yySemanticOption* yyx0,
- yySemanticOption* yyx1]b4_pure_formals[)
-{
- YYUSE (yyx0);
- YYUSE (yyx1);
-
-#if ]b4_api_PREFIX[DEBUG
- YYFPRINTF (stderr, "Ambiguity detected.\n");
- YYFPRINTF (stderr, "Option 1,\n");
- yyreportTree (yyx0, 2);
- YYFPRINTF (stderr, "\nOption 2,\n");
- yyreportTree (yyx1, 2);
- YYFPRINTF (stderr, "\n");
-#endif
-
- yyerror (]b4_yyerror_args[YY_("syntax is ambiguous"));
- return yyabort;
-}]b4_locations_if([[
-
-/** Resolve the locations for each of the YYN1 states in *YYSTACKP,
- * ending at YYS1. Has no effect on previously resolved states.
- * The first semantic option of a state is always chosen. */
-static void
-yyresolveLocations (yyGLRState* yys1, int yyn1,
- yyGLRStack *yystackp]b4_user_formals[)
-{
- if (0 < yyn1)
- {
- yyresolveLocations (yys1->yypred, yyn1 - 1, yystackp]b4_user_args[);
- if (!yys1->yyresolved)
- {
- yyGLRStackItem yyrhsloc[1 + YYMAXRHS];
- int yynrhs;
- yySemanticOption *yyoption = yys1->yysemantics.yyfirstVal;
- YYASSERT (yyoption != YY_NULL);
- yynrhs = yyrhsLength (yyoption->yyrule);
- if (yynrhs > 0)
- {
- yyGLRState *yys;
- int yyn;
- yyresolveLocations (yyoption->yystate, yynrhs,
- yystackp]b4_user_args[);
- for (yys = yyoption->yystate, yyn = yynrhs;
- yyn > 0;
- yys = yys->yypred, yyn -= 1)
- yyrhsloc[yyn].yystate.yyloc = yys->yyloc;
- }
- else
- {
- /* Both yyresolveAction and yyresolveLocations traverse the GSS
- in reverse rightmost order. It is only necessary to invoke
- yyresolveLocations on a subforest for which yyresolveAction
- would have been invoked next had an ambiguity not been
- detected. Thus the location of the previous state (but not
- necessarily the previous state itself) is guaranteed to be
- resolved already. */
- yyGLRState *yyprevious = yyoption->yystate;
- yyrhsloc[0].yystate.yyloc = yyprevious->yyloc;
- }
- {
- int yychar_current = yychar;
- YYSTYPE yylval_current = yylval;
- YYLTYPE yylloc_current = yylloc;
- yychar = yyoption->yyrawchar;
- yylval = yyoption->yyval;
- yylloc = yyoption->yyloc;
- YYLLOC_DEFAULT ((yys1->yyloc), yyrhsloc, yynrhs);
- yychar = yychar_current;
- yylval = yylval_current;
- yylloc = yylloc_current;
- }
- }
- }
-}]])[
-
-/** Resolve the ambiguity represented in state YYS in *YYSTACKP,
- * perform the indicated actions, and set the semantic value of YYS.
- * If result != yyok, the chain of semantic options in YYS has been
- * cleared instead or it has been left unmodified except that
- * redundant options may have been removed. Regardless of whether
- * result = yyok, YYS has been left with consistent data so that
- * yydestroyGLRState can be invoked if necessary. */
-static YYRESULTTAG
-yyresolveValue (yyGLRState* yys, yyGLRStack* yystackp]b4_user_formals[)
-{
- yySemanticOption* yyoptionList = yys->yysemantics.yyfirstVal;
- yySemanticOption* yybest = yyoptionList;
- yySemanticOption** yypp;
- yybool yymerge = yyfalse;
- YYSTYPE yysval;
- YYRESULTTAG yyflag;]b4_locations_if([
- YYLTYPE *yylocp = &yys->yyloc;])[
-
- for (yypp = &yyoptionList->yynext; *yypp != YY_NULL; )
- {
- yySemanticOption* yyp = *yypp;
-
- if (yyidenticalOptions (yybest, yyp))
- {
- yymergeOptionSets (yybest, yyp);
- *yypp = yyp->yynext;
- }
- else
- {
- switch (yypreference (yybest, yyp))
- {
- case 0:]b4_locations_if([[
- yyresolveLocations (yys, 1, yystackp]b4_user_args[);]])[
- return yyreportAmbiguity (yybest, yyp]b4_pure_args[);
- break;
- case 1:
- yymerge = yytrue;
- break;
- case 2:
- break;
- case 3:
- yybest = yyp;
- yymerge = yyfalse;
- break;
- default:
- /* This cannot happen so it is not worth a YYASSERT (yyfalse),
- but some compilers complain if the default case is
- omitted. */
- break;
- }
- yypp = &yyp->yynext;
- }
- }
-
- if (yymerge)
- {
- yySemanticOption* yyp;
- int yyprec = yydprec[yybest->yyrule];
- yyflag = yyresolveAction (yybest, yystackp, &yysval]b4_locuser_args[);
- if (yyflag == yyok)
- for (yyp = yybest->yynext; yyp != YY_NULL; yyp = yyp->yynext)
- {
- if (yyprec == yydprec[yyp->yyrule])
- {
- YYSTYPE yysval_other;]b4_locations_if([
- YYLTYPE yydummy;])[
- yyflag = yyresolveAction (yyp, yystackp, &yysval_other]b4_locuser_args([&yydummy])[);
- if (yyflag != yyok)
- {
- yydestruct ("Cleanup: discarding incompletely merged value for",
- yystos[yys->yylrState],
- &yysval]b4_locuser_args[);
- break;
- }
- yyuserMerge (yymerger[yyp->yyrule], &yysval, &yysval_other);
- }
- }
- }
- else
- yyflag = yyresolveAction (yybest, yystackp, &yysval]b4_locuser_args([yylocp])[);
-
- if (yyflag == yyok)
- {
- yys->yyresolved = yytrue;
- yys->yysemantics.yysval = yysval;
- }
- else
- yys->yysemantics.yyfirstVal = YY_NULL;
- return yyflag;
-}
-
-static YYRESULTTAG
-yyresolveStack (yyGLRStack* yystackp]b4_user_formals[)
-{
- if (yystackp->yysplitPoint != YY_NULL)
- {
- yyGLRState* yys;
- int yyn;
-
- for (yyn = 0, yys = yystackp->yytops.yystates[0];
- yys != yystackp->yysplitPoint;
- yys = yys->yypred, yyn += 1)
- continue;
- YYCHK (yyresolveStates (yystackp->yytops.yystates[0], yyn, yystackp
- ]b4_user_args[));
- }
- return yyok;
-}
-
-static void
-yycompressStack (yyGLRStack* yystackp)
-{
- yyGLRState* yyp, *yyq, *yyr;
-
- if (yystackp->yytops.yysize != 1 || yystackp->yysplitPoint == YY_NULL)
- return;
-
- for (yyp = yystackp->yytops.yystates[0], yyq = yyp->yypred, yyr = YY_NULL;
- yyp != yystackp->yysplitPoint;
- yyr = yyp, yyp = yyq, yyq = yyp->yypred)
- yyp->yypred = yyr;
-
- yystackp->yyspaceLeft += yystackp->yynextFree - yystackp->yyitems;
- yystackp->yynextFree = ((yyGLRStackItem*) yystackp->yysplitPoint) + 1;
- yystackp->yyspaceLeft -= yystackp->yynextFree - yystackp->yyitems;
- yystackp->yysplitPoint = YY_NULL;
- yystackp->yylastDeleted = YY_NULL;
-
- while (yyr != YY_NULL)
- {
- yystackp->yynextFree->yystate = *yyr;
- yyr = yyr->yypred;
- yystackp->yynextFree->yystate.yypred = &yystackp->yynextFree[-1].yystate;
- yystackp->yytops.yystates[0] = &yystackp->yynextFree->yystate;
- yystackp->yynextFree += 1;
- yystackp->yyspaceLeft -= 1;
- }
-}
-
-static YYRESULTTAG
-yyprocessOneStack (yyGLRStack* yystackp, size_t yyk,
- size_t yyposn]b4_pure_formals[)
-{
- while (yystackp->yytops.yystates[yyk] != YY_NULL)
- {
- yyStateNum yystate = yystackp->yytops.yystates[yyk]->yylrState;
- YYDPRINTF ((stderr, "Stack %lu Entering state %d\n",
- (unsigned long int) yyk, yystate));
-
- YYASSERT (yystate != YYFINAL);
-
- if (yyisDefaultedState (yystate))
- {
- YYRESULTTAG yyflag;
- yyRuleNum yyrule = yydefaultAction (yystate);
- if (yyrule == 0)
- {
- YYDPRINTF ((stderr, "Stack %lu dies.\n",
- (unsigned long int) yyk));
- yymarkStackDeleted (yystackp, yyk);
- return yyok;
- }
- yyflag = yyglrReduce (yystackp, yyk, yyrule, yyimmediate[yyrule]]b4_user_args[);
- if (yyflag == yyerr)
- {
- YYDPRINTF ((stderr,
- "Stack %lu dies "
- "(predicate failure or explicit user error).\n",
- (unsigned long int) yyk));
- yymarkStackDeleted (yystackp, yyk);
- return yyok;
- }
- if (yyflag != yyok)
- return yyflag;
- }
- else
- {
- yySymbol yytoken;
- int yyaction;
- const short int* yyconflicts;
-
- yystackp->yytops.yylookaheadNeeds[yyk] = yytrue;
- if (yychar == YYEMPTY)
- {
- YYDPRINTF ((stderr, "Reading a token: "));
- yychar = ]b4_lex[;
- }
-
- if (yychar <= YYEOF)
- {
- yychar = yytoken = YYEOF;
- YYDPRINTF ((stderr, "Now at end of input.\n"));
- }
- else
- {
- yytoken = YYTRANSLATE (yychar);
- YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
- }
-
- yygetLRActions (yystate, yytoken, &yyaction, &yyconflicts);
-
- while (*yyconflicts != 0)
- {
- YYRESULTTAG yyflag;
- size_t yynewStack = yysplitStack (yystackp, yyk);
- YYDPRINTF ((stderr, "Splitting off stack %lu from %lu.\n",
- (unsigned long int) yynewStack,
- (unsigned long int) yyk));
- yyflag = yyglrReduce (yystackp, yynewStack,
- *yyconflicts,
- yyimmediate[*yyconflicts]]b4_user_args[);
- if (yyflag == yyok)
- YYCHK (yyprocessOneStack (yystackp, yynewStack,
- yyposn]b4_pure_args[));
- else if (yyflag == yyerr)
- {
- YYDPRINTF ((stderr, "Stack %lu dies.\n",
- (unsigned long int) yynewStack));
- yymarkStackDeleted (yystackp, yynewStack);
- }
- else
- return yyflag;
- yyconflicts += 1;
- }
-
- if (yyisShiftAction (yyaction))
- break;
- else if (yyisErrorAction (yyaction))
- {
- YYDPRINTF ((stderr, "Stack %lu dies.\n",
- (unsigned long int) yyk));
- yymarkStackDeleted (yystackp, yyk);
- break;
- }
- else
- {
- YYRESULTTAG yyflag = yyglrReduce (yystackp, yyk, -yyaction,
- yyimmediate[-yyaction]]b4_user_args[);
- if (yyflag == yyerr)
- {
- YYDPRINTF ((stderr,
- "Stack %lu dies "
- "(predicate failure or explicit user error).\n",
- (unsigned long int) yyk));
- yymarkStackDeleted (yystackp, yyk);
- break;
- }
- else if (yyflag != yyok)
- return yyflag;
- }
- }
- }
- return yyok;
-}
-
-static void
-yyreportSyntaxError (yyGLRStack* yystackp]b4_user_formals[)
-{
- if (yystackp->yyerrState != 0)
- return;
-#if ! YYERROR_VERBOSE
- yyerror (]b4_lyyerror_args[YY_("syntax error"));
-#else
- {
- yySymbol yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
- size_t yysize0 = yytnamerr (YY_NULL, yytokenName (yytoken));
- size_t yysize = yysize0;
- yybool yysize_overflow = yyfalse;
- char* yymsg = YY_NULL;
- enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
- /* Internationalized format string. */
- const char *yyformat = YY_NULL;
- /* Arguments of yyformat. */
- char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
- /* Number of reported tokens (one for the "unexpected", one per
- "expected"). */
- int yycount = 0;
-
- /* There are many possibilities here to consider:
- - If this state is a consistent state with a default action, then
- the only way this function was invoked is if the default action
- is an error action. In that case, don't check for expected
- tokens because there are none.
- - The only way there can be no lookahead present (in yychar) is if
- this state is a consistent state with a default action. Thus,
- detecting the absence of a lookahead is sufficient to determine
- that there is no unexpected or expected token to report. In that
- case, just report a simple "syntax error".
- - Don't assume there isn't a lookahead just because this state is a
- consistent state with a default action. There might have been a
- previous inconsistent state, consistent state with a non-default
- action, or user semantic action that manipulated yychar.
- - Of course, the expected token list depends on states to have
- correct lookahead information, and it depends on the parser not
- to perform extra reductions after fetching a lookahead from the
- scanner and before detecting a syntax error. Thus, state merging
- (from LALR or IELR) and default reductions corrupt the expected
- token list. However, the list is correct for canonical LR with
- one exception: it will still contain any token that will not be
- accepted due to an error action in a later state.
- */
- if (yytoken != YYEMPTY)
- {
- int yyn = yypact[yystackp->yytops.yystates[0]->yylrState];
- yyarg[yycount++] = yytokenName (yytoken);
- if (!yypact_value_is_default (yyn))
- {
- /* Start YYX at -YYN if negative to avoid negative indexes in
- YYCHECK. In other words, skip the first -YYN actions for this
- state because they are default actions. */
- int yyxbegin = yyn < 0 ? -yyn : 0;
- /* Stay within bounds of both yycheck and yytname. */
- int yychecklim = YYLAST - yyn + 1;
- int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
- int yyx;
- for (yyx = yyxbegin; yyx < yyxend; ++yyx)
- if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
- && !yytable_value_is_error (yytable[yyx + yyn]))
- {
- if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
- {
- yycount = 1;
- yysize = yysize0;
- break;
- }
- yyarg[yycount++] = yytokenName (yyx);
- {
- size_t yysz = yysize + yytnamerr (YY_NULL, yytokenName (yyx));
- yysize_overflow |= yysz < yysize;
- yysize = yysz;
- }
- }
- }
- }
-
- switch (yycount)
- {
-#define YYCASE_(N, S) \
- case N: \
- yyformat = S; \
- break
- YYCASE_(0, YY_("syntax error"));
- YYCASE_(1, YY_("syntax error, unexpected %s"));
- YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
- YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
- YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
- YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
-#undef YYCASE_
- }
-
- {
- size_t yysz = yysize + strlen (yyformat);
- yysize_overflow |= yysz < yysize;
- yysize = yysz;
- }
-
- if (!yysize_overflow)
- yymsg = (char *) YYMALLOC (yysize);
-
- if (yymsg)
- {
- char *yyp = yymsg;
- int yyi = 0;
- while ((*yyp = *yyformat))
- {
- if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
- {
- yyp += yytnamerr (yyp, yyarg[yyi++]);
- yyformat += 2;
- }
- else
- {
- yyp++;
- yyformat++;
- }
- }
- yyerror (]b4_lyyerror_args[yymsg);
- YYFREE (yymsg);
- }
- else
- {
- yyerror (]b4_lyyerror_args[YY_("syntax error"));
- yyMemoryExhausted (yystackp);
- }
- }
-#endif /* YYERROR_VERBOSE */
- yynerrs += 1;
-}
-
-/* Recover from a syntax error on *YYSTACKP, assuming that *YYSTACKP->YYTOKENP,
- yylval, and yylloc are the syntactic category, semantic value, and location
- of the lookahead. */
-static void
-yyrecoverSyntaxError (yyGLRStack* yystackp]b4_user_formals[)
-{
- size_t yyk;
- int yyj;
-
- if (yystackp->yyerrState == 3)
- /* We just shifted the error token and (perhaps) took some
- reductions. Skip tokens until we can proceed. */
- while (yytrue)
- {
- yySymbol yytoken;
- if (yychar == YYEOF)
- yyFail (yystackp][]b4_lpure_args[, YY_NULL);
- if (yychar != YYEMPTY)
- {]b4_locations_if([[
- /* We throw away the lookahead, but the error range
- of the shifted error token must take it into account. */
- yyGLRState *yys = yystackp->yytops.yystates[0];
- yyGLRStackItem yyerror_range[3];
- yyerror_range[1].yystate.yyloc = yys->yyloc;
- yyerror_range[2].yystate.yyloc = yylloc;
- YYLLOC_DEFAULT ((yys->yyloc), yyerror_range, 2);]])[
- yytoken = YYTRANSLATE (yychar);
- yydestruct ("Error: discarding",
- yytoken, &yylval]b4_locuser_args([&yylloc])[);
- }
- YYDPRINTF ((stderr, "Reading a token: "));
- yychar = ]b4_lex[;
- if (yychar <= YYEOF)
- {
- yychar = yytoken = YYEOF;
- YYDPRINTF ((stderr, "Now at end of input.\n"));
- }
- else
- {
- yytoken = YYTRANSLATE (yychar);
- YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
- }
- yyj = yypact[yystackp->yytops.yystates[0]->yylrState];
- if (yypact_value_is_default (yyj))
- return;
- yyj += yytoken;
- if (yyj < 0 || YYLAST < yyj || yycheck[yyj] != yytoken)
- {
- if (yydefact[yystackp->yytops.yystates[0]->yylrState] != 0)
- return;
- }
- else if (! yytable_value_is_error (yytable[yyj]))
- return;
- }
-
- /* Reduce to one stack. */
- for (yyk = 0; yyk < yystackp->yytops.yysize; yyk += 1)
- if (yystackp->yytops.yystates[yyk] != YY_NULL)
- break;
- if (yyk >= yystackp->yytops.yysize)
- yyFail (yystackp][]b4_lpure_args[, YY_NULL);
- for (yyk += 1; yyk < yystackp->yytops.yysize; yyk += 1)
- yymarkStackDeleted (yystackp, yyk);
- yyremoveDeletes (yystackp);
- yycompressStack (yystackp);
-
- /* Now pop stack until we find a state that shifts the error token. */
- yystackp->yyerrState = 3;
- while (yystackp->yytops.yystates[0] != YY_NULL)
- {
- yyGLRState *yys = yystackp->yytops.yystates[0];
- yyj = yypact[yys->yylrState];
- if (! yypact_value_is_default (yyj))
- {
- yyj += YYTERROR;
- if (0 <= yyj && yyj <= YYLAST && yycheck[yyj] == YYTERROR
- && yyisShiftAction (yytable[yyj]))
- {
- /* Shift the error token. */]b4_locations_if([[
- /* First adjust its location.*/
- YYLTYPE yyerrloc;
- yystackp->yyerror_range[2].yystate.yyloc = yylloc;
- YYLLOC_DEFAULT (yyerrloc, (yystackp->yyerror_range), 2);]])[
- YY_SYMBOL_PRINT ("Shifting", yystos[yytable[yyj]],
- &yylval, &yyerrloc);
- yyglrShift (yystackp, 0, yytable[yyj],
- yys->yyposn, &yylval]b4_locations_if([, &yyerrloc])[);
- yys = yystackp->yytops.yystates[0];
- break;
- }
- }]b4_locations_if([[
- yystackp->yyerror_range[1].yystate.yyloc = yys->yyloc;]])[
- if (yys->yypred != YY_NULL)
- yydestroyGLRState ("Error: popping", yys]b4_user_args[);
- yystackp->yytops.yystates[0] = yys->yypred;
- yystackp->yynextFree -= 1;
- yystackp->yyspaceLeft += 1;
- }
- if (yystackp->yytops.yystates[0] == YY_NULL)
- yyFail (yystackp][]b4_lpure_args[, YY_NULL);
-}
-
-#define YYCHK1(YYE) \
- do { \
- switch (YYE) { \
- case yyok: \
- break; \
- case yyabort: \
- goto yyabortlab; \
- case yyaccept: \
- goto yyacceptlab; \
- case yyerr: \
- goto yyuser_error; \
- default: \
- goto yybuglab; \
- } \
- } while (0)
-
-/*----------.
-| yyparse. |
-`----------*/
-
-]b4_function_define([yyparse], [int], b4_parse_param)[
-{
- int yyresult;
- yyGLRStack yystack;
- yyGLRStack* const yystackp = &yystack;
- size_t yyposn;
-
- YYDPRINTF ((stderr, "Starting parse\n"));
-
- yychar = YYEMPTY;
- yylval = yyval_default;]b4_locations_if([
- yylloc = yyloc_default;])[
-]m4_ifdef([b4_initial_action], [
-b4_dollar_pushdef([yylval], [], [yylloc])dnl
- /* User initialization code. */
- b4_user_initial_action
-b4_dollar_popdef])[]dnl
-[
- if (! yyinitGLRStack (yystackp, YYINITDEPTH))
- goto yyexhaustedlab;
- switch (YYSETJMP (yystack.yyexception_buffer))
- {
- case 0: break;
- case 1: goto yyabortlab;
- case 2: goto yyexhaustedlab;
- default: goto yybuglab;
- }
- yyglrShift (&yystack, 0, 0, 0, &yylval]b4_locations_if([, &yylloc])[);
- yyposn = 0;
-
- while (yytrue)
- {
- /* For efficiency, we have two loops, the first of which is
- specialized to deterministic operation (single stack, no
- potential ambiguity). */
- /* Standard mode */
- while (yytrue)
- {
- yyRuleNum yyrule;
- int yyaction;
- const short int* yyconflicts;
-
- yyStateNum yystate = yystack.yytops.yystates[0]->yylrState;
- YYDPRINTF ((stderr, "Entering state %d\n", yystate));
- if (yystate == YYFINAL)
- goto yyacceptlab;
- if (yyisDefaultedState (yystate))
- {
- yyrule = yydefaultAction (yystate);
- if (yyrule == 0)
- {
-]b4_locations_if([[ yystack.yyerror_range[1].yystate.yyloc = yylloc;]])[
- yyreportSyntaxError (&yystack]b4_user_args[);
- goto yyuser_error;
- }
- YYCHK1 (yyglrReduce (&yystack, 0, yyrule, yytrue]b4_user_args[));
- }
- else
- {
- yySymbol yytoken;
- if (yychar == YYEMPTY)
- {
- YYDPRINTF ((stderr, "Reading a token: "));
- yychar = ]b4_lex[;
- }
-
- if (yychar <= YYEOF)
- {
- yychar = yytoken = YYEOF;
- YYDPRINTF ((stderr, "Now at end of input.\n"));
- }
- else
- {
- yytoken = YYTRANSLATE (yychar);
- YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
- }
-
- yygetLRActions (yystate, yytoken, &yyaction, &yyconflicts);
- if (*yyconflicts != 0)
- break;
- if (yyisShiftAction (yyaction))
- {
- YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
- yychar = YYEMPTY;
- yyposn += 1;
- yyglrShift (&yystack, 0, yyaction, yyposn, &yylval]b4_locations_if([, &yylloc])[);
- if (0 < yystack.yyerrState)
- yystack.yyerrState -= 1;
- }
- else if (yyisErrorAction (yyaction))
- {
-]b4_locations_if([[ yystack.yyerror_range[1].yystate.yyloc = yylloc;]])[
- yyreportSyntaxError (&yystack]b4_user_args[);
- goto yyuser_error;
- }
- else
- YYCHK1 (yyglrReduce (&yystack, 0, -yyaction, yytrue]b4_user_args[));
- }
- }
-
- while (yytrue)
- {
- yySymbol yytoken_to_shift;
- size_t yys;
-
- for (yys = 0; yys < yystack.yytops.yysize; yys += 1)
- yystackp->yytops.yylookaheadNeeds[yys] = yychar != YYEMPTY;
-
- /* yyprocessOneStack returns one of three things:
-
- - An error flag. If the caller is yyprocessOneStack, it
- immediately returns as well. When the caller is finally
- yyparse, it jumps to an error label via YYCHK1.
-
- - yyok, but yyprocessOneStack has invoked yymarkStackDeleted
- (&yystack, yys), which sets the top state of yys to NULL. Thus,
- yyparse's following invocation of yyremoveDeletes will remove
- the stack.
-
- - yyok, when ready to shift a token.
-
- Except in the first case, yyparse will invoke yyremoveDeletes and
- then shift the next token onto all remaining stacks. This
- synchronization of the shift (that is, after all preceding
- reductions on all stacks) helps prevent double destructor calls
- on yylval in the event of memory exhaustion. */
-
- for (yys = 0; yys < yystack.yytops.yysize; yys += 1)
- YYCHK1 (yyprocessOneStack (&yystack, yys, yyposn]b4_lpure_args[));
- yyremoveDeletes (&yystack);
- if (yystack.yytops.yysize == 0)
- {
- yyundeleteLastStack (&yystack);
- if (yystack.yytops.yysize == 0)
- yyFail (&yystack][]b4_lpure_args[, YY_("syntax error"));
- YYCHK1 (yyresolveStack (&yystack]b4_user_args[));
- YYDPRINTF ((stderr, "Returning to deterministic operation.\n"));
-]b4_locations_if([[ yystack.yyerror_range[1].yystate.yyloc = yylloc;]])[
- yyreportSyntaxError (&yystack]b4_user_args[);
- goto yyuser_error;
- }
-
- /* If any yyglrShift call fails, it will fail after shifting. Thus,
- a copy of yylval will already be on stack 0 in the event of a
- failure in the following loop. Thus, yychar is set to YYEMPTY
- before the loop to make sure the user destructor for yylval isn't
- called twice. */
- yytoken_to_shift = YYTRANSLATE (yychar);
- yychar = YYEMPTY;
- yyposn += 1;
- for (yys = 0; yys < yystack.yytops.yysize; yys += 1)
- {
- int yyaction;
- const short int* yyconflicts;
- yyStateNum yystate = yystack.yytops.yystates[yys]->yylrState;
- yygetLRActions (yystate, yytoken_to_shift, &yyaction,
- &yyconflicts);
- /* Note that yyconflicts were handled by yyprocessOneStack. */
- YYDPRINTF ((stderr, "On stack %lu, ", (unsigned long int) yys));
- YY_SYMBOL_PRINT ("shifting", yytoken_to_shift, &yylval, &yylloc);
- yyglrShift (&yystack, yys, yyaction, yyposn,
- &yylval]b4_locations_if([, &yylloc])[);
- YYDPRINTF ((stderr, "Stack %lu now in state #%d\n",
- (unsigned long int) yys,
- yystack.yytops.yystates[yys]->yylrState));
- }
-
- if (yystack.yytops.yysize == 1)
- {
- YYCHK1 (yyresolveStack (&yystack]b4_user_args[));
- YYDPRINTF ((stderr, "Returning to deterministic operation.\n"));
- yycompressStack (&yystack);
- break;
- }
- }
- continue;
- yyuser_error:
- yyrecoverSyntaxError (&yystack]b4_user_args[);
- yyposn = yystack.yytops.yystates[0]->yyposn;
- }
-
- yyacceptlab:
- yyresult = 0;
- goto yyreturn;
-
- yybuglab:
- YYASSERT (yyfalse);
- goto yyabortlab;
-
- yyabortlab:
- yyresult = 1;
- goto yyreturn;
-
- yyexhaustedlab:
- yyerror (]b4_lyyerror_args[YY_("memory exhausted"));
- yyresult = 2;
- goto yyreturn;
-
- yyreturn:
- if (yychar != YYEMPTY)
- yydestruct ("Cleanup: discarding lookahead",
- YYTRANSLATE (yychar), &yylval]b4_locuser_args([&yylloc])[);
-
- /* If the stack is well-formed, pop the stack until it is empty,
- destroying its entries as we go. But free the stack regardless
- of whether it is well-formed. */
- if (yystack.yyitems)
- {
- yyGLRState** yystates = yystack.yytops.yystates;
- if (yystates)
- {
- size_t yysize = yystack.yytops.yysize;
- size_t yyk;
- for (yyk = 0; yyk < yysize; yyk += 1)
- if (yystates[yyk])
- {
- while (yystates[yyk])
- {
- yyGLRState *yys = yystates[yyk];
-]b4_locations_if([[ yystack.yyerror_range[1].yystate.yyloc = yys->yyloc;]]
-)[ if (yys->yypred != YY_NULL)
- yydestroyGLRState ("Cleanup: popping", yys]b4_user_args[);
- yystates[yyk] = yys->yypred;
- yystack.yynextFree -= 1;
- yystack.yyspaceLeft += 1;
- }
- break;
- }
- }
- yyfreeGLRStack (&yystack);
- }
-
- return yyresult;
-}
-
-/* DEBUGGING ONLY */
-#if ]b4_api_PREFIX[DEBUG
-static void
-yy_yypstack (yyGLRState* yys)
-{
- if (yys->yypred)
- {
- yy_yypstack (yys->yypred);
- YYFPRINTF (stderr, " -> ");
- }
- YYFPRINTF (stderr, "%d@@%lu", yys->yylrState,
- (unsigned long int) yys->yyposn);
-}
-
-static void
-yypstates (yyGLRState* yyst)
-{
- if (yyst == YY_NULL)
- YYFPRINTF (stderr, "<null>");
- else
- yy_yypstack (yyst);
- YYFPRINTF (stderr, "\n");
-}
-
-static void
-yypstack (yyGLRStack* yystackp, size_t yyk)
-{
- yypstates (yystackp->yytops.yystates[yyk]);
-}
-
-#define YYINDEX(YYX) \
- ((YYX) == YY_NULL ? -1 : (yyGLRStackItem*) (YYX) - yystackp->yyitems)
-
-
-static void
-yypdumpstack (yyGLRStack* yystackp)
-{
- yyGLRStackItem* yyp;
- size_t yyi;
- for (yyp = yystackp->yyitems; yyp < yystackp->yynextFree; yyp += 1)
- {
- YYFPRINTF (stderr, "%3lu. ",
- (unsigned long int) (yyp - yystackp->yyitems));
- if (*(yybool *) yyp)
- {
- YYFPRINTF (stderr, "Res: %d, LR State: %d, posn: %lu, pred: %ld",
- yyp->yystate.yyresolved, yyp->yystate.yylrState,
- (unsigned long int) yyp->yystate.yyposn,
- (long int) YYINDEX (yyp->yystate.yypred));
- if (! yyp->yystate.yyresolved)
- YYFPRINTF (stderr, ", firstVal: %ld",
- (long int) YYINDEX (yyp->yystate
- .yysemantics.yyfirstVal));
- }
- else
- {
- YYFPRINTF (stderr, "Option. rule: %d, state: %ld, next: %ld",
- yyp->yyoption.yyrule - 1,
- (long int) YYINDEX (yyp->yyoption.yystate),
- (long int) YYINDEX (yyp->yyoption.yynext));
- }
- YYFPRINTF (stderr, "\n");
- }
- YYFPRINTF (stderr, "Tops:");
- for (yyi = 0; yyi < yystackp->yytops.yysize; yyi += 1)
- YYFPRINTF (stderr, "%lu: %ld; ", (unsigned long int) yyi,
- (long int) YYINDEX (yystackp->yytops.yystates[yyi]));
- YYFPRINTF (stderr, "\n");
-}
-#endif
-
-#undef yylval
-#undef yychar
-#undef yynerrs]b4_locations_if([
-#undef yylloc])
-
-m4_if(b4_prefix, [yy], [],
-[[/* Substitute the variable and function names. */
-#define yyparse ]b4_prefix[parse
-#define yylex ]b4_prefix[lex
-#define yyerror ]b4_prefix[error
-#define yylval ]b4_prefix[lval
-#define yychar ]b4_prefix[char
-#define yydebug ]b4_prefix[debug
-#define yynerrs ]b4_prefix[nerrs]b4_locations_if([[
-#define yylloc ]b4_prefix[lloc]])])[
-
-]b4_epilogue[]dnl
-b4_output_end()
-
-# glr.cc produces its own header.
-m4_if(b4_skeleton, ["glr.c"],
-[b4_defines_if(
-[b4_output_begin([b4_spec_defines_file])
-b4_copyright([Skeleton interface for Bison GLR parsers in C],
- [2002-2013])[
-
-]b4_cpp_guard_open([b4_spec_defines_file])[
-]b4_shared_declarations[
-]b4_cpp_guard_close([b4_spec_defines_file])[
-]b4_output_end()
-])])
diff --git a/gnuwin32/bin/data/glr.cc b/gnuwin32/bin/data/glr.cc
deleted file mode 100644
index e57308bd..00000000
--- a/gnuwin32/bin/data/glr.cc
+++ /dev/null
@@ -1,345 +0,0 @@
-# C++ GLR skeleton for Bison
-
-# Copyright (C) 2002-2013 Free Software Foundation, Inc.
-
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-
-# This skeleton produces a C++ class that encapsulates a C glr parser.
-# This is in order to reduce the maintenance burden. The glr.c
-# skeleton is clean and pure enough so that there are no real
-# problems. The C++ interface is the same as that of lalr1.cc. In
-# fact, glr.c can replace yacc.c without the user noticing any
-# difference, and similarly for glr.cc replacing lalr1.cc.
-#
-# The passing of parse-params
-#
-# The additional arguments are stored as members of the parser
-# object, yyparser. The C routines need to carry yyparser
-# throughout the C parser; that's easy: make yyparser an
-# additional parse-param. But because the C++ skeleton needs to
-# know the "real" original parse-param, we save them
-# (b4_parse_param_orig). Note that b4_parse_param is overquoted
-# (and c.m4 strips one level of quotes). This is a PITA, and
-# explains why there are so many levels of quotes.
-#
-# The locations
-#
-# We use location.cc just like lalr1.cc, but because glr.c stores
-# the locations in a union, the position and location classes
-# must not have a constructor. Therefore, contrary to lalr1.cc, we
-# must not define "b4_location_constructors". As a consequence the
-# user must initialize the first positions (in particular the
-# filename member).
-
-# We require a pure interface.
-m4_define([b4_pure_flag], [1])
-
-m4_include(b4_pkgdatadir/[c++.m4])
-b4_bison_locations_if([m4_include(b4_pkgdatadir/[location.cc])])
-
-m4_define([b4_parser_class_name],
- [b4_percent_define_get([[parser_class_name]])])
-
-# Save the parse parameters.
-m4_define([b4_parse_param_orig], m4_defn([b4_parse_param]))
-
-# b4_parse_param_wrap
-# -------------------
-# New ones.
-m4_ifset([b4_parse_param],
-[m4_define([b4_parse_param_wrap],
- [[b4_namespace_ref::b4_parser_class_name[& yyparser], [[yyparser]]],]
-m4_defn([b4_parse_param]))],
-[m4_define([b4_parse_param_wrap],
- [[b4_namespace_ref::b4_parser_class_name[& yyparser], [[yyparser]]]])
-])
-
-
-# b4_yy_symbol_print_define
-# -------------------------
-# Bypass the default implementation to generate the "yy_symbol_print"
-# and "yy_symbol_value_print" functions.
-m4_define([b4_yy_symbol_print_define],
-[[
-/*--------------------.
-| Print this symbol. |
-`--------------------*/
-
-]b4_function_define([yy_symbol_print],
- [static void],
- [[FILE *], []],
- [[int yytype], [yytype]],
- [[const ]b4_namespace_ref::b4_parser_class_name[::semantic_type *yyvaluep],
- [yyvaluep]][]dnl
-b4_locations_if([,
- [[const ]b4_namespace_ref::b4_parser_class_name[::location_type *yylocationp],
- [yylocationp]]]),
- b4_parse_param)[
-{
-]b4_parse_param_use[]dnl
-[ yyparser.yy_symbol_print_ (yytype, yyvaluep]b4_locations_if([, yylocationp])[);
-}
-]])[
-
-# Hijack the initial action to initialize the locations.
-]b4_bison_locations_if([m4_define([b4_initial_action],
-[yylloc.initialize ();]m4_ifdef([b4_initial_action], [
-m4_defn([b4_initial_action])]))])[
-
-# Hijack the post prologue to insert early definition of YYLLOC_DEFAULT
-# and declaration of yyerror.
-]m4_append([b4_post_prologue],
-[b4_syncline([@oline@], [@ofile@])[
-]b4_yylloc_default_define[
-#define YYRHSLOC(Rhs, K) ((Rhs)[K].yystate.yyloc)
-]b4_function_declare([yyerror],
- [static void],b4_locations_if([
- [[const ]b4_namespace_ref::b4_parser_class_name[::location_type *yylocationp],
- [yylocationp]],])
- b4_parse_param,
- [[const char* msg], [msg]])])
-
-
-#undef yynerrs
-#undef yychar
-#undef yylval]b4_locations_if([
-#undef yylloc])
-
-m4_if(b4_prefix, [yy], [],
-[[/* Substitute the variable and function names. */
-#define yyparse ]b4_prefix[parse
-#define yylex ]b4_prefix[lex
-#define yyerror ]b4_prefix[error
-#define yydebug ]b4_prefix[debug
-]]b4_pure_if([], [[
-#define yylval ]b4_prefix[lval
-#define yychar ]b4_prefix[char
-#define yynerrs ]b4_prefix[nerrs]b4_locations_if([[
-#define yylloc ]b4_prefix[lloc]])]))
-
-# Hijack the epilogue to define implementations (yyerror, parser member
-# functions etc.).
-m4_append([b4_epilogue],
-[b4_syncline([@oline@], [@ofile@])[
-
-/*------------------.
-| Report an error. |
-`------------------*/
-
-]b4_function_define([yyerror],
- [static void],b4_locations_if([
- [[const ]b4_namespace_ref::b4_parser_class_name[::location_type *yylocationp],
- [yylocationp]],])
- b4_parse_param,
- [[const char* msg], [msg]])[
-{
-]b4_parse_param_use[]dnl
-[ yyparser.error (]b4_locations_if([[*yylocationp, ]])[msg);
-}
-
-
-]b4_namespace_open[
-]dnl In this section, the parse params are the original parse_params.
-m4_pushdef([b4_parse_param], m4_defn([b4_parse_param_orig]))dnl
-[ /// Build a parser object.
- ]b4_parser_class_name::b4_parser_class_name[ (]b4_parse_param_decl[)]m4_ifset([b4_parse_param], [
- :])[
-#if ]b4_api_PREFIX[DEBUG
- ]m4_ifset([b4_parse_param], [ ], [ :])[yycdebug_ (&std::cerr)]m4_ifset([b4_parse_param], [,])[
-#endif]b4_parse_param_cons[
- {
- }
-
- ]b4_parser_class_name::~b4_parser_class_name[ ()
- {
- }
-
- int
- ]b4_parser_class_name[::parse ()
- {
- return ::yyparse (*this]b4_user_args[);
- }
-
-#if ]b4_api_PREFIX[DEBUG
- /*--------------------.
- | Print this symbol. |
- `--------------------*/
-
- inline void
- ]b4_parser_class_name[::yy_symbol_value_print_ (int yytype,
- const semantic_type* yyvaluep]b4_locations_if([[,
- const location_type* yylocationp]])[)
- {]b4_locations_if([[
- YYUSE (yylocationp);]])[
- YYUSE (yyvaluep);
- std::ostream& yyoutput = debug_stream ();
- std::ostream& yyo = yyoutput;
- YYUSE (yyo);
- ]b4_symbol_actions([printer])[
- }
-
-
- void
- ]b4_parser_class_name[::yy_symbol_print_ (int yytype,
- const semantic_type* yyvaluep]b4_locations_if([[,
- const location_type* yylocationp]])[)
- {
- *yycdebug_ << (yytype < YYNTOKENS ? "token" : "nterm")
- << ' ' << yytname[yytype] << " ("]b4_locations_if([[
- << *yylocationp << ": "]])[;
- yy_symbol_value_print_ (yytype, yyvaluep]b4_locations_if([[, yylocationp]])[);
- *yycdebug_ << ')';
- }
-
- std::ostream&
- ]b4_parser_class_name[::debug_stream () const
- {
- return *yycdebug_;
- }
-
- void
- ]b4_parser_class_name[::set_debug_stream (std::ostream& o)
- {
- yycdebug_ = &o;
- }
-
-
- ]b4_parser_class_name[::debug_level_type
- ]b4_parser_class_name[::debug_level () const
- {
- return yydebug;
- }
-
- void
- ]b4_parser_class_name[::set_debug_level (debug_level_type l)
- {
- // Actually, it is yydebug which is really used.
- yydebug = l;
- }
-
-#endif
-]m4_popdef([b4_parse_param])dnl
-b4_namespace_close
-])
-
-# b4_shared_declarations
-# ----------------------
-# Declaration that might either go into the header (if --defines)
-# or open coded in the parser body.
-m4_define([b4_shared_declarations],
-[m4_pushdef([b4_parse_param], m4_defn([b4_parse_param_orig]))dnl
-b4_percent_code_get([[requires]])[
-
-#include <stdexcept>
-#include <string>
-#include <iostream>]b4_defines_if([
-b4_bison_locations_if([[#include "location.hh"]])])[
-
-]b4_YYDEBUG_define[
-
-]b4_namespace_open[
-]b4_defines_if([],
-[b4_bison_locations_if([b4_position_define
-b4_location_define])])[
-
- /// A Bison parser.
- class ]b4_parser_class_name[
- {
- public:
-]b4_public_types_declare[
-
- /// Build a parser object.
- ]b4_parser_class_name[ (]b4_parse_param_decl[);
- virtual ~]b4_parser_class_name[ ();
-
- /// Parse.
- /// \returns 0 iff parsing succeeded.
- virtual int parse ();
-
- /// The current debugging stream.
- std::ostream& debug_stream () const;
- /// Set the current debugging stream.
- void set_debug_stream (std::ostream &);
-
- /// Type for debugging levels.
- typedef int debug_level_type;
- /// The current debugging level.
- debug_level_type debug_level () const;
- /// Set the current debugging level.
- void set_debug_level (debug_level_type l);
-
- public:
- /// Report a syntax error.]b4_locations_if([[
- /// \param loc where the syntax error is found.]])[
- /// \param msg a description of the syntax error.
- virtual void error (]b4_locations_if([[const location_type& loc, ]])[const std::string& msg);
-
-# if ]b4_api_PREFIX[DEBUG
- public:
- /// \brief Report a symbol value on the debug stream.
- /// \param yytype The token type.
- /// \param yyvaluep Its semantic value.]b4_locations_if([[
- /// \param yylocationp Its location.]])[
- virtual void yy_symbol_value_print_ (int yytype,
- const semantic_type* yyvaluep]b4_locations_if([[,
- const location_type* yylocationp]])[);
- /// \brief Report a symbol on the debug stream.
- /// \param yytype The token type.
- /// \param yyvaluep Its semantic value.]b4_locations_if([[
- /// \param yylocationp Its location.]])[
- virtual void yy_symbol_print_ (int yytype,
- const semantic_type* yyvaluep]b4_locations_if([[,
- const location_type* yylocationp]])[);
- private:
- // Debugging.
- std::ostream* yycdebug_;
-#endif
-
-]b4_parse_param_vars[
- };
-
-]dnl Redirections for glr.c.
-b4_percent_define_flag_if([[global_tokens_and_yystype]],
-[b4_token_defines])
-[
-#ifndef ]b4_api_PREFIX[STYPE
-# define ]b4_api_PREFIX[STYPE ]b4_namespace_ref[::]b4_parser_class_name[::semantic_type
-#endif
-#ifndef ]b4_api_PREFIX[LTYPE
-# define ]b4_api_PREFIX[LTYPE ]b4_namespace_ref[::]b4_parser_class_name[::location_type
-#endif
-
-]b4_namespace_close[
-]b4_percent_code_get([[provides]])[
-]m4_popdef([b4_parse_param])dnl
-])
-
-b4_defines_if(
-[b4_output_begin([b4_spec_defines_file])
-b4_copyright([Skeleton interface for Bison GLR parsers in C++],
- [2002-2013])[
-
-// C++ GLR parser skeleton written by Akim Demaille.
-
-]b4_cpp_guard_open([b4_spec_defines_file])[
-]b4_shared_declarations[
-]b4_cpp_guard_close([b4_spec_defines_file])[
-]b4_output_end()])
-
-# Let glr.c (and b4_shared_declarations) believe that the user
-# arguments include the parser itself.
-m4_pushdef([b4_parse_param], m4_defn([b4_parse_param_wrap]))
-m4_include(b4_pkgdatadir/[glr.c])
-m4_popdef([b4_parse_param])
diff --git a/gnuwin32/bin/data/java-skel.m4 b/gnuwin32/bin/data/java-skel.m4
deleted file mode 100644
index 384a6370..00000000
--- a/gnuwin32/bin/data/java-skel.m4
+++ /dev/null
@@ -1,26 +0,0 @@
- -*- Autoconf -*-
-
-# Java skeleton dispatching for Bison.
-
-# Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
-
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-b4_glr_if( [b4_complain([%%glr-parser not supported for Java])])
-b4_nondeterministic_if([b4_complain([%%nondeterministic-parser not supported for Java])])
-
-m4_define_default([b4_used_skeleton], [b4_pkgdatadir/[lalr1.java]])
-m4_define_default([b4_skeleton], ["b4_basename(b4_used_skeleton)"])
-
-m4_include(b4_used_skeleton)
diff --git a/gnuwin32/bin/data/java.m4 b/gnuwin32/bin/data/java.m4
deleted file mode 100644
index f985f977..00000000
--- a/gnuwin32/bin/data/java.m4
+++ /dev/null
@@ -1,342 +0,0 @@
- -*- Autoconf -*-
-
-# Java language support for Bison
-
-# Copyright (C) 2007-2013 Free Software Foundation, Inc.
-
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-m4_include(b4_pkgdatadir/[c-like.m4])
-
-
-# b4_list2(LIST1, LIST2)
-# ----------------------
-# Join two lists with a comma if necessary.
-m4_define([b4_list2],
- [$1[]m4_ifval(m4_quote($1), [m4_ifval(m4_quote($2), [[, ]])])[]$2])
-
-
-# b4_percent_define_get3(DEF, PRE, POST, NOT)
-# -------------------------------------------
-# Expand to the value of DEF surrounded by PRE and POST if it's %define'ed,
-# otherwise NOT.
-m4_define([b4_percent_define_get3],
- [m4_ifval(m4_quote(b4_percent_define_get([$1])),
- [$2[]b4_percent_define_get([$1])[]$3], [$4])])
-
-
-
-# b4_flag_value(BOOLEAN-FLAG)
-# ---------------------------
-m4_define([b4_flag_value], [b4_flag_if([$1], [true], [false])])
-
-
-# b4_public_if(TRUE, FALSE)
-# -------------------------
-b4_percent_define_default([[public]], [[false]])
-m4_define([b4_public_if],
-[b4_percent_define_flag_if([public], [$1], [$2])])
-
-
-# b4_abstract_if(TRUE, FALSE)
-# ---------------------------
-b4_percent_define_default([[abstract]], [[false]])
-m4_define([b4_abstract_if],
-[b4_percent_define_flag_if([abstract], [$1], [$2])])
-
-
-# b4_final_if(TRUE, FALSE)
-# ---------------------------
-b4_percent_define_default([[final]], [[false]])
-m4_define([b4_final_if],
-[b4_percent_define_flag_if([final], [$1], [$2])])
-
-
-# b4_strictfp_if(TRUE, FALSE)
-# ---------------------------
-b4_percent_define_default([[strictfp]], [[false]])
-m4_define([b4_strictfp_if],
-[b4_percent_define_flag_if([strictfp], [$1], [$2])])
-
-
-# b4_lexer_if(TRUE, FALSE)
-# ------------------------
-m4_define([b4_lexer_if],
-[b4_percent_code_ifdef([[lexer]], [$1], [$2])])
-
-
-# b4_identification
-# -----------------
-m4_define([b4_identification],
-[ /** Version number for the Bison executable that generated this parser. */
- public static final String bisonVersion = "b4_version";
-
- /** Name of the skeleton that generated this parser. */
- public static final String bisonSkeleton = b4_skeleton;
-])
-
-
-## ------------ ##
-## Data types. ##
-## ------------ ##
-
-# b4_int_type(MIN, MAX)
-# ---------------------
-# Return the smallest int type able to handle numbers ranging from
-# MIN to MAX (included).
-m4_define([b4_int_type],
-[m4_if(b4_ints_in($@, [-128], [127]), [1], [byte],
- b4_ints_in($@, [-32768], [32767]), [1], [short],
- [int])])
-
-# b4_int_type_for(NAME)
-# ---------------------
-# Return the smallest int type able to handle numbers ranging from
-# 'NAME_min' to 'NAME_max' (included).
-m4_define([b4_int_type_for],
-[b4_int_type($1_min, $1_max)])
-
-# b4_null
-# -------
-m4_define([b4_null], [null])
-
-
-# b4_typed_parser_table_define(TYPE, NAME, DATA, COMMENT)
-# -------------------------------------------------------
-m4_define([b4_typed_parser_table_define],
-[m4_ifval([$4], [b4_comment([$4])
- ])dnl
-[private static final ]$1[ yy$2_[] = yy$2_init();
- private static final ]$1[[] yy$2_init()
- {
- return new ]$1[[]
- {
- ]$3[
- };
- }]])
-
-
-# b4_integral_parser_table_define(NAME, DATA, COMMENT)
-#-----------------------------------------------------
-m4_define([b4_integral_parser_table_define],
-[b4_typed_parser_table_define([b4_int_type_for([$2])], [$1], [$2], [$3])])
-
-
-## ------------------------- ##
-## Assigning token numbers. ##
-## ------------------------- ##
-
-# b4_token_enum(TOKEN-NUM)
-# ------------------------
-# Output the definition of this token as an enum.
-m4_define([b4_token_enum],
-[b4_token_format([ /** Token number, to be returned by the scanner. */
- static final int %s = %s;
-], [$1])])
-
-# b4_token_enums
-# --------------
-# Output the definition of the tokens (if there are) as enums.
-m4_define([b4_token_enums],
-[b4_any_token_visible_if([/* Tokens. */
-b4_symbol_foreach([b4_token_enum])])])
-
-# b4-case(ID, CODE)
-# -----------------
-# We need to fool Java's stupid unreachable code detection.
-m4_define([b4_case], [ case $1:
- if (yyn == $1)
- $2;
- break;
- ])
-
-# b4_predicate_case(LABEL, CONDITIONS)
-# ------------------------------------
-m4_define([b4_predicate_case], [ case $1:
- if (! ($2)) YYERROR;
- break;
- ])
-
-
-## -------- ##
-## Checks. ##
-## -------- ##
-
-b4_percent_define_check_kind([[api.value.type]], [code], [deprecated])
-
-b4_percent_define_check_kind([[annotations]], [code], [deprecated])
-b4_percent_define_check_kind([[extends]], [code], [deprecated])
-b4_percent_define_check_kind([[implements]], [code], [deprecated])
-b4_percent_define_check_kind([[init_throws]], [code], [deprecated])
-b4_percent_define_check_kind([[lex_throws]], [code], [deprecated])
-b4_percent_define_check_kind([[parser_class_name]], [code], [deprecated])
-b4_percent_define_check_kind([[throws]], [code], [deprecated])
-
-
-
-## ---------------- ##
-## Default values. ##
-## ---------------- ##
-
-m4_define([b4_yystype], [b4_percent_define_get([[api.value.type]])])
-b4_percent_define_default([[api.value.type]], [[Object]])
-
-# %name-prefix
-m4_define_default([b4_prefix], [[YY]])
-
-b4_percent_define_default([[parser_class_name]], [b4_prefix[]Parser])
-m4_define([b4_parser_class_name], [b4_percent_define_get([[parser_class_name]])])
-
-b4_percent_define_default([[lex_throws]], [[java.io.IOException]])
-m4_define([b4_lex_throws], [b4_percent_define_get([[lex_throws]])])
-
-b4_percent_define_default([[throws]], [])
-m4_define([b4_throws], [b4_percent_define_get([[throws]])])
-
-b4_percent_define_default([[init_throws]], [])
-m4_define([b4_init_throws], [b4_percent_define_get([[init_throws]])])
-
-b4_percent_define_default([[api.location.type]], [Location])
-m4_define([b4_location_type], [b4_percent_define_get([[api.location.type]])])
-
-b4_percent_define_default([[api.position.type]], [Position])
-m4_define([b4_position_type], [b4_percent_define_get([[api.position.type]])])
-
-
-## ----------------- ##
-## Semantic Values. ##
-## ----------------- ##
-
-
-# b4_lhs_value([TYPE])
-# --------------------
-# Expansion of $<TYPE>$.
-m4_define([b4_lhs_value], [yyval])
-
-
-# b4_rhs_value(RULE-LENGTH, NUM, [TYPE])
-# --------------------------------------
-# Expansion of $<TYPE>NUM, where the current rule has RULE-LENGTH
-# symbols on RHS.
-#
-# In this simple implementation, %token and %type have class names
-# between the angle brackets.
-m4_define([b4_rhs_value],
-[(m4_ifval($3, [($3)])[](yystack.valueAt ($1-($2))))])
-
-# b4_lhs_location()
-# -----------------
-# Expansion of @$.
-m4_define([b4_lhs_location],
-[(yyloc)])
-
-
-# b4_rhs_location(RULE-LENGTH, NUM)
-# ---------------------------------
-# Expansion of @NUM, where the current rule has RULE-LENGTH symbols
-# on RHS.
-m4_define([b4_rhs_location],
-[yystack.locationAt ($1-($2))])
-
-
-# b4_lex_param
-# b4_parse_param
-# --------------
-# If defined, b4_lex_param arrives double quoted, but below we prefer
-# it to be single quoted. Same for b4_parse_param.
-
-# TODO: should be in bison.m4
-m4_define_default([b4_lex_param], [[]])
-m4_define([b4_lex_param], b4_lex_param)
-m4_define([b4_parse_param], b4_parse_param)
-
-# b4_lex_param_decl
-# -----------------
-# Extra formal arguments of the constructor.
-m4_define([b4_lex_param_decl],
-[m4_ifset([b4_lex_param],
- [b4_remove_comma([$1],
- b4_param_decls(b4_lex_param))],
- [$1])])
-
-m4_define([b4_param_decls],
- [m4_map([b4_param_decl], [$@])])
-m4_define([b4_param_decl], [, $1])
-
-m4_define([b4_remove_comma], [m4_ifval(m4_quote($1), [$1, ], [])m4_shift2($@)])
-
-
-
-# b4_parse_param_decl
-# -------------------
-# Extra formal arguments of the constructor.
-m4_define([b4_parse_param_decl],
-[m4_ifset([b4_parse_param],
- [b4_remove_comma([$1],
- b4_param_decls(b4_parse_param))],
- [$1])])
-
-
-
-# b4_lex_param_call
-# -----------------
-# Delegating the lexer parameters to the lexer constructor.
-m4_define([b4_lex_param_call],
- [m4_ifset([b4_lex_param],
- [b4_remove_comma([$1],
- b4_param_calls(b4_lex_param))],
- [$1])])
-m4_define([b4_param_calls],
- [m4_map([b4_param_call], [$@])])
-m4_define([b4_param_call], [, $2])
-
-
-
-# b4_parse_param_cons
-# -------------------
-# Extra initialisations of the constructor.
-m4_define([b4_parse_param_cons],
- [m4_ifset([b4_parse_param],
- [b4_constructor_calls(b4_parse_param)])])
-
-m4_define([b4_constructor_calls],
- [m4_map([b4_constructor_call], [$@])])
-m4_define([b4_constructor_call],
- [this.$2 = $2;
- ])
-
-
-
-# b4_parse_param_vars
-# -------------------
-# Extra instance variables.
-m4_define([b4_parse_param_vars],
- [m4_ifset([b4_parse_param],
- [
- /* User arguments. */
-b4_var_decls(b4_parse_param)])])
-
-m4_define([b4_var_decls],
- [m4_map_sep([b4_var_decl], [
-], [$@])])
-m4_define([b4_var_decl],
- [ protected final $1;])
-
-
-
-# b4_maybe_throws(THROWS)
-# -----------------------
-# Expand to either an empty string or "throws THROWS".
-m4_define([b4_maybe_throws],
- [m4_ifval($1, [throws $1])])
diff --git a/gnuwin32/bin/data/lalr1.cc b/gnuwin32/bin/data/lalr1.cc
deleted file mode 100644
index 3294f591..00000000
--- a/gnuwin32/bin/data/lalr1.cc
+++ /dev/null
@@ -1,1161 +0,0 @@
-# C++ skeleton for Bison
-
-# Copyright (C) 2002-2013 Free Software Foundation, Inc.
-
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-m4_include(b4_pkgdatadir/[c++.m4])
-
-# api.value.type=variant is valid.
-m4_define([b4_value_type_setup_variant])
-
-# b4_integral_parser_table_declare(TABLE-NAME, CONTENT, COMMENT)
-# --------------------------------------------------------------
-# Declare "parser::yy<TABLE-NAME>_" whose contents is CONTENT.
-m4_define([b4_integral_parser_table_declare],
-[m4_ifval([$3], [b4_comment([$3], [ ])
-])dnl
- static const b4_int_type_for([$2]) yy$1_[[]];dnl
-])
-
-# b4_integral_parser_table_define(TABLE-NAME, CONTENT, COMMENT)
-# -------------------------------------------------------------
-# Define "parser::yy<TABLE-NAME>_" whose contents is CONTENT.
-m4_define([b4_integral_parser_table_define],
-[ const b4_int_type_for([$2])
- b4_parser_class_name::yy$1_[[]] =
- {
- $2
- };dnl
-])
-
-# b4_symbol_value_template(VAL, [TYPE])
-# -------------------------------------
-# Same as b4_symbol_value, but used in a template method. It makes
-# a difference when using variants. Note that b4_value_type_setup_union
-# overrides b4_symbol_value, so we must override it again.
-m4_copy([b4_symbol_value], [b4_symbol_value_template])
-m4_append([b4_value_type_setup_union],
- [m4_copy_force([b4_symbol_value_union], [b4_symbol_value_template])])
-
-# b4_lhs_value([TYPE])
-# --------------------
-# Expansion of $<TYPE>$.
-m4_define([b4_lhs_value],
- [b4_symbol_value([yylhs.value], [$1])])
-
-
-# b4_lhs_location()
-# -----------------
-# Expansion of @$.
-m4_define([b4_lhs_location],
- [yylhs.location])
-
-
-# b4_rhs_data(RULE-LENGTH, NUM)
-# -----------------------------
-# Return the data corresponding to the symbol #NUM, where the current
-# rule has RULE-LENGTH symbols on RHS.
-m4_define([b4_rhs_data],
- [yystack_@{b4_subtract($@)@}])
-
-
-# b4_rhs_state(RULE-LENGTH, NUM)
-# ------------------------------
-# The state corresponding to the symbol #NUM, where the current
-# rule has RULE-LENGTH symbols on RHS.
-m4_define([b4_rhs_state],
- [b4_rhs_data([$1], [$2]).state])
-
-
-# b4_rhs_value(RULE-LENGTH, NUM, [TYPE])
-# --------------------------------------
-# Expansion of $<TYPE>NUM, where the current rule has RULE-LENGTH
-# symbols on RHS.
-m4_define([b4_rhs_value],
- [b4_symbol_value([b4_rhs_data([$1], [$2]).value], [$3])])
-
-
-# b4_rhs_location(RULE-LENGTH, NUM)
-# ---------------------------------
-# Expansion of @NUM, where the current rule has RULE-LENGTH symbols
-# on RHS.
-m4_define([b4_rhs_location],
- [b4_rhs_data([$1], [$2]).location])
-
-
-# b4_symbol_action(SYMBOL-NUM, KIND)
-# ----------------------------------
-# Run the action KIND (destructor or printer) for SYMBOL-NUM.
-# Same as in C, but using references instead of pointers.
-m4_define([b4_symbol_action],
-[b4_symbol_if([$1], [has_$2],
-[m4_pushdef([b4_symbol_value], m4_defn([b4_symbol_value_template]))[]dnl
-b4_dollar_pushdef([yysym.value],
- b4_symbol_if([$1], [has_type],
- [m4_dquote(b4_symbol([$1], [type]))]),
- [yysym.location])dnl
- b4_symbol_case_([$1])
-b4_syncline([b4_symbol([$1], [$2_line])], ["b4_symbol([$1], [$2_file])"])
- b4_symbol([$1], [$2])
-b4_syncline([@oline@], [@ofile@])
- break;
-
-m4_popdef([b4_symbol_value])[]dnl
-b4_dollar_popdef[]dnl
-])])
-
-
-# b4_lex
-# ------
-# Call yylex.
-m4_define([b4_lex],
-[b4_token_ctor_if(
-[b4_function_call([yylex],
- [symbol_type], m4_ifdef([b4_lex_param], b4_lex_param))],
-[b4_function_call([yylex], [int],
- [b4_api_PREFIX[STYPE*], [&yyla.value]][]dnl
-b4_locations_if([, [[location*], [&yyla.location]]])dnl
-m4_ifdef([b4_lex_param], [, ]b4_lex_param))])])
-
-
-m4_pushdef([b4_copyright_years],
- [2002-2013])
-
-m4_define([b4_parser_class_name],
- [b4_percent_define_get([[parser_class_name]])])
-
-b4_bison_locations_if([# Backward compatibility.
- m4_define([b4_location_constructors])
- m4_include(b4_pkgdatadir/[location.cc])])
-m4_include(b4_pkgdatadir/[stack.hh])
-b4_variant_if([m4_include(b4_pkgdatadir/[variant.hh])])
-
-# b4_shared_declarations
-# ----------------------
-# Declaration that might either go into the header (if --defines)
-# or open coded in the parser body.
-m4_define([b4_shared_declarations],
-[b4_percent_code_get([[requires]])[
-]b4_parse_assert_if([# include <cassert>])[
-# include <vector>
-# include <iostream>
-# include <stdexcept>
-# include <string>]b4_defines_if([[
-# include "stack.hh"
-]b4_bison_locations_if([[# include "location.hh"]])])[
-]b4_variant_if([b4_variant_includes])[
-
-]b4_YYDEBUG_define[
-
-]b4_namespace_open[
-
-]b4_defines_if([],
-[b4_stack_define
-b4_bison_locations_if([b4_position_define
-b4_location_define])])[
-
-]b4_variant_if([b4_variant_define])[
-
- /// A Bison parser.
- class ]b4_parser_class_name[
- {
- public:
-]b4_public_types_declare[
- /// Build a parser object.
- ]b4_parser_class_name[ (]b4_parse_param_decl[);
- virtual ~]b4_parser_class_name[ ();
-
- /// Parse.
- /// \returns 0 iff parsing succeeded.
- virtual int parse ();
-
-#if ]b4_api_PREFIX[DEBUG
- /// The current debugging stream.
- std::ostream& debug_stream () const;
- /// Set the current debugging stream.
- void set_debug_stream (std::ostream &);
-
- /// Type for debugging levels.
- typedef int debug_level_type;
- /// The current debugging level.
- debug_level_type debug_level () const;
- /// Set the current debugging level.
- void set_debug_level (debug_level_type l);
-#endif
-
- /// Report a syntax error.]b4_locations_if([[
- /// \param loc where the syntax error is found.]])[
- /// \param msg a description of the syntax error.
- virtual void error (]b4_locations_if([[const location_type& loc, ]])[const std::string& msg);
-
- /// Report a syntax error.
- void error (const syntax_error& err);
-
- private:
- /// This class is not copyable.
- ]b4_parser_class_name[ (const ]b4_parser_class_name[&);
- ]b4_parser_class_name[& operator= (const ]b4_parser_class_name[&);
-
- /// State numbers.
- typedef int state_type;
-
- /// Generate an error message.
- /// \param yystate the state where the error occurred.
- /// \param yytoken the lookahead token type, or yyempty_.
- virtual std::string yysyntax_error_ (state_type yystate,
- symbol_number_type yytoken) const;
-
- /// Compute post-reduction state.
- /// \param yystate the current state
- /// \param yylhs the nonterminal to push on the stack
- state_type yy_lr_goto_state_ (state_type yystate, int yylhs);
-
- /// Whether the given \c yypact_ value indicates a defaulted state.
- /// \param yyvalue the value to check
- static bool yy_pact_value_is_default_ (int yyvalue);
-
- /// Whether the given \c yytable_ value indicates a syntax error.
- /// \param yyvalue the value to check
- static bool yy_table_value_is_error_ (int yyvalue);
-
- static const ]b4_int_type(b4_pact_ninf, b4_pact_ninf)[ yypact_ninf_;
- static const ]b4_int_type(b4_table_ninf, b4_table_ninf)[ yytable_ninf_;
-
- /// Convert a scanner token number \a t to a symbol number.
- static token_number_type yytranslate_ (]b4_token_ctor_if([token_type], [int])[ t);
-
- // Tables.
-]b4_parser_tables_declare[]b4_error_verbose_if([
-
- /// Convert the symbol name \a n to a form suitable for a diagnostic.
- static std::string yytnamerr_ (const char *n);])[
-
-]b4_token_table_if([], [[#if ]b4_api_PREFIX[DEBUG]])[
- /// For a symbol, its name in clear.
- static const char* const yytname_[];
-]b4_token_table_if([[#if ]b4_api_PREFIX[DEBUG]])[
-]b4_integral_parser_table_declare([rline], [b4_rline],
- [[YYRLINE[YYN] -- Source line where rule number YYN was defined.]])[
- /// Report on the debug stream that the rule \a r is going to be reduced.
- virtual void yy_reduce_print_ (int r);
- /// Print the state stack on the debug stream.
- virtual void yystack_print_ ();
-
- // Debugging.
- int yydebug_;
- std::ostream* yycdebug_;
-
- /// \brief Display a symbol type, value and location.
- /// \param yyo The output stream.
- /// \param yysym The symbol.
- template <typename Base>
- void yy_print_ (std::ostream& yyo, const basic_symbol<Base>& yysym) const;
-#endif
-
- /// \brief Reclaim the memory associated to a symbol.
- /// \param yymsg Why this token is reclaimed.
- /// If null, print nothing.
- /// \param s The symbol.
- template <typename Base>
- void yy_destroy_ (const char* yymsg, basic_symbol<Base>& yysym) const;
-
- private:
- /// Type access provider for state based symbols.
- struct by_state
- {
- /// Default constructor.
- by_state ();
-
- /// The symbol type as needed by the constructor.
- typedef state_type kind_type;
-
- /// Constructor.
- by_state (kind_type s);
-
- /// Copy constructor.
- by_state (const by_state& other);
-
- /// Steal the symbol type from \a that.
- void move (by_state& that);
-
- /// The (internal) type number (corresponding to \a state).
- /// "empty" when empty.
- symbol_number_type type_get () const;
-
- enum { empty = 0 };
-
- /// The state.
- state_type state;
- };
-
- /// "Internal" symbol: element of the stack.
- struct stack_symbol_type : basic_symbol<by_state>
- {
- /// Superclass.
- typedef basic_symbol<by_state> super_type;
- /// Construct an empty symbol.
- stack_symbol_type ();
- /// Steal the contents from \a sym to build this.
- stack_symbol_type (state_type s, symbol_type& sym);
- /// Assignment, needed by push_back.
- stack_symbol_type& operator= (const stack_symbol_type& that);
- };
-
- /// Stack type.
- typedef stack<stack_symbol_type> stack_type;
-
- /// The stack.
- stack_type yystack_;
-
- /// Push a new state on the stack.
- /// \param m a debug message to display
- /// if null, no trace is output.
- /// \param s the symbol
- /// \warning the contents of \a s.value is stolen.
- void yypush_ (const char* m, stack_symbol_type& s);
-
- /// Push a new look ahead token on the state on the stack.
- /// \param m a debug message to display
- /// if null, no trace is output.
- /// \param s the state
- /// \param sym the symbol (for its value and location).
- /// \warning the contents of \a s.value is stolen.
- void yypush_ (const char* m, state_type s, symbol_type& sym);
-
- /// Pop \a n symbols the three stacks.
- void yypop_ (unsigned int n = 1);
-
- // Constants.
- enum
- {
- yyeof_ = 0,
- yylast_ = ]b4_last[, //< Last index in yytable_.
- yynnts_ = ]b4_nterms_number[, //< Number of nonterminal symbols.
- yyempty_ = -2,
- yyfinal_ = ]b4_final_state_number[, //< Termination state number.
- yyterror_ = 1,
- yyerrcode_ = 256,
- yyntokens_ = ]b4_tokens_number[ //< Number of tokens.
- };
-
-]b4_parse_param_vars[
- };
-
-]b4_token_ctor_if([b4_yytranslate_define
-b4_public_types_define])[
-]b4_namespace_close[
-
-]b4_percent_define_flag_if([[global_tokens_and_yystype]],
-[b4_token_defines
-
-#ifndef ]b4_api_PREFIX[STYPE
- // Redirection for backward compatibility.
-# define ]b4_api_PREFIX[STYPE b4_namespace_ref::b4_parser_class_name::semantic_type
-#endif
-])[
-]b4_percent_code_get([[provides]])[
-]])
-
-b4_defines_if(
-[b4_output_begin([b4_spec_defines_file])
-b4_copyright([Skeleton interface for Bison LALR(1) parsers in C++])
-[
-/**
- ** \file ]b4_spec_defines_file[
- ** Define the ]b4_namespace_ref[::parser class.
- */
-
-// C++ LALR(1) parser skeleton written by Akim Demaille.
-
-]b4_cpp_guard_open([b4_spec_defines_file])[
-]b4_shared_declarations[
-]b4_cpp_guard_close([b4_spec_defines_file])
-b4_output_end()
-])
-
-
-b4_output_begin([b4_parser_file_name])
-b4_copyright([Skeleton implementation for Bison LALR(1) parsers in C++])
-b4_percent_code_get([[top]])[]dnl
-m4_if(b4_prefix, [yy], [],
-[
-// Take the name prefix into account.
-#define yylex b4_prefix[]lex])[
-
-// First part of user declarations.
-]b4_user_pre_prologue[
-
-]b4_null_define[
-
-]b4_defines_if([[#include "@basename(]b4_spec_defines_file[@)"]],
- [b4_shared_declarations])[
-
-// User implementation prologue.
-]b4_user_post_prologue[
-]b4_percent_code_get[
-
-#ifndef YY_
-# if defined YYENABLE_NLS && YYENABLE_NLS
-# if ENABLE_NLS
-# include <libintl.h> // FIXME: INFRINGES ON USER NAME SPACE.
-# define YY_(msgid) dgettext ("bison-runtime", msgid)
-# endif
-# endif
-# ifndef YY_
-# define YY_(msgid) msgid
-# endif
-#endif
-
-]b4_locations_if([dnl
-[#define YYRHSLOC(Rhs, K) ((Rhs)[K].location)
-]b4_yylloc_default_define])[
-
-// Suppress unused-variable warnings by "using" E.
-#define YYUSE(E) ((void) (E))
-
-// Enable debugging if requested.
-#if ]b4_api_PREFIX[DEBUG
-
-// A pseudo ostream that takes yydebug_ into account.
-# define YYCDEBUG if (yydebug_) (*yycdebug_)
-
-# define YY_SYMBOL_PRINT(Title, Symbol) \
- do { \
- if (yydebug_) \
- { \
- *yycdebug_ << Title << ' '; \
- yy_print_ (*yycdebug_, Symbol); \
- *yycdebug_ << std::endl; \
- } \
- } while (false)
-
-# define YY_REDUCE_PRINT(Rule) \
- do { \
- if (yydebug_) \
- yy_reduce_print_ (Rule); \
- } while (false)
-
-# define YY_STACK_PRINT() \
- do { \
- if (yydebug_) \
- yystack_print_ (); \
- } while (false)
-
-#else // !]b4_api_PREFIX[DEBUG
-
-# define YYCDEBUG if (false) std::cerr
-# define YY_SYMBOL_PRINT(Title, Symbol) YYUSE(Symbol)
-# define YY_REDUCE_PRINT(Rule) static_cast<void>(0)
-# define YY_STACK_PRINT() static_cast<void>(0)
-
-#endif // !]b4_api_PREFIX[DEBUG
-
-#define yyerrok (yyerrstatus_ = 0)
-#define yyclearin (yyempty = true)
-
-#define YYACCEPT goto yyacceptlab
-#define YYABORT goto yyabortlab
-#define YYERROR goto yyerrorlab
-#define YYRECOVERING() (!!yyerrstatus_)
-
-]b4_namespace_open[]b4_error_verbose_if([[
-
- /* Return YYSTR after stripping away unnecessary quotes and
- backslashes, so that it's suitable for yyerror. The heuristic is
- that double-quoting is unnecessary unless the string contains an
- apostrophe, a comma, or backslash (other than backslash-backslash).
- YYSTR is taken from yytname. */
- std::string
- ]b4_parser_class_name[::yytnamerr_ (const char *yystr)
- {
- if (*yystr == '"')
- {
- std::string yyr = "";
- char const *yyp = yystr;
-
- for (;;)
- switch (*++yyp)
- {
- case '\'':
- case ',':
- goto do_not_strip_quotes;
-
- case '\\':
- if (*++yyp != '\\')
- goto do_not_strip_quotes;
- // Fall through.
- default:
- yyr += *yyp;
- break;
-
- case '"':
- return yyr;
- }
- do_not_strip_quotes: ;
- }
-
- return yystr;
- }
-]])[
-
- /// Build a parser object.
- ]b4_parser_class_name::b4_parser_class_name[ (]b4_parse_param_decl[)]m4_ifset([b4_parse_param], [
- :])[
-#if ]b4_api_PREFIX[DEBUG
- ]m4_ifset([b4_parse_param], [ ], [ :])[yydebug_ (false),
- yycdebug_ (&std::cerr)]m4_ifset([b4_parse_param], [,])[
-#endif]b4_parse_param_cons[
- {}
-
- ]b4_parser_class_name::~b4_parser_class_name[ ()
- {}
-
-
- /*---------------.
- | Symbol types. |
- `---------------*/
-
-]b4_token_ctor_if([], [b4_public_types_define])[
-
- // by_state.
- inline
- ]b4_parser_class_name[::by_state::by_state ()
- : state (empty)
- {}
-
- inline
- ]b4_parser_class_name[::by_state::by_state (const by_state& other)
- : state (other.state)
- {}
-
- inline
- void
- ]b4_parser_class_name[::by_state::move (by_state& that)
- {
- state = that.state;
- that.state = empty;
- }
-
- inline
- ]b4_parser_class_name[::by_state::by_state (state_type s)
- : state (s)
- {}
-
- inline
- ]b4_parser_class_name[::symbol_number_type
- ]b4_parser_class_name[::by_state::type_get () const
- {
- return state == empty ? 0 : yystos_[state];
- }
-
- inline
- ]b4_parser_class_name[::stack_symbol_type::stack_symbol_type ()
- {}
-
-
- inline
- ]b4_parser_class_name[::stack_symbol_type::stack_symbol_type (state_type s, symbol_type& that)
- : super_type (s]b4_locations_if([, that.location])[)
- {
- ]b4_variant_if([b4_symbol_variant([that.type_get ()],
- [value], [move], [that.value])],
- [[value = that.value;]])[
- // that is emptied.
- that.type = empty;
- }
-
- inline
- ]b4_parser_class_name[::stack_symbol_type&
- ]b4_parser_class_name[::stack_symbol_type::operator= (const stack_symbol_type& that)
- {
- state = that.state;
- ]b4_variant_if([b4_symbol_variant([that.type_get ()],
- [value], [copy], [that.value])],
- [[value = that.value;]])[]b4_locations_if([
- location = that.location;])[
- return *this;
- }
-
-
- template <typename Base>
- inline
- void
- ]b4_parser_class_name[::yy_destroy_ (const char* yymsg, basic_symbol<Base>& yysym) const
- {
- if (yymsg)
- YY_SYMBOL_PRINT (yymsg, yysym);]b4_variant_if([], [
-
- // User destructor.
- b4_symbol_actions([destructor], [yysym.type_get ()])])[
- }
-
-#if ]b4_api_PREFIX[DEBUG
- template <typename Base>
- void
- ]b4_parser_class_name[::yy_print_ (std::ostream& yyo,
- const basic_symbol<Base>& yysym) const
- {
- std::ostream& yyoutput = yyo;
- YYUSE (yyoutput);
- symbol_number_type yytype = yysym.type_get ();
- yyo << (yytype < yyntokens_ ? "token" : "nterm")
- << ' ' << yytname_[yytype] << " ("]b4_locations_if([
- << yysym.location << ": "])[;
- ]b4_symbol_actions([printer])[
- yyo << ')';
- }
-#endif
-
- inline
- void
- ]b4_parser_class_name[::yypush_ (const char* m, state_type s, symbol_type& sym)
- {
- stack_symbol_type t (s, sym);
- yypush_ (m, t);
- }
-
- inline
- void
- ]b4_parser_class_name[::yypush_ (const char* m, stack_symbol_type& s)
- {
- if (m)
- YY_SYMBOL_PRINT (m, s);
- yystack_.push (s);
- }
-
- inline
- void
- ]b4_parser_class_name[::yypop_ (unsigned int n)
- {
- yystack_.pop (n);
- }
-
-#if ]b4_api_PREFIX[DEBUG
- std::ostream&
- ]b4_parser_class_name[::debug_stream () const
- {
- return *yycdebug_;
- }
-
- void
- ]b4_parser_class_name[::set_debug_stream (std::ostream& o)
- {
- yycdebug_ = &o;
- }
-
-
- ]b4_parser_class_name[::debug_level_type
- ]b4_parser_class_name[::debug_level () const
- {
- return yydebug_;
- }
-
- void
- ]b4_parser_class_name[::set_debug_level (debug_level_type l)
- {
- yydebug_ = l;
- }
-#endif // ]b4_api_PREFIX[DEBUG
-
- inline ]b4_parser_class_name[::state_type
- ]b4_parser_class_name[::yy_lr_goto_state_ (state_type yystate, int yylhs)
- {
- int yyr = yypgoto_[yylhs - yyntokens_] + yystate;
- if (0 <= yyr && yyr <= yylast_ && yycheck_[yyr] == yystate)
- return yytable_[yyr];
- else
- return yydefgoto_[yylhs - yyntokens_];
- }
-
- inline bool
- ]b4_parser_class_name[::yy_pact_value_is_default_ (int yyvalue)
- {
- return yyvalue == yypact_ninf_;
- }
-
- inline bool
- ]b4_parser_class_name[::yy_table_value_is_error_ (int yyvalue)
- {
- return yyvalue == yytable_ninf_;
- }
-
- int
- ]b4_parser_class_name[::parse ()
- {
- /// Whether yyla contains a lookahead.
- bool yyempty = true;
-
- // State.
- int yyn;
- int yylen = 0;
-
- // Error handling.
- int yynerrs_ = 0;
- int yyerrstatus_ = 0;
-
- /// The lookahead symbol.
- symbol_type yyla;]b4_locations_if([[
-
- /// The locations where the error started and ended.
- stack_symbol_type yyerror_range[3];]])[
-
- /// $$ and @@$.
- stack_symbol_type yylhs;
-
- /// The return value of parse ().
- int yyresult;
-
- // FIXME: This shoud be completely indented. It is not yet to
- // avoid gratuitous conflicts when merging into the master branch.
- try
- {
- YYCDEBUG << "Starting parse" << std::endl;
-
-]m4_ifdef([b4_initial_action], [
-b4_dollar_pushdef([yyla.value], [], [yyla.location])dnl
- // User initialization code.
- b4_user_initial_action
-b4_dollar_popdef])[]dnl
-
- [ /* Initialize the stack. The initial state will be set in
- yynewstate, since the latter expects the semantical and the
- location values to have been already stored, initialize these
- stacks with a primary value. */
- yystack_.clear ();
- yypush_ (YY_NULL, 0, yyla);
-
- // A new symbol was pushed on the stack.
- yynewstate:
- YYCDEBUG << "Entering state " << yystack_[0].state << std::endl;
-
- // Accept?
- if (yystack_[0].state == yyfinal_)
- goto yyacceptlab;
-
- goto yybackup;
-
- // Backup.
- yybackup:
-
- // Try to take a decision without lookahead.
- yyn = yypact_[yystack_[0].state];
- if (yy_pact_value_is_default_ (yyn))
- goto yydefault;
-
- // Read a lookahead token.
- if (yyempty)
- {
- YYCDEBUG << "Reading a token: ";
- try
- {]b4_token_ctor_if([[
- symbol_type yylookahead (]b4_lex[);
- yyla.move (yylookahead);]], [[
- yyla.type = yytranslate_ (]b4_lex[);]])[
- }
- catch (const syntax_error& yyexc)
- {
- error (yyexc);
- goto yyerrlab1;
- }
- yyempty = false;
- }
- YY_SYMBOL_PRINT ("Next token is", yyla);
-
- /* If the proper action on seeing token YYLA.TYPE is to reduce or
- to detect an error, take that action. */
- yyn += yyla.type_get ();
- if (yyn < 0 || yylast_ < yyn || yycheck_[yyn] != yyla.type_get ())
- goto yydefault;
-
- // Reduce or error.
- yyn = yytable_[yyn];
- if (yyn <= 0)
- {
- if (yy_table_value_is_error_ (yyn))
- goto yyerrlab;
- yyn = -yyn;
- goto yyreduce;
- }
-
- // Discard the token being shifted.
- yyempty = true;
-
- // Count tokens shifted since error; after three, turn off error status.
- if (yyerrstatus_)
- --yyerrstatus_;
-
- // Shift the lookahead token.
- yypush_ ("Shifting", yyn, yyla);
- goto yynewstate;
-
- /*-----------------------------------------------------------.
- | yydefault -- do the default action for the current state. |
- `-----------------------------------------------------------*/
- yydefault:
- yyn = yydefact_[yystack_[0].state];
- if (yyn == 0)
- goto yyerrlab;
- goto yyreduce;
-
- /*-----------------------------.
- | yyreduce -- Do a reduction. |
- `-----------------------------*/
- yyreduce:
- yylen = yyr2_[yyn];
- yylhs.state = yy_lr_goto_state_(yystack_[yylen].state, yyr1_[yyn]);]b4_variant_if([
- /* Variants are always initialized to an empty instance of the
- correct type. The default $$=$1 action is NOT applied when using
- variants. */
- b4_symbol_variant([[yyr1_@{yyn@}]], [yylhs.value], [build])],[
- /* If YYLEN is nonzero, implement the default value of the action:
- '$$ = $1'. Otherwise, use the top of the stack.
-
- Otherwise, the following line sets YYLHS.VALUE to garbage.
- This behavior is undocumented and Bison
- users should not rely upon it. */
- if (yylen)
- yylhs.value = yystack_@{yylen - 1@}.value;
- else
- yylhs.value = yystack_@{0@}.value;])[
-]b4_locations_if([dnl
-[
- // Compute the default @@$.
- {
- slice<stack_symbol_type, stack_type> slice (yystack_, yylen);
- YYLLOC_DEFAULT (yylhs.location, slice, yylen);
- }]])[
-
- // Perform the reduction.
- YY_REDUCE_PRINT (yyn);
- try
- {
- switch (yyn)
- {
-]b4_user_actions[
- default:
- break;
- }
- }
- catch (const syntax_error& yyexc)
- {
- error (yyexc);
- YYERROR;
- }
- YY_SYMBOL_PRINT ("-> $$ =", yylhs);
- yypop_ (yylen);
- yylen = 0;
- YY_STACK_PRINT ();
-
- // Shift the result of the reduction.
- yypush_ (YY_NULL, yylhs);
- goto yynewstate;
-
- /*--------------------------------------.
- | yyerrlab -- here on detecting error. |
- `--------------------------------------*/
- yyerrlab:
- // If not already recovering from an error, report this error.
- if (!yyerrstatus_)
- {
- ++yynerrs_;
- error (]b4_join(b4_locations_if([yyla.location]),
- [[yysyntax_error_ (yystack_[0].state,
- yyempty ? yyempty_ : yyla.type_get ())]])[);
- }
-
-]b4_locations_if([[
- yyerror_range[1].location = yyla.location;]])[
- if (yyerrstatus_ == 3)
- {
- /* If just tried and failed to reuse lookahead token after an
- error, discard it. */
-
- // Return failure if at end of input.
- if (yyla.type_get () == yyeof_)
- YYABORT;
- else if (!yyempty)
- {
- yy_destroy_ ("Error: discarding", yyla);
- yyempty = true;
- }
- }
-
- // Else will try to reuse lookahead token after shifting the error token.
- goto yyerrlab1;
-
-
- /*---------------------------------------------------.
- | yyerrorlab -- error raised explicitly by YYERROR. |
- `---------------------------------------------------*/
- yyerrorlab:
-
- /* Pacify compilers like GCC when the user code never invokes
- YYERROR and the label yyerrorlab therefore never appears in user
- code. */
- if (false)
- goto yyerrorlab;]b4_locations_if([[
- yyerror_range[1].location = yystack_[yylen - 1].location;]])b4_variant_if([[
- /* $$ was initialized before running the user action. */
- YY_SYMBOL_PRINT ("Error: discarding", yylhs);
- yylhs.~stack_symbol_type();]])[
- /* Do not reclaim the symbols of the rule whose action triggered
- this YYERROR. */
- yypop_ (yylen);
- yylen = 0;
- goto yyerrlab1;
-
- /*-------------------------------------------------------------.
- | yyerrlab1 -- common code for both syntax error and YYERROR. |
- `-------------------------------------------------------------*/
- yyerrlab1:
- yyerrstatus_ = 3; // Each real token shifted decrements this.
- {
- stack_symbol_type error_token;
- for (;;)
- {
- yyn = yypact_[yystack_[0].state];
- if (!yy_pact_value_is_default_ (yyn))
- {
- yyn += yyterror_;
- if (0 <= yyn && yyn <= yylast_ && yycheck_[yyn] == yyterror_)
- {
- yyn = yytable_[yyn];
- if (0 < yyn)
- break;
- }
- }
-
- // Pop the current state because it cannot handle the error token.
- if (yystack_.size () == 1)
- YYABORT;
-]b4_locations_if([[
- yyerror_range[1].location = yystack_[0].location;]])[
- yy_destroy_ ("Error: popping", yystack_[0]);
- yypop_ ();
- YY_STACK_PRINT ();
- }
-]b4_locations_if([[
- yyerror_range[2].location = yyla.location;
- YYLLOC_DEFAULT (error_token.location, yyerror_range, 2);]])[
-
- // Shift the error token.
- error_token.state = yyn;
- yypush_ ("Shifting", error_token);
- }
- goto yynewstate;
-
- // Accept.
- yyacceptlab:
- yyresult = 0;
- goto yyreturn;
-
- // Abort.
- yyabortlab:
- yyresult = 1;
- goto yyreturn;
-
- yyreturn:
- if (!yyempty)
- yy_destroy_ ("Cleanup: discarding lookahead", yyla);
-
- /* Do not reclaim the symbols of the rule whose action triggered
- this YYABORT or YYACCEPT. */
- yypop_ (yylen);
- while (1 < yystack_.size ())
- {
- yy_destroy_ ("Cleanup: popping", yystack_[0]);
- yypop_ ();
- }
-
- return yyresult;
- }
- catch (...)
- {
- YYCDEBUG << "Exception caught: cleaning lookahead and stack"
- << std::endl;
- // Do not try to display the values of the reclaimed symbols,
- // as their printer might throw an exception.
- if (!yyempty)
- yy_destroy_ (YY_NULL, yyla);
-
- while (1 < yystack_.size ())
- {
- yy_destroy_ (YY_NULL, yystack_[0]);
- yypop_ ();
- }
- throw;
- }
- }
-
- void
- ]b4_parser_class_name[::error (const syntax_error& yyexc)
- {
- error (]b4_join(b4_locations_if([yyexc.location]),
- [[yyexc.what()]])[);
- }
-
- // Generate an error message.
- std::string
- ]b4_parser_class_name[::yysyntax_error_ (]dnl
-b4_error_verbose_if([state_type yystate, symbol_number_type yytoken],
- [state_type, symbol_number_type])[) const
- {]b4_error_verbose_if([[
- std::string yyres;
- // Number of reported tokens (one for the "unexpected", one per
- // "expected").
- size_t yycount = 0;
- // Its maximum.
- enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
- // Arguments of yyformat.
- char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
-
- /* There are many possibilities here to consider:
- - If this state is a consistent state with a default action, then
- the only way this function was invoked is if the default action
- is an error action. In that case, don't check for expected
- tokens because there are none.
- - The only way there can be no lookahead present (in yytoken) is
- if this state is a consistent state with a default action.
- Thus, detecting the absence of a lookahead is sufficient to
- determine that there is no unexpected or expected token to
- report. In that case, just report a simple "syntax error".
- - Don't assume there isn't a lookahead just because this state is
- a consistent state with a default action. There might have
- been a previous inconsistent state, consistent state with a
- non-default action, or user semantic action that manipulated
- yyla. (However, yyla is currently not documented for users.)
- - Of course, the expected token list depends on states to have
- correct lookahead information, and it depends on the parser not
- to perform extra reductions after fetching a lookahead from the
- scanner and before detecting a syntax error. Thus, state
- merging (from LALR or IELR) and default reductions corrupt the
- expected token list. However, the list is correct for
- canonical LR with one exception: it will still contain any
- token that will not be accepted due to an error action in a
- later state.
- */
- if (yytoken != yyempty_)
- {
- yyarg[yycount++] = yytname_[yytoken];
- int yyn = yypact_[yystate];
- if (!yy_pact_value_is_default_ (yyn))
- {
- /* Start YYX at -YYN if negative to avoid negative indexes in
- YYCHECK. In other words, skip the first -YYN actions for
- this state because they are default actions. */
- int yyxbegin = yyn < 0 ? -yyn : 0;
- // Stay within bounds of both yycheck and yytname.
- int yychecklim = yylast_ - yyn + 1;
- int yyxend = yychecklim < yyntokens_ ? yychecklim : yyntokens_;
- for (int yyx = yyxbegin; yyx < yyxend; ++yyx)
- if (yycheck_[yyx + yyn] == yyx && yyx != yyterror_
- && !yy_table_value_is_error_ (yytable_[yyx + yyn]))
- {
- if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
- {
- yycount = 1;
- break;
- }
- else
- yyarg[yycount++] = yytname_[yyx];
- }
- }
- }
-
- char const* yyformat = YY_NULL;
- switch (yycount)
- {
-#define YYCASE_(N, S) \
- case N: \
- yyformat = S; \
- break
- YYCASE_(0, YY_("syntax error"));
- YYCASE_(1, YY_("syntax error, unexpected %s"));
- YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
- YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
- YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
- YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
-#undef YYCASE_
- }
-
- // Argument number.
- size_t yyi = 0;
- for (char const* yyp = yyformat; *yyp; ++yyp)
- if (yyp[0] == '%' && yyp[1] == 's' && yyi < yycount)
- {
- yyres += yytnamerr_ (yyarg[yyi++]);
- ++yyp;
- }
- else
- yyres += *yyp;
- return yyres;]], [[
- return YY_("syntax error");]])[
- }
-
-
- const ]b4_int_type(b4_pact_ninf, b4_pact_ninf) b4_parser_class_name::yypact_ninf_ = b4_pact_ninf[;
-
- const ]b4_int_type(b4_table_ninf, b4_table_ninf) b4_parser_class_name::yytable_ninf_ = b4_table_ninf[;
-
-]b4_parser_tables_define[
-
-]b4_token_table_if([], [[#if ]b4_api_PREFIX[DEBUG]])[
- // YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
- // First, the terminals, then, starting at \a yyntokens_, nonterminals.
- const char*
- const ]b4_parser_class_name[::yytname_[] =
- {
- ]b4_tname[
- };
-
-]b4_token_table_if([[#if ]b4_api_PREFIX[DEBUG]])[
-]b4_integral_parser_table_define([rline], [b4_rline])[
-
- // Print the state stack on the debug stream.
- void
- ]b4_parser_class_name[::yystack_print_ ()
- {
- *yycdebug_ << "Stack now";
- for (stack_type::const_iterator
- i = yystack_.begin (),
- i_end = yystack_.end ();
- i != i_end; ++i)
- *yycdebug_ << ' ' << i->state;
- *yycdebug_ << std::endl;
- }
-
- // Report on the debug stream that the rule \a yyrule is going to be reduced.
- void
- ]b4_parser_class_name[::yy_reduce_print_ (int yyrule)
- {
- unsigned int yylno = yyrline_[yyrule];
- int yynrhs = yyr2_[yyrule];
- // Print the symbols being reduced, and their result.
- *yycdebug_ << "Reducing stack by rule " << yyrule - 1
- << " (line " << yylno << "):" << std::endl;
- // The symbols being reduced.
- for (int yyi = 0; yyi < yynrhs; yyi++)
- YY_SYMBOL_PRINT (" $" << yyi + 1 << " =",
- ]b4_rhs_data(yynrhs, yyi + 1)[);
- }
-#endif // ]b4_api_PREFIX[DEBUG
-
-]b4_token_ctor_if([], [b4_yytranslate_define])[
-]b4_namespace_close[
-]b4_epilogue[]dnl
-b4_output_end()
-
-
-m4_popdef([b4_copyright_years])dnl
diff --git a/gnuwin32/bin/data/lalr1.java b/gnuwin32/bin/data/lalr1.java
deleted file mode 100644
index d137ed81..00000000
--- a/gnuwin32/bin/data/lalr1.java
+++ /dev/null
@@ -1,1065 +0,0 @@
-# Java skeleton for Bison -*- autoconf -*-
-
-# Copyright (C) 2007-2013 Free Software Foundation, Inc.
-
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-m4_include(b4_pkgdatadir/[java.m4])
-
-b4_defines_if([b4_fatal([%s: %%defines does not make sense in Java],
- [b4_skeleton])])
-
-# We do not depend on %debug in Java, but pacify warnings about
-# non-used flags.
-b4_parse_trace_if([0], [0])
-
-m4_define([b4_symbol_no_destructor_assert],
-[b4_symbol_if([$1], [has_destructor],
- [b4_fatal([%s: %s: %%destructor does not make sense in Java],
- [b4_skeleton],
- [b4_symbol_action_location([$1], [destructor])])])])
-b4_symbol_foreach([b4_symbol_no_destructor_assert])
-
-# Setup some macros for api.push-pull.
-b4_percent_define_default([[api.push-pull]], [[pull]])
-b4_percent_define_check_values([[[[api.push-pull]],
- [[pull]], [[push]], [[both]]]])
-
-# Define m4 conditional macros that encode the value
-# of the api.push-pull flag.
-b4_define_flag_if([pull]) m4_define([b4_pull_flag], [[1]])
-b4_define_flag_if([push]) m4_define([b4_push_flag], [[1]])
-m4_case(b4_percent_define_get([[api.push-pull]]),
- [pull], [m4_define([b4_push_flag], [[0]])],
- [push], [m4_define([b4_pull_flag], [[0]])])
-
-# Define a macro to be true when api.push-pull has the value "both".
-m4_define([b4_both_if],[b4_push_if([b4_pull_if([$1],[$2])],[$2])])
-
-# Handle BISON_USE_PUSH_FOR_PULL for the test suite. So that push parsing
-# tests function as written, do not let BISON_USE_PUSH_FOR_PULL modify the
-# behavior of Bison at all when push parsing is already requested.
-b4_define_flag_if([use_push_for_pull])
-b4_use_push_for_pull_if([
- b4_push_if([m4_define([b4_use_push_for_pull_flag], [[0]])],
- [m4_define([b4_push_flag], [[1]])])])
-
-# Define a macro to encapsulate the parse state variables.
-# This allows them to be defined either in parse() when doing
-# pull parsing, or as class instance variable when doing push parsing.
-m4_define([b4_define_state],[[
- /* Lookahead and lookahead in internal form. */
- int yychar = yyempty_;
- int yytoken = 0;
-
- /* State. */
- int yyn = 0;
- int yylen = 0;
- int yystate = 0;
- YYStack yystack = new YYStack ();
- int label = YYNEWSTATE;
-
- /* Error handling. */
- int yynerrs_ = 0;
- ]b4_locations_if([/* The location where the error started. */
- b4_location_type yyerrloc = null;
-
- /* Location. */
- b4_location_type yylloc = new b4_location_type (null, null);])[
-
- /* Semantic value of the lookahead. */
- ]b4_yystype[ yylval = null;
-]])
-
-b4_output_begin([b4_parser_file_name])
-b4_copyright([Skeleton implementation for Bison LALR(1) parsers in Java],
- [2007-2013])
-
-b4_percent_define_ifdef([package], [package b4_percent_define_get([package]);
-])[/* First part of user declarations. */
-]b4_user_pre_prologue
-b4_user_post_prologue
-b4_percent_code_get([[imports]])
-[/**
- * A Bison parser, automatically generated from <tt>]m4_bpatsubst(b4_file_name, [^"\(.*\)"$], [\1])[</tt>.
- *
- * @@author LALR (1) parser skeleton written by Paolo Bonzini.
- */
-]b4_percent_define_get3([annotations], [], [ ])dnl
-b4_public_if([public ])dnl
-b4_abstract_if([abstract ])dnl
-b4_final_if([final ])dnl
-b4_strictfp_if([strictfp ])dnl
-[class ]b4_parser_class_name[]dnl
-b4_percent_define_get3([extends], [ extends ])dnl
-b4_percent_define_get3([implements], [ implements ])[
-{
- ]b4_identification[
-]b4_error_verbose_if([[
- /**
- * True if verbose error messages are enabled.
- */
- private boolean yyErrorVerbose = true;
-
- /**
- * Return whether verbose error messages are enabled.
- */
- public final boolean getErrorVerbose() { return yyErrorVerbose; }
-
- /**
- * Set the verbosity of error messages.
- * @@param verbose True to request verbose error messages.
- */
- public final void setErrorVerbose(boolean verbose)
- { yyErrorVerbose = verbose; }
-]])
-
-b4_locations_if([[
- /**
- * A class defining a pair of positions. Positions, defined by the
- * <code>]b4_position_type[</code> class, denote a point in the input.
- * Locations represent a part of the input through the beginning
- * and ending positions.
- */
- public class ]b4_location_type[ {
- /**
- * The first, inclusive, position in the range.
- */
- public ]b4_position_type[ begin;
-
- /**
- * The first position beyond the range.
- */
- public ]b4_position_type[ end;
-
- /**
- * Create a <code>]b4_location_type[</code> denoting an empty range located at
- * a given point.
- * @@param loc The position at which the range is anchored.
- */
- public ]b4_location_type[ (]b4_position_type[ loc) {
- this.begin = this.end = loc;
- }
-
- /**
- * Create a <code>]b4_location_type[</code> from the endpoints of the range.
- * @@param begin The first position included in the range.
- * @@param end The first position beyond the range.
- */
- public ]b4_location_type[ (]b4_position_type[ begin, ]b4_position_type[ end) {
- this.begin = begin;
- this.end = end;
- }
-
- /**
- * Print a representation of the location. For this to be correct,
- * <code>]b4_position_type[</code> should override the <code>equals</code>
- * method.
- */
- public String toString () {
- if (begin.equals (end))
- return begin.toString ();
- else
- return begin.toString () + "-" + end.toString ();
- }
- }
-
-]])
-
- b4_locations_if([[
- private ]b4_location_type[ yylloc (YYStack rhs, int n)
- {
- if (n > 0)
- return new ]b4_location_type[ (rhs.locationAt (n-1).begin, rhs.locationAt (0).end);
- else
- return new ]b4_location_type[ (rhs.locationAt (0).end);
- }]])[
-
- /**
- * Communication interface between the scanner and the Bison-generated
- * parser <tt>]b4_parser_class_name[</tt>.
- */
- public interface Lexer {
- /** Token returned by the scanner to signal the end of its input. */
- public static final int EOF = 0;
-
-]b4_token_enums[
-
- ]b4_locations_if([[/**
- * Method to retrieve the beginning position of the last scanned token.
- * @@return the position at which the last scanned token starts.
- */
- ]b4_position_type[ getStartPos ();
-
- /**
- * Method to retrieve the ending position of the last scanned token.
- * @@return the first position beyond the last scanned token.
- */
- ]b4_position_type[ getEndPos ();]])[
-
- /**
- * Method to retrieve the semantic value of the last scanned token.
- * @@return the semantic value of the last scanned token.
- */
- ]b4_yystype[ getLVal ();
-
- /**
- * Entry point for the scanner. Returns the token identifier corresponding
- * to the next token and prepares to return the semantic value
- * ]b4_locations_if([and beginning/ending positions ])[of the token.
- * @@return the token identifier corresponding to the next token.
- */
- int yylex () ]b4_maybe_throws([b4_lex_throws])[;
-
- /**
- * Entry point for error reporting. Emits an error
- * ]b4_locations_if([referring to the given location ])[in a user-defined way.
- *
- * ]b4_locations_if([[@@param loc The location of the element to which the
- * error message is related]])[
- * @@param msg The string for the error message.
- */
- void yyerror (]b4_locations_if([b4_location_type[ loc, ]])[String msg);]
- }
-
- b4_lexer_if([[private class YYLexer implements Lexer {
-]b4_percent_code_get([[lexer]])[
- }
-
- ]])[/**
- * The object doing lexical analysis for us.
- */
- private Lexer yylexer;
- ]
- b4_parse_param_vars
-
-b4_lexer_if([[
- /**
- * Instantiates the Bison-generated parser.
- */
- public ]b4_parser_class_name (b4_parse_param_decl([b4_lex_param_decl])[) ]b4_maybe_throws([b4_init_throws])[
- {
- ]b4_percent_code_get([[init]])[
- this.yylexer = new YYLexer(]b4_lex_param_call[);
- ]b4_parse_param_cons[
- }
-]])
-
- /**
- * Instantiates the Bison-generated parser.
- * @@param yylexer The scanner that will supply tokens to the parser.
- */
- b4_lexer_if([[protected]], [[public]]) b4_parser_class_name[ (]b4_parse_param_decl([[Lexer yylexer]])[) ]b4_maybe_throws([b4_init_throws])[
- {
- ]b4_percent_code_get([[init]])[
- this.yylexer = yylexer;
- ]b4_parse_param_cons[
- }
-
- private java.io.PrintStream yyDebugStream = System.err;
-
- /**
- * Return the <tt>PrintStream</tt> on which the debugging output is
- * printed.
- */
- public final java.io.PrintStream getDebugStream () { return yyDebugStream; }
-
- /**
- * Set the <tt>PrintStream</tt> on which the debug output is printed.
- * @@param s The stream that is used for debugging output.
- */
- public final void setDebugStream(java.io.PrintStream s) { yyDebugStream = s; }
-
- private int yydebug = 0;
-
- /**
- * Answer the verbosity of the debugging output; 0 means that all kinds of
- * output from the parser are suppressed.
- */
- public final int getDebugLevel() { return yydebug; }
-
- /**
- * Set the verbosity of the debugging output; 0 means that all kinds of
- * output from the parser are suppressed.
- * @@param level The verbosity level for debugging output.
- */
- public final void setDebugLevel(int level) { yydebug = level; }
-
- /**
- * Print an error message via the lexer.
- *]b4_locations_if([[ Use a <code>null</code> location.]])[
- * @@param msg The error message.
- */
- public final void yyerror (String msg)
- {
- yylexer.yyerror (]b4_locations_if([[(]b4_location_type[)null, ]])[msg);
- }
-]b4_locations_if([[
- /**
- * Print an error message via the lexer.
- * @@param loc The location associated with the message.
- * @@param msg The error message.
- */
- public final void yyerror (]b4_location_type[ loc, String msg)
- {
- yylexer.yyerror (loc, msg);
- }
-
- /**
- * Print an error message via the lexer.
- * @@param pos The position associated with the message.
- * @@param msg The error message.
- */
- public final void yyerror (]b4_position_type[ pos, String msg)
- {
- yylexer.yyerror (new ]b4_location_type[ (pos), msg);
- }]])
-
- [protected final void yycdebug (String s) {
- if (yydebug > 0)
- yyDebugStream.println (s);
- }
-
- private final class YYStack {
- private int[] stateStack = new int[16];
- ]b4_locations_if([[private ]b4_location_type[[] locStack = new ]b4_location_type[[16];]])[
- private ]b4_yystype[[] valueStack = new ]b4_yystype[[16];
-
- public int size = 16;
- public int height = -1;
-
- public final void push (int state, ]b4_yystype[ value]dnl
- b4_locations_if([, ]b4_location_type[ loc])[) {
- height++;
- if (size == height)
- {
- int[] newStateStack = new int[size * 2];
- System.arraycopy (stateStack, 0, newStateStack, 0, height);
- stateStack = newStateStack;
- ]b4_locations_if([[
- ]b4_location_type[[] newLocStack = new ]b4_location_type[[size * 2];
- System.arraycopy (locStack, 0, newLocStack, 0, height);
- locStack = newLocStack;]])
-
- b4_yystype[[] newValueStack = new ]b4_yystype[[size * 2];
- System.arraycopy (valueStack, 0, newValueStack, 0, height);
- valueStack = newValueStack;
-
- size *= 2;
- }
-
- stateStack[height] = state;
- ]b4_locations_if([[locStack[height] = loc;]])[
- valueStack[height] = value;
- }
-
- public final void pop () {
- pop (1);
- }
-
- public final void pop (int num) {
- // Avoid memory leaks... garbage collection is a white lie!
- if (num > 0) {
- java.util.Arrays.fill (valueStack, height - num + 1, height + 1, null);
- ]b4_locations_if([[java.util.Arrays.fill (locStack, height - num + 1, height + 1, null);]])[
- }
- height -= num;
- }
-
- public final int stateAt (int i) {
- return stateStack[height - i];
- }
-
- ]b4_locations_if([[public final ]b4_location_type[ locationAt (int i) {
- return locStack[height - i];
- }
-
- ]])[public final ]b4_yystype[ valueAt (int i) {
- return valueStack[height - i];
- }
-
- // Print the state stack on the debug stream.
- public void print (java.io.PrintStream out)
- {
- out.print ("Stack now");
-
- for (int i = 0; i <= height; i++)
- {
- out.print (' ');
- out.print (stateStack[i]);
- }
- out.println ();
- }
- }
-
- /**
- * Returned by a Bison action in order to stop the parsing process and
- * return success (<tt>true</tt>).
- */
- public static final int YYACCEPT = 0;
-
- /**
- * Returned by a Bison action in order to stop the parsing process and
- * return failure (<tt>false</tt>).
- */
- public static final int YYABORT = 1;
-
-]b4_push_if([
- /**
- * Returned by a Bison action in order to request a new token.
- */
- public static final int YYPUSH_MORE = 4;])[
-
- /**
- * Returned by a Bison action in order to start error recovery without
- * printing an error message.
- */
- public static final int YYERROR = 2;
-
- /**
- * Internal return codes that are not supported for user semantic
- * actions.
- */
- private static final int YYERRLAB = 3;
- private static final int YYNEWSTATE = 4;
- private static final int YYDEFAULT = 5;
- private static final int YYREDUCE = 6;
- private static final int YYERRLAB1 = 7;
- private static final int YYRETURN = 8;
-]b4_push_if([[ private static final int YYGETTOKEN = 9; /* Signify that a new token is expected when doing push-parsing. */]])[
-
- private int yyerrstatus_ = 0;
-
-]b4_push_if([dnl
-b4_define_state])[
- /**
- * Return whether error recovery is being done. In this state, the parser
- * reads token until it reaches a known state, and then restarts normal
- * operation.
- */
- public final boolean recovering ()
- {
- return yyerrstatus_ == 0;
- }
-
- private int yyaction (int yyn, YYStack yystack, int yylen) ]b4_maybe_throws([b4_throws])[
- {
- ]b4_yystype[ yyval;
- ]b4_locations_if([b4_location_type[ yyloc = yylloc (yystack, yylen);]])[
-
- /* If YYLEN is nonzero, implement the default value of the action:
- '$$ = $1'. Otherwise, use the top of the stack.
-
- Otherwise, the following line sets YYVAL to garbage.
- This behavior is undocumented and Bison
- users should not rely upon it. */
- if (yylen > 0)
- yyval = yystack.valueAt (yylen - 1);
- else
- yyval = yystack.valueAt (0);
-
- yy_reduce_print (yyn, yystack);
-
- switch (yyn)
- {
- ]b4_user_actions[
- default: break;
- }
-
- yy_symbol_print ("-> $$ =", yyr1_[yyn], yyval]b4_locations_if([, yyloc])[);
-
- yystack.pop (yylen);
- yylen = 0;
-
- /* Shift the result of the reduction. */
- yyn = yyr1_[yyn];
- int yystate = yypgoto_[yyn - yyntokens_] + yystack.stateAt (0);
- if (0 <= yystate && yystate <= yylast_
- && yycheck_[yystate] == yystack.stateAt (0))
- yystate = yytable_[yystate];
- else
- yystate = yydefgoto_[yyn - yyntokens_];
-
- yystack.push (yystate, yyval]b4_locations_if([, yyloc])[);
- return YYNEWSTATE;
- }
-
-]b4_error_verbose_if([[
- /* Return YYSTR after stripping away unnecessary quotes and
- backslashes, so that it's suitable for yyerror. The heuristic is
- that double-quoting is unnecessary unless the string contains an
- apostrophe, a comma, or backslash (other than backslash-backslash).
- YYSTR is taken from yytname. */
- private final String yytnamerr_ (String yystr)
- {
- if (yystr.charAt (0) == '"')
- {
- StringBuffer yyr = new StringBuffer ();
- strip_quotes: for (int i = 1; i < yystr.length (); i++)
- switch (yystr.charAt (i))
- {
- case '\'':
- case ',':
- break strip_quotes;
-
- case '\\':
- if (yystr.charAt(++i) != '\\')
- break strip_quotes;
- /* Fall through. */
- default:
- yyr.append (yystr.charAt (i));
- break;
-
- case '"':
- return yyr.toString ();
- }
- }
- else if (yystr.equals ("$end"))
- return "end of input";
-
- return yystr;
- }
-]])[
-
- /*--------------------------------.
- | Print this symbol on YYOUTPUT. |
- `--------------------------------*/
-
- private void yy_symbol_print (String s, int yytype,
- ]b4_yystype[ yyvaluep]dnl
- b4_locations_if([, Object yylocationp])[)
- {
- if (yydebug > 0)
- yycdebug (s + (yytype < yyntokens_ ? " token " : " nterm ")
- + yytname_[yytype] + " ("]b4_locations_if([
- + yylocationp + ": "])[
- + (yyvaluep == null ? "(null)" : yyvaluep.toString ()) + ")");
- }
-
-]b4_push_if([],[[
- /**
- * Parse input from the scanner that was specified at object construction
- * time. Return whether the end of the input was reached successfully.
- *
- * @@return <tt>true</tt> if the parsing succeeds. Note that this does not
- * imply that there were no syntax errors.
- */
- public boolean parse () ]b4_maybe_throws([b4_list2([b4_lex_throws], [b4_throws])])[]])[
-]b4_push_if([
- /**
- * Push Parse input from external lexer
- *
- * @@param yylextoken current token
- * @@param yylexval current lval
-]b4_locations_if([ * @@param yylexloc current position])[
- *
- * @@return <tt>YYACCEPT, YYABORT, YYPUSH_MORE</tt>
- */
- public int push_parse (int yylextoken, b4_yystype yylexval[]b4_locations_if([, b4_location_type yylexloc]))
- b4_maybe_throws([b4_list2([b4_lex_throws], [b4_throws])])])[
- {
- ]b4_locations_if([/* @@$. */
- b4_location_type yyloc;])[
-]b4_push_if([],[[
-]b4_define_state[
- yycdebug ("Starting parse\n");
- yyerrstatus_ = 0;
-
- /* Initialize the stack. */
- yystack.push (yystate, yylval ]b4_locations_if([, yylloc])[);
-]m4_ifdef([b4_initial_action], [
-b4_dollar_pushdef([yylval], [], [yylloc])dnl
- /* User initialization code. */
- b4_user_initial_action
-b4_dollar_popdef[]dnl
-])[
-]])[
-]b4_push_if([[
- if (!this.push_parse_initialized)
- {
- push_parse_initialize ();
-]m4_ifdef([b4_initial_action], [
-b4_dollar_pushdef([yylval], [], [yylloc])dnl
- /* User initialization code. */
- b4_user_initial_action
-b4_dollar_popdef[]dnl
-])[
- yycdebug ("Starting parse\n");
- yyerrstatus_ = 0;
- } else
- label = YYGETTOKEN;
-
- boolean push_token_consumed = true;
-]])[
- for (;;)
- switch (label)
- {
- /* New state. Unlike in the C/C++ skeletons, the state is already
- pushed when we come here. */
- case YYNEWSTATE:
- yycdebug ("Entering state " + yystate + "\n");
- if (yydebug > 0)
- yystack.print (yyDebugStream);
-
- /* Accept? */
- if (yystate == yyfinal_)
- ]b4_push_if([{label = YYACCEPT; break;}],
- [return true;])[
-
- /* Take a decision. First try without lookahead. */
- yyn = yypact_[yystate];
- if (yy_pact_value_is_default_ (yyn))
- {
- label = YYDEFAULT;
- break;
- }
-]b4_push_if([ /* Fall Through */
-
- case YYGETTOKEN:])[
- /* Read a lookahead token. */
- if (yychar == yyempty_)
- {
-]b4_push_if([[
- if (!push_token_consumed)
- return YYPUSH_MORE;
- yycdebug ("Reading a token: ");
- yychar = yylextoken;
- yylval = yylexval;]b4_locations_if([
- yylloc = yylexloc;])[
- push_token_consumed = false;]])[
-]b4_push_if([],[[
- yycdebug ("Reading a token: ");
- yychar = yylexer.yylex ();
- yylval = yylexer.getLVal ();]b4_locations_if([
- yylloc = new b4_location_type (yylexer.getStartPos (),
- yylexer.getEndPos ());])[
-]])[
- }
-
- /* Convert token to internal form. */
- if (yychar <= Lexer.EOF)
- {
- yychar = yytoken = Lexer.EOF;
- yycdebug ("Now at end of input.\n");
- }
- else
- {
- yytoken = yytranslate_ (yychar);
- yy_symbol_print ("Next token is", yytoken,
- yylval]b4_locations_if([, yylloc])[);
- }
-
- /* If the proper action on seeing token YYTOKEN is to reduce or to
- detect an error, take that action. */
- yyn += yytoken;
- if (yyn < 0 || yylast_ < yyn || yycheck_[yyn] != yytoken)
- label = YYDEFAULT;
-
- /* <= 0 means reduce or error. */
- else if ((yyn = yytable_[yyn]) <= 0)
- {
- if (yy_table_value_is_error_ (yyn))
- label = YYERRLAB;
- else
- {
- yyn = -yyn;
- label = YYREDUCE;
- }
- }
-
- else
- {
- /* Shift the lookahead token. */
- yy_symbol_print ("Shifting", yytoken,
- yylval]b4_locations_if([, yylloc])[);
-
- /* Discard the token being shifted. */
- yychar = yyempty_;
-
- /* Count tokens shifted since error; after three, turn off error
- status. */
- if (yyerrstatus_ > 0)
- --yyerrstatus_;
-
- yystate = yyn;
- yystack.push (yystate, yylval]b4_locations_if([, yylloc])[);
- label = YYNEWSTATE;
- }
- break;
-
- /*-----------------------------------------------------------.
- | yydefault -- do the default action for the current state. |
- `-----------------------------------------------------------*/
- case YYDEFAULT:
- yyn = yydefact_[yystate];
- if (yyn == 0)
- label = YYERRLAB;
- else
- label = YYREDUCE;
- break;
-
- /*-----------------------------.
- | yyreduce -- Do a reduction. |
- `-----------------------------*/
- case YYREDUCE:
- yylen = yyr2_[yyn];
- label = yyaction (yyn, yystack, yylen);
- yystate = yystack.stateAt (0);
- break;
-
- /*------------------------------------.
- | yyerrlab -- here on detecting error |
- `------------------------------------*/
- case YYERRLAB:
- /* If not already recovering from an error, report this error. */
- if (yyerrstatus_ == 0)
- {
- ++yynerrs_;
- if (yychar == yyempty_)
- yytoken = yyempty_;
- yyerror (]b4_locations_if([yylloc, ])[yysyntax_error (yystate, yytoken));
- }
-
- ]b4_locations_if([yyerrloc = yylloc;])[
- if (yyerrstatus_ == 3)
- {
- /* If just tried and failed to reuse lookahead token after an
- error, discard it. */
-
- if (yychar <= Lexer.EOF)
- {
- /* Return failure if at end of input. */
- if (yychar == Lexer.EOF)
- ]b4_push_if([{label = YYABORT; break;}],[return false;])[
- }
- else
- yychar = yyempty_;
- }
-
- /* Else will try to reuse lookahead token after shifting the error
- token. */
- label = YYERRLAB1;
- break;
-
- /*-------------------------------------------------.
- | errorlab -- error raised explicitly by YYERROR. |
- `-------------------------------------------------*/
- case YYERROR:
-
- ]b4_locations_if([yyerrloc = yystack.locationAt (yylen - 1);])[
- /* Do not reclaim the symbols of the rule which action triggered
- this YYERROR. */
- yystack.pop (yylen);
- yylen = 0;
- yystate = yystack.stateAt (0);
- label = YYERRLAB1;
- break;
-
- /*-------------------------------------------------------------.
- | yyerrlab1 -- common code for both syntax error and YYERROR. |
- `-------------------------------------------------------------*/
- case YYERRLAB1:
- yyerrstatus_ = 3; /* Each real token shifted decrements this. */
-
- for (;;)
- {
- yyn = yypact_[yystate];
- if (!yy_pact_value_is_default_ (yyn))
- {
- yyn += yyterror_;
- if (0 <= yyn && yyn <= yylast_ && yycheck_[yyn] == yyterror_)
- {
- yyn = yytable_[yyn];
- if (0 < yyn)
- break;
- }
- }
-
- /* Pop the current state because it cannot handle the
- * error token. */
- if (yystack.height == 0)
- ]b4_push_if([{label = YYABORT; break;}],[return false;])[
-
- ]b4_locations_if([yyerrloc = yystack.locationAt (0);])[
- yystack.pop ();
- yystate = yystack.stateAt (0);
- if (yydebug > 0)
- yystack.print (yyDebugStream);
- }
-
- if (label == YYABORT)
- /* Leave the switch. */
- break;
-
-]b4_locations_if([
- /* Muck with the stack to setup for yylloc. */
- yystack.push (0, null, yylloc);
- yystack.push (0, null, yyerrloc);
- yyloc = yylloc (yystack, 2);
- yystack.pop (2);])[
-
- /* Shift the error token. */
- yy_symbol_print ("Shifting", yystos_[yyn],
- yylval]b4_locations_if([, yyloc])[);
-
- yystate = yyn;
- yystack.push (yyn, yylval]b4_locations_if([, yyloc])[);
- label = YYNEWSTATE;
- break;
-
- /* Accept. */
- case YYACCEPT:
- ]b4_push_if([this.push_parse_initialized = false; return YYACCEPT;],
- [return true;])[
-
- /* Abort. */
- case YYABORT:
- ]b4_push_if([this.push_parse_initialized = false; return YYABORT;],
- [return false;])[
- }
-}
-]b4_push_if([[
- boolean push_parse_initialized = false;
-
- /**
- * (Re-)Initialize the state of the push parser.
- */
- public void push_parse_initialize()
- {
- /* Lookahead and lookahead in internal form. */
- this.yychar = yyempty_;
- this.yytoken = 0;
-
- /* State. */
- this.yyn = 0;
- this.yylen = 0;
- this.yystate = 0;
- this.yystack = new YYStack ();
- this.label = YYNEWSTATE;
-
- /* Error handling. */
- this.yynerrs_ = 0;
- ]b4_locations_if([/* The location where the error started. */
- this.yyerrloc = null;
- this.yylloc = new b4_location_type (null, null);])[
-
- /* Semantic value of the lookahead. */
- this.yylval = null;
-
- yystack.push (this.yystate, this.yylval]b4_locations_if([, this.yylloc])[);
-
- this.push_parse_initialized = true;
-
- }
-]b4_locations_if([
- /**
- * Push parse given input from an external lexer.
- *
- * @@param yylextoken current token
- * @@param yylexval current lval
- * @@param yyylexpos current position
- *
- * @@return <tt>YYACCEPT, YYABORT, YYPUSH_MORE</tt>
- */
- public int push_parse (int yylextoken, b4_yystype yylexval, b4_position_type yylexpos)
- b4_maybe_throws([b4_list2([b4_lex_throws], [b4_throws])])
- {
- return push_parse (yylextoken, yylexval, new b4_location_type (yylexpos));
- }
-])[]])
-
-b4_both_if([[
- /**
- * Parse input from the scanner that was specified at object construction
- * time. Return whether the end of the input was reached successfully.
- * This version of parse () is defined only when api.push-push=both.
- *
- * @@return <tt>true</tt> if the parsing succeeds. Note that this does not
- * imply that there were no syntax errors.
- */
- public boolean parse () ]b4_maybe_throws([b4_list2([b4_lex_throws], [b4_throws])])[
- {
- if (yylexer == null)
- throw new NullPointerException("Null Lexer");
- int status;
- do {
- int token = yylexer.yylex();
- ]b4_yystype[ lval = yylexer.getLVal();
-]b4_locations_if([dnl
- b4_location_type yyloc = new b4_location_type (yylexer.getStartPos (),
- yylexer.getEndPos ());])[
- ]b4_locations_if([status = push_parse(token,lval,yyloc);],[
- status = push_parse(token,lval);])[
- } while (status == YYPUSH_MORE);
- return (status == YYACCEPT);
- }
-]])[
-
- // Generate an error message.
- private String yysyntax_error (int yystate, int tok)
- {]b4_error_verbose_if([[
- if (yyErrorVerbose)
- {
- /* There are many possibilities here to consider:
- - If this state is a consistent state with a default action,
- then the only way this function was invoked is if the
- default action is an error action. In that case, don't
- check for expected tokens because there are none.
- - The only way there can be no lookahead present (in tok) is
- if this state is a consistent state with a default action.
- Thus, detecting the absence of a lookahead is sufficient to
- determine that there is no unexpected or expected token to
- report. In that case, just report a simple "syntax error".
- - Don't assume there isn't a lookahead just because this
- state is a consistent state with a default action. There
- might have been a previous inconsistent state, consistent
- state with a non-default action, or user semantic action
- that manipulated yychar. (However, yychar is currently out
- of scope during semantic actions.)
- - Of course, the expected token list depends on states to
- have correct lookahead information, and it depends on the
- parser not to perform extra reductions after fetching a
- lookahead from the scanner and before detecting a syntax
- error. Thus, state merging (from LALR or IELR) and default
- reductions corrupt the expected token list. However, the
- list is correct for canonical LR with one exception: it
- will still contain any token that will not be accepted due
- to an error action in a later state.
- */
- if (tok != yyempty_)
- {
- /* FIXME: This method of building the message is not compatible
- with internationalization. */
- StringBuffer res =
- new StringBuffer ("syntax error, unexpected ");
- res.append (yytnamerr_ (yytname_[tok]));
- int yyn = yypact_[yystate];
- if (!yy_pact_value_is_default_ (yyn))
- {
- /* Start YYX at -YYN if negative to avoid negative
- indexes in YYCHECK. In other words, skip the first
- -YYN actions for this state because they are default
- actions. */
- int yyxbegin = yyn < 0 ? -yyn : 0;
- /* Stay within bounds of both yycheck and yytname. */
- int yychecklim = yylast_ - yyn + 1;
- int yyxend = yychecklim < yyntokens_ ? yychecklim : yyntokens_;
- int count = 0;
- for (int x = yyxbegin; x < yyxend; ++x)
- if (yycheck_[x + yyn] == x && x != yyterror_
- && !yy_table_value_is_error_ (yytable_[x + yyn]))
- ++count;
- if (count < 5)
- {
- count = 0;
- for (int x = yyxbegin; x < yyxend; ++x)
- if (yycheck_[x + yyn] == x && x != yyterror_
- && !yy_table_value_is_error_ (yytable_[x + yyn]))
- {
- res.append (count++ == 0 ? ", expecting " : " or ");
- res.append (yytnamerr_ (yytname_[x]));
- }
- }
- }
- return res.toString ();
- }
- }
-]])[
- return "syntax error";
- }
-
- /**
- * Whether the given <code>yypact_</code> value indicates a defaulted state.
- * @@param yyvalue the value to check
- */
- private static boolean yy_pact_value_is_default_ (int yyvalue)
- {
- return yyvalue == yypact_ninf_;
- }
-
- /**
- * Whether the given <code>yytable_</code>
- * value indicates a syntax error.
- * @@param yyvalue the value to check
- */
- private static boolean yy_table_value_is_error_ (int yyvalue)
- {
- return yyvalue == yytable_ninf_;
- }
-
- private static final ]b4_int_type_for([b4_pact])[ yypact_ninf_ = ]b4_pact_ninf[;
- private static final ]b4_int_type_for([b4_table])[ yytable_ninf_ = ]b4_table_ninf[;
-
- ]b4_parser_tables_define[
- ]b4_integral_parser_table_define([token_number], [b4_toknum],
- [[YYTOKEN_NUMBER[YYLEX-NUM] -- Internal symbol number corresponding
- to YYLEX-NUM.]])[
-
- /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
- First, the terminals, then, starting at \a yyntokens_, nonterminals. */
- ]b4_typed_parser_table_define([String], [tname], [b4_tname])[
-
- ]b4_integral_parser_table_define([rline], [b4_rline],
- [[YYRLINE[YYN] -- Source line where rule number YYN was defined.]])[
-
-
- // Report on the debug stream that the rule yyrule is going to be reduced.
- private void yy_reduce_print (int yyrule, YYStack yystack)
- {
- if (yydebug == 0)
- return;
-
- int yylno = yyrline_[yyrule];
- int yynrhs = yyr2_[yyrule];
- /* Print the symbols being reduced, and their result. */
- yycdebug ("Reducing stack by rule " + (yyrule - 1)
- + " (line " + yylno + "), ");
-
- /* The symbols being reduced. */
- for (int yyi = 0; yyi < yynrhs; yyi++)
- yy_symbol_print (" $" + (yyi + 1) + " =",
- yystos_[yystack.stateAt(yynrhs - (yyi + 1))],
- ]b4_rhs_value(yynrhs, yyi + 1)b4_locations_if([,
- b4_rhs_location(yynrhs, yyi + 1)])[);
- }
-
- /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
- ]b4_integral_parser_table_define([translate_table], [b4_translate])[
-
- private static final ]b4_int_type_for([b4_translate])[ yytranslate_ (int t)
- {
- if (t >= 0 && t <= yyuser_token_number_max_)
- return yytranslate_table_[t];
- else
- return yyundef_token_;
- }
-
- private static final int yylast_ = ]b4_last[;
- private static final int yynnts_ = ]b4_nterms_number[;
- private static final int yyempty_ = -2;
- private static final int yyfinal_ = ]b4_final_state_number[;
- private static final int yyterror_ = 1;
- private static final int yyerrcode_ = 256;
- private static final int yyntokens_ = ]b4_tokens_number[;
-
- private static final int yyuser_token_number_max_ = ]b4_user_token_number_max[;
- private static final int yyundef_token_ = ]b4_undef_token_number[;
-
-]/* User implementation code. */
-b4_percent_code_get[]dnl
-
-}
-
-b4_epilogue[]dnl
-b4_output_end()
diff --git a/gnuwin32/bin/data/local.mk b/gnuwin32/bin/data/local.mk
deleted file mode 100644
index b8290522..00000000
--- a/gnuwin32/bin/data/local.mk
+++ /dev/null
@@ -1,45 +0,0 @@
-## Copyright (C) 2002, 2005-2013 Free Software Foundation, Inc.
-
-## This program is free software: you can redistribute it and/or modify
-## it under the terms of the GNU General Public License as published by
-## the Free Software Foundation, either version 3 of the License, or
-## (at your option) any later version.
-##
-## This program is distributed in the hope that it will be useful,
-## but WITHOUT ANY WARRANTY; without even the implied warranty of
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-## GNU General Public License for more details.
-##
-## You should have received a copy of the GNU General Public License
-## along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-dist_pkgdata_DATA = \
- data/README \
- data/bison.m4 \
- data/c++-skel.m4 \
- data/c++.m4 \
- data/c-like.m4 \
- data/c-skel.m4 \
- data/c.m4 \
- data/glr.c \
- data/glr.cc \
- data/java-skel.m4 \
- data/java.m4 \
- data/lalr1.cc \
- data/lalr1.java \
- data/location.cc \
- data/stack.hh \
- data/variant.hh \
- data/yacc.c
-
-m4sugardir = $(pkgdatadir)/m4sugar
-dist_m4sugar_DATA = \
- data/m4sugar/foreach.m4 \
- data/m4sugar/m4sugar.m4
-
-xsltdir = $(pkgdatadir)/xslt
-dist_xslt_DATA = \
- data/xslt/bison.xsl \
- data/xslt/xml2dot.xsl \
- data/xslt/xml2text.xsl \
- data/xslt/xml2xhtml.xsl
diff --git a/gnuwin32/bin/data/location.cc b/gnuwin32/bin/data/location.cc
deleted file mode 100644
index 9a60f250..00000000
--- a/gnuwin32/bin/data/location.cc
+++ /dev/null
@@ -1,335 +0,0 @@
-# C++ skeleton for Bison
-
-# Copyright (C) 2002-2013 Free Software Foundation, Inc.
-
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-m4_pushdef([b4_copyright_years],
- [2002-2013])
-
-# b4_position_define
-# ------------------
-# Define class position.
-m4_define([b4_position_define],
-[[ /// Abstract a position.
- class position
- {
- public:]m4_ifdef([b4_location_constructors], [[
- /// Construct a position.
- explicit position (]b4_percent_define_get([[filename_type]])[* f = YY_NULL,
- unsigned int l = ]b4_location_initial_line[u,
- unsigned int c = ]b4_location_initial_column[u)
- : filename (f)
- , line (l)
- , column (c)
- {
- }
-
-]])[
- /// Initialization.
- void initialize (]b4_percent_define_get([[filename_type]])[* fn = YY_NULL,
- unsigned int l = ]b4_location_initial_line[u,
- unsigned int c = ]b4_location_initial_column[u)
- {
- filename = fn;
- line = l;
- column = c;
- }
-
- /** \name Line and Column related manipulators
- ** \{ */
- /// (line related) Advance to the COUNT next lines.
- void lines (int count = 1)
- {
- if (count)
- {
- column = ]b4_location_initial_column[u;
- line = add_ (line, count, ]b4_location_initial_line[);
- }
- }
-
- /// (column related) Advance to the COUNT next columns.
- void columns (int count = 1)
- {
- column = add_ (column, count, ]b4_location_initial_column[);
- }
- /** \} */
-
- /// File name to which this position refers.
- ]b4_percent_define_get([[filename_type]])[* filename;
- /// Current line number.
- unsigned int line;
- /// Current column number.
- unsigned int column;
-
- private:
- /// Compute max(min, lhs+rhs) (provided min <= lhs).
- static unsigned int add_ (unsigned int lhs, int rhs, unsigned int min)
- {
- return (0 < rhs || -static_cast<unsigned int>(rhs) < lhs
- ? rhs + lhs
- : min);
- }
- };
-
- /// Add and assign a position.
- inline position&
- operator+= (position& res, int width)
- {
- res.columns (width);
- return res;
- }
-
- /// Add two position objects.
- inline position
- operator+ (position res, int width)
- {
- return res += width;
- }
-
- /// Add and assign a position.
- inline position&
- operator-= (position& res, int width)
- {
- return res += -width;
- }
-
- /// Add two position objects.
- inline position
- operator- (position res, int width)
- {
- return res -= width;
- }
-]b4_percent_define_flag_if([[define_location_comparison]], [[
- /// Compare two position objects.
- inline bool
- operator== (const position& pos1, const position& pos2)
- {
- return (pos1.line == pos2.line
- && pos1.column == pos2.column
- && (pos1.filename == pos2.filename
- || (pos1.filename && pos2.filename
- && *pos1.filename == *pos2.filename)));
- }
-
- /// Compare two position objects.
- inline bool
- operator!= (const position& pos1, const position& pos2)
- {
- return !(pos1 == pos2);
- }
-]])[
- /** \brief Intercept output stream redirection.
- ** \param ostr the destination output stream
- ** \param pos a reference to the position to redirect
- */
- template <typename YYChar>
- inline std::basic_ostream<YYChar>&
- operator<< (std::basic_ostream<YYChar>& ostr, const position& pos)
- {
- if (pos.filename)
- ostr << *pos.filename << ':';
- return ostr << pos.line << '.' << pos.column;
- }
-]])
-
-
-# b4_location_define
-# ------------------
-m4_define([b4_location_define],
-[[ /// Abstract a location.
- class location
- {
- public:
-]m4_ifdef([b4_location_constructors], [
- /// Construct a location from \a b to \a e.
- location (const position& b, const position& e)
- : begin (b)
- , end (e)
- {
- }
-
- /// Construct a 0-width location in \a p.
- explicit location (const position& p = position ())
- : begin (p)
- , end (p)
- {
- }
-
- /// Construct a 0-width location in \a f, \a l, \a c.
- explicit location (]b4_percent_define_get([[filename_type]])[* f,
- unsigned int l = ]b4_location_initial_line[u,
- unsigned int c = ]b4_location_initial_column[u)
- : begin (f, l, c)
- , end (f, l, c)
- {
- }
-
-])[
- /// Initialization.
- void initialize (]b4_percent_define_get([[filename_type]])[* f = YY_NULL,
- unsigned int l = ]b4_location_initial_line[u,
- unsigned int c = ]b4_location_initial_column[u)
- {
- begin.initialize (f, l, c);
- end = begin;
- }
-
- /** \name Line and Column related manipulators
- ** \{ */
- public:
- /// Reset initial location to final location.
- void step ()
- {
- begin = end;
- }
-
- /// Extend the current location to the COUNT next columns.
- void columns (int count = 1)
- {
- end += count;
- }
-
- /// Extend the current location to the COUNT next lines.
- void lines (int count = 1)
- {
- end.lines (count);
- }
- /** \} */
-
-
- public:
- /// Beginning of the located region.
- position begin;
- /// End of the located region.
- position end;
- };
-
- /// Join two location objects to create a location.
- inline location operator+ (location res, const location& end)
- {
- res.end = end.end;
- return res;
- }
-
- /// Change end position in place.
- inline location& operator+= (location& res, int width)
- {
- res.columns (width);
- return res;
- }
-
- /// Change end position.
- inline location operator+ (location res, int width)
- {
- return res += width;
- }
-
- /// Change end position in place.
- inline location& operator-= (location& res, int width)
- {
- return res += -width;
- }
-
- /// Change end position.
- inline location operator- (const location& begin, int width)
- {
- return begin + -width;
- }
-]b4_percent_define_flag_if([[define_location_comparison]], [[
- /// Compare two location objects.
- inline bool
- operator== (const location& loc1, const location& loc2)
- {
- return loc1.begin == loc2.begin && loc1.end == loc2.end;
- }
-
- /// Compare two location objects.
- inline bool
- operator!= (const location& loc1, const location& loc2)
- {
- return !(loc1 == loc2);
- }
-]])[
- /** \brief Intercept output stream redirection.
- ** \param ostr the destination output stream
- ** \param loc a reference to the location to redirect
- **
- ** Avoid duplicate information.
- */
- template <typename YYChar>
- inline std::basic_ostream<YYChar>&
- operator<< (std::basic_ostream<YYChar>& ostr, const location& loc)
- {
- unsigned int end_col = 0 < loc.end.column ? loc.end.column - 1 : 0;
- ostr << loc.begin// << "(" << loc.end << ") "
-;
- if (loc.end.filename
- && (!loc.begin.filename
- || *loc.begin.filename != *loc.end.filename))
- ostr << '-' << loc.end.filename << ':' << loc.end.line << '.' << end_col;
- else if (loc.begin.line < loc.end.line)
- ostr << '-' << loc.end.line << '.' << end_col;
- else if (loc.begin.column < end_col)
- ostr << '-' << end_col;
- return ostr;
- }
-]])
-
-
-b4_defines_if([
-b4_output_begin([b4_dir_prefix[]position.hh])
-b4_copyright([Positions for Bison parsers in C++])[
-
-/**
- ** \file ]b4_dir_prefix[position.hh
- ** Define the ]b4_namespace_ref[::position class.
- */
-
-]b4_cpp_guard_open([b4_dir_prefix[]position.hh])[
-
-# include <algorithm> // std::max
-# include <iostream>
-# include <string>
-
-]b4_null_define[
-
-]b4_namespace_open[
-]b4_position_define[
-]b4_namespace_close[
-]b4_cpp_guard_close([b4_dir_prefix[]position.hh])
-b4_output_end()
-
-
-b4_output_begin([b4_dir_prefix[]location.hh])
-b4_copyright([Locations for Bison parsers in C++])[
-
-/**
- ** \file ]b4_dir_prefix[location.hh
- ** Define the ]b4_namespace_ref[::location class.
- */
-
-]b4_cpp_guard_open([b4_dir_prefix[]location.hh])[
-
-# include "position.hh"
-
-]b4_namespace_open[
-]b4_location_define[
-]b4_namespace_close[
-]b4_cpp_guard_close([b4_dir_prefix[]location.hh])
-b4_output_end()
-])
-
-
-m4_popdef([b4_copyright_years])
diff --git a/gnuwin32/bin/data/m4sugar/foreach.m4 b/gnuwin32/bin/data/m4sugar/foreach.m4
deleted file mode 100644
index f6a63944..00000000
--- a/gnuwin32/bin/data/m4sugar/foreach.m4
+++ /dev/null
@@ -1,362 +0,0 @@
-# -*- Autoconf -*-
-# This file is part of Autoconf.
-# foreach-based replacements for recursive functions.
-# Speeds up GNU M4 1.4.x by avoiding quadratic $@ recursion, but penalizes
-# GNU M4 1.6 by requiring more memory and macro expansions.
-#
-# Copyright (C) 2008-2013 Free Software Foundation, Inc.
-
-# This file is part of Autoconf. This program is free
-# software; you can redistribute it and/or modify it under the
-# terms of the GNU General Public License as published by the
-# Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# Under Section 7 of GPL version 3, you are granted additional
-# permissions described in the Autoconf Configure Script Exception,
-# version 3.0, as published by the Free Software Foundation.
-#
-# You should have received a copy of the GNU General Public License
-# and a copy of the Autoconf Configure Script Exception along with
-# this program; see the files COPYINGv3 and COPYING.EXCEPTION
-# respectively. If not, see <http://www.gnu.org/licenses/>.
-
-# Written by Eric Blake.
-
-# In M4 1.4.x, every byte of $@ is rescanned. This means that an
-# algorithm on n arguments that recurses with one less argument each
-# iteration will scan n * (n + 1) / 2 arguments, for O(n^2) time. In
-# M4 1.6, this was fixed so that $@ is only scanned once, then
-# back-references are made to information stored about the scan.
-# Thus, n iterations need only scan n arguments, for O(n) time.
-# Additionally, in M4 1.4.x, recursive algorithms did not clean up
-# memory very well, requiring O(n^2) memory rather than O(n) for n
-# iterations.
-#
-# This file is designed to overcome the quadratic nature of $@
-# recursion by writing a variant of m4_foreach that uses m4_for rather
-# than $@ recursion to operate on the list. This involves more macro
-# expansions, but avoids the need to rescan a quadratic number of
-# arguments, making these replacements very attractive for M4 1.4.x.
-# On the other hand, in any version of M4, expanding additional macros
-# costs additional time; therefore, in M4 1.6, where $@ recursion uses
-# fewer macros, these replacements actually pessimize performance.
-# Additionally, the use of $10 to mean the tenth argument violates
-# POSIX; although all versions of m4 1.4.x support this meaning, a
-# future m4 version may switch to take it as the first argument
-# concatenated with a literal 0, so the implementations in this file
-# are not future-proof. Thus, this file is conditionally included as
-# part of m4_init(), only when it is detected that M4 probably has
-# quadratic behavior (ie. it lacks the macro __m4_version__).
-#
-# Please keep this file in sync with m4sugar.m4.
-
-# _m4_foreach(PRE, POST, IGNORED, ARG...)
-# ---------------------------------------
-# Form the common basis of the m4_foreach and m4_map macros. For each
-# ARG, expand PRE[ARG]POST[]. The IGNORED argument makes recursion
-# easier, and must be supplied rather than implicit.
-#
-# This version minimizes the number of times that $@ is evaluated by
-# using m4_for to generate a boilerplate into _m4_f then passing $@ to
-# that temporary macro. Thus, the recursion is done in m4_for without
-# reparsing any user input, and is not quadratic. For an idea of how
-# this works, note that m4_foreach(i,[1,2],[i]) calls
-# _m4_foreach([m4_define([i],],[)i],[],[1],[2])
-# which defines _m4_f:
-# $1[$4]$2[]$1[$5]$2[]_m4_popdef([_m4_f])
-# then calls _m4_f([m4_define([i],],[)i],[],[1],[2]) for a net result:
-# m4_define([i],[1])i[]m4_define([i],[2])i[]_m4_popdef([_m4_f]).
-m4_define([_m4_foreach],
-[m4_if([$#], [3], [],
- [m4_pushdef([_m4_f], _m4_for([4], [$#], [1],
- [$0_([1], [2],], [)])[_m4_popdef([_m4_f])])_m4_f($@)])])
-
-m4_define([_m4_foreach_],
-[[$$1[$$3]$$2[]]])
-
-# m4_case(SWITCH, VAL1, IF-VAL1, VAL2, IF-VAL2, ..., DEFAULT)
-# -----------------------------------------------------------
-# Find the first VAL that SWITCH matches, and expand the corresponding
-# IF-VAL. If there are no matches, expand DEFAULT.
-#
-# Use m4_for to create a temporary macro in terms of a boilerplate
-# m4_if with final cleanup. If $# is even, we have DEFAULT; if it is
-# odd, then rounding the last $# up in the temporary macro is
-# harmless. For example, both m4_case(1,2,3,4,5) and
-# m4_case(1,2,3,4,5,6) result in the intermediate _m4_case being
-# m4_if([$1],[$2],[$3],[$1],[$4],[$5],_m4_popdef([_m4_case])[$6])
-m4_define([m4_case],
-[m4_if(m4_eval([$# <= 2]), [1], [$2],
-[m4_pushdef([_$0], [m4_if(]_m4_for([2], m4_eval([($# - 1) / 2 * 2]), [2],
- [_$0_(], [)])[_m4_popdef(
- [_$0])]m4_dquote($m4_eval([($# + 1) & ~1]))[)])_$0($@)])])
-
-m4_define([_m4_case_],
-[$0_([1], [$1], m4_incr([$1]))])
-
-m4_define([_m4_case__],
-[[[$$1],[$$2],[$$3],]])
-
-# m4_bmatch(SWITCH, RE1, VAL1, RE2, VAL2, ..., DEFAULT)
-# -----------------------------------------------------
-# m4 equivalent of
-#
-# if (SWITCH =~ RE1)
-# VAL1;
-# elif (SWITCH =~ RE2)
-# VAL2;
-# elif ...
-# ...
-# else
-# DEFAULT
-#
-# We build the temporary macro _m4_b:
-# m4_define([_m4_b], _m4_defn([_m4_bmatch]))_m4_b([$1], [$2], [$3])...
-# _m4_b([$1], [$m-1], [$m])_m4_b([], [], [$m+1]_m4_popdef([_m4_b]))
-# then invoke m4_unquote(_m4_b($@)), for concatenation with later text.
-m4_define([m4_bmatch],
-[m4_if([$#], 0, [m4_fatal([$0: too few arguments: $#])],
- [$#], 1, [m4_fatal([$0: too few arguments: $#: $1])],
- [$#], 2, [$2],
- [m4_pushdef([_m4_b], [m4_define([_m4_b],
- _m4_defn([_$0]))]_m4_for([3], m4_eval([($# + 1) / 2 * 2 - 1]),
- [2], [_$0_(], [)])[_m4_b([], [],]m4_dquote([$]m4_eval(
- [($# + 1) / 2 * 2]))[_m4_popdef([_m4_b]))])m4_unquote(_m4_b($@))])])
-
-m4_define([_m4_bmatch],
-[m4_if(m4_bregexp([$1], [$2]), [-1], [], [[$3]m4_define([$0])])])
-
-m4_define([_m4_bmatch_],
-[$0_([1], m4_decr([$1]), [$1])])
-
-m4_define([_m4_bmatch__],
-[[_m4_b([$$1], [$$2], [$$3])]])
-
-
-# m4_cond(TEST1, VAL1, IF-VAL1, TEST2, VAL2, IF-VAL2, ..., [DEFAULT])
-# -------------------------------------------------------------------
-# Similar to m4_if, except that each TEST is expanded when encountered.
-# If the expansion of TESTn matches the string VALn, the result is IF-VALn.
-# The result is DEFAULT if no tests passed. This macro allows
-# short-circuiting of expensive tests, where it pays to arrange quick
-# filter tests to run first.
-#
-# m4_cond already guarantees either 3*n or 3*n + 1 arguments, 1 <= n.
-# We only have to speed up _m4_cond, by building the temporary _m4_c:
-# m4_define([_m4_c], _m4_defn([m4_unquote]))_m4_c([m4_if(($1), [($2)],
-# [[$3]m4_define([_m4_c])])])_m4_c([m4_if(($4), [($5)],
-# [[$6]m4_define([_m4_c])])])..._m4_c([m4_if(($m-2), [($m-1)],
-# [[$m]m4_define([_m4_c])])])_m4_c([[$m+1]]_m4_popdef([_m4_c]))
-# We invoke m4_unquote(_m4_c($@)), for concatenation with later text.
-m4_define([_m4_cond],
-[m4_pushdef([_m4_c], [m4_define([_m4_c],
- _m4_defn([m4_unquote]))]_m4_for([2], m4_eval([$# / 3 * 3 - 1]), [3],
- [$0_(], [)])[_m4_c(]m4_dquote(m4_dquote(
- [$]m4_eval([$# / 3 * 3 + 1])))[_m4_popdef([_m4_c]))])m4_unquote(_m4_c($@))])
-
-m4_define([_m4_cond_],
-[$0_(m4_decr([$1]), [$1], m4_incr([$1]))])
-
-m4_define([_m4_cond__],
-[[_m4_c([m4_if(($$1), [($$2)], [[$$3]m4_define([_m4_c])])])]])
-
-# m4_bpatsubsts(STRING, RE1, SUBST1, RE2, SUBST2, ...)
-# ----------------------------------------------------
-# m4 equivalent of
-#
-# $_ = STRING;
-# s/RE1/SUBST1/g;
-# s/RE2/SUBST2/g;
-# ...
-#
-# m4_bpatsubsts already validated an odd number of arguments; we only
-# need to speed up _m4_bpatsubsts. To avoid nesting, we build the
-# temporary _m4_p:
-# m4_define([_m4_p], [$1])m4_define([_m4_p],
-# m4_bpatsubst(m4_dquote(_m4_defn([_m4_p])), [$2], [$3]))m4_define([_m4_p],
-# m4_bpatsubst(m4_dquote(_m4_defn([_m4_p])), [$4], [$5]))m4_define([_m4_p],...
-# m4_bpatsubst(m4_dquote(_m4_defn([_m4_p])), [$m-1], [$m]))m4_unquote(
-# _m4_defn([_m4_p])_m4_popdef([_m4_p]))
-m4_define([_m4_bpatsubsts],
-[m4_pushdef([_m4_p], [m4_define([_m4_p],
- ]m4_dquote([$]1)[)]_m4_for([3], [$#], [2], [$0_(],
- [)])[m4_unquote(_m4_defn([_m4_p])_m4_popdef([_m4_p]))])_m4_p($@)])
-
-m4_define([_m4_bpatsubsts_],
-[$0_(m4_decr([$1]), [$1])])
-
-m4_define([_m4_bpatsubsts__],
-[[m4_define([_m4_p],
-m4_bpatsubst(m4_dquote(_m4_defn([_m4_p])), [$$1], [$$2]))]])
-
-# m4_shiftn(N, ...)
-# -----------------
-# Returns ... shifted N times. Useful for recursive "varargs" constructs.
-#
-# m4_shiftn already validated arguments; we only need to speed up
-# _m4_shiftn. If N is 3, then we build the temporary _m4_s, defined as
-# ,[$5],[$6],...,[$m]_m4_popdef([_m4_s])
-# before calling m4_shift(_m4_s($@)).
-m4_define([_m4_shiftn],
-[m4_if(m4_incr([$1]), [$#], [], [m4_pushdef([_m4_s],
- _m4_for(m4_eval([$1 + 2]), [$#], [1],
- [[,]m4_dquote($], [)])[_m4_popdef([_m4_s])])m4_shift(_m4_s($@))])])
-
-# m4_do(STRING, ...)
-# ------------------
-# This macro invokes all its arguments (in sequence, of course). It is
-# useful for making your macros more structured and readable by dropping
-# unnecessary dnl's and have the macros indented properly.
-#
-# Here, we use the temporary macro _m4_do, defined as
-# $1[]$2[]...[]$n[]_m4_popdef([_m4_do])
-m4_define([m4_do],
-[m4_if([$#], [0], [],
- [m4_pushdef([_$0], _m4_for([1], [$#], [1],
- [$], [[[]]])[_m4_popdef([_$0])])_$0($@)])])
-
-# m4_dquote_elt(ARGS)
-# -------------------
-# Return ARGS as an unquoted list of double-quoted arguments.
-#
-# _m4_foreach to the rescue.
-m4_define([m4_dquote_elt],
-[m4_if([$#], [0], [], [[[$1]]_m4_foreach([,m4_dquote(], [)], $@)])])
-
-# m4_reverse(ARGS)
-# ----------------
-# Output ARGS in reverse order.
-#
-# Invoke _m4_r($@) with the temporary _m4_r built as
-# [$m], [$m-1], ..., [$2], [$1]_m4_popdef([_m4_r])
-m4_define([m4_reverse],
-[m4_if([$#], [0], [], [$#], [1], [[$1]],
-[m4_pushdef([_m4_r], [[$$#]]_m4_for(m4_decr([$#]), [1], [-1],
- [[, ]m4_dquote($], [)])[_m4_popdef([_m4_r])])_m4_r($@)])])
-
-
-# m4_map_args_pair(EXPRESSION, [END-EXPR = EXPRESSION], ARG...)
-# -------------------------------------------------------------
-# Perform a pairwise grouping of consecutive ARGs, by expanding
-# EXPRESSION([ARG1], [ARG2]). If there are an odd number of ARGs, the
-# final argument is expanded with END-EXPR([ARGn]).
-#
-# Build the temporary macro _m4_map_args_pair, with the $2([$m+1])
-# only output if $# is odd:
-# $1([$3], [$4])[]$1([$5], [$6])[]...$1([$m-1],
-# [$m])[]m4_default([$2], [$1])([$m+1])[]_m4_popdef([_m4_map_args_pair])
-m4_define([m4_map_args_pair],
-[m4_if([$#], [0], [m4_fatal([$0: too few arguments: $#])],
- [$#], [1], [m4_fatal([$0: too few arguments: $#: $1])],
- [$#], [2], [],
- [$#], [3], [m4_default([$2], [$1])([$3])[]],
- [m4_pushdef([_$0], _m4_for([3],
- m4_eval([$# / 2 * 2 - 1]), [2], [_$0_(], [)])_$0_end(
- [1], [2], [$#])[_m4_popdef([_$0])])_$0($@)])])
-
-m4_define([_m4_map_args_pair_],
-[$0_([1], [$1], m4_incr([$1]))])
-
-m4_define([_m4_map_args_pair__],
-[[$$1([$$2], [$$3])[]]])
-
-m4_define([_m4_map_args_pair_end],
-[m4_if(m4_eval([$3 & 1]), [1], [[m4_default([$$2], [$$1])([$$3])[]]])])
-
-# m4_join(SEP, ARG1, ARG2...)
-# ---------------------------
-# Produce ARG1SEPARG2...SEPARGn. Avoid back-to-back SEP when a given ARG
-# is the empty string. No expansion is performed on SEP or ARGs.
-#
-# Use a self-modifying separator, since we don't know how many
-# arguments might be skipped before a separator is first printed, but
-# be careful if the separator contains $. _m4_foreach to the rescue.
-m4_define([m4_join],
-[m4_pushdef([_m4_sep], [m4_define([_m4_sep], _m4_defn([m4_echo]))])]dnl
-[_m4_foreach([_$0([$1],], [)], $@)_m4_popdef([_m4_sep])])
-
-m4_define([_m4_join],
-[m4_if([$2], [], [], [_m4_sep([$1])[$2]])])
-
-# m4_joinall(SEP, ARG1, ARG2...)
-# ------------------------------
-# Produce ARG1SEPARG2...SEPARGn. An empty ARG results in back-to-back SEP.
-# No expansion is performed on SEP or ARGs.
-#
-# A bit easier than m4_join. _m4_foreach to the rescue.
-m4_define([m4_joinall],
-[[$2]m4_if(m4_eval([$# <= 2]), [1], [],
- [_m4_foreach([$1], [], m4_shift($@))])])
-
-# m4_list_cmp(A, B)
-# -----------------
-# Compare the two lists of integer expressions A and B.
-#
-# m4_list_cmp takes care of any side effects; we only override
-# _m4_list_cmp_raw, where we can safely expand lists multiple times.
-# First, insert padding so that both lists are the same length; the
-# trailing +0 is necessary to handle a missing list. Next, create a
-# temporary macro to perform pairwise comparisons until an inequality
-# is found. For example, m4_list_cmp([1], [1,2]) creates _m4_cmp as
-# m4_if(m4_eval([($1) != ($3)]), [1], [m4_cmp([$1], [$3])],
-# m4_eval([($2) != ($4)]), [1], [m4_cmp([$2], [$4])],
-# [0]_m4_popdef([_m4_cmp]))
-# then calls _m4_cmp([1+0], [0*2], [1], [2+0])
-m4_define([_m4_list_cmp_raw],
-[m4_if([$1], [$2], 0,
- [_m4_list_cmp($1+0_m4_list_pad(m4_count($1), m4_count($2)),
- $2+0_m4_list_pad(m4_count($2), m4_count($1)))])])
-
-m4_define([_m4_list_pad],
-[m4_if(m4_eval($1 < $2), [1],
- [_m4_for(m4_incr([$1]), [$2], [1], [,0*])])])
-
-m4_define([_m4_list_cmp],
-[m4_pushdef([_m4_cmp], [m4_if(]_m4_for(
- [1], m4_eval([$# >> 1]), [1], [$0_(], [,]m4_eval([$# >> 1])[)])[
- [0]_m4_popdef([_m4_cmp]))])_m4_cmp($@)])
-
-m4_define([_m4_list_cmp_],
-[$0_([$1], m4_eval([$1 + $2]))])
-
-m4_define([_m4_list_cmp__],
-[[m4_eval([($$1) != ($$2)]), [1], [m4_cmp([$$1], [$$2])],
-]])
-
-# m4_max(EXPR, ...)
-# m4_min(EXPR, ...)
-# -----------------
-# Return the decimal value of the maximum (or minimum) in a series of
-# integer expressions.
-#
-# _m4_foreach to the rescue; we only need to replace _m4_minmax. Here,
-# we need a temporary macro to track the best answer so far, so that
-# the foreach expression is tractable.
-m4_define([_m4_minmax],
-[m4_pushdef([_m4_best], m4_eval([$2]))_m4_foreach(
- [m4_define([_m4_best], $1(_m4_best,], [))], m4_shift($@))]dnl
-[_m4_best[]_m4_popdef([_m4_best])])
-
-# m4_set_add_all(SET, VALUE...)
-# -----------------------------
-# Add each VALUE into SET. This is O(n) in the number of VALUEs, and
-# can be faster than calling m4_set_add for each VALUE.
-#
-# _m4_foreach to the rescue. If no deletions have occurred, then
-# avoid the speed penalty of m4_set_add.
-m4_define([m4_set_add_all],
-[m4_if([$#], [0], [], [$#], [1], [],
- [m4_define([_m4_set_size($1)], m4_eval(m4_set_size([$1])
- + m4_len(_m4_foreach(m4_ifdef([_m4_set_cleanup($1)],
- [[m4_set_add]], [[_$0]])[([$1],], [)], $@))))])])
-
-m4_define([_m4_set_add_all],
-[m4_ifdef([_m4_set([$1],$2)], [],
- [m4_define([_m4_set([$1],$2)],
- [1])m4_pushdef([_m4_set([$1])], [$2])-])])
diff --git a/gnuwin32/bin/data/m4sugar/m4sugar.m4 b/gnuwin32/bin/data/m4sugar/m4sugar.m4
deleted file mode 100644
index b732abc7..00000000
--- a/gnuwin32/bin/data/m4sugar/m4sugar.m4
+++ /dev/null
@@ -1,3307 +0,0 @@
-divert(-1)# -*- Autoconf -*-
-# This file is part of Autoconf.
-# Base M4 layer.
-# Requires GNU M4.
-#
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
-
-# This file is part of Autoconf. This program is free
-# software; you can redistribute it and/or modify it under the
-# terms of the GNU General Public License as published by the
-# Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# Under Section 7 of GPL version 3, you are granted additional
-# permissions described in the Autoconf Configure Script Exception,
-# version 3.0, as published by the Free Software Foundation.
-#
-# You should have received a copy of the GNU General Public License
-# and a copy of the Autoconf Configure Script Exception along with
-# this program; see the files COPYINGv3 and COPYING.EXCEPTION
-# respectively. If not, see <http://www.gnu.org/licenses/>.
-
-# Written by Akim Demaille.
-
-# Set the quotes, whatever the current quoting system.
-changequote()
-changequote([, ])
-
-# Some old m4's don't support m4exit. But they provide
-# equivalent functionality by core dumping because of the
-# long macros we define.
-ifdef([__gnu__], ,
-[errprint(M4sugar requires GNU M4. Install it before installing M4sugar or
-set the M4 environment variable to its absolute file name.)
-m4exit(2)])
-
-
-## ------------------------------- ##
-## 1. Simulate --prefix-builtins. ##
-## ------------------------------- ##
-
-# m4_define
-# m4_defn
-# m4_undefine
-define([m4_define], defn([define]))
-define([m4_defn], defn([defn]))
-define([m4_undefine], defn([undefine]))
-
-m4_undefine([define])
-m4_undefine([defn])
-m4_undefine([undefine])
-
-
-# m4_copy(SRC, DST)
-# -----------------
-# Define DST as the definition of SRC.
-# What's the difference between:
-# 1. m4_copy([from], [to])
-# 2. m4_define([to], [from($@)])
-# Well, obviously 1 is more expensive in space. Maybe 2 is more expensive
-# in time, but because of the space cost of 1, it's not that obvious.
-# Nevertheless, one huge difference is the handling of `$0'. If `from'
-# uses `$0', then with 1, `to''s `$0' is `to', while it is `from' in 2.
-# The user would certainly prefer to see `to'.
-#
-# This definition is in effect during m4sugar initialization, when
-# there are no pushdef stacks; later on, we redefine it to something
-# more powerful for all other clients to use.
-m4_define([m4_copy],
-[m4_define([$2], m4_defn([$1]))])
-
-
-# m4_rename(SRC, DST)
-# -------------------
-# Rename the macro SRC to DST.
-m4_define([m4_rename],
-[m4_copy([$1], [$2])m4_undefine([$1])])
-
-
-# m4_rename_m4(MACRO-NAME)
-# ------------------------
-# Rename MACRO-NAME to m4_MACRO-NAME.
-m4_define([m4_rename_m4],
-[m4_rename([$1], [m4_$1])])
-
-
-# m4_copy_unm4(m4_MACRO-NAME)
-# ---------------------------
-# Copy m4_MACRO-NAME to MACRO-NAME.
-m4_define([m4_copy_unm4],
-[m4_copy([$1], m4_bpatsubst([$1], [^m4_\(.*\)], [[\1]]))])
-
-
-# Some m4 internals have names colliding with tokens we might use.
-# Rename them a` la `m4 --prefix-builtins'. Conditionals first, since
-# some subsequent renames are conditional.
-m4_rename_m4([ifdef])
-m4_rename([ifelse], [m4_if])
-
-m4_rename_m4([builtin])
-m4_rename_m4([changecom])
-m4_rename_m4([changequote])
-m4_ifdef([changeword],dnl conditionally available in 1.4.x
-[m4_undefine([changeword])])
-m4_rename_m4([debugfile])
-m4_rename_m4([debugmode])
-m4_rename_m4([decr])
-m4_rename_m4([divnum])
-m4_rename_m4([dumpdef])
-m4_rename_m4([errprint])
-m4_rename_m4([esyscmd])
-m4_rename_m4([eval])
-m4_rename_m4([format])
-m4_undefine([include])
-m4_rename_m4([incr])
-m4_rename_m4([index])
-m4_rename_m4([indir])
-m4_rename_m4([len])
-m4_rename([m4exit], [m4_exit])
-m4_undefine([m4wrap])
-m4_ifdef([mkstemp],dnl added in M4 1.4.8
-[m4_rename_m4([mkstemp])
-m4_copy([m4_mkstemp], [m4_maketemp])
-m4_undefine([maketemp])],
-[m4_rename_m4([maketemp])
-m4_copy([m4_maketemp], [m4_mkstemp])])
-m4_rename([patsubst], [m4_bpatsubst])
-m4_rename_m4([popdef])
-m4_rename_m4([pushdef])
-m4_rename([regexp], [m4_bregexp])
-m4_rename_m4([shift])
-m4_undefine([sinclude])
-m4_rename_m4([substr])
-m4_ifdef([symbols],dnl present only in alpha-quality 1.4o
-[m4_rename_m4([symbols])])
-m4_rename_m4([syscmd])
-m4_rename_m4([sysval])
-m4_rename_m4([traceoff])
-m4_rename_m4([traceon])
-m4_rename_m4([translit])
-
-# _m4_defn(ARG)
-# -------------
-# _m4_defn is for internal use only - it bypasses the wrapper, so it
-# must only be used on one argument at a time, and only on macros
-# known to be defined. Make sure this still works if the user renames
-# m4_defn but not _m4_defn.
-m4_copy([m4_defn], [_m4_defn])
-
-# _m4_divert_raw(NUM)
-# -------------------
-# _m4_divert_raw is for internal use only. Use this instead of
-# m4_builtin([divert], NUM), so that tracing diversion flow is easier.
-m4_rename([divert], [_m4_divert_raw])
-
-# _m4_popdef(ARG...)
-# ------------------
-# _m4_popdef is for internal use only - it bypasses the wrapper, so it
-# must only be used on macros known to be defined. Make sure this
-# still works if the user renames m4_popdef but not _m4_popdef.
-m4_copy([m4_popdef], [_m4_popdef])
-
-# _m4_undefine(ARG...)
-# --------------------
-# _m4_undefine is for internal use only - it bypasses the wrapper, so
-# it must only be used on macros known to be defined. Make sure this
-# still works if the user renames m4_undefine but not _m4_undefine.
-m4_copy([m4_undefine], [_m4_undefine])
-
-# _m4_undivert(NUM...)
-# --------------------
-# _m4_undivert is for internal use only, and should always be given
-# arguments. Use this instead of m4_builtin([undivert], NUM...), so
-# that tracing diversion flow is easier.
-m4_rename([undivert], [_m4_undivert])
-
-
-## ------------------- ##
-## 2. Error messages. ##
-## ------------------- ##
-
-
-# m4_location
-# -----------
-# Output the current file, colon, and the current line number.
-m4_define([m4_location],
-[__file__:__line__])
-
-
-# m4_errprintn(MSG)
-# -----------------
-# Same as `errprint', but with the missing end of line.
-m4_define([m4_errprintn],
-[m4_errprint([$1
-])])
-
-
-# m4_warning(MSG)
-# ---------------
-# Warn the user.
-m4_define([m4_warning],
-[m4_errprintn(m4_location[: warning: $1])])
-
-
-# m4_fatal(MSG, [EXIT-STATUS])
-# ----------------------------
-# Fatal the user. :)
-m4_define([m4_fatal],
-[m4_errprintn(m4_location[: error: $1]
-m4_expansion_stack)m4_exit(m4_if([$2],, 1, [$2]))])
-
-
-# m4_assert(EXPRESSION, [EXIT-STATUS = 1])
-# ----------------------------------------
-# This macro ensures that EXPRESSION evaluates to true, and exits if
-# EXPRESSION evaluates to false.
-m4_define([m4_assert],
-[m4_if(m4_eval([$1]), 0,
- [m4_fatal([assert failed: $1], [$2])])])
-
-
-
-## ------------- ##
-## 3. Warnings. ##
-## ------------- ##
-
-
-# _m4_warn(CATEGORY, MESSAGE, [STACK-TRACE])
-# ------------------------------------------
-# Report a MESSAGE to the user if the CATEGORY of warnings is enabled.
-# This is for traces only.
-# If present, STACK-TRACE is a \n-separated list of "LOCATION: MESSAGE",
-# where the last line (and no other) ends with "the top level".
-#
-# Within m4, the macro is a no-op. This macro really matters
-# when autom4te post-processes the trace output.
-m4_define([_m4_warn], [])
-
-
-# m4_warn(CATEGORY, MESSAGE)
-# --------------------------
-# Report a MESSAGE to the user if the CATEGORY of warnings is enabled.
-m4_define([m4_warn],
-[_m4_warn([$1], [$2],
-m4_ifdef([_m4_expansion_stack], [m4_expansion_stack]))])
-
-
-
-## ------------------- ##
-## 4. File inclusion. ##
-## ------------------- ##
-
-
-# We also want to neutralize include (and sinclude for symmetry),
-# but we want to extend them slightly: warn when a file is included
-# several times. This is, in general, a dangerous operation, because
-# too many people forget to quote the first argument of m4_define.
-#
-# For instance in the following case:
-# m4_define(foo, [bar])
-# then a second reading will turn into
-# m4_define(bar, [bar])
-# which is certainly not what was meant.
-
-# m4_include_unique(FILE)
-# -----------------------
-# Declare that the FILE was loading; and warn if it has already
-# been included.
-m4_define([m4_include_unique],
-[m4_ifdef([m4_include($1)],
- [m4_warn([syntax], [file `$1' included several times])])dnl
-m4_define([m4_include($1)])])
-
-
-# m4_include(FILE)
-# ----------------
-# Like the builtin include, but warns against multiple inclusions.
-m4_define([m4_include],
-[m4_include_unique([$1])dnl
-m4_builtin([include], [$1])])
-
-
-# m4_sinclude(FILE)
-# -----------------
-# Like the builtin sinclude, but warns against multiple inclusions.
-m4_define([m4_sinclude],
-[m4_include_unique([$1])dnl
-m4_builtin([sinclude], [$1])])
-
-
-
-## ------------------------------------ ##
-## 5. Additional branching constructs. ##
-## ------------------------------------ ##
-
-# Both `m4_ifval' and `m4_ifset' tests against the empty string. The
-# difference is that `m4_ifset' is specialized on macros.
-#
-# In case of arguments of macros, eg. $1, it makes little difference.
-# In the case of a macro `FOO', you don't want to check `m4_ifval(FOO,
-# TRUE)', because if `FOO' expands with commas, there is a shifting of
-# the arguments. So you want to run `m4_ifval([FOO])', but then you just
-# compare the *string* `FOO' against `', which, of course fails.
-#
-# So you want the variation `m4_ifset' that expects a macro name as $1.
-# If this macro is both defined and defined to a non empty value, then
-# it runs TRUE, etc.
-
-
-# m4_ifblank(COND, [IF-BLANK], [IF-TEXT])
-# m4_ifnblank(COND, [IF-TEXT], [IF-BLANK])
-# ----------------------------------------
-# If COND is empty, or consists only of blanks (space, tab, newline),
-# then expand IF-BLANK, otherwise expand IF-TEXT. This differs from
-# m4_ifval only if COND has just whitespace, but it helps optimize in
-# spite of users who mistakenly leave trailing space after what they
-# thought was an empty argument:
-# macro(
-# []
-# )
-#
-# Writing one macro in terms of the other causes extra overhead, so
-# we inline both definitions.
-m4_define([m4_ifblank],
-[m4_if(m4_translit([[$1]], [ ][ ][
-]), [], [$2], [$3])])
-
-m4_define([m4_ifnblank],
-[m4_if(m4_translit([[$1]], [ ][ ][
-]), [], [$3], [$2])])
-
-
-# m4_ifval(COND, [IF-TRUE], [IF-FALSE])
-# -------------------------------------
-# If COND is not the empty string, expand IF-TRUE, otherwise IF-FALSE.
-# Comparable to m4_ifdef.
-m4_define([m4_ifval],
-[m4_if([$1], [], [$3], [$2])])
-
-
-# m4_n(TEXT)
-# ----------
-# If TEXT is not empty, return TEXT and a new line, otherwise nothing.
-m4_define([m4_n],
-[m4_if([$1],
- [], [],
- [$1
-])])
-
-
-# m4_ifvaln(COND, [IF-TRUE], [IF-FALSE])
-# --------------------------------------
-# Same as `m4_ifval', but add an extra newline to IF-TRUE or IF-FALSE
-# unless that argument is empty.
-m4_define([m4_ifvaln],
-[m4_if([$1],
- [], [m4_n([$3])],
- [m4_n([$2])])])
-
-
-# m4_ifset(MACRO, [IF-TRUE], [IF-FALSE])
-# --------------------------------------
-# If MACRO has no definition, or of its definition is the empty string,
-# expand IF-FALSE, otherwise IF-TRUE.
-m4_define([m4_ifset],
-[m4_ifdef([$1],
- [m4_ifval(_m4_defn([$1]), [$2], [$3])],
- [$3])])
-
-
-# m4_ifndef(NAME, [IF-NOT-DEFINED], [IF-DEFINED])
-# -----------------------------------------------
-m4_define([m4_ifndef],
-[m4_ifdef([$1], [$3], [$2])])
-
-
-# m4_case(SWITCH, VAL1, IF-VAL1, VAL2, IF-VAL2, ..., DEFAULT)
-# -----------------------------------------------------------
-# m4 equivalent of
-# switch (SWITCH)
-# {
-# case VAL1:
-# IF-VAL1;
-# break;
-# case VAL2:
-# IF-VAL2;
-# break;
-# ...
-# default:
-# DEFAULT;
-# break;
-# }.
-# All the values are optional, and the macro is robust to active
-# symbols properly quoted.
-#
-# Please keep foreach.m4 in sync with any adjustments made here.
-m4_define([m4_case],
-[m4_if([$#], 0, [],
- [$#], 1, [],
- [$#], 2, [$2],
- [$1], [$2], [$3],
- [$0([$1], m4_shift3($@))])])
-
-
-# m4_bmatch(SWITCH, RE1, VAL1, RE2, VAL2, ..., DEFAULT)
-# -----------------------------------------------------
-# m4 equivalent of
-#
-# if (SWITCH =~ RE1)
-# VAL1;
-# elif (SWITCH =~ RE2)
-# VAL2;
-# elif ...
-# ...
-# else
-# DEFAULT
-#
-# All the values are optional, and the macro is robust to active symbols
-# properly quoted.
-#
-# Please keep foreach.m4 in sync with any adjustments made here.
-m4_define([m4_bmatch],
-[m4_if([$#], 0, [m4_fatal([$0: too few arguments: $#])],
- [$#], 1, [m4_fatal([$0: too few arguments: $#: $1])],
- [$#], 2, [$2],
- [m4_if(m4_bregexp([$1], [$2]), -1, [$0([$1], m4_shift3($@))],
- [$3])])])
-
-# m4_argn(N, ARGS...)
-# -------------------
-# Extract argument N (greater than 0) from ARGS. Example:
-# m4_define([b], [B])
-# m4_argn([2], [a], [b], [c]) => b
-#
-# Rather than using m4_car(m4_shiftn([$1], $@)), we exploit the fact that
-# GNU m4 can directly reference any argument, through an indirect macro.
-m4_define([m4_argn],
-[m4_assert([0 < $1])]dnl
-[m4_pushdef([_$0], [_m4_popdef([_$0])]m4_dquote([$]m4_incr([$1])))_$0($@)])
-
-
-# m4_car(ARGS...)
-# m4_cdr(ARGS...)
-# ---------------
-# Manipulate m4 lists. m4_car returns the first argument. m4_cdr
-# bundles all but the first argument into a quoted list. These two
-# macros are generally used with list arguments, with quoting removed
-# to break the list into multiple m4 ARGS.
-m4_define([m4_car], [[$1]])
-m4_define([m4_cdr],
-[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
- [$#], 1, [],
- [m4_dquote(m4_shift($@))])])
-
-# _m4_cdr(ARGS...)
-# ----------------
-# Like m4_cdr, except include a leading comma unless only one argument
-# remains. Why? Because comparing a large list against [] is more
-# expensive in expansion time than comparing the number of arguments; so
-# _m4_cdr can be used to reduce the number of arguments when it is time
-# to end recursion.
-m4_define([_m4_cdr],
-[m4_if([$#], 1, [],
- [, m4_dquote(m4_shift($@))])])
-
-
-
-# m4_cond(TEST1, VAL1, IF-VAL1, TEST2, VAL2, IF-VAL2, ..., [DEFAULT])
-# -------------------------------------------------------------------
-# Similar to m4_if, except that each TEST is expanded when encountered.
-# If the expansion of TESTn matches the string VALn, the result is IF-VALn.
-# The result is DEFAULT if no tests passed. This macro allows
-# short-circuiting of expensive tests, where it pays to arrange quick
-# filter tests to run first.
-#
-# For an example, consider a previous implementation of _AS_QUOTE_IFELSE:
-#
-# m4_if(m4_index([$1], [\]), [-1], [$2],
-# m4_eval(m4_index([$1], [\\]) >= 0), [1], [$2],
-# m4_eval(m4_index([$1], [\$]) >= 0), [1], [$2],
-# m4_eval(m4_index([$1], [\`]) >= 0), [1], [$3],
-# m4_eval(m4_index([$1], [\"]) >= 0), [1], [$3],
-# [$2])
-#
-# Here, m4_index is computed 5 times, and m4_eval 4, even if $1 contains
-# no backslash. It is more efficient to do:
-#
-# m4_cond([m4_index([$1], [\])], [-1], [$2],
-# [m4_eval(m4_index([$1], [\\]) >= 0)], [1], [$2],
-# [m4_eval(m4_index([$1], [\$]) >= 0)], [1], [$2],
-# [m4_eval(m4_index([$1], [\`]) >= 0)], [1], [$3],
-# [m4_eval(m4_index([$1], [\"]) >= 0)], [1], [$3],
-# [$2])
-#
-# In the common case of $1 with no backslash, only one m4_index expansion
-# occurs, and m4_eval is avoided altogether.
-#
-# Please keep foreach.m4 in sync with any adjustments made here.
-m4_define([m4_cond],
-[m4_if([$#], [0], [m4_fatal([$0: cannot be called without arguments])],
- [$#], [1], [$1],
- m4_eval([$# % 3]), [2], [m4_fatal([$0: missing an argument])],
- [_$0($@)])])
-
-m4_define([_m4_cond],
-[m4_if(($1), [($2)], [$3],
- [$#], [3], [],
- [$#], [4], [$4],
- [$0(m4_shift3($@))])])
-
-
-## ---------------------------------------- ##
-## 6. Enhanced version of some primitives. ##
-## ---------------------------------------- ##
-
-# m4_bpatsubsts(STRING, RE1, SUBST1, RE2, SUBST2, ...)
-# ----------------------------------------------------
-# m4 equivalent of
-#
-# $_ = STRING;
-# s/RE1/SUBST1/g;
-# s/RE2/SUBST2/g;
-# ...
-#
-# All the values are optional, and the macro is robust to active symbols
-# properly quoted.
-#
-# I would have liked to name this macro `m4_bpatsubst', unfortunately,
-# due to quotation problems, I need to double quote $1 below, therefore
-# the anchors are broken :( I can't let users be trapped by that.
-#
-# Recall that m4_shift3 always results in an argument. Hence, we need
-# to distinguish between a final deletion vs. ending recursion.
-#
-# Please keep foreach.m4 in sync with any adjustments made here.
-m4_define([m4_bpatsubsts],
-[m4_if([$#], 0, [m4_fatal([$0: too few arguments: $#])],
- [$#], 1, [m4_fatal([$0: too few arguments: $#: $1])],
- [$#], 2, [m4_unquote(m4_builtin([patsubst], [[$1]], [$2]))],
- [$#], 3, [m4_unquote(m4_builtin([patsubst], [[$1]], [$2], [$3]))],
- [_$0($@m4_if(m4_eval($# & 1), 0, [,]))])])
-m4_define([_m4_bpatsubsts],
-[m4_if([$#], 2, [$1],
- [$0(m4_builtin([patsubst], [[$1]], [$2], [$3]),
- m4_shift3($@))])])
-
-
-# m4_copy(SRC, DST)
-# -----------------
-# Define the pushdef stack DST as a copy of the pushdef stack SRC;
-# give an error if DST is already defined. This is particularly nice
-# for copying self-modifying pushdef stacks, where the top definition
-# includes one-shot initialization that is later popped to the normal
-# definition. This version intentionally does nothing if SRC is
-# undefined.
-#
-# Some macros simply can't be renamed with this method: namely, anything
-# involved in the implementation of m4_stack_foreach_sep.
-m4_define([m4_copy],
-[m4_ifdef([$2], [m4_fatal([$0: won't overwrite defined macro: $2])],
- [m4_stack_foreach_sep([$1], [m4_pushdef([$2],], [)])])]dnl
-[m4_ifdef([m4_location($1)], [m4_define([m4_location($2)], m4_location)])])
-
-
-# m4_copy_force(SRC, DST)
-# m4_rename_force(SRC, DST)
-# -------------------------
-# Like m4_copy/m4_rename, except blindly overwrite any existing DST.
-# Note that m4_copy_force tolerates undefined SRC, while m4_rename_force
-# does not.
-m4_define([m4_copy_force],
-[m4_ifdef([$2], [_m4_undefine([$2])])m4_copy($@)])
-
-m4_define([m4_rename_force],
-[m4_ifdef([$2], [_m4_undefine([$2])])m4_rename($@)])
-
-
-# m4_define_default(MACRO, VALUE)
-# -------------------------------
-# If MACRO is undefined, set it to VALUE.
-m4_define([m4_define_default],
-[m4_ifndef([$1], [m4_define($@)])])
-
-
-# m4_default(EXP1, EXP2)
-# m4_default_nblank(EXP1, EXP2)
-# -----------------------------
-# Returns EXP1 if not empty/blank, otherwise EXP2. Expand the result.
-#
-# m4_default is called on hot paths, so inline the contents of m4_ifval,
-# for one less round of expansion.
-m4_define([m4_default],
-[m4_if([$1], [], [$2], [$1])])
-
-m4_define([m4_default_nblank],
-[m4_ifblank([$1], [$2], [$1])])
-
-
-# m4_default_quoted(EXP1, EXP2)
-# m4_default_nblank_quoted(EXP1, EXP2)
-# ------------------------------------
-# Returns EXP1 if non empty/blank, otherwise EXP2. Leave the result quoted.
-#
-# For comparison:
-# m4_define([active], [ACTIVE])
-# m4_default([active], [default]) => ACTIVE
-# m4_default([], [active]) => ACTIVE
-# -m4_default([ ], [active])- => - -
-# -m4_default_nblank([ ], [active])- => -ACTIVE-
-# m4_default_quoted([active], [default]) => active
-# m4_default_quoted([], [active]) => active
-# -m4_default_quoted([ ], [active])- => - -
-# -m4_default_nblank_quoted([ ], [active])- => -active-
-#
-# m4_default macro is called on hot paths, so inline the contents of m4_ifval,
-# for one less round of expansion.
-m4_define([m4_default_quoted],
-[m4_if([$1], [], [[$2]], [[$1]])])
-
-m4_define([m4_default_nblank_quoted],
-[m4_ifblank([$1], [[$2]], [[$1]])])
-
-
-# m4_defn(NAME)
-# -------------
-# Like the original, except guarantee a warning when using something which is
-# undefined (unlike M4 1.4.x). This replacement is not a full-featured
-# replacement: if any of the defined macros contain unbalanced quoting, but
-# when pasted together result in a well-quoted string, then only native m4
-# support is able to get it correct. But that's where quadrigraphs come in
-# handy, if you really need unbalanced quotes inside your macros.
-#
-# This macro is called frequently, so minimize the amount of additional
-# expansions by skipping m4_ifndef. Better yet, if __m4_version__ exists,
-# (added in M4 1.6), then let m4 do the job for us (see m4_init).
-m4_define([m4_defn],
-[m4_if([$#], [0], [[$0]],
- [$#], [1], [m4_ifdef([$1], [_m4_defn([$1])],
- [m4_fatal([$0: undefined macro: $1])])],
- [m4_map_args([$0], $@)])])
-
-
-# m4_dumpdef(NAME...)
-# -------------------
-# In m4 1.4.x, dumpdef writes to the current debugfile, rather than
-# stderr. This in turn royally confuses autom4te; so we follow the
-# lead of newer m4 and always dump to stderr. Unlike the original,
-# this version requires an argument, since there is no convenient way
-# in m4 1.4.x to grab the names of all defined macros. Newer m4
-# always dumps to stderr, regardless of the current debugfile; it also
-# provides m4symbols as a way to grab all current macro names. But
-# dumpdefs is not frequently called, so we don't need to worry about
-# conditionally using these newer features. Also, this version
-# doesn't sort multiple arguments.
-#
-# If we detect m4 1.6 or newer, then provide an alternate definition,
-# installed during m4_init, that allows builtins through.
-# Unfortunately, there is no nice way in m4 1.4.x to dump builtins.
-m4_define([m4_dumpdef],
-[m4_if([$#], [0], [m4_fatal([$0: missing argument])],
- [$#], [1], [m4_ifdef([$1], [m4_errprintn(
- [$1: ]m4_dquote(_m4_defn([$1])))], [m4_fatal([$0: undefined macro: $1])])],
- [m4_map_args([$0], $@)])])
-
-m4_define([_m4_dumpdef],
-[m4_if([$#], [0], [m4_fatal([$0: missing argument])],
- [$#], [1], [m4_builtin([dumpdef], [$1])],
- [m4_map_args_sep([m4_builtin([dumpdef],], [)], [], $@)])])
-
-
-# m4_dumpdefs(NAME...)
-# --------------------
-# Similar to `m4_dumpdef(NAME)', but if NAME was m4_pushdef'ed, display its
-# value stack (most recent displayed first). Also, this version silently
-# ignores undefined macros, rather than erroring out.
-#
-# This macro cheats, because it relies on the current definition of NAME
-# while the second argument of m4_stack_foreach_lifo is evaluated (which
-# would be undefined according to the API).
-m4_define([m4_dumpdefs],
-[m4_if([$#], [0], [m4_fatal([$0: missing argument])],
- [$#], [1], [m4_stack_foreach_lifo([$1], [m4_dumpdef([$1])m4_ignore])],
- [m4_map_args([$0], $@)])])
-
-# m4_esyscmd_s(COMMAND)
-# ---------------------
-# Like m4_esyscmd, except strip any trailing newlines, thus behaving
-# more like shell command substitution.
-m4_define([m4_esyscmd_s],
-[m4_chomp_all(m4_esyscmd([$1]))])
-
-
-# m4_popdef(NAME)
-# ---------------
-# Like the original, except guarantee a warning when using something which is
-# undefined (unlike M4 1.4.x).
-#
-# This macro is called frequently, so minimize the amount of additional
-# expansions by skipping m4_ifndef. Better yet, if __m4_version__ exists,
-# (added in M4 1.6), then let m4 do the job for us (see m4_init).
-m4_define([m4_popdef],
-[m4_if([$#], [0], [[$0]],
- [$#], [1], [m4_ifdef([$1], [_m4_popdef([$1])],
- [m4_fatal([$0: undefined macro: $1])])],
- [m4_map_args([$0], $@)])])
-
-
-# m4_shiftn(N, ...)
-# -----------------
-# Returns ... shifted N times. Useful for recursive "varargs" constructs.
-#
-# Autoconf does not use this macro, because it is inherently slower than
-# calling the common cases of m4_shift2 or m4_shift3 directly. But it
-# might as well be fast for other clients, such as Libtool. One way to
-# do this is to expand $@ only once in _m4_shiftn (otherwise, for long
-# lists, the expansion of m4_if takes twice as much memory as what the
-# list itself occupies, only to throw away the unused branch). The end
-# result is strictly equivalent to
-# m4_if([$1], 1, [m4_shift(,m4_shift(m4_shift($@)))],
-# [_m4_shiftn(m4_decr([$1]), m4_shift(m4_shift($@)))])
-# but with the final `m4_shift(m4_shift($@)))' shared between the two
-# paths. The first leg uses a no-op m4_shift(,$@) to balance out the ().
-#
-# Please keep foreach.m4 in sync with any adjustments made here.
-m4_define([m4_shiftn],
-[m4_assert(0 < $1 && $1 < $#)_$0($@)])
-
-m4_define([_m4_shiftn],
-[m4_if([$1], 1, [m4_shift(],
- [$0(m4_decr([$1])]), m4_shift(m4_shift($@)))])
-
-# m4_shift2(...)
-# m4_shift3(...)
-# --------------
-# Returns ... shifted twice, and three times. Faster than m4_shiftn.
-m4_define([m4_shift2], [m4_shift(m4_shift($@))])
-m4_define([m4_shift3], [m4_shift(m4_shift(m4_shift($@)))])
-
-# _m4_shift2(...)
-# _m4_shift3(...)
-# ---------------
-# Like m4_shift2 or m4_shift3, except include a leading comma unless shifting
-# consumes all arguments. Why? Because in recursion, it is nice to
-# distinguish between 1 element left and 0 elements left, based on how many
-# arguments this shift expands to.
-m4_define([_m4_shift2],
-[m4_if([$#], [2], [],
- [, m4_shift(m4_shift($@))])])
-m4_define([_m4_shift3],
-[m4_if([$#], [3], [],
- [, m4_shift(m4_shift(m4_shift($@)))])])
-
-
-# m4_undefine(NAME)
-# -----------------
-# Like the original, except guarantee a warning when using something which is
-# undefined (unlike M4 1.4.x).
-#
-# This macro is called frequently, so minimize the amount of additional
-# expansions by skipping m4_ifndef. Better yet, if __m4_version__ exists,
-# (added in M4 1.6), then let m4 do the job for us (see m4_init).
-m4_define([m4_undefine],
-[m4_if([$#], [0], [[$0]],
- [$#], [1], [m4_ifdef([$1], [_m4_undefine([$1])],
- [m4_fatal([$0: undefined macro: $1])])],
- [m4_map_args([$0], $@)])])
-
-# _m4_wrap(PRE, POST)
-# -------------------
-# Helper macro for m4_wrap and m4_wrap_lifo. Allows nested calls to
-# m4_wrap within wrapped text. Use _m4_defn and _m4_popdef for speed.
-m4_define([_m4_wrap],
-[m4_ifdef([$0_text],
- [m4_define([$0_text], [$1]_m4_defn([$0_text])[$2])],
- [m4_builtin([m4wrap], [m4_unquote(
- _m4_defn([$0_text])_m4_popdef([$0_text]))])m4_define([$0_text], [$1$2])])])
-
-# m4_wrap(TEXT)
-# -------------
-# Append TEXT to the list of hooks to be executed at the end of input.
-# Whereas the order of the original may be LIFO in the underlying m4,
-# this version is always FIFO.
-m4_define([m4_wrap],
-[_m4_wrap([], [$1[]])])
-
-# m4_wrap_lifo(TEXT)
-# ------------------
-# Prepend TEXT to the list of hooks to be executed at the end of input.
-# Whereas the order of m4_wrap may be FIFO in the underlying m4, this
-# version is always LIFO.
-m4_define([m4_wrap_lifo],
-[_m4_wrap([$1[]])])
-
-## ------------------------- ##
-## 7. Quoting manipulation. ##
-## ------------------------- ##
-
-
-# m4_apply(MACRO, LIST)
-# ---------------------
-# Invoke MACRO, with arguments provided from the quoted list of
-# comma-separated quoted arguments. If LIST is empty, invoke MACRO
-# without arguments. The expansion will not be concatenated with
-# subsequent text.
-m4_define([m4_apply],
-[m4_if([$2], [], [$1], [$1($2)])[]])
-
-# _m4_apply(MACRO, LIST)
-# ----------------------
-# Like m4_apply, except do nothing if LIST is empty.
-m4_define([_m4_apply],
-[m4_if([$2], [], [], [$1($2)[]])])
-
-
-# m4_count(ARGS)
-# --------------
-# Return a count of how many ARGS are present.
-m4_define([m4_count], [$#])
-
-
-# m4_curry(MACRO, ARG...)
-# -----------------------
-# Perform argument currying. The expansion of this macro is another
-# macro that takes exactly one argument, appends it to the end of the
-# original ARG list, then invokes MACRO. For example:
-# m4_curry([m4_curry], [m4_reverse], [1])([2])([3]) => 3, 2, 1
-# Not quite as practical as m4_incr, but you could also do:
-# m4_define([add], [m4_eval(([$1]) + ([$2]))])
-# m4_define([add_one], [m4_curry([add], [1])])
-# add_one()([2]) => 3
-m4_define([m4_curry], [$1(m4_shift($@,)_$0])
-m4_define([_m4_curry], [[$1])])
-
-
-# m4_do(STRING, ...)
-# ------------------
-# This macro invokes all its arguments (in sequence, of course). It is
-# useful for making your macros more structured and readable by dropping
-# unnecessary dnl's and have the macros indented properly. No concatenation
-# occurs after a STRING; use m4_unquote(m4_join(,STRING)) for that.
-#
-# Please keep foreach.m4 in sync with any adjustments made here.
-m4_define([m4_do],
-[m4_if([$#], 0, [],
- [$#], 1, [$1[]],
- [$1[]$0(m4_shift($@))])])
-
-
-# m4_dquote(ARGS)
-# ---------------
-# Return ARGS as a quoted list of quoted arguments.
-m4_define([m4_dquote], [[$@]])
-
-
-# m4_dquote_elt(ARGS)
-# -------------------
-# Return ARGS as an unquoted list of double-quoted arguments.
-#
-# Please keep foreach.m4 in sync with any adjustments made here.
-m4_define([m4_dquote_elt],
-[m4_if([$#], [0], [],
- [$#], [1], [[[$1]]],
- [[[$1]],$0(m4_shift($@))])])
-
-
-# m4_echo(ARGS)
-# -------------
-# Return the ARGS, with the same level of quoting. Whitespace after
-# unquoted commas are consumed.
-m4_define([m4_echo], [$@])
-
-
-# m4_expand(ARG)
-# _m4_expand(ARG)
-# ---------------
-# Return the expansion of ARG as a single string. Unlike
-# m4_quote($1), this preserves whitespace following single-quoted
-# commas that appear within ARG. It also deals with shell case
-# statements.
-#
-# m4_define([active], [ACT, IVE])
-# m4_define([active2], [[ACT, IVE]])
-# m4_quote(active, active2)
-# => ACT,IVE,ACT, IVE
-# m4_expand([active, active2])
-# => ACT, IVE, ACT, IVE
-#
-# Unfortunately, due to limitations in m4, ARG must expand to
-# something with balanced quotes (use quadrigraphs to get around
-# this), and should not contain the unlikely delimiters -=<{( or
-# )}>=-. It is possible to have unbalanced quoted `(' or `)', as well
-# as unbalanced unquoted `)'. m4_expand can handle unterminated
-# comments or dnl on the final line, at the expense of speed; it also
-# aids in detecting attempts to incorrectly change the current
-# diversion inside ARG. Meanwhile, _m4_expand is faster but must be
-# given a terminated expansion, and has no safety checks for
-# mis-diverted text.
-#
-# Exploit that extra unquoted () will group unquoted commas and the
-# following whitespace. m4_bpatsubst can't handle newlines inside $1,
-# and m4_substr strips quoting. So we (ab)use m4_changequote, using
-# temporary quotes to remove the delimiters that conveniently included
-# the unquoted () that were added prior to the changequote.
-#
-# Thanks to shell case statements, too many people are prone to pass
-# underquoted `)', so we try to detect that by passing a marker as a
-# fourth argument; if the marker is not present, then we assume that
-# we encountered an early `)', and re-expand the first argument, but
-# this time with one more `(' in the second argument and in the
-# open-quote delimiter. We must also ignore the slop from the
-# previous try. The final macro is thus half line-noise, half art.
-m4_define([m4_expand],
-[m4_pushdef([m4_divert], _m4_defn([_m4_divert_unsafe]))]dnl
-[m4_pushdef([m4_divert_push], _m4_defn([_m4_divert_unsafe]))]dnl
-[m4_chomp(_$0([$1
-]))_m4_popdef([m4_divert], [m4_divert_push])])
-
-m4_define([_m4_expand], [$0_([$1], [(], -=<{($1)}>=-, [}>=-])])
-
-m4_define([_m4_expand_],
-[m4_if([$4], [}>=-],
- [m4_changequote([-=<{$2], [)}>=-])$3m4_changequote([, ])],
- [$0([$1], [($2], -=<{($2$1)}>=-, [}>=-])m4_ignore$2])])
-
-
-# m4_ignore(ARGS)
-# ---------------
-# Expands to nothing. Useful for conditionally ignoring an arbitrary
-# number of arguments (see _m4_list_cmp for an example).
-m4_define([m4_ignore])
-
-
-# m4_make_list(ARGS)
-# ------------------
-# Similar to m4_dquote, this creates a quoted list of quoted ARGS. This
-# version is less efficient than m4_dquote, but separates each argument
-# with a comma and newline, rather than just comma, for readability.
-# When developing an m4sugar algorithm, you could temporarily use
-# m4_pushdef([m4_dquote],m4_defn([m4_make_list]))
-# around your code to make debugging easier.
-m4_define([m4_make_list], [m4_join([,
-], m4_dquote_elt($@))])
-
-
-# m4_noquote(STRING)
-# ------------------
-# Return the result of ignoring all quotes in STRING and invoking the
-# macros it contains. Among other things, this is useful for enabling
-# macro invocations inside strings with [] blocks (for instance regexps
-# and help-strings). On the other hand, since all quotes are disabled,
-# any macro expanded during this time that relies on nested [] quoting
-# will likely crash and burn. This macro is seldom useful; consider
-# m4_unquote or m4_expand instead.
-m4_define([m4_noquote],
-[m4_changequote([-=<{(],[)}>=-])$1-=<{()}>=-m4_changequote([,])])
-
-
-# m4_quote(ARGS)
-# --------------
-# Return ARGS as a single argument. Any whitespace after unquoted commas
-# is stripped. There is always output, even when there were no arguments.
-#
-# It is important to realize the difference between `m4_quote(exp)' and
-# `[exp]': in the first case you obtain the quoted *result* of the
-# expansion of EXP, while in the latter you just obtain the string
-# `exp'.
-m4_define([m4_quote], [[$*]])
-
-
-# _m4_quote(ARGS)
-# ---------------
-# Like m4_quote, except that when there are no arguments, there is no
-# output. For conditional scenarios (such as passing _m4_quote as the
-# macro name in m4_mapall), this feature can be used to distinguish between
-# one argument of the empty string vs. no arguments. However, in the
-# normal case with arguments present, this is less efficient than m4_quote.
-m4_define([_m4_quote],
-[m4_if([$#], [0], [], [[$*]])])
-
-
-# m4_reverse(ARGS)
-# ----------------
-# Output ARGS in reverse order.
-#
-# Please keep foreach.m4 in sync with any adjustments made here.
-m4_define([m4_reverse],
-[m4_if([$#], [0], [], [$#], [1], [[$1]],
- [$0(m4_shift($@)), [$1]])])
-
-
-# m4_unquote(ARGS)
-# ----------------
-# Remove one layer of quotes from each ARG, performing one level of
-# expansion. For one argument, m4_unquote([arg]) is more efficient than
-# m4_do([arg]), but for multiple arguments, the difference is that
-# m4_unquote separates arguments with commas while m4_do concatenates.
-# Follow this macro with [] if concatenation with subsequent text is
-# undesired.
-m4_define([m4_unquote], [$*])
-
-
-## -------------------------- ##
-## 8. Implementing m4 loops. ##
-## -------------------------- ##
-
-
-# m4_for(VARIABLE, FIRST, LAST, [STEP = +/-1], EXPRESSION)
-# --------------------------------------------------------
-# Expand EXPRESSION defining VARIABLE to FROM, FROM + 1, ..., TO with
-# increments of STEP. Both limits are included, and bounds are
-# checked for consistency. The algorithm is robust to indirect
-# VARIABLE names. Changing VARIABLE inside EXPRESSION will not impact
-# the number of iterations.
-#
-# Uses _m4_defn for speed, and avoid dnl in the macro body. Factor
-# the _m4_for call so that EXPRESSION is only parsed once.
-m4_define([m4_for],
-[m4_pushdef([$1], m4_eval([$2]))]dnl
-[m4_cond([m4_eval(([$3]) > ([$2]))], 1,
- [m4_pushdef([_m4_step], m4_eval(m4_default_quoted([$4],
- 1)))m4_assert(_m4_step > 0)_$0(_m4_defn([$1]),
- m4_eval((([$3]) - ([$2])) / _m4_step * _m4_step + ([$2])), _m4_step,],
- [m4_eval(([$3]) < ([$2]))], 1,
- [m4_pushdef([_m4_step], m4_eval(m4_default_quoted([$4],
- -1)))m4_assert(_m4_step < 0)_$0(_m4_defn([$1]),
- m4_eval((([$2]) - ([$3])) / -(_m4_step) * _m4_step + ([$2])), _m4_step,],
- [m4_pushdef([_m4_step])_$0(_m4_defn([$1]), _m4_defn([$1]), 0,])]dnl
-[[m4_define([$1],], [)$5])m4_popdef([_m4_step], [$1])])
-
-# _m4_for(COUNT, LAST, STEP, PRE, POST)
-# -------------------------------------
-# Core of the loop, no consistency checks, all arguments are plain
-# numbers. Expand PRE[COUNT]POST, then alter COUNT by STEP and
-# iterate if COUNT is not LAST.
-m4_define([_m4_for],
-[$4[$1]$5[]m4_if([$1], [$2], [],
- [$0(m4_eval([$1 + $3]), [$2], [$3], [$4], [$5])])])
-
-
-# Implementing `foreach' loops in m4 is much more tricky than it may
-# seem. For example, the old M4 1.4.4 manual had an incorrect example,
-# which looked like this (when translated to m4sugar):
-#
-# | # foreach(VAR, (LIST), STMT)
-# | m4_define([foreach],
-# | [m4_pushdef([$1])_foreach([$1], [$2], [$3])m4_popdef([$1])])
-# | m4_define([_arg1], [$1])
-# | m4_define([_foreach],
-# | [m4_if([$2], [()], ,
-# | [m4_define([$1], _arg1$2)$3[]_foreach([$1], (m4_shift$2), [$3])])])
-#
-# But then if you run
-#
-# | m4_define(a, 1)
-# | m4_define(b, 2)
-# | m4_define(c, 3)
-# | foreach([f], [([a], [(b], [c)])], [echo f
-# | ])
-#
-# it gives
-#
-# => echo 1
-# => echo (2,3)
-#
-# which is not what is expected.
-#
-# Of course the problem is that many quotes are missing. So you add
-# plenty of quotes at random places, until you reach the expected
-# result. Alternatively, if you are a quoting wizard, you directly
-# reach the following implementation (but if you really did, then
-# apply to the maintenance of m4sugar!).
-#
-# | # foreach(VAR, (LIST), STMT)
-# | m4_define([foreach], [m4_pushdef([$1])_foreach($@)m4_popdef([$1])])
-# | m4_define([_arg1], [[$1]])
-# | m4_define([_foreach],
-# | [m4_if($2, [()], ,
-# | [m4_define([$1], [_arg1$2])$3[]_foreach([$1], [(m4_shift$2)], [$3])])])
-#
-# which this time answers
-#
-# => echo a
-# => echo (b
-# => echo c)
-#
-# Bingo!
-#
-# Well, not quite.
-#
-# With a better look, you realize that the parens are more a pain than
-# a help: since anyway you need to quote properly the list, you end up
-# with always using an outermost pair of parens and an outermost pair
-# of quotes. Rejecting the parens both eases the implementation, and
-# simplifies the use:
-#
-# | # foreach(VAR, (LIST), STMT)
-# | m4_define([foreach], [m4_pushdef([$1])_foreach($@)m4_popdef([$1])])
-# | m4_define([_arg1], [$1])
-# | m4_define([_foreach],
-# | [m4_if($2, [], ,
-# | [m4_define([$1], [_arg1($2)])$3[]_foreach([$1], [m4_shift($2)], [$3])])])
-#
-#
-# Now, just replace the `$2' with `m4_quote($2)' in the outer `m4_if'
-# to improve robustness, and you come up with a nice implementation
-# that doesn't require extra parentheses in the user's LIST.
-#
-# But wait - now the algorithm is quadratic, because every recursion of
-# the algorithm keeps the entire LIST and merely adds another m4_shift to
-# the quoted text. If the user has a lot of elements in LIST, you can
-# bring the system to its knees with the memory m4 then requires, or trip
-# the m4 --nesting-limit recursion factor. The only way to avoid
-# quadratic growth is ensure m4_shift is expanded prior to the recursion.
-# Hence the design below.
-#
-# The M4 manual now includes a chapter devoted to this issue, with
-# the lessons learned from m4sugar. And still, this design is only
-# optimal for M4 1.6; see foreach.m4 for yet more comments on why
-# M4 1.4.x uses yet another implementation.
-
-
-# m4_foreach(VARIABLE, LIST, EXPRESSION)
-# --------------------------------------
-#
-# Expand EXPRESSION assigning each value of the LIST to VARIABLE.
-# LIST should have the form `item_1, item_2, ..., item_n', i.e. the
-# whole list must *quoted*. Quote members too if you don't want them
-# to be expanded.
-#
-# This macro is robust to active symbols:
-# | m4_define(active, [ACT, IVE])
-# | m4_foreach(Var, [active, active], [-Var-])
-# => -ACT--IVE--ACT--IVE-
-#
-# | m4_foreach(Var, [[active], [active]], [-Var-])
-# => -ACT, IVE--ACT, IVE-
-#
-# | m4_foreach(Var, [[[active]], [[active]]], [-Var-])
-# => -active--active-
-#
-# This macro is called frequently, so avoid extra expansions such as
-# m4_ifval and dnl. Also, since $2 might be quite large, try to use it
-# as little as possible in _m4_foreach; each extra use requires that much
-# more memory for expansion. So, rather than directly compare $2 against
-# [] and use m4_car/m4_cdr for recursion, we instead unbox the list (which
-# requires swapping the argument order in the helper), insert an ignored
-# third argument, and use m4_shift3 to detect when recursion is complete,
-# at which point this looks very much like m4_map_args.
-m4_define([m4_foreach],
-[m4_if([$2], [], [],
- [m4_pushdef([$1])_$0([m4_define([$1],], [)$3], [],
- $2)m4_popdef([$1])])])
-
-# _m4_foreach(PRE, POST, IGNORED, ARG...)
-# ---------------------------------------
-# Form the common basis of the m4_foreach and m4_map macros. For each
-# ARG, expand PRE[ARG]POST[]. The IGNORED argument makes recursion
-# easier, and must be supplied rather than implicit.
-#
-# Please keep foreach.m4 in sync with any adjustments made here.
-m4_define([_m4_foreach],
-[m4_if([$#], [3], [],
- [$1[$4]$2[]$0([$1], [$2], m4_shift3($@))])])
-
-
-# m4_foreach_w(VARIABLE, LIST, EXPRESSION)
-# ----------------------------------------
-# Like m4_foreach, but the list is whitespace separated. Depending on
-# EXPRESSION, it may be more efficient to use m4_map_args_w.
-#
-# This macro is robust to active symbols:
-# m4_foreach_w([Var], [ active
-# b act\
-# ive ], [-Var-])end
-# => -active--b--active-end
-#
-# This used to use a slower implementation based on m4_foreach:
-# m4_foreach([$1], m4_split(m4_normalize([$2]), [ ]), [$3])
-m4_define([m4_foreach_w],
-[m4_pushdef([$1])m4_map_args_w([$2],
- [m4_define([$1],], [)$3])m4_popdef([$1])])
-
-
-# m4_map(MACRO, LIST)
-# m4_mapall(MACRO, LIST)
-# ----------------------
-# Invoke MACRO($1), MACRO($2) etc. where $1, $2... are the elements of
-# LIST. $1, $2... must in turn be lists, appropriate for m4_apply.
-# If LIST contains an empty sublist, m4_map skips the expansion of
-# MACRO, while m4_mapall expands MACRO with no arguments.
-#
-# Since LIST may be quite large, we want to minimize how often it
-# appears in the expansion. Rather than use m4_car/m4_cdr iteration,
-# we unbox the list, and use _m4_foreach for iteration. For m4_map,
-# an empty list behaves like an empty sublist and gets ignored; for
-# m4_mapall, we must special-case the empty list.
-m4_define([m4_map],
-[_m4_foreach([_m4_apply([$1],], [)], [], $2)])
-
-m4_define([m4_mapall],
-[m4_if([$2], [], [],
- [_m4_foreach([m4_apply([$1],], [)], [], $2)])])
-
-
-# m4_map_sep(MACRO, [SEPARATOR], LIST)
-# m4_mapall_sep(MACRO, [SEPARATOR], LIST)
-# ---------------------------------------
-# Invoke MACRO($1), SEPARATOR, MACRO($2), ..., MACRO($N) where $1,
-# $2... $N are the elements of LIST, and are in turn lists appropriate
-# for m4_apply. SEPARATOR is expanded, in order to allow the creation
-# of a list of arguments by using a single-quoted comma as the
-# separator. For each empty sublist, m4_map_sep skips the expansion
-# of MACRO and SEPARATOR, while m4_mapall_sep expands MACRO with no
-# arguments.
-#
-# For m4_mapall_sep, merely expand the first iteration without the
-# separator, then include separator as part of subsequent recursion;
-# but avoid extra expansion of LIST's side-effects via a helper macro.
-# For m4_map_sep, things are trickier - we don't know if the first
-# list element is an empty sublist, so we must define a self-modifying
-# helper macro and use that as the separator instead.
-m4_define([m4_map_sep],
-[m4_pushdef([m4_Sep], [m4_define([m4_Sep], _m4_defn([m4_unquote]))])]dnl
-[_m4_foreach([_m4_apply([m4_Sep([$2])[]$1],], [)], [], $3)m4_popdef([m4_Sep])])
-
-m4_define([m4_mapall_sep],
-[m4_if([$3], [], [], [_$0([$1], [$2], $3)])])
-
-m4_define([_m4_mapall_sep],
-[m4_apply([$1], [$3])_m4_foreach([m4_apply([$2[]$1],], [)], m4_shift2($@))])
-
-# m4_map_args(EXPRESSION, ARG...)
-# -------------------------------
-# Expand EXPRESSION([ARG]) for each argument. More efficient than
-# m4_foreach([var], [ARG...], [EXPRESSION(m4_defn([var]))])
-# Shorthand for m4_map_args_sep([EXPRESSION(], [)], [], ARG...).
-m4_define([m4_map_args],
-[m4_if([$#], [0], [m4_fatal([$0: too few arguments: $#])],
- [$#], [1], [],
- [$#], [2], [$1([$2])[]],
- [_m4_foreach([$1(], [)], $@)])])
-
-
-# m4_map_args_pair(EXPRESSION, [END-EXPR = EXPRESSION], ARG...)
-# -------------------------------------------------------------
-# Perform a pairwise grouping of consecutive ARGs, by expanding
-# EXPRESSION([ARG1], [ARG2]). If there are an odd number of ARGs, the
-# final argument is expanded with END-EXPR([ARGn]).
-#
-# For example:
-# m4_define([show], [($*)m4_newline])dnl
-# m4_map_args_pair([show], [], [a], [b], [c], [d], [e])dnl
-# => (a,b)
-# => (c,d)
-# => (e)
-#
-# Please keep foreach.m4 in sync with any adjustments made here.
-m4_define([m4_map_args_pair],
-[m4_if([$#], [0], [m4_fatal([$0: too few arguments: $#])],
- [$#], [1], [m4_fatal([$0: too few arguments: $#: $1])],
- [$#], [2], [],
- [$#], [3], [m4_default([$2], [$1])([$3])[]],
- [$#], [4], [$1([$3], [$4])[]],
- [$1([$3], [$4])[]$0([$1], [$2], m4_shift(m4_shift3($@)))])])
-
-
-# m4_map_args_sep([PRE], [POST], [SEP], ARG...)
-# ---------------------------------------------
-# Expand PRE[ARG]POST for each argument, with SEP between arguments.
-m4_define([m4_map_args_sep],
-[m4_if([$#], [0], [m4_fatal([$0: too few arguments: $#])],
- [$#], [1], [],
- [$#], [2], [],
- [$#], [3], [],
- [$#], [4], [$1[$4]$2[]],
- [$1[$4]$2[]_m4_foreach([$3[]$1], [$2], m4_shift3($@))])])
-
-
-# m4_map_args_w(STRING, [PRE], [POST], [SEP])
-# -------------------------------------------
-# Perform the expansion of PRE[word]POST[] for each word in STRING
-# separated by whitespace. More efficient than:
-# m4_foreach_w([var], [STRING], [PRE[]m4_defn([var])POST])
-# Additionally, expand SEP between words.
-#
-# As long as we have to use m4_bpatsubst to split the string, we might
-# as well make it also apply PRE and POST; this avoids iteration
-# altogether. But we must be careful of any \ in PRE or POST.
-# _m4_strip returns a quoted string, but that's okay, since it also
-# supplies an empty leading and trailing argument due to our
-# intentional whitespace around STRING. We use m4_substr to strip the
-# empty elements and remove the extra layer of quoting.
-m4_define([m4_map_args_w],
-[_$0(_m4_split([ ]m4_flatten([$1])[ ], [[ ]+],
- m4_if(m4_index([$2$3$4], [\]), [-1], [[$3[]$4[]$2]],
- [m4_bpatsubst([[$3[]$4[]$2]], [\\], [\\\\])])),
- m4_len([[]$3[]$4]), m4_len([$4[]$2[]]))])
-
-m4_define([_m4_map_args_w],
-[m4_substr([$1], [$2], m4_eval(m4_len([$1]) - [$2] - [$3]))])
-
-
-# m4_stack_foreach(MACRO, FUNC)
-# m4_stack_foreach_lifo(MACRO, FUNC)
-# ----------------------------------
-# Pass each stacked definition of MACRO to the one-argument macro FUNC.
-# m4_stack_foreach proceeds in FIFO order, while m4_stack_foreach_lifo
-# processes the topmost definitions first. In addition, FUNC should
-# not push or pop definitions of MACRO, and should not expect anything about
-# the active definition of MACRO (it will not be the topmost, and may not
-# be the one passed to FUNC either).
-#
-# Some macros simply can't be examined with this method: namely,
-# anything involved in the implementation of _m4_stack_reverse.
-m4_define([m4_stack_foreach],
-[_m4_stack_reverse([$1], [m4_tmp-$1])]dnl
-[_m4_stack_reverse([m4_tmp-$1], [$1], [$2(_m4_defn([m4_tmp-$1]))])])
-
-m4_define([m4_stack_foreach_lifo],
-[_m4_stack_reverse([$1], [m4_tmp-$1], [$2(_m4_defn([m4_tmp-$1]))])]dnl
-[_m4_stack_reverse([m4_tmp-$1], [$1])])
-
-# m4_stack_foreach_sep(MACRO, [PRE], [POST], [SEP])
-# m4_stack_foreach_sep_lifo(MACRO, [PRE], [POST], [SEP])
-# ------------------------------------------------------
-# Similar to m4_stack_foreach and m4_stack_foreach_lifo, in that every
-# definition of a pushdef stack will be visited. But rather than
-# passing the definition as a single argument to a macro, this variant
-# expands the concatenation of PRE[]definition[]POST, and expands SEP
-# between consecutive expansions. Note that m4_stack_foreach([a], [b])
-# is equivalent to m4_stack_foreach_sep([a], [b(], [)]).
-m4_define([m4_stack_foreach_sep],
-[_m4_stack_reverse([$1], [m4_tmp-$1])]dnl
-[_m4_stack_reverse([m4_tmp-$1], [$1], [$2[]_m4_defn([m4_tmp-$1])$3], [$4[]])])
-
-m4_define([m4_stack_foreach_sep_lifo],
-[_m4_stack_reverse([$1], [m4_tmp-$1], [$2[]_m4_defn([m4_tmp-$1])$3], [$4[]])]dnl
-[_m4_stack_reverse([m4_tmp-$1], [$1])])
-
-
-# _m4_stack_reverse(OLD, NEW, [ACTION], [SEP])
-# --------------------------------------------
-# A recursive worker for pushdef stack manipulation. Destructively
-# copy the OLD stack into the NEW, and expanding ACTION for each
-# iteration. After the first iteration, SEP is promoted to the front
-# of ACTION (note that SEP should include a trailing [] if it is to
-# avoid interfering with ACTION). The current definition is examined
-# after the NEW has been pushed but before OLD has been popped; this
-# order is important, as ACTION is permitted to operate on either
-# _m4_defn([OLD]) or _m4_defn([NEW]). Since the operation is
-# destructive, this macro is generally used twice, with a temporary
-# macro name holding the swapped copy.
-m4_define([_m4_stack_reverse],
-[m4_ifdef([$1], [m4_pushdef([$2],
- _m4_defn([$1]))$3[]_m4_popdef([$1])$0([$1], [$2], [$4$3])])])
-
-
-
-## --------------------------- ##
-## 9. More diversion support. ##
-## --------------------------- ##
-
-
-# m4_cleardivert(DIVERSION-NAME...)
-# ---------------------------------
-# Discard any text in DIVERSION-NAME.
-#
-# This works even inside m4_expand.
-m4_define([m4_cleardivert],
-[m4_if([$#], [0], [m4_fatal([$0: missing argument])],
- [_m4_divert_raw([-1])m4_undivert($@)_m4_divert_raw(
- _m4_divert(_m4_defn([_m4_divert_diversion]), [-]))])])
-
-
-# _m4_divert(DIVERSION-NAME or NUMBER, [NOWARN])
-# ----------------------------------------------
-# If DIVERSION-NAME is the name of a diversion, return its number,
-# otherwise if it is a NUMBER return it. Issue a warning about
-# the use of a number instead of a name, unless NOWARN is provided.
-m4_define([_m4_divert],
-[m4_ifdef([_m4_divert($1)],
- [m4_indir([_m4_divert($1)])],
- [m4_if([$2], [], [m4_warn([syntax],
- [prefer named diversions])])$1])])
-
-# KILL is only used to suppress output.
-m4_define([_m4_divert(KILL)], -1)
-
-# The empty diversion name is a synonym for 0.
-m4_define([_m4_divert()], 0)
-
-
-# m4_divert_stack
-# ---------------
-# Print the diversion stack, if it's nonempty. The caller is
-# responsible for any leading or trailing newline.
-m4_define([m4_divert_stack],
-[m4_stack_foreach_sep_lifo([_m4_divert_stack], [], [], [
-])])
-
-
-# m4_divert_stack_push(MACRO-NAME, DIVERSION-NAME)
-# ------------------------------------------------
-# Form an entry of the diversion stack from caller MACRO-NAME and
-# entering DIVERSION-NAME and push it.
-m4_define([m4_divert_stack_push],
-[m4_pushdef([_m4_divert_stack], m4_location[: $1: $2])])
-
-
-# m4_divert(DIVERSION-NAME)
-# -------------------------
-# Change the diversion stream to DIVERSION-NAME.
-m4_define([m4_divert],
-[m4_popdef([_m4_divert_stack])]dnl
-[m4_define([_m4_divert_diversion], [$1])]dnl
-[m4_divert_stack_push([$0], [$1])]dnl
-[_m4_divert_raw(_m4_divert([$1]))])
-
-
-# m4_divert_push(DIVERSION-NAME, [NOWARN])
-# ----------------------------------------
-# Change the diversion stream to DIVERSION-NAME, while stacking old values.
-# For internal use only: if NOWARN is not empty, DIVERSION-NAME can be a
-# number instead of a name.
-m4_define([m4_divert_push],
-[m4_divert_stack_push([$0], [$1])]dnl
-[m4_pushdef([_m4_divert_diversion], [$1])]dnl
-[_m4_divert_raw(_m4_divert([$1], [$2]))])
-
-
-# m4_divert_pop([DIVERSION-NAME])
-# -------------------------------
-# Change the diversion stream to its previous value, unstacking it.
-# If specified, verify we left DIVERSION-NAME.
-# When we pop the last value from the stack, we divert to -1.
-m4_define([m4_divert_pop],
-[m4_if([$1], [], [],
- [$1], _m4_defn([_m4_divert_diversion]), [],
- [m4_fatal([$0($1): diversion mismatch:
-]m4_divert_stack)])]dnl
-[_m4_popdef([_m4_divert_stack], [_m4_divert_diversion])]dnl
-[m4_ifdef([_m4_divert_diversion], [],
- [m4_fatal([too many m4_divert_pop])])]dnl
-[_m4_divert_raw(_m4_divert(_m4_defn([_m4_divert_diversion]), [-]))])
-
-
-# m4_divert_text(DIVERSION-NAME, CONTENT)
-# ---------------------------------------
-# Output CONTENT into DIVERSION-NAME (which may be a number actually).
-# An end of line is appended for free to CONTENT.
-m4_define([m4_divert_text],
-[m4_divert_push([$1])$2
-m4_divert_pop([$1])])
-
-
-# m4_divert_once(DIVERSION-NAME, CONTENT)
-# ---------------------------------------
-# Output CONTENT into DIVERSION-NAME once, if not already there.
-# An end of line is appended for free to CONTENT.
-m4_define([m4_divert_once],
-[m4_expand_once([m4_divert_text([$1], [$2])])])
-
-
-# _m4_divert_unsafe(DIVERSION-NAME)
-# ---------------------------------
-# Issue a warning that the attempt to change the current diversion to
-# DIVERSION-NAME is unsafe, because this macro is being expanded
-# during argument collection of m4_expand.
-m4_define([_m4_divert_unsafe],
-[m4_fatal([$0: cannot change diversion to `$1' inside m4_expand])])
-
-
-# m4_undivert(DIVERSION-NAME...)
-# ------------------------------
-# Undivert DIVERSION-NAME. Unlike the M4 version, this requires at
-# least one DIVERSION-NAME; also, due to support for named diversions,
-# this should not be used to undivert files.
-m4_define([m4_undivert],
-[m4_if([$#], [0], [m4_fatal([$0: missing argument])],
- [$#], [1], [_m4_undivert(_m4_divert([$1]))],
- [m4_map_args([$0], $@)])])
-
-
-## --------------------------------------------- ##
-## 10. Defining macros with bells and whistles. ##
-## --------------------------------------------- ##
-
-# `m4_defun' is basically `m4_define' but it equips the macro with the
-# needed machinery for `m4_require'. A macro must be m4_defun'd if
-# either it is m4_require'd, or it m4_require's.
-#
-# Two things deserve attention and are detailed below:
-# 1. Implementation of m4_require
-# 2. Keeping track of the expansion stack
-#
-# 1. Implementation of m4_require
-# ===============================
-#
-# Of course m4_defun calls m4_provide, so that a macro which has
-# been expanded is not expanded again when m4_require'd, but the
-# difficult part is the proper expansion of macros when they are
-# m4_require'd.
-#
-# The implementation is based on three ideas, (i) using diversions to
-# prepare the expansion of the macro and its dependencies (by Franc,ois
-# Pinard), (ii) expand the most recently m4_require'd macros _after_
-# the previous macros (by Axel Thimm), and (iii) track instances of
-# provide before require (by Eric Blake).
-#
-#
-# The first idea: why use diversions?
-# -----------------------------------
-#
-# When a macro requires another, the other macro is expanded in new
-# diversion, GROW. When the outer macro is fully expanded, we first
-# undivert the most nested diversions (GROW - 1...), and finally
-# undivert GROW. To understand why we need several diversions,
-# consider the following example:
-#
-# | m4_defun([TEST1], [Test...m4_require([TEST2])1])
-# | m4_defun([TEST2], [Test...m4_require([TEST3])2])
-# | m4_defun([TEST3], [Test...3])
-#
-# Because m4_require is not required to be first in the outer macros, we
-# must keep the expansions of the various levels of m4_require separated.
-# Right before executing the epilogue of TEST1, we have:
-#
-# GROW - 2: Test...3
-# GROW - 1: Test...2
-# GROW: Test...1
-# BODY:
-#
-# Finally the epilogue of TEST1 undiverts GROW - 2, GROW - 1, and
-# GROW into the regular flow, BODY.
-#
-# GROW - 2:
-# GROW - 1:
-# GROW:
-# BODY: Test...3; Test...2; Test...1
-#
-# (The semicolons are here for clarification, but of course are not
-# emitted.) This is what Autoconf 2.0 (I think) to 2.13 (I'm sure)
-# implement.
-#
-#
-# The second idea: first required first out
-# -----------------------------------------
-#
-# The natural implementation of the idea above is buggy and produces
-# very surprising results in some situations. Let's consider the
-# following example to explain the bug:
-#
-# | m4_defun([TEST1], [m4_require([TEST2a])m4_require([TEST2b])])
-# | m4_defun([TEST2a], [])
-# | m4_defun([TEST2b], [m4_require([TEST3])])
-# | m4_defun([TEST3], [m4_require([TEST2a])])
-# |
-# | AC_INIT
-# | TEST1
-#
-# The dependencies between the macros are:
-#
-# 3 --- 2b
-# / \ is m4_require'd by
-# / \ left -------------------- right
-# 2a ------------ 1
-#
-# If you strictly apply the rules given in the previous section you get:
-#
-# GROW - 2: TEST3
-# GROW - 1: TEST2a; TEST2b
-# GROW: TEST1
-# BODY:
-#
-# (TEST2a, although required by TEST3 is not expanded in GROW - 3
-# because is has already been expanded before in GROW - 1, so it has
-# been AC_PROVIDE'd, so it is not expanded again) so when you undivert
-# the stack of diversions, you get:
-#
-# GROW - 2:
-# GROW - 1:
-# GROW:
-# BODY: TEST3; TEST2a; TEST2b; TEST1
-#
-# i.e., TEST2a is expanded after TEST3 although the latter required the
-# former.
-#
-# Starting from 2.50, we use an implementation provided by Axel Thimm.
-# The idea is simple: the order in which macros are emitted must be the
-# same as the one in which macros are expanded. (The bug above can
-# indeed be described as: a macro has been m4_provide'd before its
-# dependent, but it is emitted after: the lack of correlation between
-# emission and expansion order is guilty).
-#
-# How to do that? You keep the stack of diversions to elaborate the
-# macros, but each time a macro is fully expanded, emit it immediately.
-#
-# In the example above, when TEST2a is expanded, but it's epilogue is
-# not run yet, you have:
-#
-# GROW - 2:
-# GROW - 1: TEST2a
-# GROW: Elaboration of TEST1
-# BODY:
-#
-# The epilogue of TEST2a emits it immediately:
-#
-# GROW - 2:
-# GROW - 1:
-# GROW: Elaboration of TEST1
-# BODY: TEST2a
-#
-# TEST2b then requires TEST3, so right before the epilogue of TEST3, you
-# have:
-#
-# GROW - 2: TEST3
-# GROW - 1: Elaboration of TEST2b
-# GROW: Elaboration of TEST1
-# BODY: TEST2a
-#
-# The epilogue of TEST3 emits it:
-#
-# GROW - 2:
-# GROW - 1: Elaboration of TEST2b
-# GROW: Elaboration of TEST1
-# BODY: TEST2a; TEST3
-#
-# TEST2b is now completely expanded, and emitted:
-#
-# GROW - 2:
-# GROW - 1:
-# GROW: Elaboration of TEST1
-# BODY: TEST2a; TEST3; TEST2b
-#
-# and finally, TEST1 is finished and emitted:
-#
-# GROW - 2:
-# GROW - 1:
-# GROW:
-# BODY: TEST2a; TEST3; TEST2b: TEST1
-#
-# The idea is simple, but the implementation is a bit involved. If
-# you are like me, you will want to see the actual functioning of this
-# implementation to be convinced. The next section gives the full
-# details.
-#
-#
-# The Axel Thimm implementation at work
-# -------------------------------------
-#
-# We consider the macros above, and this configure.ac:
-#
-# AC_INIT
-# TEST1
-#
-# You should keep the definitions of _m4_defun_pro, _m4_defun_epi, and
-# m4_require at hand to follow the steps.
-#
-# This implementation tries not to assume that the current diversion is
-# BODY, so as soon as a macro (m4_defun'd) is expanded, we first
-# record the current diversion under the name _m4_divert_dump (denoted
-# DUMP below for short). This introduces an important difference with
-# the previous versions of Autoconf: you cannot use m4_require if you
-# are not inside an m4_defun'd macro, and especially, you cannot
-# m4_require directly from the top level.
-#
-# We have not tried to simulate the old behavior (better yet, we
-# diagnose it), because it is too dangerous: a macro m4_require'd from
-# the top level is expanded before the body of `configure', i.e., before
-# any other test was run. I let you imagine the result of requiring
-# AC_STDC_HEADERS for instance, before AC_PROG_CC was actually run....
-#
-# After AC_INIT was run, the current diversion is BODY.
-# * AC_INIT was run
-# DUMP: undefined
-# diversion stack: BODY |-
-#
-# * TEST1 is expanded
-# The prologue of TEST1 sets _m4_divert_dump, which is the diversion
-# where the current elaboration will be dumped, to the current
-# diversion. It also m4_divert_push to GROW, where the full
-# expansion of TEST1 and its dependencies will be elaborated.
-# DUMP: BODY
-# BODY: empty
-# diversions: GROW, BODY |-
-#
-# * TEST1 requires TEST2a
-# _m4_require_call m4_divert_pushes another temporary diversion,
-# GROW - 1, and expands TEST2a in there.
-# DUMP: BODY
-# BODY: empty
-# GROW - 1: TEST2a
-# diversions: GROW - 1, GROW, BODY |-
-# Then the content of the temporary diversion is moved to DUMP and the
-# temporary diversion is popped.
-# DUMP: BODY
-# BODY: TEST2a
-# diversions: GROW, BODY |-
-#
-# * TEST1 requires TEST2b
-# Again, _m4_require_call pushes GROW - 1 and heads to expand TEST2b.
-# DUMP: BODY
-# BODY: TEST2a
-# diversions: GROW - 1, GROW, BODY |-
-#
-# * TEST2b requires TEST3
-# _m4_require_call pushes GROW - 2 and expands TEST3 here.
-# (TEST3 requires TEST2a, but TEST2a has already been m4_provide'd, so
-# nothing happens.)
-# DUMP: BODY
-# BODY: TEST2a
-# GROW - 2: TEST3
-# diversions: GROW - 2, GROW - 1, GROW, BODY |-
-# Then the diversion is appended to DUMP, and popped.
-# DUMP: BODY
-# BODY: TEST2a; TEST3
-# diversions: GROW - 1, GROW, BODY |-
-#
-# * TEST1 requires TEST2b (contd.)
-# The content of TEST2b is expanded...
-# DUMP: BODY
-# BODY: TEST2a; TEST3
-# GROW - 1: TEST2b,
-# diversions: GROW - 1, GROW, BODY |-
-# ... and moved to DUMP.
-# DUMP: BODY
-# BODY: TEST2a; TEST3; TEST2b
-# diversions: GROW, BODY |-
-#
-# * TEST1 is expanded: epilogue
-# TEST1's own content is in GROW...
-# DUMP: BODY
-# BODY: TEST2a; TEST3; TEST2b
-# GROW: TEST1
-# diversions: BODY |-
-# ... and it's epilogue moves it to DUMP and then undefines DUMP.
-# DUMP: undefined
-# BODY: TEST2a; TEST3; TEST2b; TEST1
-# diversions: BODY |-
-#
-#
-# The third idea: track macros provided before they were required
-# ---------------------------------------------------------------
-#
-# Using just the first two ideas, Autoconf 2.50 through 2.63 still had
-# a subtle bug for more than seven years. Let's consider the
-# following example to explain the bug:
-#
-# | m4_defun([TEST1], [1])
-# | m4_defun([TEST2], [2[]m4_require([TEST1])])
-# | m4_defun([TEST3], [3 TEST1 m4_require([TEST2])])
-# | TEST3
-#
-# After the prologue of TEST3, we are collecting text in GROW with the
-# intent of dumping it in BODY during the epilogue. Next, we
-# encounter the direct invocation of TEST1, which provides the macro
-# in place in GROW. From there, we encounter a requirement for TEST2,
-# which must be collected in a new diversion. While expanding TEST2,
-# we encounter a requirement for TEST1, but since it has already been
-# expanded, the Axel Thimm algorithm states that we can treat it as a
-# no-op. But that would lead to an end result of `2 3 1', meaning
-# that we have once again output a macro (TEST2) prior to its
-# requirements (TEST1).
-#
-# The problem can only occur if a single defun'd macro first provides,
-# then later indirectly requires, the same macro. Note that directly
-# expanding then requiring a macro is okay: because the dependency was
-# met, the require phase can be a no-op. For that matter, the outer
-# macro can even require two helpers, where the first helper expands
-# the macro, and the second helper indirectly requires the macro.
-# Out-of-order expansion is only present if the inner macro is
-# required by something that will be hoisted in front of where the
-# direct expansion occurred. In other words, we must be careful not
-# to warn on:
-#
-# | m4_defun([TEST4], [4])
-# | m4_defun([TEST5], [5 TEST4 m4_require([TEST4])])
-# | TEST5 => 5 4
-#
-# or even the more complex:
-#
-# | m4_defun([TEST6], [6])
-# | m4_defun([TEST7], [7 TEST6])
-# | m4_defun([TEST8], [8 m4_require([TEST6])])
-# | m4_defun([TEST9], [9 m4_require([TEST8])])
-# | m4_defun([TEST10], [10 m4_require([TEST7]) m4_require([TEST9])])
-# | TEST10 => 7 6 8 9 10
-#
-# So, to detect whether a require was direct or indirect, m4_defun and
-# m4_require track the name of the macro that caused a diversion to be
-# created (using the stack _m4_diverting, coupled with an O(1) lookup
-# _m4_diverting([NAME])), and m4_provide stores the name associated
-# with the diversion at which a macro was provided. A require call is
-# direct if it occurs within the same diversion where the macro was
-# provided, or if the diversion associated with the providing context
-# has been collected.
-#
-# The implementation of the warning involves tracking the set of
-# macros which have been provided since the start of the outermost
-# defun'd macro (the set is named _m4_provide). When starting an
-# outermost macro, the set is emptied; when a macro is provided, it is
-# added to the set; when require expands the body of a macro, it is
-# removed from the set; and when a macro is indirectly required, the
-# set is checked. If a macro is in the set, then it has been provided
-# before it was required, and we satisfy dependencies by expanding the
-# macro as if it had never been provided; in the example given above,
-# this means we now output `1 2 3 1'. Meanwhile, a warning is issued
-# to inform the user that her macros trigger the bug in older autoconf
-# versions, and that her output file now contains redundant contents
-# (and possibly new problems, if the repeated macro was not
-# idempotent). Meanwhile, macros defined by m4_defun_once instead of
-# m4_defun are idempotent, avoiding any warning or duplicate output.
-#
-#
-# 2. Keeping track of the expansion stack
-# =======================================
-#
-# When M4 expansion goes wrong it is often extremely hard to find the
-# path amongst macros that drove to the failure. What is needed is
-# the stack of macro `calls'. One could imagine that GNU M4 would
-# maintain a stack of macro expansions, unfortunately it doesn't, so
-# we do it by hand. This is of course extremely costly, but the help
-# this stack provides is worth it. Nevertheless to limit the
-# performance penalty this is implemented only for m4_defun'd macros,
-# not for define'd macros.
-#
-# Each time we enter an m4_defun'd macros, we add a definition in
-# _m4_expansion_stack, and when we exit the macro, we remove it (thanks
-# to pushdef/popdef). m4_stack_foreach is used to print the expansion
-# stack in the rare cases when it's needed.
-#
-# In addition, we want to detect circular m4_require dependencies.
-# Each time we expand a macro FOO we define _m4_expanding(FOO); and
-# m4_require(BAR) simply checks whether _m4_expanding(BAR) is defined.
-
-
-# m4_expansion_stack
-# ------------------
-# Expands to the entire contents of the expansion stack. The caller
-# must supply a trailing newline. This macro always prints a
-# location; check whether _m4_expansion_stack is defined to filter out
-# the case when no defun'd macro is in force.
-m4_define([m4_expansion_stack],
-[m4_stack_foreach_sep_lifo([_$0], [_$0_entry(], [)
-])m4_location[: the top level]])
-
-# _m4_expansion_stack_entry(MACRO)
-# --------------------------------
-# Format an entry for MACRO found on the expansion stack.
-m4_define([_m4_expansion_stack_entry],
-[_m4_defn([m4_location($1)])[: $1 is expanded from...]])
-
-# m4_expansion_stack_push(MACRO)
-# ------------------------------
-# Form an entry of the expansion stack on entry to MACRO and push it.
-m4_define([m4_expansion_stack_push],
-[m4_pushdef([_m4_expansion_stack], [$1])])
-
-
-# _m4_divert(GROW)
-# ----------------
-# This diversion is used by the m4_defun/m4_require machinery. It is
-# important to keep room before GROW because for each nested
-# AC_REQUIRE we use an additional diversion (i.e., two m4_require's
-# will use GROW - 2. More than 3 levels has never seemed to be
-# needed.)
-#
-# ...
-# - GROW - 2
-# m4_require'd code, 2 level deep
-# - GROW - 1
-# m4_require'd code, 1 level deep
-# - GROW
-# m4_defun'd macros are elaborated here.
-
-m4_define([_m4_divert(GROW)], 10000)
-
-
-# _m4_defun_pro(MACRO-NAME)
-# -------------------------
-# The prologue for Autoconf macros.
-#
-# This is called frequently, so minimize the number of macro invocations
-# by avoiding dnl and m4_defn overhead.
-m4_define([_m4_defun_pro],
-[m4_ifdef([_m4_expansion_stack], [], [_m4_defun_pro_outer([$1])])]dnl
-[m4_expansion_stack_push([$1])m4_pushdef([_m4_expanding($1)])])
-
-m4_define([_m4_defun_pro_outer],
-[m4_set_delete([_m4_provide])]dnl
-[m4_pushdef([_m4_diverting([$1])])m4_pushdef([_m4_diverting], [$1])]dnl
-[m4_pushdef([_m4_divert_dump], m4_divnum)m4_divert_push([GROW])])
-
-# _m4_defun_epi(MACRO-NAME)
-# -------------------------
-# The Epilogue for Autoconf macros. MACRO-NAME only helps tracing
-# the PRO/EPI pairs.
-#
-# This is called frequently, so minimize the number of macro invocations
-# by avoiding dnl and m4_popdef overhead.
-m4_define([_m4_defun_epi],
-[_m4_popdef([_m4_expanding($1)], [_m4_expansion_stack])]dnl
-[m4_ifdef([_m4_expansion_stack], [], [_m4_defun_epi_outer([$1])])]dnl
-[m4_provide([$1])])
-
-m4_define([_m4_defun_epi_outer],
-[_m4_popdef([_m4_divert_dump], [_m4_diverting([$1])], [_m4_diverting])]dnl
-[m4_divert_pop([GROW])m4_undivert([GROW])])
-
-
-# _m4_divert_dump
-# ---------------
-# If blank, we are outside of any defun'd macro. Otherwise, expands
-# to the diversion number (not name) where require'd macros should be
-# moved once completed.
-m4_define([_m4_divert_dump])
-
-
-# m4_divert_require(DIVERSION, NAME-TO-CHECK, [BODY-TO-EXPAND])
-# -------------------------------------------------------------
-# Same as m4_require, but BODY-TO-EXPAND goes into the named DIVERSION;
-# requirements still go in the current diversion though.
-#
-m4_define([m4_divert_require],
-[m4_ifdef([_m4_expanding($2)],
- [m4_fatal([$0: circular dependency of $2])])]dnl
-[m4_if(_m4_divert_dump, [],
- [m4_fatal([$0($2): cannot be used outside of an m4_defun'd macro])])]dnl
-[m4_provide_if([$2], [],
- [_m4_require_call([$2], [$3], _m4_divert([$1], [-]))])])
-
-
-# m4_defun(NAME, EXPANSION, [MACRO = m4_define])
-# ----------------------------------------------
-# Define a macro NAME which automatically provides itself. Add
-# machinery so the macro automatically switches expansion to the
-# diversion stack if it is not already using it, prior to EXPANSION.
-# In this case, once finished, it will bring back all the code
-# accumulated in the diversion stack. This, combined with m4_require,
-# achieves the topological ordering of macros. We don't use this
-# macro to define some frequently called macros that are not involved
-# in ordering constraints, to save m4 processing.
-#
-# MACRO is an undocumented argument; when set to m4_pushdef, and NAME
-# is already defined, the new definition is added to the pushdef
-# stack, rather than overwriting the current definition. It can thus
-# be used to write self-modifying macros, which pop themselves to a
-# previously m4_define'd definition so that subsequent use of the
-# macro is faster.
-m4_define([m4_defun],
-[m4_define([m4_location($1)], m4_location)]dnl
-[m4_default([$3], [m4_define])([$1],
- [_m4_defun_pro(]m4_dquote($[0])[)$2[]_m4_defun_epi(]m4_dquote($[0])[)])])
-
-
-# m4_defun_init(NAME, INIT, COMMON)
-# ---------------------------------
-# Like m4_defun, but split EXPANSION into two portions: INIT which is
-# done only the first time NAME is invoked, and COMMON which is
-# expanded every time.
-#
-# For now, the COMMON definition is always m4_define'd, giving an even
-# lighter-weight definition. m4_defun allows self-providing, but once
-# a macro is provided, m4_require no longer cares if it is m4_define'd
-# or m4_defun'd. m4_defun also provides location tracking to identify
-# dependency bugs, but once the INIT has been expanded, we know there
-# are no dependency bugs. However, if a future use needs COMMON to be
-# m4_defun'd, we can add a parameter, similar to the third parameter
-# to m4_defun.
-m4_define([m4_defun_init],
-[m4_define([$1], [$3[]])m4_defun([$1],
- [$2[]_m4_popdef(]m4_dquote($[0])[)m4_indir(]m4_dquote($[0])dnl
-[m4_if(]m4_dquote($[#])[, [0], [], ]m4_dquote([,$]@)[))], [m4_pushdef])])
-
-
-# m4_defun_once(NAME, EXPANSION)
-# ------------------------------
-# Like m4_defun, but guarantee that EXPANSION only happens once
-# (thereafter, using NAME is a no-op).
-#
-# If _m4_divert_dump is empty, we are called at the top level;
-# otherwise, we must ensure that we are required in front of the
-# current defun'd macro. Use a helper macro so that EXPANSION need
-# only occur once in the definition of NAME, since it might be large.
-m4_define([m4_defun_once],
-[m4_define([m4_location($1)], m4_location)]dnl
-[m4_define([$1], [_m4_defun_once([$1], [$2], m4_if(_m4_divert_dump, [],
- [[_m4_defun_pro([$1])m4_unquote(], [)_m4_defun_epi([$1])]],
-m4_ifdef([_m4_diverting([$1])], [-]), [-], [[m4_unquote(], [)]],
- [[_m4_require_call([$1],], [, _m4_divert_dump)]]))])])
-
-m4_define([_m4_defun_once],
-[m4_pushdef([$1])$3[$2[]m4_provide([$1])]$4])
-
-
-# m4_pattern_forbid(ERE, [WHY])
-# -----------------------------
-# Declare that no token matching the forbidden extended regular
-# expression ERE should be seen in the output unless...
-m4_define([m4_pattern_forbid], [])
-
-
-# m4_pattern_allow(ERE)
-# ---------------------
-# ... that token also matches the allowed extended regular expression ERE.
-# Both used via traces.
-m4_define([m4_pattern_allow], [])
-
-
-## --------------------------------- ##
-## 11. Dependencies between macros. ##
-## --------------------------------- ##
-
-
-# m4_before(THIS-MACRO-NAME, CALLED-MACRO-NAME)
-# ---------------------------------------------
-# Issue a warning if CALLED-MACRO-NAME was called before THIS-MACRO-NAME.
-m4_define([m4_before],
-[m4_provide_if([$2],
- [m4_warn([syntax], [$2 was called before $1])])])
-
-
-# m4_require(NAME-TO-CHECK, [BODY-TO-EXPAND = NAME-TO-CHECK])
-# -----------------------------------------------------------
-# If NAME-TO-CHECK has never been expanded (actually, if it is not
-# m4_provide'd), expand BODY-TO-EXPAND *before* the current macro
-# expansion; follow the expansion with a newline. Once expanded, emit
-# it in _m4_divert_dump. Keep track of the m4_require chain in
-# _m4_expansion_stack.
-#
-# The normal cases are:
-#
-# - NAME-TO-CHECK == BODY-TO-EXPAND
-# Which you can use for regular macros with or without arguments, e.g.,
-# m4_require([AC_PROG_CC], [AC_PROG_CC])
-# m4_require([AC_CHECK_HEADERS(threads.h)], [AC_CHECK_HEADERS(threads.h)])
-# which is just the same as
-# m4_require([AC_PROG_CC])
-# m4_require([AC_CHECK_HEADERS(threads.h)])
-#
-# - BODY-TO-EXPAND == m4_indir([NAME-TO-CHECK])
-# In the case of macros with irregular names. For instance:
-# m4_require([AC_LANG_COMPILER(C)], [indir([AC_LANG_COMPILER(C)])])
-# which means `if the macro named `AC_LANG_COMPILER(C)' (the parens are
-# part of the name, it is not an argument) has not been run, then
-# call it.'
-# Had you used
-# m4_require([AC_LANG_COMPILER(C)], [AC_LANG_COMPILER(C)])
-# then m4_require would have tried to expand `AC_LANG_COMPILER(C)', i.e.,
-# call the macro `AC_LANG_COMPILER' with `C' as argument.
-#
-# You could argue that `AC_LANG_COMPILER', when it receives an argument
-# such as `C' should dispatch the call to `AC_LANG_COMPILER(C)'. But this
-# `extension' prevents `AC_LANG_COMPILER' from having actual arguments that
-# it passes to `AC_LANG_COMPILER(C)'.
-#
-# This is called frequently, so minimize the number of macro invocations
-# by avoiding dnl and other overhead on the common path.
-m4_define([m4_require],
-[m4_ifdef([_m4_expanding($1)],
- [m4_fatal([$0: circular dependency of $1])])]dnl
-[m4_if(_m4_divert_dump, [],
- [m4_fatal([$0($1): cannot be used outside of an ]dnl
-m4_if([$0], [m4_require], [[m4_defun]], [[AC_DEFUN]])['d macro])])]dnl
-[m4_provide_if([$1], [m4_set_contains([_m4_provide], [$1],
- [_m4_require_check([$1], _m4_defn([m4_provide($1)]), [$0])], [m4_ignore])],
- [_m4_require_call])([$1], [$2], _m4_divert_dump)])
-
-
-# _m4_require_call(NAME-TO-CHECK, [BODY-TO-EXPAND = NAME-TO-CHECK],
-# DIVERSION-NUMBER)
-# -----------------------------------------------------------------
-# If m4_require decides to expand the body, it calls this macro. The
-# expansion is placed in DIVERSION-NUMBER.
-#
-# This is called frequently, so minimize the number of macro invocations
-# by avoiding dnl and other overhead on the common path.
-# The use of a witness macro protecting the warning allows aclocal
-# to silence any warnings when probing for what macros are required
-# and must therefore be located, when using the Autoconf-without-aclocal-m4
-# autom4te language. For more background, see:
-# https://lists.gnu.org/archive/html/automake-patches/2012-11/msg00035.html
-m4_define([_m4_require_call],
-[m4_pushdef([_m4_divert_grow], m4_decr(_m4_divert_grow))]dnl
-[m4_pushdef([_m4_diverting([$1])])m4_pushdef([_m4_diverting], [$1])]dnl
-[m4_divert_push(_m4_divert_grow, [-])]dnl
-[m4_if([$2], [], [$1], [$2])
-m4_provide_if([$1], [m4_set_remove([_m4_provide], [$1])],
- [m4_ifndef([m4_require_silent_probe],
- [m4_warn([syntax], [$1 is m4_require'd but not m4_defun'd])])])]dnl
-[_m4_divert_raw($3)_m4_undivert(_m4_divert_grow)]dnl
-[m4_divert_pop(_m4_divert_grow)_m4_popdef([_m4_divert_grow],
-[_m4_diverting([$1])], [_m4_diverting])])
-
-
-# _m4_require_check(NAME-TO-CHECK, OWNER, CALLER)
-# -----------------------------------------------
-# NAME-TO-CHECK has been identified as previously expanded in the
-# diversion owned by OWNER. If this is a problem, warn on behalf of
-# CALLER and return _m4_require_call; otherwise return m4_ignore.
-m4_define([_m4_require_check],
-[m4_if(_m4_defn([_m4_diverting]), [$2], [m4_ignore],
- m4_ifdef([_m4_diverting([$2])], [-]), [-], [m4_warn([syntax],
- [$3: `$1' was expanded before it was required
-http://www.gnu.org/software/autoconf/manual/autoconf.html#Expanded-Before-Required])_m4_require_call],
- [m4_ignore])])
-
-
-# _m4_divert_grow
-# ---------------
-# The counter for _m4_require_call.
-m4_define([_m4_divert_grow], _m4_divert([GROW]))
-
-
-# m4_expand_once(TEXT, [WITNESS = TEXT])
-# --------------------------------------
-# If TEXT has never been expanded, expand it *here*. Use WITNESS as
-# as a memory that TEXT has already been expanded.
-m4_define([m4_expand_once],
-[m4_provide_if(m4_default_quoted([$2], [$1]),
- [],
- [m4_provide(m4_default_quoted([$2], [$1]))[]$1])])
-
-
-# m4_provide(MACRO-NAME)
-# ----------------------
-m4_define([m4_provide],
-[m4_ifdef([m4_provide($1)], [],
-[m4_set_add([_m4_provide], [$1], [m4_define([m4_provide($1)],
- m4_ifdef([_m4_diverting], [_m4_defn([_m4_diverting])]))])])])
-
-
-# m4_provide_if(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED)
-# -------------------------------------------------------
-# If MACRO-NAME is provided do IF-PROVIDED, else IF-NOT-PROVIDED.
-# The purpose of this macro is to provide the user with a means to
-# check macros which are provided without letting her know how the
-# information is coded.
-m4_define([m4_provide_if],
-[m4_ifdef([m4_provide($1)],
- [$2], [$3])])
-
-
-## --------------------- ##
-## 12. Text processing. ##
-## --------------------- ##
-
-
-# m4_cr_letters
-# m4_cr_LETTERS
-# m4_cr_Letters
-# -------------
-m4_define([m4_cr_letters], [abcdefghijklmnopqrstuvwxyz])
-m4_define([m4_cr_LETTERS], [ABCDEFGHIJKLMNOPQRSTUVWXYZ])
-m4_define([m4_cr_Letters],
-m4_defn([m4_cr_letters])dnl
-m4_defn([m4_cr_LETTERS])dnl
-)
-
-
-# m4_cr_digits
-# ------------
-m4_define([m4_cr_digits], [0123456789])
-
-
-# m4_cr_alnum
-# -----------
-m4_define([m4_cr_alnum],
-m4_defn([m4_cr_Letters])dnl
-m4_defn([m4_cr_digits])dnl
-)
-
-
-# m4_cr_symbols1
-# m4_cr_symbols2
-# --------------
-m4_define([m4_cr_symbols1],
-m4_defn([m4_cr_Letters])dnl
-_)
-
-m4_define([m4_cr_symbols2],
-m4_defn([m4_cr_symbols1])dnl
-m4_defn([m4_cr_digits])dnl
-)
-
-# m4_cr_all
-# ---------
-# The character range representing everything, with `-' as the last
-# character, since it is special to m4_translit. Use with care, because
-# it contains characters special to M4 (fortunately, both ASCII and EBCDIC
-# have [] in order, so m4_defn([m4_cr_all]) remains a valid string). It
-# also contains characters special to terminals, so it should never be
-# displayed in an error message. Also, attempts to map [ and ] to other
-# characters via m4_translit must deal with the fact that m4_translit does
-# not add quotes to the output.
-#
-# In EBCDIC, $ is immediately followed by *, which leads to problems
-# if m4_cr_all is inlined into a macro definition; so swap them.
-#
-# It is mainly useful in generating inverted character range maps, for use
-# in places where m4_translit is faster than an equivalent m4_bpatsubst;
-# the regex `[^a-z]' is equivalent to:
-# m4_translit(m4_dquote(m4_defn([m4_cr_all])), [a-z])
-m4_define([m4_cr_all],
-m4_translit(m4_dquote(m4_format(m4_dquote(m4_for(
- ,1,255,,[[%c]]))m4_for([i],1,255,,[,i]))), [$*-], [*$])-)
-
-
-# _m4_define_cr_not(CATEGORY)
-# ---------------------------
-# Define m4_cr_not_CATEGORY as the inverse of m4_cr_CATEGORY.
-m4_define([_m4_define_cr_not],
-[m4_define([m4_cr_not_$1],
- m4_translit(m4_dquote(m4_defn([m4_cr_all])),
- m4_defn([m4_cr_$1])))])
-
-
-# m4_cr_not_letters
-# m4_cr_not_LETTERS
-# m4_cr_not_Letters
-# m4_cr_not_digits
-# m4_cr_not_alnum
-# m4_cr_not_symbols1
-# m4_cr_not_symbols2
-# ------------------
-# Inverse character sets
-_m4_define_cr_not([letters])
-_m4_define_cr_not([LETTERS])
-_m4_define_cr_not([Letters])
-_m4_define_cr_not([digits])
-_m4_define_cr_not([alnum])
-_m4_define_cr_not([symbols1])
-_m4_define_cr_not([symbols2])
-
-
-# m4_newline([STRING])
-# --------------------
-# Expands to a newline, possibly followed by STRING. Exists mostly for
-# formatting reasons.
-m4_define([m4_newline], [
-$1])
-
-
-# m4_re_escape(STRING)
-# --------------------
-# Escape RE active characters in STRING.
-m4_define([m4_re_escape],
-[m4_bpatsubst([$1],
- [[][*+.?\^$]], [\\\&])])
-
-
-# m4_re_string
-# ------------
-# Regexp for `[a-zA-Z_0-9]*'
-# m4_dquote provides literal [] for the character class.
-m4_define([m4_re_string],
-m4_dquote(m4_defn([m4_cr_symbols2]))dnl
-[*]dnl
-)
-
-
-# m4_re_word
-# ----------
-# Regexp for `[a-zA-Z_][a-zA-Z_0-9]*'
-m4_define([m4_re_word],
-m4_dquote(m4_defn([m4_cr_symbols1]))dnl
-m4_defn([m4_re_string])dnl
-)
-
-
-# m4_tolower(STRING)
-# m4_toupper(STRING)
-# ------------------
-# These macros convert STRING to lowercase or uppercase.
-#
-# Rather than expand the m4_defn each time, we inline them up front.
-m4_define([m4_tolower],
-[m4_translit([[$1]], ]m4_dquote(m4_defn([m4_cr_LETTERS]))[,
- ]m4_dquote(m4_defn([m4_cr_letters]))[)])
-m4_define([m4_toupper],
-[m4_translit([[$1]], ]m4_dquote(m4_defn([m4_cr_letters]))[,
- ]m4_dquote(m4_defn([m4_cr_LETTERS]))[)])
-
-
-# m4_split(STRING, [REGEXP])
-# --------------------------
-# Split STRING into an m4 list of quoted elements. The elements are
-# quoted with [ and ]. Beginning spaces and end spaces *are kept*.
-# Use m4_strip to remove them.
-#
-# REGEXP specifies where to split. Default is [\t ]+.
-#
-# If STRING is empty, the result is an empty list.
-#
-# Pay attention to the m4_changequotes. When m4 reads the definition of
-# m4_split, it still has quotes set to [ and ]. Luckily, these are matched
-# in the macro body, so the definition is stored correctly. Use the same
-# alternate quotes as m4_noquote; it must be unlikely to appear in $1.
-#
-# Also, notice that $1 is quoted twice, since we want the result to
-# be quoted. Then you should understand that the argument of
-# patsubst is -=<{(STRING)}>=- (i.e., with additional -=<{( and )}>=-).
-#
-# This macro is safe on active symbols, i.e.:
-# m4_define(active, ACTIVE)
-# m4_split([active active ])end
-# => [active], [active], []end
-#
-# Optimize on regex of ` ' (space), since m4_foreach_w already guarantees
-# that the list contains single space separators, and a common case is
-# splitting a single-element list. This macro is called frequently,
-# so avoid unnecessary dnl inside the definition.
-m4_define([m4_split],
-[m4_if([$1], [], [],
- [$2], [ ], [m4_if(m4_index([$1], [ ]), [-1], [[[$1]]],
- [_$0([$1], [$2], [, ])])],
- [$2], [], [_$0([$1], [[ ]+], [, ])],
- [_$0([$1], [$2], [, ])])])
-
-m4_define([_m4_split],
-[m4_changequote([-=<{(],[)}>=-])]dnl
-[[m4_bpatsubst(-=<{(-=<{($1)}>=-)}>=-, -=<{($2)}>=-,
- -=<{(]$3[)}>=-)]m4_changequote([, ])])
-
-
-# m4_chomp(STRING)
-# m4_chomp_all(STRING)
-# --------------------
-# Return STRING quoted, but without a trailing newline. m4_chomp
-# removes at most one newline, while m4_chomp_all removes all
-# consecutive trailing newlines. Embedded newlines are not touched,
-# and a trailing backslash-newline leaves just a trailing backslash.
-#
-# m4_bregexp is slower than m4_index, and we don't always want to
-# remove all newlines; hence the two variants. We massage characters
-# to give a nicer pattern to match, particularly since m4_bregexp is
-# line-oriented. Both versions must guarantee a match, to avoid bugs
-# with precision -1 in m4_format in older m4.
-m4_define([m4_chomp],
-[m4_format([[%.*s]], m4_index(m4_translit([[$1]], [
-/.], [/ ])[./.], [/.]), [$1])])
-
-m4_define([m4_chomp_all],
-[m4_format([[%.*s]], m4_bregexp(m4_translit([[$1]], [
-/], [/ ]), [/*$]), [$1])])
-
-
-# m4_flatten(STRING)
-# ------------------
-# If STRING contains end of lines, replace them with spaces. If there
-# are backslashed end of lines, remove them. This macro is safe with
-# active symbols.
-# m4_define(active, ACTIVE)
-# m4_flatten([active
-# act\
-# ive])end
-# => active activeend
-#
-# In m4, m4_bpatsubst is expensive, so first check for a newline.
-m4_define([m4_flatten],
-[m4_if(m4_index([$1], [
-]), [-1], [[$1]],
- [m4_translit(m4_bpatsubst([[[$1]]], [\\
-]), [
-], [ ])])])
-
-
-# m4_strip(STRING)
-# ----------------
-# Expands into STRING with tabs and spaces singled out into a single
-# space, and removing leading and trailing spaces.
-#
-# This macro is robust to active symbols.
-# m4_define(active, ACTIVE)
-# m4_strip([ active <tab> <tab>active ])end
-# => active activeend
-#
-# First, notice that we guarantee trailing space. Why? Because regular
-# expressions are greedy, and `.* ?' would always group the space into the
-# .* portion. The algorithm is simpler by avoiding `?' at the end. The
-# algorithm correctly strips everything if STRING is just ` '.
-#
-# Then notice the second pattern: it is in charge of removing the
-# leading/trailing spaces. Why not just `[^ ]'? Because they are
-# applied to over-quoted strings, i.e. more or less [STRING], due
-# to the limitations of m4_bpatsubsts. So the leading space in STRING
-# is the *second* character; equally for the trailing space.
-m4_define([m4_strip],
-[m4_bpatsubsts([$1 ],
- [[ ]+], [ ],
- [^. ?\(.*\) .$], [[[\1]]])])
-
-
-# m4_normalize(STRING)
-# --------------------
-# Apply m4_flatten and m4_strip to STRING.
-#
-# The argument is quoted, so that the macro is robust to active symbols:
-#
-# m4_define(active, ACTIVE)
-# m4_normalize([ act\
-# ive
-# active ])end
-# => active activeend
-
-m4_define([m4_normalize],
-[m4_strip(m4_flatten([$1]))])
-
-
-
-# m4_join(SEP, ARG1, ARG2...)
-# ---------------------------
-# Produce ARG1SEPARG2...SEPARGn. Avoid back-to-back SEP when a given ARG
-# is the empty string. No expansion is performed on SEP or ARGs.
-#
-# Since the number of arguments to join can be arbitrarily long, we
-# want to avoid having more than one $@ in the macro definition;
-# otherwise, the expansion would require twice the memory of the already
-# long list. Hence, m4_join merely looks for the first non-empty element,
-# and outputs just that element; while _m4_join looks for all non-empty
-# elements, and outputs them following a separator. The final trick to
-# note is that we decide between recursing with $0 or _$0 based on the
-# nested m4_if ending with `_'.
-#
-# Please keep foreach.m4 in sync with any adjustments made here.
-m4_define([m4_join],
-[m4_if([$#], [1], [],
- [$#], [2], [[$2]],
- [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift2($@))])])
-m4_define([_m4_join],
-[m4_if([$#$2], [2], [],
- [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift2($@))])])
-
-# m4_joinall(SEP, ARG1, ARG2...)
-# ------------------------------
-# Produce ARG1SEPARG2...SEPARGn. An empty ARG results in back-to-back SEP.
-# No expansion is performed on SEP or ARGs.
-#
-# Please keep foreach.m4 in sync with any adjustments made here.
-m4_define([m4_joinall], [[$2]_$0([$1], m4_shift($@))])
-m4_define([_m4_joinall],
-[m4_if([$#], [2], [], [[$1$3]$0([$1], m4_shift2($@))])])
-
-# m4_combine([SEPARATOR], PREFIX-LIST, [INFIX], SUFFIX...)
-# --------------------------------------------------------
-# Produce the pairwise combination of every element in the quoted,
-# comma-separated PREFIX-LIST with every element from the SUFFIX arguments.
-# Each pair is joined with INFIX, and pairs are separated by SEPARATOR.
-# No expansion occurs on SEPARATOR, INFIX, or elements of either list.
-#
-# For example:
-# m4_combine([, ], [[a], [b], [c]], [-], [1], [2], [3])
-# => a-1, a-2, a-3, b-1, b-2, b-3, c-1, c-2, c-3
-#
-# This definition is a bit hairy; the thing to realize is that we want
-# to construct m4_map_args_sep([[prefix$3]], [], [[$1]], m4_shift3($@))
-# as the inner loop, using each prefix generated by the outer loop,
-# and without recalculating m4_shift3 every outer iteration.
-m4_define([m4_combine],
-[m4_if([$2], [], [], m4_eval([$# > 3]), [1],
-[m4_map_args_sep([m4_map_args_sep(m4_dquote(], [)[[$3]], [], [[$1]],]]]dnl
-[m4_dquote(m4_dquote(m4_shift3($@)))[[)], [[$1]], $2)])])
-
-
-# m4_append(MACRO-NAME, STRING, [SEPARATOR])
-# ------------------------------------------
-# Redefine MACRO-NAME to hold its former content plus `SEPARATOR`'STRING'
-# at the end. It is valid to use this macro with MACRO-NAME undefined,
-# in which case no SEPARATOR is added. Be aware that the criterion is
-# `not being defined', and not `not being empty'.
-#
-# Note that neither STRING nor SEPARATOR are expanded here; rather, when
-# you expand MACRO-NAME, they will be expanded at that point in time.
-#
-# This macro is robust to active symbols. It can be used to grow
-# strings.
-#
-# | m4_define(active, ACTIVE)dnl
-# | m4_append([sentence], [This is an])dnl
-# | m4_append([sentence], [ active ])dnl
-# | m4_append([sentence], [symbol.])dnl
-# | sentence
-# | m4_undefine([active])dnl
-# | sentence
-# => This is an ACTIVE symbol.
-# => This is an active symbol.
-#
-# It can be used to define hooks.
-#
-# | m4_define(active, ACTIVE)dnl
-# | m4_append([hooks], [m4_define([act1], [act2])])dnl
-# | m4_append([hooks], [m4_define([act2], [active])])dnl
-# | m4_undefine([active])dnl
-# | act1
-# | hooks
-# | act1
-# => act1
-# =>
-# => active
-#
-# It can also be used to create lists, although this particular usage was
-# broken prior to autoconf 2.62.
-# | m4_append([list], [one], [, ])dnl
-# | m4_append([list], [two], [, ])dnl
-# | m4_append([list], [three], [, ])dnl
-# | list
-# | m4_dquote(list)
-# => one, two, three
-# => [one],[two],[three]
-#
-# Note that m4_append can benefit from amortized O(n) m4 behavior, if
-# the underlying m4 implementation is smart enough to avoid copying existing
-# contents when enlarging a macro's definition into any pre-allocated storage
-# (m4 1.4.x unfortunately does not implement this optimization). We do
-# not implement m4_prepend, since it is inherently O(n^2) (pre-allocated
-# storage only occurs at the end of a macro, so the existing contents must
-# always be moved).
-#
-# Use _m4_defn for speed.
-m4_define([m4_append],
-[m4_define([$1], m4_ifdef([$1], [_m4_defn([$1])[$3]])[$2])])
-
-
-# m4_append_uniq(MACRO-NAME, STRING, [SEPARATOR], [IF-UNIQ], [IF-DUP])
-# --------------------------------------------------------------------
-# Like `m4_append', but append only if not yet present. Additionally,
-# expand IF-UNIQ if STRING was appended, or IF-DUP if STRING was already
-# present. Also, warn if SEPARATOR is not empty and occurs within STRING,
-# as the algorithm no longer guarantees uniqueness.
-#
-# Note that while m4_append can be O(n) (depending on the quality of the
-# underlying M4 implementation), m4_append_uniq is inherently O(n^2)
-# because each append operation searches the entire string.
-m4_define([m4_append_uniq],
-[m4_ifval([$3], [m4_if(m4_index([$2], [$3]), [-1], [],
- [m4_warn([syntax],
- [$0: `$2' contains `$3'])])])_$0($@)])
-m4_define([_m4_append_uniq],
-[m4_ifdef([$1],
- [m4_if(m4_index([$3]_m4_defn([$1])[$3], [$3$2$3]), [-1],
- [m4_append([$1], [$2], [$3])$4], [$5])],
- [m4_define([$1], [$2])$4])])
-
-# m4_append_uniq_w(MACRO-NAME, STRINGS)
-# -------------------------------------
-# For each of the words in the whitespace separated list STRINGS, append
-# only the unique strings to the definition of MACRO-NAME.
-#
-# Use _m4_defn for speed.
-m4_define([m4_append_uniq_w],
-[m4_map_args_w([$2], [_m4_append_uniq([$1],], [, [ ])])])
-
-
-# m4_escape(STRING)
-# -----------------
-# Output quoted STRING, but with embedded #, $, [ and ] turned into
-# quadrigraphs.
-#
-# It is faster to check if STRING is already good using m4_translit
-# than to blindly perform four m4_bpatsubst.
-#
-# Because the translit is stripping quotes, it must also neutralize
-# anything that might be in a macro name, as well as comments, commas,
-# and parentheses. All the problem characters are unified so that a
-# single m4_index can scan the result.
-#
-# Rather than expand m4_defn every time m4_escape is expanded, we
-# inline its expansion up front.
-m4_define([m4_escape],
-[m4_if(m4_index(m4_translit([$1],
- [[]#,()]]m4_dquote(m4_defn([m4_cr_symbols2]))[, [$$$]), [$]),
- [-1], [m4_echo], [_$0])([$1])])
-
-m4_define([_m4_escape],
-[m4_changequote([-=<{(],[)}>=-])]dnl
-[m4_bpatsubst(m4_bpatsubst(m4_bpatsubst(m4_bpatsubst(
- -=<{(-=<{(-=<{(-=<{(-=<{($1)}>=-)}>=-)}>=-)}>=-)}>=-,
- -=<{(#)}>=-, -=<{(@%:@)}>=-),
- -=<{(\[)}>=-, -=<{(@<:@)}>=-),
- -=<{(\])}>=-, -=<{(@:>@)}>=-),
- -=<{(\$)}>=-, -=<{(@S|@)}>=-)m4_changequote([,])])
-
-
-# m4_text_wrap(STRING, [PREFIX], [FIRST-PREFIX], [WIDTH])
-# -------------------------------------------------------
-# Expands into STRING wrapped to hold in WIDTH columns (default = 79).
-# If PREFIX is given, each line is prefixed with it. If FIRST-PREFIX is
-# specified, then the first line is prefixed with it. As a special case,
-# if the length of FIRST-PREFIX is greater than that of PREFIX, then
-# FIRST-PREFIX will be left alone on the first line.
-#
-# No expansion occurs on the contents STRING, PREFIX, or FIRST-PREFIX,
-# although quadrigraphs are correctly recognized. More precisely,
-# you may redefine m4_qlen to recognize whatever escape sequences that
-# you will post-process.
-#
-# Typical outputs are:
-#
-# m4_text_wrap([Short string */], [ ], [/* ], 20)
-# => /* Short string */
-#
-# m4_text_wrap([Much longer string */], [ ], [/* ], 20)
-# => /* Much longer
-# => string */
-#
-# m4_text_wrap([Short doc.], [ ], [ --short ], 30)
-# => --short Short doc.
-#
-# m4_text_wrap([Short doc.], [ ], [ --too-wide ], 30)
-# => --too-wide
-# => Short doc.
-#
-# m4_text_wrap([Super long documentation.], [ ], [ --too-wide ], 30)
-# => --too-wide
-# => Super long
-# => documentation.
-#
-# FIXME: there is no checking of a longer PREFIX than WIDTH, but do
-# we really want to bother with people trying each single corner
-# of a software?
-#
-# This macro does not leave a trailing space behind the last word of a line,
-# which complicates it a bit. The algorithm is otherwise stupid and simple:
-# all the words are preceded by m4_Separator which is defined to empty for
-# the first word, and then ` ' (single space) for all the others.
-#
-# The algorithm uses a helper that uses $2 through $4 directly, rather than
-# using local variables, to avoid m4_defn overhead, or expansion swallowing
-# any $. It also bypasses m4_popdef overhead with _m4_popdef since no user
-# macro expansion occurs in the meantime. Also, the definition is written
-# with m4_do, to avoid time wasted on dnl during expansion (since this is
-# already a time-consuming macro).
-m4_define([m4_text_wrap],
-[_$0(m4_escape([$1]), [$2], m4_default_quoted([$3], [$2]),
- m4_default_quoted([$4], [79]))])
-
-m4_define([_m4_text_wrap],
-m4_do(dnl set up local variables, to avoid repeated calculations
-[[m4_pushdef([m4_Indent], m4_qlen([$2]))]],
-[[m4_pushdef([m4_Cursor], m4_qlen([$3]))]],
-[[m4_pushdef([m4_Separator], [m4_define([m4_Separator], [ ])])]],
-dnl expand the first prefix, then check its length vs. regular prefix
-dnl same length: nothing special
-dnl prefix1 longer: output on line by itself, and reset cursor
-dnl prefix1 shorter: pad to length of prefix, and reset cursor
-[[[$3]m4_cond([m4_Cursor], m4_Indent, [],
- [m4_eval(m4_Cursor > m4_Indent)], [1], [
-[$2]m4_define([m4_Cursor], m4_Indent)],
- [m4_format([%*s], m4_max([0],
- m4_eval(m4_Indent - m4_Cursor)), [])m4_define([m4_Cursor], m4_Indent)])]],
-dnl now, for each word, compute the cursor after the word is output, then
-dnl check if the cursor would exceed the wrap column
-dnl if so, reset cursor, and insert newline and prefix
-dnl if not, insert the separator (usually a space)
-dnl either way, insert the word
-[[m4_map_args_w([$1], [$0_word(], [, [$2], [$4])])]],
-dnl finally, clean up the local variables
-[[_m4_popdef([m4_Separator], [m4_Cursor], [m4_Indent])]]))
-
-m4_define([_m4_text_wrap_word],
-[m4_define([m4_Cursor], m4_eval(m4_Cursor + m4_qlen([$1]) + 1))]dnl
-[m4_if(m4_eval(m4_Cursor > ([$3])),
- [1], [m4_define([m4_Cursor], m4_eval(m4_Indent + m4_qlen([$1]) + 1))
-[$2]],
- [m4_Separator[]])[$1]])
-
-# m4_text_box(MESSAGE, [FRAME-CHARACTER = `-'])
-# ---------------------------------------------
-# Turn MESSAGE into:
-# ## ------- ##
-# ## MESSAGE ##
-# ## ------- ##
-# using FRAME-CHARACTER in the border.
-#
-# Quadrigraphs are correctly recognized. More precisely, you may
-# redefine m4_qlen to recognize whatever escape sequences that you
-# will post-process.
-m4_define([m4_text_box],
-[m4_pushdef([m4_Border],
- m4_translit(m4_format([[[%*s]]], m4_decr(m4_qlen(_m4_expand([$1
-]))), []), [ ], m4_default_quoted([$2], [-])))]dnl
-[[##] _m4_defn([m4_Border]) [##]
-[##] $1 [##]
-[##] _m4_defn([m4_Border]) [##]_m4_popdef([m4_Border])])
-
-
-# m4_qlen(STRING)
-# ---------------
-# Expands to the length of STRING after autom4te converts all quadrigraphs.
-#
-# If you use some other means of post-processing m4 output rather than
-# autom4te, then you may redefine this macro to recognize whatever
-# escape sequences your post-processor will handle. For that matter,
-# m4_define([m4_qlen], m4_defn([m4_len])) is sufficient if you don't
-# do any post-processing.
-#
-# Avoid bpatsubsts for the common case of no quadrigraphs. Cache
-# results, as configure scripts tend to ask about lengths of common
-# strings like `/*' and `*/' rather frequently. Minimize the number
-# of times that $1 occurs in m4_qlen, so there is less text to parse
-# on a cache hit.
-m4_define([m4_qlen],
-[m4_ifdef([$0-$1], [_m4_defn([$0-]], [_$0(])[$1])])
-m4_define([_m4_qlen],
-[m4_define([m4_qlen-$1],
-m4_if(m4_index([$1], [@]), [-1], [m4_len([$1])],
- [m4_len(m4_bpatsubst([[$1]],
- [@\(\(<:\|:>\|S|\|%:\|\{:\|:\}\)\(@\)\|&t@\)],
- [\3]))]))_m4_defn([m4_qlen-$1])])
-
-# m4_copyright_condense(TEXT)
-# ---------------------------
-# Condense the copyright notice in TEXT to only display the final
-# year, wrapping the results to fit in 80 columns.
-m4_define([m4_copyright_condense],
-[m4_text_wrap(m4_bpatsubst(m4_flatten([[$1]]),
-[(C)[- ,0-9]*\([1-9][0-9][0-9][0-9]\)], [(C) \1]))])
-
-## ----------------------- ##
-## 13. Number processing. ##
-## ----------------------- ##
-
-# m4_cmp(A, B)
-# ------------
-# Compare two integer expressions.
-# A < B -> -1
-# A = B -> 0
-# A > B -> 1
-m4_define([m4_cmp],
-[m4_eval((([$1]) > ([$2])) - (([$1]) < ([$2])))])
-
-
-# m4_list_cmp(A, B)
-# -----------------
-#
-# Compare the two lists of integer expressions A and B. For instance:
-# m4_list_cmp([1, 0], [1]) -> 0
-# m4_list_cmp([1, 0], [1, 0]) -> 0
-# m4_list_cmp([1, 2], [1, 0]) -> 1
-# m4_list_cmp([1, 2, 3], [1, 2]) -> 1
-# m4_list_cmp([1, 2, -3], [1, 2]) -> -1
-# m4_list_cmp([1, 0], [1, 2]) -> -1
-# m4_list_cmp([1], [1, 2]) -> -1
-# m4_define([xa], [oops])dnl
-# m4_list_cmp([[0xa]], [5+5]) -> 0
-#
-# Rather than face the overhead of m4_case, we use a helper function whose
-# expansion includes the name of the macro to invoke on the tail, either
-# m4_ignore or m4_unquote. This is particularly useful when comparing
-# long lists, since less text is being expanded for deciding when to end
-# recursion. The recursion is between a pair of macros that alternate
-# which list is trimmed by one element; this is more efficient than
-# calling m4_cdr on both lists from a single macro. Guarantee exactly
-# one expansion of both lists' side effects.
-#
-# Please keep foreach.m4 in sync with any adjustments made here.
-m4_define([m4_list_cmp],
-[_$0_raw(m4_dquote($1), m4_dquote($2))])
-
-m4_define([_m4_list_cmp_raw],
-[m4_if([$1], [$2], [0], [_m4_list_cmp_1([$1], $2)])])
-
-m4_define([_m4_list_cmp],
-[m4_if([$1], [], [0m4_ignore], [$2], [0], [m4_unquote], [$2m4_ignore])])
-
-m4_define([_m4_list_cmp_1],
-[_m4_list_cmp_2([$2], [m4_shift2($@)], $1)])
-
-m4_define([_m4_list_cmp_2],
-[_m4_list_cmp([$1$3], m4_cmp([$3+0], [$1+0]))(
- [_m4_list_cmp_1(m4_dquote(m4_shift3($@)), $2)])])
-
-# m4_max(EXPR, ...)
-# m4_min(EXPR, ...)
-# -----------------
-# Return the decimal value of the maximum (or minimum) in a series of
-# integer expressions.
-#
-# M4 1.4.x doesn't provide ?:. Hence this huge m4_eval. Avoid m4_eval
-# if both arguments are identical, but be aware of m4_max(0xa, 10) (hence
-# the use of <=, not just <, in the second multiply).
-#
-# Please keep foreach.m4 in sync with any adjustments made here.
-m4_define([m4_max],
-[m4_if([$#], [0], [m4_fatal([too few arguments to $0])],
- [$#], [1], [m4_eval([$1])],
- [$#$1], [2$2], [m4_eval([$1])],
- [$#], [2], [_$0($@)],
- [_m4_minmax([_$0], $@)])])
-
-m4_define([_m4_max],
-[m4_eval((([$1]) > ([$2])) * ([$1]) + (([$1]) <= ([$2])) * ([$2]))])
-
-m4_define([m4_min],
-[m4_if([$#], [0], [m4_fatal([too few arguments to $0])],
- [$#], [1], [m4_eval([$1])],
- [$#$1], [2$2], [m4_eval([$1])],
- [$#], [2], [_$0($@)],
- [_m4_minmax([_$0], $@)])])
-
-m4_define([_m4_min],
-[m4_eval((([$1]) < ([$2])) * ([$1]) + (([$1]) >= ([$2])) * ([$2]))])
-
-# _m4_minmax(METHOD, ARG1, ARG2...)
-# ---------------------------------
-# Common recursion code for m4_max and m4_min. METHOD must be _m4_max
-# or _m4_min, and there must be at least two arguments to combine.
-#
-# Please keep foreach.m4 in sync with any adjustments made here.
-m4_define([_m4_minmax],
-[m4_if([$#], [3], [$1([$2], [$3])],
- [$0([$1], $1([$2], [$3]), m4_shift3($@))])])
-
-
-# m4_sign(A)
-# ----------
-# The sign of the integer expression A.
-m4_define([m4_sign],
-[m4_eval((([$1]) > 0) - (([$1]) < 0))])
-
-
-
-## ------------------------ ##
-## 14. Version processing. ##
-## ------------------------ ##
-
-
-# m4_version_unletter(VERSION)
-# ----------------------------
-# Normalize beta version numbers with letters to numeric expressions, which
-# can then be handed to m4_eval for the purpose of comparison.
-#
-# Nl -> (N+1).-1.(l#)
-#
-# for example:
-# [2.14a] -> [0,2,14+1,-1,[0r36:a]] -> 2.15.-1.10
-# [2.14b] -> [0,2,15+1,-1,[0r36:b]] -> 2.15.-1.11
-# [2.61aa.b] -> [0,2.61,1,-1,[0r36:aa],+1,-1,[0r36:b]] -> 2.62.-1.370.1.-1.11
-# [08] -> [0,[0r10:0]8] -> 8
-#
-# This macro expects reasonable version numbers, but can handle double
-# letters and does not expand any macros. Original version strings can
-# use both `.' and `-' separators.
-#
-# Inline constant expansions, to avoid m4_defn overhead.
-# _m4_version_unletter is the real workhorse used by m4_version_compare,
-# but since [0r36:a] and commas are less readable than 10 and dots, we
-# provide a wrapper for human use.
-m4_define([m4_version_unletter],
-[m4_substr(m4_map_args([.m4_eval], m4_unquote(_$0([$1]))), [3])])
-m4_define([_m4_version_unletter],
-[m4_bpatsubst(m4_bpatsubst(m4_translit([[[[0,$1]]]], [.-], [,,]),]dnl
-m4_dquote(m4_dquote(m4_defn([m4_cr_Letters])))[[+],
- [+1,-1,[0r36:\&]]), [,0], [,[0r10:0]])])
-
-
-# m4_version_compare(VERSION-1, VERSION-2)
-# ----------------------------------------
-# Compare the two version numbers and expand into
-# -1 if VERSION-1 < VERSION-2
-# 0 if =
-# 1 if >
-#
-# Since _m4_version_unletter does not output side effects, we can
-# safely bypass the overhead of m4_version_cmp.
-m4_define([m4_version_compare],
-[_m4_list_cmp_raw(_m4_version_unletter([$1]), _m4_version_unletter([$2]))])
-
-
-# m4_PACKAGE_NAME
-# m4_PACKAGE_TARNAME
-# m4_PACKAGE_VERSION
-# m4_PACKAGE_STRING
-# m4_PACKAGE_BUGREPORT
-# --------------------
-# If m4sugar/version.m4 is present, then define version strings. This
-# file is optional, provided by Autoconf but absent in Bison.
-m4_sinclude([m4sugar/version.m4])
-
-
-# m4_version_prereq(VERSION, [IF-OK], [IF-NOT = FAIL])
-# ----------------------------------------------------
-# Check this Autoconf version against VERSION.
-m4_define([m4_version_prereq],
-m4_ifdef([m4_PACKAGE_VERSION],
-[[m4_if(m4_version_compare(]m4_dquote(m4_defn([m4_PACKAGE_VERSION]))[, [$1]),
- [-1],
- [m4_default([$3],
- [m4_fatal([Autoconf version $1 or higher is required],
- [63])])],
- [$2])]],
-[[m4_fatal([m4sugar/version.m4 not found])]]))
-
-
-## ------------------ ##
-## 15. Set handling. ##
-## ------------------ ##
-
-# Autoconf likes to create arbitrarily large sets; for example, as of
-# this writing, the configure.ac for coreutils tracks a set of more
-# than 400 AC_SUBST. How do we track all of these set members,
-# without introducing duplicates? We could use m4_append_uniq, with
-# the set NAME residing in the contents of the macro NAME.
-# Unfortunately, m4_append_uniq is quadratic for set creation, because
-# it costs O(n) to search the string for each of O(n) insertions; not
-# to mention that with m4 1.4.x, even using m4_append is slow, costing
-# O(n) rather than O(1) per insertion. Other set operations, not used
-# by Autoconf but still possible by manipulation of the definition
-# tracked in macro NAME, include O(n) deletion of one element and O(n)
-# computation of set size. Because the set is exposed to the user via
-# the definition of a single macro, we cannot cache any data about the
-# set without risking the cache being invalidated by the user
-# redefining NAME.
-#
-# Can we do better? Yes, because m4 gives us an O(1) search function
-# for free: ifdef. Additionally, even m4 1.4.x gives us an O(1)
-# insert operation for free: pushdef. But to use these, we must
-# represent the set via a group of macros; to keep the set consistent,
-# we must hide the set so that the user can only manipulate it through
-# accessor macros. The contents of the set are maintained through two
-# access points; _m4_set([name]) is a pushdef stack of values in the
-# set, useful for O(n) traversal of the set contents; while the
-# existence of _m4_set([name],value) with no particular value is
-# useful for O(1) querying of set membership. And since the user
-# cannot externally manipulate the set, we are free to add additional
-# caching macros for other performance improvements. Deletion can be
-# O(1) per element rather than O(n), by reworking the definition of
-# _m4_set([name],value) to be 0 or 1 based on current membership, and
-# adding _m4_set_cleanup(name) to defer the O(n) cleanup of
-# _m4_set([name]) until we have another reason to do an O(n)
-# traversal. The existence of _m4_set_cleanup(name) can then be used
-# elsewhere to determine if we must dereference _m4_set([name],value),
-# or assume that definition implies set membership. Finally, size can
-# be tracked in an O(1) fashion with _m4_set_size(name).
-#
-# The quoting in _m4_set([name],value) is chosen so that there is no
-# ambiguity with a set whose name contains a comma, and so that we can
-# supply the value via _m4_defn([_m4_set([name])]) without needing any
-# quote manipulation.
-
-# m4_set_add(SET, VALUE, [IF-UNIQ], [IF-DUP])
-# -------------------------------------------
-# Add VALUE as an element of SET. Expand IF-UNIQ on the first
-# addition, and IF-DUP if it is already in the set. Addition of one
-# element is O(1), such that overall set creation is O(n).
-#
-# We do not want to add a duplicate for a previously deleted but
-# unpruned element, but it is just as easy to check existence directly
-# as it is to query _m4_set_cleanup($1).
-m4_define([m4_set_add],
-[m4_ifdef([_m4_set([$1],$2)],
- [m4_if(m4_indir([_m4_set([$1],$2)]), [0],
- [m4_define([_m4_set([$1],$2)],
- [1])_m4_set_size([$1], [m4_incr])$3], [$4])],
- [m4_define([_m4_set([$1],$2)],
- [1])m4_pushdef([_m4_set([$1])],
- [$2])_m4_set_size([$1], [m4_incr])$3])])
-
-# m4_set_add_all(SET, VALUE...)
-# -----------------------------
-# Add each VALUE into SET. This is O(n) in the number of VALUEs, and
-# can be faster than calling m4_set_add for each VALUE.
-#
-# Implement two recursion helpers; the check variant is slower but
-# handles the case where an element has previously been removed but
-# not pruned. The recursion helpers ignore their second argument, so
-# that we can use the faster m4_shift2 and 2 arguments, rather than
-# _m4_shift2 and one argument, as the signal to end recursion.
-#
-# Please keep foreach.m4 in sync with any adjustments made here.
-m4_define([m4_set_add_all],
-[m4_define([_m4_set_size($1)], m4_eval(m4_set_size([$1])
- + m4_len(m4_ifdef([_m4_set_cleanup($1)], [_$0_check], [_$0])([$1], $@))))])
-
-m4_define([_m4_set_add_all],
-[m4_if([$#], [2], [],
- [m4_ifdef([_m4_set([$1],$3)], [],
- [m4_define([_m4_set([$1],$3)], [1])m4_pushdef([_m4_set([$1])],
- [$3])-])$0([$1], m4_shift2($@))])])
-
-m4_define([_m4_set_add_all_check],
-[m4_if([$#], [2], [],
- [m4_set_add([$1], [$3])$0([$1], m4_shift2($@))])])
-
-# m4_set_contains(SET, VALUE, [IF-PRESENT], [IF-ABSENT])
-# ------------------------------------------------------
-# Expand IF-PRESENT if SET contains VALUE, otherwise expand IF-ABSENT.
-# This is always O(1).
-m4_define([m4_set_contains],
-[m4_ifdef([_m4_set_cleanup($1)],
- [m4_if(m4_ifdef([_m4_set([$1],$2)],
- [m4_indir([_m4_set([$1],$2)])], [0]), [1], [$3], [$4])],
- [m4_ifdef([_m4_set([$1],$2)], [$3], [$4])])])
-
-# m4_set_contents(SET, [SEP])
-# ---------------------------
-# Expand to a single string containing all the elements in SET,
-# separated by SEP, without modifying SET. No provision is made for
-# disambiguating set elements that contain non-empty SEP as a
-# sub-string, or for recognizing a set that contains only the empty
-# string. Order of the output is not guaranteed. If any elements
-# have been previously removed from the set, this action will prune
-# the unused memory. This is O(n) in the size of the set before
-# pruning.
-#
-# Use _m4_popdef for speed. The existence of _m4_set_cleanup($1)
-# determines which version of _1 helper we use.
-m4_define([m4_set_contents],
-[m4_set_map_sep([$1], [], [], [[$2]])])
-
-# _m4_set_contents_1(SET)
-# _m4_set_contents_1c(SET)
-# _m4_set_contents_2(SET, [PRE], [POST], [SEP])
-# ---------------------------------------------
-# Expand to a list of quoted elements currently in the set, each
-# surrounded by PRE and POST, and moving SEP in front of PRE on
-# recursion. To avoid nesting limit restrictions, the algorithm must
-# be broken into two parts; _1 destructively copies the stack in
-# reverse into _m4_set_($1), producing no output; then _2
-# destructively copies _m4_set_($1) back into the stack in reverse.
-# If no elements were deleted, then this visits the set in the order
-# that elements were inserted. Behavior is undefined if PRE/POST/SEP
-# tries to recursively list or modify SET in any way other than
-# calling m4_set_remove on the current element. Use _1 if all entries
-# in the stack are guaranteed to be in the set, and _1c to prune
-# removed entries. Uses _m4_defn and _m4_popdef for speed.
-m4_define([_m4_set_contents_1],
-[_m4_stack_reverse([_m4_set([$1])], [_m4_set_($1)])])
-
-m4_define([_m4_set_contents_1c],
-[m4_ifdef([_m4_set([$1])],
- [m4_set_contains([$1], _m4_defn([_m4_set([$1])]),
- [m4_pushdef([_m4_set_($1)], _m4_defn([_m4_set([$1])]))],
- [_m4_popdef([_m4_set([$1],]_m4_defn(
- [_m4_set([$1])])[)])])_m4_popdef([_m4_set([$1])])$0([$1])],
- [_m4_popdef([_m4_set_cleanup($1)])])])
-
-m4_define([_m4_set_contents_2],
-[_m4_stack_reverse([_m4_set_($1)], [_m4_set([$1])],
- [$2[]_m4_defn([_m4_set_($1)])$3], [$4[]])])
-
-# m4_set_delete(SET)
-# ------------------
-# Delete all elements in SET, and reclaim any memory occupied by the
-# set. This is O(n) in the set size.
-#
-# Use _m4_defn and _m4_popdef for speed.
-m4_define([m4_set_delete],
-[m4_ifdef([_m4_set([$1])],
- [_m4_popdef([_m4_set([$1],]_m4_defn([_m4_set([$1])])[)],
- [_m4_set([$1])])$0([$1])],
- [m4_ifdef([_m4_set_cleanup($1)],
- [_m4_popdef([_m4_set_cleanup($1)])])m4_ifdef(
- [_m4_set_size($1)],
- [_m4_popdef([_m4_set_size($1)])])])])
-
-# m4_set_difference(SET1, SET2)
-# -----------------------------
-# Produce a LIST of quoted elements that occur in SET1 but not SET2.
-# Output a comma prior to any elements, to distinguish the empty
-# string from no elements. This can be directly used as a series of
-# arguments, such as for m4_join, or wrapped inside quotes for use in
-# m4_foreach. Order of the output is not guaranteed.
-#
-# Short-circuit the idempotence relation.
-m4_define([m4_set_difference],
-[m4_if([$1], [$2], [], [m4_set_map_sep([$1], [_$0([$2],], [)])])])
-
-m4_define([_m4_set_difference],
-[m4_set_contains([$1], [$2], [], [,[$2]])])
-
-# m4_set_dump(SET, [SEP])
-# -----------------------
-# Expand to a single string containing all the elements in SET,
-# separated by SEP, then delete SET. In general, if you only need to
-# list the contents once, this is faster than m4_set_contents. No
-# provision is made for disambiguating set elements that contain
-# non-empty SEP as a sub-string. Order of the output is not
-# guaranteed. This is O(n) in the size of the set before pruning.
-#
-# Use _m4_popdef for speed. Use existence of _m4_set_cleanup($1) to
-# decide if more expensive recursion is needed.
-m4_define([m4_set_dump],
-[m4_ifdef([_m4_set_size($1)],
- [_m4_popdef([_m4_set_size($1)])])m4_ifdef([_m4_set_cleanup($1)],
- [_$0_check], [_$0])([$1], [], [$2])])
-
-# _m4_set_dump(SET, [SEP], [PREP])
-# _m4_set_dump_check(SET, [SEP], [PREP])
-# --------------------------------------
-# Print SEP and the current element, then delete the element and
-# recurse with empty SEP changed to PREP. The check variant checks
-# whether the element has been previously removed. Use _m4_defn and
-# _m4_popdef for speed.
-m4_define([_m4_set_dump],
-[m4_ifdef([_m4_set([$1])],
- [[$2]_m4_defn([_m4_set([$1])])_m4_popdef([_m4_set([$1],]_m4_defn(
- [_m4_set([$1])])[)], [_m4_set([$1])])$0([$1], [$2$3])])])
-
-m4_define([_m4_set_dump_check],
-[m4_ifdef([_m4_set([$1])],
- [m4_set_contains([$1], _m4_defn([_m4_set([$1])]),
- [[$2]_m4_defn([_m4_set([$1])])])_m4_popdef(
- [_m4_set([$1],]_m4_defn([_m4_set([$1])])[)],
- [_m4_set([$1])])$0([$1], [$2$3])],
- [_m4_popdef([_m4_set_cleanup($1)])])])
-
-# m4_set_empty(SET, [IF-EMPTY], [IF-ELEMENTS])
-# --------------------------------------------
-# Expand IF-EMPTY if SET has no elements, otherwise IF-ELEMENTS.
-m4_define([m4_set_empty],
-[m4_ifdef([_m4_set_size($1)],
- [m4_if(m4_indir([_m4_set_size($1)]), [0], [$2], [$3])], [$2])])
-
-# m4_set_foreach(SET, VAR, ACTION)
-# --------------------------------
-# For each element of SET, define VAR to the element and expand
-# ACTION. ACTION should not recursively list SET's contents, add
-# elements to SET, nor delete any element from SET except the one
-# currently in VAR. The order that the elements are visited in is not
-# guaranteed. This is faster than the corresponding m4_foreach([VAR],
-# m4_indir([m4_dquote]m4_set_listc([SET])), [ACTION])
-m4_define([m4_set_foreach],
-[m4_pushdef([$2])m4_set_map_sep([$1], [m4_define([$2],], [)$3])])
-
-# m4_set_intersection(SET1, SET2)
-# -------------------------------
-# Produce a LIST of quoted elements that occur in both SET1 or SET2.
-# Output a comma prior to any elements, to distinguish the empty
-# string from no elements. This can be directly used as a series of
-# arguments, such as for m4_join, or wrapped inside quotes for use in
-# m4_foreach. Order of the output is not guaranteed.
-#
-# Iterate over the smaller set, and short-circuit the idempotence
-# relation.
-m4_define([m4_set_intersection],
-[m4_if([$1], [$2], [m4_set_listc([$1])],
- m4_eval(m4_set_size([$2]) < m4_set_size([$1])), [1], [$0([$2], [$1])],
- [m4_set_map_sep([$1], [_$0([$2],], [)])])])
-
-m4_define([_m4_set_intersection],
-[m4_set_contains([$1], [$2], [,[$2]])])
-
-# m4_set_list(SET)
-# m4_set_listc(SET)
-# -----------------
-# Produce a LIST of quoted elements of SET. This can be directly used
-# as a series of arguments, such as for m4_join or m4_set_add_all, or
-# wrapped inside quotes for use in m4_foreach or m4_map. With
-# m4_set_list, there is no way to distinguish an empty set from a set
-# containing only the empty string; with m4_set_listc, a leading comma
-# is output if there are any elements.
-m4_define([m4_set_list],
-[m4_set_map_sep([$1], [], [], [,])])
-
-m4_define([m4_set_listc],
-[m4_set_map_sep([$1], [,])])
-
-# m4_set_map(SET, ACTION)
-# -----------------------
-# For each element of SET, expand ACTION with a single argument of the
-# current element. ACTION should not recursively list SET's contents,
-# add elements to SET, nor delete any element from SET except the one
-# passed as an argument. The order that the elements are visited in
-# is not guaranteed. This is faster than either of the corresponding
-# m4_map_args([ACTION]m4_set_listc([SET]))
-# m4_set_foreach([SET], [VAR], [ACTION(m4_defn([VAR]))])
-m4_define([m4_set_map],
-[m4_set_map_sep([$1], [$2(], [)])])
-
-# m4_set_map_sep(SET, [PRE], [POST], [SEP])
-# -----------------------------------------
-# For each element of SET, expand PRE[value]POST[], and expand SEP
-# between elements.
-m4_define([m4_set_map_sep],
-[m4_ifdef([_m4_set_cleanup($1)], [_m4_set_contents_1c],
- [_m4_set_contents_1])([$1])_m4_set_contents_2($@)])
-
-# m4_set_remove(SET, VALUE, [IF-PRESENT], [IF-ABSENT])
-# ----------------------------------------------------
-# If VALUE is an element of SET, delete it and expand IF-PRESENT.
-# Otherwise expand IF-ABSENT. Deleting a single value is O(1),
-# although it leaves memory occupied until the next O(n) traversal of
-# the set which will compact the set.
-#
-# Optimize if the element being removed is the most recently added,
-# since defining _m4_set_cleanup($1) slows down so many other macros.
-# In particular, this plays well with m4_set_foreach and m4_set_map.
-m4_define([m4_set_remove],
-[m4_set_contains([$1], [$2], [_m4_set_size([$1],
- [m4_decr])m4_if(_m4_defn([_m4_set([$1])]), [$2],
- [_m4_popdef([_m4_set([$1],$2)], [_m4_set([$1])])],
- [m4_define([_m4_set_cleanup($1)])m4_define(
- [_m4_set([$1],$2)], [0])])$3], [$4])])
-
-# m4_set_size(SET)
-# ----------------
-# Expand to the number of elements currently in SET. This operation
-# is O(1), and thus more efficient than m4_count(m4_set_list([SET])).
-m4_define([m4_set_size],
-[m4_ifdef([_m4_set_size($1)], [m4_indir([_m4_set_size($1)])], [0])])
-
-# _m4_set_size(SET, ACTION)
-# -------------------------
-# ACTION must be either m4_incr or m4_decr, and the size of SET is
-# changed accordingly. If the set is empty, ACTION must not be
-# m4_decr.
-m4_define([_m4_set_size],
-[m4_define([_m4_set_size($1)],
- m4_ifdef([_m4_set_size($1)], [$2(m4_indir([_m4_set_size($1)]))],
- [1]))])
-
-# m4_set_union(SET1, SET2)
-# ------------------------
-# Produce a LIST of double quoted elements that occur in either SET1
-# or SET2, without duplicates. Output a comma prior to any elements,
-# to distinguish the empty string from no elements. This can be
-# directly used as a series of arguments, such as for m4_join, or
-# wrapped inside quotes for use in m4_foreach. Order of the output is
-# not guaranteed.
-#
-# We can rely on the fact that m4_set_listc prunes SET1, so we don't
-# need to check _m4_set([$1],element) for 0. Short-circuit the
-# idempotence relation.
-m4_define([m4_set_union],
-[m4_set_listc([$1])m4_if([$1], [$2], [],
- [m4_set_map_sep([$2], [_$0([$1],], [)])])])
-
-m4_define([_m4_set_union],
-[m4_ifdef([_m4_set([$1],$2)], [], [,[$2]])])
-
-
-## ------------------- ##
-## 16. File handling. ##
-## ------------------- ##
-
-
-# It is a real pity that M4 comes with no macros to bind a diversion
-# to a file. So we have to deal without, which makes us a lot more
-# fragile than we should.
-
-
-# m4_file_append(FILE-NAME, CONTENT)
-# ----------------------------------
-m4_define([m4_file_append],
-[m4_syscmd([cat >>$1 <<_m4eof
-$2
-_m4eof
-])
-m4_if(m4_sysval, [0], [],
- [m4_fatal([$0: cannot write: $1])])])
-
-
-
-## ------------------------ ##
-## 17. Setting M4sugar up. ##
-## ------------------------ ##
-
-# _m4_divert_diversion should be defined.
-m4_divert_push([KILL])
-
-# m4_init
-# -------
-# Initialize the m4sugar language.
-m4_define([m4_init],
-[# All the M4sugar macros start with `m4_', except `dnl' kept as is
-# for sake of simplicity.
-m4_pattern_forbid([^_?m4_])
-m4_pattern_forbid([^dnl$])
-
-# If __m4_version__ is defined, we assume that we are being run by M4
-# 1.6 or newer, thus $@ recursion is linear, and debugmode(+do)
-# is available for faster checks of dereferencing undefined macros
-# and forcing dumpdef to print to stderr regardless of debugfile.
-# But if it is missing, we assume we are being run by M4 1.4.x, that
-# $@ recursion is quadratic, and that we need foreach-based
-# replacement macros. Also, m4 prior to 1.4.8 loses track of location
-# during m4wrap text; __line__ should never be 0.
-#
-# Use the raw builtin to avoid tripping up include tracing.
-# Meanwhile, avoid m4_copy, since it temporarily undefines m4_defn.
-m4_ifdef([__m4_version__],
-[m4_debugmode([+do])
-m4_define([m4_defn], _m4_defn([_m4_defn]))
-m4_define([m4_dumpdef], _m4_defn([_m4_dumpdef]))
-m4_define([m4_popdef], _m4_defn([_m4_popdef]))
-m4_define([m4_undefine], _m4_defn([_m4_undefine]))],
-[m4_builtin([include], [m4sugar/foreach.m4])
-m4_wrap_lifo([m4_if(__line__, [0], [m4_pushdef([m4_location],
-]]m4_dquote(m4_dquote(m4_dquote(__file__:__line__)))[[)])])])
-
-# Rewrite the first entry of the diversion stack.
-m4_divert([KILL])
-
-# Check the divert push/pop perfect balance.
-# Some users are prone to also use m4_wrap to register last-minute
-# m4_divert_text; so after our diversion cleanups, we restore
-# KILL as the bottom of the diversion stack.
-m4_wrap([m4_popdef([_m4_divert_diversion])m4_ifdef(
- [_m4_divert_diversion], [m4_fatal([$0: unbalanced m4_divert_push:
-]m4_divert_stack)])_m4_popdef([_m4_divert_stack])m4_divert_push([KILL])])
-])
diff --git a/gnuwin32/bin/data/stack.hh b/gnuwin32/bin/data/stack.hh
deleted file mode 100644
index aa64d63d..00000000
--- a/gnuwin32/bin/data/stack.hh
+++ /dev/null
@@ -1,154 +0,0 @@
-# C++ skeleton for Bison
-
-# Copyright (C) 2002-2013 Free Software Foundation, Inc.
-
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-m4_pushdef([b4_copyright_years],
- [2002-2013])
-
-# b4_stack_define
-# ---------------
-m4_define([b4_stack_define],
-[[ template <class T, class S = std::vector<T> >
- class stack
- {
- public:
- // Hide our reversed order.
- typedef typename S::reverse_iterator iterator;
- typedef typename S::const_reverse_iterator const_iterator;
-
- stack ()
- : seq_ ()
- {
- }
-
- stack (unsigned int n)
- : seq_ (n)
- {
- }
-
- inline
- T&
- operator[] (unsigned int i)
- {
- return seq_[seq_.size () - 1 - i];
- }
-
- inline
- const T&
- operator[] (unsigned int i) const
- {
- return seq_[seq_.size () - 1 - i];
- }
-
- /// Steal the contents of \a t.
- ///
- /// Close to move-semantics.
- inline
- void
- push (T& t)
- {
- seq_.push_back (T());
- operator[](0).move (t);
- }
-
- inline
- void
- pop (unsigned int n = 1)
- {
- for (; n; --n)
- seq_.pop_back ();
- }
-
- void
- clear ()
- {
- seq_.clear ();
- }
-
- inline
- typename S::size_type
- size () const
- {
- return seq_.size ();
- }
-
- inline
- const_iterator
- begin () const
- {
- return seq_.rbegin ();
- }
-
- inline
- const_iterator
- end () const
- {
- return seq_.rend ();
- }
-
- private:
- stack (const stack&);
- stack& operator= (const stack&);
- /// The wrapped container.
- S seq_;
- };
-
- /// Present a slice of the top of a stack.
- template <class T, class S = stack<T> >
- class slice
- {
- public:
- slice (const S& stack, unsigned int range)
- : stack_ (stack)
- , range_ (range)
- {
- }
-
- inline
- const T&
- operator [] (unsigned int i) const
- {
- return stack_[range_ - i];
- }
-
- private:
- const S& stack_;
- unsigned int range_;
- };
-]])
-
-b4_defines_if(
-[b4_output_begin([b4_dir_prefix[]stack.hh])
-b4_copyright([Stack handling for Bison parsers in C++])[
-
-/**
- ** \file ]b4_dir_prefix[stack.hh
- ** Define the ]b4_namespace_ref[::stack class.
- */
-
-]b4_cpp_guard_open([b4_dir_prefix[]stack.hh])[
-
-# include <vector>
-
-]b4_namespace_open[
-]b4_stack_define[
-]b4_namespace_close[
-
-]b4_cpp_guard_close([b4_dir_prefix[]stack.hh])
-b4_output_end()
-])
-
-m4_popdef([b4_copyright_years])
diff --git a/gnuwin32/bin/data/variant.hh b/gnuwin32/bin/data/variant.hh
deleted file mode 100644
index ac4f7a78..00000000
--- a/gnuwin32/bin/data/variant.hh
+++ /dev/null
@@ -1,362 +0,0 @@
-# C++ skeleton for Bison
-
-# Copyright (C) 2002-2013 Free Software Foundation, Inc.
-
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-
-## --------- ##
-## variant. ##
-## --------- ##
-
-# b4_symbol_variant(YYTYPE, YYVAL, ACTION, [ARGS])
-# ------------------------------------------------
-# Run some ACTION ("build", or "destroy") on YYVAL of symbol type
-# YYTYPE.
-m4_define([b4_symbol_variant],
-[m4_pushdef([b4_dollar_dollar],
- [$2.$3< $][3 > (m4_shift3($@))])dnl
- switch ($1)
- {
-b4_type_foreach([b4_type_action_])[]dnl
- default:
- break;
- }
-m4_popdef([b4_dollar_dollar])dnl
-])
-
-
-# _b4_char_sizeof_counter
-# -----------------------
-# A counter used by _b4_char_sizeof_dummy to create fresh symbols.
-m4_define([_b4_char_sizeof_counter],
-[0])
-
-# _b4_char_sizeof_dummy
-# ---------------------
-# At each call return a new C++ identifier.
-m4_define([_b4_char_sizeof_dummy],
-[m4_define([_b4_char_sizeof_counter], m4_incr(_b4_char_sizeof_counter))dnl
-dummy[]_b4_char_sizeof_counter])
-
-
-# b4_char_sizeof(SYMBOL-NUMS)
-# ---------------------------
-# To be mapped on the list of type names to produce:
-#
-# char dummy1[sizeof(type_name_1)];
-# char dummy2[sizeof(type_name_2)];
-#
-# for defined type names.
-m4_define([b4_char_sizeof],
-[b4_symbol_if([$1], [has_type],
-[
-m4_map([ b4_symbol_tag_comment], [$@])dnl
- char _b4_char_sizeof_dummy@{sizeof(b4_symbol([$1], [type]))@};
-])])
-
-
-# b4_variant_includes
-# -------------------
-# The needed includes for variants support.
-m4_define([b4_variant_includes],
-[b4_parse_assert_if([[#include <typeinfo>]])[
-#ifndef YYASSERT
-# include <cassert>
-# define YYASSERT assert
-#endif
-]])
-
-# b4_variant_define
-# -----------------
-# Define "variant".
-m4_define([b4_variant_define],
-[[ /// A char[S] buffer to store and retrieve objects.
- ///
- /// Sort of a variant, but does not keep track of the nature
- /// of the stored data, since that knowledge is available
- /// via the current state.
- template <size_t S>
- struct variant
- {
- /// Type of *this.
- typedef variant<S> self_type;
-
- /// Empty construction.
- variant ()]b4_parse_assert_if([
- : yytname_ (YY_NULL)])[
- {}
-
- /// Construct and fill.
- template <typename T>
- variant (const T& t)]b4_parse_assert_if([
- : yytname_ (typeid (T).name ())])[
- {
- YYASSERT (sizeof (T) <= S);
- new (yyas_<T> ()) T (t);
- }
-
- /// Destruction, allowed only if empty.
- ~variant ()
- {]b4_parse_assert_if([
- YYASSERT (!yytname_);
- ])[}
-
- /// Instantiate an empty \a T in here.
- template <typename T>
- T&
- build ()
- {]b4_parse_assert_if([
- YYASSERT (!yytname_);
- YYASSERT (sizeof (T) <= S);
- yytname_ = typeid (T).name ();])[
- return *new (yyas_<T> ()) T;
- }
-
- /// Instantiate a \a T in here from \a t.
- template <typename T>
- T&
- build (const T& t)
- {]b4_parse_assert_if([
- YYASSERT (!yytname_);
- YYASSERT (sizeof (T) <= S);
- yytname_ = typeid (T).name ();])[
- return *new (yyas_<T> ()) T (t);
- }
-
- /// Accessor to a built \a T.
- template <typename T>
- T&
- as ()
- {]b4_parse_assert_if([
- YYASSERT (yytname_ == typeid (T).name ());
- YYASSERT (sizeof (T) <= S);])[
- return *yyas_<T> ();
- }
-
- /// Const accessor to a built \a T (for %printer).
- template <typename T>
- const T&
- as () const
- {]b4_parse_assert_if([
- YYASSERT (yytname_ == typeid (T).name ());
- YYASSERT (sizeof (T) <= S);])[
- return *yyas_<T> ();
- }
-
- /// Swap the content with \a other, of same type.
- ///
- /// Both variants must be built beforehand, because swapping the actual
- /// data requires reading it (with as()), and this is not possible on
- /// unconstructed variants: it would require some dynamic testing, which
- /// should not be the variant's responsability.
- /// Swapping between built and (possibly) non-built is done with
- /// variant::move ().
- template <typename T>
- void
- swap (self_type& other)
- {]b4_parse_assert_if([
- YYASSERT (yytname_);
- YYASSERT (yytname_ == other.yytname_);])[
- std::swap (as<T> (), other.as<T> ());
- }
-
- /// Move the content of \a other to this.
- ///
- /// Destroys \a other.
- template <typename T>
- void
- move (self_type& other)
- {]b4_parse_assert_if([
- YYASSERT (!yytname_);])[
- build<T> ();
- swap<T> (other);
- other.destroy<T> ();
- }
-
- /// Copy the content of \a other to this.
- template <typename T>
- void
- copy (const self_type& other)
- {
- build<T> (other.as<T> ());
- }
-
- /// Destroy the stored \a T.
- template <typename T>
- void
- destroy ()
- {
- as<T> ().~T ();]b4_parse_assert_if([
- yytname_ = YY_NULL;])[
- }
-
- private:
- /// Prohibit blind copies.
- self_type& operator=(const self_type&);
- variant (const self_type&);
-
- /// Accessor to raw memory as \a T.
- template <typename T>
- T*
- yyas_ ()
- {
- void *yyp = yybuffer_.yyraw;
- return static_cast<T*> (yyp);
- }
-
- /// Const accessor to raw memory as \a T.
- template <typename T>
- const T*
- yyas_ () const
- {
- const void *yyp = yybuffer_.yyraw;
- return static_cast<const T*> (yyp);
- }
-
- union
- {
- /// Strongest alignment constraints.
- long double yyalign_me;
- /// A buffer large enough to store any of the semantic values.
- char yyraw[S];
- } yybuffer_;]b4_parse_assert_if([
-
- /// Whether the content is built: if defined, the name of the stored type.
- const char *yytname_;])[
- };
-]])
-
-
-## -------------------------- ##
-## Adjustments for variants. ##
-## -------------------------- ##
-
-
-# b4_value_type_declare
-# ---------------------
-# Declare semantic_type.
-m4_define([b4_value_type_declare],
-[[ /// An auxiliary type to compute the largest semantic type.
- union union_type
- {]b4_type_foreach([b4_char_sizeof])[};
-
- /// Symbol semantic values.
- typedef variant<sizeof(union_type)> semantic_type;][]dnl
-])
-
-
-# How the semantic value is extracted when using variants.
-
-# b4_symbol_value(VAL, [TYPE])
-# ----------------------------
-m4_define([b4_symbol_value],
-[m4_ifval([$2],
- [$1.as< $2 > ()],
- [$1])])
-
-# b4_symbol_value_template(VAL, [TYPE])
-# -------------------------------------
-# Same as b4_symbol_value, but used in a template method.
-m4_define([b4_symbol_value_template],
-[m4_ifval([$2],
- [$1.template as< $2 > ()],
- [$1])])
-
-
-
-## ------------- ##
-## make_SYMBOL. ##
-## ------------- ##
-
-
-# b4_symbol_constructor_declare_(SYMBOL-NUMBER)
-# ---------------------------------------------
-# Declare the overloaded version of make_symbol for the (common) type of
-# these SYMBOL-NUMBERS. Use at class-level.
-m4_define([b4_symbol_constructor_declare_],
-[b4_symbol_if([$1], [is_token], [b4_symbol_if([$1], [has_id],
-[ static inline
- symbol_type
- make_[]b4_symbol_([$1], [id]) (dnl
-b4_join(b4_symbol_if([$1], [has_type],
- [const b4_symbol([$1], [type])& v]),
- b4_locations_if([const location_type& l])));
-
-])])])
-
-
-# b4_symbol_constructor_declare
-# -----------------------------
-# Declare symbol constructors for all the value types.
-# Use at class-level.
-m4_define([b4_symbol_constructor_declare],
-[ // Symbol constructors declarations.
-b4_symbol_foreach([b4_symbol_constructor_declare_])])
-
-
-
-# b4_symbol_constructor_define_(SYMBOL-NUMBER)
-# --------------------------------------------
-# Define symbol constructor for this SYMBOL-NUMBER.
-m4_define([b4_symbol_constructor_define_],
-[b4_symbol_if([$1], [is_token], [b4_symbol_if([$1], [has_id],
-[ b4_parser_class_name::symbol_type
- b4_parser_class_name::make_[]b4_symbol_([$1], [id]) (dnl
-b4_join(b4_symbol_if([$1], [has_type],
- [const b4_symbol([$1], [type])& v]),
- b4_locations_if([const location_type& l])))
- {
- return symbol_type (b4_join([token::b4_symbol([$1], [id])],
- b4_symbol_if([$1], [has_type], [v]),
- b4_locations_if([l])));
-
- }
-
-])])])
-
-
-# b4_basic_symbol_constructor_declare
-# -----------------------------------
-# Generate a constructor declaration for basic_symbol from given type.
-m4_define([b4_basic_symbol_constructor_declare],
-[[
- basic_symbol (]b4_join(
- [typename Base::kind_type t],
- b4_symbol_if([$1], [has_type], const b4_symbol([$1], [type])[ v]),
- b4_locations_if([const location_type& l]))[);
-]])
-
-# b4_basic_symbol_constructor_define
-# ----------------------------------
-# Generate a constructor implementation for basic_symbol from given type.
-m4_define([b4_basic_symbol_constructor_define],
-[[
- template <typename Base>
- ]b4_parser_class_name[::basic_symbol<Base>::basic_symbol (]b4_join(
- [typename Base::kind_type t],
- b4_symbol_if([$1], [has_type], const b4_symbol([$1], [type])[ v]),
- b4_locations_if([const location_type& l]))[)
- : Base (t)
- , value (]b4_symbol_if([$1], [has_type], [v])[)]b4_locations_if([
- , location (l)])[
- {}
-]])
-
-# b4_symbol_constructor_define
-# ----------------------------
-# Define the overloaded versions of make_symbol for all the value types.
-m4_define([b4_symbol_constructor_define],
-[ // Implementation of make_symbol for each symbol type.
-b4_symbol_foreach([b4_symbol_constructor_define_])])
diff --git a/gnuwin32/bin/data/xslt/bison.xsl b/gnuwin32/bin/data/xslt/bison.xsl
deleted file mode 100644
index 10e3305b..00000000
--- a/gnuwin32/bin/data/xslt/bison.xsl
+++ /dev/null
@@ -1,105 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
- bison.xsl - common templates for Bison XSLT.
-
- Copyright (C) 2007-2013 Free Software Foundation, Inc.
-
- This file is part of Bison, the GNU Compiler Compiler.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
- -->
-
-<xsl:stylesheet version="1.0"
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:bison="http://www.gnu.org/software/bison/">
-
-<xsl:key
- name="bison:symbolByName"
- match="/bison-xml-report/grammar/nonterminals/nonterminal"
- use="@name"
-/>
-<xsl:key
- name="bison:symbolByName"
- match="/bison-xml-report/grammar/terminals/terminal"
- use="@name"
-/>
-<xsl:key
- name="bison:ruleByNumber"
- match="/bison-xml-report/grammar/rules/rule"
- use="@number"
-/>
-<xsl:key
- name="bison:ruleByLhs"
- match="/bison-xml-report/grammar/rules/rule[
- @usefulness != 'useless-in-grammar']"
- use="lhs"
-/>
-<xsl:key
- name="bison:ruleByRhs"
- match="/bison-xml-report/grammar/rules/rule[
- @usefulness != 'useless-in-grammar']"
- use="rhs/symbol"
-/>
-
-<!-- For the specified state, output: #sr-conflicts,#rr-conflicts -->
-<xsl:template match="state" mode="bison:count-conflicts">
- <xsl:variable name="transitions" select="actions/transitions"/>
- <xsl:variable name="reductions" select="actions/reductions"/>
- <xsl:variable
- name="terminals"
- select="
- $transitions/transition[@type='shift']/@symbol
- | $reductions/reduction/@symbol
- "
- />
- <xsl:variable name="conflict-data">
- <xsl:for-each select="$terminals">
- <xsl:variable name="name" select="."/>
- <xsl:if test="generate-id($terminals[. = $name][1]) = generate-id(.)">
- <xsl:variable
- name="shift-count"
- select="count($transitions/transition[@symbol=$name])"
- />
- <xsl:variable
- name="reduce-count"
- select="count($reductions/reduction[@symbol=$name])"
- />
- <xsl:if test="$shift-count > 0 and $reduce-count > 0">
- <xsl:text>s</xsl:text>
- </xsl:if>
- <xsl:if test="$reduce-count > 1">
- <xsl:text>r</xsl:text>
- </xsl:if>
- </xsl:if>
- </xsl:for-each>
- </xsl:variable>
- <xsl:value-of select="string-length(translate($conflict-data, 'r', ''))"/>
- <xsl:text>,</xsl:text>
- <xsl:value-of select="string-length(translate($conflict-data, 's', ''))"/>
-</xsl:template>
-
-<xsl:template name="space">
- <xsl:param name="repeat">0</xsl:param>
- <xsl:param name="fill" select="' '"/>
- <xsl:if test="number($repeat) &gt;= 1">
- <xsl:call-template name="space">
- <xsl:with-param name="repeat" select="$repeat - 1"/>
- <xsl:with-param name="fill" select="$fill"/>
- </xsl:call-template>
- <xsl:value-of select="$fill"/>
- </xsl:if>
-</xsl:template>
-
-</xsl:stylesheet>
diff --git a/gnuwin32/bin/data/xslt/xml2dot.xsl b/gnuwin32/bin/data/xslt/xml2dot.xsl
deleted file mode 100644
index 93bec599..00000000
--- a/gnuwin32/bin/data/xslt/xml2dot.xsl
+++ /dev/null
@@ -1,397 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
- xml2dot.xsl - transform Bison XML Report into DOT.
-
- Copyright (C) 2007-2013 Free Software Foundation, Inc.
-
- This file is part of Bison, the GNU Compiler Compiler.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-
- Written by Wojciech Polak <polak@gnu.org>.
- -->
-
-<xsl:stylesheet version="1.0"
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:bison="http://www.gnu.org/software/bison/">
-
-<xsl:import href="bison.xsl"/>
-<xsl:output method="text" encoding="UTF-8" indent="no"/>
-
-<xsl:template match="/">
- <xsl:apply-templates select="bison-xml-report"/>
-</xsl:template>
-
-<xsl:template match="bison-xml-report">
- <xsl:text>// Generated by GNU Bison </xsl:text>
- <xsl:value-of select="@version"/>
- <xsl:text>.&#10;</xsl:text>
- <xsl:text>// Report bugs to &lt;</xsl:text>
- <xsl:value-of select="@bug-report"/>
- <xsl:text>&gt;.&#10;</xsl:text>
- <xsl:text>// Home page: &lt;</xsl:text>
- <xsl:value-of select="@url"/>
- <xsl:text>&gt;.&#10;&#10;</xsl:text>
- <xsl:apply-templates select="automaton">
- <xsl:with-param name="filename" select="filename"/>
- </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="automaton">
- <xsl:param name="filename"/>
- <xsl:text>digraph "</xsl:text>
- <xsl:call-template name="escape">
- <xsl:with-param name="subject" select="$filename"/>
- </xsl:call-template>
- <xsl:text>"&#10;{
- node [fontname = courier, shape = box, colorscheme = paired6]
- edge [fontname = courier]
-
-</xsl:text>
- <xsl:apply-templates select="state"/>
- <xsl:text>}&#10;</xsl:text>
-</xsl:template>
-
-<xsl:template match="automaton/state">
- <xsl:call-template name="output-node">
- <xsl:with-param name="number" select="@number"/>
- <xsl:with-param name="label">
- <xsl:apply-templates select="itemset/item"/>
- </xsl:with-param>
- </xsl:call-template>
- <xsl:apply-templates select="actions/transitions"/>
- <xsl:apply-templates select="actions/reductions">
- <xsl:with-param name="staten">
- <xsl:value-of select="@number"/>
- </xsl:with-param>
- </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="actions/reductions">
- <xsl:param name="staten"/>
- <xsl:for-each select='reduction'>
- <!-- These variables are needed because the current context can't be
- refered to directly in XPath expressions. -->
- <xsl:variable name="rul">
- <xsl:value-of select="@rule"/>
- </xsl:variable>
- <xsl:variable name="ena">
- <xsl:value-of select="@enabled"/>
- </xsl:variable>
- <!-- The foreach's body is protected by this, so that we are actually
- going to iterate once per reduction rule, and not per lookahead. -->
- <xsl:if test='not(preceding-sibling::*[@rule=$rul and @enabled=$ena])'>
- <xsl:variable name="rule">
- <xsl:choose>
- <!-- The acceptation state is refered to as 'accept' in the XML, but
- just as '0' in the DOT. -->
- <xsl:when test="@rule='accept'">
- <xsl:text>0</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="@rule"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
-
- <!-- The edge's beginning -->
- <xsl:call-template name="reduction-edge-start">
- <xsl:with-param name="state" select="$staten"/>
- <xsl:with-param name="rule" select="$rule"/>
- <xsl:with-param name="enabled" select="@enabled"/>
- </xsl:call-template>
-
- <!-- The edge's tokens -->
- <!-- Don't show labels for the default action. In other cases, there will
- always be at least one token, so 'label="[]"' will not occur. -->
- <xsl:if test='$rule!=0 and not(../reduction[@enabled=$ena and @rule=$rule and @symbol="$default"])'>
- <xsl:text>label="[</xsl:text>
- <xsl:for-each select='../reduction[@enabled=$ena and @rule=$rule]'>
- <xsl:call-template name="escape">
- <xsl:with-param name="subject" select="@symbol"/>
- </xsl:call-template>
- <xsl:if test="position() != last ()">
- <xsl:text>, </xsl:text>
- </xsl:if>
- </xsl:for-each>
- <xsl:text>]", </xsl:text>
- </xsl:if>
-
- <!-- The edge's end -->
- <xsl:text>style=solid]&#10;</xsl:text>
-
- <!-- The diamond representing the reduction -->
- <xsl:call-template name="reduction-node">
- <xsl:with-param name="state" select="$staten"/>
- <xsl:with-param name="rule" select="$rule"/>
- <xsl:with-param name="color">
- <xsl:choose>
- <xsl:when test='@enabled="true"'>
- <xsl:text>3</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>5</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:with-param>
- </xsl:call-template>
- </xsl:if>
- </xsl:for-each>
-</xsl:template>
-
-<xsl:template match="actions/transitions">
- <xsl:apply-templates select="transition"/>
-</xsl:template>
-
-<xsl:template match="item">
- <xsl:param name="prev-rule-number"
- select="preceding-sibling::item[1]/@rule-number"/>
- <xsl:apply-templates select="key('bison:ruleByNumber', @rule-number)">
- <xsl:with-param name="point" select="@point"/>
- <xsl:with-param name="num" select="@rule-number"/>
- <xsl:with-param name="prev-lhs"
- select="key('bison:ruleByNumber', $prev-rule-number)/lhs[text()]"
- />
- </xsl:apply-templates>
- <xsl:apply-templates select="lookaheads"/>
-</xsl:template>
-
-<xsl:template match="rule">
- <xsl:param name="point"/>
- <xsl:param name="num"/>
- <xsl:param name="prev-lhs"/>
- <xsl:text>&#10;</xsl:text>
- <xsl:choose>
- <xsl:when test="$num &lt; 10">
- <xsl:text> </xsl:text>
- </xsl:when>
- <xsl:when test="$num &lt; 100">
- <xsl:text> </xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text></xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- <xsl:value-of select="$num"/>
- <xsl:text> </xsl:text>
- <xsl:choose>
- <xsl:when test="$prev-lhs = lhs[text()]">
- <xsl:call-template name="lpad">
- <xsl:with-param name="str" select="'|'"/>
- <xsl:with-param name="pad" select="number(string-length(lhs[text()])) + 1"/>
- </xsl:call-template>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="lhs"/>
- <xsl:text>:</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- <xsl:if test="$point = 0">
- <xsl:text> .</xsl:text>
- </xsl:if>
- <xsl:for-each select="rhs/symbol|rhs/empty">
- <xsl:apply-templates select="."/>
- <xsl:if test="$point = position()">
- <xsl:text> .</xsl:text>
- </xsl:if>
- </xsl:for-each>
-</xsl:template>
-
-<xsl:template match="symbol">
- <xsl:text> </xsl:text>
- <xsl:value-of select="."/>
-</xsl:template>
-
-<xsl:template match="empty"/>
-
-<xsl:template match="lookaheads">
- <xsl:text> [</xsl:text>
- <xsl:apply-templates select="symbol"/>
- <xsl:text>]</xsl:text>
-</xsl:template>
-
-<xsl:template match="lookaheads/symbol">
- <xsl:value-of select="."/>
- <xsl:if test="position() != last()">
- <xsl:text>, </xsl:text>
- </xsl:if>
-</xsl:template>
-
-<xsl:template name="reduction-edge-start">
- <xsl:param name="state"/>
- <xsl:param name="rule"/>
- <xsl:param name="enabled"/>
-
- <xsl:text> </xsl:text>
- <xsl:value-of select="$state"/>
- <xsl:text> -> "</xsl:text>
- <xsl:value-of select="$state"/>
- <xsl:text>R</xsl:text>
- <xsl:value-of select="$rule"/>
- <xsl:if test='$enabled = "false"'>
- <xsl:text>d</xsl:text>
- </xsl:if>
- <xsl:text>" [</xsl:text>
-</xsl:template>
-
-<xsl:template name="reduction-node">
- <xsl:param name="state"/>
- <xsl:param name="rule"/>
- <xsl:param name="color"/>
-
- <xsl:text> "</xsl:text>
- <xsl:value-of select="$state"/>
- <xsl:text>R</xsl:text>
- <xsl:value-of select="$rule"/>
- <xsl:if test="$color = 5">
- <xsl:text>d</xsl:text>
- </xsl:if>
- <xsl:text>" [label="</xsl:text>
- <xsl:choose>
- <xsl:when test="$rule = 0">
- <xsl:text>Acc", fillcolor=1</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>R</xsl:text>
- <xsl:value-of select="$rule"/>
- <xsl:text>", fillcolor=</xsl:text>
- <xsl:value-of select="$color"/>
- </xsl:otherwise>
- </xsl:choose>
- <xsl:text>, shape=diamond, style=filled]&#10;</xsl:text>
-</xsl:template>
-
-<xsl:template match="transition">
- <xsl:call-template name="output-edge">
- <xsl:with-param name="src" select="../../../@number"/>
- <xsl:with-param name="dst" select="@state"/>
- <xsl:with-param name="style">
- <xsl:choose>
- <xsl:when test="@symbol = 'error'">
- <xsl:text>dotted</xsl:text>
- </xsl:when>
- <xsl:when test="@type = 'shift'">
- <xsl:text>solid</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>dashed</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:with-param>
- <xsl:with-param name="label">
- <xsl:if test="not(@symbol = 'error')">
- <xsl:value-of select="@symbol"/>
- </xsl:if>
- </xsl:with-param>
- </xsl:call-template>
-</xsl:template>
-
-<xsl:template name="output-node">
- <xsl:param name="number"/>
- <xsl:param name="label"/>
- <xsl:text> </xsl:text>
- <xsl:value-of select="$number"/>
- <xsl:text> [label="</xsl:text>
- <xsl:text>State </xsl:text>
- <xsl:value-of select="$number"/>
- <xsl:text>\n</xsl:text>
- <xsl:call-template name="escape">
- <xsl:with-param name="subject" select="$label"/>
- </xsl:call-template>
- <xsl:text>\l"]&#10;</xsl:text>
-</xsl:template>
-
-<xsl:template name="output-edge">
- <xsl:param name="src"/>
- <xsl:param name="dst"/>
- <xsl:param name="style"/>
- <xsl:param name="label"/>
- <xsl:text> </xsl:text>
- <xsl:value-of select="$src"/>
- <xsl:text> -> </xsl:text>
- <xsl:value-of select="$dst"/>
- <xsl:text> [style=</xsl:text>
- <xsl:value-of select="$style"/>
- <xsl:if test="$label and $label != ''">
- <xsl:text> label="</xsl:text>
- <xsl:call-template name="escape">
- <xsl:with-param name="subject" select="$label"/>
- </xsl:call-template>
- <xsl:text>"</xsl:text>
- </xsl:if>
- <xsl:text>]&#10;</xsl:text>
-</xsl:template>
-
-<xsl:template name="escape">
- <xsl:param name="subject"/> <!-- required -->
- <xsl:call-template name="string-replace">
- <xsl:with-param name="subject">
- <xsl:call-template name="string-replace">
- <xsl:with-param name="subject">
- <xsl:call-template name="string-replace">
- <xsl:with-param name="subject" select="$subject"/>
- <xsl:with-param name="search" select="'\'"/>
- <xsl:with-param name="replace" select="'\\'"/>
- </xsl:call-template>
- </xsl:with-param>
- <xsl:with-param name="search" select="'&quot;'"/>
- <xsl:with-param name="replace" select="'\&quot;'"/>
- </xsl:call-template>
- </xsl:with-param>
- <xsl:with-param name="search" select="'&#10;'"/>
- <xsl:with-param name="replace" select="'\l'"/>
- </xsl:call-template>
-</xsl:template>
-
-<xsl:template name="string-replace">
- <xsl:param name="subject"/>
- <xsl:param name="search"/>
- <xsl:param name="replace"/>
- <xsl:choose>
- <xsl:when test="contains($subject, $search)">
- <xsl:variable name="before" select="substring-before($subject, $search)"/>
- <xsl:variable name="after" select="substring-after($subject, $search)"/>
- <xsl:value-of select="$before"/>
- <xsl:value-of select="$replace"/>
- <xsl:call-template name="string-replace">
- <xsl:with-param name="subject" select="$after"/>
- <xsl:with-param name="search" select="$search"/>
- <xsl:with-param name="replace" select="$replace"/>
- </xsl:call-template>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="$subject"/>
- </xsl:otherwise>
- </xsl:choose>
-</xsl:template>
-
-<xsl:template name="lpad">
- <xsl:param name="str" select="''"/>
- <xsl:param name="pad" select="0"/>
- <xsl:variable name="diff" select="$pad - string-length($str)" />
- <xsl:choose>
- <xsl:when test="$diff &lt; 0">
- <xsl:value-of select="$str"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:call-template name="space">
- <xsl:with-param name="repeat" select="$diff"/>
- </xsl:call-template>
- <xsl:value-of select="$str"/>
- </xsl:otherwise>
- </xsl:choose>
-</xsl:template>
-
-</xsl:stylesheet>
diff --git a/gnuwin32/bin/data/xslt/xml2text.xsl b/gnuwin32/bin/data/xslt/xml2text.xsl
deleted file mode 100644
index 2626f566..00000000
--- a/gnuwin32/bin/data/xslt/xml2text.xsl
+++ /dev/null
@@ -1,569 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
- xml2text.xsl - transform Bison XML Report into plain text.
-
- Copyright (C) 2007-2013 Free Software Foundation, Inc.
-
- This file is part of Bison, the GNU Compiler Compiler.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-
- Written by Wojciech Polak <polak@gnu.org>.
- -->
-
-<xsl:stylesheet version="1.0"
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:bison="http://www.gnu.org/software/bison/">
-
-<xsl:import href="bison.xsl"/>
-<xsl:output method="text" encoding="UTF-8" indent="no"/>
-
-<xsl:template match="/">
- <xsl:apply-templates select="bison-xml-report"/>
-</xsl:template>
-
-<xsl:template match="bison-xml-report">
- <xsl:apply-templates select="grammar" mode="reductions"/>
- <xsl:apply-templates select="grammar" mode="useless-in-parser"/>
- <xsl:apply-templates select="automaton" mode="conflicts"/>
- <xsl:apply-templates select="grammar"/>
- <xsl:apply-templates select="automaton"/>
-</xsl:template>
-
-<xsl:template match="grammar" mode="reductions">
- <xsl:apply-templates select="nonterminals" mode="useless-in-grammar"/>
- <xsl:apply-templates select="terminals" mode="unused-in-grammar"/>
- <xsl:apply-templates select="rules" mode="useless-in-grammar"/>
-</xsl:template>
-
-<xsl:template match="nonterminals" mode="useless-in-grammar">
- <xsl:if test="nonterminal[@usefulness='useless-in-grammar']">
- <xsl:text>Nonterminals useless in grammar&#10;&#10;</xsl:text>
- <xsl:for-each select="nonterminal[@usefulness='useless-in-grammar']">
- <xsl:text> </xsl:text>
- <xsl:value-of select="@name"/>
- <xsl:text>&#10;</xsl:text>
- </xsl:for-each>
- <xsl:text>&#10;&#10;</xsl:text>
- </xsl:if>
-</xsl:template>
-
-<xsl:template match="terminals" mode="unused-in-grammar">
- <xsl:if test="terminal[@usefulness='unused-in-grammar']">
- <xsl:text>Terminals unused in grammar&#10;&#10;</xsl:text>
- <xsl:for-each select="terminal[@usefulness='unused-in-grammar']">
- <xsl:sort select="@symbol-number" data-type="number"/>
- <xsl:text> </xsl:text>
- <xsl:value-of select="@name"/>
- <xsl:text>&#10;</xsl:text>
- </xsl:for-each>
- <xsl:text>&#10;&#10;</xsl:text>
- </xsl:if>
-</xsl:template>
-
-<xsl:template match="rules" mode="useless-in-grammar">
- <xsl:variable name="set" select="rule[@usefulness='useless-in-grammar']"/>
- <xsl:if test="$set">
- <xsl:text>Rules useless in grammar&#10;</xsl:text>
- <xsl:call-template name="style-rule-set">
- <xsl:with-param name="rule-set" select="$set"/>
- </xsl:call-template>
- <xsl:text>&#10;&#10;</xsl:text>
- </xsl:if>
-</xsl:template>
-
-<xsl:template match="grammar" mode="useless-in-parser">
- <xsl:variable
- name="set" select="rules/rule[@usefulness='useless-in-parser']"
- />
- <xsl:if test="$set">
- <xsl:text>Rules useless in parser due to conflicts&#10;</xsl:text>
- <xsl:call-template name="style-rule-set">
- <xsl:with-param name="rule-set" select="$set"/>
- </xsl:call-template>
- <xsl:text>&#10;&#10;</xsl:text>
- </xsl:if>
-</xsl:template>
-
-<xsl:template match="grammar">
- <xsl:text>Grammar&#10;</xsl:text>
- <xsl:call-template name="style-rule-set">
- <xsl:with-param
- name="rule-set" select="rules/rule[@usefulness!='useless-in-grammar']"
- />
- </xsl:call-template>
- <xsl:text>&#10;&#10;</xsl:text>
- <xsl:apply-templates select="terminals"/>
- <xsl:apply-templates select="nonterminals"/>
-</xsl:template>
-
-<xsl:template name="style-rule-set">
- <xsl:param name="rule-set"/>
- <xsl:for-each select="$rule-set">
- <xsl:apply-templates select=".">
- <xsl:with-param name="pad" select="'3'"/>
- <xsl:with-param name="prev-lhs">
- <xsl:if test="position()>1">
- <xsl:variable name="position" select="position()"/>
- <xsl:value-of select="$rule-set[$position - 1]/lhs"/>
- </xsl:if>
- </xsl:with-param>
- </xsl:apply-templates>
- </xsl:for-each>
-</xsl:template>
-
-<xsl:template match="grammar/terminals">
- <xsl:text>Terminals, with rules where they appear&#10;&#10;</xsl:text>
- <xsl:apply-templates select="terminal"/>
- <xsl:text>&#10;&#10;</xsl:text>
-</xsl:template>
-
-<xsl:template match="grammar/nonterminals">
- <xsl:text>Nonterminals, with rules where they appear&#10;&#10;</xsl:text>
- <xsl:apply-templates select="nonterminal[@usefulness!='useless-in-grammar']"/>
-</xsl:template>
-
-<xsl:template match="terminal">
- <xsl:value-of select="@name"/>
- <xsl:call-template name="line-wrap">
- <xsl:with-param name="first-line-length">
- <xsl:choose>
- <xsl:when test="string-length(@name) &gt; 66">0</xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="66 - string-length(@name)" />
- </xsl:otherwise>
- </xsl:choose>
- </xsl:with-param>
- <xsl:with-param name="line-length" select="66" />
- <xsl:with-param name="text">
- <xsl:value-of select="concat(' (', @token-number, ')')"/>
- <xsl:for-each select="key('bison:ruleByRhs', @name)">
- <xsl:value-of select="concat(' ', @number)"/>
- </xsl:for-each>
- </xsl:with-param>
- </xsl:call-template>
-</xsl:template>
-
-<xsl:template match="nonterminal">
- <xsl:value-of select="@name"/>
- <xsl:value-of select="concat(' (', @symbol-number, ')')"/>
- <xsl:text>&#10;</xsl:text>
- <xsl:variable name="output">
- <xsl:call-template name="line-wrap">
- <xsl:with-param name="line-length" select="66" />
- <xsl:with-param name="text">
- <xsl:text> </xsl:text>
- <xsl:if test="key('bison:ruleByLhs', @name)">
- <xsl:text>on@left:</xsl:text>
- <xsl:for-each select="key('bison:ruleByLhs', @name)">
- <xsl:value-of select="concat(' ', @number)"/>
- </xsl:for-each>
- </xsl:if>
- <xsl:if test="key('bison:ruleByRhs', @name)">
- <xsl:if test="key('bison:ruleByLhs', @name)">
- <xsl:text>, </xsl:text>
- </xsl:if>
- <xsl:text>on@right:</xsl:text>
- <xsl:for-each select="key('bison:ruleByRhs', @name)">
- <xsl:value-of select="concat(' ', @number)"/>
- </xsl:for-each>
- </xsl:if>
- </xsl:with-param>
- </xsl:call-template>
- </xsl:variable>
- <xsl:value-of select="translate($output, '@', ' ')" />
-</xsl:template>
-
-<xsl:template match="automaton" mode="conflicts">
- <xsl:variable name="conflict-report">
- <xsl:apply-templates select="state" mode="conflicts"/>
- </xsl:variable>
- <xsl:if test="string-length($conflict-report) != 0">
- <xsl:value-of select="$conflict-report"/>
- <xsl:text>&#10;&#10;</xsl:text>
- </xsl:if>
-</xsl:template>
-
-<xsl:template match="state" mode="conflicts">
- <xsl:variable name="conflict-counts">
- <xsl:apply-templates select="." mode="bison:count-conflicts" />
- </xsl:variable>
- <xsl:variable
- name="sr-count" select="substring-before($conflict-counts, ',')"
- />
- <xsl:variable
- name="rr-count" select="substring-after($conflict-counts, ',')"
- />
- <xsl:if test="$sr-count > 0 or $rr-count > 0">
- <xsl:value-of select="concat('State ', @number, ' conflicts:')"/>
- <xsl:if test="$sr-count > 0">
- <xsl:value-of select="concat(' ', $sr-count, ' shift/reduce')"/>
- <xsl:if test="$rr-count > 0">
- <xsl:value-of select="(',')"/>
- </xsl:if>
- </xsl:if>
- <xsl:if test="$rr-count > 0">
- <xsl:value-of select="concat(' ', $rr-count, ' reduce/reduce')"/>
- </xsl:if>
- <xsl:value-of select="'&#10;'"/>
- </xsl:if>
-</xsl:template>
-
-<xsl:template match="automaton">
- <xsl:apply-templates select="state">
- <xsl:with-param name="pad" select="'3'"/>
- </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="automaton/state">
- <xsl:param name="pad"/>
- <xsl:text>&#10;&#10;</xsl:text>
- <xsl:text>State </xsl:text>
- <xsl:value-of select="@number"/>
- <xsl:text>&#10;&#10;</xsl:text>
- <xsl:apply-templates select="itemset/item">
- <xsl:with-param name="pad" select="$pad"/>
- </xsl:apply-templates>
- <xsl:apply-templates select="actions/transitions">
- <xsl:with-param name="type" select="'shift'"/>
- </xsl:apply-templates>
- <xsl:apply-templates select="actions/errors"/>
- <xsl:apply-templates select="actions/reductions"/>
- <xsl:apply-templates select="actions/transitions">
- <xsl:with-param name="type" select="'goto'"/>
- </xsl:apply-templates>
- <xsl:apply-templates select="solved-conflicts"/>
-</xsl:template>
-
-<xsl:template match="actions/transitions">
- <xsl:param name="type"/>
- <xsl:if test="transition[@type = $type]">
- <xsl:text>&#10;</xsl:text>
- <xsl:apply-templates select="transition[@type = $type]">
- <xsl:with-param name="pad">
- <xsl:call-template name="max-width-symbol">
- <xsl:with-param name="node" select="transition[@type = $type]"/>
- </xsl:call-template>
- </xsl:with-param>
- </xsl:apply-templates>
- </xsl:if>
-</xsl:template>
-
-<xsl:template match="actions/errors">
- <xsl:if test="error">
- <xsl:text>&#10;</xsl:text>
- <xsl:apply-templates select="error">
- <xsl:with-param name="pad">
- <xsl:call-template name="max-width-symbol">
- <xsl:with-param name="node" select="error"/>
- </xsl:call-template>
- </xsl:with-param>
- </xsl:apply-templates>
- </xsl:if>
-</xsl:template>
-
-<xsl:template match="actions/reductions">
- <xsl:if test="reduction">
- <xsl:text>&#10;</xsl:text>
- <xsl:apply-templates select="reduction">
- <xsl:with-param name="pad">
- <xsl:call-template name="max-width-symbol">
- <xsl:with-param name="node" select="reduction"/>
- </xsl:call-template>
- </xsl:with-param>
- </xsl:apply-templates>
- </xsl:if>
-</xsl:template>
-
-<xsl:template match="item">
- <xsl:param name="pad"/>
- <xsl:param name="prev-rule-number"
- select="preceding-sibling::item[1]/@rule-number"/>
- <xsl:apply-templates
- select="key('bison:ruleByNumber', current()/@rule-number)"
- >
- <xsl:with-param name="itemset" select="'true'"/>
- <xsl:with-param name="pad" select="$pad"/>
- <xsl:with-param
- name="prev-lhs"
- select="key('bison:ruleByNumber', $prev-rule-number)/lhs[text()]"
- />
- <xsl:with-param name="point" select="@point"/>
- <xsl:with-param name="lookaheads">
- <xsl:apply-templates select="lookaheads"/>
- </xsl:with-param>
- </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="rule">
- <xsl:param name="itemset"/>
- <xsl:param name="pad"/>
- <xsl:param name="prev-lhs"/>
- <xsl:param name="point"/>
- <xsl:param name="lookaheads"/>
-
- <xsl:if test="$itemset != 'true' and not($prev-lhs = lhs[text()])">
- <xsl:text>&#10;</xsl:text>
- </xsl:if>
-
- <xsl:text> </xsl:text>
- <xsl:call-template name="lpad">
- <xsl:with-param name="str" select="string(@number)"/>
- <xsl:with-param name="pad" select="number($pad)"/>
- </xsl:call-template>
- <xsl:text> </xsl:text>
-
- <!-- LHS -->
- <xsl:choose>
- <xsl:when test="$itemset != 'true' and $prev-lhs = lhs[text()]">
- <xsl:call-template name="lpad">
- <xsl:with-param name="str" select="'|'"/>
- <xsl:with-param name="pad" select="number(string-length(lhs[text()])) + 1"/>
- </xsl:call-template>
- </xsl:when>
- <xsl:when test="$itemset = 'true' and $prev-lhs = lhs[text()]">
- <xsl:call-template name="lpad">
- <xsl:with-param name="str" select="'|'"/>
- <xsl:with-param name="pad" select="number(string-length(lhs[text()])) + 1"/>
- </xsl:call-template>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="lhs"/>
- <xsl:text>:</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
-
- <!-- RHS -->
- <xsl:for-each select="rhs/*">
- <xsl:if test="position() = $point + 1">
- <xsl:text> .</xsl:text>
- </xsl:if>
- <xsl:if test="$itemset = 'true' and name(.) != 'empty'">
- <xsl:apply-templates select="."/>
- </xsl:if>
- <xsl:if test="$itemset != 'true'">
- <xsl:apply-templates select="."/>
- </xsl:if>
- <xsl:if test="position() = last() and position() = $point">
- <xsl:text> .</xsl:text>
- </xsl:if>
- </xsl:for-each>
- <xsl:if test="$lookaheads">
- <xsl:value-of select="$lookaheads"/>
- </xsl:if>
-
- <xsl:text>&#10;</xsl:text>
-</xsl:template>
-
-<xsl:template match="symbol">
- <xsl:text> </xsl:text>
- <xsl:value-of select="."/>
-</xsl:template>
-
-<xsl:template match="empty">
- <xsl:text> %empty</xsl:text>
-</xsl:template>
-
-<xsl:template match="lookaheads">
- <xsl:text> [</xsl:text>
- <xsl:apply-templates select="symbol"/>
- <xsl:text>]</xsl:text>
-</xsl:template>
-
-<xsl:template match="lookaheads/symbol">
- <xsl:value-of select="."/>
- <xsl:if test="position() != last()">
- <xsl:text>, </xsl:text>
- </xsl:if>
-</xsl:template>
-
-<xsl:template match="transition">
- <xsl:param name="pad"/>
- <xsl:text> </xsl:text>
- <xsl:call-template name="rpad">
- <xsl:with-param name="str" select="string(@symbol)"/>
- <xsl:with-param name="pad" select="number($pad) + 2"/>
- </xsl:call-template>
- <xsl:choose>
- <xsl:when test="@type = 'shift'">
- <xsl:text>shift, and go to state </xsl:text>
- <xsl:value-of select="@state"/>
- </xsl:when>
- <xsl:when test="@type = 'goto'">
- <xsl:text>go to state </xsl:text>
- <xsl:value-of select="@state"/>
- </xsl:when>
- </xsl:choose>
- <xsl:text>&#10;</xsl:text>
-</xsl:template>
-
-<xsl:template match="error">
- <xsl:param name="pad"/>
- <xsl:text> </xsl:text>
- <xsl:call-template name="rpad">
- <xsl:with-param name="str" select="string(@symbol)"/>
- <xsl:with-param name="pad" select="number($pad) + 2"/>
- </xsl:call-template>
- <xsl:text>error</xsl:text>
- <xsl:text> (</xsl:text>
- <xsl:value-of select="text()"/>
- <xsl:text>)</xsl:text>
- <xsl:text>&#10;</xsl:text>
-</xsl:template>
-
-<xsl:template match="reduction">
- <xsl:param name="pad"/>
- <xsl:text> </xsl:text>
- <xsl:call-template name="rpad">
- <xsl:with-param name="str" select="string(@symbol)"/>
- <xsl:with-param name="pad" select="number($pad) + 2"/>
- </xsl:call-template>
- <xsl:if test="@enabled = 'false'">
- <xsl:text>[</xsl:text>
- </xsl:if>
- <xsl:choose>
- <xsl:when test="@rule = 'accept'">
- <xsl:text>accept</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>reduce using rule </xsl:text>
- <xsl:value-of select="@rule"/>
- <xsl:text> (</xsl:text>
- <xsl:value-of
- select="key('bison:ruleByNumber', current()/@rule)/lhs[text()]"/>
- <xsl:text>)</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- <xsl:if test="@enabled = 'false'">
- <xsl:text>]</xsl:text>
- </xsl:if>
- <xsl:text>&#10;</xsl:text>
-</xsl:template>
-
-<xsl:template match="solved-conflicts">
- <xsl:if test="resolution">
- <xsl:text>&#10;</xsl:text>
- <xsl:apply-templates select="resolution"/>
- </xsl:if>
-</xsl:template>
-
-<xsl:template match="resolution">
- <xsl:text> Conflict between rule </xsl:text>
- <xsl:value-of select="@rule"/>
- <xsl:text> and token </xsl:text>
- <xsl:value-of select="@symbol"/>
- <xsl:text> resolved as </xsl:text>
- <xsl:if test="@type = 'error'">
- <xsl:text>an </xsl:text>
- </xsl:if>
- <xsl:value-of select="@type"/>
- <xsl:text> (</xsl:text>
- <xsl:value-of select="."/>
- <xsl:text>).&#10;</xsl:text>
-</xsl:template>
-
-<xsl:template name="max-width-symbol">
- <xsl:param name="node"/>
- <xsl:variable name="longest">
- <xsl:for-each select="$node">
- <xsl:sort data-type="number" select="string-length(@symbol)"
- order="descending"/>
- <xsl:if test="position() = 1">
- <xsl:value-of select="string-length(@symbol)"/>
- </xsl:if>
- </xsl:for-each>
- </xsl:variable>
- <xsl:value-of select="$longest"/>
-</xsl:template>
-
-<xsl:template name="lpad">
- <xsl:param name="str" select="''"/>
- <xsl:param name="pad" select="0"/>
- <xsl:variable name="diff" select="$pad - string-length($str)" />
- <xsl:choose>
- <xsl:when test="$diff &lt; 0">
- <xsl:value-of select="$str"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:call-template name="space">
- <xsl:with-param name="repeat" select="$diff"/>
- </xsl:call-template>
- <xsl:value-of select="$str"/>
- </xsl:otherwise>
- </xsl:choose>
-</xsl:template>
-
-<xsl:template name="rpad">
- <xsl:param name="str" select="''"/>
- <xsl:param name="pad" select="0"/>
- <xsl:variable name="diff" select="$pad - string-length($str)"/>
- <xsl:choose>
- <xsl:when test="$diff &lt; 0">
- <xsl:value-of select="$str"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="$str"/>
- <xsl:call-template name="space">
- <xsl:with-param name="repeat" select="$diff"/>
- </xsl:call-template>
- </xsl:otherwise>
- </xsl:choose>
-</xsl:template>
-
-<xsl:template name="line-wrap">
- <xsl:param name="line-length"/> <!-- required -->
- <xsl:param name="first-line-length" select="$line-length"/>
- <xsl:param name="text"/> <!-- required -->
- <xsl:choose>
- <xsl:when test="normalize-space($text) = ''" />
- <xsl:when test="string-length($text) &lt;= $first-line-length">
- <xsl:value-of select="concat($text, '&#10;')" />
- </xsl:when>
- <xsl:otherwise>
- <xsl:variable name="break-pos">
- <xsl:call-template name="ws-search">
- <xsl:with-param name="text" select="$text" />
- <xsl:with-param name="start" select="$first-line-length+1" />
- </xsl:call-template>
- </xsl:variable>
- <xsl:value-of select="substring($text, 1, $break-pos - 1)" />
- <xsl:text>&#10;</xsl:text>
- <xsl:call-template name="line-wrap">
- <xsl:with-param name="line-length" select="$line-length" />
- <xsl:with-param
- name="text" select="concat(' ', substring($text, $break-pos+1))"
- />
- </xsl:call-template>
- </xsl:otherwise>
- </xsl:choose>
-</xsl:template>
-
-<xsl:template name="ws-search">
- <xsl:param name="text"/> <!-- required -->
- <xsl:param name="start"/> <!-- required -->
- <xsl:variable name="search-text" select="substring($text, $start)" />
- <xsl:choose>
- <xsl:when test="not(contains($search-text, ' '))">
- <xsl:value-of select="string-length($text)+1" />
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of
- select="$start + string-length(substring-before($search-text, ' '))"
- />
- </xsl:otherwise>
- </xsl:choose>
-</xsl:template>
-
-</xsl:stylesheet>
diff --git a/gnuwin32/bin/data/xslt/xml2xhtml.xsl b/gnuwin32/bin/data/xslt/xml2xhtml.xsl
deleted file mode 100644
index d2cfed4c..00000000
--- a/gnuwin32/bin/data/xslt/xml2xhtml.xsl
+++ /dev/null
@@ -1,745 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
- xml2html.xsl - transform Bison XML Report into XHTML.
-
- Copyright (C) 2007-2013 Free Software Foundation, Inc.
-
- This file is part of Bison, the GNU Compiler Compiler.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-
- Written by Wojciech Polak <polak@gnu.org>.
- -->
-
-<xsl:stylesheet version="1.0"
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns="http://www.w3.org/1999/xhtml"
- xmlns:bison="http://www.gnu.org/software/bison/">
-
-<xsl:import href="bison.xsl"/>
-
-<xsl:output method="xml" encoding="UTF-8"
- doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
- doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
- indent="yes"/>
-
-<xsl:template match="/">
- <html>
- <head>
- <title>
- <xsl:value-of select="bison-xml-report/filename"/>
- <xsl:text> - GNU Bison XML Automaton Report</xsl:text>
- </title>
- <style type="text/css"><![CDATA[
- body {
- font-family: "Nimbus Sans L", Arial, sans-serif;
- font-size: 9pt;
- }
- a:link {
- color: #1f00ff;
- text-decoration: none;
- }
- a:visited {
- color: #1f00ff;
- text-decoration: none;
- }
- a:hover {
- color: red;
- }
- #menu a {
- text-decoration: underline;
- }
- .i {
- font-style: italic;
- }
- .pre {
- font-family: monospace;
- white-space: pre;
- }
- ol.decimal {
- list-style-type: decimal;
- }
- ol.lower-alpha {
- list-style-type: lower-alpha;
- }
- .point {
- color: #cc0000;
- }
- #footer {
- margin-top: 3.5em;
- font-size: 7pt;
- }
- ]]></style>
- </head>
- <body>
- <xsl:apply-templates select="bison-xml-report"/>
- <xsl:text>&#10;&#10;</xsl:text>
- <div id="footer"><hr />This document was generated using
- <a href="http://www.gnu.org/software/bison/" title="GNU Bison">
- GNU Bison <xsl:value-of select="/bison-xml-report/@version"/></a>
- XML Automaton Report.<br />
- <!-- default copying notice -->
- Verbatim copying and distribution of this entire page is
- permitted in any medium, provided this notice is preserved.</div>
- </body>
- </html>
-</xsl:template>
-
-<xsl:template match="bison-xml-report">
- <h1>GNU Bison XML Automaton Report</h1>
- <p>
- input grammar: <span class="i"><xsl:value-of select="filename"/></span>
- </p>
-
- <xsl:text>&#10;&#10;</xsl:text>
- <h3>Table of Contents</h3>
- <ul id="menu">
- <li>
- <a href="#reductions">Reductions</a>
- <ul class="lower-alpha">
- <li><a href="#nonterminals_useless_in_grammar">Nonterminals useless in grammar</a></li>
- <li><a href="#terminals_unused_in_grammar">Terminals unused in grammar</a></li>
- <li><a href="#rules_useless_in_grammar">Rules useless in grammar</a></li>
- <xsl:if test="grammar/rules/rule[@usefulness='useless-in-parser']">
- <li><a href="#rules_useless_in_parser">Rules useless in parser due to conflicts</a></li>
- </xsl:if>
- </ul>
- </li>
- <li><a href="#conflicts">Conflicts</a></li>
- <li>
- <a href="#grammar">Grammar</a>
- <ul class="lower-alpha">
- <li><a href="#grammar">Itemset</a></li>
- <li><a href="#terminals">Terminal symbols</a></li>
- <li><a href="#nonterminals">Nonterminal symbols</a></li>
- </ul>
- </li>
- <li><a href="#automaton">Automaton</a></li>
- </ul>
- <xsl:apply-templates select="grammar" mode="reductions"/>
- <xsl:apply-templates select="grammar" mode="useless-in-parser"/>
- <xsl:apply-templates select="automaton" mode="conflicts"/>
- <xsl:apply-templates select="grammar"/>
- <xsl:apply-templates select="automaton"/>
-</xsl:template>
-
-<xsl:template match="grammar" mode="reductions">
- <h2>
- <a name="reductions"/>
- <xsl:text> Reductions</xsl:text>
- </h2>
- <xsl:apply-templates select="nonterminals" mode="useless-in-grammar"/>
- <xsl:apply-templates select="terminals" mode="unused-in-grammar"/>
- <xsl:apply-templates select="rules" mode="useless-in-grammar"/>
-</xsl:template>
-
-<xsl:template match="nonterminals" mode="useless-in-grammar">
- <h3>
- <a name="nonterminals_useless_in_grammar"/>
- <xsl:text> Nonterminals useless in grammar</xsl:text>
- </h3>
- <xsl:text>&#10;&#10;</xsl:text>
- <xsl:if test="nonterminal[@usefulness='useless-in-grammar']">
- <p class="pre">
- <xsl:for-each select="nonterminal[@usefulness='useless-in-grammar']">
- <xsl:text> </xsl:text>
- <xsl:value-of select="@name"/>
- <xsl:text>&#10;</xsl:text>
- </xsl:for-each>
- <xsl:text>&#10;&#10;</xsl:text>
- </p>
- </xsl:if>
-</xsl:template>
-
-<xsl:template match="terminals" mode="unused-in-grammar">
- <h3>
- <a name="terminals_unused_in_grammar"/>
- <xsl:text> Terminals unused in grammar</xsl:text>
- </h3>
- <xsl:text>&#10;&#10;</xsl:text>
- <xsl:if test="terminal[@usefulness='unused-in-grammar']">
- <p class="pre">
- <xsl:for-each select="terminal[@usefulness='unused-in-grammar']">
- <xsl:sort select="@symbol-number" data-type="number"/>
- <xsl:text> </xsl:text>
- <xsl:value-of select="@name"/>
- <xsl:text>&#10;</xsl:text>
- </xsl:for-each>
- <xsl:text>&#10;&#10;</xsl:text>
- </p>
- </xsl:if>
-</xsl:template>
-
-<xsl:template match="rules" mode="useless-in-grammar">
- <h3>
- <a name="rules_useless_in_grammar"/>
- <xsl:text> Rules useless in grammar</xsl:text>
- </h3>
- <xsl:text>&#10;</xsl:text>
- <xsl:variable name="set" select="rule[@usefulness='useless-in-grammar']"/>
- <xsl:if test="$set">
- <p class="pre">
- <xsl:call-template name="style-rule-set">
- <xsl:with-param name="rule-set" select="$set"/>
- </xsl:call-template>
- <xsl:text>&#10;&#10;</xsl:text>
- </p>
- </xsl:if>
-</xsl:template>
-
-<xsl:template match="grammar" mode="useless-in-parser">
- <xsl:variable
- name="set" select="rules/rule[@usefulness='useless-in-parser']"
- />
- <xsl:if test="$set">
- <h2>
- <a name="rules_useless_in_parser"/>
- <xsl:text> Rules useless in parser due to conflicts</xsl:text>
- </h2>
- <xsl:text>&#10;</xsl:text>
- <p class="pre">
- <xsl:call-template name="style-rule-set">
- <xsl:with-param name="rule-set" select="$set"/>
- </xsl:call-template>
- </p>
- <xsl:text>&#10;&#10;</xsl:text>
- </xsl:if>
-</xsl:template>
-
-<xsl:template match="grammar">
- <h2>
- <a name="grammar"/>
- <xsl:text> Grammar</xsl:text>
- </h2>
- <xsl:text>&#10;</xsl:text>
- <p class="pre">
- <xsl:call-template name="style-rule-set">
- <xsl:with-param
- name="rule-set" select="rules/rule[@usefulness!='useless-in-grammar']"
- />
- </xsl:call-template>
- </p>
- <xsl:text>&#10;&#10;</xsl:text>
- <xsl:apply-templates select="terminals"/>
- <xsl:apply-templates select="nonterminals"/>
-</xsl:template>
-
-<xsl:template name="style-rule-set">
- <xsl:param name="rule-set"/>
- <xsl:for-each select="$rule-set">
- <xsl:apply-templates select=".">
- <xsl:with-param name="pad" select="'3'"/>
- <xsl:with-param name="prev-lhs">
- <xsl:if test="position()>1">
- <xsl:variable name="position" select="position()"/>
- <xsl:value-of select="$rule-set[$position - 1]/lhs"/>
- </xsl:if>
- </xsl:with-param>
- </xsl:apply-templates>
- </xsl:for-each>
-</xsl:template>
-
-<xsl:template match="automaton" mode="conflicts">
- <h2>
- <a name="conflicts"/>
- <xsl:text> Conflicts</xsl:text>
- </h2>
- <xsl:text>&#10;&#10;</xsl:text>
- <xsl:variable name="conflict-report">
- <xsl:apply-templates select="state" mode="conflicts"/>
- </xsl:variable>
- <xsl:if test="string-length($conflict-report) != 0">
- <p class="pre">
- <xsl:copy-of select="$conflict-report"/>
- <xsl:text>&#10;&#10;</xsl:text>
- </p>
- </xsl:if>
-</xsl:template>
-
-<xsl:template match="state" mode="conflicts">
- <xsl:variable name="conflict-counts">
- <xsl:apply-templates select="." mode="bison:count-conflicts" />
- </xsl:variable>
- <xsl:variable
- name="sr-count" select="substring-before($conflict-counts, ',')"
- />
- <xsl:variable
- name="rr-count" select="substring-after($conflict-counts, ',')"
- />
- <xsl:if test="$sr-count > 0 or $rr-count > 0">
- <a>
- <xsl:attribute name="href">
- <xsl:value-of select="concat('#state_', @number)"/>
- </xsl:attribute>
- <xsl:value-of select="concat('State ', @number)"/>
- </a>
- <xsl:text> conflicts:</xsl:text>
- <xsl:if test="$sr-count > 0">
- <xsl:value-of select="concat(' ', $sr-count, ' shift/reduce')"/>
- <xsl:if test="$rr-count > 0">
- <xsl:value-of select="(',')"/>
- </xsl:if>
- </xsl:if>
- <xsl:if test="$rr-count > 0">
- <xsl:value-of select="concat(' ', $rr-count, ' reduce/reduce')"/>
- </xsl:if>
- <xsl:value-of select="'&#10;'"/>
- </xsl:if>
-</xsl:template>
-
-<xsl:template match="grammar/terminals">
- <h3>
- <a name="terminals"/>
- <xsl:text> Terminals, with rules where they appear</xsl:text>
- </h3>
- <xsl:text>&#10;&#10;</xsl:text>
- <p class="pre">
- <xsl:apply-templates select="terminal"/>
- </p>
- <xsl:text>&#10;&#10;</xsl:text>
-</xsl:template>
-
-<xsl:template match="grammar/nonterminals">
- <h3>
- <a name="nonterminals"/>
- <xsl:text> Nonterminals, with rules where they appear</xsl:text>
- </h3>
- <xsl:text>&#10;&#10;</xsl:text>
- <p class="pre">
- <xsl:apply-templates
- select="nonterminal[@usefulness!='useless-in-grammar']"
- />
- </p>
-</xsl:template>
-
-<xsl:template match="terminal">
- <b><xsl:value-of select="@name"/></b>
- <xsl:value-of select="concat(' (', @token-number, ')')"/>
- <xsl:for-each select="key('bison:ruleByRhs', @name)">
- <xsl:apply-templates select="." mode="number-link"/>
- </xsl:for-each>
- <xsl:text>&#10;</xsl:text>
-</xsl:template>
-
-<xsl:template match="nonterminal">
- <b><xsl:value-of select="@name"/></b>
- <xsl:value-of select="concat(' (', @symbol-number, ')')"/>
- <xsl:text>&#10; </xsl:text>
- <xsl:if test="key('bison:ruleByLhs', @name)">
- <xsl:text>on left:</xsl:text>
- <xsl:for-each select="key('bison:ruleByLhs', @name)">
- <xsl:apply-templates select="." mode="number-link"/>
- </xsl:for-each>
- </xsl:if>
- <xsl:if test="key('bison:ruleByRhs', @name)">
- <xsl:if test="key('bison:ruleByLhs', @name)">
- <xsl:text>&#10; </xsl:text>
- </xsl:if>
- <xsl:text>on right:</xsl:text>
- <xsl:for-each select="key('bison:ruleByRhs', @name)">
- <xsl:apply-templates select="." mode="number-link"/>
- </xsl:for-each>
- </xsl:if>
- <xsl:text>&#10;</xsl:text>
-</xsl:template>
-
-<xsl:template match="rule" mode="number-link">
- <xsl:text> </xsl:text>
- <a>
- <xsl:attribute name="href">
- <xsl:value-of select="concat('#rule_', @number)"/>
- </xsl:attribute>
- <xsl:value-of select="@number"/>
- </a>
-</xsl:template>
-
-<xsl:template match="automaton">
- <h2>
- <a name="automaton"/>
- <xsl:text> Automaton</xsl:text>
- </h2>
- <xsl:apply-templates select="state">
- <xsl:with-param name="pad" select="'3'"/>
- </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="automaton/state">
- <xsl:param name="pad"/>
- <xsl:text>&#10;&#10;</xsl:text>
- <h3>
- <a>
- <xsl:attribute name="name">
- <xsl:value-of select="concat('state_', @number)"/>
- </xsl:attribute>
- </a>
- <xsl:text>state </xsl:text>
- <xsl:value-of select="@number"/>
- </h3>
- <xsl:text>&#10;&#10;</xsl:text>
- <p class="pre">
- <xsl:apply-templates select="itemset/item">
- <xsl:with-param name="pad" select="$pad"/>
- </xsl:apply-templates>
- <xsl:apply-templates select="actions/transitions">
- <xsl:with-param name="type" select="'shift'"/>
- </xsl:apply-templates>
- <xsl:apply-templates select="actions/errors"/>
- <xsl:apply-templates select="actions/reductions"/>
- <xsl:apply-templates select="actions/transitions">
- <xsl:with-param name="type" select="'goto'"/>
- </xsl:apply-templates>
- <xsl:apply-templates select="solved-conflicts"/>
- </p>
-</xsl:template>
-
-<xsl:template match="actions/transitions">
- <xsl:param name="type"/>
- <xsl:if test="transition[@type = $type]">
- <xsl:text>&#10;</xsl:text>
- <xsl:apply-templates select="transition[@type = $type]">
- <xsl:with-param name="pad">
- <xsl:call-template name="max-width-symbol">
- <xsl:with-param name="node" select="transition[@type = $type]"/>
- </xsl:call-template>
- </xsl:with-param>
- </xsl:apply-templates>
- </xsl:if>
-</xsl:template>
-
-<xsl:template match="actions/errors">
- <xsl:if test="error">
- <xsl:text>&#10;</xsl:text>
- <xsl:apply-templates select="error">
- <xsl:with-param name="pad">
- <xsl:call-template name="max-width-symbol">
- <xsl:with-param name="node" select="error"/>
- </xsl:call-template>
- </xsl:with-param>
- </xsl:apply-templates>
- </xsl:if>
-</xsl:template>
-
-<xsl:template match="actions/reductions">
- <xsl:if test="reduction">
- <xsl:text>&#10;</xsl:text>
- <xsl:apply-templates select="reduction">
- <xsl:with-param name="pad">
- <xsl:call-template name="max-width-symbol">
- <xsl:with-param name="node" select="reduction"/>
- </xsl:call-template>
- </xsl:with-param>
- </xsl:apply-templates>
- </xsl:if>
-</xsl:template>
-
-<xsl:template match="item">
- <xsl:param name="pad"/>
- <xsl:param name="prev-rule-number"
- select="preceding-sibling::item[1]/@rule-number"/>
- <xsl:apply-templates
- select="key('bison:ruleByNumber', current()/@rule-number)"
- >
- <xsl:with-param name="itemset" select="'true'"/>
- <xsl:with-param name="pad" select="$pad"/>
- <xsl:with-param name="prev-lhs"
- select="key('bison:ruleByNumber', $prev-rule-number)/lhs[text()]"
- />
- <xsl:with-param name="point" select="@point"/>
- <xsl:with-param name="lookaheads">
- <xsl:apply-templates select="lookaheads"/>
- </xsl:with-param>
- </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="rule">
- <xsl:param name="itemset"/>
- <xsl:param name="pad"/>
- <xsl:param name="prev-lhs"/>
- <xsl:param name="point"/>
- <xsl:param name="lookaheads"/>
-
- <xsl:if test="$itemset != 'true' and not($prev-lhs = lhs[text()])">
- <xsl:text>&#10;</xsl:text>
- </xsl:if>
-
- <xsl:if test="$itemset != 'true'">
- <a>
- <xsl:attribute name="name">
- <xsl:value-of select="concat('rule_', @number)"/>
- </xsl:attribute>
- </a>
- </xsl:if>
- <xsl:text> </xsl:text>
-
- <xsl:choose>
- <xsl:when test="$itemset = 'true'">
- <a>
- <xsl:attribute name="href">
- <xsl:value-of select="concat('#rule_', @number)"/>
- </xsl:attribute>
- <xsl:call-template name="lpad">
- <xsl:with-param name="str" select="string(@number)"/>
- <xsl:with-param name="pad" select="number($pad)"/>
- </xsl:call-template>
- </a>
- </xsl:when>
- <xsl:otherwise>
- <xsl:call-template name="lpad">
- <xsl:with-param name="str" select="string(@number)"/>
- <xsl:with-param name="pad" select="number($pad)"/>
- </xsl:call-template>
- </xsl:otherwise>
- </xsl:choose>
- <xsl:text> </xsl:text>
-
- <!-- LHS -->
- <xsl:choose>
- <xsl:when test="$itemset != 'true' and $prev-lhs = lhs[text()]">
- <xsl:call-template name="lpad">
- <xsl:with-param name="str" select="'|'"/>
- <xsl:with-param name="pad" select="number(string-length(lhs[text()])) + 2"/>
- </xsl:call-template>
- </xsl:when>
- <xsl:when test="$itemset = 'true' and $prev-lhs = lhs[text()]">
- <xsl:call-template name="lpad">
- <xsl:with-param name="str" select="'|'"/>
- <xsl:with-param name="pad" select="number(string-length(lhs[text()])) + 2"/>
- </xsl:call-template>
- </xsl:when>
- <xsl:otherwise>
- <span class="i">
- <xsl:value-of select="lhs"/>
- </span>
- <xsl:text> &#8594;</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
-
- <!-- RHS -->
- <xsl:for-each select="rhs/*">
- <xsl:if test="position() = $point + 1">
- <xsl:text> </xsl:text>
- <span class="point">.</span>
- </xsl:if>
- <xsl:if test="$itemset = 'true' and name(.) != 'empty'">
- <xsl:apply-templates select="."/>
- </xsl:if>
- <xsl:if test="$itemset != 'true'">
- <xsl:apply-templates select="."/>
- </xsl:if>
- <xsl:if test="position() = last() and position() = $point">
- <xsl:text> </xsl:text>
- <span class="point">.</span>
- </xsl:if>
- </xsl:for-each>
- <xsl:if test="$lookaheads">
- <xsl:value-of select="$lookaheads"/>
- </xsl:if>
-
- <xsl:text>&#10;</xsl:text>
-</xsl:template>
-
-<xsl:template match="symbol">
- <xsl:text> </xsl:text>
- <xsl:choose>
- <xsl:when test="name(key('bison:symbolByName', .)) = 'nonterminal'">
- <span class="i"><xsl:value-of select="."/></span>
- </xsl:when>
- <xsl:otherwise>
- <b><xsl:value-of select="."/></b>
- </xsl:otherwise>
- </xsl:choose>
-</xsl:template>
-
-<xsl:template match="empty">
- <xsl:text> &#949;</xsl:text>
-</xsl:template>
-
-<xsl:template match="lookaheads">
- <xsl:text> [</xsl:text>
- <xsl:apply-templates select="symbol"/>
- <xsl:text>]</xsl:text>
-</xsl:template>
-
-<xsl:template match="lookaheads/symbol">
- <xsl:value-of select="."/>
- <xsl:if test="position() != last()">
- <xsl:text>, </xsl:text>
- </xsl:if>
-</xsl:template>
-
-<xsl:template match="transition">
- <xsl:param name="pad"/>
- <xsl:text> </xsl:text>
- <xsl:call-template name="rpad">
- <xsl:with-param name="str" select="string(@symbol)"/>
- <xsl:with-param name="pad" select="number($pad) + 2"/>
- </xsl:call-template>
- <xsl:choose>
- <xsl:when test="@type = 'shift'">
- <a>
- <xsl:attribute name="href">
- <xsl:value-of select="concat('#state_', @state)"/>
- </xsl:attribute>
- <xsl:value-of select="concat('shift, and go to state ', @state)"/>
- </a>
- </xsl:when>
- <xsl:when test="@type = 'goto'">
- <a>
- <xsl:attribute name="href">
- <xsl:value-of select="concat('#state_', @state)"/>
- </xsl:attribute>
- <xsl:value-of select="concat('go to state ', @state)"/>
- </a>
- </xsl:when>
- </xsl:choose>
- <xsl:text>&#10;</xsl:text>
-</xsl:template>
-
-<xsl:template match="error">
- <xsl:param name="pad"/>
- <xsl:text> </xsl:text>
- <xsl:call-template name="rpad">
- <xsl:with-param name="str" select="string(@symbol)"/>
- <xsl:with-param name="pad" select="number($pad) + 2"/>
- </xsl:call-template>
- <xsl:text>error</xsl:text>
- <xsl:text> (</xsl:text>
- <xsl:value-of select="text()"/>
- <xsl:text>)</xsl:text>
- <xsl:text>&#10;</xsl:text>
-</xsl:template>
-
-<xsl:template match="reduction">
- <xsl:param name="pad"/>
- <xsl:text> </xsl:text>
- <xsl:call-template name="rpad">
- <xsl:with-param name="str" select="string(@symbol)"/>
- <xsl:with-param name="pad" select="number($pad) + 2"/>
- </xsl:call-template>
- <xsl:if test="@enabled = 'false'">
- <xsl:text>[</xsl:text>
- </xsl:if>
- <xsl:choose>
- <xsl:when test="@rule = 'accept'">
- <xsl:text>accept</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <a>
- <xsl:attribute name="href">
- <xsl:value-of select="concat('#rule_', @rule)"/>
- </xsl:attribute>
- <xsl:value-of select="concat('reduce using rule ', @rule)"/>
- </a>
- <xsl:text> (</xsl:text>
- <xsl:value-of
- select="key('bison:ruleByNumber', current()/@rule)/lhs[text()]"
- />
- <xsl:text>)</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- <xsl:if test="@enabled = 'false'">
- <xsl:text>]</xsl:text>
- </xsl:if>
- <xsl:text>&#10;</xsl:text>
-</xsl:template>
-
-<xsl:template match="solved-conflicts">
- <xsl:if test="resolution">
- <xsl:text>&#10;</xsl:text>
- <xsl:apply-templates select="resolution"/>
- </xsl:if>
-</xsl:template>
-
-<xsl:template match="resolution">
- <xsl:text> Conflict between </xsl:text>
- <a>
- <xsl:attribute name="href">
- <xsl:value-of select="concat('#rule_', @rule)"/>
- </xsl:attribute>
- <xsl:value-of select="concat('rule ',@rule)"/>
- </a>
- <xsl:text> and token </xsl:text>
- <xsl:value-of select="@symbol"/>
- <xsl:text> resolved as </xsl:text>
- <xsl:if test="@type = 'error'">
- <xsl:text>an </xsl:text>
- </xsl:if>
- <xsl:value-of select="@type"/>
- <xsl:text> (</xsl:text>
- <xsl:value-of select="."/>
- <xsl:text>).&#10;</xsl:text>
-</xsl:template>
-
-<xsl:template name="max-width-symbol">
- <xsl:param name="node"/>
- <xsl:variable name="longest">
- <xsl:for-each select="$node">
- <xsl:sort data-type="number" select="string-length(@symbol)"
- order="descending"/>
- <xsl:if test="position() = 1">
- <xsl:value-of select="string-length(@symbol)"/>
- </xsl:if>
- </xsl:for-each>
- </xsl:variable>
- <xsl:value-of select="$longest"/>
-</xsl:template>
-
-<xsl:template name="lpad">
- <xsl:param name="str" select="''"/>
- <xsl:param name="pad" select="0"/>
- <xsl:variable name="diff" select="$pad - string-length($str)" />
- <xsl:choose>
- <xsl:when test="$diff &lt; 0">
- <xsl:value-of select="$str"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:call-template name="space">
- <xsl:with-param name="repeat" select="$diff"/>
- </xsl:call-template>
- <xsl:value-of select="$str"/>
- </xsl:otherwise>
- </xsl:choose>
-</xsl:template>
-
-<xsl:template name="rpad">
- <xsl:param name="str" select="''"/>
- <xsl:param name="pad" select="0"/>
- <xsl:variable name="diff" select="$pad - string-length($str)"/>
- <xsl:choose>
- <xsl:when test="$diff &lt; 0">
- <xsl:value-of select="$str"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="$str"/>
- <xsl:call-template name="space">
- <xsl:with-param name="repeat" select="$diff"/>
- </xsl:call-template>
- </xsl:otherwise>
- </xsl:choose>
-</xsl:template>
-
-<xsl:template name="space">
- <xsl:param name="repeat">0</xsl:param>
- <xsl:param name="fill" select="' '"/>
- <xsl:if test="number($repeat) &gt;= 1">
- <xsl:call-template name="space">
- <xsl:with-param name="repeat" select="$repeat - 1"/>
- <xsl:with-param name="fill" select="$fill"/>
- </xsl:call-template>
- <xsl:value-of select="$fill"/>
- </xsl:if>
-</xsl:template>
-
-</xsl:stylesheet>
diff --git a/gnuwin32/bin/data/yacc.c b/gnuwin32/bin/data/yacc.c
deleted file mode 100644
index 822656b8..00000000
--- a/gnuwin32/bin/data/yacc.c
+++ /dev/null
@@ -1,1915 +0,0 @@
- -*- C -*-
-# Yacc compatible skeleton for Bison
-
-# Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation,
-# Inc.
-
-m4_pushdef([b4_copyright_years],
- [1984, 1989-1990, 2000-2013])
-
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-# Check the value of %define api.push-pull.
-b4_percent_define_default([[api.push-pull]], [[pull]])
-b4_percent_define_check_values([[[[api.push-pull]],
- [[pull]], [[push]], [[both]]]])
-b4_define_flag_if([pull]) m4_define([b4_pull_flag], [[1]])
-b4_define_flag_if([push]) m4_define([b4_push_flag], [[1]])
-m4_case(b4_percent_define_get([[api.push-pull]]),
- [pull], [m4_define([b4_push_flag], [[0]])],
- [push], [m4_define([b4_pull_flag], [[0]])])
-
-# Handle BISON_USE_PUSH_FOR_PULL for the test suite. So that push parsing
-# tests function as written, do not let BISON_USE_PUSH_FOR_PULL modify the
-# behavior of Bison at all when push parsing is already requested.
-b4_define_flag_if([use_push_for_pull])
-b4_use_push_for_pull_if([
- b4_push_if([m4_define([b4_use_push_for_pull_flag], [[0]])],
- [m4_define([b4_push_flag], [[1]])])])
-
-# Check the value of %define parse.lac and friends, where LAC stands for
-# lookahead correction.
-b4_percent_define_default([[parse.lac]], [[none]])
-b4_percent_define_default([[parse.lac.es-capacity-initial]], [[20]])
-b4_percent_define_default([[parse.lac.memory-trace]], [[failures]])
-b4_percent_define_check_values([[[[parse.lac]], [[full]], [[none]]]],
- [[[[parse.lac.memory-trace]],
- [[failures]], [[full]]]])
-b4_define_flag_if([lac])
-m4_define([b4_lac_flag],
- [m4_if(b4_percent_define_get([[parse.lac]]),
- [none], [[0]], [[1]])])
-
-m4_include(b4_pkgdatadir/[c.m4])
-
-## ---------------- ##
-## Default values. ##
-## ---------------- ##
-
-# Stack parameters.
-m4_define_default([b4_stack_depth_max], [10000])
-m4_define_default([b4_stack_depth_init], [200])
-
-
-## ------------------------ ##
-## Pure/impure interfaces. ##
-## ------------------------ ##
-
-b4_percent_define_default([[api.pure]], [[false]])
-b4_percent_define_check_values([[[[api.pure]],
- [[false]], [[true]], [[]], [[full]]]])
-
-m4_define([b4_pure_flag], [[0]])
-m4_case(b4_percent_define_get([[api.pure]]),
- [false], [m4_define([b4_pure_flag], [[0]])],
- [true], [m4_define([b4_pure_flag], [[1]])],
- [], [m4_define([b4_pure_flag], [[1]])],
- [full], [m4_define([b4_pure_flag], [[2]])])
-
-m4_define([b4_pure_if],
-[m4_case(b4_pure_flag,
- [0], [$2],
- [1], [$1],
- [2], [$1])])
- [m4_fatal([invalid api.pure value: ]$1)])])
-
-# b4_yyerror_arg_loc_if(ARG)
-# --------------------------
-# Expand ARG iff yyerror is to be given a location as argument.
-m4_define([b4_yyerror_arg_loc_if],
-[b4_locations_if([m4_case(b4_pure_flag,
- [1], [m4_ifset([b4_parse_param], [$1])],
- [2], [$1])])])
-
-# b4_yyerror_args
-# ---------------
-# Arguments passed to yyerror: user args plus yylloc.
-m4_define([b4_yyerror_args],
-[b4_yyerror_arg_loc_if([&yylloc, ])dnl
-m4_ifset([b4_parse_param], [b4_args(b4_parse_param), ])])
-
-
-
-## ------------ ##
-## Data Types. ##
-## ------------ ##
-
-# b4_int_type(MIN, MAX)
-# ---------------------
-# Return the smallest int type able to handle numbers ranging from
-# MIN to MAX (included). Overwrite the version from c.m4, which
-# uses only C89 types, so that the user can override the shorter
-# types, and so that pre-C89 compilers are handled correctly.
-m4_define([b4_int_type],
-[m4_if(b4_ints_in($@, [0], [255]), [1], [yytype_uint8],
- b4_ints_in($@, [-128], [127]), [1], [yytype_int8],
-
- b4_ints_in($@, [0], [65535]), [1], [yytype_uint16],
- b4_ints_in($@, [-32768], [32767]), [1], [yytype_int16],
-
- m4_eval([0 <= $1]), [1], [unsigned int],
-
- [int])])
-
-
-## ----------------- ##
-## Semantic Values. ##
-## ----------------- ##
-
-
-# b4_lhs_value([TYPE])
-# --------------------
-# Expansion of $<TYPE>$.
-m4_define([b4_lhs_value],
-[b4_symbol_value(yyval, [$1])])
-
-
-# b4_rhs_value(RULE-LENGTH, NUM, [TYPE])
-# --------------------------------------
-# Expansion of $<TYPE>NUM, where the current rule has RULE-LENGTH
-# symbols on RHS.
-m4_define([b4_rhs_value],
- [b4_symbol_value([yyvsp@{b4_subtract([$2], [$1])@}], [$3])])
-
-
-## ----------- ##
-## Locations. ##
-## ----------- ##
-
-# b4_lhs_location()
-# -----------------
-# Expansion of @$.
-m4_define([b4_lhs_location],
-[(yyloc)])
-
-
-# b4_rhs_location(RULE-LENGTH, NUM)
-# ---------------------------------
-# Expansion of @NUM, where the current rule has RULE-LENGTH symbols
-# on RHS.
-m4_define([b4_rhs_location],
- [(yylsp@{b4_subtract([$2], [$1])@})])
-
-
-## -------------- ##
-## Declarations. ##
-## -------------- ##
-
-# b4_declare_scanner_communication_variables
-# ------------------------------------------
-# Declare the variables that are global, or local to YYPARSE if
-# pure-parser.
-m4_define([b4_declare_scanner_communication_variables], [[
-/* The lookahead symbol. */
-int yychar;
-
-]b4_pure_if([[
-/* The semantic value of the lookahead symbol. */
-/* Default value used for initialization, for pacifying older GCCs
- or non-GCC compilers. */
-YY_INITIAL_VALUE (static YYSTYPE yyval_default;)
-YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);]b4_locations_if([[
-
-/* Location data for the lookahead symbol. */
-static YYLTYPE yyloc_default]b4_yyloc_default[;
-YYLTYPE yylloc = yyloc_default;]])],
-[[/* The semantic value of the lookahead symbol. */
-YYSTYPE yylval;]b4_locations_if([[
-/* Location data for the lookahead symbol. */
-YYLTYPE yylloc]b4_yyloc_default[;]])[
-/* Number of syntax errors so far. */
-int yynerrs;]])])
-
-
-# b4_declare_parser_state_variables
-# ---------------------------------
-# Declare all the variables that are needed to maintain the parser state
-# between calls to yypush_parse.
-m4_define([b4_declare_parser_state_variables], [b4_pure_if([[
- /* Number of syntax errors so far. */
- int yynerrs;
-]])[
- int yystate;
- /* Number of tokens to shift before error messages enabled. */
- int yyerrstatus;
-
- /* The stacks and their tools:
- 'yyss': related to states.
- 'yyvs': related to semantic values.]b4_locations_if([[
- 'yyls': related to locations.]])[
-
- Refer to the stacks through separate pointers, to allow yyoverflow
- to reallocate them elsewhere. */
-
- /* The state stack. */
- yytype_int16 yyssa[YYINITDEPTH];
- yytype_int16 *yyss;
- yytype_int16 *yyssp;
-
- /* The semantic value stack. */
- YYSTYPE yyvsa[YYINITDEPTH];
- YYSTYPE *yyvs;
- YYSTYPE *yyvsp;]b4_locations_if([[
-
- /* The location stack. */
- YYLTYPE yylsa[YYINITDEPTH];
- YYLTYPE *yyls;
- YYLTYPE *yylsp;
-
- /* The locations where the error started and ended. */
- YYLTYPE yyerror_range[3];]])[
-
- YYSIZE_T yystacksize;]b4_lac_if([[
-
- yytype_int16 yyesa@{]b4_percent_define_get([[parse.lac.es-capacity-initial]])[@};
- yytype_int16 *yyes;
- YYSIZE_T yyes_capacity;]])])
-
-
-# b4_declare_yyparse_push_
-# ------------------------
-# Declaration of yyparse (and dependencies) when using the push parser
-# (including in pull mode).
-m4_define([b4_declare_yyparse_push_],
-[[#ifndef YYPUSH_MORE_DEFINED
-# define YYPUSH_MORE_DEFINED
-enum { YYPUSH_MORE = 4 };
-#endif
-
-typedef struct ]b4_prefix[pstate ]b4_prefix[pstate;
-
-]b4_pull_if([b4_function_declare([b4_prefix[parse]], [[int]], b4_parse_param)
-])b4_function_declare([b4_prefix[push_parse]], [[int]],
- [[b4_prefix[pstate *ps]], [[ps]]]b4_pure_if([,
- [[[int pushed_char]], [[pushed_char]]],
- [[b4_api_PREFIX[STYPE const *pushed_val]], [[pushed_val]]]b4_locations_if([,
- [[b4_api_PREFIX[LTYPE *pushed_loc]], [[pushed_loc]]]])])m4_ifset([b4_parse_param], [,
- b4_parse_param]))
-b4_pull_if([b4_function_declare([b4_prefix[pull_parse]], [[int]],
- [[b4_prefix[pstate *ps]], [[ps]]]m4_ifset([b4_parse_param], [,
- b4_parse_param]))])
-b4_function_declare([b4_prefix[pstate_new]], [b4_prefix[pstate *]],
- [[[void]], []])
-b4_function_declare([b4_prefix[pstate_delete]], [[void]],
- [[b4_prefix[pstate *ps]], [[ps]]])dnl
-])
-
-# b4_declare_yyparse_
-# -------------------
-# When not the push parser.
-m4_define([b4_declare_yyparse_],
-[b4_function_declare(b4_prefix[parse], [int], b4_parse_param)])
-
-
-# b4_declare_yyparse
-# ------------------
-m4_define([b4_declare_yyparse],
-[b4_push_if([b4_declare_yyparse_push_],
- [b4_declare_yyparse_])[]dnl
-])
-
-
-# b4_shared_declarations
-# ----------------------
-# Declaration that might either go into the header (if --defines)
-# or open coded in the parser body.
-m4_define([b4_shared_declarations],
-[b4_cpp_guard_open([b4_spec_defines_file])[
-]b4_declare_yydebug[
-]b4_percent_code_get([[requires]])[
-]b4_token_enums_defines[
-]b4_declare_yylstype[
-]b4_declare_yyparse[
-]b4_percent_code_get([[provides]])[
-]b4_cpp_guard_close([b4_spec_defines_file])[]dnl
-])
-
-## -------------- ##
-## Output files. ##
-## -------------- ##
-
-b4_output_begin([b4_parser_file_name])
-b4_copyright([Bison implementation for Yacc-like parsers in C])[
-
-/* C LALR(1) parser skeleton written by Richard Stallman, by
- simplifying the original so-called "semantic" parser. */
-
-/* All symbols defined below should begin with yy or YY, to avoid
- infringing on user name space. This should be done even for local
- variables, as they might otherwise be expanded by user macros.
- There are some unavoidable exceptions within include files to
- define necessary library symbols; they are noted "INFRINGES ON
- USER NAME SPACE" below. */
-
-]b4_identification
-b4_percent_code_get([[top]])[]dnl
-m4_if(b4_api_prefix, [yy], [],
-[[/* Substitute the type names. */
-#define YYSTYPE ]b4_api_PREFIX[STYPE]b4_locations_if([[
-#define YYLTYPE ]b4_api_PREFIX[LTYPE]])])[
-]m4_if(b4_prefix, [yy], [],
-[[/* Substitute the variable and function names. */]b4_pull_if([[
-#define yyparse ]b4_prefix[parse]])b4_push_if([[
-#define yypush_parse ]b4_prefix[push_parse]b4_pull_if([[
-#define yypull_parse ]b4_prefix[pull_parse]])[
-#define yypstate_new ]b4_prefix[pstate_new
-#define yypstate_delete ]b4_prefix[pstate_delete
-#define yypstate ]b4_prefix[pstate]])[
-#define yylex ]b4_prefix[lex
-#define yyerror ]b4_prefix[error
-#define yydebug ]b4_prefix[debug
-#define yynerrs ]b4_prefix[nerrs
-]]b4_pure_if([], [[
-#define yylval ]b4_prefix[lval
-#define yychar ]b4_prefix[char]b4_locations_if([[
-#define yylloc ]b4_prefix[lloc]])]))[
-
-/* Copy the first part of user declarations. */
-]b4_user_pre_prologue[
-
-]b4_null_define[
-
-/* Enabling verbose error messages. */
-#ifdef YYERROR_VERBOSE
-# undef YYERROR_VERBOSE
-# define YYERROR_VERBOSE 1
-#else
-# define YYERROR_VERBOSE ]b4_error_verbose_if([1], [0])[
-#endif
-
-]m4_ifval(m4_quote(b4_spec_defines_file),
-[[/* In a future release of Bison, this section will be replaced
- by #include "@basename(]b4_spec_defines_file[@)". */
-]])dnl
-b4_shared_declarations[
-
-/* Copy the second part of user declarations. */
-]b4_user_post_prologue
-b4_percent_code_get[]dnl
-
-[#ifdef short
-# undef short
-#endif
-
-#ifdef YYTYPE_UINT8
-typedef YYTYPE_UINT8 yytype_uint8;
-#else
-typedef unsigned char yytype_uint8;
-#endif
-
-#ifdef YYTYPE_INT8
-typedef YYTYPE_INT8 yytype_int8;
-#else
-typedef signed char yytype_int8;
-#endif
-
-#ifdef YYTYPE_UINT16
-typedef YYTYPE_UINT16 yytype_uint16;
-#else
-typedef unsigned short int yytype_uint16;
-#endif
-
-#ifdef YYTYPE_INT16
-typedef YYTYPE_INT16 yytype_int16;
-#else
-typedef short int yytype_int16;
-#endif
-
-#ifndef YYSIZE_T
-# ifdef __SIZE_TYPE__
-# define YYSIZE_T __SIZE_TYPE__
-# elif defined size_t
-# define YYSIZE_T size_t
-# elif ! defined YYSIZE_T
-# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
-# define YYSIZE_T size_t
-# else
-# define YYSIZE_T unsigned int
-# endif
-#endif
-
-#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
-
-#ifndef YY_
-# if defined YYENABLE_NLS && YYENABLE_NLS
-# if ENABLE_NLS
-# include <libintl.h> /* INFRINGES ON USER NAME SPACE */
-# define YY_(Msgid) dgettext ("bison-runtime", Msgid)
-# endif
-# endif
-# ifndef YY_
-# define YY_(Msgid) Msgid
-# endif
-#endif
-
-]b4_attribute_define[
-
-#if ]b4_lac_if([[1]], [[! defined yyoverflow || YYERROR_VERBOSE]])[
-
-/* The parser invokes alloca or malloc; define the necessary symbols. */]dnl
-b4_push_if([], [b4_lac_if([], [[
-
-# ifdef YYSTACK_USE_ALLOCA
-# if YYSTACK_USE_ALLOCA
-# ifdef __GNUC__
-# define YYSTACK_ALLOC __builtin_alloca
-# elif defined __BUILTIN_VA_ARG_INCR
-# include <alloca.h> /* INFRINGES ON USER NAME SPACE */
-# elif defined _AIX
-# define YYSTACK_ALLOC __alloca
-# elif defined _MSC_VER
-# include <malloc.h> /* INFRINGES ON USER NAME SPACE */
-# define alloca _alloca
-# else
-# define YYSTACK_ALLOC alloca
-# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
-# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
- /* Use EXIT_SUCCESS as a witness for stdlib.h. */
-# ifndef EXIT_SUCCESS
-# define EXIT_SUCCESS 0
-# endif
-# endif
-# endif
-# endif
-# endif]])])[
-
-# ifdef YYSTACK_ALLOC
- /* Pacify GCC's 'empty if-body' warning. */
-# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
-# ifndef YYSTACK_ALLOC_MAXIMUM
- /* The OS might guarantee only one guard page at the bottom of the stack,
- and a page size can be as small as 4096 bytes. So we cannot safely
- invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
- to allow for a few compiler-allocated temporary stack slots. */
-# define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
-# endif
-# else
-# define YYSTACK_ALLOC YYMALLOC
-# define YYSTACK_FREE YYFREE
-# ifndef YYSTACK_ALLOC_MAXIMUM
-# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
-# endif
-# if (defined __cplusplus && ! defined EXIT_SUCCESS \
- && ! ((defined YYMALLOC || defined malloc) \
- && (defined YYFREE || defined free)))
-# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
-# ifndef EXIT_SUCCESS
-# define EXIT_SUCCESS 0
-# endif
-# endif
-# ifndef YYMALLOC
-# define YYMALLOC malloc
-# if ! defined malloc && ! defined EXIT_SUCCESS
-void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
-# endif
-# endif
-# ifndef YYFREE
-# define YYFREE free
-# if ! defined free && ! defined EXIT_SUCCESS
-void free (void *); /* INFRINGES ON USER NAME SPACE */
-# endif
-# endif
-# endif]b4_lac_if([[
-# define YYCOPY_NEEDED 1]])[
-#endif]b4_lac_if([], [[ /* ! defined yyoverflow || YYERROR_VERBOSE */]])[
-
-
-#if (! defined yyoverflow \
- && (! defined __cplusplus \
- || (]b4_locations_if([[defined ]b4_api_PREFIX[LTYPE_IS_TRIVIAL && ]b4_api_PREFIX[LTYPE_IS_TRIVIAL \
- && ]])[defined ]b4_api_PREFIX[STYPE_IS_TRIVIAL && ]b4_api_PREFIX[STYPE_IS_TRIVIAL)))
-
-/* A type that is properly aligned for any stack member. */
-union yyalloc
-{
- yytype_int16 yyss_alloc;
- YYSTYPE yyvs_alloc;]b4_locations_if([
- YYLTYPE yyls_alloc;])[
-};
-
-/* The size of the maximum gap between one aligned stack and the next. */
-# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
-
-/* The size of an array large to enough to hold all stacks, each with
- N elements. */
-]b4_locations_if(
-[# define YYSTACK_BYTES(N) \
- ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE) + sizeof (YYLTYPE)) \
- + 2 * YYSTACK_GAP_MAXIMUM)],
-[# define YYSTACK_BYTES(N) \
- ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
- + YYSTACK_GAP_MAXIMUM)])[
-
-# define YYCOPY_NEEDED 1
-
-/* Relocate STACK from its old location to the new one. The
- local variables YYSIZE and YYSTACKSIZE give the old and new number of
- elements in the stack, and YYPTR gives the new location of the
- stack. Advance YYPTR to a properly aligned location for the next
- stack. */
-# define YYSTACK_RELOCATE(Stack_alloc, Stack) \
- do \
- { \
- YYSIZE_T yynewbytes; \
- YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
- Stack = &yyptr->Stack_alloc; \
- yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
- yyptr += yynewbytes / sizeof (*yyptr); \
- } \
- while (0)
-
-#endif
-
-#if defined YYCOPY_NEEDED && YYCOPY_NEEDED
-/* Copy COUNT objects from SRC to DST. The source and destination do
- not overlap. */
-# ifndef YYCOPY
-# if defined __GNUC__ && 1 < __GNUC__
-# define YYCOPY(Dst, Src, Count) \
- __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
-# else
-# define YYCOPY(Dst, Src, Count) \
- do \
- { \
- YYSIZE_T yyi; \
- for (yyi = 0; yyi < (Count); yyi++) \
- (Dst)[yyi] = (Src)[yyi]; \
- } \
- while (0)
-# endif
-# endif
-#endif /* !YYCOPY_NEEDED */
-
-/* YYFINAL -- State number of the termination state. */
-#define YYFINAL ]b4_final_state_number[
-/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST ]b4_last[
-
-/* YYNTOKENS -- Number of terminals. */
-#define YYNTOKENS ]b4_tokens_number[
-/* YYNNTS -- Number of nonterminals. */
-#define YYNNTS ]b4_nterms_number[
-/* YYNRULES -- Number of rules. */
-#define YYNRULES ]b4_rules_number[
-/* YYNSTATES -- Number of states. */
-#define YYNSTATES ]b4_states_number[
-
-/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
- by yylex, with out-of-bounds checking. */
-#define YYUNDEFTOK ]b4_undef_token_number[
-#define YYMAXUTOK ]b4_user_token_number_max[
-
-#define YYTRANSLATE(YYX) \
- ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
-
-/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
- as returned by yylex, without out-of-bounds checking. */
-static const ]b4_int_type_for([b4_translate])[ yytranslate[] =
-{
- ]b4_translate[
-};
-
-#if ]b4_api_PREFIX[DEBUG
-]b4_integral_parser_table_define([rline], [b4_rline],
- [[YYRLINE[YYN] -- Source line where rule number YYN was defined.]])[
-#endif
-
-#if ]b4_api_PREFIX[DEBUG || YYERROR_VERBOSE || ]b4_token_table_flag[
-/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
- First, the terminals, then, starting at YYNTOKENS, nonterminals. */
-static const char *const yytname[] =
-{
- ]b4_tname[
-};
-#endif
-
-# ifdef YYPRINT
-/* YYTOKNUM[NUM] -- (External) token number corresponding to the
- (internal) symbol number NUM (which must be that of a token). */
-static const ]b4_int_type_for([b4_toknum])[ yytoknum[] =
-{
- ]b4_toknum[
-};
-# endif
-
-#define YYPACT_NINF ]b4_pact_ninf[
-
-#define yypact_value_is_default(Yystate) \
- ]b4_table_value_equals([[pact]], [[Yystate]], [b4_pact_ninf])[
-
-#define YYTABLE_NINF ]b4_table_ninf[
-
-#define yytable_value_is_error(Yytable_value) \
- ]b4_table_value_equals([[table]], [[Yytable_value]], [b4_table_ninf])[
-
-]b4_parser_tables_define[
-
-#define yyerrok (yyerrstatus = 0)
-#define yyclearin (yychar = YYEMPTY)
-#define YYEMPTY (-2)
-#define YYEOF 0
-
-#define YYACCEPT goto yyacceptlab
-#define YYABORT goto yyabortlab
-#define YYERROR goto yyerrorlab
-
-
-#define YYRECOVERING() (!!yyerrstatus)
-
-#define YYBACKUP(Token, Value) \
-do \
- if (yychar == YYEMPTY) \
- { \
- yychar = (Token); \
- yylval = (Value); \
- YYPOPSTACK (yylen); \
- yystate = *yyssp; \]b4_lac_if([[
- YY_LAC_DISCARD ("YYBACKUP"); \]])[
- goto yybackup; \
- } \
- else \
- { \
- yyerror (]b4_yyerror_args[YY_("syntax error: cannot back up")); \
- YYERROR; \
- } \
-while (0)
-
-/* Error token number */
-#define YYTERROR 1
-#define YYERRCODE 256
-
-]b4_locations_if([[
-]b4_yylloc_default_define[
-#define YYRHSLOC(Rhs, K) ((Rhs)[K])
-]])[
-
-/* Enable debugging if requested. */
-#if ]b4_api_PREFIX[DEBUG
-
-# ifndef YYFPRINTF
-# include <stdio.h> /* INFRINGES ON USER NAME SPACE */
-# define YYFPRINTF fprintf
-# endif
-
-# define YYDPRINTF(Args) \
-do { \
- if (yydebug) \
- YYFPRINTF Args; \
-} while (0)
-
-]b4_yy_location_print_define[
-
-# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
-do { \
- if (yydebug) \
- { \
- YYFPRINTF (stderr, "%s ", Title); \
- yy_symbol_print (stderr, \
- Type, Value]b4_locations_if([, Location])[]b4_user_args[); \
- YYFPRINTF (stderr, "\n"); \
- } \
-} while (0)
-
-]b4_yy_symbol_print_define[
-
-/*------------------------------------------------------------------.
-| yy_stack_print -- Print the state stack from its BOTTOM up to its |
-| TOP (included). |
-`------------------------------------------------------------------*/
-
-]b4_function_define([yy_stack_print], [static void],
- [[yytype_int16 *yybottom], [yybottom]],
- [[yytype_int16 *yytop], [yytop]])[
-{
- YYFPRINTF (stderr, "Stack now");
- for (; yybottom <= yytop; yybottom++)
- {
- int yybot = *yybottom;
- YYFPRINTF (stderr, " %d", yybot);
- }
- YYFPRINTF (stderr, "\n");
-}
-
-# define YY_STACK_PRINT(Bottom, Top) \
-do { \
- if (yydebug) \
- yy_stack_print ((Bottom), (Top)); \
-} while (0)
-
-
-/*------------------------------------------------.
-| Report that the YYRULE is going to be reduced. |
-`------------------------------------------------*/
-
-]b4_function_define([yy_reduce_print], [static void],
- [[yytype_int16 *yyssp], [yyssp]],
- [[YYSTYPE *yyvsp], [yyvsp]],
- b4_locations_if([[[YYLTYPE *yylsp], [yylsp]],
- ])[[int yyrule], [yyrule]]m4_ifset([b4_parse_param], [,
- b4_parse_param]))[
-{
- unsigned long int yylno = yyrline[yyrule];
- int yynrhs = yyr2[yyrule];
- int yyi;
- YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
- yyrule - 1, yylno);
- /* The symbols being reduced. */
- for (yyi = 0; yyi < yynrhs; yyi++)
- {
- YYFPRINTF (stderr, " $%d = ", yyi + 1);
- yy_symbol_print (stderr,
- yystos[yyssp[yyi + 1 - yynrhs]],
- &]b4_rhs_value(yynrhs, yyi + 1)[
- ]b4_locations_if([, &]b4_rhs_location(yynrhs, yyi + 1))[]dnl
- b4_user_args[);
- YYFPRINTF (stderr, "\n");
- }
-}
-
-# define YY_REDUCE_PRINT(Rule) \
-do { \
- if (yydebug) \
- yy_reduce_print (yyssp, yyvsp, ]b4_locations_if([yylsp, ])[Rule]b4_user_args[); \
-} while (0)
-
-/* Nonzero means print parse trace. It is left uninitialized so that
- multiple parsers can coexist. */
-int yydebug;
-#else /* !]b4_api_PREFIX[DEBUG */
-# define YYDPRINTF(Args)
-# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
-# define YY_STACK_PRINT(Bottom, Top)
-# define YY_REDUCE_PRINT(Rule)
-#endif /* !]b4_api_PREFIX[DEBUG */
-
-
-/* YYINITDEPTH -- initial size of the parser's stacks. */
-#ifndef YYINITDEPTH
-# define YYINITDEPTH ]b4_stack_depth_init[
-#endif
-
-/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
- if the built-in stack extension method is used).
-
- Do not make this value too large; the results are undefined if
- YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
- evaluated with infinite-precision integer arithmetic. */
-
-#ifndef YYMAXDEPTH
-# define YYMAXDEPTH ]b4_stack_depth_max[
-#endif]b4_lac_if([[
-
-/* Given a state stack such that *YYBOTTOM is its bottom, such that
- *YYTOP is either its top or is YYTOP_EMPTY to indicate an empty
- stack, and such that *YYCAPACITY is the maximum number of elements it
- can hold without a reallocation, make sure there is enough room to
- store YYADD more elements. If not, allocate a new stack using
- YYSTACK_ALLOC, copy the existing elements, and adjust *YYBOTTOM,
- *YYTOP, and *YYCAPACITY to reflect the new capacity and memory
- location. If *YYBOTTOM != YYBOTTOM_NO_FREE, then free the old stack
- using YYSTACK_FREE. Return 0 if successful or if no reallocation is
- required. Return 1 if memory is exhausted. */
-static int
-yy_lac_stack_realloc (YYSIZE_T *yycapacity, YYSIZE_T yyadd,
-#if ]b4_api_PREFIX[DEBUG
- char const *yydebug_prefix,
- char const *yydebug_suffix,
-#endif
- yytype_int16 **yybottom,
- yytype_int16 *yybottom_no_free,
- yytype_int16 **yytop, yytype_int16 *yytop_empty)
-{
- YYSIZE_T yysize_old =
- *yytop == yytop_empty ? 0 : *yytop - *yybottom + 1;
- YYSIZE_T yysize_new = yysize_old + yyadd;
- if (*yycapacity < yysize_new)
- {
- YYSIZE_T yyalloc = 2 * yysize_new;
- yytype_int16 *yybottom_new;
- /* Use YYMAXDEPTH for maximum stack size given that the stack
- should never need to grow larger than the main state stack
- needs to grow without LAC. */
- if (YYMAXDEPTH < yysize_new)
- {
- YYDPRINTF ((stderr, "%smax size exceeded%s", yydebug_prefix,
- yydebug_suffix));
- return 1;
- }
- if (YYMAXDEPTH < yyalloc)
- yyalloc = YYMAXDEPTH;
- yybottom_new =
- (yytype_int16*) YYSTACK_ALLOC (yyalloc * sizeof *yybottom_new);
- if (!yybottom_new)
- {
- YYDPRINTF ((stderr, "%srealloc failed%s", yydebug_prefix,
- yydebug_suffix));
- return 1;
- }
- if (*yytop != yytop_empty)
- {
- YYCOPY (yybottom_new, *yybottom, yysize_old);
- *yytop = yybottom_new + (yysize_old - 1);
- }
- if (*yybottom != yybottom_no_free)
- YYSTACK_FREE (*yybottom);
- *yybottom = yybottom_new;
- *yycapacity = yyalloc;]m4_if(b4_percent_define_get([[parse.lac.memory-trace]]),
- [full], [[
- YYDPRINTF ((stderr, "%srealloc to %lu%s", yydebug_prefix,
- (unsigned long int) yyalloc, yydebug_suffix));]])[
- }
- return 0;
-}
-
-/* Establish the initial context for the current lookahead if no initial
- context is currently established.
-
- We define a context as a snapshot of the parser stacks. We define
- the initial context for a lookahead as the context in which the
- parser initially examines that lookahead in order to select a
- syntactic action. Thus, if the lookahead eventually proves
- syntactically unacceptable (possibly in a later context reached via a
- series of reductions), the initial context can be used to determine
- the exact set of tokens that would be syntactically acceptable in the
- lookahead's place. Moreover, it is the context after which any
- further semantic actions would be erroneous because they would be
- determined by a syntactically unacceptable token.
-
- YY_LAC_ESTABLISH should be invoked when a reduction is about to be
- performed in an inconsistent state (which, for the purposes of LAC,
- includes consistent states that don't know they're consistent because
- their default reductions have been disabled). Iff there is a
- lookahead token, it should also be invoked before reporting a syntax
- error. This latter case is for the sake of the debugging output.
-
- For parse.lac=full, the implementation of YY_LAC_ESTABLISH is as
- follows. If no initial context is currently established for the
- current lookahead, then check if that lookahead can eventually be
- shifted if syntactic actions continue from the current context.
- Report a syntax error if it cannot. */
-#define YY_LAC_ESTABLISH \
-do { \
- if (!yy_lac_established) \
- { \
- YYDPRINTF ((stderr, \
- "LAC: initial context established for %s\n", \
- yytname[yytoken])); \
- yy_lac_established = 1; \
- { \
- int yy_lac_status = \
- yy_lac (yyesa, &yyes, &yyes_capacity, yyssp, yytoken); \
- if (yy_lac_status == 2) \
- goto yyexhaustedlab; \
- if (yy_lac_status == 1) \
- goto yyerrlab; \
- } \
- } \
-} while (0)
-
-/* Discard any previous initial lookahead context because of Event,
- which may be a lookahead change or an invalidation of the currently
- established initial context for the current lookahead.
-
- The most common example of a lookahead change is a shift. An example
- of both cases is syntax error recovery. That is, a syntax error
- occurs when the lookahead is syntactically erroneous for the
- currently established initial context, so error recovery manipulates
- the parser stacks to try to find a new initial context in which the
- current lookahead is syntactically acceptable. If it fails to find
- such a context, it discards the lookahead. */
-#if ]b4_api_PREFIX[DEBUG
-# define YY_LAC_DISCARD(Event) \
-do { \
- if (yy_lac_established) \
- { \
- if (yydebug) \
- YYFPRINTF (stderr, "LAC: initial context discarded due to " \
- Event "\n"); \
- yy_lac_established = 0; \
- } \
-} while (0)
-#else
-# define YY_LAC_DISCARD(Event) yy_lac_established = 0
-#endif
-
-/* Given the stack whose top is *YYSSP, return 0 iff YYTOKEN can
- eventually (after perhaps some reductions) be shifted, return 1 if
- not, or return 2 if memory is exhausted. As preconditions and
- postconditions: *YYES_CAPACITY is the allocated size of the array to
- which *YYES points, and either *YYES = YYESA or *YYES points to an
- array allocated with YYSTACK_ALLOC. yy_lac may overwrite the
- contents of either array, alter *YYES and *YYES_CAPACITY, and free
- any old *YYES other than YYESA. */
-static int
-yy_lac (yytype_int16 *yyesa, yytype_int16 **yyes,
- YYSIZE_T *yyes_capacity, yytype_int16 *yyssp, int yytoken)
-{
- yytype_int16 *yyes_prev = yyssp;
- yytype_int16 *yyesp = yyes_prev;
- YYDPRINTF ((stderr, "LAC: checking lookahead %s:", yytname[yytoken]));
- if (yytoken == YYUNDEFTOK)
- {
- YYDPRINTF ((stderr, " Always Err\n"));
- return 1;
- }
- while (1)
- {
- int yyrule = yypact[*yyesp];
- if (yypact_value_is_default (yyrule)
- || (yyrule += yytoken) < 0 || YYLAST < yyrule
- || yycheck[yyrule] != yytoken)
- {
- yyrule = yydefact[*yyesp];
- if (yyrule == 0)
- {
- YYDPRINTF ((stderr, " Err\n"));
- return 1;
- }
- }
- else
- {
- yyrule = yytable[yyrule];
- if (yytable_value_is_error (yyrule))
- {
- YYDPRINTF ((stderr, " Err\n"));
- return 1;
- }
- if (0 < yyrule)
- {
- YYDPRINTF ((stderr, " S%d\n", yyrule));
- return 0;
- }
- yyrule = -yyrule;
- }
- {
- YYSIZE_T yylen = yyr2[yyrule];
- YYDPRINTF ((stderr, " R%d", yyrule - 1));
- if (yyesp != yyes_prev)
- {
- YYSIZE_T yysize = yyesp - *yyes + 1;
- if (yylen < yysize)
- {
- yyesp -= yylen;
- yylen = 0;
- }
- else
- {
- yylen -= yysize;
- yyesp = yyes_prev;
- }
- }
- if (yylen)
- yyesp = yyes_prev -= yylen;
- }
- {
- int yystate;
- {
- int yylhs = yyr1[yyrule] - YYNTOKENS;
- yystate = yypgoto[yylhs] + *yyesp;
- if (yystate < 0 || YYLAST < yystate
- || yycheck[yystate] != *yyesp)
- yystate = yydefgoto[yylhs];
- else
- yystate = yytable[yystate];
- }
- if (yyesp == yyes_prev)
- {
- yyesp = *yyes;
- *yyesp = yystate;
- }
- else
- {
- if (yy_lac_stack_realloc (yyes_capacity, 1,
-#if ]b4_api_PREFIX[DEBUG
- " (", ")",
-#endif
- yyes, yyesa, &yyesp, yyes_prev))
- {
- YYDPRINTF ((stderr, "\n"));
- return 2;
- }
- *++yyesp = yystate;
- }
- YYDPRINTF ((stderr, " G%d", yystate));
- }
- }
-}]])[
-
-
-#if YYERROR_VERBOSE
-
-# ifndef yystrlen
-# if defined __GLIBC__ && defined _STRING_H
-# define yystrlen strlen
-# else
-/* Return the length of YYSTR. */
-]b4_function_define([yystrlen], [static YYSIZE_T],
- [[const char *yystr], [yystr]])[
-{
- YYSIZE_T yylen;
- for (yylen = 0; yystr[yylen]; yylen++)
- continue;
- return yylen;
-}
-# endif
-# endif
-
-# ifndef yystpcpy
-# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
-# define yystpcpy stpcpy
-# else
-/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
- YYDEST. */
-]b4_function_define([yystpcpy], [static char *],
- [[char *yydest], [yydest]], [[const char *yysrc], [yysrc]])[
-{
- char *yyd = yydest;
- const char *yys = yysrc;
-
- while ((*yyd++ = *yys++) != '\0')
- continue;
-
- return yyd - 1;
-}
-# endif
-# endif
-
-# ifndef yytnamerr
-/* Copy to YYRES the contents of YYSTR after stripping away unnecessary
- quotes and backslashes, so that it's suitable for yyerror. The
- heuristic is that double-quoting is unnecessary unless the string
- contains an apostrophe, a comma, or backslash (other than
- backslash-backslash). YYSTR is taken from yytname. If YYRES is
- null, do not copy; instead, return the length of what the result
- would have been. */
-static YYSIZE_T
-yytnamerr (char *yyres, const char *yystr)
-{
- if (*yystr == '"')
- {
- YYSIZE_T yyn = 0;
- char const *yyp = yystr;
-
- for (;;)
- switch (*++yyp)
- {
- case '\'':
- case ',':
- goto do_not_strip_quotes;
-
- case '\\':
- if (*++yyp != '\\')
- goto do_not_strip_quotes;
- /* Fall through. */
- default:
- if (yyres)
- yyres[yyn] = *yyp;
- yyn++;
- break;
-
- case '"':
- if (yyres)
- yyres[yyn] = '\0';
- return yyn;
- }
- do_not_strip_quotes: ;
- }
-
- if (! yyres)
- return yystrlen (yystr);
-
- return yystpcpy (yyres, yystr) - yyres;
-}
-# endif
-
-/* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
- about the unexpected token YYTOKEN for the state stack whose top is
- YYSSP.]b4_lac_if([[ In order to see if a particular token T is a
- valid looakhead, invoke yy_lac (YYESA, YYES, YYES_CAPACITY, YYSSP, T).]])[
-
- Return 0 if *YYMSG was successfully written. Return 1 if *YYMSG is
- not large enough to hold the message. In that case, also set
- *YYMSG_ALLOC to the required number of bytes. Return 2 if the
- required number of bytes is too large to store]b4_lac_if([[ or if
- yy_lac returned 2]])[. */
-static int
-yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
- ]b4_lac_if([[yytype_int16 *yyesa, yytype_int16 **yyes,
- YYSIZE_T *yyes_capacity, ]])[yytype_int16 *yyssp, int yytoken)
-{
- YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]);
- YYSIZE_T yysize = yysize0;
- enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
- /* Internationalized format string. */
- const char *yyformat = YY_NULL;
- /* Arguments of yyformat. */
- char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
- /* Number of reported tokens (one for the "unexpected", one per
- "expected"). */
- int yycount = 0;
-
- /* There are many possibilities here to consider:
- - If this state is a consistent state with a default action, then
- the only way this function was invoked is if the default action
- is an error action. In that case, don't check for expected
- tokens because there are none.
- - The only way there can be no lookahead present (in yychar) is if
- this state is a consistent state with a default action. Thus,
- detecting the absence of a lookahead is sufficient to determine
- that there is no unexpected or expected token to report. In that
- case, just report a simple "syntax error".
- - Don't assume there isn't a lookahead just because this state is a
- consistent state with a default action. There might have been a
- previous inconsistent state, consistent state with a non-default
- action, or user semantic action that manipulated yychar.]b4_lac_if([[
- In the first two cases, it might appear that the current syntax
- error should have been detected in the previous state when yy_lac
- was invoked. However, at that time, there might have been a
- different syntax error that discarded a different initial context
- during error recovery, leaving behind the current lookahead.]], [[
- - Of course, the expected token list depends on states to have
- correct lookahead information, and it depends on the parser not
- to perform extra reductions after fetching a lookahead from the
- scanner and before detecting a syntax error. Thus, state merging
- (from LALR or IELR) and default reductions corrupt the expected
- token list. However, the list is correct for canonical LR with
- one exception: it will still contain any token that will not be
- accepted due to an error action in a later state.]])[
- */
- if (yytoken != YYEMPTY)
- {
- int yyn = yypact[*yyssp];]b4_lac_if([[
- YYDPRINTF ((stderr, "Constructing syntax error message\n"));]])[
- yyarg[yycount++] = yytname[yytoken];
- if (!yypact_value_is_default (yyn))
- {]b4_lac_if([], [[
- /* Start YYX at -YYN if negative to avoid negative indexes in
- YYCHECK. In other words, skip the first -YYN actions for
- this state because they are default actions. */
- int yyxbegin = yyn < 0 ? -yyn : 0;
- /* Stay within bounds of both yycheck and yytname. */
- int yychecklim = YYLAST - yyn + 1;
- int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;]])[
- int yyx;]b4_lac_if([[
-
- for (yyx = 0; yyx < YYNTOKENS; ++yyx)
- if (yyx != YYTERROR && yyx != YYUNDEFTOK)
- {
- {
- int yy_lac_status = yy_lac (yyesa, yyes, yyes_capacity,
- yyssp, yyx);
- if (yy_lac_status == 2)
- return 2;
- if (yy_lac_status == 1)
- continue;
- }]], [[
-
- for (yyx = yyxbegin; yyx < yyxend; ++yyx)
- if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
- && !yytable_value_is_error (yytable[yyx + yyn]))
- {]])[
- if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
- {
- yycount = 1;
- yysize = yysize0;
- break;
- }
- yyarg[yycount++] = yytname[yyx];
- {
- YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]);
- if (! (yysize <= yysize1
- && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
- return 2;
- yysize = yysize1;
- }
- }
- }]b4_lac_if([[
-# if ]b4_api_PREFIX[DEBUG
- else if (yydebug)
- YYFPRINTF (stderr, "No expected tokens.\n");
-# endif]])[
- }
-
- switch (yycount)
- {
-# define YYCASE_(N, S) \
- case N: \
- yyformat = S; \
- break
- YYCASE_(0, YY_("syntax error"));
- YYCASE_(1, YY_("syntax error, unexpected %s"));
- YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
- YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
- YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
- YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
-# undef YYCASE_
- }
-
- {
- YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
- if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
- return 2;
- yysize = yysize1;
- }
-
- if (*yymsg_alloc < yysize)
- {
- *yymsg_alloc = 2 * yysize;
- if (! (yysize <= *yymsg_alloc
- && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
- *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
- return 1;
- }
-
- /* Avoid sprintf, as that infringes on the user's name space.
- Don't have undefined behavior even if the translation
- produced a string with the wrong number of "%s"s. */
- {
- char *yyp = *yymsg;
- int yyi = 0;
- while ((*yyp = *yyformat) != '\0')
- if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
- {
- yyp += yytnamerr (yyp, yyarg[yyi++]);
- yyformat += 2;
- }
- else
- {
- yyp++;
- yyformat++;
- }
- }
- return 0;
-}
-#endif /* YYERROR_VERBOSE */
-
-]b4_yydestruct_define[
-
-]b4_pure_if([], [
-
-b4_declare_scanner_communication_variables])[]b4_push_if([[
-
-struct yypstate
- {]b4_declare_parser_state_variables[
- /* Used to determine if this is the first time this instance has
- been used. */
- int yynew;
- };]b4_pure_if([], [[
-
-static char yypstate_allocated = 0;]])b4_pull_if([
-
-b4_function_define([[yyparse]], [[int]], b4_parse_param)[
-{
- return yypull_parse (YY_NULL]m4_ifset([b4_parse_param],
- [[, ]b4_args(b4_parse_param)])[);
-}
-
-]b4_function_define([[yypull_parse]], [[int]],
- [[[yypstate *yyps]], [[yyps]]]m4_ifset([b4_parse_param], [,
- b4_parse_param]))[
-{
- int yystatus;
- yypstate *yyps_local;]b4_pure_if([[
- int yychar;
- YYSTYPE yylval;]b4_locations_if([[
- static YYLTYPE yyloc_default][]b4_yyloc_default[;
- YYLTYPE yylloc = yyloc_default;]])])[
- if (yyps)
- yyps_local = yyps;
- else
- {
- yyps_local = yypstate_new ();
- if (!yyps_local)
- {]b4_pure_if([[
- yyerror (]b4_yyerror_args[YY_("memory exhausted"));]], [[
- if (!yypstate_allocated)
- yyerror (]b4_yyerror_args[YY_("memory exhausted"));]])[
- return 2;
- }
- }
- do {
- yychar = ]b4_lex[;
- yystatus =
- yypush_parse (yyps_local]b4_pure_if([[, yychar, &yylval]b4_locations_if([[, &yylloc]])])m4_ifset([b4_parse_param], [, b4_args(b4_parse_param)])[);
- } while (yystatus == YYPUSH_MORE);
- if (!yyps)
- yypstate_delete (yyps_local);
- return yystatus;
-}]])[
-
-/* Initialize the parser data structure. */
-]b4_function_define([[yypstate_new]], [[yypstate *]])[
-{
- yypstate *yyps;]b4_pure_if([], [[
- if (yypstate_allocated)
- return YY_NULL;]])[
- yyps = (yypstate *) malloc (sizeof *yyps);
- if (!yyps)
- return YY_NULL;
- yyps->yynew = 1;]b4_pure_if([], [[
- yypstate_allocated = 1;]])[
- return yyps;
-}
-
-]b4_function_define([[yypstate_delete]], [[void]],
- [[[yypstate *yyps]], [[yyps]]])[
-{
-#ifndef yyoverflow
- /* If the stack was reallocated but the parse did not complete, then the
- stack still needs to be freed. */
- if (!yyps->yynew && yyps->yyss != yyps->yyssa)
- YYSTACK_FREE (yyps->yyss);
-#endif]b4_lac_if([[
- if (!yyps->yynew && yyps->yyes != yyps->yyesa)
- YYSTACK_FREE (yyps->yyes);]])[
- free (yyps);]b4_pure_if([], [[
- yypstate_allocated = 0;]])[
-}
-]b4_pure_if([[
-#define ]b4_prefix[nerrs yyps->]b4_prefix[nerrs]])[
-#define yystate yyps->yystate
-#define yyerrstatus yyps->yyerrstatus
-#define yyssa yyps->yyssa
-#define yyss yyps->yyss
-#define yyssp yyps->yyssp
-#define yyvsa yyps->yyvsa
-#define yyvs yyps->yyvs
-#define yyvsp yyps->yyvsp]b4_locations_if([[
-#define yylsa yyps->yylsa
-#define yyls yyps->yyls
-#define yylsp yyps->yylsp
-#define yyerror_range yyps->yyerror_range]])[
-#define yystacksize yyps->yystacksize]b4_lac_if([[
-#define yyesa yyps->yyesa
-#define yyes yyps->yyes
-#define yyes_capacity yyps->yyes_capacity]])[
-
-
-/*---------------.
-| yypush_parse. |
-`---------------*/
-
-]b4_function_define([[yypush_parse]], [[int]],
- [[[yypstate *yyps]], [[yyps]]]b4_pure_if([,
- [[[int yypushed_char]], [[yypushed_char]]],
- [[[YYSTYPE const *yypushed_val]], [[yypushed_val]]]b4_locations_if([,
- [[[YYLTYPE *yypushed_loc]], [[yypushed_loc]]]])])m4_ifset([b4_parse_param], [,
- b4_parse_param]))], [[
-
-
-/*----------.
-| yyparse. |
-`----------*/
-
-]b4_function_define([yyparse], [int], b4_parse_param)])[
-{]b4_pure_if([b4_declare_scanner_communication_variables
-])b4_push_if([b4_pure_if([], [[
- int yypushed_char = yychar;
- YYSTYPE yypushed_val = yylval;]b4_locations_if([[
- YYLTYPE yypushed_loc = yylloc;]])
-])],
- [b4_declare_parser_state_variables
-])b4_lac_if([[
- int yy_lac_established = 0;]])[
- int yyn;
- int yyresult;
- /* Lookahead token as an internal (translated) token number. */
- int yytoken = 0;
- /* The variables used to return semantic value and location from the
- action routines. */
- YYSTYPE yyval;]b4_locations_if([[
- YYLTYPE yyloc;]])[
-
-#if YYERROR_VERBOSE
- /* Buffer for error messages, and its allocated size. */
- char yymsgbuf[128];
- char *yymsg = yymsgbuf;
- YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
-#endif
-
-#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)]b4_locations_if([, yylsp -= (N)])[)
-
- /* The number of symbols on the RHS of the reduced rule.
- Keep to zero when no symbol should be popped. */
- int yylen = 0;]b4_push_if([[
-
- if (!yyps->yynew)
- {
- yyn = yypact[yystate];
- goto yyread_pushed_token;
- }]])[
-
- yyssp = yyss = yyssa;
- yyvsp = yyvs = yyvsa;]b4_locations_if([[
- yylsp = yyls = yylsa;]])[
- yystacksize = YYINITDEPTH;]b4_lac_if([[
-
- yyes = yyesa;
- yyes_capacity = sizeof yyesa / sizeof *yyes;
- if (YYMAXDEPTH < yyes_capacity)
- yyes_capacity = YYMAXDEPTH;]])[
-
- YYDPRINTF ((stderr, "Starting parse\n"));
-
- yystate = 0;
- yyerrstatus = 0;
- yynerrs = 0;
- yychar = YYEMPTY; /* Cause a token to be read. */
-]m4_ifdef([b4_initial_action], [
-b4_dollar_pushdef([m4_define([b4_dollar_dollar_used])yylval], [],
- [b4_push_if([b4_pure_if([*])yypushed_loc], [yylloc])])dnl
-/* User initialization code. */
-b4_user_initial_action
-b4_dollar_popdef[]dnl
-m4_ifdef([b4_dollar_dollar_used],[[ yyvsp[0] = yylval;
-]])])dnl
-b4_locations_if([[ yylsp[0] = ]b4_push_if([b4_pure_if([*])yypushed_loc], [yylloc])[;
-]])dnl
-[ goto yysetstate;
-
-/*------------------------------------------------------------.
-| yynewstate -- Push a new state, which is found in yystate. |
-`------------------------------------------------------------*/
- yynewstate:
- /* In all cases, when you get here, the value and location stacks
- have just been pushed. So pushing a state here evens the stacks. */
- yyssp++;
-
- yysetstate:
- *yyssp = yystate;
-
- if (yyss + yystacksize - 1 <= yyssp)
- {
- /* Get the current used size of the three stacks, in elements. */
- YYSIZE_T yysize = yyssp - yyss + 1;
-
-#ifdef yyoverflow
- {
- /* Give user a chance to reallocate the stack. Use copies of
- these so that the &'s don't force the real ones into
- memory. */
- YYSTYPE *yyvs1 = yyvs;
- yytype_int16 *yyss1 = yyss;]b4_locations_if([
- YYLTYPE *yyls1 = yyls;])[
-
- /* Each stack pointer address is followed by the size of the
- data in use in that stack, in bytes. This used to be a
- conditional around just the two extra args, but that might
- be undefined if yyoverflow is a macro. */
- yyoverflow (YY_("memory exhausted"),
- &yyss1, yysize * sizeof (*yyssp),
- &yyvs1, yysize * sizeof (*yyvsp),]b4_locations_if([
- &yyls1, yysize * sizeof (*yylsp),])[
- &yystacksize);
-]b4_locations_if([
- yyls = yyls1;])[
- yyss = yyss1;
- yyvs = yyvs1;
- }
-#else /* no yyoverflow */
-# ifndef YYSTACK_RELOCATE
- goto yyexhaustedlab;
-# else
- /* Extend the stack our own way. */
- if (YYMAXDEPTH <= yystacksize)
- goto yyexhaustedlab;
- yystacksize *= 2;
- if (YYMAXDEPTH < yystacksize)
- yystacksize = YYMAXDEPTH;
-
- {
- yytype_int16 *yyss1 = yyss;
- union yyalloc *yyptr =
- (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
- if (! yyptr)
- goto yyexhaustedlab;
- YYSTACK_RELOCATE (yyss_alloc, yyss);
- YYSTACK_RELOCATE (yyvs_alloc, yyvs);]b4_locations_if([
- YYSTACK_RELOCATE (yyls_alloc, yyls);])[
-# undef YYSTACK_RELOCATE
- if (yyss1 != yyssa)
- YYSTACK_FREE (yyss1);
- }
-# endif
-#endif /* no yyoverflow */
-
- yyssp = yyss + yysize - 1;
- yyvsp = yyvs + yysize - 1;]b4_locations_if([
- yylsp = yyls + yysize - 1;])[
-
- YYDPRINTF ((stderr, "Stack size increased to %lu\n",
- (unsigned long int) yystacksize));
-
- if (yyss + yystacksize - 1 <= yyssp)
- YYABORT;
- }
-
- YYDPRINTF ((stderr, "Entering state %d\n", yystate));
-
- if (yystate == YYFINAL)
- YYACCEPT;
-
- goto yybackup;
-
-/*-----------.
-| yybackup. |
-`-----------*/
-yybackup:
-
- /* Do appropriate processing given the current state. Read a
- lookahead token if we need one and don't already have one. */
-
- /* First try to decide what to do without reference to lookahead token. */
- yyn = yypact[yystate];
- if (yypact_value_is_default (yyn))
- goto yydefault;
-
- /* Not known => get a lookahead token if don't already have one. */
-
- /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
- if (yychar == YYEMPTY)
- {]b4_push_if([[
- if (!yyps->yynew)
- {]b4_use_push_for_pull_if([], [[
- YYDPRINTF ((stderr, "Return for a new token:\n"));]])[
- yyresult = YYPUSH_MORE;
- goto yypushreturn;
- }
- yyps->yynew = 0;]b4_pure_if([], [[
- /* Restoring the pushed token is only necessary for the first
- yypush_parse invocation since subsequent invocations don't overwrite
- it before jumping to yyread_pushed_token. */
- yychar = yypushed_char;
- yylval = yypushed_val;]b4_locations_if([[
- yylloc = yypushed_loc;]])])[
-yyread_pushed_token:]])[
- YYDPRINTF ((stderr, "Reading a token: "));]b4_push_if([b4_pure_if([[
- yychar = yypushed_char;
- if (yypushed_val)
- yylval = *yypushed_val;]b4_locations_if([[
- if (yypushed_loc)
- yylloc = *yypushed_loc;]])])], [[
- yychar = ]b4_lex[;]])[
- }
-
- if (yychar <= YYEOF)
- {
- yychar = yytoken = YYEOF;
- YYDPRINTF ((stderr, "Now at end of input.\n"));
- }
- else
- {
- yytoken = YYTRANSLATE (yychar);
- YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
- }
-
- /* If the proper action on seeing token YYTOKEN is to reduce or to
- detect an error, take that action. */
- yyn += yytoken;
- if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)]b4_lac_if([[
- {
- YY_LAC_ESTABLISH;
- goto yydefault;
- }]], [[
- goto yydefault;]])[
- yyn = yytable[yyn];
- if (yyn <= 0)
- {
- if (yytable_value_is_error (yyn))
- goto yyerrlab;]b4_lac_if([[
- YY_LAC_ESTABLISH;]])[
- yyn = -yyn;
- goto yyreduce;
- }
-
- /* Count tokens shifted since error; after three, turn off error
- status. */
- if (yyerrstatus)
- yyerrstatus--;
-
- /* Shift the lookahead token. */
- YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
-
- /* Discard the shifted token. */
- yychar = YYEMPTY;]b4_lac_if([[
- YY_LAC_DISCARD ("shift");]])[
-
- yystate = yyn;
- YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
- *++yyvsp = yylval;
- YY_IGNORE_MAYBE_UNINITIALIZED_END
-]b4_locations_if([ *++yylsp = yylloc;])[
- goto yynewstate;
-
-
-/*-----------------------------------------------------------.
-| yydefault -- do the default action for the current state. |
-`-----------------------------------------------------------*/
-yydefault:
- yyn = yydefact[yystate];
- if (yyn == 0)
- goto yyerrlab;
- goto yyreduce;
-
-
-/*-----------------------------.
-| yyreduce -- Do a reduction. |
-`-----------------------------*/
-yyreduce:
- /* yyn is the number of a rule to reduce with. */
- yylen = yyr2[yyn];
-
- /* If YYLEN is nonzero, implement the default value of the action:
- '$$ = $1'.
-
- Otherwise, the following line sets YYVAL to garbage.
- This behavior is undocumented and Bison
- users should not rely upon it. Assigning to YYVAL
- unconditionally makes the parser a bit smaller, and it avoids a
- GCC warning that YYVAL may be used uninitialized. */
- yyval = yyvsp[1-yylen];
-
-]b4_locations_if(
-[[ /* Default location. */
- YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen);]])[
- YY_REDUCE_PRINT (yyn);]b4_lac_if([[
- {
- int yychar_backup = yychar;
- switch (yyn)
- {
- ]b4_user_actions[
- default: break;
- }
- if (yychar_backup != yychar)
- YY_LAC_DISCARD ("yychar change");
- }]], [[
- switch (yyn)
- {
- ]b4_user_actions[
- default: break;
- }]])[
- /* User semantic actions sometimes alter yychar, and that requires
- that yytoken be updated with the new translation. We take the
- approach of translating immediately before every use of yytoken.
- One alternative is translating here after every semantic action,
- but that translation would be missed if the semantic action invokes
- YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
- if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an
- incorrect destructor might then be invoked immediately. In the
- case of YYERROR or YYBACKUP, subsequent parser actions might lead
- to an incorrect destructor call or verbose syntax error message
- before the lookahead is translated. */
- YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
-
- YYPOPSTACK (yylen);
- yylen = 0;
- YY_STACK_PRINT (yyss, yyssp);
-
- *++yyvsp = yyval;]b4_locations_if([
- *++yylsp = yyloc;])[
-
- /* Now 'shift' the result of the reduction. Determine what state
- that goes to, based on the state we popped back to and the rule
- number reduced by. */
-
- yyn = yyr1[yyn];
-
- yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
- if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
- yystate = yytable[yystate];
- else
- yystate = yydefgoto[yyn - YYNTOKENS];
-
- goto yynewstate;
-
-
-/*--------------------------------------.
-| yyerrlab -- here on detecting error. |
-`--------------------------------------*/
-yyerrlab:
- /* Make sure we have latest lookahead translation. See comments at
- user semantic actions for why this is necessary. */
- yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
-
- /* If not already recovering from an error, report this error. */
- if (!yyerrstatus)
- {
- ++yynerrs;
-#if ! YYERROR_VERBOSE
- yyerror (]b4_yyerror_args[YY_("syntax error"));
-#else
-# define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \]b4_lac_if([[
- yyesa, &yyes, &yyes_capacity, \]])[
- yyssp, yytoken)
- {
- char const *yymsgp = YY_("syntax error");
- int yysyntax_error_status;]b4_lac_if([[
- if (yychar != YYEMPTY)
- YY_LAC_ESTABLISH;]])[
- yysyntax_error_status = YYSYNTAX_ERROR;
- if (yysyntax_error_status == 0)
- yymsgp = yymsg;
- else if (yysyntax_error_status == 1)
- {
- if (yymsg != yymsgbuf)
- YYSTACK_FREE (yymsg);
- yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);
- if (!yymsg)
- {
- yymsg = yymsgbuf;
- yymsg_alloc = sizeof yymsgbuf;
- yysyntax_error_status = 2;
- }
- else
- {
- yysyntax_error_status = YYSYNTAX_ERROR;
- yymsgp = yymsg;
- }
- }
- yyerror (]b4_yyerror_args[yymsgp);
- if (yysyntax_error_status == 2)
- goto yyexhaustedlab;
- }
-# undef YYSYNTAX_ERROR
-#endif
- }
-
-]b4_locations_if([[ yyerror_range[1] = yylloc;]])[
-
- if (yyerrstatus == 3)
- {
- /* If just tried and failed to reuse lookahead token after an
- error, discard it. */
-
- if (yychar <= YYEOF)
- {
- /* Return failure if at end of input. */
- if (yychar == YYEOF)
- YYABORT;
- }
- else
- {
- yydestruct ("Error: discarding",
- yytoken, &yylval]b4_locations_if([, &yylloc])[]b4_user_args[);
- yychar = YYEMPTY;
- }
- }
-
- /* Else will try to reuse lookahead token after shifting the error
- token. */
- goto yyerrlab1;
-
-
-/*---------------------------------------------------.
-| yyerrorlab -- error raised explicitly by YYERROR. |
-`---------------------------------------------------*/
-yyerrorlab:
-
- /* Pacify compilers like GCC when the user code never invokes
- YYERROR and the label yyerrorlab therefore never appears in user
- code. */
- if (/*CONSTCOND*/ 0)
- goto yyerrorlab;
-
-]b4_locations_if([[ yyerror_range[1] = yylsp[1-yylen];
-]])[ /* Do not reclaim the symbols of the rule whose action triggered
- this YYERROR. */
- YYPOPSTACK (yylen);
- yylen = 0;
- YY_STACK_PRINT (yyss, yyssp);
- yystate = *yyssp;
- goto yyerrlab1;
-
-
-/*-------------------------------------------------------------.
-| yyerrlab1 -- common code for both syntax error and YYERROR. |
-`-------------------------------------------------------------*/
-yyerrlab1:
- yyerrstatus = 3; /* Each real token shifted decrements this. */
-
- for (;;)
- {
- yyn = yypact[yystate];
- if (!yypact_value_is_default (yyn))
- {
- yyn += YYTERROR;
- if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
- {
- yyn = yytable[yyn];
- if (0 < yyn)
- break;
- }
- }
-
- /* Pop the current state because it cannot handle the error token. */
- if (yyssp == yyss)
- YYABORT;
-
-]b4_locations_if([[ yyerror_range[1] = *yylsp;]])[
- yydestruct ("Error: popping",
- yystos[yystate], yyvsp]b4_locations_if([, yylsp])[]b4_user_args[);
- YYPOPSTACK (1);
- yystate = *yyssp;
- YY_STACK_PRINT (yyss, yyssp);
- }]b4_lac_if([[
-
- /* If the stack popping above didn't lose the initial context for the
- current lookahead token, the shift below will for sure. */
- YY_LAC_DISCARD ("error recovery");]])[
-
- YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
- *++yyvsp = yylval;
- YY_IGNORE_MAYBE_UNINITIALIZED_END
-]b4_locations_if([[
- yyerror_range[2] = yylloc;
- /* Using YYLLOC is tempting, but would change the location of
- the lookahead. YYLOC is available though. */
- YYLLOC_DEFAULT (yyloc, yyerror_range, 2);
- *++yylsp = yyloc;]])[
-
- /* Shift the error token. */
- YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
-
- yystate = yyn;
- goto yynewstate;
-
-
-/*-------------------------------------.
-| yyacceptlab -- YYACCEPT comes here. |
-`-------------------------------------*/
-yyacceptlab:
- yyresult = 0;
- goto yyreturn;
-
-/*-----------------------------------.
-| yyabortlab -- YYABORT comes here. |
-`-----------------------------------*/
-yyabortlab:
- yyresult = 1;
- goto yyreturn;
-
-#if ]b4_lac_if([[1]], [[!defined yyoverflow || YYERROR_VERBOSE]])[
-/*-------------------------------------------------.
-| yyexhaustedlab -- memory exhaustion comes here. |
-`-------------------------------------------------*/
-yyexhaustedlab:
- yyerror (]b4_yyerror_args[YY_("memory exhausted"));
- yyresult = 2;
- /* Fall through. */
-#endif
-
-yyreturn:
- if (yychar != YYEMPTY)
- {
- /* Make sure we have latest lookahead translation. See comments at
- user semantic actions for why this is necessary. */
- yytoken = YYTRANSLATE (yychar);
- yydestruct ("Cleanup: discarding lookahead",
- yytoken, &yylval]b4_locations_if([, &yylloc])[]b4_user_args[);
- }
- /* Do not reclaim the symbols of the rule whose action triggered
- this YYABORT or YYACCEPT. */
- YYPOPSTACK (yylen);
- YY_STACK_PRINT (yyss, yyssp);
- while (yyssp != yyss)
- {
- yydestruct ("Cleanup: popping",
- yystos[*yyssp], yyvsp]b4_locations_if([, yylsp])[]b4_user_args[);
- YYPOPSTACK (1);
- }
-#ifndef yyoverflow
- if (yyss != yyssa)
- YYSTACK_FREE (yyss);
-#endif]b4_lac_if([[
- if (yyes != yyesa)
- YYSTACK_FREE (yyes);]])b4_push_if([[
- yyps->yynew = 1;
-
-yypushreturn:]])[
-#if YYERROR_VERBOSE
- if (yymsg != yymsgbuf)
- YYSTACK_FREE (yymsg);
-#endif
- return yyresult;
-}
-]b4_epilogue[]dnl
-b4_output_end()
-
-b4_defines_if(
-[b4_output_begin([b4_spec_defines_file])[
-]b4_copyright([Bison interface for Yacc-like parsers in C])[
-
-]b4_shared_declarations[
-]b4_output_end()
-])# b4_defines_if
diff --git a/gnuwin32/bin/flex.exe b/gnuwin32/bin/flex.exe
deleted file mode 100755
index a4c7d626..00000000
--- a/gnuwin32/bin/flex.exe
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/bin/gperf.exe b/gnuwin32/bin/gperf.exe
deleted file mode 100644
index f71b09cb..00000000
--- a/gnuwin32/bin/gperf.exe
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/bin/iconv.exe b/gnuwin32/bin/iconv.exe
deleted file mode 100644
index fb2d0d2a..00000000
--- a/gnuwin32/bin/iconv.exe
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/bin/libcharset1.dll b/gnuwin32/bin/libcharset1.dll
deleted file mode 100644
index aec4d231..00000000
--- a/gnuwin32/bin/libcharset1.dll
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/bin/libiconv2.dll b/gnuwin32/bin/libiconv2.dll
deleted file mode 100644
index 544dd92f..00000000
--- a/gnuwin32/bin/libiconv2.dll
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/bin/libintl3.dll b/gnuwin32/bin/libintl3.dll
deleted file mode 100644
index ec11e6b1..00000000
--- a/gnuwin32/bin/libintl3.dll
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/bin/m4.exe b/gnuwin32/bin/m4.exe
deleted file mode 100644
index a6673425..00000000
--- a/gnuwin32/bin/m4.exe
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/bin/regex2.dll b/gnuwin32/bin/regex2.dll
deleted file mode 100644
index f84a847a..00000000
--- a/gnuwin32/bin/regex2.dll
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/contrib/gperf/3.0.1/depends-GnuWin32.lst b/gnuwin32/contrib/gperf/3.0.1/depends-GnuWin32.lst
deleted file mode 100644
index 972dbc1b..00000000
--- a/gnuwin32/contrib/gperf/3.0.1/depends-GnuWin32.lst
+++ /dev/null
@@ -1,3 +0,0 @@
-kernel32.dll
-msvcrt.dll
-ntdll.dll
diff --git a/gnuwin32/contrib/gperf/3.0.1/gperf-3.0.1-GnuWin32.README b/gnuwin32/contrib/gperf/3.0.1/gperf-3.0.1-GnuWin32.README
deleted file mode 100644
index 56531d85..00000000
--- a/gnuwin32/contrib/gperf/3.0.1/gperf-3.0.1-GnuWin32.README
+++ /dev/null
@@ -1,54 +0,0 @@
-* Gperf-3.0.1 for Windows *
-===========================
-
-What is it?
------------
-Gperf: generate a perfect hash function from a key set
-
-Description
------------
-GNU gperf is a perfect hash function generator. For a given list of
-strings, it produces a hash function and hash table in the form of
-C or C++ code, for looking up a value depending on the input string.
-The hash function is perfect,' which means that the hash table has
-no collisions, and the hash table lookup needs a single string
-comparison only. GNU gperf is highly customizable. There are options
-for generating C and C++ code, for emitting 'switch' statements or
-nested 'ifs' instead of a hash table, and for tuning the algorithm
-that gperf uses.
-
-Homepage
---------
-http://www.gnu.org/software/gperf/gperf.html
-
-System
-------
-- MS-Windows 95 / 98 / ME / NT / 2000 / XP with msvcrt.dll
-- if msvcrt.dll is not in your Windows/System folder, get it from
- Microsoft <http://support.microsoft.com/default.aspx?scid=kb;en-us;259403">
- or by installing Internet Explorer 4.0 or higher
- <http://www.microsoft.com/windows/ie>
-
-Notes
------
-- Bugs and questions on this MS-Windows port: gnuwin32@users.sourceforge.net
-
-Package Availability
---------------------
-- in: http://gnuwin32.sourceforge.net
-
-Sources
--------
-- gperf-3.0.1-src.zip
-
-Compilation
------------
-The package has been compiled with GNU auto-tools, GNU make, and Mingw
-(GCC for MS-Windows). Any differences from the original sources are given
-in gperf-3.0.1-GnuWin32.diffs in gperf-3.0.1-src.zip. Libraries needed
-for compilation can be found at the lines starting with 'LIBS = ' in the
-Makefiles. Usually, these are standard libraries provided with Mingw, or
-libraries from the package itself; 'gw32c' refers to the libgw32c package,
-which provides MS-Windows substitutes or stubs for functions normally found in
-Unix. For more information, see: http://gnuwin32.sourceforge.net/compile.html
-and http://gnuwin32.sourceforge.net/packages/libgw32c.htm.
diff --git a/gnuwin32/contrib/gperf/3.0.1/gperf-3.0.1-src/AUTHORS b/gnuwin32/contrib/gperf/3.0.1/gperf-3.0.1-src/AUTHORS
deleted file mode 100644
index 184c7ce6..00000000
--- a/gnuwin32/contrib/gperf/3.0.1/gperf-3.0.1-src/AUTHORS
+++ /dev/null
@@ -1,2 +0,0 @@
-Douglas C. Schmidt <schmidt@ics.uci.edu>
-Bruno Haible <bruno@clisp.org>
diff --git a/gnuwin32/contrib/gperf/3.0.1/gperf-3.0.1-src/COPYING b/gnuwin32/contrib/gperf/3.0.1/gperf-3.0.1-src/COPYING
deleted file mode 100644
index bab08afa..00000000
--- a/gnuwin32/contrib/gperf/3.0.1/gperf-3.0.1-src/COPYING
+++ /dev/null
@@ -1,340 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
- 59 Temple Place, Suite 330, Boston, MA 02111-1307,
- USA.
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users. This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it. (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.) You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
- To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have. You must make sure that they, too, receive or can get the
-source code. And you must show them these terms so they know their
-rights.
-
- We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
- Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software. If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
- Finally, any free program is threatened constantly by software
-patents. We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary. To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- GNU GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License. The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language. (Hereinafter, translation is included without limitation in
-the term "modification".) Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
- 1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
- 2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) You must cause the modified files to carry prominent notices
- stating that you changed the files and the date of any change.
-
- b) You must cause any work that you distribute or publish, that in
- whole or in part contains or is derived from the Program or any
- part thereof, to be licensed as a whole at no charge to all third
- parties under the terms of this License.
-
- c) If the modified program normally reads commands interactively
- when run, you must cause it, when started running for such
- interactive use in the most ordinary way, to print or display an
- announcement including an appropriate copyright notice and a
- notice that there is no warranty (or else, saying that you provide
- a warranty) and that users may redistribute the program under
- these conditions, and telling the user how to view a copy of this
- License. (Exception: if the Program itself is interactive but
- does not normally print such an announcement, your work based on
- the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
- a) Accompany it with the complete corresponding machine-readable
- source code, which must be distributed under the terms of Sections
- 1 and 2 above on a medium customarily used for software interchange; or,
-
- b) Accompany it with a written offer, valid for at least three
- years, to give any third party, for a charge no more than your
- cost of physically performing source distribution, a complete
- machine-readable copy of the corresponding source code, to be
- distributed under the terms of Sections 1 and 2 above on a medium
- customarily used for software interchange; or,
-
- c) Accompany it with the information you received as to the offer
- to distribute corresponding source code. (This alternative is
- allowed only for noncommercial distribution and only if you
- received the program in object code or executable form with such
- an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it. For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable. However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
- 4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License. Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
- 5. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Program or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
- 6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
- 7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all. For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
- 8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded. In such case, this License incorporates
-the limitation as if written in the body of this License.
-
- 9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation. If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
- 10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission. For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this. Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
- NO WARRANTY
-
- 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
- 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
- END OF TERMS AND CONDITIONS
-
- Appendix: How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
- <one line to give the program's name and a brief idea of what it does.>
- Copyright (C) <year> <name of author>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
- Gnomovision version 69, Copyright (C) year name of author
- Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary. Here is a sample; alter the names:
-
- Yoyodyne, Inc., hereby disclaims all copyright interest in the program
- `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
- <signature of Ty Coon>, 1 April 1989
- Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs. If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library. If this is what you want to do, use the GNU Library General
-Public License instead of this License.
diff --git a/gnuwin32/contrib/gperf/3.0.1/gperf-3.0.1-src/ChangeLog b/gnuwin32/contrib/gperf/3.0.1/gperf-3.0.1-src/ChangeLog
deleted file mode 100644
index 1af586c4..00000000
--- a/gnuwin32/contrib/gperf/3.0.1/gperf-3.0.1-src/ChangeLog
+++ /dev/null
@@ -1,3185 +0,0 @@
-2003-06-12 Bruno Haible <bruno@clisp.org>
-
- * gperf-3.0.1 released.
-
- * src/version.cc: Bump version number to 3.0.1.
- * doc/gperf.texi: Likewise.
- * tests/c-parse.exp, tests/charsets.exp, tests/chill.exp,
- tests/cplusplus.exp, tests/gpc.exp, tests/incomplete.exp,
- tests/java.exp, tests/languages.exp, tests/modula2.exp,
- tests/objc.exp, tests/permut2.exp, tests/permut3.exp,
- tests/permutc2.exp, tests/test-4.exp: Update.
-
-2003-05-31 Bruno Haible <bruno@clisp.org>
-
- * doc/gperf.texi (User-supplied Struct): Mention the possibility of an
- abbreviated struct declaration.
- * src/input.cc (Input::read_input): Support struct declarations of the
- form "struct foo;".
- * tests/incomplete.gperf: New file.
- * tests/incomplete.exp: New file.
- * tests/Makefile.in (check-test): Check incomplete.gperf too.
- Reported by Rob Leslie <rob@mars.org>.
-
-2003-05-20 Bruno Haible <bruno@clisp.org>
-
- * doc/Makefile.in (gperf.ps): Don't use $< in a target rule.
-
-2003-05-27 Bruno Haible <bruno@clisp.org>
-
- * Makefile.vms (CC): Correct value.
- (getopt.obj, getopt1.obj, getline.obj, hash.obj): Don't set
- HAVE_CONFIG_H.
-
-2003-05-17 Bruno Haible <bruno@clisp.org>
-
- * Makefile.msvc (DEBUGFLAGS): New variable.
- (gperf.exe): Use it, and MFLAGS too.
-
-2003-05-08 Bruno Haible <bruno@clisp.org>
-
- * gperf-3.0 released.
-
-2003-05-07 Bruno Haible <bruno@clisp.org>
-
- * src/version.cc: Bump version number to 3.0.
- * doc/gperf.texi: Likewise.
- * tests/c-parse.exp, tests/charsets.exp, tests/chill.exp,
- tests/cplusplus.exp, tests/gpc.exp, tests/java.exp,
- tests/languages.exp, tests/modula2.exp, tests/objc.exp,
- tests/permut2.exp, tests/permut3.exp, tests/permutc2.exp,
- tests/test-4.exp: Update.
-
- * src/configure.in: Fix AC_INIT argument.
-
- * Makefile.devel (configure, lib/configure, src/configure,
- tests/configure, doc/configure): Use the newest autoconf.
- (src/config.h.in): Use the newest autoheader.
-
-2003-05-03 Bruno Haible <bruno@clisp.org>
-
- * doc/gperf.texi: Use two spaces as sentence separator, as recommended
- by the texinfo manual.
-
-2003-04-12 Bruno Haible <bruno@clisp.org>
-
- * doc/configure.in (mandir): Change default value.
- * doc/Makefile.in (docdir): Use datadir instead of prefix.
- * Makefile.msvc (datadir): New variable.
- (mandir, docdir): Use it instead of prefix.
- (install, installdirs): Update.
- * Makefile.vms (datadir): New variable.
- (mandir, docdir): Use it instead of prefix.
- (install, installdirs): Update.
-
-2003-04-12 Bruno Haible <bruno@clisp.org>
-
- * README.vms: New file.
- * Makefile.vms: New file.
- * Makefile.devel (src/config.h_vms): New rule.
- (all): Depend on it.
-
-2003-03-19 Bruno Haible <bruno@clisp.org>
-
- * src/input.cc (Input::read_input): Ignore comments at the beginning
- of the declarations section.
- * doc/gperf.texi (Controls for GNU indent): New section.
- Reported by Bruce Lilly <blilly@erols.com>.
-
-2003-03-19 Bruno Haible <bruno@clisp.org>
-
- * src/output.cc (Output::output_hash_function): Avoid lint warning if
- not all arguments of the hash function are used. Avoid lint warning
- for fallthrough in switch.
- * tests/c-parse.exp, tests/charsets.exp, tests/chill.exp,
- tests/cplusplus.exp, tests/java.exp, tests/languages.exp,
- tests/modula2.exp, tests/objc.exp: All /*FALLTHROUGH*/ to expected
- output.
- Reported by Bruce Lilly <blilly@erols.com>.
-
-2003-03-01 Bruno Haible <bruno@clisp.org>
-
- * src/options.h (Options::set_initializer_suffix): New declaration.
- * src/options.cc (Options::set_initializer_suffix): New method.
- * src/input.cc (Input::read_input): Recognize %define
- initializer-suffix.
- * doc/gperf.texi (Gperf Declarations): Document %define
- initializer-suffix.
- * NEWS: Update.
-
-2003-02-26 Bruno Haible <bruno@clisp.org>
-
- * Makefile.msvc: New file.
- * README.woe32: New file.
- * Makefile.devel (all): Depend on src/config.h.msvc.
- (src/config.h.msvc): New rule.
-
-2003-01-07 Bruno Haible <bruno@clisp.org>
-
- * src/input.h (Input::_charset_dependent): New field.
- * src/input.cc (Input::read_input): Also set _charset_dependent.
- * src/main.cc (main): Pass _charset_dependent from Input to Output.
- * src/output.h (Output::Output): Add charset_dependent argument.
- (Output::_charset_dependent): New field.
- * src/output.cc (Output::Output): Add charset_dependent argument.
- (Output::output): Provoke a compilation error if the execution
- character set doesn't match the expectations.
- * tests/c-parse.exp, tests/charsets.exp, tests/chill.exp,
- tests/cplusplus.exp, tests/gpc.exp, tests/java.exp,
- tests/languages.exp, tests/modula2.exp, tests/objc.exp,
- tests/permut2.exp, tests/permut3.exp, tests/permutc2.exp,
- tests/test-4.exp: Update.
-
- * src/options.cc (Options::long_usage): Change bug report address to
- <bug-gnu-gperf@gnu.org>.
- * tests/test-6.exp: Update.
-
- * src/output.cc (USE_DOWNCASE_TABLE): New macro.
- (output_upperlower_table): New function.
- (output_upperlower_strcmp, output_upperlower_strncmp,
- output_upperlower_memcmp): Emit gperf_downcase array accesses.
- (Output::output): Call output_upperlower_table.
- * tests/permutc2.exp: Update.
-
- * src/keyword-list.icc (KeywordExt_List::rest): Use a portable cast.
- (Only in GCC a cast of an lvalue is an lvalue.)
-
-2003-01-01 Bruno Haible <bruno@clisp.org>
-
- * src/options.cc (Options::parse_options): Update copyright year.
-
- * doc/gperf.texi (@author): Add me.
-
- * src/options.h (NULLSTRINGS): New enum value.
- (Options::get_stringpool_name, Options::set_stringpool_name): New
- method declarations.
- (Options::_stringpool_name): New field.
- * src/options.icc (Options::get_stringpool_name): New method.
- * src/options.cc (DEFAULT_STRINGPOOL_NAME): New variable.
- (Options::long_usage): Document -Q and --null-strings.
- (Options::Options): Initialize _stringpool_name.
- (Options::~Options): Output _stringpool_name, NULLSTRINGS values too.
- (Options::set_stringpool_name): New method.
- (long_options): Add options --string-pool-name, --null-strings.
- (Options::parse_options): Implement options -P, -Q and --null-strings.
- * src/input.cc (Input::read_input): Recognize declarations %pic,
- %define string-pool-name, %null-strings.
- * src/output.h (Output::output_string_pool,
- Output::output_lookup_pools): New method declarations.
- (Output::_wordlist_eltype): New field.
- * src/output.cc (Output::output_keylength_table): Trivial
- simplification.
- (Output::output_string_pool): New method.
- (output_keyword_entry): Add stringpool_index argument. For SHAREDLIB,
- use struct offsets.
- (output_keyword_blank_entries): For SHAREDLIB, use -1 instead of "".
- (Output::output_keyword_table): Use _wordlist_eltype instead of
- _struct_tag. Compute stringpool_index for output_keyword_entry.
- (Output::output_lookup_pools): New method.
- (Output::output_lookup_function_body): Use _wordlist_eltype instead of
- _struct_tag. For SHAREDLIB, use "+ stringpool" to convert offsets to
- strings. Use "o >= 0" to test for nonempty table entry.
- (Output::output_lookup_function): Call output_lookup_pools.
- (Output::output): Initialize _wordlist_eltype. Call
- output_lookup_pools.
- * tests/jstest4.gperf: New file.
- * tests/test-6.exp: Update.
- * tests/Makefile.in (check-lang-syntax): Drop test of -p. Add tests of
- -P and -Q.
- * doc/gperf.texi (User-supplied Struct): Mention that first field has
- to be of type 'int' if -P is given.
- (Gperf Declarations): Document %pic, %define string-pool-name,
- %null-strings.
- (Output Details): Update description of option -P. Document options -Q
- and --null-strings.
-
- * tests/Makefile.in (check-link-c, check-ada, check-pascal,
- check-test): Omit option -p.
- * tests/c-parse.exp: Regenerated.
- * tests/chill.exp: Regenerated.
- * tests/cplusplus.exp: Regenerated.
- * tests/gpc.exp: Regenerated.
- * tests/java.exp: Regenerated.
- * tests/objc.exp: Regenerated.
- * tests/test-4.exp: Regenerated.
-
- * src/output.cc (Output::output_lookup_function_body): Omit the
- multicompare code section and its variables when it is not used.
- * tests/chill.exp: Regenerated.
-
- * src/output.c (Output_Compare::output_firstchar_comparison): New
- method.
- (Output_Compare_Strcmp::output_comparison,
- Output_Compare_Strncmp::output_comparison,
- Output_Compare_Memcmp::output_comparison): Use it.
- * tests/permutc2.exp: Update.
-
- * tests/smtp.gperf: New file, based on a contribution by Bruce Lilly.
- * tests/Makefile.in (check-smtp): New rule.
- (check): Depend on it.
- (clean): Update.
-
-2002-12-12 Bruno Haible <bruno@clisp.org>
-
- * src/search.h (Search::init_selchars_tuple,
- Search::count_duplicates_tuple): Add alpha_unify argument.
- (Search::count_duplicates_tuple): New method declaration.
- * src/search.cc (Search::init_selchars_tuple,
- Search::count_duplicates_tuple): Add alpha_unify argument.
- (Search::find_positions): Update.
- (Search::count_duplicates_tuple): New method.
- (Search::count_duplicates_multiset): Free temp alpha_unify vector.
- (Search::find_alpha_inc): Call count_duplicates_tuple.
-
- * src/configure.in: Add test for stack-allocated variable-size arrays.
- * src/config.h.in: Regenerated.
- * src/search.cc: Include config.h.
- (DYNAMIC_ARRAY, FREE_DYNAMIC_ARRAY): New macros.
- (Search::find_alpha_inc, Search::count_possible_collisions,
- Search::find_asso_values): Use them.
- * src/Makefile.in (search.o): Depend on config.h.
-
- * src/search.h (Search::keyword_list_length, Search::max_key_length,
- Search::get_max_keysig_size, Search::prepare): Remove declarations.
- (Search::prepare): Renamed from Search::preprepare.
- (Search::_max_selchars_length): New field.
- * src/search.cc (Search::prepare): Renamed from Search::preprepare.
- (Search::prepare_asso_values): Merged with old Search::prepare.
- Initialize _max_selchars_length.
- (Search::keyword_list_length): Remove function. Use _list_len instead.
- (Search::max_key_length): Remove function. Use _max_key_len instead.
- (Search::get_max_keysig_size): Remove function. Use
- _max_selchars_length instead.
- (Search::count_possible_collisions, Search::find_asso_values): Update.
- (Search::find_good_asso_values): Call just prepare_asso_values.
- (Search::~Search): Update.
-
- * src/output.h (Output::output_asso_values_ref): New declaration.
- * src/output.cc (char_to_index): Remove variable.
- (Output::output_asso_values_ref): New function.
- (Output::output_hash_function): Use it.
- (Output::output): Update.
-
- * src/positions.h (Positions::is_useall, Positions::set_useall,
- Positions::iterator, Positions::reviterator): New method declarations.
- (Positions::_useall): New field.
- (PositionIterator): Make constructor private. Add a constructor and a
- copy constructor.
- (PositionIterator::remaining): New declaration.
- (PositionReverseIterator): Make constructor private. Add a constructor
- and a copy constructor.
- (PositionReverseIterator::remaining): New declaration.
- (PositionReverseIterator::_minindex): New field.
- * src/positions.icc (Positions::Positions): Initialize _useall.
- (Positions::operator=): Likewise.
- (Positions::is_useall, Positions::set_useall): New methods.
- (Positions::sort): Do nothing if _useall is set.
- (Positions::iterator, Positions::reviterator): New methods.
- (PositionIterator::PositionIterator): New constructor.
- (PositionIterator::remaining): New method.
- (PositionReverseIterator::PositionReverseIterator): New constructor.
- (PositionReverseIterator::next): Use _minindex as bound.
- (PositionReverseIterator::remaining): New method.
- * src/positions.cc (Positions::add, Positions::remove): Reset the
- useall flag.
- (Positions::print): Handle the useall case.
- * src/options.h (ALLCHARS): Remove.
- * src/options.cc (Options::~Options): Update.
- (Options::parse_options): Use Positions::set_useall().
- * src/keyword.h (KeywordExt::init_selchars_tuple,
- KeywordExt::init_selchars_multiset, KeywordExt::init_selchars_low):
- Remove use_all_chars argument.
- * src/keyword.cc (KeywordExt::init_selchars_low): Remove use_all_chars
- argument. Tell the position iterator to stop at _allchars_length.
- Remove special case code for -k'*'.
- (KeywordExt::init_selchars_tuple, KeywordExt::init_selchars_multiset):
- Remove use_all_chars argument.
- * src/search.h (Search::init_selchars_tuple): Remove use_all_chars
- argument.
- (Search::init_selchars_multiset): Likewise.
- * src/search.cc (Search::init_selchars_tuple): Remove use_all_chars
- argument.
- (Search::count_duplicates_tuple, Search::find_positions): Update.
- (Search::compute_alpha_unify): Remove special case code for -k'*'.
- (Search::init_selchars_multiset): Remove use_all_chars argument.
- (Search::count_duplicates_multiset): Update.
- (Search::find_alpha_inc): Remove special case code for -k'*'.
- (Search::prepare): Update.
- (Search::get_max_keysig_size): Update.
- * src/output.cc (Output::output_hash_function): Remove special case
- code for -k'*'.
- * tests/chill.exp: Regenerated.
-
-2002-12-11 Bruno Haible <bruno@clisp.org>
-
- Change the positions to be 0-based, instead of 1-based.
- * src/positions.h (Positions::LASTCHAR): Set to -1.
- (Positions::MAX_SIZE): New constant.
- (Positions::pointer): Change return type.
- (Positions::_positions): Change element type.
- (PositionIterator::EOS, PositionReverseIterator::EOS): Set to -2.
- * src/positions.icc (Positions::pointer): Change return type.
- (Positions::sort): Update.
- * src/positions.cc (Positions::contains, Positions::add,
- Positions::remove): Update.
- (Positions::print): Update. Fix off-by-one bug.
- * src/options.cc (Options::~Options): Update.
- (Options::parse_options): Set BAD_VALUE to -3. Update.
- * src/keyword.cc (KeywordExt::init_selchars_low): Update.
- * src/search.cc (Search::find_positions, Search::compute_alpha_unify,
- Search::find_alpha_inc): Update.
- * src/output.cc (Output::output_hash_function): Update. Don't emit
- a 'case' statement right after 'default:'.
- * tests/c-parse.exp: Regenerated.
- * tests/charsets.exp: Regenerated.
- * tests/cplusplus.exp: Regenerated.
- * tests/java.exp: Regenerated.
- * tests/languages.exp: Regenerated.
- * tests/modula2.exp: Regenerated.
- * tests/objc.exp: Regenerated.
-
-2002-12-10 Bruno Haible <bruno@clisp.org>
-
- * src/options.h: Reorder enum values.
- (Options::short_usage, Options::long_usage): Make static.
- * src/options.cc (Options::short_usage); No longer print a monster
- usage line.
- (Options::print_options): Improve output of options like
- --key-positions=1,2,$.
- (Options::~Options): Update.
-
- * src/options.h (UPPERLOWER): New enum value.
- * src/options.cc (Options::long_usage): Document option --ignore-case.
- (Options::~Options): Update.
- (long_options): Add option --ignore-case.
- (Options::parse_options): Handle option --ignore-case.
- * src/input.cc (Input::read_input): Recognize option %ignore-case.
- * src/keyword.h (KeywordExt::init_selchars_tuple,
- KeywordExt::init_selchars_multiset, KeywordExt::init_selchars_low):
- Add alpha_unify argument.
- * src/keyword.cc (KeywordExt::init_selchars_low): Add alpha_unify
- argument.
- (KeywordExt::init_selchars_tuple): Add alpha_unify argument.
- (KeywordExt::init_selchars_multiset): Add alpha_unify argument.
- * src/search.h (Search::compute_alpha_size,
- Search::compute_alpha_unify): New declarations.
- (Search::init_selchars_multiset): Add alpha_unify argument.
- (Search::_alpha_unify): New field.
- * src/search.cc (Search::compute_alpha_size,
- Search::compute_alpha_unify): New functions.
- (Search::init_selchars_tuple): Update.
- (Search::find_positions): Temporarily set _alpha_unify. Perform a
- case insensitive comparison if needed.
- (Search::init_selchars_multiset): Add alpha_unify argument.
- (Search::count_duplicates_multiset): Call compute_alpha_unify.
- (Search::find_alpha_inc): Temporarily set _alpha_unify. At the end,
- set _alpha_size and _alpha_unify.
- (Search::prepare): Update. Don't compute _alpga_size here.
- (Search::optimize): Propagate unified asso_values.
- (Search::~Search) Delete _alpha_unify.
- * src/output.cc (output_upperlower_strcmp, output_upperlower_strncmp,
- output_upperlower_memcmp): New functions.
- (Output_Compare_Strcmp::output_comparison,
- Output_Compare_Strncmp::output_comparison,
- Output_Compare_Memcmp::output_comparison): Use the case-insensitive
- comparison function if --ignore-case was given.
- (Output::output): Emit the auxiliary case-insensitive comparison
- function if needed.
- * tests/permutc2.gperf, tests/permutc2.exp: New files.
- * tests/Makefile.in (check-test): Also check permutc2.gperf.
- * tests/test-6.exp: Update.
- * doc/gperf.texi (Gperf Declarations): Document %ignore-case.
- (Input Details): Document option --ignore-case.
- * NEWS: Update.
-
- * src/search.cc (Search::optimize): Fill unused asso_values[] entries
- with a large value.
- * src/output.h (Output::Output): Remove occurrences argument.
- (Output::_occurrences): Remove field.
- * src/output.cc (Output::Output): Remove occurrences argument.
- (Output::output_hash_function): Ignore _occurrences.
- * src/main.cc (main): Don't pass the _occurrences to Output.
-
- * src/search.cc (Search::preprepare): Exit if keywords contain
- out-of-range characters.
-
- * src/search.cc (for): Define so as to avoid errors with old compilers.
-
- * src/options.h (SHAREDLIB): New enum value.
- * src/options.cc (Options::short_usage): Mention option -P.
- (Options::long_usage): Document option -P.
- (long_options): Add option --pic.
- (Options::parse_options): Handle option -P/--pic.
- * src/output.cc (output_keyword_blank_entries): When SHAREDLIB is
- specified, emit NULL pointers instead of "".
- (Output::output_lookup_function_body): When SHAREDLIB is specified
- and SWITCH and DUP and not specified, test the table entry against
- NULL before the string comparison.
- * tests/test-6.exp: Update.
- * doc/gperf.texi (Output Details): Document option -P.
- * NEWS: Update.
- Suggested by Ulrich Drepper.
-
-2002-12-08 Bruno Haible <bruno@clisp.org>
-
- * tests/permut2.gperf, tests/permut2.exp: New files.
- * tests/permut3.gperf, tests/permut3.exp: New files.
- * tests/charsets.gperf: New file, from Bruce Lilly.
- * tests/charsets.exp: New file.
- * tests/languages.gperf: New file, from Bruce Lilly.
- * tests/languages.exp: New file.
- * Makefile.in (check-test): Test them all.
-
- Completely new asso_values search algorithm.
- * src/search.h (Search::compute_occurrence, Search::clear_determined,
- Search::set_determined, Search::already_determined, Search::reorder):
- Remove functions.
- (Search::init_asso_values, Search::sort_by_occurrence,
- Search::compute_occurrence, Search::sort_by_occurrence,
- Search::has_collisions, Search::collision_prior_to): Remove functions.
- (Search::compute_partition, Search::count_possible_collisions,
- Search::unchanged_partition): New method declarations.
- (Search::_determined): Remove field.
- * src/search.cc (Search::prepare): Don't initialize _determined.
- (Search::compute_occurrence, greater_by_occurrence,
- Search::clear_determined, Search::set_determined,
- Search::already_determined, Search::reorder): Remove functions.
- (Search::init_asso_values, compute_disjoint_union,
- Search::sort_by_occurrence, Search::compute_occurrence,
- Search::sort_by_occurrence, Search::has_collisions,
- Search::collision_prior_to): Remove functions.
- (StackEntry): Remove class.
- (EquivalenceClass, Step): New classes.
- (equals, Search::compute_partition, delete_partition,
- Search::count_possible_collisions, Search::unchanged_partition): New
- functions.
- (Search::find_asso_values): Completely rewritten.
- (Search::find_good_asso_values): Don't call reorder().
- (Search::~Search): Don't free _determined.
- * src/keyword.h (KeywordExt::_occurrence): Remove field.
- * src/options.h (ORDER, FAST, OPT_CHOICE): Remove enum values.
- (Options::_iterations): Remove field.
- * src/options.icc (Options::get_iterations): Remove method.
- * src/options.cc (Options::long_usage): Remove mention of -f and -o.
- (Options::Options): Don't initialize _iterations.
- (Options::~Options): Update.
- (Options::parse_options): Do nothing for options -f, -o, -O.
- * doc/gperf.texi: (Contributors): Update.
- (Algorithmic Details): Remove options -f and -o. Update description
- of option -s.
- * tests/c-parse.exp, tests/chill.exp, tests/cplusplus.exp,
- tests/gpc.exp, tests/java.exp, tests/modula2.exp, tests/objc.exp,
- tests/test-4.exp): Regenerated, smaller than before.
- * tests/test-6.exp: Update.
- * NEWS: Update.
-
-2002-12-08 Bruno Haible <bruno@clisp.org>
-
- * src/search.h (Search::_alpha_size): Change type to 'unsigned int'.
- (Search::_asso_value_max): Likewise.
- * src/search.cc (Search::prepare_asso_values): Update.
- (Search::init_asso_values): Update.
- (Search::~Search): Update.
- * src/output.h (Output::Output): Change alpha_size type to
- 'unsigned int'.
- (Output::_alpha_size): Change type to 'unsigned int'.
- * src/output.cc (Output::Output): Change alpha_size type to
- 'unsigned int'.
- (Output::output_hash_function): Update.
-
-2002-12-07 Bruno Haible <bruno@clisp.org>
-
- * src/options.h (OPT_CHOICE): New enum value.
- * src/options.cc (Options::~Options): Update.
- (long_options): New option --optimized-collision-resolution.
- (Options::parse_options): Accept option -O.
- * src/search.h (Search::sort_by_occurrence): Change argument to
- 'unsigned int'.
- (Search::compute_occurrence, Search::sort_by_occurrence): New method
- declarations.
- * src/search.cc (Search::sort_by_occurrence): Change argument to
- 'unsigned int'.
- (Search::compute_occurrence, Search::sort_by_occurrence): New methods.
- (Search::find_asso_values): Implement OPT_CHOICE. More debugging
- output.
-
- * src/search.cc (Search::prepare_asso_values) [DEBUG]: Also print
- the keyword list in order.
- (Search::find_asso_values) [DEBUG]: Upon failure, print the union_set.
-
- * src/options.h (Options::get_size_multiple): Change return type to
- float.
- (Options::_size_multiple): Change type to float.
- * src/options.icc (Options::get_size_multiple): Change return type to
- float.
- * src/options.cc (Options::long_usage): Update description of option
- -s.
- (Options::~Options): Update.
- (Options::parse_options): For option -s, accept a fraction.
- * src/search.cc (Search::prepare_asso_values): Use get_size_multiple
- as it is.
- * tests/test-6.exp: Update.
- * doc/gperf.texi (Algorithmic Details): Update description of option
- -s.
-
-2002-12-04 Bruno Haible <bruno@clisp.org>
-
- Improve debugging output.
- * src/hash-table.h (Hash_Table::dump): New method.
- * src/hash-table.cc (Hash_Table::dump): New method, extracted from
- destructor.
- (Hash_Table::~Hash_Table): No longer print the contents.
- * src/positions.h (PositionReverseIterator): New class.
- * src/positions.icc (PositionReverseIterator::PositionReverseIterator,
- PositionReverseIterator::next): New methods.
- * src/search.cc (Search::find_positions): If debugging, print the
- result.
- (Search::find_alpha_inc): If debugging, print the result.
- (Search::prepare): Explicitly dump the hash table's contents here.
-
- Portability fixes.
- * src/positions.h (Positions::LASTCHAR, Positions::MAX_KEY_POS,
- PositionIterator::EOS): Define as compile-time constants using enum.
- * src/bool-array.cc (Bool_Array::~Bool_Array): Remove const qualifier
- of pointer to be deleted.
- * src/input.cc (Input::~Input): Likewise.
- * src/keyword.cc (KeywordExt::delete_selchars): Likewise.
- * src/main.cc (main): Likewise.
- * src/hash-table.cc (Hash_Table::~Hash_Table): Limit scope of 'for'
- variables.
- * src/search.cc (Search::prepare_asso_values): Use a static_cast to
- convert from time_t to long. This is possible because ISO C 99 says
- time_t is a numeric type.
-
-2002-11-20 Bruno Haible <bruno@clisp.org>
-
- * src/search.cc (Search::find_asso_values): Avoid gcc warnings about
- uninitialized variables.
-
- Implement backtracking.
- * src/search.h (Search::has_collisions): Renamed from
- Search::less_collisions. Return a boolean.
- * src/search.cc (Search::has_collisions): Renamed from
- Search::less_collisions. Return a boolean.
- (StackEntry): Remove field _collisions_so_far.
- (Search::find_asso_values): Backtrack when encountering an unresolved
- collision. Assume collisions_so_far is always zero.
- (Search::optimize): Exit if there are accidental duplicates at the end.
- * src/output.cc (Output::num_hash_values): Simply return the list
- length.
- (Output::output_keylength_table): Remove handling of accidental
- duplicates.
- (Output::output_keyword_table, Output::output_lookup_array): Likewise.
- (output_switch_case, output_switches): Likewise.
- * doc/gperf.texi (Algorithmic Details): Adjust description of options
- -D, -f, -o, -r.
- (Bugs): Remove note about missing backtracking.
- (Projects): Likewise.
-
-2002-11-19 Bruno Haible <bruno@clisp.org>
-
- Prepare for backtracking.
- * src/search.h (Search::try_asso_value, Search::change_some_asso_value):
- Remove declarations.
- (Search::less_collisions, Search::collision_prior_to): New declarations.
- (Search::_fewest_collisions, Search::_union_set, Search::_num_done):
- Remove fields.
- * src/search.cc (Search::prepare_asso_values): Don't initialize
- _union_set.
- (Search::try_asso_value, Search::change_some_asso_value): Remove
- methods.
- (Search::less_collisions, Search::collision_prior_to): New methods.
- (StackEntry): New class.
- (Search::find_asso_values): Reorganized to use pseudo-recursion.
- (Search::~Search): Don't free _union_set.
-
- * src/search.h (Search::find_good_asso_values): New declaration.
- * src/search.cc: Add comments about the basic structure of the
- algorithm.
- (Search::find_positions): Move the option[POSITIONS] test to here.
- (Search::find_good_asso_values): New method, extracted from
- Search::optimize.
- (Search::optimize): Remove option[POSITIONS] test. Call
- find_good_asso_values.
-
-2002-11-17 Bruno Haible <bruno@clisp.org>
-
- * src/options.cc (Options::parse_options): Include copyright notice
- and authors in --version output.
-
- Avoid artificial duplicates.
- * src/keyword.h (KeywordExt::init_selchars_tuple): New declaration.
- (KeywordExt::init_selchars_multiset): Renamed from
- KeywordExt::init_selchars.
- (KeywordExt::init_selchars_low): New declaration.
- * src/keyword.cc (KeywordExt::init_selchars_low): Renamed from
- KeywordExt::init_selchars. Add alpha_inc argument. Remove sorting.
- (KeywordExt::init_selchars_tuple): New method.
- (KeywordExt::init_selchars_multiset): New method, replaces
- KeywordExt::init_selchars.
- * src/search.h (Search::init_selchars_tuple): Renamed from
- Search::init_selchars.
- (Search::count_duplicates_tuple): Renamed from Search::count_duplicates.
- (Search::init_selchars_multiset, Search::count_duplicates_multiset,
- Search::find_alpha_inc): New declarations.
- (Search::_alpha_inc): New field.
- (Search::_alpha_size, Search::_occurrences, Search::_asso_values,
- Search::_determined): Make non-const.
- * src/search.cc (Search::Search): Don't initialize _key_positions,
- _alpha_size, _occurrences, _asso_values, _determined here.
- (Search::init_selchars_tuple): Renamed from Search::init_selchars.
- (Search::count_duplicates_tuple): Renamed from Search::count_duplicates.
- (Search::find_positions): Update.
- (Search::init_selchars_multiset, Search::count_duplicates_multiset,
- Search::find_alpha_inc): New methods.
- (Search::prepare): Move preprepare, find_positions calls away.
- Initialize _alpha_size, _occurrences, _asso_values, _determined here.
- (Search::optimize): Call preprepare, find_positions here. Initialize
- _key_positions here.
- (Search::~Search): Deallocate _alpha_inc.
- * src/output.cc (Output::Output): Add alpha_inc argument.
- (Output::output_hash_function): Use _alpha_inc.
- * src/output.h (Output::Output): Add alpha_inc argument.
- (Output::_alpha_inc): New field.
- * src/main.cc (main): Pass _alpha_inc from Search to Output.
- * tests/chill.exp: Update.
- * doc/gperf.texi (Algorithmic Details): Remove description of
- artificial duplicates.
-
- * src/keyword.h (KeywordExt::_selchars): Change type to
- 'const unsigned int *'.
- * src/keyword.cc (sort_char_set): Change argument type to
- 'unsigned int *'.
- (KeywordExt::init_selchars): Update.
- * src/search.h (Search::sort_by_occurrence): Change argument type to
- 'unsigned int *'.
- (Search::try_asso_value): Change argument type to 'unsigned int'.
- (Search::_union_set): Change type to 'unsigned int *'.
- * src/search.cc (Search::prepare, Search::compute_occurrence,
- Search::set_determined, Search::already_determined,
- Search::prepare_asso_values, Search::compute_hash): Update.
- (compute_disjoint_union): Change argument types to 'unsigned int *'.
- (Search::sort_by_occurrence): Likewise.
- (Search::try_asso_value): Change argument type to 'unsigned int'.
- (Search::change_some_asso_value, Search::~Search): Update.
- * src/hash-table.cc (Hash_Table::~Hash_Table, Hash_Table::equal,
- Hash_Table::insert): Update.
-
- * src/positions.h: New file, extracted from options.h.
- * src/positions.icc: New file, extracted from options.icc.
- * src/positions.cc: New file, extracted from options.cc.
- * src/options.h: Include positions.h. Move classes Positions and
- PositionsIterator away.
- * src/options.icc: Move classes Positions and PositionsIterator away.
- * src/options.cc: Move class Positions away.
- * src/keyword.cc: Include positions.h instead of options.h.
- * src/output.h: Include positions.h instead of options.h.
- * src/search.h: Include positions.h instead of options.h.
- * src/Makefile.in (OBJECTS): Add positions.o.
- (POSITIONS_H): New variable.
- (OPTIONS_H, SEARCH_H, OUTPUT_H, keyword.o): Use it.
- (positions.o): New rule.
-
- * src/options.h (POSITIONS): New enum value.
- (Positions::Positions): New copy constructor.
- (Positions::operator=, Positions::contains, Position::add,
- Positions::remove, Positions::print): New method declaration.
- (Options::get_max_keysig_size): Remove method.
- * src/options.icc (Positions::Positions): New copy constructor.
- (Positions::operator=): New method.
- (Options::get_max_keysig_size): Remove method.
- * src/options.cc (Options::Options): Initialize _key_positions
- trivially.
- (Options::parse_options): Option -k sets POSITIONS.
- (Positions::contains, Positions::add, Positions::remove,
- Positions::print): New methods.
- * src/hash-table.cc (Hash_Table::~Hash_Table): Compute the field
- width explicitly, instead of using Options::get_max_keysig_size.
- * src/keyword.h (KeywordExt::init_selchars): Add arguments
- use_all_chars, positions.
- (KeywordExt::delete_selchars): New declaration.
- * src/keyword.cc (KeywordExt::init_selchars): Add arguments
- use_all_chars, positions. Remove error message if there are no key
- positions.
- (KeywordExt::delete_selchars): New method.
- * src/search.h: Include options.h.
- (Search::preprepare, Search::init_selchars, Search::delete_selchars,
- Search::count_duplicates, Search::find_positions): New declarations.
- (Search::_key_positions): New field.
- * src/search.cc (Search::Search): Initialize _key_positions.
- (Search::preprepare, Search::init_selchars, Search::delete_selchars,
- Search::count_duplicates, Search::find_positions): New functions.
- (Search::prepare): Call preprepare and find_positions. Tweak error
- message.
- (Search::get_max_keysig_size): Use _key_positions instead of
- option.get_key_positions().
- (Search::optimize): Tweak error message.
- * src/output.h: Include options.h.
- (Output::Output): Add Positions argument.
- (Output::_key_positions): New field.
- * src/output.cc (Output::Output): Add Positions argument.
- (Output::output_hash_function): Omit the table if there are no
- positions at all. Use _key_positions instead of
- option.get_key_positions().
- (Output::output): Output the computed positions as a comment.
- * src/main.cc (main): Pass the Positions from Searcher to Output.
- * src/Makefile.in (SEARCH_H, OUTPUT_H): Include OPTIONS_H.
- * tests/Makefile.in (check-test): Pass key positions explicitly.
- * tests/gpc.exp: Update.
- * tests/test-4.exp: Update.
- * doc/gperf.texi (Algorithmic Details): Mention that -k is not needed
- usually.
-
-2002-11-16 Bruno Haible <bruno@clisp.org>
-
- * src/options.h (Options::get_slot_name): Renamed from
- Options::get_key_name.
- (Options::set, Options::set_language, Options::set_total_switches,
- Options::set_function_name, Options::set_slot_name,
- Options::set_class_name, Options::set_hash_name,
- Options::set_wordlist_name, Options::set_delimiters): New method
- declarations.
- (Options::_language): New field.
- (Options::_slot_name): Renamed from Options::_key_name.
- * src/options.icc (Options::set): New method.
- (Options::get_slot_name): Renamed from Options::get_key_name.
- * src/options.cc (DEFAULT_FUNCTION_NAME): Renamed from DEFAULT_NAME.
- (DEFAULT_SLOT_NAME): Renamed from DEFAULT_NAME.
- (Options::Options): Initialize _language. Update.
- (Options::~Options): Update.
- (Options::set_language, Options::set_total_switches,
- Options::set_function_name, Options::set_slot_name,
- Options::set_class_name, Options::set_hash_name,
- Options::set_wordlist_name, Options::set_delimiters): New methods.
- (Options::parse_options): Call set_language. Update.
- * src/input.cc (is_declaration, is_declaration_with_arg,
- is_define_declaration): New functions.
- (Input::read_input): Accept %DECL declarations.
- * src/output.cc (Output::output_lookup_function_body): Update.
- * doc/gperf.texi (Declarations): Add new subnodes.
- (User-supplied Struct, Gperf Declarations, C Code Inclusion): New
- nodes.
- (Keywords, Output Format, Binary Strings, Options): Mention %
- declarations as being equivalent to the command line options.
-
- * src/options.cc (Options::long_usage): Rename options -H, -N, -l, -G.
- (long_options): Add --hash-function-name, --lookup-function-name,
- --compare-lengths.
- * doc/gperf.texi (Output Details): Rename options -H, -N, -l, -G.
- * tests/test-6.exp: Update.
-
- * src/options.cc (DEFAULT_DELIMITERS): Remove newline.
- * src/options.cc (Options::long_usage): Change default --delimiters.
- * doc/gperf.texi (Input Details): Likewise.
- * tests/test-6.exp: Update.
-
- * doc/gperf.texi: Move description of option -l from section
- Algorithmic Details to section Output Details.
- * src/options.cc (Options::long_usage): Likewise.
- * tests/test-6.exp: Update.
-
-2002-11-12 Bruno Haible <bruno@clisp.org>
-
- * src/options.h (Output::get_output_file_name): New method.
- (Output::_output_file_name): New field.
- * src/options.icc (Options::get_output_file_name): New method.
- * src/options.cc (Options::long_usage): Document option --output-file.
- (Options::Options): Initialize _output_file_name.
- (long_options): Add --output-file.
- (Options::parse_options): Handle it.
- * src/main.cc (main): Open the output file if given by name.
- * doc/gperf.texi (Output File): New section.
- * tests/test-6.exp: Update.
-
-2002-11-10 Bruno Haible <bruno@clisp.org>
-
- * src/input.cc (pretty_input_file_name): New function.
- (read_input): Use it in all error and warning messages.
-
- * src/keyword.h (Keyword::_lineno): New field.
- * src/input.h (Input::_struct_decl_lineno): New field.
- * src/input.cc (Input::read_input): Set _struct_decl_lineno. Fill
- each keyword's _lineno field.
- * src/main.cc (main): Pass _struct_decl_lineno from Input to Output.
- * src/output.h (Output::Output) Add struct_decl_lineno argument.
- (Output::_struct_decl_lineno): New field.
- * src/output.cc (Output::Output) Add struct_decl_lineno argument.
- (output_keyword_entry): Emit #line directive before table entry.
- (Output::output): Emit #line directive before _struct_decl.
-
- Fix memory leaks.
- * src/keyword.h (empty_string): New declaration.
- * src/keyword.cc (empty_string): New variable.
- * src/input.h (Input::_input): Make public.
- (Input::_input_end): New field.
- * src/input.cc (read_input): When removing leading whitespace from
- struct_decl, reallocate it. For rest, use empty_string instead of "".
- Set _input_end.
- (Input::~Input): Delete _struct_decl, _struct_tag, _return_type.
- * src/search.cc (Search::prepare): When removing an element from
- the keyword list, delete the list node.
- (Search::~Search): Delete _occurrences, _asso_values.
- * src/main.cc (main): Between Search::~Search and Input::~Input,
- destroy the keyword list.
-
- Rewrite the input routines.
- * src/input.h: Don't include read-line.h.
- (Input): Don't inherit from class Read_Line.
- (Input::read_keys, Input::strcspn, Input::set_output_types,
- Input::get_array_type, Input::save_include_src,
- Input::get_special_input): Remove declarations.
- (Input::read_input): New declaration.
- (Input::_struct_decl): Renamed from Input::_array_type.
- (Input::_verbatim_declarations): Renamed from Input::_include_src.
- (Input::_verbatim_code): Replaces Input::_additional_code.
- * src/input.cc: Completely rewritten.
- * src/output.h (Output::Output): Update the verbatim_* arguments.
- (Output::_struct_decl): Renamed from Output::_array_type.
- (Output::_verbatim_declarations): Renamed from Output::_include_src.
- (Output::_verbatim_code): Replaces Output::_additional_code.
- * src/output.cc (Output::Output): Update the verbatim_* arguments.
- (Output::output): Output the verbatim_* code pieces with #line.
- * src/main.cc (main): Call Input::read_input instead of
- Input::read_keys. Update Output::Output arguments.
- * src/read-line.h: Remove file.
- * src/read-line.cc, src/read-line.icc: Remove files.
- * src/Makefile.in (OBJECTS): Remove read-line.o.
- (READ_LINE_H): Remove variable.
- (INPUT_H): Update.
- (read-line.o): Remove rule.
- * doc/gperf.texi (Declarations): Correct the example.
- (Keywords): Mention that lines starting with % are forbidden here.
- * tests/c-parse.exp: Update.
- * tests/cplusplus.exp: Update.
- * tests/gpc.exp: Update.
- * tests/java.exp: Update.
- * tests/objc.exp: Update.
- * tests/test-4.exp: Update.
-
- * src/options.h (Options::get_input_file_name): New declaration.
- (Options::_input_file_name): New field.
- * src/options.icc (Options::get_input_file_name): New method.
- * src/options.cc (Options::Options): Initialize _input_file_name.
- (Options::parse_options): Don't open input file, only store it in
- _input_file_name.
- * src/main.cc (main): Open input file here.
- Print an error message upon write error on the output file.
-
- Upgrade to autoconf-2.52.
- * configure.in: Use AC_CONFIG_SUBDIRS instead of AC_OUTPUT_SUBDIRS.
- * Makefile.devel (configure, lib/configure, src/configure,
- tests/configure, doc/configure): Use autoconf-2.52.
-
-2002-11-09 Bruno Haible <bruno@clisp.org>
-
- * doc/gperf.texi: Talk about "bytes" instead of "characters". Talk
- about "keywords", not "keys". Talk about "input file", not "keyfile".
- (@menu): Fix a menu entry.
- (Contributors): Don't mention cperf.
- (Motivation): Fix an off-by-one error in the definition of "minimal".
- Mention GNU Java. Recommend http URL instead of anonymous ftp.
- (Search Structures): Mention GNU Java.
- (Output Format): Drop reference to node 'Implementation'.
- (Output Details): Talk about "slot-name" instead of "key name".
- (Algorithmic Details): Talk about "selected byte positons", not
- "key positions". Upper limit is now 255. Explain a third reason
- why duplicates can occur. Describe negative effects of
- --occurrence-sort.
- (Implementation): Remove chapter.
-
-2002-11-07 Bruno Haible <bruno@clisp.org>
-
- * src/bool-array.cc (Bool_Array::~Bool_Array): Free _storage_array.
- * src/search.cc (Search::~Search): Free _union_set, _determined.
-
- * tests/Makefile.in (check-test): Don't redirect stderr.
-
-2002-11-05 Bruno Haible <bruno@clisp.org>
-
- * src/keyword-list.h (mergesort_list): New declarations.
- * src/keyword-list.cc (Keyword_Comparison): New type.
- (merge, mergesort_list): New functions, moved here from search.cc.
- * src/search.h (Search::merge, Search::merge_sort): Remove methods.
- (Search::_occurrence_sort, Search::_hash_sort): Remove fields.
- * src/search.cc (Search::merge, Search::merge_sort): Remove methods.
- (greater_by_occurrence, less_by_hash_value): New functions.
- (Search::reorder, Search::sort): Use mergesort_list.
-
-2002-11-04 Bruno Haible <bruno@clisp.org>
-
- * src/options.h (Options::_asso_iterations): New field.
- (Options::get_asso_iterations): New method declaration.
- * src/options.icc (Options::get_asso_iterations): New method.
- * src/options.cc (Options::short_usage): Mention j<jump> and m<num>.
- (Options::long_usage): Document option -m.
- (Options::Options): Initialize _asso_iterations.
- (Options::~Options): Print _asso_iterations too.
- (long_options): Add --multiple-iterations.
- (Options::parse_options): Handle option -m.
- * src/keyword-list.h (copy_list, delete_list): New declarations.
- * src/keyword-list.cc (copy_list, delete_list): New functions.
- * src/search.h (Search::_initial_asso_value, Search::_jump): New fields.
- * src/search.cc (Search::prepare_asso_values): Initialize
- _initial_asso_value and _jump here.
- (Search::init_asso_values): Use _initial_asso_value.
- (Search::try_asso_value): Use _jump.
- (Search::optimize): If option -m was given, iterate over different
- values for _initial_asso_value and _jump.
- * doc/gperf.texi (Algorithmic Details): Document option -m.
- * tests/test-6.exp: Update.
-
-2002-11-03 Bruno Haible <bruno@clisp.org>
-
- Bug fix: When option -j 0 was used without option -r, the output was
- not random.
- * src/search.h (Search::prepare_asso_values): New method declaration.
- * src/search.cc (Search::prepare_asso_values): New method, extracted
- from Search::init_asso_values. Call srand also when "-j 0" was given.
- (Search::optimize): Call prepare_asso_values().
-
- * src/hash-table.h (Hash_Table::_ignore_length, Hash_Table::equal):
- Declare as const.
- * src/hash-table.cc (Hash_Table::equal): Declare as const.
- * src/input.h (Input::_factory): Declare as const.
- * src/keyword-list.h (Keyword_List::first, KeywordExt_List::first):
- Declare as const.
- * src/keyword-list.icc (Keyword_List::first, KeywordExt_List::first):
- Declare as const.
- * src/output.h (Output::num_hash_values, Output::output_constants,
- Output::output_hash_function, Output::output_keylength_table,
- Output::output_keyword_table, Output::output_lookup_array,
- Output::output_lookup_tables, Output::output_lookup_function_body,
- Output::output_lookup_function, Output::_array_type,
- Output::_additional_code, Output::_include_src, Output::_total_keys,
- Output::_total_duplicates, Output::_max_key_len, Output::_min_key_len):
- Declare as const.
- * src/output.cc (Output::num_hash_values, Output::output_constants,
- Output::output_hash_function, Output::output_keylength_table,
- Output::output_keyword_table, Output::output_lookup_array,
- Output::output_lookup_tables, Output::output_lookup_function_body,
- Output::output_lookup_function): Declare as const.
- * src/search.h (Search::merge, Search::merge_sort,
- Search::compute_occurrence, Search::already_determined,
- Search::keyword_list_length, Search::max_key_length,
- Search::get_max_keysig_size, Search::compute_hash,
- Search::sort_by_occurrence): Declare as const.
- * src/search.cc (Search::merge, Search::merge_sort,
- Search::compute_occurrence, Search::already_determined,
- Search::keyword_list_length, Search::max_key_length,
- Search::get_max_keysig_size, Search::compute_hash,
- Search::sort_by_occurrence): Declare as const.
-
- * src/output.cc (Output::output): Set char_to_index to a cast in all
- cases. Avoids gcc warnings on the generated code.
-
- * src/output.cc (Output_Enum): Prepend an underscore to field names.
- (Output_Expr1): Likewise.
- (Output::output_hash_function): Simplify the special case for "-k 1,$".
-
- * src/search.h (Search::init_asso_values, Search::find_asso_values):
- New declarations.
- (Search::try_asso_value): Renamed from Search::affects_prev.
- (Search::change_some_asso_value): Renamed from Search::change.
- (Search::set_asso_max, Search::get_asso_max): Remove methods.
- (Search::_union_set): New field.
- * src/search.cc (Search::init_asso_values): New method, extracted
- from Search::optimize.
- (Search::try_asso_value): Renamed from Search::affects_prev. Take the
- iteration count as argument.
- (Search::change_some_asso_value): Renamed from Search::change. Don't
- make union_set static. Don't increment _fewest_collisions here.
- (Search::find_asso_values): New method, extracted from
- Search::optimize.
- (Search::optimize); Update.
-
- * src/search.h (Search::compute_hash): Renamed from Search::hash.
- (Search::compute_disjoint_union): Remove declaration.
- (Search::sort_by_occurrence): Renamed from Search::sort_set.
- * src/search.cc (Search::compute_hash): Renamed from Search::hash.
- (compute_disjoint_union): Renamed from Search::compute_disjoint_union.
- (Search::sort_by_occurrence): Renamed from Search::sort_set.
- (Search::change): Simplify loop.
-
- * src/search.h (Search::clear_determined): New declaration.
- * src/search.cc (Search::clear_determined): New method.
- (Search::already_determined): Optimize.
- (Search::reorder): Even when the next keyword after the current one
- is completely determined, move all determined keywords after the
- current one.
-
- Compute the occurrences after removal of duplicates, not before.
- * src/keyword.h (KeywordExt::init_selchars): Remove occurrences
- argument.
- * src/keyword.cc (KeywordExt::init_selchars): Likewise.
- * src/search.cc (Search::prepare): Reorder the code. Compute the
- occurrences after removal of duplicates.
- (Search::merge_sort): Optimize the loop.
- (Search::compute_occurrence): Renamed from Search::get_occurrence.
- * src/search.h (Search::compute_occurrence): Renamed from
- Search::get_occurrence.
- * tests/chill.exp: Regenerated.
-
- Bug fix: The hash table could fail to detect duplicates, between
- keywords of different length, when option -n (option[NOLENGTH]) was
- given.
- * src/hash-table.h (Hash_Table::Hash_Table): Pass table size, not
- vector and vector size as arguments.
- (Hash_Table::_log_size): New field.
- (Hash_Table::equal): New declaration.
- * src/hash-table.cc (size_factor): New variable.
- (Hash_Table::Hash_Table): Pass table size, not vector and vector size
- as arguments. Allocate the vector here.
- (Hash_Table::~Hash_Table): Deallocate the vector here.
- (Hash_Table::equal): New function.
- (Hash_Table::insert): Use it. Don't use item->_allchars_length for the
- increment if _ignore_length is true.
- * src/search.cc (TABLE_MULTIPLE): Remove variable.
- (Search::prepare): Update.
-
-2002-11-02 Bruno Haible <bruno@clisp.org>
-
- Provide documentation also in PDF format.
- * doc/Makefile.in (pdfdir, TEXI2PDF): New variables.
- (all): Depend on pdf.
- (pdf, gperf.pdf): New rules.
- (maintainer-clean): Remove the PDF file.
-
- * src/keyword-list.icc: New file, extracted from keyword-list.h.
- * src/keyword-list.h: Include keyword-list.icc. Move inline methods
- to there.
- * src/keyword-list.cc: Include keyword-list.icc.
- * src/Makefile.in (KEYWORD_LIST_H): Add keyword-list.icc.
-
- * lib/hashpjw.h (hashpjw): Change argument type to 'unsigned char *'.
- * lib/hash.cc (hashpjw): Likewise.
- * src/keyword.icc: New file.
- * src/keyword.h: Include keyword.icc.
- (KeywordExt::_selchars): Change type to 'unsigned char *'.
- * src/keyword.cc: Include keyword.icc.
- (Keyword::Keyword, KeywordExt::KeywordExt): Move to keyword.icc.
- (sort_char_set): Change argument type to 'unsigned char *'.
- (KeywordExt::init_selchars): Update.
- * src/search.h (Search::compute_disjoint_union): Change argument types
- to 'unsigned char *'.
- (Search::sort_set): Likewise.
- (Search::affects_prev): Change argument type to 'unsigned char'.
- * src/search.cc (Search::prepare): Initialize _duplicate_link here.
- (Search::get_occurrence, Search::set_determined,
- Search::already_determined, Search::hash): Update.
- (Search::compute_disjoint_union): Change argument types to
- 'unsigned char *'.
- (Search::sort_set): Likewise.
- (Search::affects_prev): Change argument type to 'unsigned char'.
- (Search::change): Update.
- * src/Makefile.in (KEYWORD_H): Add keyword.icc.
-
- * src/options.cc (Options::parse_options): Fix error message.
-
- * src/read-line.h (Read_Line::Read_Line): Make FILE* argument
- mandatory. Move body to read-line.icc.
- * src/read-line.icc (Read_Line::Read_Line): New constructor.
- * src/input.h (Input::Input): Add FILE* argument.
- * src/input.cc (Input::Input): Likewise.
- * src/main.cc (main): Pass stdin to Input constructor.
-
- * src/options.h (DEFAULTCHARS): Remove.
- (Positions::MAX_KEY_POS): Set to 255.
- (Positions::_positions): Increase array size.
- (PositionIterator::EOS): Set to -1.
- (PositionIterator::_index): Change type to 'unsigned int'.
- * src/options.icc (Positions::Positions): Don't store
- PositionIterator::EOS.
- (PositionIterator::next): Produce PositionIterator::EOS here.
- * src/options.cc (Options::long_usage): Use MAX_KEY_POS, not
- MAX_KEY_POS-1.
- (PositionStringParser): Rename field _size to _in_range. Rename
- field _curr_value to _range_curr_value. Rename field _upper_bound
- to _range_upper_bound.
- (PositionStringParser::nextPosition): Comments.
- (Options::Options): Update.
- (Options::~Options): Update.
- (long_options): Use NULL, not 0.
- (Options::parse_options): Set BAD_VALUE to -2; -1 is now EOS. Bug fix:
- Check against array overflow when more than MAX_KEY_POS positions are
- given. Don't store PositionIterator::EOS.
- Check against extra arguments before opening the input file.
- * src/output.cc (Output::output_hash_function): Change test which
- was for option[DEFAULTCHARS].
- * tests/test-6.exp: Update.
-
- * src/options.h (Options::get_delimiters): Renamed from
- Options::get_delimiter.
- * src/options.icc (Options::get_delimiters): Renamed from
- Options::get_delimiter.
- * src/input.cc (Input::read_keys): Update.
-
- Bug fix.
- * src/options.cc (Options::print_options): Escape backquote inside
- double-quoted strings.
-
- Bug fix.
- * src/keyword.cc (KeywordExt::init_selchars): Avoid comparison with
- uninitialized member variable. Found with 'valgrind'.
-
- * src/version.cc: Include version.h.
- * src/Makefile.in (OBJECTS): Reorder.
- (KEYWORD_H, KEYWORD_LIST_H, INPUT_H, SEARCH_H, OUTPUT_H): New
- variables.
- (HASH_TABLE_H): Update.
- (options.o, read-line.o, keyword.o, keyword-list.o, input.o, search.o,
- output.o, main.o): Update dependencies.
-
- * src/vectors.h: Remove file.
- * src/vectors.cc: Remove file.
- * src/search.h: Don't include vectors.h.
- (Search): Don't inherit from Vectors. New fields _alpha_size,
- _occurrences, _asso_values.
- (Search::_determined, Search::get_occurrence, Search::set_determined,
- Search::already_determined, Search::hash, Search::sort_set): Make
- nonstatic.
- * src/search.cc (Search::Search): Initialize _alpha_size, _occurrences,
- _asso_values, _determined.
- (Search::optimize, Search::~Search): Update.
- * src/output.h: Don't include vectors.h.
- (Output): Remove field _v. New fields _alpha_size, _occurrences,
- _asso_values.
- (Output::Output): Replace Vectors* argument with alpha_size,
- occurrences, asso_values.
- * src/output.cc (Output::Output): Replace Vectors* argument with
- alpha_size, occurrences, asso_values.
- (Output::output_hash_function): Update.
- * src/main.cc (main): Don't set Vectors::ALPHA_SIZE.
- Pass _alpha_size, _occurrences, _asso_values from Search to Output.
- * src/keyword.h: Don't include vectors.h.
- * src/Makefile.in (OBJECTS): Remove vectors.o.
- (VECTORS_H): Remove variable.
- (vectors.o): Remove rule.
-
- * src/search.h: New file, combines src/key-list.h, src/gen-perf.h.
- * src/search,cc: New file, combines src/key-list.cc, src/gen-perf.cc.
- * src/key-list.h: Remove file.
- * src/key-list.cc: Remove file.
- * src/gen-perf.h: Remove file.
- * src/gen-perf.cc: Remove file.
- * src/main.cc (KeywordExt_Factory): Moved here from gen-perf.cc.
- (main): Inline some code from gen-perf.cc.
- * src/keyword.h (KeywordExt::init_selchars): Take the occurrences
- vector as argument.
- * src/keyword.cc (KeywordExt::init_selchars): Take the occurrences
- vector as argument.
- * src/input.cc (Input::set_output_types): Initialize _array_type,
- _return_type, _struct_tag.
- (Input::read_keys): Initialize _additional_code.
- * src/Makefile.in (OBJECTS): Add search.o.
- Remove key-list.o, gen-perf.o.
- (KEY_LIST_H, GEN_PERF_H): Remove variables.
- (gen-perf.o, key-list.o): Remove rules.
- (search.o): New rule.
-
- * *, */*: Update copyright notice to GPL version 2.
-
- * src/keyword-list.h (Keyword_List): New class.
- (KeywordExt_List): Inherit from it.
- * src/keyword-list.cc (Keyword_List::Keyword_List): New constructor.
- (KeywordExt_List::KeywordExt_List): Update.
- * src/input.h (Input::Input): Add Keyword_Factory argument.
- (Input::_factory): New field.
- (Input::_head): Change type to Keyword_List*.
- (Input::parse_line): New declaration.
- * src/input.cc (Input::Input): New constructor.
- (Input::parse_line): Renamed from parse_line. Use the _factory.
- (Input::read_keys): Update.
- * src/key-list.cc (KeywordExt_Factory): New class.
- (Key_List::read_keys): Pass a KeywordExt_Factory as Input constructor
- argument.
-
- Avoid g++ -Wold-style-cast warnings.
- * src/bool-array.icc: Use new-style casts.
- * src/gen-perf.cc: Likewise.
- * src/input.cc: Likewise.
- * src/key-list.cc: Likewise.
- * src/keyword.cc: Likewise.
- * src/options.cc: Likewise.
- * src/output.cc: Likewise.
- * src/hash-table.cc: Likewise. Remove (char *) cast in memset argument.
-
- * src/keyword-list.h (KeywordExt_List): Don't inherit from KeywordExt.
- (KeywordExt_List::KeywordExt_List): Take a KeywordExt* as argument.
- (KeywordExt_List::_car): New field.
- (KeywordExt_List::first): Use it.
- * src/keyword-list.cc (KeywordExt_List::KeywordExt_List): Take a
- KeywordExt* as argument.
- * src/input.cc (parse_line): Create the KeywordExt separately.
-
- Start using bool.
- * src/bool-array.h (Bool_Array::set_bit): Change return type to bool.
- * src/bool-array.icc (Bool_Array::set_bit): Likewise.
- * src/gen-perf.h (Gen_Perf::affects_prev): Likewise.
- * src/gen-perf.cc (Gen_Perf::affects_prev): Likewise.
- * src/hash-table.h (Hash_Table::_ignore_length): Change type to bool.
- (Hash_Table::Hash_Table): Change 3rd argument type to bool.
- * src/hash-table.cc (Hash_Table::Hash_Table): Likewise.
- * src/input.h (Input::_additional_code): Change type to bool.
- * src/input.cc (Input::read_keys): Update.
- * src/key-list.h (Key_List::_occurrence_sort, Key_List::_hash_sort,
- Key_List::_additional_code): Change type to bool.
- (Key_List::_determined): Change element type to bool.
- (Key_List::already_determined): Change return type to bool.
- * src/key-list.cc (Key_List::_determined): Change element type to bool.
- (Key_List::set_determined): Update.
- (Key_List::already_determined): Change return type to bool.
- (Key_List::reorder, Key_List::sort, Key_List::Key_List): Update.
- * src/options.h (Positions::sort): Change return type to bool.
- (Options::operator[]): Likewise.
- * src/options.icc (Positions::sort): Change return type to bool.
- (Options::operator[]): Likewise.
- * src/output.h (Output::Output): Change 5th argument type to bool.
- (Output::_additional_code): Change type to bool.
- * src/output.cc (Output::Output): Change 5th argument type to bool.
-
-2002-10-16 Bruno Haible <bruno@clisp.org>
-
- * src/*.h: Align all member names at column 24.
-
-2002-10-15 Bruno Haible <bruno@clisp.org>
-
- * src/input.h: New file.
- * src/input.cc: New file, extracted from key-list.cc.
- * src/key-list.h (Key_List): Don't inherit from Read_Line.
- (Key_List::get_special_input,
- Key_List::save_include_src, Key_List::get_array_type,
- Key_List::strcspn, Key_List::set_output_types): Remove methods.
- * src/key-list.cc (Key_List::get_special_input,
- Key_List::save_include_src, Key_List::get_array_type,
- Key_List::strcspn, Key_List::set_output_types, parse_line): Move to
- src/input.cc.
- (Key_List::read_keys): Use Input::read_keys.
- (Key_List::Key_List): Update.
- * src/gen-perf.cc: Update.
- * src/Makefile.in (OBJECTS): Add input.o.
- (input.o): New rule.
-
-2002-10-14 Bruno Haible <bruno@clisp.org>
-
- * src/options.cc: Don't include "vector.h".
- (Options::parse_options): Don't initialize Vectors::ALPHA_SIZE here.
- * src/vectors.cc (Vectors::ALPHA_SIZE): Don't initialize here.
- * src/gen-perf.cc (Gen_Perf::Gen_Perf): Initialize Vectors::ALPHA_SIZE.
-
- * src/options.h (Positions): New class.
- (PositionIterator): New class.
- (Options::parse_options): Renamed from Options::operator().
- (Options::get_asso_max, Options::set_asso_max): Move to class Key_List.
- (Options::reset, Options::get): Remove, replaced by class
- PositionIterator.
- (Options::get_initial_asso_value): Renamed from Options::initial_value.
- (Options::key_sort): Remove, replaced by Positions::sort.
- (Options): Make all fields and methods non-static.
- * src/options.icc (Positions::Positions, Positions::operator[],
- Positions::get_size, Positions::pointer, Positions::set_size,
- Positions::sort, PositionIterator::PositionIterator,
- PositionIterator::next): New methods.
- (Options::get_initial_asso_value): Renamed from Options::initial_value.
- (Options::get_size_multiple): New method.
- (Options::get_key_positions): New method.
- (Options::get_max_keysig_size): Implement using _key_positions.
- * src/options.cc (Options::long_usage): Split big string into small
- pieces.
- (PositionStringParser): Prefix field names with _.
- (Options::Options): Update.
- (Options::~Options): Fix explanation of of _size_multiple. Don't print
- _key_positions if it is effectively ignored.
- (Options::parse_options): Renamed from Options::operator(). Update.
- * src/key-list.h (Key_List): New field _size. New methods get_asso_max,
- set_asso_max, get_max_keysig_size.
- * src/key-list.cc (Key_List::read_keys): Don't make side effects on
- options.
- (Key_List::dump): Use Key_List::get_max_keysig_size() instead of
- Options::get_max_keysig_size().
- (Key_List::get_max_keysig_size): New function.
- * src/hash-table.cc (Hash_Table::~Hash_Table): Compute the field
- width on the fly if option[ALLCHARS].
- * src/gen-perf.cc (Gen_Perf::Gen_Perf): Update,
- Use Options::get_size_multiple() instead of Options::get_asso_max().
- Use Key_List::get_asso_max() instead of Options::get_asso_max(). Use
- Key_List::get_max_keysig_size() instead of
- Options::get_max_keysig_size().
- (Gen_Perf::affects_prev): Likewise.
- (Gen_Perf::change): Likewise.
- * src/keyword.cc: Update.
- * src/main.cc: Update.
- * src/output.cc: Update.
- * tests/test-6.exp: Update.
-
-2002-10-13 Bruno Haible <bruno@clisp.org>
-
- * src/bool-array.*: Some polishing.
-
- * src/options.h (Options::operator=, Options::operator!=): Remove
- unused methods.
- * src/options.icc (Options::operator=, Options::operator!=): Remove.
-
- * src/*.h: Prefix all field names with _.
- * src/*.cc, src/*.icc: Update.
-
- * src/*: Simplify declarations of functions without arguments.
-
-2002-10-04 Bruno Haible <bruno@clisp.org>
-
- * src/output.h: New file, extracted from key-list.h.
- * src/output.cc: New file, extracted from key-list.cc.
- * src/key-list.h (Key_List): Make some fields protected. Move output
- routines to src/output.h.
- * src/key-list.cc: Move output routines to src/output.cc.
- * src/gen-perf.cc (Gen_Perf::doit_all): Use class Output.
- * src/Makefile.in (OBJECTS): Add output.o.
- (output.o): New rule.
-
-2002-10-03 Bruno Haible <bruno@clisp.org>
-
- * src/iterator.h: Remove file.
- * src/iterator.cc: Remove file.
- * src/options.cc: (PositionStringParser): New class, taken from old
- iterator.cc.
- * src/Makefile.in (OBJECTS): Remove iterator.o.
- (ITERATOR_H): Remove variable.
- (iterator.o): Remove rule.
-
- * src/keyword-list.h: New file.
- * src/keyword-list.cc: New file.
- * src/list-node.h: Remove file.
- * src/list-node.cc: Remove file.
- * src/keyword.h (KeywordExt::init_selchars): New declaration.
- * src/keyword.cc (sort_char_set, KeywordExt::init_selchars): New, from
- old list-node.cc.
- * src/gen-perf.cc: Replace List_Node by KeywordExt or KeywordExt_List,
- as appropriate.
- * src/hash-table.h: Likewise.
- * src/key-list.h: Likewise.
- * src/key-list.cc: Likewise.
- * src/Makefile.in (OBJECTS): Remove list-node.o, add keyword-list.o.
- (LIST_NODE_H): Remove macro.
- (list-node.o): Remove rule.
- (keyword-list.o): New rule.
-
- * src/keyword.h (KeywordExt): New class.
- * src/keyword.cc (KeywordExt): New constructor.
- * src/list-node.h (List_Node): Inherit from KeywordExt.
- * src/list-node.cc: Update.
- * src/gen-perf.cc: Update.
- * src/hash-table.cc: Update.
- * src/key-list.cc: Update.
- (output_keyword_entry): Change argument type to KeywordExt*.
-
- * src/keyword.h: New file.
- * src/keyword.cc: New file.
- * src/list-node.h (List_Node): Extend Keyword.
- * src/list-node.cc: Update.
- * src/gen-perf.cc: Update.
- * src/hash-table.cc: Update.
- * src/key-list.cc: Update.
- * src/Makefile.in (OBJECTS): Add keyword.o.
- (keyword.o): New rule.
-
- * src/key-list.cc (Key_List::read_keys): Allocate the memory for the
- hash table using 'new'.
- (Key_List::output_lookup_array): Allocate the memory for the duplicates
- array using 'new'.
- * src/options.h (LARGE_STACK_ARRAYS): Remove definition.
- * src/main.cc (main): Remove setrlimit call.
- * src/configure.in: Don't test for unistd.h, sys/time.h,
- sys/resource.h, getrlimit, setrlimit.
-
- * src/bool-array.h (Bool_Array): Make all members non-static.
- Add an argument to the constructor. Remove init(), rename reset() to
- clear(), rename find() to set_bit().
- * src/bool-array.icc: Move init() code into the constructor.
- Rename reset() to clear(), rename find() to set_bit().
- * src/gen-perf.h (Gen_Perf): Add collision_detector member.
- * src/gen-perf.cc: Update.
-
- * src/gen-perf.h (Gen_Perf::doit_all): Renamed from
- Gen_Perf::operator ().
- * src/gen-perf.cc (Gen_Perf::doit_all): Renamed from
- Gen_Perf::operator ().
- * src/main.cc: Update.
-
- * src/read-line.h (Read_Line::read_next_line): Renamed from
- Read_Line::get_line.
- * src/read-line.icc: Likewise.
- * src/read-line.cc: Update.
- * src/key-list.cc: Update.
-
- * lib/getline.h: New file.
- * lib/getline.cc: New file.
- * lib/Makefile.in (OBJECTS): Add getline.o.
- (getline.o): New rule.
- * src/read-line.h (Read_Line::readln_aux): Remove declaration.
- * src/read-line.cc (Read_Line::readln_aux): Remove function.
- * src/read-line.icc (Read_Line::get_line): Use ::get_line.
- * src/options.h (LARGE_STACK): Remove macro.
-
- * src/bool-array.h (STORAGE_TYPE): Remove type.
- Use 'unsigned int' instead of STORAGE_TYPE.
- * src/bool-array.cc: Likewise.
- * src/bool-array.icc: Likewise.
- * src/gen-perf.cc: Likewise.
-
- * src/new.cc: Remove file.
- * src/Makefile.in (OBJECTS): Remove new.o.
- (new.o): Remove rule.
- * src/configure.in: Remove test for HAVE_THROW_DECL.
- * acconfig.h: Remove file.
-
- * src/trace.h: Remove file.
- * src/trace.cc: Remove file.
- * src/Makefile.in (OBJECTS): Remove trace.o.
- (TRACE_H): Remove variable.
- (trace.o): Remove rule.
- Update all dependencies.
- * src/bool-array.h, src/bool-array.cc, src/bool-array.icc: Don't use T.
- * src/gen-perf.cc: Likewise.
- * src/hash-table.cc: Likewise.
- * src/iterator.cc: Likewise.
- * src/key-list.cc: Likewise.
- * src/list-node.cc: Likewise.
- * src/main.cc: Likewise.
- * src/new.cc: Likewise.
- * src/options.h, src/options.cc, src/options.icc: Likewise.
- * src/read-line.h, src/read-line.cc, src/read-line.icc: Likewise.
-
- * tests/Makefile.in: Use gperf option -I, to avoid gcc-3.x warnings.
- * tests/test.c: Don't use gets(), to avoid warnings.
-
-2001-08-02 Bruno Haible <bruno@linuix.math.u-bordeaux.fr>
-
- * doc/gperf.texi: Change bug report address to <bug-gnu-gperf@gnu.org>.
- * README: Updated.
-
-2000-12-18 Bruno Haible <bruno@linuix.math.u-bordeaux.fr>
-
- * src/configure.in: Add check for rand() in libm. Needed for BeOS.
- * src/Makefile.in (LIBS): Use @GPERF_LIBM@ instead of hardwiring -lm.
-
-2000-11-20 Bruno Haible <bruno@linuix.math.u-bordeaux.fr>
-
- * doc/help2man: Update to version 1.23.
-
-2000-09-26 Bruno Haible <bruno@linuix.math.u-bordeaux.fr>
-
- * gperf-2.7.2 released.
-
- * doc/gperf.texi: Add a second bug report address
- <gperf-bugs@lists.sourceforge.net>.
- * README: Updated.
-
-2000-08-28 Bruno Haible <bruno@linuix.math.u-bordeaux.fr>
-
- * lib/getopt.h (struct option): Use "const" also when compiling in
- C++ mode. Avoids warnings from Sun CC and HP-UX aCC.
-
- * doc/Makefile.in (docdir): Change from $(datadir)/doc/@PACKAGE@ to
- $(prefix)/doc/@PACKAGE@, following the newest GNU standards.
-
-2000-08-20 Bruno Haible <bruno@linuix.math.u-bordeaux.fr>
-
- * src/version.cc: Bump version number to 2.7.2.
- * doc/gperf.texi: Likewise.
-
- * doc/texinfo.tex: Update to post-texinfo-4.0 version. @code in the
- title page now chooses a larger font. The overall layout of the
- text is denser.
-
- * AUTHORS: New file.
-
- * tests/Makefile.in (all): Add check-lang-utf8 and check-lang-ucs2.
- (check-lang-utf8, check-lang-ucs2): New targets.
- (clean): Remove lu8out and lu2out.
- * tests/lang-utf8.gperf, tests/lang-utf8.exp: New files.
- * tests/lang-ucs2.gperf, tests/test2.c, tests/lang-ucs2.in,
- tests/lang-ucs2.exp: New files.
-
- Allow the use of embedded NULs in keys.
- * lib/hash.h (hashpjw): Add a length argument.
- * lib/hash.cc (hashpjw): Likewise. Don't stop when encountering a NUL
- character.
- * src/hash-table.h (Hash_Table constructor): Add ignore_len argument.
- (Hash_Table::ignore_length): New field.
- (Hash_Table::insert): Renamed from Hash_Table::operator(). Remove
- ignore_length argument.
- * src/hash-table.cc (NIL): Remove macro.
- (Hash_Table constructor): Add ignore_len argument. Use it to
- initialize ignore_length.
- (Hash_Table destructor): Specify explicit length of char_set and
- key.
- (Hash_Table::insert): Renamed from Hash_Table::operator(). Remove
- ignore_length argument. Pass explicit length to hashpjw. Compare
- char_set using memcmp, not strcmp.
- * src/list-node.h (List_Node): Rename field length to key_length.
- New field char_set_length.
- (List_Node constructor): Accept key and rest, not the entire line.
- * src/list-node.cc (List_Node constructor): Accept key and rest, not
- the entire line. Don't NUL terminate key and char_set. Specify
- explicit length of key. Initialize char_set_length field.
- * src/key-list.cc: Include <ctype.h>.
- (parse_line): New function.
- (Key_List::read_keys): Call parse_line instead of new List_Node.
- Pass option[NOLENGTH] to Hash_Table constructor, not
- Hash_Table::insert. Specify explicit length of key and char_set.
- (Key_List::get_occurrence): Use explicit length of char_set.
- (Key_List::set_determined): Likewise.
- (Key_List::already_determined): Likewise.
- (output_string): Add length argument. Output unprintable characters
- using octal escape sequence.
- (output_keyword_entry): Use explicit length of key.
- (Key_List::output_lookup_array): Specify explicit length of key.
- (output_switch_case): Likewise.
- (Key_List::dump): Likewise.
- * src/gen-perf.h (Gen_Perf::compute_disjoint_union): Add two length
- arguments.
- * src/gen-perf.cc (Gen_Perf::compute_disjoint_union): Likewise. Don't
- stop when encountering NUL characters. Don't NUL terminate the
- result.
- (Gen_Perf::hash): Use explicit length of char_set.
- (Gen_Perf::change): Specify explicit length of key.
- * doc/gperf.texi: Document it.
-
- * doc/help2man: New file, help2man version 1.022.
- * Makefile.devel (all): Add doc/gperf.1.
- (doc/gperf.1): New target.
- * doc/gperf.1: Automatically generated.
-
- * mkinstalldirs: New file, from automake-1.4, grep-2.4.1, guile-1.4,
- libtool-1.3.3, make-3.79.1, tar-1.13.
- * src/Makefile.in (MKINSTALLDIRS): New variable.
- (install, installdirs): Use it instead of mkdir.
- * doc/Makefile.in (MKINSTALLDIRS): New variable.
- (install, installdirs): Use it instead of mkdir.
-
- * INSTALL: Update.
-
-2000-08-19 Bruno Haible <bruno@linuix.math.u-bordeaux.fr>
-
- * src/key-list.cc (Output_Compare_Memcmp): New class.
- (Key_List::output_lookup_function): When option -l is given, use
- memcmp instead of strcmp or strncmp.
-
- * doc/gperf.texi: The bug report address is <bug-gnu-utils@gnu.org>.
- The download address is ftp.gnu.org. Remove mention of -a and -g
- options (now nops). Explain effect of -c option.
-
- * doc/configure.in (PACKAGE): New variable.
- * doc/Makefile.in (datadir, docdir): New variables.
- (dvidir, htmldir): Change values.
- (install, installdirs): Update.
-
- * src/configure.in: Rename cache variable gp_cxx_throw_decl to
- gp_cv_cxx_throw_decl.
-
- * src/key-list.cc (Key_List::output_hash_function): When outputting
- __inline, take advantage of C++ compilers which have inline.
-
- * src/key-list.cc (Output_Compare_Strncmp::output_comparison):
- After the call to strncmp, verify that expr2 is not longer than
- `len'.
- Reported by Carlo Wood <carlo@runaway.xs4all.nl>.
-
- * src/key-list.cc (Key_List::output_lookup_function_body): Avoid
- emitting the loop for dealing with duplicates if
- total_duplicates == 0.
-
- * src/key-list.cc (Key_List::read_keys): Don't accept an empty key.
-
- * src/Makefile.in (install, installdirs, uninstall): Respect
- $(DESTDIR).
- * doc/Makefile.in (install, installdirs, uninstall): Likewise.
-
- * src/options.cc (Options::print_options): Escape the arguments which
- contain special characters.
-
- * tests/c-parse.gperf: Updated from gcc-2.95.2/gcc/c-parse.gperf.
- * tests/objc.gperf: New file, from gcc-2.95.2/gcc/objc/objc.gperf.
- * tests/chill.gperf: New file, from gcc-2.95.2/gcc/ch/gperf.
- * tests/cplusplus.gperf: New file, from gcc-2.95.2/gcc/cp/gxx.gperf.
- * tests/gplus.gperf: Remove file.
- * tests/java.gperf: New file, from gcc-2.95.2/gcc/java/keyword.gperf.
- * tests/Makefile: Check them all.
- * tests/c-parse.exp: Renamed from tests/test-1.exp.
- * tests/modula2.exp: Renamed from tests/test-2.exp.
- * tests/cplusplus.exp: Renamed from tests/test-3.exp.
- * tests/gpc.exp: Renamed from tests/test-5.exp.
-
- * src/key-list.cc (output_switch_case): Add trailing semicolon to
- lengthptr assignment line. Fixes bug with -D and -S.
- From Reini Urban <rurban@sbox.tu-graz.ac.at>. Also reported by
- David Hunter.
- * tests/Makefile.in (check-lang-syntax): Perform each test with -D
- once without and once with duplicates.
-
- * src/key-list.cc (output_keyword_entry): Avoid outputting a struct
- initializer of the form {"key",}.
-
- * src/iterator.cc: Don't include <stream.h>.
- From Michael Deutschmann <ldeutsch@mail.netshop.net>.
-
- * tests/Makefile.in (VALIDATE, check-lang-syntax): Use $(srcdir) where
- appropriate.
- Reported by Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>.
-
- * tests/validate: Don't run -traditional tests by default.
-
- * src/main.cc (main): Check for write error on stdout before returning.
-
- * src/Makefile.in (LDFLAGS): New definition, to catch the value given
- at configure time.
-
- Make the structure initializers customizable. Based on a patch by
- Kaveh R. Ghazi <ghazi@caip.rutgers.edu>.
- * src/options.h (Options::get_initializer_suffix,
- Options::initializer_suffix): New declarations.
- * src/options.icc (Options::get_initializer_suffix): New function.
- * src/options.cc (DEFAULT_INITIALIZER_SUFFIX): New constant.
- (Options::initializer_suffix): New variable.
- (Options::short_usage): Document option "-F".
- (Options::long_usage): Document option "-F".
- (Options constructor): Initialize initializer_suffix.
- (Options destructor): Dump initializer_suffix.
- (long_options): Add option "-F".
- (Options::operator()): Accept option "-F". Sets initializer_suffix.
- * src/key-list.cc (output_keyword_blank_entries): Output
- initializer_suffix.
- * doc/gperf.texi: Document option "-F".
-
- * COPYING: Replace with GPL version 2 (with new FSF address and Y2K
- safe year format).
-
- * doc/gpl.texinfo: New file.
- * doc/gperf.texi: Document it.
- * doc/Makefile.in (gperf.info, gperf.dvi, gperf.html, gperf_toc.html):
- Update dependencies.
-
- * doc/Makefile.in (MAKEINFO): Unset LANG while running makeinfo.
-
-1998-05-20 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
-
- * doc/Makefile.in (gperf.dvi, clean): Remove gperf.cps.
- (install, installdirs, uninstall): Don't install gperf.dvi. The
- info and HTML documentations are sufficient for on-line use, and
- users who wish to print the documentation (in PS or DVI format)
- can do this directly off the source distribution.
- (DVIPS): Use "-D600" instead of "-Pljfour", for portability.
-
-1998-05-20 Akim Demaille <demaille@inf.enst.fr>
-
- * doc/gperf.texi: Many modifications:
- (Output Format): Declare `hash' and `in_word_set' as functions.
- (Concept Index): New section.
- (Title page): Use standard presentation.
- (Top): Use @top instead of @unnumbered so that automatic master
- update works.
- (Motivation): Avoid spaces in @var.
- (Options): Use the standard name ``Invoking ...''.
- (Options): Declare also the long form of the options.
- (Options): Remove redundant @itemize when @table is used.
-
-1998-05-08 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * aclocal.m4 (CL_PROG_INSTALL): Set cl_cv_path_install, not
- ac_cv_path_install.
-
-Sat May 2 13:20:54 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
-
- * gperf-2.7 released.
-
-Sat May 2 12:31:51 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
-
- * src/version.cc (version_string): Remove the "(C++ version)" suffix.
- It's redundant: the early C versions of gperf are called cperf.
- Reported by Karl Berry.
- * src/option.cc (Options::operator()): Trim the output of "gperf -v".
-
-Thu Apr 16 13:22:16 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
-
- * lib/Makefile.in, src/Makefile.in: Don't use $(TARGET_ARCH).
- Solaris "make" sets it to a value not understood by "cc".
-
-Wed Apr 15 23:52:14 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
-
- * lib/Makefile.in, src/Makefile.in: Don't use implicit rules. Don't
- use $<. AIX "make" and OSF/1 "make" have problems with both.
- * src/gen-perf.cc, src/key-list.cc: Cast free() argument to char*,
- otherwise it doesn't compile on SunOS 4.
- * src/key-list.h: Declare structs outside of other declarations,
- needed for OSF/1 cxx 5.5.
- * lib/getopt.h: Use prototypes if __STDC__ || __cplusplus.
- Don't give a prototype for getopt(), to avoid error on SunOS 4.
- * lib/getopt.c: Declare strncmp, to avoid warnings.
-
-Tue Apr 14 23:24:07 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
-
- * lib/GetOpt.{h,cc}: Remove files.
- * lib/getopt.{h,c}, lib/getopt1.c: New files, from GNU libc.
- * lib/configure.in (AC_INIT): Search for hash.cc, not GetOpt.cc.
- * lib/Makefile.in (OBJECTS): Remove GetOpt.o, add getopt.o, getopt1.o.
- (getopt.o, getopt1.o, hash.o): Use explicit building rules. Some
- "make"s don't support to have both implicit rules for "%.o : %.c"
- and "%.o : %.cc" in the same Makefile.
- * lib/hash.{h,cc}: Remove #pragma; there are no templates here.
- * src/option.h (Options::usage): Remove.
- (Options::short_usage, Options::long_usage): Declare.
- * src/option.cc (Options::usage): Remove.
- (Options::short_usage, Options::long_usage): New functions.
- (long_options): New array.
- (Options::operator()): Use getopt_long instead of GetOpt::operator(),
- change all references to GetOpt members.
-
- * src/std-err.{h,cc}: Remove files.
- * src/gen-perf.cc, src/key-list.cc, list-node.cc, new.cc, options.cc:
- Call fprintf(stderr) instead of Std_Err::report_error().
- * src/key-list.h, src/list-node.h, src/options.h: Don't use class
- Std_Err any more.
- * src/option.cc (program_name): New variable.
- * src/Makefile.in: Remove STD_ERR_H.
- (OBJECTS): Remove std-err.o.
-
-Mon Mar 23 01:03:35 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
-
- * aclocal.m4, {lib,src,tests}/configure.in: Remove CL_CC_WORKS and
- CL_CXX_WORKS, already contained in autoconf 2.12.
-
- * src/gen-perf.cc, src/key-list.cc: Move some code from
- Gen_Perf::Gen_Perf() to Key_List::output().
- * src/Makefile.in: Update dependencies.
-
- * src/options.{h,cc}: Remove option "-p".
- * src/key-list.cc (Key_List::set_output_types): Rewrite.
- (default_array_type, default_return_type): Remove.
- * src/key-list.cc: Adjust "const" handling.
- + With option "-t" [TYPE], don't emit wrong code if there is no
- space before the struct's opening brace.
-
-Sun Mar 22 16:59:15 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
-
- * src/key-list.{h,cc}: Completely reorganized the output routines.
- Rewrote from scratch the output_switch() function. Use classes
- (Output_Constants, Output_Expr, Output_Compare) for abstraction.
- In particular:
- + Don't emit trailing whitespace and spurious blank lines.
- + Adjust indentation of the arrays.
- + Don't emit commas at the end of array initializers and
- struct initializers.
- + With option "-l" [LENTABLE], compare the length before
- fetching the word from memory.
- + With option "-S" [SWITCH], emit the comparison code just once,
- not once in every switch statement.
- + With option "-S" [SWITCH], choose the right switch statement
- through a binary search, not a linear search.
- + With option "-S" [SWITCH], emit straightforward comparisons
- instead of switch statements with just one "case" label.
- + With options "-S -p -t" [SWITCH, POINTER, TYPE], don't emit
- spurious empty elements at the beginning of the wordlist array.
- + With option "-D" [DUP] and not option "-S" [SWITCH], if there
- is no more room for duplicate entries in the lookup array,
- don't call `assert (i != 0)'. Instead, make the array larger :-)
- + With option "-D" [DUP], if there are no duplicates, don't
- automatically fall back to the non-"-D" algorithm. If the user
- wants the non-"-D" algorithm, he can just not specify "-D".
- + With option "-D" [DUP] and either options "-p -t" [POINTER, TYPE]
- or not option "-S" [SWITCH], don't emit spurious empty elements
- at the beginning of the wordlist array.
- + With option "-D" [DUP], simplify the detection and processing
- of duplicate entries in the lookup array.
- + With options "-D -l" [DUP, LENTABLE] and not option "-S" [SWITCH],
- don't forget to emit the lengthtable array.
- + With options "-D -l -S" [DUP, LENTABLE, SWITCH], don't forget to
- compare the lengths before comparing the strings.
-
- * src/gen-perf.cc: No need to include <assert.h>.
- * src/options.cc: Likewise.
-
- * src/options.cc: Don't use `errno' after freopen failed.
- * src/std-err.cc: `report_error' doesn't call strerror(errno) any
- more. No need to include <string.h> and <errno.h>.
-
- * tests/Makefile.in (check-*): Any difference between .exp and .out
- is a failure. Don't ignore whitespace differences.
-
- * tests/Makefile.in (check-lang-syntax): Add some more checks.
-
-Fri Mar 20 00:54:54 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
-
- * tests/jscript.gperf: Renamed from tests/javascript.gperf, because
- of Minix and SVR2 14-character filename limit.
- * src/key-list.cc (output_string): New function.
- (Key_List::output_switch, Key_List::output_keyword_table): Call it.
-
- * src/options.{h,icc,cc} (get_wordlist_name): New function. Add
- option -W.
- * src/key-list.cc (Key_List::output_switch,
- Key_List::output_keyword_table, Key_List::output_lookup_function):
- Use it.
- Patch from William Bader <wbader@CSEE.Lehigh.Edu>.
-
- * src/version.cc: Bump version number directly from 2.5 to 2.7,
- because Schmidt's last release from 1991 carries version number 2.6.
-
-Tue Jul 30 00:02:39 1991 Douglas C. Schmidt (schmidt at net4.ics.uci.edu)
-
- * Fixed a small bug in the Key_List::output_keyword_table routine
- that caused an extra newline to be printed if there where no
- leading blank entries... (who cares, right?!)
-
-Mon Jul 29 22:05:40 1991 Douglas C. Schmidt (schmidt at net4.ics.uci.edu)
-
- * Modified the handling of the -E (emit enums rather than
- #defines) option in conjunction with the -G option. Now, if -G
- and -E are given the enums are generated outside the lookup
- function, rather than within it!
-
-Mon Apr 8 18:17:04 1991 Doug Schmidt (schmidt at net4.ics.uci.edu)
-
- * Yucko, there was a bug in the handling of -c (and of course the
- new -I command in key-list.cc). Apparently when I added the
- super-duper hack that provided support for duplicate keys I
- forgot to update the strcmp output...
-
-Mon Mar 9 02:19:04 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
-
- * Moved the documentation to doc/, put the stuff borrowed from
- libg++ into lib/.
- * Rewrote all Makefile.in's for better compliance with GNU standards.
- * Autoconf based configuration. Rewrote all configure.in's. Added
- aclocal.m4, with macros from CLISP and CLN. Added Makefile.devel.
- * src/depend: Removed. Dependencies are now in src/Makefile.in.
-
- * src/bool-array.icc: New file, contains inline functions, from both
- src/bool-array.h and src/bool-array.cc.
- * src/options.icc: New file, contains inline functions, from both
- src/options.h and src/options.cc.
- * src/read-line.icc: New file, contains inline functions, from both
- src/read-line.h and src/read-line.cc.
-
- * src/bool-array.h: Don't include <std.h>.
- * src/bool-array.cc: Include <string.h>.
- * src/gen-perf.cc: No need to include <ctype.h>. Don't include
- <_G_config.h>.
- * src/hash-table.cc: Don't include <std.h> and <builtin.h>. Include
- <string.h> and lib/hash.h instead.
- * src/iterator.cc: Don't include <std.h>.
- * src/key-list.cc: Don't include <builtin.h>. Include <string.h> and
- <stdlib.h> instead.
- * src/list-node.cc: Don't include <std.h>. Include <stdlib.h> instead.
- Remove `index' hack.
- * src/main.cc: Don't include <_G_config.h>.
- * src/new.cc: Don't include <std.h>. Include <stdlib.h> instead.
- * src/options.cc: Don't include <builtin.h>. Include <string.h> and
- <stdlib.h> instead.
- * src/read-line.cc: Don't include <builtin.h>. Include <stdlib.h>
- instead.
- * src/std-err.cc: Don't include <std.h>. Include <string.h> (for Irix).
- * src/vectors.h: No need to include <stdio.h>.
- * src/version.cc: No need to include <stdio.h>.
-
- * src/bool-array.h: Change `STORAGE_TYPE' from int to unsigned int.
- * src/bool-array.{h,cc}: Change type of `Bool_Array::size' from int
- to unsigned int.
- * src/bool-array.{h,cc}: Change type of `Bool_Array::init' argument
- from STORAGE_TYPE to unsigned int.
- * src/gen-perf.{h,cc}: Change two `Gen_Perf::compute_disjoint_union'
- argument types from `char *' to `const char *'.
- * src/iterator.h: Change type of `Iterator::str' and argument of
- `Iterator::Iterator' from `char *' to `const char *'.
- * src/iterator.cc: Cast to `unsigned char' before calling `isdigit'.
- * src/key-list.{h,cc}: Change type of `Key_List::array_type',
- `Key_List::return_type', `Key_List::struct_tag',
- `Key_List::include_src', `default_array_type', `default_return_type'
- and return type of `Key_List::get_array_type',
- `Key_List::get_special_input', `Key_List::save_include_src' from
- `char *' to `const char *'.
- * src/key-list.cc: Change "pretty gross" assignment.
- * src/key-list.cc: Don't use `alloca', HP-UX CC lacks it.
- * lib/GetOpt.cc: Likewise.
- * src/key-list.cc (merge): Use iteration instead of recursion.
- * src/list-node.{h,cc}: Change type of `List_Node::key',
- `List_Node::rest', `List_Node::char_set' from `char *' to
- `const char *'.
- * src/new.cc: Don't use BUFSIZ. Conditionalize the throw() declaration.
- * src/read-line.h: Don't use BUFSIZ.
- * src/read-line.cc: Make CHUNK_SIZE a constant, and use allocate the
- buffers on the stack by default. Use memcpy for copying buffers.
- Include <string.h>.
- * src/read-line.icc (get_line): Use iteration instead of tail recursion.
- Don't call ungetc(EOF,stdin).
- * src/std-err.{h,cc}: Change type of `Std_Err::program_name' and of
- argument `Std_Err::report_error' from `char *' to `const char *'.
- * src/std-err.cc: `report_error' doesn't call `exit' any more. All
- callers changed to do that themselves.
- * src/trace.h: Make constructor/destructor calls non-inline.
-
- * src/key-list.cc (output_hash_function): If option[CPLUSPLUS],
- always make the hash function inline.
- (output): Declare the hash function inline, with the right name.
- * src/options.{h,cc}, src/gen-perf.cc, src/key-list.cc: Remove
- options -g, making it on by default. Remove option -a. Instead,
- introduce "-L KR-C", "-L C", "-L ANSI-C", "-L C++".
- * src/options.{h,cc}, src/key-list.cc: Add option -I.
- * src/key-list.cc: Don't emit "const" if compiling in mode "-L KR-C".
- * src/key-list.cc: Don't emit a comma at the end of an enum list.
- * src/main.cc: Remove COUNT_TIME code.
- * src/vectors.h, src/key-list.cc, src/options.cc, src/list-node.cc:
- ALPHA_SIZE defaults to 256 now. Add option -7.
-
- * tests/javascript.gperf: New file.
- * tests/jstest*.gperf, tests/validate: New tests.
-
-Sat Jan 31 01:38:11 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * src/Makefile.in ($(TARGETPROG)): Add $(CFLAGS).
-
-Wed Jan 28 01:56:00 1998 Manfred Hollstein <manfred@s-direktnet.de>
-
- * configure.in (package_makefile_rules_frag): New and
- redirect stderr from ${srcdir}/config.shared to
- ${package_makefile_rules_frag}.
- * src/configure.in: Ditto.
- * tests/configure.in: Ditto.
-
-Fri Jan 23 08:00:41 1998 H.J. Lu (hjl@gnu.org)
-
- * gperf.texi (@ichapter): Changed to @chapter.
-
-Wed Jan 14 09:16:48 1998 H.J. Lu (hjl@gnu.org)
-
- * src/key-list.cc, src/key-list.h (Key_List::strcspn): Don't
- define if strcspn is defined.
-
-Fri Jan 24 13:23:47 1997 Mike Stump <mrs@cygnus.com>
-
- * src/new.cc (operator delete): Add the exception specification.
-
-Mon Feb 5 19:29:16 1996 Per Bothner <bothner@kalessin.cygnus.com>
-
- * src/read-line.cc (Read_Line::readln_aux): Handle EOF if last line
- has a length which is an exact multiple of CHUNK_SIZE. (Used to throw
- away the line's contents.) From Bruno Haible <haible@ilog.ilog.fr>.
- * src/Makefile.in ($(TARGETPROG)): Add -lm to link line.
-
-Tue Jun 11 13:43:50 1996 Brendan Kehoe <brendan@lisa.cygnus.com>
-
- * src/list-node.cc (List_Node): Reorder init of nodes to
- match declaration order.
- * src/hash-table.cc (Hash_Table): Likewise.
-
-Tue Oct 10 16:37:28 1995 Mike Stump <mrs@cygnus.com>
-
- * src/new.cc: Since malloc/delete are not paired, we cannot call
- free.
-
-Wed Jan 4 12:40:14 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * src/Makefile.in ($(TARGETPROG)): Link with $(LDFLAGS).
- Patch from John Interrante <interran@uluru.stanford.edu>.
-
-Sat Nov 5 19:12:48 1994 Jason Merrill (jason@phydeaux.cygnus.com)
-
- * src/Makefile.in (LIBS): Remove.
-
-Tue Oct 18 17:51:14 1994 Per Bothner <bothner@kalessin.cygnus.com>
-
- * src/std-err.cc: Use stderror, instead of the non-standard
- sys_nerr and sys_errlist.
-
-Sat Sep 17 22:02:13 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * src/key-list.cc (output_hash_function):
- Patch from William Bader <wbader@CSEE.Lehigh.Edu>.
-
-Fri Jul 15 09:38:11 1994 Per Bothner (bothner@cygnus.com)
-
- * src/std-err.cc: #include <errno.h>, and only declare
- extern int errno if errno is not a macro.
-
-Mon May 30 17:29:34 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * Makefile.in (src_all, install): Make sure to add '/' after
- `pwd` in $rootme, as expected by FLAGS_TO_PASS.
-
-Wed May 11 00:47:22 1994 Jason Merrill (jason@deneb.cygnus.com)
-
- Make libg++ build with gcc -ansi -pedantic-errors
- * src/options.h: Lose commas at end of enumerator lists.
-
-Sun Dec 5 19:16:40 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
-
- * src/hash-table.cc (Hash_Table::~Hash_Table): Don't pass an
- argument to fprintf, since it's not expecting one.
-
-Fri Nov 26 19:03:18 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * src/list-node.cc: #undef index, for the sake of broken NeXT,
-
-Thu Nov 4 11:16:03 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * Makefile.in (install): Use INSTALL_DATA for gperf.1.
-
-Mon Oct 25 18:40:51 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * src/key-list.cc (Key_List::read_keys): Use POW macro
- to increase hash table size to power of 2.
-
- * options.h (LARGE_STACK_ARRAYS): New flag. Defaults to zero.
- * gen-perf.cc, key-list.cc, read-line.cc:
- Only stack-allocate large arrays if LARGE_STACK_ARRAYS is set.
- * main.cc (main): Only call setrlimit (RLIMIT_STACK, ...)
- if LARGE_STACK_ARRAYS.
-
-Mon Oct 4 17:45:08 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * src/gen-perf.cc: Always use ANSI rand/srand instead of BSDisms.
-
-Wed Aug 18 12:19:53 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * Makefile.in (src_all): Make less verbose output.
-
-Fri May 28 14:01:18 1993 Per Bothner (bothner@rtl.cygnus.com)
-
- * src/gen-perf.cc (Gen_Perf::change): Don't use gcc-specific
- 2-operand conditional expression.
- * src/key-list.cc (Key_List::output_lookup_array):
- Don't use variable-size stack arrays, unless compiled by g++.
-
-Tue May 4 14:08:44 1993 Per Bothner (bothner@cygnus.com)
-
- Changes (mostly from Peter Schauer) to permit compilation
- using cfront 3.0 and otherwise be ARM-conforming.
- * src/key-list.h: class Key_List must use public derivation
- of base class Std_Err (because Gen_Perf::operator() in gen-perf.cc
- calls Std_Err::report_error).
- * src/gen-perf.cc (Gen_Perf::affects_prev), src/hash-table.cc
- (Hash_Table::operator()): Don't use gcc-specific 2-operand
- conditional expression.
- * src/iterator.cc (Iterator::operator()): Don't use gcc-specific
- range construct in case label.
- * key-list.cc (Key_List::output_lookup_array, Key_List::read_keys),
- src/gen-perf.cc (Gen_Perf::operator(), src/read-line.cc
- (Read_Line::readln_aux): If not gcc, don't allocate
- variable-sized arrays on stack.
- * src/new.cc (operator new): Argument type should be size_t.
- * key-list.cc (Key_List::output_lookup_array, Key_List::read_keys),
- new/cc (::operator new): Don't use non-standard >?= operator.
-
-Tue Apr 27 20:11:30 1993 Per Bothner (bothner@cygnus.com)
-
- * src/Makefile.in: Define TARGETPROG, and use it.
-
-Mon Apr 19 00:29:18 1993 Per Bothner (bothner@cygnus.com)
-
- * Makefile.in, configure.in: Re-vamped configure scheme.
- * gperf.texinfo: Renamed to gperf.texi.
- * src/bool-array.{h,cc}: ANSIfy bzero->memset.
-
-Sat Jan 30 20:21:28 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
-
- * tests/Makefile.in (mostlyclean): Also delete aout, cout, m3out,
- pout, and preout.
-
-Tue Dec 29 08:58:17 1992 Ian Lance Taylor (ian@cygnus.com)
-
- * Makefile.in: pass $(FLAGS_TO_PASS) to all calls to make.
- (FLAGS_TO_PASS): added INSTALL, INSTALL_DATA, INSTALL_PROGRAM.
-
-Mon Dec 21 18:46:46 1992 Per Bothner (bothner@rtl.cygnus.com)
-
- * tests/expected.* renamed to *.exp to fit in 14 chars.
- * tests/Makefile.in: Update accordingly.
- Also rename output.* to *.out.
- * src/Makefile.in (clean): Remove gperf program.
-
-Wed Dec 9 14:33:34 1992 Per Bothner (bothner@cygnus.com)
-
- * src/hash-table.cc, src/bool-array.h: ANSIfy bzero->memset.
-
-Thu Dec 3 19:34:12 1992 Per Bothner (bothner@cygnus.com)
-
- * Makefile.in (distclean, realclean): Don't delete
- Makefile before recursing.
-
-Fri Nov 6 13:41:49 1992 Per Bothner (bothner@rtl.cygnus.com)
-
- * key-list.{h,cc}: Remove MAX_INT (and similar) constant
- fields from Key_List class, and use INT_MAX (etc) from limits.h.
- * key-list.{h,cc}, options.{h,cc}, vectors.h: Removed all
- uses of initialized const fields, as they are non-standard
- - and their use was easy to do away with. Mostly, just
- made the constants static non-fields in the .cc file.
-
-Mon Nov 2 13:10:11 1992 Per Bothner (bothner@cygnus.com)
-
- * tests/Makefile.in: When generating cinset.c, don't pass -C,
- since -C assumes an ANSI compiler. Add the -C flag (with -a)
- when generating test.out.3 instead.
- * tests/expected.out.3: Update accordingly.
-
-Wed Aug 12 11:47:54 1992 Per Bothner (bothner@cygnus.com)
-
- * Makefile.in: Factor out common flags into $(FLAGS_TO_PASS).
- * Makefile.in: 'install-info' depends on gperf.info.
-
-Mon Aug 10 11:39:52 1992 Ian Lance Taylor (ian@dumbest.cygnus.com)
-
- * Makefile.in, src/Makefile.in: always create installation
- directories.
-
-Mon Jul 20 15:33:21 1992 Mike Stump (mrs@cygnus.com)
-
- * src/new.cc (operator new): Add cast from void * to char *,
- since it is not a standard conversion.
-
-Wed Jun 17 16:25:30 1992 Per Bothner (bothner@rtl.cygnus.com)
-
- * src/gen-perf.cc: #include <_G_config.h> for _G_SYSV.
- * src/key-list.cc: alloca() hair.
- * src/main.cc (main): Only call getrlimit if _G_HAVE_SYS_RESOURCE.
- * Makefile,in, {src,test}/Makefile.in: Fix *clean rules.
-
-Fri May 29 13:21:13 1992 Per Bothner (bothner@rtl.cygnus.com)
-
- * src/gen-perf.cc: Replace USG -> _G_SYSV.
-
-Thu May 14 13:58:36 1992 Per Bothner (bothner@rtl.cygnus.com)
-
- * src/Makefile.in: Don't pass obsolete flag -DUNLIMIT_STACK.
- * tests/Makefile.in (clean): Fix.
-
-Sat Mar 7 00:03:56 1992 K. Richard Pixley (rich@rtl.cygnus.com)
-
- * gperf.texinfo: added menu item hook.
-
-Wed Feb 26 18:04:40 1992 K. Richard Pixley (rich@cygnus.com)
-
- * Makefile.in, configure.in: removed traces of namesubdir,
- -subdirs, $(subdir), $(unsubdir), some rcs triggers. Forced
- copyrights to '92, changed some from Cygnus to FSF.
-
-Sun Jan 26 19:21:58 1992 Per Bothner (bothner at cygnus.com)
-
- * tests/Makefile.in: Use re-directed stdin instead of file
- name in argv. This allows us to remove the filename
- from the output, the expected output, and hence the diffs.
- (Note that the input file is in $(srcdir), which we cannot
- place in the expected out files.)
- * tests/expected.out.[1235]: Edit out input filename,
- to match new output.
-
-Thu Jun 28 16:17:27 1990 Doug Schmidt (schmidt at brilliant)
-
- * Wow, first fix on the new job! There was a dumb error
- in Key_List::output_lookup_function, where I printed the
- string "&wordlist[key]" instead of the correct "&wordlist[index]".
-
- * Added a couple of #ifdefs for USG support.
-
-Sun Jun 3 17:16:36 1990 Doug Schmidt (schmidt at crimee.ics.uci.edu)
-
- * Updated the version number to 2.5 and sent to Doug Lea for release
- with the latest GNU libg++.
-
- * Changed the error handling when a keyword file cannot be opened
- (now calls perror).
-
-Wed May 30 14:49:40 1990 Doug Schmidt (schmidt at crimee.ics.uci.edu)
-
- * Instrumented the source code with trace statements automagically
- inserted using my new automated trace instrumentation tool!
-
-Wed May 9 11:47:41 1990 Doug Schmidt (schmidt at siam.ics.uci.edu)
-
- * Really fixed the previous bug. Turns out that a small amount
- of logic had to be duplicated to handle static links that occur
- as part of dynamic link chains. What a pain!!!
-
-Tue May 8 23:11:44 1990 Doug Schmidt (schmidt at siam.ics.uci.edu)
-
- * Fixed a stupid bug in Key_List::output_lookup_array that was
- causing incorrect counts to be generated when there were both
- static and dynamic links occurring for the same hash value.
- Also simplified the code that performs the logic in this routine.
-
-Mon Apr 30 17:37:24 1990 Doug Schmidt (schmidt at crimee.ics.uci.edu)
-
- * Fixed stupid bug in Key_List::output_lookup_array that was
- making the generated lookup[] array contain `chars' even
- when the values stored in the chars are greater than 127!
-
- * Changed the behavior of the -G (global table) option so that it
- will output the `length[]' array in the global scope along with
- the `word_list[]' array.
-
- * Fixed a stupid bug in Key_List::output_lookup_function that
- would always output the complicated `duplicate-handling' lookup
- logic, even when there were no duplicates in the input!
-
- * Yikes, had to modify a bunch of stuff in key-list.cc to correctly
- handle duplicate entries. Changed the generated code so that
- the MIN_HASH_VALUE is no longer subtracted off when calculating
- the hash value for a keyword. This required changing some other
- code by substituting MAX_HASH_VALUE for TOTAL_KEYS in several places.
- Finally, this means that the generated tables may contain leading
- null entries, but I suppose it is better to trade-off space to get
- faster performance...
-
-Mon Mar 26 13:08:43 1990 Doug Schmidt (schmidt at crimee.ics.uci.edu)
-
- * Updated version number to 2.4 to reflect the latest changes.
-
- * Changed the main program so that it always prints out gperf's
- execution timings to the generated output file.
-
-Sun Mar 25 12:39:30 1990 Doug Schmidt (schmidt at crimee.ics.uci.edu)
-
- * Added the -Z option so that users can specify the name of the
- generated class explicitly. Updated documentation to reflect
- this change.
-
- * Modified the generated C++ class interface so that the functions
- are declared static (to remove the overhead of passing the `this'
- pointer). This means that operator()() can no longer be used,
- since it only works on non-static member functions.
- Also changed things so that there is no constructor (why waste
- the extra call, when it doesn't do anything, eh?)
-
- * Modified the behavior of Key_List::output when the -L C++ option
- is enabled. Previously the code generated use const data members
- to record MIN_WORD_LENGTH, MIN_HASH_VALUE, etc. However, as
- pointed out by James Clark this may result in suboptimal behavior
- on the part of C++ compilers that can't inline these values.
- Therefore, the new behavior is identical to what happens with
- -L C, i.e., either #defines or function-specific enums are used.
- Why sacrifice speed for some abstract notion of `code purity?' ;-)
-
-Tue Mar 6 18:17:42 1990 Doug Schmidt (schmidt at crimee.ics.uci.edu)
-
- * Added the -E option that defines constant values using an enum
- local to the lookup function rather than with #defines. This
- also means that different lookup functions can reside in the
- same file. Thanks to James Clark (jjc@ai.mit.edu).
-
-Sat Mar 3 20:19:00 1990 Doug Schmidt (schmidt at zola.ics.uci.edu)
-
- * Added a special case to key_list::output_switch that doesn't
- generate extra comparisons when the `-S' is given an argument
- of 1 (the normal case). This should speed up the generated
- code output a tad...
-
-Fri Feb 23 14:21:28 1990 Doug Schmidt (schmidt at zola.ics.uci.edu)
-
- * Renamed all instances of member function get_keysig_size
- to get_max_keysig_size, since this is more precise...
-
- * Changed all occurrences of charset to keysig (stands for ``key
- signature'') to reflect the new naming convention used in the
- USENIX paper.
-
-Thu Feb 22 11:28:36 1990 Doug Schmidt (schmidt at crimee.ics.uci.edu)
-
- * Changed the name of the generated associated values table from
- asso_value to asso_values to reflect conventions in the USENIX
- C++ paper.
-
-Thu Feb 15 23:29:03 1990 Doug Schmidt (schmidt at zola.ics.uci.edu)
-
- * Updated the gperf.texinfo file to fix some formatting problems
- that had crept in since last time.
-
-Wed Feb 14 23:27:24 1990 Doug Schmidt (schmidt at zola.ics.uci.edu)
-
- * Fixed stupid bug in key-list.cc (get_special_input), wher
- gperf replaced each '%' with the succeeding character.
-
- * Added support for multiple target language generation. Currently
- handled languages are C and C++, with C as the default. Updated
- documentation and option handler to reflect the changes.
-
- * Added a global destructor to new.cc and removed the #ifdef, since
- the bloody thing now works with libg++.
-
-Mon Feb 14 13:00:00 1990 Doug Schmidt (schmidt at zola.ics.uci.edu)
-
- * Found out that my gperf paper was accepted at the upcoming
- USENIX C++ Conference in San Francisco. Yow!
-
-Tue Jan 30 09:00:29 1990 Doug Schmidt (schmidt at zola.ics.uci.edu)
-
- * #ifdef'd out the new.cc memory allocator, since there are
- problems with this and the libg++ stuff.
-
- * Changed key-list.h so that class Vectors is a public (rather
- than private) base class for class Key_List. The previous
- form was illegal C++, but wasn't being caught by the old
- g++ compiler. Should work now... ;-)
-
-Sun Dec 10 14:08:23 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
-
- * Added several changes from rfg@ics.uci.edu. These changes
- help to automate the build process.
-
-Wed Nov 15 15:49:33 1989 Doug Schmidt (schmidt at zola.ics.uci.edu)
-
- * Removed conditional compilation for GATHER_STATISTICS. There's
- really no good reason to avoid collecting this info at run-time,
- since that section of code is *hardly* the bottleneck... ;-)
-
- * Simplified the C output routines in Key_List::set_output_types
- and Key_List::output_keyword_table a bit in order to
- speed-up and clean up the code generation.
-
- * Modified function Key_List::get_special_input so that it does
- not try to `delete' a buffer that turned out to be too short.
- This is important since the new memory management scheme
- does not handle deletions. However, adding a small amount of
- garbage won't hurt anything, since we generally don't do this
- operation more than a couple times *at most*!
-
- * Created a new file (new.cc) which includes my own overloaded
- operator new. This function should dramatically reduce the
- number of calls to malloc since it grabs large chunks and
- doles them out in small pieces. As a result of this change
- the class-specific `operator new' was removed from class List_Node.
-
-Tue Nov 14 21:45:30 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
-
- * Continued to refine the great hack. The latest trick is to
- try and replace most uses of dynamic memory (i.e., calls to
- new) with uses of gcc dynamic arrays (i.e., an alloca solution).
- This makes life much easier for the overall process-size, since
- it reduces the amount of overhead for memory management. As a
- side-effect from this change there is no reason to have the
- Bool_Array::dispose member function, so it's outta here!
-
- * Fixed a stupid bug that was an disaster waiting to happen...
- Instead of making the boolean array large enough to index
- max_hash_value it was only large enough to index max_hash_value
- - 1. Once again, an off-by-one mistake in C/C++!!!!
-
-Mon Nov 13 19:38:27 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
-
- * Added the final great hack! This allows us to generate hash tables
- for near-perfect hash functions that contain duplicates, *without*
- having to use switch statements! Since many compilers die on large
- switch statements this feature is essential. Furthermore, it appears
- that the generated code is often *smaller* than that put out by
- compilers, even though a large, sparse array must be created.
- Here's the general idea:
-
- a. Generate the wordlist as a contiguous block of keywords,
- just as before when using a switch statement. This
- wordlist *must* be sorted by hash value.
-
- b. Generate the lookup array, which is an array of signed
- {chars,shorts,ints}, (which ever allows full coverage of
- the wordlist dimensions). If the value v, where v =
- lookup[hash(str,len)], is >= 0 and < TOTAL_KEYWORDS, then we
- simply use this result as a direct access into the wordlist
- array to snag the keyword for comparison.
-
- c. Otherwise, if v is < -TOTAL_KEYWORDS or > TOTAL_KEYWORDS
- this is an indication that we'll need to search through
- some number of duplicates hash values. Using a hash
- linking scheme we'd then index into a different part of
- the hash table that provides the starting index and total
- length of the duplicate entries to find via linear search!
-
-Sun Nov 12 13:48:10 1989 Doug Schmidt (schmidt at zola.ics.uci.edu)
-
- * Simplified Key_List::output_min_max considerably by recognizing
- that since the keyword list was already sorted by hash value finding
- the min and max values is trivial!
-
- * Improved the debugging diagnostics considerably in classes Key_List,
- Hash_Table, and Gen_Perf.
-
- * Modified the `-s' option so that a negative argument is now
- interpreted to mean `allow the maximum associated value to be
- about x times *smaller* than the number of input keys.' This
- should help prevent massive explosion of generated hash table
- size for large keysets.
-
-Sat Nov 11 11:31:13 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
-
- * Added a field in class Key_List that counts the total number
- of duplicate keywords, both static and dynamic.
-
- * Added a new member function Bool_Array that deletes the dynamic
- memory allocated to Bool_Array::storage_array. This space may
- be needed for subsequent options, so it made sense to free it as
- soon as possible...
-
- * Renamed file/class Alpha_Vectors to Vectors, to avoid problems
- with 14 character length filenames on SYSV. Also changed file
- adapredefined.gperf to adadefs.gperf in the ./tests directory.
-
- * Modified class Options by changing the member function
- Options::total_positions to Options::get_charset_size and
- Options::set_charset_size. These two routines now either return
- the total charset size *or* the length of the largest keyword
- if the user specifies the -k'*' (ALLCHARS) option. This change
- cleans up client code.
-
- * Merged all the cperf changes into gperf.
-
- * Made sure to explicitly initialize perfect.fewest_collisions to
- 0.
-
- * Cleaned up some loose ends noticed by Nels Olson.
- 1. Removed `if (collisions <= perfect.fewest_collisions)'
- from Gen_Perf::affects_prev since it was superfluous.
- 2. Removed the fields best_char_value and best_asso_value
- from Gen_Perf. There were also unnecessary.
- 3. Fixed a braino in the Bool_Array::bool_array_reset
- function. Since iteration numbers can never be zero
- the `if (bool_array.iteration_number++ == 0)' must be
- `if (++bool_array.iteration_number == 0).'
- 4. Modified Std_Err::report_error so that it correctly handles
- "%%".
-
- * It is important to note that -D no longer enables -S.
- There is a good reason for this change, which will become
- manifested in the next release... (suspense!).
-
- * Made some subtle changes to Key_List::print_switch so that if finally
- seems to work correctly. Needs more stress testing, however...
-
- * Made a major change to the Key_List::print_switch function.
- The user can now specify the number of switch statements to generate
- via an argument to the -S option, i.e., -S1 means `generate 1
- switch statement with all keywords in it,' -S2 means generate
- 2 switch statements with 1/2 the elements in each one, etc.
- Hopefully this will fix the problem with C compilers not being
- able to generate code for giant switch statements (but don't
- hold your breath!)
-
- * Changed Key_List::length function to Key_List::keyword_list_length.
-
- * Added a feature to main.c that prints out the starting wall-clock
- time before the program begins and prints out the ending wall-clock
- time when the program is finished.
-
- * Added the GATHER_STATISTICS code in hash-table.c so we can
- keep track of how well double hashing is doing. Eventually,
- GATHER_STATISTICS will be added so that all instrumentation
- code can be conditionally compiled in.
-
- * Fixed a stupid bug in Key_List::print_switch routine. This
- was necessary to make sure the generated switch statement worked
- correctly when *both* `natural,' i.e., static links and dynamic
- links, i.e., unresolved duplicates, hash to the same value.
-
- * Modified Bool_Array::~Bool_Array destructor so that
- it now frees the bool_array.storage_array when it is no longer
- needed. Since this array is generally very large it makes sense
- to return the memory to the freelist when it is no longer in use.
-
- * Changed the interface to constructor Hash_Table::Hash_Table. This
- constructor now passed a pointer to a power-of-two sized buffer that
- serve as storage for the hash table. Although this weakens information
- hiding a little bit it greatly reduces dynamic memory fragmentation,
- since we can now obtain the memory via a call to alloca, rather
- than malloc. This change modified Key_List::read_keys calling
- interface.
-
- * Since alloca is now being used more aggressively a conditional
- compilation section was added in main.c. Taken from GNU GCC,
- this code gets rid of any avoidable limit on stack size so that
- alloca does not fail. It is only used if the -DRLIMIT_STACK
- symbol is defined when gperf is compiled.
-
- * Added warnings in option.c so that user's would be informed
- that -r superceeds -i on the command-line.
-
- * Rewrote Gen_Perf::affects_prev. First, the code structure
- was cleaned up considerably (removing the need for a dreaded
- goto!). Secondly, a major change occurred so that Gen_Perf::affects_prev
- returns FALSE (success) when fewest_hits gets down to whatever
- it was after inserting the previous key (instead of waiting for
- it to reach 0). In other words, it stops trying if it can
- resolve the new collisions added by a key, even if there are
- still other old, unresolved collisions. This modification was
- suggested by Nels Olson and seems to *greatly* increase the
- speed of gperf for large keyfiles. Thanks Nels!
-
- * In a similar vein, inside the Gen_Perf::change routine
- the variable `perfect.fewest_collisions is no longer initialized
- with the length of the keyword list. Instead it starts out at
- 0 and is incremented by 1 every time change () is called.
- The rationale for this behavior is that there are times when a
- collision causes the number of duplicates (collisions) to
- increase by a large amount when it would presumably just have
- gone up by 1 if none of the asso_values were changed. That is,
- at the beginning of change(), you could initialize fewest_hits
- to 1+(previous value of fewest_hits) instead of to the number of
- keys. Thanks again, Nels.
-
- * Replaced alloca with new in the Gen_Perf::change function.
- This should eliminate some overhead at the expense of a little
- extra memory that is never reclaimed.
-
- * Renamed Gen_Perf::merge_sets to Gen_Perf::compute_disjoint_union
- to reflect the change in behavior.
-
- * Added the -e option so users can supply a string containing
- the characters used to separate keywords from their attributes.
- The default behavior is ",\n".
-
- * Removed the char *uniq_set field from LIST_NODE and modified
- uses of uniq_set in perfect.c and keylist.c. Due to changes
- to Gen_Perf::compute_disjoint_sets this field was no longer
- necessary, and its removal makes the program smaller and
- potentially faster.
-
- * Added lots of changes/fixes suggested by Nels Olson
- (umls.UUCP!olson@mis.ucsf.edu). In particular:
- 1. Changed Bool_Array so that it would dynamically create
- an array of unsigned shorts rather than ints if the
- LO_CAL symbol was defined during program compilation.
- This cuts the amount of dynamic memory usage in half,
- which is important for large keyfile input.
- 2. Added some additional debugging statements that print extra
- info to stderr when the -d option is enabled.
- 3. Fixed a really stupid bug in Key_List::print_switch
- A right paren was placed at the wrong location, which broke
- strlen ().
- 4. Fixed a subtle problem with printing case values when keylinks
- appear. The logic failed to account for the fact that there
- can be keylinks *and* regular node info also!
- 5. Changed the behavior of Key_List::read_keys so that it would
- honor -D unequivocally, i.e., it doesn't try to turn off dup
- handling if the user requests it, even if there are no
- immediate links in the keyfile input.
- 6. Modified the -j option so that -j 0 means `try random values
- when searching for a way to resolve collisions.'
- 7. Added a field `num_done' to the Gen_Perf struct. This is used
- to report information collected when trying to resolve
- hash collisions.
- 8. Modified the merge_sets algorithm to perform a disjoint
- union of two multisets. This ensures that subsequent
- processing in Gen_Perf::affect_prev doesn't
- waste time trying to change an associated value that is
- shared between two conflicting keywords.
- 9. Modified Gen_Perf::affects_prev so that it doesn't try
- random jump values unless the -j 0 option is enabled.
- 10. Fixed a silly bug in Gen_Perf::change. This problem caused
- gperf to seg fault when the -k* option was given and the
- keyfile file had long keywords.
-
-Sun Oct 29 00:18:55 1989 Doug Schmidt (schmidt at siam.ics.uci.edu)
-
- * Modified class-specific new operations for Read_Line and
- List_Node so they don't fail if SIZE is larger than twice
- the previous buffer size. Note we double buffer size
- everytime the previous buffer runs out, as a heuristic
- to reduce future calls to malloc.
-
-Sun Oct 22 13:49:43 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
-
- * Updated gperf version number to 2.0. Send to Doug Lea for
- incorporation into the long-awaited `official' libg++ 1.36
- release!
-
- * Thanks to Nels Olson a silly bug in Gen_Perf::change ()
- was fixed. This problem caused gperf to seg fault when
- the -k* option was given and the keyfile file had long
- keywords.
-
- * Modified Key_List::print_hash_function so that it output
- max_hash_value + 1 (rather than just max_hash_value) for
- any associated value entries that don't correspond to
- keyword charset characters. This should speed up rejection
- of non-keyword strings a little in some cases.
-
-Sat Oct 21 19:28:36 1989 Doug Schmidt (schmidt at crimee.ics.uci.edu)
-
- * Fixed Key_List::print_hash_function so that it no longer output
- things like `return 0 + ...' Although this probably gets
- optimized away by even the worst C compilers there isn't any
- point tempting fate... ;-)
-
- * Fixed class List_Node's constructor so that it wouldn't a priori
- refuse to consider trying to hash keys whose length is less
- than the smallest user-specified key position. It turns out
- this is not a problem unless the user also specifies the -n
- (NOLENGTH) option, in which case such keys most likely
- don't have a prayer of being hashed correctly!
-
- * Changed the name of the generated lookup table from `Hash_Table'
- to `asso_value' to be consistent with the gperf paper.
-
-Tue Oct 17 14:19:48 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
-
- * Added a flag GATHER_STATISTICS in the Makefile. If defined
- during compilation this turns on certain collection facilities
- that track the performance of gperf during its execution. In
- particular, I want to see how many collisions occur for the
- double hashing Hash_Table.
-
- * Added a safety check so that we don't screw up if the total
- number of `resets' of the Bool_Array exceeds MAX_INT. Since
- this number is around 2^31 it is unlikely that this would ever
- occur for most input, but why take the risk?
-
- * Changed the behavior for the -a (ANSI) option so that the
- generated prototypes use int rather than size_t for the LEN
- parameter. It was too ugly having to #include <stddef.h> all
- over the place...
-
-Mon Oct 16 11:00:35 1989 Doug Schmidt (schmidt at crimee.ics.uci.edu)
-
- * Continued to work on the gperf paper for the USENIX C++
- conference. At some point this will be merged back into
- the gperf documentation...
-
-Sat Oct 14 20:29:43 1989 Doug Schmidt (schmidt at siam.ics.uci.edu)
-
- * Added a majorly neat hack to Bool_Array, suggested by rfg.
- The basic idea was to throw away the Ullman array technique.
- The Ullman array was used to remove the need to reinitialize all
- the Bool_Array elements to zero everytime we needed to determine
- whether there were duplicate hash values in the keyword list.
- The current trick uses an `iteration number' scheme, which takes
- about 1/3 the space and reduces the overall program running a
- time by about 20 percent for large input! The hack works as
- follows:
-
- 1. Dynamically allocation 1 boolean array of size k.
- 2. Initialize the boolean array to zeros, and consider the first
- iteration to be iteration 1.
- 2. Then on all subsequent iterations we `reset' the bool array by
- kicking the iteration count by 1.
- 3. When it comes time to check whether a hash value is currently
- in the boolean array we simply check its index location. If
- the value stored there is *not* equal to the current iteration
- number then the item is clearly *not* in the set. In that
- case we assign the iteration number to that array's index
- location for future reference. Otherwise, if the item at
- the index location *is* equal to the iteration number we've
- found a duplicate. No muss, no fuss!
-
-Mon Oct 2 12:30:54 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
-
- * Changed some consts in options.h to enumerals, since g++
- doesn't seem to like them at the moment!
-
-Sat Sep 30 12:55:24 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
-
- * Fixed a stupid bug in Key_List::print_hash_function that manifested
- itself if the `-k$' option was given (i.e., only use the key[length]
- character in the hash function).
-
- * Added support for the -C option. This makes the contents of
- all generated tables `readonly'.
-
- * Changed the handling of generated switches so that there is
- only one call to str[n]?cmp. This *greatly* reduces the size of
- the generated assembly code on all compilers I've seen.
-
- * Fixed a subtle bug that occurred when the -l and -S option
- was given. Code produced looked something like:
-
- if (len != key_len || !strcmp (s1, resword->name)) return resword;
-
- which doesn't make any sense. Clearly, this should be:
-
- if (len == key_len && !strcmp (s1, resword->name)) return resword;
-
-Tue Sep 26 10:36:50 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
-
- * Changed class Read_Line's definition so that it no longer
- needs to know about the buffering scheme used to speed up
- dynamic memory allocation of input keywords and their
- associated attributes. This means that operator new is no longer
- a friend of Read_Line.
-
-Mon Sep 25 23:17:10 1989 Doug Schmidt (schmidt at crimee.ics.uci.edu)
-
- * Decided that Obstacks had too much overhead, so they were
- removed in favor of super-efficient, low-overhead buffered
- storage allocation hacks in Read_Line and List_Node.
-
- * No longer try to inline functions that g++ complains about
- (Key_List::Merge and Key_List::Merge_Sort).
-
-Sun Sep 24 13:11:24 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
-
- * Changed classes Read_Line and List_Node to use Obstacks in order
- to cache memory allocation for keyword strings and List_Nodes.
-
- * Continued to experiment with inheritance schemes.
-
- * Added a new file `alpha.h', that declares static data shared
- (i.e., inherited) between classes List_Node and Key_List.
-
-Tue Sep 12 16:14:41 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
-
- * Made numerous changes to incorporate multiple inheritance in
- gperf.
-
-Wed Aug 16 23:04:08 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
-
- * Added the -DCOMPILER_FIXED flag to the ./src/Makefile. This
- implies that people trying to compile gperf need to have a
- working version of the new g++ compiler (1.36.0).
-
- * Removed some extra spaces that were being added in the generated
- C code.
-
-Mon Jul 24 17:09:46 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
-
- * Fixed PRINT_HASH_FUNCTION and PRINT_LOOKUP_FUNCTION in keylist.c
- so that the generated functions take an unsigned int length argument.
- If -a is enabled the prototype is (const char *str, size_t len).
-
-Fri Jul 21 13:06:15 1989 Doug Schmidt (schmidt at zola.ics.uci.edu)
-
- * Fixed a typo in PRINT_KEYWORD_TABLE in keylist.cc that prevented
- the indentation from working correctly.
-
- * Fixed a horrible typo in PRINT_KEYWORD_TABLE in keylist.cc
- that prevented links from being printed correctly.
-
-Tue Jul 18 16:04:31 1989 Doug Schmidt (schmidt at zola.ics.uci.edu)
-
- * Fixed up readline.cc and readline.h so that they work OK
- with g++ compilers that aren't completely up-to-date.
- If symbol COMPILER_FIXED is defined then the behavior
- that works on my more recent version of g++ is enabled.
-
-Sun Jul 9 17:53:28 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
-
- * Changed the ./tests subdirectory Makefile so that it
- uses $(CC) instead of gcc.
-
-Sun Jul 2 21:52:15 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
-
- * Fixed a number of subtle bugs that occurred when -S was
- combined with various and sundry options.
-
- * Added the -G option, that makes the generated keyword table
- a global static variable, rather than hiding it inside
- the lookup function. This allows other functions to directly
- access the contents in this table.
-
- * Added the "#" feature, that allows comments inside the keyword
- list from the input file. Comment handling takes place in readline.c.
- This simplifies the code and reduces the number of malloc calls.
-
- * Also added the -H option (user can give the name of the hash
- function) and the -T option (prevents the transfer of the type decl
- to the output file, which is useful if the type is already defined
- elsewhere).
-
-Thu Jun 22 20:39:39 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
-
- * Modified many classes so that they would inherit Std_Err as
- a base class. This makes things more abstract...
-
-Fri Jun 16 14:23:00 1989 Doug Schmidt (schmidt at zola.ics.uci.edu)
-
- * Modified the -f (FAST) option. This now takes an argument.
- The argument corresponds to the number of iterations used
- to resolve collisions. -f 0 uses the length of the
- keyword list (which is what -f did before). This makes
- life much easier when dealing with large keyword files.
-
-Tue Jun 6 17:53:27 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
-
- * Added the -c (comparison) option. Enabling this
- will use the strncmp function for string comparisons.
- The default is to use strcmp.
-
- * Fixed a typo in key_list.cc (PRINT_SWITCH). This caused
- faulty C code to be generated when the -D, -p, and -t
- options were all enabled.
-
-Thu May 25 14:07:21 1989 Doug Schmidt (schmidt at siam.ics.uci.edu)
-
- * Once again, changed class Read_Line to overload global operator
- new. Hopefully, this will work...!
-
-Sun May 21 01:51:45 1989 Doug Schmidt (schmidt at crimee.ics.uci.edu)
-
- * Modified Key_List::print_hash_function () so that it properly
- formats the associated values in the hash table according to
- the maximum number of digits required to represent the largest
- value.
-
- * Removed the named return value from class Hash_Table's
- operator (), since this causes a seg fault when -O is enabled.
- No sense tripping subtle g++ bugs if we don't have to.... ;-)
-
- * Removed the operator new hack from Read_Line, since this seemed
- to create horrible bus error problems.
-
- * Changed many class member functions and data members to be `static',
- if they don't manipulate this!
-
-Fri May 12 23:06:56 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
-
- * Changed class Std_Err to use static member functions, a la
- Ada or Modula 2. This eliminates the need for an explicit
- error-handler class object.
-
- * Added the ``named return value'' feature to Hash_Table::operator ()
- and Bool_Array::operator [], just for the heck of it.... ;-)
-
- * Changed the previous hack in Read_Line so that we now use
- the overloaded global `new' instead of NEW_STRING!
-
-Wed May 3 17:36:55 1989 Doug Schmidt (schmidt at zola.ics.uci.edu)
-
- * Updated to version 1.7. This reflects the recent major changes
- and the new C port.
-
- * Modified the GNU getopt.cc routine to have a class-based interface.
-
- * Fixed a typo in Perfect.cc ~Perfect that prevented the actual maximum
- hash table size from being printed (maybe the stream classes
- weren't so bad after all.... ;-).
-
- * Added support for the -f option. This generates the perfect
- hash function ``fast.'' It reduces the execution time of
- gperf, at the cost of minimizing the range of hash values.
-
-Tue May 2 16:23:29 1989 Doug Schmidt (schmidt at crimee.ics.uci.edu)
-
- * Added an efficiency hack to Read_Line. Instead of making
- a call to operator NEW (a.k.a. malloc) for each input string
- a new member function NEW_STRING stores a large buffer from
- which new strings are carved out, growing the buffer if
- necessary. It might be useful to add this throughout the
- program....
-
- * Removed all unnecessary calls to DELETE. If the program is about
- to exit it is silly to waste time freeing memory.
-
- * Added the GNU getopt program to the distribution. This makes
- GPERF portable to systems that don't include getopt in libc.
-
- * Added a strcspn member to class Key_List. This also increases
- portability.
-
- * Added the get_include_src function from keylist.c as a member
- function in class Key_List. Hopefully every function is
- now associated with a class. This aids abstraction and
- modularity.
-
- * Ported gperf to C. From now on both K&R C and GNU G++ versions
- will be supported. There will be two ChangeLog files, one
- for each version of the program.
-
-Mon May 1 16:41:45 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
-
- * Fixed a bug with -k'*'. This now prints out *all* the cases
- up to the length of the longest word in the keyword set.
-
-Sun Apr 30 12:15:25 1989 Doug Schmidt (schmidt at crimee.ics.uci.edu)
-
- * Removed all use of the stream classes. Too ugly, slow, and
- not handled by the c++-mode formatter....
-
- * Modified the handling of links (i.e., keywords that have
- identical hash values as other keywords). This should
- speed up hash function generation for keyword sets with
- many duplicate entries. The trick is to treat duplicate
- values as equivalence classes, so that each set of duplicate
- values is represented only once in the main list processing.
-
- * Fixed some capitialization typos and indentations mistakes in
- Key_List::print_hash_function.
-
-Sat Apr 29 12:04:03 1989 Doug Schmidt (schmidt at zola.ics.uci.edu)
-
- * Fixed a typo/logico in Key_List::print_switch that prevented
- the last keyword in the keyword list to be print out. This
- requires further examination.....
-
- * Fixed a stupid bug in List_Node::List_node. If the -k'*' option
- was enabled the KEY_SET string wasn't getting terminated with
- '\0'!
-
-Fri Apr 28 12:38:35 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
-
- * Renamed strexp.h and strexp.cc to iterator.h and iterator.cc.
- Also changed the strexp class to iterator. Continued to work
- on style...
-
- * Updated the version number to 1.6. This reflects all the
- recent changes.
-
-Thu Apr 27 00:14:51 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
-
- * Added the -D option that properly handles keyword sets that
- contain duplicate hash values.
-
- * Continued the stylistic changes. Added the #pragma once
- directive to all the *.h files. Removed all #defines and
- replaced them with static consts. Also moved the key_sort
- routine from options.cc into the options class as a
- member function.
-
-Mon Apr 3 13:26:55 1989 Doug Schmidt (schmidt at zola.ics.uci.edu)
-
- * Made massive stylistic changes to bring source code into
- conformance with GNU style guidelines.
-
-Thu Mar 30 23:28:45 1989 Doug Schmidt (schmidt at crimee.ics.uci.edu)
-
- * Fixed up the output routines so that they generate code
- corresponding to the GNU style guidelines.
-
-Sat Mar 11 13:12:37 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
-
- * Fixed Stderr constructors so that they wouldn't try to
- use the base class initializer syntax for the static
- class variable Program_Name. G++ 1.34 is stricter in
- enforcing the rules!
-
-Fri Mar 10 11:24:14 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
-
- * Removed -v and ``| more'' from the Makefile to keep rfg happy...
-
-Thu Mar 2 12:37:30 1989 Doug Schmidt (schmidt at crimee.ics.uci.edu)
-
- * Sent latest GNU gperf version 1.5 to Doug Lea for inclusion
- into libg++ 1.34. Note that there is a small bug with
- the new %{ ... %} source inclusion facility, since it doesn't
- understand comments and will barf if %{ or %} appear nested
- inside the outermost delimiters. This is too trivial of
- a defect to fix at the moment...
-
-Tue Feb 28 11:19:58 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
-
- * Added the -K option, which allows the user to provide a
- alternative name for the keyword structure component.
- The default is still ``name.''
-
- * Added the LEX and YACC-like ability to include arbitrary
- text at the beginning of the generated C source code output.
- This required two new functions Get_Special_Input,
- Key_List::Save_Include_Src;
-
- * Fixed memory allocation bug in Key_List::Set_Types.
- Variable Return_Type needs 1 additional location
- to store the "*" if the -p option is used.
-
- * Added code to NULL terminate both Struct_Tag and Return_Type,
- *after* the strncpy (stupid mistake).
-
-Mon Feb 27 14:39:51 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
-
- * Added a new option -N. This allows the user to specify the
- name to be used for the generated lookup function. The
- default name is still ``in_word_set.'' This makes it
- possible to completely automate the perfect hash function
- generation process!
-
-Mon Feb 20 23:33:14 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
-
- * Corrected the Hash_Table::operator () function so that
- *it* is responsible for deciding when a new key has the
- same signature as a previously seen key. The key length
- information is now used internally to this function to
- decide whether to add to the hash table those keys with
- the same key sets, but different lengths. Before, this
- was handled by the Key_List::Read_Keys function. However,
- this failed to work for certain duplicate keys, since
- they weren't being entered into the hash table properly.
-
-Sun Feb 19 16:02:51 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
-
- * Modified class Options by moving the enum Option_Type out
- of the class. This is to satisfy the new enumeration
- scope rules in C++.
-
-Sun Jan 15 15:12:09 1989 Doug Schmidt (schmidt at crimee.ics.uci.edu)
-
- * Incremented the version number upto 1.4 to reflect the new
- options that affect the generated code. Send the new
- distribution off to Michael for use with g++ 1.33.
-
- * Added a fix to Key_List::Read_Keys so that it checks for links
- properly when the -n option is used. Previously, it didn't
- catch obvious links, which caused it to spend large amount
- of time searching for a solution that could never occur!
-
- * Modified the Key_List data structure to record *both* the
- minimum and the maximum key lengths. This information
- is now computed in Key_List::Read_Keys, and thus
- Key_List::Print_Min_Max doesn't need to bother.
-
- * Modifed the key position iterator scheme in options.cc to
- eliminate the need for member function Options::Advance.
- Now, the Options::Get function performs the advancement
- automatically, obviating the need for an extra function call.
-
- * Added the new function Options::Print_Options, to print out
- the user-specified command line options to generated C
- output file.
-
- * Added a new function, Key_List::Print_Keylength_Table,
- which creates a table of lengths for use in speeding
- up the keyword search. This also meant that a new
- option, -l (LENTABLE) is recognized. It controls
- whether the length table is printed and the comparison
- made in the generated function ``in_word_set.''
-
- * Added a comment at the top of the generated C code
- output file that tells what version of gperf was used.
- Next, I'll also dump out the command line options
- as a comment too. Thanks to Michael Tiemann for the
- feedback on this.
-
- * Fixed the -n option to make it work correctly with
- other parts of the program (most notably the Perfect::Hash
- function and the computation of minimum and maximum lengths.
-
-Fri Jan 13 21:25:27 1989 Doug Schmidt (schmidt at siam.ics.uci.edu)
-
- * Realized the the need to add a test that will enable
- optimziation of the generated C code in the ``hash'' function
- by checking whether all the requested key positions are
- guaranteed to exist due to the comparison in `in_word_set.''
- I'll put this in soon....
-
-Thu Jan 12 20:09:21 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
-
- * Added pascal, modula3, and modula2 tests inputs to the
- Makefile
-
- * Recognised that there is a bug with the -n option. However
- I'm too busy to fix it properly, right now. The problem
- is that the generated #define end up being 0, since that's
- my hack to make -n work. This needs complete rethinking!
-
-Tue Jan 10 00:08:16 1989 Doug Schmidt (schmidt at crimee.ics.uci.edu)
-
- * Added a new option, -n, that instructs gperf to not use the
- length of an identifier when computing the hash functions.
- I'm not sure how useful this is!
-
- * Retransmitted the distribution to rocky.oswego.edu. Hopefully,
- this will work!
-
- * Began fixing the indentation and capitalization to conform
- to the GNU coding guidelines.
-
-Mon Jan 9 22:23:18 1989 Doug Schmidt (schmidt at pompe.ics.uci.edu)
-
- * Fixed horrible bug in Read_Line::Readln_Aux. This was
- a subtle and pernicous off-by-1 error, that overwrote
- past the last character of the input string buffer. I
- think this fault was killing the vax!
-
- * Yow, fixed an oversight in List_Node::List_Node, where the
- pointer field Next was uninitialized. Luckily, the new routine
- seems to return 0 filled objects the first time through!
-
-Sun Jan 8 13:43:14 1989 Doug Schmidt (schmidt at crimee.ics.uci.edu)
-
- * Modified the ``key linked'' diagnostic in Key_List::Read_Keys
- to be more helpful and easy to read.
-
- * Fixed the List_Node::List_Node so that it would ignore trailing
- fields if the -t option was not enabled.
-
- * Moved the List_Node declarations out of keylist.h and
- into a file of its own, called listnode.cc and listnode.h
- Made Set_Sort a member function of class List_Node.
-
- * Massively updated the documentation in the gperf.texinfo file.
-
- * Polished off the major revision to the print functions,
- added a few new tests in the Makefile to check for the
- validity of the program and ftp'ed the entire distribution
- off to Doug Lea for libg++. ( changed it to
- 1.3 to reflect the major changes with the generated
- C code ).
-
- * Fixed Key_List::Print_Switch to deal with the -p and -t options.
- This meant that the ``still-born'' function Key_List::
- Print_Type_Switch was superflous, so I removed it.
- Also, removed the restriction in Option that the -p and
- -t options couldn't be used simultaneously.
-
- * Modified List_Node::List_Node, to perform only 1 call to
- ``new'' when dynamically allocating memory for the Key_Set
- and the Uniq_Set.
-
-Sat Jan 7 14:10:51 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
-
- * Fixed a big bug with the new policy of nesting the
- wordlist inside of generated function ``in_word_set.''
- I'd forgotten to declare the wordlist array as static!
- ( arrgh ).
-
- * Added a new function Key_List::Set_Types, that figures out
- the return type for generated function ``in_word_set,''
- the user-defined ``struct tag,'' if one is used, and also
- formates the array type for the static local array.
-
- * Changed the print routines to take advantage of the
- new -p option.
-
- * Began adding the hooks to allow the return of a pointer
- to a user defined struct location from the generated
- ``in_word_set'' function instead of the current 0 or 1
- return value. Created function Key_List::Print_Type_Switch
- and added option -p to class Option, allowing the user to
- request generation of the aforementioned pointers returned
- instead of booleans.
-
- * Put in checks in class Option to make sure that -S and -t
- options are not used simultaneously. This restriction
- will be removed in subsequent releases, once I decide on
- a clean way to implement it.
-
- * Sent version 1.2 to Doug Lea for possible inclusion into
- the libg++ distribution.
-
- * Moved the static word_list array inside the generated function
- in_word_set. This supports better data hiding.
-
- * Added a texinfo file, gperf.texinfo
-
- * Revised the Makefile to cleanup the droppings from texinfo
- and changed the name of gperf.cc and gperf.h to perfect.cc
- and perfect.h.
-
-Fri Jan 6 13:04:45 1989 Doug Schmidt (schmidt at crimee.ics.uci.edu)
-
- * Implemented the switch statement output format. Much better
- for large datasets in terms of space used.
-
- * Added new functions to break up the Key_List::Output function.
- Functions added were Key_List::Print_Switch, Key_List::Print_Min_Max,
- Key_List::Print_Keyword_Table, Key_List::Print_Hash_Function,
- and Key_List::Print_Lookup_Function. This simplifies the
- big mess in Key_List::Output considerably!
-
- * Added switch statement option to Options, which potentially
- trades time for space in the generated lookup code.
-
-Thu Jan 5 22:46:34 1989 Doug Schmidt (schmidt at siam.ics.uci.edu)
-
- * Released version 1.1
-
- * Fixed a bug with Gperf::Merge_Set, it was skipping letters shared
- between the Set_1 and Set_2.
-
- * Added the optimal min/max algorithm in Key_List::Output. This
- runs in O ( 3n/2 ), rather than O ( 2n ) time.
-
- * Changed Gperf::Sort_Set to use insertion sort, rather than
- bubble sort.
-
- * Added a check in Key_List::Output for the special case where
- the keys used are 1,$. It is possible to generate more
- efficient C code in this case.
diff --git a/gnuwin32/contrib/gperf/3.0.1/gperf-3.0.1-src/INSTALL b/gnuwin32/contrib/gperf/3.0.1/gperf-3.0.1-src/INSTALL
deleted file mode 100644
index 350b32f5..00000000
--- a/gnuwin32/contrib/gperf/3.0.1/gperf-3.0.1-src/INSTALL
+++ /dev/null
@@ -1,183 +0,0 @@
-Basic Installation
-==================
-
- These are generic installation instructions.
-
- The `configure' shell script attempts to guess correct values for
-various system-dependent variables used during compilation. It uses
-those values to create a `Makefile' in each directory of the package.
-It may also create one or more `.h' files containing system-dependent
-definitions. Finally, it creates a shell script `config.status' that
-you can run in the future to recreate the current configuration, a file
-`config.cache' that saves the results of its tests to speed up
-reconfiguring, and a file `config.log' containing compiler output
-(useful mainly for debugging `configure').
-
- If you need to do unusual things to compile the package, please try
-to figure out how `configure' could check whether to do them, and mail
-diffs or instructions to the address given in the `README' so they can
-be considered for the next release. If at some point `config.cache'
-contains results you don't want to keep, you may remove or edit it.
-
- The file `configure.in' is used to create `configure' by a program
-called `autoconf'. You only need `configure.in' if you want to change
-it or regenerate `configure' using a newer version of `autoconf'.
-
-The simplest way to compile this package is:
-
- 1. `cd' to the directory containing the package's source code and type
- `./configure' to configure the package for your system. If you're
- using `csh' on an old version of System V, you might need to type
- `sh ./configure' instead to prevent `csh' from trying to execute
- `configure' itself.
-
- Running `configure' takes a while. While running, it prints some
- messages telling which features it is checking for.
-
- 2. Type `make' to compile the package.
-
- 3. Optionally, type `make check' to run any self-tests that come with
- the package.
-
- 4. Type `make install' to install the programs and any data files and
- documentation.
-
- 5. You can remove the program binaries and object files from the
- source code directory by typing `make clean'. To also remove the
- files that `configure' created (so you can compile the package for
- a different kind of computer), type `make distclean'. There is
- also a `make maintainer-clean' target, but that is intended mainly
- for the package's developers. If you use it, you may have to get
- all sorts of other programs in order to regenerate files that came
- with the distribution.
-
-Compilers and Options
-=====================
-
- Some systems require unusual options for compilation or linking that
-the `configure' script does not know about. You can give `configure'
-initial values for variables by setting them in the environment. Using
-a Bourne-compatible shell, you can do that on the command line like
-this:
- CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
-
-Or on systems that have the `env' program, you can do it like this:
- env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
-
-Compiling For Multiple Architectures
-====================================
-
- You can compile the package for more than one kind of computer at the
-same time, by placing the object files for each architecture in their
-own directory. To do this, you must use a version of `make' that
-supports the `VPATH' variable, such as GNU `make'. `cd' to the
-directory where you want the object files and executables to go and run
-the `configure' script. `configure' automatically checks for the
-source code in the directory that `configure' is in and in `..'.
-
- If you have to use a `make' that does not supports the `VPATH'
-variable, you have to compile the package for one architecture at a time
-in the source code directory. After you have installed the package for
-one architecture, use `make distclean' before reconfiguring for another
-architecture.
-
-Installation Names
-==================
-
- By default, `make install' will install the package's files in
-`/usr/local/bin', `/usr/local/man', etc. You can specify an
-installation prefix other than `/usr/local' by giving `configure' the
-option `--prefix=PATH'.
-
- You can specify separate installation prefixes for
-architecture-specific files and architecture-independent files. If you
-give `configure' the option `--exec-prefix=PATH', the package will use
-PATH as the prefix for installing programs and libraries.
-Documentation and other data files will still use the regular prefix.
-
- In addition, if you use an unusual directory layout you can give
-options like `--bindir=PATH' to specify different values for particular
-kinds of files. Run `configure --help' for a list of the directories
-you can set and what kinds of files go in them.
-
- If the package supports it, you can cause programs to be installed
-with an extra prefix or suffix on their names by giving `configure' the
-option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
-
-Optional Features
-=================
-
- Some packages pay attention to `--enable-FEATURE' options to
-`configure', where FEATURE indicates an optional part of the package.
-They may also pay attention to `--with-PACKAGE' options, where PACKAGE
-is something like `gnu-as' or `x' (for the X Window System). The
-`README' should mention any `--enable-' and `--with-' options that the
-package recognizes.
-
- For packages that use the X Window System, `configure' can usually
-find the X include and library files automatically, but if it doesn't,
-you can use the `configure' options `--x-includes=DIR' and
-`--x-libraries=DIR' to specify their locations.
-
-Specifying the System Type
-==========================
-
- There may be some features `configure' can not figure out
-automatically, but needs to determine by the type of host the package
-will run on. Usually `configure' can figure that out, but if it prints
-a message saying it can not guess the host type, give it the
-`--host=TYPE' option. TYPE can either be a short name for the system
-type, such as `sun4', or a canonical name with three fields:
- CPU-COMPANY-SYSTEM
-
-See the file `config.sub' for the possible values of each field. If
-`config.sub' isn't included in this package, then this package doesn't
-need to know the host type.
-
- If you are building compiler tools for cross-compiling, you can also
-use the `--target=TYPE' option to select the type of system they will
-produce code for and the `--build=TYPE' option to select the type of
-system on which you are compiling the package.
-
-Sharing Defaults
-================
-
- If you want to set default values for `configure' scripts to share,
-you can create a site shell script called `config.site' that gives
-default values for variables like `CC', `cache_file', and `prefix'.
-`configure' looks for `PREFIX/share/config.site' if it exists, then
-`PREFIX/etc/config.site' if it exists. Or, you can set the
-`CONFIG_SITE' environment variable to the location of the site script.
-A warning: not all `configure' scripts look for a site script.
-
-Operation Controls
-==================
-
- `configure' recognizes the following options to control how it
-operates.
-
-`--cache-file=FILE'
- Use and save the results of the tests in FILE instead of
- `./config.cache'. Set FILE to `/dev/null' to disable caching, for
- debugging `configure'.
-
-`--help'
- Print a summary of the options to `configure', and exit.
-
-`--quiet'
-`--silent'
-`-q'
- Do not print messages saying which checks are being made. To
- suppress all normal output, redirect it to `/dev/null' (any error
- messages will still be shown).
-
-`--srcdir=DIR'
- Look for the package's source code in directory DIR. Usually
- `configure' can determine that directory automatically.
-
-`--version'
- Print the version of Autoconf used to generate the `configure'
- script, and exit.
-
-`configure' also accepts some other, not widely useful, options.
-
diff --git a/gnuwin32/contrib/gperf/3.0.1/gperf-3.0.1-src/NEWS b/gnuwin32/contrib/gperf/3.0.1/gperf-3.0.1-src/NEWS
deleted file mode 100644
index efa3ca0c..00000000
--- a/gnuwin32/contrib/gperf/3.0.1/gperf-3.0.1-src/NEWS
+++ /dev/null
@@ -1,80 +0,0 @@
-New in 3.0.1:
-
-* Bug fix.
-
-New in 3.0:
-
-* Added option --output that allows to specify the output file name.
-* Some options have been renamed:
- --hash-fn-name=NAME --> --hash-function-name=NAME
- --lookup-fn-name=NAME --> --lookup-function-name=NAME
- --compare-strlen --> --compare-lengths
- --global --> --global-table
- The older variants are still supported for backward compatibility.
-* The following options can now be specified inside the input file:
- %delimiters=DELIMITER-LIST
- %struct-type
- %ignore-case
- %language=LANGUAGE-NAME
- %define slot-name NAME
- %define initializer-suffix INITIALIZERS
- %define hash-function-name NAME
- %define lookup-function-name NAME
- %define class-name NAME
- %7bit
- %compare-lengths
- %compare-strncmp
- %readonly-tables
- %enum
- %includes
- %global-table
- %pic
- %define string-pool-name NAME
- %null-strings
- %define word-array-name NAME
- %switch=COUNT
- %omit-struct-type
-* When the option -k is not given, the default key positions are now
- computed depending on the set of keywords.
-* If the input file is given by name, the output file will now contain
- #line directives referring to the input file.
-* Some keyword sets containing permutations, like { "xy", "yx", "xz", "zx" }
- or { "abc", "acb", "bca", "cab" }, are now handled by gperf without
- requiring the option -D.
-* The generated table is usually much smaller than it was with earlier
- versions of gperf.
-* Added option -m/--multiple-iterations that allows to further reduce the
- size of the generated table.
-* When the search for a good hash function is not immediately successful,
- the table's size will grow as needed. Earlier versions of gperf bailed
- out with an "Internal error, duplicate hash code value".
-* The options -f/--fast and -o/--occurrence-sort have no effect any more.
-* Added options -P/--pic and --null-strings that optimize the generated code
- for use in shared libraries. -P/--pic does a perfect optimization but may
- require some small code changes (see the documentation for details), whereas
- --null-strings does only a half-hearted optimization but works without
- needing any change to surrounding code.
-* Added option --ignore-case that produces a case independent lookup function.
-* Bug fixes.
-
-New in 2.7.2:
-
-* Keywords may now be enclosed in double quotes; this permits the use of
- '#', ',', space or NUL inside keywords.
-* Bug fixes.
-
-New in 2.7.1:
-
-* Added option "-F" for gcc.
-
-New in 2.7:
-
-* gperf is now a stand-alone package, untied from libg++.
-* Autoconfiguring.
-* Removed the "-a" and "-g" options, extended the "-L" option instead.
-* Removed the "-p" option, it is the default.
-* Added long options ("--help", "--version" etc.).
-* 8-bit cleanliness is now the default; use "-7" to get the old behaviour.
-* Compiles with any C++ compiler.
-* Numerous small improvements.
-
diff --git a/gnuwin32/contrib/gperf/3.0.1/gperf-3.0.1-src/README b/gnuwin32/contrib/gperf/3.0.1/gperf-3.0.1-src/README
deleted file mode 100644
index 26173bfc..00000000
--- a/gnuwin32/contrib/gperf/3.0.1/gperf-3.0.1-src/README
+++ /dev/null
@@ -1,28 +0,0 @@
-This is GNU gperf. It is a program that generates perfect hash
-functions for sets of key words. A perfect hash function is:
-
- A hash function and a data structure that allows
- recognition of a key word in a set of words using
- exactly 1 probe into the data structure.
-
-The doc/gperf.html file explains how the program works, the form of
-the input, what options are available, and hints on choosing the best
-options for particular key words set.
-
-See the file NEWS for a list of major changes in the current release.
-
-See the file INSTALL for compilation and installation instructions.
-
-Output from the GPERF program is used to recognize reserved words in
-the GNU C, GNU C++, and GNU Pascal compilers, as well as with the GNU
-indent program.
-
-For general documentation on the coding and usage standards
-this distribution follows, see the GNU standards document
-ftp://ftp.gnu.org/pub/gnu/standards.*, especially the 'Makefile
-Conventions', 'Configuration', and 'User Interfaces' sections.
-
-Mail suggestions and bug reports to <bug-gnu-gperf@gnu.org>. When
-reporting bugs, please include in the subject line the package name
-and version (output of 'gperf --version') for which you found a problem.
-
diff --git a/gnuwin32/contrib/gperf/3.0.1/gperf-3.0.1/check.log b/gnuwin32/contrib/gperf/3.0.1/gperf-3.0.1/check.log
deleted file mode 100644
index 1e16f46d..00000000
--- a/gnuwin32/contrib/gperf/3.0.1/gperf-3.0.1/check.log
+++ /dev/null
@@ -1,156 +0,0 @@
-cd lib; make check
-make[1]: Entering directory `/cygdrive/k/Devel/gperf/3.0.1/gperf-3.0.1/lib'
-make[1]: Niets te doen voor `check'.
-make[1]: Leaving directory `/cygdrive/k/Devel/gperf/3.0.1/gperf-3.0.1/lib'
-cd src; make check
-make[1]: Entering directory `/cygdrive/k/Devel/gperf/3.0.1/gperf-3.0.1/src'
-make[1]: Niets te doen voor `check'.
-make[1]: Leaving directory `/cygdrive/k/Devel/gperf/3.0.1/gperf-3.0.1/src'
-cd tests; make check
-make[1]: Entering directory `/cygdrive/k/Devel/gperf/3.0.1/gperf-3.0.1/tests'
-performing some tests of the perfect hash generator
-gcc -c -Wall -O3 -fms-extensions -mms-bitfields -fno-exceptions -fomit-frame-pointer -march=i386 -mcpu=i686 ../../gperf-3.0.1-src/tests/test.c
-../src/gperf -c -l -S1 -I -o ../../gperf-3.0.1-src/tests/c.gperf > cinset.c
-gcc -Wall -O3 -fms-extensions -mms-bitfields -fno-exceptions -fomit-frame-pointer -march=i386 -mcpu=i686 -o cout cinset.c test.o
-testing ANSI C reserved words, all items should be found in the set
-./cout -v < ../../gperf-3.0.1-src/tests/c.gperf > c.out
-diff ../../gperf-3.0.1-src/tests/c.exp c.out
-../src/gperf -k1,4,'$' -I ../../gperf-3.0.1-src/tests/ada.gperf > adainset.c
-gcc -Wall -O3 -fms-extensions -mms-bitfields -fno-exceptions -fomit-frame-pointer -march=i386 -mcpu=i686 -o aout adainset.c test.o
-testing Ada reserved words, all items should be found in the set
-./aout -v < ../../gperf-3.0.1-src/tests/ada.gperf > ada-res.out
-diff ../../gperf-3.0.1-src/tests/ada-res.exp ada-res.out
-../src/gperf -D -k1,'$' -s 2 -I -o ../../gperf-3.0.1-src/tests/adadefs.gperf > preinset.c
-gcc -Wall -O3 -fms-extensions -mms-bitfields -fno-exceptions -fomit-frame-pointer -march=i386 -mcpu=i686 -o preout preinset.c test.o
-testing Ada predefined words, all items should be found in the set
-./preout -v < ../../gperf-3.0.1-src/tests/adadefs.gperf > ada-pred.out
-diff ../../gperf-3.0.1-src/tests/ada-pred.exp ada-pred.out
-../src/gperf -k1,2,'$' -I -o ../../gperf-3.0.1-src/tests/modula3.gperf > m3inset.c
-gcc -Wall -O3 -fms-extensions -mms-bitfields -fno-exceptions -fomit-frame-pointer -march=i386 -mcpu=i686 -o m3out m3inset.c test.o
-testing Modula3 reserved words, all items should be found in the set
-./m3out -v < ../../gperf-3.0.1-src/tests/modula3.gperf > modula.out
-diff ../../gperf-3.0.1-src/tests/modula.exp modula.out
-../src/gperf -o -S2 -I < ../../gperf-3.0.1-src/tests/pascal.gperf > pinset.c
-gcc -Wall -O3 -fms-extensions -mms-bitfields -fno-exceptions -fomit-frame-pointer -march=i386 -mcpu=i686 -o pout pinset.c test.o
-testing Pascal reserved words, all items should be found in the set
-./pout -v < ../../gperf-3.0.1-src/tests/pascal.gperf > pascal.out
-diff ../../gperf-3.0.1-src/tests/pascal.exp pascal.out
-../src/gperf -k1 -t -I -K foreign_name < ../../gperf-3.0.1-src/tests/lang-utf8.gperf > lu8inset.c
-gcc -Wall -O3 -fms-extensions -mms-bitfields -fno-exceptions -fomit-frame-pointer -march=i386 -mcpu=i686 -o lu8out lu8inset.c test.o
-testing UTF-8 encoded languages, all items should be found in the set
-sed -e '1,6d' -e 's/,.*//' < ../../gperf-3.0.1-src/tests/lang-utf8.gperf | ./lu8out -v > lang-utf8.out
-diff ../../gperf-3.0.1-src/tests/lang-utf8.exp lang-utf8.out
-gcc -c -Wall -O3 -fms-extensions -mms-bitfields -fno-exceptions -fomit-frame-pointer -march=i386 -mcpu=i686 ../../gperf-3.0.1-src/tests/test2.c
-../src/gperf -k4 -t -l -I -K foreign_name < ../../gperf-3.0.1-src/tests/lang-ucs2.gperf > lu2inset.c
-gcc -Wall -O3 -fms-extensions -mms-bitfields -fno-exceptions -fomit-frame-pointer -march=i386 -mcpu=i686 -o lu2out lu2inset.c test2.o
-testing UCS-2 encoded languages, all items should be found in the set
-./lu2out -v < ../../gperf-3.0.1-src/tests/lang-ucs2.in > lang-ucs2.out
-diff ../../gperf-3.0.1-src/tests/lang-ucs2.exp lang-ucs2.out
-testing SMTP keywords, case-insensitive
-../src/gperf --struct-type --readonly-table --enum --global -K field_name -N header_entry --ignore-case ../../gperf-3.0.1-src/tests/smtp.gperf > smtp.c
-gcc -Wall -O3 -fms-extensions -mms-bitfields -fno-exceptions -fomit-frame-pointer -march=i386 -mcpu=i686 -o smtp smtp.c
-./smtp
-../src/gperf --struct-type --readonly-table --enum --global -K field_name -N header_entry --ignore-case --compare-strncmp ../../gperf-3.0.1-src/tests/smtp.gperf > smtp.c
-gcc -Wall -O3 -fms-extensions -mms-bitfields -fno-exceptions -fomit-frame-pointer -march=i386 -mcpu=i686 -o smtp smtp.c
-./smtp
-../src/gperf --struct-type --readonly-table --enum --global -K field_name -N header_entry --ignore-case --compare-lengths ../../gperf-3.0.1-src/tests/smtp.gperf > smtp.c
-gcc -Wall -O3 -fms-extensions -mms-bitfields -fno-exceptions -fomit-frame-pointer -march=i386 -mcpu=i686 -o smtp smtp.c
-./smtp
-../src/gperf -L C -F ', 0, 0' -j1 -i 1 -g -o -t -G -N is_reserved_word -k1,3,'$' < ../../gperf-3.0.1-src/tests/c-parse.gperf > c-parse.out
-diff ../../gperf-3.0.1-src/tests/c-parse.exp c-parse.out
-2c2
-< /* Command-line: ../src/gperf -L C -F ', 0, 0' -j1 -i 1 -g -o -t -G -N is_reserved_word -k'1,3,$' */
----
-> /* Command-line: 'k:\\Devel\\gperf\\3.0.1\\gperf-3.0.1\\src\\gperf.exe' -L C -F ', 0, 0' -j1 -i 1 -g -o -t -G -N is_reserved_word -k'1,3,$' */
-../src/gperf -j1 -i 1 -g -o -t -N is_reserved_word -k1,3,'$' < ../../gperf-3.0.1-src/tests/objc.gperf > objc.out
-diff ../../gperf-3.0.1-src/tests/objc.exp objc.out
-2c2
-< /* Command-line: ../src/gperf -j1 -i 1 -g -o -t -N is_reserved_word -k'1,3,$' */
----
-> /* Command-line: 'k:\\Devel\\gperf\\3.0.1\\gperf-3.0.1\\src\\gperf.exe' -j1 -i 1 -g -o -t -N is_reserved_word -k'1,3,$' */
-../src/gperf -L C -F ', 0, 0, 0' -D -E -S1 -j1 -i 1 -g -o -t -k'*' < ../../gperf-3.0.1-src/tests/chill.gperf > chill.out
-diff ../../gperf-3.0.1-src/tests/chill.exp chill.out
-2c2
-< /* Command-line: ../src/gperf -L C -F ', 0, 0, 0' -D -E -S1 -j1 -i 1 -g -o -t -k'*' */
----
-> /* Command-line: 'k:\\Devel\\gperf\\3.0.1\\gperf-3.0.1\\src\\gperf.exe' -L C -F ', 0, 0, 0' -D -E -S1 -j1 -i 1 -g -o -t -k'*' */
-../src/gperf -L C -F ', 0, 0' -j1 -g -o -t -N is_reserved_word -k1,4,7,'$' < ../../gperf-3.0.1-src/tests/cplusplus.gperf > cplusplus.out
-diff ../../gperf-3.0.1-src/tests/cplusplus.exp cplusplus.out
-2c2
-< /* Command-line: ../src/gperf -L C -F ', 0, 0' -j1 -g -o -t -N is_reserved_word -k'1,4,7,$' */
----
-> /* Command-line: 'k:\\Devel\\gperf\\3.0.1\\gperf-3.0.1\\src\\gperf.exe' -L C -F ', 0, 0' -j1 -g -o -t -N is_reserved_word -k'1,4,7,$' */
-../src/gperf -L C -F ', 0' -t -j1 -i 1 -g -o -N java_keyword -k1,3,'$' < ../../gperf-3.0.1-src/tests/java.gperf > java.out
-diff ../../gperf-3.0.1-src/tests/java.exp java.out
-2c2
-< /* Command-line: ../src/gperf -L C -F ', 0' -t -j1 -i 1 -g -o -N java_keyword -k'1,3,$' */
----
-> /* Command-line: 'k:\\Devel\\gperf\\3.0.1\\gperf-3.0.1\\src\\gperf.exe' -L C -F ', 0' -t -j1 -i 1 -g -o -N java_keyword -k'1,3,$' */
-../src/gperf -n -k1-8 -l < ../../gperf-3.0.1-src/tests/modula2.gperf > modula2.out
-diff ../../gperf-3.0.1-src/tests/modula2.exp modula2.out
-2c2
-< /* Command-line: ../src/gperf -n -k1-8 -l */
----
-> /* Command-line: 'k:\\Devel\\gperf\\3.0.1\\gperf-3.0.1\\src\\gperf.exe' -n -k1-8 -l */
-../src/gperf -D -t -k1,'$' < ../../gperf-3.0.1-src/tests/c-parse.gperf > test-4.out
-diff ../../gperf-3.0.1-src/tests/test-4.exp test-4.out
-2c2
-< /* Command-line: ../src/gperf -D -t -k'1,$' */
----
-> /* Command-line: 'k:\\Devel\\gperf\\3.0.1\\gperf-3.0.1\\src\\gperf.exe' -D -t -k'1,$' */
-../src/gperf -g -o -j1 -t -N is_reserved_word < ../../gperf-3.0.1-src/tests/gpc.gperf > gpc.out
-diff ../../gperf-3.0.1-src/tests/gpc.exp gpc.out
-2c2
-< /* Command-line: ../src/gperf -g -o -j1 -t -N is_reserved_word */
----
-> /* Command-line: 'k:\\Devel\\gperf\\3.0.1\\gperf-3.0.1\\src\\gperf.exe' -g -o -j1 -t -N is_reserved_word */
-../src/gperf -m5 < ../../gperf-3.0.1-src/tests/permut2.gperf > permut2.out
-diff ../../gperf-3.0.1-src/tests/permut2.exp permut2.out
-2c2
-< /* Command-line: ../src/gperf -m5 */
----
-> /* Command-line: 'k:\\Devel\\gperf\\3.0.1\\gperf-3.0.1\\src\\gperf.exe' -m5 */
-../src/gperf -m5 < ../../gperf-3.0.1-src/tests/permut3.gperf > permut3.out
-diff ../../gperf-3.0.1-src/tests/permut3.exp permut3.out
-2c2
-< /* Command-line: ../src/gperf -m5 */
----
-> /* Command-line: 'k:\\Devel\\gperf\\3.0.1\\gperf-3.0.1\\src\\gperf.exe' -m5 */
-../src/gperf -m5 --ignore-case < ../../gperf-3.0.1-src/tests/permutc2.gperf > permutc2.out
-diff ../../gperf-3.0.1-src/tests/permutc2.exp permutc2.out
-2c2
-< /* Command-line: ../src/gperf -m5 --ignore-case */
----
-> /* Command-line: 'k:\\Devel\\gperf\\3.0.1\\gperf-3.0.1\\src\\gperf.exe' -m5 --ignore-case */
-../src/gperf -C -E -G -I -t < ../../gperf-3.0.1-src/tests/charsets.gperf > charsets.out
-diff ../../gperf-3.0.1-src/tests/charsets.exp charsets.out
-2c2
-< /* Command-line: ../src/gperf -C -E -G -I -t */
----
-> /* Command-line: 'k:\\Devel\\gperf\\3.0.1\\gperf-3.0.1\\src\\gperf.exe' -C -E -G -I -t */
-../src/gperf -C -E -G -I -t < ../../gperf-3.0.1-src/tests/languages.gperf > languages.out
-diff ../../gperf-3.0.1-src/tests/languages.exp languages.out
-2c2
-< /* Command-line: ../src/gperf -C -E -G -I -t */
----
-> /* Command-line: 'k:\\Devel\\gperf\\3.0.1\\gperf-3.0.1\\src\\gperf.exe' -C -E -G -I -t */
-../src/gperf -t < ../../gperf-3.0.1-src/tests/incomplete.gperf > incomplete.out
-diff ../../gperf-3.0.1-src/tests/incomplete.exp incomplete.out
-2c2
-< /* Command-line: ../src/gperf -t */
----
-> /* Command-line: 'k:\\Devel\\gperf\\3.0.1\\gperf-3.0.1\\src\\gperf.exe' -t */
-../src/gperf -h > test-6.out
-diff ../../gperf-3.0.1-src/tests/test-6.exp test-6.out
-3c3
-< Usage: ../src/gperf [OPTION]... [INPUT-FILE]
----
-> Usage: k:\Devel\gperf\3.0.1\gperf-3.0.1\src\gperf.exe [OPTION]... [INPUT-FILE]
-only if, do, for, case, goto, else, while, and return should be found
-./aout -v < ../../gperf-3.0.1-src/tests/c.gperf > test-7.out
-diff ../../gperf-3.0.1-src/tests/test-7.exp test-7.out
-make[1]: Leaving directory `/cygdrive/k/Devel/gperf/3.0.1/gperf-3.0.1/tests'
-cd doc; make check
-make[1]: Entering directory `/cygdrive/k/Devel/gperf/3.0.1/gperf-3.0.1/doc'
-make[1]: Niets te doen voor `check'.
-make[1]: Leaving directory `/cygdrive/k/Devel/gperf/3.0.1/gperf-3.0.1/doc'
diff --git a/gnuwin32/contrib/gperf/3.0.1/gperf-3.0.1/check_err.log b/gnuwin32/contrib/gperf/3.0.1/gperf-3.0.1/check_err.log
deleted file mode 100644
index 8263f49c..00000000
--- a/gnuwin32/contrib/gperf/3.0.1/gperf-3.0.1/check_err.log
+++ /dev/null
@@ -1,21 +0,0 @@
-../../gperf-3.0.1-src/tests/test.c: In function `main':
-../../gperf-3.0.1-src/tests/test.c:25: warning: implicit declaration of function `in_word_set'
-1 input keys have identical hash values, examine output carefully...
-../../gperf-3.0.1-src/tests/test2.c: In function `main':
-../../gperf-3.0.1-src/tests/test2.c:52: warning: implicit declaration of function `in_word_set'
-make[1]: [check-test] Fout 1 (genegeerd)
-make[1]: [check-test] Fout 1 (genegeerd)
-make[1]: [check-test] Fout 1 (genegeerd)
-make[1]: [check-test] Fout 1 (genegeerd)
-make[1]: [check-test] Fout 1 (genegeerd)
-make[1]: [check-test] Fout 1 (genegeerd)
-8 input keys have identical hash values, examine output carefully...
-make[1]: [check-test] Fout 1 (genegeerd)
-make[1]: [check-test] Fout 1 (genegeerd)
-make[1]: [check-test] Fout 1 (genegeerd)
-make[1]: [check-test] Fout 1 (genegeerd)
-make[1]: [check-test] Fout 1 (genegeerd)
-make[1]: [check-test] Fout 1 (genegeerd)
-make[1]: [check-test] Fout 1 (genegeerd)
-make[1]: [check-test] Fout 1 (genegeerd)
-make[1]: [check-test] Fout 1 (genegeerd)
diff --git a/gnuwin32/contrib/libiconv/1.9.2/depends-GnuWin32.lst b/gnuwin32/contrib/libiconv/1.9.2/depends-GnuWin32.lst
deleted file mode 100644
index 0c9a4ac3..00000000
--- a/gnuwin32/contrib/libiconv/1.9.2/depends-GnuWin32.lst
+++ /dev/null
@@ -1,9 +0,0 @@
-advapi32.dll
-gdi32.dll
-kernel32.dll
-libintl3.dll
-msvcrt.dll
-ntdll.dll
-ole32.dll
-rpcrt4.dll
-user32.dll
diff --git a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-1-GnuWin32.README b/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-1-GnuWin32.README
deleted file mode 100644
index fc6b8ae0..00000000
--- a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-1-GnuWin32.README
+++ /dev/null
@@ -1,54 +0,0 @@
-* LibIconv-1.9.2 for Windows *
-==============================
-
-What is it?
------------
-LibIconv: convert between character encodings
-
-Description
------------
-LibIconv converts from one character encoding to another through Unicode
-conversion (see Web page for full list of supported encodings). It has
-also limited support for transliteration, i.e. when a character cannot be
-represented in the target character set, it is approximated through one
-or several similar looking characters. It is useful if your application
-needs to support multiple character encodings, but that support lacks from
-your system.
-
-- Libiconv-1 is in Libiconv-1.7
-
-Homepage
---------
-http://www.gnu.org/software/libiconv
-
-System
-------
-- MS-Windows 95 / 98 / ME / NT / 2000 / XP with msvcrt.dll
-- if msvcrt.dll is not in your Windows/System folder, get it from
- Microsoft <http://support.microsoft.com/default.aspx?scid=kb;en-us;259403">
- or by installing Internet Explorer 4.0 or higher
- <http://www.microsoft.com/windows/ie>- libgw32c <http://gnuwin32.sourceforge.net/packages/libgw32c.htm> (for developing with LibIconv library)
-
-Notes
------
-- Bugs and questions on this MS-Windows port: gnuwin32@users.sourceforge.net
-
-Package Availability
---------------------
-- in: http://gnuwin32.sourceforge.net
-
-Sources
--------
-- libiconv-1.9.2-1-src.zip
-
-Compilation
------------
-The package has been compiled with GNU auto-tools, GNU make, and Mingw
-(GCC for MS-Windows). Any differences from the original sources are given
-in libiconv-1.9.2-1-GnuWin32.diffs in libiconv-1.9.2-1-src.zip. Libraries needed
-for compilation can be found at the lines starting with 'LIBS = ' in the
-Makefiles. Usually, these are standard libraries provided with Mingw, or
-libraries from the package itself; 'gw32c' refers to the libgw32c package,
-which provides MS-Windows substitutes or stubs for functions normally found in
-Unix. For more information, see: http://gnuwin32.sourceforge.net/compile.html
-and http://gnuwin32.sourceforge.net/packages/libgw32c.htm.
diff --git a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/ABOUT-NLS b/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/ABOUT-NLS
deleted file mode 100644
index d79798cc..00000000
--- a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/ABOUT-NLS
+++ /dev/null
@@ -1,477 +0,0 @@
-Notes on the Free Translation Project
-*************************************
-
- Free software is going international! The Free Translation Project
-is a way to get maintainers of free software, translators, and users all
-together, so that will gradually become able to speak many languages.
-A few packages already provide translations for their messages.
-
- If you found this `ABOUT-NLS' file inside a distribution, you may
-assume that the distributed package does use GNU `gettext' internally,
-itself available at your nearest GNU archive site. But you do _not_
-need to install GNU `gettext' prior to configuring, installing or using
-this package with messages translated.
-
- Installers will find here some useful hints. These notes also
-explain how users should proceed for getting the programs to use the
-available translations. They tell how people wanting to contribute and
-work at translations should contact the appropriate team.
-
- When reporting bugs in the `intl/' directory or bugs which may be
-related to internationalization, you should tell about the version of
-`gettext' which is used. The information can be found in the
-`intl/VERSION' file, in internationalized packages.
-
-Quick configuration advice
-==========================
-
- If you want to exploit the full power of internationalization, you
-should configure it using
-
- ./configure --with-included-gettext
-
-to force usage of internationalizing routines provided within this
-package, despite the existence of internationalizing capabilities in the
-operating system where this package is being installed. So far, only
-the `gettext' implementation in the GNU C library version 2 provides as
-many features (such as locale alias, message inheritance, automatic
-charset conversion or plural form handling) as the implementation here.
-It is also not possible to offer this additional functionality on top
-of a `catgets' implementation. Future versions of GNU `gettext' will
-very likely convey even more functionality. So it might be a good idea
-to change to GNU `gettext' as soon as possible.
-
- So you need _not_ provide this option if you are using GNU libc 2 or
-you have installed a recent copy of the GNU gettext package with the
-included `libintl'.
-
-INSTALL Matters
-===============
-
- Some packages are "localizable" when properly installed; the
-programs they contain can be made to speak your own native language.
-Most such packages use GNU `gettext'. Other packages have their own
-ways to internationalization, predating GNU `gettext'.
-
- By default, this package will be installed to allow translation of
-messages. It will automatically detect whether the system already
-provides the GNU `gettext' functions. If not, the GNU `gettext' own
-library will be used. This library is wholly contained within this
-package, usually in the `intl/' subdirectory, so prior installation of
-the GNU `gettext' package is _not_ required. Installers may use
-special options at configuration time for changing the default
-behaviour. The commands:
-
- ./configure --with-included-gettext
- ./configure --disable-nls
-
-will respectively bypass any pre-existing `gettext' to use the
-internationalizing routines provided within this package, or else,
-_totally_ disable translation of messages.
-
- When you already have GNU `gettext' installed on your system and run
-configure without an option for your new package, `configure' will
-probably detect the previously built and installed `libintl.a' file and
-will decide to use this. This might be not what is desirable. You
-should use the more recent version of the GNU `gettext' library. I.e.
-if the file `intl/VERSION' shows that the library which comes with this
-package is more recent, you should use
-
- ./configure --with-included-gettext
-
-to prevent auto-detection.
-
- The configuration process will not test for the `catgets' function
-and therefore it will not be used. The reason is that even an
-emulation of `gettext' on top of `catgets' could not provide all the
-extensions of the GNU `gettext' library.
-
- Internationalized packages have usually many `po/LL.po' files, where
-LL gives an ISO 639 two-letter code identifying the language. Unless
-translations have been forbidden at `configure' time by using the
-`--disable-nls' switch, all available translations are installed
-together with the package. However, the environment variable `LINGUAS'
-may be set, prior to configuration, to limit the installed set.
-`LINGUAS' should then contain a space separated list of two-letter
-codes, stating which languages are allowed.
-
-Using This Package
-==================
-
- As a user, if your language has been installed for this package, you
-only have to set the `LANG' environment variable to the appropriate
-`LL_CC' combination. Here `LL' is an ISO 639 two-letter language code,
-and `CC' is an ISO 3166 two-letter country code. For example, let's
-suppose that you speak German and live in Germany. At the shell
-prompt, merely execute `setenv LANG de_DE' (in `csh'),
-`export LANG; LANG=de_DE' (in `sh') or `export LANG=de_DE' (in `bash').
-This can be done from your `.login' or `.profile' file, once and for
-all.
-
- You might think that the country code specification is redundant.
-But in fact, some languages have dialects in different countries. For
-example, `de_AT' is used for Austria, and `pt_BR' for Brazil. The
-country code serves to distinguish the dialects.
-
- The locale naming convention of `LL_CC', with `LL' denoting the
-language and `CC' denoting the country, is the one use on systems based
-on GNU libc. On other systems, some variations of this scheme are
-used, such as `LL' or `LL_CC.ENCODING'. You can get the list of
-locales supported by your system for your country by running the command
-`locale -a | grep '^LL''.
-
- Not all programs have translations for all languages. By default, an
-English message is shown in place of a nonexistent translation. If you
-understand other languages, you can set up a priority list of languages.
-This is done through a different environment variable, called
-`LANGUAGE'. GNU `gettext' gives preference to `LANGUAGE' over `LANG'
-for the purpose of message handling, but you still need to have `LANG'
-set to the primary language; this is required by other parts of the
-system libraries. For example, some Swedish users who would rather
-read translations in German than English for when Swedish is not
-available, set `LANGUAGE' to `sv:de' while leaving `LANG' to `sv_SE'.
-
- In the `LANGUAGE' environment variable, but not in the `LANG'
-environment variable, `LL_CC' combinations can be abbreviated as `LL'
-to denote the language's main dialect. For example, `de' is equivalent
-to `de_DE' (German as spoken in Germany), and `pt' to `pt_PT'
-(Portuguese as spoken in Portugal) in this context.
-
-Translating Teams
-=================
-
- For the Free Translation Project to be a success, we need interested
-people who like their own language and write it well, and who are also
-able to synergize with other translators speaking the same language.
-Each translation team has its own mailing list. The up-to-date list of
-teams can be found at the Free Translation Project's homepage,
-`http://www.iro.umontreal.ca/contrib/po/HTML/', in the "National teams"
-area.
-
- If you'd like to volunteer to _work_ at translating messages, you
-should become a member of the translating team for your own language.
-The subscribing address is _not_ the same as the list itself, it has
-`-request' appended. For example, speakers of Swedish can send a
-message to `sv-request@li.org', having this message body:
-
- subscribe
-
- Keep in mind that team members are expected to participate
-_actively_ in translations, or at solving translational difficulties,
-rather than merely lurking around. If your team does not exist yet and
-you want to start one, or if you are unsure about what to do or how to
-get started, please write to `translation@iro.umontreal.ca' to reach the
-coordinator for all translator teams.
-
- The English team is special. It works at improving and uniformizing
-the terminology in use. Proven linguistic skill are praised more than
-programming skill, here.
-
-Available Packages
-==================
-
- Languages are not equally supported in all packages. The following
-matrix shows the current state of internationalization, as of February
-2003. The matrix shows, in regard of each package, for which languages
-PO files have been submitted to translation coordination, with a
-translation percentage of at least 50%.
-
- Ready PO files az be bg ca cs da de el en en_GB eo es et fa fi
- +-------------------------------------------------+
- a2ps | [] [] [] [] [] |
- aegis | () |
- anubis | |
- ap-utils | |
- bash | [] [] [] |
- batchelor | |
- bfd | [] [] |
- binutils | [] [] |
- bison | [] [] [] [] |
- clisp | [] [] [] |
- clisp | |
- coreutils | [] [] [] [] |
- cpio | [] [] [] |
- darkstat | () [] |
- diffutils | [] [] [] [] [] [] [] |
- enscript | [] [] [] |
- error | [] [] [] [] |
- fetchmail | [] () [] [] [] |
- fileutils | [] [] [] [] |
- findutils | [] [] [] [] [] [] [] |
- flex | [] [] [] [] |
- gas | [] |
- gawk | [] [] [] |
- gcal | [] |
- gcc | [] [] |
- gettext | [] [] [] [] [] |
- gimp-print | |
- gliv | |
- gnucash | [] () |
- gnucash-glossary| [] () [] |
- gnupg | [] [] [] [] [] [] [] |
- gpe-todo | |
- gphoto2 | [] [] |
- gprof | [] [] |
- gpsdrive | () () () () |
- grep | [] [] [] [] [] [] [] |
- gretl | [] |
- hello | [] [] [] [] [] [] [] [] [] |
- id-utils | [] [] |
- indent | [] [] [] [] [] [] |
- jpilot | () [] [] [] |
- jwhois | [] |
- kbd | [] [] [] |
- ld | [] [] |
- libc | [] [] [] [] [] [] [] |
- libgpewidget | |
- libiconv | [] [] [] [] [] [] |
- lifelines | [] () |
- lilypond | [] |
- lingoteach | [] |
- lingoteach_lessons| () () |
- lynx | [] [] [] [] [] |
- m4 | [] [] [] [] |
- mailutils | [] [] |
- make | [] [] [] |
- man-db | [] () [] () |
- mysecretdiary | [] [] [] |
- nano | [] () [] [] [] |
- nano_1_0 | [] () [] [] [] |
- opcodes | [] [] |
- parted | [] [] [] [] |
- ptx | [] [] [] [] [] [] [] |
- python | |
- radius | |
- recode | [] [] [] [] [] |
- sed | [] [] [] [] [] [] |
- sh-utils | [] [] [] [] |
- sharutils | [] [] [] [] [] [] [] |
- sketch | [] () [] |
- soundtracker | [] [] [] |
- sp | [] |
- tar | [] [] [] [] [] [] |
- texinfo | [] [] [] [] |
- textutils | [] [] [] [] |
- tin | () () [] |
- util-linux | [] [] [] [] [] [] [] |
- vorbis-tools | [] [] |
- wastesedge | () |
- wdiff | [] [] [] [] [] |
- wget | [] [] [] [] [] [] [] [] [] |
- xchat | |
- xpad | |
- +-------------------------------------------------+
- az be bg ca cs da de el en en_GB eo es et fa fi
- 0 1 2 26 9 49 46 9 1 1 11 52 19 1 15
-
- fr gl he hr hu id it ja ko lg lv ms nb nl
- +-------------------------------------------+
- a2ps | [] () () [] [] |
- aegis | () |
- anubis | [] [] |
- ap-utils | [] |
- bash | [] [] |
- batchelor | |
- bfd | [] [] |
- binutils | [] [] |
- bison | [] [] [] [] |
- clisp | [] [] |
- clisp | |
- coreutils | [] [] [] |
- cpio | [] [] [] [] [] |
- darkstat | () [] [] [] |
- diffutils | [] [] [] [] [] [] |
- enscript | [] [] [] |
- error | [] [] [] |
- fetchmail | [] |
- fileutils | [] [] [] [] |
- findutils | [] [] [] [] [] [] [] [] [] |
- flex | [] [] |
- gas | [] |
- gawk | [] [] |
- gcal | [] |
- gcc | [] |
- gettext | [] [] [] |
- gimp-print | |
- gliv | () |
- gnucash | [] [] [] |
- gnucash-glossary| [] [] |
- gnupg | [] [] [] [] [] |
- gpe-todo | |
- gphoto2 | [] [] [] |
- gprof | [] [] |
- gpsdrive | () [] () () |
- grep | [] [] [] [] [] [] [] [] |
- gretl | [] |
- hello | [] [] [] [] [] [] [] [] [] [] [] [] [] |
- id-utils | [] [] [] |
- indent | [] [] [] [] [] [] |
- jpilot | [] () () |
- jwhois | [] [] [] [] |
- kbd | [] |
- ld | [] |
- libc | [] [] [] [] [] [] |
- libgpewidget | |
- libiconv | [] [] [] [] [] [] |
- lifelines | () |
- lilypond | [] [] |
- lingoteach | [] |
- lingoteach_lessons| |
- lynx | [] [] [] [] |
- m4 | [] [] [] [] [] |
- mailutils | |
- make | [] [] [] [] [] [] [] |
- man-db | [] () () |
- mysecretdiary | [] [] |
- nano | [] [] [] [] [] [] |
- nano_1_0 | [] [] [] [] [] [] |
- opcodes | [] [] [] |
- parted | [] [] [] |
- ptx | [] [] [] [] [] [] |
- python | |
- radius | |
- recode | [] [] [] [] [] |
- sed | [] [] [] [] [] |
- sh-utils | [] [] [] [] [] |
- sharutils | [] [] [] [] [] |
- sketch | [] |
- soundtracker | [] [] [] |
- sp | [] () |
- tar | [] [] [] [] [] [] [] [] [] |
- texinfo | [] [] [] [] |
- textutils | [] [] [] [] [] [] |
- tin | |
- util-linux | [] [] () [] [] |
- vorbis-tools | [] |
- wastesedge | () |
- wdiff | [] [] [] [] [] |
- wget | [] [] [] [] [] [] [] |
- xchat | |
- xpad | |
- +-------------------------------------------+
- fr gl he hr hu id it ja ko lg lv ms nb nl
- 59 23 8 10 26 20 18 26 8 0 1 8 7 24
-
- nn no pl pt pt_BR ro ru sk sl sv tr uk zh_CN zh_TW
- +----------------------------------------------------+
- a2ps | () () () [] [] [] [] [] [] | 14
- aegis | () | 0
- anubis | [] [] | 4
- ap-utils | () () | 1
- bash | [] [] | 7
- batchelor | | 0
- bfd | [] [] | 6
- binutils | [] [] | 6
- bison | [] [] [] | 11
- clisp | | 5
- clisp | | 0
- coreutils | [] [] [] [] [] | 12
- cpio | [] [] [] [] [] | 13
- darkstat | [] [] () () | 6
- diffutils | [] [] [] [] [] [] | 19
- enscript | [] [] [] [] | 10
- error | [] [] [] [] | 11
- fetchmail | () () [] | 6
- fileutils | [] [] [] [] [] [] | 14
- findutils | [] [] [] [] [] [] [] [] | 24
- flex | [] [] [] [] | 10
- gas | [] | 3
- gawk | [] [] | 7
- gcal | [] [] | 4
- gcc | [] | 4
- gettext | [] [] [] [] [] [] | 14
- gimp-print | | 0
- gliv | [] | 1
- gnucash | [] [] [] [] [] | 9
- gnucash-glossary| [] [] [] [] | 8
- gnupg | [] [] [] [] | 16
- gpe-todo | | 0
- gphoto2 | [] [] | 7
- gprof | [] [] [] | 7
- gpsdrive | [] [] | 3
- grep | [] [] [] [] [] | 20
- gretl | | 2
- hello | [] [] [] [] [] [] [] [] [] | 31
- id-utils | [] [] [] [] | 9
- indent | [] [] [] [] [] | 17
- jpilot | () [] [] [] [] | 8
- jwhois | [] () () [] [] | 8
- kbd | [] [] | 6
- ld | [] [] | 5
- libc | [] [] [] [] [] [] [] | 20
- libgpewidget | | 0
- libiconv | [] [] [] [] [] [] | 18
- lifelines | [] | 2
- lilypond | [] | 4
- lingoteach | [] [] | 4
- lingoteach_lessons| () | 0
- lynx | [] [] [] [] | 13
- m4 | [] [] [] [] | 13
- mailutils | | 2
- make | [] [] [] [] [] | 15
- man-db | [] | 4
- mysecretdiary | [] [] [] | 8
- nano | [] [] [] | 13
- nano_1_0 | [] [] [] [] [] | 15
- opcodes | [] [] [] | 8
- parted | [] [] [] [] [] | 12
- ptx | [] [] [] [] [] [] [] | 20
- python | | 0
- radius | | 0
- recode | [] [] [] [] [] [] | 16
- sed | [] [] [] [] [] | 16
- sh-utils | [] [] [] | 12
- sharutils | [] [] [] [] | 16
- sketch | [] [] | 5
- soundtracker | [] | 7
- sp | [] | 3
- tar | [] [] [] [] [] [] [] [] [] | 24
- texinfo | [] [] [] [] | 12
- textutils | [] [] [] [] [] | 15
- tin | | 1
- util-linux | [] [] [] | 14
- vorbis-tools | [] | 4
- wastesedge | | 0
- wdiff | [] [] [] [] [] | 15
- wget | [] [] [] [] [] [] [] [] | 24
- xchat | | 0
- xpad | | 0
- +----------------------------------------------------+
- 43 teams nn no pl pt pt_BR ro ru sk sl sv tr uk zh_CN zh_TW
- 82 domains 3 4 14 4 34 1 29 14 13 53 46 6 9 13 723
-
- Some counters in the preceding matrix are higher than the number of
-visible blocks let us expect. This is because a few extra PO files are
-used for implementing regional variants of languages, or language
-dialects.
-
- For a PO file in the matrix above to be effective, the package to
-which it applies should also have been internationalized and
-distributed as such by its maintainer. There might be an observable
-lag between the mere existence a PO file and its wide availability in a
-distribution.
-
- If February 2003 seems to be old, you may fetch a more recent copy
-of this `ABOUT-NLS' file on most GNU archive sites. The most
-up-to-date matrix with full percentage details can be found at
-`http://www.iro.umontreal.ca/contrib/po/HTML/matrix.html'.
-
-Using `gettext' in new packages
-===============================
-
- If you are writing a freely available program and want to
-internationalize it you are welcome to use GNU `gettext' in your
-package. Of course you have to respect the GNU Library General Public
-License which covers the use of the GNU `gettext' library. This means
-in particular that even non-free programs can use `libintl' as a shared
-library, whereas only free software can use `libintl' as a static
-library or use modified versions of `libintl'.
-
- Once the sources are changed appropriately and the setup can handle
-the use of `gettext' the only thing missing are the translations. The
-Free Translation Project is also available for packages which are not
-developed inside the GNU project. Therefore the information given above
-applies also for every other Free Software Project. Contact
-`translation@iro.umontreal.ca' to make the `.pot' files available to
-the translation teams.
-
diff --git a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/AUTHORS b/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/AUTHORS
deleted file mode 100644
index 8bedd794..00000000
--- a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/AUTHORS
+++ /dev/null
@@ -1 +0,0 @@
-Bruno Haible <bruno@clisp.org>
diff --git a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/ChangeLog b/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/ChangeLog
deleted file mode 100644
index 93322059..00000000
--- a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/ChangeLog
+++ /dev/null
@@ -1,2633 +0,0 @@
-2004-01-23 Bruno Haible <bruno@clisp.org>
-
- * tests/table-from.c: Include binary-io.h.
- (main): Switch stdout to binary mode.
- * tests/table-to.c: Include binary-io.h.
- (main): Switch stdout to binary mode.
- * tests/genutf8.c: Include binary-io.h.
- (main): Switch stdout to binary mode.
- * tests/Makefile.in (INCLUDES): Also look in srclib.
- (check): Pass INCLUDES when compiling genutf8.c.
- * tests/Makefile.os2 (INCLUDES): Also look in srclib.
- (genutf8.exe): Pass INCLUDES when compiling genutf8.c.
- * tests/Makefile.msvc (INCLUDES): Also look in srclib.
- (check): Pass INCLUDES when compiling genutf8.c.
-
-2004-01-21 Bruno Haible <bruno@clisp.org>
-
- * src/iconv.c (force_binary): Remove variable.
- (usage): Don't document --binary any more.
- (convert, main): Always switch to binary mode.
- * tests/check-stateful.bat: Remove --binary option.
- * tests/check-translit.bat: Likewise.
- * tests/check-stateful.cmd: Likewise.
- * tests/check-translit.cmd: Likewise.
- * djgpp/stateful-check.sed: Remove MODE variable.
- * djgpp/translit-check.sed: Likewise.
-
-2004-01-21 Bruno Haible <bruno@clisp.org>
-
- * man/iconv.3: Fix description of return value in case of error.
- Reported by Jonathan Wakely <redi@users.sf.net>.
-
-2003-09-12 Paul Eggert <eggert@twinsun.com>
-
- * srclib/progreloc.c (get_full_program_name): Define via prototype.
-
-2003-08-15 Bruno Haible <bruno@clisp.org>
-
- * Makefile.devel (lib/translit.h): Add ulimit command so that the
- gentranslit program gets the stack it needs. Many Linux distributions
- allow only 8 MB of stack by default.
-
-2003-08-01 Bruno Haible <bruno@clisp.org>
-
- * lib/relocatable.c (find_shared_library_fullname): Disable the code on
- Linux/libc5.
- * srclib/relocatable.c (find_shared_library_fullname): Likewise.
- Reported by Alain Guibert <derogaton+bgli@oreka.com>.
-
-2003-07-02 Bruno Haible <bruno@clisp.org>
-
- * m4/lib-ld.m4: Update from GNU gettext.
- * m4/lib-prefix.m4: Update from GNU gettext.
- * m4/gettext.m4: Update from GNU gettext.
- * m4/intmax.m4: New file, from GNU gettext.
- * m4/longdouble.m4: New file, from GNU gettext.
- * m4/longlong.m4: New file, from GNU gettext.
- * m4/printf-posix.m4: New file, from GNU gettext.
- * m4/signed.m4: New file, from GNU gettext.
- * m4/wchar_t.m4: New file, from GNU gettext.
- * m4/wint_t.m4: New file, from GNU gettext.
- * m4/pathmax.m4: Update from GNU gettext and gnulib.
- * m4/ssize_t.m4: Update from GNU gettext and gnulib.
- * m4/xreadlink.m4: Update from GNU gettext and gnulib.
- * m4/readlink.m4: New file, from gnulib.
- * autoconf/install-reloc: Update from GNU gettext.
- * srclib/stdbool_.h: Renamed from srclib/stdbool.h.in.
- * srclib/readlink.c: New file, from GNU gettext and gnulib.
- * srclib/Makefile.am (LIBADD_SOURCE): Add readlink.c.
- (EXTRA_DIST, stdbool.h): Use stdbool_.h instead of stdbool.h.in.
- * configure.in: Invoke gl_FUNC_READLINK.
-
-2003-06-22 Bruno Haible <bruno@clisp.org>
-
- * src/Makefile.in (install): Link with the already installed library.
- This fixes a link error on Solaris.
- Reported by Paul Eggert.
-
-2003-06-08 Bruno Haible <bruno@clisp.org>
-
- * srclib/canonicalize.c (__getcwd) [VMS]: Pass 3 arguments to getcwd.
-
-2003-05-02 Bruno Haible <bruno@clisp.org>
-
- Support for libtool-1.5.
- * srclib/progname.c (set_program_name): Remove a leading
- "<dirname>/.libs/lt-" or "<dirname>/.libs/", not only "lt-".
-
-2003-06-23 Bruno Haible <bruno@clisp.org>
-
- Avoid compilation units that are empty after preprocessing.
- * srclib/canonicalize.c: Add dummy declaration.
- * srclib/strerror.c: Likewise.
- * srclib/error.c: Include <stdio.h> even if there's nothing to be
- compiled.
-
-2003-06-22 Bruno Haible <bruno@clisp.org>
-
- Portability to mingw32.
- * m4/ssize_t.m4: New file, from GNU gettext.
- * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
- Reported by Jeff Bonggren <jbon@cfl.rr.com>.
-
-2003-06-22 Bruno Haible <bruno@clisp.org>
-
- Portability to mingw32.
- * lib/relocatable.c [WIN32]: Include <windows.h>.
- * srclib/relocatable.c: Likewise.
- Reported by Jeff Bonggren <jbon@cfl.rr.com>.
-
-2003-06-22 Bruno Haible <bruno@clisp.org>
-
- * lib/relocatable.c (compute_curr_prefix): Comment out this function in
- the case when it is not used.
- * srclib/relocatable.c (compute_curr_prefix): Likewise.
- Reported by Pavel Roskin <proski@gnu.org>.
-
-2003-06-18 Bruno Haible <bruno@clisp.org>
-
- * config/install-sh: Update from automake-1.7.5.
-
-2003-06-16 Bruno Haible <bruno@clisp.org>
-
- * lib/encodings.def (ISO-8859-15): Add alias LATIN-9.
- (ISO-8859-16): Add aliases ISO_8859-16:2001, LATIN10, L10. Remove alias
- ISO_8859-16:2000.
- (GBK): Add aliases MS936, WINDOWS-936.
- Reported by Guido Flohr <guido@imperia.net>.
-
-2003-05-09 Bruno Haible <bruno@clisp.org>
-
- * srclib/canonicalize.c: Add #ifdef around versioned_symbol. Avoids an
- "extraneous semicolon" warning from Tru64 cc.
-
-2003-06-07 Bruno Haible <bruno@clisp.org>
-
- * Makefile.devel (config.h_vms): Don't define HAVE_ENVIRON_DECL.
- * Makefile.vms (config.h): New rule.
- (all, install): Depend on it.
- (all, install, installdirs, uninstall, check): Fix typo.
- (mostlyclean, clean, distclean, maintainer-clean): Likewise. Remove
- config.h.
- * lib/Makefile.vms (DEFS): Fix value of INSTALLDIR.
- (OBJECTS): Use libiconv.obj instead of iconv.obj.
- (libiconv.obj): Renamed from iconv.obj.
- * srclib/Makefile.vms (INCLUDES): Add parent directory.
- (OBJECTS): Remove strtoul.obj, setenv.obj, unsetenv.obj.
- (strtoul.obj, setenv.obj, unsetenv.obj): Remove rules.
- (alloca.h): New rule.
- (canonicalize.obj): Depend on it.
- (clean): Remove alloca.h.
- * src/Makefile.vms (datadir, localedir): New variables.
- (DEFS): Also define LOCALEDIR.
- (iconv.obj): Add flags for relocatability,
- (iconv.exe): Link with libicrt. Use link_options.
- * vms/link_options.opt: New file.
- Reported by Jouk Jansen <joukj@hrem.stm.tudelft.nl>.
-
-2003-06-07 Bruno Haible <bruno@clisp.org>
-
- Support for relocatable data files even on Woe32.
- * lib/Makefile.msvc (PICFLAGS): Also define PIC.
-
-2003-05-22 Bruno Haible <bruno@clisp.org>
-
- * Version 1.9.1 released.
-
-2003-05-22 Bruno Haible <bruno@clisp.org>
-
- * lib/genaliases.c (main): Emit %pic instead of %null-strings.
- Change type of 'name' field to 'int'.
- * lib/genaliases2.c (emit_encoding): Add a 'tag' argument. Emit an
- invocation of macro S(), including the tag and a counter.
- (main): Use the command-line argument as tag.
- * Makefile.devel (lib/aliases_aix.h, lib/aliases_osf1.h,
- lib/aliases_dos.h, lib/aliases_extra.h): Pass a tag to the program.
- * lib/iconv.c (stringpool2_t): New type.
- (stringpool2_contents): New data table.
- (stringpool2): New macro.
- (sysdep_aliases): Make position-independent. Move #includes out to
- aliases2.h.
- (aliases2_lookup): Update.
- (nalias): New type.
- (compare_by_index): Use 'struct nalias' instead of 'struct alias'.
- (iconvlist): Convert 'struct alias' to 'struct nalias' while copying.
- * lib/aliases2.h: New file, extracted from lib/iconv.c.
-
-2003-05-20 Bruno Haible <bruno@clisp.org>
-
- * lib/iconv.c (iconvlist): Test p->name against NULL, not against "".
- Reported by Muraoka Taro <koron@tka.att.ne.jp>.
-
-2003-05-19 Bruno Haible <bruno@clisp.org>
-
- * windows/iconv.rc: Include <winver.h>.
- Reported by Perry Rapp.
-
-2003-05-18 Bruno Haible <bruno@clisp.org>
-
- * Version 1.9 released.
-
-2003-05-18 Bruno Haible <bruno@clisp.org>
-
- * lib/Makefile.in (libiconv_plug_osf.so): Avoid using LIBTOOL_LINK.
-
-2003-05-18 Bruno Haible <bruno@clisp.org>
-
- * lib/Makefile.msvc (DEBUGFLAGS): New variable.
- (iconv.lib): Use it.
- * src/Makefile.msvc (DEBUGFLAGS): New variable.
- * tests/Makefile.msvc (DEBUGFLAGS): New variable.
-
-2003-05-17 Bruno Haible <bruno@clisp.org>
-
- * src/Makefile.msvc (libdir, datadir, localedir): New variables.
- (IIlibdir, IIdatadir, IIlocaledir): New variables.
- (CFLAGS): Define LOCALEDIR.
- (iconv_no_i18n.exe): New rule.
- (all): Depend on it.
- * tests/check-stateful.bat: Invoke iconv_no_i18n instead of iconv.
- * tests/check-translit.bat: Likewise.
-
-2003-05-16 Bruno Haible <bruno@clisp.org>
-
- * lib/genaliases.c (main): Emit declarations for gperf-3.0.
- * Makefile.devel (lib/aliases.h): Remove gperf command line options;
- add new option "-m 10" for gperf-3.0.
-
-2003-05-12 Bruno Haible <bruno@clisp.org>
-
- * m4/error.m4: Update from gettext.
-
-2003-05-12 Bruno Haible <bruno@clisp.org>
-
- * configure.in: Invoke AC_GNU_SOURCE and jm_FUNC_GLIBC_UNLOCKED_IO.
-
-2003-05-12 Bruno Haible <bruno@clisp.org>
-
- * lib/Makefile.msvc (PICFLAGS, CFLAGS): Move BUILDING_* macros from
- CFLAGS to PICFLAGS.
-
-2003-05-09 Bruno Haible <bruno@clisp.org>
-
- * srclib/error.c: Update from gnulib with modifications.
- * srclib/unlocked-io.h: New file, from gnulib.
- * m4/strerror_r.m4: New file, from gnulib.
- * m4/unlocked-io.m4: New file, from gnulib.
- * Makefile.devel (aclocal.m4): Depend on them.
-
-2003-05-08 Bruno Haible <bruno@clisp.org>
-
- * Makefile.msvc (IIPREFIX): New variable.
- * srclib/Makefile.msvc (INCLUDES): Add -I..\windows.
- * src/Makefile.msvc (IIPREFIX, IIprefix, IIexec_prefix, IIbindir,
- IIincludedir): New variables.
- (INCLUDES): Add -I..\windows.
- (iconv.exe): Define INSTALLPREFIX and INSTALLDIR. Link with
- ../srclib/icrt.lib.
- Patches by Perry Rapp.
-
-2003-05-07 Bruno Haible <bruno@clisp.org>
-
- * README.woe32: Fix instructions for step 1.
- * srclib/Makefile.msvc (OBJECTS): Remove strtoul.obj.
- (strtoul.obj): Remove rule.
- Reported by Perry Rapp.
-
-2003-05-07 Bruno Haible <bruno@clisp.org>
-
- * Makefile.vms: New file.
- * lib/Makefile.vms: New file.
- * srclib/Makefile.vms: New file.
- * src/Makefile.vms: New file.
- * man/Makefile.vms: New file.
- * tests/Makefile.vms: New file.
- * Makefile.devel (config.h_vms, lib/config.h_vms, include/iconv.h_vms):
- New rules.
- (all): Depend on them.
-
-2003-05-07 Bruno Haible <bruno@clisp.org>
-
- * srclib/Makefile.msvc (OBJECTS): Remove findprog.obj.
- (findprog.obj): Remove rule.
- * src/Makefile.msvc (includedir): New variable.
-
-2003-05-06 Bruno Haible <bruno@clisp.org>
-
- * lib/translit.def: Upgrade to Unicode 4.0.
-
-2003-05-06 Bruno Haible <bruno@clisp.org>
-
- * srclib/Makefile.am (DEFS): Fix spelling of DEPENDS_ON_LIBICONV.
- * srclib/Makefile.msvc (CFLAGS): Likewise.
-
- * srclib/Makefile.msvc (INCLUDES): Add -I.. .
- Reported by Perry Rapp.
-
- * Makefile.msvc (config.h): New rule.
- (all): Depend on it.
- (mostlyclean, clean, distclean, maintainer-clean): Erase config.h.
- Reported by Perry Rapp.
-
-2003-05-06 Bruno Haible <bruno@clisp.org>
-
- * autoconf/config.guess: Update to GNU version 2003-02-22.
- * autoconf/config.sub: Likewise.
-
-2003-05-06 Bruno Haible <bruno@clisp.org>
-
- * m4/lib-link.m4: Update from GNU gettext.
- * autoconf/config.rpath: Update from GNU gettext.
-
- * m4/libtool.m4: Update from GNU gettext, based on libtool-1.5.
- * autoconf/ltmain.sh: Update from GNU gettext, based on libtool-1.5.
-
- * m4/gettext.m4: Update from GNU gettext.
- * m4/nls.m4: Update from GNU gettext.
- * m4/po.m4: Update from GNU gettext.
- * Makefile.devel (aclocal.m4): Depend on m4/nls.m4 and m4/po.m4.
-
-2003-04-12 Bruno Haible <bruno@clisp.org>
-
- Support for OpenVMS 7.3.
- * lib/iconv.c (USE_OSF1): Define also on VMS.
-
-2003-04-12 Bruno Haible <bruno@clisp.org>
-
- Better support for FreeBSD.
- * lib/encodings.def (ISO8859-{1,2,3,4,5,6,7,8,9,10,13,14,15,16): New
- aliases, for compatibility with earlier FreeBSD iconv implementation
- by Konstantin Chuguev.
- * lib/iconv.c (iconv_open, iconv, iconv_close) [FreeBSD]: Define as
- aliases.
- * src/Makefile.in (install) [FreeBSD]: Avoid installation problem.
-
-2003-04-12 Bruno Haible <bruno@clisp.org>
-
- * configure.in (mandir): Change default value.
- * Makefile.in (datadir): New variable.
- (install, installdirs, uninstall): Pass datadir to po and man
- directories.
- * Makefile.os2 (datadir): New variable.
- (mandir): Use it instead of prefix.
- (install, uninstall): Pass datadir to man directory.
- * Makefile.msvc (mandir, docdir): Use datadir instead of prefix.
- * man/Makefile.in (datadir): New variable.
- (docdir): Use it instead of prefix.
- (install, installdirs): Update.
- * man/Makefile.os2 (datadir): New variable.
- (mandir): Use it instead of prefix.
- * man/Makefile.msvc (datadir): New variable.
- (mandir, docdir): Use it instead of prefix.
- (install, installdirs): Update.
-
-2003-04-06 Bruno Haible <bruno@clisp.org>
-
- Make it possible to build with or without libintl support on Woe32.
- * Makefile.devel (config.h.msvc): Remove ENABLE_NLS.
- * Makefile.msvc (NO_NLS): New variable.
- * srclib/Makefile.msvc (NO_NLS): New variable.
- (CFLAGS, INCLUDES): Use them.
- * src/Makefile.msvc (NO_NLS): New variable.
- (NLSFLAGS, INCINTL, LIBINTL): New variables.
- (CFLAGS, INCLUDES, iconv.exe): Use them.
-
-2003-04-12 Bruno Haible <bruno@clisp.org>
-
- * lib/loop_unicode.h (unicode_transliterate): When the Hangul or
- variants transliteration failed with RET_ILUNI, don't return
- RET_TOOSMALL.
- Reported by the FreeBSD porters.
-
-2003-04-06 Bruno Haible <bruno@clisp.org>
-
- * srclib/binary-io.h: New file, from GNU gettext.
- * src/iconv.c: Include it.
- (O_BINARY, O_TEXT, SET_BINARY): Remove definitions.
-
-2003-04-05 Bruno Haible <bruno@clisp.org>
-
- Support for relocatable installation.
- * m4/alloca.m4: New file, from GNU gettext.
- * m4/canonicalize.m4: New file, from GNU gettext.
- * m4/error.m4: New file, from GNU gettext.
- * m4/onceonly.m4: New file, from GNU gettext.
- * m4/pathmax.m4: New file, from GNU gettext.
- * m4/relocatable.m4: New file, from GNU gettext.
- * m4/setenv.m4: New file, from GNU gettext.
- * m4/stdbool.m4: New file, from GNU gettext.
- * m4/strerror.m4: New file, from GNU gettext.
- * m4/xreadlink.m4: New file, from GNU gettext.
- * autoconf/config.libpath: New file, from GNU gettext.
- * autoconf/install-reloc: New file, from GNU gettext.
- * autoconf/reloc-ldflags: New file, from GNU gettext.
- * autoconf/missing: New file, from GNU automake 1.7.3.
- * lib/relocatable.h: New file, from GNU gettext.
- * lib/relocatable.c: New file, from GNU gettext.
- * srclib/alloca.c: New file, from GNU gettext.
- * srclib/alloca_.h: New file, from GNU gettext.
- * srclib/canonicalize.c: New file, from GNU gettext.
- * srclib/canonicalize.h: New file, from GNU gettext.
- * srclib/error.c: New file, from GNU gettext.
- * srclib/error.h: New file, from GNU gettext.
- * srclib/exit.h: New file, from GNU gettext.
- * srclib/gettext.h: New file, from GNU gettext.
- * srclib/memmove.c: New file, from GNU gettext.
- * srclib/pathmax.h: New file, from GNU gettext.
- * srclib/progname.c: New file, from GNU gettext.
- * srclib/progname.h: New file, from GNU gettext.
- * srclib/progreloc.c: New file, from GNU gettext.
- * srclib/relocatable.c: New file, from GNU gettext.
- * srclib/relocatable.h: New file, from GNU gettext.
- * srclib/relocwrapper.c: New file, from GNU gettext.
- * srclib/setenv.c: New file, from GNU gettext.
- * srclib/setenv.h: New file, from GNU gettext.
- * srclib/stdbool.h.in: New file, from GNU gettext.
- * srclib/strerror.c: New file, from GNU gettext.
- * srclib/unsetenv.c: New file, from GNU gettext.
- * srclib/xmalloc.c: New file, from GNU gettext.
- * srclib/xmalloc.h: New file, from GNU gettext.
- * srclib/xreadlink.c: New file, from GNU gettext.
- * srclib/xreadlink.h: New file, from GNU gettext.
- * srclib/xstrdup.c: New file, from GNU gettext.
- * srclib/Makefile.am: New file.
- * srclib/Makefile.msvc: New file.
- * windows/alloca.h: New file, from GNU gettext.
- * windows/stdbool.h: New file, from GNU gettext.
- * configure.in (AC_CONFIG_HEADERS): Replace src/config.h with config.h.
- Add AC_RELOCATABLE, AC_HEADER_STDC, AC_CHECK_HEADERS(stddef.h stdlib.h
- string.h), AC_CHECK_FUNCS(getc_unlocked), AC_REPLACE_FUNCS(memmove),
- AM_LANGINFO_CODESET, gl_FUNC_ALLOCA, gl_CANONICALIZE,
- gt_FUNC_ERROR_AT_LINE, gl_PATHMAX, gt_FUNC_SETENV, gt_STDBOOL_H,
- gl_FUNC_STRERROR, gl_XREADLINK, AC_OUTPUT(srclib/Makefile).
- * lib/config.h.in: Add HAVE_GETC_UNLOCKED, HAVE_LANGINFO_CODESET,
- HAVE_SETLOCALE, HAVE_STDDEF_H, HAVE_STDLIB_H, HAVE_STRING_H, for
- localcharset.c. Add ENABLE_RELOCATABLE, INSTALLPREFIX, for
- relocatable.c.
- * lib/Makefile.in (DEFS): New variable.
- (SOURCES): Add localcharset.c and relocatable.c.
- (OBJECTS): Add localcharset.lo and relocatable.lo.
- (LIBCHARSET_OBJECTS): Remove variable.
- (libiconv_plug_linux.so, libiconv_plug_solaris.so,
- libiconv_plug_osf.so): Use $(DEFS). Don't use $(LIBCHARSET_OBJECTS).
- (iconv.lo): Use $(DEFS).
- (localcharset.lo, relocatable.lo): New rules.
- * lib/Makefile.msvc (CFLAGS): Define HAVE_CONFIG_H, BUILDING_DLL,
- ENABLE_RELOCATABLE, IN_LIBRARY, INSTALLDIR, NO_XMALLOC,
- set_relocation_prefix, relocate. Remove $(PICFLAGS).
- (INCLUDES): Simplify.
- (SOURCES): Remove variable.
- (OBJECTS): Add localcharset.obj and relocatable.obj.
- (LIBCHARSET_OBJECTS): Remove variable.
- (iconv.obj): Add $(PICFLAGS).
- (localcharset.obj, relocatable.obj): New rules.
- (iconv.lib): Drop $(LIBCHARSET_OBJECTS).
- * include/iconv.h.in (libiconv_set_relocation_prefix): New declaration.
- * src/gettext.h: Remove file.
- * src/iconv.c: Include progname.h and relocatable.h.
- (ICONV_CONST): Define to const if the system has no iconv.
- (main): Invoke set_program_name. Relocate LOCALEDIR.
- * src/Makefile.in (top_srcdir): New variable.
- (INCLUDES): Add .. and ../srclib.
- (iconv_no_i18n, iconv): Link with ../srclib/libicrt.a.
- (iconv_no_i18n.@OBJEXT@, iconv.@OBJEXT@): Define INSTALLDIR.
- (RELOCATABLE_LIBRARY_PATH, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR,
- RELOCATABLE_CONFIG_H_DIR, @SET_RELOCATABLE@, iconv_LDFLAGS): New
- variables.
- (iconv): Use $(iconv_LDFLAGS).
- (install): Use $(INSTALL_PROGRAM_ENV).
- (distclean): Drop removing config.h.
- * src/Makefile.msvc (INCLUDES): Add .., simplify.
- * tests/Makefile.msvc (INCLUDES): Simplify.
- * Makefile.devel (AUTOHEADER, AUTOMAKE): New variables.
- (config.h.in, srclib/Makefile.in, config.h.msvc): New rules.
- (all): Depend on them.
- (aclocal.m4) Depend also on m4/alloca.m4, m4/canonicalize.m4,
- m4/error.m4, m4/onceonly.m4, m4/pathmax.m4, m4/relocatable.m4,
- m4/setenv.m4, m4/stdbool.m4, m4/strerror.m4, m4/xreadlink.m4.
- (lib/config.h.msvc): Additional processing.
- * Makefile.in (all, install, installdirs, uninstall, check): Recurse
- into srclib.
- (mostlyclean, clean, distclean, maintainerclean): Likewise. Remove
- lib/localcharset.h.
- (distclean, maintainerclean): Remove also config.h and some stamps.
- * Makefile.msvc (all, install, installdirs, uninstall, check,
- mostlyclean, clean, distclean, maintainerclean): Recurse into srclib.
- * INSTALL.generic: Document --enable-relocatable and
- --with-libintl-prefix. Remove the recommendation to set CPPFLAGS and
- LDFLAGS. The lib-link.m4 macros make this unnecessary.
-
-2003-04-05 Bruno Haible <bruno@clisp.org>
-
- * configure.in: Bump version number to 1.9.
- * include/iconv.h.in (_LIBICONV_VERSION): Bump.
- * windows/iconv.rc: Bump version number.
- * lib/Makefile.in (LIBICONV_VERSION_INFO): Bump to 4:0:2.
-
-2003-04-05 Bruno Haible <bruno@clisp.org>
-
- * Makefile.msvc (PREFIX): New variable.
- (prefix): Use it.
- (distclean, maintainer-clean): Drop Unix specific removals.
- * lib/Makefile.msvc (PREFIX, IIPREFIX): New variables.
- (prefix): Use it.
- (IIprefix, IIexec_prefix, IIbindir, IIlibdir): New variables.
- (clean): Drop Unix specific removal.
- * src/Makefile.msvc (PREFIX): New variable.
- (prefix): Use it.
- (clean): Drop Unix specific removal.
- (distclean): Likewise.
- * tests/Makefile.msvc (clean): Drop Unix specific removal.
- (distclean): Likewise.
-
-2003-04-05 Bruno Haible <bruno@clisp.org>
-
- * m4/endian.m4 (CL_WORDS_LITTLEENDIAN): Use 3-argument AC_DEFINE.
-
-2003-04-05 Bruno Haible <bruno@clisp.org>
-
- * m4/general.m4 (CL_CONFIG_SUBDIRS, CL_CANONICAL_HOST,
- CL_CANONICAL_HOST_CPU, CL_CANONICAL_HOST_CPU_FOR_FFCALL): Remove
- macros.
- * m4/gettext.m4: Update from GNU gettext.
- * m4/iconv.m4: Update from GNU gettext.
- * m4/lcmessage.m4: Update from GNU gettext.
- * m4/progtest.m4: Update from GNU gettext.
- * m4/libtool.m4: Update from GNU gettext.
- 2003-02-16 Bruno Haible <bruno@clisp.org>
- Workaround autoconf >= 2.52 breakage.
- * libtool.m4 (AC_LIBTOOL_ARG_WITH): New macro.
- (_LT_AC_LTCONFIG_HACK, AC_PROG_LD): Use it.
- * autoconf/ltmain.sh: Update from GNU gettext.
- 2003-02-18 Bruno Haible <bruno@clisp.org>
- Fix the 2002-09-16 fix.
- * ltmain.sh (install): If "ln -s -f" fails (this is the case
- with /usr/bin/ln on Solaris 2.7), fall back to "rm && ln -s".
-
-2003-04-05 Bruno Haible <bruno@clisp.org>
-
- Start using automake.
- * configure.in: Add AM_INIT_AUTOMAKE invocation.
- (PACKAGE, VERSION): Remove.
- Use AC_CANONICAL_HOST instead of CL_CANONICAL_HOST.
- Use AC_PROG_LN_S instead of CL_PROG_LN_S.
- Use AC_PROG_RANLIB instead of CL_PROG_RANLIB.
- Reorder so that AC_CANONICAL_HOST comes early but still after
- AC_PROG_CC.
- * m4/ranlib.m4: Remove file.
- * m4/libtool.m4: Undo AC_ -> CL_ substitutions.
- * Makefile.devel (CLISP_DIR): Comment out.
- (AUTOCONF_FILES): Change to aclocal.m4.
- (aclocal.m4): Renamed from autoconf/aclocal.m4. Update dependencies.
- (configure.in): Drop --include option.
-
-2003-03-17 Bruno Haible <bruno@clisp.org>
-
- Improved MSVC support.
- * Makefile.msvc (prefix): Use less Unixy value.
- (local_prefix): Remove variable.
- (libdir, includedir, mandir): Use backslashes.
- (bindir, datadir, localedir, docdir): New variables.
- (INSTALL, INSTALL_PROGRAM, INSTALL_DATA): New variables.
- (all): Recurse into po/ and man/.
- (install, installdirs, uninstall): Rewritten.
- (check, mostlyclean, clean, distclean, maintainer-clean): Recurse
- into po/ and man/.
- * lib/Makefile.msvc (prefix): Use less Unixy value.
- (local_prefix): Remove variable.
- (libdir): Use backslashes.
- (bindir): New variable.
- (INSTALL, INSTALL_PROGRAM, INSTALL_DATA): Set to real values.
- (RESOURCES): Enable iconv.res.
- (install, installdirs, uninstall): New rules.
- (clean): Remove config.h.
- (distclean): Don't remove config.h here.
- * src/Makefile.msvc (prefix, exec_prefix, bindir): New variables.
- (INSTALL, INSTALL_PROGRAM, INSTALL_DATA): New variables.
- (install, installdirs, uninstall): New rules.
- * man/Makefile.msvc: New file.
- * tests/Makefile.msvc (install, installdirs, uninstall): New rules.
- * Makefile.devel (all): Depend on po/Makefile.msvc.
- (po/Makefile.msvc): New rule.
- * windows/iconv.rc: Update.
- * README.woe32: Mention automatic installation command.
-
- Rename libcharset.h to localcharset.h.
- * lib/iconv.c: Include localcharset.h, not libcharset.h.
- * Makefile.in (lib/localcharset.h): Renamed from lib/libcharset.h.
- (all, install): Update dependencies.
- (all): Create lib/localcharset.h, not lib/libcharset.h.
- (mostlyclean, clean, distclean, maintainer-clean): Remove
- lib/localcharset.h, not lib/libcharset.h.
- * djgpp/README.in, djgpp/README: Update.
- * djgpp/config.bat: Update.
- * djgpp/config.sed: Update.
- * djgpp/fnchange.in, djgpp/fnchange.lst: Update.
-
-2003-01-31 Bruno Haible <bruno@clisp.org>
-
- * src/Makefile.in (all): Don't do the chmod if it has already been
- done.
-
-2003-01-31 Bruno Haible <bruno@clisp.org>
-
- * lib/loop_unicode.h (unicode_transliterate): Enable recursive
- transliteration. Idea from Perry Rapp.
- * lib/gentranslit.c (main): Change bound from 0x10000 to 0x110000.
- Change element type of translit_data to 'unsigned int'.
- * lib/translit.def: Many new transliterations, mostly taken from glibc.
- * lib/translit.h: Regenerated.
- * tests/Translit1.ISO-8859-1, tests/Translit1.ASCII: New files.
- * tests/Makefile.in (check): Add Translit1 check.
- * tests/Makefile.msvc (check): Likewise.
- * tests/Makefile.os2 (check): Likewise.
- * tests/TranslitFail1.ISO-8859-1: Choose a sentence which the new
- improved transliteration cannot do.
-
-2003-02-14 Bruno Haible <bruno@clisp.org>
-
- * Makefile.devel (AUTOCONF): Switch to autoconf-2.57.
- (configure): Update rule.
-
-2003-01-03 Albert Chin <libtool@thewrittenword.com>
-
- * autoconf/ltmain.sh: Don't pass -R flags found in a .la's
- dependency_libs variable directly down to the linker.
- Reported by Tim Mooney <mooney@dogbert.cc.ndsu.nodak.edu>.
-
-2003-01-01 Bruno Haible <bruno@clisp.org>
-
- * src/Makefile.in (install): Use libiconv.la in ../lib, not in
- $(libdir), so that installing with DESTDIR works.
- Reported by Michael Adams <michael@michaeladams.org>.
-
-2003-01-01 Bruno Haible <bruno@clisp.org>
-
- * Makefile.in (mkinstalldirs): New variable.
- (install-lib, install, installdirs): Use it instead of mkdir.
- * lib/Makefile.in (mkinstalldirs): New variable.
- (install-lib, install, installdirs): Use it instead of mkdir.
- * man/Makefile.in (mkinstalldirs): New variable.
- (install, installdirs): Use it instead of mkdir.
- * src/Makefile.in (mkinstalldirs): New variable.
- (install, installdirs): Use it instead of mkdir.
-
-2002-09-27 Bruno Haible <bruno@clisp.org>
-
- * autoconf/mkinstalldirs: Upgrade to automake-1.7.2 version.
-
-2002-11-07 Bruno Haible <bruno@clisp.org>
-
- * m4/libtool.m4: Upgrade to libtool-1.4.3.
- * autoconf/ltmain.sh: Upgrade to libtool-1.4.3.
-
-2002-07-14 Bruno Haible <bruno@clisp.org>
-
- * m4/libtool.m4 (_LT_AC_LTCONFIG_HACK): Add support for GNU/FreeBSD.
-
-2002-06-12 Bruno Haible <bruno@clisp.org>
-
- * configure.in: Use new AC_* names of libtool macros. Invoke
- AC_LIBTOOL_WIN32_DLL.
-
-2002-12-19 Bruno Haible <bruno@clisp.org>
-
- * lib/Makefile.in (libiconv_plug_solaris.so): Change rule if using gcc.
- Reported by Henry Nelson <henry@irm.nara.kindai.ac.jp>.
-
-2002-11-07 Bruno Haible <bruno@clisp.org>
-
- Make "make install" without prior "make" work.
- * Makefile.in (lib/libcharset.h): New rule.
- (all, install): Depend on it.
- Reported by Martin Mokrejš <mmokrejs@natur.cuni.cz>.
-
-2002-10-28 Bruno Haible <bruno@clisp.org>
-
- * man/Makefile.in (install): Change directory back to the working
- directory, so that install-sh (which may be a relative pathname) is
- found in the right place.
-
-2002-09-16 Bruno Haible <bruno@clisp.org>
-
- * autoconf/ltmain.sh (install): Use "ln -s -f" instead of
- "rm -f && ln -s" to make a symlink for a shared library.
- Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
-
-2002-09-02 Bruno Haible <bruno@clisp.org>
-
- * src/iconv.c (main): Don't call bindtextdomain if !ENABLE_NLS.
-
-2002-08-16 Bruno Haible <bruno@clisp.org>
-
- * src/iconv.c (main): Perform fflush before testing ferror(stdout).
-
-2002-05-29 Bruno Haible <bruno@clisp.org>
-
- * Version 1.8 released.
-
-2002-05-26 Bruno Haible <bruno@clisp.org>
-
- * lib/c99.h: New file.
- * lib/converters.h: Include it.
- * lib/encodings.def (C99): New encoding.
- * README, man/iconv_open.3: Document C99 encoding.
-
-2002-05-26 Bruno Haible <bruno@clisp.org>
-
- * lib/java.h (java_mbtowc): Accept 12-byte sequences for non-BMP
- characters.
- (java_wctomb): Produce 12-byte sequences for non-BMP characters.
-
-2002-05-29 Bruno Haible <bruno@clisp.org>
-
- Fix installation of iconv program when linked with a libintl that was
- built against an earlier libiconv.
- * src/iconv.c: Conditionally disable NLS.
- * src/iconv_no_i18n.c: New file.
- * src/Makefile.in (libdir): New variable.
- (all): Depend on iconv_no_i18n, iconv.@OBJEXT@ but not iconv. Make
- directory writable, so iconv executable can be created during "make
- install".
- (iconv): Remove rule.
- (iconv_no_i18n, iconv_no_i18n.@OBJEXT@): New rules.
- (install): Link iconv now, after the new libiconv.so is installed.
- (clean): Also remove iconv_no_i18n.
- * tests/Makefile.in: (check, check-extra-yes): Depend on iconv_no_i18n,
- not iconv.
- * tests/check-stateful: Use iconv_no_i18n, not iconv.
- * tests/check-translit: LIkewise.
- * tests/check-translitfailure: Likewise.
-
-2002-05-29 Bruno Haible <bruno@clisp.org>
-
- * configure.in: Call AC_PROG_INSTALL instead of CL_PROG_INSTALL.
- * m4/install.m4: Remove file.
- * Makefile.devel (autoconf/aclocal.m4): Don't depend on m4/install.m4.
-
-2002-05-24 Bruno Haible <bruno@clisp.org>
-
- * lib/jisx0213.h: Use 'inline' only conditionally.
-
-2002-05-18 Bruno Haible <bruno@clisp.org>
-
- * configure.in (AC_INIT), include/iconv.h.in (_LIBICONV_VERSION),
- README, windows/iconv.rc, djgpp/README, djgpp/fnchange.lst:
- Bump version number.
- * lib/Makefile.in (LIBICONV_VERSION_INFO): Define to 3:0:1.
-
-2002-02-06 Bruno Haible <bruno@clisp.org>
-
- * autoconf/ltmain.sh: Upgrade from libtool-1.4 to libtool-1.4.2.
-
-2002-02-02 Bruno Haible <bruno@clisp.org>
-
- * autoconf/ltmain.sh: Add DESTDIR support on ELF systems.
-
-2001-11-03 Bruno Haible <haible@clisp.cons.org>
-
- * autoconf/ltmain.sh: chmod 777 the .libs directory, so that
- "make install" succeeds.
-
-2002-05-18 Bruno Haible <bruno@clisp.org>
-
- * src/Makefile.in (iconv): Remove the -liconv dependency of -lintl
- from the command line. Needed to ensure that the new libiconv version
- is used on FreeBSD.
-
-2002-05-14 Bruno Haible <bruno@clisp.org>
-
- Implement and document CP853, TDS565, RISCOS-LATIN1.
- * tools/Makefile (ALL): Add cp853.h, tds565.h, riscos1.h.
- (cp853.h, tds565.h, riscos1.h): New rules.
- * lib/cp853.h: New file.
- * lib/tds565.h: New file.
- * lib/riscos1.h: New file.
- * lib/converters.h: Include them.
- * lib/encodings_dos.def (CP853): New encoding.
- * lib/encodings_extra.def (TDS565, RISCOS-LATIN1): New encodings.
- * README, man/iconv_open.3: Add CP853, TDS565, RISCOS-LATIN1.
- * tests/Makefile.in (check-extra-yes): Check CP853, TDS565,
- RISCOS-LATIN1.
- * tests/Makefile.msvc (check): Check CP853.
- * tests/CP853.TXT: New file.
- * tests/TDS565.TXT: New file.
- * tests/RISCOS-LATIN1.TXT: New file.
-
- * lib/cp860.h (cp860_wctomb): Optimize.
-
-2002-05-12 Bruno Haible <bruno@clisp.org>
-
- * tools/Makefile (ksc5601.h): Add two extra characters.
- * lib/ksc5601.h: Regenerated.
- * tests/EUC-KR.TXT: Add EURO SIGN and REGISTERED SIGN.
- * tests/CP949.TXT: Likewise.
- * tests/JOHAB.TXT: Likewise.
-
-2002-05-12 Bruno Haible <bruno@clisp.org>
-
- * README: Mention extra encodings.
- * man/iconv_open.3: Likewise. Improve formatting in text and html
- output formats.
-
-2002-05-12 Bruno Haible <bruno@clisp.org>
-
- * tests/SHIFT_JIS.TXT: Renamed from tests/SHIFT-JIS.TXT.
-
-2002-05-12 Bruno Haible <bruno@clisp.org>
-
- * Makefile.devel (AUTOCONF): New variable.
- (AUTOCONF_FILES): Remove autoconf/autoconf.m4f.
- (configure): Use the AUTOCONF variable.
- * autoconf/autoconf: Remove file.
- * autoconf/autoconf.m4: Remove file.
- * autoconf/autoconf.m4f: Remove file.
-
-2002-05-12 Bruno Haible <bruno@clisp.org>
-
- * tools/JISX0213.TXT: New file.
- * tools/cjk_tab_to_h.c (do_jisx0213): New function.
- (main): Accept "jisx0213".
- * tools/Makefile (all): Add jisx0213.h.
- (jisx0213.h): New rule.
- * lib/jisx0213.h: New file, generated by cjk_tab_to_h.
- * lib/euc_jisx0213.h: New file.
- * lib/shift_jisx0213.h: New file.
- * lib/iso2022_jp3.h: New file.
- * lib/converters.h: Include them.
- * lib/encodings_extra.def (EUC-JISX0213, SHIFT_JISX0213,
- ISO-2022-JP-3): New encodings.
- * tests/EUC-JISX0213.TXT: New file.
- * tests/SHIFT_JISX0213.TXT: New file.
- * tests/ISO-2022-JP-3-snippet: New file.
- * tests/ISO-2022-JP-3-snippet.UTF-8: New file.
- * tests/Makefile.in (check-extra): Also check EUC-JISX0213,
- SHIFT_JISX0213, ISO-2022-JP-3.
- * tests/check-stateless: Add support for encodings which contain
- precomposed Unicode characters, by eliminating precomposed characters
- before the comparison.
- * tests/table-from.c (main): Fix usage message.
- * tests/table-to.c (main): Make it work for encodings for which the
- "to" direction is stateful.
-
-2002-05-09 Bruno Haible <bruno@clisp.org>
-
- New configure option --enable-extra-encodings.
- * lib/encodings_extra.def: New file.
- * lib/converters.h: Handle USE_EXTRA.
- * lib/genaliases2.c (main): Handle USE_EXTRA.
- * lib/genflags.c: Define USE_EXTRA.
- (main): Include encodings_extra.def.
- * lib/iconv.c: Handle ENABLE_EXTRA, conditionally set USE_EXTRA.
- Handle USE_EXTRA.
- * lib/config.h.in (ENABLE_EXTRA): New macro.
- * configure.in: Accept option --enable-extra-encodings.
- * Makefile.devel (all): Depend on lib/aliases_extra.h.
- (lib/aliases_extra.h): New rule.
- (lib/flags.h): Depend on lib/encodings_extra.def.
- * tests/Makefile.in (check-extra, check-extra-no, check-extra-yes):
- New rules.
- (check): Invoke check-extra.
- * tests/Makefile.msvc (check): Also check the DOS encodings.
-
- Support for testing the AIX encodings.
- * tests/CP856.TXT: New file.
- * tests/CP922.TXT: New file.
- * tests/CP1046.TXT: New file.
- * tests/CP1124.TXT: New file.
- * tests/CP1129.TXT: New file.
- * tests/CP1161.TXT, tests/CP1161.IRREVERSIBLE.TXT: New files.
- * tests/CP1162.TXT: New file.
- * tests/CP1163.TXT, tests/CP1163.IRREVERSIBLE.TXT: New files.
-
- Support for testing the OSF/1 encodings.
- * tests/DEC-KANJI.TXT: New file.
- * tests/DEC-HANYU.TXT, tests/DEC-HANYU.IRREVERSIBLE.TXT: New files.
-
- Support for testing the DOS encodings.
- * tests/CP437.TXT: New file.
- * tests/CP737.TXT: New file.
- * tests/CP775.TXT: New file.
- * tests/CP852.TXT: New file.
- * tests/CP855.TXT: New file.
- * tests/CP857.TXT: New file.
- * tests/CP858.TXT: New file.
- * tests/CP860.TXT: New file.
- * tests/CP861.TXT: New file.
- * tests/CP863.TXT: New file.
- * tests/CP864.TXT: New file.
- * tests/CP865.TXT: New file.
- * tests/CP869.TXT: New file.
- * tests/CP1125.TXT: New file.
-
-2002-05-09 Bruno Haible <bruno@clisp.org>
-
- Implement more ASCII compatible DOS encodings.
- * tools/Makefile (ALL): Add cp737.h, cp858.h, cp860.h, cp863.h.
- (cp737.h, cp858.h, cp860.h, cp863.h): New rules.
- * lib/cp737.h: New file.
- * lib/cp858.h: New file.
- * lib/cp860.h: New file.
- * lib/cp863.h: New file.
- * lib/converters.h: Include them.
- * lib/encodings_dos.def (CP737, CP858, CP860, CP863): New encodings.
-
-2002-05-09 Bruno Haible <bruno@clisp.org>
-
- Implement new ASCII compatible encodings from IBM.
- * tools/Makefile (ALL): Add cp1161.h, cp1162.h, cp1163.h.
- (cp1161.h, cp1162.h, cp1163.h): New rules.
- * lib/cp1161.h: New file.
- * lib/cp1162.h: New file.
- * lib/cp1163.h: New file.
- * lib/converters.h: Include them.
- * lib/encodings_aix.def (CP1161, CP1162, CP1163): New encodings.
-
-2002-05-09 Bruno Haible <bruno@clisp.org>
-
- Implement and document KOI8-T.
- * tools/Makefile (ALL): Add koi8_t.h.
- (koi8_t.h): New rule.
- * lib/koi8_t.h: New file.
- * lib/converters.h: Include it.
- * lib/encodings.def (KOI8-T): New encoding.
- * README, man/iconv_open.3: Add KOI8-T.
- * tests/Makefile.in (tests): Check KOI8-T.
- * tests/Makefile.os2 (tests): Likewise.
- * tests/Makefile.msvc (tests): Likewise.
- * tests/KOI8-T.TXT: New file.
-
-2002-05-09 Bruno Haible <bruno@clisp.org>
-
- * tools/8bit_tab_to_h.c (main): Update copyright year.
- * tools/cjk_variants.c (main): Likewise.
-
-2002-05-08 Bruno Haible <bruno@clisp.org>
-
- * README.woe32: Renamed from README.win32.
-
-2002-05-08 Bruno Haible <bruno@clisp.org>
-
- * lib/iconv.c: Enable DOS encodings also when compiling for Woe32,
- because the Woe32 consoles use them.
-
-2002-05-04 Bruno Haible <bruno@clisp.org>
-
- * lib/loop_unicode.h (unicode_loop_convert): When quitting the loop
- without writing an output character, restore cd->istate to its value
- before the xxx_mbtowc call. Otherwise we lose some characters during
- CP1255/CP1258/TCVN to Unicode conversion.
- (unicode_loop_reset): Likewise for the xxx_flushwc call.
- * tests/CP1255-snippet, tests/CP1255-snippet.UTF-8: Make the test
- files large enough to test against the bug.
- * tests/CP1258-snippet, tests/CP1258-snippet.UTF-8: Likewise.
- * tests/TCVN-snippet, tests/TCVN-snippet.UTF-8: Likewise.
-
-2002-04-28 Bruno Haible <bruno@clisp.org>
-
- * tools/Makefile (armscii_8.h): Use table from glibc-2.2.90.
- * tests/ARMSCII-8.TXT: Update to glibc-2.2.90 version.
- * tests/ARMSCII-8.IRREVERSIBLE.TXT: Remove 0x0027.
- * lib/armscii_8.h: Regenerated.
-
-2002-04-28 Bruno Haible <bruno@clisp.org>
-
- * src/iconv.c: Include gettext.h.
- (_): New macro.
- (usage, print_version, convert, main): Internationalize.
- (main): Call setlocale, bindtextdomain, textdomain.
- * src/gettext.h: New file, from GNU gettext 0.11.2.
- * src/config.h.in: New file, needed for ENABLE_NLS.
- * src/Makefile.in (datadir, localedir): New variables.
- (iconv): Link with @LTLIBINTL@.
- (iconv.@OBJEXT@): Define LOCALEDIR.
- (distclean): Remove config.h.
- * po: New directory.
- * Makefile.in (all, install, installdirs, uninstall, check,
- mostlyclean, clean, distclean, maintainer-clean): Recurse into the po
- directory.
- * autoconf/mkinstalldirs: New file, from automake-1.5.
- * ABOUT-NLS: New file, from GNU gettext 0.11.2.
- * m4/codeset.m4: New file, from GNU gettext 0.11.2.
- * m4/gettext.m4: New file, from GNU gettext 0.11.2.
- * m4/glibc21.m4: New file, from GNU gettext 0.11.2.
- * m4/isc-posix.m4: New file, from GNU gettext 0.11.2.
- * m4/lcmessage.m4: New file, from GNU gettext 0.11.2.
- * m4/progtest.m4: New file, from GNU gettext 0.11.2.
- * configure.in: Require autoconf-2.52, needed for multiple config.h.in
- files. Use new form of AC_INIT. Invoke AM_GNU_GETTEXT.
- (PACKAGE, VERSION): Define, needed for po/Makefile.in.in.
- * lib/config.h.in (HAVE_LOCALE_H, HAVE_SETLOCALE): Remove.
-
-2002-04-28 gettextize <bug-gnu-gettext@gnu.org>
-
- * configure.in (AC_OUTPUT): Add po/Makefile.in.
-
-2002-04-28 Bruno Haible <bruno@clisp.org>
-
- * m4/eilseq.m4: Renamed from autoconf/eilseq.m4.
- * m4/mbstate_t.m4: Renamed from autoconf/mbstate_t.m4.
- * m4/general.m4: New file, from GNU clisp.
- * m4/proto.m4: New file, from GNU clisp.
- * m4/ranlib.m4: New file, from GNU clisp.
- * m4/install.m4: New file, from GNU clisp.
- * m4/cp.m4: New file, from GNU clisp.
- * m4/ln.m4: New file, from GNU clisp.
- * m4/endian.m4: New file, from GNU clisp.
- * m4/iconv.m4: New file, from GNU gettext 0.11.2.
- * m4/lib-ld.m4: New file, from GNU gettext 0.11.2.
- * m4/lib-link.m4: New file, from GNU gettext 0.11.2.
- * m4/lib-prefix.m4: New file, from GNU gettext 0.11.2.
- * autoconf/config.rpath: New file, from GNU gettext 0.11.2.
- * m4/libtool.m4: New file, based on libtool-1.4.2.
- * Makefile.devel (ACLOCAL): Remove variable.
- (ACSELECT): Remove variable.
- (OTHERMACROS): Remove variable.
- (m4/*.m4): New rules.
- (autoconf/aclocal.m4): Construct using aclocal instead of acselect.
- * configure.in: Invoke AM_ICONV instead of CL_ICONV.
-
-2002-04-06 Bruno Haible <bruno@clisp.org>
-
- Upgrade to Unicode 3.2.
- * tools/cjk_tab_to_h.c (output_title): Bump copyright year.
- (compact_large_charset2uni): Add an argument. Determine optimal shift.
- Copy modified enc->charset2uni table.
- (output_charset2uni): Deal with shift other than 8. Copy encoding, so
- as to not disturb subsequent output_uni2charset[_sparse] call.
- * lib/hkscs.h: Regenerated.
- * tests/BIG5-HKSCS.TXT: Update.
- * tests/BIG5-HKSCS.IRREVERSIBLE.TXT: Update.
-
-2002-04-06 Bruno Haible <bruno@clisp.org>
-
- Upgrade to Unicode 3.2.
- * tools/Makefile (cns11643_1.h, cns11643_2.h, cns11643_3.h,
- cns11643_4a.h, cns11643_4b.h, cns11643_5.h, cns11643_6.h,
- cns11643_7.h, cns11643_15.h, cns11643_inv.h): Use
- CNS11643-Unicode32.TXT instead of CNS11643-Unicode31.TXT.
- * lib/cns11643_3.h: Regenerated.
- * lib/cns11643_4a.h: Regenerated.
- * lib/cns11643_4b.h: Regenerated.
- * lib/cns11643_5.h: Regenerated.
- * lib/cns11643_6.h: Regenerated.
- * lib/cns11643_7.h: Regenerated.
- * lib/cns11643_15.h: Regenerated.
- * lib/cns11643_inv.h: Regenerated.
- * tests/EUC-TW.TXT: Update.
-
-2002-01-17 Bruno Haible <bruno@clisp.org>
-
- * lib/tcvn.h (tcvn_2uni_1): Make it smaller.
- (tcvn_mbtowc): Small optimization.
-
-2002-01-13 Bruno Haible <bruno@clisp.org>
-
- New options -l, -c, -s.
- * src/iconv.c (discard_unconvertible, silent): New variables.
- (usage): Document options -l, -c, -s.
- (print_one): New function.
- (convert): If silent is true, don't print error messages about the
- conversion to stderr. If discard_unconvertible is true, set the
- iconv descriptor to DISCARD_ILSEQ the first time, but make sure to
- return the same return code as when discard_unconvertible is false.
- (main): Accept options -l, -c, -s. Implement option -l.
- * man/iconv.1: Document options -l, -c, -s.
-
-2002-01-13 Bruno Haible <bruno@clisp.org>
-
- Support for "iconv -c".
- * include/iconv.h.in (ICONV_GET_DISCARD_ILSEQ): New macro.
- (ICONV_SET_DISCARD_ILSEQ): Likewise.
- * lib/converters.h (struct conv_struct): New field discard_ilseq.
- * lib/iconv.c (iconv_open): Set discard_ilseq to true if tocode
- has an "//IGNORE" suffix, and to false otherwise.
- (iconvctl): Implement ICONV_GET_DISCARD_ILSEQ, ICONV_SET_DISCARD_ILSEQ.
- * lib/loop_unicode.h (unicode_loop_convert): If discard_ilseq is
- true, skip one input character instead of returning EILSEQ.
- (unicode_loop_reset): Likewise.
- * lib/loop_wchar.h (wchar_from_loop_convert): Likewise.
- (wchar_to_loop_convert): Likewise.
-
-2002-01-13 Bruno Haible <bruno@clisp.org>
-
- Support for "iconv -l".
- * include/iconv.h.in (iconvlist): New declaration.
- * Makefile.devel (lib/aliases.h): Change gperf options.
- * lib/iconv.c (compare_by_index, compare_by_name, iconvlist): New
- functions.
-
-2002-01-06 Bruno Haible <bruno@clisp.org>
-
- * lib/loop_unicode.h (unicode_transliterate): If the transliteration
- fails due to limited output encoding, return RET_ILUNI, not
- RET_TOOSMALL. Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
- * tests/check-translitfailure: New file.
- * tests/TranslitFail1.ISO-8859-1: New file.
- * tests/Makefile.in (check): Call check-translitfailure.
-
-2001-12-15 Bruno Haible <bruno@clisp.org>
-
- * lib/euc_jp.h (euc_jp_wctomb): Add irreversible mappings for
- Shift_JIS characters 0x5C and 0x7E.
- * tests/EUC-JP.IRREVERSIBLE.TXT: New file.
-
-2001-12-05 Bruno Haible <bruno@clisp.org>
-
- * lib/iconv.c (iconv_open): Recognize the empty encoding name. Avoid
- endless loop if locale_charset() returns the empty string.
- * README, man/iconv_open.3: Add the empty encoding name.
-
-2001-11-10 Bruno Haible <haible@clisp.cons.org>
-
- * lib/Makefile.in (libiconv_plug_linux.so): Allow building it with a
- non-gcc compiler.
-
-2001-10-23 Bruno Haible <haible@clisp.cons.org>
-
- * tools/Makefile (cp1125.h): New target.
- (ALL): Add it.
- * lib/cp1125.h: New file.
- * lib/converters.h: Include it.
- * lib/encodings_dos.def (CP1125): New encoding.
-
-2001-09-08 Bruno Haible <haible@clisp.cons.org>
-
- * autoconf/eilseq.m4: New file.
- * Makefile.devel (OTHERMACROS): Add it.
- * configure.in: Call AC_EILSEQ.
- * include/iconv.h.in (EILSEQ): Define to the autoconf determined value.
-
-2001-08-25 Bruno Haible <haible@clisp.cons.org>
-
- Upgrade to autoconf-2.52.
- * autoconf/autoconf: Upgrade to autoconf-2.52.
- * autoconf/acgeneral.m4: Remove file.
- * autoconf/acspecific.m4: Remove file.
- * autoconf/autoconf.m4f: New file, from autoconf-2.52.
- * autoconf/aclocal.m4: Require autoconf-2.52.
- (CL_CANONICAL_HOST): Call AC_CANONICAL_HOST. Don't cache the result,
- AC_CANONICAL_HOST does it itself. Add $SHELL in front of
- $ac_config_guess and $ac_config_sub.
- * Makefile.devel (AUTOCONF_FILES): Remove acgeneral.m4, acspecific.m4.
- Add autoconf.m4f.
- (configure): Use autoconf options -A, -l instead of -m.
- * configure.in: Use AC_CONFIG_SUBDIRS, not AC_OUTPUT_SUBDIRS.
-
-2001-08-05 Bruno Haible <haible@clisp.cons.org>
-
- * autoconf/acgeneral.m4 (AC_MSG_RESULTPROTO): Remove macro.
- (AC_LANG_EXTERN): Move to aclocal.m4.
- * autoconf/aclocal.m4 (AC_LANG_EXTERN): Moved here from acgeneral.m4.
- (CL_PROTO): Use AC_MSG_RESULT directly, instead of AC_MSG_RESULTPROTO.
- (CL_SILENT): No need to pushdef AC_MSG_RESULTPROTO.
-
-2001-08-05 Bruno Haible <haible@clisp.cons.org>
-
- Make it possible to build libiconv with CC=gcc CFLAGS="-x c++".
- * lib/loop_wchar.h (wchar_to_loop_convert): Rename local variable
- 'try' to 'incount'.
- * lib/Makefile.in (libiconv_plug_linux.so): Add "-x none" option
- between sources and libs.
- (libiconv_plug_solaris.so) [GCC]: Likewise.
- (libiconv_plug_osf.so) [GCC]: Likewise.
- * src/Makefile.in (iconv.@OBJEXT@): New rule.
- (iconv): Depend on it.
- (clean): Erase *.@OBJEXT@, not *.o.
- * tests/Makefile.in (table-from.@OBJEXT@): New rule.
- (table-from): Depend on it.
- (table-to.@OBJEXT@): New rule.
- (table-to): Depend on it.
- (clean): Erase *.@OBJEXT@, not *.o.
-
-2001-07-28 Bruno Haible <haible@clisp.cons.org>
-
- * tools/Makefile (iso8859_16.h): Generate from the unicode.org table.
- * lib/iso8859_16.h: Regenerated.
- * tests/ISO-8859-16.TXT: Swap the values of 0xA5 and 0xAB.
-
-2001-07-17 Bruno Haible <haible@clisp.cons.org>
-
- * configure.in (VERSION): Define. Needed by djgpp/Makefile.maint.
-
-2001-07-03 Bruno Haible <haible@clisp.cons.org>
-
- * configure.in: Also check for mbsinit.
- * lib/loop_wchar.h (mbsinit): Define to 1 if not defined.
- Needed for SCO 3.2v5.0.2.
-
-2001-06-27 Bruno Haible <haible@clisp.cons.org>
-
- * Version 1.7 released.
-
-2001-06-27 Bruno Haible <haible@clisp.cons.org>
-
- * INSTALL.generic (Particular Systems): Generalize section about
- /usr/local to "most systems".
-
- * lib/Makefile.in (all): Build @PLUGLIB@ before libiconv.la, because
- Solaris cc destroys iconv.o and iconv.lo while building
- libiconv_plug_solaris.so.
- (clean): Remove so_locations, left there by the OSF/1 linker.
-
- * lib/cp1255.h (cp1255_decomp): Use 'signed int' instead of 'int'.
-
- * lib/vietcomb.h (viet_decomp): Use 'unsigned int' instead of
- 'unsigned short'.
-
- * tests/table-from.c: Include string.h.
- * tests/table-to.c: Likewise.
-
-2001-06-26 Bruno Haible <haible@clisp.cons.org>
-
- * tools/Makefile (jisx0208.h): Replace U+005C with U+FF3C.
- (jisx0212.h): Replace U+007E with U+FF5E.
- * lib/jisx0208.h: Regenerated.
- * lib/jisx0212.h: Regenerated.
- * tests/EUC-JP.TXT: Map 0xA1C0 to U+FF3C. Map 0x8FA2B7 to U+FF5E.
- * tests/EUC-JP.IRREVERSIBLE.TXT: Remove file.
- * tests/SHIFT-JIS.TXT: Map 0x815F to U+FF3C.
- * tests/CP932.TXT: Likewise.
- * tests/CP932.IRREVERSIBLE.TXT: 0x815F mapping is now reversible.
-
-2001-06-25 Bruno Haible <haible@clisp.cons.org>
-
- * src/Makefile.in (iconv): Mention $(INCLUDES) before $(CFLAGS) and
- $(CPPFLAGS).
- * src/Makefile.msvc (iconv.exe): Likewise.
- * src/Makefile.os2 (iconv.exe): Likewise.
- * lib/Makefile.in (libiconv_plug_linux.so): Likewise.
- (libiconv_plug_solaris.so): Likewise.
- (libiconv_plug_osf.so): Likewise.
- (iconv.lo): Likewise.
- * lib/Makefile.msvc (iconv.obj): Likewise.
- * lib/Makefile.os2 (iconv.obj): Likewise.
- * tests/Makefile.in (table-from, table-to): Likewise.
- * tests/Makefile.msvc (table-from.exe, table-to.exe): Likewise.
- * tests/Makefile.os2 (table-from.exe, table-to.exe): Likewise.
- (genutf8.exe): Don't use $(INCLUDES).
-
-2001-06-25 Bruno Haible <haible@clisp.cons.org>
-
- * include/iconv.h.in (_LIBICONV_VERSION), README, windows/iconv.rc:
- Bump version number.
- * lib/Makefile.in (LIBICONV_VERSION_INFO): Define to 2:4:0.
-
-2001-06-25 Bruno Haible <haible@clisp.cons.org>
-
- * Makefile.devel (OTHERMACROS): Use libtool.m4 in libcharset subdir.
-
-2001-06-25 Bruno Haible <haible@clisp.cons.org>
-
- * lib/encodings.def: Make SHIFT_JIS the primary name of SJIS.
-
-2001-06-08 Bruno Haible <haible@clisp.cons.org>
-
- * autoconf/ltmain.sh: Upgrade to libtool-1.4.
- * autoconf/ltconfig: Remove file.
-
-2001-06-08 Bruno Haible <haible@clisp.cons.org>
-
- * autoconf/config.guess: Update to GNU version 2001-05-11.
- * autoconf/config.sub: Likewise.
-
-2001-06-03 Bruno Haible <haible@clisp.cons.org>
-
- * lib/loop_unicode.h (unicode_loop_convert): Ignore Unicode 3.1 tag
- characters if they cannot be converted.
- (unicode_loop_reset): Likewise.
- * lib/iso2022_jp2.h (STATE_TAG_NONE, STATE_TAG_LANGUAGE,
- STATE_TAG_LANGUAGE_j, STATE_TAG_LANGUAGE_ja, STATE_TAG_LANGUAGE_k,
- STATE_TAG_LANGUAGE_ko, STATE_TAG_LANGUAGE_z, STATE_TAG_LANGUAGE_zh):
- New macros.
- (SPLIT_STATE, COMBINE_STATE): Different differently for wctomb
- direction.
- (iso2022_jp2_wctomb): Keep track of Unicode 3.1 language tag.
- If "ja", prefer conversion to Japanese character sets. If "zh",
- prefer conversion to GB2312. If "ko", prefer conversion to KSC5601.
-
- * lib/converters.h (RET_ILUNI): Change value from 0 to -1.
- (RET_TOOSMALL): Change value from -1 to -2.
- * lib/loop_unicode.h (unicode_transliterate): Allow xxx_wctomb to
- return 0 written bytes.
-
-2001-06-06 Bruno Haible <haible@clisp.cons.org>
-
- * lib/encodings.def: Align with IANA character-set registry.
- (US-ASCII): Add alias "ANSI_X3.4-1986".
- (ISO-8859-14): Add alias "ISO-CELTIC".
- (JIS_X0208): Add alias "JIS_C6226-1983".
- (BIG5HKSCS): Add alias "BIG5-HKSCS".
- * README, man/iconv_open.3: Rename BIG5HKSCS to BIG5-HKSCS.
- * tests/Makefile.in (check): Likewise.
- * tests/Makefile.os2 (check): Likewise.
- * tests/Makefile.msvc (check): Likewise.
- * tests/BIG5-HKSCS.TXT: Renamed from BIG5HKSCS.TXT.
- * tests/BIG5-HKSCS.IRREVERSIBLE.TXT: Renamed from
- BIG5HKSCS.IRREVERSIBLE.TXT.
-
-2001-06-02 Bruno Haible <haible@clisp.cons.org>
-
- * tools/cjk_tab_to_h.c (Encoding): Add fffd field.
- (is_charset2uni_large, compact_large_charset2uni): New functions.
- (find_charset2uni_pages): Use enc->fffd instead of 0xfffd.
- (output_charset2uni): If mapping to more than the Unicode BMP,
- use an extra indirection to keep each value in 16 bits.
- (invert): Bump limit from U+10000 to U+30000.
- (output_uni2charset_dense): Likewise.
- (output_uni2charset_sparse): Likewise. If mapping to more than one
- CJK plane, use three bytes per value instead of two bytes.
- (byte_row_cns11643): Allow more than 3 CJK planes.
- (do_cns11643_only_uni2charset): Increase number of rows, to include
- plane 15. Remove plane bits hack.
- (main): Accept names cns11643_4a,4b,5,6,7,15 as well.
- * tools/Makefile (ALL): Add cns11643_4a.h, cns11643_4b.h, cns11643_5.h,
- cns11643_6.h, cns11643_7.h, cns11643_15.h.
- (cns11643_1.h, cns11643_2.h, cns11643_3.h): Use new Unicode 3.1
- derived table.
- (cns11643_4a.h, cns11643_4b.h, cns11643_5.h, cns11643_6.h,
- cns11643_7.h, cns11643_15.h): New rules.
- (cns11643_inv.h): Change title.
- * lib/cns11643_1.h: Regenerated from Unicode 3.1 derived table.
- * lib/cns11643_3.h: Likewise.
- * lib/cns11643_4a.h: New file.
- * lib/cns11643_4b.h: New file.
- * lib/cns11643_4.h: New file.
- * lib/cns11643_5.h: New file.
- * lib/cns11643_6.h: New file.
- * lib/cns11643_7.h: New file.
- * lib/cns11643_15.h: New file.
- * lib/cns11643_inv.h: Regenerated from Unicode 3.1 derived table.
- (cns11643_inv_wctomb): Return 3 bytes now.
- * lib/cns11643.h: Include cns11643_4.h, cns11643_5.h, cns11643_6.h,
- cns11643_7.h, cns11643_15.h.
- (cns11643_wctomb): Now a simple alias to cns11643_inv_wctomb. Return
- plane number starting at 1, not 0.
- * lib/dec_hanyu.h (dec_hanyu_wctomb): Update for cns11643_wctomb
- change.
- * lib/euc_tw.h (euc_tw_mbtowc): Accept CNS11643 planes 4,5,6,7,15 as
- well.
- (euc_tw_wctomb): Update for cns11643_wctomb change.
- * lib/iso2022_cn.h (iso2022_cn_wctomb): Likewise.
- * lib/iso2022_cnext.h (iso2022_cn_ext_mbtowc): Accept CNS11643 planes
- 4,5,6,7 as well.
- (iso2022_cn_ext_wctomb): Update for cns11643_wctomb change.
- Try CNS11643 planes 4,5,6,7 as well.
- * tests/EUC-TW.TXT: Many additions, mostly in planes 3,4,5,6,7,15.
- * tests/EUC-TW.IRREVERSIBLE.TXT: Reflect additions to CNS11643 plane 1.
- Add U+5344.
-
-2001-06-01 Bruno Haible <haible@clisp.cons.org>
-
- * tests/table-from.c (bmp_only): New variable.
- (ucs4_decode): If bmp_only, don't return characters outside Unicode
- plane 0.
- (main): When testing UTF-8 or GB18030, set bmp_only to 1. Don't print
- a conversion line if ucs4_decode returns NULL.
- * tests/table-to.c (main): When testing encodings other than UTF-8 and
- GB18030, loop upto U+30000 instead of U+10000.
-
-2001-05-24 Bruno Haible <haible@clisp.cons.org>
-
- * lib/converters.h (mbtowc_funcs): Add flushwc member function.
- * lib/flushwc.h: New file.
- * lib/cp1255.h: Include flushwc.h.
- (cp1255_comp_table_data, cp1255_comp_table): New arrays.
- (cp1255_mbtowc): Compose base and combining characters.
- (cp1255_flushwc): New macro.
- * lib/vietcomb.h (viet_comp_table_data, viet_comp_table): New arrays.
- * lib/cp1258.h: Include flushwc.h.
- (cp1258_mbtowc): Compose base and combining characters.
- (cp1258_flushwc): New macro.
- * lib/tcvn.h: Include flushwc.h.
- (tcvn_mbtowc): Compose base and combining characters.
- (tcvn_flushwc): New macro.
- * lib/loop_unicode.h: (unicode_transliterate): New function, extracted
- from unicode_loop_convert.
- (unicode_loop_convert): Use unicode_transliterate.
- (unicode_loop_reset): Call xxx_flushwc and output the resulting
- character.
- * lib/encodings.def: Add xxx_flushwc member.
- * lib/encodings_aix.def: Likewise.
- * lib/encodings_dos.def: Likewise.
- * lib/encodings_local.def: Likewise.
- * lib/encodings_osf1.def: Likewise.
- * lib/genaliases.c: Add an argument to the DEFENCODING macro.
- * lib/genaliases2.c: Likewise.
- * lib/genflags.c: Likewise.
- * lib/iconv.c: Likewise.
- * tests/table-from.c (try): Reset the iconv descriptor before the main
- call, and flush it afterwards.
- (ucs4_decode): New function.
- (main): Allow up to 3 Unicode characters output. Call ucs4_decode.
- * tests/CP1255-snippet: New file.
- * tests/CP1255-snippet.UTF-8: New file.
- * tests/CP1258-snippet: New file.
- * tests/CP1258-snippet.UTF-8: New file.
- * tests/TCVN-snippet: New file.
- * tests/TCVN-snippet.UTF-8: New file.
- * tests/Makefile.in (check): Check combining behaviour of CP1255,
- CP1258, TCVN.
- * tests/Makefile.msvc (check): Likewise.
- * tests/Makefile.os2 (check): Likewise.
-
-2001-05-22 Bruno Haible <haible@clisp.cons.org>
-
- * lib/converters.h (RET_ILUNI): New macro.
- (RET_ILSEQ): Change value to -1.
- (RET_TOOFEW): Change value.
- * lib/loop_unicode.h (unicode_loop_convert): Write RET_ILUNI instead
- of 0. Update handling of xxx_mbtowc return value.
- * lib/genflags.c (emit_encoding): Likewise.
- * lib/ascii.h (ascii_wctomb): Use RET_ILUNI instead of RET_ILSEQ.
- * lib/armscii_8.h (armscii_8_wctomb): Likewise.
- * lib/big5.h (big5_wctomb): Likewise.
- * lib/big5hkscs.h (big5hkscs_wctomb): Likewise.
- * lib/ces_big5.h (ces_big5_wctomb): Likewise.
- * lib/ces_gbk.h (ces_gbk_wctomb): Likewise.
- * lib/cns11643.h (cns11643_wctomb): Likewise.
- * lib/cns11643_inv.h (cns11643_inv_wctomb): Likewise.
- * lib/cp437.h (cp437_wctomb): Likewise.
- * lib/cp775.h (cp775_wctomb): Likewise.
- * lib/cp850.h (cp850_wctomb): Likewise.
- * lib/cp852.h (cp852_wctomb): Likewise.
- * lib/cp855.h (cp855_wctomb): Likewise.
- * lib/cp856.h (cp856_wctomb): Likewise.
- * lib/cp857.h (cp857_wctomb): Likewise.
- * lib/cp861.h (cp861_wctomb): Likewise.
- * lib/cp862.h (cp862_wctomb): Likewise.
- * lib/cp864.h (cp864_wctomb): Likewise.
- * lib/cp865.h (cp865_wctomb): Likewise.
- * lib/cp866.h (cp866_wctomb): Likewise.
- * lib/cp869.h (cp869_wctomb): Likewise.
- * lib/cp874.h (cp874_wctomb): Likewise.
- * lib/cp922.h (cp922_wctomb): Likewise.
- * lib/cp932ext.h (cp932ext_wctomb): Likewise.
- * lib/cp932.h (cp932_wctomb): Likewise.
- * lib/cp936ext.h (cp936ext_wctomb): Likewise.
- * lib/cp949.h (cp949_wctomb): Likewise.
- * lib/cp950ext.h (cp950ext_wctomb): Likewise.
- * lib/cp950.h (cp950_wctomb): Likewise.
- * lib/cp1046.h (cp1046_wctomb): Likewise.
- * lib/cp1124.h (cp1124_wctomb): Likewise.
- * lib/cp1129.h (cp1129_wctomb): Likewise.
- * lib/cp1133.h (cp1133_wctomb): Likewise.
- * lib/cp1250.h (cp1250_wctomb): Likewise.
- * lib/cp1251.h (cp1251_wctomb): Likewise.
- * lib/cp1252.h (cp1252_wctomb): Likewise.
- * lib/cp1253.h (cp1253_wctomb): Likewise.
- * lib/cp1254.h (cp1254_wctomb): Likewise.
- * lib/cp1255.h (cp1255_wctomb): Likewise.
- * lib/cp1256.h (cp1256_wctomb): Likewise.
- * lib/cp1257.h (cp1257_wctomb): Likewise.
- * lib/cp1258.h (cp1258_wctomb): Likewise.
- * lib/dec_hanyu.h (dec_hanyu_wctomb): Likewise.
- * lib/dec_kanji.h (dec_kanji_wctomb): Likewise.
- * lib/euc_cn.h (euc_cn_wctomb): Likewise.
- * lib/euc_jp.h (euc_jp_wctomb): Likewise.
- * lib/euc_kr.h (euc_kr_wctomb): Likewise.
- * lib/euc_tw.h (euc_tw_wctomb): Likewise.
- * lib/gb12345ext.h (gb12345ext_wctomb): Likewise.
- * lib/gb12345.h (gb12345_wctomb): Likewise.
- * lib/gb18030ext.h (gb18030ext_wctomb): Likewise.
- * lib/gb18030.h (gb18030_wctomb): Likewise.
- * lib/gb18030uni.h (gb18030uni_wctomb): Likewise.
- * lib/gb2312.h (gb2312_wctomb): Likewise.
- * lib/gbkext_inv.h (gbkext_inv_wctomb): Likewise.
- * lib/gbk.h (gbk_wctomb): Likewise.
- * lib/georgian_academy.h (georgian_academy_wctomb): Likewise.
- * lib/georgian_ps.h (georgian_ps_wctomb): Likewise.
- * lib/hkscs.h (hkscs_wctomb): Likewise.
- * lib/hp_roman8.h (hp_roman8_wctomb): Likewise.
- * lib/hz.h (hz_wctomb): Likewise.
- * lib/iso2022_cnext.h (iso2022_cn_ext_wctomb): Likewise.
- * lib/iso2022_cn.h (iso2022_cn_wctomb): Likewise.
- * lib/iso2022_jp1.h (iso2022_jp1_wctomb): Likewise.
- * lib/iso2022_jp2.h (iso2022_jp2_wctomb): Likewise.
- * lib/iso2022_jp.h (iso2022_jp_wctomb): Likewise.
- * lib/iso2022_kr.h (iso2022_kr_wctomb): Likewise.
- * lib/iso646_cn.h (iso646_cn_wctomb): Likewise.
- * lib/iso646_jp.h (iso646_jp_wctomb): Likewise.
- * lib/iso8859_1.h (iso8859_1_wctomb): Likewise.
- * lib/iso8859_2.h (iso8859_2_wctomb): Likewise.
- * lib/iso8859_3.h (iso8859_3_wctomb): Likewise.
- * lib/iso8859_4.h (iso8859_4_wctomb): Likewise.
- * lib/iso8859_5.h (iso8859_5_wctomb): Likewise.
- * lib/iso8859_6.h (iso8859_6_wctomb): Likewise.
- * lib/iso8859_7.h (iso8859_7_wctomb): Likewise.
- * lib/iso8859_8.h (iso8859_8_wctomb): Likewise.
- * lib/iso8859_9.h (iso8859_9_wctomb): Likewise.
- * lib/iso8859_10.h (iso8859_10_wctomb): Likewise.
- * lib/iso8859_13.h (iso8859_13_wctomb): Likewise.
- * lib/iso8859_14.h (iso8859_14_wctomb): Likewise.
- * lib/iso8859_15.h (iso8859_15_wctomb): Likewise.
- * lib/iso8859_16.h (iso8859_16_wctomb): Likewise.
- * lib/isoir165ext.h (isoir165ext_wctomb): Likewise.
- * lib/isoir165.h (isoir165_wctomb): Likewise.
- * lib/jisx0201.h (jisx0201_wctomb): Likewise.
- * lib/jisx0208.h (jisx0208_wctomb): Likewise.
- * lib/jisx0212.h (jisx0212_wctomb): Likewise.
- * lib/johab.h (johab_wctomb): Likewise.
- * lib/johab_hangul.h (johab_hangul_wctomb, johab_hangul_decompose):
- Likewise.
- * lib/koi8_r.h (koi8_r_wctomb): Likewise.
- * lib/koi8_ru.h (koi8_ru_wctomb): Likewise.
- * lib/koi8_u.h (koi8_u_wctomb): Likewise.
- * lib/ksc5601.h (ksc5601_wctomb): Likewise.
- * lib/mac_arabic.h (mac_arabic_wctomb): Likewise.
- * lib/mac_centraleurope.h (mac_centraleurope_wctomb): Likewise.
- * lib/mac_croatian.h (mac_croatian_wctomb): Likewise.
- * lib/mac_cyrillic.h (mac_cyrillic_wctomb): Likewise.
- * lib/mac_greek.h (mac_greek_wctomb): Likewise.
- * lib/mac_hebrew.h (mac_hebrew_wctomb): Likewise.
- * lib/mac_iceland.h (mac_iceland_wctomb): Likewise.
- * lib/mac_roman.h (mac_roman_wctomb): Likewise.
- * lib/mac_romania.h (mac_romania_wctomb): Likewise.
- * lib/mac_thai.h (mac_thai_wctomb): Likewise.
- * lib/mac_turkish.h (mac_turkish_wctomb): Likewise.
- * lib/mac_ukraine.h (mac_ukraine_wctomb): Likewise.
- * lib/mulelao.h (mulelao_wctomb): Likewise.
- * lib/nextstep.h (nextstep_wctomb): Likewise.
- * lib/sjis.h (sjis_wctomb): Likewise.
- * lib/tcvn.h (tcvn_wctomb): Likewise.
- * lib/tis620.h (tis620_wctomb): Likewise.
- * lib/ucs2be.h (ucs2be_wctomb): Likewise.
- * lib/ucs2.h (ucs2_wctomb): Likewise.
- * lib/ucs2internal.h (ucs2internal_wctomb): Likewise.
- * lib/ucs2le.h (ucs2le_wctomb): Likewise.
- * lib/ucs2swapped.h (ucs2swapped_wctomb): Likewise.
- * lib/ucs4.h (ucs4_wctomb): Likewise.
- * lib/uhc_1.h (uhc_1_wctomb): Likewise.
- * lib/uhc_2.h (uhc_2_wctomb): Likewise.
- * lib/utf16be.h (utf16be_wctomb): Likewise.
- * lib/utf16.h (utf16_wctomb): Likewise.
- * lib/utf16le.h (utf16le_wctomb): Likewise.
- * lib/utf32be.h (utf32be_wctomb): Likewise.
- * lib/utf32.h (utf32_wctomb): Likewise.
- * lib/utf32le.h (utf32le_wctomb): Likewise.
- * lib/utf7.h (utf7_wctomb): Likewise.
- * lib/utf8.h (utf8_wctomb): Likewise.
- * lib/viscii.h (viscii_wctomb): Likewise.
- * tools/8bit_tab_to_h.c (main): Likewise.
- * tools/cjk_tab_to_h.c (output_uni2charset_dense,
- output_uni2charset_sparse, do_gb18030uni): Likewise.
-
-2001-05-19 Bruno Haible <haible@clisp.cons.org>
-
- * Makefile.devel (all): Add man/{iconv.1,iconv*.3}.html.
- (man/%.html): New rule.
- * man/Makefile.in (docdir, htmldir): New variables.
- (install, installdirs): Install the HTML formatted man pages in
- $(htmldir).
- (uninstall): Uninstall them.
-
-2001-05-20 Bruno Haible <haible@clisp.cons.org>
-
- * lib/cp1255.h (cp1255_decomp_table): New array.
- (cp1255_comb_table): New array.
- (cp1255_wctomb): Decompose Unicode characters.
- * tests/CP1255.IRREVERSIBLE.TXT: New file.
-
-2001-05-13 Bruno Haible <haible@clisp.cons.org>
-
- * lib/vietcomb.h: New file.
- * lib/cp1258.h: Include it.
- (cp1258_comb_table): New array.
- (cp1258_wctomb): Decompose Unicode characters.
- * lib/tcvn.h: Include it.
- (tcvn_comb_table): New array.
- (tcvn_wctomb): Decompose Unicode characters.
- * tests/CP1258.IRREVERSIBLE.TXT: New file.
- * tests/TCVN.IRREVERSIBLE.TXT: New file.
-
-2001-05-06 Bruno Haible <haible@clisp.cons.org>
-
- * lib/Makefile.msvc (config.h): Allow the 'del' command to fail.
- (iconv.lib): Likewise.
-
-2001-05-06 Bruno Haible <haible@clisp.cons.org>
-
- * lib/Makefile.in (CPPFLAGS, LDFLAGS): New variables.
- (CPP): Remove variable.
- (libiconv.la, libiconv_plug_linux.so, libiconv_plug_solaris.so,
- libiconv_plug_osf.so): Use LDFLAGS.
- (libiconv_plug_linux.so, libiconv_plug_solaris.so,
- libiconv_plug_osf.so, iconv.lo): Use CPPFLAGS.
- * lib/Makefile.msvc (CPP): Remove variable.
- * src/Makefile.in (CPPFLAGS, LDFLAGS): New variables.
- (CPP): Remove variable.
- (iconv): Use CPPFLAGS and LDFLAGS.
- * src/Makefile.msvc (CPP): Remove variable.
- * tests/Makefile.in (CPPFLAGS, LDFLAGS): New variables.
- (check, table-from, table-to): Use CPPFLAGS and LDFLAGS.
- * tests/Makefile.msvc (CPP): Remove variable.
-
-2001-05-06 Bruno Haible <haible@clisp.cons.org>
-
- * lib/Makefile.in (libiconv_plug_solaris.so): Change rule if not using
- gcc. Reported by Paananen Mikko <mikkopa@cs.tut.fi>.
-
-2001-04-11 Bruno Haible <haible@clisp.cons.org>
-
- Implement and document UTF-32, UTF-32BE, UTF-32LE.
- * src/utf32.h, src/utf32be.h, src/utf32le.h: New files.
- * src/converters.h: Include them.
- * src/encodings.def (UTF-32, UTF-32BE, UTF32LE): New encodings.
- * README, man/iconv_open.3: Add UTF-32, UTF-32BE, UTF32LE.
- * tests/Makefile.in (check): Check UTF-32, UTF-32BE, UTF32LE.
- * tests/Makefile.os2 (check): Likewise.
- * tests/Makefile.msvc (check): Likewise.
- * tests/UTF-32*snippet*: New files.
-
- * lib/ucs4.h (ucs4_mbtowc): Fix value of other-endian byte order.
- (ucs4_wctomb): Allow any 31-bit codepoint.
-
-2001-04-11 Bruno Haible <haible@clisp.cons.org>
-
- * tests/GB18030.TXT: Add mappings for all of U+0000..U+FFFF, including
- unassigned code points.
- * tests/table-from.c (main); When dumping GB18030, don't print code
- points larger than U+FFFF.
-
-2001-03-30 Bruno Haible <haible@clisp.cons.org>
-
- * tools/Makefile (GB18030uni.TXT): Use a table source which includes
- the unassigned Unicode code points.
- * lib/gb18030uni.h: Update.
- (gb18030uni_ranges): Remove bitmap_offset field.
- (gb18030uni_bitmap): Remove array.
- (gb18030uni_mbtowc): Omit gb18030uni_bitmap access.
- (gb18030uni_wctomb): Likewise.
- * lib/gb18030.h (gb18030_mbtowc): Handle Unicode characters >= 0x10000.
- (gb18030_wctomb): Likewise.
-
-2001-03-21 Bruno Haible <haible@clisp.cons.org>
-
- * INSTALL.generic (Particular Systems): Add recommendations for AIX 3.
-
-2001-03-21 Bruno Haible <haible@clisp.cons.org>
-
- * src/iconv.c (print_version): Now called GNU libiconv.
-
-2001-03-20 Bruno Haible <haible@clisp.cons.org>
-
- * README: This package is now called GNU libiconv.
-
- * tools/8bit_tab_to_h.c (main): Emit copyright notice to the output
- file.
- * tools/cjk_tab_to_h.c (output_title): Likewise.
- * tools/cjk_variants.c (main): Likewise.
- * lib/gentranslit.c (main): Likewise.
-
-2001-03-19 Bruno Haible <haible@clisp.cons.org>
-
- * autoconf/aclocal.m4 (CL_CANONICAL_HOST): Always define
- ac_config_guess and ac_config_sub. Then ignore requests for
- AC_CONFIG_AUX_DIR_DEFAULT or AC_CANONICAL_HOST.
-
-2001-03-10 Bruno Haible <haible@clisp.cons.org>
-
- * INSTALL.generic: New section "Particular Systems".
-
-2001-03-10 Bruno Haible <haible@clisp.cons.org>
-
- * lib/Makefile.in (libiconv.la): Pass flag -no-undefined. Needed on
- platforms like BeOS.
-
- * lib/loop_wchar.h (mbstate_t): Don't typedef if already #defined in
- config.h.
-
-2001-03-06 Bruno Haible <haible@clisp.cons.org>
-
- * Version 1.6 released.
- * include/iconv.h.in (_LIBICONV_VERSION), README, windows/iconv.rc:
- Bump version number.
- * lib/Makefile.in (LIBICONV_VERSION_INFO): Define to 2:3:0.
-
-2001-03-05 Bruno Haible <haible@clisp.cons.org>
-
- Provide all encodings used by OSF/1 5.1 locales.
- * lib/dec_kanji.h: New file.
- * lib/dec_hanyu.h: New file.
- * lib/converters.h: Include them if USE_OSF1 is defined.
- * lib/encodings_osf1.def: New file.
- * lib/genflags.c (main): Include it. Define USE_OSF1.
- * lib/genaliases2.c (main): Include it conditionally.
- * lib/iconv.c: Define USE_OSF1 on OSF/1.
- Include encodings_osf1.def and aliases_osf1.h.
- * lib/Makefile.in (iconv.lo): Depend on encodings_osf1.def and
- aliases_osf1.h.
- * Makefile.devel (lib/aliases_osf1.h): New target.
- (all): Depend on lib/aliases_osf1.h.
- (lib/flags.h): Depend on lib/encodings_osf1.def.
-
-2001-03-01 Bruno Haible <haible@clisp.cons.org>
-
- * tools/Makefile (cp775.h): New target.
- (ALL): Add it.
- * lib/cp775.h: New file.
- * lib/converters.h: Include it.
- * lib/encodings_dos.def (CP775): New encoding.
-
-2001-02-25 Bruno Haible <haible@clisp.cons.org>
-
- * lib/iconv.c (iconv_open): locale_charset() doesn't return NULL any
- more.
-
-2001-02-24 Bruno Haible <haible@clisp.cons.org>
-
- * src/iconv.c (convert): Use ICONV_CONST.
- * tests/table-from.c: Include config.h.
- (try): Use ICONV_CONST.
- * tests/table-to.c: Include config.h.
- (main): Use ICONV_CONST.
- * tests/Makefile.in (INCLUDES): Add -I../lib.
- * tests/Makefile.os2 (INCLUDES): Likewise.
- * tests/Makefile.msvc (INCLUDES): Add -I..\lib.
-
-2001-02-24 Bruno Haible <haible@clisp.cons.org>
-
- Provide all encodings used by DOS locales.
- * tools/Makefile (cp437.h, cp852.h, cp855.h, cp857.h, cp861.h,
- cp864.h, cp865.h, cp869.h): New targets.
- (ALL): Add them.
- * lib/cp437.h: New file.
- * lib/cp852.h: New file.
- * lib/cp855.h: New file.
- * lib/cp857.h: New file.
- * lib/cp861.h: New file.
- * lib/cp864.h: New file.
- * lib/cp865.h: New file.
- * lib/cp869.h: New file.
- * lib/converters.h: Include them if USE_DOS is defined.
- * lib/encodings_dos.def: New file.
- * lib/genflags.c (main): Include it. Define USE_DOS.
- * lib/genaliases2.c (main): Include it conditionally.
- * lib/iconv.c: Define USE_DOS on DJGPP.
- Include encodings_dos.def and aliases_dos.h.
- * lib/Makefile.in (iconv.lo): Depend on encodings_dos.def and
- aliases_dos.h.
- * Makefile.devel (lib/aliases_dos.h): New target.
- (all): Depend on lib/aliases_dos.h.
- (lib/flags.h): Depend on lib/encodings_dos.def.
-
-2001-02-23 Bruno Haible <haible@clisp.cons.org>
-
- * src/iconv.c [DJGPP]: Include <io.h> and <unistd.h>.
- (SET_BINARY) [O_BINARY]: New macro.
- (usage): Mention --binary if available.
- (convert): Use SET_BINARY instead of setmode.
- (main): Likewise.
- Reported by Juan Manuel Guerrero <st001906@hrz1.hrz.tu-darmstadt.de>.
-
-2001-02-25 Bruno Haible <haible@clisp.cons.org>
-
- * autoconf/ltconfig:
- sed -e 's/reload object files/produce relocatable object files/'.
-
-2001-02-20 Bruno Haible <haible@clisp.cons.org>
-
- * src/iconv.c (usage, main): Make -f and -t options optional.
- * man/iconv.1: Mark them as optional.
-
-2001-02-20 Bruno Haible <haible@clisp.cons.org>
-
- * tools/Makefile (GB18030ext.TXT, GB18030uni.TXT): Generate from
- glibc-2.2.2 table.
- * lib/gb18030uni.h, lib/gb18030ext.h: Add mapping 0xA989 -> U+303E,
- 0xFE5E -> U+2E97. Shift the entire four-byte range.
- * tests/GB18030.TXT: Regenerated.
-
-2001-02-20 Bruno Haible <haible@clisp.cons.org>
-
- Better support for DOS/Windows platforms.
- * autoconf/ltconfig: Upgrade to libtool-1.3.5.
- * autoconf/ltmain.sh: Likewise.
- * autoconf/aclocal.m4: Likewise.
- * autoconf/install-sh: New file.
- * configure.in: Call AC_OBJEXT and AC_EXEEXT. Call AC_CONFIG_AUX_DIR.
-
-2001-02-20 Bruno Haible <haible@clisp.cons.org>
-
- * Makefile.in (libdir, includedir, mandir): Use the autoconf
- determined value, in order to respect the configure arguments.
- * lib/Makefile.in (libdir): Likewise.
- * src/Makefile.in (bindir): Likewise.
- * man/Makefile.in (mandir): Likewise.
-
-2001-02-04 Bruno Haible <haible@clisp.cons.org>
-
- * lib/translit.def: Add all the neutral transliterations from glibc.
- * lib/gentranslit.c (main): Allow UTF-8 replacements which are in
- UCS-2 but not in ISO-8859-1. Generate a table of 'unsigned short'.
- Avoid accessing data[-1].
- * lib/loop_unicode.h (unicode_loop_convert): Change type of pointer
- into translit_data.
-
-2001-01-05 Bruno Haible <haible@clisp.cons.org>
-
- Implement and document CP862.
- * tools/Makefile (ALL): Add cp862.h.
- (cp862.h): New target.
- * lib/cp862.h: New file.
- * lib/converters.h: Include it.
- * lib/encodings.def (CP862): New encoding.
- * README, man/iconv_open.3: Add CP862.
- * tests/Makefile.in (check): Check CP862.
- * tests/Makefile.msvc (check): Likewise.
- * tests/Makefile.os2 (check): Likewise.
- * tests/CP862.TXT: New file.
-
-2000-12-18 Bruno Haible <haible@clisp.cons.org>
-
- * autoconf/mbstate_t.m4: New file, from textutils-2.0.10.
- * Makefile.devel (OTHERMACROS): Add it.
- * configure.in: Call AC_MBSTATE_T.
- * lib/config.h.in (mbstate_t): New definition.
- * lib/loop_wchar.h (mbrtowc): For BeOS, declare and define fallback.
-
-2000-12-12 Bruno Haible <haible@clisp.cons.org>
-
- * Makefile.in: Use $(MAKE) instead of $(MAKE) -r. Needed with Solaris
- "make", which doesn't set MAKE as expected by @SET_MAKE@ if -r is
- given. Reported by Toshimitsu Fujiwara.
-
-2000-12-08 Bruno Haible <haible@clisp.cons.org>
-
- * Makefile.in (exec_prefix): Use configure's --exec-prefix argument.
- * lib/Makefile.in (exec_prefix): Likewise.
- * src/Makefile.in (exec_prefix): Likewise.
- * man/Makefile.in (exec_prefix): Likewise.
-
-2000-12-02 Bruno Haible <haible@clisp.cons.org>
-
- * Version 1.5 released.
- * include/iconv.h.in (_LIBICONV_VERSION), README, windows/iconv.rc:
- Bump version number.
- * lib/Makefile.in (LIBICONV_VERSION_INFO): Define to 2:2:0.
-
-2000-12-02 Bruno Haible <haible@clisp.cons.org>
-
- * Makefile.in (mostlyclean, clean, distclean, maintainer-clean):
- Remove files installed in lib by libcharset.
- * Makefile.msvc (mostlyclean): Likewise.
-
- * Makefile.in (check): Depend on target 'all'.
- * Makefile.os2 (check): Likewise.
- * Makefile.msvc (check): Depend on target 'force' as well.
-
- * src/iconv.c (usage): Take an exitcode argument.
- (print_version): New function.
- (main): Recognize --help and --version command line options.
-
-2000-12-02 Bruno Haible <haible@clisp.cons.org>
-
- * Makefile.msvc: Replace STATIC with its opposite flag, DLL.
- * lib/Makefile.msvc: Likewise.
- * src/Makefile.msvc: Likewise.
- * tests/Makefile.msvc: Likewise.
-
-2000-12-01 Bruno Haible <haible@clisp.cons.org>
-
- * src/iconv.c: Include <fcntl.h>. Define fallbacks for setmode, fileno.
- (force_binary): New variable.
- (convert): If requested, set the input O_BINARY.
- (main): Accept --binary option. If requested, set the output O_BINARY.
- * tests/check-stateful.bat: Pass --binary to iconv.
- * tests/check-stateful.cmd: Likewise.
- * tests/check-translit.bat: Likewise.
- * tests/check-translit.cmd: Likewise.
-
-2000-12-01 Bruno Haible <haible@clisp.cons.org>
-
- * include/iconv.h.in (_libiconv_version): New declaration.
- * lib/iconv.c (_libiconv_version): New variable.
-
-2000-11-30 Bruno Haible <haible@clisp.cons.org>
-
- * Makefile.msvc (all): File now named lib/libcharset.h.
- (clean, distclean, maintainer-clean): Likewise.
-
-2000-11-23 Bruno Haible <haible@clisp.cons.org>
-
- * lib/*: Move here all files from src/*.
- * src/*: Move all files to lib.
- * lib/Makefile.in (distclean): No need to remove config.status,
- config.log, config.cache.
- * configure.in: Require lib/iconv.c, not src/iconv.c. Create
- lib/config.h, not src/config.h. Also create lib/Makefile.
- * Makefile.in (all): Install libcharset into lib, not src. Recurse
- into lib and src.
- (install-lib): Recurse into lib, not src.
- (install): Recurse into libcharset, lib and src.
- (installdirs, uninstall): Likewise.
- (check, mostlyclean, clean, distclean, maintainer-clean): Likewise.
- * Makefile.msvc (all): Recurse into lib and src.
- (install): Recurse into libcharset, lib and src.
- (installdirs, uninstall): Likewise.
- (check, mostlyclean, clean, distclean, maintainer-clean): Likewise.
- * Makefile.os2 (all): Recurse into lib and src.
- (install-lib): Recurse into lib, not src.
- (install, uninstall): Recurse into lib and src.
- (check, mostlyclean, clean, distclean, maintainer-clean): Likewise.
- * Makefile.devel (lib/config.h.msvc): Renamed from src/config.h.msvc.
- (lib/aliases.h): Renamed from src/aliases.h.
- (lib/aliases.gperf): Renamed from src/aliases.gperf.
- (lib/aliases_aix.h): Renamed from src/aliases_aix.h.
- (lib/flags.h): Renamed from src/flags.h.
- (lib/translit.h): Renamed from src/translit.h.
- * src/iconv.c: Moved here from tests/iconv.c.
- * src/Makefile.in: New file.
- * src/Makefile.msvc: New file.
- * src/Makefile.os2: New file.
- * tests/Makefile.in (iconv): Remove target.
- (../lib/libiconv.la): Renamed from ../src/libiconv.la.
- (clean): No need to remove iconv.
- * tests/Makefile.msvc (iconv.exe): Remove target.
- * tests/Makefile.os2 (iconv.exe): Likewise.
- * tests/check-stateful: iconv is in ../src.
- * tests/check-stateful.bat: Likewise.
- * tests/check-stateful.cmd: Likewise.
- * tests/check-translit: iconv is in ../src.
- * tests/check-translit.bat: Likewise.
- * tests/check-translit.cmd: Likewise.
- * man/iconv.1: New file.
- * man/Makefile.in (install, installdirs, uninstall): Also install *.1
- man pages.
- * man/Makefile.os2 (MAN3): Renamed from MAN.
- (MAN1): New variable.
- (install, uninstall): Also install *.1 man pages.
-
-2000-11-21 Bruno Haible <haible@clisp.cons.org>
-
- * Makefile.msvc (all, check, mostlyclean, clean, distclean,
- maintainer-clean): Recurse into libcharset.
- (clean, distclean, maintainer-clean): Remove src\libcharset.h.
- * src/Makefile.msvc (LIBCHARSET_OBJECTS): New variable.
- (iconv.lib): Link with $(LIBCHARSET_OBJECTS).
-
-2000-11-18 Bruno Haible <haible@clisp.cons.org>
-
- * src/cp950.h (cp950_mbtowc, cp950_wctomb): Change implementation
- so that it agrees with Microsoft's definition of CP950.
- * tests/CP950.TXT: Likewise.
- * tests/CP950.IRREVERSIBLE.TXT: Add 0xA244, 0xA2CC, 0xA2CE.
-
-2000-11-18 Bruno Haible <haible@clisp.cons.org>
-
- Add support for locale dependent "char" and "wchar_t" encodings.
- * libcharset: New subdirectory.
- * src/loop_unicode.h: New file, extracted from src/iconv.c.
- * src/loop_wchar.h: New file.
- * src/loops.h: New file. Include loop_unicode.h and loop_wchar.h.
- * src/encodings_local.def: New file.
- * src/genaliases.c: Also create aliases for encodings_local.def.
- * src/converters.h (conv_struct): Add lfuncs field.
- * src/genflags.c: Add dummy definitions of struct loop_funcs.
- * src/iconv.c: Include libcharset.h.
- (loop_funcs): New structure.
- Treat encodings_local.def like encodings.def.
- Include loops.h.
- (iconv_open): Move the bulk of the code to loop_unicode.h.
- (iconv): Likewise.
- (iconvctl): Extend determination of TRIVIALP to wchar_t conversion
- descriptors.
- * src/Makefile.in (PLUG_SOURCES): Remove variable.
- (LIBCHARSET_OBJECTS): New variable.
- (libiconv.la): Link in the LIBCHARSET_OBJECTS.
- (libiconv_plug_linux.so, libiconv_plug_solaris.so,
- libiconv_plug_osf.so): Link in the LIBCHARSET_OBJECTS, using
- LIBTOOL_LINK.
- (iconv.lo): Depend on encodings_local.def.
- * src/Makefile.msvc (iconv.obj): Depend on encodings_local.def.
- * src/Makefile.os2 (iconv.obj): Likewise.
- * configure.in: Add tests for locale.h, mbrtowc, wcrtomb, setlocale.
- Recurse into libcharset.
- * src/config.h.in (HAVE_LOCALE_H, HAVE_MBRTOWC, HAVE_WCRTOMB,
- HAVE_SETLOCALE): New macros.
- * tests/iconv.c: Include config.h and locale.h.
- (main): Call setlocale.
- * tests/Makefile.in (iconv): Search for config.h in ../src.
- * tests/Makefile.os2 (iconv.exe): Likewise.
- * tests/Makefile.msvc (iconv.exe): Likewise.
- * README, man/iconv_open.3: Document "char" and "wchar_t" encodings.
- * Makefile.in: After "cd", use "&&" not ";".
- (all, check, mostlyclean, clean, distclean, maintainer-clean):
- Recurse into libcharset.
- * Makefile.devel (all): Recurse into libcharset.
- (src/aliases.gperf): Depend on src/encodings_local.def.
-
-2000-11-18 Bruno Haible <haible@clisp.cons.org>
-
- * src/converters.h (ucs4_t): New type.
- (wchar_t): Remove locally defined override.
- (mbtowc_funcs, wctomb_funcs): Use ucs4_t instead of wchar_t.
- * src/iconv.c (iconv): Likewise.
- * src/genflags.c (emit_encoding): Use ucs4_t instead of wchar_t.
- * tools/8bit_tab_to_h.c: Use "ucs4_t" instead of "wchar_t".
- * tools/cjk_tab_to_h.c: Likewise.
- * src/armscii_8.h: Use ucs4_t instead of wchar_t.
- * src/ascii.h: Likewise.
- * src/big5.h: Likewise.
- * src/big5hkscs.h: Likewise.
- * src/ces_big5.h: Likewise.
- * src/ces_gbk.h: Likewise.
- * src/cns11643.h: Likewise.
- * src/cns11643_1.h: Likewise.
- * src/cns11643_2.h: Likewise.
- * src/cns11643_3.h: Likewise.
- * src/cns11643_inv.h: Likewise.
- * src/cp1046.h: Likewise.
- * src/cp1124.h: Likewise.
- * src/cp1129.h: Likewise.
- * src/cp1133.h: Likewise.
- * src/cp1250.h: Likewise.
- * src/cp1251.h: Likewise.
- * src/cp1252.h: Likewise.
- * src/cp1253.h: Likewise.
- * src/cp1254.h: Likewise.
- * src/cp1255.h: Likewise.
- * src/cp1256.h: Likewise.
- * src/cp1257.h: Likewise.
- * src/cp1258.h: Likewise.
- * src/cp850.h: Likewise.
- * src/cp856.h: Likewise.
- * src/cp866.h: Likewise.
- * src/cp874.h: Likewise.
- * src/cp922.h: Likewise.
- * src/cp932.h: Likewise.
- * src/cp932ext.h: Likewise.
- * src/cp936ext.h: Likewise.
- * src/cp949.h: Likewise.
- * src/cp950.h: Likewise.
- * src/cp950ext.h: Likewise.
- * src/euc_cn.h: Likewise.
- * src/euc_jp.h: Likewise.
- * src/euc_kr.h: Likewise.
- * src/euc_tw.h: Likewise.
- * src/gb12345.h: Likewise.
- * src/gb12345ext.h: Likewise.
- * src/gb18030.h: Likewise.
- * src/gb18030ext.h: Likewise.
- * src/gb18030uni.h: Likewise.
- * src/gb2312.h: Likewise.
- * src/gbk.h: Likewise.
- * src/gbkext1.h: Likewise.
- * src/gbkext2.h: Likewise.
- * src/gbkext_inv.h: Likewise.
- * src/georgian_academy.h: Likewise.
- * src/georgian_ps.h: Likewise.
- * src/hkscs.h: Likewise.
- * src/hp_roman8.h: Likewise.
- * src/hz.h: Likewise.
- * src/iso2022_cn.h: Likewise.
- * src/iso2022_cnext.h: Likewise.
- * src/iso2022_jp.h: Likewise.
- * src/iso2022_jp1.h: Likewise.
- * src/iso2022_jp2.h: Likewise.
- * src/iso2022_kr.h: Likewise.
- * src/iso646_cn.h: Likewise.
- * src/iso646_jp.h: Likewise.
- * src/iso8859_1.h: Likewise.
- * src/iso8859_10.h: Likewise.
- * src/iso8859_13.h: Likewise.
- * src/iso8859_14.h: Likewise.
- * src/iso8859_15.h: Likewise.
- * src/iso8859_16.h: Likewise.
- * src/iso8859_2.h: Likewise.
- * src/iso8859_3.h: Likewise.
- * src/iso8859_4.h: Likewise.
- * src/iso8859_5.h: Likewise.
- * src/iso8859_6.h: Likewise.
- * src/iso8859_7.h: Likewise.
- * src/iso8859_8.h: Likewise.
- * src/iso8859_9.h: Likewise.
- * src/isoir165.h: Likewise.
- * src/isoir165ext.h: Likewise.
- * src/java.h: Likewise.
- * src/jisx0201.h: Likewise.
- * src/jisx0208.h: Likewise.
- * src/jisx0212.h: Likewise.
- * src/johab.h: Likewise.
- * src/johab_hangul.h: Likewise.
- * src/koi8_r.h: Likewise.
- * src/koi8_ru.h: Likewise.
- * src/koi8_u.h: Likewise.
- * src/ksc5601.h: Likewise.
- * src/mac_arabic.h: Likewise.
- * src/mac_centraleurope.h: Likewise.
- * src/mac_croatian.h: Likewise.
- * src/mac_cyrillic.h: Likewise.
- * src/mac_greek.h: Likewise.
- * src/mac_hebrew.h: Likewise.
- * src/mac_iceland.h: Likewise.
- * src/mac_roman.h: Likewise.
- * src/mac_romania.h: Likewise.
- * src/mac_thai.h: Likewise.
- * src/mac_turkish.h: Likewise.
- * src/mac_ukraine.h: Likewise.
- * src/mulelao.h: Likewise.
- * src/nextstep.h: Likewise.
- * src/sjis.h: Likewise.
- * src/tcvn.h: Likewise.
- * src/tis620.h: Likewise.
- * src/ucs2.h: Likewise.
- * src/ucs2be.h: Likewise.
- * src/ucs2internal.h: Likewise.
- * src/ucs2le.h: Likewise.
- * src/ucs2swapped.h: Likewise.
- * src/ucs4.h: Likewise.
- * src/ucs4be.h: Likewise.
- * src/ucs4internal.h: Likewise.
- * src/ucs4le.h: Likewise.
- * src/ucs4swapped.h: Likewise.
- * src/uhc_1.h: Likewise.
- * src/uhc_2.h: Likewise.
- * src/utf16.h: Likewise.
- * src/utf16be.h: Likewise.
- * src/utf16le.h: Likewise.
- * src/utf7.h: Likewise.
- * src/utf8.h: Likewise.
- * src/viscii.h: Likewise.
-
-2000-11-18 Bruno Haible <haible@clisp.cons.org>
-
- Make transliteration optional.
- * src/iconv.c (iconv_open): Strip off //TRANSLIT suffix from names.
- Set transliteration on if and only if tocode ends in //TRANSLIT.
- * README, man/iconv_open.3: Document how to enable transliteration.
- * tests/check-translit: Add //TRANSLIT to iconv's 't' argument.
- * tests/check-translit.bat: Likewise.
- * tests/check-translit.cmd: Likewise.
-
-2000-11-18 Bruno Haible <haible@clisp.cons.org>
-
- * man/iconv.3: Fix typo.
-
-2000-10-31 Bruno Haible <haible@clisp.cons.org>
-
- * README, man/iconv_open.3: Document JOHAB again.
-
-2000-11-15 Bruno Haible <haible@clisp.cons.org>
-
- * Makefile.msvc: Add support for MFLAGS and DEBUG parameters.
- (STATIC): Change default from 0 to 1.
- * src/Makefile.msvc: Likewise.
- * tests/Makefile.msvc: Likewise.
- * tests/check-stateless.bat: Call 'sort' with no arguments.
-
-2000-11-12 Bruno Haible <haible@clisp.cons.org>
-
- * autoconf/config.guess, autoconf/config.sub: Upgrade to newest
- version from GNU CVS.
-
-2000-10-24 Bruno Haible <haible@clisp.cons.org>
-
- * Version 1.4 released.
- * include/iconv.h.in (_LIBICONV_VERSION), README, windows/iconv.rc:
- Bump version number.
- * src/Makefile.in (LIBICONV_VERSION_INFO): Define to 2:1:0.
-
-2000-10-23 Bruno Haible <haible@clisp.cons.org>
-
- Implement and document GB18030 and BIG5HKSCS.
- * tools/cjk_tab_to_h.c (row_byte_hkscs, byte_row_hkscs, do_hkscs): New
- functions.
- (do_gb18030uni): New function.
- (main): Accept gb18030ext, gb18030uni, hkscs.
- * tools/Makefile (ALL): Add gb18030ext.h, gb18030uni.h, hkscs.h.
- (gb18030ext.h, GB18030ext.TXT, gb18030uni.h, GB18030uni.TXT,
- hkscs.h): New targets.
- * src/gb18030ext.h, src/gb18030uni.h, src/gb18030.h: New files.
- * src/hkscs.h, src/big5hkscs.h: New files.
- * src/converters.h: Include gb18030.h and big5hkscs.h.
- * src/encodings.def (GB18030, BIG5HKSCS): New encodings.
- * README, man/iconv_open.3: Add GB18030, BIG5HKSCS.
- * tests/Makefile.in (check): Check GB18030, BIG5HKSCS.
- * tests/Makefile.msvc (check): Likewise.
- * tests/Makefile.os2 (check): Likewise.
- * tests/GB18030.TXT: New file.
- * tests/BIG5HKSCS.TXT, tests/BIG5HKSCS.IRREVERSIBLE.TXT: New files.
-
-2000-10-23 Bruno Haible <haible@clisp.cons.org>
-
- * tests/table-from.c (try, main): Use UCS-4-INTERNAL instead of
- UCS-2-INTERNAL, to avoid problems with UCS-2 surrogate handling.
- * tests/table-to.c (main): Likewise.
-
-2000-10-22 Bruno Haible <haible@clisp.cons.org>
-
- * src/gentranslit.c (main): Read the input in UTF-8 encoding.
-
-2000-10-09 Bruno Haible <haible@clisp.cons.org>
-
- CPU recognition on OpenBSD.
- * autoconf/aclocal.m4 (CL_WORDS_LITTLEENDIAN): Recognize __m68k__,
- __mc68020__, __MIPSEB__, __MIPSEL__, __m88k__ as CPU indicators.
-
-2000-10-03 Bruno Haible <haible@clisp.cons.org>
-
- * src/gentranslit.c (main): Don't output non-ASCII ISO-8859-1
- character literals, use the numeric value instead.
- Reported by Shin-Hsien Yeh <shyeh@alcatel.com.tw>.
-
-2000-09-29 Bruno Haible <haible@clisp.cons.org>
-
- * autoconf/aclocal.m4 (CL_CANONICAL_HOST): Fix bug in 2000-05-23
- change.
-
-2000-09-25 Bruno Haible <haible@clisp.cons.org>
-
- * autoconf/aclocal.m4 (CL_WORDS_LITTLEENDIAN): Recognize __i386__
- as equivalent to __i386. For OpenBSD.
-
-2000-09-21 Bruno Haible <haible@clisp.cons.org>
-
- * src/utf16.h (utf16_wctomb): Reject single surrogates.
- * src/utf16be.h (utf16be_wctomb): Likewise.
- * src/utf16le.h (utf16le_wctomb): Likewise.
- * src/ucs2.h (ucs2_mbtowc, ucs2_wctomb): Likewise.
- * src/ucs2be.h (ucs2be_mbtowc, ucs2be_wctomb): Likewise.
- * src/ucs2le.h (ucs2le_mbtowc, ucs2le_wctomb): Likewise.
- * src/ucs2internal.h (ucs2internal_mbtowc, ucs2internal_wctomb):
- Likewise.
- * src/ucs2swapped.h (ucs2swapped_mbtowc, ucs2swapped_wctomb):
- Likewise.
-
-2000-09-15 Bruno Haible <haible@clisp.cons.org>
-
- * Makefile.in (install, installdirs, uninstall): Support DESTDIR.
- * src/Makefile.in (install, installdirs, uninstall): Likewise.
- * man/Makefile.in (install, installdirs, uninstall): Likewise.
-
-2000-09-11 Bruno Haible <haible@clisp.cons.org>
-
- * src/utf7.h (utf7_mbtowc): Fix combining of UTF-16 surrogates.
-
-2000-08-26 Bruno Haible <haible@clisp.cons.org>
-
- * autoconf/acgeneral.m4 (AC_OUTPUT): Use braces in exec_prefix default
- value, not parens.
-
-2000-07-04 Akira Hatakeyama <akira@sra.co.jp>
- Bruno Haible <haible@clisp.cons.org>
-
- * os2/iconv.def, README.os2, Makefile.os2, src/Makefile.os2,
- tests/Makefile.os2, man/Makefile.os2, tests/check-stateful.cmd,
- tests/check-stateless.cmd, tests/check-translit.cmd: New files.
-
-2000-06-28 Bruno Haible <haible@clisp.cons.org>
-
- * src/ucs2internal.h (ucs2internal_mbtowc): Avoid gcc warning about
- cast.
- * src/ucs4internal.h (ucs4internal_mbtowc): Likewise.
- * src/ucs2swapped.h (ucs2swapped_mbtowc, ucs2swapped_wctomb): Verify
- sizeof(unsigned short).
- * src/ucs4swapped.h (ucs4swapped_mbtowc, ucs4swapped_mbtowc): Verify
- sizeof(unsigned int).
- Reported by François Pinard <pinard@iro.umontreal.ca>.
-
-2000-05-29 Bruno Haible <haible@clisp.cons.org>
-
- * autoconf/aclocal.m4 (CL_PROG_INSTALL): Fix typo.
- Reported by Thomas Klausner <wiz@danbala.ifoer.tuwien.ac.at>.
-
-2000-05-23 Bruno Haible <haible@clisp.cons.org>
-
- * autoconf/aclocal.m4 (CL_CANONICAL_HOST): Determine host_cpu,
- host_vendor, host_os correctly if $host has more than two hyphens.
-
-2000-04-15 Bruno Haible <haible@clisp.cons.org>
-
- * Version 1.3 released.
- * include/iconv.h.in (_LIBICONV_VERSION), README, windows/iconv.rc:
- Bump version number.
- * src/Makefile.in (LIBICONV_VERSION_INFO): Define to 2:0:0.
-
-2000-04-15 Bruno Haible <haible@clisp.cons.org>
-
- * THANKS: New file.
- * INSTALL.generic: New file.
-
- Implement and document UCS-2BE, UCS-2LE, UCS-4BE, UCS-4LE.
- * src/ucs2be.h, src/ucs2le.h, src/ucs4be.h, src/ucs4le.h: New files.
- * src/converters.h: Include them.
- * src/ucs2swapped.h: Remove #defines for UCS-2-BE, UCS-2-LE.
- * src/ucs4swapped.h: Remove #defines for UCS-4-BE, UCS-4-LE.
- * src/encodings.def (UCS-2BE): Renamed from UCS-2-BE.
- (UCS-2LE): Renamed from UCS-2-LE.
- (UCS-4BE): Renamed from UCS-4-BE.
- (UCS-4LE): Renamed from UCS-4-LE.
- * Makefile.devel (src/aliases.h): Pass option "-i 1" to gperf.
- * README, man/iconv_open.3: Add UCS-2BE, UCS-2LE, UCS-4BE, UCS-4LE.
- * tests/Makefile.in (check): Check UCS-2BE, UCS-2LE, UCS-4BE, UCS-4LE.
- * tests/Makefile.msvc (check): Likewise.
- * tests/UCS-*snippet*: New files.
-
- Allow building as a shared library on Windows.
- Allow running the tests on Windows.
- * Makefile.devel (include/iconv.h.msvc): Remove rule.
- (include/iconv.h.msvc-static, include/iconv.h.msvc-shared): New
- rules.
- (all): Update.
- * windows/dllexport.h: New file.
- * include/iconv.h.msvc: Remove file.
- * include/iconv.h.msvc-static, include/iconv.h.msvc-shared: New
- autogenerated files.
- * Makefile.msvc (STATIC, DEBUG): Default to 0.
- (all): Choose either include\iconv.h.msvc-static or
- include\iconv.h.msvc-shared.
- (check): Depend on all.
- (all, check, mostlyclean, clean, distclean, maintainer-clean):
- Recurse into tests directory.
- * src/Makefile.msvc (STATIC, DEBUG): Default to 0.
- (WARN_CFLAGS, PICFLAGS, OPTIMFLAGS): New variables.
- (CFLAGS): Use them. Add -MD and -DBUILDING_LIBICONV.
- (RESOURCES): New variable.
- (iconv.lib): Change rule when building DLL.
- (clean, distclean): One filename per line.
- * tests/Makefile.msvc: New file.
- * tests/check-stateful.bat, tests/check-stateless.bat,
- tests/check-translit.bat: New files.
- * tests/uniq-u.c: New file, taken from GNU textutils.
- * README.win32: Update.
- Based on patches by Taro Muraoka <koron@tka.att.ne.jp>.
-
-2000-04-14 Bruno Haible <haible@clisp.cons.org>
-
- Fix an OSF/1 problem.
- * configure.in: Define GCC variable for substitution.
- * src/Makefile.in (libiconv_plug_osf.so): Change rule if not using
- gcc.
-
-2000-04-13 Bruno Haible <haible@clisp.cons.org>
-
- Fix a SunOS 4 problem.
- * include/iconv.h.in: If EILSEQ is not defined by the system, define
- it to ENOENT, not EINVAL.
-
-2000-04-02 Bruno Haible <haible@clisp.cons.org>
-
- Allow building on filesystems lacking symlinks and hard links.
- * Makefile.devel (autoconf/aclocal.m4): Replace AC_PROG_LN_S with
- CL_PROG_LN_S.
- * configure.in: Add CL_PROG_LN, CL_PROG_LN_S.
- * src/Makefile.in (LN): Use autoconfigured value @LN@.
- (LN_S): Use autoconfigured value @LN_S@.
-
-2000-03-15 Bruno Haible <haible@clisp.cons.org>
-
- * Version 1.2 released.
- * include/iconv.h.in (_LIBICONV_VERSION): Bump version number.
- * src/Makefile.in (LIBICONV_VERSION_INFO): Define to 1:1:1.
-
-2000-03-14 Bruno Haible <haible@clisp.cons.org>
-
- Implement and document UTF-16BE and UTF16LE.
- * src/utf16be.h, src/utf16le.h: New files.
- * src/converters.h: Include them.
- * src/encodings.def (UTF-16BE, UTF16LE): New encodings.
- * README, man/iconv_open.3: Add UTF-16BE, UTF16LE.
- * tests/Makefile.in (check): Check UTF-16, UTF-16BE, UTF16LE.
- * tests/UTF-16*snippet*: New files.
-
- * src/utf16.h (utf16_wctomb): Output a byte order mark.
-
-2000-03-13 Bruno Haible <haible@clisp.cons.org>
-
- Provide all encodings used by AIX locales.
- * tools/Makefile (all): Add cp856.h, cp922.h, cp1046.h, cp1124.h,
- cp1129.h.
- (cp856.h, cp922.h, cp1046.h, cp1124.h, cp1129.h): New targets.
- * src/cp856.h, src/cp922.h, src/cp943.h, src/cp1046.h, src/cp1124.h,
- src/cp1129.h: New files.
- * src/converters.h: Include them if USE_AIX is defined.
- * src/encodings_aix.def: New file, with CP856, CP922, CP943, CP1046,
- CP1124, CP1129.
- * src/genflags.c: Define USE_AIX. Include encodings_aix.def.
- * src/genaliases2.c: New file.
- * src/iconv.c: Define USE_AIX on AIX.
- Include encodings_aix.def and aliases_aix.h.
- (aliases2_lookup): New function.
- (iconv_open): Call aliases2_lookup.
- * src/Makefile.in (iconv.lo): Depend on encodings_aix.def and
- aliases_aix.h.
- * Makefile.devel (all): Add src/aliases_aix.h.
- (src/aliases_aix.h): New rule.
- (src/flags.h): Depend on src/encodings_aix.def.
-
-2000-02-24 Bruno Haible <haible@clisp.cons.org>
-
- * src/iconv.c (iconv): Don't write beyond the end of the output buffer.
- Reported by Edmund Grimley Evans <edmundo@rano.org>.
-
-2000-02-22 Bruno Haible <haible@clisp.cons.org>
-
- * src/utf7.h (direct_tab, xdirect_tab): Treat tab like space.
-
-2000-02-15 Bruno Haible <haible@clisp.cons.org>
-
- * src/iconv.c (iconv): Add cast in xxx_reset call.
-
-2000-02-05 Bruno Haible <haible@clisp.cons.org>
-
- * src/tis620.h: Simplify.
-
-2000-01-27 Bruno Haible <haible@clisp.cons.org>
-
- * Makefile.devel (CLISP_DIR): Change to "..".
-
-2000-01-24 Bruno Haible <haible@clisp.cons.org>
-
- * Version 1.1 released.
- * include/iconv.h.in (_LIBICONV_VERSION): Bump version number.
- * src/Makefile.in (LIBICONV_VERSION_INFO): Define to 1:0:1.
-
-2000-01-23 Bruno Haible <haible@clisp.cons.org>
-
- * src/utf7.h (utf7_wctomb): If base64 encoding is not active, encode
- '+' as "+-".
-
-2000-01-22 Bruno Haible <haible@clisp.cons.org>
-
- * include/iconv.h.in (iconvctl): New declaration.
- (ICONV_TRIVIALP, ICONV_GET_TRANSLITERATE, ICONV_SET_TRANSLITERATE):
- New macros.
- * src/iconv.c (iconvctl): New function.
-
- * tests/Makefile.in: Add a rule for ../src/libiconv.la. Define $(MAKE).
-
- Solve a build problem.
- * include/iconv.h.in: Renamed from include/libiconv.h.in.
- * Makefile.devel: libiconv.h -> iconv.h.
- * Makefile.in: Likewise.
- * configure.in: Likewise. Remove check for <iconv.h>.
- * src/iconv.c: Include iconv.h instead of libiconv.h.
- * tests/iconv.c, tests/table-from.c, tests/table-to.c: Likewise.
-
- * README, man/iconv_open.3: Don't document JOHAB any more.
-
- * man/iconv.3: Clarify return value again.
-
-2000-01-16 Bruno Haible <haible@clisp.cons.org>
-
- Add aliases.
- * src/encodings.def (ISO-8859-14): Add alias ISO-IR-199.
- (ISO-8859-15): Add alias ISO-IR-203.
- (EUC-CN): Add alias CN-GB, from RFC 1922.
- (BIG5): Add alias CN-BIG5, from RFC 1922.
- * Makefile.devel (src/aliases.h): Add 8th character to key set.
-
- Drop X11 aliases.
- * src/encodings.def (JIS_X0201): Drop JISX0201.1976-0 alias.
- (JIS_X0208): Drop JIS_X0208.1983-0, JIS_X0208.1983-1 aliases.
- (KSC_5601): Drop KSC5601.1987-0 alias.
-
- Improve GB/T 12345 (not used yet).
- * tools/Makefile (gb12345ext.h): Use GB12345-more.TXT.
- * src/gb12345ext.h: Regenerated.
-
- Improve and document CP949.
- * tools/Makefile (all): Add uhc_1.h and uhc_2.h.
- (uhc_1.h, uhc_2.h): New rules.
- * tools/cjk_tab_to_h.c (output_charset2uni_noholes_monotonic): New
- function.
- (output_uni2charset_sparse): Take an additional boolean argument.
- All callers changed.
- (*_uhc_1, *_uhc_2): New functions.
- (main): Treat uhc_1 and uhc_2.
- * src/uhc_1.h, src/uhc_2.h: New files.
- * src/cp949.h: New file, include them.
- * src/converters.h: Include it.
- * src/encodings.def (KSC_5601): Remove alias CP949.
- (CP949): New encoding.
- * README, man/iconv_open.3: Add CP949.
- * tests/Makefile.in (check): Check CP949.
- * tests/CP949.TXT: New file.
-
- Document CP932.
- * README, man/iconv_open.3: Add CP932.
- * tests/Makefile.in (check): Check CP932.
- * tests/CP932.TXT, tests/CP932.IRREVERSIBLE.TXT: New files.
-
- * Makefile.devel (src/flags.h): Depend on src/converters.h.
-
- * tests/Makefile.in (check): Check JIS_X0201.
- * tests/JIS_X0201.TXT: New file.
-
- * src/euc_kr.h (euc_kr_wctomb): Shrink size of buf.
- * src/iso2022_kr.h (iso2022_kr_wctomb): Likewise.
-
- * src/iso2022_cnext.h (iso2022_cn_ext_mbtowc): Use isoir165_mbtowc.
- (iso2022_cn_ext_wctomb): Use isoir165_wctomb.
-
- Add ISO-IR-165 (undocumented).
- * tools/Makefile (all): Add isoir165ext.h.
- (isoir165ext.h): New rule.
- * tools/cjk_tab_to_h.c (main): Treat isoir165ext like gb2312.
- * src/isoir165.h, src/isoir165ext.h: New files.
- * src/converters.h: Include it.
- * src/encodings.def: Add ISO-IR-165.
- * tests/Makefile.in (check): Check ISO-IR-165.
- * tests/ISO-IR-165.TXT, tests/ISO-IR-165.IRREVERSIBLE.TXT: New files.
-
- Add ISO646-CN (undocumented).
- * src/iso646_cn.h: New file.
- * src/converters.h: Include it.
- * src/encodings.def: Add ISO646-CN.
- * tests/Makefile.in (check): Check ISO646-CN.
- * tests/ISO646-CN.TXT: New file.
-
- Add ISO646-JP (undocumented).
- * src/iso646_jp.h: New file.
- * src/converters.h: Include it.
- * src/encodings.def: Add ISO646-JP.
- * tests/Makefile.in (check): Check ISO646-JP.
- * tests/ISO646-JP.TXT: New file.
-
-2000-01-05 Bruno Haible <haible@clisp.cons.org>
-
- Add ISO-8859-16.
- * tools/Makefile (all): Add iso8859_16.h.
- (iso8859_16.h): New rule.
- * src/iso8859_16.h: New file.
- * src/converters.h: Include it.
- * src/encodings.def: Add ISO-8859-16.
- * README, man/iconv_open.3: Add ISO-8859-16.
- * tests/Makefile.in (check): Check ISO-8859-16.
- * tests/ISO-8859-16.TXT: New file.
-
- * man/iconv.3: Clarify what happens *inbuf in case 3.
-
- * src/iso8859_8.h: Update using newest table from ftp.unicode.org.
- * tests/ISO-8859-8.TXT: Likewise.
-
-2000-01-04 Bruno Haible <haible@clisp.cons.org>
-
- * Version 1.0 released.
- * include/libiconv.h.in (_LIBICONV_VERSION): Bump version number.
- * src/Makefile.in (LIBICONV_VERSION_INFO): Define to 0:1:0.
- (libiconv.la): Use LIBICONV_VERSION_INFO.
-
-2000-01-03 Bruno Haible <haible@clisp.cons.org>
-
- * tests/Makefile.in: New file.
- tests/check-stateless, tests/table-from.c, tests/table-to.c,
- tests/*.TXT, tests/genutf8.c: New files, checks for stateless
- encodings.
- tests/check-stateful, tests/iconv.c, tests/*-snippet*: New files,
- checks for stateful encodings.
- * Makefile.in (all, check, mostlyclean, clean, distclean,
- maintainer-clean): Descend into tests directory.
- * configure.in: Add tests/Makefile to AC_OUTPUT duties.
-
- * src/gentranslit.c: New file.
- * Makefile.devel (src/translit.h): New rule.
- * src/translit.def, src/translit.h: New files.
- * src/iconv.c: Include it.
- (iconv): Transliterate using translit.h table.
-
- * src/genflags.c: New file.
- * Makefile.devel (src/flags.h): New rule.
- * src/flags.h: New file.
- * src/iconv.c: Include it.
- (encoding): Add field 'oflags'.
- (all_encodings): Initialize the field 'oflags'.
- (iconv_open): Copy field 'oflags'.
- (iconv): Transliterate quotation marks U+2018, U+2019, U+201A.
- * src/Makefile.in (iconv.lo): Update dependencies.
-
- * src/converters.h: New file, extracted from src/iconv.c.
- * src/iconv.c: Include it.
- * src/Makefile.in (iconv.lo): Update dependencies.
-
- * tools/cjk_variants.c: New file.
- * tools/Makefile (ALL): Add cjk_variants.h.
- (cjk_variants.h, cjk_variants): New rules.
- * src/cjk_variants.h: New file.
- * src/iconv.c: Include it.
- (iconv): Use cjk_variants for transliteration.
-
- * man/iconv.3: Fix description of return value.
- * euc_kr.h (euc_kr_wctomb): Remove Hangul transliteration.
- * iso2022_kr.h (iso2022kr_wctomb): Likewise.
- * src/iconv.c (iconv): Do Hangul transliteration here and increment
- result once for every transliterated character.
- * src/johab_hangul.h (johab_hangul_decompose): Change result array
- from 'unsigned char*' to 'wchar_t*'.
-
- * src/cp1258.h (cp1258_mbtowc): Return RET_ILSEQ instead of storing
- 0xfffd.
-
- * src/georgian_ps.h (georgian_ps_wctomb): Accept 0x00e6.
-
- * src/euc_jp.h (euc_jp_wctomb): Don't treat U+005C and U+007E like
- Katakana.
-
- * src/euc_tw.h (euc_tw_mbtowc): Fix typo.
-
- * src/cp950.h (cp950_mbtowc, cp950_wctomb): Exclude the range
- 0xC6A1..0xC7FE.
-
- * tools/cjk_tab_to_h.c (read_table_ksc5601): Some Hangul range was
- not being excluded. Fix that.
- * src/ksc5601.h: Regenerated.
- * src/johab.h (johab_mbtowc): Don't accept 0xDA{A1..D3} - this is
- valid in KSC5601/KSX1001 but not in JOHAB.
-
- * src/iconv.c (conv_struct): Add fields iindex, oindex.
- (iconv_open): Fill in iindex, oindex.
-
- * src/encodings.def (UCS-2-BE): Add aliases "UNICODE-1-1" and
- "csUnicode11", from IANA charset list.
- (MacRoman): Add aliases "MAC" and "csMacintosh" for "MACINTOSH",
- from IANA charset list.
- (JIS_X0208): Add aliases "X0208", "ISO-IR-87", "csISO87JISX0208",
- from IANA charset list.
- (GB_2312-80): New encoding, from IANA charset list.
-
- * README, man/iconv_open.3: Add MacIceland and MacUkraine.
-
- * Makefile.devel: Add rules for src/aliases.h and src/aliases.gperf.
- (all): Depend on src/aliases.h.
- * src/Makefile.in: Remove rules for $(srcdir)/aliases.h and
- $(srcdir)/aliases.gperf.
- (clean): Clean up.
-
- * src/Makefile.in (libiconv_plug_linux.so): Remove unneeded "-ldl".
-
-1999-12-31 Bruno Haible <haible@clisp.cons.org>
-
- * Version 0.3 released.
-
diff --git a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/DESIGN b/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/DESIGN
deleted file mode 100644
index 9ff2ad3a..00000000
--- a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/DESIGN
+++ /dev/null
@@ -1,64 +0,0 @@
-While some other iconv(3) implementations - like FreeBSD iconv(3) - choose
-the "many small shared libraries" and dlopen(3) approach, this implementation
-packs everything into a single shared library. Here is a comparison of the
-two designs.
-
-* Run-time efficiency
- 1. A dlopen() based approach needs a cache of loaded shared libraries.
- Otherwise, every iconv_open() call will result in a call to dlopen()
- and thus to file system related system calls - which is prohibitive
- because some applications use the iconv_open/iconv/iconv_close sequence
- for every single filename, string, or piece of text.
- 2. In terms of virtual memory use, both approaches are on par. Being shared
- libraries, the tables are shared between any processes that use them.
- And because of the demand loading used by Unix systems (and because libiconv
- does not have initialization functions), only those parts of the tables
- which are needed (typically very few kilobytes) will be read from disk and
- paged into main memory.
- 3. Even with a cache of loaded shared libraries, the dlopen() based approach
- makes more system calls, because it has to load one or two shared libraries
- for every encoding in use.
-
-* Total size
- In the dlopen(3) approach, every shared library has a symbol table and
- relocation offset. All together, FreeBSD iconv installs more than 200 shared
- libraries with a total size of 2.3 MB. Whereas libiconv installs 0.45 MB.
-
-* Extensibility
- The dlopen(3) approach is good for guaranteeing extensibility if the iconv
- implementation is distributed without source. (Or when, as in glibc, you
- cannot rebuild iconv without rebuilding your libc, thus possibly
- destabilizing your system.)
- The libiconv package achieves extensibility through the LGPL license:
- Every user has access to the source of the package and can extend and
- replace just libiconv.so.
- The places which have to be modified when a new encoding is added are as
- follows: add an #include statement in iconv.c, add an entry in the table in
- iconv.c, and of course, update the README and iconv_open.3 manual page.
-
-* Use within other packages
- If you want to incorporate an iconv implementation into another package
- (such as a mail user agent or web browser), the single library approach
- is easier, because:
- 1. In the shared library approach you have to provide the right directory
- prefix which will be used at run time.
- 2. Incorporating iconv as a static library into the executable is easy -
- it won't need dynamic loading. (This assumes that your package is under
- the LGPL or GPL license.)
-
-
-All conversions go through Unicode. This is possible because most of the
-world's characters have already been allocated in the Unicode standard.
-Therefore we have for each encoding two functions:
-- For conversion from the encoding to Unicode, a function called xxx_mbtowc.
-- For conversion from Unicode to the encoding, a function called xxx_wctomb,
- and for stateful encodings, a function called xxx_reset which returns to
- the initial shift state.
-
-
-All our functions operate on a single Unicode character at a time. This is
-obviously less efficient than operating on an entire buffer of characters at
-a time, but it makes the coding considerably easier and less bug-prone. Those
-who wish best performance should install the Real Thing (TM): GNU libc 2.1
-or newer.
-
diff --git a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/NEWS b/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/NEWS
deleted file mode 100644
index 1248c5a8..00000000
--- a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/NEWS
+++ /dev/null
@@ -1,119 +0,0 @@
-New in 1.9:
-* Many more transliterations.
-* New configuration option --enable-relocatable. See the INSTALL.generic file
- for details.
-
-New in 1.8:
-* The iconv program has new options -l, -c, -s.
-* The iconv program is internationalized.
-* Added C99 converter.
-* Added KOI8-T converter.
-* New configuration option --enable-extra-encodings that enables a bunch of
- additional encodings; see the README for details.
-* Updated the ISO-8859-16 converter.
-* Upgraded BIG5-HKSCS, EUC-TW, ISO-2022-CN, ISO-2022-CN-EXT converters to
- Unicode 3.2.
-* Upgraded EUC-KR, CP949, JOHAB converters to include the Euro sign.
-* Changed the ARMSCII-8 converter.
-* Extended the EUC-JP encoder so that YEN SIGN characters don't cause failures
- in Shift_JIS to EUC-JP conversion.
-* The JAVA converter now handles characters outside the Unicode BMP correctly.
-* Fixed a bug in the CP1255, CP1258, TCVN decoders: The base characters of
- combining characters could be dropped at the end of the conversion buffer.
-* Fixed a bug in the transliteration that could lead to excessive memory
- allocations in libintl when transliteration was needed.
-* Portability to BSD/OS and SCO 3.2.5.
-
-New in 1.7:
-* Added UTF-32, UTF-32BE, UTF-32LE converters.
-* Changed CP1255, CP1258 and TCVN converters to handle combining characters.
-* Changed EUC-JP, SHIFT_JIS, CP932, ISO-2022-JP, ISO-2022-JP-2, ISO-2022-JP-1
- converters to use fullwidth Yen sign instead of halfwidth Yen sign, and
- fullwidth tilde instead of halfwidth tilde.
-* Upgraded EUC-TW, ISO-2022-CN, ISO-2022-CN-EXT converters to Unicode 3.1.
-* Changed the GB18030 converter to not reject unassigned and private-use
- Unicode characters.
-* Fixed a bug in the byte order mark treatment of the UCS-4 decoder.
-* The manual pages are now distributed also in HTML format.
-
-New in 1.6:
-* The iconv program's -f and -t options are now optional.
-* Many more transliterations.
-* Added CP862 converter.
-* Changed the GB18030 converter.
-* Portability to DOS with DJGPP.
-
-New in 1.5:
-* Added an iconv(1) program.
-* New locale dependent encodings "char", "wchar_t".
-* Transliteration is now off by default. Use a //TRANSLIT suffix to enable it.
-* The JOHAB encoding is documented again.
-* Changed a few mappings in the CP950 converter.
-
-New in 1.4:
-* Added GB18030, BIG5HKSCS converters.
-* Portability to OS/2 with emx+gcc.
-
-New in 1.3:
-* Added UCS-2BE, UCS-2LE, UCS-4BE, UCS-4LE converters.
-* Fixed the definition of EILSEQ on SunOS4.
-* Fixed a build problem on OSF/1.
-* Support for building as a shared library on Woe32.
-
-New in 1.2:
-* Added UTF-16BE and UTF-16LE converters.
-* Changed the UTF-16 encoder.
-* Fixed the treatment of tab characters in the UTF-7 converter.
-* Fixed an internal error when output buffer was not large enough.
-
-New in 1.1:
-* Added ISO-8859-16 converter.
-* Added CP932 converter, a variant of SHIFT_JIS.
-* Added CP949 converter, a variant of EUC-KR.
-* Improved the ISO-2022-CN-EXT converter: It now covers the ISO-IR-165 range.
-* Updated the ISO-8859-8 conversion table.
-* The JOHAB encoding is deprecated and not documented any more.
-* Fixed two build problems: 1. "make -n check" failed. 2. When libiconv was
- already installed, "make" failed.
-
-New in 1.0:
-* Added transliteration facilities.
-* Added a test suite.
-* Fixed the iconv(3) manual page and function: the return value was not
- described correctly.
-* Fixed a bug in the CP1258 decoder: invalid bytes now yield EILSEQ instead of
- U+FFFD.
-* Fixed a bug in the Georgian-PS encoder: accept U+00E6.
-* Fixed a bug in the EUC-JP encoder: reject 0x8E5C and 0x8E7E.
-* Fixed a bug in the KSC5601 and JOHAB converters: they recognized some Hangul
- characters at some invalid code positions.
-* Fixed a bug in the EUC-TW decoder; it was severely broken.
-* Fixed a bug in the CP950 converter: it recognized a dubious BIG5 range.
-
-New in 0.3:
-* Reduced the size of the tables needed for the JOHAB converter.
-* Portability to Woe32.
-
-New in 0.2:
-* Added KOI8-RU, CP850, CP866, CP874, CP950, ISO-2022-CN-EXT, GBK and
- ISO-2022-JP-1 converters.
-* Added MACINTOSH as an alias for MAC-ROMAN.
-* Added ASMO-708 as an alias for ISO-8859-6.
-* Added ELOT_928 as an alias for ISO-8859-7.
-* Improved the EUC-TW converter: Treat CNS 11643 plane 3.
-* Improved the ISO-2022-KR and EUC-KR converters: Hangul characters are
- decomposed into Jamo when needed.
-* Improved the CP932 converter.
-* Updated the CP1133, MULELAO-1 and ARMSCII-8 mappings.
-* The EUC-JP and SHIFT_JIS converters now cover the user-defined range.
-* Fixed a possible buffer overrun in the JOHAB converter.
-* Fixed a bug in the UTF-7, ISO-2022-*, HZ decoders: a shift sequence a the
- end of the input no longer gives an error.
-* The HZ encoder now always terminates its output in the ASCII state.
-* Use a perfect hash table for looking up the aliases.
-
-New in 0.1:
-* Portability to Linux/glibc-2.0.x, Linux/libc5, OSF/1, FreeBSD.
-* Fixed a bug in the EUC-JP decoder. Extended the ISO-2022-JP-2 converter.
-* Made TIS-620 mapping consistent with glibc-2.1.
-
diff --git a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/NOTES b/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/NOTES
deleted file mode 100644
index 8f630e23..00000000
--- a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/NOTES
+++ /dev/null
@@ -1,392 +0,0 @@
-Q: Why does libiconv support encoding XXX? Why does libiconv not support
- encoding ZZZ?
-
-A: libiconv, as an internationalization library, supports those character
- sets and encodings which are in wide-spread use in at least one territory
- of the world.
-
- Hint1: On http://www.w3c.org/International/O-charset-lang.html you find a
- page "Languages, countries, and the charsets typically used for them".
- From this table, we can conclude that the following are in active use:
-
- ISO-8859-1, CP1252 Afrikaans, Albanian, Basque, Catalan, Danish, Dutch,
- English, Faroese, Finnish, French, Galician, German,
- Icelandic, Irish, Italian, Norwegian, Portuguese,
- Scottish, Spanish, Swedish
- ISO-8859-2 Croatian, Czech, Hungarian, Polish, Romanian, Slovak,
- Slovenian
- ISO-8859-3 Esperanto, Maltese
- ISO-8859-5 Bulgarian, Byelorussian, Macedonian, Russian,
- Serbian, Ukrainian
- ISO-8859-6 Arabic
- ISO-8859-7 Greek
- ISO-8859-8 Hebrew
- ISO-8859-9, CP1254 Turkish
- ISO-8859-10 Inuit, Lapp
- ISO-8859-13 Latvian, Lithuanian
- ISO-8859-15 Estonian
- KOI8-R Russian
- SHIFT_JIS Japanese
- ISO-2022-JP Japanese
- EUC-JP Japanese
-
- Ordered by frequency on the web (1997):
- ISO-8859-1, CP1252 96%
- SHIFT_JIS 1.6%
- ISO-2022-JP 1.2%
- EUC-JP 0.4%
- CP1250 0.3%
- CP1251 0.2%
- CP850 0.1%
- MACINTOSH 0.1%
- ISO-8859-5 0.1%
- ISO-8859-2 0.0%
-
- Hint2: The character sets mentioned in the XFree86 4.0 locale.alias file.
-
- ISO-8859-1 Afrikaans, Basque, Breton, Catalan, Danish, Dutch,
- English, Estonian, Faroese, Finnish, French,
- Galician, German, Greenlandic, Icelandic,
- Indonesian, Irish, Italian, Lithuanian, Norwegian,
- Occitan, Portuguese, Scottish, Spanish, Swedish,
- Walloon, Welsh
- ISO-8859-2 Albanian, Croatian, Czech, Hungarian, Polish,
- Romanian, Serbian, Slovak, Slovenian
- ISO-8859-3 Esperanto
- ISO-8859-4 Estonian, Latvian, Lithuanian
- ISO-8859-5 Bulgarian, Byelorussian, Macedonian, Russian,
- Serbian, Ukrainian
- ISO-8859-6 Arabic
- ISO-8859-7 Greek
- ISO-8859-8 Hebrew
- ISO-8859-9 Turkish
- ISO-8859-14 Breton, Irish, Scottish, Welsh
- ISO-8859-15 Basque, Breton, Catalan, Danish, Dutch, Estonian,
- Faroese, Finnish, French, Galician, German,
- Greenlandic, Icelandic, Irish, Italian, Lithuanian,
- Norwegian, Occitan, Portuguese, Scottish, Spanish,
- Swedish, Walloon, Welsh
- KOI8-R Russian
- KOI8-U Russian, Ukrainian
- EUC-JP (alias eucJP) Japanese
- ISO-2022-JP (alias JIS7) Japanese
- SHIFT_JIS (alias SJIS) Japanese
- U90 Japanese
- S90 Japanese
- EUC-CN (alias eucCN) Chinese
- EUC-TW (alias eucTW) Chinese
- BIG5 Chinese
- EUC-KR (alias eucKR) Korean
- ARMSCII-8 Armenian
- GEORGIAN-ACADEMY Georgian
- GEORGIAN-PS Georgian
- TIS-620 (alias TACTIS) Thai
- MULELAO-1 Laothian
- IBM-CP1133 Laothian
- VISCII Vietnamese
- TCVN Vietnamese
- NUNACOM-8 Inuktitut
-
- Hint3: The character sets supported by Netscape Communicator 4.
-
- Where is this documented? For the complete picture, I had to use
- "strings netscape" and then a lot of guesswork. For a quick take,
- look at the "View - Character set" menu of Netscape Communicator 4.6:
-
- ISO-8859-{1,2,5,7,9,15}
- WINDOWS-{1250,1251,1253}
- KOI8-R Cyrillic
- CP866 Cyrillic
- Autodetect Japanese (EUC-JP, ISO-2022-JP, ISO-2022-JP-2, SJIS)
- EUC-JP Japanese
- SHIFT_JIS Japanese
- GB2312 Chinese
- BIG5 Chinese
- EUC-TW Chinese
- Autodetect Korean (EUC-KR, ISO-2022-KR, but not JOHAB)
-
- UTF-8
- UTF-7
-
- Hint4: The character sets supported by Microsoft Internet Explorer 4.
-
- ISO-8859-{1,2,3,4,5,6,7,8,9}
- WINDOWS-{1250,1251,1252,1253,1254,1255,1256,1257}
- KOI8-R Cyrillic
- KOI8-RU Ukrainian
- ASMO-708 Arabic
- EUC-JP Japanese
- ISO-2022-JP Japanese
- SHIFT_JIS Japanese
- GB2312 Chinese
- HZ-GB-2312 Chinese
- BIG5 Chinese
- EUC-KR Korean
- ISO-2022-KR Korean
- WINDOWS-874 Thai
- WINDOWS-1258 Vietnamese
-
- UTF-8
- UTF-7
- UNICODE actually UNICODE-LITTLE
- UNICODEFEFF actually UNICODE-BIG
-
- and various DOS character sets: DOS-720, DOS-862, IBM852, CP866.
-
- We take the union of all these four sets. The result is:
-
- European and Semitic languages
- * ASCII.
- We implement this because it is occasionally useful to know or to
- check whether some text is entirely ASCII (i.e. if the conversion
- ISO-8859-x -> UTF-8 is trivial).
- * ISO-8859-{1,2,3,4,5,6,7,8,9,10}
- We implement this because they are widely used. Except ISO-8859-4
- which appears to have been superseded by ISO-8859-13 in the baltic
- countries. But it's an ISO standard anyway.
- * ISO-8859-13
- We implement this because it's a standard in Lithuania and Latvia.
- * ISO-8859-14
- We implement this because it's an ISO standard.
- * ISO-8859-15
- We implement this because it's increasingly used in Europe, because
- of the Euro symbol.
- * ISO-8859-16
- We implement this because it's an ISO standard.
- * KOI8-R, KOI8-U
- We implement this because it appears to be the predominant encoding
- on Unix in Russia and Ukraine, respectively.
- * KOI8-RU
- We implement this because MSIE4 supports it.
- * KOI8-T
- We implement this because it is the locale encoding in glibc's Tajik
- locale.
- * CP{1250,1251,1252,1253,1254,1255,1256,1257}
- We implement these because they are the predominant Windows encodings
- in Europe.
- * CP850
- We implement this because it is mentioned as occurring in the web
- in the aforementioned statistics.
- * CP862
- We implement this because Ron Aaron says it is sometimes used in web
- pages and emails.
- * CP866
- We implement this because Netscape Communicator does.
- * Mac{Roman,CentralEurope,Croatian,Romania,Cyrillic,Greek,Turkish} and
- Mac{Hebrew,Arabic}
- We implement these because the Sun JDK does, and because Mac users
- don't deserve to be punished.
- * Macintosh
- We implement this because it is mentioned as occurring in the web
- in the aforementioned statistics.
- Japanese
- * EUC-JP, SHIFT_JIS, ISO-2022-JP
- We implement these because they are widely used. EUC-JP and SHIFT_JIS
- are more used for files, whereas ISO-2022-JP is recommended for email.
- * CP932
- We implement this because it is the Microsoft variant of SHIFT_JIS,
- used on Windows.
- * ISO-2022-JP-2
- We implement this because it's the common way to represent mails which
- make use of JIS X 0212 characters.
- * ISO-2022-JP-1
- We implement this because it's in the RFCs, but I don't think it is
- really used.
- * U90, S90
- We DON'T implement this because I have no informations about what it
- is or who uses it.
- Simplified Chinese
- * EUC-CN = GB2312
- We implement this because it is the widely used representation
- of simplified Chinese.
- * GBK
- We implement this because it appears to be used on Solaris and Windows.
- * GB18030
- We implement this because it is an official requirement in the
- People's Republic of China.
- * ISO-2022-CN
- We implement this because it is in the RFCs, but I have no idea
- whether it is really used.
- * ISO-2022-CN-EXT
- We implement this because it's in the RFCs, but I don't think it is
- really used.
- * HZ = HZ-GB-2312
- We implement this because the RFCs recommend it for Usenet postings,
- and because MSIE4 supports it.
- Traditional Chinese
- * EUC-TW
- We implement it because it appears to be used on Unix.
- * BIG5
- We implement it because it is the de-facto standard for traditional
- Chinese.
- * CP950
- We implement this because it is the Microsoft variant of BIG5, used
- on Windows.
- * BIG5+
- We DON'T implement this because it doesn't appear to be in wide use.
- Only the CWEX fonts use this encoding. Furthermore, the conversion
- tables in the big5p package are not coherent: If you convert directly,
- you get different results than when you convert via GBK.
- * BIG5-HKSCS
- We implement it because it is the de-facto standard for traditional
- Chinese in Hongkong.
- Korean
- * EUC-KR
- We implement these because they appear to be the widely used
- representations for Korean.
- * CP949
- We implement this because it is the Microsoft variant of EUC-KR, used
- on Windows.
- * ISO-2022-KR
- We implement it because it is in the RFCs and because MSIE4 supports
- it, but I have no idea whether it's really used.
- * JOHAB
- We implement this because it is apparently used on Windows as a locale
- encoding (codepage 1361).
- * ISO-646-KR
- We DON'T implement this because although an old ASCII variant, its
- glyph for 0x7E is not clear: RFC 1345 and unicode.org's JOHAB.TXT
- say it's a tilde, but Ken Lunde's "CJKV information processing" says
- it's an overline. And it is not ISO-IR registered.
- Armenian
- * ARMSCII-8
- We implement it because XFree86 supports it.
- Georgian
- * Georgian-Academy, Georgian-PS
- We implement these because they appear to be both used for Georgian;
- Xfree86 supports them.
- Thai
- * TIS-620
- We implement this because it seems to be standard for Thai.
- * CP874
- We implement this because MSIE4 supports it.
- * MacThai
- We implement this because the Sun JDK does, and because Mac users
- don't deserve to be punished.
- Laotian
- * MuleLao-1, CP1133
- We implement these because XFree86 supports them. I have no idea which
- one is used more widely.
- Vietnamese
- * VISCII, TCVN
- We implement these because XFree86 supports them.
- * CP1258
- We implement this because MSIE4 supports it.
- Other languages
- * NUNACOM-8 (Inuktitut)
- We DON'T implement this because it isn't part of Unicode yet, and
- therefore doesn't convert to anything except itself.
- Platform specifics
- * HP-ROMAN8, NEXTSTEP
- We implement these because they were the native character set on HPs
- and NeXTs for a long time, and libiconv is intended to be usable on
- these old machines.
- Full Unicode
- * UTF-8, UCS-2, UCS-4
- We implement these. Obviously.
- * UCS-2BE, UCS-2LE, UCS-4BE, UCS-4LE
- We implement these because they are the preferred internal
- representation of strings in Unicode aware applications. These are
- non-ambiguous names, known to glibc. (glibc doesn't have
- UCS-2-INTERNAL and UCS-4-INTERNAL.)
- * UTF-16, UTF-16BE, UTF-16LE
- We implement these, because UTF-16 is still the favourite encoding of
- the president of the Unicode Consortium (for political reasons), and
- because they appear in RFC 2781.
- * UTF-32, UTF-32BE, UTF-32LE
- We implement these because they are part of Unicode 3.1.
- * UTF-7
- We implement this because it is essential functionality for mail
- applications.
- * C99
- We implement it because it's used for C and C++ programs and because
- it's a nice encoding for debugging.
- * JAVA
- We implement it because it's used for Java programs and because it's
- a nice encoding for debugging.
- * UNICODE (big endian), UNICODEFEFF (little endian)
- We DON'T implement these because they are stupid and not standardized.
- Full Unicode, in terms of `uint16_t' or `uint32_t'
- (with machine dependent endianness and alignment)
- * UCS-2-INTERNAL, UCS-4-INTERNAL
- We implement these because they are the preferred internal
- representation of strings in Unicode aware applications.
-
-Q: Support encodings mentioned in RFC 1345 ?
-A: No, they are not in use any more. Supporting ISO-646 variants is pointless
- since ISO-8859-* have been adopted.
-
-Q: Support EBCDIC ?
-A: No!
-
-Q: How do I add a new character set?
-A: 1. Explain the "why" in this file, above.
- 2. You need to have a conversion table from/to Unicode. Transform it into
- the format used by the mapping tables found on ftp.unicode.org: each line
- contains the character code, in hex, with 0x prefix, then whitespace,
- then the Unicode code point, in hex, 4 hex digits, with 0x prefix. '#'
- counts as a comment delimiter until end of line.
- Please also send your table to Mark Leisher <mleisher@crl.nmsu.edu> so he
- can include it in his collection.
- 3. If it's an 8-bit character set, use the '8bit_tab_to_h' program in the
- tools directory to generate the C code for the conversion. You may tweak
- the resulting C code if you are not satisfied with its quality, but this
- is rarely needed.
- If it's a two-dimensional character set (with rows and columns), use the
- 'cjk_tab_to_h' program in the tools directory to generate the C code for
- the conversion. You will need to modify the main() function to recognize
- the new character set name, with the proper dimensions, but that shouldn't
- be too hard. This yields the CCS. The CES you have to write by hand.
- 4. Store the resulting C code file in the lib directory. Add a #include
- directive to converters.h, and add an entry to the encodings.def file.
- 5. Compile the package, and test your new encoding using a program like
- iconv(1) or clisp(1).
- 6. Augment the testsuite: Add a line to each of tests/Makefile.in,
- tests/Makefile.msvc and tests/Makefile.os2. For a stateless encoding,
- create the complete table as a TXT file. For a stateful encoding,
- provide a text snippet encoded using your new encoding and its UTF-8
- equivalent.
- 7. Update the README and man/iconv_open.3, to mention the new encoding.
- Add a note in the NEWS file.
-
-Q: What about bidirectional text? Should it be tagged or reversed when
- converting from ISO-8859-8 or ISO-8859-6 to Unicode? Qt appears to do
- this, see qt-2.0.1/src/tools/qrtlcodec.cpp.
-A: After reading RFC 1556: I don't think so. Support for ISO-8859-8-I and
- ISO-8859-E remains to be implemented.
- On the other hand, a page on www.w3c.org says that ISO-8859-8 in *email*
- is visually encoded, ISO-8859-8 in *HTML* is logically encoded, i.e.
- the same as ISO-8859-8-I. I'm confused.
-
-Other character sets not implemented:
-"MNEMONIC" = "csMnemonic"
-"MNEM" = "csMnem"
-"ISO-10646-UCS-Basic" = "csUnicodeASCII"
-"ISO-10646-Unicode-Latin1" = "csUnicodeLatin1" = "ISO-10646"
-"ISO-10646-J-1"
-"UNICODE-1-1" = "csUnicode11"
-"csWindows31Latin5"
-
-Other aliases not implemented (and not implemented in glibc-2.1 either):
- From MSIE4:
- ISO-8859-1: alias ISO8859-1
- ISO-8859-2: alias ISO8859-2
- KSC_5601: alias KS_C_5601
- UTF-8: aliases UNICODE-1-1-UTF-8 UNICODE-2-0-UTF-8
-
-
-Q: How can I integrate libiconv into my package?
-A: Just copy the entire libiconv package into a subdirectory of your package.
- At configuration time, call libiconv's configure script with the
- appropriate --srcdir option and maybe --enable-static or --disable-shared.
- Then "cd libiconv && make && make install-lib libdir=... includedir=...".
- 'install-lib' is a special (not GNU standardized) target which installs
- only the include file - in $(includedir) - and the library - in $(libdir) -
- and does not use other directory variables. After "installing" libiconv
- in your package's build directory, building of your package can proceed.
-
-Q: Why is the testsuite so big?
-A: Because some of the tests are very comprehensive.
- If you don't feel like using the testsuite, you can simply remove the
- tests/ directory.
-
diff --git a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/PORTS b/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/PORTS
deleted file mode 100644
index 2c4cfa03..00000000
--- a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/PORTS
+++ /dev/null
@@ -1,46 +0,0 @@
-* Linux with libc6 (glibc-2.1):
- OK
-
-* Linux with libc6 (glibc-2.0.7):
- OK
-
-* Linux with libc5:
- OK
-
-* Solaris 2.7:
- OK
-
-* Solaris 2.6:
- OK
-
-* OSF/1 5.1:
- OK
-
-* OSF/1 4.0d:
- OK
-
-* Irix 6.5:
- OK
-
-* HP-UX 10.20:
- OK
-
-* AIX 4.2:
- OK
-
-* SunOS 4:
- OK when configured --enable-static --disable-shared
- (gcc cannot create shared libraries without relocations)
-
-* FreeBSD 3.3:
- OK
-
-* BeOS 5:
- OK
-
-* Woe32 with MSVC 4.0:
- OK
-
-* Woe32 with MSVC 5.0:
- OK
-
diff --git a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/README b/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/README
deleted file mode 100644
index e07ba0f0..00000000
--- a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/README
+++ /dev/null
@@ -1,149 +0,0 @@
- GNU LIBICONV - character set conversion library
-
-This library provides an iconv() implementation, for use on systems which
-don't have one, or whose implementation cannot convert from/to Unicode.
-
-It provides support for the encodings:
-
- European languages
- ASCII, ISO-8859-{1,2,3,4,5,7,9,10,13,14,15,16},
- KOI8-R, KOI8-U, KOI8-RU,
- CP{1250,1251,1252,1253,1254,1257}, CP{850,866},
- Mac{Roman,CentralEurope,Iceland,Croatian,Romania},
- Mac{Cyrillic,Ukraine,Greek,Turkish},
- Macintosh
- Semitic languages
- ISO-8859-{6,8}, CP{1255,1256}, CP862, Mac{Hebrew,Arabic}
- Japanese
- EUC-JP, SHIFT_JIS, CP932, ISO-2022-JP, ISO-2022-JP-2, ISO-2022-JP-1
- Chinese
- EUC-CN, HZ, GBK, GB18030, EUC-TW, BIG5, CP950, BIG5-HKSCS,
- ISO-2022-CN, ISO-2022-CN-EXT
- Korean
- EUC-KR, CP949, ISO-2022-KR, JOHAB
- Armenian
- ARMSCII-8
- Georgian
- Georgian-Academy, Georgian-PS
- Tajik
- KOI8-T
- Thai
- TIS-620, CP874, MacThai
- Laotian
- MuleLao-1, CP1133
- Vietnamese
- VISCII, TCVN, CP1258
- Platform specifics
- HP-ROMAN8, NEXTSTEP
- Full Unicode
- UTF-8
- UCS-2, UCS-2BE, UCS-2LE
- UCS-4, UCS-4BE, UCS-4LE
- UTF-16, UTF-16BE, UTF-16LE
- UTF-32, UTF-32BE, UTF-32LE
- UTF-7
- C99, JAVA
- Full Unicode, in terms of `uint16_t' or `uint32_t'
- (with machine dependent endianness and alignment)
- UCS-2-INTERNAL, UCS-4-INTERNAL
- Locale dependent, in terms of `char' or `wchar_t'
- (with machine dependent endianness and alignment, and with OS and
- locale dependent semantics)
- char, wchar_t
- The empty encoding name "" is equivalent to "char": it denotes the
- locale dependent character encoding.
-
-When configured with the option --enable-extra-encodings, it also provides
-support for a few extra encodings:
-
- European languages
- CP{437,737,775,852,853,855,857,858,860,861,863,865,869,1125}
- Semitic languages
- CP864
- Japanese
- EUC-JISX0213, Shift_JISX0213, ISO-2022-JP-3
- Turkmen
- TDS565
- Platform specifics
- RISCOS-LATIN1
-
-It can convert from any of these encodings to any other, through Unicode
-conversion.
-
-It has also some limited support for transliteration, i.e. when a character
-cannot be represented in the target character set, it can be approximated
-through one or several similarly looking characters. Transliteration is
-activated when "//TRANSLIT" is appended to the target encoding name.
-
-libiconv is for you if your application needs to support multiple character
-encodings, but that support lacks from your system.
-
-Installation:
-
-As usual for GNU packages:
-
- $ ./configure --prefix=/usr/local
- $ make
- $ make install
-
-After installing GNU libiconv for the first time, it is recommended to
-recompile and reinstall GNU gettext, so that it can take advantage of
-libiconv.
-
-On systems other than GNU/Linux, the iconv program will be internationalized
-only if GNU gettext has been built and installed before GNU libiconv. This
-means that the first time GNU libiconv is installed, we have a circular
-dependency between the GNU libiconv and GNU gettext packages, which can be
-resolved by building and installing either
- - first libiconv, then gettext, then libiconv again,
-or (on systems supporting shared libraries, excluding AIX)
- - first gettext, then libiconv, then gettext again.
-Recall that before building a package for the second time, you need to erase
-the traces of the first build by running "make distclean".
-
-This library can be built and installed in two variants:
-
- - The library mode. This works on all systems, and uses a library
- `libiconv.so' and a header file `<iconv.h>'. (Both are installed
- through "make install".)
-
- To use it, simply #include <iconv.h> and use the functions.
-
- To use it in an autoconfiguring package:
- - If you don't use automake, append m4/iconv.m4 to your aclocal.m4
- file.
- - If you do use automake, add m4/iconv.m4 to your m4 macro repository.
- - Add to the link command line of libraries and executables that use
- the functions the placeholder @LIBICONV@ (or, if using libtool for
- the link, @LTLIBICONV@). If you use automake, the right place for
- these additions are the *_LDADD variables.
- Note that 'iconv.m4' is also part of the GNU gettext package, which
- installs it in /usr/local/share/aclocal/iconv.m4.
-
- - The libc plug/override mode. This works on GNU/Linux, Solaris and OSF/1
- systems only. It is a way to get good iconv support without having
- glibc-2.1.
- It installs a library `libiconv_plug.so'. This library can be used with
- LD_PRELOAD, to override the iconv* functions present in the C library.
-
- On GNU/Linux and Solaris:
- $ export LD_PRELOAD=/usr/local/lib/libiconv_plug.so
-
- On OSF/1:
- $ export _RLD_LIST=/usr/local/lib/libiconv_plug.so:DEFAULT
-
- A program's source need not be modified, the program need not even be
- recompiled. Just set the LD_PRELOAD environment variable, that's it!
-
-
-Distribution:
- ftp://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.9.2.tar.gz
-
-Homepage:
- http://www.gnu.org/software/libiconv/
-
-Bug reports to:
- <bug-gnu-libiconv@gnu.org>
-
-
-Bruno Haible <bruno@clisp.org>
diff --git a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/THANKS b/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/THANKS
deleted file mode 100644
index 35fc2eab..00000000
--- a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/THANKS
+++ /dev/null
@@ -1,13 +0,0 @@
- Thanks to for
-
-Edmund Grimley Evans <edmundo@rano.org> bug reports
-
-Taro Muraoka <koron@tka.att.ne.jp> Woe32 DLL support
-
-Akira Hatakeyama <akira@sra.co.jp> OS/2 support
-
-Juan Manuel Guerrero <st001906@hrz1.hrz.tu-darmstadt.de>
- DOS/DJGPP support
-
-Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> advice on EUC-JP and JISX0213
-
diff --git a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/djgpp/README b/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/djgpp/README
deleted file mode 100644
index dfcc894b..00000000
--- a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/djgpp/README
+++ /dev/null
@@ -1,122 +0,0 @@
-This is a port of GNU Libiconv 1.8 to MSDOS/DJGPP.
-
-1.: DJGPP specific changes.
- =======================
- There are no DJGPP specific changes. This package should
- configure and compile out-of-the-box.
- Please read the documentation to become familiar with this
- product.
-
-
-2.: Installing the binary package.
- ==============================
-
-2.1.: Copy the binary distribution into the top DJGPP installation
- directory and unzip the binary distribution running *ONE* of
- the following commands:
- unzip32 licv18b.zip or
- djtarx licv18b.zip or
- pkunzip -d licv18b.zip
-
-
-
-3.: Building the binaries from sources.
- ===================================
-
-3.1.: To build the binaries you will need the following binary packages:
- djdev203.zip, bsh204b.zip, gcc2952b.zip,
- bnu210b.zip, mak3791b.zip, fil316b.zip,
- shl112b.zip, txt20b.zip, txi40b.zip,
- grep24b.zip and sed302b.zip
-
-
- All this packages can be found in the v2gnu directory of any
- Simtel.NET mirror.
- You will need bsh204b.zip and *NOT* a prior version or the build will fail.
- The same applies to djdev203.zip. You *MUST* use the updated versions of
- fil316b.zip (date: 2000-05-30) and shl112b.zip (date: 2000-08-11). This
- updated versions have been recompiled with djdev203.zip and know about
- the "/dev/env" functionality introduced with djdev203.zip. All the other
- packages are the ones I have used to build the binaries from this sources.
- Previuos and/or later versions of this packages may do the job as well but
- I have not tested this.
-
-3.2.: Create a temporary directory and copy the source package: licv18s.zip
- into the temporary directory. If you download the source distribution
- from one of the DJGPP archives, just unzip it preserving the directory
- structure, runnig ONE of the following commands:
- unzip32 licv18s.zip or
- djtarx licv18s.zip or
- pkunzip -d licv18s.zip
-
- Source distributions downloaded from one of the GNU FTP sites need
- some more work to unpack. First, you MUST use the `djtar' program to
- unzip the package. That's because some file names in the official
- distributions need to be changed to avoid problems on the various
- platforms supported by DJGPP. `djtar' can rename files on the fly
- given a file with name mappings. The distribution includes a file
- `djgpp/fnchange.lst' with the necessary mappings. So you need first
- to retrieve that file, and then invoke `djtar' to unpack the
- distribution. Here's how:
-
- djtar -x -p -o libiconv-1.7/djgpp/fnchange.lst libiconv-1.7.tar.gz > lst
- djtar -x -n lst libiconv-1.7.tar.gz
-
- (The name of the distribution archive and the top-level directory will
- be different for versions other than 1.7.)
-
-3.3.: The package is preconfigured for djdev203. To build the products you
- should run the following command:
- make
-
- After the compilation has finished, you can check the products
- running the command:
- make check
-
- To install the products run the command:
- make install
-
- This will install the products (iconv.exe iconv.h localcharset.h libconv.a
- libcharset.a iconv.1 iconv.3 iconv_open.3 iconv_close.3) into your DJGPP
- installation tree. As usual, prefix is defined as "/dev/env/DJDIR".
- If you prefer to install into same other directory run the command:
- make install prefix=z:/some/other/dir
-
- Of course, you should replace "z:/some/other/dir" by an appropriate path
- that will meet your requeriments.
-
-3.4.: If you need/want to reconfigure the package you will have to run the
- following commands:
- make distclean
- djgpp\config
-
- Please note that you *MUST* use the "distclean" option or the config.cache
- file will *NOT* be deleted. In this case you are *NOT* reconfiguring
- because the configuration informations is read from the cache file instead
- of being newly computed.
- To build the programs in a directory other than where the sources are,
- you must add the parameter that specifies the source directory,
- e.g:
- x:\src\gnu\libiconv.18\djgpp\config x:/src/gnu/libiconv.18
-
- Lets assume you want to build the binaries in a directory placed on a
- different drive (z:\build in this case) from where the sources are,
- then you will run the following commands:
- z:
- md \build
- cd \build
- x:\src\gnu\libiconv.18\djgpp\config x:/src/gnu/libiconv.18
-
- You *MUST* use forward slashes to specify the source directory.
- After having configured the package run the folowing commands to create
- the binaries and docs and install them:
- make
- make check
- make install
-
- Send suggestions and bug reports concerning the DJGPP port to
- comp.os.msdos.djgpp or djgpp@delorie.com. Libiconv specific bugs
- must be reported to Bruno Haible <haible@clisp.cons.org>.
-
-
- Guerrero, Juan Manuel <st001906@hrz1.hrz.tu-darmstadt.de>
diff --git a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/extras/ChangeLog b/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/extras/ChangeLog
deleted file mode 100644
index e74835b0..00000000
--- a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/extras/ChangeLog
+++ /dev/null
@@ -1,64 +0,0 @@
-2003-05-10 Bruno Haible <bruno@clisp.org>
-
- * iconv_string.c (iconv_string): Don't return -1 just because the
- string is longer than 4 KB.
-
-2002-02-13 Bruno Haible <bruno@clisp.org>
-
- * iconv.m4: Remove file. Obsoleted by m4/iconv.m4.
-
-2000-06-16 Bruno Haible <haible@clisp.cons.org>
-
- * iconv.m4: Change prefix to AM.
-
-2001-05-23 Bruno Haible <haible@clisp.cons.org>
-
- * iconv.m4 (jm_ICONV): Accept --with-libiconv-prefix option.
-
-2001-03-23 Bruno Haible <haible@clisp.cons.org>
-
- * iconv.m4 (jm_ICONV): Tweak printing of prototype.
-
-2001-03-20 Bruno Haible <haible@clisp.cons.org>
-
- * iconv.m4 (jm_ICONV): Recommend GNU libiconv.
-
-2001-01-03 Bruno Haible <haible@clisp.cons.org>
-
- * iconv.m4 (jm_ICONV): Also check whether the iconv declaration
- has const.
-
-2000-02-02 Bruno Haible <haible@clisp.cons.org>
-
- * iconv.m4: New file.
-
-2001-01-29 Bruno Haible <haible@clisp.cons.org>
-
- * locale_charset.c: Remove file. Obsoleted by libcharset.
-
-2000-10-22 Bruno Haible <haible@clisp.cons.org>
-
- * locale_charset.c (get_locale_charset): Accept french and spanish
- names in both ISO-8859-1 and UTF-8.
-
-2000-08-24 Jim Blackson <blackson@ontrack-japan.com>
-
- * iconv_string.c (iconv_string): Fix return value for autodetect.
-
-2000-01-24 Bruno Haible <haible@clisp.cons.org>
-
- * iconv_string.c (iconv_string): Stop recognizing JOHAB.
- Fix typo for EUC-JP.
-
-1999-12-18 Bruno Haible <haible@clisp.cons.org>
-
- * locale_charset.c (get_locale_charset): Recognize more language codes:
- "af" (afrikaans), "ca" (catalan), "eu" (basque), "fo" (faeroese),
- "ga" (irish), "gd" (scottish), "gl" (galician), "sq" (albanian),
- "eo" (esperanto), "mt" (maltese), "be" (byelorussian),
- "et" (estonian), "lt" (lithuanian), "lv" (latvian), "uk" (ukrainian).
- Recognize more aliases: "english", "slovenian", "macedonian",
- "serbian", "arabic".
- Change default: KOI8-R for "ru" (russian) instead of ISO-8859-5,
- ISO-8859-5 for "sr" instead of ISO-8859-2.
-
diff --git a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/libcharset/AUTHORS b/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/libcharset/AUTHORS
deleted file mode 100644
index 8bedd794..00000000
--- a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/libcharset/AUTHORS
+++ /dev/null
@@ -1 +0,0 @@
-Bruno Haible <bruno@clisp.org>
diff --git a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/libcharset/ChangeLog b/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/libcharset/ChangeLog
deleted file mode 100644
index 1be73272..00000000
--- a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/libcharset/ChangeLog
+++ /dev/null
@@ -1,322 +0,0 @@
-2003-06-18 Bruno Haible <bruno@clisp.org>
-
- * config/install-sh: Update from automake-1.7.5.
-
-2003-06-07 Bruno Haible <bruno@clisp.org>
-
- * Makefile.devel (config.h_vms): Remove INSTALLPREFIX.
- Reported by Jouk Jansen <joukj@hrem.stm.tudelft.nl>.
-
-2003-05-19 Bruno Haible <bruno@clisp.org>
-
- * windows/charset.rc: Include <winver.h>.
- Reported by Perry Rapp.
-
-2003-05-07 Bruno Haible <bruno@clisp.org>
-
- * Makefile.vms: New file.
- * Makefile.devel (config.h_vms): New rule.
- (all): Depend on it.
-
-2003-05-06 Bruno Haible <bruno@clisp.org>
-
- * m4/libtool.m4: Update from GNU gettext, based on libtool-1.5.
-
-2003-05-06 Bruno Haible <bruno@clisp.org>
-
- * autoconf/config.guess: Update to GNU version 2003-02-22.
- * autoconf/config.sub: Likewise.
-
-2003-05-06 Bruno Haible <bruno@clisp.org>
-
- * autoconf/ltmain.sh: Update from GNU gettext, based on libtool-1.5.
-
-2003-04-12 Bruno Haible <bruno@clisp.org>
-
- * configure.in (mandir): Change default value.
- * Makefile.in (datadir): New variable.
-
-2003-04-05 Bruno Haible <bruno@clisp.org>
-
- Support for relocatable installation.
- * autoconf/config.libpath: New file, from GNU gettext.
- * configure.in: Invoke AC_RELOCATABLE_LIBRARY.
- * include/libcharset.h.in: New file.
- * Makefile.devel (include/libcharset.h.msvc-shared): New rule.
- (all): Depend on it.
- (autoconf/aclocal.m4): Update aclocal invocation.
- (config.h.msvc): Handle INSTALLPREFIX.
- * Makefile.in (include/libcharset.h): New rule.
- (all): Depend on it.
- (install-lib, install): Also install libcharset.h.
- (uninstall): Uninstall libcharset.h.
- (distclean, maintainer-clean): Remove include/libcharset.h.
- * Makefile.msvc (all): Create include/libcharset.h.
- (install): Also install libcharset.h.
- (uninstall): Uninstall libcharset.h.
- (mostlyclean, clean, distclean, maintainer-clean): Remove
- include/libcharset.h.
- * INSTALL.generic: Document --enable-relocatable and
- --with-libintl-prefix. Remove the recommendation to set CPPFLAGS and
- LDFLAGS. The lib-link.m4 macros make this unnecessary.
-
-2003-04-05 Bruno Haible <bruno@clisp.org>
-
- * Makefile.msvc (PREFIX): New variable.
- (prefix): Use it.
- (distclean, maintainer-clean): Drop Unix specific removals.
- * man/Makefile.msvc (PREFIX): New variable.
- (prefix): Use it.
- (clean): Drop unnecessary removals.
- (distclean): Drop Unix specific removal.
-
-2003-04-05 Bruno Haible <bruno@clisp.org>
-
- * configure.in: Invoke AM_LANGINFO_CODESET, not jm_LANGINFO_CODESET.
- * autoconf/ltmain.sh: Update from GNU gettext.
- 2003-02-18 Bruno Haible <bruno@clisp.org>
- Fix the 2002-09-16 fix.
- * ltmain.sh (install): If "ln -s -f" fails (this is the case
- with /usr/bin/ln on Solaris 2.7), fall back to "rm && ln -s".
-
-2003-03-17 Bruno Haible <bruno@clisp.org>
-
- Improved MSVC support.
- * windows/charset.rc: New file.
- * Makefile.msvc (prefix): Use less Unixy value.
- (local_prefix): Remove variable.
- (libdir, includedir): Use backslashes.
- (bindir): New variable.
- (mandir): Remove variable.
- (INSTALL, INSTALL_PROGRAM, INSTALL_DATA): New variables.
- (mostlyclean, clean): Remove config.h and include/localcharset.h.
- (install, installdirs, uninstall): Rewritten.
- * README.woe32: Mention automatic installation command.
-
- Rename libcharset.h to localcharset.h.
- * include/localcharset.h.in: Renamed from include/libcharset.h.in.
- * tools/locale_charset.c: Include localcharset.h, not libcharset.h.
- * Makefile.in (include/localcharset.h): Renamed from
- include/libcharset.h.
- (all): Update dependency.
- (install-lib, install, uninstall, distclean, maintainer-clean): Update.
- * Makefile.msvc (all): Create include/localcharset.h, not
- include/libcharset.h.
- * Makefile.devel (include/localcharset.h.msvc-shared): Renamed from
- include/libcharset.h.msvc-shared.
- (all): Update dependency.
- (config.h.in): Touch the file when done; autoheader doesn't do it.
- (config.h.msvc): Make rule more robust.
- * INTEGRATE: Mention localcharset.h only once.
- * djgpp/README.in, djgpp/README: Update.
- * djgpp/config.bat: Update.
- * djgpp/config.sed: Update.
- * djgpp/fnchange.in, djgpp/fnchange.lst: Update.
- * configure.in (VERSION): Bump to 1.2.
- * NEWS: New file.
-
-2003-02-14 Bruno Haible <bruno@clisp.org>
-
- * Makefile.devel (AUTOCONF): Switch to autoconf-2.57.
- (configure, config.h.in): Update rules.
-
-2003-01-03 Albert Chin <libtool@thewrittenword.com>
-
- * autoconf/ltmain.sh: Don't pass -R flags found in a .la's
- dependency_libs variable directly down to the linker.
- Reported by Tim Mooney <mooney@dogbert.cc.ndsu.nodak.edu>.
-
-2003-01-12 Bruno Haible <bruno@clisp.org>
-
- * INTEGRATE: Mention localcharset.h.
-
-2003-01-01 Bruno Haible <bruno@clisp.org>
-
- * Makefile.in (mkinstalldirs): Renamed from MKINSTALLDIRS.
- (install-lib, install, installdirs): Use it.
-
-2002-09-27 Bruno Haible <bruno@clisp.org>
-
- * autoconf/mkinstalldirs: Upgrade to automake-1.7.2 version.
-
-2002-11-07 Bruno Haible <bruno@clisp.org>
-
- * autoconf/ltmain.sh: Upgrade to libtool-1.4.3.
-
-2002-06-12 Bruno Haible <bruno@clisp.org>
-
- * configure.in: Use new AC_* names of libtool macros. Invoke
- AC_LIBTOOL_WIN32_DLL.
-
-2002-11-07 Bruno Haible <bruno@clisp.org>
-
- Make "make install" without prior "make" work.
- * Makefile.in (install): Depend on include/libcharset.h.
- Reported by Martin Mokrejš <mmokrejs@natur.cuni.cz>.
-
-2002-05-12 Bruno Haible <bruno@clisp.org>
-
- * tools/all-charsets: Update for change of lib/config.charset.
-
-2002-05-12 Bruno Haible <bruno@clisp.org>
-
- * Makefile.devel (AUTOCONF): New variable.
- (configure): Use the AUTOCONF variable.
-
-2002-05-08 Bruno Haible <bruno@clisp.org>
-
- * README.woe32: Renamed from README.win32.
-
-2002-02-06 Bruno Haible <bruno@clisp.org>
-
- * m4/libtool.m4: Upgrade to libtool-1.4.2.
- * autoconf/ltmain.sh: Likewise.
-
-2002-02-02 Bruno Haible <bruno@clisp.org>
-
- * autoconf/ltmain.sh: Add DESTDIR support on ELF systems.
-
-2001-11-03 Bruno Haible <haible@clisp.cons.org>
-
- * autoconf/ltmain.sh: chmod 777 the .libs directory, so that
- "make install" succeeds.
-
-2001-12-04 Bruno Haible <bruno@clisp.org>
-
- * INTEGRATE: Change the install rule to not create $(libdir) if
- there is no file to install in it.
-
-2001-07-17 Bruno Haible <haible@clisp.cons.org>
-
- * configure.in (VERSION): Bump to 1.1.
-
-2001-06-08 Bruno Haible <haible@clisp.cons.org>
-
- * m4/libtool.m4: Upgrade to libtool-1.4.
- * autoconf/ltmain.sh: Likewise.
- * autoconf/ltconfig: Remove file.
-
-2001-06-08 Bruno Haible <haible@clisp.cons.org>
-
- * autoconf/config.guess: Update to GNU version 2001-05-11.
- * autoconf/config.sub: Likewise.
-
-2001-05-21 Bruno Haible <haible@clisp.cons.org>
-
- * Makefile.in (include/libcharset.h): New target.
- (all): Depend on it.
-
-2001-05-11 Bruno Haible <haible@clisp.cons.org>
-
- * INTEGRATE (Makefile.in): Fix syntax error.
-
-2001-05-06 Bruno Haible <haible@clisp.cons.org>
-
- * Makefile.msvc (config.h): Allow the 'del' command to fail.
-
-2001-03-21 Bruno Haible <haible@clisp.cons.org>
-
- * INSTALL.generic (Particular Systems): Add recommendations for AIX 3.
-
-2001-03-10 Bruno Haible <haible@clisp.cons.org>
-
- * INSTALL.generic: New section "Particular Systems".
-
-2001-03-05 Bruno Haible <haible@clisp.cons.org>
-
- * tools/all-charsets: Update for change of lib/config.charset.
-
-2001-03-01 Bruno Haible <haible@clisp.cons.org>
-
- * tools/all-charsets: Update for change of lib/config.charset.
-
-2001-02-25 Bruno Haible <haible@clisp.cons.org>
-
- * autoconf/ltconfig:
- sed -e 's/reload object files/produce relocatable object files/'.
-
-2001-02-25 Bruno Haible <haible@clisp.cons.org>
-
- * include/libcharset.h.in (locale_charset): Return value is never
- NULL any more.
-
-2001-02-22 Bruno Haible <haible@clisp.cons.org>
-
- * INTEGRATE (Makefile.am): Change $@-t to t-$@. For DJGPP.
- Patch by Juan Manuel Guerrero <st001906@hrz1.hrz.tu-darmstadt.de>.
-
-2001-02-20 Bruno Haible <haible@clisp.cons.org>
-
- Better support for DOS/Windows platforms.
- * autoconf/ltconfig: Upgrade to libtool-1.3.5.
- * autoconf/ltmain.sh: Likewise.
- * m4/libtool.m4: Likewise.
- * autoconf/aclocal.m4: Likewise.
- * configure.in: Call AC_OBJEXT and AC_EXEEXT.
-
-2001-02-20 Bruno Haible <haible@clisp.cons.org>
-
- * Makefile.in (libdir, includedir, mandir): Use the autoconf
- determined value, in order to respect the configure arguments.
- * lib/Makefile.in (libdir): Likewise.
-
-2000-12-13 Bruno Haible <haible@clisp.cons.org>
-
- * autoconf/install-sh: Update to a newer version from fileutils.
-
-2000-12-12 Bruno Haible <haible@clisp.cons.org>
-
- * Makefile.in: Use $(MAKE) instead of $(MAKE) -r. Needed with Solaris
- "make", which doesn't set MAKE as expected by @SET_MAKE@ if -r is
- given. Reported by Toshimitsu Fujiwara.
-
-2000-12-08 Bruno Haible <haible@clisp.cons.org>
-
- * Makefile.in (exec_prefix): Use configure's --exec-prefix argument.
-
-2000-12-02 Bruno Haible <haible@clisp.cons.org>
-
- * Makefile.msvc (check): Depend on target 'force' as well.
- (mostlyclean, clean, distclean, maintainer-clean): Fix dependency.
-
- * Makefile.msvc: Replace STATIC with its opposite flag, DLL.
-
-2000-11-24 Bruno Haible <haible@clisp.cons.org>
-
- * tools/all-charsets: Update for 2000-10-31 change of
- lib/config.charset.
-
-2000-11-23 Bruno Haible <haible@clisp.cons.org>
-
- * Makefile.in (install-lib): Fix for builddir != srcdir.
-
-2000-11-22 Bruno Haible <haible@clisp.cons.org>
-
- * Makefile.in (all): Fix for builddir != srcdir.
-
-2000-11-21 Bruno Haible <haible@clisp.cons.org>
-
- * include/libcharset.h.in: Renamed from include/libcharset.h.
- * windows/dllexport.h: New file.
- * Makefile.devel (all): Add config.h.msvc,
- include/libcharset.h.msvc-shared.
- (config.h.msvc, include/libcharset.h.msvc-shared): New targets.
- * Makefile.msvc (MFLAGS): New variable.
- (all): Create include\libcharset.h.
- (distclean, maintainer-clean): Remove include\libcharset.h.
- * Makefile.in (CP): New variable.
- (all): Create include/libcharset.h.
- (distclean, maintainer-clean): Remove include/libcharset.h.
-
-2000-11-18 Bruno Haible <haible@clisp.cons.org>
-
- * Makefile.devel (config.h.in): Rename from config.h.
-
-2000-11-16 Bruno Haible <haible@clisp.cons.org>
-
- * Makefile.in: After "cd", use "&&" not ";".
-
-2000-10-31 Bruno Haible <haible@clisp.cons.org>
-
- * Makefile.msvc: New file.
- * README.win32: New file.
diff --git a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/libcharset/NEWS b/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/libcharset/NEWS
deleted file mode 100644
index 7e82f6c1..00000000
--- a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/libcharset/NEWS
+++ /dev/null
@@ -1,2 +0,0 @@
-New in 1.2:
-* The include file is renamed from "libcharset.h" to "localcharset.h".
diff --git a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/libcharset/README b/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/libcharset/README
deleted file mode 100644
index 9f4cf7b4..00000000
--- a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/libcharset/README
+++ /dev/null
@@ -1,60 +0,0 @@
- LIBCHARSET - portable character set determination library
-
-This library provides a function which determines the character set / encoding
-of text in the currently selected locale (the LC_CTYPE locale facet).
-
-It is useful for portable programs which need to process text in other
-encodings and locales than the currently selected one. Possible uses:
-
- * Use of Unicode in POSIX compliant applications.
- * Conversion of text between the current locale's encoding and UTF-8 (or
- any other given encoding).
- * Mail agents.
-
-In theory, this would be very simple: The Single Unix Specification (SUSV2)
-provides the nl_langinfo function, in such a way that
-
- nl_langinfo (CODESET)
-
-returns the encoding name. But the nl_langinfo function still does not exist
-on some systems, and on those where it exists it returns unstandardized
-variations of the encoding names, like (on Solaris) "PCK" for "Shift_JIS".
-
-This library fixes these flaws and provides a function
-
- const char * locale_charset (void);
-
-It determines the current locale's character encoding, and canonicalizes it
-into one of the canonical names listed in config.charset. The result must
-not be freed; it is statically allocated. If the canonical name cannot be
-determined, the result is a non-canonical name.
-
-
-Installation:
-
-As usual for GNU packages:
-
- $ ./configure --prefix=/usr/local
- $ make
- $ make install
-
-
-This library is used in
- GNU sh-utils, fileutils, textutils
- GNU gettext
- GNU clisp
-
-
-To integrate this library into your package:
-See file INTEGRATE.
-
-
-Distribution:
- The libcharset directory of
- ftp://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.8.tar.gz
-
-Homepage:
- http://www.haible.de/bruno/packages-libcharset.html
-
-
-Bruno Haible <bruno@clisp.org>
diff --git a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/libcharset/djgpp/README b/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/libcharset/djgpp/README
deleted file mode 100644
index 27c44a27..00000000
--- a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/libcharset/djgpp/README
+++ /dev/null
@@ -1,123 +0,0 @@
-This is a port of GNU Libiconv 1.7 to MSDOS/DJGPP.
-
-1.: DJGPP specific changes.
- =======================
- There are no DJGPP specific changes. This package should
- configure and compile out-of-the-box.
- Please read the documentation to become familiar with this
- product.
-
-
-2.: Installing the binary package.
- ==============================
-
-2.1.: Copy the binary distribution into the top DJGPP installation
- directory and unzip the binary distribution running *ONE* of
- the following commands:
- unzip32 licv16b.zip or
- djtarx licv16b.zip or
- pkunzip -d licv16b.zip
-
-
-
-3.: Building the binaries from sources.
- ===================================
-
-3.1.: To build the binaries you will need the following binary packages:
- djdev203.zip, bsh204b.zip, gcc2952b.zip,
- bnu210b.zip, mak3791b.zip, fil316b.zip,
- shl112b.zip, txt20b.zip, txi40b.zip,
- grep24b.zip and sed302b.zip
-
-
- All this packages can be found in the v2gnu directory of any
- Simtel.NET mirror.
- You will need bsh204b.zip and *NOT* a prior version or the build will fail.
- The same applies to djdev203.zip. You *MUST* use the updated versions of
- fil316b.zip (date: 2000-05-30) and shl112b.zip (date: 2000-08-11). This
- updated versions have been recompiled with djdev203.zip and know about
- the "/dev/env" functionality introduced with djdev203.zip. All the other
- packages are the ones I have used to build the binaries from this sources.
- Previuos and/or later versions of this packages may do the job as well but
- I have not tested this.
-
-3.2.: Create a temporary directory and copy the source package: licv16s.zip
- into the temporary directory. If you download the source distribution
- from one of the DJGPP archives, just unzip it preserving the directory
- structure, runnig ONE of the following commands:
- unzip32 licv16s.zip or
- djtarx licv16s.zip or
- pkunzip -d licv16s.zip
-
- Source distributions downloaded from one of the GNU FTP sites need
- some more work to unpack. First, you MUST use the `djtar' program to
- unzip the package. That's because some file names in the official
- distributions need to be changed to avoid problems on the various
- platforms supported by DJGPP. `djtar' can rename files on the fly
- given a file with name mappings. The distribution includes a file
- `djgpp/fnchange.lst' with the necessary mappings. So you need first
- to retrieve that file, and then invoke `djtar' to unpack the
- distribution. Here's how:
-
- djtar -x -p -o libiconv-1.7/djgpp/fnchange.lst libiconv-1.7.tar.gz > lst
- djtar -x -n lst libiconv-1.7.tar.gz
-
- (The name of the distribution archive and the top-level directory will
- be different for versions other than 1.7.)
-
-
-3.3.: The package is preconfigured for djdev203. To build the products you
- should run the following command:
- make
-
- After the compilation has finished, you can check the products
- running the command:
- make check
-
- To install the products run the command:
- make install
-
- This will install the products (iconv.exe iconv.h localcharset.h libconv.a
- libcharset.a iconv.1 iconv.3 iconv_open.3 iconv_close.3) into your DJGPP
- installation tree. As usual, prefix is defined as "/dev/env/DJDIR".
- If you prefer to install into same other directory run the command:
- make install prefix=z:/some/other/dir
-
- Of course, you should replace "z:/some/other/dir" by an appropriate path
- that will meet your requeriments.
-
-3.4.: If you need/want to reconfigure the package you will have to run the
- following commands:
- make distclean
- djgpp\config
-
- Please note that you *MUST* use the "distclean" option or the config.cache
- file will *NOT* be deleted. In this case you are *NOT* reconfiguring
- because the configuration informations is read from the cache file instead
- of being newly computed.
- To build the programs in a directory other than where the sources are,
- you must add the parameter that specifies the source directory,
- e.g:
- x:\src\gnu\libiconv.16\djgpp\config x:/src/gnu/libiconv.16
-
- Lets assume you want to build the binaries in a directory placed on a
- different drive (z:\build in this case) from where the sources are,
- then you will run the following commands:
- z:
- md \build
- cd \build
- x:\src\gnu\libiconv.16\djgpp\config x:/src/gnu/libiconv.16
-
- You *MUST* use forward slashes to specify the source directory.
- After having configured the package run the folowing commands to create
- the binaries and docs and install them:
- make
- make check
- make install
-
- Send suggestions and bug reports concerning the DJGPP port to
- comp.os.msdos.djgpp or djgpp@delorie.com. Libiconv specific bugs
- must be reported to Bruno Haible <haible@clisp.cons.org>.
-
-
- Guerrero, Juan Manuel <st001906@hrz1.hrz.tu-darmstadt.de>
diff --git a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/libcharset/lib/ChangeLog b/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/libcharset/lib/ChangeLog
deleted file mode 100644
index 4cf95b4f..00000000
--- a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/libcharset/lib/ChangeLog
+++ /dev/null
@@ -1,302 +0,0 @@
-2004-01-21 Bruno Haible <bruno@clisp.org>
-
- Upgrade from gettext-0.14.
-
- 2004-01-21 Bruno Haible <bruno@clisp.org>
- * config.charset: Add support for MacOS X (Darwin).
-
- 2003-12-02 Bruno Haible <bruno@clisp.org>
- * config.charset: Treat the new country name CS like the old country
- name YU.
-
- 2003-08-20 Bruno Haible <bruno@clisp.org>
- * config.charset (linux-gnulibc1*): Change hr_HR, ro_RO to ISO-8859-2.
- Reported by Alain Guibert <derogaton+bgli@oreka.com>.
-
- 2003-08-14 Bruno Haible <bruno@clisp.org>
- * config.charset: Add support for Linux libc5. Based on data from
- Alain Guibert <derogaton+bgli@oreka.com>.
-
-2003-06-27 Bruno Haible <bruno@clisp.org>
-
- Avoid use of *_unlocked functions on Solaris 2.5.1.
- * localcharset.c: Test HAVE_DECL_GETC_UNLOCKED, not HAVE_GETC_UNLOCKED.
- Reported by Eric Botcazou <ebotcazou@libertysurf.fr>.
-
-2003-08-20 Bruno Haible <bruno@clisp.org>
-
- * config.charset (linux-gnulibc1*): Change hr_HR, ro_RO to ISO-8859-2.
- Reported by Alain Guibert <derogaton+bgli@oreka.com>.
-
-2003-08-14 Bruno Haible <bruno@clisp.org>
-
- * config.charset: Add support for Linux libc5. Based on data from
- Alain Guibert <derogaton+bgli@oreka.com>.
-
-2003-08-01 Bruno Haible <bruno@clisp.org>
-
- * relocatable.c (find_shared_library_fullname): Disable the code on
- Linux/libc5. Reported by Alain Guibert <derogaton+bgli@oreka.com>.
-
-2003-06-22 Bruno Haible <bruno@clisp.org>
-
- Portability to mingw32.
- * relocatable.c [WIN32]: Include <windows.h>.
- Reported by Jeff Bonggren <jbon@cfl.rr.com>.
-
-2003-06-22 Bruno Haible <bruno@clisp.org>
-
- * relocatable.c (compute_curr_prefix): Comment out this function in
- the case when it is not used.
- Reported by Pavel Roskin <proski@gnu.org>.
-
-2003-06-07 Bruno Haible <bruno@clisp.org>
-
- Support for relocatable data files even on VMS.
- * Makefile.vms (bindir): New variable.
- (DEFS): Add flags for relocatability.
- Reported by Jouk Jansen <joukj@hrem.stm.tudelft.nl>.
-
-2003-06-07 Bruno Haible <bruno@clisp.org>
-
- Support for relocatable data files even on Woe32.
- * Makefile.msvc (IIPREFIX, IIprefix, IIexec_prefix, IIbindir,
- IIlibdir): New variables.
- (PICFLAGS): Also define PIC. Define BUILDING_* flags here.
- (CFLAGS): ... not here. Add flags for relocatability.
-
-2003-05-18 Bruno Haible <bruno@clisp.org>
-
- * Makefile.msvc (DEBUGFLAGS): New variable.
- (charset.lib): Use it.
-
-2003-05-07 Bruno Haible <bruno@clisp.org>
-
- * Makefile.vms: New file.
-
-2003-04-12 Bruno Haible <bruno@clisp.org>
-
- * lib/localcharset.c (get_charset_aliases): Add special case for VMS.
-
-2003-04-05 Bruno Haible <bruno@clisp.org>
-
- Support for relocatable installation.
- * relocatable.h: New file, from GNU gettext.
- * relocatable.c: New file, from GNU gettext.
- * localcharset.c: Update from GNU gettext.
- 2003-02-28 Bruno Haible <bruno@clisp.org>
- * localcharset.c: Include relocatable.h.
- (get_charset_aliases): Relocate LIBDIR value.
- * localcharset.c: Drop C linkage declaration.
- * Makefile.in (DEFS): New variable.
- (SOURCES): Add relocatable.c.
- (OBJECTS): Add relocatable.lo.
- (localcharset.lo): Use $(DEFS).
- (relocatable.lo): New rule.
- * Makefile.msvc (CFLAGS): Remove $(PICFLAGS).
- (INCLUDES): Simplify.
- (SOURCES): Remove variable.
- (OBJECTS): Add relocatable.obj.
- (localcharset.obj): Add $(PICFLAGS).
- (relocatable.obj): New rule.
-
-2003-04-05 Bruno Haible <bruno@clisp.org>
-
- * Makefile.msvc (PREFIX): New variable.
- (prefix): Use it.
- (clean): Drop Unix specific removal.
-
-2003-03-17 Bruno Haible <bruno@clisp.org>
-
- Improved MSVC support.
- * Makefile.msvc (prefix): Use less Unixy value.
- (local_prefix): Remove variable.
- (libdir): Use backslashes.
- (bindir): New variable.
- (INSTALL, INSTALL_PROGRAM, INSTALL_DATA): Set to real values.
- (RESOURCES): Enable charset.res.
- (charset.lib): Set the target library name explicitly.
- (charset.res): New rule.
- (install, installdirs, uninstall): New rules.
-
- Rename libcharset.h to localcharset.h.
- * localcharset.c: Include localcharset.h.
- * localcharset.h: Remove file.
- * Makefile.in (INCLUDES): Add -I../include.
- * Makefile.msvc (INCLUDES): Add -I../include.
-
-2003-01-29 Bruno Haible <bruno@clisp.org>
-
- * config.charset: Add an alias for CP1251 on Solaris.
- Reported by Hidetoshi Tajima <hidetoshi.tajima@sun.com>.
-
-2003-01-12 Bruno Haible <bruno@clisp.org>
-
- * localcharset.h: New file.
- * localcharset.c: Include it.
-
-2003-01-01 Bruno Haible <bruno@clisp.org>
-
- * Makefile.in (mkinstalldirs): Renamed from MKINSTALLDIRS.
- (install-lib, install, installdirs): Use it.
-
-2002-05-09 Bruno Haible <bruno@clisp.org>
-
- * config.charset: Update for newest glibc. Add canonical names
- ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
-
-2002-05-09 Bruno Haible <bruno@clisp.org>
-
- * localcharset.c (get_charset_aliases): Add more Windows specific
- aliases.
-
-2002-05-08 Owen Taylor <otaylor@redhat.com>
-
- * config.charset: A few additions for Solaris.
-
-2002-02-15 Bruno Haible <bruno@clisp.org>
-
- * config.charset [msdosdjgpp]: For Russian, use CP866.
-
-2002-02-11 Bruno Haible <bruno@clisp.org>
-
- * config.charset: Add support for NetBSD.
-
-2002-01-10 Andrew Zabolotny <zap@cobra.ru>
- Bruno Haible <bruno@clisp.org>
-
- * localcharset.c: Rework OS/2 support.
- * config.charset: Add OS/2 support.
-
-2001-12-21 Bruno Haible <bruno@clisp.org>
-
- * localcharset.c (ISSLASH): Provide definition for DOS-like systems.
-
-2001-12-15 Bruno Haible <bruno@clisp.org>
-
- * localcharset.c: Add OS/2 support.
-
-2001-12-05 Bruno Haible <bruno@clisp.org>
-
- * localcharset.c (locale_charset): Don't return an empty string.
-
-2001-10-23 Bruno Haible <haible@clisp.cons.org>
-
- * config.charset: msdos in uk_UA uses CP1125.
-
-2001-08-05 Bruno Haible <haible@clisp.cons.org>
-
- Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
- * localcharset.c (locale_charset): Declare as extern "C".
- (get_charset_aliases): Cast malloc and realloc results to 'char *'.
-
-2001-06-27 Bruno Haible <haible@clisp.cons.org>
-
- * Makefile.in (clean): Remove also *.o.lock, left there by libtool
- on IRIX.
-
-2001-06-25 Bruno Haible <haible@clisp.cons.org>
-
- * Makefile.in (localcharset.lo): Mention $(INCLUDES) before $(CFLAGS)
- and $(CPPFLAGS).
- * Makefile.msvc (localcharset.obj): Likewise.
-
-2001-06-24 Bruno Haible <haible@clisp.cons.org>
-
- * config.charset: Change canonical name of BIG5HKSCS to BIG5-HKSCS.
- Change canonical name of SJIS to SHIFT_JIS.
-
-2001-05-06 Bruno Haible <haible@clisp.cons.org>
-
- * Makefile.msvc (charset.lib): Allow the 'del' command to fail.
-
-2001-05-06 Bruno Haible <haible@clisp.cons.org>
-
- * Makefile.in (CPPFLAGS, LDFLAGS): New variables.
- (libcharset.la): Use LDFLAGS.
- (localcharset.lo): Use CPPFLAGS.
-
-2001-04-30 Bruno Haible <haible@clisp.cons.org>
-
- Silence "gcc -Wall -Wwrite-strings" warnings.
- * localcharset.c (charset_aliases): Change type to 'const char *'.
- (get_charset_aliases): Change type of 'cp' to 'const char *'.
-
-2001-03-10 Bruno Haible <haible@clisp.cons.org>
-
- * localcharset.c (locale_charset): Allow wildcard syntax. Also resolve
- alias if codeset is empty.
- * config.charset (BeOS): Use wildcard syntax.
-
- * Makefile.in (libcharset.la): Pass flag -no-undefined. Needed on
- platforms like BeOS.
-
- * Makefile.in (RM): New variable.
-
-2001-01-05 Bruno Haible <haible@clisp.cons.org>
-
- * localcharset.c (volatile): Define to empty if not using ANSI C.
-
-2001-03-05 Bruno Haible <haible@clisp.cons.org>
-
- * config.charset: Update for OSF/1 5.1.
-
-2001-03-01 Bruno Haible <haible@clisp.cons.org>
-
- * config.charset: For DOS/DJGPP, add CP775.
-
-2001-02-24 Bruno Haible <haible@clisp.cons.org>
-
- * config.charset: Add support for DOS/DJGPP.
-
-2001-02-25 Bruno Haible <haible@clisp.cons.org>
-
- * localcharset.c (locale_charset): Don't return NULL.
-
-2001-02-24 Bruno Haible <haible@clisp.cons.org>
-
- * localcharset.c (locale_charset): Don't use setlocale(LC_CTYPE,NULL).
-
-2001-01-30 Bruno Haible <haible@clisp.cons.org>
-
- * config.charset: Update for FreeBSD 4.2.
-
-2000-12-19 Jim Meyering <jim@meyering.net>
-
- * localcharset.c: Improve WIN32 macrology.
- (locale_charset): Increase size of buffer.
-
-2000-12-18 Bruno Haible <haible@clisp.cons.org>
-
- * config.charset: Add support for BeOS.
-
-2000-12-12 Bruno Haible <haible@clisp.cons.org>
-
- * Makefile.in (ref-add.sed, ref-del.sed): Don't use $<, not understood
- by Solaris "make". Reported by Toshimitsu Fujiwara.
-
-2000-12-08 Bruno Haible <haible@clisp.cons.org>
-
- * Makefile.in (exec_prefix): Use configure's --exec-prefix argument.
-
-2000-12-02 Bruno Haible <haible@clisp.cons.org>
-
- * Makefile.msvc: Replace STATIC with its opposite flag, DLL.
-
-2000-11-21 Bruno Haible <haible@clisp.cons.org>
-
- * Makefile.msvc (MFLAGS): New variable.
- (CFLAGS, charset.lib): Use it.
- (INCLUDES): Use "..", not "..\include".
-
-2000-10-31 Bruno Haible <haible@clisp.cons.org>
-
- * Makefile.msvc: New file.
-
-2000-10-31 Bruno Haible <haible@clisp.cons.org>
-
- * config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB, VISCII,
- CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256, CP1257
- to the list of canonical encodings. Rename EUC-CN to GB2312.
- * localcharset.c (locale_charset): Add support for Win32.
-
diff --git a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/libcharset/m4/ChangeLog b/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/libcharset/m4/ChangeLog
deleted file mode 100644
index 236923ff..00000000
--- a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/libcharset/m4/ChangeLog
+++ /dev/null
@@ -1,18 +0,0 @@
-2003-04-05 Bruno Haible <bruno@clisp.org>
-
- Support for relocatable installation.
- * relocatable.m4: New file, from GNU gettext.
-
-2003-04-05 Bruno Haible <bruno@clisp.org>
-
- * codeset.m4: Update from GNU gettext-0.10.40.
- * glibc21.m4: Update from GNU gettext-0.10.40.
-
-2002-11-07 Bruno Haible <bruno@clisp.org>
-
- * libtool.m4: Upgrade to libtool-1.4.3.
-
-2002-07-14 Bruno Haible <bruno@clisp.org>
-
- * libtool.m4 (_LT_AC_LTCONFIG_HACK): Add support for GNU/FreeBSD.
-
diff --git a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/libcharset/tools/README b/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/libcharset/tools/README
deleted file mode 100644
index 7c5f7d73..00000000
--- a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/libcharset/tools/README
+++ /dev/null
@@ -1,25 +0,0 @@
-This directory contains tools for maintaining the config.charset file.
-
-The main script is "all-charsets". Before using it, you must configure
-this package. For all installed locales, it prints
- - the result of the command "locale charmap",
- - the result of "nl_langinfo (CODESET)",
- - the result of "locale_charset ()".
-
-It uses the following auxiliary scripts and programs:
- - all-locales
- Prints all usable locales in the system, one per line.
- - locale_charmap
- Executes "locale charmap".
- - locale_codeset.c
- Prints nl_langinfo (CODESET).
- - locale_charset.c
- Prints locale_charset().
-
-A second main script is "all-charsets-X11". It also prints the X11
-encoding name. Before using it, you must tweak the X11 paths needed
-for compiling locale_x11encoding (a simple X11 program), and let your
-DISPLAY environment variable point to a running X11 screen.
-
-The other files are test results from various operating systems.
-
diff --git a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/po/ChangeLog b/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/po/ChangeLog
deleted file mode 100644
index daf35ca7..00000000
--- a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/po/ChangeLog
+++ /dev/null
@@ -1,148 +0,0 @@
-2003-11-13 Bruno Haible <bruno@clisp.org>
-
- * sr.po: New file, from Aleksandar Jelenak <jelenak@netlinkplus.net>.
- * LINGUAS: Add sr.
-
-2003-10-14 Bruno Haible <bruno@clisp.org>
-
- * pl.po: New file, from Arkadiusz Lipiec <A.Lipiec@elka.pw.edu.pl>.
- * LINGUAS: Add pl.
-
-2003-08-22 Bruno Haible <bruno@clisp.org>
-
- * wa.po: New file, from Pablo Saratxaga <pablo@walon.org>.
- * LINGUAS: Add wa.
-
-2003-08-05 Bruno Haible <bruno@clisp.org>
-
- * nl.po: Update from Elros Cyriatan <cyriatan@fastmail.fm>.
-
-2003-07-31 Bruno Haible <bruno@clisp.org>
-
- * nl.po: New file, from Taco Witte <T.C.Witte@phys.uu.nl>.
- * LINGUAS: Add nl.
-
-2003-06-11 Bruno Haible <bruno@clisp.org>
-
- * et.po: New file, from Toomas Soome <Toomas.Soome@microlink.ee>.
- * ro.po: Update from Eugen Hoanca <eugenh@urban-grafx.ro>.
- * ru.po: Update from Dmitry S. Sivachenko <mitya@cavia.pp.ru>.
- * zh_CN.po: New file, from Wang Jian <lark@linux.net.cn>.
- * LINGUAS: Add et and zh_CN.
-
-2003-05-07 Bruno Haible <bruno@clisp.org>
-
- * ga.po: Update from Kevin Patrick Scannell <scannell@slu.edu>.
-
-2003-05-06 Bruno Haible <bruno@clisp.org>
-
- * ga.po: New file, from Kevin Patrick Scannell <scannell@slu.edu>.
- * LINGUAS: Add it.
-
-2003-04-22 Bruno Haible <bruno@clisp.org>
-
- * ro.po: New file, from Eugen Hoanca <eugenh@urban-grafx.ro>.
- * LINGUAS: Add it.
-
-2003-04-05 Bruno Haible <bruno@clisp.org>
-
- * Makefile.msvc.sh (PREFIX): New variable.
- (prefix): Use it.
- (clean): Drop Unix specific removal.
-
-2003-04-09 Bruno Haible <bruno@clisp.org>
-
- * Makevars (MSGID_BUGS_ADDRESS): New variable.
-
-2003-04-09 gettextize <bug-gnu-gettext@gnu.org>
-
- * Makefile.in.in: Upgrade to gettext-0.12-pre3.
-
-2003-03-17 Bruno Haible <bruno@clisp.org>
-
- Improved MSVC support.
- * Makefile.msvc.sh: New file.
- * Rules-msvc: New file.
-
-2003-02-10 Bruno Haible <bruno@clisp.org>
-
- * uk.po: New file, from Volodymyr M. Lisivka <lvm@mystery.lviv.net>.
- * LINGUAS: Add it.
-
-2002-12-05 Bruno Haible <bruno@clisp.org>
-
- * it.po: New file, from Marco Parrone <marc0@autistici.org>.
- * LINGUAS: Add it.
-
-2002-11-12 Bruno Haible <bruno@clisp.org>
-
- * da.po: New file, from Keld Simonsen <keld@dkuug.dk>.
- * LINGUAS: Add da.
-
-2002-10-29 Bruno Haible <bruno@clisp.org>
-
- * id.po: New file, from Tedi Heriyanto <tedi_h@gmx.net>.
- * LINGUAS: Add id.
-
-2002-08-23 Bruno Haible <bruno@clisp.org>
-
- * fi.po: New file, from Matti Koskimies <matti@apulanta.fi>.
- * fr.po: New file, from Michel Robitaille <robitail@iro.umontreal.ca>.
- * pt_BR.po: Update from
- Alexandre Folle de Menezes <afmenez@terra.com.br>.
- * ru.po: New file, from Dmitry S. Sivachenko <mitya@cavia.pp.ru>.
- * sl.po: New file, from
- Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>.
- * tr.po: New file, from Deniz Akkus Kanca <deniz@arayan.com>.
- * LINGUAS: Add fi, fr, ru, sl, tr.
-
-2002-06-20 Bruno Haible <bruno@clisp.org>
-
- * es.po: New file, from Santiago Vila Doncel <sanvila@unex.es>.
- * LINGUAS: Add es.
-
-2002-06-14 Bruno Haible <bruno@clisp.org>
-
- * hr.po: New file, from Denis Lackovic <delacko@fly.srk.fer.hr>.
- * LINGUAS: Add hr.
-
-2002-06-14 Bruno Haible <bruno@clisp.org>
-
- * pt_BR.po: Update from
- Alexandre Folle de Menezes <afmenez@terra.com.br>.
-
-2002-06-11 Bruno Haible <bruno@clisp.org>
-
- * sv.po: New file, from Christian Rose <menthos@menthos.com>.
- * LINGUAS: Add sv.
-
-2002-06-05 Bruno Haible <bruno@clisp.org>
-
- * pt_BR.po: New file, from
- Alexandre Folle de Menezes <afmenez@terra.com.br>.
- * LINGUAS: Add pt_BR.
-
-2002-06-03 Bruno Haible <bruno@clisp.org>
-
- * gl.po: New file, from Jacobo Tarrio <jtarrio@trasno.net>.
- * LINGUAS: Add gl.
-
-2002-05-31 Bruno Haible <bruno@clisp.org>
-
- * ca.po: New file, from Ivan Vilata i Balaguer <ivan@selidor.net>.
- * eo.po: New file, from Edmund Grimley Evans <edmundo@rano.org>.
- * hu.po: New file, from Emese Kovacs <emese@gnome.hu>.
- * sk.po: New file, from Marcel Telka <marcel@telka.sk>.
- * LINGUAS: Add ca, eo, hu, sk.
-
-2002-04-27 gettextize <bug-gnu-gettext@gnu.org>
-
- * Makefile.in.in: New file, from gettext-0.11.1.
- * Rules-quot: New file, from gettext-0.11.1.
- * boldquot.sed: New file, from gettext-0.11.1.
- * en@boldquot.header: New file, from gettext-0.11.1.
- * en@quot.header: New file, from gettext-0.11.1.
- * insert-header.sin: New file, from gettext-0.11.1.
- * quot.sed: New file, from gettext-0.11.1.
- * remove-potcdate.sin: New file, from gettext-0.11.1.
-
diff --git a/gnuwin32/lib/charset.alias b/gnuwin32/lib/charset.alias
deleted file mode 100644
index 204ab43a..00000000
--- a/gnuwin32/lib/charset.alias
+++ /dev/null
@@ -1,4 +0,0 @@
-# This file contains a table of character encoding aliases,
-# suitable for operating system 'mingw32'.
-# It was automatically generated from config.charset.
-# Packages using this file:
diff --git a/gnuwin32/lib/libcharset.la b/gnuwin32/lib/libcharset.la
deleted file mode 100644
index 85ed6289..00000000
--- a/gnuwin32/lib/libcharset.la
+++ /dev/null
@@ -1,35 +0,0 @@
-# libcharset.la - a libtool library file
-# Generated by ltmain.sh - GNU libtool 1.5 (1.1220 2003/04/05 19:32:58)
-#
-# Please DO NOT delete this file!
-# It is necessary for linking the library.
-
-# The name that we can dlopen(3).
-dlname='../bin/libcharset1.dll'
-
-# Names of this library.
-library_names='libcharset.dll.a'
-
-# The name of the static archive.
-old_library=''
-
-# Libraries that this one depends upon.
-dependency_libs=''
-
-# Version information for libcharset.
-current=1
-age=0
-revision=0
-
-# Is this an already installed library?
-installed=yes
-
-# Should we warn about portability when linking against -modules?
-shouldnotlink=no
-
-# Files to dlopen/dlpreopen
-dlopen=''
-dlpreopen=''
-
-# Directory that this library needs to be installed in:
-libdir='C:/Users/marius/DOWNLO~1/WEBKIT~1/install/lib'
diff --git a/gnuwin32/lib/libcharset.la.orig b/gnuwin32/lib/libcharset.la.orig
deleted file mode 100644
index bc1e4484..00000000
--- a/gnuwin32/lib/libcharset.la.orig
+++ /dev/null
@@ -1,35 +0,0 @@
-# libcharset.la - a libtool library file
-# Generated by ltmain.sh - GNU libtool 1.5 (1.1220 2003/04/05 19:32:58)
-#
-# Please DO NOT delete this file!
-# It is necessary for linking the library.
-
-# The name that we can dlopen(3).
-dlname='../bin/libcharset1.dll'
-
-# Names of this library.
-library_names='libcharset.dll.a'
-
-# The name of the static archive.
-old_library=''
-
-# Libraries that this one depends upon.
-dependency_libs=''
-
-# Version information for libcharset.
-current=1
-age=0
-revision=0
-
-# Is this an already installed library?
-installed=yes
-
-# Should we warn about portability when linking against -modules?
-shouldnotlink=no
-
-# Files to dlopen/dlpreopen
-dlopen=''
-dlpreopen=''
-
-# Directory that this library needs to be installed in:
-libdir='c:/progra~1/LibIconv/lib'
diff --git a/gnuwin32/lib/libiconv.la b/gnuwin32/lib/libiconv.la
deleted file mode 100644
index 839df51b..00000000
--- a/gnuwin32/lib/libiconv.la
+++ /dev/null
@@ -1,35 +0,0 @@
-# libiconv.la - a libtool library file
-# Generated by ltmain.sh - GNU libtool 1.5 (1.1220 2003/04/05 19:32:58)
-#
-# Please DO NOT delete this file!
-# It is necessary for linking the library.
-
-# The name that we can dlopen(3).
-dlname='../bin/libiconv2.dll'
-
-# Names of this library.
-library_names='libiconv.dll.a'
-
-# The name of the static archive.
-old_library=''
-
-# Libraries that this one depends upon.
-dependency_libs=''
-
-# Version information for libiconv.
-current=4
-age=2
-revision=0
-
-# Is this an already installed library?
-installed=yes
-
-# Should we warn about portability when linking against -modules?
-shouldnotlink=no
-
-# Files to dlopen/dlpreopen
-dlopen=''
-dlpreopen=''
-
-# Directory that this library needs to be installed in:
-libdir='C:/Users/marius/DOWNLO~1/WEBKIT~1/install/lib'
diff --git a/gnuwin32/lib/libiconv.la.orig b/gnuwin32/lib/libiconv.la.orig
deleted file mode 100644
index b894609c..00000000
--- a/gnuwin32/lib/libiconv.la.orig
+++ /dev/null
@@ -1,35 +0,0 @@
-# libiconv.la - a libtool library file
-# Generated by ltmain.sh - GNU libtool 1.5 (1.1220 2003/04/05 19:32:58)
-#
-# Please DO NOT delete this file!
-# It is necessary for linking the library.
-
-# The name that we can dlopen(3).
-dlname='../bin/libiconv2.dll'
-
-# Names of this library.
-library_names='libiconv.dll.a'
-
-# The name of the static archive.
-old_library=''
-
-# Libraries that this one depends upon.
-dependency_libs=''
-
-# Version information for libiconv.
-current=4
-age=2
-revision=0
-
-# Is this an already installed library?
-installed=yes
-
-# Should we warn about portability when linking against -modules?
-shouldnotlink=no
-
-# Files to dlopen/dlpreopen
-dlopen=''
-dlpreopen=''
-
-# Directory that this library needs to be installed in:
-libdir='c:/progra~1/LibIconv/lib'
diff --git a/gnuwin32/man/cat1/gperf.1.txt b/gnuwin32/man/cat1/gperf.1.txt
deleted file mode 100644
index d9e128c7..00000000
--- a/gnuwin32/man/cat1/gperf.1.txt
+++ /dev/null
@@ -1,226 +0,0 @@
-GPERF(1) FSF GPERF(1)
-
-
-
-
-
-NAME
- gperf - generate a perfect hash function from a key set
-
-SYNOPSIS
- gperf [OPTION]... [INPUT-FILE]
-
-DESCRIPTION
- GNU 'gperf' generates perfect hash functions.
-
- If a long option shows an argument as mandatory, then it
- is mandatory for the equivalent short option also.
-
- Output file location:
- --output-file=FILE Write output to specified file.
-
- The results are written to standard output if no output
- file is specified or if it is -.
-
- Input file interpretation:
- -e, --delimiters=DELIMITER-LIST
- Allow user to provide a string containing delim-
- iters used to separate keywords from their
- attributes. Default is ",".
-
- -t, --struct-type
- Allows the user to include a structured type dec-
- laration for generated code. Any text before %%
- is considered part of the type declaration. Key
- words and additional fields may follow this, one
- group of fields per line.
-
- --ignore-case
- Consider upper and lower case ASCII characters as
- equivalent. Note that locale dependent case map-
- pings are ignored.
-
- Language for the output code:
- -L, --language=LANGUAGE-NAME
- Generates code in the specified language. Lan-
- guages handled are currently C++, ANSI-C, C, and
- KR-C. The default is C.
-
- Details in the output code:
- -K, --slot-name=NAME
- Select name of the keyword component in the key-
- word structure.
-
- -F, --initializer-suffix=INITIALIZERS
- Initializers for additional components in the
- keyword structure.
-
- -H, --hash-function-name=NAME
- Specify name of generated hash function. Default
- is 'hash'.
-
- -N, --lookup-function-name=NAME
- Specify name of generated lookup function.
- Default name is 'in_word_set'.
-
- -Z, --class-name=NAME
- Specify name of generated C++ class. Default name
- is 'Perfect_Hash'.
-
- -7, --seven-bit
- Assume 7-bit characters.
-
- -l, --compare-lengths
- Compare key lengths before trying a string com-
- parison. This is necessary if the keywords con-
- tain NUL bytes. It also helps cut down on the
- number of string comparisons made during the
- lookup.
-
- -c, --compare-strncmp
- Generate comparison code using strncmp rather
- than strcmp.
-
- -C, --readonly-tables
- Make the contents of generated lookup tables con-
- stant, i.e., readonly.
-
- -E, --enum
- Define constant values using an enum local to the
- lookup function rather than with defines.
-
- -I, --includes
- Include the necessary system include file
- <string.h> at the beginning of the code.
-
- -G, --global-table
- Generate the static table of keywords as a static
- global variable, rather than hiding it inside of
- the lookup function (which is the default behav-
- ior).
-
- -P, --pic
- Optimize the generated table for inclusion in
- shared libraries. This reduces the startup time
- of programs using a shared library containing the
- generated code.
-
- -Q, --string-pool-name=NAME
- Specify name of string pool generated by option
- --pic. Default name is 'stringpool'.
-
- --null-strings
- Use NULL strings instead of empty strings for
- empty keyword table entries.
-
- -W, --word-array-name=NAME
- Specify name of word list array. Default name is
- 'wordlist'.
-
- -S, --switch=COUNT
- Causes the generated C code to use a switch
- statement scheme, rather than an array lookup ta-
- ble. This can lead to a reduction in both time
- and space requirements for some keyfiles. The
- COUNT argument determines how many switch state-
- ments are generated. A value of 1 generates 1
- switch containing all the elements, a value of 2
- generates 2 tables with 1/2 the elements in each
- table, etc. If COUNT is very large, say 1000000,
- the generated C code does a binary search.
-
- -T, --omit-struct-type
- Prevents the transfer of the type declaration to
- the output file. Use this option if the type is
- already defined elsewhere.
-
- Algorithm employed by gperf:
- -k, --key-positions=KEYS
- Select the key positions used in the hash func-
- tion. The allowable choices range between 1-255,
- inclusive. The positions are separated by com-
- mas, ranges may be used, and key positions may
- occur in any order. Also, the meta-character '*'
- causes the generated hash function to consider
- ALL key positions, and $ indicates the "final
- character" of a key, e.g., $,1,2,4,6-10.
-
- -D, --duplicates
- Handle keywords that hash to duplicate values.
- This is useful for certain highly redundant key-
- word sets.
-
- -m, --multiple-iterations=ITERATIONS
- Perform multiple choices of the -i and -j values,
- and choose the best results. This increases the
- running time by a factor of ITERATIONS but does a
- good job minimizing the generated table size.
-
- -i, --initial-asso=N
- Provide an initial value for the associate values
- array. Default is 0. Setting this value larger
- helps inflate the size of the final table.
-
- -j, --jump=JUMP-VALUE
- Affects the "jump value", i.e., how far to
- advance the associated character value upon col-
- lisions. Must be an odd number, default is 5.
-
- -n, --no-strlen
- Do not include the length of the keyword when
- computing the hash function.
-
- -r, --random
- Utilizes randomness to initialize the associated
- values table.
-
- -s, --size-multiple=N
- Affects the size of the generated hash table. The
- numeric argument N indicates "how many times
- larger or smaller" the associated value range
- should be, in relationship to the number of keys,
- e.g. a value of 3 means "allow the maximum asso-
- ciated value to be about 3 times larger than the
- number of input keys". Conversely, a value of 1/3
- means "make the maximum associated value about 3
- times smaller than the number of input keys". A
- larger table should decrease the time required
- for an unsuccessful search, at the expense of
- extra table space. Default value is 1.
-
- Informative output:
- -h, --help
- Print this message.
-
- -v, --version
- Print the gperf version number.
-
- -d, --debug
- Enables the debugging option (produces verbose
- output to the standard error).
-
-AUTHOR
- Written by Douglas C. Schmidt and Bruno Haible.
-
-REPORTING BUGS
- Report bugs to <bug-gnu-gperf@gnu.org>.
-
-COPYRIGHT
- Copyright (C) 1989-1998, 2000-2003 Free Software Founda-
- tion, Inc.
- This is free software; see the source for copying condi-
- tions. There is NO warranty; not even for MERCHANTABIL-
- ITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-SEE ALSO
- The full documentation for gperf is maintained as a Tex-
- info manual. If the info and gperf programs are prop-
- erly installed at your site, the command
-
- info gperf
-
- should give you access to the complete manual.
-
-
-
-GNU gperf 3.0.1 June 2003 GPERF(1)
diff --git a/gnuwin32/man/cat1/iconv.1.txt b/gnuwin32/man/cat1/iconv.1.txt
deleted file mode 100644
index 2089d32e..00000000
--- a/gnuwin32/man/cat1/iconv.1.txt
+++ /dev/null
@@ -1,48 +0,0 @@
-ICONV(1) Linux Programmer's Manual ICONV(1)
-
-
-
-
-
-NAME
- iconv - character set conversion
-
-SYNOPSIS
- iconv [-c] [-s] [-f encoding] [-t encoding] [inputfile ...]
- iconv -l
-
-DESCRIPTION
- The iconv program converts text from one encoding to
- another encoding. More precisely, it converts from the
- encoding given for the -f option to the encoding given
- for the -t option. Either of these encodings defaults to
- the encoding of the current locale. All the inputfiles
- are read and converted in turn; if no inputfile is
- given, the standard input is used. The converted text is
- printed to standard output.
-
- When option -c is given, characters that cannot be con-
- verted are silently discarded, instead of leading to a
- conversion error.
-
- When option -s is given, error messages about invalid or
- unconvertible characters are omitted, but the actual
- converted text is unaffected.
-
- The encodings permitted are system dependent. For the
- libiconv implementation, they are listed in the
- iconv_open(3) manual page.
-
- The iconv -l command lists the names of the supported
- encodings, in a system dependent format. For the libi-
- conv implementation, the names are printed in upper
- case, separated by whitespace, and alias names of an
- encoding are listed on the same line as the encoding
- itself.
-
-SEE ALSO
- iconv_open(3), locale(7)
-
-
-
-GNU January 13, 2002 ICONV(1)
diff --git a/gnuwin32/man/cat1/yacc.1.txt b/gnuwin32/man/cat1/yacc.1.txt
deleted file mode 100644
index ada6a5c1..00000000
--- a/gnuwin32/man/cat1/yacc.1.txt
+++ /dev/null
@@ -1,42 +0,0 @@
-YACC(1) User Commands YACC(1)
-
-
-
-NAME
- yacc - GNU Project parser generator
-
-SYNOPSIS
- yacc [OPTION]... FILE
-
-DESCRIPTION
- Yacc (Yet Another Compiler Compiler) is a parser genera-
- tor. This version is a simple wrapper around bison(1).
- It passes option -y, --yacc to activate the upward com-
- patibility mode. See bison(1) for more information.
-
-AUTHOR
- Written by Paul Eggert.
-
-REPORTING BUGS
- Report bugs to <bug-bison@gnu.org>.
-
-COPYRIGHT
- Copyright © 2008 Free Software Foundation, Inc.
- This is free software; see the source for copying condi-
- tions. There is NO warranty; not even for MERCHANTABIL-
- ITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-SEE ALSO
- lex(1), flex(1), bison(1).
-
- The full documentation for bison is maintained as a Tex-
- info manual. If the info and bison programs are prop-
- erly installed at your site, the command
-
- info bison
-
- should give you access to the complete manual.
-
-
-
-GNU Bison 2.4.1 November 2007 YACC(1)
diff --git a/gnuwin32/man/cat1p/yacc.1p.txt b/gnuwin32/man/cat1p/yacc.1p.txt
deleted file mode 100644
index cab30089..00000000
--- a/gnuwin32/man/cat1p/yacc.1p.txt
+++ /dev/null
@@ -1,1269 +0,0 @@
-YACC(1P) POSIX Programmer's Manual YACC(1P)
-
-
-
-PROLOG
- This manual page is part of the POSIX Programmer's Man-
- ual. The Linux implementation of this interface may
- differ (consult the corresponding Linux manual page for
- details of Linux behavior), or the interface may not be
- implemented on Linux.
-
-NAME
- yacc - yet another compiler compiler (DEVELOPMENT)
-
-SYNOPSIS
- yacc [-dltv][-b file_prefix][-p sym_prefix] grammar
-
-DESCRIPTION
- The yacc utility shall read a description of a context-
- free grammar in grammar and write C source code, con-
- forming to the ISO C standard, to a code file, and
- optionally header information into a header file, in the
- current directory. The C code shall define a function
- and related routines and macros for an automaton that
- executes a parsing algorithm meeting the requirements in
- Algorithms .
-
- The form and meaning of the grammar are described in the
- EXTENDED DESCRIPTION section.
-
- The C source code and header file shall be produced in a
- form suitable as input for the C compiler (see c99 ).
-
-OPTIONS
- The yacc utility shall conform to the Base Definitions
- volume of IEEE Std 1003.1-2001, Section 12.2, Utility
- Syntax Guidelines.
-
- The following options shall be supported:
-
- -b file_prefix
- Use file_prefix instead of y as the prefix for
- all output filenames. The code file y.tab.c, the
- header file y.tab.h (created when -d is speci-
- fied), and the description file y.output (created
- when -v is specified), shall be changed to
- file_prefix .tab.c, file_prefix .tab.h, and
- file_prefix .output, respectively.
-
- -d Write the header file; by default only the code
- file is written. The #define statements associate
- the token codes assigned by yacc with the user-
- declared token names. This allows source files
- other than y.tab.c to access the token codes.
-
- -l Produce a code file that does not contain any
- #line constructs. If this option is not present,
- it is unspecified whether the code file or header
- file contains #line directives. This should only
- be used after the grammar and the associated
- actions are fully debugged.
-
- -p sym_prefix
-
- Use sym_prefix instead of yy as the prefix for
- all external names produced by yacc. The names
- affected shall include the functions yyparse(),
- yylex(), and yyerror(), and the variables yylval,
- yychar, and yydebug. (In the remainder of this
- section, the six symbols cited are referenced
- using their default names only as a notational
- convenience.) Local names may also be affected by
- the -p option; however, the -p option shall not
- affect #define symbols generated by yacc.
-
- -t Modify conditional compilation directives to per-
- mit compilation of debugging code in the code
- file. Runtime debugging statements shall always
- be contained in the code file, but by default
- conditional compilation directives prevent their
- compilation.
-
- -v Write a file containing a description of the
- parser and a report of conflicts generated by
- ambiguities in the grammar.
-
-
-OPERANDS
- The following operand is required:
-
- grammar
- A pathname of a file containing instructions,
- hereafter called grammar, for which a parser is
- to be created. The format for the grammar is
- described in the EXTENDED DESCRIPTION section.
-
-
-STDIN
- Not used.
-
-INPUT FILES
- The file grammar shall be a text file formatted as spec-
- ified in the EXTENDED DESCRIPTION section.
-
-ENVIRONMENT VARIABLES
- The following environment variables shall affect the
- execution of yacc:
-
- LANG Provide a default value for the internationaliza-
- tion variables that are unset or null. (See the
- Base Definitions volume of IEEE Std 1003.1-2001,
- Section 8.2, Internationalization Variables for
- the precedence of internationalization variables
- used to determine the values of locale cate-
- gories.)
-
- LC_ALL If set to a non-empty string value, override the
- values of all the other internationalization
- variables.
-
- LC_CTYPE
- Determine the locale for the interpretation of
- sequences of bytes of text data as characters
- (for example, single-byte as opposed to multi-
- byte characters in arguments and input files).
-
- LC_MESSAGES
- Determine the locale that should be used to
- affect the format and contents of diagnostic mes-
- sages written to standard error.
-
- NLSPATH
- Determine the location of message catalogs for
- the processing of LC_MESSAGES .
-
-
- The LANG and LC_* variables affect the execution of the
- yacc utility as stated. The main() function defined in
- Yacc Library shall call:
-
-
- setlocale(LC_ALL, "")
-
- and thus the program generated by yacc shall also be
- affected by the contents of these variables at runtime.
-
-ASYNCHRONOUS EVENTS
- Default.
-
-STDOUT
- Not used.
-
-STDERR
- If shift/reduce or reduce/reduce conflicts are detected
- in grammar, yacc shall write a report of those conflicts
- to the standard error in an unspecified format.
-
- Standard error shall also be used for diagnostic mes-
- sages.
-
-OUTPUT FILES
- The code file, the header file, and the description file
- shall be text files. All are described in the following
- sections.
-
- Code File
- This file shall contain the C source code for the
- yyparse() function. It shall contain code for the vari-
- ous semantic actions with macro substitution performed
- on them as described in the EXTENDED DESCRIPTION sec-
- tion. It also shall contain a copy of the #define state-
- ments in the header file. If a %union declaration is
- used, the declaration for YYSTYPE shall also be included
- in this file.
-
- Header File
- The header file shall contain #define statements that
- associate the token numbers with the token names. This
- allows source files other than the code file to access
- the token codes. If a %union declaration is used, the
- declaration for YYSTYPE and an extern YYSTYPE yylval
- declaration shall also be included in this file.
-
- Description File
- The description file shall be a text file containing a
- description of the state machine corresponding to the
- parser, using an unspecified format. Limits for internal
- tables (see Limits ) shall also be reported, in an
- implementation-defined manner. (Some implementations may
- use dynamic allocation techniques and have no specific
- limit values to report.)
-
-EXTENDED DESCRIPTION
- The yacc command accepts a language that is used to
- define a grammar for a target language to be parsed by
- the tables and code generated by yacc. The language
- accepted by yacc as a grammar for the target language is
- described below using the yacc input language itself.
-
- The input grammar includes rules describing the input
- structure of the target language and code to be invoked
- when these rules are recognized to provide the associ-
- ated semantic action. The code to be executed shall
- appear as bodies of text that are intended to be C-lan-
- guage code. The C-language inclusions are presumed to
- form a correct function when processed by yacc into its
- output files. The code included in this way shall be
- executed during the recognition of the target language.
-
- Given a grammar, the yacc utility generates the files
- described in the OUTPUT FILES section. The code file can
- be compiled and linked using c99. If the declaration and
- programs sections of the grammar file did not include
- definitions of main(), yylex(), and yyerror(), the com-
- piled output requires linking with externally supplied
- versions of those functions. Default versions of main()
- and yyerror() are supplied in the yacc library and can
- be linked in by using the -l y operand to c99. The yacc
- library interfaces need not support interfaces with
- other than the default yy symbol prefix. The application
- provides the lexical analyzer function, yylex(); the lex
- utility is specifically designed to generate such a rou-
- tine.
-
- Input Language
- The application shall ensure that every specification
- file consists of three sections in order: declarations,
- grammar rules, and programs, separated by double percent
- signs ( "%%" ). The declarations and programs sections
- can be empty. If the latter is empty, the preceding "%%"
- mark separating it from the rules section can be omit-
- ted.
-
- The input is free form text following the structure of
- the grammar defined below.
-
- Lexical Structure of the Grammar
- The <blank>s, <newline>s, and <form-feed>s shall be
- ignored, except that the application shall ensure that
- they do not appear in names or multi-character reserved
- symbols. Comments shall be enclosed in "/* ... */", and
- can appear wherever a name is valid.
-
- Names are of arbitrary length, made up of letters, peri-
- ods ( '.' ), underscores ( '_' ), and non-initial dig-
- its. Uppercase and lowercase letters are distinct. Con-
- forming applications shall not use names beginning in yy
- or YY since the yacc parser uses such names. Many of the
- names appear in the final output of yacc, and thus they
- should be chosen to conform with any additional rules
- created by the C compiler to be used. In particular they
- appear in #define statements.
-
- A literal shall consist of a single character enclosed
- in single-quotes ( '" ). All of the escape sequences
- supported for character constants by the ISO C standard
- shall be supported by yacc.
-
- The relationship with the lexical analyzer is discussed
- in detail below.
-
- The application shall ensure that the NUL character is
- not used in grammar rules or literals.
-
- Declarations Section
- The declarations section is used to define the symbols
- used to define the target language and their relation-
- ship with each other. In particular, much of the addi-
- tional information required to resolve ambiguities in
- the context-free grammar for the target language is pro-
- vided here.
-
- Usually yacc assigns the relationship between the sym-
- bolic names it generates and their underlying numeric
- value. The declarations section makes it possible to
- control the assignment of these values.
-
- It is also possible to keep semantic information associ-
- ated with the tokens currently on the parse stack in a
- user-defined C-language union, if the members of the
- union are associated with the various names in the gram-
- mar. The declarations section provides for this as well.
-
- The first group of declarators below all take a list of
- names as arguments. That list can optionally be pre-
- ceded by the name of a C union member (called a tag
- below) appearing within '<' and '>' . (As an exception
- to the typographical conventions of the rest of this
- volume of IEEE Std 1003.1-2001, in this case <tag> does
- not represent a metavariable, but the literal angle
- bracket characters surrounding a symbol.) The use of tag
- specifies that the tokens named on this line shall be of
- the same C type as the union member referenced by tag.
- This is discussed in more detail below.
-
- For lists used to define tokens, the first appearance of
- a given token can be followed by a positive integer (as
- a string of decimal digits). If this is done, the under-
- lying value assigned to it for lexical purposes shall be
- taken to be that number.
-
- The following declares name to be a token:
-
-
- %token [<tag>] name [number][name [number]]...
-
- If tag is present, the C type for all tokens on this
- line shall be declared to be the type referenced by tag.
- If a positive integer, number, follows a name, that
- value shall be assigned to the token.
-
- The following declares name to be a token, and assigns
- precedence to it:
-
-
- %left [<tag>] name [number][name [number]]...
- %right [<tag>] name [number][name [number]]...
-
- One or more lines, each beginning with one of these sym-
- bols, can appear in this section. All tokens on the same
- line have the same precedence level and associativity;
- the lines are in order of increasing precedence or bind-
- ing strength. %left denotes that the operators on that
- line are left associative, and %right similarly denotes
- right associative operators. If tag is present, it shall
- declare a C type for names as described for %token.
-
- The following declares name to be a token, and indicates
- that this cannot be used associatively:
-
-
- %nonassoc [<tag>] name [number][name [number]]...
-
- If the parser encounters associative use of this token
- it reports an error. If tag is present, it shall declare
- a C type for names as described for %token.
-
- The following declares that union member names are non-
- terminals, and thus it is required to have a tag field
- at its beginning:
-
-
- %type <tag> name...
-
- Because it deals with non-terminals only, assigning a
- token number or using a literal is also prohibited. If
- this construct is present, yacc shall perform type
- checking; if this construct is not present, the parse
- stack shall hold only the int type.
-
- Every name used in grammar not defined by a %token,
- %left, %right, or %nonassoc declaration is assumed to
- represent a non-terminal symbol. The yacc utility shall
- report an error for any non-terminal symbol that does
- not appear on the left side of at least one grammar
- rule.
-
- Once the type, precedence, or token number of a name is
- specified, it shall not be changed. If the first decla-
- ration of a token does not assign a token number, yacc
- shall assign a token number. Once this assignment is
- made, the token number shall not be changed by explicit
- assignment.
-
- The following declarators do not follow the previous
- pattern.
-
- The following declares the non-terminal name to be the
- start symbol, which represents the largest, most general
- structure described by the grammar rules:
-
-
- %start name
-
- By default, it is the left-hand side of the first gram-
- mar rule; this default can be overridden with this dec-
- laration.
-
- The following declares the yacc value stack to be a
- union of the various types of values desired:
-
-
- %union { body of union (in C) }
-
- By default, the values returned by actions (see below)
- and the lexical analyzer shall be of type int. The yacc
- utility keeps track of types, and it shall insert corre-
- sponding union member names in order to perform strict
- type checking of the resulting parser.
-
- Alternatively, given that at least one <tag> construct
- is used, the union can be declared in a header file
- (which shall be included in the declarations section by
- using a #include construct within %{ and %}), and a
- typedef used to define the symbol YYSTYPE to represent
- this union. The effect of %union is to provide the dec-
- laration of YYSTYPE directly from the yacc input.
-
- C-language declarations and definitions can appear in
- the declarations section, enclosed by the following
- marks:
-
-
- %{ ... %}
-
- These statements shall be copied into the code file, and
- have global scope within it so that they can be used in
- the rules and program sections.
-
- The application shall ensure that the declarations sec-
- tion is terminated by the token %%.
-
- Grammar Rules in yacc
- The rules section defines the context-free grammar to be
- accepted by the function yacc generates, and associates
- with those rules C-language actions and additional
- precedence information. The grammar is described below,
- and a formal definition follows.
-
- The rules section is comprised of one or more grammar
- rules. A grammar rule has the form:
-
-
- A : BODY ;
-
- The symbol A represents a non-terminal name, and BODY
- represents a sequence of zero or more names, literals,
- and semantic actions that can then be followed by
- optional precedence rules. Only the names and literals
- participate in the formation of the grammar; the seman-
- tic actions and precedence rules are used in other ways.
- The colon and the semicolon are yacc punctuation. If
- there are several successive grammar rules with the same
- left-hand side, the vertical bar '|' can be used to
- avoid rewriting the left-hand side; in this case the
- semicolon appears only after the last rule. The BODY
- part can be empty (or empty of names and literals) to
- indicate that the non-terminal symbol matches the empty
- string.
-
- The yacc utility assigns a unique number to each rule.
- Rules using the vertical bar notation are distinct
- rules. The number assigned to the rule appears in the
- description file.
-
- The elements comprising a BODY are:
-
- name, literal
- These form the rules of the grammar: name is
- either a token or a non-terminal; literal stands
- for itself (less the lexically required quotation
- marks).
-
- semantic action
-
- With each grammar rule, the user can associate
- actions to be performed each time the rule is
- recognized in the input process. (Note that the
- word "action" can also refer to the actions of
- the parser-shift, reduce, and so on.)
-
- These actions can return values and can obtain the val-
- ues returned by previous actions. These values are kept
- in objects of type YYSTYPE (see %union). The result
- value of the action shall be kept on the parse stack
- with the left-hand side of the rule, to be accessed by
- other reductions as part of their right-hand side. By
- using the <tag> information provided in the declarations
- section, the code generated by yacc can be strictly type
- checked and contain arbitrary information. In addition,
- the lexical analyzer can provide the same kinds of val-
- ues for tokens, if desired.
-
- An action is an arbitrary C statement and as such can do
- input or output, call subprograms, and alter external
- variables. An action is one or more C statements
- enclosed in curly braces '{' and '}' .
-
- Certain pseudo-variables can be used in the action.
- These are macros for access to data structures known
- internally to yacc.
-
- $$
- The value of the action can be set by assigning
- it to $$. If type checking is enabled and the
- type of the value to be assigned cannot be deter-
- mined, a diagnostic message may be generated.
-
- $number
- This refers to the value returned by the compo-
- nent specified by the token number in the right
- side of a rule, reading from left to right; num-
- ber can be zero or negative. If number is zero or
- negative, it refers to the data associated with
- the name on the parser's stack preceding the
- leftmost symbol of the current rule. (That is,
- "$0" refers to the name immediately preceding the
- leftmost name in the current rule to be found on
- the parser's stack and "$-1" refers to the symbol
- to its left.) If number refers to an element past
- the current point in the rule, or beyond the bot-
- tom of the stack, the result is undefined. If
- type checking is enabled and the type of the
- value to be assigned cannot be determined, a
- diagnostic message may be generated.
-
- $<tag>number
-
- These correspond exactly to the corresponding
- symbols without the tag inclusion, but allow for
- strict type checking (and preclude unwanted type
- conversions). The effect is that the macro is
- expanded to use tag to select an element from the
- YYSTYPE union (using dataname.tag). This is par-
- ticularly useful if number is not positive.
-
- $<tag>$
- This imposes on the reference the type of the
- union member referenced by tag. This construction
- is applicable when a reference to a left context
- value occurs in the grammar, and provides yacc
- with a means for selecting a type.
-
-
- Actions can occur anywhere in a rule (not just at the
- end); an action can access values returned by actions to
- its left, and in turn the value it returns can be
- accessed by actions to its right. An action appearing
- in the middle of a rule shall be equivalent to replacing
- the action with a new non-terminal symbol and adding an
- empty rule with that non-terminal symbol on the left-
- hand side. The semantic action associated with the new
- rule shall be equivalent to the original action. The use
- of actions within rules might introduce conflicts that
- would not otherwise exist.
-
- By default, the value of a rule shall be the value of
- the first element in it. If the first element does not
- have a type (particularly in the case of a literal) and
- type checking is turned on by %type, an error message
- shall result.
-
- precedence
- The keyword %prec can be used to change the
- precedence level associated with a particular
- grammar rule. Examples of this are in cases where
- a unary and binary operator have the same sym-
- bolic representation, but need to be given dif-
- ferent precedences, or where the handling of an
- ambiguous if-else construction is necessary. The
- reserved symbol %prec can appear immediately
- after the body of the grammar rule and can be
- followed by a token name or a literal. It shall
- cause the precedence of the grammar rule to
- become that of the following token name or lit-
- eral. The action for the rule as a whole can fol-
- low %prec.
-
-
- If a program section follows, the application shall
- ensure that the grammar rules are terminated by %%.
-
- Programs Section
- The programs section can include the definition of the
- lexical analyzer yylex(), and any other functions; for
- example, those used in the actions specified in the
- grammar rules. It is unspecified whether the programs
- section precedes or follows the semantic actions in the
- output file; therefore, if the application contains any
- macro definitions and declarations intended to apply to
- the code in the semantic actions, it shall place them
- within "%{ ... %}" in the declarations section.
-
- Input Grammar
- The following input to yacc yields a parser for the
- input to yacc. This formal syntax takes precedence over
- the preceding text syntax description.
-
- The lexical structure is defined less precisely; Lexical
- Structure of the Grammar defines most terms. The corre-
- spondence between the previous terms and the tokens
- below is as follows.
-
- IDENTIFIER
- This corresponds to the concept of name, given
- previously. It also includes literals as defined
- previously.
-
- C_IDENTIFIER
- This is a name, and additionally it is known to
- be followed by a colon. A literal cannot yield
- this token.
-
- NUMBER A string of digits (a non-negative decimal inte-
- ger).
-
- TYPE, LEFT, MARK, LCURL, RCURL
-
- These correspond directly to %type, %left, %%,
- %{, and %}.
-
- { ... }
- This indicates C-language source code, with the
- possible inclusion of '$' macros as discussed
- previously.
-
-
-
- /* Grammar for the input to yacc. */
- /* Basic entries. */
- /* The following are recognized by the lexical analyzer. */
-
-
- %token IDENTIFIER /* Includes identifiers and literals */
- %token C_IDENTIFIER /* identifier (but not literal)
- followed by a :. */
- %token NUMBER /* [0-9][0-9]* */
-
-
- /* Reserved words : %type=>TYPE %left=>LEFT, and so on */
-
-
- %token LEFT RIGHT NONASSOC TOKEN PREC TYPE START UNION
-
-
- %token MARK /* The %% mark. */
- %token LCURL /* The %{ mark. */
- %token RCURL /* The %} mark. */
-
-
- /* 8-bit character literals stand for themselves; */
- /* tokens have to be defined for multi-byte characters. */
-
-
- %start spec
-
-
- %%
-
-
- spec : defs MARK rules tail
- ;
- tail : MARK
- {
- /* In this action, set up the rest of the file. */
- }
- | /* Empty; the second MARK is optional. */
- ;
- defs : /* Empty. */
- | defs def
- ;
- def : START IDENTIFIER
- | UNION
- {
- /* Copy union definition to output. */
- }
- | LCURL
- {
- /* Copy C code to output file. */
- }
- RCURL
- | rword tag nlist
- ;
- rword : TOKEN
- | LEFT
- | RIGHT
- | NONASSOC
- | TYPE
- ;
- tag : /* Empty: union tag ID optional. */
- | '<' IDENTIFIER '>'
- ;
- nlist : nmno
- | nlist nmno
- ;
- nmno : IDENTIFIER /* Note: literal invalid with % type. */
- | IDENTIFIER NUMBER /* Note: invalid with % type. */
- ;
-
-
- /* Rule section */
-
-
- rules : C_IDENTIFIER rbody prec
- | rules rule
- ;
- rule : C_IDENTIFIER rbody prec
- | '|' rbody prec
- ;
- rbody : /* empty */
- | rbody IDENTIFIER
- | rbody act
- ;
- act : '{'
- {
- /* Copy action, translate $$, and so on. */
- }
- '}'
- ;
- prec : /* Empty */
- | PREC IDENTIFIER
- | PREC IDENTIFIER act
- | prec ';'
- ;
-
- Conflicts
- The parser produced for an input grammar may contain
- states in which conflicts occur. The conflicts occur
- because the grammar is not LALR(1). An ambiguous grammar
- always contains at least one LALR(1) conflict. The yacc
- utility shall resolve all conflicts, using either
- default rules or user-specified precedence rules.
-
- Conflicts are either shift/reduce conflicts or
- reduce/reduce conflicts. A shift/reduce conflict is
- where, for a given state and lookahead symbol, both a
- shift action and a reduce action are possible. A
- reduce/reduce conflict is where, for a given state and
- lookahead symbol, reductions by two different rules are
- possible.
-
- The rules below describe how to specify what actions to
- take when a conflict occurs. Not all shift/reduce con-
- flicts can be successfully resolved this way because the
- conflict may be due to something other than ambiguity,
- so incautious use of these facilities can cause the lan-
- guage accepted by the parser to be much different from
- that which was intended. The description file shall con-
- tain sufficient information to understand the cause of
- the conflict. Where ambiguity is the reason either the
- default or explicit rules should be adequate to produce
- a working parser.
-
- The declared precedences and associativities (see Decla-
- rations Section ) are used to resolve parsing conflicts
- as follows:
-
- 1. A precedence and associativity is associated with
- each grammar rule; it is the precedence and associa-
- tivity of the last token or literal in the body of
- the rule. If the %prec keyword is used, it overrides
- this default. Some grammar rules might not have both
- precedence and associativity.
-
-
- 2. If there is a shift/reduce conflict, and both the
- grammar rule and the input symbol have precedence
- and associativity associated with them, then the
- conflict is resolved in favor of the action (shift
- or reduce) associated with the higher precedence. If
- the precedences are the same, then the associativity
- is used; left associative implies reduce, right
- associative implies shift, and non-associative
- implies an error in the string being parsed.
-
-
- 3. When there is a shift/reduce conflict that cannot be
- resolved by rule 2, the shift is done. Conflicts
- resolved this way are counted in the diagnostic out-
- put described in Error Handling .
-
-
- 4. When there is a reduce/reduce conflict, a reduction
- is done by the grammar rule that occurs earlier in
- the input sequence. Conflicts resolved this way are
- counted in the diagnostic output described in Error
- Handling .
-
-
- Conflicts resolved by precedence or associativity shall
- not be counted in the shift/reduce and reduce/reduce
- conflicts reported by yacc on either standard error or
- in the description file.
-
- Error Handling
- The token error shall be reserved for error handling.
- The name error can be used in grammar rules. It indi-
- cates places where the parser can recover from a syntax
- error. The default value of error shall be 256. Its
- value can be changed using a %token declaration. The
- lexical analyzer should not return the value of error.
-
- The parser shall detect a syntax error when it is in a
- state where the action associated with the lookahead
- symbol is error. A semantic action can cause the parser
- to initiate error handling by executing the macro YYER-
- ROR. When YYERROR is executed, the semantic action
- passes control back to the parser. YYERROR cannot be
- used outside of semantic actions.
-
- When the parser detects a syntax error, it normally
- calls yyerror() with the character string "syntax error"
- as its argument. The call shall not be made if the
- parser is still recovering from a previous error when
- the error is detected. The parser is considered to be
- recovering from a previous error until the parser has
- shifted over at least three normal input symbols since
- the last error was detected or a semantic action has
- executed the macro yyerrok. The parser shall not call
- yyerror() when YYERROR is executed.
-
- The macro function YYRECOVERING shall return 1 if a syn-
- tax error has been detected and the parser has not yet
- fully recovered from it. Otherwise, zero shall be
- returned.
-
- When a syntax error is detected by the parser, the
- parser shall check if a previous syntax error has been
- detected. If a previous error was detected, and if no
- normal input symbols have been shifted since the preced-
- ing error was detected, the parser checks if the looka-
- head symbol is an endmarker (see Interface to the Lexi-
- cal Analyzer ). If it is, the parser shall return with a
- non-zero value. Otherwise, the lookahead symbol shall be
- discarded and normal parsing shall resume.
-
- When YYERROR is executed or when the parser detects a
- syntax error and no previous error has been detected, or
- at least one normal input symbol has been shifted since
- the previous error was detected, the parser shall pop
- back one state at a time until the parse stack is empty
- or the current state allows a shift over error. If the
- parser empties the parse stack, it shall return with a
- non-zero value. Otherwise, it shall shift over error and
- then resume normal parsing. If the parser reads a looka-
- head symbol before the error was detected, that symbol
- shall still be the lookahead symbol when parsing is
- resumed.
-
- The macro yyerrok in a semantic action shall cause the
- parser to act as if it has fully recovered from any pre-
- vious errors. The macro yyclearin shall cause the parser
- to discard the current lookahead token. If the current
- lookahead token has not yet been read, yyclearin shall
- have no effect.
-
- The macro YYACCEPT shall cause the parser to return with
- the value zero. The macro YYABORT shall cause the parser
- to return with a non-zero value.
-
- Interface to the Lexical Analyzer
- The yylex() function is an integer-valued function that
- returns a token number representing the kind of token
- read. If there is a value associated with the token
- returned by yylex() (see the discussion of tag above),
- it shall be assigned to the external variable yylval.
-
- If the parser and yylex() do not agree on these token
- numbers, reliable communication between them cannot
- occur. For (single-byte character) literals, the token
- is simply the numeric value of the character in the cur-
- rent character set. The numbers for other tokens can
- either be chosen by yacc, or chosen by the user. In
- either case, the #define construct of C is used to allow
- yylex() to return these numbers symbolically. The
- #define statements are put into the code file, and the
- header file if that file is requested. The set of char-
- acters permitted by yacc in an identifier is larger than
- that permitted by C. Token names found to contain such
- characters shall not be included in the #define declara-
- tions.
-
- If the token numbers are chosen by yacc, the tokens
- other than literals shall be assigned numbers greater
- than 256, although no order is implied. A token can be
- explicitly assigned a number by following its first
- appearance in the declarations section with a number.
- Names and literals not defined this way retain their
- default definition. All token numbers assigned by yacc
- shall be unique and distinct from the token numbers used
- for literals and user-assigned tokens. If duplicate
- token numbers cause conflicts in parser generation, yacc
- shall report an error; otherwise, it is unspecified
- whether the token assignment is accepted or an error is
- reported.
-
- The end of the input is marked by a special token called
- the endmarker, which has a token number that is zero or
- negative. (These values are invalid for any other
- token.) All lexical analyzers shall return zero or nega-
- tive as a token number upon reaching the end of their
- input. If the tokens up to, but excluding, the endmarker
- form a structure that matches the start symbol, the
- parser shall accept the input. If the endmarker is seen
- in any other context, it shall be considered an error.
-
- Completing the Program
- In addition to yyparse() and yylex(), the functions
- yyerror() and main() are required to make a complete
- program. The application can supply main() and yyer-
- ror(), or those routines can be obtained from the yacc
- library.
-
- Yacc Library
- The following functions shall appear only in the yacc
- library accessible through the -l y operand to c99; they
- can therefore be redefined by a conforming application:
-
- int main(void)
-
- This function shall call yyparse() and exit with
- an unspecified value. Other actions within this
- function are unspecified.
-
- int yyerror(const char *s)
-
- This function shall write the NUL-terminated
- argument to standard error, followed by a <new-
- line>.
-
-
- The order of the -l y and -l l operands given to c99 is
- significant; the application shall either provide its
- own main() function or ensure that -l y precedes -l l.
-
- Debugging the Parser
- The parser generated by yacc shall have diagnostic
- facilities in it that can be optionally enabled at
- either compile time or at runtime (if enabled at compile
- time). The compilation of the runtime debugging code is
- under the control of YYDEBUG, a preprocessor symbol. If
- YYDEBUG has a non-zero value, the debugging code shall
- be included. If its value is zero, the code shall not be
- included.
-
- In parsers where the debugging code has been included,
- the external int yydebug can be used to turn debugging
- on (with a non-zero value) and off (zero value) at run-
- time. The initial value of yydebug shall be zero.
-
- When -t is specified, the code file shall be built such
- that, if YYDEBUG is not already defined at compilation
- time (using the c99 -D YYDEBUG option, for example),
- YYDEBUG shall be set explicitly to 1. When -t is not
- specified, the code file shall be built such that, if
- YYDEBUG is not already defined, it shall be set explic-
- itly to zero.
-
- The format of the debugging output is unspecified but
- includes at least enough information to determine the
- shift and reduce actions, and the input symbols. It also
- provides information about error recovery.
-
- Algorithms
- The parser constructed by yacc implements an LALR(1)
- parsing algorithm as documented in the literature. It is
- unspecified whether the parser is table-driven or
- direct-coded.
-
- A parser generated by yacc shall never request an input
- symbol from yylex() while in a state where the only
- actions other than the error action are reductions by a
- single rule.
-
- The literature of parsing theory defines these concepts.
-
- Limits
- The yacc utility may have several internal tables. The
- minimum maximums for these tables are shown in the fol-
- lowing table. The exact meaning of these values is
- implementation-defined. The implementation shall define
- the relationship between these values and between them
- and any error messages that the implementation may gen-
- erate should it run out of space for any internal struc-
- ture. An implementation may combine groups of these
- resources into a single pool as long as the total avail-
- able to the user does not fall below the sum of the
- sizes specified by this section.
-
- Table: Internal Limits in yacc
-
- Minimum
- Limit Maximum Description
- {NTERMS} 126 Number of tokens.
- {NNONTERM} 200 Number of non-terminals.
- {NPROD} 300 Number of rules.
- {NSTATES} 600 Number of states.
- {MEMSIZE} 5200 Length of rules. The total length, in
- names (tokens and non-terminals), of all
- the rules of the grammar. The left-hand
- side is counted for each rule, even if
- it is not explicitly repeated, as speci-
- fied in Grammar Rules in yacc .
- {ACTSIZE} 4000 Number of actions. "Actions" here (and
- in the description file) refer to parser
- actions (shift, reduce, and so on) not
- to semantic actions defined in Grammar
- Rules in yacc .
-
-EXIT STATUS
- The following exit values shall be returned:
-
- 0 Successful completion.
-
- >0 An error occurred.
-
-
-CONSEQUENCES OF ERRORS
- If any errors are encountered, the run is aborted and
- yacc exits with a non-zero status. Partial code files
- and header files may be produced. The summary informa-
- tion in the description file shall always be produced if
- the -v flag is present.
-
- The following sections are informative.
-
-APPLICATION USAGE
- Historical implementations experience name conflicts on
- the names yacc.tmp, yacc.acts, yacc.debug, y.tab.c,
- y.tab.h, and y.output if more than one copy of yacc is
- running in a single directory at one time. The -b option
- was added to overcome this problem. The related problem
- of allowing multiple yacc parsers to be placed in the
- same file was addressed by adding a -p option to over-
- ride the previously hard-coded yy variable prefix.
-
- The description of the -p option specifies the minimal
- set of function and variable names that cause conflict
- when multiple parsers are linked together. YYSTYPE does
- not need to be changed. Instead, the programmer can use
- -b to give the header files for different parsers dif-
- ferent names, and then the file with the yylex() for a
- given parser can include the header for that parser.
- Names such as yyclearerr do not need to be changed
- because they are used only in the actions; they do not
- have linkage. It is possible that an implementation has
- other names, either internal ones for implementing
- things such as yyclearerr, or providing non-standard
- features that it wants to change with -p.
-
- Unary operators that are the same token as a binary
- operator in general need their precedence adjusted. This
- is handled by the %prec advisory symbol associated with
- the particular grammar rule defining that unary opera-
- tor. (See Grammar Rules in yacc .) Applications are not
- required to use this operator for unary operators, but
- the grammars that do not require it are rare.
-
-EXAMPLES
- Access to the yacc library is obtained with library
- search operands to c99. To use the yacc library main():
-
-
- c99 y.tab.c -l y
-
- Both the lex library and the yacc library contain
- main(). To access the yacc main():
-
-
- c99 y.tab.c lex.yy.c -l y -l l
-
- This ensures that the yacc library is searched first, so
- that its main() is used.
-
- The historical yacc libraries have contained two simple
- functions that are normally coded by the application
- programmer. These functions are similar to the follow-
- ing code:
-
-
- #include <locale.h>
- int main(void)
- {
- extern int yyparse();
-
-
- setlocale(LC_ALL, "");
-
-
- /* If the following parser is one created by lex, the
- application must be careful to ensure that LC_CTYPE
- and LC_COLLATE are set to the POSIX locale. */
- (void) yyparse();
- return (0);
- }
-
-
- #include <stdio.h>
-
-
- int yyerror(const char *msg)
- {
- (void) fprintf(stderr, "%s\n", msg);
- return (0);
- }
-
-RATIONALE
- The references in may be helpful in constructing the
- parser generator. The referenced DeRemer and Pennello
- article (along with the works it references) describes a
- technique to generate parsers that conform to this vol-
- ume of IEEE Std 1003.1-2001. Work in this area contin-
- ues to be done, so implementors should consult current
- literature before doing any new implementations. The
- original Knuth article is the theoretical basis for this
- kind of parser, but the tables it generates are imprac-
- tically large for reasonable grammars and should not be
- used. The "equivalent to" wording is intentional to
- assure that the best tables that are LALR(1) can be gen-
- erated.
-
- There has been confusion between the class of grammars,
- the algorithms needed to generate parsers, and the algo-
- rithms needed to parse the languages. They are all rea-
- sonably orthogonal. In particular, a parser generator
- that accepts the full range of LR(1) grammars need not
- generate a table any more complex than one that accepts
- SLR(1) (a relatively weak class of LR grammars) for a
- grammar that happens to be SLR(1). Such an implementa-
- tion need not recognize the case, either; table compres-
- sion can yield the SLR(1) table (or one even smaller
- than that) without recognizing that the grammar is
- SLR(1). The speed of an LR(1) parser for any class is
- dependent more upon the table representation and com-
- pression (or the code generation if a direct parser is
- generated) than upon the class of grammar that the table
- generator handles.
-
- The speed of the parser generator is somewhat dependent
- upon the class of grammar it handles. However, the orig-
- inal Knuth article algorithms for constructing LR
- parsers were judged by its author to be impractically
- slow at that time. Although full LR is more complex than
- LALR(1), as computer speeds and algorithms improve, the
- difference (in terms of acceptable wall-clock execution
- time) is becoming less significant.
-
- Potential authors are cautioned that the referenced
- DeRemer and Pennello article previously cited identifies
- a bug (an over-simplification of the computation of
- LALR(1) lookahead sets) in some of the LALR(1) algorithm
- statements that preceded it to publication. They should
- take the time to seek out that paper, as well as current
- relevant work, particularly Aho's.
-
- The -b option was added to provide a portable method for
- permitting yacc to work on multiple separate parsers in
- the same directory. If a directory contains more than
- one yacc grammar, and both grammars are constructed at
- the same time (by, for example, a parallel make pro-
- gram), conflict results. While the solution is not his-
- torical practice, it corrects a known deficiency in his-
- torical implementations. Corresponding changes were made
- to all sections that referenced the filenames y.tab.c
- (now "the code file"), y.tab.h (now "the header file"),
- and y.output (now "the description file").
-
- The grammar for yacc input is based on System V documen-
- tation. The textual description shows there that the
- ';' is required at the end of the rule. The grammar and
- the implementation do not require this. (The use of
- C_IDENTIFIER causes a reduce to occur in the right
- place.)
-
- Also, in that implementation, the constructs such as
- %token can be terminated by a semicolon, but this is not
- permitted by the grammar. The keywords such as %token
- can also appear in uppercase, which is again not dis-
- cussed. In most places where '%' is used, '\' can be
- substituted, and there are alternate spellings for some
- of the symbols (for example, %LEFT can be "%<" or even
- "\<" ).
-
- Historically, <tag> can contain any characters except
- '>', including white space, in the implementation. How-
- ever, since the tag must reference an ISO C standard
- union member, in practice conforming implementations
- need to support only the set of characters for ISO C
- standard identifiers in this context.
-
- Some historical implementations are known to accept
- actions that are terminated by a period. Historical
- implementations often allow '$' in names. A conforming
- implementation does not need to support either of these
- behaviors.
-
- Deciding when to use %prec illustrates the difficulty in
- specifying the behavior of yacc. There may be situations
- in which the grammar is not, strictly speaking, in
- error, and yet yacc cannot interpret it unambiguously.
- The resolution of ambiguities in the grammar can in many
- instances be resolved by providing additional informa-
- tion, such as using %type or %union declarations. It is
- often easier and it usually yields a smaller parser to
- take this alternative when it is appropriate.
-
- The size and execution time of a program produced with-
- out the runtime debugging code is usually smaller and
- slightly faster in historical implementations.
-
- Statistics messages from several historical implementa-
- tions include the following types of information:
-
-
- n/512 terminals, n/300 non-terminals
- n/600 grammar rules, n/1500 states
- n shift/reduce, n reduce/reduce conflicts reported
- n/350 working sets used
- Memory: states, etc. n/15000, parser n/15000
- n/600 distinct lookahead sets
- n extra closures
- n shift entries, n exceptions
- n goto entries
- n entries saved by goto default
- Optimizer space used: input n/15000, output n/15000
- n table entries, n zero
- Maximum spread: n, Maximum offset: n
-
- The report of internal tables in the description file is
- left implementation-defined because all aspects of these
- limits are also implementation-defined. Some implementa-
- tions may use dynamic allocation techniques and have no
- specific limit values to report.
-
- The format of the y.output file is not given because
- specification of the format was not seen to enhance
- applications portability. The listing is primarily
- intended to help human users understand and debug the
- parser; use of y.output by a conforming application
- script would be unusual. Furthermore, implementations
- have not produced consistent output and no popular for-
- mat was apparent. The format selected by the implementa-
- tion should be human-readable, in addition to the
- requirement that it be a text file.
-
- Standard error reports are not specifically described
- because they are seldom of use to conforming applica-
- tions and there was no reason to restrict implementa-
- tions.
-
- Some implementations recognize "={" as equivalent to '{'
- because it appears in historical documentation. This
- construction was recognized and documented as obsolete
- as long ago as 1978, in the referenced Yacc: Yet Another
- Compiler-Compiler. This volume of IEEE Std 1003.1-2001
- chose to leave it as obsolete and omit it.
-
- Multi-byte characters should be recognized by the lexi-
- cal analyzer and returned as tokens. They should not be
- returned as multi-byte character literals. The token
- error that is used for error recovery is normally
- assigned the value 256 in the historical implementation.
- Thus, the token value 256, which is used in many multi-
- byte character sets, is not available for use as the
- value of a user-defined token.
-
-FUTURE DIRECTIONS
- None.
-
-SEE ALSO
- c99, lex
-
-COPYRIGHT
- Portions of this text are reprinted and reproduced in
- electronic form from IEEE Std 1003.1, 2003 Edition,
- Standard for Information Technology -- Portable Operat-
- ing System Interface (POSIX), The Open Group Base Speci-
- fications Issue 6, Copyright (C) 2001-2003 by the Insti-
- tute of Electrical and Electronics Engineers, Inc and
- The Open Group. In the event of any discrepancy between
- this version and the original IEEE and The Open Group
- Standard, the original IEEE and The Open Group Standard
- is the referee document. The original Standard can be
- obtained online at http://www.open-
- group.org/unix/online.html .
-
-
-
-IEEE/The Open Group 2003 YACC(1P)
diff --git a/gnuwin32/man/cat3/iconv.3.txt b/gnuwin32/man/cat3/iconv.3.txt
deleted file mode 100644
index 1feacab2..00000000
--- a/gnuwin32/man/cat3/iconv.3.txt
+++ /dev/null
@@ -1,97 +0,0 @@
-ICONV(3) Linux Programmer's Manual ICONV(3)
-
-
-
-
-
-NAME
- iconv - perform character set conversion
-
-SYNOPSIS
- #include <iconv.h>
-
- size_t iconv (iconv_t cd,
- const char* * inbuf, size_t * inbytesleft,
- char* * outbuf, size_t * outbytesleft);
-
-DESCRIPTION
- The argument cd must be a conversion descriptor created
- using the function iconv_open.
-
- The main case is when inbuf is not NULL and *inbuf is
- not NULL. In this case, the iconv function converts the
- multibyte sequence starting at *inbuf to a multibyte
- sequence starting at *outbuf. At most *inbytesleft
- bytes, starting at *inbuf, will be read. At most *out-
- bytesleft bytes, starting at *outbuf, will be written.
-
- The iconv function converts one multibyte character at a
- time, and for each character conversion it increments
- *inbuf and decrements *inbytesleft by the number of con-
- verted input bytes, it increments *outbuf and decrements
- *outbytesleft by the number of converted output bytes,
- and it updates the conversion state contained in cd.
- The conversion can stop for four reasons:
-
- 1. An invalid multibyte sequence is encountered in the
- input. In this case it sets errno to EILSEQ and returns
- (size_t)(-1). *inbuf is left pointing to the beginning
- of the invalid multibyte sequence.
-
- 2. The input byte sequence has been entirely converted,
- i.e. *inbytesleft has gone down to 0. In this case iconv
- returns the number of non-reversible conversions per-
- formed during this call.
-
- 3. An incomplete multibyte sequence is encountered in
- the input, and the input byte sequence terminates after
- it. In this case it sets errno to EINVAL and returns
- (size_t)(-1). *inbuf is left pointing to the beginning
- of the incomplete multibyte sequence.
-
- 4. The output buffer has no more room for the next con-
- verted character. In this case it sets errno to E2BIG
- and returns (size_t)(-1).
-
- A different case is when inbuf is NULL or *inbuf is
- NULL, but outbuf is not NULL and *outbuf is not NULL. In
- this case, the iconv function attempts to set cd's con-
- version state to the initial state and store a corre-
- sponding shift sequence at *outbuf. At most *out-
- bytesleft bytes, starting at *outbuf, will be written.
- If the output buffer has no more room for this reset
- sequence, it sets errno to E2BIG and returns
- (size_t)(-1). Otherwise it increments *outbuf and decre-
- ments *outbytesleft by the number of bytes written.
-
- A third case is when inbuf is NULL or *inbuf is NULL,
- and outbuf is NULL or *outbuf is NULL. In this case, the
- iconv function sets cd's conversion state to the initial
- state.
-
-RETURN VALUE
- The iconv function returns the number of characters con-
- verted in a non-reversible way during this call;
- reversible conversions are not counted. In case of
- error, it sets errno and returns (size_t)(-1).
-
-ERRORS
- The following errors can occur, among others:
-
- E2BIG There is not sufficient room at *outbuf.
-
- EILSEQ An invalid multibyte sequence has been encoun-
- tered in the input.
-
- EINVAL An incomplete multibyte sequence has been encoun-
- tered in the input.
-
-CONFORMING TO
- UNIX98
-
-SEE ALSO
- iconv_open(3), iconv_close(3)
-
-
-
-GNU January 21, 2004 ICONV(3)
diff --git a/gnuwin32/man/cat3/iconv_close.3.txt b/gnuwin32/man/cat3/iconv_close.3.txt
deleted file mode 100644
index f7aa1aae..00000000
--- a/gnuwin32/man/cat3/iconv_close.3.txt
+++ /dev/null
@@ -1,32 +0,0 @@
-ICONV_CLOSE(3) Linux Programmer's Manual ICONV_CLOSE(3)
-
-
-
-
-
-NAME
- iconv_close - deallocate descriptor for character set
- conversion
-
-SYNOPSIS
- #include <iconv.h>
-
- int iconv_close (iconv_t cd);
-
-DESCRIPTION
- The iconv_close function deallocates a conversion
- descriptor cd previously allocated using iconv_open.
-
-RETURN VALUE
- When successful, the iconv_close function returns 0. In
- case of error, it sets errno and returns -1.
-
-CONFORMING TO
- UNIX98
-
-SEE ALSO
- iconv_open(3), iconv(3)
-
-
-
-GNU November 27, 1999 ICONV_CLOSE(3)
diff --git a/gnuwin32/man/cat3/iconv_open.3.txt b/gnuwin32/man/cat3/iconv_open.3.txt
deleted file mode 100644
index 6f07c463..00000000
--- a/gnuwin32/man/cat3/iconv_open.3.txt
+++ /dev/null
@@ -1,152 +0,0 @@
-ICONV_OPEN(3) Linux Programmer's Manual ICONV_OPEN(3)
-
-
-
-
-
-NAME
- iconv_open - allocate descriptor for character set con-
- version
-
-SYNOPSIS
- #include <iconv.h>
-
- iconv_t iconv_open (const char* tocode, const char* fromcode);
-
-DESCRIPTION
- The iconv_open function allocates a conversion descrip-
- tor suitable for converting byte sequences from charac-
- ter encoding fromcode to character encoding tocode.
-
- The values permitted for fromcode and tocode and the
- supported combinations are system dependent. For the
- libiconv library, the following encodings are supported,
- in all combinations.
-
- European languages
- ASCII, ISO-8859-{1,2,3,4,5,7,9,10,13,14,15,16},
- KOI8-R, KOI8-U, KOI8-RU,
- CP{1250,1251,1252,1253,1254,1257}, CP{850,866},
- Mac{Roman,CentralEurope,Iceland,Croatian,Roma-
- nia}, Mac{Cyrillic,Ukraine,Greek,Turkish}, Macin-
- tosh
-
- Semitic languages
- ISO-8859-{6,8}, CP{1255,1256}, CP862,
- Mac{Hebrew,Arabic}
-
- Japanese
- EUC-JP, SHIFT_JIS, CP932, ISO-2022-JP,
- ISO-2022-JP-2, ISO-2022-JP-1
-
- Chinese
- EUC-CN, HZ, GBK, GB18030, EUC-TW, BIG5, CP950,
- BIG5-HKSCS, ISO-2022-CN, ISO-2022-CN-EXT
-
- Korean
- EUC-KR, CP949, ISO-2022-KR, JOHAB
-
- Armenian
- ARMSCII-8
-
- Georgian
- Georgian-Academy, Georgian-PS
-
- Tajik
- KOI8-T
-
- Thai
- TIS-620, CP874, MacThai
-
- Laotian
- MuleLao-1, CP1133
-
- Vietnamese
- VISCII, TCVN, CP1258
-
- Platform specifics
- HP-ROMAN8, NEXTSTEP
-
- Full Unicode
- UTF-8
- UCS-2, UCS-2BE, UCS-2LE
- UCS-4, UCS-4BE, UCS-4LE
- UTF-16, UTF-16BE, UTF-16LE
- UTF-32, UTF-32BE, UTF-32LE
- UTF-7
- C99, JAVA
-
- Full Unicode, in terms of uint16_t or uint32_t
- (with machine dependent endianness and alignment)
- UCS-2-INTERNAL, UCS-4-INTERNAL
-
- Locale dependent, in terms of char or wchar_t
- (with machine dependent endianness and alignment,
- and with semantics depending on the OS and the
- current LC_CTYPE locale facet)
- char, wchar_t
-
- When configured with the option --enable-extra-encod-
- ings, it also provides support for a few extra encod-
- ings:
-
- European languages
- CP{437,737,775,852,853,855,857,858,860,861,863,865,869,1125}
-
- Semitic languages
- CP864
-
- Japanese
- EUC-JISX0213, Shift_JISX0213, ISO-2022-JP-3
-
- Turkmen
- TDS565
-
- Platform specifics
- RISCOS-LATIN1
-
- The empty encoding name "" is equivalent to "char": it
- denotes the locale dependent character encoding.
-
- When the string "//TRANSLIT" is appended to tocode,
- transliteration is activated. This means that when a
- character cannot be represented in the target character
- set, it can be approximated through one or several simi-
- larly looking characters.
-
- When the string "//IGNORE" is appended to tocode, char-
- acters that cannot be represented in the target charac-
- ter set will be silently discarded.
-
- The resulting conversion descriptor can be used with
- iconv any number of times. It remains valid until deal-
- located using iconv_close.
-
- A conversion descriptor contains a conversion state.
- After creation using iconv_open, the state is in the
- initial state. Using iconv modifies the descriptor's
- conversion state. (This implies that a conversion
- descriptor can not be used in multiple threads simulta-
- neously.) To bring the state back to the initial state,
- use iconv with NULL as inbuf argument.
-
-RETURN VALUE
- The iconv_open function returns a freshly allocated con-
- version descriptor. In case of error, it sets errno and
- returns (iconv_t)(-1).
-
-ERRORS
- The following error can occur, among others:
-
- EINVAL The conversion from fromcode to tocode is not
- supported by the implementation.
-
-CONFORMING TO
- UNIX98
-
-SEE ALSO
- iconv(3), iconv_close(3)
-
-
-
-GNU May 26, 2002 ICONV_OPEN(3)
diff --git a/gnuwin32/manifest/gperf-3.0.1-bin.mft b/gnuwin32/manifest/gperf-3.0.1-bin.mft
deleted file mode 100644
index 836d20fe..00000000
--- a/gnuwin32/manifest/gperf-3.0.1-bin.mft
+++ /dev/null
@@ -1,14 +0,0 @@
-bin/gperf.exe
-contrib/gperf/3.0.1/depends-GnuWin32.lst
-contrib/gperf/3.0.1/gperf-3.0.1-GnuWin32.README
-contrib/gperf/3.0.1/gperf-3.0.1-src/AUTHORS
-contrib/gperf/3.0.1/gperf-3.0.1-src/ChangeLog
-contrib/gperf/3.0.1/gperf-3.0.1-src/COPYING
-contrib/gperf/3.0.1/gperf-3.0.1-src/INSTALL
-contrib/gperf/3.0.1/gperf-3.0.1-src/NEWS
-contrib/gperf/3.0.1/gperf-3.0.1-src/README
-contrib/gperf/3.0.1/gperf-3.0.1/check.log
-contrib/gperf/3.0.1/gperf-3.0.1/check_err.log
-man/cat1/gperf.1.txt
-manifest/gperf-3.0.1-bin.mft
-manifest/gperf-3.0.1-bin.ver
diff --git a/gnuwin32/manifest/gperf-3.0.1-bin.ver b/gnuwin32/manifest/gperf-3.0.1-bin.ver
deleted file mode 100644
index 380dbbc7..00000000
--- a/gnuwin32/manifest/gperf-3.0.1-bin.ver
+++ /dev/null
@@ -1,2 +0,0 @@
-Gperf 3.0.1: Binaries
-Gperf: generate a perfect hash function from a key set \ No newline at end of file
diff --git a/gnuwin32/manifest/libiconv-1.9.2-1-bin.mft b/gnuwin32/manifest/libiconv-1.9.2-1-bin.mft
deleted file mode 100644
index e69de29b..00000000
--- a/gnuwin32/manifest/libiconv-1.9.2-1-bin.mft
+++ /dev/null
diff --git a/gnuwin32/manifest/libiconv-1.9.2-1-bin.ver b/gnuwin32/manifest/libiconv-1.9.2-1-bin.ver
deleted file mode 100644
index 9ba63656..00000000
--- a/gnuwin32/manifest/libiconv-1.9.2-1-bin.ver
+++ /dev/null
@@ -1,2 +0,0 @@
-LibIconv 1.9.2: Binaries
-LibIconv: convert between character encodings \ No newline at end of file
diff --git a/gnuwin32/manifest/libiconv-1.9.2-1-dep.mft b/gnuwin32/manifest/libiconv-1.9.2-1-dep.mft
deleted file mode 100644
index e69de29b..00000000
--- a/gnuwin32/manifest/libiconv-1.9.2-1-dep.mft
+++ /dev/null
diff --git a/gnuwin32/manifest/libiconv-1.9.2-1-dep.ver b/gnuwin32/manifest/libiconv-1.9.2-1-dep.ver
deleted file mode 100644
index 3ca20388..00000000
--- a/gnuwin32/manifest/libiconv-1.9.2-1-dep.ver
+++ /dev/null
@@ -1,2 +0,0 @@
-LibIconv 1.9.2: Dependencies
-LibIconv: convert between character encodings \ No newline at end of file
diff --git a/gnuwin32/patches/win_flex.patch b/gnuwin32/patches/win_flex.patch
deleted file mode 100644
index 27d1e936..00000000
--- a/gnuwin32/patches/win_flex.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-Index: flex/src/main.c
-===================================================================
---- flex/src/main.c (revision 24)
-+++ flex/src/main.c (working copy)
-@@ -112,7 +112,7 @@
- struct yytbl_writer tableswr;
-
- int prev_stdout = 0;
--char *flex_temp_out_main="~flex_temp_out_main";
-+char *flex_temp_out_main = 0;
-
- /* Make sure program_name is initialized so we don't crash if writing
- * out an error message before getting the program name from argv[0].
-@@ -767,6 +767,8 @@
- tblsiz);
- }
-
-+ free (flex_temp_out_main);
-+ flex_temp_out_main = 0;
- exit (exit_status);
- }
-
-@@ -779,8 +781,10 @@
- {
- int i, sawcmpflag, rv, optind;
- char *arg;
-+ char flex_temp_out_main_template[] = "~flex_temp_out_main_XXXXXX";
- scanopt_t sopt;
-
-+ flex_temp_out_main = _strdup(_mktemp(flex_temp_out_main_template));
- printstats = syntaxerror = trace = spprdflt = false;
- lex_compat = posix_compat = C_plus_plus = backing_up_report =
- ddebug = fulltbl = false;
-Index: flex/src/filter.c
-===================================================================
---- flex/src/filter.c (revision 24)
-+++ flex/src/filter.c (working copy)
-@@ -86,7 +86,8 @@
-
- /* Get some more or less random data. */
- {
-- static unsigned long long g_value = 827363;
-+ static unsigned long long g_value;
-+ g_value = _getpid();
- g_value += 100;
- random_time_bits = (((unsigned long long)234546 << 32)
- | (unsigned long long)g_value);
diff --git a/gnuwin32/share/aclocal/bison-i18n.m4 b/gnuwin32/share/aclocal/bison-i18n.m4
deleted file mode 100644
index 75717127..00000000
--- a/gnuwin32/share/aclocal/bison-i18n.m4
+++ /dev/null
@@ -1,48 +0,0 @@
-# bison-i18n.m4 serial 2
-dnl Copyright (C) 2005-2006 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl From Bruno Haible.
-
-dnl Support for internationalization of bison-generated parsers.
-
-dnl BISON_I18N
-dnl should be used in configure.ac, after AM_GNU_GETTEXT. If USE_NLS is yes, it
-dnl sets BISON_LOCALEDIR to indicate where to find the bison-runtime.mo files
-dnl and defines YYENABLE_NLS if there are bison-runtime.mo files at all.
-AC_DEFUN([BISON_I18N],
-[
- if test -z "$USE_NLS"; then
- echo "The BISON-I18N macro is used without being preceded by AM-GNU-GETTEXT." 1>&2
- exit 1
- fi
- BISON_LOCALEDIR=
- BISON_USE_NLS=no
- if test "$USE_NLS" = yes; then
- dnl Determine bison's localedir.
- dnl AC_PROG_YACC sets the YACC variable; other macros set the BISON variable.
- dnl But even is YACC is called "yacc", it may be a script that invokes bison
- dnl and accepts the --print-localedir option.
- dnl YACC's default value is empty; BISON's default value is :.
- if (${YACC-${BISON-:}} --print-localedir) >/dev/null 2>&1; then
- BISON_LOCALEDIR=`${YACC-${BISON-:}} --print-localedir`
- fi
- AC_SUBST([BISON_LOCALEDIR])
- if test -n "$BISON_LOCALEDIR"; then
- dnl There is no need to enable internationalization if the user doesn't
- dnl want message catalogs. So look at the language/locale names for
- dnl which the user wants message catalogs. This is $LINGUAS. If unset
- dnl or empty, he wants all of them.
- USER_LINGUAS="${LINGUAS-%UNSET%}"
- if test -n "$USER_LINGUAS"; then
- BISON_USE_NLS=yes
- fi
- fi
- fi
- if test $BISON_USE_NLS = yes; then
- AC_DEFINE([YYENABLE_NLS], 1,
- [Define to 1 to internationalize bison runtime messages.])
- fi
-])
diff --git a/gnuwin32/share/locale/ca/LC_MESSAGES/libiconv.mo b/gnuwin32/share/locale/ca/LC_MESSAGES/libiconv.mo
deleted file mode 100644
index 6ba6490e..00000000
--- a/gnuwin32/share/locale/ca/LC_MESSAGES/libiconv.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/da/LC_MESSAGES/bison-runtime.mo b/gnuwin32/share/locale/da/LC_MESSAGES/bison-runtime.mo
deleted file mode 100644
index 03bb961a..00000000
--- a/gnuwin32/share/locale/da/LC_MESSAGES/bison-runtime.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/da/LC_MESSAGES/bison.mo b/gnuwin32/share/locale/da/LC_MESSAGES/bison.mo
deleted file mode 100644
index e62a7842..00000000
--- a/gnuwin32/share/locale/da/LC_MESSAGES/bison.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/da/LC_MESSAGES/libiconv.mo b/gnuwin32/share/locale/da/LC_MESSAGES/libiconv.mo
deleted file mode 100644
index 244b4db4..00000000
--- a/gnuwin32/share/locale/da/LC_MESSAGES/libiconv.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/de/LC_MESSAGES/bison-runtime.mo b/gnuwin32/share/locale/de/LC_MESSAGES/bison-runtime.mo
deleted file mode 100644
index 178fc682..00000000
--- a/gnuwin32/share/locale/de/LC_MESSAGES/bison-runtime.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/de/LC_MESSAGES/bison.mo b/gnuwin32/share/locale/de/LC_MESSAGES/bison.mo
deleted file mode 100644
index c1783d00..00000000
--- a/gnuwin32/share/locale/de/LC_MESSAGES/bison.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/de/LC_MESSAGES/libiconv.mo b/gnuwin32/share/locale/de/LC_MESSAGES/libiconv.mo
deleted file mode 100644
index 9c037912..00000000
--- a/gnuwin32/share/locale/de/LC_MESSAGES/libiconv.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/el/LC_MESSAGES/bison-runtime.mo b/gnuwin32/share/locale/el/LC_MESSAGES/bison-runtime.mo
deleted file mode 100644
index 912b59be..00000000
--- a/gnuwin32/share/locale/el/LC_MESSAGES/bison-runtime.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/el/LC_MESSAGES/bison.mo b/gnuwin32/share/locale/el/LC_MESSAGES/bison.mo
deleted file mode 100644
index 0ba96cc4..00000000
--- a/gnuwin32/share/locale/el/LC_MESSAGES/bison.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/eo/LC_MESSAGES/libiconv.mo b/gnuwin32/share/locale/eo/LC_MESSAGES/libiconv.mo
deleted file mode 100644
index 5cb53e72..00000000
--- a/gnuwin32/share/locale/eo/LC_MESSAGES/libiconv.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/es/LC_MESSAGES/bison-runtime.mo b/gnuwin32/share/locale/es/LC_MESSAGES/bison-runtime.mo
deleted file mode 100644
index 5723878d..00000000
--- a/gnuwin32/share/locale/es/LC_MESSAGES/bison-runtime.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/es/LC_MESSAGES/bison.mo b/gnuwin32/share/locale/es/LC_MESSAGES/bison.mo
deleted file mode 100644
index f85ef2c7..00000000
--- a/gnuwin32/share/locale/es/LC_MESSAGES/bison.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/es/LC_MESSAGES/libiconv.mo b/gnuwin32/share/locale/es/LC_MESSAGES/libiconv.mo
deleted file mode 100644
index 9ddb3318..00000000
--- a/gnuwin32/share/locale/es/LC_MESSAGES/libiconv.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/et/LC_MESSAGES/bison-runtime.mo b/gnuwin32/share/locale/et/LC_MESSAGES/bison-runtime.mo
deleted file mode 100644
index cb358763..00000000
--- a/gnuwin32/share/locale/et/LC_MESSAGES/bison-runtime.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/et/LC_MESSAGES/bison.mo b/gnuwin32/share/locale/et/LC_MESSAGES/bison.mo
deleted file mode 100644
index a3c20bad..00000000
--- a/gnuwin32/share/locale/et/LC_MESSAGES/bison.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/et/LC_MESSAGES/libiconv.mo b/gnuwin32/share/locale/et/LC_MESSAGES/libiconv.mo
deleted file mode 100644
index 3ffae1c8..00000000
--- a/gnuwin32/share/locale/et/LC_MESSAGES/libiconv.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/fi/LC_MESSAGES/bison-runtime.mo b/gnuwin32/share/locale/fi/LC_MESSAGES/bison-runtime.mo
deleted file mode 100644
index c5ea804e..00000000
--- a/gnuwin32/share/locale/fi/LC_MESSAGES/bison-runtime.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/fi/LC_MESSAGES/libiconv.mo b/gnuwin32/share/locale/fi/LC_MESSAGES/libiconv.mo
deleted file mode 100644
index e62add45..00000000
--- a/gnuwin32/share/locale/fi/LC_MESSAGES/libiconv.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/fr/LC_MESSAGES/bison-runtime.mo b/gnuwin32/share/locale/fr/LC_MESSAGES/bison-runtime.mo
deleted file mode 100644
index 11c009e2..00000000
--- a/gnuwin32/share/locale/fr/LC_MESSAGES/bison-runtime.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/fr/LC_MESSAGES/bison.mo b/gnuwin32/share/locale/fr/LC_MESSAGES/bison.mo
deleted file mode 100644
index 91019338..00000000
--- a/gnuwin32/share/locale/fr/LC_MESSAGES/bison.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/fr/LC_MESSAGES/libiconv.mo b/gnuwin32/share/locale/fr/LC_MESSAGES/libiconv.mo
deleted file mode 100644
index 487b2129..00000000
--- a/gnuwin32/share/locale/fr/LC_MESSAGES/libiconv.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/ga/LC_MESSAGES/bison-runtime.mo b/gnuwin32/share/locale/ga/LC_MESSAGES/bison-runtime.mo
deleted file mode 100644
index 6b4fec2f..00000000
--- a/gnuwin32/share/locale/ga/LC_MESSAGES/bison-runtime.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/ga/LC_MESSAGES/bison.mo b/gnuwin32/share/locale/ga/LC_MESSAGES/bison.mo
deleted file mode 100644
index 6d8783c2..00000000
--- a/gnuwin32/share/locale/ga/LC_MESSAGES/bison.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/ga/LC_MESSAGES/libiconv.mo b/gnuwin32/share/locale/ga/LC_MESSAGES/libiconv.mo
deleted file mode 100644
index d8ec0523..00000000
--- a/gnuwin32/share/locale/ga/LC_MESSAGES/libiconv.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/gl/LC_MESSAGES/libiconv.mo b/gnuwin32/share/locale/gl/LC_MESSAGES/libiconv.mo
deleted file mode 100644
index d450db0f..00000000
--- a/gnuwin32/share/locale/gl/LC_MESSAGES/libiconv.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/hr/LC_MESSAGES/bison-runtime.mo b/gnuwin32/share/locale/hr/LC_MESSAGES/bison-runtime.mo
deleted file mode 100644
index bf3cf01b..00000000
--- a/gnuwin32/share/locale/hr/LC_MESSAGES/bison-runtime.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/hr/LC_MESSAGES/bison.mo b/gnuwin32/share/locale/hr/LC_MESSAGES/bison.mo
deleted file mode 100644
index f01f2d78..00000000
--- a/gnuwin32/share/locale/hr/LC_MESSAGES/bison.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/hr/LC_MESSAGES/libiconv.mo b/gnuwin32/share/locale/hr/LC_MESSAGES/libiconv.mo
deleted file mode 100644
index 3f84da1f..00000000
--- a/gnuwin32/share/locale/hr/LC_MESSAGES/libiconv.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/hu/LC_MESSAGES/libiconv.mo b/gnuwin32/share/locale/hu/LC_MESSAGES/libiconv.mo
deleted file mode 100644
index 15648b10..00000000
--- a/gnuwin32/share/locale/hu/LC_MESSAGES/libiconv.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/id/LC_MESSAGES/bison-runtime.mo b/gnuwin32/share/locale/id/LC_MESSAGES/bison-runtime.mo
deleted file mode 100644
index 649f2d9a..00000000
--- a/gnuwin32/share/locale/id/LC_MESSAGES/bison-runtime.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/id/LC_MESSAGES/bison.mo b/gnuwin32/share/locale/id/LC_MESSAGES/bison.mo
deleted file mode 100644
index 54f14384..00000000
--- a/gnuwin32/share/locale/id/LC_MESSAGES/bison.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/id/LC_MESSAGES/libiconv.mo b/gnuwin32/share/locale/id/LC_MESSAGES/libiconv.mo
deleted file mode 100644
index ee08af5d..00000000
--- a/gnuwin32/share/locale/id/LC_MESSAGES/libiconv.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/it/LC_MESSAGES/bison-runtime.mo b/gnuwin32/share/locale/it/LC_MESSAGES/bison-runtime.mo
deleted file mode 100644
index 463e2913..00000000
--- a/gnuwin32/share/locale/it/LC_MESSAGES/bison-runtime.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/it/LC_MESSAGES/bison.mo b/gnuwin32/share/locale/it/LC_MESSAGES/bison.mo
deleted file mode 100644
index 09771eb9..00000000
--- a/gnuwin32/share/locale/it/LC_MESSAGES/bison.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/it/LC_MESSAGES/libiconv.mo b/gnuwin32/share/locale/it/LC_MESSAGES/libiconv.mo
deleted file mode 100644
index d2c40dc9..00000000
--- a/gnuwin32/share/locale/it/LC_MESSAGES/libiconv.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/ja/LC_MESSAGES/bison-runtime.mo b/gnuwin32/share/locale/ja/LC_MESSAGES/bison-runtime.mo
deleted file mode 100644
index d11de405..00000000
--- a/gnuwin32/share/locale/ja/LC_MESSAGES/bison-runtime.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/ja/LC_MESSAGES/bison.mo b/gnuwin32/share/locale/ja/LC_MESSAGES/bison.mo
deleted file mode 100644
index c28966a8..00000000
--- a/gnuwin32/share/locale/ja/LC_MESSAGES/bison.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/ky/LC_MESSAGES/bison-runtime.mo b/gnuwin32/share/locale/ky/LC_MESSAGES/bison-runtime.mo
deleted file mode 100644
index 4185d053..00000000
--- a/gnuwin32/share/locale/ky/LC_MESSAGES/bison-runtime.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/lt/LC_MESSAGES/bison-runtime.mo b/gnuwin32/share/locale/lt/LC_MESSAGES/bison-runtime.mo
deleted file mode 100644
index 16ac4d10..00000000
--- a/gnuwin32/share/locale/lt/LC_MESSAGES/bison-runtime.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/ms/LC_MESSAGES/bison-runtime.mo b/gnuwin32/share/locale/ms/LC_MESSAGES/bison-runtime.mo
deleted file mode 100644
index 87905ba0..00000000
--- a/gnuwin32/share/locale/ms/LC_MESSAGES/bison-runtime.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/ms/LC_MESSAGES/bison.mo b/gnuwin32/share/locale/ms/LC_MESSAGES/bison.mo
deleted file mode 100644
index ed59d886..00000000
--- a/gnuwin32/share/locale/ms/LC_MESSAGES/bison.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/nb/LC_MESSAGES/bison-runtime.mo b/gnuwin32/share/locale/nb/LC_MESSAGES/bison-runtime.mo
deleted file mode 100644
index cff7d776..00000000
--- a/gnuwin32/share/locale/nb/LC_MESSAGES/bison-runtime.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/nb/LC_MESSAGES/bison.mo b/gnuwin32/share/locale/nb/LC_MESSAGES/bison.mo
deleted file mode 100644
index 3bcf6492..00000000
--- a/gnuwin32/share/locale/nb/LC_MESSAGES/bison.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/nl/LC_MESSAGES/bison-runtime.mo b/gnuwin32/share/locale/nl/LC_MESSAGES/bison-runtime.mo
deleted file mode 100644
index 7b2f24c1..00000000
--- a/gnuwin32/share/locale/nl/LC_MESSAGES/bison-runtime.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/nl/LC_MESSAGES/bison.mo b/gnuwin32/share/locale/nl/LC_MESSAGES/bison.mo
deleted file mode 100644
index da4de8ed..00000000
--- a/gnuwin32/share/locale/nl/LC_MESSAGES/bison.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/nl/LC_MESSAGES/libiconv.mo b/gnuwin32/share/locale/nl/LC_MESSAGES/libiconv.mo
deleted file mode 100644
index f985ea28..00000000
--- a/gnuwin32/share/locale/nl/LC_MESSAGES/libiconv.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/pl/LC_MESSAGES/bison-runtime.mo b/gnuwin32/share/locale/pl/LC_MESSAGES/bison-runtime.mo
deleted file mode 100644
index 30822a53..00000000
--- a/gnuwin32/share/locale/pl/LC_MESSAGES/bison-runtime.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/pl/LC_MESSAGES/bison.mo b/gnuwin32/share/locale/pl/LC_MESSAGES/bison.mo
deleted file mode 100644
index 7b6fae2c..00000000
--- a/gnuwin32/share/locale/pl/LC_MESSAGES/bison.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/pl/LC_MESSAGES/libiconv.mo b/gnuwin32/share/locale/pl/LC_MESSAGES/libiconv.mo
deleted file mode 100644
index bb5c4e93..00000000
--- a/gnuwin32/share/locale/pl/LC_MESSAGES/libiconv.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/pt_BR/LC_MESSAGES/bison-runtime.mo b/gnuwin32/share/locale/pt_BR/LC_MESSAGES/bison-runtime.mo
deleted file mode 100644
index 1e72485c..00000000
--- a/gnuwin32/share/locale/pt_BR/LC_MESSAGES/bison-runtime.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/pt_BR/LC_MESSAGES/bison.mo b/gnuwin32/share/locale/pt_BR/LC_MESSAGES/bison.mo
deleted file mode 100644
index b579bbb9..00000000
--- a/gnuwin32/share/locale/pt_BR/LC_MESSAGES/bison.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/pt_BR/LC_MESSAGES/libiconv.mo b/gnuwin32/share/locale/pt_BR/LC_MESSAGES/libiconv.mo
deleted file mode 100644
index 72b522bd..00000000
--- a/gnuwin32/share/locale/pt_BR/LC_MESSAGES/libiconv.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/ro/LC_MESSAGES/bison-runtime.mo b/gnuwin32/share/locale/ro/LC_MESSAGES/bison-runtime.mo
deleted file mode 100644
index aaff454b..00000000
--- a/gnuwin32/share/locale/ro/LC_MESSAGES/bison-runtime.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/ro/LC_MESSAGES/bison.mo b/gnuwin32/share/locale/ro/LC_MESSAGES/bison.mo
deleted file mode 100644
index 76d6c871..00000000
--- a/gnuwin32/share/locale/ro/LC_MESSAGES/bison.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/ro/LC_MESSAGES/libiconv.mo b/gnuwin32/share/locale/ro/LC_MESSAGES/libiconv.mo
deleted file mode 100644
index 7515f60c..00000000
--- a/gnuwin32/share/locale/ro/LC_MESSAGES/libiconv.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/ru/LC_MESSAGES/bison-runtime.mo b/gnuwin32/share/locale/ru/LC_MESSAGES/bison-runtime.mo
deleted file mode 100644
index 189d7dd9..00000000
--- a/gnuwin32/share/locale/ru/LC_MESSAGES/bison-runtime.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/ru/LC_MESSAGES/bison.mo b/gnuwin32/share/locale/ru/LC_MESSAGES/bison.mo
deleted file mode 100644
index 7e16fad6..00000000
--- a/gnuwin32/share/locale/ru/LC_MESSAGES/bison.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/ru/LC_MESSAGES/libiconv.mo b/gnuwin32/share/locale/ru/LC_MESSAGES/libiconv.mo
deleted file mode 100644
index 8f44eb50..00000000
--- a/gnuwin32/share/locale/ru/LC_MESSAGES/libiconv.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/sk/LC_MESSAGES/libiconv.mo b/gnuwin32/share/locale/sk/LC_MESSAGES/libiconv.mo
deleted file mode 100644
index 1cd1dbbb..00000000
--- a/gnuwin32/share/locale/sk/LC_MESSAGES/libiconv.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/sl/LC_MESSAGES/bison-runtime.mo b/gnuwin32/share/locale/sl/LC_MESSAGES/bison-runtime.mo
deleted file mode 100644
index fd1b5d24..00000000
--- a/gnuwin32/share/locale/sl/LC_MESSAGES/bison-runtime.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/sl/LC_MESSAGES/libiconv.mo b/gnuwin32/share/locale/sl/LC_MESSAGES/libiconv.mo
deleted file mode 100644
index 3d79f017..00000000
--- a/gnuwin32/share/locale/sl/LC_MESSAGES/libiconv.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/sr/LC_MESSAGES/libiconv.mo b/gnuwin32/share/locale/sr/LC_MESSAGES/libiconv.mo
deleted file mode 100644
index 53da354f..00000000
--- a/gnuwin32/share/locale/sr/LC_MESSAGES/libiconv.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/sv/LC_MESSAGES/bison-runtime.mo b/gnuwin32/share/locale/sv/LC_MESSAGES/bison-runtime.mo
deleted file mode 100644
index 51d4b157..00000000
--- a/gnuwin32/share/locale/sv/LC_MESSAGES/bison-runtime.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/sv/LC_MESSAGES/bison.mo b/gnuwin32/share/locale/sv/LC_MESSAGES/bison.mo
deleted file mode 100644
index d00a9e22..00000000
--- a/gnuwin32/share/locale/sv/LC_MESSAGES/bison.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/sv/LC_MESSAGES/libiconv.mo b/gnuwin32/share/locale/sv/LC_MESSAGES/libiconv.mo
deleted file mode 100644
index 1ed0bfc2..00000000
--- a/gnuwin32/share/locale/sv/LC_MESSAGES/libiconv.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/th/LC_MESSAGES/bison-runtime.mo b/gnuwin32/share/locale/th/LC_MESSAGES/bison-runtime.mo
deleted file mode 100644
index 537a09b3..00000000
--- a/gnuwin32/share/locale/th/LC_MESSAGES/bison-runtime.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/tr/LC_MESSAGES/bison-runtime.mo b/gnuwin32/share/locale/tr/LC_MESSAGES/bison-runtime.mo
deleted file mode 100644
index e3389128..00000000
--- a/gnuwin32/share/locale/tr/LC_MESSAGES/bison-runtime.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/tr/LC_MESSAGES/bison.mo b/gnuwin32/share/locale/tr/LC_MESSAGES/bison.mo
deleted file mode 100644
index 17e87fe3..00000000
--- a/gnuwin32/share/locale/tr/LC_MESSAGES/bison.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/tr/LC_MESSAGES/libiconv.mo b/gnuwin32/share/locale/tr/LC_MESSAGES/libiconv.mo
deleted file mode 100644
index 1a9c9bb9..00000000
--- a/gnuwin32/share/locale/tr/LC_MESSAGES/libiconv.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/uk/LC_MESSAGES/bison-runtime.mo b/gnuwin32/share/locale/uk/LC_MESSAGES/bison-runtime.mo
deleted file mode 100644
index a0323a5d..00000000
--- a/gnuwin32/share/locale/uk/LC_MESSAGES/bison-runtime.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/uk/LC_MESSAGES/bison.mo b/gnuwin32/share/locale/uk/LC_MESSAGES/bison.mo
deleted file mode 100644
index b41d6f32..00000000
--- a/gnuwin32/share/locale/uk/LC_MESSAGES/bison.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/uk/LC_MESSAGES/libiconv.mo b/gnuwin32/share/locale/uk/LC_MESSAGES/libiconv.mo
deleted file mode 100644
index feb85cce..00000000
--- a/gnuwin32/share/locale/uk/LC_MESSAGES/libiconv.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/vi/LC_MESSAGES/bison-runtime.mo b/gnuwin32/share/locale/vi/LC_MESSAGES/bison-runtime.mo
deleted file mode 100644
index 7e650d74..00000000
--- a/gnuwin32/share/locale/vi/LC_MESSAGES/bison-runtime.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/vi/LC_MESSAGES/bison.mo b/gnuwin32/share/locale/vi/LC_MESSAGES/bison.mo
deleted file mode 100644
index d41ee574..00000000
--- a/gnuwin32/share/locale/vi/LC_MESSAGES/bison.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/wa/LC_MESSAGES/libiconv.mo b/gnuwin32/share/locale/wa/LC_MESSAGES/libiconv.mo
deleted file mode 100644
index dc26f4e6..00000000
--- a/gnuwin32/share/locale/wa/LC_MESSAGES/libiconv.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/zh_CN/LC_MESSAGES/bison-runtime.mo b/gnuwin32/share/locale/zh_CN/LC_MESSAGES/bison-runtime.mo
deleted file mode 100644
index b0998380..00000000
--- a/gnuwin32/share/locale/zh_CN/LC_MESSAGES/bison-runtime.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/zh_CN/LC_MESSAGES/libiconv.mo b/gnuwin32/share/locale/zh_CN/LC_MESSAGES/libiconv.mo
deleted file mode 100644
index 0f7080c6..00000000
--- a/gnuwin32/share/locale/zh_CN/LC_MESSAGES/libiconv.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/zh_TW/LC_MESSAGES/bison-runtime.mo b/gnuwin32/share/locale/zh_TW/LC_MESSAGES/bison-runtime.mo
deleted file mode 100644
index 243f5aa0..00000000
--- a/gnuwin32/share/locale/zh_TW/LC_MESSAGES/bison-runtime.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/zh_TW/LC_MESSAGES/bison.mo b/gnuwin32/share/locale/zh_TW/LC_MESSAGES/bison.mo
deleted file mode 100644
index 9c01484c..00000000
--- a/gnuwin32/share/locale/zh_TW/LC_MESSAGES/bison.mo
+++ /dev/null
Binary files differ
diff --git a/init-repository b/init-repository
index 63972ae3..2e0ddcde 100755
--- a/init-repository
+++ b/init-repository
@@ -627,6 +627,7 @@ sub git_install_hooks
}
$self->ensure_link($hooks.'/gerrit_commit_msg_hook', $module_gitdir.'/hooks/commit-msg');
$self->ensure_link($hooks.'/git_post_commit_hook', $module_gitdir.'/hooks/post-commit');
+ $self->ensure_link($hooks.'/clang-format-pre-commit', $module_gitdir.'/hooks/pre-commit');
}
}
diff --git a/qt3d b/qt3d
-Subproject 299c0bc6d2ea5817ba32b3724290c349789be11
+Subproject eefd4511d5d59045d3ac079b319e01dfca2334a
diff --git a/qt5compat b/qt5compat
new file mode 160000
+Subproject c1dbd110fb4e31407019539737efdf76f8b96ed
diff --git a/qtactiveqt b/qtactiveqt
-Subproject 3832b74aca592f8edf4cc54867d0a56334e797e
+Subproject 35bb7f3d233bd2016a477d3ea473c388cdd4b6a
diff --git a/qtandroidextras b/qtandroidextras
-Subproject fe09a2dc3edb4b9a4377b25847f0c684c17fcc1
+Subproject 1af58292717c0a087c264461914c32d686e1644
diff --git a/qtbase b/qtbase
-Subproject b7adc85642584be26a1870617a9aa83c16e40cf
+Subproject 3f6142f5a1a01f201593f6711930ec77640dea4
diff --git a/qtcharts b/qtcharts
-Subproject 40149204fe6df6c7bcee1d215b277d4553b385f
+Subproject e948e0c9f1e9bc096ada6e1d854177f5689ce1a
diff --git a/qtconnectivity b/qtconnectivity
-Subproject b58c470962aa6831f53d088afd523c1b1530fbc
+Subproject 60645c1ae0ceb6bdb81e5c4ce1c7efbf215e09e
diff --git a/qtdatavis3d b/qtdatavis3d
-Subproject 452cac276b493b6e9d6f1864eecaa97250cefd8
+Subproject 78befdb83f801cb0c4d87a5b64b5554fc2bbb71
diff --git a/qtdeclarative b/qtdeclarative
-Subproject 5f07a0e1149ed3df41f3ff5ef55f3f8bbad9990
+Subproject 185d9b5b72a2c062c4670b17385ec1e6e576c4d
diff --git a/qtdoc b/qtdoc
-Subproject c2eb165e4cad518fa3a0660588199144477fb30
+Subproject 70fe807b6bd1824cf6d611768101ea520178335
diff --git a/qtgamepad b/qtgamepad
-Subproject 938e499f724edf8b86c27a6800f0800d10ceacc
+Subproject 5fe6fd206f4aef1cb1ee9c328ee27e25e6b44f4
diff --git a/qtgraphicaleffects b/qtgraphicaleffects
-Subproject 93d9b1e891666137f475223d1855d202f97045b
+Subproject 4860a37352c9ef346d08e0be34c75dfc3dd71ad
diff --git a/qtimageformats b/qtimageformats
-Subproject 1d4a58a877b8b28074ca84a07340d2d8604b38d
+Subproject 11a02369f88be6185c4164c7080b2f981b5f055
diff --git a/qtlocation b/qtlocation
-Subproject c8771162fca507caaf3c1881ac26e47593608b6
+Subproject 4331bee772dfbb846c0c447357b7d0f4cb43506
diff --git a/qtlottie b/qtlottie
-Subproject 0278037c6a91a916f790971eafbc2ca0f8a9e4a
+Subproject 27bcfc703ebbe09dc753683241fad84bd6f6a9f
diff --git a/qtmacextras b/qtmacextras
-Subproject c4353f2fbcc444aa349648e1c23e49156ae5946
+Subproject e8a235fb0eb6b14e8ce7d816535dec1c927e87e
diff --git a/qtmultimedia b/qtmultimedia
-Subproject bb1fde2553fa05de0603df96dcd9d60cecc8548
+Subproject bb64e9df20003d705820544f55b081d22bd6287
diff --git a/qtnetworkauth b/qtnetworkauth
-Subproject cd5e9aa39f192f8265064e59e7771241f81a5f9
+Subproject 8871b49566b4fab10a02570b7ec2aebef282528
diff --git a/qtpurchasing b/qtpurchasing
-Subproject 5b705a2b6896f8b613ad1e3120696ec0f81885e
+Subproject 29b8e7a664038b40be0fd04f839e1b382db0831
diff --git a/qtqa b/qtqa
-Subproject 507202b4e7ae9f7a429e7f4d6eceb326e1b1b4a
+Subproject b7329ba80d98e592c77c78c5606d298f77c2206
diff --git a/qtquick3d b/qtquick3d
-Subproject ef675a99da6f729e36d0d2f1802de3b857db362
+Subproject 29fe880ffa8efc3debe01677df15fbac2c2f157
diff --git a/qtquickcontrols b/qtquickcontrols
-Subproject f984a80d055e4c9bbd2224d0db54f4233838591
+Subproject d25989845394b6a9a2c103e5c70768e57083e18
diff --git a/qtquickcontrols2 b/qtquickcontrols2
-Subproject 247dad297cb7f8d5af42434c67d24ffcc7bae01
+Subproject 4f3ebbedc79ae4d9f3031c8d1e8176eee82ee20
diff --git a/qtquicktimeline b/qtquicktimeline
-Subproject 5651ee826fa129f5d893ee280d83c1cf2aa7eb2
+Subproject b31b12c64e15d34e7189dba5c15707f29380744
diff --git a/qtremoteobjects b/qtremoteobjects
-Subproject d9b4c020eb158d7fceb439ff66f7ce5db5a9df5
+Subproject c603dac09f0099fd9a6482fb315e2c069a7ef5a
diff --git a/qtrepotools b/qtrepotools
-Subproject a51db43b580f774c64275cd3e1e0c707de2a04a
+Subproject 050705f615e5c54acc7d2c1190d2d997a0d1c3c
diff --git a/qtscript b/qtscript
deleted file mode 160000
-Subproject 54176314d1c06ef387e797258cfc3993274665c
diff --git a/qtscxml b/qtscxml
-Subproject 5fe75751ed90354eb0968f528974592003c6546
+Subproject 103c52661f468733b64747c847308b2c45449dc
diff --git a/qtsensors b/qtsensors
-Subproject ae5af8baa9c0323f1908a6d218c28f9c504bc77
+Subproject 5403d0f8175f2e0d7e04fe6fafa2a7660908b5c
diff --git a/qtserialbus b/qtserialbus
-Subproject e31f61763d347de933c60d808f941d17eaf7f4e
+Subproject a44ad0513f3a022f245d47ee513f1103fd06c2b
diff --git a/qtserialport b/qtserialport
-Subproject 2e27d1967a9a4146697028ed8feed14d0df2a46
+Subproject f597317dbf605ecc9391825ef27f52812fea069
diff --git a/qtshadertools b/qtshadertools
new file mode 160000
+Subproject 04c6c7064d9ae1407d42ea2cde6cad63a2f7c84
diff --git a/qtspeech b/qtspeech
-Subproject 0b7c9acbafbfe32f6ccb254b7ec656fac6fb189
+Subproject 25c1b5b74cc96ceaefeed6be76cda402f406a23
diff --git a/qtsvg b/qtsvg
-Subproject e5b211a4adc313cc10d1216ff3e8a166b562137
+Subproject c28211d4f86731c3e24475a13b7bef6fe36f4fd
diff --git a/qttools b/qttools
-Subproject 342f402c002f1bfcc842dd7711b040de4e2b27e
+Subproject 4fc0c5c783f58e556cd88312556fbafdccc23cb
diff --git a/qttranslations b/qttranslations
-Subproject 66952c79bc648e1074936dddb7fa2cffc17b177
+Subproject de232ed1977a03f7bc4f99f1d60d924cf41a420
diff --git a/qtvirtualkeyboard b/qtvirtualkeyboard
-Subproject 3744d0c3c961049a84023b7f8567e48196475b2
+Subproject b5306fad3c1bf399f9f4d78b4dd42611e4370fd
diff --git a/qtwayland b/qtwayland
-Subproject c9970025bc912c6d3b2fe6183762c6f254e84ae
+Subproject 0c295a654c4c4a251794a4079d9a92d6305189a
diff --git a/qtwebchannel b/qtwebchannel
-Subproject 8b701450aeceb878784879eaf65dc42d5befd3a
+Subproject e1c7e036431aa0da365dbdd8be7ce723cd72c7d
diff --git a/qtwebengine b/qtwebengine
-Subproject bbd11d8da5c52c5c76a6657d884d2e648e41010
+Subproject cda76002257d56ffedbf8d28211cfd66a7226e7
diff --git a/qtwebglplugin b/qtwebglplugin
-Subproject bd97e6e554c21144cadc9e047fa7d5f22f5f32b
+Subproject 531fb30d539f09003946ab768873ef87e6117fa
diff --git a/qtwebsockets b/qtwebsockets
-Subproject 5feeb5867d032cc4641ee088cfa5bd9063bcf5c
+Subproject 1bb87f7da8db6f727f54e230b43dde2c3c5c504
diff --git a/qtwebview b/qtwebview
-Subproject f8c190945d7b3679db5a322de8e49acc88748c7
+Subproject dfbe1343cd7d34a5fa3c9854568cc28e265df15
diff --git a/qtwinextras b/qtwinextras
-Subproject c496ca49dc0a01edcb0576818dab705ff5e02fe
+Subproject 18cf8f3120ab8b5522b1fe0846c3f1659bfc33f
diff --git a/qtx11extras b/qtx11extras
-Subproject 4e35f08d17c277e36fa5fb636b374b3d1dceb76
+Subproject 76e206e0a30d2c6532b9b5c6cf98d83d7b97d66
diff --git a/qtxmlpatterns b/qtxmlpatterns
-Subproject bc4290cde83470dd72eb49e8cf6275f7b7a70f3
+Subproject 05ab44484453673ee813bcac287fc9052ec9164