mirror of
https://github.com/bebbo/amiga-gcc.git
synced 2026-05-09 06:55:13 +00:00
Compare commits
59 Commits
yütosikano
...
Mechen
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5c917ef538 | ||
|
|
8d364bd060 | ||
|
|
9711f51041 | ||
|
|
5405b0c16e | ||
|
|
fe064a0d03 | ||
|
|
d523276034 | ||
|
|
38dc3e3e47 | ||
|
|
9931db154b | ||
|
|
df92eb8859 | ||
|
|
51e562f425 | ||
|
|
e17bea3d93 | ||
|
|
4766d09d9b | ||
|
|
56a8a08c63 | ||
|
|
42242b3db2 | ||
|
|
e4443975dc | ||
|
|
e3ff9e3118 | ||
|
|
778f807932 | ||
|
|
652b6a7e9b | ||
|
|
b34b4b1151 | ||
|
|
67a31cef47 | ||
|
|
613d32171b | ||
|
|
5e0180aab8 | ||
|
|
1495010a44 | ||
|
|
8f5cf79c39 | ||
|
|
806475a9ad | ||
|
|
4726c47773 | ||
|
|
bb9ca8b495 | ||
|
|
99f6fb6909 | ||
|
|
dd67759075 | ||
|
|
f45c62633a | ||
|
|
a23f858578 | ||
|
|
5e3d5292b1 | ||
|
|
68e44286bd | ||
|
|
131c716f25 | ||
|
|
7272112bcc | ||
|
|
e113d55c3a | ||
|
|
ac9917be67 | ||
|
|
15656337da | ||
|
|
cb8371985f | ||
|
|
fd0a7f1df5 | ||
|
|
5a9d90571d | ||
|
|
dfec70443c | ||
|
|
0a84962a0f | ||
|
|
82f4e42b8c | ||
|
|
30a19ec25c | ||
|
|
644c9a0158 | ||
|
|
ebed8dfa39 | ||
|
|
ce57d355fc | ||
|
|
6abb475a2c | ||
|
|
4d061c1306 | ||
|
|
de156c02dc | ||
|
|
a586bad860 | ||
|
|
e7d9d3418b | ||
|
|
cb2edfd3ef | ||
|
|
deafbf9761 | ||
|
|
d9c11489d3 | ||
|
|
c673513c75 | ||
|
|
e268b2a2fd | ||
|
|
a39cd379c5 |
3
.gitignore
vendored
3
.gitignore
vendored
@@ -6,4 +6,5 @@ Output
|
||||
.lock
|
||||
.state
|
||||
.vscode
|
||||
.DS_Store
|
||||
.DS_Store
|
||||
.repos*
|
||||
|
||||
@@ -33,9 +33,9 @@ script:
|
||||
then
|
||||
export CC=gcc-8;
|
||||
export CXX=g++-8;
|
||||
(gmake -j3 all &); while [ ! -f $(realpath build-Darwin)/gcc/_libgcc_done ]; do date; sleep 60; done;
|
||||
(gmake -j3 min &); while [ ! -f $(realpath build-Darwin)/gcc/_libgcc_done ]; do date; sleep 60; done;
|
||||
else
|
||||
make all -j3;
|
||||
make min -j3;
|
||||
fi
|
||||
- tar czf amiga-gcc-${TRAVIS_OS_NAME}.tgz /opt/amiga
|
||||
- ls -l
|
||||
|
||||
79
README.md
79
README.md
@@ -17,29 +17,40 @@ Right now these tools are build:
|
||||
# Short Guide
|
||||
## Prerequisites
|
||||
### Centos
|
||||
`sudo yum install wget gcc gcc-c++ python git perl-Pod-Simple gperf patch autoconf automake make makedepend bison flex ncurses-devel gmp-devel mpfr-devel libmpc-devel gettext-devel texinfo rsync`
|
||||
`sudo yum install wget gcc gcc-c++ python git perl-Pod-Simple gperf patch autoconf automake make makedepend bison flex ncurses-devel gmp-devel mpfr-devel libmpc-devel gettext-devel texinfo rsync readline-devel`
|
||||
|
||||
### Fedora
|
||||
`sudo dnf install wget gcc gcc-c++ python git perl-Pod-Simple gperf patch autoconf automake make makedepend bison flex ncurses-devel gmp-devel mpfr-devel libmpc-devel gettext-devel texinfo rsync readline-devel`
|
||||
|
||||
### Ubuntu, Debian
|
||||
`sudo apt install make wget git gcc g++ lhasa libgmp-dev libmpfr-dev libmpc-dev flex bison gettext texinfo ncurses-dev autoconf rsync`
|
||||
`sudo apt install make wget git gcc g++ lhasa libgmp-dev libmpfr-dev libmpc-dev flex bison gettext texinfo ncurses-dev autoconf rsync libreadline-dev`
|
||||
|
||||
If building with a normal user, the `PREFIX` directory must be writable (default is `/opt/amiga`). You can add the user to an appropriate group.
|
||||
|
||||
### macOS
|
||||
Install Homebrew (https://brew.sh/) or any other package manager first. The compiler will be installed together with XCode. Once XCode and Homebrew are up install the required packages:
|
||||
|
||||
`brew install bash wget make lhasa gmp mpfr libmpc flex gettext texinfo gcc make autoconf`
|
||||
```
|
||||
brew install bash wget make lhasa gmp mpfr libmpc flex gettext gnu-sed texinfo gcc@11 make autoconf
|
||||
```
|
||||
|
||||
By default macOS uses an outdated version of bash. Therefore, on macOS host always pass the the SHELL=/usr/local/bin/bash parameter (or any other valid path pointing to bash), e.g.:
|
||||
|
||||
```
|
||||
make all SHELL=/usr/local/bin/bash
|
||||
make all SHELL=$(brew --prefix)/bin/bash
|
||||
```
|
||||
|
||||
On macOS it may be also necessary to point to the brew version of gcc make and autoconf, e.g.:
|
||||
|
||||
```
|
||||
CC=gcc-9 CXX=g++-9 gmake all SHELL=/usr/local/bin/bash
|
||||
CC=gcc-11 CXX=g++-11 gmake all SHELL=$(brew --prefix)/bin/bash
|
||||
```
|
||||
|
||||
**ALSO NOTE** If you want `m68k-amigaos-gdb` then you have to build it with `gcc`
|
||||
|
||||
### macOs on Mi1
|
||||
Native builds on M1 Macs are now directly supported.
|
||||
|
||||
### Windows with Cygwin
|
||||
Install cygwin via setup.exe and add wget. Then open cygwin shell and run:
|
||||
|
||||
@@ -54,7 +65,7 @@ apt-cyg install gcc-core gcc-g++ python git perl-Pod-Simple gperf patch automake
|
||||
Precompiled suite with installer: http://franke.ms/download/setup-amiga-gcc.exe
|
||||
|
||||
```
|
||||
pacman -S git base-devel gcc flex gmp-devel mpc-devel mpfr-devel ncurses-devel rsync
|
||||
pacman -S git base-devel gcc flex gmp-devel mpc-devel mpfr-devel ncurses-devel rsync autoconf automake
|
||||
```
|
||||
|
||||
Also note that you **MUST** cd into an **absolute path** e.g. `cd /c/msys64/home/test/amiga-gcc/` before running make, or builds may fail, because some files aren't found correctly (that's a msys2 bug).
|
||||
@@ -87,7 +98,10 @@ make update-<target> perform git pull for the given target
|
||||
display which targets can be build, you'll mostly use
|
||||
*`make all`
|
||||
*`make clean`
|
||||
*`make clean-prefx`
|
||||
*`make clean-prefix`
|
||||
|
||||
to use NDK3.2 add `NDK=3.2` to the make parameters
|
||||
|
||||
## Prefix
|
||||
The default prefix is `/opt/amiga`. You may specify a different prefix by adding `PREFIX=yourprefix` to make command. E.g.
|
||||
```
|
||||
@@ -109,7 +123,7 @@ Simply run `make all`. Also add -j to speedup the build.
|
||||
```
|
||||
make clean
|
||||
make clean-prefix
|
||||
date; make all -j3 >&b.log; date
|
||||
time make all -j3
|
||||
```
|
||||
takes roughly 10 minutes on my laptop running ubuntu. takes forever running cygwin on windows^^.
|
||||
|
||||
@@ -122,3 +136,52 @@ m68k-amigaos-gcc test.cpp -mcrt=nix13
|
||||
```
|
||||
|
||||
The include files for 1.3 - which are picked up by the compiler if `-mcrt=nix13` is used - can be found at `<PREFIX>/m68k-amigaos/ndk13-include` i.E. `/opt/amiga/m68k-amigaos/ndk13-include`
|
||||
|
||||
## Checking gcc
|
||||
|
||||
To check the built version you may consider to run the gcc dejagnu tests. This does not cover everything but it's a start.
|
||||
The tests are using my improved version of VAMOS (downstream of https://github.com/cnvogelg/amitools) to emulate the Amiga,
|
||||
and right now not all improvements went back into the upstream.
|
||||
|
||||
### Debian / Ubuntu
|
||||
```
|
||||
sudo apt install dejagnu
|
||||
sudo cp baseboards/* /usr/share/dejagnu/baseboards
|
||||
pip install -U git+https://github.com/bebbo/amitools.git
|
||||
make check
|
||||
```
|
||||
|
||||
### macOS
|
||||
```
|
||||
brew install dejagnu
|
||||
cp baseboards/* $(brew --prefix)/opt/dejagnu/share/dejagnu/baseboards
|
||||
pip install -U git+https://github.com/bebbo/amitools.git
|
||||
make check
|
||||
```
|
||||
|
||||
## Version management
|
||||
This project does not use git submodules since it's to inconvenient to work with develop and release branches in each module and the main module.
|
||||
|
||||
Instead the **Makefile** provides some targets to switch to an older state for all modules.
|
||||
|
||||
### Switching amiga-gcc to a given date
|
||||
Use make to switch all modules to a given date. You may also add the time
|
||||
```
|
||||
make v date=2021-04-01
|
||||
```
|
||||
### Switching amiga-gcc back to the branches
|
||||
Run make to switch all modules back to the branch
|
||||
```
|
||||
make v
|
||||
```
|
||||
### Show the current commit for all submodules
|
||||
This lists all modules with the last commit. Useful if you switched to a given date to show what's where.
|
||||
```
|
||||
make l
|
||||
```
|
||||
### Switch a module to a different branch
|
||||
You can switch modules to different branches. E.g.
|
||||
```
|
||||
make branch mod=binutils branch=devel1
|
||||
```
|
||||
The default branches and repositories are in the file **default-repos**, the local state is managed in the file **.repos**.
|
||||
|
||||
18
default-repos
Normal file
18
default-repos
Normal file
@@ -0,0 +1,18 @@
|
||||
amiga-netinclude https://github.com/bebbo/amiga-netinclude master
|
||||
binutils https://github.com/bebbo/binutils-gdb amiga
|
||||
clib2 https://github.com/bebbo/clib2 master
|
||||
fd2pragma https://github.com/bebbo/fd2pragma master
|
||||
fd2sfd https://github.com/adtools/fd2sfd master
|
||||
gcc https://github.com/bebbo/gcc gcc-6-branch
|
||||
ira https://github.com/bebbo/ira master
|
||||
ixemul https://github.com/bebbo/ixemul master
|
||||
lha https://github.com/jca02266/lha master
|
||||
libdebug https://github.com/bebbo/libdebug master
|
||||
libnix https://github.com/bebbo/libnix master
|
||||
libSDL12 https://github.com/AmigaPorts/libSDL12 master
|
||||
newlib-cygwin https://github.com/bebbo/newlib-cygwin amiga
|
||||
sfdc https://github.com/bebbo/sfdc master
|
||||
vasm https://github.com/mheyer32/vasm master
|
||||
vbcc https://github.com/bebbo/vbcc master
|
||||
vlink https://github.com/mheyer32/vlink master
|
||||
aros-stuff https://github.com/bebbo/aros-stuff master
|
||||
109
patches/NDK3.2/Include_H/clib/compiler-specific.h.diff
Normal file
109
patches/NDK3.2/Include_H/clib/compiler-specific.h.diff
Normal file
@@ -0,0 +1,109 @@
|
||||
--- old/NDK3.2/Include_H/clib/compiler-specific.h 2021-04-13 02:41:06.000000000 +0200
|
||||
+++ new/NDK3.2/Include_H/clib/compiler-specific.h 2021-08-16 09:00:08.041987692 +0200
|
||||
@@ -9,6 +9,7 @@
|
||||
**
|
||||
** Copyright (C) 2020 Hyperion Entertainment CVBA.
|
||||
** Developed under license.
|
||||
+** gcc-yfied in 2021 by Bebbo
|
||||
*/
|
||||
|
||||
/* Some structure definitions include prototypes for function pointers.
|
||||
@@ -50,56 +51,94 @@
|
||||
#ifndef __REG__
|
||||
#ifdef __SASC
|
||||
#define __REG__(r, p) register __ ## r p
|
||||
+#elif defined (__GNUC__) && defined (__regargs)
|
||||
+#define __REG__(r, p) p asm(#r)
|
||||
#else
|
||||
#define __REG__(r, p) p
|
||||
#endif
|
||||
#endif /* __REG__ */
|
||||
|
||||
+#ifndef __REG
|
||||
+#define __REG(a,b) __REG(a,b)
|
||||
+#endif
|
||||
+
|
||||
/*
|
||||
** Stack based calling conventions
|
||||
*/
|
||||
#ifndef __STDARGS__
|
||||
-#ifdef __SASC
|
||||
+#if defined (__SASC) || defined (__stdargs)
|
||||
#define __STDARGS__ __stdargs
|
||||
#else
|
||||
#define __STDARGS__
|
||||
#endif
|
||||
#endif /* __STDARGS__ */
|
||||
|
||||
+#ifndef __STDARGS
|
||||
+#define __STDARGS __STDARGS__
|
||||
+#endif
|
||||
+
|
||||
/*
|
||||
** Small data model using A4-relative addressing needs to establish the
|
||||
** initial A4 register value.
|
||||
*/
|
||||
#ifndef __SAVE_DS__
|
||||
-#ifdef __SASC
|
||||
+#if defined (__SASC) || defined (__saveds)
|
||||
#define __SAVE_DS__ __saveds
|
||||
#else
|
||||
#define __SAVE_DS__
|
||||
#endif
|
||||
#endif /* __SAVE_DS__ */
|
||||
|
||||
+#ifndef __SAVE_DS
|
||||
+#define __SAVE_DS __SAVE_DS__
|
||||
+#endif
|
||||
+
|
||||
/*
|
||||
** Data or functions marked for absolute addressing rather than PC or
|
||||
** register-relative addressing.
|
||||
*/
|
||||
#ifndef __FAR__
|
||||
-#ifdef __SASC
|
||||
+#if defined (__SASC) || defined (__far)
|
||||
#define __FAR__ __far
|
||||
#else
|
||||
#define __FAR__
|
||||
#endif
|
||||
#endif /* __FAR__ */
|
||||
|
||||
+#ifndef __FAR
|
||||
+#define __FAR __FAR__
|
||||
+#endif
|
||||
+
|
||||
+/*
|
||||
+** Data or functions marked for absolute addressing rather than PC or
|
||||
+** register-relative addressing plus residing in chip ram
|
||||
+*/
|
||||
+#ifndef __CHIP__
|
||||
+#if defined (__SASC) || defined (__chip)
|
||||
+#define __CHIP__ __chip
|
||||
+#else
|
||||
+#define __CHIP__
|
||||
+#endif
|
||||
+#endif /* __CHIP__ */
|
||||
+
|
||||
+#ifndef __CHIP
|
||||
+#define __CHIP __CHIP__
|
||||
+#endif
|
||||
+
|
||||
/*
|
||||
** Request that upon exit from a function the CPU condition codes should be
|
||||
** updated based upon whether or not the value of register D0 is non-zero.
|
||||
*/
|
||||
#ifndef __INTERRUPT__
|
||||
-#ifdef __SASC
|
||||
+#if defined (__SASC) || defined (__interrupt)
|
||||
#define __INTERRUPT__ __interrupt
|
||||
#else
|
||||
#define __INTERRUPT__
|
||||
#endif
|
||||
#endif /* __INTERRUPT__ */
|
||||
|
||||
+#ifndef __INTERRUPT
|
||||
+#define __INTERRUPT __INTERRUPT__
|
||||
+#endif
|
||||
+
|
||||
#endif /* COMPILER_SPECIFIC_H */
|
||||
24
patches/NDK3.2/Include_H/devices/timer.h.diff
Normal file
24
patches/NDK3.2/Include_H/devices/timer.h.diff
Normal file
@@ -0,0 +1,24 @@
|
||||
--- old/devices/timer.h 2021-04-13 02:41:06.000000000 +0200
|
||||
+++ new/devices/timer.h 2021-08-10 16:38:04.990455793 +0200
|
||||
@@ -53,10 +53,19 @@
|
||||
|
||||
#ifndef __USE_NEW_TIMEVAL__
|
||||
|
||||
+#ifndef _TIMEVAL_DEFINED
|
||||
+#define _TIMEVAL_DEFINED
|
||||
struct timeval {
|
||||
- ULONG tv_secs;
|
||||
- ULONG tv_micro;
|
||||
+ union {
|
||||
+ ULONG tv_sec; /* seconds */
|
||||
+ ULONG tv_secs;
|
||||
+ };
|
||||
+ union {
|
||||
+ ULONG tv_usec; /* and microseconds */
|
||||
+ ULONG tv_micro;
|
||||
+ };
|
||||
};
|
||||
+#endif
|
||||
|
||||
struct timerequest {
|
||||
struct IORequest tr_node;
|
||||
9
patches/NDK3.2/SFD/dos_lib.sfd.diff
Normal file
9
patches/NDK3.2/SFD/dos_lib.sfd.diff
Normal file
@@ -0,0 +1,9 @@
|
||||
--- NDK3.2/SFD/dos_lib.sfd 2020-07-31 14:12:28.000000000 +0200
|
||||
+++ NDK3.2/SFD/dos_lib.sfd 2021-08-10 22:15:47.930179054 +0200
|
||||
@@ -1,5 +1,6 @@
|
||||
==id $Id: dos_lib.sfd,v 36.31 1992-12-17 20:11:35 jesup Exp $
|
||||
* "dos.library"
|
||||
+==basetype struct DosLibrary *
|
||||
==base _DOSBase
|
||||
==bias 30
|
||||
==public
|
||||
9
patches/NDK3.2/SFD/exec_lib.sfd.diff
Normal file
9
patches/NDK3.2/SFD/exec_lib.sfd.diff
Normal file
@@ -0,0 +1,9 @@
|
||||
--- NDK3.2/SFD/exec_lib.sfd 2020-08-12 23:22:42.000000000 +0200
|
||||
+++ NDK3.2/SFD/exec_lib.sfd 2021-08-10 20:50:52.450248645 +0200
|
||||
@@ -1,5 +1,6 @@
|
||||
==id $Id: exec_lib.sfd,v 47.4 2020/08/12 14:21:06 obarthel Exp $
|
||||
* "exec.library"
|
||||
+==basetype struct ExecBase *
|
||||
==base _SysBase
|
||||
==bias 30
|
||||
==public
|
||||
9
patches/NDK3.2/SFD/locale_lib.sfd.diff
Normal file
9
patches/NDK3.2/SFD/locale_lib.sfd.diff
Normal file
@@ -0,0 +1,9 @@
|
||||
--- projects/NDK3.2/SFD/locale_lib.sfd 2020-09-12 05:55:08.000000000 +0200
|
||||
+++ projects/NDK3.2/SFD/locale_lib.sfd 2021-08-10 22:18:56.850176474 +0200
|
||||
@@ -1,5 +1,6 @@
|
||||
==id $Id: locale_lib.sfd,v 44.1 2002-02-11 19:12:56 o.barthel Exp $
|
||||
* "locale.library"
|
||||
+==basetype struct LocaleBase *
|
||||
==base _LocaleBase
|
||||
==bias 30
|
||||
==public
|
||||
@@ -1,137 +0,0 @@
|
||||
--- NDK_3.9/Include/include_h/clib/alib_protos.h 2001-12-17 15:14:42.000000000 +0100
|
||||
+++ NDK_3.9/Include/include_h/clib/alib_protos.h 2018-01-22 19:33:39.671085000 +0100
|
||||
@@ -45,54 +45,54 @@
|
||||
|
||||
/* Exec support functions */
|
||||
|
||||
-VOID BeginIO( struct IORequest *ioReq );
|
||||
-struct IORequest *CreateExtIO( CONST struct MsgPort *port, LONG ioSize );
|
||||
-struct MsgPort *CreatePort( CONST_STRPTR name, LONG pri );
|
||||
-struct IOStdReq *CreateStdIO( CONST struct MsgPort *port );
|
||||
-struct Task *CreateTask( CONST_STRPTR name, LONG pri, CONST APTR initPC, ULONG stackSize );
|
||||
-VOID DeleteExtIO( struct IORequest *ioReq );
|
||||
-VOID DeletePort( struct MsgPort *ioReq );
|
||||
-VOID DeleteStdIO( struct IOStdReq *ioReq );
|
||||
-VOID DeleteTask( struct Task *task );
|
||||
-VOID NewList( struct List *list );
|
||||
-APTR LibAllocPooled( APTR poolHeader, ULONG memSize );
|
||||
-APTR LibCreatePool( ULONG memFlags, ULONG puddleSize, ULONG threshSize );
|
||||
-VOID LibDeletePool( APTR poolHeader );
|
||||
-VOID LibFreePooled( APTR poolHeader, APTR memory, ULONG memSize );
|
||||
+__stdargs VOID BeginIO( struct IORequest *ioReq );
|
||||
+__stdargs struct IORequest *CreateExtIO( CONST struct MsgPort *port, LONG ioSize );
|
||||
+__stdargs struct MsgPort *CreatePort( CONST_STRPTR name, LONG pri );
|
||||
+__stdargs struct IOStdReq *CreateStdIO( CONST struct MsgPort *port );
|
||||
+__stdargs struct Task *CreateTask( CONST_STRPTR name, LONG pri, CONST APTR initPC, ULONG stackSize );
|
||||
+__stdargs VOID DeleteExtIO( struct IORequest *ioReq );
|
||||
+__stdargs VOID DeletePort( struct MsgPort *ioReq );
|
||||
+__stdargs VOID DeleteStdIO( struct IOStdReq *ioReq );
|
||||
+__stdargs VOID DeleteTask( struct Task *task );
|
||||
+__stdargs VOID NewList( struct List *list );
|
||||
+__stdargs APTR LibAllocPooled( APTR poolHeader, ULONG memSize );
|
||||
+__stdargs APTR LibCreatePool( ULONG memFlags, ULONG puddleSize, ULONG threshSize );
|
||||
+__stdargs VOID LibDeletePool( APTR poolHeader );
|
||||
+__stdargs VOID LibFreePooled( APTR poolHeader, APTR memory, ULONG memSize );
|
||||
|
||||
/* Assorted functions in amiga.lib */
|
||||
|
||||
-ULONG FastRand( ULONG seed );
|
||||
-UWORD RangeRand( ULONG maxValue );
|
||||
+__stdargs ULONG FastRand( ULONG seed );
|
||||
+__stdargs UWORD RangeRand( ULONG maxValue );
|
||||
|
||||
/* Graphics support functions in amiga.lib */
|
||||
|
||||
-VOID AddTOF( struct Isrvstr *i, LONG (*p)(APTR args), APTR a );
|
||||
-VOID RemTOF( struct Isrvstr *i );
|
||||
-VOID waitbeam( LONG b );
|
||||
+__stdargs VOID AddTOF( struct Isrvstr *i, LONG (*p)(APTR args), APTR a );
|
||||
+__stdargs VOID RemTOF( struct Isrvstr *i );
|
||||
+__stdargs VOID waitbeam( LONG b );
|
||||
|
||||
/* math support functions in amiga.lib */
|
||||
|
||||
-FLOAT afp( CONST_STRPTR string );
|
||||
-VOID arnd( LONG place, LONG exp, STRPTR string );
|
||||
-FLOAT dbf( ULONG exp, ULONG mant );
|
||||
-LONG fpa( FLOAT fnum, BYTE *string );
|
||||
-VOID fpbcd( FLOAT fnum, BYTE *string );
|
||||
+__stdargs FLOAT afp( CONST_STRPTR string );
|
||||
+__stdargs VOID arnd( LONG place, LONG exp, STRPTR string );
|
||||
+__stdargs FLOAT dbf( ULONG exp, ULONG mant );
|
||||
+__stdargs LONG fpa( FLOAT fnum, BYTE *string );
|
||||
+__stdargs VOID fpbcd( FLOAT fnum, BYTE *string );
|
||||
|
||||
/* Timer support functions in amiga.lib (V36 and higher only) */
|
||||
|
||||
-LONG TimeDelay( LONG unit, ULONG secs, ULONG microsecs );
|
||||
-LONG DoTimer( struct timeval *, LONG unit, LONG command );
|
||||
+__stdargs LONG TimeDelay( LONG unit, ULONG secs, ULONG microsecs );
|
||||
+__stdargs LONG DoTimer( struct timeval *, LONG unit, LONG command );
|
||||
|
||||
/* Commodities functions in amiga.lib (V36 and higher only) */
|
||||
|
||||
-VOID ArgArrayDone( VOID );
|
||||
-STRPTR *ArgArrayInit( LONG argc, CONST_STRPTR *argv );
|
||||
-LONG ArgInt( CONST_STRPTR *tt, CONST_STRPTR entry, LONG defaultval );
|
||||
-STRPTR ArgString( CONST_STRPTR *tt, CONST_STRPTR entry, CONST_STRPTR defaultstring );
|
||||
-CxObj *HotKey( CONST_STRPTR description, struct MsgPort *port, LONG id );
|
||||
-struct InputEvent *InvertString( CONST_STRPTR str, CONST struct KeyMap *km );
|
||||
-VOID FreeIEvents( struct InputEvent *events );
|
||||
+__stdargs VOID ArgArrayDone( VOID );
|
||||
+__stdargs STRPTR *ArgArrayInit( LONG argc, CONST_STRPTR *argv );
|
||||
+__stdargs LONG ArgInt( CONST_STRPTR *tt, CONST_STRPTR entry, LONG defaultval );
|
||||
+__stdargs STRPTR ArgString( CONST_STRPTR *tt, CONST_STRPTR entry, CONST_STRPTR defaultstring );
|
||||
+__stdargs CxObj *HotKey( CONST_STRPTR description, struct MsgPort *port, LONG id );
|
||||
+__stdargs struct InputEvent *InvertString( CONST_STRPTR str, CONST struct KeyMap *km );
|
||||
+__stdargs VOID FreeIEvents( struct InputEvent *events );
|
||||
|
||||
/* Commodities Macros */
|
||||
|
||||
@@ -105,9 +105,9 @@
|
||||
|
||||
/* ARexx support functions in amiga.lib */
|
||||
|
||||
-BOOL CheckRexxMsg( CONST struct RexxMsg *rexxmsg );
|
||||
-LONG GetRexxVar( CONST struct RexxMsg *rexxmsg, CONST_STRPTR name, STRPTR *result );
|
||||
-LONG SetRexxVar( struct RexxMsg *rexxmsg, CONST_STRPTR name, CONST_STRPTR value, LONG length );
|
||||
+__stdargs BOOL CheckRexxMsg( CONST struct RexxMsg *rexxmsg );
|
||||
+__stdargs LONG GetRexxVar( CONST struct RexxMsg *rexxmsg, CONST_STRPTR name, STRPTR *result );
|
||||
+__stdargs LONG SetRexxVar( struct RexxMsg *rexxmsg, CONST_STRPTR name, CONST_STRPTR value, LONG length );
|
||||
|
||||
/* Intuition hook and boopsi support functions in amiga.lib. */
|
||||
/* These functions do not require any particular ROM revision */
|
||||
@@ -115,22 +115,22 @@
|
||||
/* in V36. These functions would work with compatibly-implemented */
|
||||
/* hooks or objects under V34. */
|
||||
|
||||
-ULONG CallHookA( struct Hook *hookPtr, Object *obj, APTR message );
|
||||
-ULONG CallHook( struct Hook *hookPtr, Object *obj, ... );
|
||||
-ULONG DoMethodA( Object *obj, Msg message );
|
||||
-ULONG DoMethod( Object *obj, ULONG methodID, ... );
|
||||
-ULONG DoSuperMethodA( struct IClass *cl, Object *obj, Msg message );
|
||||
-ULONG DoSuperMethod( struct IClass *cl, Object *obj, ULONG methodID, ... );
|
||||
-ULONG CoerceMethodA( struct IClass *cl, Object *obj, Msg message );
|
||||
-ULONG CoerceMethod( struct IClass *cl, Object *obj, ULONG methodID, ... );
|
||||
-ULONG HookEntry( struct Hook *hookPtr, Object *obj, APTR message );
|
||||
-ULONG SetSuperAttrs( struct IClass *cl, Object *obj, ULONG tag1, ... );
|
||||
+__stdargs ULONG CallHookA( struct Hook *hookPtr, Object *obj, APTR message );
|
||||
+__stdargs ULONG CallHook( struct Hook *hookPtr, Object *obj, ... );
|
||||
+__stdargs ULONG DoMethodA( Object *obj, Msg message );
|
||||
+__stdargs ULONG DoMethod( Object *obj, ULONG methodID, ... );
|
||||
+__stdargs ULONG DoSuperMethodA( struct IClass *cl, Object *obj, Msg message );
|
||||
+__stdargs ULONG DoSuperMethod( struct IClass *cl, Object *obj, ULONG methodID, ... );
|
||||
+__stdargs ULONG CoerceMethodA( struct IClass *cl, Object *obj, Msg message );
|
||||
+__stdargs ULONG CoerceMethod( struct IClass *cl, Object *obj, ULONG methodID, ... );
|
||||
+__stdargs ULONG HookEntry( struct Hook *hookPtr, Object *obj, APTR message );
|
||||
+__stdargs ULONG SetSuperAttrs( struct IClass *cl, Object *obj, ULONG tag1, ... );
|
||||
|
||||
/* Network-support functions in amiga.lib. */
|
||||
/* ACrypt() first appeared in later V39 versions of amiga.lib, but */
|
||||
/* operates correctly under V37 and up. */
|
||||
|
||||
-STRPTR ACrypt( STRPTR buffer, CONST_STRPTR password, CONST_STRPTR username );
|
||||
+__stdargs STRPTR ACrypt( STRPTR buffer, CONST_STRPTR password, CONST_STRPTR username );
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
@@ -1,29 +0,0 @@
|
||||
--- NDK_3.9/Include/include_h/clib/alib_stdio_protos.h 2001-12-17 15:14:44.000000000 +0100
|
||||
+++ NDK_3.9/Include/include_h/clib/alib_stdio_protos.h 2018-01-22 19:33:55.310761400 +0100
|
||||
@@ -21,16 +21,16 @@
|
||||
|
||||
/* stdio functions that duplicate those in a typical C library */
|
||||
|
||||
-LONG printf( CONST_STRPTR fmt, ... );
|
||||
-LONG sprintf( CONST_STRPTR buffer, CONST_STRPTR fmt, ... );
|
||||
-LONG fclose( LONG stream );
|
||||
-LONG fgetc( LONG stream );
|
||||
-LONG fprintf( LONG stream, CONST_STRPTR fmt, ... );
|
||||
-LONG fputc( LONG c, LONG stream );
|
||||
-LONG fputs( CONST_STRPTR s, LONG stream );
|
||||
-LONG getchar( VOID );
|
||||
-LONG putchar( ULONG c );
|
||||
-LONG puts( CONST_STRPTR s );
|
||||
+__stdargs LONG printf( CONST_STRPTR fmt, ... );
|
||||
+__stdargs LONG sprintf( CONST_STRPTR buffer, CONST_STRPTR fmt, ... );
|
||||
+__stdargs LONG fclose( LONG stream );
|
||||
+__stdargs LONG fgetc( LONG stream );
|
||||
+__stdargs LONG fprintf( LONG stream, CONST_STRPTR fmt, ... );
|
||||
+__stdargs LONG fputc( LONG c, LONG stream );
|
||||
+__stdargs LONG fputs( CONST_STRPTR s, LONG stream );
|
||||
+__stdargs LONG getchar( VOID );
|
||||
+__stdargs LONG putchar( ULONG c );
|
||||
+__stdargs LONG puts( CONST_STRPTR s );
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
22
patches/NDK_3.9/Include/include_h/clib/debug_protos.h.diff
Normal file
22
patches/NDK_3.9/Include/include_h/clib/debug_protos.h.diff
Normal file
@@ -0,0 +1,22 @@
|
||||
--- NDK_3.9/Include/include_h/clib/debug_protos.h 2001-12-17 15:18:00.000000000 +0100
|
||||
+++ NDK_3.9/Include/include_h/clib/debug_protos.h 2021-08-11 14:21:11.908276836 +0200
|
||||
@@ -29,8 +29,8 @@
|
||||
LONG kgetnum( VOID );
|
||||
LONG KMayGetChar( VOID );
|
||||
LONG KMayGetCh( VOID );
|
||||
-VOID KPutFmt( CONST_STRPTR formatString, CONST APTR values );
|
||||
-VOID KVPrintF( CONST_STRPTR formatString, CONST APTR values );
|
||||
+VOID KPutFmt( CONST_STRPTR formatString, CONST_APTR values );
|
||||
+VOID KVPrintF( CONST_STRPTR formatString, CONST_APTR values );
|
||||
VOID KPrintF( CONST_STRPTR formatString, ... );
|
||||
VOID kprintf( CONST_STRPTR formatString, ... );
|
||||
VOID KPutChar( LONG ch );
|
||||
@@ -41,7 +41,7 @@
|
||||
VOID KPutStr( CONST_STRPTR string );
|
||||
VOID kputs( CONST_STRPTR string );
|
||||
VOID KPutS( CONST_STRPTR string );
|
||||
-VOID KDoFmt( CONST_STRPTR formatString, CONST APTR dataStream, CONST APTR putChProc, APTR putChData );
|
||||
+VOID KDoFmt( CONST_STRPTR formatString, CONST_APTR dataStream, CONST_APTR putChProc, APTR putChData );
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
30
patches/cdplayer/cdplayer.fd.diff
Normal file
30
patches/cdplayer/cdplayer.fd.diff
Normal file
@@ -0,0 +1,30 @@
|
||||
--- cdplayer.library/include/fd/cdplayer.fd.orig 2022-04-22 22:53:12.738869052 -0700
|
||||
+++ cdplayer.library/include/fd/cdplayer.fd 2022-04-22 22:53:38.970284940 -0700
|
||||
@@ -1,15 +1,15 @@
|
||||
##base _CDPlayerBase
|
||||
##bias 30
|
||||
-CDEject(io_ptr) (a5)
|
||||
-CDPlay(starttrack,endtrack,io_ptr) (a0,a1,a5)
|
||||
-CDResume(Mode,io_ptr) (a0,a5)
|
||||
-CDStop(io_ptr) (a5)
|
||||
-CDJump(Blocks,io_ptr) (a0,a5)
|
||||
-CDActive(io_ptr) (a5)
|
||||
-CDCurrentTitle(io_ptr) (a5)
|
||||
-CDTitleTime(cd_time,io_ptr) (a0,a5)
|
||||
-CDGetVolume(vol,io_ptr) (a0,a5)
|
||||
-CDSetVolume(vol,io_ptr) (a0,a5)
|
||||
-CDReadTOC(toc,io_ptr) (a0,a5)
|
||||
-CDInfo(cdi,io_ptr) (a0,a5)
|
||||
+CDEject(io_ptr)(a5)
|
||||
+CDPlay(starttrack,endtrack,io_ptr)(a0,a1,a5)
|
||||
+CDResume(Mode,io_ptr)(a0,a5)
|
||||
+CDStop(io_ptr)(a5)
|
||||
+CDJump(Blocks,io_ptr)(a0,a5)
|
||||
+CDActive(io_ptr)(a5)
|
||||
+CDCurrentTitle(io_ptr)(a5)
|
||||
+CDTitleTime(cd_time,io_ptr)(a0,a5)
|
||||
+CDGetVolume(vol,io_ptr)(a0,a5)
|
||||
+CDSetVolume(vol,io_ptr)(a0,a5)
|
||||
+CDReadTOC(toc,io_ptr)(a0,a5)
|
||||
+CDInfo(cdi,io_ptr)(a0,a5)
|
||||
##end
|
||||
12
patches/cdplayer/cdplayer_protos.h.diff
Normal file
12
patches/cdplayer/cdplayer_protos.h.diff
Normal file
@@ -0,0 +1,12 @@
|
||||
--- cdplayer.library/include/clib/cdplayer_protos.orig.h 1995-05-29 11:57:38.000000000 -0700
|
||||
+++ cdplayer.library/include/clib/cdplayer_protos.h 2022-06-17 22:54:59.342089800 -0700
|
||||
@@ -11,7 +11,7 @@
|
||||
#endif
|
||||
|
||||
BYTE CDEject (struct IOStdReq *);
|
||||
-BYTE CDPlay (UBYTE, UBYTE, struct IOStdReq *);
|
||||
+BYTE CDPlay (ULONG, ULONG, struct IOStdReq *);
|
||||
BYTE CDResume (BOOL, struct IOStdReq *);
|
||||
BYTE CDStop (struct IOStdReq *);
|
||||
BYTE CDJump (ULONG, struct IOStdReq *);
|
||||
|
||||
11
patches/mui/SDK/MUI/C/include/libraries/mui.h
Normal file
11
patches/mui/SDK/MUI/C/include/libraries/mui.h
Normal file
@@ -0,0 +1,11 @@
|
||||
--- SDK/MUI/C/include/libraries/mui.h 2020-12-28 10:47:33.000000000 +0100
|
||||
+++ SDK/MUI/C/include/libraries/mui.h 2021-10-05 11:25:11.067182854 +0200
|
||||
@@ -153,7 +153,7 @@
|
||||
***************************************************************************/
|
||||
|
||||
#define MUIMASTER_NAME "muimaster.library"
|
||||
-#define MUIMASTER_VMIN 20
|
||||
+#define MUIMASTER_VMIN 19
|
||||
#define MUIMASTER_VLATEST 20
|
||||
|
||||
/*
|
||||
@@ -1,12 +0,0 @@
|
||||
--- sfdc/sfdc 2018-06-28 14:37:26.434918400 +0100
|
||||
+++ sfdc-patched/sfdc 2018-06-28 14:42:58.370540300 +0100
|
||||
@@ -484,7 +484,8 @@
|
||||
while (my $line = <SFD>) {
|
||||
|
||||
++$line_no;
|
||||
-
|
||||
+ $line =~ s/\r//g;
|
||||
+
|
||||
for ($line) {
|
||||
/==copyright\s/ && do {
|
||||
( $$result{'copyright'} = $_ ) =~ s/==copyright\s+(.*)\s*/$1/;
|
||||
@@ -1,5 +1,5 @@
|
||||
-cc=PREFIX/bin/vbccm68k -hunkdebug %s -o= %s %s -O=%ld -quiet -IPREFIX/m68k-amigaos/vbcc/include -IPREFIX/m68k-amigaos/ndk-include
|
||||
-ccv=PREFIX/bin/vbccm68k -hunkdebug %s -o= %s %s -O=%ld -IPREFIX/m68k-amigaos/vbcc/include -IPREFIX/m68k-amigaos/ndk-include
|
||||
-cc=PREFIX/bin/vbccm68k -hunkdebug %s -o= %s %s -O=%ld -quiet -IPREFIX/m68k-amigaos/vbcc/include -IPREFIX/m68k-amigaos/ndk-include -IPREFIX/m68k-amigaos/include
|
||||
-ccv=PREFIX/bin/vbccm68k -hunkdebug %s -o= %s %s -O=%ld -IPREFIX/m68k-amigaos/vbcc/include -IPREFIX/m68k-amigaos/ndk-include -IPREFIX/opt/amiga/m68k-amigaos/include
|
||||
-as=PREFIX/bin/vasmm68k_mot -Fhunk -phxass -opt-fconst -nowarn=62 -quiet -IPREFIX/m68k-amigaos/ndk-include %s -o %s
|
||||
-asv=PREFIX/bin/vasmm68k_mot -Fhunk -phxass -opt-fconst -nowarn=62 -IPREFIX/m68k-amigaos/ndk-include %s -o %s
|
||||
-rm=rm %s
|
||||
|
||||
16
sdk/cdplayer.sdk
Normal file
16
sdk/cdplayer.sdk
Normal file
@@ -0,0 +1,16 @@
|
||||
Short: Library to play audio from scsi-cdrom
|
||||
Version: 37
|
||||
Url: http://aminet.net/dev/misc/CDPlayerlib37.lha
|
||||
|
||||
patch : cdplayer.fd.diff
|
||||
patch : cdplayer_protos.h.diff
|
||||
|
||||
cdplayer.library/include/clib/cdplayer_protos.h
|
||||
cdplayer.library/include/fd/cdplayer.fd
|
||||
cdplayer.library/include/libraries/cdplayer.h
|
||||
cdplayer.library/docs/cdplayer.dok = cdplayer.doc
|
||||
cdplayer.library/docs/cdplayer.guide
|
||||
|
||||
fd2sfd : cdplayer.fd clib/cdplayer_protos.h
|
||||
sfdc : cdplayer.sfd
|
||||
stubs : cdplayer.sfd
|
||||
14
sdk/install
14
sdk/install
@@ -1,4 +1,5 @@
|
||||
#!/bin/bash
|
||||
export PATH=$PATH:$3/bin
|
||||
if [ ! -e "sdk/$2.sdk" ]; then
|
||||
echo "sdk/$2.sdk not found"
|
||||
exit 1
|
||||
@@ -16,7 +17,7 @@ case $1 in
|
||||
if [ "${a[1]}" == "git" ]; then
|
||||
if [ ! -e "projects/$file" ]; then
|
||||
pushd projects
|
||||
git clone ${a[1]}:${a[2]} || rm -rf $file; exit 1
|
||||
git clone https:${a[2]} || (rm -rf $file; exit 1)
|
||||
popd;
|
||||
fi
|
||||
pushd projects/$file
|
||||
@@ -31,7 +32,7 @@ case $1 in
|
||||
if [ ! -e "build/$2" ] || [ "$(ls -l build/$2)" == "total 0" ]; then
|
||||
mkdir -p build/$2
|
||||
pushd build/$2
|
||||
lha x "../../download/$file" && $3/bin/lha x "../../download/$file"
|
||||
lha x "../../download/$file"
|
||||
popd
|
||||
fi
|
||||
fi
|
||||
@@ -78,6 +79,7 @@ case $1 in
|
||||
flock -x 200
|
||||
$3/bin/m68k-amigaos-ar r $3/m68k-amigaos/lib/libstubs.a build/$2/$name.o || exit 1
|
||||
) 200>/tmp/amiga-gcc-libstubs-lock
|
||||
rm /tmp/amiga-gcc-libstubs-lock
|
||||
;;
|
||||
lib)
|
||||
sfd=${a[1]}
|
||||
@@ -99,9 +101,15 @@ case $1 in
|
||||
rm -rf $3/m68k-amigaos/${a[2]}
|
||||
ln -s $3/m68k-amigaos/${a[1]} $3/m68k-amigaos/${a[2]}
|
||||
;;
|
||||
stdargs)
|
||||
echo adding __stdargs to build/$2/${a[1]}
|
||||
LC_CTYPE=C sed -i.bak -E 's/(.*)__stdargs (.*)/\1\2/g' build/$2/${a[1]}
|
||||
LC_CTYPE=C sed -i.bak -E 's/([a-zA-Z0-9_]*[[:blank:]]*.*[[:blank:]]+\*?[[:blank:]]*)([a-zA-Z0-9_]+)[[:blank:]]*\(/__stdargs \1\2(/g' build/$2/${a[1]}
|
||||
rm build/$2/${a[1]}.bak
|
||||
;;
|
||||
patch)
|
||||
patch=patches/$2/${a[1]}
|
||||
echo applying patch $patch
|
||||
echo applying patch $patch to build/$2
|
||||
patch -N -p0 -r - -d build/$2 < $patch
|
||||
;;
|
||||
*)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
Short: BetterString custom class for MUI
|
||||
Version: 11.35
|
||||
Url: http://aminet.net/dev/mui/MCC_BetterString-11.35.lha
|
||||
Version: 11.36
|
||||
Url: http://aminet.net/dev/mui/MCC_BetterString-11.36.lha
|
||||
|
||||
MCC_BetterString/Developer/Autodocs/MCC/MCC_BetterString.doc
|
||||
MCC_BetterString/Developer/Autodocs/MCC/MCC_HotkeyString.doc
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
Short: NList custom classes for MUI
|
||||
Version: 0.127
|
||||
Url: http://aminet.net/dev/mui/MCC_NList-0.127.lha
|
||||
Version: 0.128
|
||||
Url: http://aminet.net/dev/mui/MCC_NList-0.128.lha
|
||||
|
||||
MCC_NList/Developer/Autodocs/MCC/MCC_NBalance.doc
|
||||
MCC_NList/Developer/Autodocs/MCC/MCC_NFloattext.doc
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
Short: TextEditor custom class for MUI
|
||||
Version: 15.55
|
||||
Url: http://aminet.net/dev/mui/MCC_TextEditor-15.55.lha
|
||||
Version: 15.56
|
||||
Url: http://aminet.net/dev/mui/MCC_TextEditor-15.56.lha
|
||||
|
||||
MCC_TextEditor/Developer/Autodocs/MCC/MCC_TextEditor.doc
|
||||
MCC_TextEditor/Developer/C/include/mui/TextEditor_mcc.h
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
Short: Next Generation Toolbar MUI Custom Class
|
||||
Version: 26.21
|
||||
Url: http://aminet.net/dev/mui/MCC_TheBar-26.21.lha
|
||||
Version: 26.22
|
||||
Url: http://aminet.net/dev/mui/MCC_TheBar-26.22.lha
|
||||
|
||||
MCC_TheBar/Developer/Autodocs/MCC/MCC_TheBar.doc
|
||||
MCC_TheBar/Developer/C/include/mui/TheBar_mcc.h
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
Short: Magic User Interface
|
||||
Version: 5.0-2016R3
|
||||
Url: https://muidev.de/download/MUI%205.0%20-%20Release/MUI-5.0-2016R3-os3.lha
|
||||
Version: 5.0-2020R3
|
||||
Url: https://github.com/amiga-mui/muidev/releases/download/MUI-5.0-2020R3/MUI-5.0-2020R3-os3.lha
|
||||
|
||||
SDK/MUI/Autodocs/MCC/MCC_NumericString.doc
|
||||
SDK/MUI/Autodocs/MCC/MCC_BetterBalance.doc
|
||||
@@ -82,6 +82,7 @@ SDK/MUI/Autodocs/MUI/MUI_Scrmodelist.doc
|
||||
SDK/MUI/Autodocs/MUI/MUI_Radio.doc
|
||||
SDK/MUI/Autodocs/MUI/MUI_Levelmeter.doc
|
||||
SDK/MUI/Docs/MUIdev.guide
|
||||
stdargs : SDK/MUI/C/include/clib/muimaster_protos.h
|
||||
SDK/MUI/C/include/clib/muimaster_protos.h
|
||||
SDK/MUI/C/include/libraries/mui.h
|
||||
SDK/MUI/C/include/pragma/muimaster_lib.h
|
||||
@@ -111,3 +112,5 @@ fd2sfd : muimaster_lib.fd clib/muimaster_protos.h
|
||||
sfdc : muimaster_lib.sfd muimaster.h muimaster_lib.h
|
||||
stubs : muimaster_lib.sfd
|
||||
lib : muimaster_lib.sfd
|
||||
patch : SDK/MUI/C/include/libraries/mui.h
|
||||
|
||||
|
||||
Reference in New Issue
Block a user