Skip to content

Commit

Permalink
- misc: final 11.30 release preparations
Browse files Browse the repository at this point in the history
- mcc/HandleInput.c: updated MySPrintf() function to use a inline macros for AROS and MORPHOS builds instead.
- include: updated SDI headers.
  • Loading branch information
jens-maus committed Aug 6, 2016
1 parent cd80d5b commit a31addc
Show file tree
Hide file tree
Showing 57 changed files with 328 additions and 184 deletions.
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,7 @@
bin_*/
mcp/locale.c
mcp/locale.h
/release
/mcp/locale/*.catalog
/MCC_BetterString-*.lha
/MCC_BetterString-*.readme
10 changes: 8 additions & 2 deletions ChangeLog
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,14 @@
MUI BetterString MCC class - ChangeLog
--------------------------------------

$Id$
$URL$
#### v11.30 RELEASE ###########################################################

2016-08-06 Jens Maus <[email protected]>

* misc: final 11.30 release preparations
* mcc/HandleInput.c: updated MySPrintf() function to use a inline macros for
AROS and MORPHOS builds instead.
* include: updated SDI headers.

#### v11.29 RELEASE ###########################################################

Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
#
# BetterString.mcc - A better String gadget MUI Custom Class
# Copyright (C) 1997-2000 Allan Odgaard
# Copyright (C) 2005-2015 BetterString.mcc Open Source Team
# Copyright (C) 2005-2016 BetterString.mcc Open Source Team
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
Expand Down
Binary file removed dist/MCC_BetterString/AUTHORS.info
Binary file not shown.
2 changes: 1 addition & 1 deletion doc/MCC_BetterString.doc
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ BetterString.mcc/MUIM_BetterString_Insert
BetterString.mcc/BetterString.mcc

*******************************************************************
Copyright (C) 2005-2015 BetterString.mcc Open Source Team
Copyright (C) 2005-2016 BetterString.mcc Open Source Team
$Id$

BetterString is a stringgadget replacement. It is created for MUI,
Expand Down
12 changes: 6 additions & 6 deletions doc/MCC_BetterString.readme
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
Short: BetterString custom class for MUI, V11.29
Short: BetterString custom class for MUI
Author: BetterString.mcc Open Source Team
Uploader: Jens Maus <[email protected]>
Type: dev/mui
Version: 11.29
Replaces: dev/mui/mcc_betterstring-11.28.lha
Version: 11.30
Replaces: dev/mui/mcc_betterstring-11.29.lha
Requires: AmigaOS 3.0+ or MorphOS, MUI 3.8+, 68020+/PPC604e+
Architecture: ppc-amigaos >= 4.0.0; m68k-amigaos >= 3.0; ppc-morphos >= 1.4.2; i386-aros; ppc-aros; x86_64-aros

Expand All @@ -27,7 +27,7 @@ maintained and Copyright (c) by the BetterString.mcc Open Source Team.
It was released under the GNU Lesser Public License in July 2005 and its
development is hosted at:

http://www.sourceforge.net/projects/bstring-mcc/
https://github.com/amiga-mui/betterstring

Please consult the included "COPYING" file for a more detailed information
on the licensing of the gadget and its source code.
Expand All @@ -36,8 +36,8 @@ Please refer to the included ChangeLog in the archive for a detailed information
on the changes since the last version release.

Enjoy this release and if you find any bugs or have suggestions please always
prefer to go to the project homepage http://www.sf.net/projects/bstring-mcc/ and
use the Bug/Feature Trackers there to report anything to the authors!
prefer to go to the project homepage https://github.com/amiga-mui/betterstring
and use the Bug/Feature Trackers there to report anything to the authors!

Have phun,

Expand Down
2 changes: 1 addition & 1 deletion doc/MCC_HotkeyString.doc
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ HotkeyString.mcc/MUIA_HotkeyString_Snoop
HotkeyString.mcc/HotkeyString.mcc

*******************************************************************
Copyright (C) 2005-2015 BetterString.mcc Open Source Team
Copyright (C) 2005-2016 BetterString.mcc Open Source Team
$Id$

HotkeyString.mcc is a subclass of BetterString.mcc, it overloads
Expand Down
35 changes: 23 additions & 12 deletions include/SDI_compiler.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@
/* Includeheader
Name: SDI_compiler.h
Versionstring: $VER: SDI_compiler.h 1.35 (03.03.2011)
Author: Dirk Stoecker & Jens Langner
Versionstring: $VER: SDI_compiler.h 1.38 (27.03.2016)
Authors: Dirk Stoecker, Jens Maus
Distribution: PD
Project page: http://www.sf.net/projects/sditools/
Project page: https://github.com/adtools/SDI
Description: defines to hide compiler stuff
1.1 25.06.98 : created from data made by Gunter Nikl
Expand Down Expand Up @@ -59,6 +59,11 @@
1.34 26.07.10 : adapted IPTR and SIPTR definitions as the latest MorphOS SDK already
contains them. (tboeckel)
1.35 03.03.11 : fixed AROS macros for m68k (Jason McMullan)
1.36 30.03.15 : changed FAR define to only define it empty in case __far does not
exist (Gunther Nikl)
1.37 18.02.16 : changed INLINE define to not include "static" but use a separate STATIC
define (Jens Maus)
1.38 27.03.16 : when using GCC4/5 for MorphOS compiles VARARGS68K is not supported (Jens Maus)
*/

