view common/autoconf/spec.sh.in @ 501:3156dff953b1

7182051: Update of latest build-infra Makefiles (missing files) Reviewed-by: ohair
author erikj
date Thu, 05 Jul 2012 18:27:07 -0700
parents
children
line wrap: on
line source

#
# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation.  Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code 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
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#

# Configured"@DATE_WHEN_CONFIGURED@ to build for a @OPENJDK_TARGET_SYSTEM@ system,
# using 'configure @CONFIGURE_COMMAND_LINE@'

# The "human readable" name of this configuration
CONF_NAME="@CONF_NAME@"

# The built jdk will run in this target system.
OPENJDK_TARGET_SYSTEM="@OPENJDK_TARGET_SYSTEM@"

OPENJDK_TARGET_OS="@OPENJDK_TARGET_OS@"
OPENJDK_TARGET_OS_FAMILY="@OPENJDK_TARGET_OS_FAMILY@"
OPENJDK_TARGET_OS_API="@OPENJDK_TARGET_OS_API@"

OPENJDK_TARGET_CPU="@OPENJDK_TARGET_CPU@"
OPENJDK_TARGET_CPU_ARCH="@OPENJDK_TARGET_CPU_ARCH@"
OPENJDK_TARGET_CPU_BITS="@OPENJDK_TARGET_CPU_BITS@"
OPENJDK_TARGET_CPU_ENDIAN="@OPENJDK_TARGET_CPU_ENDIAN@"

# We are building on this build system.
# When not cross-compiling, it is the same as the target.
OPENJDK_BUILD_SYSTEM="@OPENJDK_BUILD_SYSTEM@"

OPENJDK_BUILD_OS="@OPENJDK_BUILD_OS@"
OPENJDK_BUILD_OS_FAMILY="@OPENJDK_BUILD_OS_FAMILY@"
OPENJDK_BUILD_OS_API="@OPENJDK_BUILD_OS_API@"

OPENJDK_BUILD_CPU="@OPENJDK_BUILD_CPU@"
OPENJDK_BUILD_CPU_ARCH="@OPENJDK_BUILD_CPU_ARCH@"
OPENJDK_BUILD_CPU_BITS="@OPENJDK_BUILD_CPU_BITS@"
OPENJDK_BUILD_CPU_ENDIAN="@OPENJDK_BUILD_CPU_ENDIAN@"

# Legacy OS values for use in release file.
REQUIRED_OS_NAME="@REQUIRED_OS_NAME@"
REQUIRED_OS_VERSION="@REQUIRED_OS_VERSION@"

# Old name for OPENJDK_TARGET_OS (aix,bsd,hpux,linux,macosx,solaris,windows etc)
PLATFORM="@OPENJDK_TARGET_OS@"
# Old name for OPENJDK_TARGET_CPU, uses i586 and amd64, instead of ia32 and x64.
ARCH="@LEGACY_OPENJDK_TARGET_CPU1@"
# Yet another name for arch used for an extra subdir below the jvm lib.
# Uses i386 and amd64, instead of ia32 and x64.
LIBARCH="@LEGACY_OPENJDK_TARGET_CPU2@"
# Use to switch between solaris and windows subdirs in the jdk.
LEGACY_OPENJDK_TARGET_OS_API="@LEGACY_OPENJDK_TARGET_OS_API@"
# 32 or 64 bit
ARCH_DATA_MODEL="@OPENJDK_TARGET_CPU_BITS@"
# Legacy setting for building for a 64 bit machine.
# If yes then this expands to _LP64=1
ENDIAN="@OPENJDK_TARGET_CPU_ENDIAN@"
JIGSAW="@JIGSAW@"
LIBM=-lm
LIBDL="@LIBDL@"

# colon or semicolon
PATH_SEP="@PATH_SEP@"

# The sys root where standard headers and libraries are found.
# Usually not needed since the configure script should have
# taken it into account already when setting CFLAGS et al.
SYS_ROOT="@SYS_ROOT@"

