Bill Allombert on Sun, 23 Jun 2002 19:34:34 +0200

[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Re: Configure issues

On Sun, Jun 23, 2002 at 06:48:45PM +0200, Karim BELABAS wrote:
> > Well this is not useful, since you can already do
> > make gp -C Onone
> > and this is easier to type using shell completion.
> This is GNU make specific, isn't it ?

Well, Solaris 2.7 has no -C options, and Digital UNIX V4.0D has an incompatible
one, so yes... 

As an alternative, we can continue to provide the Makefile.arch-osname, so that
make -f Makefile.arch-osname works.

> In any case, we should append -nokernel (or somesuch) to the object dir name
> if architecture 'none' was specified (O$osname-$arch-nokernel). I agree
> that O$osname-none is a bad idea: no assembler kernel was used but the binary
> is still $arch-specific, whatever $arch was.
> For consistency, we could have a 'nokernel' (= 'gp-nokernel') target in top
> Makefile (and possibly 'dbg-nokernel', 'prf-nokernel'), but it's not that
> important. [ OK, I can type 'make nokernel' faster than 'cd
> O<TAB><TAB><RET>make', but I'd hardly ever do it ]
> But it'd be nice to be able to build portable kernels on different archs, for
> the same operating system.
> Would that be OK ?

Unfortunately, no. What really Igor want (in my understanding) is to build
PARI with different configuration options (different kernels, different
compilers, different compiler options etc...) from the same tree.

My change break something like
CC=$MYCC CFLAGS=$MYCFLAGS ./Configure $MYOPTION; make gp bench
if $MYOPTION contain a --host option.

The first thing to do is to provide an Configure option for building
with the portable kernel (but still using arch-os objdir).

If you use --host=os-arch option , you need to cd to Oarch-os yourself. 
This is unfortunate but not fatal.

The question which remains is what to do if we want to keep several objdir
for the same host, but witth different configuration options ?
We can ./Configure and then mv the directory manually:
mv Olinux-i686 Olinux-i686-gcc-3.0
cd to it will work.

Maybe what is really needed is a bit of documentation of advanced usage
of the build system ?