Expand All @@ -72,9 +77,9 @@
** (e.g. add your name or nick name).
**
** Find the latest version of this file at:
** http://cvs.sourceforge.net/viewcvs.py/sditools/sditools/headers/
** https://github.com/adtools/SDI
**
** Jens Langner <Jens.Langner@light-speed.de> and
** Jens Maus <mail@jens-maus.de>
** Dirk Stoecker <[email protected]>
*/

Expand All @@ -86,6 +91,7 @@
#undef CONST
#undef SAVEDS
#undef INLINE
#undef STATIC
#undef REGARGS
#undef STDARGS
#undef OFFSET
Expand All @@ -111,7 +117,7 @@
#define STDARGS
#define STACKEXT
#define REGARGS
#define INLINE static
#define INLINE
#define OFFSET(p,m) __offsetof(struct p,m)

#if defined(__PPC__)
Expand All @@ -125,7 +131,7 @@
#define STDARGS
#define STACKEXT
#define REGARGS
#define INLINE inline
#define INLINE
/*************************************************************************/
#elif defined(__SASC)
#define ASM __asm
Expand All @@ -136,7 +142,7 @@
#define DEPRECATED __attribute__((deprecated))
#if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ > 0)
#define USED_VAR USED /* for variables only! */
#define INLINE static __inline __attribute__((always_inline))
#define INLINE __inline __attribute__((always_inline))
#endif
/* we have to distinguish between AmigaOS4 and MorphOS */
#if (defined(_M68000) || defined(__M68000) || defined(__mc68000)) && !defined(__AROS__)
Expand All @@ -148,7 +154,7 @@
#define STDARGS
#define REGARGS
#define STACKEXT
#if defined(__MORPHOS__)
#if defined(__MORPHOS__) && __GNUC__ == 2
#define VARARGS68K __attribute__((varargs68k))
#endif
#if defined(__AROS__)
Expand All @@ -157,13 +163,15 @@
#define INTERRUPT
#define CHIP
#endif
#define FAR
#if !defined(__far)
#define FAR /* __far NOT supported! */
#endif
#define NEAR
#elif defined(_DCC)
#define REG(reg,arg) __##reg arg
#define STACKEXT __stkcheck
#define STDARGS __stkargs
#define INLINE static
#define INLINE
#endif

