fender0107401 发表于 2008-08-19 09:23

有人对make.conf和src.conf感兴趣吗?

本帖最后由 fender0107401 于 2011-04-11 10:51 编辑

make.conf一直就有,

src.conf是7.0才引入的东西,

我很想了解应该如何写好这两个文件,想找点资料,谁能指点一下,现在只能自己看着man来弄,

尤其是make.conf重关于buildworld那个部分不明白为什么有那么多关于sendmail的选项,

我能通过这两个文件影响userland到什么程度呢?能以哪些方式去影响呢?

=======================================

补充:

关于/etc/make.conf的详细情况我已经写到了freebsdchina的wiki上面去了,

链接地址如下:http://wiki.freebsdchina.org/doc/m/make.conf_usage

[ 本帖最后由 fender0107401 于 2009-5-21 23:49 编辑 ]

blackbox 发表于 2008-08-19 10:43

src.conf 放在那里?

axlrose 发表于 2008-08-19 11:26

楼主不说还不知道有src.conf这玩意
关注一下

gtuiw 发表于 2008-08-19 11:51

原帖由 blackbox 于 2008-8-19 10:43 发表 http://bbs.chinaunix.net/images/common/back.gif
src.conf 放在那里?


默认是没有的,要自己创建放到/etc/下面!!

fender0107401 发表于 2008-08-19 16:41

   The only purpose of src.conf is to control the compilation of the FreeBSD
   source code, which is usually located in /usr/src.As a rule, the system
   administrator creates src.conf when the values of certain control vari-
   ables need to be changed from their defaults.

看来只是用来影响基本系统编译的,不知道是否影响kernel,应该不影响ports。

   The values of variables are ignored regardless of their setting; even if
   they would be set to ``FALSE'' or ``NO''.        Just the existence of an
   option will cause it to be honoured by make(1).

必须明确写出来才能生效。

gtuiw 发表于 2008-08-19 16:56

刚看到了一牛人的make.conf,发现在里面有很多........................不会说,自己看吧

# --< optimizations :: BEGIN >-------------------------------------------------
CPUTYPE=        athlon-mp
KERNCONF=        SMP-LITE

# default build settings for ports collection
.if ${.CURDIR:M*/ports/*}
CFLAGS=        -O2 -fno-strict-aliasing -pipe -s # -funroll-loops -fomit-frame-pointer
CXXFLAGS=        -O2 -fno-strict-aliasing -pipe -s # -funroll-loops
WRKDIRPREFIX=        ${PORTSDIR}/obj
.endif

# default build settings for base system
.if ${.CURDIR:M*/usr/src/*} || ${.CURDIR:M*/usr/obj/*}
CFLAGS+=        -O2 -fno-strict-aliasing -pipe -s
CXXFLAGS+=        -O2 -fno-strict-aliasing -pipe -s
COPTFLAGS=        -O2 -fno-strict-aliasing -pipe -s
.endif

# use ccache while building base system
CC=/usr/local/libexec/ccache/world-cc
CXX=/usr/local/libexec/ccache/world-c++
# --< optimizations :: END >---------------------------------------------------


# --< updating :: BEGIN >------------------------------------------------------
SUP_UPDATE=        yes
SUPHOST=        cvsup.pl.freebsd.org
SUP=                /usr/bin/csup
SUPFILE=        /usr/share/examples/cvsup/stable-supfile
PORTSSUPFILE=        /usr/share/examples/cvsup/ports-supfile
# --< updating :: END >--------------------------------------------------------


# --< defauls ports knobs :: BEGIN >-------------------------------------------
# optimizations
WITH_SSE= yes
WITH_3DNOW= yes
WITH_MMX= yes
WITH_THREADS= yes
WITHOUT_PROFILE= yes
WITHOUT_DEBUG= yes

# X11
X_WINDOW_SYSTEM= xorg

# audio
WITHOUT_ESD= yes
WITHOUT_ESOUND= yes
WITHOUT_ARTS= yes
WITHOUT_XMMS= yes
WITHOUT_DBUS= yes
WITHOUT_GSTREAMER= yes

# toolkits
WITHOUT_GTK= yes
WITHOUT_QT= yes
WITH_GTK2= yes

# encoding
WITH_UTF8= yes
WITH_MULTIBYTE= yes
WITH_UNICODE= yes
WITH_NLS= yes
WITH_I18N= yes

# network/www
WITHOUT_IPV6= yes
WITHOUT_JAVA= yes
WITHOUT_MOZILLA= yes
WITHOUT_MOZILLA_PLUGIN= yes
WITH_BROWSER= opera
BROWSER= opera
#WITHOUT_PLUGINWRAPPER=yes

# spell check
WITHOUT_GTKSPELL= yes
WITHOUT_ASPELL= yes
WITHOUT_ISPELL= yes

# graphics
WITH_JPEG= yes
WITH_IMLIB2= yes
WITH_GIMP= yes

# fonts
WITH_FREETYPE= yes
WITH_FREETYPE2= yes
WITH_XFT= yes

# multimedia
WITH_MPLAYER= yes
WITH_MPD= yes
WITHOUT_XINE= yes
WITHOUT_XINERAMA= yes
WITH_USB= yes
WITH_DVD_DEVICE= /dev/acd0

# print
WITHOUT_PRINT= yes
WITHOUT_CUPS= yes

# other
WITHOUT_GCONF= yes
WITHOUT_EXAMPLES= yes
WITHOUT_TEMPLATES= yes
WITHOUT_NAUTILUS= yes
WITHOUT_PERL= yes
WITHOUT_PYTHON= yes
# --< defauls ports knobs :: END >---------------------------------------------


# --< specialized ports knobs :: BEGIN >---------------------------------------
# /usr/ports/x11-toolkits/scintilla || /usr/ports/editors/scite
.if ${.CURDIR:M*/ports/x11-toolkits/scintilla} || ${.CURDIR:M*/ports/editors/scite}
WITH_GTK2= yes
.endif

