components/mysql-5-7/Makefile
author Gipson Pulla <gipson.pulla@oracle.com>
Wed, 15 Mar 2017 23:29:04 -0700
branchs11u3-sru
changeset 7765 3495fc32877e
parent 6571 12a891fe6a39
permissions -rw-r--r--
25372130 Upgrade the version of MySQL 5.5 to 5.5.54 on Solaris 25364635 Upgrade the version of MySQL 5.6 to 5.6.35 on Solaris 25372106 Upgrade the version of MySQL 5.7 to 5.7.17 on Solaris 24835634 Upgrade MySQL server 5.7 to 5.7.15 on Solaris 24688109 Upgrade MySQL 5.5 to 5.5.52 on Solaris 23227671 Upgrade MySQL 5.5 to 5.5.49 on Solaris 15818149 mysql stop method unsafe 18605985 Need to resolve dependencies between MySQL 5.5 database and client pkgs 23227615 Port fix for Bug 23022999 from MySQL 5.6 to 5.5 23227642 Port fix for Bug 23053990 from MySQL 5.6 to 5.5 21150630 mysql SMF instances should check to see if it's really online before returning 22959660 mysql SMF service must not hardcode pid-file, socket and log-error 24708946 Upgrade the version of MySQL 5.6 to 5.6.33 on Solaris 25236651 COMPONENT_ARCHIVE_URL for MySQL-5.6 Makefile is not working 24924801 problem in DATABASE/MYSQL 25427164 problem in DATABASE/MYSQL 25215584 problem in DATABASE/MYSQL 25427149 problem in DATABASE/MYSQL 24923761 problem in DATABASE/MYSQL 25427194 problem in DATABASE/MYSQL

#
# CDDL HEADER START
#
# The contents of this file are subject to the terms of the
# Common Development and Distribution License (the "License").
# You may not use this file except in compliance with the License.
#
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
# or http://www.opensolaris.org/os/licensing.
# See the License for the specific language governing permissions
# and limitations under the License.
#
# When distributing Covered Code, include this CDDL HEADER in each
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
# If applicable, add the following below this CDDL HEADER, with the
# fields enclosed by brackets "[]" replaced with your own identifying
# information: Portions Copyright [yyyy] [name of copyright owner]
#
# CDDL HEADER END
#
# Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
#

# MySQL 5.7 is compiled using GCC. Note that the MySQL Server 5.7 for
# Solaris dowloaded from http://dev.mysql.com/downloads/mysql/ is a
# hybrid, the server part is compiled using GCC and the client library
# is compiled using SunStudio and the "stlport4" C++ runtime
# library. In this build both server and client is compiled using GCC.
COMPILER              = gcc

include ../../make-rules/shared-macros.mk

COMPONENT_NAME        = mysql
COMPONENT_VERSION     = 5.7.17
COMPONENT_SRC         = $(COMPONENT_NAME)-$(COMPONENT_VERSION)
COMPONENT_ARCHIVE     = $(COMPONENT_NAME)-boost-$(COMPONENT_VERSION).tar.gz
COMPONENT_ARCHIVE_HASH= \
         sha256:b75bba87199ef6a6ccc5dfbcaf70949009dc12089eafad8c5254afc9002aa903
COMPONENT_ARCHIVE_URL = http://cdn.mysql.com/Downloads/MySQL-5.7/$(COMPONENT_ARCHIVE)
COMPONENT_PROJECT_URL = http://dev.mysql.com/ 
COMPONENT_BUGDB       = database/mysql

