diff --git a/CMakeLists.txt b/CMakeLists.txt index 7388f2d0e82..b6fc32bb097 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -404,7 +404,7 @@ endif (EXISTS "${PROJECT_SOURCE_DIR}/.svn") # N.B.: if VERSION_NUMBER's major number is incremented without also # incrementing OLDEST_COMPATIBLE_VERSION we'll need to add another # symlink loop in core/CMakeLists.txt -set(VERSION_NUMBER_DEFAULT "4.0.${VERSION_NUMBER_PATCHLEVEL}") +set(VERSION_NUMBER_DEFAULT "4.1.${VERSION_NUMBER_PATCHLEVEL}") # do not store the default VERSION_NUMBER in the cache to prevent a stale one # from preventing future version updates in a pre-existing build dir set(VERSION_NUMBER "" CACHE STRING "Version number: leave empty for default") @@ -942,8 +942,9 @@ string(REGEX REPLACE "^[0-9]+\\.([0-9]+)\\..*" "\\1" VERSION_NUMBER_MINOR "${VERSION_NUMBER}") math(EXPR VERSION_NUMBER_INTEGER "${VERSION_NUMBER_MAJOR}*100 + ${VERSION_NUMBER_MINOR}") +# 4.1 broke backcompat in drsyms + 64-bit core (opcodes + reachability) # 4.0 broke backcompat in drmgr, drsyms, drinjectlib, and dr_get_milliseconds() -set(OLDEST_COMPATIBLE_VERSION "400") +set(OLDEST_COMPATIBLE_VERSION "401") # i#955: a Windows version of ELF DT_RPATH where a local file stores lib paths set(DR_RPATH_SUFFIX "drpath") diff --git a/make/DynamoRIOConfigVersion.cmake.in b/make/DynamoRIOConfigVersion.cmake.in index 3889bb2d863..44ad0a1f5c1 100644 --- a/make/DynamoRIOConfigVersion.cmake.in +++ b/make/DynamoRIOConfigVersion.cmake.in @@ -1,5 +1,5 @@ # ********************************************************** -# Copyright (c) 2010-2012 Google, Inc. All rights reserved. +# Copyright (c) 2010-2013 Google, Inc. All rights reserved. # Copyright (c) 2009-2010 VMware, Inc. All rights reserved. # ********************************************************** @@ -47,7 +47,7 @@ elseif ("${PACKAGE_FIND_VERSION_MAJOR}" LESS @VERSION_NUMBER_MAJOR@) set(PACKAGE_VERSION_COMPATIBLE 1) endif ("${PACKAGE_FIND_VERSION_MAJOR}" LESS 3) elseif ("${PACKAGE_FIND_VERSION_MAJOR}" EQUAL @VERSION_NUMBER_MAJOR@) - # Asking for lesser minor version == backward compatible + # Asking for lesser minor version == backward compatible in general if ("${PACKAGE_FIND_VERSION_MINOR}" EQUAL @VERSION_NUMBER_MINOR@) if ("${PACKAGE_FIND_VERSION_COUNT}" GREATER 2) if ("${PACKAGE_FIND_VERSION_PATCH}" LESS @VERSION_NUMBER_PATCHLEVEL@) @@ -61,7 +61,12 @@ elseif ("${PACKAGE_FIND_VERSION_MAJOR}" EQUAL @VERSION_NUMBER_MAJOR@) set(PACKAGE_VERSION_EXACT 1) endif ("${PACKAGE_FIND_VERSION_COUNT}" GREATER 2) elseif ("${PACKAGE_FIND_VERSION_MINOR}" LESS @VERSION_NUMBER_MINOR@) - set(PACKAGE_VERSION_COMPATIBLE 1) + if ("${PACKAGE_FIND_VERSION_MAJOR}" EQUAL 4 AND + "${PACKAGE_FIND_VERSION_MINOR}" EQUAL 0) + # 4.1 is incompatible with 4.0 + else () + set(PACKAGE_VERSION_COMPATIBLE 1) + endif () else () # We are relatively forward compatible except features we added # but better err on the side of caution