/* then "common" ones */
Expand All @@ -184,7 +192,10 @@
#define SAVEDS __saveds
#endif
#if !defined(INLINE)
#define INLINE static __inline
#define INLINE __inline
#endif
#if !defined(STATIC)
#define STATIC static
#endif
#if !defined(REGARGS)
#define REGARGS __regargs
Expand Down
99 changes: 84 additions & 15 deletions include/SDI_hook.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@
/* Includeheader
Name: SDI_hook.h
Versionstring: $VER: SDI_hook.h 1.24 (03.03.2011)
Author: SDI & Jens Langner
Versionstring: $VER: SDI_hook.h 1.27 (04.04.2015)
Authors: Dirk Stoecker, Jens Maus
Distribution: PD
Project page: http://www.sf.net/projects/sditools/
Project page: https://github.com/adtools/SDI
Description: defines to hide compiler specific hook stuff
1.0 21.06.02 : based on the work made for freeciv and YAM with
Expand Down Expand Up @@ -52,6 +52,13 @@
1.22 24.06.10 : fixed AROS macros (Matthias Rustler).
1.23 12.08.10 : added missing proto/alib.h include for AROS
1.24 03.03.11 : fixed AROS macros for m68k (Jason McMullan)
1.25 18.07.12 : added crosscall macros for functions with 1 and 2 parameters.
These macros are to be used in case i.e. PPC code is to be called
from m68k code. The function pointer must be passed with ENTRY().
1.26 17.10.12 : added crosscall macros for functions with 1 and 2 parameters but
no return value.
1.27 04.04.15 : fixed HOOKPROTO for vbcc (Fredrik Wikstrom)
1.28 12.07.16 : fixed HOOKPROTO for vbcc (O. Sezer)
*/

Expand All @@ -65,9 +72,9 @@
** (e.g. add your name or nick name).
**
** Find the latest version of this file at:
** http://cvs.sourceforge.net/viewcvs.py/sditools/sditools/headers/
** https://github.com/adtools/SDI
**
** Jens Langner <Jens.Langner@light-speed.de> and
** Jens Maus <mail@jens-maus.de>
** Dirk Stoecker <[email protected]>
*/

Expand Down Expand Up @@ -115,7 +122,7 @@
** The ENTRY macro, which also gets the function name as argument.
*/

#if !defined(__AROS__) && (defined(_M68000) || defined(__M68000) || defined(__mc68000))
#if !defined(__AROS__) && (defined(_M68000) || defined(__M68000) || defined(__mc68000) || defined(__M68K__))
#define HOOKPROTO(name, ret, obj, param) static SAVEDS ASM ret \
name(REG(a0, struct Hook *hook), REG(a2, obj), REG(a1, param))
#define HOOKPROTONO(name, ret, param) static SAVEDS ASM ret \
Expand Down Expand Up @@ -147,7 +154,7 @@
#define HOOKPROTONHNO(name, ret, param) static SAVEDS ret \
name(UNUSED struct Hook *_hook, UNUSED APTR _obj, param)
#define HOOKPROTONHNP(name, ret, obj) static SAVEDS ret \
name(UNUSED struct Hook *_hook, obj, UNUSED APTR _param)
name(UNUSED struct Hook *_hook, obj, UNUSED APTR _param)
#define HOOKPROTONHNONP(name, ret) static SAVEDS ret name(void)
#endif

Expand Down Expand Up @@ -192,6 +199,52 @@
static const struct SDI_EmulLibEntry Gate_##name = {SDI_TRAP_LIB, 0, \
(APTR) Trampoline_##name}; \
static ULONG name(struct IClass * cl, Object * obj, Msg msg)
#define CROSSCALL1(name, ret, type1, param1) \
static STDARGS SAVEDS ret name(type1 param1); \
static ret Trampoline_##name(void) \
{ \
ULONG *stk = (ULONG *)REG_A7; \
type1 param1 = (type1)stk[1]; \
return name(param1); \
} \
static const struct SDI_EmulLibEntry Gate_##name = {SDI_TRAP_LIB, 0, \
(APTR) Trampoline_##name}; \
static STDARGS SAVEDS ret name(type1 param1, type2 param2)
#define CROSSCALL1NR(name, type1, param1) \
static STDARGS SAVEDS void name(type1 param1); \
static void Trampoline_##name(void) \
{ \
ULONG *stk = (ULONG *)REG_A7; \
type1 param1 = (type1)stk[1]; \
name(param1); \
} \
static const struct SDI_EmulLibEntry Gate_##name = {SDI_TRAP_LIB, 0, \
(APTR) Trampoline_##name}; \
static STDARGS SAVEDS void name(type1 param1)
#define CROSSCALL2(name, ret, type1, param1, type2, param2) \
static STDARGS SAVEDS ret name(type1 param1, type2 param2); \
static ret Trampoline_##name(void) \
{ \
ULONG *stk = (ULONG *)REG_A7; \
type1 param1 = (type1)stk[1]; \
type2 param2 = (type2)stk[2]; \
return name(param1, param2); \
} \
static const struct SDI_EmulLibEntry Gate_##name = {SDI_TRAP_LIB, 0, \
(APTR) Trampoline_##name}; \
static STDARGS SAVEDS ret name(type1 param1, type2 param2)
#define CROSSCALL2NR(name, type1, param1, type2, param2) \
static STDARGS SAVEDS void name(type1 param1, type2 param2); \
static void Trampoline_##name(void) \
{ \
ULONG *stk = (ULONG *)REG_A7; \
type1 param1 = (type1)stk[1]; \
type2 param2 = (type2)stk[2]; \
name(param1, param2); \
} \
static const struct SDI_EmulLibEntry Gate_##name = {SDI_TRAP_LIB, 0, \
(APTR) Trampoline_##name}; \
static STDARGS SAVEDS void name(type1 param1, type2 param2)
#define ENTRY(func) (APTR)&Gate_##func

