Subject: Re: Fw: Re: if compiling KDE3 "rm: conftest: is a directory"
To: Maurizio Caloro <mauric@gmx.ch>
From: None <sigsegv@rambler.ru>
List: netbsd-users
Date: 07/11/2004 02:40:24
Maurizio Caloro wrote:

>Hello,
>
>First thaks for your detaild informations, i need it :-)
>
>but please can you say please from how you hafe the following
>inforamtions, about the entries "mk.conf" file ?
>
>have you from knowledge or experiences ?,
>and if i have don this change "mk.conf" i need to build 
>now new my apps new 
>
>  
>
Run "man mk.conf" it will show you a complete list of all the variables 
that you could put in /etc/mk.conf that will influence the building of a 
base system, i.e.

cd /usr/src
./build.sh -x -X /usr/xsrc release | tee compile.log 2>&1

will build a release of NetBSD from sources in /usr/src and with Xserver 
and X11 libs from sources in /usr/xsrc

Run "man packages" it will show you a complete list of all the variables 
that you could put in /etc/mk.conf that will influence the building of 
extra packages, usually found in /usr/pkgsrc, it also lists various make 
targets, like "make clean", "make build" etc.

Look at /usr/pkgsrc/mk/bsd.pkg.defaults.mk this file contains variables 
which you can put in /etc/mk.conf to fine tune options for different 
packages in /usr/pkgsrc

I don't quite understand your last question, basically whenever you 
build something from /usr/src or /usr/pkgsrc, make gets default values 
for required variables, anything in /etc/mk.conf will override those 
variables and their values, when you change /etc/mk.conf the next time 
you build a package, or NetBSD kernel, the changes made in /etc/mk.conf 
will take effect.
So for example, if you want to build optimized kernel, you need to add 
gcc optimiztion options to COPTS variable in /etc/mk.conf, e.g 
COPTS+=-pipe -march=athlon-tbird -m3dnow -mmmx
Adding those optimizations to CFLAGS seems to do the same thing, I think 
CFLAGS is used when building packages in /usr/pkgsrc, COPTS is used when 
building new kernel or base system. CXXFLAGS is supposed to be for C++ 
compiler.

I run NetBSD-2.0F, so the way I build my packages is with the following 
options in /etc/mk.conf

OBJMACHINE=yes
MKOBJDIRS=yes
MOZILLA_USE_XFT=NO
MKTTINTERP=YES
PREFER_PKGSRC=no
PREFER_NATIVE= MesaLib Xft2 Xrandr Xrender expat fontconfig freetype2 
glu randrext render xcursor yes
DEPENDS_TARGET=package

All I have to do is:

cd /usr/pkgsrc/<some_package>
make package

The package and the packages it depends on will be built and saved in 
/usr/pkgsrc/packages/All
If I unistall any of those packages I can reinstall them again from that 
directory