# Paths to the source code
SRC_ROOT="@SRC_ROOT@"
ADD_SRC_ROOT="@ADD_SRC_ROOT@"
OVERRIDE_SRC_ROOT="@OVERRIDE_SRC_ROOT@"
TOPDIR="@SRC_ROOT@"
OUTPUT_ROOT="@OUTPUT_ROOT@"
JDK_MAKE_SHARED_DIR="@JDK_TOPDIR@"/makefiles/common/shared
JDK_TOPDIR="@JDK_TOPDIR@"
LANGTOOLS_TOPDIR="@LANGTOOLS_TOPDIR@"
CORBA_TOPDIR="@CORBA_TOPDIR@"
JAXP_TOPDIR="@JAXP_TOPDIR@"
JAXWS_TOPDIR="@JAXWS_TOPDIR@"
HOTSPOT_TOPDIR="@HOTSPOT_TOPDIR@"
COPYRIGHT_YEAR="@COPYRIGHT_YEAR@"

# Information gathered from the version.numbers file.
JDK_MAJOR_VERSION="@JDK_MAJOR_VERSION@"
JDK_MINOR_VERSION="@JDK_MINOR_VERSION@"
JDK_MICRO_VERSION="@JDK_MICRO_VERSION@"
JDK_UPDATE_VERSION="@JDK_UPDATE_VERSION@"
JDK_BUILD_NUMBER="@JDK_BUILD_NUMBER@"
MILESTONE="@MILESTONE@"
LAUNCHER_NAME="@LAUNCHER_NAME@"
PRODUCT_NAME="@PRODUCT_NAME@"
PRODUCT_SUFFIX="@PRODUCT_SUFFIX@"
JDK_RC_PLATFORM_NAME="@JDK_RC_PLATFORM_NAME@"
COMPANY_NAME="@COMPANY_NAME@"

# Different version strings generated from the above information.
JDK_VERSION="@JDK_VERSION@"
RUNTIME_NAME="@RUNTIME_NAME@"
FULL_VERSION="@FULL_VERSION@"
JRE_RELEASE_VERSION="@FULL_VERSION@"
RELEASE="@RELEASE@"
COOKED_BUILD_NUMBER="@COOKED_BUILD_NUMBER@"

# How to compile the code: release, fastdebug or slowdebug
DEBUG_LEVEL="@DEBUG_LEVEL@"

# This is the JDK variant to build.
# The JDK variant is a name for a specific set of modules to be compiled for the JDK.
JDK_VARIANT="@JDK_VARIANT@"

# Should we compile support for running with a graphical UI? (ie headful)
# Should we compile support for running without? (ie headless)
SUPPORT_HEADFUL="@SUPPORT_HEADFUL@"
SUPPORT_HEADLESS="@SUPPORT_HEADLESS@"

# These are the libjvms that we want to build.
# The java launcher uses the default.
# The other can be selected by specifying -client -server -kernel -zero or -zeroshark
# on the java launcher command line.
JVM_VARIANTS="@JVM_VARIANTS@"
JVM_VARIANT_SERVER="@JVM_VARIANT_SERVER@"
JVM_VARIANT_CLIENT="@JVM_VARIANT_CLIENT@"
JVM_VARIANT_KERNEL="@JVM_VARIANT_KERNEL@"
JVM_VARIANT_ZERO="@JVM_VARIANT_ZERO@"
JVM_VARIANT_ZEROSHARK="@JVM_VARIANT_ZEROSHARK@"

# Legacy setting: OPT or DBG
VARIANT="@VARIANT@"
# Legacy setting: true or false
FASTDEBUG="@FASTDEBUG@"
# Legacy setting: debugging the class files?
DEBUG_CLASSFILES="@DEBUG_CLASSFILES@"
# Legacy setting: -debug or -fastdebug
BUILD_VARIANT_RELEASE="@BUILD_VARIANT_RELEASE@"

LANGTOOLS_OUTPUTDIR="@LANGTOOLS_OUTPUTDIR@"
CORBA_OUTPUTDIR="@CORBA_OUTPUTDIR@"
JAXP_OUTPUTDIR="@JAXP_OUTPUTDIR@"
JAXWS_OUTPUTDIR="@JAXWS_OUTPUTDIR@"
HOTSPOT_OUTPUTDIR="@HOTSPOT_OUTPUTDIR@"

