当前位置: 首页 > news >正文

buildroot mysql mysql.mk hacking

/***********************************************************************
 *        buildroot mysql mysql.mk hacking
 * 说明:
 *     大致看一下buildroot中mysql是如何进行配置,主要是看运行./configure
 * 的时候配置,有时候配置buildroot的时候,有些选项不知道,也可以到这些
 * mk文件去看看,这样就知道在make menuconfig中打开什么选项了。
 *
 *                                  2017-2-10 深圳 南山平山村 曾剑锋
 **********************************************************************/


################################################################################
#
# mysql
#
################################################################################

# mysql主版本号
MYSQL_VERSION_MAJOR = 5.1
# mysql次版本号+次版本号
MYSQL_VERSION = $(MYSQL_VERSION_MAJOR).73
# mysql源代码包名称
MYSQL_SOURCE = mysql-$(MYSQL_VERSION).tar.gz
# mysql源代码路径
MYSQL_SITE = http://dev.mysql.com/get/Downloads/MySQL-$(MYSQL_VERSION_MAJOR)
MYSQL_INSTALL_STAGING = YES
MYSQL_DEPENDENCIES = readline ncurses
MYSQL_AUTORECONF = YES
MYSQL_LICENSE = GPLv2
MYSQL_LICENSE_FILES = README COPYING

# Unix socket. This variable can also be consulted by other buildroot packages
MYSQL_SOCKET = /run/mysql/mysql.sock

MYSQL_CONF_ENV = \
    ac_cv_sys_restartable_syscalls=yes \
    ac_cv_path_PS=/bin/ps \
    ac_cv_FIND_PROC="/bin/ps p \$\$PID | grep -v grep | grep mysqld > /dev/null" \
    ac_cv_have_decl_HAVE_IB_ATOMIC_PTHREAD_T_GCC=yes \
    ac_cv_have_decl_HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS=no \
    ac_cv_have_decl_HAVE_IB_GCC_ATOMIC_BUILTINS=yes \
    mysql_cv_new_rl_interface=yes

MYSQL_CONF_OPTS = \
    --without-ndb-binlog \
    --without-docs \
    --without-man \
    --without-libedit \
    --without-readline \
    --with-low-memory \
    --enable-thread-safe-client \
    --with-unix-socket-path=$(MYSQL_SOCKET) \
    --disable-mysql-maintainer-mode

# host-mysql only installs what is needed to build mysql, i.e. the
# gen_lex_hash tool, and it only builds the parts that are needed to
# create this tool
HOST_MYSQL_DEPENDENCIES = host-zlib host-ncurses

HOST_MYSQL_CONF_OPTS = \
    --with-embedded-server \
    --disable-mysql-maintainer-mode

define HOST_MYSQL_BUILD_CMDS
    $(HOST_MAKE_ENV) $(MAKE) -C $(@D)/include my_config.h
    $(HOST_MAKE_ENV) $(MAKE) -C $(@D)/mysys libmysys.a
    $(HOST_MAKE_ENV) $(MAKE) -C $(@D)/strings libmystrings.a
    $(HOST_MAKE_ENV) $(MAKE) -C $(@D)/vio libvio.a
    $(HOST_MAKE_ENV) $(MAKE) -C $(@D)/dbug libdbug.a
    $(HOST_MAKE_ENV) $(MAKE) -C $(@D)/regex libregex.a
    $(HOST_MAKE_ENV) $(MAKE) -C $(@D)/sql gen_lex_hash
endef

define HOST_MYSQL_INSTALL_CMDS
    $(INSTALL) -m 0755  $(@D)/sql/gen_lex_hash $(HOST_DIR)/usr/bin/
endef

ifeq ($(BR2_PACKAGE_OPENSSL),y)
MYSQL_DEPENDENCIES += openssl
endif

ifeq ($(BR2_PACKAGE_ZLIB),y)
MYSQL_DEPENDENCIES += zlib
endif

ifeq ($(BR2_PACKAGE_MYSQL_SERVER),y)
MYSQL_DEPENDENCIES += host-mysql host-bison

MYSQL_CONF_OPTS += \
    --localstatedir=/var/mysql \
    --with-atomic-ops=up \
    --with-embedded-server \
    --without-query-cache \
    --without-plugin-partition \
    --without-plugin-daemon_example \
    --without-plugin-ftexample \
    --without-plugin-archive \
    --without-plugin-blackhole \
    --without-plugin-example \
    --without-plugin-federated \
    --without-plugin-ibmdb2i \
    --without-plugin-innobase \
    --without-plugin-innodb_plugin \
    --without-plugin-ndbcluster

