Tags: losinggeneration/buildcross
Tags
Version 1.7 * Bumped Newlib version to 1.15.0 for Dreamcast compilers. * Created Glibc Linux cross compilers. * Made -cu and -bu visible at options for uClibc. * Glibc made default compiler unless USEUCLIBC is set. * Added -cg -c2g -bg -b2g for Glibc building to options. * Added -u and USEUCLIBC an two ways to idicate using uClibc for Linux compilers. * Combined ConfigureBaseGcc and ConfigureFinalGcc. * Combined BuildBaseGcc and BuildFinalGcc. * Calling individual commands such as (-cb, -bb, -cig, etc) will clean the directory build directory before running the command. Running -all and such commands will still not run commands that have already been run. * Linux compilers can choose to use different uClibc and kernel header versions/types. (for instance, kernel headers from the 2.6.20 branch instead of the libc-2.6.12 sterilized headers) * Small changes to how success/fails are outputted [OK] and [FAIL]. * Linux compilers use sys-root now. * Re-enabled Gamecube compiler with fixes (THREADS=yes) * Fixed a bug where -c would nuke the current directory on non-uClibc compilers. * Fixed a small logic error and syntax error when checking for KOS and KOS ports. * Added Distcc building example. * Did some formatting changes to the examples output. * Simplified the process of generating environ.sh for KOS. Now cut is required to setup KOS. (Not a problem in most every UNIX like environment.) * Updated the KOS/KOS Ports location for the update Sourceforge made to svn locations. * Added archlinuxppc to targets. Useful as an example of how to create a custom compiler to your needs. * Removed setting default system types since it shouldn't be done when building the native compiler with a cross compiler. This is because in case the cross compiler is in the path (which it should be to be used) there aren't any executable conflicts when building the native compiler. * Changed behavior of HOSTPRE so the compiler prefix is the same and also it doesn't include the PATH in case of program name conflicts. * Took paranoid approach to executing commands. * Fix to installing Glibc headers, include/bits may not be created by default, so we make sure it's there. * Added --enable-install-libbfd to Dreamcast binutils options. It installs to $INSTALL/$HOSTGCC/sh-elf/{include,lib}. Those will be where you need to point dcload to. $HOSTGCC is typically be something like i686-pc-linux-gnu, powerpc-unknown-linux-gnu, etc. * Updated NOTES to include some info about building dcload. * Changed !/bin/bash to just !/bin/sh. * Better checks for build dependencies.
Version 1.6 * Added ability to check if the dependencies are available. * Added GameCube Linux target and uses uClibc. * Imported some patches for GcLinux. * Changed BuildDcLinux to BuildLinux. * Moved kernel headers to download/patch the normal way. (AKA cleanup.) * ConfigureuClibc now is extendable for other platforms with a case statement. * Added -distclean option to remove sources, dot files, and file archives. Things needed to be done either before a release mainly. * Changes to condense some code. * Added LogFatal to exit on fatal errors. * Fixed behavior for if .file-downloaded exists but the actual file doesn't. * Took the paranoid approach of checking for errors on any command that could fail. BuildCross will be a bit noisier now. * Simplified some if statements. * Fixed possible tar errors if tar file is corrupt. Though this is not fool-proof. * Genesis got bumped back to using binutils-2.16.1. * Fixed major problem when using genesis and -c. * Added ability to use colored output with Linux. * Fixed bug that would break building uClibc after a few builds. * Fixes to get building a cross compiler with a cross compiler working again. Only tested with GcLinux building GcLinux. * Gamecube target seems to be broken, it's disabled till it can be fixed again. It shouldn't be too hard to fix, I'm just not going to do it for this release. It fails on second pass of building Gcc at the posix threads code. * Genesis was broken but now fixed. GAS in binutils 2.16.1 and 2.17 for m86k-coff seem to be disabled and so 2.15 is used and patched to work with gcc 4.x compilers.
Version 1.6-alpha * Added GameCube Linux target and uses uClibc. * Imported some patches for gclinux. * Changed BuildDcLinux to BuildLinux. * Moved kernel headers to download/patch the normal way. (AKA cleanup.) * ConfigureuClibc now is extendable for other platforms with a case statement. * Added -distclean option to remove sources, dot files, and file archives. Things needed to be done either before a release mainly.
Version 1.5 * Added Dreamcast Linux target with function to build uClibc. * Imported some patches from buildroot. * Fixed bug for options getting the correct INSTALL path. * Removed $TARGET $PREFIX from Configure functions and put it once in SetOptions. * Added -c to Wget's commands so it can try to continue if a download fails. * Put options into separate files to clean up code a bit (removing a large case statement.) Updated how to add a target to reflect this. * Arm now uses SetOptions instead of it's own function and options are in DcArm.cfg. * Changed -t2 option to more descriptive dcarm. * Gcc, Binutils, Newlib, etc are now defined on a per system basis. Dreamcast can have different versions of Gcc than Gamecube or even the Dreamcast Arm Gcc. * Added quotes around test for TESTING to be consistent with the rest of the user enablable options. * TESTING should now be pointed to the directory where you want the compiler installed. * Moved code into separate files to so there is a few files with specific content rather than one large file with everything. * Using THREADS=posix was always kinda flaky, but I think I'm making that the default now. Genesis doesn't use threads and thus uses --disable-threads anyways. For this, it is suggested you use this version of buildcross to make a new toolchain. * Defaults for Gamecube now: Gcc-4.1.0, BinUtils-2.16.1, Newlib-1.14.0. * Added a NOTES file to explain the state of the toolchains. * Removed some of the older patches. * Downloads should continue if interrupted now. * Targets are built in target directories rather than in the base directory. Also, gcc, binutils, etc are extracted to and patched in the target directory allowing building separate chains without deleting gcc, binutils, etc between builds. * Patch and Result now log if told to. * Fixed SENDTO/ERRORTO output if file didn't exist. * echo is no longer used, logging functions (which are the only ones allowed to use echo) are used instead. * Made some changes to building KOS to allow ix86 to build KOS too. * Added ix86 to to top of buildcross options. Oops. * Removed some patches that were not needed.
Version 1.4 * Bumped Binutils to version 2.17. * Arm compiler for Dreamcast now builds without newlib and c++ by default. * More than one patch can be applied by buildcross now. For more information read README in patches directory. * Added -allc for building compiler and removing sources and objects after each is built. * Added -dcc for building the Dreamcast compiler, but it will clean the source and objects after each is successfully built (If interrupted, it will still resume where it left off. -c must be run to start over) * Added -i to rerun make installs even if .installed is found. * Remove's message now includes that it's removing .*config* and .*installed* * Added examples for the two new options. * Changed manual DC build example to not include newlib and gcc final for ARM. * Merged Setup function into SetupOptions (at end) since it's only called after setting options anyways. * Fixed bug that might cause ix86 to not be able to be cross compiled. * Added patches/ix86 for completeness. * Added a kos patch which adds -R.stack to kos-objcopy if -O binary is given in the command line. Patch disabled by default.
PreviousNext