# This where a working jvm is built.
# You can run ${JDK_OUTPUTDIR}/bin/java
# Though the layout of the contents of ${JDK_OUTPUTDIR} is not
# yet the same as a default installation.
JDK_OUTPUTDIR="@OUTPUT_ROOT@"/jdk

# When you run "make install" it will create the standardized
# layout for the jdk and the jre inside the images subdir.
# Then it will copy the contents of the jdk into the installation
# directory.
IMAGES_OUTPUTDIR="@OUTPUT_ROOT@"/images

LANGTOOLS_DIST="@LANGTOOLS_DIST@"
CORBA_DIST="@CORBA_DIST@"
JAXP_DIST="@JAXP_DIST@"
JAXWS_DIST="@JAXWS_DIST@"
HOTSPOT_DIST="@HOTSPOT_DIST@"

# Legacy variables used by Release.gmk
JDK_IMAGE_DIR=${IMAGES_OUTPUTDIR}/j2sdk-image
JRE_IMAGE_DIR=${IMAGES_OUTPUTDIR}/j2re-image

# Can be /sparcv9 or /amd64 on Solaris
ISA_DIR="@LEGACY_OPENJDK_TARGET_CPU3@"
BINDIR="${JDK_OUTPUTDIR}/bin${ISA_DIR}"

# The boot jdk to use
ALT_BOOTDIR="@BOOT_JDK@"
BOOT_JDK="@BOOT_JDK@"
BOOT_JDK_JVMARGS="@BOOT_JDK_JVMARGS@"
BOOT_RTJAR="@BOOT_RTJAR@"
BOOT_TOOLSJAR="@BOOT_TOOLSJAR@"

# When compiling Java source to be run by the boot jdk
# use these extra flags, eg -source 6 -target 6
BOOT_JDK_SOURCETARGET="@BOOT_JDK_SOURCETARGET@"

# Information about the build system
NUM_CORES="@NUM_CORES@"
# This is used from the jdk build for C/C++ code.
PARALLEL_COMPILE_JOBS="@CONCURRENT_BUILD_JOBS@"
# Store javac server synchronization files here, and
# the javac server log files.
JAVAC_SERVERS="@JAVAC_SERVERS@"
# Should we use a javac server or not? The javac server gives
# an enormous performance improvement since it reduces the
# startup costs of javac and reuses as much as possible of intermediate
# compilation work. But if we want to compile with a non-Java
# javac compiler, like gcj. Then we cannot use javac server and
# this variable is set to false.
JAVAC_USE_REMOTE="@JAVAC_USE_REMOTE@"
# We can block the Javac server to never use more cores than this.
# This is not for performance reasons, but for memory usage, since each
# core requires its own JavaCompiler. We might have 64 cores and 4GB
# of memory, 64 JavaCompilers will currently not fit in a 3GB heap.
# Since there is no sharing of data between the JavaCompilers.
JAVAC_SERVER_CORES="@JAVAC_SERVER_CORES@"
# Should we use dependency tracking between Java packages? true or false.
JAVAC_USE_DEPS="@JAVAC_USE_DEPS@"
# We can invoke javac: SINGLE_THREADED_BATCH or MULTI_CORE_CONCURRENT
JAVAC_USE_MODE="@JAVAC_USE_MODE@"
# Enable not yet complete sjavac support.
ENABLE_SJAVAC="@ENABLE_SJAVAC@"

# The OpenJDK makefiles should be changed to using the standard
# configure output ..._CFLAGS and ..._LIBS. In the meantime we
# extract the information here.
FREETYPE2_LIB_PATH="@FREETYPE2_LIB_PATH@"
FREETYPE2_LIBS="@FREETYPE2_LIBS@"
FREETYPE2_CFLAGS="@FREETYPE2_CFLAGS@"
USING_SYSTEM_FT_LIB="@USING_SYSTEM_FT_LIB@"
CUPS_CFLAGS="@CUPS_CFLAGS@"

PACKAGE_PATH="@PACKAGE_PATH@"

# Source file for cacerts
CACERTS_FILE="@CACERTS_FILE@"

