[prev in list] [next in list] [prev in thread] [next in thread] 

List:       axis-c-dev
Subject:    Re: Axis C++ build in Linux is now very simple
From:       Alexei Dets <adets () idsk ! com>
Date:       2004-07-23 16:33:18
Message-ID: 200407231233.18409.adets () idsk ! com
[Download RAW message or body]

On Friday 23 July 2004 08:02, damitha kumarage wrote:
> > > sh build.sh
> > >
> > > This should build all as you specified in configure and install it
> > > in /usr/local/axiscpp_deploy(your prefix option)
> >
> > This is really bad. You assume that Axis is build with the root
> > permissions but nobody who can be called Unix system administrator does
> > this. Only installation is done with the root permissions, build and
> > install steps _must_ be separated.
>
> You mean somebody who is not root should be able to configure and make,
> then only to install he need root permissions? In that case we need to
> remove make install from the build.sh script so that he has to do
> sh build.sh
> then
> make install with root permission.

Exactly.

But usually it is done a bit different: the archive files with release are 
coming with _prebuilt_ configure script & Makefile.in files.

This is done because of the two reasons:
1) in this case the build does not depend on the user's autotools versions 
(and even their presence) because aclocal, autoconf, autoheader & automake 
were already run before packaging by the original developers - this can solve 
many compatibility problems (and remove the need of upgrade or installation 
of autotools) for end user;
2) standard build & install procedure: ./configure && make && make install

But for the developers of software (in this case for Axis developers) it will 
be unhandy to every time call autoconf, automake etc. by hands - so, for them 
there is something that automates this task and generates configure script 
etc. Later just do standard ./configure && make && make install. It can be a 
script like build.sh (usually called autogen.sh) and/or it is a simple 
Makefile (commonly called Makefile.cvs to distinguish it from Makefile that 
will be generated by configure), that has some targets defined that generate 
configure (possibly calling autogen.sh), package distribution in archive and 
do some other common developer tasks that are not needed for the user of the 
software.

	Alexei
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic