Skip to content

Tags: losinggeneration/buildcross

Tags

v1.8.2

Toggle v1.8.2's commit message
Update KOS & Ports git URL

* Change the .downloaded path as well.
* Updated ChangeLog

v1.8.1

Toggle v1.8.1's commit message
Updated version and changelog for v1.8.1

v1.8

Toggle v1.8's commit message
Updated copyright and version for 1.8 release

v0.6

Toggle v0.6's commit message
Version 0.6

* Added main function.

v1.7.1

Toggle v1.7.1's commit message
Version 1.7.1

* Changed Dreamcast.cfg back to known good values.

v1.7

Toggle v1.7's commit message
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.

v1.6

Toggle v1.6's commit message
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.

v1.6-alpha

Toggle v1.6-alpha's commit message
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.

v1.5

Toggle v1.5's commit message
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.

v1.4

Toggle v1.4's commit message
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.