diff options
Diffstat (limited to 'host/cmake')
| -rw-r--r-- | host/cmake/Modules/UHDBuildInfo.cmake | 64 | ||||
| -rw-r--r-- | host/cmake/Modules/UHDConfig.cmake.in | 1 | ||||
| -rw-r--r-- | host/cmake/Modules/UHDConfigVersion.cmake.in | 5 | ||||
| -rw-r--r-- | host/cmake/Modules/UHDGlobalDefs.cmake | 11 | ||||
| -rw-r--r-- | host/cmake/Modules/UHDUnitTest.cmake | 4 | ||||
| -rw-r--r-- | host/cmake/Modules/UHDVersion.cmake | 64 | ||||
| -rw-r--r-- | host/cmake/debian/changelog | 24 | ||||
| -rw-r--r-- | host/cmake/msvc/inttypes.h | 301 | ||||
| -rw-r--r-- | host/cmake/msvc/stdint.h | 226 | 
9 files changed, 155 insertions, 545 deletions
| diff --git a/host/cmake/Modules/UHDBuildInfo.cmake b/host/cmake/Modules/UHDBuildInfo.cmake new file mode 100644 index 000000000..c64f748ae --- /dev/null +++ b/host/cmake/Modules/UHDBuildInfo.cmake @@ -0,0 +1,64 @@ +# +# Copyright 2015-2016 National Instruments Corp. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program.  If not, see <http://www.gnu.org/licenses/>. +# + +# +# We need this to be macro because GET_DIRECTORY_PROPERTY works with +# the current directory. +# +MACRO(UHD_LOAD_BUILD_INFO) +    MESSAGE(STATUS "") +    MESSAGE(STATUS "Loading build info.") + +    # Build date +    IF(IGNORE_BUILD_DATE) +        SET(UHD_BUILD_DATE "") +    ELSE() +        EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c +            "import time; print(time.strftime('%a, %d %b %Y %H:%M:%S', time.gmtime()))" +            OUTPUT_VARIABLE UHD_BUILD_DATE OUTPUT_STRIP_TRAILING_WHITESPACE +        ) +    ENDIF(IGNORE_BUILD_DATE) + +    # Compiler name +    IF(MSVC) +        IF(MSVC10) +            SET(UHD_C_COMPILER "MSVC 2010") +            SET(UHD_CXX_COMPILER "MSVC 2010") +        ELSEIF(MSVC11) +            SET(UHD_C_COMPILER "MSVC 2012") +            SET(UHD_CXX_COMPILER "MSVC 2012") +        ELSEIF(MSVC12) +            SET(UHD_C_COMPILER "MSVC 2013") +            SET(UHD_CXX_COMPILER "MSVC 2013") +        ELSEIF(MSVC14) +            SET(UHD_C_COMPILER "MSVC 2015") +            SET(UHD_CXX_COMPILER "MSVC 2015") +        ELSE() +            # Go with the ugly string +            SET(UHD_C_COMPILER "MSVC ${CMAKE_C_COMPILER_VERSION}") +            SET(UHD_CXX_COMPILER "MSVC ${CMAKE_CXX_COMPILER_VERSION}") +        ENDIF(MSVC10) +    ELSE() +        SET(UHD_C_COMPILER "${CMAKE_C_COMPILER_ID} ${CMAKE_C_COMPILER_VERSION}") +        SET(UHD_CXX_COMPILER "${CMAKE_CXX_COMPILER_ID} ${CMAKE_CXX_COMPILER_VERSION}") +    ENDIF(MSVC) + +    # Compiler flags +    GET_DIRECTORY_PROPERTY(uhd_flags COMPILE_DEFINITIONS) +    SET(UHD_C_FLAGS "${uhd_flags}${CMAKE_C_FLAGS}") # CMAKE_C_FLAGS starts with a space +    SET(UHD_CXX_FLAGS "${uhd_flags}${CMAKE_CXX_FLAGS}") # CMAKE_CXX_FLAGS starts with a space +ENDMACRO(UHD_LOAD_BUILD_INFO) diff --git a/host/cmake/Modules/UHDConfig.cmake.in b/host/cmake/Modules/UHDConfig.cmake.in index 78f01706f..e0951a93e 100644 --- a/host/cmake/Modules/UHDConfig.cmake.in +++ b/host/cmake/Modules/UHDConfig.cmake.in @@ -36,6 +36,7 @@ set(ENV{UHD_CONFIG_USED} TRUE)  # set default values  SET(UHD_FOUND TRUE) +SET(UHD_RFNOC_FOUND @UHD_RFNOC_FOUND@)  SET(UHD_INCLUDE_HINTS)  SET(UHD_LIBDIR_HINTS)  SET(UHD_DIR $ENV{UHD_DIR}) diff --git a/host/cmake/Modules/UHDConfigVersion.cmake.in b/host/cmake/Modules/UHDConfigVersion.cmake.in index 67e0e408d..549798324 100644 --- a/host/cmake/Modules/UHDConfigVersion.cmake.in +++ b/host/cmake/Modules/UHDConfigVersion.cmake.in @@ -30,7 +30,8 @@ set(ENV{UHD_CONFIG_VERSION_USED} TRUE)  # statically in here to avoid using Python all over again.  SET(MAJOR_VERSION @TRIMMED_VERSION_MAJOR@) -SET(MINOR_VERSION @TRIMMED_VERSION_MINOR@) +SET(API_VERSION @TRIMMED_VERSION_API@) +SET(ABI_VERSION @TRIMMED_VERSION_ABI@)  SET(PATCH_VERSION @TRIMMED_VERSION_PATCH@)  SET(DEVEL_VERSION @UHD_VERSION_DEVEL@) @@ -53,7 +54,7 @@ ENDIF(NOT PACKAGE_FIND_VERSION)  # to add a fake patch version that should be higher than anything the user  # requests.  IF(DEVEL_VERSION) -  SET(PACKAGE_VERSION "${MAJOR_VERSION}.${MINOR_VERSION}.999") +    SET(PACKAGE_VERSION "${MAJOR_VERSION}.${API_VERSION}.${ABI_VERSION}.999")  ENDIF(DEVEL_VERSION)  # assume incorrect versioning by default diff --git a/host/cmake/Modules/UHDGlobalDefs.cmake b/host/cmake/Modules/UHDGlobalDefs.cmake index 58c0b1287..167861402 100644 --- a/host/cmake/Modules/UHDGlobalDefs.cmake +++ b/host/cmake/Modules/UHDGlobalDefs.cmake @@ -1,5 +1,5 @@  # -# Copyright 2015 Ettus Research LLC +# Copyright 2015,2016 Ettus Research LLC  #  # This program is free software: you can redistribute it and/or modify  # it under the terms of the GNU General Public License as published by @@ -24,11 +24,16 @@ CHECK_CXX_SYMBOL_EXISTS(log2 cmath HAVE_LOG2)  ## Macros for the version number  IF(UHD_VERSION_DEVEL) -    MATH(EXPR UHD_VERSION_ADDED "10000 * ${TRIMMED_VERSION_MAJOR} + 100 * ${TRIMMED_VERSION_MINOR} + 99") +    MATH(EXPR UHD_VERSION_ADDED "1000000 * ${TRIMMED_VERSION_MAJOR} + 10000 * ${TRIMMED_VERSION_API} + 100 * ${TRIMMED_VERSION_ABI} + 99")  ELSE() -    MATH(EXPR UHD_VERSION_ADDED "10000 * ${TRIMMED_VERSION_MAJOR} + 100 * ${TRIMMED_VERSION_MINOR} + ${TRIMMED_VERSION_PATCH}") +    MATH(EXPR UHD_VERSION_ADDED "1000000 * ${TRIMMED_VERSION_MAJOR} + 10000 * ${TRIMMED_VERSION_API} + 100 * ${TRIMMED_VERSION_ABI} + ${TRIMMED_VERSION_PATCH}")  ENDIF(UHD_VERSION_DEVEL)  ADD_DEFINITIONS(-DUHD_VERSION=${UHD_VERSION_ADDED}) +## RFNoC +IF(ENABLE_RFNOC) +    ADD_DEFINITIONS(-DUHD_RFNOC_ENABLED) +ENDIF(ENABLE_RFNOC) +  ## make sure the code knows about config.h  ADD_DEFINITIONS(-DHAVE_CONFIG_H) diff --git a/host/cmake/Modules/UHDUnitTest.cmake b/host/cmake/Modules/UHDUnitTest.cmake index f3e848906..b543a4d1c 100644 --- a/host/cmake/Modules/UHDUnitTest.cmake +++ b/host/cmake/Modules/UHDUnitTest.cmake @@ -60,7 +60,7 @@ function(UHD_ADD_TEST test_name)          #replace list separator with the path separator          string(REPLACE ";" ":" libpath "${libpath}") -        list(APPEND environs "PATH=${binpath}" "${LD_PATH_VAR}=${libpath}") +        list(APPEND environs "PATH=${binpath}" "${LD_PATH_VAR}=${libpath}" "UHD_RFNOC_DIR=${CMAKE_SOURCE_DIR}/include/uhd/rfnoc")          #generate a bat file that sets the environment and runs the test          if (CMAKE_CROSSCOMPILING) @@ -92,7 +92,7 @@ function(UHD_ADD_TEST test_name)          #replace list separator with the path separator (escaped)          string(REPLACE ";" "\\;" libpath "${libpath}") -        list(APPEND environs "PATH=${libpath}") +        list(APPEND environs "PATH=${libpath}" "UHD_RFNOC_DIR=${CMAKE_SOURCE_DIR}/include/uhd/rfnoc")          #generate a bat file that sets the environment and runs the test          set(bat_file ${CMAKE_CURRENT_BINARY_DIR}/${test_name}_test.bat) diff --git a/host/cmake/Modules/UHDVersion.cmake b/host/cmake/Modules/UHDVersion.cmake index 4b26efdb2..5b1c314f0 100644 --- a/host/cmake/Modules/UHDVersion.cmake +++ b/host/cmake/Modules/UHDVersion.cmake @@ -1,5 +1,5 @@  # -# Copyright 2010-2014 Ettus Research LLC +# Copyright 2010-2014,2016 Ettus Research LLC  #  # This program is free software: you can redistribute it and/or modify  # it under the terms of the GNU General Public License as published by @@ -21,20 +21,61 @@ FIND_PACKAGE(Git QUIET)  ########################################################################  # Setup Version Numbers -#  - increment major on api compatibility changes -#  - increment minor on feature-level changes -#  - increment patch on for bug fixes and docs +#  - Increment major on large-scale library changes +#  - Increment API on API changes +#  - Increment ABI on ABI changes +#  - Increment patch for bugfixes and docs  #  - set UHD_VERSION_DEVEL to true for master and development branches  ########################################################################  SET(UHD_VERSION_MAJOR 003) -SET(UHD_VERSION_MINOR 009) -SET(UHD_VERSION_PATCH 004) +SET(UHD_VERSION_API   010) +SET(UHD_VERSION_ABI   000) +SET(UHD_VERSION_PATCH 000)  SET(UHD_VERSION_DEVEL FALSE)  ######################################################################## -# Set up trimmed version numbers for DLL resource files and packages +# If we're on a development branch, we skip the patch version  ######################################################################## +IF(DEFINED UHD_VERSION_PATCH_OVERRIDE) +    SET(UHD_VERSION_DEVEL FALSE) +    SET(UHD_VERSION_PATCH ${UHD_VERSION_PATCH_OVERRIDE}) +ENDIF(DEFINED UHD_VERSION_PATCH_OVERRIDE) +IF(NOT DEFINED UHD_VERSION_DEVEL) +    SET(UHD_VERSION_DEVEL FALSE) +ENDIF(NOT DEFINED UHD_VERSION_DEVEL) +SET(UHD_GIT_BRANCH "") +IF(GIT_FOUND) +    EXECUTE_PROCESS( +        WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} +        COMMAND ${GIT_EXECUTABLE} rev-parse --abbrev-ref HEAD +        OUTPUT_VARIABLE _git_branch OUTPUT_STRIP_TRAILING_WHITESPACE +        RESULT_VARIABLE _git_branch_result +    ) +    IF(_git_branch_result EQUAL 0) +        SET(UHD_GIT_BRANCH ${_git_branch}) +        IF(UHD_GIT_BRANCH STREQUAL "maint") +            MESSAGE(STATUS "Operating on maint branch (stable).") +	    SET(UHD_VERSION_DEVEL FALSE) +        ELSEIF(UHD_GIT_BRANCH STREQUAL "master") +            MESSAGE(STATUS "Operating on master branch.") +            SET(UHD_VERSION_DEVEL TRUE) +        ELSE() +            MESSAGE(STATUS "Working off of feature or development branch. Updating version number.") +            EXECUTE_PROCESS( +                COMMAND ${PYTHON_EXECUTABLE} -c "print('${_git_branch}'.replace('/', '-'))" +                OUTPUT_VARIABLE _git_safe_branch OUTPUT_STRIP_TRAILING_WHITESPACE +            ) +            SET(UHD_VERSION_PATCH ${_git_safe_branch}) +            SET(UHD_VERSION_DEVEL TRUE) +        ENDIF() +    ELSE() +        MESSAGE(STATUS "Could not determine git branch. Probably building from tarball.") +    ENDIF() +ENDIF(GIT_FOUND) +######################################################################## +# Set up trimmed version numbers for DLL resource files and packages +########################################################################  FUNCTION(DEPAD_NUM input_num output_num)      EXECUTE_PROCESS(          WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} @@ -45,13 +86,14 @@ FUNCTION(DEPAD_NUM input_num output_num)  ENDFUNCTION(DEPAD_NUM)  DEPAD_NUM(${UHD_VERSION_MAJOR} TRIMMED_VERSION_MAJOR) -DEPAD_NUM(${UHD_VERSION_MINOR} TRIMMED_VERSION_MINOR) +DEPAD_NUM(${UHD_VERSION_API}   TRIMMED_VERSION_API) +DEPAD_NUM(${UHD_VERSION_ABI}   TRIMMED_VERSION_ABI)  IF(UHD_VERSION_DEVEL)      SET(TRIMMED_VERSION_PATCH ${UHD_VERSION_PATCH})  ELSE(UHD_VERSION_DEVEL)      DEPAD_NUM(${UHD_VERSION_PATCH} TRIMMED_VERSION_PATCH)  ENDIF(UHD_VERSION_DEVEL) -SET(TRIMMED_UHD_VERSION "${TRIMMED_VERSION_MAJOR}.${TRIMMED_VERSION_MINOR}.${TRIMMED_VERSION_PATCH}") +SET(TRIMMED_UHD_VERSION "${TRIMMED_VERSION_MAJOR}.${TRIMMED_VERSION_API}.${TRIMMED_VERSION_ABI}.${TRIMMED_VERSION_PATCH}")  ########################################################################  # Version information discovery through git log @@ -112,7 +154,7 @@ ENDIF()  ########################################################################  IF(TRIM_UHD_VERSION STREQUAL "True") -    SET(UHD_VERSION "${UHD_VERSION_MAJOR}.${UHD_VERSION_MINOR}.${UHD_VERSION_PATCH}-${UHD_GIT_HASH}") +    SET(UHD_VERSION "${UHD_VERSION_MAJOR}.${UHD_VERSION_API}.${UHD_VERSION_ABI}.${UHD_VERSION_PATCH}-${UHD_GIT_HASH}")  ELSE() -    SET(UHD_VERSION "${UHD_VERSION_MAJOR}.${UHD_VERSION_MINOR}.${UHD_VERSION_PATCH}-${UHD_GIT_COUNT}-${UHD_GIT_HASH}") +    SET(UHD_VERSION "${UHD_VERSION_MAJOR}.${UHD_VERSION_API}.${UHD_VERSION_ABI}.${UHD_VERSION_PATCH}-${UHD_GIT_COUNT}-${UHD_GIT_HASH}")  ENDIF() diff --git a/host/cmake/debian/changelog b/host/cmake/debian/changelog index f83d834a2..48732ca38 100644 --- a/host/cmake/debian/changelog +++ b/host/cmake/debian/changelog @@ -1,3 +1,27 @@ +uhd (3.10.0.0-0ubuntu1) trusty; urgency=low + +  - Changed version string to quadruplets (Major.API.ABI.Patch) +  - Minimum dependencies bumped for gcc, Boost, CMake, clang and Python. +  - TwinRX: Added support. Includes LO API for multi_usrp. +  - N230: Added support +  - Added expert framework +  - X300: Completely restructured to use RFNoC +  - X300: FPGA builds include git hash, dual 10GigE receive is now supported +    (allows 2x200 Msps receive over 2x10GigE connections), DMA FIFO (over DRAM) +    now part of builds, added Aurora support +  - WBX: Fixed bug that prevented LO locking with 50 MHz ref clock +  - pkg-config: Added boost_system +  - Utils: uhd_usrp_probe can query sensors, query_gpsdo_sensors: minor fixes, +    and cleanup +  - Examples: Bugfixes in tx_waveforms, benchmark_rate measures timeouts, +  - USB subsystem: Cleanups and minor bugfixes +  - Added devtest infrastructure +  - Converters: Added s8 and s16 data types +  - Added more aggressive optimization strategies for FPGA builds +  - Xilinx IP tool upgrade scripts cleaned up + + -- Ettus Research <packages@ettus.com>  Thu, 11 Aug 2016 04:48:49 -0800 +  uhd (3.9.4-0ubuntu1) trusty; urgency=low    - GPIO control: Fix address mismatch for RX and full duplex. diff --git a/host/cmake/msvc/inttypes.h b/host/cmake/msvc/inttypes.h deleted file mode 100644 index 1c2baa82e..000000000 --- a/host/cmake/msvc/inttypes.h +++ /dev/null @@ -1,301 +0,0 @@ -// ISO C9x  compliant inttypes.h for Microsoft Visual Studio -// Based on ISO/IEC 9899:TC2 Committee draft (May 6, 2005) WG14/N1124  -//  -//  Copyright (c) 2006 Alexander Chemeris -//  -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are met: -//  -//   1. Redistributions of source code must retain the above copyright notice, -//      this list of conditions and the following disclaimer. -//  -//   2. Redistributions in binary form must reproduce the above copyright -//      notice, this list of conditions and the following disclaimer in the -//      documentation and/or other materials provided with the distribution. -//  -//   3. The name of the author may be used to endorse or promote products -//      derived from this software without specific prior written permission. -//  -// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED -// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -// EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,  -// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -//  -/////////////////////////////////////////////////////////////////////////////// - -#ifndef _MSC_VER // [ -#error "Use this header only with Microsoft Visual C++ compilers!" -#endif // _MSC_VER ] - -#ifndef _MSC_INTTYPES_H_ // [ -#define _MSC_INTTYPES_H_ - -#if _MSC_VER > 1000 -#pragma once -#endif - -#include <stdint.h> - -// 7.8 Format conversion of integer types - -typedef struct { -   intmax_t quot; -   intmax_t rem; -} imaxdiv_t; - -// 7.8.1 Macros for format specifiers - -// The fprintf macros for signed integers are: -#define PRId8       "d" -#define PRIi8       "i" -#define PRIdLEAST8  "d" -#define PRIiLEAST8  "i" -#define PRIdFAST8   "d" -#define PRIiFAST8   "i" - -#define PRId16       "hd" -#define PRIi16       "hi" -#define PRIdLEAST16  "hd" -#define PRIiLEAST16  "hi" -#define PRIdFAST16   "hd" -#define PRIiFAST16   "hi" - -#define PRId32       "I32d" -#define PRIi32       "I32i" -#define PRIdLEAST32  "I32d" -#define PRIiLEAST32  "I32i" -#define PRIdFAST32   "I32d" -#define PRIiFAST32   "I32i" - -#define PRId64       "I64d" -#define PRIi64       "I64i" -#define PRIdLEAST64  "I64d" -#define PRIiLEAST64  "I64i" -#define PRIdFAST64   "I64d" -#define PRIiFAST64   "I64i" - -#define PRIdMAX     "I64d" -#define PRIiMAX     "I64i" - -#define PRIdPTR     "Id" -#define PRIiPTR     "Ii" - -// The fprintf macros for unsigned integers are: -#define PRIo8       "o" -#define PRIu8       "u" -#define PRIx8       "x" -#define PRIX8       "X" -#define PRIoLEAST8  "o" -#define PRIuLEAST8  "u" -#define PRIxLEAST8  "x" -#define PRIXLEAST8  "X" -#define PRIoFAST8   "o" -#define PRIuFAST8   "u" -#define PRIxFAST8   "x" -#define PRIXFAST8   "X" - -#define PRIo16       "ho" -#define PRIu16       "hu" -#define PRIx16       "hx" -#define PRIX16       "hX" -#define PRIoLEAST16  "ho" -#define PRIuLEAST16  "hu" -#define PRIxLEAST16  "hx" -#define PRIXLEAST16  "hX" -#define PRIoFAST16   "ho" -#define PRIuFAST16   "hu" -#define PRIxFAST16   "hx" -#define PRIXFAST16   "hX" - -#define PRIo32       "I32o" -#define PRIu32       "I32u" -#define PRIx32       "I32x" -#define PRIX32       "I32X" -#define PRIoLEAST32  "I32o" -#define PRIuLEAST32  "I32u" -#define PRIxLEAST32  "I32x" -#define PRIXLEAST32  "I32X" -#define PRIoFAST32   "I32o" -#define PRIuFAST32   "I32u" -#define PRIxFAST32   "I32x" -#define PRIXFAST32   "I32X" - -#define PRIo64       "I64o" -#define PRIu64       "I64u" -#define PRIx64       "I64x" -#define PRIX64       "I64X" -#define PRIoLEAST64  "I64o" -#define PRIuLEAST64  "I64u" -#define PRIxLEAST64  "I64x" -#define PRIXLEAST64  "I64X" -#define PRIoFAST64   "I64o" -#define PRIuFAST64   "I64u" -#define PRIxFAST64   "I64x" -#define PRIXFAST64   "I64X" - -#define PRIoMAX     "I64o" -#define PRIuMAX     "I64u" -#define PRIxMAX     "I64x" -#define PRIXMAX     "I64X" - -#define PRIoPTR     "Io" -#define PRIuPTR     "Iu" -#define PRIxPTR     "Ix" -#define PRIXPTR     "IX" - -// The fscanf macros for signed integers are: -#define SCNd8       "d" -#define SCNi8       "i" -#define SCNdLEAST8  "d" -#define SCNiLEAST8  "i" -#define SCNdFAST8   "d" -#define SCNiFAST8   "i" - -#define SCNd16       "hd" -#define SCNi16       "hi" -#define SCNdLEAST16  "hd" -#define SCNiLEAST16  "hi" -#define SCNdFAST16   "hd" -#define SCNiFAST16   "hi" - -#define SCNd32       "ld" -#define SCNi32       "li" -#define SCNdLEAST32  "ld" -#define SCNiLEAST32  "li" -#define SCNdFAST32   "ld" -#define SCNiFAST32   "li" - -#define SCNd64       "I64d" -#define SCNi64       "I64i" -#define SCNdLEAST64  "I64d" -#define SCNiLEAST64  "I64i" -#define SCNdFAST64   "I64d" -#define SCNiFAST64   "I64i" - -#define SCNdMAX     "I64d" -#define SCNiMAX     "I64i" - -#ifdef _WIN64 // [ -#  define SCNdPTR     "I64d" -#  define SCNiPTR     "I64i" -#else  // _WIN64 ][ -#  define SCNdPTR     "ld" -#  define SCNiPTR     "li" -#endif  // _WIN64 ] - -// The fscanf macros for unsigned integers are: -#define SCNo8       "o" -#define SCNu8       "u" -#define SCNx8       "x" -#define SCNX8       "X" -#define SCNoLEAST8  "o" -#define SCNuLEAST8  "u" -#define SCNxLEAST8  "x" -#define SCNXLEAST8  "X" -#define SCNoFAST8   "o" -#define SCNuFAST8   "u" -#define SCNxFAST8   "x" -#define SCNXFAST8   "X" - -#define SCNo16       "ho" -#define SCNu16       "hu" -#define SCNx16       "hx" -#define SCNX16       "hX" -#define SCNoLEAST16  "ho" -#define SCNuLEAST16  "hu" -#define SCNxLEAST16  "hx" -#define SCNXLEAST16  "hX" -#define SCNoFAST16   "ho" -#define SCNuFAST16   "hu" -#define SCNxFAST16   "hx" -#define SCNXFAST16   "hX" - -#define SCNo32       "lo" -#define SCNu32       "lu" -#define SCNx32       "lx" -#define SCNX32       "lX" -#define SCNoLEAST32  "lo" -#define SCNuLEAST32  "lu" -#define SCNxLEAST32  "lx" -#define SCNXLEAST32  "lX" -#define SCNoFAST32   "lo" -#define SCNuFAST32   "lu" -#define SCNxFAST32   "lx" -#define SCNXFAST32   "lX" - -#define SCNo64       "I64o" -#define SCNu64       "I64u" -#define SCNx64       "I64x" -#define SCNX64       "I64X" -#define SCNoLEAST64  "I64o" -#define SCNuLEAST64  "I64u" -#define SCNxLEAST64  "I64x" -#define SCNXLEAST64  "I64X" -#define SCNoFAST64   "I64o" -#define SCNuFAST64   "I64u" -#define SCNxFAST64   "I64x" -#define SCNXFAST64   "I64X" - -#define SCNoMAX     "I64o" -#define SCNuMAX     "I64u" -#define SCNxMAX     "I64x" -#define SCNXMAX     "I64X" - -#ifdef _WIN64 // [ -#  define SCNoPTR     "I64o" -#  define SCNuPTR     "I64u" -#  define SCNxPTR     "I64x" -#  define SCNXPTR     "I64X" -#else  // _WIN64 ][ -#  define SCNoPTR     "lo" -#  define SCNuPTR     "lu" -#  define SCNxPTR     "lx" -#  define SCNXPTR     "lX" -#endif  // _WIN64 ] - -// 7.8.2 Functions for greatest-width integer types - -// 7.8.2.1 The imaxabs function -#define imaxabs _abs64 - -// 7.8.2.2 The imaxdiv function - -// This is modified version of div() function from Microsoft's div.c found -// in %MSVC.NET%\crt\src\div.c -#ifdef STATIC_IMAXDIV // [ -static -#else // STATIC_IMAXDIV ][ -_inline -#endif // STATIC_IMAXDIV ] -imaxdiv_t __cdecl imaxdiv(intmax_t numer, intmax_t denom) -{ -   imaxdiv_t result; - -   result.quot = numer / denom; -   result.rem = numer % denom; - -   if (numer < 0 && result.rem > 0) { -      // did division wrong; must fix up -      ++result.quot; -      result.rem -= denom; -   } - -   return result; -} - -// 7.8.2.3 The strtoimax and strtoumax functions -#define strtoimax _strtoi64 -#define strtoumax _strtoui64 - -// 7.8.2.4 The wcstoimax and wcstoumax functions -#define wcstoimax _wcstoi64 -#define wcstoumax _wcstoui64 - - -#endif // _MSC_INTTYPES_H_ ] diff --git a/host/cmake/msvc/stdint.h b/host/cmake/msvc/stdint.h deleted file mode 100644 index 15333b467..000000000 --- a/host/cmake/msvc/stdint.h +++ /dev/null @@ -1,226 +0,0 @@ -// ISO C9x  compliant stdint.h for Microsoft Visual Studio -// Based on ISO/IEC 9899:TC2 Committee draft (May 6, 2005) WG14/N1124  -//  -//  Copyright (c) 2006 Alexander Chemeris -//  -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are met: -//  -//   1. Redistributions of source code must retain the above copyright notice, -//      this list of conditions and the following disclaimer. -//  -//   2. Redistributions in binary form must reproduce the above copyright -//      notice, this list of conditions and the following disclaimer in the -//      documentation and/or other materials provided with the distribution. -//  -//   3. The name of the author may be used to endorse or promote products -//      derived from this software without specific prior written permission. -//  -// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED -// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -// EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,  -// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -//  -/////////////////////////////////////////////////////////////////////////////// - -#ifndef _MSC_VER // [ -#error "Use this header only with Microsoft Visual C++ compilers!" -#endif // _MSC_VER ] - -#ifndef _MSC_STDINT_H_ // [ -#define _MSC_STDINT_H_ - -#if _MSC_VER > 1000 -#pragma once -#endif - -#include <limits.h> - -// For Visual Studio 6 in C++ mode wrap <wchar.h> include with 'extern "C++" {}' -// or compiler give many errors like this: -//   error C2733: second C linkage of overloaded function 'wmemchr' not allowed -#if (_MSC_VER < 1300) && defined(__cplusplus) -   extern "C++" { -#endif  -#     include <wchar.h> -#if (_MSC_VER < 1300) && defined(__cplusplus) -   } -#endif - -// 7.18.1 Integer types - -// 7.18.1.1 Exact-width integer types -typedef __int8            int8_t; -typedef __int16           int16_t; -typedef __int32           int32_t; -typedef __int64           int64_t; -typedef unsigned __int8   uint8_t; -typedef unsigned __int16  uint16_t; -typedef unsigned __int32  uint32_t; -typedef unsigned __int64  uint64_t; - -// 7.18.1.2 Minimum-width integer types -typedef int8_t    int_least8_t; -typedef int16_t   int_least16_t; -typedef int32_t   int_least32_t; -typedef int64_t   int_least64_t; -typedef uint8_t   uint_least8_t; -typedef uint16_t  uint_least16_t; -typedef uint32_t  uint_least32_t; -typedef uint64_t  uint_least64_t; - -// 7.18.1.3 Fastest minimum-width integer types -typedef int8_t    int_fast8_t; -typedef int16_t   int_fast16_t; -typedef int32_t   int_fast32_t; -typedef int64_t   int_fast64_t; -typedef uint8_t   uint_fast8_t; -typedef uint16_t  uint_fast16_t; -typedef uint32_t  uint_fast32_t; -typedef uint64_t  uint_fast64_t; - -// 7.18.1.4 Integer types capable of holding object pointers -#ifdef _WIN64 // [ -   typedef __int64           intptr_t; -   typedef unsigned __int64  uintptr_t; -#else // _WIN64 ][ -   typedef int               intptr_t; -   typedef unsigned int      uintptr_t; -#endif // _WIN64 ] - -// 7.18.1.5 Greatest-width integer types -typedef int64_t   intmax_t; -typedef uint64_t  uintmax_t; - - -// 7.18.2 Limits of specified-width integer types - -#if !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) // [   See footnote 220 at page 257 and footnote 221 at page 259 - -// 7.18.2.1 Limits of exact-width integer types -#define INT8_MIN     ((int8_t)_I8_MIN) -#define INT8_MAX     _I8_MAX -#define INT16_MIN    ((int16_t)_I16_MIN) -#define INT16_MAX    _I16_MAX -#define INT32_MIN    ((int32_t)_I32_MIN) -#define INT32_MAX    _I32_MAX -#define INT64_MIN    ((int64_t)_I64_MIN) -#define INT64_MAX    _I64_MAX -#define UINT8_MAX    _UI8_MAX -#define UINT16_MAX   _UI16_MAX -#define UINT32_MAX   _UI32_MAX -#define UINT64_MAX   _UI64_MAX - -// 7.18.2.2 Limits of minimum-width integer types -#define INT_LEAST8_MIN    INT8_MIN -#define INT_LEAST8_MAX    INT8_MAX -#define INT_LEAST16_MIN   INT16_MIN -#define INT_LEAST16_MAX   INT16_MAX -#define INT_LEAST32_MIN   INT32_MIN -#define INT_LEAST32_MAX   INT32_MAX -#define INT_LEAST64_MIN   INT64_MIN -#define INT_LEAST64_MAX   INT64_MAX -#define UINT_LEAST8_MAX   UINT8_MAX -#define UINT_LEAST16_MAX  UINT16_MAX -#define UINT_LEAST32_MAX  UINT32_MAX -#define UINT_LEAST64_MAX  UINT64_MAX - -// 7.18.2.3 Limits of fastest minimum-width integer types -#define INT_FAST8_MIN    INT8_MIN -#define INT_FAST8_MAX    INT8_MAX -#define INT_FAST16_MIN   INT16_MIN -#define INT_FAST16_MAX   INT16_MAX -#define INT_FAST32_MIN   INT32_MIN -#define INT_FAST32_MAX   INT32_MAX -#define INT_FAST64_MIN   INT64_MIN -#define INT_FAST64_MAX   INT64_MAX -#define UINT_FAST8_MAX   UINT8_MAX -#define UINT_FAST16_MAX  UINT16_MAX -#define UINT_FAST32_MAX  UINT32_MAX -#define UINT_FAST64_MAX  UINT64_MAX - -// 7.18.2.4 Limits of integer types capable of holding object pointers -#ifdef _WIN64 // [ -#  define INTPTR_MIN   INT64_MIN -#  define INTPTR_MAX   INT64_MAX -#  define UINTPTR_MAX  UINT64_MAX -#else // _WIN64 ][ -#  define INTPTR_MIN   INT32_MIN -#  define INTPTR_MAX   INT32_MAX -#  define UINTPTR_MAX  UINT32_MAX -#endif // _WIN64 ] - -// 7.18.2.5 Limits of greatest-width integer types -#define INTMAX_MIN   INT64_MIN -#define INTMAX_MAX   INT64_MAX -#define UINTMAX_MAX  UINT64_MAX - -// 7.18.3 Limits of other integer types - -#ifdef _WIN64 // [ -#  define PTRDIFF_MIN  _I64_MIN -#  define PTRDIFF_MAX  _I64_MAX -#else  // _WIN64 ][ -#  define PTRDIFF_MIN  _I32_MIN -#  define PTRDIFF_MAX  _I32_MAX -#endif  // _WIN64 ] - -#define SIG_ATOMIC_MIN  INT_MIN -#define SIG_ATOMIC_MAX  INT_MAX - -#ifndef SIZE_MAX // [ -#  ifdef _WIN64 // [ -#     define SIZE_MAX  _UI64_MAX -#  else // _WIN64 ][ -#     define SIZE_MAX  _UI32_MAX -#  endif // _WIN64 ] -#endif // SIZE_MAX ] - -// WCHAR_MIN and WCHAR_MAX are also defined in <wchar.h> -#ifndef WCHAR_MIN // [ -#  define WCHAR_MIN  0 -#endif  // WCHAR_MIN ] -#ifndef WCHAR_MAX // [ -#  define WCHAR_MAX  _UI16_MAX -#endif  // WCHAR_MAX ] - -#define WINT_MIN  0 -#define WINT_MAX  _UI16_MAX - -#endif // __STDC_LIMIT_MACROS ] - - -// 7.18.4 Limits of other integer types - -#if !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) // [   See footnote 224 at page 260 - -// 7.18.4.1 Macros for minimum-width integer constants - -#define INT8_C(val)  val##i8 -#define INT16_C(val) val##i16 -#define INT32_C(val) val##i32 -#define INT64_C(val) val##i64 - -#define UINT8_C(val)  val##ui8 -#define UINT16_C(val) val##ui16 -#define UINT32_C(val) val##ui32 -#define UINT64_C(val) val##ui64 - -// 7.18.4.2 Macros for greatest-width integer constants -#ifndef INTMAX_C -#define INTMAX_C   INT64_C -#endif -#ifndef UINTMAX_C -#define UINTMAX_C  UINT64_C -#endif - -#endif // __STDC_CONSTANT_MACROS ] - - -#endif // _MSC_STDINT_H_ ] | 