# /usr/ports/graphics/gimp-devel
.if ${.CURDIR:M*/ports/graphics/gimp-devel}
WITHOUT_EXIF= yes
WITHOUT_PRINT= yes
WITHOUT_GNOMEPRINT= yes
WITH_MP= yes
.endif

# /usr/ports/lang/perl5.8
.if ${.CURDIR:M*/ports/lang/perl5.8}
WITHOUT_PERL_64BITINT= yes
WITH_THREADS= yes
.endif

# /usr/ports/lang/python
.if ${.CURDIR:M*/ports/lang/python}
WITHOUT_HUGE_STACK_SIZE= yes
WITHOUT_IPV6= yes
.endif

# /usr/ports/sysutils/conky
.if ${.CURDIR:M*/ports/sysutils/conky}
WITH_XFT= yes
WITHOUT_OWN_WINDOW= yes
WITH_MPD= yes
WITHOUT_SETI= yes
.endif

# /usr/ports/net-p2p/mldonkey-devel
.if ${.CURDIR:M*/ports/net-p2p/mldonkey-devel}
WITHOUT_GUI= yes
WITH_THR_THREAD_MODEL= yes
.endif

# /usr/ports/graphics/ImageMagick
.if ${.CURDIR:M*/ports/graphics/ImageMagick}
PERL_THREADED= true
WITH_IMAGEMAGICK_THREADS= yes
WITH_IMAGEMAGICK_DOT= yes
WITH_IMAGEMAGICK_SVG= yes
.endif

# /usr/ports/multimedia/mplayer
.if ${.CURDIR:M*/ports/multimedia/mplayer}
WITH_LANG= en,pl
WITHOUT_GUI= yes
WITHOUT_IPV6= yes
WITHOUT_SKINS= yes
WITHOUT_NVIDIA= yes
WITHOUT_ARTS= yes
WITH_AALIB= yes
WITHOUT_ESOUND= yes
WITHOUT_XMMS= yes
WITHOUT_RTCPU= yes
.endif

# /usr/ports/www/opera
.if ${.CURDIR:M*/ports/www/opera}
WITH_SHARED= yes
.endif

# /usr/ports/x11-wm/fluxbox-devel
.if ${.CURDIR:M*/ports/x11-wm/fluxbox-devel}
WITH_IMLIB2= yes
WITH_KDE= yes
WITH_GNOME= yes
WITHOUT_SLIT= yes
.endif

# /usr/ports/graphics/xpdf
.if ${.CURDIR:M*/ports/graphics/xpdf}
A4= yes
.endif

