Dependency build scripts on trunk - compiling on a clean machine

Ken Raeburn raeburn at raeburn.org
Wed May 26 17:31:55 UTC 2010


On May 20, 2010, at 21:48, Colin Barrett wrote:
> On May 20, 2010, at 6:25 PM, Evan Schoenberg, M.D. wrote:
> 
>> 	/Users/evands/adium/Dependencies/source/gettext/./configure --prefix=/Users/evands/adium/Dependencies/build --disable-java --disable-static --enable-shared --disable-dependency-tracking --host=powerpc-apple-darwin10 --build=powerpc-apple-darwin10
> 
> That looks wrong to me. Shouldn't you be doing:
> 
>> --host=i386-apple-darwin10 --target=powerpc-apple-darwin9
> 
> (darwin10 doesn't make sense here as there is no PPC version of 10.6). I may be totally wrong, as I'm not sure what that --build option is about.

All that stuff was added to autoconf based on the Cygnus cross-compiler builds -- where, for example, you may build your compiler on Linux, run it on Windows, and have it generate code for some embedded board.  If I remember right, "--build" is where you're doing your compiling of the package you're configuring, "--host" is where the program (which may be a compiler itself) will run, and "--target" is the target of a cross-compiler toolchain, and irrelevant for other packages.  So the above situation might use "--build=i386-linux --host=i386-windows --target=some-embedded-thing".  A configure script I just checked for a non-compiler package doesn't even list "--target" in its help message, though the script does understand the option.

Usually the build system can be determined by the configure script, host defaults to $build, and target defaults to $host, I think.  It may not automagically figure out the special cross-compiler program name or option (e.g., "i386-windows-gcc" on Linux), though.

Ken



More information about the devel mailing list