components/mysql-5-6/Makefile
changeset 5837 2f6077a68fbd
parent 5797 432ac76de3b0
child 6009 f947b86fc7dd
equal deleted inserted replaced
5836:b124f6eea13b 5837:2f6077a68fbd
    25 BUILD_BITS= 64_and_32
    25 BUILD_BITS= 64_and_32
    26 export PARFAIT_BUILD=no
    26 export PARFAIT_BUILD=no
    27 include ../../make-rules/shared-macros.mk
    27 include ../../make-rules/shared-macros.mk
    28 
    28 
    29 COMPONENT_NAME        = mysql
    29 COMPONENT_NAME        = mysql
    30 COMPONENT_VERSION     = 5.6.25
    30 COMPONENT_VERSION     = 5.6.29
       
    31 COMPONENT_SRC         = $(COMPONENT_NAME)-$(COMPONENT_VERSION)
       
    32 COMPONENT_ARCHIVE     = $(COMPONENT_SRC).tar.gz
    31 COMPONENT_ARCHIVE_HASH= \
    33 COMPONENT_ARCHIVE_HASH= \
    32          sha256:15079c0b83d33a092649cbdf402c9225bcd3f33e87388407be5cdbf1432c7fbd
    34          sha256:6ac85b75b2dfa8c232725dda25469df37bf4e48b408cc0978d0dfc34c25a817f
    33 COMPONENT_ARCHIVE_URL = http://cdn.mysql.com/Downloads/MySQL-5.6/$(COMPONENT_ARCHIVE)
    35 COMPONENT_ARCHIVE_URL = http://cdn.mysql.com/Downloads/MySQL-5.6/$(COMPONENT_ARCHIVE)
    34 COMPONENT_PROJECT_URL = http://dev.mysql.com/ 
    36 COMPONENT_PROJECT_URL = http://dev.mysql.com/ 
    35 COMPONENT_BUGDB       = database/mysql
    37 COMPONENT_BUGDB       = database/mysql
    36 
    38 
       
    39 #We use cp(1) instead of cloney because we use TAR to copy files and the TAR 
       
    40 #used doesn't handle long links
       
    41 CLONEY = echo
       
    42 COMPONENT_PRE_BUILD_ACTION +=  $(CP) -rp $(SOURCE_DIR)/* $(@D);
       
    43 
    37 BUILD_STYLE= justmake
    44 BUILD_STYLE= justmake
    38 TEST_TARGET= $(NO_TESTS)
    45 TEST_TARGET= $(NO_TESTS)
       
    46 SYSTEM_TEST_TARGET= $(NO_TESTS)
    39 include $(WS_MAKE_RULES)/common.mk
    47 include $(WS_MAKE_RULES)/common.mk
       
    48 
       
    49 # Enable ASLR for this component
       
    50 ASLR_MODE           = $(ASLR_ENABLE)
    40 
    51 
    41 # MySQL being one of Oracle's own product doesn't require to have a
    52 # MySQL being one of Oracle's own product doesn't require to have a
    42 # TPNO License number.
    53 # TPNO License number.
    43 
    54 
    44 # This component uses cmake to generate Makefiles and thus does not
    55 # This component uses cmake to generate Makefiles and thus does not
    52 CMAKE_BINDIR.64     = bin
    63 CMAKE_BINDIR.64     = bin
    53 CMAKE_LIBDIR.32     = lib
    64 CMAKE_LIBDIR.32     = lib
    54 CMAKE_LIBDIR.64     = lib/$(MACH64)
    65 CMAKE_LIBDIR.64     = lib/$(MACH64)
    55 CMAKE_PLUGINDIR.32  = lib/plugin
    66 CMAKE_PLUGINDIR.32  = lib/plugin
    56 CMAKE_PLUGINDIR.64  = lib/$(MACH64)/plugin
    67 CMAKE_PLUGINDIR.64  = lib/$(MACH64)/plugin
    57 CMAKE_CFLAGS.32     = -D__MATHERR_RENAME_EXCEPTION
    68 CMAKE_CFLAGS.32     = -m32
    58 CMAKE_CFLAGS.64     = -m64 -D__MATHERR_RENAME_EXCEPTION
    69 CMAKE_CFLAGS.64     = -m64
    59 CMAKE_CXXFLAGS.32   = -D__MATHERR_RENAME_EXCEPTION -template=extdef -xnorunpath
    70 CMAKE_CXXFLAGS.32   = -m32 -xnorunpath -std=c++03
    60 CMAKE_CXXFLAGS.64   = -m64 -D__MATHERR_RENAME_EXCEPTION -template=extdef -xnorunpath
    71 CMAKE_CXXFLAGS.64   = -m64 -xnorunpath -std=c++03
    61 
    72 
    62 # Providing component specific build options to cmake
    73 # Providing component specific build options to cmake
    63 CMAKE_OPTIONS += -DBUILD_CONFIG=mysql_release
    74 CMAKE_OPTIONS += -DBUILD_CONFIG=mysql_release
    64 CMAKE_OPTIONS += -DINSTALL_LAYOUT=STANDALONE
    75 CMAKE_OPTIONS += -DINSTALL_LAYOUT=STANDALONE
    65 CMAKE_OPTIONS += -DCMAKE_INSTALL_PREFIX=$(CMAKE_PREFIX)
    76 CMAKE_OPTIONS += -DCMAKE_INSTALL_PREFIX=$(CMAKE_PREFIX)
    78 CMAKE_OPTIONS += -DENABLED_LOCAL_INFILE=ON
    89 CMAKE_OPTIONS += -DENABLED_LOCAL_INFILE=ON
    79 CMAKE_OPTIONS += -DWITH_ARCHIVE_STORAGE_ENGINE=1
    90 CMAKE_OPTIONS += -DWITH_ARCHIVE_STORAGE_ENGINE=1
    80 CMAKE_OPTIONS += -DWITH_BLACKHOLE_STORAGE_ENGINE=1
    91 CMAKE_OPTIONS += -DWITH_BLACKHOLE_STORAGE_ENGINE=1
    81 CMAKE_OPTIONS += -DWITH_EXAMPLE_STORAGE_ENGINE=1
    92 CMAKE_OPTIONS += -DWITH_EXAMPLE_STORAGE_ENGINE=1
    82 CMAKE_OPTIONS += -DWITH_FEDERATED_STORAGE_ENGINE=1
    93 CMAKE_OPTIONS += -DWITH_FEDERATED_STORAGE_ENGINE=1
    83 CMAKE_OPTIONS += -DWITH_INNOBASE_STORAGE_ENGINE=1
       
    84 CMAKE_OPTIONS += -DCMAKE_CXX_COMPILER=$(CXX)
    94 CMAKE_OPTIONS += -DCMAKE_CXX_COMPILER=$(CXX)
    85 CMAKE_OPTIONS += -DCMAKE_C_COMPILER=$(CC)
    95 CMAKE_OPTIONS += -DCMAKE_C_COMPILER=$(CC)
       
    96 CMAKE_OPTIONS += -DWITH_INNOBASE_STORAGE_ENGINE=1
    86 CMAKE_OPTIONS += -DCMAKE_C_FLAGS="$(CMAKE_CFLAGS.$(BITS))"
    97 CMAKE_OPTIONS += -DCMAKE_C_FLAGS="$(CMAKE_CFLAGS.$(BITS))"
    87 CMAKE_OPTIONS += -DCMAKE_CXX_FLAGS="$(CMAKE_CXXFLAGS.$(BITS))"
    98 CMAKE_OPTIONS += -DCMAKE_CXX_FLAGS="$(CMAKE_CXXFLAGS.$(BITS))"
    88 CMAKE_OPTIONS += '-DCOMPILATION_COMMENT=MySQL Community Server (GPL)'
    99 CMAKE_OPTIONS += '-DCOMPILATION_COMMENT=MySQL Community Server (GPL)'
    89 CMAKE_OPTIONS += -DFEATURE_SET=community
   100 CMAKE_OPTIONS += -DFEATURE_SET=community
    90 CMAKE_OPTIONS += -DSUNPRO_CXX_LIBRARY=stdcxx4
   101 CMAKE_OPTIONS += -DCMAKE_VERBOSE_MAKEFILE:BOOL=TRUE
    91 
   102 
    92 COMPONENT_PRE_BUILD_ACTION += cd $(@D);
   103 COMPONENT_PRE_BUILD_ACTION += cd $(@D);
    93 COMPONENT_PRE_BUILD_ACTION += export LDFLAGS=$(CMAKE_CXXFLAGS.$(BITS));
   104 COMPONENT_PRE_BUILD_ACTION += export LDFLAGS=$(CMAKE_CXXFLAGS.$(BITS));
    94 COMPONENT_PRE_BUILD_ACTION += echo Running cmake with $(CMAKE_OPTIONS);
   105 COMPONENT_PRE_BUILD_ACTION += echo Running cmake with $(CMAKE_OPTIONS);
    95 COMPONENT_PRE_BUILD_ACTION += $(CMAKE) . $(CMAKE_OPTIONS);
   106 COMPONENT_PRE_BUILD_ACTION += $(CMAKE) . $(CMAKE_OPTIONS);
   107 	$(PROTO_DIR)/$(CMAKE_PREFIX)/bin/mysqld_multi \
   118 	$(PROTO_DIR)/$(CMAKE_PREFIX)/bin/mysqld_multi \
   108 	$(PROTO_DIR)/$(CMAKE_PREFIX)/bin/mysqldumpslow \
   119 	$(PROTO_DIR)/$(CMAKE_PREFIX)/bin/mysqldumpslow \
   109 	$(PROTO_DIR)/$(CMAKE_PREFIX)/bin/mysqlhotcopy
   120 	$(PROTO_DIR)/$(CMAKE_PREFIX)/bin/mysqlhotcopy
   110 
   121 
   111 REQUIRED_PACKAGES += database/mysql-56/client
   122 REQUIRED_PACKAGES += database/mysql-56/client
   112 REQUIRED_PACKAGES += developer/build/cmake
       
   113 REQUIRED_PACKAGES += library/security/openssl
   123 REQUIRED_PACKAGES += library/security/openssl
   114 REQUIRED_PACKAGES += $(PERL_PKG)
   124 REQUIRED_PACKAGES += $(PERL_PKG)
   115 REQUIRED_PACKAGES += shell/ksh93
   125 REQUIRED_PACKAGES += shell/ksh93
   116 REQUIRED_PACKAGES += system/core-os
   126 REQUIRED_PACKAGES += system/core-os
   117 REQUIRED_PACKAGES += system/library/c++-runtime
   127 REQUIRED_PACKAGES += system/library/c++-runtime
       
   128 REQUIRED_PACKAGES += system/library/gcc/gcc-c++-runtime
       
   129 REQUIRED_PACKAGES += system/library/gcc/gcc-c-runtime
   118 REQUIRED_PACKAGES += system/library/math
   130 REQUIRED_PACKAGES += system/library/math
   119 REQUIRED_PACKAGES += system/network
   131 REQUIRED_PACKAGES += system/network
   120 REQUIRED_PACKAGES += library/c++/stdcxx