[oe] autoconf and --program-prefix insanity

Geoffrey Wossum geoffrey at pager.net
Tue Jun 3 23:17:41 UTC 2008


Hi all,

I thought I'd drag ya'll into my current autoconf hell, and hopefully someone 
would know where the exit is located.

The packages/binutils/binutils-avr32.inc got changed so that instead of 
explicitly invoking autoconf-2.13 (which comes from outside OE) in the 
top-level binutils directory, it just invokes autoconf.  This will use OE's 
autoconf, which happens to be autoconf 2.61.  Makes good sense.

So somewhere between autoconf 2.13 and 2.61, the handling of 
the "--program-prefix" and how it interacts with cross compilation changed.  
I've personally almost never used "--program-prefix", just specifying cross 
compilation seems to always set the prefix correctly.  However, 
binutils-cross.inc explicitly specifies "--program-prefix" when configuring 
binutils, in addition to specifying cross compilation.  

This worked fine when the configure script was built by autoconf 2.13.  But 
when configure is built by autoconf 2.61, I get binaries named 
avr32-angstrom-linux-uclibc-avr32-angstrom-linux-uclibc-ar and similar, which 
obviously won't work when you need to use them.  Modifying binutils-cross.inc 
to not put "--program-prefix" in EXTRA_OECONF fixes the issue.

So, is there really a need to specify "--program-prefix"?  Will this break 
when configure is built by an older autoconf?  I don't think it would, but I 
really can't guess why "--program-prefix" was specified.

---
Geoffrey

#
# old_revision [0b3a1625ab319665b65cdff67a448a4657c6a3b1]
#
# patch "packages/binutils/binutils-cross.inc"
#  from [06c8460191f6e42d0bb389ff55a7ed29314fa2a6]
#    to [602bfb4f4c4561234706c9de42730c6b3825d724]
#
============================================================
--- packages/binutils/binutils-cross.inc        
06c8460191f6e42d0bb389ff55a7ed29314fa2a6
+++ packages/binutils/binutils-cross.inc        
602bfb4f4c4561234706c9de42730c6b3825d724
@@ -1,10 +1,9 @@ EXTRA_OECONF = "--with-sysroot=${STAGING
 SECTION = "devel"
 inherit cross
 DEPENDS += "flex-native bison-native"
 PROVIDES = "virtual/${TARGET_PREFIX}binutils"
 PACKAGES = ""
 EXTRA_OECONF = "--with-sysroot=${STAGING_DIR_TARGET} \
-               --program-prefix=${TARGET_PREFIX} \
                --enable-install-libbfd \
                 --disable-werror"





More information about the Openembedded-devel mailing list