-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathChangeLog
More file actions
262 lines (248 loc) · 12.3 KB
/
ChangeLog
File metadata and controls
262 lines (248 loc) · 12.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
Version 1.0:
-Initial release.
Version 1.1:
-Some KOS fix-ups for generating the environ.sh file.
Version 1.2:
-Added this file.
-Changed the export PATH in Setup to include the newly installed
compiler first to use that instead of one that might be installed in a
path before that one.
-Added support to try and use a cross compiler. I haven't been able to
get this to compile, but I don't think it's the scripts fault.
-Added a way to check if the file was interrupted during untaring or
not.
-Added support for using custom CFLAGS if you'd like.
-Added config.guess which buildcross.sh uses to change --build on
cross-compiles so gcc doesn't try setting build equal to host.
-Added checks to see if each is already configured/installed or not.
This also fixes when gcc final is built so it doesn't remove the
contents if it's configured to build already.
Version 1.3:
-Added support for downloading sources if they aren't here instead of
just quitting. Still quits if unable to download files like one would
expect. Wget is needed for downloading Binutils, Gcc, and NewLib. SVN
is needed for getting KOS.
-Moved some things around for easier reading of the code.
-Added some comment formatting to make important comments stick out.
-Changed some things about how kos is built. It also builds ports.
-Added ix86 target.
-KOS is built with the -dc command now
Version 1.3.1:
-Fixed deadlocking bug in newlib patches.
-Moved newlib-1.12.0-kos.diff to newlib-1.12.0.diff.
Version 1.3.2:
-Fixed bug where it wouldn't patch after a download.
-Did some simplifications to the Untar/UntarPatch functions.
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.
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.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 extendible 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.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.7.1:
-Changed Dreamcast.cfg back to know good values.
Version 1.8:
-Killed dead spaces off of Changelog.
-Gcc downloads should now overall be smaller in most cases since it's now
downloaded as gcc-core, gcc-g++, gcc-java, etc.
-Most targets should now work with changed Gcc behavior.
-Dreamcast now has GCC 4.5.2 (made possible by great work by BlueCrab).
The older 3.4.6 version can still be enabled by editing
options/dreamcast.cfg, but should not be needed.
-Misc version bumps
-Added a Gba and Arm Linux target (experimental)
-Version bumps to SFFL
-Updated support for uClibc (old versions will be broke)
-Added Didj target
-Better support for other shells besides bash compatibles
-AVR support (experimental)
-Glibc is unsupported in this release (it will probably be brought back as
eGlibc in the future (probably 1.8.1)
-Because of above, uClibc is the default.
-Added Neo Freerunner target which is arm9tdmi
-Added devkitPro Gamecube/Wii ld files & rules
-Correctly check for fortran & obj-c++ if it's a selected language
-ChangeLog spelling fixes
-Targets can now be easily added simply by adding them to the options
directory and passing the filename (minus .cfg) to buildcross.sh
-KOS now uses cp instead of ln by default
-Use a sane location for KOS's download location
Version 1.8.1:
-Remove a bad option passed to Dreamcast's newlib
Version 1.8.2:
-Update KOS & ports to new Sourceforge git url.
-Fixed bug in GDB patching.
Version 1.9:
-Gcc 4.7.0 removed per-language tarballs, so we're using the single
tarball across the board now.
-Bumped Dreamcast GCC version to 4.7.1 and newlib to 1.20.0. Also, the ARM
cross compiller is now using arm-eabi instead of arm-elf since arm-elf is
considered deprecated in GCC 4.7.0 and will likely be removed in 4.8.0.
-Switched to KOS's git tree.
-Add check for git to checkdeps.
-Fixed where .kos-download and .kos-ports-download end up.
-Add checks for common C libraries that need to be installed (GMP, MPFR,
& MPC.) This involved finally writing the function to check gcc
compilation for a header.
-Fix silent so it's still in color (since there's an option to remove color)
-Fixed Linux kernel downloading for > 2.6 kernels.
-Bumped Dreamcast Linux versions: GCC 4.7.1, Binutils 2.22, GDB 7.4,
Linux 3.4.3, uClibc 0.9.33.2, glibc 2.15 (does not work.)
-Changed Dreamcast Linux's options and added objc & obj-c++ to build.
-Bumped Didj uClibc toolchain versions: GCC 4.7.1, Binutils 2.22,
GDB 7.4.1, & uClibc 0.9.33.2. Pulled in uClibc toolchain patches for toolchain.
-Bumped Saturn versions: GCC 4.7.1, Binutils 2.22, NewLib 1.20.0, GDB 7.4.
-Updated Saturn build flags to better represent building a compiler to use
without using illegal libraries from the SDK.
-Added MSP430 as a target: GCC 4.7.0, Binutils 2.22, GDB 7.2a.
-Added Z80 as a target: Binutils only.
-Updated template to have SYSTEM option.
-Fix bug in GDB patching.
-Update KOS & ports to new Sourceforge git url.
-Update Dreamcast versions for KOS 2.0.0.
-Updated newlib url.
-Use $() instead of `` in a couple places in utilities.sh
-Bumped Gamecube versions: Gcc 4.7.2, BinUtils 2.23.1, GDB 7.5.1, Newlib 1.20
-Added -gc command to build Gamecube compiler.
-Fixed possible issue when configuring kernel headers (and not untaring.)
-Added common patches directory.