Ethereal-dev: Re: [Ethereal-dev] new install binary prefix in Makefile?

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: Bill Fumerola <billf@xxxxxx>
Date: Wed, 12 Feb 2003 12:19:04 -0800
On Mon, Feb 10, 2003 at 10:44:23AM -0800, Guy Harris wrote:
> On Sun, Feb 09, 2003 at 05:27:09PM -0800, Bill Fumerola wrote:
> > when trying to update the freebsd port for 0.9.9, it seems Makefile now
> > wants to install binaries with the build target as a prefix:
> 
> What do you mean by "build target"?

i believe its a way of crosscompiling or compiling with different options
based on who you're building for. i.e. i could compile alpha freebsd4
binaries on my i386 5-current machine, and so on.

System types:
  --build=BUILD     configure for building on BUILD [guessed]
  --host=HOST       cross-compile to build programs to run on HOST [BUILD]
  --target=TARGET   configure for building compilers for TARGET [HOST]

from ports/Mk/bsd.port.mk

[...]
CONFIGURE_TARGET?=      ${MACHINE_ARCH}-portbld-freebsd${OSREL}
CONFIGURE_LOG?=         config.log

.if defined(GNU_CONFIGURE)
CONFIGURE_ARGS+=        --prefix=${PREFIX} ${CONFIGURE_TARGET}
HAS_CONFIGURE=          yes
.endif
[...]

configure ends up running like so:

(from config.status)

exec /bin/sh ./configure '--enable-snmp=yes' '--with-ucdsnmp=/usr/local/lib'
 '--with-ssl=/usr' '--x-libraries=/usr/X11R6/lib' '--x-includes=/usr/X11R6/inclu
 de' '--prefix=/usr/X11R6' 'i386-portbld-freebsd5.0' 'CFLAGS=-O -pipe -march=pent
 ium4' 'host_alias=i386-portbld-freebsd5.0' 'build_alias=i386-portbld-freebsd5.0'
  'target_alias=i386-portbld-freebsd5.0' 'CC=cc' --no-create --no-recursion 

when we pass this, Makefile gets:

Makefile:transform = s,^,i386-portbld-freebsd5.0-,
Makefile:host_alias = i386-portbld-freebsd5.0
Makefile:host_triplet = i386-portbld-freebsd5.0

> I assume this is something that can be set with an argument to configure
> in the standard Ethereal distribution.

what is being passed to configure as the target is
${MACHINE_ARCH}-portbld-freebsd${OSREL}, and that is being prepended to
the binaries, example: i386-portbld-freebsd5.0-ethereal, and that didn't
happen in 0.9.7.

i can provide symlinks in the port or i can try and hack around the
configure target stuff to make it not prefix the binary. i'm just wondering
if this is an intended effect. to my knowledge, the freebsd ports tree
has been using this target for a while. i can ping the ports folks and ask
them if there is a standard way of working around this as well.

-- 
- bill fumerola / fumerola@xxxxxxxxxxxxx / billf@xxxxxxxxxxx / billf@xxxxxx