# /usr/ports/x11/rxvt-unicode
.if ${.CURDIR:M*/ports/x11/rxvt-unicode}
WITHOUT_UNICODE3= yes
WITHOUT_MENUBAR= yes
WITHOUT_RXVT_SCROLLBAR= yes
WITHOUT_NEXT_SCROLLBAR= yes
WITHOUT_XTERM_SCROLLBAR= yes
WITHOUT_PLAIN_SCROLLBAR= yes
WITHOUT_PERL= yes
.endif

# /usr/ports/textproc/ispell
.if ${.CURDIR:M*/ports/textproc/ispell}
ISPELL_PL= yes
.endif

# /usr/ports/audio/cmus
.if ${.CURDIR:M*/ports/audio/cmus}
WITH_VORBIS= yes
WITH_MODPLUG= yes
WITH_TREMOR= yes
WITH_MUSEPACK= yes
WITH_LIBAO= yes
.endif

# /usr/ports/www/lighttpd
.if ${.CURDIR:M*/ports/www/lighttpd}
#WITH_OPENLDAP=yes
#WITH_MYSQL=yes
WITHOUT_IPV6=yes
WITH_CML=yes
.endif

# /usr/ports/textproc/libxml2
.if ${.CURDIR:M*/ports/textproc/libxml2}
.undef WITH_THREADS
.endif

# /usr/ports/lang/php5
.if ${.CURDIR:M*/ports/lang/php5}
WITH_REDIRECT =yes
WITH_DISCARD =yes
WITH_MULTIBYTE =yes
.endif

# /usr/ports/irc/irssi-devel
.if ${.CURDIR:M*/ports/irc/irssi-devel}
WITHOUT_PERL= yes
WITHOUT_IPV6= yes
.endif

# /usr/ports/x11/nvidia-driver
.if ${.CURDIR:M*/ports/x11/nvidia-driver}
WITHOUT_LINUX= yes
WITH_ACPI= yes
.endif
# --< specialized ports knobs :: END >-----------------------------------------


# GAMEs
# .if${.CURDIR:M/usr/ports/games/*}
#    PREFIX=/mnt/games/${PORTNAME}
#    DATADIR=${PREFIX}/share
# .endif


# added by use.perl 2006-11-09 19:05:47
PERL_VER=5.8.8
PERL_VERSION=5.8.8

gtuiw 发表于 2008-08-19 16:58

上面有很多看不懂的,有哪位看得懂的可不可以解析一下??

gtuiw 发表于 2008-08-19 17:02

原帖由 fender0107401 于 2008-8-19 16:41 发表


看来只是用来影响基本系统编译的,不知道是否影响kernel,应该不影响ports。



应该会影响到kernel!!

当您编译的时候,很多的功能都会作为模块放到系统中,当您使用src.conf的时候,里面的参数就触使make不去编译该部分,
最后该部分连以模块的方式存在都不行

fender0107401 发表于 2008-08-19 17:03

   WITHOUT_BZIP2
             Set to not build contributed bzip2 software as a part of the base
             system.The option has no effect yet. When set, it also enforces
             the following options:

             WITHOUT_BZIP2_SUPPORT

   WITHOUT_BZIP2_SUPPORT
             Set to build some programs without optional bzip2 support.

   WITHOUT_CALENDAR
             Set to not build calendar(1).

很有意思。

fender0107401 发表于 2008-08-19 17:25

原帖由 gtuiw 于 2008-8-19 17:02 发表 http://bbs.chinaunix.net/images/common/back.gif


应该会影响到kernel!!

当您编译的时候,很多的功能都会作为模块放到系统中,当您使用src.conf的时候,里面的参数就触使make不去编译该部分,
最后该部分连以模块的方式存在都不行

的确是影响kernel的,我看到后面的选项里面有明确的说道kernel的,不过我编译内核时习惯不编译模块,^_^

你上面发的那个make.conf是有点复杂,我看了一会,感觉就是把一些编译时候的选项加到里面去了,

编译选项是依靠判断当前编译位置来判断的,

ports的位置不是固定不变的,有的时候会改变,似乎后面的内容实际用处不大吧,

那些关于ports的选项就是在make时制定的那些选项,如果这个ports存在就应用这些选项,

[ 本帖最后由 fender0107401 于 2008-8-19 17:33 编辑 ]
页: [1] 2 3
查看完整版本: 有人对make.conf和src.conf感兴趣吗?