From 525bdde6d5df4b0126e05ea4ba24cd86e1951a85 Mon Sep 17 00:00:00 2001 From: Olaf Barthel Date: Mon, 4 Jul 2005 10:25:33 +0000 Subject: [PATCH] - Updated for dual PowerPC/68k build. git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@15002 87f5fb63-7c3d-0410-a384-fd976d0f7a62 --- library/skeleton_library/GNUmakefile.68k | 69 +++++ library/skeleton_library/GNUmakefile.os4 | 69 +++++ library/skeleton_library/lib_base.c | 255 +++++++++++++++--- library/skeleton_library/lib_base.h | 57 +++- library/skeleton_library/lib_user.c | 9 +- library/skeleton_library/lib_user.h | 11 +- .../skeleton_library/skeleton.library_rev.h | 8 +- .../skeleton_library/skeleton.library_rev.rev | 2 +- library/skeleton_library/skeleton.xml | 11 + library/skeleton_library/skeleton_lib.sfd | 8 + library/skeleton_library/smakefile | 15 +- 11 files changed, 450 insertions(+), 64 deletions(-) create mode 100644 library/skeleton_library/GNUmakefile.68k create mode 100755 library/skeleton_library/GNUmakefile.os4 create mode 100644 library/skeleton_library/skeleton.xml create mode 100755 library/skeleton_library/skeleton_lib.sfd diff --git a/library/skeleton_library/GNUmakefile.68k b/library/skeleton_library/GNUmakefile.68k new file mode 100644 index 0000000..1142bac --- /dev/null +++ b/library/skeleton_library/GNUmakefile.68k @@ -0,0 +1,69 @@ +# +# $Id: GNUmakefile.68k,v 1.1 2005-07-04 10:25:33 obarthel Exp $ +# +# :ts=4 +# +# Amiga shared library skeleton example +# Copyright (c) 2002-2005 by Olaf Barthel +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# - Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# - Neither the name of Olaf Barthel nor the names of contributors +# may be used to endorse or promote products derived from this +# software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# + +WARNINGS = \ + -Wall -W -Wshadow -Wpointer-arith -Wsign-compare -Wmissing-prototypes \ + -Wundef -Wbad-function-cast -Wmissing-declarations -Wconversion + +CC = gcc +CPU = -m68000 +OPTIONS = -DNDEBUG +OPTIMIZE = -O +DEBUG = -g + +############################################################################### + +CFLAGS = $(WARNINGS) $(OPTIMIZE) $(DEBUG) $(CPU) $(OPTIONS) -I. -I/V/include + +############################################################################### + +OBJS = \ + lib_base.o lib_user.o + +############################################################################### + +LIBS = -lc -lamiga + +############################################################################### + +all: skeleton.library + +skeleton.library: $(OBJS) + $(CC) -o $@.debug $(OBJS) $(CFLAGS) -Wl,--cref,-M,-Map=$@.map \ + -nostartfiles -nostdlib $(LIBS) + strip --strip-all -o $@ $@.debug + +############################################################################### + +clean: + -rm -f *.o *.debug *.map skeleton.library diff --git a/library/skeleton_library/GNUmakefile.os4 b/library/skeleton_library/GNUmakefile.os4 new file mode 100755 index 0000000..88cb94c --- /dev/null +++ b/library/skeleton_library/GNUmakefile.os4 @@ -0,0 +1,69 @@ +# +# $Id: GNUmakefile.os4,v 1.1 2005-07-04 10:25:33 obarthel Exp $ +# +# :ts=4 +# +# Amiga shared library skeleton example +# Copyright (c) 2002-2005 by Olaf Barthel +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# - Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# - Neither the name of Olaf Barthel nor the names of contributors +# may be used to endorse or promote products derived from this +# software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# + +WARNINGS = \ + -Wall -W -Wshadow -Wpointer-arith -Wsign-compare -Wmissing-prototypes \ + -Wundef -Wbad-function-cast -Wmissing-declarations -Wconversion + +CC = ppc-amigaos-gcc +CPU = +OPTIONS = -DNDEBUG +OPTIMIZE = -O +DEBUG = -ggdb + +############################################################################### + +CFLAGS = $(WARNINGS) $(OPTIMIZE) $(DEBUG) $(CPU) $(OPTIONS) -I. -I/V/include + +############################################################################### + +OBJS = \ + lib_base.o lib_user.o usergroup_68k.o + +############################################################################### + +LIBS = -lc -lamiga + +############################################################################### + +all: skeleton.library + +skeleton.library: $(OBJS) + $(CC) -o $@.debug $(OBJS) $(CFLAGS) -Wl,--cref,-M,-Map=$@.map \ + -nostartfiles -nostdlib $(LIBS) + ppc-amigaos-strip -R.comment -o $@ $@.debug + +############################################################################### + +clean: + -rm -f *.o *.debug *.map skeleton.library diff --git a/library/skeleton_library/lib_base.c b/library/skeleton_library/lib_base.c index 1e6880f..6f2d229 100755 --- a/library/skeleton_library/lib_base.c +++ b/library/skeleton_library/lib_base.c @@ -1,5 +1,5 @@ /* - * $Id: lib_base.c,v 1.1 2005-07-04 09:39:00 obarthel Exp $ + * $Id: lib_base.c,v 1.2 2005-07-04 10:25:33 obarthel Exp $ * * :ts=4 * @@ -31,6 +31,7 @@ * POSSIBILITY OF SUCH DAMAGE. */ +#include #include #include #include @@ -39,7 +40,8 @@ /****************************************************************************/ -#ifndef __NOLIBBASE__ +#define __NOLIBBASE__ +#define __USE_INLINE__ #include /****************************************************************************/ @@ -57,11 +59,23 @@ LONG _start(VOID); /****************************************************************************/ -STATIC struct SkeletonBase *ASM LibInit(REG (d0, struct SkeletonBase *sb ), REG (a0, BPTR segment_list ), REG (a6, struct Library *sys_base )); -STATIC struct SkeletonBase *ASM LibOpen(REG (a6, struct SkeletonBase *sb )); -STATIC BPTR ASM LibExpunge(REG (a6, struct SkeletonBase *sb )); -STATIC BPTR ASM LibClose(REG (a6, struct SkeletonBase *sb )); -STATIC LONG LibReserved(VOID); +STATIC struct SkeletonBase *ASM lib_init(REG (d0, struct SkeletonBase *sb ), REG (a0, BPTR segment_list ), REG (a6, APTR whatever )); +STATIC struct SkeletonBase *ASM lib_open(REG (a6, APTR base )); +STATIC BPTR ASM lib_expunge(REG (a6, APTR base )); +STATIC BPTR ASM lib_close(REG (a6, APTR base )); + +/****************************************************************************/ + +#if defined(__amigaos4__) + +STATIC ULONG lib_default_obtain(struct Interface *self); +STATIC ULONG lib_default_release(struct Interface *self); + +#else + +STATIC LONG lib_reserved(VOID); + +#endif /* __amigaos4__ */ /****************************************************************************/ @@ -83,9 +97,7 @@ _start(VOID) the exception of the lib_Revision field, i.e. everything that could be gained from the Resident structure is now in the Library structure. Earlier operating system releases would leave - the entire Library structure uninitialized. For this example - we assume that Kickstart 2.0 is around as it must be possible - to open dos.library V37. + the entire Library structure uninitialized. The library initialization is single threaded, i.e. the operating system processes library initialization in a queue. The longer it @@ -101,15 +113,28 @@ _start(VOID) This routine must return the Library base pointer if it succeeds. Failure is indicated by returning NULL instead. */ STATIC struct SkeletonBase * ASM -LibInit( +lib_init( REG(d0,struct SkeletonBase * sb), REG(a0,BPTR segment_list), - REG(a6,struct Library * sys_base)) + REG(a6,APTR whatever)) { struct SkeletonBase * result = NULL; struct Library * SysBase; + #if defined(__amigaos4__) + struct ExecIFace * IExec; + #endif /* __amigaos4__ */ - SysBase = sys_base; + #if defined(__amigaos4__) + { + IExec = (struct ExecIFace *)whatever; + + SysBase = (struct Library *)IExec->Data.LibBase; + } + #else + { + SysBase = (struct Library *)whatever; + } + #endif /* __amigaos4__ */ /* This library implementation requires Kickstart 2.04 or better to work. */ @@ -121,6 +146,12 @@ LibInit( sb->sb_SysBase = SysBase; + #if defined(__amigaos4__) + { + sb->sb_IExec = IExec; + } + #endif /* __amigaos4__ */ + InitSemaphore(&sb->sb_Semaphore); /* The segment pointer must be stored for later, when this library is @@ -153,8 +184,16 @@ LibInit( of type RTF_AUTOINIT (see the "struct Resident" rt_Flags initialization value for the LibTag declaration at the end of this file). */ - FreeMem(((BYTE *)sb) - sb->sb_Library.lib_NegSize, - (ULONG)(sb->sb_Library.lib_NegSize + sb->sb_Library.lib_PosSize)); + #if defined(__amigaos4__) + { + DeleteLibrary((struct Library *)sb); + } + #else + { + FreeMem(((BYTE *)sb) - sb->sb_Library.lib_NegSize, + (ULONG)(sb->sb_Library.lib_NegSize + sb->sb_Library.lib_PosSize)); + } + #endif /* __amigaos4__ */ } return(result); @@ -178,8 +217,9 @@ LibInit( This routine must return the Library base pointer if it succeeds. Failure is indicated by returning NULL instead. */ STATIC struct SkeletonBase * ASM -LibOpen(REG(a6,struct SkeletonBase * sb)) +lib_open(REG(a6,APTR base)) { + USE_LIBBASE(base); USE_EXEC(sb); struct SkeletonBase * result = NULL; @@ -232,8 +272,9 @@ LibOpen(REG(a6,struct SkeletonBase * sb)) the life cycle of the library. It is called while Task switching is disabled. */ STATIC BPTR ASM -LibExpunge(REG(a6,struct SkeletonBase * sb)) +lib_expunge(REG(a6,APTR base)) { + USE_LIBBASE(base); USE_EXEC(sb); BPTR result = ZERO; @@ -264,8 +305,16 @@ LibExpunge(REG(a6,struct SkeletonBase * sb)) /* Finally, free the data allocated for the base data structure. */ - FreeMem(((BYTE *)sb) - sb->sb_Library.lib_NegSize, - (ULONG)(sb->sb_Library.lib_NegSize + sb->sb_Library.lib_PosSize)); + #if defined(__amigaos4__) + { + DeleteLibrary((struct Library *)sb); + } + #else + { + FreeMem(((BYTE *)sb) - sb->sb_Library.lib_NegSize, + (ULONG)(sb->sb_Library.lib_NegSize + sb->sb_Library.lib_PosSize)); + } + #endif /* __amigaos4__ */ } return(result); @@ -278,8 +327,9 @@ LibExpunge(REG(a6,struct SkeletonBase * sb)) Task switching is disabled and has to return the result code of the library expunge routine when the time is right. */ STATIC BPTR ASM -LibClose(REG(a6,struct SkeletonBase * sb)) +lib_close(REG(a6,APTR base)) { + USE_LIBBASE(base); USE_EXEC(sb); BPTR result = ZERO; @@ -298,17 +348,138 @@ LibClose(REG(a6,struct SkeletonBase * sb)) /* Trigger the library expunge function, if desired. */ if(sb->sb_Library.lib_OpenCnt == 0 && (sb->sb_Library.lib_Flags & LIBF_DELEXP) != 0) - result = LibExpunge(sb); + result = lib_expunge(base); return(result); } /****************************************************************************/ +#if defined(__amigaos4__) + +/****************************************************************************/ + +STATIC ULONG +lib_default_obtain(struct Interface * self) +{ + return(self->Data.RefCount++); +} + +STATIC ULONG +lib_default_release(struct Interface * self) +{ + return(self->Data.RefCount--); +} + +/****************************************************************************/ + +STATIC CONST APTR manager_vectors[] = +{ + lib_default_obtain, + lib_default_release, + NULL, + NULL, + lib_open, + lib_close, + lib_expunge, + NULL, + + (APTR)-1, +}; + +STATIC CONST struct TagItem manager_tags[] = +{ + { MIT_Name, (ULONG)"__library" }, + { MIT_VectorTable, (ULONG)manager_vectors }, + { MIT_Version, 1 }, + { TAG_DONE, 0 } +}; + +/****************************************************************************/ + +STATIC CONST APTR main_vectors[]= +{ + lib_default_obtain, + lib_default_release, + NULL, + NULL, + + (APTR)-1 +}; + +STATIC CONST struct TagItem main_tags[] = +{ + { MIT_Name, (ULONG)"main" }, + { MIT_VectorTable, (ULONG)main_vectors }, + { MIT_Version, 1 }, + { TAG_DONE, 0 } +}; + +/****************************************************************************/ + +STATIC CONST APTR lib_interfaces[] = +{ + (CONST APTR)manager_tags, + (CONST APTR)main_tags, + + NULL +}; + +/****************************************************************************/ + +extern ULONG VecTable68K[]; + +/****************************************************************************/ + +CONST struct TagItem lib_create_tags[] = +{ + { CLT_DataSize, sizeof(struct SkeletonBase) }, + { CLT_Vector68K, (ULONG)VecTable68K }, + { CLT_Interfaces, (ULONG)lib_interfaces }, + { CLT_InitFunc, (ULONG)lib_init }, + { TAG_DONE, 0 } +}; + +/****************************************************************************/ + +CONST struct TagItem local_lib_create_tags[] = +{ + { CLT_DataSize, sizeof(struct SkeletonBase) }, + { CLT_Vector68K, (ULONG)VecTable68K }, + { CLT_Interfaces, (ULONG)lib_interfaces }, + { TAG_DONE, 0 } +}; + +/****************************************************************************/ + +STATIC CONST UBYTE version_string[] = "$VER: " VSTRING; + +/****************************************************************************/ + +CONST struct Resident LibTag[] = +{ + RTC_MATCHWORD, + (struct Resident *)&LibTag[0], + (struct Resident *)&LibTag[1], + RTF_AUTOINIT|RTF_NATIVE, + VERSION, + NT_LIBRARY, + 0, + "skeleton.library", + (STRPTR)&version_string[6], + (struct TagItem *)lib_create_tags +}; + +/****************************************************************************/ + +#else + +/****************************************************************************/ + /* This is the reserved library entry point. It always has to return 0. */ STATIC LONG -LibReserved(VOID) +lib_reserved(VOID) { return(0); } @@ -331,12 +502,12 @@ struct LibraryInitTable /* This is the table of functions that make up the library. The first four are mandatory, everything following it are user callable routines. The table is terminated by the value -1. */ -STATIC CONST APTR LibVectors[] = +STATIC CONST APTR lib_vectors[] = { - LibOpen, - LibClose, - LibExpunge, - LibReserved, + lib_open, + lib_close, + lib_expunge, + lib_reserved, (APTR) -1 }; @@ -345,12 +516,12 @@ STATIC CONST APTR LibVectors[] = /* This finally sets up the library base data structure and the function vector. */ -STATIC CONST struct LibraryInitTable LibInitTable = +STATIC CONST struct LibraryInitTable lib_init_table = { sizeof(struct SkeletonBase), - LibVectors, + (APTR *)lib_vectors, NULL, - LibInit + lib_init }; /****************************************************************************/ @@ -360,14 +531,18 @@ STATIC CONST struct LibraryInitTable LibInitTable = setting up the Library base data structure. */ struct Resident LibTag[] = { - RTC_MATCHWORD, /* Marker value. */ - &LibTag[0], /* This points back to itself. */ - &LibTag[1], /* This points behind this marker. */ - RTF_AUTOINIT, /* The Library should be set up according to the given table. */ - VERSION, /* The version of this Library. */ - NT_LIBRARY, /* This defines this module as a Library. */ - 0, /* Initialization priority of this Library; unused. */ - "skeleton.library", /* Points to the name of the Library. */ - VSTRING, /* The identification string of this Library. */ - &LibInitTable /* This table is for initializing the Library. */ + RTC_MATCHWORD, /* Marker value. */ + (struct Resident *)&LibTag[0], /* This points back to itself. */ + (struct Resident *)&LibTag[1], /* This points behind this marker. */ + RTF_AUTOINIT, /* The Library should be set up according to the given table. */ + VERSION, /* The version of this Library. */ + NT_LIBRARY, /* This defines this module as a Library. */ + 0, /* Initialization priority of this Library; unused. */ + "skeleton.library", /* Points to the name of the Library. */ + VSTRING, /* The identification string of this Library. */ + (APTR)&lib_init_table /* This table is for initializing the Library. */ }; + +/****************************************************************************/ + +#endif /* __amigaos4__ */ diff --git a/library/skeleton_library/lib_base.h b/library/skeleton_library/lib_base.h index a78d1ee..64d1091 100755 --- a/library/skeleton_library/lib_base.h +++ b/library/skeleton_library/lib_base.h @@ -1,5 +1,5 @@ /* - * $Id: lib_base.h,v 1.1 2005-07-04 09:39:00 obarthel Exp $ + * $Id: lib_base.h,v 1.2 2005-07-04 10:25:33 obarthel Exp $ * * :ts=4 * @@ -36,6 +36,10 @@ /****************************************************************************/ +#ifndef EXEC_EXECBASE_H +#include +#endif /* EXEC_EXECBASE_H */ + #ifndef EXEC_LIBRARIES_H #include #endif /* EXEC_LIBRARIES_H */ @@ -56,20 +60,55 @@ /****************************************************************************/ -struct SkeletonBase -{ - struct Library sb_Library; - struct SignalSemaphore sb_Semaphore; - BPTR sb_SegmentList; - struct Library * sb_SysBase; - struct UserData * sb_UserData; -}; +#if defined(USE_EXEC) +#undef USE_EXEC +#endif /* USE_EXEC */ + +/****************************************************************************/ + +#if defined(__amigaos4__) + +/****************************************************************************/ + +#define USE_EXEC(sb) \ + struct ExecIFace * IExec = (sb)->sb_IExec + +#define USE_LIBBASE(base) \ + struct SkeletonIFace * ISkeleton = (struct SkeletonIFace *)(base); \ + struct SkeletonBase * sb = (struct SkeletonBase *)ISkeleton->Data.LibBase + +/****************************************************************************/ + +#else /****************************************************************************/ #define USE_EXEC(sb) \ struct Library * SysBase = (sb)->sb_SysBase +#define USE_LIBBASE(base) \ + struct SkeletonBase * sb = (struct SkeletonBase *)(base) + +/****************************************************************************/ + +#endif /* __amigaos4__ */ + +/****************************************************************************/ + +struct SkeletonBase +{ + struct Library sb_Library; + struct SignalSemaphore sb_Semaphore; + BPTR sb_SegmentList; + struct Library * sb_SysBase; + + #if defined(__amigaos4__) + struct ExecIFace * sb_IExec; + #endif /* __amigaos4__ */ + + struct UserData * sb_UserData; +}; + /****************************************************************************/ #endif /* _LIB_BASE_H */ diff --git a/library/skeleton_library/lib_user.c b/library/skeleton_library/lib_user.c index 7c2f663..0485c36 100755 --- a/library/skeleton_library/lib_user.c +++ b/library/skeleton_library/lib_user.c @@ -1,5 +1,5 @@ /* - * $Id: lib_user.c,v 1.1 2005-07-04 09:39:00 obarthel Exp $ + * $Id: lib_user.c,v 1.2 2005-07-04 10:25:33 obarthel Exp $ * * :ts=4 * @@ -31,7 +31,6 @@ * POSSIBILITY OF SUCH DAMAGE. */ -#include "lib_base.h" #include "lib_user.h" /****************************************************************************/ @@ -60,6 +59,12 @@ UserLibInit(struct Library * SysBase,struct UserData * ud) /* Also remember the SysBase pointer. */ ud->ud_SysBase = SysBase; + #if defined(__amigaos4__) + { + ud->ud_IExec = (struct ExecIFace *)((struct ExecBase *)SysBase)->MainInterface; + } + #endif /* __amigaos4__ */ + result = TRUE; return(result); diff --git a/library/skeleton_library/lib_user.h b/library/skeleton_library/lib_user.h index d6c7640..2285234 100755 --- a/library/skeleton_library/lib_user.h +++ b/library/skeleton_library/lib_user.h @@ -1,5 +1,5 @@ /* - * $Id: lib_user.h,v 1.1 2005-07-04 09:39:00 obarthel Exp $ + * $Id: lib_user.h,v 1.2 2005-07-04 10:25:33 obarthel Exp $ * * :ts=4 * @@ -36,6 +36,10 @@ /****************************************************************************/ +#ifndef EXEC_EXECBASE_H +#include +#endif /* EXEC_EXECBASE_H */ + #ifndef EXEC_LIBRARIES_H #include #endif /* EXEC_LIBRARIES_H */ @@ -45,6 +49,11 @@ struct UserData { struct Library * ud_SysBase; + + #if defined(__amigaos4__) + struct ExecIFace * ud_IExec; + #endif /* __amigaos4__ */ + ULONG ud_UseCount; }; diff --git a/library/skeleton_library/skeleton.library_rev.h b/library/skeleton_library/skeleton.library_rev.h index dec05ea..b827492 100755 --- a/library/skeleton_library/skeleton.library_rev.h +++ b/library/skeleton_library/skeleton.library_rev.h @@ -1,6 +1,6 @@ #define VERSION 1 -#define REVISION 1 +#define REVISION 2 #define DATE "4.7.2005" -#define VERS "skeleton.library 1.1" -#define VSTRING "skeleton.library 1.1 (4.7.2005)\r\n" -#define VERSTAG "\0$VER: skeleton.library 1.1 (4.7.2005)" +#define VERS "skeleton.library 1.2" +#define VSTRING "skeleton.library 1.2 (4.7.2005)\r\n" +#define VERSTAG "\0$VER: skeleton.library 1.2 (4.7.2005)" diff --git a/library/skeleton_library/skeleton.library_rev.rev b/library/skeleton_library/skeleton.library_rev.rev index d00491f..0cfbf08 100755 --- a/library/skeleton_library/skeleton.library_rev.rev +++ b/library/skeleton_library/skeleton.library_rev.rev @@ -1 +1 @@ -1 +2 diff --git a/library/skeleton_library/skeleton.xml b/library/skeleton_library/skeleton.xml new file mode 100644 index 0000000..d3835a1 --- /dev/null +++ b/library/skeleton_library/skeleton.xml @@ -0,0 +1,11 @@ + + + + exec/types.h + + + + + + + diff --git a/library/skeleton_library/skeleton_lib.sfd b/library/skeleton_library/skeleton_lib.sfd new file mode 100755 index 0000000..a1de15b --- /dev/null +++ b/library/skeleton_library/skeleton_lib.sfd @@ -0,0 +1,8 @@ +==id $Id: skeleton_lib.sfd,v 1.1 2005-07-04 10:25:33 obarthel Exp $ +* "skeleton.library" +==base _SkeletonBase +==bias 30 +==public +==include +* +==end diff --git a/library/skeleton_library/smakefile b/library/skeleton_library/smakefile index a38b0bc..c32e021 100755 --- a/library/skeleton_library/smakefile +++ b/library/skeleton_library/smakefile @@ -1,7 +1,7 @@ # -# $Id: smakefile,v 1.1 2005-07-04 09:39:00 obarthel Exp $ +# $Id: smakefile,v 1.2 2005-07-04 10:25:33 obarthel Exp $ # -# :ts=4 +# :ts=8 # # Amiga shared library skeleton example # Copyright (c) 2002-2005 by Olaf Barthel @@ -41,10 +41,11 @@ VERSION = 1 ############################################################################### -#OPTIMIZE = optimize optsize optinline optinlocal -CPU = 060 -#DEBUG = line - DEBUG = symbolflush noopt +OPTIMIZE = optimize optsize optinline optinlocal + CPU = any +#CPU = 060 + DEBUG = line +#DEBUG = symbolflush noopt ############################################################################### @@ -97,7 +98,7 @@ version: ############################################################################### cvs-tag: - cvs -q tag V$(VERSION)_`type skeleton.library_rev.rev` + cvs -q tag LIB_V$(VERSION)_`type skeleton.library_rev.rev` ###############################################################################