【笔记】rpm 打包时的编译优化

简介:

在编译nginx 时,顺便查了下编译优化的参数,留个笔记。这里说的都是gcc


./configure

1
-- with -cc-opt= "%{optflags} $(pcre-config --cflags)"


下面是make优化:


1
make %{?_smp_mflags}

通常优化


1
make %{?_smp_mflags} CFLAGS= "-O3 -g -mtune=generic -m64"

i386/x86_64通用CPU,gcc 最高级别优化,64位专用


1
make %{?_smp_mflags} CFLAGS= "-O3 -g -mtune=native -m64"

探测本地CPU,gcc最高级别优化,本地64位专用,不可移植。


1
make %{?_smp_mflags} CFLAGS= "$RPM_OPT_FLAGS -fno-strict-aliasing"

红帽参数,$RPM_OPT_FLAGS通常是-02 -g


发行商为了二进制文件的可移植性,以及在不同机器上的兼容性,-mtune=native -m64 这样的参数肯定是没加的,事实上这些参数可以略微提高二进制文件的执行性能。


如果是通过srpm编译来获得软件包,完全可以定制编译。


注:对于C++,请把 CFLAGS 替换为 CXXFLAGS 。


另外,打包时,安装软件包redhat-rpm-config 很有必要。它预设了一些环境,会自动根据你的环境进行优化,详见 /usr/lib/rpm/rpmrc和 /usr/lib/rpm/redhat/rpmrc











本文转自 紫色葡萄 51CTO博客,原文链接:http://blog.51cto.com/purplegrape/1382076,如需转载请自行联系原作者
目录
相关文章
|
9月前
|
IDE Unix Linux
Linux环境基础开发工具使用(yum软件安装工具的使用、vim编辑器使用及握gcc/g++编译器的使用等上)
在之前我配置环境那篇博客我写到的换国内的阿里源,就是指的yum源,如果我们使用默认国外的源,可能会出现连不上,或者网速极慢的情况
|
Linux 语音技术 Python
如何解决kaldi的依赖库mkl安装失败的问题
通过搜索大量的资料,但都发现不太适用。现在将失败的症状和解决方法分享一下,希望能给读者提供一些帮助。
如何解决kaldi的依赖库mkl安装失败的问题
|
4月前
|
Linux
linux(二十五)打包压缩命令tar~
linux(二十五)打包压缩命令tar~
31 0
|
4月前
|
JSON 资源调度 JavaScript
【源码共读】编程式安装依赖 install-pkg
【源码共读】编程式安装依赖 install-pkg
41 2
|
6月前
|
Linux 数据库
RPM 打包学习
rpm命令是RPM软件包的管理工具。rpm原本是Red Hat Linux发行版专门用来管理Linux各项套件的程序,由于它遵循GPL规则且功能强大方便,因而广受欢迎。逐渐受到其他发行版的采用。RPM套件管理方式的出现,让Linux易于安装,升级,间接提升了Linux的适用度。
41 0
|
8月前
|
缓存 开发工具 git
你听我说-HandyControl源码编译
你听我说-HandyControl源码编译
193 0
|
11月前
|
Ubuntu Unix Java
Linux驱动开发笔记(二):ubuntu系统从源码编译安装gcc7.3.0编译器
编译ubuntu驱动之前,发现使用的gcc是7.3.0,而使用apt管理和下载的都无法直接或间接安装gcc7.3.0,于是只能从源码安装gcc7.3.0编译器。
|
Java API 开发工具
Magisk 最新版本 V24.1 源码编译踩坑集锦
Magisk 最新版本 V24.1 源码编译踩坑集锦
429 0
|
运维 Linux
1.1 为什么要源码编译
1.1 为什么要源码编译
145 0

热门文章

最新文章