#We use cp(1) instead of cloney because we use TAR to copy files and the TAR 
#used doesn't handle long links
CLONEY = echo
COMPONENT_PRE_BUILD_ACTION +=  $(CP) -rp $(SOURCE_DIR)/* $(@D);

include $(WS_MAKE_RULES)/prep.mk
include $(WS_MAKE_RULES)/justmake.mk
include $(WS_MAKE_RULES)/ips.mk

# Enable ASLR for this component
ASLR_MODE           = $(ASLR_ENABLE)

# MySQL being one of Oracle's own product doesn't require to have a TPNO
# License number, but it uses Boost, which does have such a requirement.
TPNO=24164

# This component uses cmake to generate Makefiles and thus does not
# run any configure script
CMAKE               = $(shell which cmake)
CMAKE_PREFIX        = $(USRDIR)/mysql/5.7
CONFDIR             = $(ETCDIR)/mysql/5.7
DATA_PREFIX         = $(VARDIR)/mysql/5.7

# The install layout differs from "INSTALL_LAYOUT=STANDALONE" in that
# we put scripts into the "bin" directory and the "lib" directory has
# an architecture subdirectory. We also use a simplified CFLAGS/CXXFLAGS
# setting and let the MySQL CMake setup add the other flags.
# For "lib", 64-bit uses subdir but 32-bit does not
CMAKE_BINDIR.64     = bin
CMAKE_LIBDIR.64     = lib/$(MACH64)
CMAKE_PLUGINDIR.64  = lib/$(MACH64)/plugin

# Providing component specific build options to cmake
CMAKE_OPTIONS += -DBUILD_CONFIG=mysql_release
CMAKE_OPTIONS += -DINSTALL_LAYOUT=STANDALONE
CMAKE_OPTIONS += -DCMAKE_INSTALL_PREFIX=$(CMAKE_PREFIX)
CMAKE_OPTIONS += -DINSTALL_BINDIR=$(CMAKE_BINDIR.$(BITS))
CMAKE_OPTIONS += -DINSTALL_SBINDIR=$(CMAKE_BINDIR.$(BITS))
CMAKE_OPTIONS += -DINSTALL_SCRIPTDIR=$(CMAKE_BINDIR.$(BITS))
CMAKE_OPTIONS += -DINSTALL_LIBDIR=$(CMAKE_LIBDIR.$(BITS))
CMAKE_OPTIONS += -DINSTALL_PLUGINDIR=$(CMAKE_PLUGINDIR.$(BITS))
CMAKE_OPTIONS += -DSYSCONFDIR=$(CONFDIR)
CMAKE_OPTIONS += -DMYSQL_DATADIR=$(DATA_PREFIX)
CMAKE_OPTIONS += -DENABLED_LOCAL_INFILE=ON
CMAKE_OPTIONS += -DCMAKE_CXX_COMPILER=$(CXX)
CMAKE_OPTIONS += -DCMAKE_C_COMPILER=$(CC)

CMAKE_OPTIONS += '-DCOMPILATION_COMMENT=MySQL Community Server (GPL)'
CMAKE_OPTIONS += -DFEATURE_SET=community

CMAKE_OPTIONS += -DWITH_SSL=bundled
CMAKE_OPTIONS += -DENABLE_DTRACE=1
CMAKE_OPTIONS += -DWITH_INNODB_MEMCACHED=1
CMAKE_OPTIONS += -DWITH_BOOST=boost
CMAKE_OPTIONS += -DWITH_EMBEDDED_SERVER=1
CMAKE_OPTIONS += -DWITH_EMBEDDED_SHARED_LIBRARY=1
CMAKE_OPTIONS += -DDISABLE_STATIC=ON
CMAKE_OPTIONS += -DCMAKE_VERBOSE_MAKEFILE:BOOL=TRUE

COMPONENT_PRE_BUILD_ACTION += cd $(@D);
COMPONENT_PRE_BUILD_ACTION += export LDFLAGS="$(CMAKE_CXXFLAGS.$(BITS))";
COMPONENT_PRE_BUILD_ACTION += echo Running cmake with $(CMAKE_OPTIONS);
COMPONENT_PRE_BUILD_ACTION += $(CMAKE) . $(CMAKE_OPTIONS);

build: $(BUILD_64)

install: $(INSTALL_64)

test: $(NO_TESTS)

REQUIRED_PACKAGES += database/mysql-57/client
REQUIRED_PACKAGES += runtime/perl-512
REQUIRED_PACKAGES += shell/bash
REQUIRED_PACKAGES += shell/ksh93
REQUIRED_PACKAGES += system/core-os
REQUIRED_PACKAGES += system/library/gcc/gcc-c++-runtime
REQUIRED_PACKAGES += system/library/gcc/gcc-c-runtime
REQUIRED_PACKAGES += system/library/math
REQUIRED_PACKAGES += system/network