XFree86 host.def

Mark Hymers markh at linuxfromscratch.org
Sun Apr 28 17:28:01 PDT 2002

On Thu, 25, Apr, 2002 at 12:38:30AM -0500, Bruce Dubbs spoke thus..
> I've been looking at the suggested host.def file and I want to put some 
> of it into the X section of the book, however I have comments that I'd 
> like to discuss before I do it.  My comments are in [brackets].  There 
> are probably changes due to the release of 4.2.  Note that version 4.2 
> builds fine without any host.def file.  I welcome discussion.
>    -- Bruce
> host.def
> /* System Related Information == If you read and configure only one
>   * section then it should be this one.  The defaults are set for a
>   * i686 and higher.  You will need to alter them for your system 
> ***********/
> #define DefaultGcc2i386Opt \
>          -O3 -fomit-frame-pointer -fno-strict-aliasing -mcpu=i686 \
>          -march=i686 -fno-common
> [-mcpu is redundant.  -march implies -mcpu.
>   -O3 is too aggressive for the book.  Use the default of -O2.
>   -fno-strict-aliasing is the default.
>   -fno-common
>    The GCC info says
>       Allocate even uninitialized global variables in the bss section of
>       the object file, rather than generating them as common blocks.
>       This has the effect that if the same variable is declared (without
>       `extern') in two different compilations, you will get an error
>       when you link them.  The only reason this might be useful is if
>       you wish to verify that the program will work on other systems
>       which always work this way.
> ]
I'm OK to move down to -O2 and remove the -mcpu option.

> #define HasMTRRSupport          YES     /* Enabled in kernel see kernel 
> docs */
> [This is the default for Linux systems > 2.0.something]
I don't see any harm in leaving the comment in.  Or are you referring to
something else?

> #define HasMMXSupport           NO      /* Any i586 or above */
> [This is figured out automatically]
> #define HasKatmaiSupport        NO      /* PIII SSE instuctions */
> [Figured automatically]
> #define Has3DNowSupport         NO      /* AMD instructions */
> [figured automatically]
Fair enough but it might be nice to leave it in so that people who are
compiling for a different system know how to force it.  Also, I don't
think it *hurts* to tell it what you want does it?

> #define XInputDrivers           mouse void
> [Is this done to save some build time? The other devices look pretty rare.]
Do you know what the other possible values for XInputDrivers are?  I
haven't got time to check ATM.

> #define LinuxMachineDefines  -D__i686 -D__i686__ -D__pentiumpro 
> -D__pentiumpro__
> [Why should we do this?  The -march switch above should take care of it.]
I wonder why Chris and Jeremy put this in then?  I'll send a copy of
this part of the email to them and see if they respond.  [Chris and Jeremy, 
can you reply to blfs-dev please if you have time; thanks, Mark]

> ***********************************************************/
> #define XF86CardDrivers   mga glint nv tga s3virge rendition \
>                            cirrus vmware tseng chips apm \
>                            fbdev i128 \
>                            ati AgpGartDrivers DevelDrivers ark cyrix \
>                            vesa vga XF86OSCardDrivers
> [This should be omitted and left as default.  More info about drivers 
> will be put in DRI section.]
> #define UseMatroxHal            YES /* Matrox G400+ needs this enabled
> [Not in the main section.  Will be discussed in the DRI section.]
I think the option to only compile some drivers should be left in.
Maybe the discussion text should refer to this, saying that if you want
BLAH then make sure BLAH is set.  Otherwise, is there harm in leaving it

Note that this host.def is intended to be edited (probably fairly
heavily) before being used!

> ****************************************/
> #define BuildFontServer         YES     /* Need for GhostScript Print 
> Server */
> [This is the default]
> #define BuildFreetype2Library   YES     /* For using TrueType Fonts */
> [Built by default]
> #define SharedLibFont           YES     /* Needed for Truetype */
> [Not sure about this one, but freetype works without it]
> #define CompressAllFonts        YES
> [Built by default]
> #define GzipFontCompression     YES
> #define SharedLibFont           YES
> [Not sure about these]
Again, even if the settings are default, we can include them to show
people that they can be switched off.
> #define DefaultFontPath         $(FONTDIR)/misc/,$(FONTDIR)/75dpi/,\
> $(FONTDIR)/100dpi/,$(FONTDIR)/Type1,$(FONTDIR)/local,\
> $(FONTDIR)/TrueType,$(FONTDIR)/CID,$(FONTDIR)/Speedo
> [This should be left out.  We will reset it in the config file.]
> [Turning off the extra fonts is good.]

> /* INTERNATIONAL FONTS.  Change to YES if you need any of them 
> *************/
> #define BuildCyrillicFonts      NO
> #define BuildArabicFonts        NO
> #define BuildISO8859_6Fonts     NO
> #define BuildGreekFonts         NO
> #define BuildISO8859_7Fonts     NO
> #define BuildHebrewFonts        NO
> #define BuildISO8859_8Fonts     NO
> #define BuildKOI8_RFonts        NO
> #define BuildJapaneseFonts      NO
> #define BuildJISX0201Fonts      NO
> #define BuildKoreanFonts        NO
> #define BuildChineseFonts       NO
> [Why do we put these in?  They are all no by default.  Providing the 
> builder options?]
Again, we're trying to show people what they can do.

> #define XprtServer              YES /* Needed by realplayer for some 
> reason */
> [Don't know about this one]
We *must* say YES to this if we don't want anyone who wants to install
realplayer to have to rebuild parts of X.... Trust me, I know..

> #define XnestServer             YES
> [default]
> #define XAppLoadDir             EtcX11Directory/app-defaults
> [is this necessary?]
Good question.  It does allow people to alter it though ;-)

> #define VarLibDir               /var/lib
> [I believe this is the default]
> #define XFree86Devel            YES
> [shouldn't be by default]
Hmm?  I *think* there was a reason for doing this in X-4.1; it may no
longer apply to X-4.2 [I think it was related to building the
XprtServer part]

> #define SystemManDirectory      /usr/share/man
> [default]
Are you sure that /usr/man isn't the default (I know it's symlinked
anyways but to be more correct... [hopefully one day, the symlinks will
be able to go away])

> #define DebuggableLibraries     YES /* Avoids a make install crash */
> [Not needed - no crash in version 4.2]

> #define ForceNormalLib          YES
> [This is to build static libraries in addition to dynamic.  Do we need 
> to do this?]
We could add a comment that it does this and leave it to people to
> [everything below here will be handled in dri section]
> #define BuildXF86DRI            YES     /* DRI of course. */
> #if BuildXF86DRI
>          #define BuildLibGlxWithoutPIC   YES     /* Builds faster libs */
> #endif
> #define SharedLibGlu            YES
> #define NormalLibGlu            YES
> #define InstallFSConfig         YES
> #define LinkGLToUsrInclude      NO
> #define LinkGLToUsrLib          NO
> #define BuildRman               NO

IMO the DRI discussion could simply refer to which options you need to
set in host.def.  Also, I'd like to keep the default options in so that
people know they can alter them.

Do you want to propose the modifications you'd like to make and then we
can discuss them from there.


Mark Hymers                                    BLFS Editor
markh at linuxfromscratch.org
Unsubscribe: send email to listar at linuxfromscratch.org
and put 'unsubscribe blfs-dev' in the subject header of the message

More information about the blfs-dev mailing list