Makefile revision 5795
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin#
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin# CDDL HEADER START
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin#
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin# The contents of this file are subject to the terms of the
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin# Common Development and Distribution License (the "License").
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin# You may not use this file except in compliance with the License.
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin#
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin# or http://www.opensolaris.org/os/licensing.
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin# See the License for the specific language governing permissions
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin# and limitations under the License.
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin#
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin# When distributing Covered Code, include this CDDL HEADER in each
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin# If applicable, add the following below this CDDL HEADER, with the
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin# fields enclosed by brackets "[]" replaced with your own identifying
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin# information: Portions Copyright [yyyy] [name of copyright owner]
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin#
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin# CDDL HEADER END
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin#
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin#
81af778e872fc2ec5f0ac36e7b25bdb24ebd2d6aCasper H.S. Dik# Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin#
7c2fbfb345896881c631598ee3852ce9ce33fb07April ChinBUILD_BITS= 64_and_32
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chinexport PARFAIT_BUILD=no
5d4606d7857958f486a2dc8cb37c99a0b72335d6Garrett D'Amoreinclude ../../make-rules/shared-macros.mk
5d4606d7857958f486a2dc8cb37c99a0b72335d6Garrett D'Amore
5d4606d7857958f486a2dc8cb37c99a0b72335d6Garrett D'AmoreCOMPONENT_NAME = mysql
7c2fbfb345896881c631598ee3852ce9ce33fb07April ChinCOMPONENT_VERSION = 5.6.25
7c2fbfb345896881c631598ee3852ce9ce33fb07April ChinCOMPONENT_ARCHIVE_HASH= \
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin sha256:15079c0b83d33a092649cbdf402c9225bcd3f33e87388407be5cdbf1432c7fbd
7c2fbfb345896881c631598ee3852ce9ce33fb07April ChinCOMPONENT_ARCHIVE_URL = http://cdn.mysql.com/Downloads/MySQL-5.6/$(COMPONENT_ARCHIVE)
7c2fbfb345896881c631598ee3852ce9ce33fb07April ChinCOMPONENT_PROJECT_URL = http://dev.mysql.com/
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland MainzCOMPONENT_BUGDB = database/mysql
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland MainzBUILD_STYLE= justmake
7c2fbfb345896881c631598ee3852ce9ce33fb07April ChinTEST_TARGET= $(NO_TESTS)
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainzinclude $(WS_MAKE_RULES)/common.mk
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin# MySQL being one of Oracle's own product doesn't require to have a
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin# TPNO License number.
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin# This component uses cmake to generate Makefiles and thus does not
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz# run any configure script
7c2fbfb345896881c631598ee3852ce9ce33fb07April ChinCMAKE = $(shell which cmake)
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland MainzCMAKE_PREFIX = $(USRDIR)/mysql/5.6
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland MainzCONFDIR = $(ETCDIR)/mysql/5.6
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland MainzDATA_PREFIX = $(VARDIR)/mysql/5.6
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin
7c2fbfb345896881c631598ee3852ce9ce33fb07April ChinCMAKE_BINDIR.32 = bin/$(MACH32)
7c2fbfb345896881c631598ee3852ce9ce33fb07April ChinCMAKE_BINDIR.64 = bin
7c2fbfb345896881c631598ee3852ce9ce33fb07April ChinCMAKE_LIBDIR.32 = lib
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland MainzCMAKE_LIBDIR.64 = lib/$(MACH64)
7c2fbfb345896881c631598ee3852ce9ce33fb07April ChinCMAKE_PLUGINDIR.32 = lib/plugin
7c2fbfb345896881c631598ee3852ce9ce33fb07April ChinCMAKE_PLUGINDIR.64 = lib/$(MACH64)/plugin
7c2fbfb345896881c631598ee3852ce9ce33fb07April ChinCMAKE_CFLAGS.32 = -D__MATHERR_RENAME_EXCEPTION
7c2fbfb345896881c631598ee3852ce9ce33fb07April ChinCMAKE_CFLAGS.64 = -m64 -D__MATHERR_RENAME_EXCEPTION
7c2fbfb345896881c631598ee3852ce9ce33fb07April ChinCMAKE_CXXFLAGS.32 = -D__MATHERR_RENAME_EXCEPTION -template=extdef -xnorunpath
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland MainzCMAKE_CXXFLAGS.64 = -m64 -D__MATHERR_RENAME_EXCEPTION -template=extdef -xnorunpath
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz# Providing component specific build options to cmake
7c2fbfb345896881c631598ee3852ce9ce33fb07April ChinCMAKE_OPTIONS += -DBUILD_CONFIG=mysql_release
5d4606d7857958f486a2dc8cb37c99a0b72335d6Garrett D'AmoreCMAKE_OPTIONS += -DINSTALL_LAYOUT=STANDALONE
5d4606d7857958f486a2dc8cb37c99a0b72335d6Garrett D'AmoreCMAKE_OPTIONS += -DCMAKE_INSTALL_PREFIX=$(CMAKE_PREFIX)
5d4606d7857958f486a2dc8cb37c99a0b72335d6Garrett D'AmoreCMAKE_OPTIONS += -DINSTALL_BINDIR=$(CMAKE_BINDIR.$(BITS))
5d4606d7857958f486a2dc8cb37c99a0b72335d6Garrett D'AmoreCMAKE_OPTIONS += -DINSTALL_SBINDIR=$(CMAKE_BINDIR.$(BITS))
5d4606d7857958f486a2dc8cb37c99a0b72335d6Garrett D'AmoreCMAKE_OPTIONS += -DINSTALL_SCRIPTDIR=$(CMAKE_BINDIR.$(BITS))
5d4606d7857958f486a2dc8cb37c99a0b72335d6Garrett D'AmoreCMAKE_OPTIONS += -DINSTALL_LIBDIR=$(CMAKE_LIBDIR.$(BITS))
5d4606d7857958f486a2dc8cb37c99a0b72335d6Garrett D'AmoreCMAKE_OPTIONS += -DINSTALL_PLUGINDIR=$(CMAKE_PLUGINDIR.$(BITS))
5d4606d7857958f486a2dc8cb37c99a0b72335d6Garrett D'AmoreCMAKE_OPTIONS += -DSYSCONFDIR=$(CONFDIR)
5d4606d7857958f486a2dc8cb37c99a0b72335d6Garrett D'AmoreCMAKE_OPTIONS += -DMYSQL_DATADIR=$(DATA_PREFIX)
5d4606d7857958f486a2dc8cb37c99a0b72335d6Garrett D'AmoreCMAKE_OPTIONS += -DWITH_SSL=bundled
5d4606d7857958f486a2dc8cb37c99a0b72335d6Garrett D'AmoreCMAKE_OPTIONS += -DWITH_READLINE=ON
5d4606d7857958f486a2dc8cb37c99a0b72335d6Garrett D'AmoreCMAKE_OPTIONS += -DENABLE_DTRACE=1
5d4606d7857958f486a2dc8cb37c99a0b72335d6Garrett D'AmoreCMAKE_OPTIONS += -DHAVE_REAL_DTRACE_INSTRUMENTING=ON
5d4606d7857958f486a2dc8cb37c99a0b72335d6Garrett D'AmoreCMAKE_OPTIONS += -DWITH_EXTRA_CHARSETS=complex
5d4606d7857958f486a2dc8cb37c99a0b72335d6Garrett D'AmoreCMAKE_OPTIONS += -DENABLED_LOCAL_INFILE=ON
5d4606d7857958f486a2dc8cb37c99a0b72335d6Garrett D'AmoreCMAKE_OPTIONS += -DWITH_ARCHIVE_STORAGE_ENGINE=1
5d4606d7857958f486a2dc8cb37c99a0b72335d6Garrett D'AmoreCMAKE_OPTIONS += -DWITH_BLACKHOLE_STORAGE_ENGINE=1
5d4606d7857958f486a2dc8cb37c99a0b72335d6Garrett D'AmoreCMAKE_OPTIONS += -DWITH_EXAMPLE_STORAGE_ENGINE=1
7c2fbfb345896881c631598ee3852ce9ce33fb07April ChinCMAKE_OPTIONS += -DWITH_FEDERATED_STORAGE_ENGINE=1
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland MainzCMAKE_OPTIONS += -DWITH_INNOBASE_STORAGE_ENGINE=1
7c2fbfb345896881c631598ee3852ce9ce33fb07April ChinCMAKE_OPTIONS += -DCMAKE_CXX_COMPILER=$(CXX)
5d4606d7857958f486a2dc8cb37c99a0b72335d6Garrett D'AmoreCMAKE_OPTIONS += -DCMAKE_C_COMPILER=$(CC)
7c2fbfb345896881c631598ee3852ce9ce33fb07April ChinCMAKE_OPTIONS += -DCMAKE_C_FLAGS="$(CMAKE_CFLAGS.$(BITS))"
7c2fbfb345896881c631598ee3852ce9ce33fb07April ChinCMAKE_OPTIONS += -DCMAKE_CXX_FLAGS="$(CMAKE_CXXFLAGS.$(BITS))"
7c2fbfb345896881c631598ee3852ce9ce33fb07April ChinCMAKE_OPTIONS += '-DCOMPILATION_COMMENT=MySQL Community Server (GPL)'
7c2fbfb345896881c631598ee3852ce9ce33fb07April ChinCMAKE_OPTIONS += -DFEATURE_SET=community
7c2fbfb345896881c631598ee3852ce9ce33fb07April ChinCMAKE_OPTIONS += -DSUNPRO_CXX_LIBRARY=stdcxx4
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin
7c2fbfb345896881c631598ee3852ce9ce33fb07April ChinCOMPONENT_PRE_BUILD_ACTION += cd $(@D);
7c2fbfb345896881c631598ee3852ce9ce33fb07April ChinCOMPONENT_PRE_BUILD_ACTION += export LDFLAGS=$(CMAKE_CXXFLAGS.$(BITS));
7c2fbfb345896881c631598ee3852ce9ce33fb07April ChinCOMPONENT_PRE_BUILD_ACTION += echo Running cmake with $(CMAKE_OPTIONS);
7c2fbfb345896881c631598ee3852ce9ce33fb07April ChinCOMPONENT_PRE_BUILD_ACTION += $(CMAKE) . $(CMAKE_OPTIONS);
5d4606d7857958f486a2dc8cb37c99a0b72335d6Garrett D'Amore
5d4606d7857958f486a2dc8cb37c99a0b72335d6Garrett D'Amore# Adjust '#!/usr/bin/perl'
5d4606d7857958f486a2dc8cb37c99a0b72335d6Garrett D'Amore$(INSTALL_64): PERL_SCRIPTS= \
81af778e872fc2ec5f0ac36e7b25bdb24ebd2d6aCasper H.S. Dik $(PROTO_DIR)/$(CMAKE_PREFIX)/bin/mysql_convert_table_format \
81af778e872fc2ec5f0ac36e7b25bdb24ebd2d6aCasper H.S. Dik $(PROTO_DIR)/$(CMAKE_PREFIX)/bin/mysql_find_rows \
81af778e872fc2ec5f0ac36e7b25bdb24ebd2d6aCasper H.S. Dik $(PROTO_DIR)/$(CMAKE_PREFIX)/bin/mysql_fix_extensions \
81af778e872fc2ec5f0ac36e7b25bdb24ebd2d6aCasper H.S. Dik $(PROTO_DIR)/$(CMAKE_PREFIX)/bin/mysql_install_db \
81af778e872fc2ec5f0ac36e7b25bdb24ebd2d6aCasper H.S. Dik $(PROTO_DIR)/$(CMAKE_PREFIX)/bin/mysql_secure_installation \
81af778e872fc2ec5f0ac36e7b25bdb24ebd2d6aCasper H.S. Dik $(PROTO_DIR)/$(CMAKE_PREFIX)/bin/mysql_setpermission \
81af778e872fc2ec5f0ac36e7b25bdb24ebd2d6aCasper H.S. Dik $(PROTO_DIR)/$(CMAKE_PREFIX)/bin/mysql_zap \
81af778e872fc2ec5f0ac36e7b25bdb24ebd2d6aCasper H.S. Dik $(PROTO_DIR)/$(CMAKE_PREFIX)/bin/mysqlaccess \
81af778e872fc2ec5f0ac36e7b25bdb24ebd2d6aCasper H.S. Dik $(PROTO_DIR)/$(CMAKE_PREFIX)/bin/mysqld_multi \
81af778e872fc2ec5f0ac36e7b25bdb24ebd2d6aCasper H.S. Dik $(PROTO_DIR)/$(CMAKE_PREFIX)/bin/mysqldumpslow \
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz $(PROTO_DIR)/$(CMAKE_PREFIX)/bin/mysqlhotcopy
81af778e872fc2ec5f0ac36e7b25bdb24ebd2d6aCasper H.S. Dik
81af778e872fc2ec5f0ac36e7b25bdb24ebd2d6aCasper H.S. DikREQUIRED_PACKAGES += database/mysql-56/client
81af778e872fc2ec5f0ac36e7b25bdb24ebd2d6aCasper H.S. DikREQUIRED_PACKAGES += developer/build/cmake
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland MainzREQUIRED_PACKAGES += library/security/openssl
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland MainzREQUIRED_PACKAGES += $(PERL_PKG)
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland MainzREQUIRED_PACKAGES += shell/ksh93
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland MainzREQUIRED_PACKAGES += system/core-os
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland MainzREQUIRED_PACKAGES += system/library/c++-runtime
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland MainzREQUIRED_PACKAGES += system/library/math
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland MainzREQUIRED_PACKAGES += system/network
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland MainzREQUIRED_PACKAGES += library/c++/stdcxx
81af778e872fc2ec5f0ac36e7b25bdb24ebd2d6aCasper H.S. Dik