# Debugging is only available for the server, so no need for
# this if-block outside of the server if-block
ifeq ($(BR2_ENABLE_DEBUG),y)
MYSQL_CONF_OPTS += --with-debug=full
else
MYSQL_CONF_OPTS += --without-debug
endif

define MYSQL_USERS
    mysql -1 nogroup -1 * /var/mysql - - MySQL daemon
endef

define MYSQL_ADD_FOLDER
    $(INSTALL) -d $(TARGET_DIR)/var/mysql
endef

MYSQL_POST_INSTALL_TARGET_HOOKS += MYSQL_ADD_FOLDER

# 安装mysql的SysV开机自启动文件
define MYSQL_INSTALL_INIT_SYSV
    $(INSTALL) -D -m 0755 package/mysql/S97mysqld \
        $(TARGET_DIR)/etc/init.d/S97mysqld
endef

# 安装mysql的Systemd开机自启动文件
define MYSQL_INSTALL_INIT_SYSTEMD
    $(INSTALL) -D -m 644 package/mysql/mysqld.service \
        $(TARGET_DIR)/usr/lib/systemd/system/mysqld.service
    mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
    ln -sf ../../../../usr/lib/systemd/system/mysqld.service \
        $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/mysqld.service
endef

else
MYSQL_CONF_OPTS += \
    --without-server
endif


define MYSQL_REMOVE_TEST_PROGS
    rm -rf $(TARGET_DIR)/usr/mysql-test $(TARGET_DIR)/usr/sql-bench
endef

MYSQL_POST_INSTALL_TARGET_HOOKS += MYSQL_REMOVE_TEST_PROGS

$(eval $(autotools-package))
$(eval $(host-autotools-package))

 

转载于:https://www.cnblogs.com/zengjfgit/p/6385011.html

相关文章:

  • 来介绍一个很好的工具--TodoList
  • Vuejs——(9)组件——props数据传递
  • struts技术的logic标签
  • Centos7下安装mysql5.6需要注意的点
  • 算法之美--3.2.3 KMP算法
  • log4j详解
  • angularjs data-ng-app 和ng-app的区别
  • 微软发布WF教程及大量示例
  • zabbix3.0.4-agent通过shell脚本获取mysql数据库登陆用户
  • 一个n的flex组件(SpringGraph Flex Component)
  • CString类常用方法(转载)
  • 网站产生流量的几个方法
  • 获取数据库内容二
  • 网页素材
  • 开放才能进步!Angular和Wijmo一起走过的日子
  • Android 架构优化~MVP 架构改造
  • css布局,左右固定中间自适应实现
  • Flannel解读
  • JS进阶 - JS 、JS-Web-API与DOM、BOM
  • Linux gpio口使用方法
  • redis学习笔记(三):列表、集合、有序集合
  • SpiderData 2019年2月23日 DApp数据排行榜
  • 阿里云前端周刊 - 第 26 期
  • 反思总结然后整装待发
  • 基于Mobx的多页面小程序的全局共享状态管理实践
  • 记录一下第一次使用npm
  • 思考 CSS 架构
  • 协程
  • puppet连载22:define用法
  • 小白应该如何快速入门阿里云服务器,新手使用ECS的方法 ...
  • 整理一些计算机基础知识!
  • ​Base64转换成图片,android studio build乱码,找不到okio.ByteString接腾讯人脸识别
  • #Js篇:单线程模式同步任务异步任务任务队列事件循环setTimeout() setInterval()
  • (MIT博士)林达华老师-概率模型与计算机视觉”
  • (补)B+树一些思想
  • (附源码)springboot猪场管理系统 毕业设计 160901
  • (黑马出品_高级篇_01)SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式
  • (免费领源码)Java#ssm#MySQL 创意商城03663-计算机毕业设计项目选题推荐
  • (使用vite搭建vue3项目(vite + vue3 + vue router + pinia + element plus))
  • (转)visual stdio 书签功能介绍
  • (轉貼) 寄發紅帖基本原則(教育部禮儀司頒布) (雜項)
  • /dev/VolGroup00/LogVol00:unexpected inconsistency;run fsck manually
  • @Not - Empty-Null-Blank
  • @Transactional 详解
  • [04] Android逐帧动画(一)
  • [2016.7.Test1] T1 三进制异或
  • [23] GaussianAvatars: Photorealistic Head Avatars with Rigged 3D Gaussians
  • [APIO2015]巴厘岛的雕塑
  • [ARC066F]Contest with Drinks Hard
  • [AutoSar]BSW_OS 02 Autosar OS_STACK
  • [C++]拼图游戏
  • [CLR via C#]11. 事件
  • [Codeforces1137D]Cooperative Game
  • [C语言][C++][时间复杂度详解分析]二分查找——杨氏矩阵查找数字详解!!!
  • [github配置] 远程访问仓库以及问题解决