#MOZILLA_HEADERS_PATH=

# Necessary additional compiler flags to compile X11 
X_CFLAGS="@X_CFLAGS@"
X_LIBS="@X_LIBS@"
OPENWIN_HOME="@OPENWIN_HOME@"

# There are two types: CC or CL
# CC is gcc and others behaving reasonably similar.
# CL is cl.exe only.
COMPILER_TYPE="@COMPILER_TYPE@"

# Flags used for overriding the default opt setting for a C/C++ source file.
C_O_FLAG_HIGHEST="@C_O_FLAG_HIGHEST@"
C_O_FLAG_HI="@C_O_FLAG_HI@"
C_O_FLAG_NORM="@C_O_FLAG_NORM@"
C_O_FLAG_NONE="@C_O_FLAG_NONE@"
CXX_O_FLAG_HIGHEST="@CXX_O_FLAG_HIGHEST@"
CXX_O_FLAG_HI="@CXX_O_FLAG_HI@"
CXX_O_FLAG_NORM="@CXX_O_FLAG_NORM@"
CXX_O_FLAG_NONE="@CXX_O_FLAG_NONE@"

C_FLAG_DEPS="@C_FLAG_DEPS@"
CXX_FLAG_DEPS="@CXX_FLAG_DEPS@"

# Tools that potentially need to be cross compilation aware.
CC="@UNCYGDRIVE@ @CCACHE@ @CC@"

# CFLAGS used to compile the jdk native libraries (C-code)
CFLAGS_JDKLIB="@CFLAGS_JDKLIB@"
CXXFLAGS_JDKLIB="@CXXFLAGS_JDKLIB@"

# CFLAGS used to compile the jdk native launchers (C-code)
CFLAGS_JDKEXE="@CFLAGS_JDKEXE@"
CXXFLAGS_JDKEXE="@CXXFLAGS_JDKEXE@"

CXX="@UNCYGDRIVE@ @CCACHE@ @CXX@"
#CXXFLAGS="@CXXFLAGS@"

OBJC="@CCACHE@ @OBJC@"
#OBJCFLAGS="@OBJCFLAGS@"

CPP="@UNCYGDRIVE@ @CPP@"
#CPPFLAGS="@CPPFLAGS@"

# The linker can be gcc or ld on posix systems, or link.exe on winapi systems.
LD="@UNCYGDRIVE@ @LD@"

# LDFLAGS used to link the jdk native libraries (C-code)
LDFLAGS_JDKLIB="@LDFLAGS_JDKLIB@"
LDFLAGS_JDKLIB_SUFFIX="@LDFLAGS_JDKLIB_SUFFIX@"

# On some platforms the linker cannot be used to create executables, thus
# the need for a separate LDEXE command.
LDEXE="@UNCYGDRIVE@ @LDEXE@"

# LDFLAGS used to link the jdk native launchers (C-code)
LDFLAGS_JDKEXE="@LDFLAGS_JDKEXE@"
LDFLAGS_JDKEXE_SUFFIX="@LDFLAGS_JDKEXE_SUFFIX@"

# Sometimes a different linker is needed for c++ libs
LDCXX="@UNCYGDRIVE@ @LDCXX@"
# The flags for linking libstdc++ linker.
LIBCXX="@LIBCXX@"

# Sometimes a different linker is needed for c++ executables
LDEXECXX="@UNCYGDRIVE@ @LDEXECXX@"

# If cross compiling, then define CROSS_COMPILE_ARCH=cpu_name here.
# The HOSTCC should really be named BUILDCC, ie build executable for
# the build platform. Same as CC when not cross compiling.
HOSTCC="@HOSTCC@"
HOSTCXX="@HOSTCXX@"
# And of course, the jdk spells HOSTCC as NIO_CC/HOST_CC 
HOST_CC="@HOSTCC@"
NIO_CC="@HOSTCC@"

AS="@AS@"
ASFLAGS="@ASFLAGS@"

# AR is used to create a static library (is ar in posix, lib.exe in winapi)
AR="@UNCYGDRIVE@ @AR@"
ARFLAGS="@ARFLAGS@"

