Re: Target for libtool?

2000-05-10 Thread Akim Demaille

 "Gary" == Gary V Vaughan [EMAIL PROTECTED] writes:
 "Alexandre" == Alexandre Oliva [EMAIL PROTECTED] writes:

Gary Hmm.  I'm pretty sure autoconf 2.13 set target to "NONE".

Akim Yes, it did, definitely.

Gary Nup.  No problem with the change here.

Alexandre I think I've already seen code that tested whether target =
Alexandre NONE, so it might be wise to keep it unchanged.

:(

It's a lot more code for free.  I cannot understand what drove the
choice of NONE for some default values :(

Can't we go and see the people who do that and tell here how to adjust
their code?  I've looked in several `configure.in', and none include
such thing.  And it is not documented (but this is a stupid argument,
agreed: people had to know the default to use it).

Akim

~/src % fgrep NONE **/configure.in
bash-2.04/configure.in: test "x$prefix" = xNONE  _rl_prefix=$ac_default_prefix || 
_rl_prefix=${prefix}
bash-2.04/configure.in: test "x$exec_prefix" = xNONE  _rl_exec_prefix=${_rl_prefix} 
|| _rl_exec_prefix=${exec_prefix}
bc/configure.in:if test "${prefix}" = "NONE" ; then 
egcs/gcc/configure.in:  if test "x$exec_prefix" = xNONE; then
egcs/gcc/configure.in:  if test "x$prefix" = xNONE; then
egcs/gcc/configure.in:if test x$exec_prefix = xNONE -o x$exec_prefix = x$prefix; then
emacs/configure.in:if test "${x_libraries}" != NONE  test -n "${x_libraries}"; then
emacs/configure.in:if test "${x_includes}" != NONE  test -n "${x_includes}"; then
emacs/configure.in:  if test "${x_libraries}" != NONE  test -n "${x_libraries}"; then
emacs/configure.in:test "${prefix}" != NONE 
emacs/configure.in:test "${exec_prefix}" != NONE 
libc/sysdeps/unix/sysv/linux/configure.in:  if test "x$prefix" != xNONE; then


Packages:

Abison ace ace-sourceware ac-trunk automake automake/tests/testSubDir
bash-2.04 bash-2.04/lib/termcap/grot bc bi++/gnu/bison bison bison-cvs
bison-old cvs-utils egcs egcs/etc egcs/gcc emacs flex fu gawk
gawk/gawk-3.1.84/=build/gawk-3.1.84 gawk/gawk-3.1.84 gzip-1.3 libc
libc/posix/glob libc/sysdeps/generic libc/sysdeps/mach/hurd
libc/sysdeps/unix/common libc/sysdeps/unix
libc/sysdeps/unix/sysv/linux/alpha libc/sysdeps/unix/sysv/linux
libc/sysdeps/unix/sysv/sysv4/solaris2 m4-1.4n make recode sed shtool
textutils tiger wdiff-0.5g




Re: Target for libtool?

2000-05-09 Thread Gary V. Vaughan

On Tue, May 09, 2000 at 12:10:06PM +0200, Akim Demaille wrote:
  "Gary" == Gary V Vaughan [EMAIL PROTECTED] writes:
 
 Gary Hmm.  I'm pretty sure autoconf 2.13 set target to "NONE".
 
 Yes, it did, definitely.  But it makes the code much simpler not to
 give a default value.  Now, if you think this is the beginning of
 troubles, we might change it back :(

Nup.  No problem with the change here. 

Right now I (and I think the whole libtool team) use CVS libtool with
Autoconf-2.13 and Automake-1.4.  The idea is that libtool-1.4 should
be compatible with the current stable releases of the other two.  Also
I am somewhat snowed right now, otherwise I would probably try out
other combinations to forestall trouble when Autoconf-2.15 is released.

Cheers,
Gary.
-- 
  ___  _   ___   __  _ mailto: [EMAIL PROTECTED]
 / __|__ _ _ ___ _| | / / | / /_ _ _  _ __ _| |_  __ _ ___   [EMAIL PROTECTED] 
| (_ / _` | '_|// / |/ /| |/ / _` | || / _` | ' \/ _` | _ \  
 \___\__,_|_|\_, /|___(_)___/\__,_|\_,_\__, |_||_\__,_|//_/
home page:  /___/  /___/  gpg public key:
http://www.oranda.demon.co.uk   http://www.oranda.demon.co.uk/key.asc




Re: Target for libtool?

2000-05-06 Thread Alexandre Oliva

On May  6, 2000, "Gary V. Vaughan" [EMAIL PROTECTED] wrote:

 On Sat, May 06, 2000 at 12:35:34AM -0400, Pavel Roskin wrote:
 It turns out that the following code from libtool.m4 is at fault:
 
 case "$target" in

Yup, it's all wrong.  Libtool shouldn't care about the target, only
about the host.

 Question 1. What has Libtool to do with "$target"? Libtool is a wrapper
 around the compiler doing the build, not being built.

 Libtool needs to know whether the helper binaries it builds need to
 use a native compiler when it is configure to cross compile librarier
 to a different target.


When you use a cross compiler, it means you're building for a
different *host*, not target.  The host is the platform on which the
built program is going to run.  Build is the platform on which you're
building the program, and target is the platform for which the
compiler being built should generate code.  So libtool is only
concerned with host, not target.  I wonder how I let this one pass :-(

 If cross compiling to Windows, for example, impgen needs to run
 locally for dlls built for the target host.

When cross compiling to Windows, Windows is the `host'.  `target' only
makes sense for the toolchain, and it should never affect the way
libraries are created, because they'll never run on a target platform;
they'll only be created in the build platform and run on the host platform.



 Question 2. If I'm missing something and more serious modifications are
 not needed, shouldn't we write the following code instead?

 Looks good to me.  I'm committing it now.  Thanks.

We'll have to review this code and remove all references to target,
and use host wherever we currently refer to target.

-- 
Alexandre OlivaEnjoy GuaranĂ¡, see http://www.ic.unicamp.br/~oliva/
Cygnus Solutions, a Red Hat companyaoliva@{redhat, cygnus}.com
Free Software Developer and EvangelistCS PhD student at IC-Unicamp
oliva@{lsd.ic.unicamp.br, gnu.org}   Write to mailing lists, not to me




Target for libtool?

2000-05-05 Thread Pavel Roskin

Hello!

The current Libtool from CVS (head version) fails when I run configure:

ltconfig: you must specify a host type if you use `--no-verify'

It turns out that the following code from libtool.m4 is at fault:

case "$target" in
NONE) lt_target="$host" ;;
*) lt_target="$target" ;;
esac

With the CVS Autoconf "$target" is an empty string. "$host" is not
empty. This code apparently expects "$target" to be "NONE" for native
configurations.

Question 1. What has Libtool to do with "$target"? Libtool is a wrapper
around the compiler doing the build, not being built.

Question 2. If I'm missing something and more serious modifications are
not needed, shouldn't we write the following code instead?

case "x$target" in
xNONE|x) lt_target="$host" ;;
*) lt_target="$target" ;;
esac

This change passes "make check" in libtool (provided that a typo in
libltdl/ltdl.c if fixed as well)

Just in case, I'm using RedHat Linux 6.1 on i586 with gcc-2.95.2,
bash-1.14.7, m4-1.4, CVS/Head verions of Autoconf, Automake and Libtool.

Regards,
Pavel Roskin