#elif defined(__AROS__)
Expand All @@ -206,22 +259,30 @@
#define DISPATCHERPROTO(name) \
IPTR name(struct IClass * cl, Object * obj, Msg msg); \
AROS_UFP3(IPTR, Gate_##name, \
AROS_UFPA(struct IClass *, cl, A0), \
AROS_UFPA(Object *, obj, A2), \
AROS_UFPA(Msg, msg, A1))
AROS_UFPA(struct IClass *, cl, A0), \
AROS_UFPA(Object *, obj, A2), \
AROS_UFPA(Msg, msg, A1))
#define DISPATCHERx(x,name) \
x IPTR name(struct IClass * cl, Object * obj, Msg msg); \
x AROS_UFH3(IPTR, Gate_##name, \
AROS_UFHA(struct IClass *, cl, A0), \
AROS_UFHA(Object *, obj, A2), \
AROS_UFHA(Msg, msg, A1)) \
AROS_UFHA(struct IClass *, cl, A0), \
AROS_UFHA(Object *, obj, A2), \
AROS_UFHA(Msg, msg, A1)) \
{ AROS_USERFUNC_INIT \
return name(cl, obj, msg); \
return name(cl, obj, msg); \
AROS_USERFUNC_EXIT \
} \
x IPTR name(struct IClass * cl, Object * obj, Msg msg)
#define DISPATCHER(name) DISPATCHERx(,name)
#define SDISPATCHER(name) DISPATCHERx(static,name)
#define CROSSCALL1(name, ret, type1, param1) \
static STDARGS SAVEDS ret Gate_##name(type1 param1)
#define CROSSCALL1NR(name, type1, param1) \
static STDARGS SAVEDS void Gate_##name(type1 param1)
#define CROSSCALL2(name, ret, type1, param1, type2, param2) \
static STDARGS SAVEDS ret Gate_##name(type1 param1, type2 param2)
#define CROSSCALL2NR(name, type1, param1, type2, param2) \
static STDARGS SAVEDS void Gate_##name(type1 param1, type2 param2)
#define ENTRY(func) (APTR)Gate_##func

#else /* !__MORPHOS__ && !__AROS__*/
Expand All @@ -232,11 +293,19 @@
{{NULL, NULL}, (HOOKFUNC)funcname, NULL, (APTR)data}
#define MakeStaticHook(hookname, funcname) static struct Hook hookname = \
{{NULL, NULL}, (HOOKFUNC)funcname, NULL, NULL}
#define ENTRY(func) (APTR)func
#define DISPATCHERPROTO(name) SAVEDS ASM IPTR name(REG(a0, \
struct IClass * cl), REG(a2, Object * obj), REG(a1, Msg msg))
#define DISPATCHER(name) DISPATCHERPROTO(name)
#define SDISPATCHER(name) static DISPATCHERPROTO(name)
#define CROSSCALL1(name, ret, type1, param1) \
static STDARGS SAVEDS ret name(type1 param1)
#define CROSSCALL1NR(name, type1, param1) \
static STDARGS SAVEDS void name(type1 param1)
#define CROSSCALL2(name, ret, type1, param1, type2, param2) \
static STDARGS SAVEDS ret name(type1 param1, type2 param2)
#define CROSSCALL2NR(name, type1, param1, type2, param2) \
static STDARGS SAVEDS void name(type1 param1, type2 param2)
#define ENTRY(func) (APTR)func

#endif

Expand Down
Loading

0 comments on commit a31addc

Please sign in to comment.