NM="@NM@"
STRIP="@STRIP@"
MCS="@MCS@"

# Command to create a shared library
SHARED_LIBRARY_FLAGS="@SHARED_LIBRARY_FLAGS@"

# Options to linker to specify a mapfile. 
# (Note absence of = assignment, because we do not want to evaluate the macro body here)
SET_SHARED_LIBRARY_MAPFILE="@SET_SHARED_LIBRARY_MAPFILE@"

# Options for C/CXX compiler to be used if linking is performed
#   using reorder file
C_FLAG_REORDER="@C_FLAG_REORDER@"
CXX_FLAG_REORDER="@CXX_FLAG_REORDER@"

#
# Options for generating debug symbols
ENABLE_DEBUG_SYMBOLS="@ENABLE_DEBUG_SYMBOLS@"
CFLAGS_DEBUG_SYMBOLS="@CFLAGS_DEBUG_SYMBOLS@"
CXXFLAGS_DEBUG_SYMBOLS="@CXXFLAGS_DEBUG_SYMBOLS@"
ZIP_DEBUGINFO_FILES="@ZIP_DEBUGINFO_FILES@"

# Options to linker to specify the library name.
# (Note absence of = assignment, because we do not want to evaluate the macro body here)
SET_SHARED_LIBRARY_NAME="@SET_SHARED_LIBRARY_NAME@"

# Set origin using the linker, ie use the relative path to the dependent library to find the dependees.
# (Note absence of = assignment, because we do not want to evaluate the macro body here)
SET_SHARED_LIBRARY_ORIGIN="@SET_SHARED_LIBRARY_ORIGIN@"

# Different OS:es have different ways of naming shared libraries.
# The SHARED_LIBRARY macro takes "verify" as and argument and returns:
#    "libverify.so" or "libverify.dylib" or "verify.dll" depending on platform.
# (Note absence of = assignment, because we do not want to evaluate the macro body here)
SHARED_LIBRARY="@SHARED_LIBRARY@"
STATIC_LIBRARY="@STATIC_LIBRARY@"
LIBRARY_PREFIX="@LIBRARY_PREFIX@"
SHARED_LIBRARY_SUFFIX="@SHARED_LIBRARY_SUFFIX@"
STATIC_LIBRARY_SUFFIX="@STATIC_LIBRARY_SUFFIX@"
EXE_SUFFIX="@EXE_SUFFIX@"
OBJ_SUFFIX="@OBJ_SUFFIX@"

POST_STRIP_CMD="@POST_STRIP_CMD@"
POST_MCS_CMD='@POST_MCS_CMD@'

JAVA_FLAGS="@BOOT_JDK_JVMARGS@"

JAVA="@UNCYGDRIVE@ @JAVA@ ${JAVA_FLAGS}"

JAVAC="@UNCYGDRIVE@ @JAVAC@"
JAVAC_FLAGS="@JAVAC_FLAGS@"

JAVAH="@UNCYGDRIVE@ @JAVAH@"

JAR="@UNCYGDRIVE@ @JAR@"

RMIC="@UNCYGDRIVE@ @RMIC@"

NATIVE2ASCII="@UNCYGDRIVE@ @NATIVE2ASCII@"

BOOT_JAR_CMD="@UNCYGDRIVE@ @JAR@"
BOOT_JAR_JFLAGS=

