mirror of
https://github.com/henrywhitaker3/Speedtest-Tracker.git
synced 2025-12-21 13:23:04 +01:00
Changed speedtest client
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# Speedtest Tracker
|
||||
|
||||
[](https://hub.docker.com/r/henrywhitaker3/speedtest-tracker) [](https://github.com/henrywhitaker3/Speedtest-Tracker/commits) [](https://github.com/henrywhitaker3/Speedtest-Tracker/issues)  [](https://github.com/henrywhitaker3/Speedtest-Tracker/blob/master/LICENSE)
|
||||
[](https://hub.docker.com/r/henrywhitaker3/speedtest-tracker) [](https://github.com/henrywhitaker3/Speedtest-Tracker/commits) [](https://github.com/henrywhitaker3/Speedtest-Tracker/issues)  [](https://github.com/henrywhitaker3/Speedtest-Tracker/blob/master/LICENSE)
|
||||
|
||||
This program runs a speedtest check every hour and graphs the results. The back-end is written in [Laravel](https://laravel.com/) and the front-end uses [React](https://reactjs.org/). It uses the [speedtest-cli](https://github.com/sivel/speedtest-cli) package to get the data and uses [Chart.js](https://www.chartjs.org/) to plot the results.
|
||||
|
||||
|
||||
BIN
app/Bin/SpeedTest
Executable file
BIN
app/Bin/SpeedTest
Executable file
Binary file not shown.
36
app/Bin/SpeedTest-master/.gitignore
vendored
Normal file
36
app/Bin/SpeedTest-master/.gitignore
vendored
Normal file
@@ -0,0 +1,36 @@
|
||||
# Compiled Object files
|
||||
*.slo
|
||||
*.lo
|
||||
*.o
|
||||
*.obj
|
||||
|
||||
# Precompiled Headers
|
||||
*.gch
|
||||
*.pch
|
||||
|
||||
# Compiled Dynamic libraries
|
||||
*.so
|
||||
*.dylib
|
||||
*.dll
|
||||
|
||||
# Fortran module files
|
||||
*.mod
|
||||
*.smod
|
||||
|
||||
# Compiled Static libraries
|
||||
*.lai
|
||||
*.la
|
||||
*.a
|
||||
*.lib
|
||||
|
||||
# Executables
|
||||
*.exe
|
||||
*.out
|
||||
*.app
|
||||
cmake_build/
|
||||
.idea/
|
||||
cmake-build-debug/
|
||||
cmake-build-linux/
|
||||
|
||||
# Visual Studio 2015/2017 cache/options directory
|
||||
.vs/
|
||||
18
app/Bin/SpeedTest-master/.travis.yml
Normal file
18
app/Bin/SpeedTest-master/.travis.yml
Normal file
@@ -0,0 +1,18 @@
|
||||
sudo: false
|
||||
language: cpp
|
||||
compiler:
|
||||
- gcc
|
||||
install:
|
||||
- if [ "$CXX" = "g++" ]; then export CXX="g++-4.8" CC="gcc-4.8"; fi
|
||||
addons:
|
||||
apt:
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
packages:
|
||||
- gcc-4.8
|
||||
- g++-4.8
|
||||
- cmake
|
||||
- libcurl4-openssl-dev
|
||||
- libxml2-dev
|
||||
- libssl-dev
|
||||
script: mkdir cmake_build && cd cmake_build && cmake -DCMAKE_BUILD_TYPE=Release .. && make
|
||||
554
app/Bin/SpeedTest-master/CMakeCache.txt
Normal file
554
app/Bin/SpeedTest-master/CMakeCache.txt
Normal file
@@ -0,0 +1,554 @@
|
||||
# This is the CMakeCache file.
|
||||
# For build in directory: /home/henry/Downloads/SpeedTest-master
|
||||
# It was generated by CMake: /usr/bin/cmake
|
||||
# You can edit this file to change values found and used by cmake.
|
||||
# If you do not want to change any of the values, simply exit the editor.
|
||||
# If you do want to change a value, simply edit, save, and exit the editor.
|
||||
# The syntax for the file is as follows:
|
||||
# KEY:TYPE=VALUE
|
||||
# KEY is the name of a variable in the cache.
|
||||
# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!.
|
||||
# VALUE is the current value for the KEY.
|
||||
|
||||
########################
|
||||
# EXTERNAL cache entries
|
||||
########################
|
||||
|
||||
//Path to a program.
|
||||
CMAKE_ADDR2LINE:FILEPATH=/usr/bin/addr2line
|
||||
|
||||
//Path to a program.
|
||||
CMAKE_AR:FILEPATH=/usr/bin/ar
|
||||
|
||||
//Choose the type of build, options are: None Debug Release RelWithDebInfo
|
||||
// MinSizeRel ...
|
||||
CMAKE_BUILD_TYPE:STRING=Release
|
||||
|
||||
//Enable/Disable color output during build.
|
||||
CMAKE_COLOR_MAKEFILE:BOOL=ON
|
||||
|
||||
//CXX compiler
|
||||
CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/c++
|
||||
|
||||
//A wrapper around 'ar' adding the appropriate '--plugin' option
|
||||
// for the GCC compiler
|
||||
CMAKE_CXX_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-9
|
||||
|
||||
//A wrapper around 'ranlib' adding the appropriate '--plugin' option
|
||||
// for the GCC compiler
|
||||
CMAKE_CXX_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-9
|
||||
|
||||
//Flags used by the CXX compiler during all build types.
|
||||
CMAKE_CXX_FLAGS:STRING=
|
||||
|
||||
//Flags used by the CXX compiler during DEBUG builds.
|
||||
CMAKE_CXX_FLAGS_DEBUG:STRING=-g
|
||||
|
||||
//Flags used by the CXX compiler during MINSIZEREL builds.
|
||||
CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG
|
||||
|
||||
//Flags used by the CXX compiler during RELEASE builds.
|
||||
CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG
|
||||
|
||||
//Flags used by the CXX compiler during RELWITHDEBINFO builds.
|
||||
CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG
|
||||
|
||||
//C compiler
|
||||
CMAKE_C_COMPILER:FILEPATH=/usr/bin/cc
|
||||
|
||||
//A wrapper around 'ar' adding the appropriate '--plugin' option
|
||||
// for the GCC compiler
|
||||
CMAKE_C_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-9
|
||||
|
||||
//A wrapper around 'ranlib' adding the appropriate '--plugin' option
|
||||
// for the GCC compiler
|
||||
CMAKE_C_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-9
|
||||
|
||||
//Flags used by the C compiler during all build types.
|
||||
CMAKE_C_FLAGS:STRING=
|
||||
|
||||
//Flags used by the C compiler during DEBUG builds.
|
||||
CMAKE_C_FLAGS_DEBUG:STRING=-g
|
||||
|
||||
//Flags used by the C compiler during MINSIZEREL builds.
|
||||
CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG
|
||||
|
||||
//Flags used by the C compiler during RELEASE builds.
|
||||
CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG
|
||||
|
||||
//Flags used by the C compiler during RELWITHDEBINFO builds.
|
||||
CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG
|
||||
|
||||
//Path to a program.
|
||||
CMAKE_DLLTOOL:FILEPATH=CMAKE_DLLTOOL-NOTFOUND
|
||||
|
||||
//Flags used by the linker during all build types.
|
||||
CMAKE_EXE_LINKER_FLAGS:STRING=
|
||||
|
||||
//Flags used by the linker during DEBUG builds.
|
||||
CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING=
|
||||
|
||||
//Flags used by the linker during MINSIZEREL builds.
|
||||
CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING=
|
||||
|
||||
//Flags used by the linker during RELEASE builds.
|
||||
CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING=
|
||||
|
||||
//Flags used by the linker during RELWITHDEBINFO builds.
|
||||
CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
|
||||
|
||||
//Enable/Disable output of compile commands during generation.
|
||||
CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=OFF
|
||||
|
||||
//Install path prefix, prepended onto install directories.
|
||||
CMAKE_INSTALL_PREFIX:PATH=/usr/local
|
||||
|
||||
//Path to a program.
|
||||
CMAKE_LINKER:FILEPATH=/usr/bin/ld
|
||||
|
||||
//Path to a program.
|
||||
CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/make
|
||||
|
||||
//Flags used by the linker during the creation of modules during
|
||||
// all build types.
|
||||
CMAKE_MODULE_LINKER_FLAGS:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of modules during
|
||||
// DEBUG builds.
|
||||
CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of modules during
|
||||
// MINSIZEREL builds.
|
||||
CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of modules during
|
||||
// RELEASE builds.
|
||||
CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of modules during
|
||||
// RELWITHDEBINFO builds.
|
||||
CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
|
||||
|
||||
//Path to a program.
|
||||
CMAKE_NM:FILEPATH=/usr/bin/nm
|
||||
|
||||
//Path to a program.
|
||||
CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy
|
||||
|
||||
//Path to a program.
|
||||
CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump
|
||||
|
||||
//Value Computed by CMake
|
||||
CMAKE_PROJECT_DESCRIPTION:STATIC=
|
||||
|
||||
//Value Computed by CMake
|
||||
CMAKE_PROJECT_HOMEPAGE_URL:STATIC=
|
||||
|
||||
//Value Computed by CMake
|
||||
CMAKE_PROJECT_NAME:STATIC=SpeedTest
|
||||
|
||||
//Path to a program.
|
||||
CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib
|
||||
|
||||
//Path to a program.
|
||||
CMAKE_READELF:FILEPATH=/usr/bin/readelf
|
||||
|
||||
//Flags used by the linker during the creation of shared libraries
|
||||
// during all build types.
|
||||
CMAKE_SHARED_LINKER_FLAGS:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of shared libraries
|
||||
// during DEBUG builds.
|
||||
CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of shared libraries
|
||||
// during MINSIZEREL builds.
|
||||
CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of shared libraries
|
||||
// during RELEASE builds.
|
||||
CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of shared libraries
|
||||
// during RELWITHDEBINFO builds.
|
||||
CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING=
|
||||
|
||||
//If set, runtime paths are not added when installing shared libraries,
|
||||
// but are added when building.
|
||||
CMAKE_SKIP_INSTALL_RPATH:BOOL=NO
|
||||
|
||||
//If set, runtime paths are not added when using shared libraries.
|
||||
CMAKE_SKIP_RPATH:BOOL=NO
|
||||
|
||||
//Flags used by the linker during the creation of static libraries
|
||||
// during all build types.
|
||||
CMAKE_STATIC_LINKER_FLAGS:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of static libraries
|
||||
// during DEBUG builds.
|
||||
CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of static libraries
|
||||
// during MINSIZEREL builds.
|
||||
CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of static libraries
|
||||
// during RELEASE builds.
|
||||
CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of static libraries
|
||||
// during RELWITHDEBINFO builds.
|
||||
CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING=
|
||||
|
||||
//Path to a program.
|
||||
CMAKE_STRIP:FILEPATH=/usr/bin/strip
|
||||
|
||||
//If this value is on, makefiles will be generated without the
|
||||
// .SILENT directive, and all commands will be echoed to the console
|
||||
// during the make. This is useful for debugging only. With Visual
|
||||
// Studio IDE projects all commands are done without /nologo.
|
||||
CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE
|
||||
|
||||
//Path to a file.
|
||||
CURL_INCLUDE_DIR:PATH=/usr/include/x86_64-linux-gnu
|
||||
|
||||
//Path to a library.
|
||||
CURL_LIBRARY_DEBUG:FILEPATH=CURL_LIBRARY_DEBUG-NOTFOUND
|
||||
|
||||
//Path to a library.
|
||||
CURL_LIBRARY_RELEASE:FILEPATH=/usr/lib/x86_64-linux-gnu/libcurl.so
|
||||
|
||||
//Path to a file.
|
||||
LIBXML2_INCLUDE_DIR:PATH=/usr/include/libxml2
|
||||
|
||||
//Path to a library.
|
||||
LIBXML2_LIBRARY:FILEPATH=/usr/lib/x86_64-linux-gnu/libxml2.so
|
||||
|
||||
//Path to a program.
|
||||
LIBXML2_XMLLINT_EXECUTABLE:FILEPATH=/usr/bin/xmllint
|
||||
|
||||
//Path to a library.
|
||||
OPENSSL_CRYPTO_LIBRARY:FILEPATH=/usr/lib/x86_64-linux-gnu/libcrypto.so
|
||||
|
||||
//Path to a file.
|
||||
OPENSSL_INCLUDE_DIR:PATH=/usr/include
|
||||
|
||||
//Path to a library.
|
||||
OPENSSL_SSL_LIBRARY:FILEPATH=/usr/lib/x86_64-linux-gnu/libssl.so
|
||||
|
||||
//pkg-config executable
|
||||
PKG_CONFIG_EXECUTABLE:FILEPATH=/usr/bin/pkg-config
|
||||
|
||||
//Value Computed by CMake
|
||||
SpeedTest_BINARY_DIR:STATIC=/home/henry/Downloads/SpeedTest-master
|
||||
|
||||
//Value Computed by CMake
|
||||
SpeedTest_SOURCE_DIR:STATIC=/home/henry/Downloads/SpeedTest-master
|
||||
|
||||
//Path to a library.
|
||||
pkgcfg_lib_PC_CURL_curl:FILEPATH=/usr/lib/x86_64-linux-gnu/libcurl.so
|
||||
|
||||
//Path to a library.
|
||||
pkgcfg_lib_PC_LIBXML_xml2:FILEPATH=/usr/lib/x86_64-linux-gnu/libxml2.so
|
||||
|
||||
//Path to a library.
|
||||
pkgcfg_lib__OPENSSL_crypto:FILEPATH=/usr/lib/x86_64-linux-gnu/libcrypto.so
|
||||
|
||||
//Path to a library.
|
||||
pkgcfg_lib__OPENSSL_ssl:FILEPATH=/usr/lib/x86_64-linux-gnu/libssl.so
|
||||
|
||||
|
||||
########################
|
||||
# INTERNAL cache entries
|
||||
########################
|
||||
|
||||
//ADVANCED property for variable: CMAKE_ADDR2LINE
|
||||
CMAKE_ADDR2LINE-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_AR
|
||||
CMAKE_AR-ADVANCED:INTERNAL=1
|
||||
//This is the directory where this CMakeCache.txt was created
|
||||
CMAKE_CACHEFILE_DIR:INTERNAL=/home/henry/Downloads/SpeedTest-master
|
||||
//Major version of cmake used to create the current loaded cache
|
||||
CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3
|
||||
//Minor version of cmake used to create the current loaded cache
|
||||
CMAKE_CACHE_MINOR_VERSION:INTERNAL=16
|
||||
//Patch version of cmake used to create the current loaded cache
|
||||
CMAKE_CACHE_PATCH_VERSION:INTERNAL=3
|
||||
//ADVANCED property for variable: CMAKE_COLOR_MAKEFILE
|
||||
CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1
|
||||
//Path to CMake executable.
|
||||
CMAKE_COMMAND:INTERNAL=/usr/bin/cmake
|
||||
//Path to cpack program executable.
|
||||
CMAKE_CPACK_COMMAND:INTERNAL=/usr/bin/cpack
|
||||
//Path to ctest program executable.
|
||||
CMAKE_CTEST_COMMAND:INTERNAL=/usr/bin/ctest
|
||||
//ADVANCED property for variable: CMAKE_CXX_COMPILER
|
||||
CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_CXX_COMPILER_AR
|
||||
CMAKE_CXX_COMPILER_AR-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_CXX_COMPILER_RANLIB
|
||||
CMAKE_CXX_COMPILER_RANLIB-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_CXX_FLAGS
|
||||
CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG
|
||||
CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL
|
||||
CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE
|
||||
CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO
|
||||
CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_C_COMPILER
|
||||
CMAKE_C_COMPILER-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_C_COMPILER_AR
|
||||
CMAKE_C_COMPILER_AR-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_C_COMPILER_RANLIB
|
||||
CMAKE_C_COMPILER_RANLIB-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_C_FLAGS
|
||||
CMAKE_C_FLAGS-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG
|
||||
CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL
|
||||
CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE
|
||||
CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO
|
||||
CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_DLLTOOL
|
||||
CMAKE_DLLTOOL-ADVANCED:INTERNAL=1
|
||||
//Executable file format
|
||||
CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF
|
||||
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS
|
||||
CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG
|
||||
CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL
|
||||
CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE
|
||||
CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO
|
||||
CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS
|
||||
CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1
|
||||
//Name of external makefile project generator.
|
||||
CMAKE_EXTRA_GENERATOR:INTERNAL=
|
||||
//Name of generator.
|
||||
CMAKE_GENERATOR:INTERNAL=Unix Makefiles
|
||||
//Generator instance identifier.
|
||||
CMAKE_GENERATOR_INSTANCE:INTERNAL=
|
||||
//Name of generator platform.
|
||||
CMAKE_GENERATOR_PLATFORM:INTERNAL=
|
||||
//Name of generator toolset.
|
||||
CMAKE_GENERATOR_TOOLSET:INTERNAL=
|
||||
//Source directory with the top level CMakeLists.txt file for this
|
||||
// project
|
||||
CMAKE_HOME_DIRECTORY:INTERNAL=/home/henry/Downloads/SpeedTest-master
|
||||
//Install .so files without execute permission.
|
||||
CMAKE_INSTALL_SO_NO_EXE:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_LINKER
|
||||
CMAKE_LINKER-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_MAKE_PROGRAM
|
||||
CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS
|
||||
CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG
|
||||
CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL
|
||||
CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE
|
||||
CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO
|
||||
CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_NM
|
||||
CMAKE_NM-ADVANCED:INTERNAL=1
|
||||
//number of local generators
|
||||
CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_OBJCOPY
|
||||
CMAKE_OBJCOPY-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_OBJDUMP
|
||||
CMAKE_OBJDUMP-ADVANCED:INTERNAL=1
|
||||
//Platform information initialized
|
||||
CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_RANLIB
|
||||
CMAKE_RANLIB-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_READELF
|
||||
CMAKE_READELF-ADVANCED:INTERNAL=1
|
||||
//Path to CMake installation.
|
||||
CMAKE_ROOT:INTERNAL=/usr/share/cmake-3.16
|
||||
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS
|
||||
CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG
|
||||
CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL
|
||||
CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE
|
||||
CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO
|
||||
CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH
|
||||
CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_SKIP_RPATH
|
||||
CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS
|
||||
CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG
|
||||
CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL
|
||||
CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE
|
||||
CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO
|
||||
CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_STRIP
|
||||
CMAKE_STRIP-ADVANCED:INTERNAL=1
|
||||
//uname command
|
||||
CMAKE_UNAME:INTERNAL=/usr/bin/uname
|
||||
//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE
|
||||
CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CURL_INCLUDE_DIR
|
||||
CURL_INCLUDE_DIR-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CURL_LIBRARY_DEBUG
|
||||
CURL_LIBRARY_DEBUG-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CURL_LIBRARY_RELEASE
|
||||
CURL_LIBRARY_RELEASE-ADVANCED:INTERNAL=1
|
||||
//Details about finding CURL
|
||||
FIND_PACKAGE_MESSAGE_DETAILS_CURL:INTERNAL=[/usr/lib/x86_64-linux-gnu/libcurl.so][/usr/include/x86_64-linux-gnu][c ][v7.68.0()]
|
||||
//Details about finding LibXml2
|
||||
FIND_PACKAGE_MESSAGE_DETAILS_LibXml2:INTERNAL=[/usr/lib/x86_64-linux-gnu/libxml2.so][/usr/include/libxml2][v2.9.10()]
|
||||
//Details about finding OpenSSL
|
||||
FIND_PACKAGE_MESSAGE_DETAILS_OpenSSL:INTERNAL=[/usr/lib/x86_64-linux-gnu/libcrypto.so][/usr/include][c ][v1.1.1f()]
|
||||
//ADVANCED property for variable: LIBXML2_INCLUDE_DIR
|
||||
LIBXML2_INCLUDE_DIR-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: LIBXML2_LIBRARY
|
||||
LIBXML2_LIBRARY-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: LIBXML2_XMLLINT_EXECUTABLE
|
||||
LIBXML2_XMLLINT_EXECUTABLE-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: OPENSSL_CRYPTO_LIBRARY
|
||||
OPENSSL_CRYPTO_LIBRARY-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: OPENSSL_INCLUDE_DIR
|
||||
OPENSSL_INCLUDE_DIR-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: OPENSSL_SSL_LIBRARY
|
||||
OPENSSL_SSL_LIBRARY-ADVANCED:INTERNAL=1
|
||||
PC_CURL_CFLAGS:INTERNAL=-I/usr/include/x86_64-linux-gnu
|
||||
PC_CURL_CFLAGS_I:INTERNAL=
|
||||
PC_CURL_CFLAGS_OTHER:INTERNAL=
|
||||
PC_CURL_FOUND:INTERNAL=1
|
||||
PC_CURL_INCLUDEDIR:INTERNAL=/usr/include/x86_64-linux-gnu
|
||||
PC_CURL_INCLUDE_DIRS:INTERNAL=/usr/include/x86_64-linux-gnu
|
||||
PC_CURL_LDFLAGS:INTERNAL=-lcurl
|
||||
PC_CURL_LDFLAGS_OTHER:INTERNAL=
|
||||
PC_CURL_LIBDIR:INTERNAL=/usr/lib/x86_64-linux-gnu
|
||||
PC_CURL_LIBRARIES:INTERNAL=curl
|
||||
PC_CURL_LIBRARY_DIRS:INTERNAL=
|
||||
PC_CURL_LIBS:INTERNAL=
|
||||
PC_CURL_LIBS_L:INTERNAL=
|
||||
PC_CURL_LIBS_OTHER:INTERNAL=
|
||||
PC_CURL_LIBS_PATHS:INTERNAL=
|
||||
PC_CURL_MODULE_NAME:INTERNAL=libcurl
|
||||
PC_CURL_PREFIX:INTERNAL=/usr
|
||||
PC_CURL_STATIC_CFLAGS:INTERNAL=-I/usr/include/x86_64-linux-gnu
|
||||
PC_CURL_STATIC_CFLAGS_I:INTERNAL=
|
||||
PC_CURL_STATIC_CFLAGS_OTHER:INTERNAL=
|
||||
PC_CURL_STATIC_INCLUDE_DIRS:INTERNAL=/usr/include/x86_64-linux-gnu
|
||||
PC_CURL_STATIC_LDFLAGS:INTERNAL=-L/usr/lib/x86_64-linux-gnu/mit-krb5;-lcurl;-lnghttp2;-lidn2;-lrtmp;-lssh;-lpsl;-lnettle;-lgnutls;-Wl,-Bsymbolic-functions;-Wl,-z,relro;-lgssapi_krb5;-lkrb5;-lk5crypto;-lcom_err;-llber;-lldap;-llber;-lbrotlidec;-lz
|
||||
PC_CURL_STATIC_LDFLAGS_OTHER:INTERNAL=-Wl,-Bsymbolic-functions;-Wl,-z,relro
|
||||
PC_CURL_STATIC_LIBDIR:INTERNAL=
|
||||
PC_CURL_STATIC_LIBRARIES:INTERNAL=curl;nghttp2;idn2;rtmp;ssh;psl;nettle;gnutls;gssapi_krb5;krb5;k5crypto;com_err;lber;ldap;lber;brotlidec;z
|
||||
PC_CURL_STATIC_LIBRARY_DIRS:INTERNAL=/usr/lib/x86_64-linux-gnu/mit-krb5
|
||||
PC_CURL_STATIC_LIBS:INTERNAL=
|
||||
PC_CURL_STATIC_LIBS_L:INTERNAL=
|
||||
PC_CURL_STATIC_LIBS_OTHER:INTERNAL=
|
||||
PC_CURL_STATIC_LIBS_PATHS:INTERNAL=
|
||||
PC_CURL_VERSION:INTERNAL=7.68.0
|
||||
PC_CURL_libcurl_INCLUDEDIR:INTERNAL=
|
||||
PC_CURL_libcurl_LIBDIR:INTERNAL=
|
||||
PC_CURL_libcurl_PREFIX:INTERNAL=
|
||||
PC_CURL_libcurl_VERSION:INTERNAL=
|
||||
PC_LIBXML_CFLAGS:INTERNAL=-I/usr/include/libxml2
|
||||
PC_LIBXML_CFLAGS_I:INTERNAL=
|
||||
PC_LIBXML_CFLAGS_OTHER:INTERNAL=
|
||||
PC_LIBXML_FOUND:INTERNAL=1
|
||||
PC_LIBXML_INCLUDEDIR:INTERNAL=/usr/include
|
||||
PC_LIBXML_INCLUDE_DIRS:INTERNAL=/usr/include/libxml2
|
||||
PC_LIBXML_LDFLAGS:INTERNAL=-lxml2
|
||||
PC_LIBXML_LDFLAGS_OTHER:INTERNAL=
|
||||
PC_LIBXML_LIBDIR:INTERNAL=/usr/lib/x86_64-linux-gnu
|
||||
PC_LIBXML_LIBRARIES:INTERNAL=xml2
|
||||
PC_LIBXML_LIBRARY_DIRS:INTERNAL=
|
||||
PC_LIBXML_LIBS:INTERNAL=
|
||||
PC_LIBXML_LIBS_L:INTERNAL=
|
||||
PC_LIBXML_LIBS_OTHER:INTERNAL=
|
||||
PC_LIBXML_LIBS_PATHS:INTERNAL=
|
||||
PC_LIBXML_MODULE_NAME:INTERNAL=libxml-2.0
|
||||
PC_LIBXML_PREFIX:INTERNAL=/usr
|
||||
PC_LIBXML_STATIC_CFLAGS:INTERNAL=-I/usr/include/libxml2
|
||||
PC_LIBXML_STATIC_CFLAGS_I:INTERNAL=
|
||||
PC_LIBXML_STATIC_CFLAGS_OTHER:INTERNAL=
|
||||
PC_LIBXML_STATIC_INCLUDE_DIRS:INTERNAL=/usr/include/libxml2
|
||||
PC_LIBXML_STATIC_LDFLAGS:INTERNAL=-lxml2;-licui18n;-licuuc;-licudata;-lz;-llzma;-lm
|
||||
PC_LIBXML_STATIC_LDFLAGS_OTHER:INTERNAL=
|
||||
PC_LIBXML_STATIC_LIBDIR:INTERNAL=
|
||||
PC_LIBXML_STATIC_LIBRARIES:INTERNAL=xml2;icui18n;icuuc;icudata;z;lzma;m
|
||||
PC_LIBXML_STATIC_LIBRARY_DIRS:INTERNAL=
|
||||
PC_LIBXML_STATIC_LIBS:INTERNAL=
|
||||
PC_LIBXML_STATIC_LIBS_L:INTERNAL=
|
||||
PC_LIBXML_STATIC_LIBS_OTHER:INTERNAL=
|
||||
PC_LIBXML_STATIC_LIBS_PATHS:INTERNAL=
|
||||
PC_LIBXML_VERSION:INTERNAL=2.9.10
|
||||
PC_LIBXML_libxml-2.0_INCLUDEDIR:INTERNAL=
|
||||
PC_LIBXML_libxml-2.0_LIBDIR:INTERNAL=
|
||||
PC_LIBXML_libxml-2.0_PREFIX:INTERNAL=
|
||||
PC_LIBXML_libxml-2.0_VERSION:INTERNAL=
|
||||
//ADVANCED property for variable: PKG_CONFIG_EXECUTABLE
|
||||
PKG_CONFIG_EXECUTABLE-ADVANCED:INTERNAL=1
|
||||
_OPENSSL_CFLAGS:INTERNAL=
|
||||
_OPENSSL_CFLAGS_I:INTERNAL=
|
||||
_OPENSSL_CFLAGS_OTHER:INTERNAL=
|
||||
_OPENSSL_FOUND:INTERNAL=1
|
||||
_OPENSSL_INCLUDEDIR:INTERNAL=/usr/include
|
||||
_OPENSSL_INCLUDE_DIRS:INTERNAL=
|
||||
_OPENSSL_LDFLAGS:INTERNAL=-lssl;-lcrypto
|
||||
_OPENSSL_LDFLAGS_OTHER:INTERNAL=
|
||||
_OPENSSL_LIBDIR:INTERNAL=/usr/lib/x86_64-linux-gnu
|
||||
_OPENSSL_LIBRARIES:INTERNAL=ssl;crypto
|
||||
_OPENSSL_LIBRARY_DIRS:INTERNAL=
|
||||
_OPENSSL_LIBS:INTERNAL=
|
||||
_OPENSSL_LIBS_L:INTERNAL=
|
||||
_OPENSSL_LIBS_OTHER:INTERNAL=
|
||||
_OPENSSL_LIBS_PATHS:INTERNAL=
|
||||
_OPENSSL_MODULE_NAME:INTERNAL=openssl
|
||||
_OPENSSL_PREFIX:INTERNAL=/usr
|
||||
_OPENSSL_STATIC_CFLAGS:INTERNAL=
|
||||
_OPENSSL_STATIC_CFLAGS_I:INTERNAL=
|
||||
_OPENSSL_STATIC_CFLAGS_OTHER:INTERNAL=
|
||||
_OPENSSL_STATIC_INCLUDE_DIRS:INTERNAL=
|
||||
_OPENSSL_STATIC_LDFLAGS:INTERNAL=-lssl;-lcrypto;-ldl;-pthread
|
||||
_OPENSSL_STATIC_LDFLAGS_OTHER:INTERNAL=-pthread
|
||||
_OPENSSL_STATIC_LIBDIR:INTERNAL=
|
||||
_OPENSSL_STATIC_LIBRARIES:INTERNAL=ssl;crypto;dl
|
||||
_OPENSSL_STATIC_LIBRARY_DIRS:INTERNAL=
|
||||
_OPENSSL_STATIC_LIBS:INTERNAL=
|
||||
_OPENSSL_STATIC_LIBS_L:INTERNAL=
|
||||
_OPENSSL_STATIC_LIBS_OTHER:INTERNAL=
|
||||
_OPENSSL_STATIC_LIBS_PATHS:INTERNAL=
|
||||
_OPENSSL_VERSION:INTERNAL=1.1.1f
|
||||
_OPENSSL_openssl_INCLUDEDIR:INTERNAL=
|
||||
_OPENSSL_openssl_LIBDIR:INTERNAL=
|
||||
_OPENSSL_openssl_PREFIX:INTERNAL=
|
||||
_OPENSSL_openssl_VERSION:INTERNAL=
|
||||
__pkg_config_arguments_PC_CURL:INTERNAL=QUIET;libcurl
|
||||
__pkg_config_arguments_PC_LIBXML:INTERNAL=QUIET;libxml-2.0
|
||||
__pkg_config_arguments__OPENSSL:INTERNAL=QUIET;openssl
|
||||
__pkg_config_checked_PC_CURL:INTERNAL=1
|
||||
__pkg_config_checked_PC_LIBXML:INTERNAL=1
|
||||
__pkg_config_checked__OPENSSL:INTERNAL=1
|
||||
//ADVANCED property for variable: pkgcfg_lib_PC_CURL_curl
|
||||
pkgcfg_lib_PC_CURL_curl-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: pkgcfg_lib_PC_LIBXML_xml2
|
||||
pkgcfg_lib_PC_LIBXML_xml2-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: pkgcfg_lib__OPENSSL_crypto
|
||||
pkgcfg_lib__OPENSSL_crypto-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: pkgcfg_lib__OPENSSL_ssl
|
||||
pkgcfg_lib__OPENSSL_ssl-ADVANCED:INTERNAL=1
|
||||
prefix_result:INTERNAL=/usr/lib/x86_64-linux-gnu
|
||||
|
||||
@@ -0,0 +1,76 @@
|
||||
set(CMAKE_C_COMPILER "/usr/bin/cc")
|
||||
set(CMAKE_C_COMPILER_ARG1 "")
|
||||
set(CMAKE_C_COMPILER_ID "GNU")
|
||||
set(CMAKE_C_COMPILER_VERSION "9.3.0")
|
||||
set(CMAKE_C_COMPILER_VERSION_INTERNAL "")
|
||||
set(CMAKE_C_COMPILER_WRAPPER "")
|
||||
set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "11")
|
||||
set(CMAKE_C_COMPILE_FEATURES "c_std_90;c_function_prototypes;c_std_99;c_restrict;c_variadic_macros;c_std_11;c_static_assert")
|
||||
set(CMAKE_C90_COMPILE_FEATURES "c_std_90;c_function_prototypes")
|
||||
set(CMAKE_C99_COMPILE_FEATURES "c_std_99;c_restrict;c_variadic_macros")
|
||||
set(CMAKE_C11_COMPILE_FEATURES "c_std_11;c_static_assert")
|
||||
|
||||
set(CMAKE_C_PLATFORM_ID "Linux")
|
||||
set(CMAKE_C_SIMULATE_ID "")
|
||||
set(CMAKE_C_COMPILER_FRONTEND_VARIANT "")
|
||||
set(CMAKE_C_SIMULATE_VERSION "")
|
||||
|
||||
|
||||
|
||||
set(CMAKE_AR "/usr/bin/ar")
|
||||
set(CMAKE_C_COMPILER_AR "/usr/bin/gcc-ar-9")
|
||||
set(CMAKE_RANLIB "/usr/bin/ranlib")
|
||||
set(CMAKE_C_COMPILER_RANLIB "/usr/bin/gcc-ranlib-9")
|
||||
set(CMAKE_LINKER "/usr/bin/ld")
|
||||
set(CMAKE_MT "")
|
||||
set(CMAKE_COMPILER_IS_GNUCC 1)
|
||||
set(CMAKE_C_COMPILER_LOADED 1)
|
||||
set(CMAKE_C_COMPILER_WORKS TRUE)
|
||||
set(CMAKE_C_ABI_COMPILED TRUE)
|
||||
set(CMAKE_COMPILER_IS_MINGW )
|
||||
set(CMAKE_COMPILER_IS_CYGWIN )
|
||||
if(CMAKE_COMPILER_IS_CYGWIN)
|
||||
set(CYGWIN 1)
|
||||
set(UNIX 1)
|
||||
endif()
|
||||
|
||||
set(CMAKE_C_COMPILER_ENV_VAR "CC")
|
||||
|
||||
if(CMAKE_COMPILER_IS_MINGW)
|
||||
set(MINGW 1)
|
||||
endif()
|
||||
set(CMAKE_C_COMPILER_ID_RUN 1)
|
||||
set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m)
|
||||
set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC)
|
||||
set(CMAKE_C_LINKER_PREFERENCE 10)
|
||||
|
||||
# Save compiler ABI information.
|
||||
set(CMAKE_C_SIZEOF_DATA_PTR "8")
|
||||
set(CMAKE_C_COMPILER_ABI "ELF")
|
||||
set(CMAKE_C_LIBRARY_ARCHITECTURE "x86_64-linux-gnu")
|
||||
|
||||
if(CMAKE_C_SIZEOF_DATA_PTR)
|
||||
set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}")
|
||||
endif()
|
||||
|
||||
if(CMAKE_C_COMPILER_ABI)
|
||||
set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}")
|
||||
endif()
|
||||
|
||||
if(CMAKE_C_LIBRARY_ARCHITECTURE)
|
||||
set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu")
|
||||
endif()
|
||||
|
||||
set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "")
|
||||
if(CMAKE_C_CL_SHOWINCLUDES_PREFIX)
|
||||
set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}")
|
||||
endif()
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
set(CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/9/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include")
|
||||
set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "gcc;gcc_s;c;gcc;gcc_s")
|
||||
set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/9;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib")
|
||||
set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")
|
||||
@@ -0,0 +1,88 @@
|
||||
set(CMAKE_CXX_COMPILER "/usr/bin/c++")
|
||||
set(CMAKE_CXX_COMPILER_ARG1 "")
|
||||
set(CMAKE_CXX_COMPILER_ID "GNU")
|
||||
set(CMAKE_CXX_COMPILER_VERSION "9.3.0")
|
||||
set(CMAKE_CXX_COMPILER_VERSION_INTERNAL "")
|
||||
set(CMAKE_CXX_COMPILER_WRAPPER "")
|
||||
set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "14")
|
||||
set(CMAKE_CXX_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters;cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates;cxx_std_17;cxx_std_20")
|
||||
set(CMAKE_CXX98_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters")
|
||||
set(CMAKE_CXX11_COMPILE_FEATURES "cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates")
|
||||
set(CMAKE_CXX14_COMPILE_FEATURES "cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates")
|
||||
set(CMAKE_CXX17_COMPILE_FEATURES "cxx_std_17")
|
||||
set(CMAKE_CXX20_COMPILE_FEATURES "cxx_std_20")
|
||||
|
||||
set(CMAKE_CXX_PLATFORM_ID "Linux")
|
||||
set(CMAKE_CXX_SIMULATE_ID "")
|
||||
set(CMAKE_CXX_COMPILER_FRONTEND_VARIANT "")
|
||||
set(CMAKE_CXX_SIMULATE_VERSION "")
|
||||
|
||||
|
||||
|
||||
set(CMAKE_AR "/usr/bin/ar")
|
||||
set(CMAKE_CXX_COMPILER_AR "/usr/bin/gcc-ar-9")
|
||||
set(CMAKE_RANLIB "/usr/bin/ranlib")
|
||||
set(CMAKE_CXX_COMPILER_RANLIB "/usr/bin/gcc-ranlib-9")
|
||||
set(CMAKE_LINKER "/usr/bin/ld")
|
||||
set(CMAKE_MT "")
|
||||
set(CMAKE_COMPILER_IS_GNUCXX 1)
|
||||
set(CMAKE_CXX_COMPILER_LOADED 1)
|
||||
set(CMAKE_CXX_COMPILER_WORKS TRUE)
|
||||
set(CMAKE_CXX_ABI_COMPILED TRUE)
|
||||
set(CMAKE_COMPILER_IS_MINGW )
|
||||
set(CMAKE_COMPILER_IS_CYGWIN )
|
||||
if(CMAKE_COMPILER_IS_CYGWIN)
|
||||
set(CYGWIN 1)
|
||||
set(UNIX 1)
|
||||
endif()
|
||||
|
||||
set(CMAKE_CXX_COMPILER_ENV_VAR "CXX")
|
||||
|
||||
if(CMAKE_COMPILER_IS_MINGW)
|
||||
set(MINGW 1)
|
||||
endif()
|
||||
set(CMAKE_CXX_COMPILER_ID_RUN 1)
|
||||
set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;CPP)
|
||||
set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC)
|
||||
|
||||
foreach (lang C OBJC OBJCXX)
|
||||
if (CMAKE_${lang}_COMPILER_ID_RUN)
|
||||
foreach(extension IN LISTS CMAKE_${lang}_SOURCE_FILE_EXTENSIONS)
|
||||
list(REMOVE_ITEM CMAKE_CXX_SOURCE_FILE_EXTENSIONS ${extension})
|
||||
endforeach()
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
set(CMAKE_CXX_LINKER_PREFERENCE 30)
|
||||
set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1)
|
||||
|
||||
# Save compiler ABI information.
|
||||
set(CMAKE_CXX_SIZEOF_DATA_PTR "8")
|
||||
set(CMAKE_CXX_COMPILER_ABI "ELF")
|
||||
set(CMAKE_CXX_LIBRARY_ARCHITECTURE "x86_64-linux-gnu")
|
||||
|
||||
if(CMAKE_CXX_SIZEOF_DATA_PTR)
|
||||
set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}")
|
||||
endif()
|
||||
|
||||
if(CMAKE_CXX_COMPILER_ABI)
|
||||
set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}")
|
||||
endif()
|
||||
|
||||
if(CMAKE_CXX_LIBRARY_ARCHITECTURE)
|
||||
set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu")
|
||||
endif()
|
||||
|
||||
set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "")
|
||||
if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX)
|
||||
set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}")
|
||||
endif()
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
set(CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES "/usr/include/c++/9;/usr/include/x86_64-linux-gnu/c++/9;/usr/include/c++/9/backward;/usr/lib/gcc/x86_64-linux-gnu/9/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include")
|
||||
set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "stdc++;m;gcc_s;gcc;c;gcc_s;gcc")
|
||||
set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/9;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib")
|
||||
set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")
|
||||
BIN
app/Bin/SpeedTest-master/CMakeFiles/3.16.3/CMakeDetermineCompilerABI_C.bin
Executable file
BIN
app/Bin/SpeedTest-master/CMakeFiles/3.16.3/CMakeDetermineCompilerABI_C.bin
Executable file
Binary file not shown.
BIN
app/Bin/SpeedTest-master/CMakeFiles/3.16.3/CMakeDetermineCompilerABI_CXX.bin
Executable file
BIN
app/Bin/SpeedTest-master/CMakeFiles/3.16.3/CMakeDetermineCompilerABI_CXX.bin
Executable file
Binary file not shown.
15
app/Bin/SpeedTest-master/CMakeFiles/3.16.3/CMakeSystem.cmake
Normal file
15
app/Bin/SpeedTest-master/CMakeFiles/3.16.3/CMakeSystem.cmake
Normal file
@@ -0,0 +1,15 @@
|
||||
set(CMAKE_HOST_SYSTEM "Linux-5.4.0-7634-generic")
|
||||
set(CMAKE_HOST_SYSTEM_NAME "Linux")
|
||||
set(CMAKE_HOST_SYSTEM_VERSION "5.4.0-7634-generic")
|
||||
set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64")
|
||||
|
||||
|
||||
|
||||
set(CMAKE_SYSTEM "Linux-5.4.0-7634-generic")
|
||||
set(CMAKE_SYSTEM_NAME "Linux")
|
||||
set(CMAKE_SYSTEM_VERSION "5.4.0-7634-generic")
|
||||
set(CMAKE_SYSTEM_PROCESSOR "x86_64")
|
||||
|
||||
set(CMAKE_CROSSCOMPILING "FALSE")
|
||||
|
||||
set(CMAKE_SYSTEM_LOADED 1)
|
||||
@@ -0,0 +1,671 @@
|
||||
#ifdef __cplusplus
|
||||
# error "A C++ compiler has been selected for C."
|
||||
#endif
|
||||
|
||||
#if defined(__18CXX)
|
||||
# define ID_VOID_MAIN
|
||||
#endif
|
||||
#if defined(__CLASSIC_C__)
|
||||
/* cv-qualifiers did not exist in K&R C */
|
||||
# define const
|
||||
# define volatile
|
||||
#endif
|
||||
|
||||
|
||||
/* Version number components: V=Version, R=Revision, P=Patch
|
||||
Version date components: YYYY=Year, MM=Month, DD=Day */
|
||||
|
||||
#if defined(__INTEL_COMPILER) || defined(__ICC)
|
||||
# define COMPILER_ID "Intel"
|
||||
# if defined(_MSC_VER)
|
||||
# define SIMULATE_ID "MSVC"
|
||||
# endif
|
||||
# if defined(__GNUC__)
|
||||
# define SIMULATE_ID "GNU"
|
||||
# endif
|
||||
/* __INTEL_COMPILER = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10)
|
||||
# if defined(__INTEL_COMPILER_UPDATE)
|
||||
# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE)
|
||||
# else
|
||||
# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10)
|
||||
# endif
|
||||
# if defined(__INTEL_COMPILER_BUILD_DATE)
|
||||
/* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */
|
||||
# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE)
|
||||
# endif
|
||||
# if defined(_MSC_VER)
|
||||
/* _MSC_VER = VVRR */
|
||||
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# endif
|
||||
# if defined(__GNUC__)
|
||||
# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
|
||||
# elif defined(__GNUG__)
|
||||
# define SIMULATE_VERSION_MAJOR DEC(__GNUG__)
|
||||
# endif
|
||||
# if defined(__GNUC_MINOR__)
|
||||
# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
|
||||
# endif
|
||||
# if defined(__GNUC_PATCHLEVEL__)
|
||||
# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif defined(__PATHCC__)
|
||||
# define COMPILER_ID "PathScale"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__PATHCC__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__)
|
||||
# if defined(__PATHCC_PATCHLEVEL__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__)
|
||||
# define COMPILER_ID "Embarcadero"
|
||||
# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF)
|
||||
# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF)
|
||||
# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF)
|
||||
|
||||
#elif defined(__BORLANDC__)
|
||||
# define COMPILER_ID "Borland"
|
||||
/* __BORLANDC__ = 0xVRR */
|
||||
# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8)
|
||||
# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF)
|
||||
|
||||
#elif defined(__WATCOMC__) && __WATCOMC__ < 1200
|
||||
# define COMPILER_ID "Watcom"
|
||||
/* __WATCOMC__ = VVRR */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
|
||||
# if (__WATCOMC__ % 10) > 0
|
||||
# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
|
||||
# endif
|
||||
|
||||
#elif defined(__WATCOMC__)
|
||||
# define COMPILER_ID "OpenWatcom"
|
||||
/* __WATCOMC__ = VVRP + 1100 */
|
||||
# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
|
||||
# if (__WATCOMC__ % 10) > 0
|
||||
# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
|
||||
# endif
|
||||
|
||||
#elif defined(__SUNPRO_C)
|
||||
# define COMPILER_ID "SunPro"
|
||||
# if __SUNPRO_C >= 0x5100
|
||||
/* __SUNPRO_C = 0xVRRP */
|
||||
# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12)
|
||||
# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF)
|
||||
# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF)
|
||||
# else
|
||||
/* __SUNPRO_CC = 0xVRP */
|
||||
# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8)
|
||||
# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF)
|
||||
# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF)
|
||||
# endif
|
||||
|
||||
#elif defined(__HP_cc)
|
||||
# define COMPILER_ID "HP"
|
||||
/* __HP_cc = VVRRPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__HP_cc/10000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__HP_cc/100 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__HP_cc % 100)
|
||||
|
||||
#elif defined(__DECC)
|
||||
# define COMPILER_ID "Compaq"
|
||||
/* __DECC_VER = VVRRTPPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__DECC_VER % 10000)
|
||||
|
||||
#elif defined(__IBMC__) && defined(__COMPILER_VER__)
|
||||
# define COMPILER_ID "zOS"
|
||||
/* __IBMC__ = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10)
|
||||
|
||||
#elif defined(__ibmxl__) && defined(__clang__)
|
||||
# define COMPILER_ID "XLClang"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__)
|
||||
# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__)
|
||||
|
||||
|
||||
#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ >= 800
|
||||
# define COMPILER_ID "XL"
|
||||
/* __IBMC__ = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10)
|
||||
|
||||
#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ < 800
|
||||
# define COMPILER_ID "VisualAge"
|
||||
/* __IBMC__ = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10)
|
||||
|
||||
#elif defined(__PGI)
|
||||
# define COMPILER_ID "PGI"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__PGIC__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__)
|
||||
# if defined(__PGIC_PATCHLEVEL__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif defined(_CRAYC)
|
||||
# define COMPILER_ID "Cray"
|
||||
# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR)
|
||||
# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR)
|
||||
|
||||
#elif defined(__TI_COMPILER_VERSION__)
|
||||
# define COMPILER_ID "TI"
|
||||
/* __TI_COMPILER_VERSION__ = VVVRRRPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000)
|
||||
# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000)
|
||||
|
||||
#elif defined(__FUJITSU) || defined(__FCC_VERSION) || defined(__fcc_version)
|
||||
# define COMPILER_ID "Fujitsu"
|
||||
|
||||
#elif defined(__ghs__)
|
||||
# define COMPILER_ID "GHS"
|
||||
/* __GHS_VERSION_NUMBER = VVVVRP */
|
||||
# ifdef __GHS_VERSION_NUMBER
|
||||
# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10)
|
||||
# endif
|
||||
|
||||
#elif defined(__TINYC__)
|
||||
# define COMPILER_ID "TinyCC"
|
||||
|
||||
#elif defined(__BCC__)
|
||||
# define COMPILER_ID "Bruce"
|
||||
|
||||
#elif defined(__SCO_VERSION__)
|
||||
# define COMPILER_ID "SCO"
|
||||
|
||||
#elif defined(__ARMCC_VERSION) && !defined(__clang__)
|
||||
# define COMPILER_ID "ARMCC"
|
||||
#if __ARMCC_VERSION >= 1000000
|
||||
/* __ARMCC_VERSION = VRRPPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
|
||||
#else
|
||||
/* __ARMCC_VERSION = VRPPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
|
||||
#endif
|
||||
|
||||
|
||||
#elif defined(__clang__) && defined(__apple_build_version__)
|
||||
# define COMPILER_ID "AppleClang"
|
||||
# if defined(_MSC_VER)
|
||||
# define SIMULATE_ID "MSVC"
|
||||
# endif
|
||||
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
|
||||
# if defined(_MSC_VER)
|
||||
/* _MSC_VER = VVRR */
|
||||
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# endif
|
||||
# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__)
|
||||
|
||||
#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION)
|
||||
# define COMPILER_ID "ARMClang"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION)
|
||||
|
||||
#elif defined(__clang__)
|
||||
# define COMPILER_ID "Clang"
|
||||
# if defined(_MSC_VER)
|
||||
# define SIMULATE_ID "MSVC"
|
||||
# endif
|
||||
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
|
||||
# if defined(_MSC_VER)
|
||||
/* _MSC_VER = VVRR */
|
||||
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# endif
|
||||
|
||||
#elif defined(__GNUC__)
|
||||
# define COMPILER_ID "GNU"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__GNUC__)
|
||||
# if defined(__GNUC_MINOR__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__)
|
||||
# endif
|
||||
# if defined(__GNUC_PATCHLEVEL__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif defined(_MSC_VER)
|
||||
# define COMPILER_ID "MSVC"
|
||||
/* _MSC_VER = VVRR */
|
||||
# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# if defined(_MSC_FULL_VER)
|
||||
# if _MSC_VER >= 1400
|
||||
/* _MSC_FULL_VER = VVRRPPPPP */
|
||||
# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000)
|
||||
# else
|
||||
/* _MSC_FULL_VER = VVRRPPPP */
|
||||
# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000)
|
||||
# endif
|
||||
# endif
|
||||
# if defined(_MSC_BUILD)
|
||||
# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD)
|
||||
# endif
|
||||
|
||||
#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__)
|
||||
# define COMPILER_ID "ADSP"
|
||||
#if defined(__VISUALDSPVERSION__)
|
||||
/* __VISUALDSPVERSION__ = 0xVVRRPP00 */
|
||||
# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24)
|
||||
# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF)
|
||||
# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF)
|
||||
#endif
|
||||
|
||||
#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
|
||||
# define COMPILER_ID "IAR"
|
||||
# if defined(__VER__) && defined(__ICCARM__)
|
||||
# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000)
|
||||
# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
|
||||
# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__))
|
||||
# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100))
|
||||
# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
|
||||
# endif
|
||||
|
||||
#elif defined(__SDCC_VERSION_MAJOR) || defined(SDCC)
|
||||
# define COMPILER_ID "SDCC"
|
||||
# if defined(__SDCC_VERSION_MAJOR)
|
||||
# define COMPILER_VERSION_MAJOR DEC(__SDCC_VERSION_MAJOR)
|
||||
# define COMPILER_VERSION_MINOR DEC(__SDCC_VERSION_MINOR)
|
||||
# define COMPILER_VERSION_PATCH DEC(__SDCC_VERSION_PATCH)
|
||||
# else
|
||||
/* SDCC = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(SDCC/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(SDCC % 10)
|
||||
# endif
|
||||
|
||||
|
||||
/* These compilers are either not known or too old to define an
|
||||
identification macro. Try to identify the platform and guess that
|
||||
it is the native compiler. */
|
||||
#elif defined(__hpux) || defined(__hpua)
|
||||
# define COMPILER_ID "HP"
|
||||
|
||||
#else /* unknown compiler */
|
||||
# define COMPILER_ID ""
|
||||
#endif
|
||||
|
||||
/* Construct the string literal in pieces to prevent the source from
|
||||
getting matched. Store it in a pointer rather than an array
|
||||
because some compilers will just produce instructions to fill the
|
||||
array rather than assigning a pointer to a static array. */
|
||||
char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]";
|
||||
#ifdef SIMULATE_ID
|
||||
char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]";
|
||||
#endif
|
||||
|
||||
#ifdef __QNXNTO__
|
||||
char const* qnxnto = "INFO" ":" "qnxnto[]";
|
||||
#endif
|
||||
|
||||
#if defined(__CRAYXE) || defined(__CRAYXC)
|
||||
char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]";
|
||||
#endif
|
||||
|
||||
#define STRINGIFY_HELPER(X) #X
|
||||
#define STRINGIFY(X) STRINGIFY_HELPER(X)
|
||||
|
||||
/* Identify known platforms by name. */
|
||||
#if defined(__linux) || defined(__linux__) || defined(linux)
|
||||
# define PLATFORM_ID "Linux"
|
||||
|
||||
#elif defined(__CYGWIN__)
|
||||
# define PLATFORM_ID "Cygwin"
|
||||
|
||||
#elif defined(__MINGW32__)
|
||||
# define PLATFORM_ID "MinGW"
|
||||
|
||||
#elif defined(__APPLE__)
|
||||
# define PLATFORM_ID "Darwin"
|
||||
|
||||
#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
|
||||
# define PLATFORM_ID "Windows"
|
||||
|
||||
#elif defined(__FreeBSD__) || defined(__FreeBSD)
|
||||
# define PLATFORM_ID "FreeBSD"
|
||||
|
||||
#elif defined(__NetBSD__) || defined(__NetBSD)
|
||||
# define PLATFORM_ID "NetBSD"
|
||||
|
||||
#elif defined(__OpenBSD__) || defined(__OPENBSD)
|
||||
# define PLATFORM_ID "OpenBSD"
|
||||
|
||||
#elif defined(__sun) || defined(sun)
|
||||
# define PLATFORM_ID "SunOS"
|
||||
|
||||
#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__)
|
||||
# define PLATFORM_ID "AIX"
|
||||
|
||||
#elif defined(__hpux) || defined(__hpux__)
|
||||
# define PLATFORM_ID "HP-UX"
|
||||
|
||||
#elif defined(__HAIKU__)
|
||||
# define PLATFORM_ID "Haiku"
|
||||
|
||||
#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
|
||||
# define PLATFORM_ID "BeOS"
|
||||
|
||||
#elif defined(__QNX__) || defined(__QNXNTO__)
|
||||
# define PLATFORM_ID "QNX"
|
||||
|
||||
#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__)
|
||||
# define PLATFORM_ID "Tru64"
|
||||
|
||||
#elif defined(__riscos) || defined(__riscos__)
|
||||
# define PLATFORM_ID "RISCos"
|
||||
|
||||
#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__)
|
||||
# define PLATFORM_ID "SINIX"
|
||||
|
||||
#elif defined(__UNIX_SV__)
|
||||
# define PLATFORM_ID "UNIX_SV"
|
||||
|
||||
#elif defined(__bsdos__)
|
||||
# define PLATFORM_ID "BSDOS"
|
||||
|
||||
#elif defined(_MPRAS) || defined(MPRAS)
|
||||
# define PLATFORM_ID "MP-RAS"
|
||||
|
||||
#elif defined(__osf) || defined(__osf__)
|
||||
# define PLATFORM_ID "OSF1"
|
||||
|
||||
#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv)
|
||||
# define PLATFORM_ID "SCO_SV"
|
||||
|
||||
#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX)
|
||||
# define PLATFORM_ID "ULTRIX"
|
||||
|
||||
#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX)
|
||||
# define PLATFORM_ID "Xenix"
|
||||
|
||||
#elif defined(__WATCOMC__)
|
||||
# if defined(__LINUX__)
|
||||
# define PLATFORM_ID "Linux"
|
||||
|
||||
# elif defined(__DOS__)
|
||||
# define PLATFORM_ID "DOS"
|
||||
|
||||
# elif defined(__OS2__)
|
||||
# define PLATFORM_ID "OS2"
|
||||
|
||||
# elif defined(__WINDOWS__)
|
||||
# define PLATFORM_ID "Windows3x"
|
||||
|
||||
# else /* unknown platform */
|
||||
# define PLATFORM_ID
|
||||
# endif
|
||||
|
||||
#elif defined(__INTEGRITY)
|
||||
# if defined(INT_178B)
|
||||
# define PLATFORM_ID "Integrity178"
|
||||
|
||||
# else /* regular Integrity */
|
||||
# define PLATFORM_ID "Integrity"
|
||||
# endif
|
||||
|
||||
#else /* unknown platform */
|
||||
# define PLATFORM_ID
|
||||
|
||||
#endif
|
||||
|
||||
/* For windows compilers MSVC and Intel we can determine
|
||||
the architecture of the compiler being used. This is because
|
||||
the compilers do not have flags that can change the architecture,
|
||||
but rather depend on which compiler is being used
|
||||
*/
|
||||
#if defined(_WIN32) && defined(_MSC_VER)
|
||||
# if defined(_M_IA64)
|
||||
# define ARCHITECTURE_ID "IA64"
|
||||
|
||||
# elif defined(_M_X64) || defined(_M_AMD64)
|
||||
# define ARCHITECTURE_ID "x64"
|
||||
|
||||
# elif defined(_M_IX86)
|
||||
# define ARCHITECTURE_ID "X86"
|
||||
|
||||
# elif defined(_M_ARM64)
|
||||
# define ARCHITECTURE_ID "ARM64"
|
||||
|
||||
# elif defined(_M_ARM)
|
||||
# if _M_ARM == 4
|
||||
# define ARCHITECTURE_ID "ARMV4I"
|
||||
# elif _M_ARM == 5
|
||||
# define ARCHITECTURE_ID "ARMV5I"
|
||||
# else
|
||||
# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM)
|
||||
# endif
|
||||
|
||||
# elif defined(_M_MIPS)
|
||||
# define ARCHITECTURE_ID "MIPS"
|
||||
|
||||
# elif defined(_M_SH)
|
||||
# define ARCHITECTURE_ID "SHx"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#elif defined(__WATCOMC__)
|
||||
# if defined(_M_I86)
|
||||
# define ARCHITECTURE_ID "I86"
|
||||
|
||||
# elif defined(_M_IX86)
|
||||
# define ARCHITECTURE_ID "X86"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
|
||||
# if defined(__ICCARM__)
|
||||
# define ARCHITECTURE_ID "ARM"
|
||||
|
||||
# elif defined(__ICCRX__)
|
||||
# define ARCHITECTURE_ID "RX"
|
||||
|
||||
# elif defined(__ICCRH850__)
|
||||
# define ARCHITECTURE_ID "RH850"
|
||||
|
||||
# elif defined(__ICCRL78__)
|
||||
# define ARCHITECTURE_ID "RL78"
|
||||
|
||||
# elif defined(__ICCRISCV__)
|
||||
# define ARCHITECTURE_ID "RISCV"
|
||||
|
||||
# elif defined(__ICCAVR__)
|
||||
# define ARCHITECTURE_ID "AVR"
|
||||
|
||||
# elif defined(__ICC430__)
|
||||
# define ARCHITECTURE_ID "MSP430"
|
||||
|
||||
# elif defined(__ICCV850__)
|
||||
# define ARCHITECTURE_ID "V850"
|
||||
|
||||
# elif defined(__ICC8051__)
|
||||
# define ARCHITECTURE_ID "8051"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#elif defined(__ghs__)
|
||||
# if defined(__PPC64__)
|
||||
# define ARCHITECTURE_ID "PPC64"
|
||||
|
||||
# elif defined(__ppc__)
|
||||
# define ARCHITECTURE_ID "PPC"
|
||||
|
||||
# elif defined(__ARM__)
|
||||
# define ARCHITECTURE_ID "ARM"
|
||||
|
||||
# elif defined(__x86_64__)
|
||||
# define ARCHITECTURE_ID "x64"
|
||||
|
||||
# elif defined(__i386__)
|
||||
# define ARCHITECTURE_ID "X86"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
#else
|
||||
# define ARCHITECTURE_ID
|
||||
#endif
|
||||
|
||||
/* Convert integer to decimal digit literals. */
|
||||
#define DEC(n) \
|
||||
('0' + (((n) / 10000000)%10)), \
|
||||
('0' + (((n) / 1000000)%10)), \
|
||||
('0' + (((n) / 100000)%10)), \
|
||||
('0' + (((n) / 10000)%10)), \
|
||||
('0' + (((n) / 1000)%10)), \
|
||||
('0' + (((n) / 100)%10)), \
|
||||
('0' + (((n) / 10)%10)), \
|
||||
('0' + ((n) % 10))
|
||||
|
||||
/* Convert integer to hex digit literals. */
|
||||
#define HEX(n) \
|
||||
('0' + ((n)>>28 & 0xF)), \
|
||||
('0' + ((n)>>24 & 0xF)), \
|
||||
('0' + ((n)>>20 & 0xF)), \
|
||||
('0' + ((n)>>16 & 0xF)), \
|
||||
('0' + ((n)>>12 & 0xF)), \
|
||||
('0' + ((n)>>8 & 0xF)), \
|
||||
('0' + ((n)>>4 & 0xF)), \
|
||||
('0' + ((n) & 0xF))
|
||||
|
||||
/* Construct a string literal encoding the version number components. */
|
||||
#ifdef COMPILER_VERSION_MAJOR
|
||||
char const info_version[] = {
|
||||
'I', 'N', 'F', 'O', ':',
|
||||
'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[',
|
||||
COMPILER_VERSION_MAJOR,
|
||||
# ifdef COMPILER_VERSION_MINOR
|
||||
'.', COMPILER_VERSION_MINOR,
|
||||
# ifdef COMPILER_VERSION_PATCH
|
||||
'.', COMPILER_VERSION_PATCH,
|
||||
# ifdef COMPILER_VERSION_TWEAK
|
||||
'.', COMPILER_VERSION_TWEAK,
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
']','\0'};
|
||||
#endif
|
||||
|
||||
/* Construct a string literal encoding the internal version number. */
|
||||
#ifdef COMPILER_VERSION_INTERNAL
|
||||
char const info_version_internal[] = {
|
||||
'I', 'N', 'F', 'O', ':',
|
||||
'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_',
|
||||
'i','n','t','e','r','n','a','l','[',
|
||||
COMPILER_VERSION_INTERNAL,']','\0'};
|
||||
#endif
|
||||
|
||||
/* Construct a string literal encoding the version number components. */
|
||||
#ifdef SIMULATE_VERSION_MAJOR
|
||||
char const info_simulate_version[] = {
|
||||
'I', 'N', 'F', 'O', ':',
|
||||
's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[',
|
||||
SIMULATE_VERSION_MAJOR,
|
||||
# ifdef SIMULATE_VERSION_MINOR
|
||||
'.', SIMULATE_VERSION_MINOR,
|
||||
# ifdef SIMULATE_VERSION_PATCH
|
||||
'.', SIMULATE_VERSION_PATCH,
|
||||
# ifdef SIMULATE_VERSION_TWEAK
|
||||
'.', SIMULATE_VERSION_TWEAK,
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
']','\0'};
|
||||
#endif
|
||||
|
||||
/* Construct the string literal in pieces to prevent the source from
|
||||
getting matched. Store it in a pointer rather than an array
|
||||
because some compilers will just produce instructions to fill the
|
||||
array rather than assigning a pointer to a static array. */
|
||||
char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]";
|
||||
char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]";
|
||||
|
||||
|
||||
|
||||
|
||||
#if !defined(__STDC__)
|
||||
# if (defined(_MSC_VER) && !defined(__clang__)) \
|
||||
|| (defined(__ibmxl__) || defined(__IBMC__))
|
||||
# define C_DIALECT "90"
|
||||
# else
|
||||
# define C_DIALECT
|
||||
# endif
|
||||
#elif __STDC_VERSION__ >= 201000L
|
||||
# define C_DIALECT "11"
|
||||
#elif __STDC_VERSION__ >= 199901L
|
||||
# define C_DIALECT "99"
|
||||
#else
|
||||
# define C_DIALECT "90"
|
||||
#endif
|
||||
const char* info_language_dialect_default =
|
||||
"INFO" ":" "dialect_default[" C_DIALECT "]";
|
||||
|
||||
/*--------------------------------------------------------------------------*/
|
||||
|
||||
#ifdef ID_VOID_MAIN
|
||||
void main() {}
|
||||
#else
|
||||
# if defined(__CLASSIC_C__)
|
||||
int main(argc, argv) int argc; char *argv[];
|
||||
# else
|
||||
int main(int argc, char* argv[])
|
||||
# endif
|
||||
{
|
||||
int require = 0;
|
||||
require += info_compiler[argc];
|
||||
require += info_platform[argc];
|
||||
require += info_arch[argc];
|
||||
#ifdef COMPILER_VERSION_MAJOR
|
||||
require += info_version[argc];
|
||||
#endif
|
||||
#ifdef COMPILER_VERSION_INTERNAL
|
||||
require += info_version_internal[argc];
|
||||
#endif
|
||||
#ifdef SIMULATE_ID
|
||||
require += info_simulate[argc];
|
||||
#endif
|
||||
#ifdef SIMULATE_VERSION_MAJOR
|
||||
require += info_simulate_version[argc];
|
||||
#endif
|
||||
#if defined(__CRAYXE) || defined(__CRAYXC)
|
||||
require += info_cray[argc];
|
||||
#endif
|
||||
require += info_language_dialect_default[argc];
|
||||
(void)argv;
|
||||
return require;
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,660 @@
|
||||
/* This source file must have a .cpp extension so that all C++ compilers
|
||||
recognize the extension without flags. Borland does not know .cxx for
|
||||
example. */
|
||||
#ifndef __cplusplus
|
||||
# error "A C compiler has been selected for C++."
|
||||
#endif
|
||||
|
||||
|
||||
/* Version number components: V=Version, R=Revision, P=Patch
|
||||
Version date components: YYYY=Year, MM=Month, DD=Day */
|
||||
|
||||
#if defined(__COMO__)
|
||||
# define COMPILER_ID "Comeau"
|
||||
/* __COMO_VERSION__ = VRR */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__COMO_VERSION__ / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__COMO_VERSION__ % 100)
|
||||
|
||||
#elif defined(__INTEL_COMPILER) || defined(__ICC)
|
||||
# define COMPILER_ID "Intel"
|
||||
# if defined(_MSC_VER)
|
||||
# define SIMULATE_ID "MSVC"
|
||||
# endif
|
||||
# if defined(__GNUC__)
|
||||
# define SIMULATE_ID "GNU"
|
||||
# endif
|
||||
/* __INTEL_COMPILER = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10)
|
||||
# if defined(__INTEL_COMPILER_UPDATE)
|
||||
# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE)
|
||||
# else
|
||||
# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10)
|
||||
# endif
|
||||
# if defined(__INTEL_COMPILER_BUILD_DATE)
|
||||
/* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */
|
||||
# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE)
|
||||
# endif
|
||||
# if defined(_MSC_VER)
|
||||
/* _MSC_VER = VVRR */
|
||||
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# endif
|
||||
# if defined(__GNUC__)
|
||||
# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
|
||||
# elif defined(__GNUG__)
|
||||
# define SIMULATE_VERSION_MAJOR DEC(__GNUG__)
|
||||
# endif
|
||||
# if defined(__GNUC_MINOR__)
|
||||
# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
|
||||
# endif
|
||||
# if defined(__GNUC_PATCHLEVEL__)
|
||||
# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif defined(__PATHCC__)
|
||||
# define COMPILER_ID "PathScale"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__PATHCC__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__)
|
||||
# if defined(__PATHCC_PATCHLEVEL__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__)
|
||||
# define COMPILER_ID "Embarcadero"
|
||||
# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF)
|
||||
# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF)
|
||||
# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF)
|
||||
|
||||
#elif defined(__BORLANDC__)
|
||||
# define COMPILER_ID "Borland"
|
||||
/* __BORLANDC__ = 0xVRR */
|
||||
# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8)
|
||||
# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF)
|
||||
|
||||
#elif defined(__WATCOMC__) && __WATCOMC__ < 1200
|
||||
# define COMPILER_ID "Watcom"
|
||||
/* __WATCOMC__ = VVRR */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
|
||||
# if (__WATCOMC__ % 10) > 0
|
||||
# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
|
||||
# endif
|
||||
|
||||
#elif defined(__WATCOMC__)
|
||||
# define COMPILER_ID "OpenWatcom"
|
||||
/* __WATCOMC__ = VVRP + 1100 */
|
||||
# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
|
||||
# if (__WATCOMC__ % 10) > 0
|
||||
# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
|
||||
# endif
|
||||
|
||||
#elif defined(__SUNPRO_CC)
|
||||
# define COMPILER_ID "SunPro"
|
||||
# if __SUNPRO_CC >= 0x5100
|
||||
/* __SUNPRO_CC = 0xVRRP */
|
||||
# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>12)
|
||||
# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xFF)
|
||||
# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF)
|
||||
# else
|
||||
/* __SUNPRO_CC = 0xVRP */
|
||||
# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>8)
|
||||
# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xF)
|
||||
# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF)
|
||||
# endif
|
||||
|
||||
#elif defined(__HP_aCC)
|
||||
# define COMPILER_ID "HP"
|
||||
/* __HP_aCC = VVRRPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__HP_aCC/10000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__HP_aCC/100 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__HP_aCC % 100)
|
||||
|
||||
#elif defined(__DECCXX)
|
||||
# define COMPILER_ID "Compaq"
|
||||
/* __DECCXX_VER = VVRRTPPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__DECCXX_VER/10000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__DECCXX_VER/100000 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__DECCXX_VER % 10000)
|
||||
|
||||
#elif defined(__IBMCPP__) && defined(__COMPILER_VER__)
|
||||
# define COMPILER_ID "zOS"
|
||||
/* __IBMCPP__ = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
|
||||
|
||||
#elif defined(__ibmxl__) && defined(__clang__)
|
||||
# define COMPILER_ID "XLClang"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__)
|
||||
# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__)
|
||||
|
||||
|
||||
#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ >= 800
|
||||
# define COMPILER_ID "XL"
|
||||
/* __IBMCPP__ = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
|
||||
|
||||
#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ < 800
|
||||
# define COMPILER_ID "VisualAge"
|
||||
/* __IBMCPP__ = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
|
||||
|
||||
#elif defined(__PGI)
|
||||
# define COMPILER_ID "PGI"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__PGIC__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__)
|
||||
# if defined(__PGIC_PATCHLEVEL__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif defined(_CRAYC)
|
||||
# define COMPILER_ID "Cray"
|
||||
# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR)
|
||||
# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR)
|
||||
|
||||
#elif defined(__TI_COMPILER_VERSION__)
|
||||
# define COMPILER_ID "TI"
|
||||
/* __TI_COMPILER_VERSION__ = VVVRRRPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000)
|
||||
# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000)
|
||||
|
||||
#elif defined(__FUJITSU) || defined(__FCC_VERSION) || defined(__fcc_version)
|
||||
# define COMPILER_ID "Fujitsu"
|
||||
|
||||
#elif defined(__ghs__)
|
||||
# define COMPILER_ID "GHS"
|
||||
/* __GHS_VERSION_NUMBER = VVVVRP */
|
||||
# ifdef __GHS_VERSION_NUMBER
|
||||
# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10)
|
||||
# endif
|
||||
|
||||
#elif defined(__SCO_VERSION__)
|
||||
# define COMPILER_ID "SCO"
|
||||
|
||||
#elif defined(__ARMCC_VERSION) && !defined(__clang__)
|
||||
# define COMPILER_ID "ARMCC"
|
||||
#if __ARMCC_VERSION >= 1000000
|
||||
/* __ARMCC_VERSION = VRRPPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
|
||||
#else
|
||||
/* __ARMCC_VERSION = VRPPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
|
||||
#endif
|
||||
|
||||
|
||||
#elif defined(__clang__) && defined(__apple_build_version__)
|
||||
# define COMPILER_ID "AppleClang"
|
||||
# if defined(_MSC_VER)
|
||||
# define SIMULATE_ID "MSVC"
|
||||
# endif
|
||||
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
|
||||
# if defined(_MSC_VER)
|
||||
/* _MSC_VER = VVRR */
|
||||
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# endif
|
||||
# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__)
|
||||
|
||||
#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION)
|
||||
# define COMPILER_ID "ARMClang"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION)
|
||||
|
||||
#elif defined(__clang__)
|
||||
# define COMPILER_ID "Clang"
|
||||
# if defined(_MSC_VER)
|
||||
# define SIMULATE_ID "MSVC"
|
||||
# endif
|
||||
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
|
||||
# if defined(_MSC_VER)
|
||||
/* _MSC_VER = VVRR */
|
||||
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# endif
|
||||
|
||||
#elif defined(__GNUC__) || defined(__GNUG__)
|
||||
# define COMPILER_ID "GNU"
|
||||
# if defined(__GNUC__)
|
||||
# define COMPILER_VERSION_MAJOR DEC(__GNUC__)
|
||||
# else
|
||||
# define COMPILER_VERSION_MAJOR DEC(__GNUG__)
|
||||
# endif
|
||||
# if defined(__GNUC_MINOR__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__)
|
||||
# endif
|
||||
# if defined(__GNUC_PATCHLEVEL__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif defined(_MSC_VER)
|
||||
# define COMPILER_ID "MSVC"
|
||||
/* _MSC_VER = VVRR */
|
||||
# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# if defined(_MSC_FULL_VER)
|
||||
# if _MSC_VER >= 1400
|
||||
/* _MSC_FULL_VER = VVRRPPPPP */
|
||||
# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000)
|
||||
# else
|
||||
/* _MSC_FULL_VER = VVRRPPPP */
|
||||
# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000)
|
||||
# endif
|
||||
# endif
|
||||
# if defined(_MSC_BUILD)
|
||||
# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD)
|
||||
# endif
|
||||
|
||||
#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__)
|
||||
# define COMPILER_ID "ADSP"
|
||||
#if defined(__VISUALDSPVERSION__)
|
||||
/* __VISUALDSPVERSION__ = 0xVVRRPP00 */
|
||||
# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24)
|
||||
# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF)
|
||||
# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF)
|
||||
#endif
|
||||
|
||||
#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
|
||||
# define COMPILER_ID "IAR"
|
||||
# if defined(__VER__) && defined(__ICCARM__)
|
||||
# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000)
|
||||
# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
|
||||
# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__))
|
||||
# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100))
|
||||
# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
|
||||
# endif
|
||||
|
||||
|
||||
/* These compilers are either not known or too old to define an
|
||||
identification macro. Try to identify the platform and guess that
|
||||
it is the native compiler. */
|
||||
#elif defined(__hpux) || defined(__hpua)
|
||||
# define COMPILER_ID "HP"
|
||||
|
||||
#else /* unknown compiler */
|
||||
# define COMPILER_ID ""
|
||||
#endif
|
||||
|
||||
/* Construct the string literal in pieces to prevent the source from
|
||||
getting matched. Store it in a pointer rather than an array
|
||||
because some compilers will just produce instructions to fill the
|
||||
array rather than assigning a pointer to a static array. */
|
||||
char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]";
|
||||
#ifdef SIMULATE_ID
|
||||
char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]";
|
||||
#endif
|
||||
|
||||
#ifdef __QNXNTO__
|
||||
char const* qnxnto = "INFO" ":" "qnxnto[]";
|
||||
#endif
|
||||
|
||||
#if defined(__CRAYXE) || defined(__CRAYXC)
|
||||
char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]";
|
||||
#endif
|
||||
|
||||
#define STRINGIFY_HELPER(X) #X
|
||||
#define STRINGIFY(X) STRINGIFY_HELPER(X)
|
||||
|
||||
/* Identify known platforms by name. */
|
||||
#if defined(__linux) || defined(__linux__) || defined(linux)
|
||||
# define PLATFORM_ID "Linux"
|
||||
|
||||
#elif defined(__CYGWIN__)
|
||||
# define PLATFORM_ID "Cygwin"
|
||||
|
||||
#elif defined(__MINGW32__)
|
||||
# define PLATFORM_ID "MinGW"
|
||||
|
||||
#elif defined(__APPLE__)
|
||||
# define PLATFORM_ID "Darwin"
|
||||
|
||||
#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
|
||||
# define PLATFORM_ID "Windows"
|
||||
|
||||
#elif defined(__FreeBSD__) || defined(__FreeBSD)
|
||||
# define PLATFORM_ID "FreeBSD"
|
||||
|
||||
#elif defined(__NetBSD__) || defined(__NetBSD)
|
||||
# define PLATFORM_ID "NetBSD"
|
||||
|
||||
#elif defined(__OpenBSD__) || defined(__OPENBSD)
|
||||
# define PLATFORM_ID "OpenBSD"
|
||||
|
||||
#elif defined(__sun) || defined(sun)
|
||||
# define PLATFORM_ID "SunOS"
|
||||
|
||||
#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__)
|
||||
# define PLATFORM_ID "AIX"
|
||||
|
||||
#elif defined(__hpux) || defined(__hpux__)
|
||||
# define PLATFORM_ID "HP-UX"
|
||||
|
||||
#elif defined(__HAIKU__)
|
||||
# define PLATFORM_ID "Haiku"
|
||||
|
||||
#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
|
||||
# define PLATFORM_ID "BeOS"
|
||||
|
||||
#elif defined(__QNX__) || defined(__QNXNTO__)
|
||||
# define PLATFORM_ID "QNX"
|
||||
|
||||
#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__)
|
||||
# define PLATFORM_ID "Tru64"
|
||||
|
||||
#elif defined(__riscos) || defined(__riscos__)
|
||||
# define PLATFORM_ID "RISCos"
|
||||
|
||||
#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__)
|
||||
# define PLATFORM_ID "SINIX"
|
||||
|
||||
#elif defined(__UNIX_SV__)
|
||||
# define PLATFORM_ID "UNIX_SV"
|
||||
|
||||
#elif defined(__bsdos__)
|
||||
# define PLATFORM_ID "BSDOS"
|
||||
|
||||
#elif defined(_MPRAS) || defined(MPRAS)
|
||||
# define PLATFORM_ID "MP-RAS"
|
||||
|
||||
#elif defined(__osf) || defined(__osf__)
|
||||
# define PLATFORM_ID "OSF1"
|
||||
|
||||
#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv)
|
||||
# define PLATFORM_ID "SCO_SV"
|
||||
|
||||
#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX)
|
||||
# define PLATFORM_ID "ULTRIX"
|
||||
|
||||
#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX)
|
||||
# define PLATFORM_ID "Xenix"
|
||||
|
||||
#elif defined(__WATCOMC__)
|
||||
# if defined(__LINUX__)
|
||||
# define PLATFORM_ID "Linux"
|
||||
|
||||
# elif defined(__DOS__)
|
||||
# define PLATFORM_ID "DOS"
|
||||
|
||||
# elif defined(__OS2__)
|
||||
# define PLATFORM_ID "OS2"
|
||||
|
||||
# elif defined(__WINDOWS__)
|
||||
# define PLATFORM_ID "Windows3x"
|
||||
|
||||
# else /* unknown platform */
|
||||
# define PLATFORM_ID
|
||||
# endif
|
||||
|
||||
#elif defined(__INTEGRITY)
|
||||
# if defined(INT_178B)
|
||||
# define PLATFORM_ID "Integrity178"
|
||||
|
||||
# else /* regular Integrity */
|
||||
# define PLATFORM_ID "Integrity"
|
||||
# endif
|
||||
|
||||
#else /* unknown platform */
|
||||
# define PLATFORM_ID
|
||||
|
||||
#endif
|
||||
|
||||
/* For windows compilers MSVC and Intel we can determine
|
||||
the architecture of the compiler being used. This is because
|
||||
the compilers do not have flags that can change the architecture,
|
||||
but rather depend on which compiler is being used
|
||||
*/
|
||||
#if defined(_WIN32) && defined(_MSC_VER)
|
||||
# if defined(_M_IA64)
|
||||
# define ARCHITECTURE_ID "IA64"
|
||||
|
||||
# elif defined(_M_X64) || defined(_M_AMD64)
|
||||
# define ARCHITECTURE_ID "x64"
|
||||
|
||||
# elif defined(_M_IX86)
|
||||
# define ARCHITECTURE_ID "X86"
|
||||
|
||||
# elif defined(_M_ARM64)
|
||||
# define ARCHITECTURE_ID "ARM64"
|
||||
|
||||
# elif defined(_M_ARM)
|
||||
# if _M_ARM == 4
|
||||
# define ARCHITECTURE_ID "ARMV4I"
|
||||
# elif _M_ARM == 5
|
||||
# define ARCHITECTURE_ID "ARMV5I"
|
||||
# else
|
||||
# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM)
|
||||
# endif
|
||||
|
||||
# elif defined(_M_MIPS)
|
||||
# define ARCHITECTURE_ID "MIPS"
|
||||
|
||||
# elif defined(_M_SH)
|
||||
# define ARCHITECTURE_ID "SHx"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#elif defined(__WATCOMC__)
|
||||
# if defined(_M_I86)
|
||||
# define ARCHITECTURE_ID "I86"
|
||||
|
||||
# elif defined(_M_IX86)
|
||||
# define ARCHITECTURE_ID "X86"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
|
||||
# if defined(__ICCARM__)
|
||||
# define ARCHITECTURE_ID "ARM"
|
||||
|
||||
# elif defined(__ICCRX__)
|
||||
# define ARCHITECTURE_ID "RX"
|
||||
|
||||
# elif defined(__ICCRH850__)
|
||||
# define ARCHITECTURE_ID "RH850"
|
||||
|
||||
# elif defined(__ICCRL78__)
|
||||
# define ARCHITECTURE_ID "RL78"
|
||||
|
||||
# elif defined(__ICCRISCV__)
|
||||
# define ARCHITECTURE_ID "RISCV"
|
||||
|
||||
# elif defined(__ICCAVR__)
|
||||
# define ARCHITECTURE_ID "AVR"
|
||||
|
||||
# elif defined(__ICC430__)
|
||||
# define ARCHITECTURE_ID "MSP430"
|
||||
|
||||
# elif defined(__ICCV850__)
|
||||
# define ARCHITECTURE_ID "V850"
|
||||
|
||||
# elif defined(__ICC8051__)
|
||||
# define ARCHITECTURE_ID "8051"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#elif defined(__ghs__)
|
||||
# if defined(__PPC64__)
|
||||
# define ARCHITECTURE_ID "PPC64"
|
||||
|
||||
# elif defined(__ppc__)
|
||||
# define ARCHITECTURE_ID "PPC"
|
||||
|
||||
# elif defined(__ARM__)
|
||||
# define ARCHITECTURE_ID "ARM"
|
||||
|
||||
# elif defined(__x86_64__)
|
||||
# define ARCHITECTURE_ID "x64"
|
||||
|
||||
# elif defined(__i386__)
|
||||
# define ARCHITECTURE_ID "X86"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
#else
|
||||
# define ARCHITECTURE_ID
|
||||
#endif
|
||||
|
||||
/* Convert integer to decimal digit literals. */
|
||||
#define DEC(n) \
|
||||
('0' + (((n) / 10000000)%10)), \
|
||||
('0' + (((n) / 1000000)%10)), \
|
||||
('0' + (((n) / 100000)%10)), \
|
||||
('0' + (((n) / 10000)%10)), \
|
||||
('0' + (((n) / 1000)%10)), \
|
||||
('0' + (((n) / 100)%10)), \
|
||||
('0' + (((n) / 10)%10)), \
|
||||
('0' + ((n) % 10))
|
||||
|
||||
/* Convert integer to hex digit literals. */
|
||||
#define HEX(n) \
|
||||
('0' + ((n)>>28 & 0xF)), \
|
||||
('0' + ((n)>>24 & 0xF)), \
|
||||
('0' + ((n)>>20 & 0xF)), \
|
||||
('0' + ((n)>>16 & 0xF)), \
|
||||
('0' + ((n)>>12 & 0xF)), \
|
||||
('0' + ((n)>>8 & 0xF)), \
|
||||
('0' + ((n)>>4 & 0xF)), \
|
||||
('0' + ((n) & 0xF))
|
||||
|
||||
/* Construct a string literal encoding the version number components. */
|
||||
#ifdef COMPILER_VERSION_MAJOR
|
||||
char const info_version[] = {
|
||||
'I', 'N', 'F', 'O', ':',
|
||||
'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[',
|
||||
COMPILER_VERSION_MAJOR,
|
||||
# ifdef COMPILER_VERSION_MINOR
|
||||
'.', COMPILER_VERSION_MINOR,
|
||||
# ifdef COMPILER_VERSION_PATCH
|
||||
'.', COMPILER_VERSION_PATCH,
|
||||
# ifdef COMPILER_VERSION_TWEAK
|
||||
'.', COMPILER_VERSION_TWEAK,
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
']','\0'};
|
||||
#endif
|
||||
|
||||
/* Construct a string literal encoding the internal version number. */
|
||||
#ifdef COMPILER_VERSION_INTERNAL
|
||||
char const info_version_internal[] = {
|
||||
'I', 'N', 'F', 'O', ':',
|
||||
'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_',
|
||||
'i','n','t','e','r','n','a','l','[',
|
||||
COMPILER_VERSION_INTERNAL,']','\0'};
|
||||
#endif
|
||||
|
||||
/* Construct a string literal encoding the version number components. */
|
||||
#ifdef SIMULATE_VERSION_MAJOR
|
||||
char const info_simulate_version[] = {
|
||||
'I', 'N', 'F', 'O', ':',
|
||||
's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[',
|
||||
SIMULATE_VERSION_MAJOR,
|
||||
# ifdef SIMULATE_VERSION_MINOR
|
||||
'.', SIMULATE_VERSION_MINOR,
|
||||
# ifdef SIMULATE_VERSION_PATCH
|
||||
'.', SIMULATE_VERSION_PATCH,
|
||||
# ifdef SIMULATE_VERSION_TWEAK
|
||||
'.', SIMULATE_VERSION_TWEAK,
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
']','\0'};
|
||||
#endif
|
||||
|
||||
/* Construct the string literal in pieces to prevent the source from
|
||||
getting matched. Store it in a pointer rather than an array
|
||||
because some compilers will just produce instructions to fill the
|
||||
array rather than assigning a pointer to a static array. */
|
||||
char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]";
|
||||
char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]";
|
||||
|
||||
|
||||
|
||||
|
||||
#if defined(__INTEL_COMPILER) && defined(_MSVC_LANG) && _MSVC_LANG < 201403L
|
||||
# if defined(__INTEL_CXX11_MODE__)
|
||||
# if defined(__cpp_aggregate_nsdmi)
|
||||
# define CXX_STD 201402L
|
||||
# else
|
||||
# define CXX_STD 201103L
|
||||
# endif
|
||||
# else
|
||||
# define CXX_STD 199711L
|
||||
# endif
|
||||
#elif defined(_MSC_VER) && defined(_MSVC_LANG)
|
||||
# define CXX_STD _MSVC_LANG
|
||||
#else
|
||||
# define CXX_STD __cplusplus
|
||||
#endif
|
||||
|
||||
const char* info_language_dialect_default = "INFO" ":" "dialect_default["
|
||||
#if CXX_STD > 201703L
|
||||
"20"
|
||||
#elif CXX_STD >= 201703L
|
||||
"17"
|
||||
#elif CXX_STD >= 201402L
|
||||
"14"
|
||||
#elif CXX_STD >= 201103L
|
||||
"11"
|
||||
#else
|
||||
"98"
|
||||
#endif
|
||||
"]";
|
||||
|
||||
/*--------------------------------------------------------------------------*/
|
||||
|
||||
int main(int argc, char* argv[])
|
||||
{
|
||||
int require = 0;
|
||||
require += info_compiler[argc];
|
||||
require += info_platform[argc];
|
||||
#ifdef COMPILER_VERSION_MAJOR
|
||||
require += info_version[argc];
|
||||
#endif
|
||||
#ifdef COMPILER_VERSION_INTERNAL
|
||||
require += info_version_internal[argc];
|
||||
#endif
|
||||
#ifdef SIMULATE_ID
|
||||
require += info_simulate[argc];
|
||||
#endif
|
||||
#ifdef SIMULATE_VERSION_MAJOR
|
||||
require += info_simulate_version[argc];
|
||||
#endif
|
||||
#if defined(__CRAYXE) || defined(__CRAYXC)
|
||||
require += info_cray[argc];
|
||||
#endif
|
||||
require += info_language_dialect_default[argc];
|
||||
(void)argv;
|
||||
return require;
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
# CMAKE generated file: DO NOT EDIT!
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 3.16
|
||||
|
||||
# Relative path conversion top directories.
|
||||
set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/henry/Downloads/SpeedTest-master")
|
||||
set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/henry/Downloads/SpeedTest-master")
|
||||
|
||||
# Force unix paths in dependencies.
|
||||
set(CMAKE_FORCE_UNIX_PATHS 1)
|
||||
|
||||
|
||||
# The C and CXX include file regular expressions for this directory.
|
||||
set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$")
|
||||
set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$")
|
||||
set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN})
|
||||
set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN})
|
||||
463
app/Bin/SpeedTest-master/CMakeFiles/CMakeOutput.log
Normal file
463
app/Bin/SpeedTest-master/CMakeFiles/CMakeOutput.log
Normal file
@@ -0,0 +1,463 @@
|
||||
The system is: Linux - 5.4.0-7634-generic - x86_64
|
||||
Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded.
|
||||
Compiler: /usr/bin/cc
|
||||
Build flags:
|
||||
Id flags:
|
||||
|
||||
The output was:
|
||||
0
|
||||
|
||||
|
||||
Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out"
|
||||
|
||||
The C compiler identification is GNU, found in "/home/henry/Downloads/SpeedTest-master/CMakeFiles/3.16.3/CompilerIdC/a.out"
|
||||
|
||||
Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded.
|
||||
Compiler: /usr/bin/c++
|
||||
Build flags:
|
||||
Id flags:
|
||||
|
||||
The output was:
|
||||
0
|
||||
|
||||
|
||||
Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out"
|
||||
|
||||
The CXX compiler identification is GNU, found in "/home/henry/Downloads/SpeedTest-master/CMakeFiles/3.16.3/CompilerIdCXX/a.out"
|
||||
|
||||
Determining if the C compiler works passed with the following output:
|
||||
Change Dir: /home/henry/Downloads/SpeedTest-master/CMakeFiles/CMakeTmp
|
||||
|
||||
Run Build Command(s):/usr/bin/make cmTC_1f72d/fast && /usr/bin/make -f CMakeFiles/cmTC_1f72d.dir/build.make CMakeFiles/cmTC_1f72d.dir/build
|
||||
make[1]: Entering directory '/home/henry/Downloads/SpeedTest-master/CMakeFiles/CMakeTmp'
|
||||
Building C object CMakeFiles/cmTC_1f72d.dir/testCCompiler.c.o
|
||||
/usr/bin/cc -o CMakeFiles/cmTC_1f72d.dir/testCCompiler.c.o -c /home/henry/Downloads/SpeedTest-master/CMakeFiles/CMakeTmp/testCCompiler.c
|
||||
Linking C executable cmTC_1f72d
|
||||
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_1f72d.dir/link.txt --verbose=1
|
||||
/usr/bin/cc -rdynamic CMakeFiles/cmTC_1f72d.dir/testCCompiler.c.o -o cmTC_1f72d
|
||||
make[1]: Leaving directory '/home/henry/Downloads/SpeedTest-master/CMakeFiles/CMakeTmp'
|
||||
|
||||
|
||||
|
||||
Detecting C compiler ABI info compiled with the following output:
|
||||
Change Dir: /home/henry/Downloads/SpeedTest-master/CMakeFiles/CMakeTmp
|
||||
|
||||
Run Build Command(s):/usr/bin/make cmTC_15a6a/fast && /usr/bin/make -f CMakeFiles/cmTC_15a6a.dir/build.make CMakeFiles/cmTC_15a6a.dir/build
|
||||
make[1]: Entering directory '/home/henry/Downloads/SpeedTest-master/CMakeFiles/CMakeTmp'
|
||||
Building C object CMakeFiles/cmTC_15a6a.dir/CMakeCCompilerABI.c.o
|
||||
/usr/bin/cc -v -o CMakeFiles/cmTC_15a6a.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.16/Modules/CMakeCCompilerABI.c
|
||||
Using built-in specs.
|
||||
COLLECT_GCC=/usr/bin/cc
|
||||
OFFLOAD_TARGET_NAMES=nvptx-none:hsa
|
||||
OFFLOAD_TARGET_DEFAULT=1
|
||||
Target: x86_64-linux-gnu
|
||||
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.3.0-10ubuntu2' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
|
||||
Thread model: posix
|
||||
gcc version 9.3.0 (Ubuntu 9.3.0-10ubuntu2)
|
||||
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_15a6a.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64'
|
||||
/usr/lib/gcc/x86_64-linux-gnu/9/cc1 -quiet -v -imultiarch x86_64-linux-gnu /usr/share/cmake-3.16/Modules/CMakeCCompilerABI.c -quiet -dumpbase CMakeCCompilerABI.c -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/cmTC_15a6a.dir/CMakeCCompilerABI.c.o -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccOfkpsR.s
|
||||
GNU C17 (Ubuntu 9.3.0-10ubuntu2) version 9.3.0 (x86_64-linux-gnu)
|
||||
compiled by GNU C version 9.3.0, GMP version 6.2.0, MPFR version 4.0.2, MPC version 1.1.0, isl version isl-0.22.1-GMP
|
||||
|
||||
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
|
||||
ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"
|
||||
ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/include-fixed"
|
||||
ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/include"
|
||||
#include "..." search starts here:
|
||||
#include <...> search starts here:
|
||||
/usr/lib/gcc/x86_64-linux-gnu/9/include
|
||||
/usr/local/include
|
||||
/usr/include/x86_64-linux-gnu
|
||||
/usr/include
|
||||
End of search list.
|
||||
GNU C17 (Ubuntu 9.3.0-10ubuntu2) version 9.3.0 (x86_64-linux-gnu)
|
||||
compiled by GNU C version 9.3.0, GMP version 6.2.0, MPFR version 4.0.2, MPC version 1.1.0, isl version isl-0.22.1-GMP
|
||||
|
||||
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
|
||||
Compiler executable checksum: 18dc4c39b54390aa2b5013fb4339d43f
|
||||
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_15a6a.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64'
|
||||
as -v --64 -o CMakeFiles/cmTC_15a6a.dir/CMakeCCompilerABI.c.o /tmp/ccOfkpsR.s
|
||||
GNU assembler version 2.34 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.34
|
||||
COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/
|
||||
LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/
|
||||
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_15a6a.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64'
|
||||
Linking C executable cmTC_15a6a
|
||||
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_15a6a.dir/link.txt --verbose=1
|
||||
/usr/bin/cc -v -rdynamic CMakeFiles/cmTC_15a6a.dir/CMakeCCompilerABI.c.o -o cmTC_15a6a
|
||||
Using built-in specs.
|
||||
COLLECT_GCC=/usr/bin/cc
|
||||
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper
|
||||
OFFLOAD_TARGET_NAMES=nvptx-none:hsa
|
||||
OFFLOAD_TARGET_DEFAULT=1
|
||||
Target: x86_64-linux-gnu
|
||||
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.3.0-10ubuntu2' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
|
||||
Thread model: posix
|
||||
gcc version 9.3.0 (Ubuntu 9.3.0-10ubuntu2)
|
||||
COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/
|
||||
LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/
|
||||
COLLECT_GCC_OPTIONS='-v' '-rdynamic' '-o' 'cmTC_15a6a' '-mtune=generic' '-march=x86-64'
|
||||
/usr/lib/gcc/x86_64-linux-gnu/9/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/9/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper -plugin-opt=-fresolution=/tmp/cc8bbnll.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_15a6a /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/9 -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/9/../../.. CMakeFiles/cmTC_15a6a.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o
|
||||
COLLECT_GCC_OPTIONS='-v' '-rdynamic' '-o' 'cmTC_15a6a' '-mtune=generic' '-march=x86-64'
|
||||
make[1]: Leaving directory '/home/henry/Downloads/SpeedTest-master/CMakeFiles/CMakeTmp'
|
||||
|
||||
|
||||
|
||||
Parsed C implicit include dir info from above output: rv=done
|
||||
found start of include info
|
||||
found start of implicit include info
|
||||
add: [/usr/lib/gcc/x86_64-linux-gnu/9/include]
|
||||
add: [/usr/local/include]
|
||||
add: [/usr/include/x86_64-linux-gnu]
|
||||
add: [/usr/include]
|
||||
end of search list found
|
||||
collapse include dir [/usr/lib/gcc/x86_64-linux-gnu/9/include] ==> [/usr/lib/gcc/x86_64-linux-gnu/9/include]
|
||||
collapse include dir [/usr/local/include] ==> [/usr/local/include]
|
||||
collapse include dir [/usr/include/x86_64-linux-gnu] ==> [/usr/include/x86_64-linux-gnu]
|
||||
collapse include dir [/usr/include] ==> [/usr/include]
|
||||
implicit include dirs: [/usr/lib/gcc/x86_64-linux-gnu/9/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include]
|
||||
|
||||
|
||||
Parsed C implicit link information from above output:
|
||||
link line regex: [^( *|.*[/\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)]
|
||||
ignore line: [Change Dir: /home/henry/Downloads/SpeedTest-master/CMakeFiles/CMakeTmp]
|
||||
ignore line: []
|
||||
ignore line: [Run Build Command(s):/usr/bin/make cmTC_15a6a/fast && /usr/bin/make -f CMakeFiles/cmTC_15a6a.dir/build.make CMakeFiles/cmTC_15a6a.dir/build]
|
||||
ignore line: [make[1]: Entering directory '/home/henry/Downloads/SpeedTest-master/CMakeFiles/CMakeTmp']
|
||||
ignore line: [Building C object CMakeFiles/cmTC_15a6a.dir/CMakeCCompilerABI.c.o]
|
||||
ignore line: [/usr/bin/cc -v -o CMakeFiles/cmTC_15a6a.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.16/Modules/CMakeCCompilerABI.c]
|
||||
ignore line: [Using built-in specs.]
|
||||
ignore line: [COLLECT_GCC=/usr/bin/cc]
|
||||
ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:hsa]
|
||||
ignore line: [OFFLOAD_TARGET_DEFAULT=1]
|
||||
ignore line: [Target: x86_64-linux-gnu]
|
||||
ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.3.0-10ubuntu2' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c ada c++ go brig d fortran objc obj-c++ gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu]
|
||||
ignore line: [Thread model: posix]
|
||||
ignore line: [gcc version 9.3.0 (Ubuntu 9.3.0-10ubuntu2) ]
|
||||
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_15a6a.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64']
|
||||
ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/9/cc1 -quiet -v -imultiarch x86_64-linux-gnu /usr/share/cmake-3.16/Modules/CMakeCCompilerABI.c -quiet -dumpbase CMakeCCompilerABI.c -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/cmTC_15a6a.dir/CMakeCCompilerABI.c.o -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccOfkpsR.s]
|
||||
ignore line: [GNU C17 (Ubuntu 9.3.0-10ubuntu2) version 9.3.0 (x86_64-linux-gnu)]
|
||||
ignore line: [ compiled by GNU C version 9.3.0 GMP version 6.2.0 MPFR version 4.0.2 MPC version 1.1.0 isl version isl-0.22.1-GMP]
|
||||
ignore line: []
|
||||
ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072]
|
||||
ignore line: [ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"]
|
||||
ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/include-fixed"]
|
||||
ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/include"]
|
||||
ignore line: [#include "..." search starts here:]
|
||||
ignore line: [#include <...> search starts here:]
|
||||
ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/9/include]
|
||||
ignore line: [ /usr/local/include]
|
||||
ignore line: [ /usr/include/x86_64-linux-gnu]
|
||||
ignore line: [ /usr/include]
|
||||
ignore line: [End of search list.]
|
||||
ignore line: [GNU C17 (Ubuntu 9.3.0-10ubuntu2) version 9.3.0 (x86_64-linux-gnu)]
|
||||
ignore line: [ compiled by GNU C version 9.3.0 GMP version 6.2.0 MPFR version 4.0.2 MPC version 1.1.0 isl version isl-0.22.1-GMP]
|
||||
ignore line: []
|
||||
ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072]
|
||||
ignore line: [Compiler executable checksum: 18dc4c39b54390aa2b5013fb4339d43f]
|
||||
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_15a6a.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64']
|
||||
ignore line: [ as -v --64 -o CMakeFiles/cmTC_15a6a.dir/CMakeCCompilerABI.c.o /tmp/ccOfkpsR.s]
|
||||
ignore line: [GNU assembler version 2.34 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.34]
|
||||
ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/]
|
||||
ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/]
|
||||
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_15a6a.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64']
|
||||
ignore line: [Linking C executable cmTC_15a6a]
|
||||
ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_15a6a.dir/link.txt --verbose=1]
|
||||
ignore line: [/usr/bin/cc -v -rdynamic CMakeFiles/cmTC_15a6a.dir/CMakeCCompilerABI.c.o -o cmTC_15a6a ]
|
||||
ignore line: [Using built-in specs.]
|
||||
ignore line: [COLLECT_GCC=/usr/bin/cc]
|
||||
ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper]
|
||||
ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:hsa]
|
||||
ignore line: [OFFLOAD_TARGET_DEFAULT=1]
|
||||
ignore line: [Target: x86_64-linux-gnu]
|
||||
ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.3.0-10ubuntu2' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c ada c++ go brig d fortran objc obj-c++ gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu]
|
||||
ignore line: [Thread model: posix]
|
||||
ignore line: [gcc version 9.3.0 (Ubuntu 9.3.0-10ubuntu2) ]
|
||||
ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/]
|
||||
ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/]
|
||||
ignore line: [COLLECT_GCC_OPTIONS='-v' '-rdynamic' '-o' 'cmTC_15a6a' '-mtune=generic' '-march=x86-64']
|
||||
link line: [ /usr/lib/gcc/x86_64-linux-gnu/9/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/9/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper -plugin-opt=-fresolution=/tmp/cc8bbnll.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_15a6a /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/9 -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/9/../../.. CMakeFiles/cmTC_15a6a.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o]
|
||||
arg [/usr/lib/gcc/x86_64-linux-gnu/9/collect2] ==> ignore
|
||||
arg [-plugin] ==> ignore
|
||||
arg [/usr/lib/gcc/x86_64-linux-gnu/9/liblto_plugin.so] ==> ignore
|
||||
arg [-plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper] ==> ignore
|
||||
arg [-plugin-opt=-fresolution=/tmp/cc8bbnll.res] ==> ignore
|
||||
arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
|
||||
arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore
|
||||
arg [-plugin-opt=-pass-through=-lc] ==> ignore
|
||||
arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
|
||||
arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore
|
||||
arg [--build-id] ==> ignore
|
||||
arg [--eh-frame-hdr] ==> ignore
|
||||
arg [-m] ==> ignore
|
||||
arg [elf_x86_64] ==> ignore
|
||||
arg [--hash-style=gnu] ==> ignore
|
||||
arg [--as-needed] ==> ignore
|
||||
arg [-export-dynamic] ==> ignore
|
||||
arg [-dynamic-linker] ==> ignore
|
||||
arg [/lib64/ld-linux-x86-64.so.2] ==> ignore
|
||||
arg [-pie] ==> ignore
|
||||
arg [-znow] ==> ignore
|
||||
arg [-zrelro] ==> ignore
|
||||
arg [-o] ==> ignore
|
||||
arg [cmTC_15a6a] ==> ignore
|
||||
arg [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o] ==> ignore
|
||||
arg [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o] ==> ignore
|
||||
arg [/usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o] ==> ignore
|
||||
arg [-L/usr/lib/gcc/x86_64-linux-gnu/9] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9]
|
||||
arg [-L/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu]
|
||||
arg [-L/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib]
|
||||
arg [-L/lib/x86_64-linux-gnu] ==> dir [/lib/x86_64-linux-gnu]
|
||||
arg [-L/lib/../lib] ==> dir [/lib/../lib]
|
||||
arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu]
|
||||
arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib]
|
||||
arg [-L/usr/lib/gcc/x86_64-linux-gnu/9/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../..]
|
||||
arg [CMakeFiles/cmTC_15a6a.dir/CMakeCCompilerABI.c.o] ==> ignore
|
||||
arg [-lgcc] ==> lib [gcc]
|
||||
arg [--push-state] ==> ignore
|
||||
arg [--as-needed] ==> ignore
|
||||
arg [-lgcc_s] ==> lib [gcc_s]
|
||||
arg [--pop-state] ==> ignore
|
||||
arg [-lc] ==> lib [c]
|
||||
arg [-lgcc] ==> lib [gcc]
|
||||
arg [--push-state] ==> ignore
|
||||
arg [--as-needed] ==> ignore
|
||||
arg [-lgcc_s] ==> lib [gcc_s]
|
||||
arg [--pop-state] ==> ignore
|
||||
arg [/usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o] ==> ignore
|
||||
arg [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o] ==> ignore
|
||||
collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9] ==> [/usr/lib/gcc/x86_64-linux-gnu/9]
|
||||
collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu]
|
||||
collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib] ==> [/usr/lib]
|
||||
collapse library dir [/lib/x86_64-linux-gnu] ==> [/lib/x86_64-linux-gnu]
|
||||
collapse library dir [/lib/../lib] ==> [/lib]
|
||||
collapse library dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu]
|
||||
collapse library dir [/usr/lib/../lib] ==> [/usr/lib]
|
||||
collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../..] ==> [/usr/lib]
|
||||
implicit libs: [gcc;gcc_s;c;gcc;gcc_s]
|
||||
implicit dirs: [/usr/lib/gcc/x86_64-linux-gnu/9;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib]
|
||||
implicit fwks: []
|
||||
|
||||
|
||||
Determining if the CXX compiler works passed with the following output:
|
||||
Change Dir: /home/henry/Downloads/SpeedTest-master/CMakeFiles/CMakeTmp
|
||||
|
||||
Run Build Command(s):/usr/bin/make cmTC_6897f/fast && /usr/bin/make -f CMakeFiles/cmTC_6897f.dir/build.make CMakeFiles/cmTC_6897f.dir/build
|
||||
make[1]: Entering directory '/home/henry/Downloads/SpeedTest-master/CMakeFiles/CMakeTmp'
|
||||
Building CXX object CMakeFiles/cmTC_6897f.dir/testCXXCompiler.cxx.o
|
||||
/usr/bin/c++ -o CMakeFiles/cmTC_6897f.dir/testCXXCompiler.cxx.o -c /home/henry/Downloads/SpeedTest-master/CMakeFiles/CMakeTmp/testCXXCompiler.cxx
|
||||
Linking CXX executable cmTC_6897f
|
||||
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_6897f.dir/link.txt --verbose=1
|
||||
/usr/bin/c++ -rdynamic CMakeFiles/cmTC_6897f.dir/testCXXCompiler.cxx.o -o cmTC_6897f
|
||||
make[1]: Leaving directory '/home/henry/Downloads/SpeedTest-master/CMakeFiles/CMakeTmp'
|
||||
|
||||
|
||||
|
||||
Detecting CXX compiler ABI info compiled with the following output:
|
||||
Change Dir: /home/henry/Downloads/SpeedTest-master/CMakeFiles/CMakeTmp
|
||||
|
||||
Run Build Command(s):/usr/bin/make cmTC_a756c/fast && /usr/bin/make -f CMakeFiles/cmTC_a756c.dir/build.make CMakeFiles/cmTC_a756c.dir/build
|
||||
make[1]: Entering directory '/home/henry/Downloads/SpeedTest-master/CMakeFiles/CMakeTmp'
|
||||
Building CXX object CMakeFiles/cmTC_a756c.dir/CMakeCXXCompilerABI.cpp.o
|
||||
/usr/bin/c++ -v -o CMakeFiles/cmTC_a756c.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.16/Modules/CMakeCXXCompilerABI.cpp
|
||||
Using built-in specs.
|
||||
COLLECT_GCC=/usr/bin/c++
|
||||
OFFLOAD_TARGET_NAMES=nvptx-none:hsa
|
||||
OFFLOAD_TARGET_DEFAULT=1
|
||||
Target: x86_64-linux-gnu
|
||||
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.3.0-10ubuntu2' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
|
||||
Thread model: posix
|
||||
gcc version 9.3.0 (Ubuntu 9.3.0-10ubuntu2)
|
||||
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_a756c.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
|
||||
/usr/lib/gcc/x86_64-linux-gnu/9/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/share/cmake-3.16/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpbase CMakeCXXCompilerABI.cpp -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/cmTC_a756c.dir/CMakeCXXCompilerABI.cpp.o -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccteXH3N.s
|
||||
GNU C++14 (Ubuntu 9.3.0-10ubuntu2) version 9.3.0 (x86_64-linux-gnu)
|
||||
compiled by GNU C version 9.3.0, GMP version 6.2.0, MPFR version 4.0.2, MPC version 1.1.0, isl version isl-0.22.1-GMP
|
||||
|
||||
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
|
||||
ignoring duplicate directory "/usr/include/x86_64-linux-gnu/c++/9"
|
||||
ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"
|
||||
ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/include-fixed"
|
||||
ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/include"
|
||||
#include "..." search starts here:
|
||||
#include <...> search starts here:
|
||||
/usr/include/c++/9
|
||||
/usr/include/x86_64-linux-gnu/c++/9
|
||||
/usr/include/c++/9/backward
|
||||
/usr/lib/gcc/x86_64-linux-gnu/9/include
|
||||
/usr/local/include
|
||||
/usr/include/x86_64-linux-gnu
|
||||
/usr/include
|
||||
End of search list.
|
||||
GNU C++14 (Ubuntu 9.3.0-10ubuntu2) version 9.3.0 (x86_64-linux-gnu)
|
||||
compiled by GNU C version 9.3.0, GMP version 6.2.0, MPFR version 4.0.2, MPC version 1.1.0, isl version isl-0.22.1-GMP
|
||||
|
||||
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
|
||||
Compiler executable checksum: a3d04a02fbd98a786d710618ca593f02
|
||||
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_a756c.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
|
||||
as -v --64 -o CMakeFiles/cmTC_a756c.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccteXH3N.s
|
||||
GNU assembler version 2.34 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.34
|
||||
COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/
|
||||
LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/
|
||||
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_a756c.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
|
||||
Linking CXX executable cmTC_a756c
|
||||
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_a756c.dir/link.txt --verbose=1
|
||||
/usr/bin/c++ -v -rdynamic CMakeFiles/cmTC_a756c.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_a756c
|
||||
Using built-in specs.
|
||||
COLLECT_GCC=/usr/bin/c++
|
||||
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper
|
||||
OFFLOAD_TARGET_NAMES=nvptx-none:hsa
|
||||
OFFLOAD_TARGET_DEFAULT=1
|
||||
Target: x86_64-linux-gnu
|
||||
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.3.0-10ubuntu2' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
|
||||
Thread model: posix
|
||||
gcc version 9.3.0 (Ubuntu 9.3.0-10ubuntu2)
|
||||
COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/
|
||||
LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/
|
||||
COLLECT_GCC_OPTIONS='-v' '-rdynamic' '-o' 'cmTC_a756c' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
|
||||
/usr/lib/gcc/x86_64-linux-gnu/9/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/9/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper -plugin-opt=-fresolution=/tmp/ccoE4yvj.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_a756c /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/9 -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/9/../../.. CMakeFiles/cmTC_a756c.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o
|
||||
COLLECT_GCC_OPTIONS='-v' '-rdynamic' '-o' 'cmTC_a756c' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
|
||||
make[1]: Leaving directory '/home/henry/Downloads/SpeedTest-master/CMakeFiles/CMakeTmp'
|
||||
|
||||
|
||||
|
||||
Parsed CXX implicit include dir info from above output: rv=done
|
||||
found start of include info
|
||||
found start of implicit include info
|
||||
add: [/usr/include/c++/9]
|
||||
add: [/usr/include/x86_64-linux-gnu/c++/9]
|
||||
add: [/usr/include/c++/9/backward]
|
||||
add: [/usr/lib/gcc/x86_64-linux-gnu/9/include]
|
||||
add: [/usr/local/include]
|
||||
add: [/usr/include/x86_64-linux-gnu]
|
||||
add: [/usr/include]
|
||||
end of search list found
|
||||
collapse include dir [/usr/include/c++/9] ==> [/usr/include/c++/9]
|
||||
collapse include dir [/usr/include/x86_64-linux-gnu/c++/9] ==> [/usr/include/x86_64-linux-gnu/c++/9]
|
||||
collapse include dir [/usr/include/c++/9/backward] ==> [/usr/include/c++/9/backward]
|
||||
collapse include dir [/usr/lib/gcc/x86_64-linux-gnu/9/include] ==> [/usr/lib/gcc/x86_64-linux-gnu/9/include]
|
||||
collapse include dir [/usr/local/include] ==> [/usr/local/include]
|
||||
collapse include dir [/usr/include/x86_64-linux-gnu] ==> [/usr/include/x86_64-linux-gnu]
|
||||
collapse include dir [/usr/include] ==> [/usr/include]
|
||||
implicit include dirs: [/usr/include/c++/9;/usr/include/x86_64-linux-gnu/c++/9;/usr/include/c++/9/backward;/usr/lib/gcc/x86_64-linux-gnu/9/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include]
|
||||
|
||||
|
||||
Parsed CXX implicit link information from above output:
|
||||
link line regex: [^( *|.*[/\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)]
|
||||
ignore line: [Change Dir: /home/henry/Downloads/SpeedTest-master/CMakeFiles/CMakeTmp]
|
||||
ignore line: []
|
||||
ignore line: [Run Build Command(s):/usr/bin/make cmTC_a756c/fast && /usr/bin/make -f CMakeFiles/cmTC_a756c.dir/build.make CMakeFiles/cmTC_a756c.dir/build]
|
||||
ignore line: [make[1]: Entering directory '/home/henry/Downloads/SpeedTest-master/CMakeFiles/CMakeTmp']
|
||||
ignore line: [Building CXX object CMakeFiles/cmTC_a756c.dir/CMakeCXXCompilerABI.cpp.o]
|
||||
ignore line: [/usr/bin/c++ -v -o CMakeFiles/cmTC_a756c.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.16/Modules/CMakeCXXCompilerABI.cpp]
|
||||
ignore line: [Using built-in specs.]
|
||||
ignore line: [COLLECT_GCC=/usr/bin/c++]
|
||||
ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:hsa]
|
||||
ignore line: [OFFLOAD_TARGET_DEFAULT=1]
|
||||
ignore line: [Target: x86_64-linux-gnu]
|
||||
ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.3.0-10ubuntu2' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c ada c++ go brig d fortran objc obj-c++ gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu]
|
||||
ignore line: [Thread model: posix]
|
||||
ignore line: [gcc version 9.3.0 (Ubuntu 9.3.0-10ubuntu2) ]
|
||||
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_a756c.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64']
|
||||
ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/9/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/share/cmake-3.16/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpbase CMakeCXXCompilerABI.cpp -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/cmTC_a756c.dir/CMakeCXXCompilerABI.cpp.o -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccteXH3N.s]
|
||||
ignore line: [GNU C++14 (Ubuntu 9.3.0-10ubuntu2) version 9.3.0 (x86_64-linux-gnu)]
|
||||
ignore line: [ compiled by GNU C version 9.3.0 GMP version 6.2.0 MPFR version 4.0.2 MPC version 1.1.0 isl version isl-0.22.1-GMP]
|
||||
ignore line: []
|
||||
ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072]
|
||||
ignore line: [ignoring duplicate directory "/usr/include/x86_64-linux-gnu/c++/9"]
|
||||
ignore line: [ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"]
|
||||
ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/include-fixed"]
|
||||
ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/include"]
|
||||
ignore line: [#include "..." search starts here:]
|
||||
ignore line: [#include <...> search starts here:]
|
||||
ignore line: [ /usr/include/c++/9]
|
||||
ignore line: [ /usr/include/x86_64-linux-gnu/c++/9]
|
||||
ignore line: [ /usr/include/c++/9/backward]
|
||||
ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/9/include]
|
||||
ignore line: [ /usr/local/include]
|
||||
ignore line: [ /usr/include/x86_64-linux-gnu]
|
||||
ignore line: [ /usr/include]
|
||||
ignore line: [End of search list.]
|
||||
ignore line: [GNU C++14 (Ubuntu 9.3.0-10ubuntu2) version 9.3.0 (x86_64-linux-gnu)]
|
||||
ignore line: [ compiled by GNU C version 9.3.0 GMP version 6.2.0 MPFR version 4.0.2 MPC version 1.1.0 isl version isl-0.22.1-GMP]
|
||||
ignore line: []
|
||||
ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072]
|
||||
ignore line: [Compiler executable checksum: a3d04a02fbd98a786d710618ca593f02]
|
||||
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_a756c.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64']
|
||||
ignore line: [ as -v --64 -o CMakeFiles/cmTC_a756c.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccteXH3N.s]
|
||||
ignore line: [GNU assembler version 2.34 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.34]
|
||||
ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/]
|
||||
ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/]
|
||||
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_a756c.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64']
|
||||
ignore line: [Linking CXX executable cmTC_a756c]
|
||||
ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_a756c.dir/link.txt --verbose=1]
|
||||
ignore line: [/usr/bin/c++ -v -rdynamic CMakeFiles/cmTC_a756c.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_a756c ]
|
||||
ignore line: [Using built-in specs.]
|
||||
ignore line: [COLLECT_GCC=/usr/bin/c++]
|
||||
ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper]
|
||||
ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:hsa]
|
||||
ignore line: [OFFLOAD_TARGET_DEFAULT=1]
|
||||
ignore line: [Target: x86_64-linux-gnu]
|
||||
ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.3.0-10ubuntu2' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c ada c++ go brig d fortran objc obj-c++ gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu]
|
||||
ignore line: [Thread model: posix]
|
||||
ignore line: [gcc version 9.3.0 (Ubuntu 9.3.0-10ubuntu2) ]
|
||||
ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/]
|
||||
ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/]
|
||||
ignore line: [COLLECT_GCC_OPTIONS='-v' '-rdynamic' '-o' 'cmTC_a756c' '-shared-libgcc' '-mtune=generic' '-march=x86-64']
|
||||
link line: [ /usr/lib/gcc/x86_64-linux-gnu/9/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/9/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper -plugin-opt=-fresolution=/tmp/ccoE4yvj.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_a756c /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/9 -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/9/../../.. CMakeFiles/cmTC_a756c.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o]
|
||||
arg [/usr/lib/gcc/x86_64-linux-gnu/9/collect2] ==> ignore
|
||||
arg [-plugin] ==> ignore
|
||||
arg [/usr/lib/gcc/x86_64-linux-gnu/9/liblto_plugin.so] ==> ignore
|
||||
arg [-plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper] ==> ignore
|
||||
arg [-plugin-opt=-fresolution=/tmp/ccoE4yvj.res] ==> ignore
|
||||
arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore
|
||||
arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
|
||||
arg [-plugin-opt=-pass-through=-lc] ==> ignore
|
||||
arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore
|
||||
arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
|
||||
arg [--build-id] ==> ignore
|
||||
arg [--eh-frame-hdr] ==> ignore
|
||||
arg [-m] ==> ignore
|
||||
arg [elf_x86_64] ==> ignore
|
||||
arg [--hash-style=gnu] ==> ignore
|
||||
arg [--as-needed] ==> ignore
|
||||
arg [-export-dynamic] ==> ignore
|
||||
arg [-dynamic-linker] ==> ignore
|
||||
arg [/lib64/ld-linux-x86-64.so.2] ==> ignore
|
||||
arg [-pie] ==> ignore
|
||||
arg [-znow] ==> ignore
|
||||
arg [-zrelro] ==> ignore
|
||||
arg [-o] ==> ignore
|
||||
arg [cmTC_a756c] ==> ignore
|
||||
arg [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o] ==> ignore
|
||||
arg [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o] ==> ignore
|
||||
arg [/usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o] ==> ignore
|
||||
arg [-L/usr/lib/gcc/x86_64-linux-gnu/9] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9]
|
||||
arg [-L/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu]
|
||||
arg [-L/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib]
|
||||
arg [-L/lib/x86_64-linux-gnu] ==> dir [/lib/x86_64-linux-gnu]
|
||||
arg [-L/lib/../lib] ==> dir [/lib/../lib]
|
||||
arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu]
|
||||
arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib]
|
||||
arg [-L/usr/lib/gcc/x86_64-linux-gnu/9/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../..]
|
||||
arg [CMakeFiles/cmTC_a756c.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore
|
||||
arg [-lstdc++] ==> lib [stdc++]
|
||||
arg [-lm] ==> lib [m]
|
||||
arg [-lgcc_s] ==> lib [gcc_s]
|
||||
arg [-lgcc] ==> lib [gcc]
|
||||
arg [-lc] ==> lib [c]
|
||||
arg [-lgcc_s] ==> lib [gcc_s]
|
||||
arg [-lgcc] ==> lib [gcc]
|
||||
arg [/usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o] ==> ignore
|
||||
arg [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o] ==> ignore
|
||||
collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9] ==> [/usr/lib/gcc/x86_64-linux-gnu/9]
|
||||
collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu]
|
||||
collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib] ==> [/usr/lib]
|
||||
collapse library dir [/lib/x86_64-linux-gnu] ==> [/lib/x86_64-linux-gnu]
|
||||
collapse library dir [/lib/../lib] ==> [/lib]
|
||||
collapse library dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu]
|
||||
collapse library dir [/usr/lib/../lib] ==> [/usr/lib]
|
||||
collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../..] ==> [/usr/lib]
|
||||
implicit libs: [stdc++;m;gcc_s;gcc;c;gcc_s;gcc]
|
||||
implicit dirs: [/usr/lib/gcc/x86_64-linux-gnu/9;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib]
|
||||
implicit fwks: []
|
||||
|
||||
|
||||
59
app/Bin/SpeedTest-master/CMakeFiles/Makefile.cmake
Normal file
59
app/Bin/SpeedTest-master/CMakeFiles/Makefile.cmake
Normal file
@@ -0,0 +1,59 @@
|
||||
# CMAKE generated file: DO NOT EDIT!
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 3.16
|
||||
|
||||
# The generator used is:
|
||||
set(CMAKE_DEPENDS_GENERATOR "Unix Makefiles")
|
||||
|
||||
# The top level Makefile was generated from the following files:
|
||||
set(CMAKE_MAKEFILE_DEPENDS
|
||||
"CMakeCache.txt"
|
||||
"CMakeFiles/3.16.3/CMakeCCompiler.cmake"
|
||||
"CMakeFiles/3.16.3/CMakeCXXCompiler.cmake"
|
||||
"CMakeFiles/3.16.3/CMakeSystem.cmake"
|
||||
"CMakeLists.txt"
|
||||
"SpeedTestConfig.h.in"
|
||||
"/usr/share/cmake-3.16/Modules/CMakeCInformation.cmake"
|
||||
"/usr/share/cmake-3.16/Modules/CMakeCXXInformation.cmake"
|
||||
"/usr/share/cmake-3.16/Modules/CMakeCheckCompilerFlagCommonPatterns.cmake"
|
||||
"/usr/share/cmake-3.16/Modules/CMakeCommonLanguageInclude.cmake"
|
||||
"/usr/share/cmake-3.16/Modules/CMakeGenericSystem.cmake"
|
||||
"/usr/share/cmake-3.16/Modules/CMakeInitializeConfigs.cmake"
|
||||
"/usr/share/cmake-3.16/Modules/CMakeLanguageInformation.cmake"
|
||||
"/usr/share/cmake-3.16/Modules/CMakeSystemSpecificInformation.cmake"
|
||||
"/usr/share/cmake-3.16/Modules/CMakeSystemSpecificInitialize.cmake"
|
||||
"/usr/share/cmake-3.16/Modules/CheckIncludeFiles.cmake"
|
||||
"/usr/share/cmake-3.16/Modules/Compiler/CMakeCommonCompilerMacros.cmake"
|
||||
"/usr/share/cmake-3.16/Modules/Compiler/GNU-C.cmake"
|
||||
"/usr/share/cmake-3.16/Modules/Compiler/GNU-CXX.cmake"
|
||||
"/usr/share/cmake-3.16/Modules/Compiler/GNU.cmake"
|
||||
"/usr/share/cmake-3.16/Modules/FindCURL.cmake"
|
||||
"/usr/share/cmake-3.16/Modules/FindLibXml2.cmake"
|
||||
"/usr/share/cmake-3.16/Modules/FindOpenSSL.cmake"
|
||||
"/usr/share/cmake-3.16/Modules/FindPackageHandleStandardArgs.cmake"
|
||||
"/usr/share/cmake-3.16/Modules/FindPackageMessage.cmake"
|
||||
"/usr/share/cmake-3.16/Modules/FindPkgConfig.cmake"
|
||||
"/usr/share/cmake-3.16/Modules/Internal/CMakeCheckCompilerFlag.cmake"
|
||||
"/usr/share/cmake-3.16/Modules/Platform/Linux-GNU-C.cmake"
|
||||
"/usr/share/cmake-3.16/Modules/Platform/Linux-GNU-CXX.cmake"
|
||||
"/usr/share/cmake-3.16/Modules/Platform/Linux-GNU.cmake"
|
||||
"/usr/share/cmake-3.16/Modules/Platform/Linux.cmake"
|
||||
"/usr/share/cmake-3.16/Modules/Platform/UnixPaths.cmake"
|
||||
"/usr/share/cmake-3.16/Modules/SelectLibraryConfigurations.cmake"
|
||||
)
|
||||
|
||||
# The corresponding makefile is:
|
||||
set(CMAKE_MAKEFILE_OUTPUTS
|
||||
"Makefile"
|
||||
"CMakeFiles/cmake.check_cache"
|
||||
)
|
||||
|
||||
# Byproducts of CMake generate step:
|
||||
set(CMAKE_MAKEFILE_PRODUCTS
|
||||
"SpeedTestConfig.h"
|
||||
"CMakeFiles/CMakeDirectoryInformation.cmake"
|
||||
)
|
||||
|
||||
# Dependency information for all targets:
|
||||
set(CMAKE_DEPEND_INFO_FILES
|
||||
"CMakeFiles/SpeedTest.dir/DependInfo.cmake"
|
||||
)
|
||||
106
app/Bin/SpeedTest-master/CMakeFiles/Makefile2
Normal file
106
app/Bin/SpeedTest-master/CMakeFiles/Makefile2
Normal file
@@ -0,0 +1,106 @@
|
||||
# CMAKE generated file: DO NOT EDIT!
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 3.16
|
||||
|
||||
# Default target executed when no arguments are given to make.
|
||||
default_target: all
|
||||
|
||||
.PHONY : default_target
|
||||
|
||||
#=============================================================================
|
||||
# Special targets provided by cmake.
|
||||
|
||||
# Disable implicit rules so canonical targets will work.
|
||||
.SUFFIXES:
|
||||
|
||||
|
||||
# Remove some rules from gmake that .SUFFIXES does not remove.
|
||||
SUFFIXES =
|
||||
|
||||
.SUFFIXES: .hpux_make_needs_suffix_list
|
||||
|
||||
|
||||
# Suppress display of executed commands.
|
||||
$(VERBOSE).SILENT:
|
||||
|
||||
|
||||
# A target that is always out of date.
|
||||
cmake_force:
|
||||
|
||||
.PHONY : cmake_force
|
||||
|
||||
#=============================================================================
|
||||
# Set environment variables for the build.
|
||||
|
||||
# The shell in which to execute make rules.
|
||||
SHELL = /bin/sh
|
||||
|
||||
# The CMake executable.
|
||||
CMAKE_COMMAND = /usr/bin/cmake
|
||||
|
||||
# The command to remove a file.
|
||||
RM = /usr/bin/cmake -E remove -f
|
||||
|
||||
# Escaping for special characters.
|
||||
EQUALS = =
|
||||
|
||||
# The top-level source directory on which CMake was run.
|
||||
CMAKE_SOURCE_DIR = /home/henry/Downloads/SpeedTest-master
|
||||
|
||||
# The top-level build directory on which CMake was run.
|
||||
CMAKE_BINARY_DIR = /home/henry/Downloads/SpeedTest-master
|
||||
|
||||
#=============================================================================
|
||||
# Directory level rules for the build root directory
|
||||
|
||||
# The main recursive "all" target.
|
||||
all: CMakeFiles/SpeedTest.dir/all
|
||||
|
||||
.PHONY : all
|
||||
|
||||
# The main recursive "preinstall" target.
|
||||
preinstall:
|
||||
|
||||
.PHONY : preinstall
|
||||
|
||||
# The main recursive "clean" target.
|
||||
clean: CMakeFiles/SpeedTest.dir/clean
|
||||
|
||||
.PHONY : clean
|
||||
|
||||
#=============================================================================
|
||||
# Target rules for target CMakeFiles/SpeedTest.dir
|
||||
|
||||
# All Build rule for target.
|
||||
CMakeFiles/SpeedTest.dir/all:
|
||||
$(MAKE) -f CMakeFiles/SpeedTest.dir/build.make CMakeFiles/SpeedTest.dir/depend
|
||||
$(MAKE) -f CMakeFiles/SpeedTest.dir/build.make CMakeFiles/SpeedTest.dir/build
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/henry/Downloads/SpeedTest-master/CMakeFiles --progress-num=1,2,3,4,5 "Built target SpeedTest"
|
||||
.PHONY : CMakeFiles/SpeedTest.dir/all
|
||||
|
||||
# Build rule for subdir invocation for target.
|
||||
CMakeFiles/SpeedTest.dir/rule: cmake_check_build_system
|
||||
$(CMAKE_COMMAND) -E cmake_progress_start /home/henry/Downloads/SpeedTest-master/CMakeFiles 5
|
||||
$(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/SpeedTest.dir/all
|
||||
$(CMAKE_COMMAND) -E cmake_progress_start /home/henry/Downloads/SpeedTest-master/CMakeFiles 0
|
||||
.PHONY : CMakeFiles/SpeedTest.dir/rule
|
||||
|
||||
# Convenience name for target.
|
||||
SpeedTest: CMakeFiles/SpeedTest.dir/rule
|
||||
|
||||
.PHONY : SpeedTest
|
||||
|
||||
# clean rule for target.
|
||||
CMakeFiles/SpeedTest.dir/clean:
|
||||
$(MAKE) -f CMakeFiles/SpeedTest.dir/build.make CMakeFiles/SpeedTest.dir/clean
|
||||
.PHONY : CMakeFiles/SpeedTest.dir/clean
|
||||
|
||||
#=============================================================================
|
||||
# Special targets to cleanup operation of make.
|
||||
|
||||
# Special rule to run CMake to check the build system integrity.
|
||||
# No rule that depends on this can have commands that come from listfiles
|
||||
# because they might be regenerated.
|
||||
cmake_check_build_system:
|
||||
$(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
|
||||
.PHONY : cmake_check_build_system
|
||||
|
||||
@@ -0,0 +1,338 @@
|
||||
#IncludeRegexLine: ^[ ]*[#%][ ]*(include|import)[ ]*[<"]([^">]+)([">])
|
||||
|
||||
#IncludeRegexScan: ^.*$
|
||||
|
||||
#IncludeRegexComplain: ^$
|
||||
|
||||
#IncludeRegexTransform:
|
||||
|
||||
/home/henry/Downloads/SpeedTest-master/CmdOptions.h
|
||||
getopt.h
|
||||
-
|
||||
|
||||
/home/henry/Downloads/SpeedTest-master/DataTypes.h
|
||||
iostream
|
||||
-
|
||||
stdio.h
|
||||
-
|
||||
stdlib.h
|
||||
-
|
||||
|
||||
/home/henry/Downloads/SpeedTest-master/MD5Util.cpp
|
||||
sstream
|
||||
-
|
||||
MD5Util.h
|
||||
/home/henry/Downloads/SpeedTest-master/MD5Util.h
|
||||
|
||||
/home/henry/Downloads/SpeedTest-master/MD5Util.h
|
||||
CommonCrypto/CommonDigest.h
|
||||
-
|
||||
string
|
||||
-
|
||||
openssl/md5.h
|
||||
-
|
||||
|
||||
/home/henry/Downloads/SpeedTest-master/SpeedTest.cpp
|
||||
cmath
|
||||
-
|
||||
iomanip
|
||||
-
|
||||
SpeedTest.h
|
||||
/home/henry/Downloads/SpeedTest-master/SpeedTest.h
|
||||
MD5Util.h
|
||||
/home/henry/Downloads/SpeedTest-master/MD5Util.h
|
||||
netdb.h
|
||||
-
|
||||
|
||||
/home/henry/Downloads/SpeedTest-master/SpeedTest.h
|
||||
SpeedTestConfig.h
|
||||
/home/henry/Downloads/SpeedTest-master/SpeedTestConfig.h
|
||||
SpeedTestClient.h
|
||||
/home/henry/Downloads/SpeedTest-master/SpeedTestClient.h
|
||||
libxml/xmlreader.h
|
||||
-
|
||||
functional
|
||||
-
|
||||
cmath
|
||||
-
|
||||
curl/curl.h
|
||||
-
|
||||
fstream
|
||||
-
|
||||
sstream
|
||||
-
|
||||
iostream
|
||||
-
|
||||
map
|
||||
-
|
||||
vector
|
||||
-
|
||||
algorithm
|
||||
-
|
||||
thread
|
||||
-
|
||||
mutex
|
||||
-
|
||||
DataTypes.h
|
||||
/home/henry/Downloads/SpeedTest-master/DataTypes.h
|
||||
|
||||
/home/henry/Downloads/SpeedTest-master/SpeedTestClient.cpp
|
||||
arpa/inet.h
|
||||
-
|
||||
netdb.h
|
||||
-
|
||||
SpeedTestClient.h
|
||||
/home/henry/Downloads/SpeedTest-master/SpeedTestClient.h
|
||||
|
||||
/home/henry/Downloads/SpeedTest-master/SpeedTestClient.h
|
||||
ctime
|
||||
-
|
||||
netdb.h
|
||||
-
|
||||
netinet/in.h
|
||||
-
|
||||
string.h
|
||||
-
|
||||
sys/socket.h
|
||||
-
|
||||
unistd.h
|
||||
-
|
||||
chrono
|
||||
-
|
||||
unistd.h
|
||||
-
|
||||
SpeedTest.h
|
||||
/home/henry/Downloads/SpeedTest-master/SpeedTest.h
|
||||
DataTypes.h
|
||||
/home/henry/Downloads/SpeedTest-master/DataTypes.h
|
||||
|
||||
/home/henry/Downloads/SpeedTest-master/SpeedTestConfig.h
|
||||
|
||||
/home/henry/Downloads/SpeedTest-master/TestConfigTemplate.h
|
||||
SpeedTest.h
|
||||
/home/henry/Downloads/SpeedTest-master/SpeedTest.h
|
||||
|
||||
/home/henry/Downloads/SpeedTest-master/main.cpp
|
||||
iostream
|
||||
-
|
||||
map
|
||||
-
|
||||
iomanip
|
||||
-
|
||||
SpeedTest.h
|
||||
/home/henry/Downloads/SpeedTest-master/SpeedTest.h
|
||||
TestConfigTemplate.h
|
||||
/home/henry/Downloads/SpeedTest-master/TestConfigTemplate.h
|
||||
CmdOptions.h
|
||||
/home/henry/Downloads/SpeedTest-master/CmdOptions.h
|
||||
csignal
|
||||
-
|
||||
|
||||
/usr/include/libxml2/libxml/SAX2.h
|
||||
stdio.h
|
||||
-
|
||||
stdlib.h
|
||||
-
|
||||
libxml/xmlversion.h
|
||||
-
|
||||
libxml/parser.h
|
||||
-
|
||||
libxml/xlink.h
|
||||
-
|
||||
|
||||
/usr/include/libxml2/libxml/dict.h
|
||||
stddef.h
|
||||
-
|
||||
libxml/xmlversion.h
|
||||
-
|
||||
|
||||
/usr/include/libxml2/libxml/encoding.h
|
||||
libxml/xmlversion.h
|
||||
-
|
||||
iconv.h
|
||||
-
|
||||
unicode/ucnv.h
|
||||
-
|
||||
libxml/tree.h
|
||||
-
|
||||
|
||||
/usr/include/libxml2/libxml/entities.h
|
||||
libxml/xmlversion.h
|
||||
-
|
||||
libxml/tree.h
|
||||
-
|
||||
|
||||
/usr/include/libxml2/libxml/globals.h
|
||||
libxml/xmlversion.h
|
||||
-
|
||||
libxml/parser.h
|
||||
-
|
||||
libxml/xmlerror.h
|
||||
-
|
||||
libxml/SAX2.h
|
||||
-
|
||||
libxml/xmlmemory.h
|
||||
-
|
||||
libxml/threads.h
|
||||
-
|
||||
|
||||
/usr/include/libxml2/libxml/hash.h
|
||||
libxml/xmlversion.h
|
||||
-
|
||||
libxml/parser.h
|
||||
-
|
||||
libxml/dict.h
|
||||
-
|
||||
|
||||
/usr/include/libxml2/libxml/list.h
|
||||
libxml/xmlversion.h
|
||||
-
|
||||
|
||||
/usr/include/libxml2/libxml/parser.h
|
||||
stdarg.h
|
||||
-
|
||||
libxml/xmlversion.h
|
||||
-
|
||||
libxml/tree.h
|
||||
-
|
||||
libxml/dict.h
|
||||
-
|
||||
libxml/hash.h
|
||||
-
|
||||
libxml/valid.h
|
||||
-
|
||||
libxml/entities.h
|
||||
-
|
||||
libxml/xmlerror.h
|
||||
-
|
||||
libxml/xmlstring.h
|
||||
-
|
||||
libxml/encoding.h
|
||||
-
|
||||
libxml/xmlIO.h
|
||||
-
|
||||
libxml/globals.h
|
||||
-
|
||||
|
||||
/usr/include/libxml2/libxml/relaxng.h
|
||||
libxml/xmlversion.h
|
||||
-
|
||||
libxml/hash.h
|
||||
-
|
||||
libxml/xmlstring.h
|
||||
-
|
||||
|
||||
/usr/include/libxml2/libxml/threads.h
|
||||
libxml/xmlversion.h
|
||||
-
|
||||
libxml/globals.h
|
||||
-
|
||||
|
||||
/usr/include/libxml2/libxml/tree.h
|
||||
stdio.h
|
||||
-
|
||||
limits.h
|
||||
-
|
||||
libxml/xmlversion.h
|
||||
-
|
||||
libxml/xmlstring.h
|
||||
-
|
||||
libxml/xmlregexp.h
|
||||
-
|
||||
libxml/xmlmemory.h
|
||||
-
|
||||
|
||||
/usr/include/libxml2/libxml/valid.h
|
||||
libxml/xmlversion.h
|
||||
-
|
||||
libxml/xmlerror.h
|
||||
-
|
||||
libxml/tree.h
|
||||
-
|
||||
libxml/list.h
|
||||
-
|
||||
libxml/xmlautomata.h
|
||||
-
|
||||
libxml/xmlregexp.h
|
||||
-
|
||||
|
||||
/usr/include/libxml2/libxml/xlink.h
|
||||
libxml/xmlversion.h
|
||||
-
|
||||
libxml/tree.h
|
||||
-
|
||||
|
||||
/usr/include/libxml2/libxml/xmlIO.h
|
||||
stdio.h
|
||||
-
|
||||
libxml/xmlversion.h
|
||||
-
|
||||
libxml/globals.h
|
||||
-
|
||||
libxml/tree.h
|
||||
-
|
||||
libxml/parser.h
|
||||
-
|
||||
libxml/encoding.h
|
||||
-
|
||||
|
||||
/usr/include/libxml2/libxml/xmlautomata.h
|
||||
libxml/xmlversion.h
|
||||
-
|
||||
libxml/tree.h
|
||||
-
|
||||
libxml/xmlregexp.h
|
||||
-
|
||||
|
||||
/usr/include/libxml2/libxml/xmlerror.h
|
||||
libxml/parser.h
|
||||
-
|
||||
|
||||
/usr/include/libxml2/libxml/xmlexports.h
|
||||
|
||||
/usr/include/libxml2/libxml/xmlmemory.h
|
||||
stdio.h
|
||||
-
|
||||
libxml/xmlversion.h
|
||||
-
|
||||
libxml/threads.h
|
||||
-
|
||||
libxml/globals.h
|
||||
-
|
||||
|
||||
/usr/include/libxml2/libxml/xmlreader.h
|
||||
libxml/xmlversion.h
|
||||
-
|
||||
libxml/tree.h
|
||||
-
|
||||
libxml/xmlIO.h
|
||||
-
|
||||
libxml/relaxng.h
|
||||
-
|
||||
libxml/xmlschemas.h
|
||||
-
|
||||
|
||||
/usr/include/libxml2/libxml/xmlregexp.h
|
||||
libxml/xmlversion.h
|
||||
-
|
||||
libxml/tree.h
|
||||
-
|
||||
libxml/dict.h
|
||||
-
|
||||
|
||||
/usr/include/libxml2/libxml/xmlschemas.h
|
||||
libxml/xmlversion.h
|
||||
-
|
||||
libxml/tree.h
|
||||
-
|
||||
|
||||
/usr/include/libxml2/libxml/xmlstring.h
|
||||
stdarg.h
|
||||
-
|
||||
libxml/xmlversion.h
|
||||
-
|
||||
|
||||
/usr/include/libxml2/libxml/xmlversion.h
|
||||
libxml/xmlexports.h
|
||||
-
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
# The set of languages for which implicit dependencies are needed:
|
||||
set(CMAKE_DEPENDS_LANGUAGES
|
||||
"CXX"
|
||||
)
|
||||
# The set of files for implicit dependencies of each language:
|
||||
set(CMAKE_DEPENDS_CHECK_CXX
|
||||
"/home/henry/Downloads/SpeedTest-master/MD5Util.cpp" "/home/henry/Downloads/SpeedTest-master/CMakeFiles/SpeedTest.dir/MD5Util.cpp.o"
|
||||
"/home/henry/Downloads/SpeedTest-master/SpeedTest.cpp" "/home/henry/Downloads/SpeedTest-master/CMakeFiles/SpeedTest.dir/SpeedTest.cpp.o"
|
||||
"/home/henry/Downloads/SpeedTest-master/SpeedTestClient.cpp" "/home/henry/Downloads/SpeedTest-master/CMakeFiles/SpeedTest.dir/SpeedTestClient.cpp.o"
|
||||
"/home/henry/Downloads/SpeedTest-master/main.cpp" "/home/henry/Downloads/SpeedTest-master/CMakeFiles/SpeedTest.dir/main.cpp.o"
|
||||
)
|
||||
set(CMAKE_CXX_COMPILER_ID "GNU")
|
||||
|
||||
# The include file search paths:
|
||||
set(CMAKE_CXX_TARGET_INCLUDE_PATH
|
||||
"."
|
||||
"/usr/include/libxml2"
|
||||
)
|
||||
|
||||
# Targets to which this target links.
|
||||
set(CMAKE_TARGET_LINKED_INFO_FILES
|
||||
)
|
||||
|
||||
# Fortran module output directory.
|
||||
set(CMAKE_Fortran_TARGET_MODULE_DIR "")
|
||||
147
app/Bin/SpeedTest-master/CMakeFiles/SpeedTest.dir/build.make
Normal file
147
app/Bin/SpeedTest-master/CMakeFiles/SpeedTest.dir/build.make
Normal file
@@ -0,0 +1,147 @@
|
||||
# CMAKE generated file: DO NOT EDIT!
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 3.16
|
||||
|
||||
# Delete rule output on recipe failure.
|
||||
.DELETE_ON_ERROR:
|
||||
|
||||
|
||||
#=============================================================================
|
||||
# Special targets provided by cmake.
|
||||
|
||||
# Disable implicit rules so canonical targets will work.
|
||||
.SUFFIXES:
|
||||
|
||||
|
||||
# Remove some rules from gmake that .SUFFIXES does not remove.
|
||||
SUFFIXES =
|
||||
|
||||
.SUFFIXES: .hpux_make_needs_suffix_list
|
||||
|
||||
|
||||
# Suppress display of executed commands.
|
||||
$(VERBOSE).SILENT:
|
||||
|
||||
|
||||
# A target that is always out of date.
|
||||
cmake_force:
|
||||
|
||||
.PHONY : cmake_force
|
||||
|
||||
#=============================================================================
|
||||
# Set environment variables for the build.
|
||||
|
||||
# The shell in which to execute make rules.
|
||||
SHELL = /bin/sh
|
||||
|
||||
# The CMake executable.
|
||||
CMAKE_COMMAND = /usr/bin/cmake
|
||||
|
||||
# The command to remove a file.
|
||||
RM = /usr/bin/cmake -E remove -f
|
||||
|
||||
# Escaping for special characters.
|
||||
EQUALS = =
|
||||
|
||||
# The top-level source directory on which CMake was run.
|
||||
CMAKE_SOURCE_DIR = /home/henry/Downloads/SpeedTest-master
|
||||
|
||||
# The top-level build directory on which CMake was run.
|
||||
CMAKE_BINARY_DIR = /home/henry/Downloads/SpeedTest-master
|
||||
|
||||
# Include any dependencies generated for this target.
|
||||
include CMakeFiles/SpeedTest.dir/depend.make
|
||||
|
||||
# Include the progress variables for this target.
|
||||
include CMakeFiles/SpeedTest.dir/progress.make
|
||||
|
||||
# Include the compile flags for this target's objects.
|
||||
include CMakeFiles/SpeedTest.dir/flags.make
|
||||
|
||||
CMakeFiles/SpeedTest.dir/main.cpp.o: CMakeFiles/SpeedTest.dir/flags.make
|
||||
CMakeFiles/SpeedTest.dir/main.cpp.o: main.cpp
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/henry/Downloads/SpeedTest-master/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building CXX object CMakeFiles/SpeedTest.dir/main.cpp.o"
|
||||
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SpeedTest.dir/main.cpp.o -c /home/henry/Downloads/SpeedTest-master/main.cpp
|
||||
|
||||
CMakeFiles/SpeedTest.dir/main.cpp.i: cmake_force
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SpeedTest.dir/main.cpp.i"
|
||||
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/henry/Downloads/SpeedTest-master/main.cpp > CMakeFiles/SpeedTest.dir/main.cpp.i
|
||||
|
||||
CMakeFiles/SpeedTest.dir/main.cpp.s: cmake_force
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SpeedTest.dir/main.cpp.s"
|
||||
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/henry/Downloads/SpeedTest-master/main.cpp -o CMakeFiles/SpeedTest.dir/main.cpp.s
|
||||
|
||||
CMakeFiles/SpeedTest.dir/SpeedTest.cpp.o: CMakeFiles/SpeedTest.dir/flags.make
|
||||
CMakeFiles/SpeedTest.dir/SpeedTest.cpp.o: SpeedTest.cpp
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/henry/Downloads/SpeedTest-master/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Building CXX object CMakeFiles/SpeedTest.dir/SpeedTest.cpp.o"
|
||||
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SpeedTest.dir/SpeedTest.cpp.o -c /home/henry/Downloads/SpeedTest-master/SpeedTest.cpp
|
||||
|
||||
CMakeFiles/SpeedTest.dir/SpeedTest.cpp.i: cmake_force
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SpeedTest.dir/SpeedTest.cpp.i"
|
||||
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/henry/Downloads/SpeedTest-master/SpeedTest.cpp > CMakeFiles/SpeedTest.dir/SpeedTest.cpp.i
|
||||
|
||||
CMakeFiles/SpeedTest.dir/SpeedTest.cpp.s: cmake_force
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SpeedTest.dir/SpeedTest.cpp.s"
|
||||
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/henry/Downloads/SpeedTest-master/SpeedTest.cpp -o CMakeFiles/SpeedTest.dir/SpeedTest.cpp.s
|
||||
|
||||
CMakeFiles/SpeedTest.dir/SpeedTestClient.cpp.o: CMakeFiles/SpeedTest.dir/flags.make
|
||||
CMakeFiles/SpeedTest.dir/SpeedTestClient.cpp.o: SpeedTestClient.cpp
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/henry/Downloads/SpeedTest-master/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Building CXX object CMakeFiles/SpeedTest.dir/SpeedTestClient.cpp.o"
|
||||
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SpeedTest.dir/SpeedTestClient.cpp.o -c /home/henry/Downloads/SpeedTest-master/SpeedTestClient.cpp
|
||||
|
||||
CMakeFiles/SpeedTest.dir/SpeedTestClient.cpp.i: cmake_force
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SpeedTest.dir/SpeedTestClient.cpp.i"
|
||||
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/henry/Downloads/SpeedTest-master/SpeedTestClient.cpp > CMakeFiles/SpeedTest.dir/SpeedTestClient.cpp.i
|
||||
|
||||
CMakeFiles/SpeedTest.dir/SpeedTestClient.cpp.s: cmake_force
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SpeedTest.dir/SpeedTestClient.cpp.s"
|
||||
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/henry/Downloads/SpeedTest-master/SpeedTestClient.cpp -o CMakeFiles/SpeedTest.dir/SpeedTestClient.cpp.s
|
||||
|
||||
CMakeFiles/SpeedTest.dir/MD5Util.cpp.o: CMakeFiles/SpeedTest.dir/flags.make
|
||||
CMakeFiles/SpeedTest.dir/MD5Util.cpp.o: MD5Util.cpp
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/henry/Downloads/SpeedTest-master/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Building CXX object CMakeFiles/SpeedTest.dir/MD5Util.cpp.o"
|
||||
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SpeedTest.dir/MD5Util.cpp.o -c /home/henry/Downloads/SpeedTest-master/MD5Util.cpp
|
||||
|
||||
CMakeFiles/SpeedTest.dir/MD5Util.cpp.i: cmake_force
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SpeedTest.dir/MD5Util.cpp.i"
|
||||
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/henry/Downloads/SpeedTest-master/MD5Util.cpp > CMakeFiles/SpeedTest.dir/MD5Util.cpp.i
|
||||
|
||||
CMakeFiles/SpeedTest.dir/MD5Util.cpp.s: cmake_force
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SpeedTest.dir/MD5Util.cpp.s"
|
||||
/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/henry/Downloads/SpeedTest-master/MD5Util.cpp -o CMakeFiles/SpeedTest.dir/MD5Util.cpp.s
|
||||
|
||||
# Object files for target SpeedTest
|
||||
SpeedTest_OBJECTS = \
|
||||
"CMakeFiles/SpeedTest.dir/main.cpp.o" \
|
||||
"CMakeFiles/SpeedTest.dir/SpeedTest.cpp.o" \
|
||||
"CMakeFiles/SpeedTest.dir/SpeedTestClient.cpp.o" \
|
||||
"CMakeFiles/SpeedTest.dir/MD5Util.cpp.o"
|
||||
|
||||
# External object files for target SpeedTest
|
||||
SpeedTest_EXTERNAL_OBJECTS =
|
||||
|
||||
SpeedTest: CMakeFiles/SpeedTest.dir/main.cpp.o
|
||||
SpeedTest: CMakeFiles/SpeedTest.dir/SpeedTest.cpp.o
|
||||
SpeedTest: CMakeFiles/SpeedTest.dir/SpeedTestClient.cpp.o
|
||||
SpeedTest: CMakeFiles/SpeedTest.dir/MD5Util.cpp.o
|
||||
SpeedTest: CMakeFiles/SpeedTest.dir/build.make
|
||||
SpeedTest: /usr/lib/x86_64-linux-gnu/libcurl.so
|
||||
SpeedTest: /usr/lib/x86_64-linux-gnu/libxml2.so
|
||||
SpeedTest: /usr/lib/x86_64-linux-gnu/libssl.so
|
||||
SpeedTest: /usr/lib/x86_64-linux-gnu/libcrypto.so
|
||||
SpeedTest: CMakeFiles/SpeedTest.dir/link.txt
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/home/henry/Downloads/SpeedTest-master/CMakeFiles --progress-num=$(CMAKE_PROGRESS_5) "Linking CXX executable SpeedTest"
|
||||
$(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/SpeedTest.dir/link.txt --verbose=$(VERBOSE)
|
||||
|
||||
# Rule to build all files generated by this target.
|
||||
CMakeFiles/SpeedTest.dir/build: SpeedTest
|
||||
|
||||
.PHONY : CMakeFiles/SpeedTest.dir/build
|
||||
|
||||
CMakeFiles/SpeedTest.dir/clean:
|
||||
$(CMAKE_COMMAND) -P CMakeFiles/SpeedTest.dir/cmake_clean.cmake
|
||||
.PHONY : CMakeFiles/SpeedTest.dir/clean
|
||||
|
||||
CMakeFiles/SpeedTest.dir/depend:
|
||||
cd /home/henry/Downloads/SpeedTest-master && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/henry/Downloads/SpeedTest-master /home/henry/Downloads/SpeedTest-master /home/henry/Downloads/SpeedTest-master /home/henry/Downloads/SpeedTest-master /home/henry/Downloads/SpeedTest-master/CMakeFiles/SpeedTest.dir/DependInfo.cmake --color=$(COLOR)
|
||||
.PHONY : CMakeFiles/SpeedTest.dir/depend
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
file(REMOVE_RECURSE
|
||||
"CMakeFiles/SpeedTest.dir/MD5Util.cpp.o"
|
||||
"CMakeFiles/SpeedTest.dir/SpeedTest.cpp.o"
|
||||
"CMakeFiles/SpeedTest.dir/SpeedTestClient.cpp.o"
|
||||
"CMakeFiles/SpeedTest.dir/main.cpp.o"
|
||||
"SpeedTest"
|
||||
"SpeedTest.pdb"
|
||||
)
|
||||
|
||||
# Per-language clean rules from dependency scanning.
|
||||
foreach(lang CXX)
|
||||
include(CMakeFiles/SpeedTest.dir/cmake_clean_${lang}.cmake OPTIONAL)
|
||||
endforeach()
|
||||
@@ -0,0 +1,96 @@
|
||||
# CMAKE generated file: DO NOT EDIT!
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 3.16
|
||||
|
||||
CMakeFiles/SpeedTest.dir/MD5Util.cpp.o
|
||||
/home/henry/Downloads/SpeedTest-master/MD5Util.cpp
|
||||
/home/henry/Downloads/SpeedTest-master/MD5Util.h
|
||||
CMakeFiles/SpeedTest.dir/SpeedTest.cpp.o
|
||||
/home/henry/Downloads/SpeedTest-master/DataTypes.h
|
||||
/home/henry/Downloads/SpeedTest-master/MD5Util.h
|
||||
/home/henry/Downloads/SpeedTest-master/SpeedTest.cpp
|
||||
/home/henry/Downloads/SpeedTest-master/SpeedTest.h
|
||||
/home/henry/Downloads/SpeedTest-master/SpeedTestClient.h
|
||||
/home/henry/Downloads/SpeedTest-master/SpeedTestConfig.h
|
||||
/usr/include/libxml2/libxml/SAX2.h
|
||||
/usr/include/libxml2/libxml/dict.h
|
||||
/usr/include/libxml2/libxml/encoding.h
|
||||
/usr/include/libxml2/libxml/entities.h
|
||||
/usr/include/libxml2/libxml/globals.h
|
||||
/usr/include/libxml2/libxml/hash.h
|
||||
/usr/include/libxml2/libxml/list.h
|
||||
/usr/include/libxml2/libxml/parser.h
|
||||
/usr/include/libxml2/libxml/relaxng.h
|
||||
/usr/include/libxml2/libxml/threads.h
|
||||
/usr/include/libxml2/libxml/tree.h
|
||||
/usr/include/libxml2/libxml/valid.h
|
||||
/usr/include/libxml2/libxml/xlink.h
|
||||
/usr/include/libxml2/libxml/xmlIO.h
|
||||
/usr/include/libxml2/libxml/xmlautomata.h
|
||||
/usr/include/libxml2/libxml/xmlerror.h
|
||||
/usr/include/libxml2/libxml/xmlexports.h
|
||||
/usr/include/libxml2/libxml/xmlmemory.h
|
||||
/usr/include/libxml2/libxml/xmlreader.h
|
||||
/usr/include/libxml2/libxml/xmlregexp.h
|
||||
/usr/include/libxml2/libxml/xmlschemas.h
|
||||
/usr/include/libxml2/libxml/xmlstring.h
|
||||
/usr/include/libxml2/libxml/xmlversion.h
|
||||
CMakeFiles/SpeedTest.dir/SpeedTestClient.cpp.o
|
||||
/home/henry/Downloads/SpeedTest-master/DataTypes.h
|
||||
/home/henry/Downloads/SpeedTest-master/SpeedTest.h
|
||||
/home/henry/Downloads/SpeedTest-master/SpeedTestClient.cpp
|
||||
/home/henry/Downloads/SpeedTest-master/SpeedTestClient.h
|
||||
/home/henry/Downloads/SpeedTest-master/SpeedTestConfig.h
|
||||
/usr/include/libxml2/libxml/SAX2.h
|
||||
/usr/include/libxml2/libxml/dict.h
|
||||
/usr/include/libxml2/libxml/encoding.h
|
||||
/usr/include/libxml2/libxml/entities.h
|
||||
/usr/include/libxml2/libxml/globals.h
|
||||
/usr/include/libxml2/libxml/hash.h
|
||||
/usr/include/libxml2/libxml/list.h
|
||||
/usr/include/libxml2/libxml/parser.h
|
||||
/usr/include/libxml2/libxml/relaxng.h
|
||||
/usr/include/libxml2/libxml/threads.h
|
||||
/usr/include/libxml2/libxml/tree.h
|
||||
/usr/include/libxml2/libxml/valid.h
|
||||
/usr/include/libxml2/libxml/xlink.h
|
||||
/usr/include/libxml2/libxml/xmlIO.h
|
||||
/usr/include/libxml2/libxml/xmlautomata.h
|
||||
/usr/include/libxml2/libxml/xmlerror.h
|
||||
/usr/include/libxml2/libxml/xmlexports.h
|
||||
/usr/include/libxml2/libxml/xmlmemory.h
|
||||
/usr/include/libxml2/libxml/xmlreader.h
|
||||
/usr/include/libxml2/libxml/xmlregexp.h
|
||||
/usr/include/libxml2/libxml/xmlschemas.h
|
||||
/usr/include/libxml2/libxml/xmlstring.h
|
||||
/usr/include/libxml2/libxml/xmlversion.h
|
||||
CMakeFiles/SpeedTest.dir/main.cpp.o
|
||||
/home/henry/Downloads/SpeedTest-master/CmdOptions.h
|
||||
/home/henry/Downloads/SpeedTest-master/DataTypes.h
|
||||
/home/henry/Downloads/SpeedTest-master/SpeedTest.h
|
||||
/home/henry/Downloads/SpeedTest-master/SpeedTestClient.h
|
||||
/home/henry/Downloads/SpeedTest-master/SpeedTestConfig.h
|
||||
/home/henry/Downloads/SpeedTest-master/TestConfigTemplate.h
|
||||
/home/henry/Downloads/SpeedTest-master/main.cpp
|
||||
/usr/include/libxml2/libxml/SAX2.h
|
||||
/usr/include/libxml2/libxml/dict.h
|
||||
/usr/include/libxml2/libxml/encoding.h
|
||||
/usr/include/libxml2/libxml/entities.h
|
||||
/usr/include/libxml2/libxml/globals.h
|
||||
/usr/include/libxml2/libxml/hash.h
|
||||
/usr/include/libxml2/libxml/list.h
|
||||
/usr/include/libxml2/libxml/parser.h
|
||||
/usr/include/libxml2/libxml/relaxng.h
|
||||
/usr/include/libxml2/libxml/threads.h
|
||||
/usr/include/libxml2/libxml/tree.h
|
||||
/usr/include/libxml2/libxml/valid.h
|
||||
/usr/include/libxml2/libxml/xlink.h
|
||||
/usr/include/libxml2/libxml/xmlIO.h
|
||||
/usr/include/libxml2/libxml/xmlautomata.h
|
||||
/usr/include/libxml2/libxml/xmlerror.h
|
||||
/usr/include/libxml2/libxml/xmlexports.h
|
||||
/usr/include/libxml2/libxml/xmlmemory.h
|
||||
/usr/include/libxml2/libxml/xmlreader.h
|
||||
/usr/include/libxml2/libxml/xmlregexp.h
|
||||
/usr/include/libxml2/libxml/xmlschemas.h
|
||||
/usr/include/libxml2/libxml/xmlstring.h
|
||||
/usr/include/libxml2/libxml/xmlversion.h
|
||||
@@ -0,0 +1,96 @@
|
||||
# CMAKE generated file: DO NOT EDIT!
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 3.16
|
||||
|
||||
CMakeFiles/SpeedTest.dir/MD5Util.cpp.o: MD5Util.cpp
|
||||
CMakeFiles/SpeedTest.dir/MD5Util.cpp.o: MD5Util.h
|
||||
|
||||
CMakeFiles/SpeedTest.dir/SpeedTest.cpp.o: DataTypes.h
|
||||
CMakeFiles/SpeedTest.dir/SpeedTest.cpp.o: MD5Util.h
|
||||
CMakeFiles/SpeedTest.dir/SpeedTest.cpp.o: SpeedTest.cpp
|
||||
CMakeFiles/SpeedTest.dir/SpeedTest.cpp.o: SpeedTest.h
|
||||
CMakeFiles/SpeedTest.dir/SpeedTest.cpp.o: SpeedTestClient.h
|
||||
CMakeFiles/SpeedTest.dir/SpeedTest.cpp.o: SpeedTestConfig.h
|
||||
CMakeFiles/SpeedTest.dir/SpeedTest.cpp.o: /usr/include/libxml2/libxml/SAX2.h
|
||||
CMakeFiles/SpeedTest.dir/SpeedTest.cpp.o: /usr/include/libxml2/libxml/dict.h
|
||||
CMakeFiles/SpeedTest.dir/SpeedTest.cpp.o: /usr/include/libxml2/libxml/encoding.h
|
||||
CMakeFiles/SpeedTest.dir/SpeedTest.cpp.o: /usr/include/libxml2/libxml/entities.h
|
||||
CMakeFiles/SpeedTest.dir/SpeedTest.cpp.o: /usr/include/libxml2/libxml/globals.h
|
||||
CMakeFiles/SpeedTest.dir/SpeedTest.cpp.o: /usr/include/libxml2/libxml/hash.h
|
||||
CMakeFiles/SpeedTest.dir/SpeedTest.cpp.o: /usr/include/libxml2/libxml/list.h
|
||||
CMakeFiles/SpeedTest.dir/SpeedTest.cpp.o: /usr/include/libxml2/libxml/parser.h
|
||||
CMakeFiles/SpeedTest.dir/SpeedTest.cpp.o: /usr/include/libxml2/libxml/relaxng.h
|
||||
CMakeFiles/SpeedTest.dir/SpeedTest.cpp.o: /usr/include/libxml2/libxml/threads.h
|
||||
CMakeFiles/SpeedTest.dir/SpeedTest.cpp.o: /usr/include/libxml2/libxml/tree.h
|
||||
CMakeFiles/SpeedTest.dir/SpeedTest.cpp.o: /usr/include/libxml2/libxml/valid.h
|
||||
CMakeFiles/SpeedTest.dir/SpeedTest.cpp.o: /usr/include/libxml2/libxml/xlink.h
|
||||
CMakeFiles/SpeedTest.dir/SpeedTest.cpp.o: /usr/include/libxml2/libxml/xmlIO.h
|
||||
CMakeFiles/SpeedTest.dir/SpeedTest.cpp.o: /usr/include/libxml2/libxml/xmlautomata.h
|
||||
CMakeFiles/SpeedTest.dir/SpeedTest.cpp.o: /usr/include/libxml2/libxml/xmlerror.h
|
||||
CMakeFiles/SpeedTest.dir/SpeedTest.cpp.o: /usr/include/libxml2/libxml/xmlexports.h
|
||||
CMakeFiles/SpeedTest.dir/SpeedTest.cpp.o: /usr/include/libxml2/libxml/xmlmemory.h
|
||||
CMakeFiles/SpeedTest.dir/SpeedTest.cpp.o: /usr/include/libxml2/libxml/xmlreader.h
|
||||
CMakeFiles/SpeedTest.dir/SpeedTest.cpp.o: /usr/include/libxml2/libxml/xmlregexp.h
|
||||
CMakeFiles/SpeedTest.dir/SpeedTest.cpp.o: /usr/include/libxml2/libxml/xmlschemas.h
|
||||
CMakeFiles/SpeedTest.dir/SpeedTest.cpp.o: /usr/include/libxml2/libxml/xmlstring.h
|
||||
CMakeFiles/SpeedTest.dir/SpeedTest.cpp.o: /usr/include/libxml2/libxml/xmlversion.h
|
||||
|
||||
CMakeFiles/SpeedTest.dir/SpeedTestClient.cpp.o: DataTypes.h
|
||||
CMakeFiles/SpeedTest.dir/SpeedTestClient.cpp.o: SpeedTest.h
|
||||
CMakeFiles/SpeedTest.dir/SpeedTestClient.cpp.o: SpeedTestClient.cpp
|
||||
CMakeFiles/SpeedTest.dir/SpeedTestClient.cpp.o: SpeedTestClient.h
|
||||
CMakeFiles/SpeedTest.dir/SpeedTestClient.cpp.o: SpeedTestConfig.h
|
||||
CMakeFiles/SpeedTest.dir/SpeedTestClient.cpp.o: /usr/include/libxml2/libxml/SAX2.h
|
||||
CMakeFiles/SpeedTest.dir/SpeedTestClient.cpp.o: /usr/include/libxml2/libxml/dict.h
|
||||
CMakeFiles/SpeedTest.dir/SpeedTestClient.cpp.o: /usr/include/libxml2/libxml/encoding.h
|
||||
CMakeFiles/SpeedTest.dir/SpeedTestClient.cpp.o: /usr/include/libxml2/libxml/entities.h
|
||||
CMakeFiles/SpeedTest.dir/SpeedTestClient.cpp.o: /usr/include/libxml2/libxml/globals.h
|
||||
CMakeFiles/SpeedTest.dir/SpeedTestClient.cpp.o: /usr/include/libxml2/libxml/hash.h
|
||||
CMakeFiles/SpeedTest.dir/SpeedTestClient.cpp.o: /usr/include/libxml2/libxml/list.h
|
||||
CMakeFiles/SpeedTest.dir/SpeedTestClient.cpp.o: /usr/include/libxml2/libxml/parser.h
|
||||
CMakeFiles/SpeedTest.dir/SpeedTestClient.cpp.o: /usr/include/libxml2/libxml/relaxng.h
|
||||
CMakeFiles/SpeedTest.dir/SpeedTestClient.cpp.o: /usr/include/libxml2/libxml/threads.h
|
||||
CMakeFiles/SpeedTest.dir/SpeedTestClient.cpp.o: /usr/include/libxml2/libxml/tree.h
|
||||
CMakeFiles/SpeedTest.dir/SpeedTestClient.cpp.o: /usr/include/libxml2/libxml/valid.h
|
||||
CMakeFiles/SpeedTest.dir/SpeedTestClient.cpp.o: /usr/include/libxml2/libxml/xlink.h
|
||||
CMakeFiles/SpeedTest.dir/SpeedTestClient.cpp.o: /usr/include/libxml2/libxml/xmlIO.h
|
||||
CMakeFiles/SpeedTest.dir/SpeedTestClient.cpp.o: /usr/include/libxml2/libxml/xmlautomata.h
|
||||
CMakeFiles/SpeedTest.dir/SpeedTestClient.cpp.o: /usr/include/libxml2/libxml/xmlerror.h
|
||||
CMakeFiles/SpeedTest.dir/SpeedTestClient.cpp.o: /usr/include/libxml2/libxml/xmlexports.h
|
||||
CMakeFiles/SpeedTest.dir/SpeedTestClient.cpp.o: /usr/include/libxml2/libxml/xmlmemory.h
|
||||
CMakeFiles/SpeedTest.dir/SpeedTestClient.cpp.o: /usr/include/libxml2/libxml/xmlreader.h
|
||||
CMakeFiles/SpeedTest.dir/SpeedTestClient.cpp.o: /usr/include/libxml2/libxml/xmlregexp.h
|
||||
CMakeFiles/SpeedTest.dir/SpeedTestClient.cpp.o: /usr/include/libxml2/libxml/xmlschemas.h
|
||||
CMakeFiles/SpeedTest.dir/SpeedTestClient.cpp.o: /usr/include/libxml2/libxml/xmlstring.h
|
||||
CMakeFiles/SpeedTest.dir/SpeedTestClient.cpp.o: /usr/include/libxml2/libxml/xmlversion.h
|
||||
|
||||
CMakeFiles/SpeedTest.dir/main.cpp.o: CmdOptions.h
|
||||
CMakeFiles/SpeedTest.dir/main.cpp.o: DataTypes.h
|
||||
CMakeFiles/SpeedTest.dir/main.cpp.o: SpeedTest.h
|
||||
CMakeFiles/SpeedTest.dir/main.cpp.o: SpeedTestClient.h
|
||||
CMakeFiles/SpeedTest.dir/main.cpp.o: SpeedTestConfig.h
|
||||
CMakeFiles/SpeedTest.dir/main.cpp.o: TestConfigTemplate.h
|
||||
CMakeFiles/SpeedTest.dir/main.cpp.o: main.cpp
|
||||
CMakeFiles/SpeedTest.dir/main.cpp.o: /usr/include/libxml2/libxml/SAX2.h
|
||||
CMakeFiles/SpeedTest.dir/main.cpp.o: /usr/include/libxml2/libxml/dict.h
|
||||
CMakeFiles/SpeedTest.dir/main.cpp.o: /usr/include/libxml2/libxml/encoding.h
|
||||
CMakeFiles/SpeedTest.dir/main.cpp.o: /usr/include/libxml2/libxml/entities.h
|
||||
CMakeFiles/SpeedTest.dir/main.cpp.o: /usr/include/libxml2/libxml/globals.h
|
||||
CMakeFiles/SpeedTest.dir/main.cpp.o: /usr/include/libxml2/libxml/hash.h
|
||||
CMakeFiles/SpeedTest.dir/main.cpp.o: /usr/include/libxml2/libxml/list.h
|
||||
CMakeFiles/SpeedTest.dir/main.cpp.o: /usr/include/libxml2/libxml/parser.h
|
||||
CMakeFiles/SpeedTest.dir/main.cpp.o: /usr/include/libxml2/libxml/relaxng.h
|
||||
CMakeFiles/SpeedTest.dir/main.cpp.o: /usr/include/libxml2/libxml/threads.h
|
||||
CMakeFiles/SpeedTest.dir/main.cpp.o: /usr/include/libxml2/libxml/tree.h
|
||||
CMakeFiles/SpeedTest.dir/main.cpp.o: /usr/include/libxml2/libxml/valid.h
|
||||
CMakeFiles/SpeedTest.dir/main.cpp.o: /usr/include/libxml2/libxml/xlink.h
|
||||
CMakeFiles/SpeedTest.dir/main.cpp.o: /usr/include/libxml2/libxml/xmlIO.h
|
||||
CMakeFiles/SpeedTest.dir/main.cpp.o: /usr/include/libxml2/libxml/xmlautomata.h
|
||||
CMakeFiles/SpeedTest.dir/main.cpp.o: /usr/include/libxml2/libxml/xmlerror.h
|
||||
CMakeFiles/SpeedTest.dir/main.cpp.o: /usr/include/libxml2/libxml/xmlexports.h
|
||||
CMakeFiles/SpeedTest.dir/main.cpp.o: /usr/include/libxml2/libxml/xmlmemory.h
|
||||
CMakeFiles/SpeedTest.dir/main.cpp.o: /usr/include/libxml2/libxml/xmlreader.h
|
||||
CMakeFiles/SpeedTest.dir/main.cpp.o: /usr/include/libxml2/libxml/xmlregexp.h
|
||||
CMakeFiles/SpeedTest.dir/main.cpp.o: /usr/include/libxml2/libxml/xmlschemas.h
|
||||
CMakeFiles/SpeedTest.dir/main.cpp.o: /usr/include/libxml2/libxml/xmlstring.h
|
||||
CMakeFiles/SpeedTest.dir/main.cpp.o: /usr/include/libxml2/libxml/xmlversion.h
|
||||
|
||||
10
app/Bin/SpeedTest-master/CMakeFiles/SpeedTest.dir/flags.make
Normal file
10
app/Bin/SpeedTest-master/CMakeFiles/SpeedTest.dir/flags.make
Normal file
@@ -0,0 +1,10 @@
|
||||
# CMAKE generated file: DO NOT EDIT!
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 3.16
|
||||
|
||||
# compile CXX with /usr/bin/c++
|
||||
CXX_FLAGS = -std=c++11 -pedantic -Wall -Wno-unused-result -O3 -DNDEBUG
|
||||
|
||||
CXX_DEFINES =
|
||||
|
||||
CXX_INCLUDES = -I/home/henry/Downloads/SpeedTest-master -I/usr/include/libxml2
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
/usr/bin/c++ -std=c++11 -pedantic -Wall -Wno-unused-result -O3 -DNDEBUG -rdynamic CMakeFiles/SpeedTest.dir/main.cpp.o CMakeFiles/SpeedTest.dir/SpeedTest.cpp.o CMakeFiles/SpeedTest.dir/SpeedTestClient.cpp.o CMakeFiles/SpeedTest.dir/MD5Util.cpp.o -o SpeedTest -lcurl -lxml2 -lpthread -lssl -lcrypto
|
||||
@@ -0,0 +1,6 @@
|
||||
CMAKE_PROGRESS_1 = 1
|
||||
CMAKE_PROGRESS_2 = 2
|
||||
CMAKE_PROGRESS_3 = 3
|
||||
CMAKE_PROGRESS_4 = 4
|
||||
CMAKE_PROGRESS_5 = 5
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
/home/henry/Downloads/SpeedTest-master/CMakeFiles/install/strip.dir
|
||||
/home/henry/Downloads/SpeedTest-master/CMakeFiles/install/local.dir
|
||||
/home/henry/Downloads/SpeedTest-master/CMakeFiles/install.dir
|
||||
/home/henry/Downloads/SpeedTest-master/CMakeFiles/list_install_components.dir
|
||||
/home/henry/Downloads/SpeedTest-master/CMakeFiles/rebuild_cache.dir
|
||||
/home/henry/Downloads/SpeedTest-master/CMakeFiles/edit_cache.dir
|
||||
/home/henry/Downloads/SpeedTest-master/CMakeFiles/SpeedTest.dir
|
||||
1
app/Bin/SpeedTest-master/CMakeFiles/cmake.check_cache
Normal file
1
app/Bin/SpeedTest-master/CMakeFiles/cmake.check_cache
Normal file
@@ -0,0 +1 @@
|
||||
# This file is generated by cmake for dependency checking of the CMakeCache.txt file
|
||||
1
app/Bin/SpeedTest-master/CMakeFiles/progress.marks
Normal file
1
app/Bin/SpeedTest-master/CMakeFiles/progress.marks
Normal file
@@ -0,0 +1 @@
|
||||
5
|
||||
58
app/Bin/SpeedTest-master/CMakeLists.txt
Normal file
58
app/Bin/SpeedTest-master/CMakeLists.txt
Normal file
@@ -0,0 +1,58 @@
|
||||
cmake_minimum_required(VERSION 2.7)
|
||||
project(SpeedTest)
|
||||
|
||||
set (SpeedTest_VERSION_MAJOR 1)
|
||||
set (SpeedTest_VERSION_MINOR 14)
|
||||
set (SpeedTest_SYSTEM_PROCESSOR ${CMAKE_SYSTEM_PROCESSOR})
|
||||
set (SpeedTest_SYSTEM ${CMAKE_SYSTEM})
|
||||
|
||||
set (SpeedTest_AUTHOR "Francesco Laurita <francesco.laurita@gmail.com>")
|
||||
set (SpeedTest_HOME_PAGE "https://github.com/taganaka/SpeedTest")
|
||||
set (SpeedTest_USER_AGENT "Mozilla/5.0 ${CMAKE_SYSTEM}; U; ${CMAKE_SYSTEM_PROCESSOR}; en-us (KHTML, like Gecko) SpeedTest++/${SpeedTest_VERSION_MAJOR}.${SpeedTest_VERSION_MINOR}")
|
||||
set (SpeedTest_SERVER_LIST_URL "https://www.speedtest.net/speedtest-servers.php")
|
||||
set (SpeedTest_IP_INFO_API_URL "http://speedtest.ookla.com/api/ipaddress.php")
|
||||
set (SpeedTest_API_URL "http://www.speedtest.net/api/api.php")
|
||||
set (SpeedTest_API_REFERER "http://c.speedtest.net/flash/speedtest.swf")
|
||||
set (SpeedTest_API_KEY "297aae72")
|
||||
set (SpeedTest_MIN_SERVER_VERSION "2.3")
|
||||
set (SpeedTest_LATENCY_SAMPLE_SIZE 80)
|
||||
|
||||
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/Modules/")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -pedantic -Wall -Wno-unused-result")
|
||||
|
||||
set(SOURCE_FILES
|
||||
main.cpp
|
||||
SpeedTest.cpp
|
||||
SpeedTest.h
|
||||
SpeedTestClient.cpp
|
||||
SpeedTestClient.h
|
||||
TestConfigTemplate.h
|
||||
MD5Util.cpp
|
||||
MD5Util.h
|
||||
DataTypes.h
|
||||
CmdOptions.h)
|
||||
|
||||
configure_file (
|
||||
"${PROJECT_SOURCE_DIR}/SpeedTestConfig.h.in"
|
||||
"${PROJECT_BINARY_DIR}/SpeedTestConfig.h"
|
||||
)
|
||||
|
||||
include_directories("${PROJECT_BINARY_DIR}")
|
||||
|
||||
add_executable(SpeedTest ${SOURCE_FILES})
|
||||
|
||||
INCLUDE (CheckIncludeFiles)
|
||||
find_package(CURL REQUIRED)
|
||||
find_package(LibXml2 REQUIRED)
|
||||
|
||||
if (NOT (APPLE))
|
||||
find_package(OpenSSL REQUIRED)
|
||||
else()
|
||||
CHECK_INCLUDE_FILES("CommonCrypto/CommonDigest.h" HAVE_COMMON_DIGEST_H)
|
||||
endif()
|
||||
|
||||
include_directories(${CURL_INCLUDE_DIRS} ${LIBXML2_INCLUDE_DIR})
|
||||
target_link_libraries(SpeedTest ${CURL_LIBRARIES} ${LIBXML2_LIBRARIES} -lpthread ${OPENSSL_LIBRARIES})
|
||||
|
||||
install(TARGETS SpeedTest RUNTIME DESTINATION bin)
|
||||
81
app/Bin/SpeedTest-master/CmdOptions.h
Normal file
81
app/Bin/SpeedTest-master/CmdOptions.h
Normal file
@@ -0,0 +1,81 @@
|
||||
//
|
||||
// Created by Francesco Laurita on 9/9/16.
|
||||
//
|
||||
|
||||
#ifndef SPEEDTEST_CMDOPTIONS_H
|
||||
#define SPEEDTEST_CMDOPTIONS_H
|
||||
#include <getopt.h>
|
||||
|
||||
enum OutputType { verbose, text, json };
|
||||
|
||||
|
||||
typedef struct program_options_t {
|
||||
bool help = false;
|
||||
bool latency = false;
|
||||
bool download = false;
|
||||
bool upload = false;
|
||||
bool share = false;
|
||||
std::string selected_server = "";
|
||||
OutputType output_type = OutputType::verbose;
|
||||
} ProgramOptions;
|
||||
|
||||
static struct option CmdLongOptions[] = {
|
||||
{"help", no_argument, 0, 'h' },
|
||||
{"latency", no_argument, 0, 'l' },
|
||||
{"download", no_argument, 0, 'd' },
|
||||
{"upload", no_argument, 0, 'u' },
|
||||
{"share", no_argument, 0, 's' },
|
||||
{"test-server", required_argument, 0, 't' },
|
||||
{"output", required_argument, 0, 'o' },
|
||||
{0, 0, 0, 0 }
|
||||
};
|
||||
|
||||
const char *optStr = "hldusqt:o:";
|
||||
|
||||
bool ParseOptions(const int argc, const char **argv, ProgramOptions& options){
|
||||
int long_index =0;
|
||||
int opt = 0;
|
||||
while ((opt = getopt_long(argc, (char **)argv, optStr, CmdLongOptions, &long_index )) != -1) {
|
||||
switch (opt){
|
||||
case 'h':
|
||||
options.help = true;
|
||||
break;
|
||||
case 'l':
|
||||
options.latency = true;
|
||||
break;
|
||||
case 'd':
|
||||
options.download = true;
|
||||
break;
|
||||
case 'u':
|
||||
options.upload = true;
|
||||
break;
|
||||
case 's':
|
||||
options.share = true;
|
||||
break;
|
||||
case 't':
|
||||
options.selected_server.append(optarg);
|
||||
break;
|
||||
case 'o':
|
||||
if (strcmp(optarg, "verbose") == 0)
|
||||
options.output_type = OutputType::verbose;
|
||||
else if (strcmp(optarg, "text") == 0)
|
||||
options.output_type = OutputType::text;
|
||||
else if (strcmp(optarg, "json") == 0)
|
||||
options.output_type = OutputType::json;
|
||||
else {
|
||||
std::cerr << "Unsupported output type " << optarg << std::endl;
|
||||
std::cerr << "Supported output type: default, text, json" <<std::endl;
|
||||
return false;
|
||||
}
|
||||
|
||||
break;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
#endif //SPEEDTEST_CMDOPTIONS_H
|
||||
43
app/Bin/SpeedTest-master/DataTypes.h
Normal file
43
app/Bin/SpeedTest-master/DataTypes.h
Normal file
@@ -0,0 +1,43 @@
|
||||
//
|
||||
// Created by Francesco Laurita on 6/8/16.
|
||||
//
|
||||
|
||||
#ifndef SPEEDTEST_DATATYPES_H
|
||||
#define SPEEDTEST_DATATYPES_H
|
||||
#include <iostream>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
static const float EARTH_RADIUS_KM = 6371.0;
|
||||
|
||||
typedef struct ip_info_t {
|
||||
std::string ip_address;
|
||||
std::string isp;
|
||||
float lat;
|
||||
float lon;
|
||||
} IPInfo;
|
||||
|
||||
typedef struct server_info_t {
|
||||
std::string url;
|
||||
std::string name;
|
||||
std::string country;
|
||||
std::string country_code;
|
||||
std::string host;
|
||||
std::string sponsor;
|
||||
int id;
|
||||
float lat;
|
||||
float lon;
|
||||
float distance;
|
||||
|
||||
} ServerInfo;
|
||||
|
||||
typedef struct test_config_t {
|
||||
long start_size;
|
||||
long max_size;
|
||||
long incr_size;
|
||||
long buff_size;
|
||||
long min_test_time_ms;
|
||||
int concurrency;
|
||||
std::string label;
|
||||
} TestConfig;
|
||||
|
||||
#endif //SPEEDTEST_DATATYPES_H
|
||||
15
app/Bin/SpeedTest-master/Dockerfile
Normal file
15
app/Bin/SpeedTest-master/Dockerfile
Normal file
@@ -0,0 +1,15 @@
|
||||
FROM ubuntu:latest
|
||||
|
||||
RUN mkdir -p /tmp/build /tmp/src
|
||||
COPY *.h *.cpp *.h.in CMakeLists.txt /tmp/src/
|
||||
|
||||
|
||||
RUN apt-get update && apt-get install -y g++ cmake make libcurl4-openssl-dev libxml2-dev libssl-dev && \
|
||||
cd /tmp/build && cmake -DCMAKE_BUILD_TYPE=Release ../src && make install && \
|
||||
apt-get remove --purge -y gcc make cmake libcurl4-openssl-dev libxml2-dev libssl-dev && \
|
||||
apt-get remove --purge -y `apt-mark showauto` && \
|
||||
apt-get install -y libxml2 libcurl3 && \
|
||||
rm -rf /var/lib/apt/lists/* && \
|
||||
rm -rf /tmp/build /tmp/src
|
||||
|
||||
ENTRYPOINT ["/usr/local/bin/SpeedTest"]
|
||||
22
app/Bin/SpeedTest-master/MD5Util.cpp
Normal file
22
app/Bin/SpeedTest-master/MD5Util.cpp
Normal file
@@ -0,0 +1,22 @@
|
||||
//
|
||||
// Created by Francesco Laurita on 6/3/16.
|
||||
//
|
||||
|
||||
#include <sstream>
|
||||
#include "MD5Util.h"
|
||||
|
||||
std::string MD5Util::hexDigest(const std::string &str) {
|
||||
unsigned char digest[MD5_DIGEST_LENGTH];
|
||||
|
||||
MD5_CTX ctx;
|
||||
MD5_Init(&ctx);
|
||||
MD5_Update(&ctx, str.c_str(), str.size());
|
||||
MD5_Final(digest, &ctx);
|
||||
|
||||
char hexDigest[33] = {'\0'};
|
||||
for (int i = 0; i < 16; i++)
|
||||
std::sprintf(&hexDigest[i*2], "%02x", (unsigned int)digest[i]);
|
||||
|
||||
return std::string(hexDigest);
|
||||
}
|
||||
|
||||
23
app/Bin/SpeedTest-master/MD5Util.h
Normal file
23
app/Bin/SpeedTest-master/MD5Util.h
Normal file
@@ -0,0 +1,23 @@
|
||||
//
|
||||
// Created by Francesco Laurita on 6/3/16.
|
||||
//
|
||||
|
||||
#ifndef SPEEDTEST_MD5UTIL_H
|
||||
#define SPEEDTEST_MD5UTIL_H
|
||||
#if defined(__APPLE__)
|
||||
# define COMMON_DIGEST_FOR_OPENSSL
|
||||
# include <CommonCrypto/CommonDigest.h>
|
||||
#include <string>
|
||||
|
||||
# define SHA1 CC_SHA1
|
||||
#else
|
||||
# include <openssl/md5.h>
|
||||
#endif
|
||||
|
||||
class MD5Util {
|
||||
public:
|
||||
static std::string hexDigest(const std::string &str);
|
||||
};
|
||||
|
||||
|
||||
#endif //SPEEDTEST_MD5UTIL_H
|
||||
318
app/Bin/SpeedTest-master/Makefile
Normal file
318
app/Bin/SpeedTest-master/Makefile
Normal file
@@ -0,0 +1,318 @@
|
||||
# CMAKE generated file: DO NOT EDIT!
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 3.16
|
||||
|
||||
# Default target executed when no arguments are given to make.
|
||||
default_target: all
|
||||
|
||||
.PHONY : default_target
|
||||
|
||||
# Allow only one "make -f Makefile2" at a time, but pass parallelism.
|
||||
.NOTPARALLEL:
|
||||
|
||||
|
||||
#=============================================================================
|
||||
# Special targets provided by cmake.
|
||||
|
||||
# Disable implicit rules so canonical targets will work.
|
||||
.SUFFIXES:
|
||||
|
||||
|
||||
# Remove some rules from gmake that .SUFFIXES does not remove.
|
||||
SUFFIXES =
|
||||
|
||||
.SUFFIXES: .hpux_make_needs_suffix_list
|
||||
|
||||
|
||||
# Suppress display of executed commands.
|
||||
$(VERBOSE).SILENT:
|
||||
|
||||
|
||||
# A target that is always out of date.
|
||||
cmake_force:
|
||||
|
||||
.PHONY : cmake_force
|
||||
|
||||
#=============================================================================
|
||||
# Set environment variables for the build.
|
||||
|
||||
# The shell in which to execute make rules.
|
||||
SHELL = /bin/sh
|
||||
|
||||
# The CMake executable.
|
||||
CMAKE_COMMAND = /usr/bin/cmake
|
||||
|
||||
# The command to remove a file.
|
||||
RM = /usr/bin/cmake -E remove -f
|
||||
|
||||
# Escaping for special characters.
|
||||
EQUALS = =
|
||||
|
||||
# The top-level source directory on which CMake was run.
|
||||
CMAKE_SOURCE_DIR = /home/henry/Downloads/SpeedTest-master
|
||||
|
||||
# The top-level build directory on which CMake was run.
|
||||
CMAKE_BINARY_DIR = /home/henry/Downloads/SpeedTest-master
|
||||
|
||||
#=============================================================================
|
||||
# Targets provided globally by CMake.
|
||||
|
||||
# Special rule for the target install/strip
|
||||
install/strip: preinstall
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..."
|
||||
/usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
|
||||
.PHONY : install/strip
|
||||
|
||||
# Special rule for the target install/strip
|
||||
install/strip/fast: preinstall/fast
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..."
|
||||
/usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
|
||||
.PHONY : install/strip/fast
|
||||
|
||||
# Special rule for the target install/local
|
||||
install/local: preinstall
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..."
|
||||
/usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
|
||||
.PHONY : install/local
|
||||
|
||||
# Special rule for the target install/local
|
||||
install/local/fast: preinstall/fast
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..."
|
||||
/usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
|
||||
.PHONY : install/local/fast
|
||||
|
||||
# Special rule for the target install
|
||||
install: preinstall
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..."
|
||||
/usr/bin/cmake -P cmake_install.cmake
|
||||
.PHONY : install
|
||||
|
||||
# Special rule for the target install
|
||||
install/fast: preinstall/fast
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..."
|
||||
/usr/bin/cmake -P cmake_install.cmake
|
||||
.PHONY : install/fast
|
||||
|
||||
# Special rule for the target list_install_components
|
||||
list_install_components:
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Available install components are: \"Unspecified\""
|
||||
.PHONY : list_install_components
|
||||
|
||||
# Special rule for the target list_install_components
|
||||
list_install_components/fast: list_install_components
|
||||
|
||||
.PHONY : list_install_components/fast
|
||||
|
||||
# Special rule for the target rebuild_cache
|
||||
rebuild_cache:
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..."
|
||||
/usr/bin/cmake -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
|
||||
.PHONY : rebuild_cache
|
||||
|
||||
# Special rule for the target rebuild_cache
|
||||
rebuild_cache/fast: rebuild_cache
|
||||
|
||||
.PHONY : rebuild_cache/fast
|
||||
|
||||
# Special rule for the target edit_cache
|
||||
edit_cache:
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "No interactive CMake dialog available..."
|
||||
/usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available.
|
||||
.PHONY : edit_cache
|
||||
|
||||
# Special rule for the target edit_cache
|
||||
edit_cache/fast: edit_cache
|
||||
|
||||
.PHONY : edit_cache/fast
|
||||
|
||||
# The main all target
|
||||
all: cmake_check_build_system
|
||||
$(CMAKE_COMMAND) -E cmake_progress_start /home/henry/Downloads/SpeedTest-master/CMakeFiles /home/henry/Downloads/SpeedTest-master/CMakeFiles/progress.marks
|
||||
$(MAKE) -f CMakeFiles/Makefile2 all
|
||||
$(CMAKE_COMMAND) -E cmake_progress_start /home/henry/Downloads/SpeedTest-master/CMakeFiles 0
|
||||
.PHONY : all
|
||||
|
||||
# The main clean target
|
||||
clean:
|
||||
$(MAKE) -f CMakeFiles/Makefile2 clean
|
||||
.PHONY : clean
|
||||
|
||||
# The main clean target
|
||||
clean/fast: clean
|
||||
|
||||
.PHONY : clean/fast
|
||||
|
||||
# Prepare targets for installation.
|
||||
preinstall: all
|
||||
$(MAKE) -f CMakeFiles/Makefile2 preinstall
|
||||
.PHONY : preinstall
|
||||
|
||||
# Prepare targets for installation.
|
||||
preinstall/fast:
|
||||
$(MAKE) -f CMakeFiles/Makefile2 preinstall
|
||||
.PHONY : preinstall/fast
|
||||
|
||||
# clear depends
|
||||
depend:
|
||||
$(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
|
||||
.PHONY : depend
|
||||
|
||||
#=============================================================================
|
||||
# Target rules for targets named SpeedTest
|
||||
|
||||
# Build rule for target.
|
||||
SpeedTest: cmake_check_build_system
|
||||
$(MAKE) -f CMakeFiles/Makefile2 SpeedTest
|
||||
.PHONY : SpeedTest
|
||||
|
||||
# fast build rule for target.
|
||||
SpeedTest/fast:
|
||||
$(MAKE) -f CMakeFiles/SpeedTest.dir/build.make CMakeFiles/SpeedTest.dir/build
|
||||
.PHONY : SpeedTest/fast
|
||||
|
||||
MD5Util.o: MD5Util.cpp.o
|
||||
|
||||
.PHONY : MD5Util.o
|
||||
|
||||
# target to build an object file
|
||||
MD5Util.cpp.o:
|
||||
$(MAKE) -f CMakeFiles/SpeedTest.dir/build.make CMakeFiles/SpeedTest.dir/MD5Util.cpp.o
|
||||
.PHONY : MD5Util.cpp.o
|
||||
|
||||
MD5Util.i: MD5Util.cpp.i
|
||||
|
||||
.PHONY : MD5Util.i
|
||||
|
||||
# target to preprocess a source file
|
||||
MD5Util.cpp.i:
|
||||
$(MAKE) -f CMakeFiles/SpeedTest.dir/build.make CMakeFiles/SpeedTest.dir/MD5Util.cpp.i
|
||||
.PHONY : MD5Util.cpp.i
|
||||
|
||||
MD5Util.s: MD5Util.cpp.s
|
||||
|
||||
.PHONY : MD5Util.s
|
||||
|
||||
# target to generate assembly for a file
|
||||
MD5Util.cpp.s:
|
||||
$(MAKE) -f CMakeFiles/SpeedTest.dir/build.make CMakeFiles/SpeedTest.dir/MD5Util.cpp.s
|
||||
.PHONY : MD5Util.cpp.s
|
||||
|
||||
SpeedTest.o: SpeedTest.cpp.o
|
||||
|
||||
.PHONY : SpeedTest.o
|
||||
|
||||
# target to build an object file
|
||||
SpeedTest.cpp.o:
|
||||
$(MAKE) -f CMakeFiles/SpeedTest.dir/build.make CMakeFiles/SpeedTest.dir/SpeedTest.cpp.o
|
||||
.PHONY : SpeedTest.cpp.o
|
||||
|
||||
SpeedTest.i: SpeedTest.cpp.i
|
||||
|
||||
.PHONY : SpeedTest.i
|
||||
|
||||
# target to preprocess a source file
|
||||
SpeedTest.cpp.i:
|
||||
$(MAKE) -f CMakeFiles/SpeedTest.dir/build.make CMakeFiles/SpeedTest.dir/SpeedTest.cpp.i
|
||||
.PHONY : SpeedTest.cpp.i
|
||||
|
||||
SpeedTest.s: SpeedTest.cpp.s
|
||||
|
||||
.PHONY : SpeedTest.s
|
||||
|
||||
# target to generate assembly for a file
|
||||
SpeedTest.cpp.s:
|
||||
$(MAKE) -f CMakeFiles/SpeedTest.dir/build.make CMakeFiles/SpeedTest.dir/SpeedTest.cpp.s
|
||||
.PHONY : SpeedTest.cpp.s
|
||||
|
||||
SpeedTestClient.o: SpeedTestClient.cpp.o
|
||||
|
||||
.PHONY : SpeedTestClient.o
|
||||
|
||||
# target to build an object file
|
||||
SpeedTestClient.cpp.o:
|
||||
$(MAKE) -f CMakeFiles/SpeedTest.dir/build.make CMakeFiles/SpeedTest.dir/SpeedTestClient.cpp.o
|
||||
.PHONY : SpeedTestClient.cpp.o
|
||||
|
||||
SpeedTestClient.i: SpeedTestClient.cpp.i
|
||||
|
||||
.PHONY : SpeedTestClient.i
|
||||
|
||||
# target to preprocess a source file
|
||||
SpeedTestClient.cpp.i:
|
||||
$(MAKE) -f CMakeFiles/SpeedTest.dir/build.make CMakeFiles/SpeedTest.dir/SpeedTestClient.cpp.i
|
||||
.PHONY : SpeedTestClient.cpp.i
|
||||
|
||||
SpeedTestClient.s: SpeedTestClient.cpp.s
|
||||
|
||||
.PHONY : SpeedTestClient.s
|
||||
|
||||
# target to generate assembly for a file
|
||||
SpeedTestClient.cpp.s:
|
||||
$(MAKE) -f CMakeFiles/SpeedTest.dir/build.make CMakeFiles/SpeedTest.dir/SpeedTestClient.cpp.s
|
||||
.PHONY : SpeedTestClient.cpp.s
|
||||
|
||||
main.o: main.cpp.o
|
||||
|
||||
.PHONY : main.o
|
||||
|
||||
# target to build an object file
|
||||
main.cpp.o:
|
||||
$(MAKE) -f CMakeFiles/SpeedTest.dir/build.make CMakeFiles/SpeedTest.dir/main.cpp.o
|
||||
.PHONY : main.cpp.o
|
||||
|
||||
main.i: main.cpp.i
|
||||
|
||||
.PHONY : main.i
|
||||
|
||||
# target to preprocess a source file
|
||||
main.cpp.i:
|
||||
$(MAKE) -f CMakeFiles/SpeedTest.dir/build.make CMakeFiles/SpeedTest.dir/main.cpp.i
|
||||
.PHONY : main.cpp.i
|
||||
|
||||
main.s: main.cpp.s
|
||||
|
||||
.PHONY : main.s
|
||||
|
||||
# target to generate assembly for a file
|
||||
main.cpp.s:
|
||||
$(MAKE) -f CMakeFiles/SpeedTest.dir/build.make CMakeFiles/SpeedTest.dir/main.cpp.s
|
||||
.PHONY : main.cpp.s
|
||||
|
||||
# Help Target
|
||||
help:
|
||||
@echo "The following are some of the valid targets for this Makefile:"
|
||||
@echo "... all (the default if no target is provided)"
|
||||
@echo "... clean"
|
||||
@echo "... depend"
|
||||
@echo "... install/strip"
|
||||
@echo "... install/local"
|
||||
@echo "... install"
|
||||
@echo "... list_install_components"
|
||||
@echo "... rebuild_cache"
|
||||
@echo "... edit_cache"
|
||||
@echo "... SpeedTest"
|
||||
@echo "... MD5Util.o"
|
||||
@echo "... MD5Util.i"
|
||||
@echo "... MD5Util.s"
|
||||
@echo "... SpeedTest.o"
|
||||
@echo "... SpeedTest.i"
|
||||
@echo "... SpeedTest.s"
|
||||
@echo "... SpeedTestClient.o"
|
||||
@echo "... SpeedTestClient.i"
|
||||
@echo "... SpeedTestClient.s"
|
||||
@echo "... main.o"
|
||||
@echo "... main.i"
|
||||
@echo "... main.s"
|
||||
.PHONY : help
|
||||
|
||||
|
||||
|
||||
#=============================================================================
|
||||
# Special targets to cleanup operation of make.
|
||||
|
||||
# Special rule to run CMake to check the build system integrity.
|
||||
# No rule that depends on this can have commands that come from listfiles
|
||||
# because they might be regenerated.
|
||||
cmake_check_build_system:
|
||||
$(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
|
||||
.PHONY : cmake_check_build_system
|
||||
|
||||
76
app/Bin/SpeedTest-master/README.md
Normal file
76
app/Bin/SpeedTest-master/README.md
Normal file
@@ -0,0 +1,76 @@
|
||||
[](https://travis-ci.org/taganaka/SpeedTest)
|
||||
|
||||
# SpeedTest++
|
||||
|
||||
Yet another unofficial speedtest.net client cli interface
|
||||
|
||||
It supports the new (undocumented) raw TCP protocol for better accuracy.
|
||||
|
||||
## Features
|
||||
|
||||
1. Best server discovery based on speed and distance from you.
|
||||
|
||||
2. Line type discovery to select the best test profile based on your line speed.
|
||||
|
||||
3. Aggressive multi-threading program in order to saturate your bandwidth quickly.
|
||||
|
||||
4. Test supported: Ping / Jitter / Download speed / Upload speed / Packet loss (UDP).
|
||||
|
||||
5. Provide a URL to the speedtest.net share results image using option --share
|
||||
|
||||
## Installation
|
||||
|
||||
### Requirements
|
||||
|
||||
1. A modern C++ compiler
|
||||
2. cmake
|
||||
3. libcurl
|
||||
4. libssl
|
||||
5. libxml2
|
||||
|
||||
### On Mac OS X
|
||||
|
||||
```
|
||||
$ brew install cmake
|
||||
$ cd cmake_build
|
||||
$ cmake -DCMAKE_BUILD_TYPE=Release ..
|
||||
$ make install
|
||||
```
|
||||
|
||||
### On Ubuntu/Debian
|
||||
|
||||
```
|
||||
$ sudo apt-get install build-essential libcurl4-openssl-dev libxml2-dev libssl-dev cmake
|
||||
$ git clone https://github.com/taganaka/SpeedTest
|
||||
$ cd SpeedTest
|
||||
$ cmake -DCMAKE_BUILD_TYPE=Release .
|
||||
$ sudo make install
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
```
|
||||
$ ./SpeedTest --help
|
||||
SpeedTest++ version 1.8
|
||||
Speedtest.net command line interface
|
||||
Info: https://github.com/taganaka/SpeedTest
|
||||
Author: Francesco Laurita <francesco.laurita@gmail.com>
|
||||
|
||||
Usage: ./SpeedTest [--latency] [--quality] [--download] [--upload] [--share] [--help]
|
||||
[--test-server host:port] [--quality-server host:port] [--output verbose|text]
|
||||
optional arguments:
|
||||
--help Show this message and exit
|
||||
--latency Perform latency test only
|
||||
--quality Perform quality test only. It includes latency test
|
||||
--download Perform download test only. It includes latency test
|
||||
--upload Perform upload test only. It includes latency test
|
||||
--share Generate and provide a URL to the speedtest.net share results image
|
||||
--test-server host:port Run speed test against a specific server
|
||||
--quality-server host:port Run line quality test against a specific server
|
||||
--output verbose|text Set output type. Default: verbose
|
||||
$
|
||||
```
|
||||
|
||||
## License
|
||||
|
||||
SpeedTest++ is available as open source program under the terms of the [MIT License](http://opensource.org/licenses/MIT).
|
||||
552
app/Bin/SpeedTest-master/SpeedTest.cpp
Normal file
552
app/Bin/SpeedTest-master/SpeedTest.cpp
Normal file
@@ -0,0 +1,552 @@
|
||||
//
|
||||
// Created by Francesco Laurita on 5/29/16.
|
||||
//
|
||||
|
||||
#include <cmath>
|
||||
#include <iomanip>
|
||||
#include "SpeedTest.h"
|
||||
#include "MD5Util.h"
|
||||
#include <netdb.h>
|
||||
|
||||
SpeedTest::SpeedTest(float minServerVersion):
|
||||
mLatency(0),
|
||||
mUploadSpeed(0),
|
||||
mDownloadSpeed(0) {
|
||||
curl_global_init(CURL_GLOBAL_DEFAULT);
|
||||
mIpInfo = IPInfo();
|
||||
mServerList = std::vector<ServerInfo>();
|
||||
mMinSupportedServer = minServerVersion;
|
||||
}
|
||||
|
||||
SpeedTest::~SpeedTest() {
|
||||
curl_global_cleanup();
|
||||
mServerList.clear();
|
||||
}
|
||||
|
||||
bool SpeedTest::ipInfo(IPInfo& info) {
|
||||
|
||||
if (!mIpInfo.ip_address.empty()){
|
||||
info = mIpInfo;
|
||||
return true;
|
||||
}
|
||||
|
||||
std::stringstream oss;
|
||||
auto code = httpGet(SPEED_TEST_IP_INFO_API_URL, oss);
|
||||
if (code == CURLE_OK){
|
||||
auto values = SpeedTest::parseQueryString(oss.str());
|
||||
mIpInfo = IPInfo();
|
||||
mIpInfo.ip_address = values["ip_address"];
|
||||
mIpInfo.isp = values["isp"];
|
||||
mIpInfo.lat = std::stof(values["lat"]);
|
||||
mIpInfo.lon = std::stof(values["lon"]);
|
||||
values.clear();
|
||||
oss.clear();
|
||||
info = mIpInfo;
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
const std::vector<ServerInfo>& SpeedTest::serverList() {
|
||||
if (!mServerList.empty())
|
||||
return mServerList;
|
||||
|
||||
int http_code = 0;
|
||||
if (fetchServers(SPEED_TEST_SERVER_LIST_URL, mServerList, http_code) && http_code == 200){
|
||||
return mServerList;
|
||||
}
|
||||
return mServerList;
|
||||
}
|
||||
|
||||
|
||||
const ServerInfo SpeedTest::bestServer(const int sample_size, std::function<void(bool)> cb) {
|
||||
auto best = findBestServerWithin(serverList(), mLatency, sample_size, cb);
|
||||
SpeedTestClient client = SpeedTestClient(best);
|
||||
testLatency(client, SPEED_TEST_LATENCY_SAMPLE_SIZE, mLatency);
|
||||
client.close();
|
||||
return best;
|
||||
}
|
||||
|
||||
bool SpeedTest::setServer(ServerInfo& server){
|
||||
SpeedTestClient client = SpeedTestClient(server);
|
||||
if (client.connect() && client.version() >= mMinSupportedServer){
|
||||
if (!testLatency(client, SPEED_TEST_LATENCY_SAMPLE_SIZE, mLatency)){
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
client.close();
|
||||
return false;
|
||||
}
|
||||
client.close();
|
||||
return true;
|
||||
|
||||
}
|
||||
|
||||
bool SpeedTest::downloadSpeed(const ServerInfo &server, const TestConfig &config, double& result, std::function<void(bool)> cb) {
|
||||
opFn pfunc = &SpeedTestClient::download;
|
||||
mDownloadSpeed = execute(server, config, pfunc, cb);
|
||||
result = mDownloadSpeed;
|
||||
return true;
|
||||
}
|
||||
|
||||
bool SpeedTest::uploadSpeed(const ServerInfo &server, const TestConfig &config, double& result, std::function<void(bool)> cb) {
|
||||
opFn pfunc = &SpeedTestClient::upload;
|
||||
mUploadSpeed = execute(server, config, pfunc, cb);
|
||||
result = mUploadSpeed;
|
||||
return true;
|
||||
}
|
||||
|
||||
const long &SpeedTest::latency() {
|
||||
return mLatency;
|
||||
}
|
||||
|
||||
bool SpeedTest::jitter(const ServerInfo &server, long& result, const int sample) {
|
||||
auto client = SpeedTestClient(server);
|
||||
double current_jitter = 0;
|
||||
long previous_ms = LONG_MAX;
|
||||
if (client.connect()){
|
||||
for (int i = 0; i < sample; i++){
|
||||
long ms = 0;
|
||||
if (client.ping(ms)){
|
||||
if (previous_ms == LONG_MAX) {
|
||||
previous_ms = ms;
|
||||
} else {
|
||||
current_jitter += std::abs(previous_ms - ms);
|
||||
}
|
||||
}
|
||||
}
|
||||
client.close();
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
|
||||
result = (long) std::floor(current_jitter / sample);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
bool SpeedTest::share(const ServerInfo& server, std::string& image_url) {
|
||||
std::stringstream hash;
|
||||
hash << std::setprecision(0) << std::fixed << mLatency
|
||||
<< "-" << std::setprecision(2) << std::fixed << (mUploadSpeed * 1000)
|
||||
<< "-" << std::setprecision(2) << std::fixed << (mDownloadSpeed * 1000)
|
||||
<< "-" << SPEED_TEST_API_KEY;
|
||||
std::string hex_digest = MD5Util::hexDigest(hash.str());
|
||||
std::stringstream post_data;
|
||||
post_data << "download=" << std::setprecision(2) << std::fixed << (mDownloadSpeed * 1000) << "&";
|
||||
post_data << "ping=" << std::setprecision(0) << std::fixed << mLatency << "&";
|
||||
post_data << "upload=" << std::setprecision(2) << std::fixed << (mUploadSpeed * 1000) << "&";
|
||||
post_data << "pingselect=1&";
|
||||
post_data << "recommendedserverid=" << server.id << "&";
|
||||
post_data << "accuracy=1&";
|
||||
post_data << "serverid=" << server.id << "&";
|
||||
post_data << "hash=";
|
||||
post_data << hex_digest;
|
||||
|
||||
std::stringstream result;
|
||||
CURL *c = curl_easy_init();
|
||||
curl_easy_setopt(c, CURLOPT_REFERER, SPEED_TEST_API_REFERER);
|
||||
auto cres = SpeedTest::httpPost(SPEED_TEST_API_URL, post_data.str(), result, c);
|
||||
long http_code = 0;
|
||||
image_url.clear();
|
||||
if (cres == CURLE_OK){
|
||||
curl_easy_getinfo(c, CURLINFO_HTTP_CODE, &http_code);
|
||||
if (http_code == 200 && !result.str().empty()){
|
||||
auto data = SpeedTest::parseQueryString(result.str());
|
||||
if (data.count("resultid") == 1){
|
||||
image_url = "http://www.speedtest.net/result/" + data["resultid"] + ".png";
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
curl_easy_cleanup(c);
|
||||
return !image_url.empty();
|
||||
}
|
||||
|
||||
// private
|
||||
|
||||
double SpeedTest::execute(const ServerInfo &server, const TestConfig &config, const opFn &pfunc, std::function<void(bool)> cb) {
|
||||
std::vector<std::thread> workers;
|
||||
double overall_speed = 0;
|
||||
std::mutex mtx;
|
||||
for (int i = 0; i < config.concurrency; i++) {
|
||||
workers.push_back(std::thread([&server, &overall_speed, &pfunc, &config, &mtx, cb](){
|
||||
long start_size = config.start_size;
|
||||
long max_size = config.max_size;
|
||||
long incr_size = config.incr_size;
|
||||
long curr_size = start_size;
|
||||
|
||||
auto spClient = SpeedTestClient(server);
|
||||
|
||||
if (spClient.connect()) {
|
||||
long total_size = 0;
|
||||
long total_time = 0;
|
||||
auto start = std::chrono::steady_clock::now();
|
||||
std::vector<double> partial_results;
|
||||
while (curr_size < max_size){
|
||||
long op_time = 0;
|
||||
if ((spClient.*pfunc)(curr_size, config.buff_size, op_time)) {
|
||||
total_size += curr_size;
|
||||
total_time += op_time;
|
||||
double metric = (curr_size * 8) / (static_cast<double>(op_time) / 1000);
|
||||
partial_results.push_back(metric);
|
||||
if (cb)
|
||||
cb(true);
|
||||
} else {
|
||||
if (cb)
|
||||
cb(false);
|
||||
}
|
||||
curr_size += incr_size;
|
||||
auto stop = std::chrono::steady_clock::now();
|
||||
if (std::chrono::duration_cast<std::chrono::milliseconds>(stop - start).count() > config.min_test_time_ms)
|
||||
break;
|
||||
}
|
||||
|
||||
spClient.close();
|
||||
std::sort(partial_results.begin(), partial_results.end());
|
||||
|
||||
size_t skip = 0;
|
||||
size_t drop = 0;
|
||||
if (partial_results.size() >= 10){
|
||||
skip = partial_results.size() / 4;
|
||||
drop = 2;
|
||||
}
|
||||
|
||||
size_t iter = 0;
|
||||
double real_sum = 0;
|
||||
for (auto it = partial_results.begin() + skip; it != partial_results.end() - drop; ++it ){
|
||||
iter++;
|
||||
real_sum += (*it);
|
||||
}
|
||||
mtx.lock();
|
||||
overall_speed += (real_sum / iter);
|
||||
mtx.unlock();
|
||||
} else {
|
||||
if (cb)
|
||||
cb(false);
|
||||
}
|
||||
}));
|
||||
|
||||
}
|
||||
for (auto &t : workers){
|
||||
t.join();
|
||||
}
|
||||
|
||||
workers.clear();
|
||||
|
||||
return overall_speed / 1000 / 1000;
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
T SpeedTest::deg2rad(T n) {
|
||||
return (n * M_PI / 180);
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
T SpeedTest::harversine(std::pair<T, T> n1, std::pair<T, T> n2) {
|
||||
T lat1r = deg2rad(n1.first);
|
||||
T lon1r = deg2rad(n1.second);
|
||||
T lat2r = deg2rad(n2.first);
|
||||
T lon2r = deg2rad(n2.second);
|
||||
T u = std::sin((lat2r - lat1r) / 2);
|
||||
T v = std::sin((lon2r - lon1r) / 2);
|
||||
return 2.0 * EARTH_RADIUS_KM * std::asin(std::sqrt(u * u + std::cos(lat1r) * std::cos(lat2r) * v * v));
|
||||
}
|
||||
|
||||
CURLcode SpeedTest::httpGet(const std::string &url, std::stringstream &ss, CURL *handler, long timeout) {
|
||||
|
||||
CURLcode code(CURLE_FAILED_INIT);
|
||||
CURL* curl = SpeedTest::curl_setup(handler);
|
||||
|
||||
|
||||
if (curl){
|
||||
if (CURLE_OK == (code = curl_easy_setopt(curl, CURLOPT_FILE, &ss))
|
||||
&& CURLE_OK == (code = curl_easy_setopt(curl, CURLOPT_TIMEOUT, timeout))
|
||||
&& CURLE_OK == (code = curl_easy_setopt(curl, CURLOPT_URL, url.c_str()))) {
|
||||
code = curl_easy_perform(curl);
|
||||
}
|
||||
if (handler == nullptr)
|
||||
curl_easy_cleanup(curl);
|
||||
}
|
||||
return code;
|
||||
}
|
||||
|
||||
CURLcode SpeedTest::httpPost(const std::string &url, const std::string &postdata, std::stringstream &os, void *handler, long timeout) {
|
||||
|
||||
CURLcode code(CURLE_FAILED_INIT);
|
||||
CURL* curl = SpeedTest::curl_setup(handler);
|
||||
|
||||
if (curl){
|
||||
if (CURLE_OK == (code = curl_easy_setopt(curl, CURLOPT_FILE, &os))
|
||||
&& CURLE_OK == (code = curl_easy_setopt(curl, CURLOPT_TIMEOUT, timeout))
|
||||
&& CURLE_OK == (code = curl_easy_setopt(curl, CURLOPT_URL, url.c_str()))
|
||||
&& CURLE_OK == (code = curl_easy_setopt(curl, CURLOPT_POSTFIELDS, postdata.c_str()))) {
|
||||
code = curl_easy_perform(curl);
|
||||
}
|
||||
if (handler == nullptr)
|
||||
curl_easy_cleanup(curl);
|
||||
}
|
||||
return code;
|
||||
}
|
||||
|
||||
CURL *SpeedTest::curl_setup(CURL *handler) {
|
||||
CURL* curl = handler == nullptr ? curl_easy_init() : handler;
|
||||
if (curl){
|
||||
if (curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, &writeFunc) == CURLE_OK
|
||||
&& curl_easy_setopt(curl, CURLOPT_NOPROGRESS, 1L) == CURLE_OK
|
||||
&& curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L) == CURLE_OK
|
||||
&& curl_easy_setopt(curl, CURLOPT_USERAGENT, SPEED_TEST_USER_AGENT) == CURLE_OK){
|
||||
return curl;
|
||||
} else {
|
||||
curl_easy_cleanup(handler);
|
||||
return nullptr;
|
||||
}
|
||||
}
|
||||
return nullptr;
|
||||
|
||||
|
||||
}
|
||||
|
||||
size_t SpeedTest::writeFunc(void *buf, size_t size, size_t nmemb, void *userp) {
|
||||
|
||||
if (userp){
|
||||
std::stringstream &os = *static_cast<std::stringstream *>(userp);
|
||||
std::streamsize len = size * nmemb;
|
||||
if(os.write(static_cast<char*>(buf), len))
|
||||
return static_cast<size_t>(len);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
std::map<std::string, std::string> SpeedTest::parseQueryString(const std::string &query) {
|
||||
auto map = std::map<std::string, std::string>();
|
||||
auto pairs = splitString(query, '&');
|
||||
for (auto &p : pairs){
|
||||
auto kv = splitString(p, '=');
|
||||
if (kv.size() == 2){
|
||||
map[kv[0]] = kv[1];
|
||||
}
|
||||
}
|
||||
return map;
|
||||
}
|
||||
|
||||
std::vector<std::string> SpeedTest::splitString(const std::string &instr, const char separator) {
|
||||
if (instr.empty())
|
||||
return std::vector<std::string>();
|
||||
|
||||
std::vector<std::string> tokens;
|
||||
std::size_t start = 0, end = 0;
|
||||
while ((end = instr.find(separator, start)) != std::string::npos) {
|
||||
std::string temp = instr.substr(start, end - start);
|
||||
if (!temp.empty())
|
||||
tokens.push_back(temp);
|
||||
start = end + 1;
|
||||
}
|
||||
std::string temp = instr.substr(start);
|
||||
if (!temp.empty())
|
||||
tokens.push_back(temp);
|
||||
return tokens;
|
||||
|
||||
}
|
||||
|
||||
ServerInfo SpeedTest::processServerXMLNode(xmlTextReaderPtr reader) {
|
||||
|
||||
auto name = xmlTextReaderConstName(reader);
|
||||
auto nodeName = std::string((char*)name);
|
||||
|
||||
if (!name || nodeName != "server"){
|
||||
return ServerInfo();
|
||||
}
|
||||
|
||||
if (xmlTextReaderAttributeCount(reader) > 0){
|
||||
auto info = ServerInfo();
|
||||
auto server_url = xmlTextReaderGetAttribute(reader, BAD_CAST "url");
|
||||
auto server_lat = xmlTextReaderGetAttribute(reader, BAD_CAST "lat");
|
||||
auto server_lon = xmlTextReaderGetAttribute(reader, BAD_CAST "lon");
|
||||
auto server_name = xmlTextReaderGetAttribute(reader, BAD_CAST "name");
|
||||
auto server_county = xmlTextReaderGetAttribute(reader, BAD_CAST "country");
|
||||
auto server_cc = xmlTextReaderGetAttribute(reader, BAD_CAST "cc");
|
||||
auto server_host = xmlTextReaderGetAttribute(reader, BAD_CAST "host");
|
||||
auto server_id = xmlTextReaderGetAttribute(reader, BAD_CAST "id");
|
||||
auto server_sponsor = xmlTextReaderGetAttribute(reader, BAD_CAST "sponsor");
|
||||
|
||||
if (server_name)
|
||||
info.name.append((char*)server_name);
|
||||
|
||||
if (server_url)
|
||||
info.url.append((char*)server_url);
|
||||
|
||||
if (server_county)
|
||||
info.country.append((char*)server_county);
|
||||
|
||||
if (server_cc)
|
||||
info.country_code.append((char*)server_cc);
|
||||
|
||||
if (server_host)
|
||||
info.host.append((char*)server_host);
|
||||
|
||||
if (server_sponsor)
|
||||
info.sponsor.append((char*)server_sponsor);
|
||||
|
||||
if (server_id)
|
||||
info.id = std::atoi((char*)server_id);
|
||||
|
||||
if (server_lat)
|
||||
info.lat = std::stof((char*)server_lat);
|
||||
|
||||
if (server_lon)
|
||||
info.lon = std::stof((char*)server_lon);
|
||||
|
||||
xmlFree(server_url);
|
||||
xmlFree(server_lat);
|
||||
xmlFree(server_lon);
|
||||
xmlFree(server_name);
|
||||
xmlFree(server_county);
|
||||
xmlFree(server_cc);
|
||||
xmlFree(server_host);
|
||||
xmlFree(server_id);
|
||||
xmlFree(server_sponsor);
|
||||
return info;
|
||||
}
|
||||
|
||||
return ServerInfo();
|
||||
}
|
||||
|
||||
bool SpeedTest::fetchServers(const std::string& url, std::vector<ServerInfo>& target, int &http_code) {
|
||||
std::stringstream oss;
|
||||
target.clear();
|
||||
|
||||
auto isHttpSchema = url.find_first_of("http") == 0;
|
||||
|
||||
CURL* curl = curl_easy_init();
|
||||
auto cres = httpGet(url, oss, curl, 20);
|
||||
|
||||
if (cres != CURLE_OK)
|
||||
return false;
|
||||
|
||||
if (isHttpSchema) {
|
||||
int req_status;
|
||||
curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &req_status);
|
||||
http_code = req_status;
|
||||
|
||||
if (http_code != 200){
|
||||
curl_easy_cleanup(curl);
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
http_code = 200;
|
||||
}
|
||||
|
||||
size_t len = oss.str().length();
|
||||
auto *xmlbuff = (char*)calloc(len + 1, sizeof(char));
|
||||
if (!xmlbuff){
|
||||
std::cerr << "Unable to calloc" << std::endl;
|
||||
curl_easy_cleanup(curl);
|
||||
return false;
|
||||
}
|
||||
memcpy(xmlbuff, oss.str().c_str(), len);
|
||||
oss.str("");
|
||||
|
||||
xmlTextReaderPtr reader = xmlReaderForMemory(xmlbuff, static_cast<int>(len), nullptr, nullptr, 0);
|
||||
|
||||
if (reader != nullptr) {
|
||||
IPInfo ipInfo;
|
||||
if (!SpeedTest::ipInfo(ipInfo)){
|
||||
curl_easy_cleanup(curl);
|
||||
free(xmlbuff);
|
||||
xmlFreeTextReader(reader);
|
||||
std::cerr << "OOPS!" <<std::endl;
|
||||
return false;
|
||||
}
|
||||
auto ret = xmlTextReaderRead(reader);
|
||||
while (ret == 1) {
|
||||
ServerInfo info = processServerXMLNode(reader);
|
||||
if (!info.url.empty()){
|
||||
info.distance = harversine(std::make_pair(ipInfo.lat, ipInfo.lon), std::make_pair(info.lat, info.lon));
|
||||
target.push_back(info);
|
||||
}
|
||||
ret = xmlTextReaderRead(reader);
|
||||
}
|
||||
xmlFreeTextReader(reader);
|
||||
if (ret != 0) {
|
||||
curl_easy_cleanup(curl);
|
||||
free(xmlbuff);
|
||||
std::cerr << "Failed to parse" << std::endl;
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
std::cerr << "Unable to initialize xml parser" << std::endl;
|
||||
curl_easy_cleanup(curl);
|
||||
free(xmlbuff);
|
||||
return false;
|
||||
}
|
||||
|
||||
curl_easy_cleanup(curl);
|
||||
free(xmlbuff);
|
||||
xmlCleanupParser();
|
||||
std::sort(target.begin(), target.end(), [](const ServerInfo &a, const ServerInfo &b) -> bool {
|
||||
return a.distance < b.distance;
|
||||
});
|
||||
return true;
|
||||
}
|
||||
|
||||
const ServerInfo SpeedTest::findBestServerWithin(const std::vector<ServerInfo> &serverList, long &latency,
|
||||
const int sample_size, std::function<void(bool)> cb) {
|
||||
int i = sample_size;
|
||||
ServerInfo bestServer = serverList[0];
|
||||
|
||||
latency = INT_MAX;
|
||||
|
||||
for (auto &server : serverList){
|
||||
auto client = SpeedTestClient(server);
|
||||
|
||||
if (!client.connect()){
|
||||
if (cb)
|
||||
cb(false);
|
||||
continue;
|
||||
}
|
||||
|
||||
if (client.version() < mMinSupportedServer){
|
||||
client.close();
|
||||
continue;
|
||||
}
|
||||
|
||||
long current_latency = LONG_MAX;
|
||||
if (testLatency(client, 20, current_latency)){
|
||||
if (current_latency < latency){
|
||||
latency = current_latency;
|
||||
bestServer = server;
|
||||
}
|
||||
}
|
||||
client.close();
|
||||
if (cb)
|
||||
cb(true);
|
||||
|
||||
if (i-- < 0){
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
return bestServer;
|
||||
}
|
||||
|
||||
bool SpeedTest::testLatency(SpeedTestClient &client, const int sample_size, long &latency) {
|
||||
if (!client.connect()){
|
||||
return false;
|
||||
}
|
||||
latency = INT_MAX;
|
||||
long temp_latency = 0;
|
||||
for (int i = 0; i < sample_size; i++){
|
||||
if (client.ping(temp_latency)){
|
||||
if (temp_latency < latency){
|
||||
latency = temp_latency;
|
||||
}
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
69
app/Bin/SpeedTest-master/SpeedTest.h
Normal file
69
app/Bin/SpeedTest-master/SpeedTest.h
Normal file
@@ -0,0 +1,69 @@
|
||||
//
|
||||
// Created by Francesco Laurita on 5/29/16.
|
||||
//
|
||||
|
||||
#ifndef SPEEDTEST_SPEEDTEST_H
|
||||
#define SPEEDTEST_SPEEDTEST_H
|
||||
|
||||
#include "SpeedTestConfig.h"
|
||||
#include "SpeedTestClient.h"
|
||||
#include <libxml/xmlreader.h>
|
||||
#include <functional>
|
||||
#include <cmath>
|
||||
#include <curl/curl.h>
|
||||
#include <fstream>
|
||||
#include <sstream>
|
||||
#include <iostream>
|
||||
#include <map>
|
||||
#include <vector>
|
||||
#include <algorithm>
|
||||
#include <thread>
|
||||
#include <mutex>
|
||||
#include "DataTypes.h"
|
||||
|
||||
class SpeedTestClient;
|
||||
typedef bool (SpeedTestClient::*opFn)(const long size, const long chunk_size, long &millisec);
|
||||
typedef void (*progressFn)(bool success);
|
||||
|
||||
|
||||
class SpeedTest {
|
||||
public:
|
||||
explicit SpeedTest(float minServerVersion);
|
||||
~SpeedTest();
|
||||
CURLcode httpGet(const std::string& url, std::stringstream& os, CURL *handler = nullptr, long timeout = 30);
|
||||
CURLcode httpPost(const std::string& url, const std::string& postdata, std::stringstream& os, CURL *handler = nullptr, long timeout = 30);
|
||||
static std::map<std::string, std::string> parseQueryString(const std::string& query);
|
||||
static std::vector<std::string> splitString(const std::string& instr, char separator);
|
||||
bool ipInfo(IPInfo& info);
|
||||
const std::vector<ServerInfo>& serverList();
|
||||
const ServerInfo bestServer(int sample_size = 5, std::function<void(bool)> cb = nullptr);
|
||||
bool setServer(ServerInfo& server);
|
||||
const long &latency();
|
||||
bool downloadSpeed(const ServerInfo& server, const TestConfig& config, double& result, std::function<void(bool)> cb = nullptr);
|
||||
bool uploadSpeed(const ServerInfo& server, const TestConfig& config, double& result, std::function<void(bool)> cb = nullptr);
|
||||
bool jitter(const ServerInfo& server, long& result, int sample = 40);
|
||||
bool share(const ServerInfo& server, std::string& image_url);
|
||||
private:
|
||||
bool fetchServers(const std::string& url, std::vector<ServerInfo>& target, int &http_code);
|
||||
bool testLatency(SpeedTestClient& client, int sample_size, long& latency);
|
||||
const ServerInfo findBestServerWithin(const std::vector<ServerInfo>& serverList, long& latency, int sample_size = 5, std::function<void(bool)> cb = nullptr);
|
||||
static CURL* curl_setup(CURL* curl = nullptr);
|
||||
static size_t writeFunc(void* buf, size_t size, size_t nmemb, void* userp);
|
||||
static ServerInfo processServerXMLNode(xmlTextReaderPtr reader);
|
||||
double execute(const ServerInfo &server, const TestConfig &config, const opFn &fnc, std::function<void(bool)> cb = nullptr);
|
||||
template <typename T>
|
||||
static T deg2rad(T n);
|
||||
template <typename T>
|
||||
static T harversine(std::pair<T, T> n1, std::pair<T, T> n2);
|
||||
|
||||
IPInfo mIpInfo;
|
||||
std::vector<ServerInfo> mServerList;
|
||||
long mLatency;
|
||||
double mUploadSpeed;
|
||||
double mDownloadSpeed;
|
||||
float mMinSupportedServer;
|
||||
|
||||
};
|
||||
|
||||
|
||||
#endif //SPEEDTEST_SPEEDTEST_H
|
||||
270
app/Bin/SpeedTest-master/SpeedTestClient.cpp
Normal file
270
app/Bin/SpeedTest-master/SpeedTestClient.cpp
Normal file
@@ -0,0 +1,270 @@
|
||||
//
|
||||
// Created by Francesco Laurita on 5/30/16.
|
||||
//
|
||||
|
||||
#include <arpa/inet.h>
|
||||
#include <netdb.h>
|
||||
#include "SpeedTestClient.h"
|
||||
|
||||
SpeedTestClient::SpeedTestClient(const ServerInfo &serverInfo): mServerInfo(serverInfo),
|
||||
mSocketFd(0),
|
||||
mServerVersion(-1.0){}
|
||||
SpeedTestClient::~SpeedTestClient() {
|
||||
close();
|
||||
}
|
||||
|
||||
// It returns current timestamp in ms
|
||||
|
||||
|
||||
// It connects and initiates client/server handshaking
|
||||
bool SpeedTestClient::connect() {
|
||||
|
||||
if (mSocketFd){
|
||||
return true;
|
||||
}
|
||||
|
||||
auto ret = mkSocket();
|
||||
if (!ret)
|
||||
return ret;
|
||||
|
||||
std::string reply;
|
||||
|
||||
if (!SpeedTestClient::writeLine(mSocketFd, "HI")){
|
||||
close();
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
if (SpeedTestClient::readLine(mSocketFd, reply)){
|
||||
std::stringstream reply_stream(reply);
|
||||
std::string hello;
|
||||
reply_stream >> hello >> mServerVersion;
|
||||
if (reply_stream.fail()) {
|
||||
close();
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!reply.empty() && "HELLO" == hello){
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
||||
close();
|
||||
return false;
|
||||
}
|
||||
|
||||
// It closes a connection
|
||||
void SpeedTestClient::close() {
|
||||
if (mSocketFd){
|
||||
SpeedTestClient::writeLine(mSocketFd, "QUIT");
|
||||
::close(mSocketFd);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// It executes PING command
|
||||
bool SpeedTestClient::ping(long &millisec) {
|
||||
if (!mSocketFd)
|
||||
return false;
|
||||
|
||||
std::stringstream cmd;
|
||||
std::string reply;
|
||||
|
||||
auto start = std::chrono::steady_clock::now();
|
||||
cmd << "PING " << start.time_since_epoch().count();
|
||||
|
||||
if (!SpeedTestClient::writeLine(mSocketFd, cmd.str())){
|
||||
return false;
|
||||
}
|
||||
|
||||
if (SpeedTestClient::readLine(mSocketFd, reply)){
|
||||
if (reply.substr(0, 5) == "PONG "){
|
||||
auto stop = std::chrono::steady_clock::now();
|
||||
millisec = std::chrono::duration_cast<std::chrono::milliseconds>(stop - start).count();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
close();
|
||||
return false;
|
||||
}
|
||||
|
||||
// It executes DOWNLOAD command
|
||||
bool SpeedTestClient::download(const long size, const long chunk_size, long &millisec) {
|
||||
std::stringstream cmd;
|
||||
cmd << "DOWNLOAD " << size;
|
||||
|
||||
if (!SpeedTestClient::writeLine(mSocketFd, cmd.str())){
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
char *buff = new char[chunk_size];
|
||||
for (size_t i = 0; i < static_cast<size_t>(chunk_size); i++)
|
||||
buff[i] = '\0';
|
||||
|
||||
long missing = 0;
|
||||
auto start = std::chrono::steady_clock::now();
|
||||
while (missing != size){
|
||||
auto current = read(mSocketFd, buff, static_cast<size_t>(chunk_size));
|
||||
|
||||
if (current <= 0){
|
||||
delete[] buff;
|
||||
return false;
|
||||
}
|
||||
missing += current;
|
||||
}
|
||||
|
||||
auto stop = std::chrono::steady_clock::now();
|
||||
millisec = std::chrono::duration_cast<std::chrono::milliseconds>(stop - start).count();
|
||||
delete[] buff;
|
||||
return true;
|
||||
}
|
||||
|
||||
// It executes UPLOAD command
|
||||
bool SpeedTestClient::upload(const long size, const long chunk_size, long &millisec) {
|
||||
std::stringstream cmd;
|
||||
cmd << "UPLOAD " << size << "\n";
|
||||
auto cmd_len = cmd.str().length();
|
||||
|
||||
char *buff = new char[chunk_size];
|
||||
for(size_t i = 0; i < static_cast<size_t>(chunk_size); i++)
|
||||
buff[i] = static_cast<char>(rand() % 256);
|
||||
|
||||
long missing = size;
|
||||
auto start = std::chrono::steady_clock::now();
|
||||
|
||||
if (!SpeedTestClient::writeLine(mSocketFd, cmd.str())){
|
||||
delete[] buff;
|
||||
return false;
|
||||
}
|
||||
|
||||
ssize_t w = cmd_len;
|
||||
missing -= w;
|
||||
|
||||
while(missing > 0){
|
||||
if (missing - chunk_size > 0){
|
||||
w = write(mSocketFd, buff, static_cast<size_t>(chunk_size));
|
||||
if (w != chunk_size){
|
||||
delete[] buff;
|
||||
return false;
|
||||
}
|
||||
missing -= w;
|
||||
} else {
|
||||
buff[missing - 1] = '\n';
|
||||
w = write(mSocketFd, buff, static_cast<size_t>(missing));
|
||||
if (w != missing){
|
||||
delete[] buff;
|
||||
return false;
|
||||
}
|
||||
missing -= w;
|
||||
}
|
||||
|
||||
}
|
||||
std::string reply;
|
||||
if (!SpeedTestClient::readLine(mSocketFd, reply)){
|
||||
delete[] buff;
|
||||
return false;
|
||||
}
|
||||
auto stop = std::chrono::steady_clock::now();
|
||||
|
||||
std::stringstream ss;
|
||||
ss << "OK " << size << " ";
|
||||
millisec = std::chrono::duration_cast<std::chrono::milliseconds>(stop - start).count();
|
||||
delete[] buff;
|
||||
return reply.substr(0, ss.str().length()) == ss.str();
|
||||
|
||||
}
|
||||
|
||||
bool SpeedTestClient::mkSocket() {
|
||||
mSocketFd = socket(AF_INET, SOCK_STREAM, 0);
|
||||
|
||||
if (!mSocketFd){
|
||||
return false;
|
||||
}
|
||||
|
||||
auto hostp = hostport();
|
||||
#if __APPLE__
|
||||
struct hostent *server = gethostbyname(hostp.first.c_str());
|
||||
if (server == nullptr) {
|
||||
return false;
|
||||
}
|
||||
#else
|
||||
struct hostent server;
|
||||
char tmpbuf[BUFSIZ];
|
||||
struct hostent *result;
|
||||
int errnop;
|
||||
if (gethostbyname_r(hostp.first.c_str(), &server, (char *)&tmpbuf, BUFSIZ, &result, &errnop)) {
|
||||
return false;
|
||||
}
|
||||
#endif
|
||||
|
||||
int portno = hostp.second;
|
||||
struct sockaddr_in serv_addr{};
|
||||
memset(&serv_addr, 0, sizeof(serv_addr));
|
||||
serv_addr.sin_family = AF_INET;
|
||||
|
||||
#if __APPLE__
|
||||
memcpy(&serv_addr.sin_addr.s_addr, server->h_addr, (size_t)server->h_length);
|
||||
#else
|
||||
memcpy(&serv_addr.sin_addr.s_addr, server.h_addr, (size_t)server.h_length);
|
||||
#endif
|
||||
|
||||
serv_addr.sin_port = htons(static_cast<uint16_t>(portno));
|
||||
|
||||
/* Dial */
|
||||
return ::connect(mSocketFd, (struct sockaddr*)&serv_addr, sizeof(serv_addr)) >= 0;
|
||||
}
|
||||
|
||||
|
||||
float SpeedTestClient::version() {
|
||||
return mServerVersion;
|
||||
}
|
||||
|
||||
const std::pair<std::string, int> SpeedTestClient::hostport() {
|
||||
std::string targetHost = mServerInfo.host;
|
||||
std::size_t found = targetHost.find(':');
|
||||
std::string host = targetHost.substr(0, found);
|
||||
std::string port = targetHost.substr(found + 1, targetHost.length() - found);
|
||||
return std::pair<std::string, int>(host, std::atoi(port.c_str()));
|
||||
}
|
||||
|
||||
bool SpeedTestClient::readLine(int &fd, std::string &buffer) {
|
||||
buffer.clear();
|
||||
if (!fd)
|
||||
return false;
|
||||
char c;
|
||||
while(true){
|
||||
auto n = read(fd, &c, 1);
|
||||
if (n == -1)
|
||||
return false;
|
||||
if (c == '\n' || c == '\r')
|
||||
break;
|
||||
|
||||
buffer += c;
|
||||
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
bool SpeedTestClient::writeLine(int &fd, const std::string &buffer) {
|
||||
if (!fd)
|
||||
return false;
|
||||
|
||||
auto len = static_cast<ssize_t >(buffer.length());
|
||||
if (len == 0)
|
||||
return false;
|
||||
|
||||
std::string buff_copy = buffer;
|
||||
|
||||
if (buff_copy.find_first_of('\n') == std::string::npos){
|
||||
buff_copy += '\n';
|
||||
len += 1;
|
||||
}
|
||||
auto n = write(fd, buff_copy.c_str(), len);
|
||||
return n == len;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
43
app/Bin/SpeedTest-master/SpeedTestClient.h
Normal file
43
app/Bin/SpeedTest-master/SpeedTestClient.h
Normal file
@@ -0,0 +1,43 @@
|
||||
//
|
||||
// Created by Francesco Laurita on 5/30/16.
|
||||
//
|
||||
|
||||
#ifndef SPEEDTEST_SPEEDTESTCLIENT_H
|
||||
#define SPEEDTEST_SPEEDTESTCLIENT_H
|
||||
|
||||
|
||||
#include <ctime>
|
||||
#include <netdb.h>
|
||||
#include <netinet/in.h>
|
||||
#include <string.h>
|
||||
#include <sys/socket.h>
|
||||
#include <unistd.h>
|
||||
#include <chrono>
|
||||
#include <unistd.h>
|
||||
#include "SpeedTest.h"
|
||||
#include "DataTypes.h"
|
||||
class SpeedTestClient {
|
||||
public:
|
||||
explicit SpeedTestClient(const ServerInfo& serverInfo);
|
||||
~SpeedTestClient();
|
||||
|
||||
bool connect();
|
||||
bool ping(long &millisec);
|
||||
bool upload(long size, long chunk_size, long &millisec);
|
||||
bool download(long size, long chunk_size, long &millisec);
|
||||
float version();
|
||||
const std::pair<std::string, int> hostport();
|
||||
void close();
|
||||
|
||||
|
||||
private:
|
||||
bool mkSocket();
|
||||
ServerInfo mServerInfo;
|
||||
int mSocketFd;
|
||||
float mServerVersion;
|
||||
static bool readLine(int& fd, std::string& buffer);
|
||||
static bool writeLine(int& fd, const std::string& buffer);
|
||||
};
|
||||
|
||||
typedef bool (SpeedTestClient::*opFn)(const long size, const long chunk_size, long &millisec);
|
||||
#endif //SPEEDTEST_SPEEDTESTCLIENT_H
|
||||
17
app/Bin/SpeedTest-master/SpeedTestConfig.h
Normal file
17
app/Bin/SpeedTest-master/SpeedTestConfig.h
Normal file
@@ -0,0 +1,17 @@
|
||||
// The configured options and settings for SpeedTest
|
||||
#define SpeedTest_VERSION_MAJOR 1
|
||||
#define SpeedTest_VERSION_MINOR 14
|
||||
#define SpeedTest_SYSTEM_PROCESSOR "x86_64"
|
||||
#define SpeedTest_SYSTEM "Linux-5.4.0-7634-generic"
|
||||
#define SpeedTest_AUTHOR "Francesco Laurita <francesco.laurita@gmail.com>"
|
||||
#define SpeedTest_HOME_PAGE "https://github.com/taganaka/SpeedTest"
|
||||
|
||||
#define SPEED_TEST_USER_AGENT "Mozilla/5.0 Linux-5.4.0-7634-generic; U; x86_64; en-us (KHTML, like Gecko) SpeedTest++/1.14"
|
||||
#define SPEED_TEST_SERVER_LIST_URL "https://www.speedtest.net/speedtest-servers.php"
|
||||
|
||||
#define SPEED_TEST_IP_INFO_API_URL "http://speedtest.ookla.com/api/ipaddress.php"
|
||||
#define SPEED_TEST_API_URL "http://www.speedtest.net/api/api.php"
|
||||
#define SPEED_TEST_API_REFERER "http://c.speedtest.net/flash/speedtest.swf"
|
||||
#define SPEED_TEST_API_KEY "297aae72"
|
||||
#define SPEED_TEST_MIN_SERVER_VERSION 2.3
|
||||
#define SPEED_TEST_LATENCY_SAMPLE_SIZE 80
|
||||
17
app/Bin/SpeedTest-master/SpeedTestConfig.h.in
Normal file
17
app/Bin/SpeedTest-master/SpeedTestConfig.h.in
Normal file
@@ -0,0 +1,17 @@
|
||||
// The configured options and settings for SpeedTest
|
||||
#define SpeedTest_VERSION_MAJOR @SpeedTest_VERSION_MAJOR@
|
||||
#define SpeedTest_VERSION_MINOR @SpeedTest_VERSION_MINOR@
|
||||
#define SpeedTest_SYSTEM_PROCESSOR "@SpeedTest_SYSTEM_PROCESSOR@"
|
||||
#define SpeedTest_SYSTEM "@SpeedTest_SYSTEM@"
|
||||
#define SpeedTest_AUTHOR "@SpeedTest_AUTHOR@"
|
||||
#define SpeedTest_HOME_PAGE "@SpeedTest_HOME_PAGE@"
|
||||
|
||||
#define SPEED_TEST_USER_AGENT "@SpeedTest_USER_AGENT@"
|
||||
#define SPEED_TEST_SERVER_LIST_URL "@SpeedTest_SERVER_LIST_URL@"
|
||||
|
||||
#define SPEED_TEST_IP_INFO_API_URL "@SpeedTest_IP_INFO_API_URL@"
|
||||
#define SPEED_TEST_API_URL "@SpeedTest_API_URL@"
|
||||
#define SPEED_TEST_API_REFERER "@SpeedTest_API_REFERER@"
|
||||
#define SPEED_TEST_API_KEY "@SpeedTest_API_KEY@"
|
||||
#define SPEED_TEST_MIN_SERVER_VERSION @SpeedTest_MIN_SERVER_VERSION@
|
||||
#define SPEED_TEST_LATENCY_SAMPLE_SIZE @SpeedTest_LATENCY_SAMPLE_SIZE@
|
||||
120
app/Bin/SpeedTest-master/TestConfigTemplate.h
Normal file
120
app/Bin/SpeedTest-master/TestConfigTemplate.h
Normal file
@@ -0,0 +1,120 @@
|
||||
//
|
||||
// Created by Francesco Laurita on 6/2/16.
|
||||
//
|
||||
|
||||
#ifndef SPEEDTEST_TESTCONFIGTEMPLATE_H
|
||||
#define SPEEDTEST_TESTCONFIGTEMPLATE_H
|
||||
|
||||
#include "SpeedTest.h"
|
||||
|
||||
const TestConfig preflightConfigDownload = {
|
||||
600000, // start_size
|
||||
2000000, // max_size
|
||||
125000, // inc_size
|
||||
4096, // buff_size
|
||||
10000, // min_test_time_ms
|
||||
2, // Concurrency
|
||||
"Preflight check"
|
||||
};
|
||||
|
||||
const TestConfig slowConfigDownload = {
|
||||
100000, // start_size
|
||||
500000, // max_size
|
||||
10000, // inc_size
|
||||
1024, // buff_size
|
||||
20000, // min_test_time_ms
|
||||
2, // Concurrency
|
||||
"Very-slow-line line type detected: profile selected slowband"
|
||||
};
|
||||
|
||||
const TestConfig slowConfigUpload = {
|
||||
50000, // start_size
|
||||
80000, // max_size
|
||||
1000, // inc_size
|
||||
1024, // buff_size
|
||||
20000, // min_test_time_ms
|
||||
2, // Concurrency
|
||||
"Very-slow-line line type detected: profile selected slowband"
|
||||
};
|
||||
|
||||
|
||||
const TestConfig narrowConfigDownload = {
|
||||
1000000, // start_size
|
||||
100000000, // max_size
|
||||
750000, // inc_size
|
||||
4096, // buff_size
|
||||
20000, // min_test_time_ms
|
||||
2, // Concurrency
|
||||
"Buffering-lover line type detected: profile selected narrowband"
|
||||
};
|
||||
|
||||
const TestConfig narrowConfigUpload = {
|
||||
1000000, // start_size
|
||||
100000000, // max_size
|
||||
550000, // inc_size
|
||||
4096, // buff_size
|
||||
20000, // min_test_time_ms
|
||||
2, // Concurrency
|
||||
"Buffering-lover line type detected: profile selected narrowband"
|
||||
};
|
||||
|
||||
const TestConfig broadbandConfigDownload = {
|
||||
1000000, // start_size
|
||||
100000000, // max_size
|
||||
750000, // inc_size
|
||||
65536, // buff_size
|
||||
20000, // min_test_time_ms
|
||||
32, // concurrency
|
||||
"Broadband line type detected: profile selected broadband"
|
||||
|
||||
};
|
||||
|
||||
const TestConfig broadbandConfigUpload = {
|
||||
1000000, // start_size
|
||||
70000000, // max_size
|
||||
250000, // inc_size
|
||||
65536, // buff_size
|
||||
20000, // min_test_time_ms
|
||||
8, // concurrency
|
||||
"Broadband line type detected: profile selected broadband"
|
||||
};
|
||||
|
||||
const TestConfig fiberConfigDownload = {
|
||||
5000000, // start_size
|
||||
120000000, // max_size
|
||||
950000, // inc_size
|
||||
65536, // buff_size
|
||||
20000, // min_test_time_ms
|
||||
32, // concurrency
|
||||
"Fiber / Lan line type detected: profile selected fiber"
|
||||
};
|
||||
|
||||
const TestConfig fiberConfigUpload = {
|
||||
1000000, // start_size
|
||||
70000000, // max_size
|
||||
250000, // inc_size
|
||||
65536, // buff_size
|
||||
20000, // min_test_time_ms
|
||||
12, // concurrency
|
||||
"Fiber / Lan line type detected: profile selected fiber"
|
||||
};
|
||||
|
||||
void testConfigSelector(const double preSpeed, TestConfig& uploadConfig, TestConfig& downloadConfig){
|
||||
uploadConfig = slowConfigUpload;
|
||||
downloadConfig = slowConfigDownload;
|
||||
|
||||
|
||||
if (preSpeed > 4 && preSpeed <= 30){
|
||||
downloadConfig = narrowConfigDownload;
|
||||
uploadConfig = narrowConfigUpload;
|
||||
} else if (preSpeed > 30 && preSpeed < 150) {
|
||||
downloadConfig = broadbandConfigDownload;
|
||||
uploadConfig = broadbandConfigUpload;
|
||||
} else if (preSpeed >= 150) {
|
||||
downloadConfig = fiberConfigDownload;
|
||||
uploadConfig = fiberConfigUpload;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
#endif //SPEEDTEST_TESTCONFIGTEMPLATE_H
|
||||
65
app/Bin/SpeedTest-master/cmake_install.cmake
Normal file
65
app/Bin/SpeedTest-master/cmake_install.cmake
Normal file
@@ -0,0 +1,65 @@
|
||||
# Install script for directory: /home/henry/Downloads/SpeedTest-master
|
||||
|
||||
# Set the install prefix
|
||||
if(NOT DEFINED CMAKE_INSTALL_PREFIX)
|
||||
set(CMAKE_INSTALL_PREFIX "/usr/local")
|
||||
endif()
|
||||
string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
|
||||
|
||||
# Set the install configuration name.
|
||||
if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME)
|
||||
if(BUILD_TYPE)
|
||||
string(REGEX REPLACE "^[^A-Za-z0-9_]+" ""
|
||||
CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}")
|
||||
else()
|
||||
set(CMAKE_INSTALL_CONFIG_NAME "Release")
|
||||
endif()
|
||||
message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"")
|
||||
endif()
|
||||
|
||||
# Set the component getting installed.
|
||||
if(NOT CMAKE_INSTALL_COMPONENT)
|
||||
if(COMPONENT)
|
||||
message(STATUS "Install component: \"${COMPONENT}\"")
|
||||
set(CMAKE_INSTALL_COMPONENT "${COMPONENT}")
|
||||
else()
|
||||
set(CMAKE_INSTALL_COMPONENT)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# Install shared libraries without execute permission?
|
||||
if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE)
|
||||
set(CMAKE_INSTALL_SO_NO_EXE "1")
|
||||
endif()
|
||||
|
||||
# Is this installation the result of a crosscompile?
|
||||
if(NOT DEFINED CMAKE_CROSSCOMPILING)
|
||||
set(CMAKE_CROSSCOMPILING "FALSE")
|
||||
endif()
|
||||
|
||||
if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT)
|
||||
if(EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/SpeedTest" AND
|
||||
NOT IS_SYMLINK "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/SpeedTest")
|
||||
file(RPATH_CHECK
|
||||
FILE "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/SpeedTest"
|
||||
RPATH "")
|
||||
endif()
|
||||
file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/bin" TYPE EXECUTABLE FILES "/home/henry/Downloads/SpeedTest-master/SpeedTest")
|
||||
if(EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/SpeedTest" AND
|
||||
NOT IS_SYMLINK "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/SpeedTest")
|
||||
if(CMAKE_INSTALL_DO_STRIP)
|
||||
execute_process(COMMAND "/usr/bin/strip" "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/SpeedTest")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(CMAKE_INSTALL_COMPONENT)
|
||||
set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt")
|
||||
else()
|
||||
set(CMAKE_INSTALL_MANIFEST "install_manifest.txt")
|
||||
endif()
|
||||
|
||||
string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT
|
||||
"${CMAKE_INSTALL_MANIFEST_FILES}")
|
||||
file(WRITE "/home/henry/Downloads/SpeedTest-master/${CMAKE_INSTALL_MANIFEST}"
|
||||
"${CMAKE_INSTALL_MANIFEST_CONTENT}")
|
||||
1
app/Bin/SpeedTest-master/install_manifest.txt
Normal file
1
app/Bin/SpeedTest-master/install_manifest.txt
Normal file
@@ -0,0 +1 @@
|
||||
/usr/local/bin/SpeedTest
|
||||
303
app/Bin/SpeedTest-master/main.cpp
Normal file
303
app/Bin/SpeedTest-master/main.cpp
Normal file
@@ -0,0 +1,303 @@
|
||||
#include <iostream>
|
||||
#include <map>
|
||||
#include <iomanip>
|
||||
#include "SpeedTest.h"
|
||||
#include "TestConfigTemplate.h"
|
||||
#include "CmdOptions.h"
|
||||
#include <csignal>
|
||||
|
||||
void banner(){
|
||||
std::cout << "SpeedTest++ version " << SpeedTest_VERSION_MAJOR << "." << SpeedTest_VERSION_MINOR << std::endl;
|
||||
std::cout << "Speedtest.net command line interface" << std::endl;
|
||||
std::cout << "Info: " << SpeedTest_HOME_PAGE << std::endl;
|
||||
std::cout << "Author: " << SpeedTest_AUTHOR << std::endl;
|
||||
}
|
||||
|
||||
void usage(const char* name){
|
||||
std::cerr << "Usage: " << name << " ";
|
||||
std::cerr << " [--latency] [--quality] [--download] [--upload] [--share] [--help]\n"
|
||||
" [--test-server host:port] [--output verbose|text|json]\n";
|
||||
std::cerr << "optional arguments:" << std::endl;
|
||||
std::cerr << " --help Show this message and exit\n";
|
||||
std::cerr << " --latency Perform latency test only\n";
|
||||
std::cerr << " --download Perform download test only. It includes latency test\n";
|
||||
std::cerr << " --upload Perform upload test only. It includes latency test\n";
|
||||
std::cerr << " --share Generate and provide a URL to the speedtest.net share results image\n";
|
||||
std::cerr << " --test-server host:port Run speed test against a specific server\n";
|
||||
std::cerr << " --output verbose|text|json Set output type. Default: verbose\n";
|
||||
}
|
||||
|
||||
int main(const int argc, const char **argv) {
|
||||
|
||||
ProgramOptions programOptions;
|
||||
|
||||
if (!ParseOptions(argc, argv, programOptions)){
|
||||
usage(argv[0]);
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
if (programOptions.output_type == OutputType::verbose){
|
||||
banner();
|
||||
std::cout << std::endl;
|
||||
}
|
||||
|
||||
|
||||
if (programOptions.help) {
|
||||
usage(argv[0]);
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
signal(SIGPIPE, SIG_IGN);
|
||||
|
||||
|
||||
auto sp = SpeedTest(SPEED_TEST_MIN_SERVER_VERSION);
|
||||
IPInfo info;
|
||||
ServerInfo serverInfo;
|
||||
ServerInfo serverQualityInfo;
|
||||
|
||||
if (programOptions.output_type == OutputType::json)
|
||||
std::cout << "{";
|
||||
|
||||
if (!sp.ipInfo(info)){
|
||||
std::cerr << "Unable to retrieve your IP info. Try again later" << std::endl;
|
||||
if (programOptions.output_type == OutputType::json)
|
||||
std::cout << "\"error\":\"unable to retrieve your ip info\"}" << std::endl;
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
if (programOptions.output_type == OutputType::verbose){
|
||||
std::cout << "IP: " << info.ip_address
|
||||
<< " ( " << info.isp << " ) "
|
||||
<< "Location: [" << info.lat << ", " << info.lon << "]" << std::endl;
|
||||
} else if (programOptions.output_type == OutputType::text) {
|
||||
std::cout << "IP=" << info.ip_address << std::endl;
|
||||
std::cout << "IP_LAT=" << info.lat << std::endl;
|
||||
std::cout << "IP_LON=" << info.lon << std::endl;
|
||||
std::cout << "PROVIDER=" << info.isp << std::endl;
|
||||
} else if (programOptions.output_type == OutputType::json) {
|
||||
std::cout << "\"client\":{";
|
||||
std::cout << "\"ip\":\"" << info.ip_address << "\",";
|
||||
std::cout << "\"lat\":\"" << info.lat << "\",";
|
||||
std::cout << "\"lon\":\"" << info.lon << "\",";
|
||||
std::cout << "\"isp\":\"" << info.isp << "\"";
|
||||
std::cout << "},";
|
||||
}
|
||||
|
||||
auto serverList = sp.serverList();
|
||||
|
||||
if (programOptions.selected_server.empty()){
|
||||
if (programOptions.output_type == OutputType::verbose)
|
||||
std::cout << "Finding fastest server... " << std::flush;
|
||||
|
||||
if (serverList.empty()){
|
||||
std::cerr << "Unable to download server list. Try again later" << std::endl;
|
||||
if (programOptions.output_type == OutputType::json)
|
||||
std::cout << "\"error\":\"unable to download server list\"}" << std::endl;
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
if (programOptions.output_type == OutputType::verbose)
|
||||
std::cout << serverList.size() << " Servers online" << std::endl;
|
||||
else if (programOptions.output_type == OutputType::json)
|
||||
std::cout << "\"servers_online\":\"" << serverList.size() << "\",";
|
||||
|
||||
|
||||
serverInfo = sp.bestServer(10, [&programOptions](bool success) {
|
||||
if (programOptions.output_type == OutputType::verbose)
|
||||
std::cout << (success ? '.' : '*') << std::flush;
|
||||
});
|
||||
|
||||
if (programOptions.output_type == OutputType::verbose){
|
||||
std::cout << std::endl;
|
||||
std::cout << "Server: " << serverInfo.name
|
||||
<< " " << serverInfo.host
|
||||
<< " by " << serverInfo.sponsor
|
||||
<< " (" << serverInfo.distance << " km from you): "
|
||||
<< sp.latency() << " ms" << std::endl;
|
||||
} else if (programOptions.output_type == OutputType::text) {
|
||||
std::cout << "TEST_SERVER_HOST=" << serverInfo.host << std::endl;
|
||||
std::cout << "TEST_SERVER_DISTANCE=" << serverInfo.distance << std::endl;
|
||||
|
||||
}
|
||||
else if (programOptions.output_type == OutputType::json) {
|
||||
std::cout << "\"server\":{";
|
||||
std::cout << "\"name\":\"" << serverInfo.name << "\",";
|
||||
std::cout << "\"sponsor\":\"" << serverInfo.sponsor << "\",";
|
||||
std::cout << "\"distance\":\"" << serverInfo.distance << "\",";
|
||||
std::cout << "\"latency\":\"" << sp.latency() << "\",";
|
||||
std::cout << "\"host\":\"" << serverInfo.host << "\"";
|
||||
std::cout << "},";
|
||||
}
|
||||
|
||||
} else {
|
||||
|
||||
serverInfo.host.append(programOptions.selected_server);
|
||||
sp.setServer(serverInfo);
|
||||
|
||||
for (auto &s : serverList) {
|
||||
if (s.host == serverInfo.host)
|
||||
serverInfo.id = s.id;
|
||||
}
|
||||
|
||||
if (programOptions.output_type == OutputType::verbose)
|
||||
std::cout << "Selected server: " << serverInfo.host << std::endl;
|
||||
else if (programOptions.output_type == OutputType::text) {
|
||||
std::cout << "TEST_SERVER_HOST=" << serverInfo.host << std::endl;
|
||||
}
|
||||
else if (programOptions.output_type == OutputType::json) {
|
||||
std::cout << "\"server\":{";
|
||||
std::cout << "\"host\":\"" << serverInfo.host << "\"";
|
||||
std::cout << "},";
|
||||
}
|
||||
}
|
||||
|
||||
if (programOptions.output_type == OutputType::verbose)
|
||||
std::cout << "Ping: " << sp.latency() << " ms." << std::endl;
|
||||
else if (programOptions.output_type == OutputType::text)
|
||||
std::cout << "LATENCY=" << sp.latency() << std::endl;
|
||||
else if (programOptions.output_type == OutputType::json) {
|
||||
std::cout << "\"ping\":\"";
|
||||
std::cout << std::fixed;
|
||||
std::cout << sp.latency() << "\",";
|
||||
}
|
||||
|
||||
long jitter = 0;
|
||||
if (programOptions.output_type == OutputType::verbose)
|
||||
std::cout << "Jitter: " << std::flush;
|
||||
if (sp.jitter(serverInfo, jitter)){
|
||||
if (programOptions.output_type == OutputType::verbose)
|
||||
std::cout << jitter << " ms." << std::endl;
|
||||
else if (programOptions.output_type == OutputType::text)
|
||||
std::cout << "JITTER=" << jitter << std::endl;
|
||||
else if (programOptions.output_type == OutputType::json) {
|
||||
std::cout << "\"jitter\":\"";
|
||||
std::cout << std::fixed;
|
||||
std::cout << jitter << "\",";
|
||||
}
|
||||
} else {
|
||||
std::cerr << "Jitter measurement is unavailable at this time." << std::endl;
|
||||
}
|
||||
|
||||
if (programOptions.latency) {
|
||||
if (programOptions.output_type == OutputType::json)
|
||||
std::cout << "\"_\":\"only latency requested\"}" << std::endl;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
if (programOptions.output_type == OutputType::verbose)
|
||||
std::cout << "Determine line type (" << preflightConfigDownload.concurrency << ") " << std::flush;
|
||||
double preSpeed = 0;
|
||||
if (!sp.downloadSpeed(serverInfo, preflightConfigDownload, preSpeed, [&programOptions](bool success){
|
||||
if (programOptions.output_type == OutputType::verbose)
|
||||
std::cout << (success ? '.' : '*') << std::flush;
|
||||
})){
|
||||
std::cerr << "Pre-flight check failed." << std::endl;
|
||||
if (programOptions.output_type == OutputType::json)
|
||||
std::cout << "\"error\":\"pre-flight check failed\"}" << std::endl;
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
if (programOptions.output_type == OutputType::verbose)
|
||||
std::cout << std::endl;
|
||||
|
||||
TestConfig uploadConfig;
|
||||
TestConfig downloadConfig;
|
||||
testConfigSelector(preSpeed, uploadConfig, downloadConfig);
|
||||
|
||||
if (programOptions.output_type == OutputType::verbose)
|
||||
std::cout << downloadConfig.label << std::endl;
|
||||
|
||||
|
||||
if (!programOptions.upload){
|
||||
if (programOptions.output_type == OutputType::verbose){
|
||||
std::cout << std::endl;
|
||||
std::cout << "Testing download speed (" << downloadConfig.concurrency << ") " << std::flush;
|
||||
}
|
||||
|
||||
double downloadSpeed = 0;
|
||||
if (sp.downloadSpeed(serverInfo, downloadConfig, downloadSpeed, [&programOptions](bool success){
|
||||
if (programOptions.output_type == OutputType::verbose)
|
||||
std::cout << (success ? '.' : '*') << std::flush;
|
||||
})){
|
||||
if (programOptions.output_type == OutputType::verbose){
|
||||
std::cout << std::endl;
|
||||
std::cout << "Download: ";
|
||||
std::cout << std::fixed;
|
||||
std::cout << std::setprecision(2);
|
||||
std::cout << downloadSpeed << " Mbit/s" << std::endl;
|
||||
} else if (programOptions.output_type == OutputType::text) {
|
||||
std::cout << "DOWNLOAD_SPEED=";
|
||||
std::cout << std::fixed;
|
||||
std::cout << std::setprecision(2);
|
||||
std::cout << downloadSpeed << std::endl;
|
||||
} else if (programOptions.output_type == OutputType::json) {
|
||||
std::cout << "\"download\":\"";
|
||||
std::cout << std::fixed;
|
||||
std::cout << (downloadSpeed*1000*1000) << "\",";
|
||||
}
|
||||
} else {
|
||||
std::cerr << "Download test failed." << std::endl;
|
||||
if (programOptions.output_type == OutputType::json)
|
||||
std::cout << "\"error\":\"download test failed\"}" << std::endl;
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
}
|
||||
|
||||
if (programOptions.download) {
|
||||
if (programOptions.output_type == OutputType::json)
|
||||
std::cout << "\"_\":\"only download requested\"}" << std::endl;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
if (programOptions.output_type == OutputType::verbose)
|
||||
std::cout << "Testing upload speed (" << uploadConfig.concurrency << ") " << std::flush;
|
||||
|
||||
double uploadSpeed = 0;
|
||||
if (sp.uploadSpeed(serverInfo, uploadConfig, uploadSpeed, [&programOptions](bool success){
|
||||
if (programOptions.output_type == OutputType::verbose)
|
||||
std::cout << (success ? '.' : '*') << std::flush;
|
||||
})){
|
||||
if (programOptions.output_type == OutputType::verbose){
|
||||
std::cout << std::endl;
|
||||
std::cout << "Upload: ";
|
||||
std::cout << std::fixed;
|
||||
std::cout << std::setprecision(2);
|
||||
std::cout << uploadSpeed << " Mbit/s" << std::endl;
|
||||
} else if (programOptions.output_type == OutputType::text) {
|
||||
std::cout << "UPLOAD_SPEED=";
|
||||
std::cout << std::fixed;
|
||||
std::cout << std::setprecision(2);
|
||||
std::cout << uploadSpeed << std::endl;
|
||||
} else if (programOptions.output_type == OutputType::json) {
|
||||
std::cout << "\"upload\":\"";
|
||||
std::cout << std::fixed;
|
||||
std::cout << (uploadSpeed*1000*1000) << "\",";
|
||||
}
|
||||
|
||||
} else {
|
||||
std::cerr << "Upload test failed." << std::endl;
|
||||
if (programOptions.output_type == OutputType::json)
|
||||
std::cout << "\"error\":\"upload test failed\"}" << std::endl;
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
|
||||
if (programOptions.share){
|
||||
std::string share_it;
|
||||
if (sp.share(serverInfo, share_it)) {
|
||||
if (programOptions.output_type == OutputType::verbose) {
|
||||
std::cout << "Results image: " << share_it << std::endl;
|
||||
} else if (programOptions.output_type == OutputType::text) {
|
||||
std::cout << "IMAGE_URL=" << share_it << std::endl;
|
||||
} else if (programOptions.output_type == OutputType::json) {
|
||||
std::cout << "\"share\":\"" << share_it << "\",";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (programOptions.output_type == OutputType::json)
|
||||
std::cout << "\"_\":\"all ok\"}" << std::endl;
|
||||
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
BIN
app/Bin/SpeedTest-master/usr/local/bin/SpeedTest
Executable file
BIN
app/Bin/SpeedTest-master/usr/local/bin/SpeedTest
Executable file
Binary file not shown.
@@ -3,9 +3,14 @@
|
||||
namespace App\Helpers;
|
||||
|
||||
use App\Speedtest;
|
||||
use Carbon\Carbon;
|
||||
use Exception;
|
||||
use GuzzleHttp\Client;
|
||||
use GuzzleHttp\Psr7\Request;
|
||||
use Illuminate\Support\Facades\Cache;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
use JsonException;
|
||||
use SimpleXMLElement;
|
||||
|
||||
class SpeedtestHelper {
|
||||
public static function runSpeedtest($output = false)
|
||||
@@ -34,14 +39,102 @@ class SpeedtestHelper {
|
||||
public static function output()
|
||||
{
|
||||
$server = SettingsHelper::get('server')['value'];
|
||||
$binPath = app_path() . DIRECTORY_SEPARATOR . 'Bin' . DIRECTORY_SEPARATOR . 'SpeedTest';
|
||||
if($server != '' && $server != false) {
|
||||
$server = explode(',', $server);
|
||||
$server = $server[array_rand($server)];
|
||||
$server = SpeedtestHelper::resolveServer($server);
|
||||
if($server == false) {
|
||||
Log::error('Speedtest server undefined');
|
||||
return false;
|
||||
}
|
||||
$server = $server['host'];
|
||||
|
||||
return shell_exec('speedtest-cli --json --server ' . $server);
|
||||
return shell_exec($binPath . ' --output json --test-server ' . $server);
|
||||
}
|
||||
|
||||
return shell_exec('speedtest-cli --json');
|
||||
return shell_exec($binPath . ' --output json');
|
||||
}
|
||||
|
||||
/*
|
||||
* Resolve the server host/port from speedtest server id
|
||||
*/
|
||||
public static function resolveServer($id)
|
||||
{
|
||||
$ttl = Carbon::now()->addMinutes(120);
|
||||
$ids = Cache::remember('servers', $ttl, function () {
|
||||
$urls = [
|
||||
'http://www.speedtest.net/speedtest-servers-static.php',
|
||||
'http://c.speedtest.net/speedtest-servers-static.php',
|
||||
'http://www.speedtest.net/speedtest-servers.php',
|
||||
'http://c.speedtest.net/speedtest-servers.php',
|
||||
];
|
||||
|
||||
$client = new Client([]);
|
||||
|
||||
$ids = [];
|
||||
foreach($urls as $url) {
|
||||
try {
|
||||
$response = $client->get($url);
|
||||
if($response->getStatusCode() == 200) {
|
||||
$data = (string) $response->getBody();
|
||||
$data = simplexml_load_string($data);
|
||||
$data = SpeedtestHelper::xmlToArray($data);
|
||||
$data = $data['settings']['servers']['server'];
|
||||
foreach($data as $s) {
|
||||
$ids[$s['attributes']['id']] = $s['attributes'];
|
||||
}
|
||||
} else {
|
||||
continue;
|
||||
}
|
||||
} catch(Exception $e) {
|
||||
Log::error('Speedtest server resolver error');
|
||||
Log::error($e->getMessage());
|
||||
continue;
|
||||
}
|
||||
}
|
||||
return $ids;
|
||||
});
|
||||
|
||||
if(array_key_exists($id, $ids)) {
|
||||
return $ids[$id];
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public static function xmlToArray(SimpleXMLElement $xml): array
|
||||
{
|
||||
$parser = function (SimpleXMLElement $xml, array $collection = []) use (&$parser) {
|
||||
$nodes = $xml->children();
|
||||
$attributes = $xml->attributes();
|
||||
|
||||
if (0 !== count($attributes)) {
|
||||
foreach ($attributes as $attrName => $attrValue) {
|
||||
$collection['attributes'][$attrName] = strval($attrValue);
|
||||
}
|
||||
}
|
||||
|
||||
if (0 === $nodes->count()) {
|
||||
$collection['value'] = strval($xml);
|
||||
return $collection;
|
||||
}
|
||||
|
||||
foreach ($nodes as $nodeName => $nodeValue) {
|
||||
if (count($nodeValue->xpath('../' . $nodeName)) < 2) {
|
||||
$collection[$nodeName] = $parser($nodeValue);
|
||||
continue;
|
||||
}
|
||||
|
||||
$collection[$nodeName][] = $parser($nodeValue);
|
||||
}
|
||||
|
||||
return $collection;
|
||||
};
|
||||
|
||||
return [
|
||||
$xml->getName() => $parser($xml)
|
||||
];
|
||||
}
|
||||
|
||||
public static function latest()
|
||||
|
||||
@@ -1,4 +1,10 @@
|
||||
{
|
||||
"1.5.3": [
|
||||
{
|
||||
"description": "Changed speedtest client",
|
||||
"link": ""
|
||||
}
|
||||
],
|
||||
"1.5.2": [
|
||||
{
|
||||
"description": "Updated dependencies",
|
||||
|
||||
@@ -7,7 +7,7 @@ return [
|
||||
|--------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
'version' => '1.5.2',
|
||||
'version' => '1.5.3',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user