diff --git a/.gitignore b/.gitignore index 7cd5836..dec1198 100644 --- a/.gitignore +++ b/.gitignore @@ -6,8 +6,8 @@ *.o .DS_Store .ropeproject -.build-ppc/ -.build-m68k/ +.build-*/ m68k-amigaos/ +m68k-elf/ ppc-amigaos/ tmp/ diff --git a/patches/sfdc-1.5/Dump.pl.diff b/patches/sfdc-1.5/Dump.pl.diff new file mode 100644 index 0000000..ecf991a --- /dev/null +++ b/patches/sfdc-1.5/Dump.pl.diff @@ -0,0 +1,11 @@ +--- sfdc-1.5/Dump.pl 2005-09-24 16:49:49.000000000 +0200 ++++ sfdc-1.5/Dump.pl 2013-08-30 15:46:41.000000000 +0200 +@@ -19,7 +19,7 @@ + my $sfd = $self->{SFD}; + + print "SFD information\n"; +- print "ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ\n"; ++ print "---------------\n"; + print "Copyright: $$sfd{'copyright'}\n"; + print "RCS ID: $$sfd{'id'}\n"; + print "Module name: $$sfd{'libname'}\n"; diff --git a/patches/sfdc-1.5/Makefile.in.diff b/patches/sfdc-1.5/Makefile.in.diff new file mode 100644 index 0000000..fdaaca8 --- /dev/null +++ b/patches/sfdc-1.5/Makefile.in.diff @@ -0,0 +1,11 @@ +--- sfdc-1.5/Makefile.in 2005-09-24 16:49:49.000000000 +0200 ++++ sfdc-1.5/Makefile.in 2013-08-30 15:09:31.000000000 +0200 +@@ -32,7 +32,7 @@ + $(RM) config.status Makefile + + install: all +- $(INSTALL) --directory $(bindir) $(mandir)/man1 ++ $(INSTALL) -d $(bindir) $(mandir)/man1 + $(INSTALL_PROGRAM) $(EXECUTABLE) $(bindir) + $(INSTALL_DATA) $(MAN) $(mandir)/man1 + diff --git a/patches/sfdc-1.5/SFDCompile.pod.diff b/patches/sfdc-1.5/SFDCompile.pod.diff new file mode 100644 index 0000000..5590369 --- /dev/null +++ b/patches/sfdc-1.5/SFDCompile.pod.diff @@ -0,0 +1,145 @@ +--- sfdc-1.5/SFDCompile.pod 2005-09-24 16:49:49.000000000 +0200 ++++ sfdc-1.5/SFDCompile.pod 2014-05-25 22:50:56.894529535 +0200 +@@ -326,7 +326,7 @@ + =head1 NOTES + + Had I seen F before I started writing this program, I +-might still have been using fd/clib files. Or maybe not. ++might still have been using fd/clib files. Or maybe not. + + =head1 AUTHOR + +@@ -334,98 +334,114 @@ + + =head1 HISTORY + +-=item B<1.0 (2003-07-27)> ++=over 4 ++ ++=item * ++ ++B<1.0 (2003-07-27)> + + Initial release. + + +-=item B<1.1 (2003-12-22)> ++=item * ++ ++B<1.1 (2003-12-22)> + + Added workaround for workbench.library (base name is "wb"). + Added AmigaOS 4 support. + Added the B<--addvectors> switch. + + +-=item B<1.2 (2004-06-16)> ++=item * ++ ++B<1.2 (2004-06-16)> + + Generates files for mathieeedoub*, though probably broken. Well they + are the same as fd2inline generates at least. + + +-=item B<1.2a (2004-06-20)> ++=item * ++ ++B<1.2a (2004-06-20)> + + Replace AROS_LP with AROS_LD. Because it is guaranteed to define the + function prototype. [verhaegs] + +-=item B<1.3 (2004-11-12)> ++=item * ++ ++B<1.3 (2004-11-12)> + + Correctly handle the argument C, where there is no + whitespace between the argument type and the argument name. + +-=item ++=item * + + Correctly handle the prototype C, were there is + a whitespace between the function name and the parenthesis and "void" + is used to indicate no arguments. + +-=item ++=item * + + Replace C<-> with C<_> in base/library name. + +-=item ++=item * + + New special keyword for register specification (in addition to B + and B): B, which automatically allocates m68k registers + for the arguments. + +-=item ++=item * + + B now works correctly with varargs functions. B combined + with B work for m68k and i386 only for now. For AROS + targets in B, the correct AROS macro is used to fetch the + function to be called. + +-=item ++=item * + + New B<--mode>: B. For proper code generation in AROS, make + sure gateprotos are included before you include the functable. + +-=item ++=item * + + B files now include F files when used in AROS. + +-=item B<1.4 (2005-09-23)> ++=item * ++ ++B<1.4 (2005-09-23)> + + Added AmigaOS 4-style interfaces (C++ only for non-OS4 targets, and + without implementation). + +-=item ++=item * + + The library base in the B file is now defined for AmigaOS 4 + too. + +-=item ++=item * + + AmigaOS 4 B files now add B<__attribute__((linearvarargs))> to + varargs functions. + +-=item ++=item * + + Added AmigaOS 4 support for B files. + +-=item ++=item * + + Added support for the 'iptr' gcc attribute. + +-=item ++=item * + + Added B<__SFDC_FUNCTABLE_M68K__> check in the B mode. + +-=item ++=item * + + Added m68k stub functions to AmigaOS 4's B and + B. + +-=item ++=item * + + Added the B mode. ++ ++=back diff --git a/patches/sfdc-1.5/main.pl.diff b/patches/sfdc-1.5/main.pl.diff new file mode 100644 index 0000000..3877fb9 --- /dev/null +++ b/patches/sfdc-1.5/main.pl.diff @@ -0,0 +1,22 @@ +--- sfdc-1.5/main.pl 2005-09-24 16:49:49.000000000 +0200 ++++ sfdc-1.5/main.pl 2013-08-30 15:13:28.000000000 +0200 +@@ -418,7 +418,7 @@ + my $comment = ''; + + my $result = { +- copyright => 'Copyright İ 2001 Amiga, Inc.', ++ copyright => 'Copyright (c) 2001 Amiga, Inc.', + id => '', + libname => '', + base => '', +@@ -849,8 +849,8 @@ + + + # Make sure we have the same number of arguments as registers, or, +- # if this is a varargs function, possible one extra, á la "MethodID, ...". +- # Tagcalls always have one extra, á la "Tag, ...". ++ # if this is a varargs function, possible one extra, a la "MethodID, ...". ++ # Tagcalls always have one extra, a la "Tag, ...". + + if (($prototype->{type} eq 'varargs' && + $prototype->{subtype} eq 'tagcall' && diff --git a/patches/vbcc/Makefile.diff b/patches/vbcc/Makefile.diff new file mode 100644 index 0000000..b445972 --- /dev/null +++ b/patches/vbcc/Makefile.diff @@ -0,0 +1,23 @@ +--- vbcc/Makefile 2010-03-12 13:43:50.000000000 +0100 ++++ vbcc/Makefile 2015-08-29 09:03:00.000000000 +0200 +@@ -1,6 +1,6 @@ + + # used to create vbcc, vc and ucpp +-CC = gcc -std=c9x -g -DHAVE_AOS4 #-DHAVE_ECPP -DHAVE_MISRA ++CC = gcc -std=c9x -O2 -fomit-frame-pointer -DHAVE_AOS4 -DETCDIR="$(ETCDIR)" #-DHAVE_ECPP -DHAVE_MISRA + LDFLAGS = -lm + + # native version; used to create dtgen +@@ -160,10 +160,10 @@ + $(NCC) datatypes/dtgen.c -o bin/dtgen -Idatatypes $(NLDFLAGS) + + $(TRGDIR)/dt.h: bin/dtgen $(TRGDIR)/machine.dt +- bin/dtgen $(TRGDIR)/machine.dt $(TRGDIR)/dt.h $(TRGDIR)/dt.c ++ bin/dtgen $(TRGDIR)/machine.dt $(TRGDIR)/dt.h $(TRGDIR)/dt.c < $(CONFIG) + + $(TRGDIR)/dt.c: bin/dtgen $(TRGDIR)/machine.dt +- bin/dtgen $(TRGDIR)/machine.dt $(TRGDIR)/dt.h $(TRGDIR)/dt.c ++ bin/dtgen $(TRGDIR)/machine.dt $(TRGDIR)/dt.h $(TRGDIR)/dt.c < $(CONFIG) + + $(TRGDIR)/dt.o: $(TRGDIR)/dt.h $(TRGDIR)/dt.c + $(CC) -c $(TRGDIR)/dt.c -o $(TRGDIR)/dt.o -I$(TRGDIR) -Idatatypes diff --git a/patches/vbcc/frontend/vc.c.diff b/patches/vbcc/frontend/vc.c.diff new file mode 100644 index 0000000..f9fc680 --- /dev/null +++ b/patches/vbcc/frontend/vc.c.diff @@ -0,0 +1,11 @@ +--- vbcc/frontend/vc.c 2012-10-01 17:35:34.000000000 +0200 ++++ vbcc/frontend/vc.c 2012-10-01 17:38:59.000000000 +0200 +@@ -91,7 +91,7 @@ + const char *search_dirs[]={"","C:\\"}; + #else + const char *config_name="vc.config"; +-const char *search_dirs[]={"","~/","/etc/"}; ++const char *search_dirs[]={ETCDIR,"~/","/etc/"}; + #endif + + /* String fuer die Default libraries */