# Tools adhering to a minimal and common standard of posix compliance.
AWK="@AWK@"
CAT="@CAT@"
CCACHE="@CCACHE@"
# CD is going away, but remains to cater for legacy makefiles.
CD=cd
CHMOD="@CHMOD@"
CP="@CP@"
CPIO="@CPIO@"
CUT="@CUT@"
DATE="@DATE@"
DF="@DF@"
DIFF="@DIFF@"
FIND="@FIND@"
FIND_DELETE="@FIND_DELETE@"
ECHO="@ECHO@"
EGREP="@EGREP@"
FGREP="@FGREP@"
GREP="@GREP@"
HEAD="@HEAD@"
LS="@LS@"
LN="@LN@"
MKDIR="@MKDIR@"
MV="@MV@"
NAWK="@NAWK@"
PRINTF="@PRINTF@"
PWD="@THEPWDCMD@"
RM="@RM@"
SED="@SED@"
SH="@SH@"
SORT="@SORT@"
TAR="@TAR@"
TAIL="@TAIL@"
TEE="@TEE@"
TR="@TR@"
TOUCH="@TOUCH@"
WC="@WC@"
XARGS="@XARGS@"
ZIPEXE="@ZIP@"
ZIP="@ZIP@"
UNZIP="@UNZIP@"
MT="@UNCYGDRIVE@ @MT@"
RC="@UNCYGDRIVE@ @RC@"
DUMPBIN="@UNCYGDRIVE@ @DUMPBIN@"
CYGPATH="@CYGPATH@"
LDD="@LDD@"
OTOOL="@OTOOL@"
READELF="@READELF@"
EXPR="@EXPR@"
FILE="@FILE@"
HG="@HG@"
OBJCOPY="@OBJCOPY@"

UNCYGDRIVE="@UNCYGDRIVE@"

# Build setup
ENABLE_DOCS="@ENABLE_DOCS@"
GENERATE_DOCS="@ENABLE_DOCS@"
DISABLE_NIMBUS="@DISABLE_NIMBUS@"
USE_EXTERNAL_LIBJPEG="@USE_EXTERNAL_LIBJPEG@"
USE_EXTERNAL_LIBGIF="@USE_EXTERNAL_LIBGIF@"
USE_EXTERNAL_LIBZ="@USE_EXTERNAL_LIBZ@"
LIBZIP_CAN_USE_MMAP="@LIBZIP_CAN_USE_MMAP@"
CHECK_FOR_VCINSTALLDIR="@CHECK_FOR_VCINSTALLDIR@"
MSVCRNN_DLL="@MSVCR100DLL@"


####################################################
#
# Legacy Hotspot support

HOTSPOT_DIST="@HOTSPOT_DIST@"
HOTSPOT_MAKE_ARGS="@HOTSPOT_MAKE_ARGS@"
# This is used from the libjvm build for C/C++ code.
HOTSPOT_BUILD_JOBS="@CONCURRENT_BUILD_JOBS@"
# Control wether Hotspot runs Queens test after building
TEST_IN_BUILD="@TEST_IN_BUILD@"

####################################################
#
# INSTALLATION
#

# Common prefix for all installed files. Defaults to /usr/local,
# but /opt/myjdk is another common version. 
INSTALL_PREFIX="@prefix@"

# Directories containing architecture-dependent files should be relative to exec_prefix
INSTALL_EXECPREFIX="@exec_prefix@"

# java,javac,javah,javap etc are installed here.
INSTALL_BINDIR="@bindir@"

# Read only architecture-independent data
INSTALL_DATADIR="@datadir@"

# Root of above.
INSTALL_DATAROOTDIR="@datarootdir@"

# Doc files, other than info and man.
INSTALL_DOCDIR="@docdir@"

# Html documentation
INSTALL_HTMLDIR="@htmldir@"

# Installing C header files, JNI headers for example.
INSTALL_INCLUDEDIR="@includedir@"

# Installing library files....
INSTALL_INCLUDEDIR="@libdir@"

# Executables that other programs run.
INSTALL_LIBEXECDIR="@libexecdir@"

# Locale-dependent but architecture-independent data, such as message catalogs. 
INSTALL_LOCALEDIR="@localedir@"

# Modifiable single-machine data
INSTALL_LOCALSTATEDIR="@localstatedir@"

# Man pages
INSTALL_MANDIR="@mandir@"

# Modifiable architecture-independent data.
INSTALL_SHAREDSTATEDIR="@sharedstatedir@"

# Read-only single-machine data
INSTALL_SYSCONFDIR="@sysconfdir@"


####################################################
#
# Misc
#

# Name of Service Agent library
SALIB_NAME="@SALIB_NAME@"

OS_VERSION_MAJOR="@OS_VERSION_MAJOR@"
OS_VERSION_MINOR="@OS_VERSION_MINOR@"
OS_VERSION_MICRO="@OS_VERSION_MICRO@"