Author: shuston
Date: Sun Feb 22 00:27:37 2015
New Revision: 1661450

URL: http://svn.apache.org/r1661450
Log:
Replace non-Apache licensed CheckSizeTNativeType.cmake with ASF-licensed and 
more correct for our needs, CheckSizetDistinct.cmake. Resolves QPID-6312.

Added:
    qpid/trunk/qpid/cpp/CMakeModules/CheckSizetDistinct.cmake   (with props)
Removed:
    qpid/trunk/qpid/cpp/CMakeModules/CheckSizeTNativeType.cmake
Modified:
    qpid/trunk/qpid/cpp/src/CMakeLists.txt
    qpid/trunk/qpid/cpp/src/config.h.cmake
    qpid/trunk/qpid/cpp/src/qpid/Options.cpp

Added: qpid/trunk/qpid/cpp/CMakeModules/CheckSizetDistinct.cmake
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/CMakeModules/CheckSizetDistinct.cmake?rev=1661450&view=auto
==============================================================================
--- qpid/trunk/qpid/cpp/CMakeModules/CheckSizetDistinct.cmake (added)
+++ qpid/trunk/qpid/cpp/CMakeModules/CheckSizetDistinct.cmake Sun Feb 22 
00:27:37 2015
@@ -0,0 +1,56 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+# This module checks to see if size_t is a distinct type from the other
+# integer types already set up in IntegerTypes.h.
+
+INCLUDE (CheckCXXSourceCompiles)
+
+FUNCTION (check_size_t_distinct VARIABLE)
+  # No need to check if we already did. If you want to re-run, clear it
+  # from the cache.
+  if ("${VARIABLE}" MATCHES "^${VARIABLE}$")
+    message (STATUS "Checking to see if size_t is a distinct type")
+    set (CMAKE_REQUIRED_QUIET ON)
+    set (CMAKE_REQUIRED_INCLUDES "${CMAKE_SOURCE_DIR}/include")
+    CHECK_CXX_SOURCE_COMPILES (
+"
+#include <iostream>
+#include \"qpid/sys/IntegerTypes.h\"
+// Define functions that will fail to compile if size_t is the same as
+// one of the int types defined in IntegerTypes.h
+int foo(int16_t)    { return 1; }
+int foo(int32_t)    { return 2; }
+int foo(int64_t)    { return 3; }
+int foo(uint16_t)   { return 4; }
+int foo(uint32_t)   { return 5; }
+int foo(uint64_t)   { return 6; }
+int foo(size_t)     { return 7; }
+int main (int, char *[]) {
+  return 0;
+}
+"
+    ${VARIABLE})
+    if (${VARIABLE})
+      message (STATUS "Checking to see if size_t is a distinct type - yes")
+    else (${VARIABLE})
+      message (STATUS "Checking to see if size_t is a distinct type - no")
+    endif (${VARIABLE})
+  endif ("${VARIABLE}" MATCHES "^${VARIABLE}$")
+ENDFUNCTION (check_size_t_distinct VARIABLE)

Propchange: qpid/trunk/qpid/cpp/CMakeModules/CheckSizetDistinct.cmake
------------------------------------------------------------------------------
    svn:executable = *

Modified: qpid/trunk/qpid/cpp/src/CMakeLists.txt
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/CMakeLists.txt?rev=1661450&r1=1661449&r2=1661450&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/CMakeLists.txt (original)
+++ qpid/trunk/qpid/cpp/src/CMakeLists.txt Sun Feb 22 00:27:37 2015
@@ -42,7 +42,7 @@ include(CheckIncludeFiles)
 include(CheckIncludeFileCXX)
 include(CheckLibraryExists)
 include(CheckSymbolExists)
-include(CheckSizeTNativeType)
+include(CheckSizetDistinct)
 
 find_package(PkgConfig)
 find_package(Ruby)
@@ -351,7 +351,7 @@ if (NOT CMAKE_SYSTEM_NAME STREQUAL Windo
   mark_as_advanced(QPID_POLLER)
 endif (NOT CMAKE_SYSTEM_NAME STREQUAL Windows)
 
-check_size_t_native_type (QPID_SIZE_T_NATIVE)
+check_size_t_distinct (QPID_SIZE_T_DISTINCT)
 
 option(BUILD_SASL "Build with Cyrus SASL support" ${SASL_FOUND})
 if (BUILD_SASL)

Modified: qpid/trunk/qpid/cpp/src/config.h.cmake
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/config.h.cmake?rev=1661450&r1=1661449&r2=1661450&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/config.h.cmake (original)
+++ qpid/trunk/qpid/cpp/src/config.h.cmake Sun Feb 22 00:27:37 2015
@@ -56,7 +56,7 @@
 #cmakedefine HAVE_SYS_SDT_H ${HAVE_SYS_SDT_H}
 #cmakedefine HAVE_LOG_AUTHPRIV
 #cmakedefine HAVE_LOG_FTP
-#cmakedefine QPID_SIZE_T_NATIVE
+#cmakedefine QPID_SIZE_T_DISTINCT
 #cmakedefine HAVE_PROTON_TRACER
 #cmakedefine USE_PROTON_TRANSPORT_CONDITION
 #cmakedefine HAVE_PROTON_EVENTS

Modified: qpid/trunk/qpid/cpp/src/qpid/Options.cpp
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/Options.cpp?rev=1661450&r1=1661449&r2=1661450&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/Options.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/Options.cpp Sun Feb 22 00:27:37 2015
@@ -146,7 +146,7 @@ template QPID_COMMON_EXTERN po::value_se
 template QPID_COMMON_EXTERN po::value_semantic* create_value(uint16_t& val, 
const std::string& arg);
 template QPID_COMMON_EXTERN po::value_semantic* create_value(uint32_t& val, 
const std::string& arg);
 template QPID_COMMON_EXTERN po::value_semantic* create_value(uint64_t& val, 
const std::string& arg);
-#ifdef QPID_SIZE_T_NATIVE
+#ifdef QPID_SIZE_T_DISTINCT
 template QPID_COMMON_EXTERN po::value_semantic* create_value(size_t& val, 
const std::string& arg);
 #endif
 template QPID_COMMON_EXTERN po::value_semantic* create_value(double& val, 
const std::string& arg);



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org
For additional commands, e-mail: commits-h...@qpid.apache.org

Reply via email to