1
0
mirror of https://github.com/bebbo/amiga-gcc.git synced 2026-05-09 06:55:13 +00:00

59 Commits

Author SHA1 Message Date
Stefan "Bebbo" Franke
5c917ef538 Merge pull request #273 from mheyer32/add_cdplayer_library
Add cdplayer.library v37 SDK
2022-06-18 09:53:10 +02:00
mheyer
8d364bd060 Add cdplayer.library v37 SDK
The included patch file patches the FD file so fd2sfd will process it.
It removes a whitespace between the parameter list and the register list.

Also, don't use BYTE typed arguments in address registers
2022-06-17 23:42:21 -07:00
bebbo
9711f51041 use https to clone git 2022-05-11 20:49:25 +02:00
bebbo
5405b0c16e sdk requires lha 2022-05-11 17:32:11 +02:00
bebbo
fe064a0d03 refs #280: switch from git: to https: 2022-05-11 12:53:13 +02:00
bebbo
d523276034 update msys2 deps 2022-05-11 08:54:24 +02:00
bebbo
38dc3e3e47 exclude gdb from min target 2022-05-11 08:54:03 +02:00
Stefan "Bebbo" Franke
9931db154b Merge pull request #276 from simpsond/master
fix for Mac, use gsed for parsing .repos
2022-04-29 08:29:06 +02:00
Dustin Simpson
df92eb8859 fix for Mac, use gsed for parsing .repos 2022-04-25 21:06:09 -07:00
bebbo
51e562f425 update version handling 2022-04-20 12:20:19 +02:00
bebbo
e17bea3d93 add support to switch the branch per module 2022-04-20 10:44:21 +02:00
Stefan "Bebbo" Franke
4766d09d9b Merge pull request #261 from tdolphin-org/origin/vbcc-config-includes
Update vc.config
2021-12-24 10:26:57 +01:00
Rafał Zabdyr
56a8a08c63 Update vc.config
added missing additional includes directories for vbcc
(with includes for external libraries)
2021-12-23 19:15:22 +01:00
bebbo
42242b3db2 fd2sfd -> https://github.com/adtools/fd2sfd 2021-12-02 08:01:34 +01:00
Stefan "Bebbo" Franke
e4443975dc Merge branch 'master' into cnvogelg/darwin-arm64-fixes 2021-11-27 19:09:22 +01:00
Christian Vogelgsang
e3ff9e3118 updated macos infos in README.md 2021-11-27 18:27:46 +01:00
bebbo
778f807932 added make check and update infos for macOS 2021-11-27 18:05:42 +01:00
Christian Vogelgsang
652b6a7e9b autodetect install location of homebrew 2021-11-27 13:42:59 +01:00
Stefan Bebbo Franke
b34b4b1151 cleanup /tmp/amiga-gcc-libstubs-lock 2021-11-08 07:45:25 +00:00
Stefan "Bebbo" Franke
67a31cef47 Merge pull request #253 from hitman-codehq/gnu_sed
Use GNU sed for generating ndk13 headers
2021-10-31 17:24:30 +01:00
Colin Ward
613d32171b Use GNU sed for generating ndk13 headers
The BSD version of sed that is included with macOS crashes when it
encounters the (c) symbol in NDK includes, and has some other
compatibility issues, so use GNU sed on macos instead.
2021-10-31 17:00:42 +01:00
bebbo
5e0180aab8 refs #247: add LC_CTYPE=C 2021-10-22 07:30:07 +02:00
bebbo
1495010a44 no 'a' in regex src... 2021-10-21 13:21:37 +02:00
bebbo
8f5cf79c39 poke min version of MUI to 19 2021-10-05 13:10:22 +02:00
bebbo
806475a9ad add stdargs to mui.sdk 2021-10-05 13:09:21 +02:00
bebbo
4726c47773 refs #234: remove the STRPTR patches 2021-10-04 17:15:16 +02:00
fautomat
bb9ca8b495 Merge branch 'devel1' 2021-09-21 22:43:30 +00:00
bebbo
99f6fb6909 refs #242: fix generated inline header for ndk13 2021-09-21 23:46:52 +02:00
Stefan "Bebbo" Franke
dd67759075 Merge pull request #241 from githubaf/master
More MUI custom classes need an update
2021-09-21 17:11:11 +02:00
githubaf
f45c62633a Update mcc_thebar.sdk
version 26.21 is no longer available on Aminet
2021-09-21 13:36:19 +02:00
githubaf
a23f858578 Update mcc_texteditor.sdk
Version 15.55 is no longer on Aminet
2021-09-21 12:21:22 +02:00
githubaf
5e3d5292b1 Update mcc_nlist.sdk
MCC_NList-0.127.lha is no longer on Aminet
2021-09-21 10:40:47 +02:00
Stefan "Bebbo" Franke
68e44286bd Merge pull request #240 from githubaf/master
Update mcc_betterstring.sdk
2021-09-20 14:22:12 +02:00
githubaf
131c716f25 Update mcc_betterstring.sdk 2021-09-20 14:19:29 +02:00
bebbo
7272112bcc make min 2021-09-14 20:26:28 +02:00
bebbo
e113d55c3a refs #239: fix verbose build
make: Nothing to be done for 'all'.
is working again
2021-09-12 14:43:19 +02:00
bebbo
ac9917be67 refs #237: add missing braces - do not exit on every git clone... 2021-08-30 20:05:46 +02:00
Bebbo
15656337da refs #232: random hacking.. 2021-08-19 14:11:14 +02:00
Bebbo
cb8371985f refs #231: fix NDK39 again.. 2021-08-18 12:08:39 +02:00
Bebbo
fd0a7f1df5 refs #231: due to a single request of a multiple... support make via sudo 2021-08-17 21:13:00 +02:00
Stefan "Bebbo" Franke
5a9d90571d Merge pull request #229 from MBeijer/patch-4
Fix build errors
2021-08-16 17:00:49 +02:00
bebbo
dfec70443c refs #230: fix bad archive name 2021-08-16 16:26:15 +02:00
bebbo
0a84962a0f refs #222: enhance clib/compiler-specific.h 2021-08-16 14:13:19 +02:00
Marlon Beijer
82f4e42b8c Make 'patch' return 0 when skipping an already applied patch 2021-08-16 12:39:37 +02:00
Marlon Beijer
30a19ec25c Update MUI SDK to 2020R3 version, as old URL is no longer valid 2021-08-16 12:26:36 +02:00
Marlon Beijer
644c9a0158 Make sure NDK39.lha is saved correctly 2021-08-16 12:22:01 +02:00
bebbo
ebed8dfa39 refs #222: apply __stdargs to all clib/*protos.h 2021-08-12 18:56:53 +02:00
bebbo
ce57d355fc undo 2021-08-12 17:31:15 +02:00
bebbo
6abb475a2c refs #222: use [[:space:]] instead of \s 2021-08-12 15:03:47 +02:00
bebbo
4d061c1306 fix NDK3.9 url 2021-08-12 14:58:58 +02:00
bebbo
de156c02dc refs #222: use correct sfdc repo 2021-08-12 08:03:46 +02:00
bebbo
a586bad860 patch debug_protos.h 2021-08-11 14:35:09 +02:00
bebbo
e7d9d3418b refs #222: add support for NDK3.2
make NDK=3.2 ...
2021-08-10 22:36:46 +02:00
Stefan "Bebbo" Franke
cb2edfd3ef Update README.md 2021-06-23 16:57:27 +02:00
Stefan "Bebbo" Franke
deafbf9761 Merge pull request #220 from mheyer32/redirect_vasm_vlink
redirect VASM and VLINK repo to https://github.com/mheyer32/...
2021-05-18 20:51:25 +02:00
mheyer
d9c11489d3 redirect VASM and VLINK repo to https://github.com/mheyer32/...
The leffmann repos have not been updated in a long time.
2021-05-18 11:08:17 -07:00
bebbo
c673513c75 fix superfluous @ 2021-03-23 18:36:24 +01:00
bebbo
e268b2a2fd fix newlib 2021-03-22 11:48:53 +01:00
bebbo
a39cd379c5 clean-prefix: drop more stuff. newlib: no need to reconfigure 2021-03-22 10:45:37 +01:00
25 changed files with 695 additions and 491 deletions

3
.gitignore vendored
View File

@@ -6,4 +6,5 @@ Output
.lock
.state
.vscode
.DS_Store
.DS_Store
.repos*

View File

@@ -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

612
Makefile

File diff suppressed because it is too large Load Diff

View File

@@ -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
View 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

View 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 */

View 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;

View 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

View 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

View 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

View File

@@ -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
}

View File

@@ -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
}

View 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
}

View 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

View 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 *);

View 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
/*

View File

@@ -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/;

View File

@@ -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
View 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

View File

@@ -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
;;
*)

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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