1 // Copyright (C) 2009 Apple Inc. All rights reserved.
 
   3 // Redistribution and use in source and binary forms, with or without
 
   4 // modification, are permitted provided that the following conditions
 
   6 // 1. Redistributions of source code must retain the above copyright
 
   7 //    notice, this list of conditions and the following disclaimer.
 
   8 // 2. Redistributions in binary form must reproduce the above copyright
 
   9 //    notice, this list of conditions and the following disclaimer in the
 
  10 //    documentation and/or other materials provided with the distribution.
 
  12 // THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
 
  13 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 
  14 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
 
  15 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
 
  16 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 
  17 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
 
  18 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
 
  19 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
 
  20 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 
  21 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 
  22 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
 
  29 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION);
 
  31 // The bundle version and short version string are set based on the current build configuration, see below.
 
  32 BUNDLE_VERSION = $(BUNDLE_VERSION_$(CONFIGURATION));
 
  33 SHORT_VERSION_STRING = $(SHORT_VERSION_STRING_$(CONFIGURATION))
 
  35 // The system version prefix is based on the current system version.
 
  36 SYSTEM_VERSION_PREFIX = $(SYSTEM_VERSION_PREFIX_$(PLATFORM_NAME));
 
  37 SYSTEM_VERSION_PREFIX_iphoneos = 8;
 
  38 SYSTEM_VERSION_PREFIX_iphonesimulator = $(SYSTEM_VERSION_PREFIX_iphoneos);
 
  39 SYSTEM_VERSION_PREFIX_macosx = $(SYSTEM_VERSION_PREFIX_macosx_$(TARGET_MAC_OS_X_VERSION_MAJOR));
 
  40 SYSTEM_VERSION_PREFIX_macosx_1080 = 8;
 
  41 SYSTEM_VERSION_PREFIX_macosx_1090 = 9;
 
  42 SYSTEM_VERSION_PREFIX_macosx_101000 = 10;
 
  44 // The production build always uses the full version with a system version prefix.
 
  45 BUNDLE_VERSION_Production = $(SYSTEM_VERSION_PREFIX)$(FULL_VERSION);
 
  46 BUNDLE_VERSION_ = $(BUNDLE_VERSION_Production);
 
  48 // The production build always uses the major version with a system version prefix
 
  49 SHORT_VERSION_STRING_Production = $(SYSTEM_VERSION_PREFIX)$(MAJOR_VERSION);
 
  50 SHORT_VERSION_STRING_ = $(SHORT_VERSION_STRING_Production);
 
  52 // Local builds are the full version with a plus suffix.
 
  53 BUNDLE_VERSION_Release = $(FULL_VERSION)+;
 
  54 BUNDLE_VERSION_Debug = $(BUNDLE_VERSION_Release);
 
  56 // Local builds use the major version with a plus suffix
 
  57 SHORT_VERSION_STRING_Release = $(MAJOR_VERSION)+;
 
  58 SHORT_VERSION_STRING_Debug = $(SHORT_VERSION_STRING_Release);
 
  60 DYLIB_COMPATIBILITY_VERSION = 1;
 
  61 DYLIB_CURRENT_VERSION = $(FULL_VERSION);