mirror of
https://github.com/adtools/clib2.git
synced 2025-12-08 14:59:05 +00:00
Compare commits
1 Commits
BEFORE_CON
...
start
| Author | SHA1 | Date | |
|---|---|---|---|
| 2f8580ed06 |
235
documentation/README
Normal file
235
documentation/README
Normal file
@ -0,0 +1,235 @@
|
||||
An ISO 'C' (1994) compliant runtime library for the Amiga
|
||||
=========================================================
|
||||
|
||||
1. What is this?
|
||||
|
||||
This is my attempt to get Samba 2.2.x ported to the Amiga. My first Amiga
|
||||
port required SAS/C and a number of strange tricks had to be pulled to get
|
||||
it to support the kind of environment Samba needed. But with the
|
||||
introduction of Samba 2.2.x many of those tricks did not work any more,
|
||||
which is why I decided to attack the problem at the root, namely the
|
||||
runtime library.
|
||||
|
||||
Because it was no longer possible to build Samba with SAS/C on the new
|
||||
Amiga platform, the idea came up to move development to the GNU 'C'
|
||||
compiler. This turned out to be a challenge due to its somewhat
|
||||
underdeveloped runtime library and header files. Eventually, I decided to
|
||||
rewrite that library from scratch.
|
||||
|
||||
|
||||
2. What does it do?
|
||||
|
||||
Using "'C' - A reference manual" as a reference I wrote a set of header
|
||||
files, then proceeded to implement each single function referenced in them.
|
||||
With few exceptions in the area of wide character support, the result
|
||||
should be a feature complete implementation of the ISO 'C' (1994) runtime
|
||||
library.
|
||||
|
||||
Because Samba needs a few POSIX-like routines to be supported, the library
|
||||
functionality is complemented by a set of routines described in "Advanced
|
||||
programming in the Unix environent". This set is not complete, however. It
|
||||
will have to grow even further to accomodate for Samba's needs, but this is
|
||||
a good start. I specifically added hooks for integrating socket I/O at a
|
||||
later point of time.
|
||||
|
||||
This is not a portable implementation of the library in the sense that you
|
||||
could move it from one 'C' compiler on one operating system to another.
|
||||
This is an Amiga specific implementation.
|
||||
|
||||
The library supports floating point math, which is limited to IEEE single
|
||||
and double precision or M68881 inline math. There is no support for the
|
||||
fast floating point (FFP) format or exclusive IEEE single precision. You
|
||||
either get double precision (IEEE math) or extended precision (M68881
|
||||
inline math). What it is that you get is determined at compile time. Use
|
||||
the IEEE_FLOATING_POINT_SUPPORT preprocessor symbol to activate IEEE math
|
||||
code and the M68881_FLOATING_POINT_SUPPORT symbol for M68881 inline math.
|
||||
|
||||
Not unlike SAS/C, you can configure a minimum stack size the program is to
|
||||
use when it starts up. This is controlled via the '__stack_size' variable
|
||||
(see "stdlib_main.c").
|
||||
|
||||
I added some amiga.lib and debug.lib functionality to the library, but
|
||||
don't count on it to be complete.
|
||||
|
||||
|
||||
3. What does it not do?
|
||||
|
||||
This library is a departure from the typical 'C' runtime environments of
|
||||
the past which had to run on all AmigaOS releases, down to Kickstart 1.1.
|
||||
This very library was designed to take advantage of the routines available
|
||||
since Kickstart 2.04 was introduced and virtually nobody ever put to use.
|
||||
This helps to cut the code size, and it also helps to keep bugs out of the
|
||||
library by falling back onto well-tested implementations. However, the
|
||||
catch is that the code won't run under Kickstart 1.3 and below. But then
|
||||
these operating system releases have been obsolete for more than a decade,
|
||||
and you can always go back to a compiler environment which supports them.
|
||||
|
||||
Practically all library routines are implemented in a sort of na<6E>ve
|
||||
fashion. That is, they contain virtually no optimizations whatsoever. This
|
||||
is particularly apparent in workhorses such as memset() or memmove(). But
|
||||
then, the issue is easy testability and Amiga platform portability.
|
||||
|
||||
There is very little support for amiga.lib functionality. There is
|
||||
NewList(), HookEntry(), CallHook(), CallHookA(), the DoMethod() family, the
|
||||
RexxVars family, but that's all. If you need more, you would have to
|
||||
implement it yourself. Put another way, if you absolutely need
|
||||
functionality that is only found in amiga.lib, you really shouldn't need in
|
||||
in the first place.
|
||||
|
||||
|
||||
4. Where does the source code come from?
|
||||
|
||||
I originally thought that it might be helpful to piece this library
|
||||
together from various sources, such as the BSD libc. Turned out that this
|
||||
code was so 'portable' that it became much more complex than it ought to
|
||||
be. Also, some side-effects were present which considerably changed the
|
||||
behaviour of the library. For example, the BSD libc uses bcopy() as an
|
||||
alias for memcpy(), and unlike memcpy() is documented to, bcopy() supports
|
||||
overlapping copies.
|
||||
|
||||
Eventually, I wrote virtually all the code myself, borrowing algorithmic
|
||||
ideas from the BSD libc and the Manx Aztec 'C' runtime library. Because I
|
||||
don't know much about the environment GCC expects, I borrowed code snippets
|
||||
from libnix, which was written by Matthias Fleischer and Gunther Nikl. This
|
||||
in particular concerns the integer and floating point math support, the
|
||||
setjmp/longjmp routines and the startup code. The M68881 inline math code
|
||||
comes from the <math-68881.h> file written by Matthew Self
|
||||
(self@bayes.arc.nasa.gov).
|
||||
|
||||
|
||||
5. Limitations and caveats
|
||||
|
||||
There is hardly any documentation on the code I wrote. In part this is due
|
||||
to the fact that the code itself is very simple in design. It should speak
|
||||
for itself. However, to make a usable runtime library you have to have a
|
||||
user documentation as in man pages or autodocs. We will eventually have to
|
||||
have autodocs for this library.
|
||||
|
||||
The code is currently plastered with assertions and debug code. It is
|
||||
therefore much larger than it ought to be and runs much slower than it
|
||||
ought to be. For example, the malloc() routine will set the contents of the
|
||||
memory allocated to a 'dirty' bit pattern which is likely to break software
|
||||
which makes assumptions about its contents. Likewise, the free() routine
|
||||
will trash the memory to deallocate with a different 'dirty' bit pattern to
|
||||
turn up reuse of memory after deallocation. All these debugging features
|
||||
can be disabled by defining the NDEBUG preprocessor symbol at compile time
|
||||
(see <assert.h>).
|
||||
|
||||
The exception handling in the math code is not particularly effective. For
|
||||
one part this is due to the fact that there is no exception handler
|
||||
installed by the runtime library when it starts up which could catch and
|
||||
process the error conditions the CPU or FPU generates. The idea was to
|
||||
provide for a portable runtime library with little to no assembly language
|
||||
involved. To make the exception handling complete, such code would be
|
||||
necessary.
|
||||
|
||||
The library currently builds under SAS/C, but because the 'normal' program
|
||||
startup code is not utilized, the base relative (A4) addressing does not
|
||||
work. If you are going to test it, use the data=faronly option to compile
|
||||
the library and the programs.
|
||||
|
||||
If you are going to rebuild the library with SAS/C you will need to
|
||||
reassign INCLUDE: to point to the local 'include' directory or things won't
|
||||
work.
|
||||
|
||||
|
||||
6. Conventions and design issues
|
||||
|
||||
You will have noticed the 330+ files in this directory. This is not the
|
||||
best way to organize a runtime library, but at least all the bits and
|
||||
pieces are in plain sight. Each file stands for the one or two routines it
|
||||
contains. The name indicates what routine(s) that might be. Each file name
|
||||
is prefixed by the name of the header file in which the corresponding
|
||||
routine is defined. So, for example, you will find that "unistd_lchown.c"
|
||||
contains the definition of the lchown() routine, which has its prototype
|
||||
defined in the <unistd.h> header file.
|
||||
|
||||
Internal function and variable names are prefixed with two underscores, as
|
||||
in '__stdio_init()'.
|
||||
|
||||
All routines attempt to do error checking on their parameters. They will
|
||||
either drop into an assert() or set an errno value and refuse to go any
|
||||
further. This cuts performance but should help to catch the simple bugs
|
||||
quite easily (NULL pointers).
|
||||
|
||||
Just like any halfway sane Amiga 'C'<27>runtime library, this one performs its
|
||||
^C checking in the I/O routines. Typically once upon entry and in every
|
||||
iteration of the loop there might be it will quickly poll the ^C signal and
|
||||
drop into raise(SIGINT) in case the signal is set. This is just about the
|
||||
safest method to solve the problem and should be much more robust than the
|
||||
ixemul approach of 'interrupt anywhere - crash anywhere' using the task
|
||||
switch/launch hooks to test for signals.
|
||||
|
||||
By default all library routines follow the ISO 'C' conventions in that
|
||||
where implementation defined behaviour is permitted, the AmigaOS rules are
|
||||
followed. For example, unlink() will by default operate like DeleteFile()
|
||||
and rename() will return with an error code set if the name of the
|
||||
file/directory to be renamed would collide with an existing directory
|
||||
entry. However, your program can set a global variable '__unix_semantics'
|
||||
which will cause some routines to perform like their Unix counterparts.
|
||||
This is necessary for Samba to work but not a generally desirable feature.
|
||||
You have some Unix-like behaviour, but the environment itself is not
|
||||
completely Unix- or POSIX-compliant. And it shouldn't be. Don't make the
|
||||
mistake of trying to mold the environment into a POSIX emulation. It
|
||||
doesn't work; AmigaOS is not Unix.
|
||||
|
||||
|
||||
7. The startup code
|
||||
|
||||
There are three program startup files provided. The most simplistic is in
|
||||
'startup.c' which I use for SAS/C. It just invokes the setup routine which
|
||||
eventually calls main() and drops straight into exit().
|
||||
|
||||
The ncrt0.S file was adapted from the libnix startup code which sets up the
|
||||
base relative data area, if necessary (the SMALL_DATA preprocessor symbol
|
||||
must be defined).
|
||||
|
||||
The nrcrt0.S file was adapted from libnix startup code, too, and sets up
|
||||
the base relative data area for programs to be made resident. Note that the
|
||||
geta4() stub is missing here; it wouldn't work in a resident program
|
||||
anyway.
|
||||
|
||||
The ncrt0.S and nrcrt0.S files are considerably smaller and less complex
|
||||
than the libnix code they are based on. This is because in this library
|
||||
design all the more complex tasks are performed in the stdlib_main.c file
|
||||
rather than in assembly language.
|
||||
|
||||
|
||||
8. Documentation
|
||||
|
||||
Well, you're reading it. There isn't anything much yet. You can consult the book
|
||||
"'C' - A reference manual" and you could look at the Open Group's Single Unix
|
||||
Specification at <http://www.opengroup.org/onlinepubs/007904975>.
|
||||
|
||||
|
||||
9. Legal status
|
||||
|
||||
Because this library is in part based upon free software it would be uncourteous
|
||||
not to make it free software itself. The BSD license would probably be
|
||||
appropriate here.
|
||||
|
||||
The PowerPC math library is based in part on work by Sun Microsystems:
|
||||
|
||||
====================================================
|
||||
Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
|
||||
|
||||
Developed at SunPro, a Sun Microsystems, Inc. business.
|
||||
Permission to use, copy, modify, and distribute this
|
||||
software is freely granted, provided that this notice
|
||||
is preserved.
|
||||
====================================================
|
||||
|
||||
|
||||
|
||||
10. Contacting the author
|
||||
|
||||
The basic work was done by Olaf Barthel during two weeks in July 2002. You
|
||||
can reach me at:
|
||||
|
||||
Olaf Barthel
|
||||
Gneisenaustr. 43
|
||||
D-31275 Lehrte
|
||||
|
||||
Or via e-mail:
|
||||
|
||||
olsen@sourcery.han.de
|
||||
@ -1,5 +1,5 @@
|
||||
#
|
||||
# $Id: GNUmakefile.68k,v 1.40 2005-03-11 09:37:27 obarthel Exp $
|
||||
# $Id: GNUmakefile.68k,v 1.1.1.1 2004-07-26 16:30:14 obarthel Exp $
|
||||
#
|
||||
# :ts=8
|
||||
#
|
||||
@ -9,7 +9,7 @@
|
||||
CC = gcc
|
||||
AR = ar -q
|
||||
RANLIB = ranlib
|
||||
COPY = copy clone buf=0
|
||||
COPY = copy clone
|
||||
DELETE = delete all quiet
|
||||
MAKEDIR = makedir
|
||||
MAKE = make -f GNUmakefile.68k
|
||||
@ -40,7 +40,7 @@ endif
|
||||
|
||||
.c.o:
|
||||
@echo "Compiling $<"
|
||||
@$(CC) -c $(CFLAGS) $<
|
||||
@$(CC) -c $(CFLAGS) -DIEEE_FLOATING_POINT_SUPPORT $<
|
||||
|
||||
$(LIBC_OBJS)/%.o : %.c
|
||||
@echo "Compiling $< [$(TYPE):c]"
|
||||
@ -77,47 +77,40 @@ $(LIBAMIGA_OBJS)/%.o : %.c
|
||||
##############################################################################
|
||||
|
||||
ifeq (small_data_020,$(TYPE))
|
||||
CODE_TYPE := -m68020-60
|
||||
CODE_FLAGS := -fbaserel -DSMALL_DATA -DM68020
|
||||
CODE_TYPE := -fbaserel -DSMALL_DATA -m68020-60 -DM68020
|
||||
endif
|
||||
|
||||
ifeq (small_data,$(TYPE))
|
||||
CODE_TYPE := -m68000
|
||||
CODE_FLAGS := -fbaserel -DSMALL_DATA
|
||||
CODE_TYPE := -fbaserel -DSMALL_DATA -m68000
|
||||
endif
|
||||
|
||||
ifeq (small_data32,$(TYPE))
|
||||
CODE_TYPE := -m68020-60
|
||||
CODE_FLAGS := -fbaserel32 -DSMALL_DATA32 -DM68020
|
||||
CODE_TYPE := -fbaserel32 -DSMALL_DATA32 -m68020-60 -DM68020
|
||||
endif
|
||||
|
||||
ifeq (large_data_020,$(TYPE))
|
||||
CODE_TYPE := -m68020-60
|
||||
CODE_FLAGS := -DM68020
|
||||
CODE_TYPE := -m68020-60 -DM68020
|
||||
endif
|
||||
|
||||
ifeq (large_data,$(TYPE))
|
||||
CODE_TYPE := -m68000
|
||||
CODE_FLAGS :=
|
||||
CODE_TYPE := -m68000
|
||||
endif
|
||||
|
||||
##############################################################################
|
||||
|
||||
WARNINGS = \
|
||||
-Wall -W -Wpointer-arith -Wsign-compare -Wmissing-prototypes \
|
||||
-Wundef -Wbad-function-cast -Wmissing-declarations -Wunused
|
||||
|
||||
# -Wconversion -Wshadow
|
||||
-Wall -W -Wshadow -Wpointer-arith -Wsign-compare -Wmissing-prototypes \
|
||||
-Wundef -Wbad-function-cast -Wmissing-declarations -Wconversion
|
||||
|
||||
INCLUDES = -Iinclude -I. -Inetinclude
|
||||
OPTIONS = -DNDEBUG -fno-builtin
|
||||
OPTIONS = -DNDEBUG -fno-builtin -DNO_INLINE_STDARG
|
||||
#OPTIONS = -D__MEM_DEBUG -fno-builtin
|
||||
#OPTIONS = -DDEBUG -D__MEM_DEBUG -DNO_INLINE_STDARG -fno-builtin
|
||||
OPTIMIZE = -O -fomit-frame-pointer -fstrength-reduce -finline-functions
|
||||
OPTIMIZE = -O
|
||||
#OPTIMIZE = -O2 -fomit-frame-pointer
|
||||
#DEBUG = -g2
|
||||
|
||||
CFLAGS = $(WARNINGS) $(OPTIMIZE) $(DEBUG) $(OPTIONS) $(CODE_FLAGS) $(CODE_TYPE) $(INCLUDES)
|
||||
CFLAGS = $(WARNINGS) $(OPTIMIZE) $(DEBUG) $(OPTIONS) $(CODE_TYPE) $(INCLUDES)
|
||||
|
||||
##############################################################################
|
||||
|
||||
@ -135,30 +128,27 @@ C_LIB = \
|
||||
ctype_isspace.o \
|
||||
ctype_isupper.o \
|
||||
ctype_isxdigit.o \
|
||||
ctype_table.o \
|
||||
ctype_tolower.o \
|
||||
ctype_toupper.o \
|
||||
ctype_table.o \
|
||||
dirent_closedir.o \
|
||||
dirent_data.o \
|
||||
dirent_rewinddir.o \
|
||||
dirent_opendir.o \
|
||||
dirent_readdir.o \
|
||||
dirent_rewinddir.o \
|
||||
errno_data.o \
|
||||
fcntl_close.o \
|
||||
fcntl_creat.o \
|
||||
fcntl_fcntl.o \
|
||||
fcntl_get_default_file.o \
|
||||
fcntl_lock.o \
|
||||
fcntl_lseek.o \
|
||||
fcntl_open.o \
|
||||
fcntl_read.o \
|
||||
fcntl_write.o \
|
||||
ftw_ftw.o \
|
||||
ftw_nftw.o \
|
||||
libgen_basename.o \
|
||||
libgen_dirname.o \
|
||||
locale_data.o \
|
||||
locale_init_exit.o \
|
||||
locale_localeconv.o \
|
||||
locale_open_locale.o \
|
||||
locale_setlocale.o \
|
||||
mount_convertinfo.o \
|
||||
mount_fstatfs.o \
|
||||
@ -176,6 +166,7 @@ C_LIB = \
|
||||
signal_sigsetmask.o \
|
||||
stat_chmod.o \
|
||||
stat_convertfileinfo.o \
|
||||
stat_data.o \
|
||||
stat_fchmod.o \
|
||||
stat_fstat.o \
|
||||
stat_lstat.o \
|
||||
@ -185,22 +176,21 @@ C_LIB = \
|
||||
stat_umask.o \
|
||||
stdio_asprintf.o \
|
||||
stdio_clearerr.o \
|
||||
stdio_data.o \
|
||||
stdio_dropiobreadbuffer.o \
|
||||
stdio_duplicate_fd.o \
|
||||
stdio_examine_fh.o \
|
||||
stdio_fclose.o \
|
||||
stdio_fdhookentry.o \
|
||||
stdio_feof.o \
|
||||
stdio_ferror.o \
|
||||
stdio_fflush.o \
|
||||
stdio_flush.o \
|
||||
stdio_fgetc.o \
|
||||
stdio_fgetpos.o \
|
||||
stdio_fgets.o \
|
||||
stdio_filliobreadbuffer.o \
|
||||
stdio_findvacantfdentry.o \
|
||||
stdio_findvacantiobentry.o \
|
||||
stdio_flockfile.o \
|
||||
stdio_flush.o \
|
||||
stdio_flushiobwritebuffer.o \
|
||||
stdio_fopen.o \
|
||||
stdio_fprintf.o \
|
||||
@ -212,38 +202,27 @@ C_LIB = \
|
||||
stdio_fseek.o \
|
||||
stdio_fsetpos.o \
|
||||
stdio_ftell.o \
|
||||
stdio_ftrylockfile.o \
|
||||
stdio_funlockfile.o \
|
||||
stdio_fwrite.o \
|
||||
stdio_getc.o \
|
||||
stdio_getc_unlocked.o \
|
||||
stdio_getchar.o \
|
||||
stdio_getchar_unlocked.o \
|
||||
stdio_gets.o \
|
||||
stdio_get_file_descriptor.o \
|
||||
stdio_gets.o \
|
||||
stdio_growfdtable.o \
|
||||
stdio_growiobtable.o \
|
||||
stdio_grow_file.o \
|
||||
stdio_initializefd.o \
|
||||
stdio_initializeiob.o \
|
||||
stdio_init_exit.o \
|
||||
stdio_file_init.o \
|
||||
stdio_iobhookentry.o \
|
||||
stdio_lock.o \
|
||||
stdio_locksemaphorename.o \
|
||||
stdio_nostdio.o \
|
||||
stdio_openiob.o \
|
||||
stdio_parent_of_fh.o \
|
||||
stdio_perror.o \
|
||||
stdio_popen.o \
|
||||
stdio_printf.o \
|
||||
stdio_putc.o \
|
||||
stdio_putc_unlocked.o \
|
||||
stdio_putchar.o \
|
||||
stdio_putchar_unlocked.o \
|
||||
stdio_puts.o \
|
||||
stdio_remove.o \
|
||||
stdio_remove_fd_alias.o \
|
||||
stdio_rename.o \
|
||||
stdio_rewind.o \
|
||||
stdio_scanf.o \
|
||||
@ -257,7 +236,6 @@ C_LIB = \
|
||||
stdio_tmpnam.o \
|
||||
stdio_translateioerror.o \
|
||||
stdio_ungetc.o \
|
||||
stdio_unlockfile.o \
|
||||
stdio_vasprintf.o \
|
||||
stdio_vasprintf_hook_entry.o \
|
||||
stdio_vfprintf.o \
|
||||
@ -274,12 +252,13 @@ C_LIB = \
|
||||
stdlib_atexit.o \
|
||||
stdlib_atoi.o \
|
||||
stdlib_atol.o \
|
||||
stdlib_atoll.o \
|
||||
stdlib_bsearch.o \
|
||||
stdlib_calloc.o \
|
||||
stdlib_checkdetach.o \
|
||||
stdlib_constructor.o \
|
||||
stdlib_constructor_begin.o \
|
||||
stdlib_constructor_end.o \
|
||||
stdlib_data.o \
|
||||
stdlib_default_pool_size.o \
|
||||
stdlib_default_puddle_size.o \
|
||||
stdlib_destructor.o \
|
||||
@ -294,7 +273,6 @@ C_LIB = \
|
||||
stdlib_getdefstacksize.o \
|
||||
stdlib_getenv.o \
|
||||
stdlib_getsp.o \
|
||||
stdlib_get_errno.o \
|
||||
stdlib_init_exit.o \
|
||||
stdlib_isresident.o \
|
||||
stdlib_labs.o \
|
||||
@ -308,21 +286,13 @@ C_LIB = \
|
||||
stdlib_modsi3.o \
|
||||
stdlib_mulsi3.o \
|
||||
stdlib_never_free.o \
|
||||
stdlib_osliberror.o \
|
||||
stdlib_oslibversion.o \
|
||||
stdlib_priority.o \
|
||||
stdlib_process_name.o \
|
||||
stdlib_putenv.o \
|
||||
stdlib_qsort.o \
|
||||
stdlib_rand.o \
|
||||
stdlib_rand_r.o \
|
||||
stdlib_realloc.o \
|
||||
stdlib_red_black.o \
|
||||
stdlib_semaphore.o \
|
||||
stdlib_setenv.o \
|
||||
stdlib_setjmp.o \
|
||||
stdlib_set_errno.o \
|
||||
stdlib_set_process_window.o \
|
||||
stdlib_shell_escape.o \
|
||||
stdlib_showerror.o \
|
||||
stdlib_socket.o \
|
||||
@ -333,12 +303,9 @@ C_LIB = \
|
||||
stdlib_stacksafezone.o \
|
||||
stdlib_stacksize.o \
|
||||
stdlib_stack_usage.o \
|
||||
stdlib_arg.o \
|
||||
stdlib_stdio_window_spec.o \
|
||||
stdlib_startup.o \
|
||||
stdlib_strtol.o \
|
||||
stdlib_strtoll.o \
|
||||
stdlib_strtoul.o \
|
||||
stdlib_strtoull.o \
|
||||
stdlib_swapstack.o \
|
||||
stdlib_sysbase.o \
|
||||
stdlib_system.o \
|
||||
@ -348,8 +315,8 @@ C_LIB = \
|
||||
stdlib_udivsi4.o \
|
||||
stdlib_umodsi3.o \
|
||||
stdlib_unsetenv.o \
|
||||
stdlib_usergroup.o \
|
||||
stdlib_wildcard_expand.o \
|
||||
strings_ffs.o \
|
||||
strings_strcasecmp.o \
|
||||
strings_strncasecmp.o \
|
||||
string_bcmp.o \
|
||||
@ -370,8 +337,6 @@ C_LIB = \
|
||||
string_strcspn.o \
|
||||
string_strdup.o \
|
||||
string_strerror.o \
|
||||
string_strlcat.o \
|
||||
string_strlcpy.o \
|
||||
string_strlen.o \
|
||||
string_strncat.o \
|
||||
string_strncmp.o \
|
||||
@ -381,40 +346,29 @@ C_LIB = \
|
||||
string_strspn.o \
|
||||
string_strstr.o \
|
||||
string_strtok.o \
|
||||
string_strtok_r.o \
|
||||
string_strxfrm.o \
|
||||
time_asctime.o \
|
||||
time_asctime_r.o \
|
||||
time_clock.o \
|
||||
time_converttime.o \
|
||||
time_convert_datestamp.o \
|
||||
time_convert_time.o \
|
||||
time_ctime.o \
|
||||
time_ctime_r.o \
|
||||
time_data.o \
|
||||
time_days_per_date.o \
|
||||
time_gettimeofday.o \
|
||||
time_gmtime.o \
|
||||
time_gmtime_r.o \
|
||||
time_localtime.o \
|
||||
time_localtime_r.o \
|
||||
time_mktime.o \
|
||||
time_numbertostring.o \
|
||||
time_strftime.o \
|
||||
time_time.o \
|
||||
time_weekday.o \
|
||||
unistd_access.o \
|
||||
unistd_chdir.o \
|
||||
unistd_chdir_exit.o \
|
||||
unistd_chown.o \
|
||||
unistd_currentpathname.o \
|
||||
unistd_data.o \
|
||||
unistd_dup.o \
|
||||
unistd_dup2.o \
|
||||
unistd_fchown.o \
|
||||
unistd_fdatasync.o \
|
||||
unistd_fdopen.o \
|
||||
unistd_fileno.o \
|
||||
unistd_fsync.o \
|
||||
unistd_ftruncate.o \
|
||||
unistd_getcwd.o \
|
||||
unistd_getopt.o \
|
||||
@ -427,25 +381,20 @@ C_LIB = \
|
||||
unistd_realpath.o \
|
||||
unistd_sleep.o \
|
||||
unistd_symlink.o \
|
||||
unistd_sync_fd.o \
|
||||
unistd_timer.o \
|
||||
unistd_time_delay.o \
|
||||
unistd_truncate.o \
|
||||
unistd_unlink.o \
|
||||
unistd_usleep.o \
|
||||
utime_utime.o \
|
||||
utsname_uname.o
|
||||
utime_utime.o
|
||||
|
||||
UNIX_LIB = \
|
||||
unix.lib_rev.o \
|
||||
dirent_closedir.o \
|
||||
dirent_data.o \
|
||||
dirent_rewinddir.o \
|
||||
dirent_opendir.o \
|
||||
dirent_readdir.o \
|
||||
fcntl_creat.o \
|
||||
fcntl_fcntl.o \
|
||||
fcntl_open.o \
|
||||
fcntl_get_default_file.o \
|
||||
mount_convertinfo.o \
|
||||
mount_statfs.o \
|
||||
stat_chmod.o \
|
||||
@ -457,21 +406,20 @@ UNIX_LIB = \
|
||||
stdio_fdhookentry.o \
|
||||
stdio_fflush.o \
|
||||
stdio_fopen.o \
|
||||
stdio_fopen.o \
|
||||
stdio_init_exit.o \
|
||||
stdio_file_init.o \
|
||||
stdio_locksemaphorename.o \
|
||||
stdio_openiob.o \
|
||||
stdio_popen.o \
|
||||
stdio_record_locking.o \
|
||||
stdio_remove.o \
|
||||
stdio_rename.o \
|
||||
stdlib_mkdtemp.o \
|
||||
stdlib_mkstemp.o \
|
||||
stdlib_mkstemp.o \
|
||||
stdlib_mktemp.o \
|
||||
stdlib_system.o \
|
||||
unistd_access.o \
|
||||
unistd_chdir.o \
|
||||
unistd_chdir_exit.o \
|
||||
unistd_chown.o \
|
||||
unistd_getcwd.o \
|
||||
unistd_lchown.o \
|
||||
@ -498,24 +446,18 @@ MATH_LIB = \
|
||||
math_ceil.o \
|
||||
math_cos.o \
|
||||
math_cosh.o \
|
||||
math_data.o \
|
||||
math_exp.o \
|
||||
math_fabs.o \
|
||||
math_floor.o \
|
||||
math_fmod.o \
|
||||
math_frexp.o \
|
||||
math_huge_val.o \
|
||||
math_hypot.o \
|
||||
math_init_exit.o \
|
||||
math_isinf.o \
|
||||
math_isnan.o \
|
||||
math_ldexp.o \
|
||||
math_log.o \
|
||||
math_log10.o \
|
||||
math_logb.o \
|
||||
math_modf.o \
|
||||
math_pow.o \
|
||||
math_rint.o \
|
||||
math_rintf.o \
|
||||
math_sin.o \
|
||||
math_sinh.o \
|
||||
math_sqrt.o \
|
||||
@ -525,6 +467,8 @@ MATH_LIB = \
|
||||
stdio_flush.o \
|
||||
stdio_fprintf.o \
|
||||
stdio_fscanf.o \
|
||||
stdio_isinfinity.o \
|
||||
stdio_isnotanumber.o \
|
||||
stdio_printf.o \
|
||||
stdio_scanf.o \
|
||||
stdio_snprintf.o \
|
||||
@ -533,16 +477,17 @@ MATH_LIB = \
|
||||
stdio_vasprintf.o \
|
||||
stdio_vfprintf.o \
|
||||
stdio_vfscanf.o \
|
||||
stdio_vfscanf.o \
|
||||
stdio_vprintf.o \
|
||||
stdio_vsnprintf.o \
|
||||
stdio_vsprintf.o \
|
||||
stdlib_atof.o \
|
||||
stdlib_machine_test.o \
|
||||
stdlib_strtod.o \
|
||||
time_difftime.o
|
||||
|
||||
MATH_LIB_881 = \
|
||||
m881.lib_rev.o \
|
||||
stdlib_machine_test.o \
|
||||
$(MATH_LIB)
|
||||
|
||||
MATH_LIB_IEEE = \
|
||||
@ -592,6 +537,7 @@ NET_LIB = \
|
||||
socket_accept.o \
|
||||
socket_bind.o \
|
||||
socket_connect.o \
|
||||
socket_data.o \
|
||||
socket_gethostbyaddr.o \
|
||||
socket_gethostbyname.o \
|
||||
socket_gethostid.o \
|
||||
@ -628,7 +574,6 @@ NET_LIB = \
|
||||
socket_shutdown.o \
|
||||
socket_socket.o \
|
||||
socket_hook_entry.o \
|
||||
socket_hstrerror.o \
|
||||
stat_umask.o \
|
||||
usergroup_crypt.o \
|
||||
usergroup_data.o \
|
||||
@ -658,8 +603,7 @@ NET_LIB = \
|
||||
usergroup_setregid.o \
|
||||
usergroup_setreuid.o \
|
||||
usergroup_setsid.o \
|
||||
usergroup_setuid.o \
|
||||
utsname_uname.o
|
||||
usergroup_setuid.o
|
||||
|
||||
DEBUG_LIB = \
|
||||
debug.lib_rev.o \
|
||||
@ -723,33 +667,22 @@ AMIGA_LIB = \
|
||||
amiga_newlist.o \
|
||||
amiga_rangerand.o \
|
||||
amiga_remtof.o \
|
||||
amiga_rexxvars.o \
|
||||
amiga_setsuperattrs.o \
|
||||
amiga_timedelay.o \
|
||||
amiga_waitbeam.o
|
||||
|
||||
MEMDEBUG_LIB = \
|
||||
stdio_vasprintf_debug.o \
|
||||
stdio_vasprintf_debug.o \
|
||||
stdio_vasprintf_hook_entry_debug.o \
|
||||
stdlib_alloca_debug.o \
|
||||
stdlib_calloc_debug.o \
|
||||
stdlib_free_debug.o \
|
||||
stdlib_malloc_debug.o \
|
||||
string_strdup_debug.o \
|
||||
unistd_getcwd_debug.o
|
||||
|
||||
##############################################################################
|
||||
|
||||
LIBS_68K := $(LIBC_OBJS)/libc.a $(LIBSTACK_OBJS)/libstack.a $(LIBUNIX_OBJS)/libunix.a \
|
||||
$(LIBNET_OBJS)/libnet.a $(LIBDEBUG_OBJS)/libdebug.a $(LIBAMIGA_OBJS)/libamiga.a \
|
||||
$(LIBM_OBJS)/libm.a
|
||||
LIBS_020 := $(LIBM881_OBJS)/libm881.a $(LIBS_68K)
|
||||
LIBS_020 := $(LIBM881_OBJS)/libm881.a $(LIBS_68K)
|
||||
#LIBS_020 := $(LIBS_68K)
|
||||
|
||||
##############################################################################
|
||||
|
||||
# The 881 math library won't build in plain 68k mode
|
||||
ifneq (,$(findstring 68020,$(CODE_FLAGS)))
|
||||
ifneq (,$(findstring 68020,$(CODE_TYPE)))
|
||||
LIBS := $(LIBS_020)
|
||||
else
|
||||
LIBS := $(LIBS_68K)
|
||||
@ -762,6 +695,11 @@ STARTUPS := nrcrt0.o nbcrt0.o nr32crt0.o nb32crt0.o ncrt0.o mainnb.o mainb.o mai
|
||||
##############################################################################
|
||||
|
||||
all: \
|
||||
lib/libm020/libm.a \
|
||||
lib/libm.a \
|
||||
lib/libb/libm020/libm.a \
|
||||
lib/libb/libm.a \
|
||||
lib/libb32/libm020/libm.a \
|
||||
lib/nrcrt0.o \
|
||||
lib/nbcrt0.o \
|
||||
lib/ncrt0.o \
|
||||
@ -769,12 +707,7 @@ all: \
|
||||
lib/n32rcrt0.o \
|
||||
lib/mainnb.o \
|
||||
lib/mainb.o \
|
||||
lib/mainb32.o \
|
||||
lib/libm020/libm.a \
|
||||
lib/libm.a \
|
||||
lib/libb/libm.a \
|
||||
lib/libb/libm020/libm.a \
|
||||
lib/libb32/libm020/libm.a
|
||||
lib/mainb32.o
|
||||
|
||||
##############################################################################
|
||||
|
||||
@ -846,47 +779,47 @@ lib/libm020 : lib
|
||||
|
||||
lib/libb/libm020/libm.a: lib lib/libb/libm020
|
||||
$(MAKE) TYPE=small_data_020 kitchen_sink
|
||||
@$(COPY) $(foreach file,$(LIBS_020),small_data_020/$(file)) lib/libb/libm020
|
||||
$(COPY) $(foreach file,$(LIBS_020),small_data_020/$(file)) lib/libb/libm020
|
||||
|
||||
lib/libb/libm.a: lib lib/libb
|
||||
$(MAKE) TYPE=small_data kitchen_sink
|
||||
@$(COPY) $(foreach file,$(LIBS_68K),small_data/$(file)) lib/libb
|
||||
$(COPY) $(foreach file,$(LIBS_68K),small_data/$(file)) lib/libb
|
||||
|
||||
lib/libb32/libm020/libm.a: lib lib/libb32 lib/libb32/libm020
|
||||
$(MAKE) TYPE=small_data32 kitchen_sink
|
||||
@$(COPY) $(foreach file,$(LIBS_020),small_data32/$(file)) lib/libb32/libm020
|
||||
$(COPY) $(foreach file,$(LIBS_020),small_data32/$(file)) lib/libb32/libm020
|
||||
|
||||
lib/libm020/libm.a: lib lib/libm020
|
||||
$(MAKE) TYPE=large_data_020 kitchen_sink
|
||||
@$(COPY) $(foreach file,$(LIBS_020),large_data_020/$(file)) lib/libm020
|
||||
$(COPY) $(foreach file,$(LIBS_020),large_data_020/$(file)) lib/libm020
|
||||
|
||||
lib/libm.a: lib
|
||||
$(MAKE) TYPE=large_data kitchen_sink
|
||||
@$(COPY) $(foreach file,$(LIBS_68K),large_data/$(file)) lib
|
||||
$(COPY) $(foreach file,$(LIBS_68K),large_data/$(file)) lib
|
||||
|
||||
lib/nrcrt0.o : lib nrcrt0.o
|
||||
@$(COPY) nrcrt0.o lib
|
||||
$(COPY) nrcrt0.o lib
|
||||
|
||||
lib/nbcrt0.o : lib nbcrt0.o
|
||||
@$(COPY) nbcrt0.o lib
|
||||
$(COPY) nbcrt0.o lib
|
||||
|
||||
lib/ncrt0.o : lib ncrt0.o
|
||||
@$(COPY) ncrt0.o lib
|
||||
$(COPY) ncrt0.o lib
|
||||
|
||||
lib/n32bcrt0.o : lib nb32crt0.o
|
||||
@$(COPY) nb32crt0.o lib
|
||||
$(COPY) nb32crt0.o lib
|
||||
|
||||
lib/n32rcrt0.o : lib nr32crt0.o
|
||||
@$(COPY) nr32crt0.o lib
|
||||
$(COPY) nr32crt0.o lib
|
||||
|
||||
lib/mainnb.o : lib mainnb.o
|
||||
@$(COPY) mainnb.o lib
|
||||
$(COPY) mainnb.o lib
|
||||
|
||||
lib/mainb.o : lib mainb.o
|
||||
@$(COPY) mainb.o lib
|
||||
$(COPY) mainb.o lib
|
||||
|
||||
lib/mainb32.o : lib mainb32.o
|
||||
@$(COPY) mainb32.o lib
|
||||
$(COPY) mainb32.o lib
|
||||
|
||||
##############################################################################
|
||||
|
||||
@ -940,73 +873,6 @@ $(LIBC_OBJS)/stdlib_red_black.o : stdlib_red_black.c stdlib_mem_debug.h
|
||||
|
||||
##############################################################################
|
||||
|
||||
# The -fbaserel32 option requires the CPU type to be 68010/68020, too.
|
||||
ifneq (,$(findstring fbaserel32,$(CODE_FLAGS)))
|
||||
LOCAL_CODE_FLAGS := $(CODE_FLAGS) $(CODE_TYPE)
|
||||
else
|
||||
LOCAL_CODE_FLAGS := $(CODE_FLAGS)
|
||||
endif
|
||||
|
||||
$(LIBC_OBJS)/stdlib_machine_test.o : stdlib_machine_test.c
|
||||
@echo "Compiling $< [$(TYPE):c]"
|
||||
@$(CC) -o $(LIBC_OBJS)/stdlib_machine_test.o -c $(WARNINGS) $(OPTIMIZE) $(DEBUG) $(OPTIONS) $(LOCAL_CODE_FLAGS) $(INCLUDES) $<
|
||||
|
||||
$(LIBM881_OBJS)/stdlib_machine_test.o : stdlib_machine_test.c
|
||||
@echo "Compiling $< [$(TYPE):c]"
|
||||
@$(CC) -o $(LIBM881_OBJS)/stdlib_machine_test.o -c $(WARNINGS) $(OPTIMIZE) $(DEBUG) $(OPTIONS) $(LOCAL_CODE_FLAGS) $(INCLUDES) -DM68881_FLOATING_POINT_SUPPORT $<
|
||||
|
||||
$(LIBC_OBJS)/stdlib_showerror.o : stdlib_showerror.c
|
||||
@echo "Compiling $< [$(TYPE):c]"
|
||||
@$(CC) -o $(LIBC_OBJS)/stdlib_showerror.o -c $(WARNINGS) $(OPTIMIZE) $(DEBUG) $(OPTIONS) $(LOCAL_CODE_FLAGS) $(INCLUDES) $<
|
||||
|
||||
##############################################################################
|
||||
|
||||
$(LIBC_OBJS)/stdlib_alloca_debug.o : stdlib_alloca.c
|
||||
@echo "Compiling $< [$(TYPE):c debug]"
|
||||
@$(CC) -o $(LIBC_OBJS)/stdlib_alloca_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG stdlib_alloca.c
|
||||
|
||||
$(LIBC_OBJS)/stdlib_calloc_debug.o : stdlib_calloc.c
|
||||
@echo "Compiling $< [$(TYPE):c debug]"
|
||||
@$(CC) -o $(LIBC_OBJS)/stdlib_calloc_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG stdlib_calloc.c
|
||||
|
||||
$(LIBC_OBJS)/stdlib_free_debug.o : stdlib_free.c
|
||||
@echo "Compiling $< [$(TYPE):c debug]"
|
||||
@$(CC) -o $(LIBC_OBJS)/stdlib_free_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG stdlib_free.c
|
||||
|
||||
$(LIBC_OBJS)/stdlib_malloc_debug.o : stdlib_malloc.c
|
||||
@echo "Compiling $< [$(TYPE):c debug]"
|
||||
@$(CC) -o $(LIBC_OBJS)/stdlib_malloc_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG stdlib_malloc.c
|
||||
|
||||
$(LIBC_OBJS)/stdlib_realloc_debug.o : stdlib_realloc.c
|
||||
@echo "Compiling $< [$(TYPE):c debug]"
|
||||
@$(CC) -o $(LIBC_OBJS)/stdlib_realloc_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG stdlib_realloc.c
|
||||
|
||||
$(LIBC_OBJS)/stdio_vasprintf_hook_entry_debug.o : stdio_vasprintf_hook_entry.c
|
||||
@echo "Compiling $< [$(TYPE):c debug]"
|
||||
@$(CC) -o $(LIBC_OBJS)/stdio_vasprintf_hook_entry_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG stdio_vasprintf_hook_entry.c
|
||||
|
||||
$(LIBC_OBJS)/stdio_vasprintf_debug.o : stdio_vasprintf.c
|
||||
@echo "Compiling $< [$(TYPE):c debug]"
|
||||
@$(CC) -o $(LIBC_OBJS)/stdio_vasprintf_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG stdio_vasprintf.c
|
||||
|
||||
$(LIBM_OBJS)/stdio_vasprintf_debug.o : stdio_vasprintf.c
|
||||
@echo "Compiling $< [$(TYPE):m debug]"
|
||||
@$(CC) -o $(LIBM_OBJS)/stdio_vasprintf_debug.o -c $(CFLAGS) -DIEEE_FLOATING_POINT_SUPPORT -D__USE_MEM_TREES -D__MEM_DEBUG stdio_vasprintf.c
|
||||
|
||||
$(LIBC_OBJS)/string_strdup_debug.o : string_strdup.c
|
||||
@echo "Compiling $< [$(TYPE):c debug]"
|
||||
@$(CC) -o $(LIBC_OBJS)/string_strdup_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG string_strdup.c
|
||||
|
||||
$(LIBC_OBJS)/unistd_getcwd_debug.o : unistd_getcwd.c
|
||||
@echo "Compiling $< [$(TYPE):c debug]"
|
||||
@$(CC) -o $(LIBC_OBJS)/unistd_getcwd_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG unistd_getcwd.c
|
||||
|
||||
$(LIBUNIX_OBJS)/unistd_getcwd_debug.o : unistd_getcwd.c
|
||||
@echo "Compiling $< [$(TYPE):unix debug]"
|
||||
@$(CC) -o $(LIBUNIX_OBJS)/unistd_getcwd_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG -DUNIX_PATH_SEMANTICS unistd_getcwd.c
|
||||
|
||||
##############################################################################
|
||||
|
||||
$(LIBC_OBJS) :
|
||||
$(MAKEDIR) $@
|
||||
|
||||
@ -1088,56 +954,50 @@ $(LIBAMIGA_OBJS)/libamiga.a : $(LIBAMIGA_OBJS) $(foreach file,$(AMIGA_LIB),$(LIB
|
||||
##############################################################################
|
||||
|
||||
nrcrt0.o : nrcrt0.S
|
||||
@echo "Assembling $< [resident]"
|
||||
@$(CC) -traditional -o $@ -c nrcrt0.S
|
||||
$(CC) -traditional -o $@ -c nrcrt0.S
|
||||
|
||||
nr32crt0.o : nrcrt0.S
|
||||
@echo "Assembling $< [resident32]"
|
||||
@$(CC) -traditional -m68020 -DSMALL_DATA32 -o $@ -c nrcrt0.S
|
||||
$(CC) -traditional -m68020 -DSMALL_DATA32 -o $@ -c nrcrt0.S
|
||||
|
||||
nbcrt0.o : ncrt0.S
|
||||
@echo "Assembling $< [small_data]"
|
||||
@$(CC) -traditional -DSMALL_DATA -o $@ -c ncrt0.S
|
||||
$(CC) -traditional -DSMALL_DATA -o $@ -c ncrt0.S
|
||||
|
||||
nb32crt0.o : ncrt0.S
|
||||
@echo "Assembling $< [small_data32]"
|
||||
@$(CC) -traditional -m68020 -DSMALL_DATA32 -o $@ -c ncrt0.S
|
||||
$(CC) -traditional -m68020 -DSMALL_DATA32 -o $@ -c ncrt0.S
|
||||
|
||||
ncrt0.o : ncrt0.S
|
||||
@echo "Assembling $< [large_data]"
|
||||
@$(CC) -traditional -o $@ -c ncrt0.S
|
||||
$(CC) -traditional -o $@ -c ncrt0.S
|
||||
|
||||
mainb32.o : stdlib_main.c
|
||||
@echo "Compiling $< [small_data32]"
|
||||
@$(CC) -o mainb32.o -c $(WARNINGS) $(OPTIMIZE) $(DEBUG) $(OPTIONS) $(INCLUDES) -fbaserel32 -DSMALL_DATA32 -m68020-60 -DM68020 stdlib_main.c
|
||||
$(CC) -o mainb32.o -c $(WARNINGS) $(OPTIMIZE) $(DEBUG) $(OPTIONS) $(INCLUDES) -fbaserel32 -DSMALL_DATA32 -m68020-60 -DM68020 stdlib_main.c
|
||||
|
||||
mainb.o : stdlib_main.c
|
||||
@echo "Compiling $< [small_data]"
|
||||
@$(CC) -o mainb.o -c $(WARNINGS) $(OPTIMIZE) $(DEBUG) $(OPTIONS) $(INCLUDES) -fbaserel -DSMALL_DATA -m68000 stdlib_main.c
|
||||
$(CC) -o mainb.o -c $(WARNINGS) $(OPTIMIZE) $(DEBUG) $(OPTIONS) $(INCLUDES) -fbaserel -DSMALL_DATA -m68000 stdlib_main.c
|
||||
|
||||
mainnb.o : stdlib_main.c
|
||||
@echo "Compiling $< [large_data]"
|
||||
@$(CC) -o mainnb.o -c $(WARNINGS) $(OPTIMIZE) $(DEBUG) $(OPTIONS) $(INCLUDES) -m68000 stdlib_main.c
|
||||
$(CC) -o mainnb.o -c $(WARNINGS) $(OPTIMIZE) $(DEBUG) $(OPTIONS) $(INCLUDES) -m68000 stdlib_main.c
|
||||
|
||||
##############################################################################
|
||||
|
||||
CONSTRUCTOR_FILES = \
|
||||
amiga_rexxvars.c \
|
||||
dirent_closedir.c \
|
||||
locale_init_exit.c \
|
||||
math_init_exit.c \
|
||||
socket_init_exit.c \
|
||||
stdio_file_init.c \
|
||||
stdio_init_exit.c \
|
||||
stdlib_alloca.c \
|
||||
stdlib_setenv.c \
|
||||
stdlib_stackextension.c \
|
||||
time_clock.c \
|
||||
unistd_chdir_exit.c \
|
||||
unistd_init_exit.c \
|
||||
unistd_timer.c \
|
||||
unistd_wildcard_expand.c \
|
||||
usergroup_init_exit.c
|
||||
#test: test.o ncrt0.o libc.a libunix.a libm.a libdebug.a libamiga.a
|
||||
# $(CC) -Wl,--verbose $(CFLAGS) -DIEEE_FLOATING_POINT_SUPPORT \
|
||||
# -o $@ -nostdlib ncrt0.o test.o -L. -lm -lunix -ldebug -lc -lamiga
|
||||
|
||||
touch_constructor_files:
|
||||
touch $(CONSTRUCTOR_FILES)
|
||||
#test: test.o ncrt0.o nbcrt0.o nrcrt0.o libc.a libunix.a libm.a libdebug.a libamiga.a
|
||||
# $(CC) -resident -Wl,--verbose $(CFLAGS) -DIEEE_FLOATING_POINT_SUPPORT -fbaserel32 -DSMALL_DATA \
|
||||
# -o $@ -nostdlib nbcrt0.o test.o -L. -lm -lunix -ldebug -lc -lamiga
|
||||
|
||||
test : test.c
|
||||
gcc -o test test.c -D__MEM_DEBUG -DFLOATING_POINT_SUPPORT -Llib -lunix -lm
|
||||
|
||||
#test: test.o ncrt0.o nbcrt0.o nrcrt0.o libc.a libunix.a libm.a libdebug.a libamiga.a
|
||||
# $(CC) -resident -Wl,--verbose $(CFLAGS) -DIEEE_FLOATING_POINT_SUPPORT -fbaserel -DSMALL_DATA \
|
||||
# -o $@ -nostdlib nrcrt0.o test.o -L. -lm -lunix -ldebug -lc -lamiga
|
||||
|
||||
##############################################################################
|
||||
|
||||
mkid:
|
||||
mkid -v #?.(c|h|asm|i) include/#?.(c|h|asm|i) include/sys/#?.(c|h|asm|i)
|
||||
|
||||
update:
|
||||
mkid -v -u
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
#
|
||||
# $Id: GNUmakefile.os4,v 1.41 2005-03-11 09:37:28 obarthel Exp $
|
||||
# $Id: GNUmakefile.os4,v 1.1.1.1 2004-07-26 16:30:15 obarthel Exp $
|
||||
#
|
||||
# :ts=8
|
||||
#
|
||||
@ -15,7 +15,7 @@ NET_INCLUDE = netinclude
|
||||
CC = ppc-amigaos-gcc
|
||||
AR = ppc-amigaos-ar -q
|
||||
RANLIB = ppc-amigaos-ranlib
|
||||
COPY = cp -a
|
||||
COPY = cp
|
||||
DELETE = rm -r
|
||||
MAKEDIR = mkdir
|
||||
|
||||
@ -32,27 +32,28 @@ MAKE = make -f GNUmakefile.os4
|
||||
##############################################################################
|
||||
|
||||
ifeq (,$(TYPE))
|
||||
LIBC_OBJS = libc_objs
|
||||
LIBUNIX_OBJS = libunix_objs
|
||||
LIBM_OBJS = libm_objs
|
||||
LIBNET_OBJS = libnet_objs
|
||||
LIBDEBUG_OBJS = libdebug_objs
|
||||
LIBAMIGA_OBJS = libamiga_objs
|
||||
LIBC_OBJS = libc_objs
|
||||
LIBUNIX_OBJS = libunix_objs
|
||||
LIBM_OBJS = libm_objs
|
||||
LIBSTACK_OBJS = libstack_objs
|
||||
LIBNET_OBJS = libnet_objs
|
||||
LIBDEBUG_OBJS = libdebug_objs
|
||||
LIBAMIGA_OBJS = libamiga_objs
|
||||
else
|
||||
LIBC_OBJS = $(TYPE)/libc_objs
|
||||
LIBUNIX_OBJS = $(TYPE)/libunix_objs
|
||||
LIBM_OBJS = $(TYPE)/libm_objs
|
||||
LIBNET_OBJS = $(TYPE)/libnet_objs
|
||||
LIBDEBUG_OBJS = $(TYPE)/libdebug_objs
|
||||
LIBAMIGA_OBJS = $(TYPE)/libamiga_objs
|
||||
LIBC_OBJS = $(TYPE)/libc_objs
|
||||
LIBUNIX_OBJS = $(TYPE)/libunix_objs
|
||||
LIBM_OBJS = $(TYPE)/libm_objs
|
||||
LIBSTACK_OBJS = $(TYPE)/libstack_objs
|
||||
LIBNET_OBJS = $(TYPE)/libnet_objs
|
||||
LIBDEBUG_OBJS = $(TYPE)/libdebug_objs
|
||||
LIBAMIGA_OBJS = $(TYPE)/libamiga_objs
|
||||
endif
|
||||
|
||||
##############################################################################
|
||||
|
||||
# General build rules for all object files and the individual libraries
|
||||
%.o : %.c
|
||||
@echo "Compiling $<"
|
||||
@$(CC) -c $(CFLAGS) $<
|
||||
@$(CC) -c $(CFLAGS) -DPPC_FLOATING_POINT_SUPPORT $<
|
||||
|
||||
$(LIBC_OBJS)/%.o : %.c
|
||||
@echo "Compiling $< [$(TYPE):c]"
|
||||
@ -64,7 +65,11 @@ $(LIBUNIX_OBJS)/%.o : %.c
|
||||
|
||||
$(LIBM_OBJS)/%.o : %.c
|
||||
@echo "Compiling $< [$(TYPE):m]"
|
||||
@$(CC) -o $(LIBM_OBJS)/$*.o -c $(CFLAGS) $(FLOAT_TYPE) $<
|
||||
@$(CC) -o $(LIBM_OBJS)/$*.o -c $(CFLAGS) -DPPC_FLOATING_POINT_SUPPORT $<
|
||||
|
||||
$(LIBSTACK_OBJS)/%.o : %.c
|
||||
@echo "Compiling $< [$(TYPE):stack]"
|
||||
@$(CC) -o $(LIBSTACK_OBJS)/$*.o -c $(CFLAGS) $<
|
||||
|
||||
$(LIBNET_OBJS)/%.o : %.c
|
||||
@echo "Compiling $< [$(TYPE):net]"
|
||||
@ -80,46 +85,29 @@ $(LIBAMIGA_OBJS)/%.o : %.c
|
||||
|
||||
##############################################################################
|
||||
|
||||
# Build options for the individual libraries
|
||||
ifeq (small_data,$(TYPE))
|
||||
CODE_TYPE := -msdata=sysv -DSMALL_DATA
|
||||
FLOAT_TYPE := -DPPC_FLOATING_POINT_SUPPORT
|
||||
endif
|
||||
|
||||
ifeq (large_data,$(TYPE))
|
||||
CODE_TYPE := -msdata=data
|
||||
FLOAT_TYPE := -DPPC_FLOATING_POINT_SUPPORT
|
||||
endif
|
||||
|
||||
ifeq (large_data_softfloat,$(TYPE))
|
||||
CODE_TYPE := -msdata=data -msoft-float
|
||||
FLOAT_TYPE :=
|
||||
endif
|
||||
|
||||
ifeq (baserel,$(TYPE))
|
||||
CODE_TYPE := -mbaserel -DBASEREL_DATA
|
||||
FLOAT_TYPE := -DPPC_FLOATING_POINT_SUPPORT
|
||||
endif
|
||||
|
||||
|
||||
##############################################################################
|
||||
|
||||
WARNINGS = \
|
||||
-Wall -W -Wpointer-arith -Wsign-compare -Wmissing-prototypes \
|
||||
-Wundef -Wbad-function-cast -Wmissing-declarations -Wunused
|
||||
|
||||
# -Wconversion -Wshadow
|
||||
-Wall -W -Wshadow -Wpointer-arith -Wsign-compare -Wmissing-prototypes \
|
||||
-Wundef -Wbad-function-cast -Wmissing-declarations -Wconversion
|
||||
|
||||
INCLUDES = -Iinclude -I. -I$(SDK_INCLUDE)
|
||||
OPTIONS = -D__THREAD_SAFE -DNDEBUG -DUSE_64_BIT_INTS -D__USE_INLINE__ -Wa,-mregnames
|
||||
OPTIMIZE = -O -fomit-frame-pointer -funroll-loops
|
||||
OPTIONS = -DNDEBUG -DUSE_64_BIT_INTS -fno-builtin -D__USE_INLINE__ -Wa,-mregnames
|
||||
OPTIMIZE = -O3 -fomit-frame-pointer -funroll-loops
|
||||
#DEBUG = -g
|
||||
|
||||
CFLAGS = $(WARNINGS) $(OPTIMIZE) $(DEBUG) $(OPTIONS) $(CODE_TYPE) $(INCLUDES)
|
||||
|
||||
##############################################################################
|
||||
|
||||
# All objects files which make up libc.a
|
||||
C_LIB = \
|
||||
c.lib_rev.o \
|
||||
ctype_isalnum.o \
|
||||
@ -134,10 +122,11 @@ C_LIB = \
|
||||
ctype_isspace.o \
|
||||
ctype_isupper.o \
|
||||
ctype_isxdigit.o \
|
||||
ctype_table.o \
|
||||
ctype_tolower.o \
|
||||
ctype_toupper.o \
|
||||
ctype_table.o \
|
||||
dirent_closedir.o \
|
||||
dirent_data.o \
|
||||
dirent_opendir.o \
|
||||
dirent_readdir.o \
|
||||
dirent_rewinddir.o \
|
||||
@ -145,19 +134,15 @@ C_LIB = \
|
||||
fcntl_close.o \
|
||||
fcntl_creat.o \
|
||||
fcntl_fcntl.o \
|
||||
fcntl_get_default_file.o \
|
||||
fcntl_lock.o \
|
||||
fcntl_lseek.o \
|
||||
fcntl_open.o \
|
||||
fcntl_read.o \
|
||||
fcntl_write.o \
|
||||
ftw_ftw.o \
|
||||
ftw_nftw.o \
|
||||
libgen_basename.o \
|
||||
libgen_dirname.o \
|
||||
locale_data.o \
|
||||
locale_init_exit.o \
|
||||
locale_localeconv.o \
|
||||
locale_open_locale.o \
|
||||
locale_setlocale.o \
|
||||
mount_convertinfo.o \
|
||||
mount_fstatfs.o \
|
||||
@ -175,6 +160,7 @@ C_LIB = \
|
||||
signal_sigsetmask.o \
|
||||
stat_chmod.o \
|
||||
stat_convertfileinfo.o \
|
||||
stat_data.o \
|
||||
stat_fchmod.o \
|
||||
stat_fstat.o \
|
||||
stat_lstat.o \
|
||||
@ -184,22 +170,21 @@ C_LIB = \
|
||||
stat_umask.o \
|
||||
stdio_asprintf.o \
|
||||
stdio_clearerr.o \
|
||||
stdio_data.o \
|
||||
stdio_dropiobreadbuffer.o \
|
||||
stdio_duplicate_fd.o \
|
||||
stdio_examine_fh.o \
|
||||
stdio_fclose.o \
|
||||
stdio_fdhookentry.o \
|
||||
stdio_feof.o \
|
||||
stdio_ferror.o \
|
||||
stdio_fflush.o \
|
||||
stdio_flush.o \
|
||||
stdio_fgetc.o \
|
||||
stdio_fgetpos.o \
|
||||
stdio_fgets.o \
|
||||
stdio_filliobreadbuffer.o \
|
||||
stdio_findvacantfdentry.o \
|
||||
stdio_findvacantiobentry.o \
|
||||
stdio_flockfile.o \
|
||||
stdio_flush.o \
|
||||
stdio_flushiobwritebuffer.o \
|
||||
stdio_fopen.o \
|
||||
stdio_fprintf.o \
|
||||
@ -211,38 +196,27 @@ C_LIB = \
|
||||
stdio_fseek.o \
|
||||
stdio_fsetpos.o \
|
||||
stdio_ftell.o \
|
||||
stdio_ftrylockfile.o \
|
||||
stdio_funlockfile.o \
|
||||
stdio_fwrite.o \
|
||||
stdio_getc.o \
|
||||
stdio_getc_unlocked.o \
|
||||
stdio_getchar.o \
|
||||
stdio_getchar_unlocked.o \
|
||||
stdio_gets.o \
|
||||
stdio_get_file_descriptor.o \
|
||||
stdio_gets.o \
|
||||
stdio_growfdtable.o \
|
||||
stdio_growiobtable.o \
|
||||
stdio_grow_file.o \
|
||||
stdio_initializefd.o \
|
||||
stdio_initializeiob.o \
|
||||
stdio_init_exit.o \
|
||||
stdio_file_init.o \
|
||||
stdio_iobhookentry.o \
|
||||
stdio_lock.o \
|
||||
stdio_locksemaphorename.o \
|
||||
stdio_nostdio.o \
|
||||
stdio_openiob.o \
|
||||
stdio_parent_of_fh.o \
|
||||
stdio_perror.o \
|
||||
stdio_popen.o \
|
||||
stdio_printf.o \
|
||||
stdio_putc.o \
|
||||
stdio_putc_unlocked.o \
|
||||
stdio_putchar.o \
|
||||
stdio_putchar_unlocked.o \
|
||||
stdio_puts.o \
|
||||
stdio_remove.o \
|
||||
stdio_remove_fd_alias.o \
|
||||
stdio_rename.o \
|
||||
stdio_rewind.o \
|
||||
stdio_scanf.o \
|
||||
@ -256,7 +230,6 @@ C_LIB = \
|
||||
stdio_tmpnam.o \
|
||||
stdio_translateioerror.o \
|
||||
stdio_ungetc.o \
|
||||
stdio_unlockfile.o \
|
||||
stdio_vasprintf.o \
|
||||
stdio_vasprintf_hook_entry.o \
|
||||
stdio_vfprintf.o \
|
||||
@ -273,82 +246,68 @@ C_LIB = \
|
||||
stdlib_atexit.o \
|
||||
stdlib_atoi.o \
|
||||
stdlib_atol.o \
|
||||
stdlib_atoll.o \
|
||||
stdlib_bsearch.o \
|
||||
stdlib_calloc.o \
|
||||
stdlib_checkdetach.o \
|
||||
stdlib_constructor.o \
|
||||
stdlib_constructor_begin.o \
|
||||
stdlib_data.o \
|
||||
stdlib_default_pool_size.o \
|
||||
stdlib_default_puddle_size.o \
|
||||
stdlib_destructor.o \
|
||||
stdlib_detach.o \
|
||||
stdlib_disablerequesters.o \
|
||||
stdlib_div.o \
|
||||
stdlib_modsi3.o \
|
||||
stdlib_divsi3.o \
|
||||
stdlib_divsi4.o \
|
||||
stdlib_dosbase.o \
|
||||
stdlib_umodsi3.o \
|
||||
stdlib_udivsi3.o \
|
||||
stdlib_udivsi4.o \
|
||||
stdlib_exit.o \
|
||||
stdlib_free.o \
|
||||
stdlib_getdefstacksize.o \
|
||||
stdlib_getenv.o \
|
||||
stdlib_getsp.o \
|
||||
stdlib_get_errno.o \
|
||||
stdlib_init_exit.o \
|
||||
stdlib_isresident.o \
|
||||
stdlib_labs.o \
|
||||
stdlib_ldiv.o \
|
||||
stdlib_getdefstacksize.o \
|
||||
stdlib_stackargbytes.o \
|
||||
stdlib_stack_usage.o \
|
||||
stdlib_checkdetach.o \
|
||||
stdlib_detach.o \
|
||||
stdlib_isresident.o \
|
||||
stdlib_sysbase.o \
|
||||
stdlib_dosbase.o \
|
||||
stdlib_machine_test.o \
|
||||
stdlib_malloc.o \
|
||||
stdlib_math.o \
|
||||
stdlib_mkdtemp.o \
|
||||
stdlib_mkstemp.o \
|
||||
stdlib_mktemp.o \
|
||||
stdlib_modsi3.o \
|
||||
stdlib_mulsi3.o \
|
||||
stdlib_never_free.o \
|
||||
stdlib_osliberror.o \
|
||||
stdlib_oslibversion.o \
|
||||
stdlib_priority.o \
|
||||
stdlib_process_name.o \
|
||||
stdlib_putenv.o \
|
||||
stdlib_qsort.o \
|
||||
stdlib_rand.o \
|
||||
stdlib_rand_r.o \
|
||||
stdlib_realloc.o \
|
||||
stdlib_red_black.o \
|
||||
stdlib_semaphore.o \
|
||||
stdlib_setenv.o \
|
||||
stdlib_setjmp.o \
|
||||
stdlib_set_errno.o \
|
||||
stdlib_set_process_window.o \
|
||||
stdlib_shell_escape.o \
|
||||
stdlib_showerror.o \
|
||||
stdlib_socket.o \
|
||||
stdlib_srand.o \
|
||||
stdlib_stackargbytes.o \
|
||||
stdlib_stackcheck.o \
|
||||
stdlib_stackoverflow.o \
|
||||
stdlib_stacksafezone.o \
|
||||
stdlib_stacksize.o \
|
||||
stdlib_stack_usage.o \
|
||||
stdlib_arg.o \
|
||||
stdlib_stdio_window_spec.o \
|
||||
stdlib_startup.o \
|
||||
stdlib_strtol.o \
|
||||
stdlib_strtoll.o \
|
||||
stdlib_strtoul.o \
|
||||
stdlib_strtoull.o \
|
||||
stdlib_swapstack.o \
|
||||
stdlib_sysbase.o \
|
||||
stdlib_system.o \
|
||||
stdlib_termination_message.o \
|
||||
stdlib_threshold.o \
|
||||
stdlib_udivsi3.o \
|
||||
stdlib_udivsi4.o \
|
||||
stdlib_umodsi3.o \
|
||||
stdlib_unsetenv.o \
|
||||
stdlib_usergroup.o \
|
||||
stdlib_wildcard_expand.o \
|
||||
strings_ffs.o \
|
||||
strings_strcasecmp.o \
|
||||
strings_strncasecmp.o \
|
||||
string_bcmp.o \
|
||||
@ -369,8 +328,6 @@ C_LIB = \
|
||||
string_strcspn.o \
|
||||
string_strdup.o \
|
||||
string_strerror.o \
|
||||
string_strlcat.o \
|
||||
string_strlcpy.o \
|
||||
string_strlen.o \
|
||||
string_strncat.o \
|
||||
string_strncmp.o \
|
||||
@ -380,40 +337,29 @@ C_LIB = \
|
||||
string_strspn.o \
|
||||
string_strstr.o \
|
||||
string_strtok.o \
|
||||
string_strtok_r.o \
|
||||
string_strxfrm.o \
|
||||
time_asctime.o \
|
||||
time_asctime_r.o \
|
||||
time_clock.o \
|
||||
time_converttime.o \
|
||||
time_convert_datestamp.o \
|
||||
time_convert_time.o \
|
||||
time_ctime.o \
|
||||
time_ctime_r.o \
|
||||
time_data.o \
|
||||
time_days_per_date.o \
|
||||
time_gettimeofday.o \
|
||||
time_gmtime.o \
|
||||
time_gmtime_r.o \
|
||||
time_localtime.o \
|
||||
time_localtime_r.o \
|
||||
time_mktime.o \
|
||||
time_numbertostring.o \
|
||||
time_strftime.o \
|
||||
time_time.o \
|
||||
time_weekday.o \
|
||||
unistd_access.o \
|
||||
unistd_chdir.o \
|
||||
unistd_chdir_exit.o \
|
||||
unistd_chown.o \
|
||||
unistd_currentpathname.o \
|
||||
unistd_data.o \
|
||||
unistd_dup.o \
|
||||
unistd_dup2.o \
|
||||
unistd_fchown.o \
|
||||
unistd_fdatasync.o \
|
||||
unistd_fdopen.o \
|
||||
unistd_fileno.o \
|
||||
unistd_fsync.o \
|
||||
unistd_ftruncate.o \
|
||||
unistd_getcwd.o \
|
||||
unistd_getopt.o \
|
||||
@ -426,26 +372,21 @@ C_LIB = \
|
||||
unistd_realpath.o \
|
||||
unistd_sleep.o \
|
||||
unistd_symlink.o \
|
||||
unistd_sync_fd.o \
|
||||
unistd_timer.o \
|
||||
unistd_time_delay.o \
|
||||
unistd_truncate.o \
|
||||
unistd_unlink.o \
|
||||
unistd_usleep.o \
|
||||
utime_utime.o \
|
||||
utsname_uname.o
|
||||
utime_utime.o
|
||||
|
||||
|
||||
# All objects files which make up libunix.a
|
||||
UNIX_LIB = \
|
||||
unix.lib_rev.o \
|
||||
dirent_closedir.o \
|
||||
dirent_rewinddir.o \
|
||||
dirent_data.o \
|
||||
dirent_opendir.o \
|
||||
dirent_readdir.o \
|
||||
dirent_rewinddir.o \
|
||||
fcntl_creat.o \
|
||||
fcntl_fcntl.o \
|
||||
fcntl_open.o \
|
||||
fcntl_get_default_file.o \
|
||||
mount_convertinfo.o \
|
||||
mount_statfs.o \
|
||||
stat_chmod.o \
|
||||
@ -455,23 +396,22 @@ UNIX_LIB = \
|
||||
stat_rmdir.o \
|
||||
stat_stat.o \
|
||||
stdio_fdhookentry.o \
|
||||
stdio_fflush.o \
|
||||
stdio_fopen.o \
|
||||
stdio_file_init.o \
|
||||
stdio_init_exit.o \
|
||||
stdio_locksemaphorename.o \
|
||||
stdio_openiob.o \
|
||||
stdio_fflush.o \
|
||||
stdio_fopen.o \
|
||||
stdio_fopen.o \
|
||||
stdio_popen.o \
|
||||
stdio_record_locking.o \
|
||||
stdio_remove.o \
|
||||
stdio_rename.o \
|
||||
stdlib_mkdtemp.o \
|
||||
stdlib_mkstemp.o \
|
||||
stdlib_mkstemp.o \
|
||||
stdlib_mktemp.o \
|
||||
stdlib_system.o \
|
||||
unistd_access.o \
|
||||
unistd_chdir.o \
|
||||
unistd_chdir_exit.o \
|
||||
unistd_chown.o \
|
||||
unistd_getcwd.o \
|
||||
unistd_lchown.o \
|
||||
@ -490,7 +430,6 @@ UNIX_LIB = \
|
||||
unistd_wildcard_expand.o \
|
||||
utime_utime.o
|
||||
|
||||
# All objects files which make up libm.a
|
||||
MATH_LIB = \
|
||||
math_acos.o \
|
||||
math_asin.o \
|
||||
@ -499,24 +438,18 @@ MATH_LIB = \
|
||||
math_ceil.o \
|
||||
math_cos.o \
|
||||
math_cosh.o \
|
||||
math_data.o \
|
||||
math_exp.o \
|
||||
math_fabs.o \
|
||||
math_floor.o \
|
||||
math_fmod.o \
|
||||
math_frexp.o \
|
||||
math_huge_val.o \
|
||||
math_hypot.o \
|
||||
math_init_exit.o \
|
||||
math_isnan.o \
|
||||
math_isinf.o \
|
||||
math_ldexp.o \
|
||||
math_log.o \
|
||||
math_log10.o \
|
||||
math_logb.o \
|
||||
math_modf.o \
|
||||
math_pow.o \
|
||||
math_rint.o \
|
||||
math_rintf.o \
|
||||
math_sin.o \
|
||||
math_sinh.o \
|
||||
math_sqrt.o \
|
||||
@ -532,6 +465,8 @@ MATH_LIB = \
|
||||
stdio_flush.o \
|
||||
stdio_fprintf.o \
|
||||
stdio_fscanf.o \
|
||||
stdio_isinfinity.o \
|
||||
stdio_isnotanumber.o \
|
||||
stdio_printf.o \
|
||||
stdio_scanf.o \
|
||||
stdio_snprintf.o \
|
||||
@ -540,6 +475,7 @@ MATH_LIB = \
|
||||
stdio_vasprintf.o \
|
||||
stdio_vfprintf.o \
|
||||
stdio_vfscanf.o \
|
||||
stdio_vfscanf.o \
|
||||
stdio_vprintf.o \
|
||||
stdio_vsnprintf.o \
|
||||
stdio_vsprintf.o \
|
||||
@ -548,12 +484,54 @@ MATH_LIB = \
|
||||
stdlib_strtod.o \
|
||||
time_difftime.o
|
||||
|
||||
# All objects files which make up libnet.a
|
||||
MATH_LIB_IEEE = \
|
||||
m.lib_rev.o \
|
||||
$(MATH_LIB) \
|
||||
math_adddf3.o \
|
||||
math_addsf3.o \
|
||||
math_divdf3.o \
|
||||
math_divsf3.o \
|
||||
math_eqdf2.o \
|
||||
math_eqsf2.o \
|
||||
math_extendsfdf2.o \
|
||||
math_fixdfsi.o \
|
||||
math_fixsfsi.o \
|
||||
math_fixunsdfsi.o \
|
||||
math_fixunssfsi.o \
|
||||
math_floatsidf.o \
|
||||
math_floatsisf.o \
|
||||
math_gedf2.o \
|
||||
math_gesf2.o \
|
||||
math_gtdf2.o \
|
||||
math_gtsf2.o \
|
||||
math_ledf2.o \
|
||||
math_lesf2.o \
|
||||
math_ltdf2.o \
|
||||
math_ltsf2.o \
|
||||
math_muldf3.o \
|
||||
math_mulsf3.o \
|
||||
math_nedf2.o \
|
||||
math_negdf2.o \
|
||||
math_negsf2.o \
|
||||
math_nesf2.o \
|
||||
math_subdf3.o \
|
||||
math_subsf3.o \
|
||||
math_truncdfsf2.o
|
||||
|
||||
STACK_LIB = \
|
||||
stack.lib_rev.o \
|
||||
stdlib_setjmp.o \
|
||||
stdlib_stackextension.o \
|
||||
stdlib_stackminframe.o \
|
||||
stdlib_stackoverflow.o \
|
||||
stdlib_stacksafezone.o
|
||||
|
||||
NET_LIB = \
|
||||
net.lib_rev.o \
|
||||
socket_accept.o \
|
||||
socket_bind.o \
|
||||
socket_connect.o \
|
||||
socket_data.o \
|
||||
socket_gethostbyaddr.o \
|
||||
socket_gethostbyname.o \
|
||||
socket_gethostid.o \
|
||||
@ -590,8 +568,6 @@ NET_LIB = \
|
||||
socket_shutdown.o \
|
||||
socket_socket.o \
|
||||
socket_hook_entry.o \
|
||||
socket_hstrerror.o \
|
||||
stat_umask.o \
|
||||
usergroup_crypt.o \
|
||||
usergroup_data.o \
|
||||
usergroup_endgrent.o \
|
||||
@ -621,12 +597,12 @@ NET_LIB = \
|
||||
usergroup_setreuid.o \
|
||||
usergroup_setsid.o \
|
||||
usergroup_setuid.o \
|
||||
utsname_uname.o
|
||||
stat_umask.o
|
||||
|
||||
# All objects files which make up libdebug.a
|
||||
DEBUG_LIB = \
|
||||
debug.lib_rev.o \
|
||||
debug.o \
|
||||
debug_level.o \
|
||||
debug_cmpstrexec.o \
|
||||
debug_kcmpstr.o \
|
||||
debug_kdofmt.o \
|
||||
@ -652,10 +628,8 @@ DEBUG_LIB = \
|
||||
debug_kputstr1.o \
|
||||
debug_kputstr2.o \
|
||||
debug_kvprintf1.o \
|
||||
debug_kvprintf2.o \
|
||||
debug_level.o
|
||||
debug_kvprintf2.o
|
||||
|
||||
# All objects files which make up libamiga.a
|
||||
AMIGA_LIB = \
|
||||
amiga.lib_rev.o \
|
||||
amiga_acrypt.o \
|
||||
@ -664,17 +638,10 @@ AMIGA_LIB = \
|
||||
amiga_argarrayinit.o \
|
||||
amiga_argint.o \
|
||||
amiga_argstring.o \
|
||||
amiga_beginio.o \
|
||||
amiga_callhooka.o \
|
||||
amiga_coercemethod.o \
|
||||
amiga_createextio.o \
|
||||
amiga_createport.o \
|
||||
amiga_createstdio.o \
|
||||
amiga_createtask.o \
|
||||
amiga_deleteextio.o \
|
||||
amiga_deleteport.o \
|
||||
amiga_deletestdio.o \
|
||||
amiga_deletetask.o \
|
||||
amiga_domethod.o \
|
||||
amiga_dosupermethod.o \
|
||||
amiga_dotimer.o \
|
||||
@ -682,80 +649,49 @@ AMIGA_LIB = \
|
||||
amiga_freeievents.o \
|
||||
amiga_hotkey.o \
|
||||
amiga_invertstring.o \
|
||||
amiga_newlist.o \
|
||||
amiga_rangerand.o \
|
||||
amiga_remtof.o \
|
||||
amiga_rexxvars.o \
|
||||
amiga_setsuperattrs.o \
|
||||
amiga_timedelay.o \
|
||||
amiga_waitbeam.o
|
||||
|
||||
MEMDEBUG_LIB = \
|
||||
stdio_vasprintf_debug.o \
|
||||
stdio_vasprintf_hook_entry_debug.o \
|
||||
stdlib_alloca_debug.o \
|
||||
stdlib_calloc_debug.o \
|
||||
stdlib_free_debug.o \
|
||||
stdlib_malloc_debug.o \
|
||||
string_strdup_debug.o \
|
||||
unistd_getcwd_debug.o
|
||||
amiga_waitbeam.o
|
||||
|
||||
##############################################################################
|
||||
|
||||
# The libraries to be built, prefixed by the respective path names
|
||||
LIBS := \
|
||||
$(LIBC_OBJS)/libc.a \
|
||||
$(LIBUNIX_OBJS)/libunix.a \
|
||||
$(LIBDEBUG_OBJS)/libdebug.a \
|
||||
$(LIBAMIGA_OBJS)/libamiga.a \
|
||||
$(LIBM_OBJS)/libm.a \
|
||||
$(LIBNET_OBJS)/libnet.a
|
||||
LIBS := $(LIBC_OBJS)/libc.a $(LIBSTACK_OBJS)/libstack.a $(LIBUNIX_OBJS)/libunix.a \
|
||||
$(LIBDEBUG_OBJS)/libdebug.a $(LIBAMIGA_OBJS)/libamiga.a \
|
||||
$(LIBM_OBJS)/libm.a $(LIBNET_OBJS)/libnet.a
|
||||
|
||||
##############################################################################
|
||||
|
||||
# The startup object files to be built
|
||||
STARTUPS := bcrt0.o bcrtbegin.o bcrtend.o crt0.o crtbegin.o crtend.o mainb.o mainnb.o
|
||||
|
||||
##############################################################################
|
||||
|
||||
# This is the first target: it creates the necessary directories, then proceeds
|
||||
# to build the startup object files and finally the libraries
|
||||
STARTUPS := crt0.o crtbegin.o crtend.o mainnb.o
|
||||
|
||||
##############################################################################
|
||||
|
||||
all: \
|
||||
lib \
|
||||
lib/soft-float \
|
||||
lib/small-data \
|
||||
lib/baserel \
|
||||
small_data \
|
||||
large_data \
|
||||
large_data_softfloat \
|
||||
baserel \
|
||||
lib/bcrt0.o \
|
||||
lib/bcrtbegin.o \
|
||||
lib/bcrtend.o \
|
||||
lib/crt0.o \
|
||||
lib/crtbegin.o \
|
||||
lib/crtend.o \
|
||||
lib/mainb.o \
|
||||
lib/mainnb.o \
|
||||
lib/libm.a \
|
||||
lib/small-data/libm.a \
|
||||
lib/soft-float/libm.a \
|
||||
lib/baserel/crt0.o \
|
||||
lib/baserel/crtbegin.o \
|
||||
lib/baserel/crtend.o \
|
||||
lib/baserel/mainb.o \
|
||||
lib/baserel/mainnb.o \
|
||||
lib/baserel/libm.a
|
||||
lib/libm.a
|
||||
|
||||
copy:
|
||||
$(COPY) $(foreach file,$(LIBS),large_data/$(file)) lib
|
||||
|
||||
##############################################################################
|
||||
|
||||
# Delete all object files and libraries
|
||||
clean:
|
||||
-$(DELETE) $(STARTUPS) lib small_data large_data large_data_softfloat baserel
|
||||
-$(DELETE) $(TYPE) $(STARTUPS) \
|
||||
$(LIBC_OBJS) $(LIBUNIX_OBJS) $(LIBM_OBJS) $(LIBSTACK_OBJS) $(LIBNET_OBJS) $(LIBDEBUG_OBJS) $(LIBAMIGA_OBJS)
|
||||
|
||||
realclean:
|
||||
$(MAKE) clean
|
||||
-$(DELETE) lib small_data large_data
|
||||
|
||||
##############################################################################
|
||||
|
||||
# Update the version numbers bound to the individual libraries
|
||||
version:
|
||||
cp c.lib_rev.rev amiga.lib_rev.rev
|
||||
cp c.lib_rev.rev debug.lib_rev.rev
|
||||
@ -775,90 +711,33 @@ version:
|
||||
|
||||
##############################################################################
|
||||
|
||||
# Tag all files with a certain version number
|
||||
cvs-tag:
|
||||
cvs -q tag V1_`cat c.lib_rev.rev`
|
||||
|
||||
##############################################################################
|
||||
|
||||
# This target first creates a directory to store the object files in, then
|
||||
# proceeds to build the libraries from the code. It is invoked by the
|
||||
# individual library build targets below.
|
||||
all_libraries: $(TYPE) $(LIBS)
|
||||
kitchen_sink: $(TYPE) $(LIBS) $(STARTUPS)
|
||||
|
||||
##############################################################################
|
||||
|
||||
ifneq (,$(TYPE))
|
||||
$(TYPE):
|
||||
$(MAKEDIR) $@
|
||||
endif
|
||||
|
||||
##############################################################################
|
||||
|
||||
# These create the required subdirectories to store object files and
|
||||
# libraries in
|
||||
lib:
|
||||
-$(MAKEDIR) $@
|
||||
|
||||
lib/small-data: lib
|
||||
-$(MAKEDIR) $@
|
||||
|
||||
lib/soft-float: lib
|
||||
-$(MAKEDIR) $@
|
||||
|
||||
lib/baserel: lib
|
||||
-$(MAKEDIR) $@
|
||||
|
||||
small_data:
|
||||
-$(MAKEDIR) $@
|
||||
|
||||
large_data:
|
||||
-$(MAKEDIR) $@
|
||||
|
||||
large_data_softfloat:
|
||||
-$(MAKEDIR) $@
|
||||
|
||||
baserel:
|
||||
-$(MAKEDIR) $@
|
||||
|
||||
##############################################################################
|
||||
|
||||
# Dependencies for libm.a (large data variant with hardware floating point code
|
||||
# support): this actually ends up building all the libraries rather than just
|
||||
# libm.a
|
||||
lib/libm.a: large_data large_data/libm.a
|
||||
|
||||
large_data/libm.a:
|
||||
$(MAKE) TYPE=large_data all_libraries
|
||||
lib/libm.a: lib
|
||||
$(MAKE) TYPE=large_data kitchen_sink
|
||||
$(COPY) $(foreach file,$(LIBS),large_data/$(file)) lib
|
||||
|
||||
##############################################################################
|
||||
|
||||
# Dependencies for libm.a (large data variant with software floating point code
|
||||
# support): this actually ends up building all the libraries rather than just
|
||||
# libm.a
|
||||
lib/soft-float/libm.a: large_data_softfloat large_data_softfloat/libm.a
|
||||
|
||||
large_data_softfloat/libm.a:
|
||||
$(MAKE) TYPE=large_data_softfloat all_libraries
|
||||
$(COPY) $(foreach file,$(LIBS),large_data_softfloat/$(file)) lib/soft-float
|
||||
|
||||
##############################################################################
|
||||
|
||||
# Dependencies for libm.a (small data variant): this actually ends up building all
|
||||
# the libraries rather than just libm.a
|
||||
lib/small-data/libm.a: small_data small_data/libm.a
|
||||
|
||||
small_data/libm.a:
|
||||
$(MAKE) TYPE=small_data all_libraries
|
||||
lib/small-data/libm.a: lib lib/small-data
|
||||
$(MAKE) TYPE=small_data kitchen_sink
|
||||
$(COPY) $(foreach file,$(LIBS),small_data/$(file)) lib/small-data
|
||||
|
||||
##############################################################################
|
||||
|
||||
# Dependencies for libm.a (baserel variant)
|
||||
|
||||
lib/baserel/libm.a: baserel baserel/libm.a
|
||||
|
||||
baserel/libm.a:
|
||||
$(MAKE) TYPE=baserel all_libraries
|
||||
$(COPY) $(foreach file,$(LIBS),baserel/$(file)) lib/baserel
|
||||
|
||||
##############################################################################
|
||||
|
||||
# Rules to build and move the startup code
|
||||
lib/crt0.o : lib crt0.o
|
||||
$(COPY) crt0.o lib
|
||||
|
||||
@ -874,62 +753,24 @@ lib/mainnb.o : lib mainnb.o
|
||||
lib/mainb.o : lib mainb.o
|
||||
$(COPY) mainb.o lib
|
||||
|
||||
lib/bcrt0.o : lib bcrt0.o
|
||||
$(COPY) bcrt0.o lib
|
||||
|
||||
lib/bcrtbegin.o : lib bcrtbegin.o
|
||||
$(COPY) bcrtbegin.o lib
|
||||
|
||||
lib/bcrtend.o : lib bcrtend.o
|
||||
$(COPY) bcrtend.o lib
|
||||
|
||||
lib/baserel/crt0.o : lib baserel/crt0.o
|
||||
$(COPY) baserel/crt0.o lib/baserel
|
||||
|
||||
lib/baserel/crtbegin.o : lib baserel/crtbegin.o
|
||||
$(COPY) baserel/crtbegin.o lib/baserel
|
||||
|
||||
lib/baserel/crtend.o : lib baserel/crtend.o
|
||||
$(COPY) baserel/crtend.o lib/baserel
|
||||
|
||||
lib/baserel/mainnb.o : lib baserel/mainnb.o
|
||||
$(COPY) baserel/mainnb.o lib/baserel
|
||||
|
||||
lib/baserel/mainb.o : lib baserel/mainb.o
|
||||
$(COPY) baserel/mainb.o lib/baserel
|
||||
|
||||
|
||||
##############################################################################
|
||||
|
||||
# Individual dependencies which tell make to build the object files from
|
||||
# 'C' source files rather than the assembly language source files of the
|
||||
# same name (e.g. stdlib_getsp.c instead of stdlib_getsp.asm).
|
||||
$(LIBAMIGA_OBJS)/amiga_hookentry.o : amiga_hookentry.c
|
||||
|
||||
$(LIBC_OBJS)/stdlib_getsp.o : stdlib_getsp.c
|
||||
|
||||
$(LIBC_OBJS)/stdlib_swapstack.o : stdlib_swapstack.c
|
||||
|
||||
$(LIBC_OBJS)/stdlib_setjmp.o : stdlib_setjmp.c
|
||||
|
||||
##############################################################################
|
||||
|
||||
# Build rules for version information that goes into each library
|
||||
$(LIBC_OBJS)/c.lib_rev.o : c.lib_rev.c c.lib_rev.h
|
||||
|
||||
$(LIBUNIX_OBJS)/unix.lib_rev.o : unix.lib_rev.c unix.lib_rev.h
|
||||
|
||||
$(LIBM_OBJS)/m.lib_rev.o : m.lib_rev.c m.lib_rev.h
|
||||
|
||||
$(LIBNET_OBJS)/net.lib_rev.o : net.lib_rev.c net.lib_rev.h
|
||||
|
||||
$(LIBDEBUG_OBJS)/debug.lib_rev.o : debug.lib_rev.c debug.lib_rev.h
|
||||
|
||||
$(LIBAMIGA_OBJS)/amiga.lib_rev.o : amiga.lib_rev.c amiga.lib_rev.h
|
||||
$(LIBSTACK_OBJS)/stdlib_setjmp.o : stdlib_setjmp.c
|
||||
|
||||
##############################################################################
|
||||
|
||||
# Build rules for the debug version of the library which has special
|
||||
# memory allocation debugging code, controlled by the contents of
|
||||
# the stdlib_mem_debug.h file.
|
||||
$(LIBC_OBJS)/stdlib_stacksize.o : stdlib_stacksize.c stdlib_gcc_help.h
|
||||
|
||||
$(LIBC_OBJS)/stdlib_shell_escape.o : stdlib_shell_escape.c stdlib_gcc_help.h
|
||||
|
||||
$(LIBC_OBJS)/stdlib_alloca.o : stdlib_alloca.c stdlib_mem_debug.h
|
||||
|
||||
$(LIBC_OBJS)/stdlib_calloc.o : stdlib_calloc.c stdlib_mem_debug.h
|
||||
@ -946,55 +787,6 @@ $(LIBC_OBJS)/stdlib_red_black.o : stdlib_red_black.c stdlib_mem_debug.h
|
||||
|
||||
##############################################################################
|
||||
|
||||
# Peculiar build rules for the debug versions of memory allocation functions,
|
||||
# or at least those which use memory allocation functionality.
|
||||
$(LIBC_OBJS)/stdlib_alloca_debug.o : stdlib_alloca.c
|
||||
@echo "Compiling $< [$(TYPE):c debug]"
|
||||
@$(CC) -o $(LIBC_OBJS)/stdlib_alloca_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG stdlib_alloca.c
|
||||
|
||||
$(LIBC_OBJS)/stdlib_calloc_debug.o : stdlib_calloc.c
|
||||
@echo "Compiling $< [$(TYPE):c debug]"
|
||||
@$(CC) -o $(LIBC_OBJS)/stdlib_calloc_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG stdlib_calloc.c
|
||||
|
||||
$(LIBC_OBJS)/stdlib_free_debug.o : stdlib_free.c
|
||||
@echo "Compiling $< [$(TYPE):c debug]"
|
||||
@$(CC) -o $(LIBC_OBJS)/stdlib_free_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG stdlib_free.c
|
||||
|
||||
$(LIBC_OBJS)/stdlib_malloc_debug.o : stdlib_malloc.c
|
||||
@echo "Compiling $< [$(TYPE):c debug]"
|
||||
@$(CC) -o $(LIBC_OBJS)/stdlib_malloc_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG stdlib_malloc.c
|
||||
|
||||
$(LIBC_OBJS)/stdlib_realloc_debug.o : stdlib_realloc.c
|
||||
@echo "Compiling $< [$(TYPE):c debug]"
|
||||
@$(CC) -o $(LIBC_OBJS)/stdlib_realloc_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG stdlib_realloc.c
|
||||
|
||||
$(LIBC_OBJS)/stdio_vasprintf_hook_entry_debug.o : stdio_vasprintf_hook_entry.c
|
||||
@echo "Compiling $< [$(TYPE):c debug]"
|
||||
@$(CC) -o $(LIBC_OBJS)/stdio_vasprintf_hook_entry_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG stdio_vasprintf_hook_entry.c
|
||||
|
||||
$(LIBC_OBJS)/stdio_vasprintf_debug.o : stdio_vasprintf.c
|
||||
@echo "Compiling $< [$(TYPE):c debug]"
|
||||
@$(CC) -o $(LIBC_OBJS)/stdio_vasprintf_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG stdio_vasprintf.c
|
||||
|
||||
$(LIBM_OBJS)/stdio_vasprintf_debug.o : stdio_vasprintf.c
|
||||
@echo "Compiling $< [$(TYPE):m debug]"
|
||||
@$(CC) -o $(LIBM_OBJS)/stdio_vasprintf_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG $(FLOAT_TYPE) stdio_vasprintf.c
|
||||
|
||||
$(LIBC_OBJS)/string_strdup_debug.o : string_strdup.c
|
||||
@echo "Compiling $< [$(TYPE):c debug]"
|
||||
@$(CC) -o $(LIBC_OBJS)/string_strdup_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG string_strdup.c
|
||||
|
||||
$(LIBC_OBJS)/unistd_getcwd_debug.o : unistd_getcwd.c
|
||||
@echo "Compiling $< [$(TYPE):c debug]"
|
||||
@$(CC) -o $(LIBC_OBJS)/unistd_getcwd_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG unistd_getcwd.c
|
||||
|
||||
$(LIBUNIX_OBJS)/unistd_getcwd_debug.o : unistd_getcwd.c
|
||||
@echo "Compiling $< [$(TYPE):unix debug]"
|
||||
@$(CC) -o $(LIBUNIX_OBJS)/unistd_getcwd_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG -DUNIX_PATH_SEMANTICS unistd_getcwd.c
|
||||
|
||||
##############################################################################
|
||||
|
||||
# Individual build rules for libc.a
|
||||
$(LIBC_OBJS) :
|
||||
$(MAKEDIR) $@
|
||||
|
||||
@ -1005,7 +797,6 @@ $(LIBC_OBJS)/libc.a : $(LIBC_OBJS) $(foreach file,$(C_LIB),$(LIBC_OBJS)/$(file))
|
||||
|
||||
##############################################################################
|
||||
|
||||
# Individual build rules for libunix.a
|
||||
$(LIBUNIX_OBJS) :
|
||||
$(MAKEDIR) $@
|
||||
|
||||
@ -1016,18 +807,26 @@ $(LIBUNIX_OBJS)/libunix.a : $(LIBUNIX_OBJS) $(foreach file,$(UNIX_LIB),$(LIBUNIX
|
||||
|
||||
##############################################################################
|
||||
|
||||
# Individual build rules for libm.a
|
||||
$(LIBM_OBJS) :
|
||||
$(MAKEDIR) $@
|
||||
|
||||
$(LIBM_OBJS)/libm.a : $(LIBM_OBJS) $(foreach file,$(MATH_LIB),$(LIBM_OBJS)/$(file))
|
||||
$(LIBM_OBJS)/libm.a : $(LIBM_OBJS) $(foreach file,$(MATH_LIB_IEEE),$(LIBM_OBJS)/$(file))
|
||||
-$(DELETE) $@
|
||||
@$(AR) $@ $(foreach file,$(MATH_LIB),$(LIBM_OBJS)/$(file))
|
||||
@$(AR) $@ $(foreach file,$(MATH_LIB_IEEE),$(LIBM_OBJS)/$(file))
|
||||
$(RANLIB) $@
|
||||
|
||||
##############################################################################
|
||||
|
||||
$(LIBSTACK_OBJS) :
|
||||
$(MAKEDIR) $@
|
||||
|
||||
$(LIBSTACK_OBJS)/libstack.a : $(LIBSTACK_OBJS) $(foreach file,$(STACK_LIB),$(LIBSTACK_OBJS)/$(file))
|
||||
-$(DELETE) $@
|
||||
@$(AR) $@ $(foreach file,$(STACK_LIB),$(LIBSTACK_OBJS)/$(file))
|
||||
$(RANLIB) $@
|
||||
|
||||
##############################################################################
|
||||
|
||||
# Individual build rules for libnet.a
|
||||
$(LIBNET_OBJS) :
|
||||
$(MAKEDIR) $@
|
||||
|
||||
@ -1038,7 +837,6 @@ $(LIBNET_OBJS)/libnet.a : $(LIBNET_OBJS) $(foreach file,$(NET_LIB),$(LIBNET_OBJS
|
||||
|
||||
##############################################################################
|
||||
|
||||
# Individual build rules for libdebug.a
|
||||
$(LIBDEBUG_OBJS) :
|
||||
$(MAKEDIR) $@
|
||||
|
||||
@ -1049,7 +847,6 @@ $(LIBDEBUG_OBJS)/libdebug.a : $(LIBDEBUG_OBJS) $(foreach file,$(DEBUG_LIB),$(LIB
|
||||
|
||||
##############################################################################
|
||||
|
||||
# Individual build rules for libamiga.a
|
||||
$(LIBAMIGA_OBJS) :
|
||||
$(MAKEDIR) $@
|
||||
|
||||
@ -1060,7 +857,6 @@ $(LIBAMIGA_OBJS)/libamiga.a : $(LIBAMIGA_OBJS) $(foreach file,$(AMIGA_LIB),$(LIB
|
||||
|
||||
##############################################################################
|
||||
|
||||
# Individual build rules for the startup code.
|
||||
crt0.o : crt0.S
|
||||
@echo "Assembling $<"
|
||||
@$(CC) -Wa,-mregnames -o crt0.o -c crt0.S
|
||||
@ -1077,26 +873,11 @@ mainb.o : stdlib_main.c
|
||||
@echo "Compiling $<"
|
||||
@$(CC) -o mainb.o -c $(WARNINGS) $(OPTIMIZE) $(DEBUG) $(OPTIONS) $(INCLUDES) -msdata=sysv -DSMALL_DATA stdlib_main.c
|
||||
|
||||
bcrtbegin.o : crtbegin.c
|
||||
$(CC) -o bcrtbegin.o -c $(WARNINGS) $(OPTIMIZE) $(DEBUG) $(OPTIONS) $(INCLUDES) -msdata=sysv -DSMALL_DATA crtbegin.c
|
||||
##############################################################################
|
||||
|
||||
bcrtend.o : crtend.c
|
||||
$(CC) -o bcrtend.o -c $(WARNINGS) $(OPTIMIZE) $(DEBUG) $(OPTIONS) $(INCLUDES) -msdata=sysv -DSMALL_DATA crtend.c
|
||||
mkid:
|
||||
# mkid -v #?.(c|h|asm|i) include/#?.(c|h|asm|i) include/sys/#?.(c|h|asm|i)
|
||||
mkid *.[ch] include/*.h include/sys/*.h
|
||||
|
||||
baserel/crt0.o : crt0.S
|
||||
@echo "Assembling $<"
|
||||
@$(CC) -Wa,-mregnames -o baserel/crt0.o -mbaserel -DBASEREL_DATA -c crt0.S
|
||||
|
||||
baserel/mainnb.o : stdlib_main.c
|
||||
@echo "Compiling $<"
|
||||
@$(CC) -o baserel/mainnb.o -c $(WARNINGS) $(OPTIMIZE) $(DEBUG) $(OPTIONS) $(INCLUDES) -mbaserel -DBASEREL_DATA stdlib_main.c
|
||||
|
||||
baserel/mainb.o : stdlib_main.c
|
||||
@echo "Compiling $<"
|
||||
@$(CC) -o baserel/mainb.o -c $(WARNINGS) $(OPTIMIZE) $(DEBUG) $(OPTIONS) $(INCLUDES) -mbaserel -DBASEREL_DATA stdlib_main.c
|
||||
|
||||
baserel/crtbegin.o : crtbegin.c
|
||||
$(CC) -o baserel/crtbegin.o -c $(WARNINGS) $(OPTIMIZE) $(DEBUG) $(OPTIONS) $(INCLUDES) -mbaserel -DBASEREL_DATA crtbegin.c
|
||||
|
||||
baserel/crtend.o : crtend.c
|
||||
$(CC) -o baserel/crtend.o -c $(WARNINGS) $(OPTIMIZE) $(DEBUG) $(OPTIONS) $(INCLUDES) -mbaserel -DBASEREL_DATA crtend.c
|
||||
update:
|
||||
mkid -v -u
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga.lib_rev.c,v 1.2 2005-01-02 09:07:06 obarthel Exp $
|
||||
* $Id: amiga.lib_rev.c,v 1.1.1.1 2004-07-26 16:30:15 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
#define VERSION 1
|
||||
#define REVISION 189
|
||||
#define DATE "5.3.2005"
|
||||
#define VERS "amiga.lib 1.189"
|
||||
#define VSTRING "amiga.lib 1.189 (5.3.2005)\r\n"
|
||||
#define VERSTAG "\0$VER: amiga.lib 1.189 (5.3.2005)"
|
||||
#define REVISION 165
|
||||
#define DATE "26.7.2004"
|
||||
#define VERS "amiga.lib 1.165"
|
||||
#define VSTRING "amiga.lib 1.165 (26.7.2004)\r\n"
|
||||
#define VERSTAG "\0$VER: amiga.lib 1.165 (26.7.2004)"
|
||||
|
||||
@ -1 +1 @@
|
||||
189
|
||||
165
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_acrypt.c,v 1.2 2005-01-02 09:07:06 obarthel Exp $
|
||||
* $Id: amiga_acrypt.c,v 1.1.1.1 2004-07-26 16:30:16 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_addtof.c,v 1.3 2005-02-25 10:14:20 obarthel Exp $
|
||||
* $Id: amiga_addtof.c,v 1.1.1.1 2004-07-26 16:30:16 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -57,7 +57,7 @@ typedef LONG (* CFUNC)(APTR arg);
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
STATIC LONG INTERRUPT ASM
|
||||
static LONG INTERRUPT ASM
|
||||
call_routine(REG(a1,struct Isrvstr *i))
|
||||
{
|
||||
CFUNC p = (CFUNC)i->ccode;
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_argarraydone.c,v 1.2 2005-01-02 09:07:06 obarthel Exp $
|
||||
* $Id: amiga_argarraydone.c,v 1.1.1.1 2004-07-26 16:30:16 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_argarrayinit.c,v 1.2 2005-01-02 09:07:06 obarthel Exp $
|
||||
* $Id: amiga_argarrayinit.c,v 1.1.1.1 2004-07-26 16:30:16 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_argint.c,v 1.2 2005-01-02 09:07:06 obarthel Exp $
|
||||
* $Id: amiga_argint.c,v 1.1.1.1 2004-07-26 16:30:16 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_argstring.c,v 1.2 2005-01-02 09:07:06 obarthel Exp $
|
||||
* $Id: amiga_argstring.c,v 1.1.1.1 2004-07-26 16:30:16 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_beginio.c,v 1.3 2005-01-02 09:07:06 obarthel Exp $
|
||||
* $Id: amiga_beginio.c,v 1.1.1.1 2004-07-26 16:30:17 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -37,14 +37,6 @@
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#include "debug.h"
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#ifndef __PPC__
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#if defined(__SASC)
|
||||
|
||||
VOID __begin_io(struct IORequest * ior);
|
||||
@ -72,6 +64,10 @@ VOID __begin_io(struct IORequest * ior);
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#include "debug.h"
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
VOID
|
||||
BeginIO(struct IORequest *ior)
|
||||
{
|
||||
@ -86,35 +82,3 @@ BeginIO(struct IORequest *ior)
|
||||
|
||||
LEAVE();
|
||||
}
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#else
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#include <proto/exec.h>
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#if defined(BeginIO)
|
||||
#undef BeginIO
|
||||
#endif /* BeginIO */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
VOID
|
||||
BeginIO(struct IORequest *ior)
|
||||
{
|
||||
ENTER();
|
||||
|
||||
assert( ior != NULL && ior->io_Device != NULL );
|
||||
|
||||
IExec->BeginIO(ior);
|
||||
|
||||
LEAVE();
|
||||
}
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#endif /* __PPC__ */
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_callhook.c,v 1.2 2005-01-02 09:07:06 obarthel Exp $
|
||||
* $Id: amiga_callhook.c,v 1.1.1.1 2004-07-26 16:30:17 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
*
|
||||
* $Id: amiga_callhooka.asm,v 1.2 2005-01-02 09:07:06 obarthel Exp $
|
||||
* $Id: amiga_callhooka.asm,v 1.1.1.1 2004-07-26 16:30:17 obarthel Exp $
|
||||
*
|
||||
* :ts=8
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_callhooka.c,v 1.2 2005-01-02 09:07:06 obarthel Exp $
|
||||
* $Id: amiga_callhooka.c,v 1.1.1.1 2004-07-26 16:30:17 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_coercemethod.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
|
||||
* $Id: amiga_coercemethod.c,v 1.1.1.1 2004-07-26 16:30:17 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_createextio.c,v 1.3 2005-01-02 09:07:07 obarthel Exp $
|
||||
* $Id: amiga_createextio.c,v 1.1.1.1 2004-07-26 16:30:18 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -44,12 +44,6 @@
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#if defined(CreateExtIO)
|
||||
#undef CreateExtIO
|
||||
#endif /* CreateExtIO */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
struct IORequest *
|
||||
CreateExtIO(CONST struct MsgPort * port, LONG io_size)
|
||||
{
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_createport.c,v 1.3 2005-01-02 09:07:07 obarthel Exp $
|
||||
* $Id: amiga_createport.c,v 1.1.1.1 2004-07-26 16:30:18 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -44,12 +44,6 @@
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#if defined(CreatePort)
|
||||
#undef CreatePort
|
||||
#endif /* CreatePort */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
struct MsgPort *
|
||||
CreatePort(CONST_STRPTR name, LONG pri)
|
||||
{
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_createstdio.c,v 1.3 2005-01-02 09:07:07 obarthel Exp $
|
||||
* $Id: amiga_createstdio.c,v 1.1.1.1 2004-07-26 16:30:18 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -44,12 +44,6 @@
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#if defined(CreateStdIO)
|
||||
#undef CreateStdIO
|
||||
#endif /* CreateStdIO */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
struct IOStdReq *
|
||||
CreateStdIO(CONST struct MsgPort * port)
|
||||
{
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_createtask.c,v 1.3 2005-01-02 09:07:07 obarthel Exp $
|
||||
* $Id: amiga_createtask.c,v 1.1.1.1 2004-07-26 16:30:18 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -31,6 +31,8 @@
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#ifndef __PPC__
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#include <exec/libraries.h>
|
||||
@ -51,10 +53,6 @@
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#ifndef __PPC__
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
/*
|
||||
* Create a task with given name, priority, and stack size.
|
||||
* It will use the default exception and trap handlers for now.
|
||||
@ -193,44 +191,4 @@ CreateTask(CONST_STRPTR name,LONG pri,CONST APTR init_pc,ULONG stack_size)
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#else
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#if defined(CreateTask)
|
||||
#undef CreateTask
|
||||
#endif /* CreateTask */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
struct Task *
|
||||
CreateTask(CONST_STRPTR name,LONG pri,CONST APTR init_pc,ULONG stack_size)
|
||||
{
|
||||
struct Task * result = NULL;
|
||||
|
||||
ENTER();
|
||||
|
||||
SHOWSTRING(name);
|
||||
SHOWVALUE(pri);
|
||||
SHOWPOINTER(init_pc);
|
||||
SHOWVALUE(stack_size);
|
||||
|
||||
assert( name != NULL && (-128 <= pri && pri <= 127) && init_pc != NULL && stack_size > 0 );
|
||||
|
||||
if(name == NULL || pri < -128 || pri > 127 || init_pc == NULL || stack_size == 0)
|
||||
{
|
||||
SHOWMSG("invalid parameters");
|
||||
goto out;
|
||||
}
|
||||
|
||||
result = IExec->CreateTask(name,pri,init_pc,stack_size,NULL);
|
||||
|
||||
out:
|
||||
|
||||
RETURN(result);
|
||||
return(result);
|
||||
}
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#endif /* __PPC__ */
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_deleteextio.c,v 1.3 2005-01-02 09:07:07 obarthel Exp $
|
||||
* $Id: amiga_deleteextio.c,v 1.1.1.1 2004-07-26 16:30:18 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -44,12 +44,6 @@
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#if defined(DeleteExtIO)
|
||||
#undef DeleteExtIO
|
||||
#endif /* DeleteExtIO */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
VOID
|
||||
DeleteExtIO(struct IORequest * io)
|
||||
{
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_deleteport.c,v 1.3 2005-01-02 09:07:07 obarthel Exp $
|
||||
* $Id: amiga_deleteport.c,v 1.1.1.1 2004-07-26 16:30:19 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -44,12 +44,6 @@
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#if defined(DeletePort)
|
||||
#undef DeletePort
|
||||
#endif /* DeletePort */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
VOID
|
||||
DeletePort(struct MsgPort * port)
|
||||
{
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_deletestdio.c,v 1.3 2005-01-02 09:07:07 obarthel Exp $
|
||||
* $Id: amiga_deletestdio.c,v 1.1.1.1 2004-07-26 16:30:19 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -44,12 +44,6 @@
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#if defined(DeleteStdIO)
|
||||
#undef DeleteStdIO
|
||||
#endif /* DeleteStdIO */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
VOID
|
||||
DeleteStdIO(struct IOStdReq * io)
|
||||
{
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_deletetask.c,v 1.3 2005-01-02 09:07:07 obarthel Exp $
|
||||
* $Id: amiga_deletetask.c,v 1.1.1.1 2004-07-26 16:30:19 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -41,34 +41,8 @@
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#ifndef __PPC__
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
VOID
|
||||
DeleteTask(struct Task *tc)
|
||||
{
|
||||
RemTask(tc);
|
||||
}
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#else
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#if defined(DeleteTask)
|
||||
#undef DeleteTask
|
||||
#endif /* DeleteTask */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
VOID
|
||||
DeleteTask(struct Task *tc)
|
||||
{
|
||||
IExec->DeleteTask(tc);
|
||||
}
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#endif /* __PPC__ */
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_domethod.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
|
||||
* $Id: amiga_domethod.c,v 1.1.1.1 2004-07-26 16:30:19 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_dosupermethod.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
|
||||
* $Id: amiga_dosupermethod.c,v 1.1.1.1 2004-07-26 16:30:19 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_dotimer.c,v 1.3 2005-03-06 09:00:16 obarthel Exp $
|
||||
* $Id: amiga_dotimer.c,v 1.1.1.1 2004-07-26 16:30:19 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -58,37 +58,18 @@ DoTimer(struct timeval *tv,LONG unit,LONG command)
|
||||
|
||||
assert( tv != NULL );
|
||||
|
||||
#if defined(__amigaos4__)
|
||||
mp = AllocVec(sizeof(*mp),MEMF_ANY|MEMF_PUBLIC|MEMF_CLEAR);
|
||||
if(mp == NULL)
|
||||
{
|
||||
mp = AllocSysObjectTags(ASOT_PORT,
|
||||
ASOPORT_Action, PA_SIGNAL,
|
||||
ASOPORT_Signal, SIGB_SINGLE,
|
||||
ASOPORT_Target, FindTask(NULL),
|
||||
TAG_DONE);
|
||||
|
||||
if(mp == NULL)
|
||||
{
|
||||
error = IOERR_OPENFAIL;
|
||||
goto out;
|
||||
}
|
||||
error = IOERR_OPENFAIL;
|
||||
goto out;
|
||||
}
|
||||
#else
|
||||
{
|
||||
mp = AllocVec(sizeof(*mp),MEMF_ANY|MEMF_PUBLIC|MEMF_CLEAR);
|
||||
if(mp == NULL)
|
||||
{
|
||||
error = IOERR_OPENFAIL;
|
||||
goto out;
|
||||
}
|
||||
|
||||
mp->mp_Node.ln_Type = NT_MSGPORT;
|
||||
mp->mp_Flags = PA_SIGNAL;
|
||||
mp->mp_SigBit = SIGB_SINGLE;
|
||||
mp->mp_SigTask = FindTask(NULL);
|
||||
|
||||
NewList(&mp->mp_MsgList);
|
||||
}
|
||||
#endif /* __amigaos4__ */
|
||||
mp->mp_Node.ln_Type = NT_MSGPORT;
|
||||
mp->mp_Flags = PA_SIGNAL;
|
||||
mp->mp_SigBit = SIGB_SINGLE;
|
||||
mp->mp_SigTask = FindTask(NULL);
|
||||
NewList(&mp->mp_MsgList);
|
||||
|
||||
tr = (struct timerequest *)CreateIORequest(mp,sizeof(*tr));
|
||||
if(tr == NULL)
|
||||
@ -126,16 +107,7 @@ DoTimer(struct timeval *tv,LONG unit,LONG command)
|
||||
DeleteIORequest((struct IORequest *)tr);
|
||||
}
|
||||
|
||||
#if defined(__amigaos4__)
|
||||
{
|
||||
if(mp != NULL)
|
||||
FreeSysObject(ASOT_PORT,mp);
|
||||
}
|
||||
#else
|
||||
{
|
||||
FreeVec(mp);
|
||||
}
|
||||
#endif /* __amigaos4__ */
|
||||
FreeVec(mp);
|
||||
|
||||
return(error);
|
||||
}
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_fastrand.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
|
||||
* $Id: amiga_fastrand.c,v 1.1.1.1 2004-07-26 16:30:20 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_freeievents.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
|
||||
* $Id: amiga_freeievents.c,v 1.1.1.1 2004-07-26 16:30:20 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
*
|
||||
* $Id: amiga_hookentry.asm,v 1.2 2005-01-02 09:07:07 obarthel Exp $
|
||||
* $Id: amiga_hookentry.asm,v 1.1.1.1 2004-07-26 16:30:20 obarthel Exp $
|
||||
*
|
||||
* :ts=8
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_hookentry.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
|
||||
* $Id: amiga_hookentry.c,v 1.1.1.1 2004-07-26 16:30:20 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_hotkey.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
|
||||
* $Id: amiga_hotkey.c,v 1.1.1.1 2004-07-26 16:30:20 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_invertstring.c,v 1.3 2005-02-25 10:14:20 obarthel Exp $
|
||||
* $Id: amiga_invertstring.c,v 1.1.1.1 2004-07-26 16:30:20 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -49,7 +49,7 @@
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
STATIC int
|
||||
static int
|
||||
do_escape(int cc)
|
||||
{
|
||||
int result;
|
||||
@ -91,7 +91,7 @@ do_escape(int cc)
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
STATIC ULONG
|
||||
static ULONG
|
||||
do_angle(STRPTR * strp, struct InputEvent *ie)
|
||||
{
|
||||
ULONG result;
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_newlist.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
|
||||
* $Id: amiga_newlist.c,v 1.1.1.1 2004-07-26 16:30:21 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_rangerand.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
|
||||
* $Id: amiga_rangerand.c,v 1.1.1.1 2004-07-26 16:30:21 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_remtof.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
|
||||
* $Id: amiga_remtof.c,v 1.1.1.1 2004-07-26 16:30:21 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,193 +0,0 @@
|
||||
/*
|
||||
* $Id: amiga_rexxvars.c,v 1.3 2005-01-09 10:10:40 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* 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.
|
||||
*/
|
||||
|
||||
/* We don't want to pull in <clib/alib_protos.h> */
|
||||
#define CLIB_ALIB_PROTOS_H
|
||||
|
||||
#ifndef _STDLIB_HEADERS_H
|
||||
#include "stdlib_headers.h"
|
||||
#endif /* _STDLIB_HEADERS_H */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#include <rexx/rxslib.h>
|
||||
#include <rexx/errors.h>
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#define __NOLIBBASE__
|
||||
#include <proto/rexxsyslib.h>
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
static struct Library * RexxSysBase;
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#if defined(__amigaos4__)
|
||||
static struct RexxSysIFace * IRexxSys;
|
||||
#endif /* __amigaos4__ */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
CLIB_CONSTRUCTOR(__rexxvars_init)
|
||||
{
|
||||
ENTER();
|
||||
|
||||
RexxSysBase = OpenLibrary(RXSNAME,0);
|
||||
|
||||
#if defined(__amigaos4__)
|
||||
{
|
||||
if(RexxSysBase != NULL)
|
||||
{
|
||||
IRexxSys = (struct RexxSysIFace *)GetInterface(RexxSysBase, "main", 1, 0);
|
||||
if(IRexxSys == NULL)
|
||||
{
|
||||
CloseLibrary(RexxSysBase);
|
||||
RexxSysBase = NULL;
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif /* __amigaos4__ */
|
||||
|
||||
CONSTRUCTOR_SUCCEED();
|
||||
}
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
CLIB_DESTRUCTOR(__rexxvars_exit)
|
||||
{
|
||||
ENTER();
|
||||
|
||||
#if defined(__amigaos4__)
|
||||
{
|
||||
if(IRexxSys != NULL)
|
||||
DropInterface((struct Interface *)IRexxSys);
|
||||
|
||||
IRexxSys = NULL;
|
||||
}
|
||||
#endif /* __amigaos4__ */
|
||||
|
||||
if(RexxSysBase != NULL)
|
||||
{
|
||||
CloseLibrary(RexxSysBase);
|
||||
RexxSysBase = NULL;
|
||||
}
|
||||
|
||||
LEAVE();
|
||||
}
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
/* This is modeled after the original assembly language code. Except for the
|
||||
fact that we compare the library base against a local, static variable
|
||||
rather then opening the library for each check. */
|
||||
BOOL
|
||||
CheckRexxMsg(struct RexxMsg *message)
|
||||
{
|
||||
BOOL result = FALSE;
|
||||
|
||||
if(RexxSysBase == NULL)
|
||||
goto out;
|
||||
|
||||
if(message->rm_LibBase != RexxSysBase)
|
||||
goto out;
|
||||
|
||||
if(message->rm_TaskBlock == NULL)
|
||||
goto out;
|
||||
|
||||
if(NOT IsRexxMsg(message))
|
||||
goto out;
|
||||
|
||||
result = TRUE;
|
||||
|
||||
out:
|
||||
|
||||
return(result);
|
||||
}
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
/* The following function works in about like the original, except that it's
|
||||
not reentrant, does not fill in a pointer to the variable itself and
|
||||
requires rexxsyslib.library V45. */
|
||||
LONG
|
||||
GetRexxVar(struct RexxMsg *message,STRPTR variable_name,STRPTR *buffer_pointer)
|
||||
{
|
||||
static UBYTE buffer[256];
|
||||
LONG result;
|
||||
|
||||
/* The following uses a function which was added to rexxsyslib.library V45.
|
||||
We therefore have a minimum library version requirement. */
|
||||
if(RexxSysBase == NULL || RexxSysBase->lib_Version < 45 || NOT IsRexxMsg(message))
|
||||
{
|
||||
result = ERR10_010; /* invalid message packet */
|
||||
goto out;
|
||||
}
|
||||
|
||||
/* The 256 character limit isn't good. This should be done differently. */
|
||||
result = GetRexxVarFromMsg(variable_name,buffer,message);
|
||||
if(result != 0)
|
||||
goto out;
|
||||
|
||||
(*buffer_pointer) = buffer;
|
||||
|
||||
out:
|
||||
|
||||
return(result);
|
||||
}
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
/* The following function works in about like the original, except that it
|
||||
ignores the length parameter (the value needs to be a NUL-terminated string)
|
||||
and requires rexxsyslib.library V45. */
|
||||
LONG
|
||||
SetRexxVar(struct RexxMsg *message,STRPTR variable_name,STRPTR value,ULONG length)
|
||||
{
|
||||
LONG result;
|
||||
|
||||
/* The following uses a function which was added to rexxsyslib.library V45.
|
||||
We therefore have a minimum library version requirement. */
|
||||
if(RexxSysBase == NULL || RexxSysBase->lib_Version < 45 || NOT IsRexxMsg(message))
|
||||
{
|
||||
result = ERR10_010; /* invalid message packet */
|
||||
goto out;
|
||||
}
|
||||
|
||||
result = SetRexxVarFromMsg(variable_name,value,message);
|
||||
|
||||
out:
|
||||
|
||||
return(result);
|
||||
}
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_setsuperattrs.c,v 1.4 2005-02-25 10:14:20 obarthel Exp $
|
||||
* $Id: amiga_setsuperattrs.c,v 1.1.1.1 2004-07-26 16:30:21 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_timedelay.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
|
||||
* $Id: amiga_timedelay.c,v 1.1.1.1 2004-07-26 16:30:21 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: amiga_waitbeam.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
|
||||
* $Id: amiga_waitbeam.c,v 1.1.1.1 2004-07-26 16:30:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: c.lib_rev.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
|
||||
* $Id: c.lib_rev.c,v 1.1.1.1 2004-07-26 16:30:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
#define VERSION 1
|
||||
#define REVISION 189
|
||||
#define DATE "5.3.2005"
|
||||
#define VERS "c.lib 1.189"
|
||||
#define VSTRING "c.lib 1.189 (5.3.2005)\r\n"
|
||||
#define VERSTAG "\0$VER: c.lib 1.189 (5.3.2005)"
|
||||
#define REVISION 165
|
||||
#define DATE "26.7.2004"
|
||||
#define VERS "c.lib 1.165"
|
||||
#define VSTRING "c.lib 1.165 (26.7.2004)\r\n"
|
||||
#define VERSTAG "\0$VER: c.lib 1.165 (26.7.2004)"
|
||||
|
||||
@ -1 +1 @@
|
||||
189
|
||||
165
|
||||
|
||||
3692
library/changes
3692
library/changes
File diff suppressed because it is too large
Load Diff
@ -1,5 +1,5 @@
|
||||
//
|
||||
// $Id: crt0.S,v 1.2 2004-11-28 12:31:27 tfrieden Exp $
|
||||
// $Id: crt0.S,v 1.1.1.1 2004-07-26 16:30:22 obarthel Exp $
|
||||
//
|
||||
// :ts=4
|
||||
//
|
||||
@ -18,23 +18,5 @@ _start:
|
||||
addi r13, r13, _SDA_BASE_@l
|
||||
#endif
|
||||
|
||||
#if defined(BASEREL_DATA)
|
||||
/* We also need to set up the data segment pointer */
|
||||
lis r2, _DATA_BASE_@ha
|
||||
addi r2, r2, _DATA_BASE_@l
|
||||
#endif
|
||||
|
||||
b _main
|
||||
|
||||
#if defined(BASEREL_DATA)
|
||||
.section .rodata
|
||||
|
||||
.globl __data_segment_descriptor
|
||||
__data_segment_descriptor:
|
||||
.long __data_start
|
||||
.long __data_end
|
||||
.long _DATA_BASE_
|
||||
|
||||
.section .dend, "wa", @nobits
|
||||
.space 4
|
||||
#endif
|
||||
|
||||
@ -1,15 +1,11 @@
|
||||
/*
|
||||
* $Id: crtbegin.c,v 1.8 2005-03-10 13:30:11 obarthel Exp $
|
||||
* $Id: crtbegin.c,v 1.1.1.1 2004-07-26 16:30:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Handles global constructors and destructors for the OS4 GCC build.
|
||||
* Handles global constructors and destructors.
|
||||
*/
|
||||
|
||||
#if defined(__amigaos4__)
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#include <exec/types.h>
|
||||
|
||||
/****************************************************************************/
|
||||
@ -19,28 +15,118 @@
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#if defined(__amigaos4__)
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
/*
|
||||
* Dummy constructor and destructor array. The linker script will put these at the
|
||||
* very beginning of section ".ctors" and ".dtors". crtend.o contains a similar entry
|
||||
* with a NULL pointer entry and is put at the end of the sections. This way, the init
|
||||
* code can find the global constructor/destructor pointers
|
||||
*/
|
||||
static void (*__CTOR_LIST__[1]) (void) __attribute__(( used, section(".ctors"), aligned(sizeof(void (*)(void))) ));
|
||||
static void (*__DTOR_LIST__[1]) (void) __attribute__(( used, section(".dtors"), aligned(sizeof(void (*)(void))) ));
|
||||
static void (*__CTOR_LIST__[1]) (void) __attribute__((section(".ctors"))) = { (void *)-1 };
|
||||
static void (*__DTOR_LIST__[1]) (void) __attribute__((section(".dtors"))) = { (void *)-1 };
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
static void
|
||||
_do_ctors(void)
|
||||
{
|
||||
void (**pFuncPtr)(void);
|
||||
|
||||
/* Skip the first entry in the list (it's -1 anyway) */
|
||||
pFuncPtr = __CTOR_LIST__ + 1;
|
||||
|
||||
/* Call all constructors in forward order */
|
||||
while (*pFuncPtr != NULL)
|
||||
(**pFuncPtr++)();
|
||||
}
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
static void
|
||||
_do_dtors(void)
|
||||
{
|
||||
ULONG i = (ULONG)__DTOR_LIST__[0];
|
||||
void (**pFuncPtr)(void);
|
||||
|
||||
if (i == ~0UL)
|
||||
{
|
||||
/* Find the end of the destructors list */
|
||||
i = 1;
|
||||
|
||||
while (__DTOR_LIST__[i] != NULL)
|
||||
i++;
|
||||
|
||||
/* We're at the NULL entry now. Go back by one */
|
||||
i--;
|
||||
}
|
||||
|
||||
/* Call all destructors in reverse order */
|
||||
pFuncPtr = __DTOR_LIST__ + i;
|
||||
while (i-- > 0)
|
||||
(**pFuncPtr--)();
|
||||
}
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#else
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
typedef void (*func_ptr)(void);
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
static void
|
||||
_do_ctors(void)
|
||||
{
|
||||
extern func_ptr __CTOR_LIST__[];
|
||||
ULONG nptrs = (ULONG)__CTOR_LIST__[0];
|
||||
ULONG i;
|
||||
|
||||
for(i = nptrs ; i > 0 ; i--)
|
||||
__CTOR_LIST__[i]();
|
||||
}
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
static void
|
||||
_do_dtors(void)
|
||||
{
|
||||
extern func_ptr __DTOR_LIST__[];
|
||||
extern jmp_buf __exit_jmp_buf;
|
||||
ULONG nptrs = (ULONG)__DTOR_LIST__[0];
|
||||
static ULONG i;
|
||||
|
||||
/* If one of the destructors drops into
|
||||
* exit(), processing will continue with
|
||||
* the next following destructor.
|
||||
*/
|
||||
(void)setjmp(__exit_jmp_buf);
|
||||
|
||||
while(i++ < nptrs)
|
||||
__DTOR_LIST__[i]();
|
||||
}
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#endif /*__amigaos4__ */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
/* FIXME: Do we need to put these in .init/.fini sections? */
|
||||
|
||||
//void _init(void) __attribute__((section(".init")));
|
||||
//void _fini(void) __attribute__((section(".fini")));
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
void
|
||||
_init(void)
|
||||
{
|
||||
int num_ctors,i;
|
||||
int j;
|
||||
|
||||
for(i = 1, num_ctors = 0 ; __CTOR_LIST__[i] != NULL ; i++)
|
||||
num_ctors++;
|
||||
|
||||
for(j = 0 ; j < num_ctors ; j++)
|
||||
__CTOR_LIST__[num_ctors - j]();
|
||||
_do_ctors();
|
||||
}
|
||||
|
||||
/****************************************************************************/
|
||||
@ -48,23 +134,5 @@ _init(void)
|
||||
void
|
||||
_fini(void)
|
||||
{
|
||||
extern jmp_buf __exit_jmp_buf;
|
||||
|
||||
int num_dtors,i;
|
||||
static int j;
|
||||
|
||||
/* If one of the destructors drops into
|
||||
exit(), processing will continue with
|
||||
the next following destructor. */
|
||||
(void)setjmp(__exit_jmp_buf);
|
||||
|
||||
for(i = 1, num_dtors = 0 ; __DTOR_LIST__[i] != NULL ; i++)
|
||||
num_dtors++;
|
||||
|
||||
while(j++ < num_dtors)
|
||||
__DTOR_LIST__[j]();
|
||||
_do_dtors();
|
||||
}
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#endif /*__amigaos4__ */
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $Id: crtend.c,v 1.2 2005-03-09 21:07:25 obarthel Exp $
|
||||
* $Id: crtend.c,v 1.1.1.1 2004-07-26 16:30:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
@ -10,10 +10,9 @@
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
static void (*__CTOR_LIST__[1]) (void) __attribute__((used, section(".ctors"), aligned(sizeof(void (*)(void))) ));
|
||||
static void (*__DTOR_LIST__[1]) (void) __attribute__((used, section(".dtors"), aligned(sizeof(void (*)(void))) ));
|
||||
static volatile void (*__CTOR_LIST__[1]) (void) __attribute__((used,section(".ctors"))) = { (void *)0 };
|
||||
static volatile void (*__DTOR_LIST__[1]) (void) __attribute__((used,section(".dtors"))) = { (void *)0 };
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#endif /*__amigaos4__ */
|
||||
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: ctype_headers.h,v 1.2 2005-01-02 09:07:07 obarthel Exp $
|
||||
* $Id: ctype_headers.h,v 1.1.1.1 2004-07-26 16:30:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: ctype_isalnum.c,v 1.3 2005-02-27 21:58:21 obarthel Exp $
|
||||
* $Id: ctype_isalnum.c,v 1.1.1.1 2004-07-26 16:30:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -49,8 +49,6 @@ isalnum(int c)
|
||||
DECLARE_LOCALEBASE();
|
||||
int result;
|
||||
|
||||
__locale_lock();
|
||||
|
||||
if(__locale_table[LC_CTYPE] != NULL)
|
||||
{
|
||||
assert( LocaleBase != NULL );
|
||||
@ -62,7 +60,5 @@ isalnum(int c)
|
||||
result = isalpha(c) || isdigit(c);
|
||||
}
|
||||
|
||||
__locale_unlock();
|
||||
|
||||
return(result);
|
||||
}
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: ctype_isalpha.c,v 1.3 2005-02-27 21:58:21 obarthel Exp $
|
||||
* $Id: ctype_isalpha.c,v 1.1.1.1 2004-07-26 16:30:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -47,8 +47,6 @@ isalpha(int c)
|
||||
DECLARE_LOCALEBASE();
|
||||
int result;
|
||||
|
||||
__locale_lock();
|
||||
|
||||
if(__locale_table[LC_CTYPE] != NULL)
|
||||
{
|
||||
assert( LocaleBase != NULL );
|
||||
@ -61,7 +59,5 @@ isalpha(int c)
|
||||
('A' <= c && c <= 'Z'));
|
||||
}
|
||||
|
||||
__locale_unlock();
|
||||
|
||||
return(result);
|
||||
}
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: ctype_isascii.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
|
||||
* $Id: ctype_isascii.c,v 1.1.1.1 2004-07-26 16:30:22 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: ctype_iscntrl.c,v 1.3 2005-02-27 21:58:21 obarthel Exp $
|
||||
* $Id: ctype_iscntrl.c,v 1.1.1.1 2004-07-26 16:30:23 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -47,8 +47,6 @@ iscntrl(int c)
|
||||
DECLARE_LOCALEBASE();
|
||||
int result;
|
||||
|
||||
__locale_lock();
|
||||
|
||||
if(__locale_table[LC_CTYPE] != NULL)
|
||||
{
|
||||
assert( LocaleBase != NULL );
|
||||
@ -60,7 +58,5 @@ iscntrl(int c)
|
||||
result = (('\0' <= c && c < ' ') || (c == 127));
|
||||
}
|
||||
|
||||
__locale_unlock();
|
||||
|
||||
return(result);
|
||||
}
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: ctype_isdigit.c,v 1.3 2005-02-27 21:58:21 obarthel Exp $
|
||||
* $Id: ctype_isdigit.c,v 1.1.1.1 2004-07-26 16:30:23 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -47,8 +47,6 @@ isdigit(int c)
|
||||
DECLARE_LOCALEBASE();
|
||||
int result;
|
||||
|
||||
__locale_lock();
|
||||
|
||||
if(__locale_table[LC_CTYPE] != NULL)
|
||||
{
|
||||
assert( LocaleBase != NULL );
|
||||
@ -60,7 +58,5 @@ isdigit(int c)
|
||||
result = ('0' <= c && c <= '9');
|
||||
}
|
||||
|
||||
__locale_unlock();
|
||||
|
||||
return(result);
|
||||
}
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: ctype_isgraph.c,v 1.3 2005-02-27 21:58:21 obarthel Exp $
|
||||
* $Id: ctype_isgraph.c,v 1.1.1.1 2004-07-26 16:30:23 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -47,8 +47,6 @@ isgraph(int c)
|
||||
DECLARE_LOCALEBASE();
|
||||
int result;
|
||||
|
||||
__locale_lock();
|
||||
|
||||
if(__locale_table[LC_CTYPE] != NULL)
|
||||
{
|
||||
assert( LocaleBase != NULL );
|
||||
@ -60,7 +58,5 @@ isgraph(int c)
|
||||
result = (' ' < c && c < 127);
|
||||
}
|
||||
|
||||
__locale_unlock();
|
||||
|
||||
return(result);
|
||||
}
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: ctype_islower.c,v 1.3 2005-02-27 21:58:21 obarthel Exp $
|
||||
* $Id: ctype_islower.c,v 1.1.1.1 2004-07-26 16:30:23 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -47,8 +47,6 @@ islower(int c)
|
||||
DECLARE_LOCALEBASE();
|
||||
int result;
|
||||
|
||||
__locale_lock();
|
||||
|
||||
if(__locale_table[LC_CTYPE] != NULL)
|
||||
{
|
||||
assert( LocaleBase != NULL );
|
||||
@ -60,7 +58,5 @@ islower(int c)
|
||||
result = ('a' <= c && c <= 'z');
|
||||
}
|
||||
|
||||
__locale_unlock();
|
||||
|
||||
return(result);
|
||||
}
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: ctype_isprint.c,v 1.3 2005-02-27 21:58:21 obarthel Exp $
|
||||
* $Id: ctype_isprint.c,v 1.1.1.1 2004-07-26 16:30:23 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -47,8 +47,6 @@ isprint(int c)
|
||||
DECLARE_LOCALEBASE();
|
||||
int result;
|
||||
|
||||
__locale_lock();
|
||||
|
||||
if(__locale_table[LC_CTYPE] != NULL)
|
||||
{
|
||||
assert( LocaleBase != NULL );
|
||||
@ -60,7 +58,5 @@ isprint(int c)
|
||||
result = (' ' <= c && c <= '~');
|
||||
}
|
||||
|
||||
__locale_unlock();
|
||||
|
||||
return(result);
|
||||
}
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: ctype_ispunct.c,v 1.3 2005-02-27 21:58:21 obarthel Exp $
|
||||
* $Id: ctype_ispunct.c,v 1.1.1.1 2004-07-26 16:30:23 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -47,8 +47,6 @@ ispunct(int c)
|
||||
DECLARE_LOCALEBASE();
|
||||
int result;
|
||||
|
||||
__locale_lock();
|
||||
|
||||
if(__locale_table[LC_CTYPE] != NULL)
|
||||
{
|
||||
assert( LocaleBase != NULL );
|
||||
@ -63,7 +61,5 @@ ispunct(int c)
|
||||
('{' <= c && c <= '~'));
|
||||
}
|
||||
|
||||
__locale_unlock();
|
||||
|
||||
return(result);
|
||||
}
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: ctype_isspace.c,v 1.3 2005-02-27 21:58:21 obarthel Exp $
|
||||
* $Id: ctype_isspace.c,v 1.1.1.1 2004-07-26 16:30:23 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -47,8 +47,6 @@ isspace(int c)
|
||||
DECLARE_LOCALEBASE();
|
||||
int result;
|
||||
|
||||
__locale_lock();
|
||||
|
||||
if(__locale_table[LC_CTYPE] != NULL)
|
||||
{
|
||||
assert( LocaleBase != NULL );
|
||||
@ -65,7 +63,5 @@ isspace(int c)
|
||||
c == ' ');
|
||||
}
|
||||
|
||||
__locale_unlock();
|
||||
|
||||
return(result);
|
||||
}
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: ctype_isupper.c,v 1.3 2005-02-27 21:58:21 obarthel Exp $
|
||||
* $Id: ctype_isupper.c,v 1.1.1.1 2004-07-26 16:30:24 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -47,8 +47,6 @@ isupper(int c)
|
||||
DECLARE_LOCALEBASE();
|
||||
int result;
|
||||
|
||||
__locale_lock();
|
||||
|
||||
if(__locale_table[LC_CTYPE] != NULL)
|
||||
{
|
||||
assert( LocaleBase != NULL );
|
||||
@ -60,7 +58,5 @@ isupper(int c)
|
||||
result = ('A' <= c && c <= 'Z');
|
||||
}
|
||||
|
||||
__locale_unlock();
|
||||
|
||||
return(result);
|
||||
}
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: ctype_isxdigit.c,v 1.3 2005-02-27 21:58:21 obarthel Exp $
|
||||
* $Id: ctype_isxdigit.c,v 1.1.1.1 2004-07-26 16:30:24 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -47,8 +47,6 @@ isxdigit(int c)
|
||||
DECLARE_LOCALEBASE();
|
||||
int result;
|
||||
|
||||
__locale_lock();
|
||||
|
||||
if(__locale_table[LC_CTYPE] != NULL)
|
||||
{
|
||||
assert( LocaleBase != NULL );
|
||||
@ -62,7 +60,5 @@ isxdigit(int c)
|
||||
('A' <= c && c <= 'F'));
|
||||
}
|
||||
|
||||
__locale_unlock();
|
||||
|
||||
return(result);
|
||||
}
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: ctype_table.c,v 1.3 2005-01-09 15:20:31 obarthel Exp $
|
||||
* $Id: ctype_table.c,v 1.1.1.1 2004-07-26 16:30:24 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -36,8 +36,22 @@
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
const unsigned char __ctype_table[2 * 128] =
|
||||
/* The construction of this table is rather peculiar. The assumption is that
|
||||
the table index from which a flag value could be fetched is in the range
|
||||
-128..255 since the character to be tested could be a signed or unsigned
|
||||
8 bit value. The table access pointer (declared below) therefore points
|
||||
to the 128th byte of '__ctype_data[]'. */
|
||||
static const unsigned char __ctype_data[3 * 128] =
|
||||
{
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
|
||||
/* 0 */ __CTYPE_CONTROL,
|
||||
/* 1 */ __CTYPE_CONTROL,
|
||||
/* 2 */ __CTYPE_CONTROL,
|
||||
@ -176,3 +190,7 @@ const unsigned char __ctype_table[2 * 128] =
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
};
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
const unsigned char * const __ctype_table = &__ctype_data[128];
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: ctype_tolower.c,v 1.3 2005-02-27 21:58:21 obarthel Exp $
|
||||
* $Id: ctype_tolower.c,v 1.1.1.1 2004-07-26 16:30:25 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -43,8 +43,6 @@ tolower(int c)
|
||||
DECLARE_LOCALEBASE();
|
||||
int result;
|
||||
|
||||
__locale_lock();
|
||||
|
||||
if(__locale_table[LC_CTYPE] != NULL)
|
||||
{
|
||||
assert( LocaleBase != NULL );
|
||||
@ -56,7 +54,5 @@ tolower(int c)
|
||||
result = ('A' <= c && c <= 'Z') ? (c + ('a' - 'A')) : c;
|
||||
}
|
||||
|
||||
__locale_unlock();
|
||||
|
||||
return(result);
|
||||
}
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: ctype_toupper.c,v 1.3 2005-02-27 21:58:21 obarthel Exp $
|
||||
* $Id: ctype_toupper.c,v 1.1.1.1 2004-07-26 16:30:25 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -43,8 +43,6 @@ toupper(int c)
|
||||
DECLARE_LOCALEBASE();
|
||||
int result;
|
||||
|
||||
__locale_lock();
|
||||
|
||||
if(__locale_table[LC_CTYPE] != NULL)
|
||||
{
|
||||
assert( LocaleBase != NULL );
|
||||
@ -56,7 +54,5 @@ toupper(int c)
|
||||
result = ('a' <= c && c <= 'z') ? (c - ('a' - 'A')) : c;
|
||||
}
|
||||
|
||||
__locale_unlock();
|
||||
|
||||
return(result);
|
||||
}
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: debug.c,v 1.3 2005-02-25 10:14:21 obarthel Exp $
|
||||
* $Id: debug.c,v 1.1.1.1 2004-07-26 16:30:25 obarthel Exp $
|
||||
*
|
||||
* :ts=8
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -133,7 +133,7 @@ _POPDEBUGLEVEL(void)
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
STATIC VOID
|
||||
static void
|
||||
_INDENT(void)
|
||||
{
|
||||
if(program_name_len > 0)
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: debug.h,v 1.3 2005-01-02 09:07:07 obarthel Exp $
|
||||
* $Id: debug.h,v 1.1.1.1 2004-07-26 16:30:26 obarthel Exp $
|
||||
*
|
||||
* :ts=8
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -57,17 +57,9 @@
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#ifndef _STDLIB_H
|
||||
#include <stdlib.h>
|
||||
#endif /* _STDLIB_H */
|
||||
|
||||
#ifndef _DOS_H
|
||||
#include <dos.h>
|
||||
#endif /* _DOS_H */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
extern void kprintf(const char *format,...);
|
||||
extern void abort(void);
|
||||
extern char * __program_name;
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: debug.lib_rev.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
|
||||
* $Id: debug.lib_rev.c,v 1.1.1.1 2004-07-26 16:30:26 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
#define VERSION 1
|
||||
#define REVISION 189
|
||||
#define DATE "5.3.2005"
|
||||
#define VERS "debug.lib 1.189"
|
||||
#define VSTRING "debug.lib 1.189 (5.3.2005)\r\n"
|
||||
#define VERSTAG "\0$VER: debug.lib 1.189 (5.3.2005)"
|
||||
#define REVISION 165
|
||||
#define DATE "26.7.2004"
|
||||
#define VERS "debug.lib 1.165"
|
||||
#define VSTRING "debug.lib 1.165 (26.7.2004)\r\n"
|
||||
#define VERSTAG "\0$VER: debug.lib 1.165 (26.7.2004)"
|
||||
|
||||
@ -1 +1 @@
|
||||
189
|
||||
165
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: debug_cmpstrexec.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
|
||||
* $Id: debug_cmpstrexec.c,v 1.1.1.1 2004-07-26 16:30:26 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: debug_headers.h,v 1.2 2005-01-02 09:07:07 obarthel Exp $
|
||||
* $Id: debug_headers.h,v 1.1.1.1 2004-07-26 16:30:27 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: debug_kcmpstr.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
|
||||
* $Id: debug_kcmpstr.c,v 1.1.1.1 2004-07-26 16:30:27 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: debug_kdofmt.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
|
||||
* $Id: debug_kdofmt.c,v 1.1.1.1 2004-07-26 16:30:27 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: debug_kgetc.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
|
||||
* $Id: debug_kgetc.c,v 1.1.1.1 2004-07-26 16:30:27 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: debug_kgetch1.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
|
||||
* $Id: debug_kgetch1.c,v 1.1.1.1 2004-07-26 16:30:27 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: debug_kgetch2.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
|
||||
* $Id: debug_kgetch2.c,v 1.1.1.1 2004-07-26 16:30:27 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: debug_kgetchar1.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
|
||||
* $Id: debug_kgetchar1.c,v 1.1.1.1 2004-07-26 16:30:27 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: debug_kgetchar2.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
|
||||
* $Id: debug_kgetchar2.c,v 1.1.1.1 2004-07-26 16:30:27 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: debug_kgetnum1.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
|
||||
* $Id: debug_kgetnum1.c,v 1.1.1.1 2004-07-26 16:30:27 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: debug_kgetnum2.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
|
||||
* $Id: debug_kgetnum2.c,v 1.1.1.1 2004-07-26 16:30:28 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: debug_kmaygetch.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
|
||||
* $Id: debug_kmaygetch.c,v 1.1.1.1 2004-07-26 16:30:28 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: debug_kmaygetchar.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
|
||||
* $Id: debug_kmaygetchar.c,v 1.1.1.1 2004-07-26 16:30:28 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: debug_kprintf1.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
|
||||
* $Id: debug_kprintf1.c,v 1.1.1.1 2004-07-26 16:30:28 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: debug_kprintf2.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
|
||||
* $Id: debug_kprintf2.c,v 1.1.1.1 2004-07-26 16:30:28 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: debug_kputc.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
|
||||
* $Id: debug_kputc.c,v 1.1.1.1 2004-07-26 16:30:28 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: debug_kputch1.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
|
||||
* $Id: debug_kputch1.c,v 1.1.1.1 2004-07-26 16:30:28 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: debug_kputch2.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
|
||||
* $Id: debug_kputch2.c,v 1.1.1.1 2004-07-26 16:30:28 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: debug_kputchar1.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
|
||||
* $Id: debug_kputchar1.c,v 1.1.1.1 2004-07-26 16:30:29 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: debug_kputchar2.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
|
||||
* $Id: debug_kputchar2.c,v 1.1.1.1 2004-07-26 16:30:29 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: debug_kputfmt.c,v 1.3 2005-02-25 10:14:21 obarthel Exp $
|
||||
* $Id: debug_kputfmt.c,v 1.1.1.1 2004-07-26 16:30:29 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -43,7 +43,7 @@
|
||||
parameter table is provided, pick up the parameters and store them in
|
||||
the table. The table layout follows the format string and can include
|
||||
both 16 and 32 bit data. */
|
||||
STATIC size_t
|
||||
static size_t
|
||||
process_var_args(char *format_string,va_list argument_list,unsigned short * table)
|
||||
{
|
||||
size_t num_args = 0;
|
||||
@ -150,7 +150,7 @@ process_var_args(char *format_string,va_list argument_list,unsigned short * tabl
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
STATIC VOID ASM
|
||||
static VOID ASM
|
||||
raw_put_char(REG(d0,UBYTE c))
|
||||
{
|
||||
kputc(c);
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: debug_kputs1.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
|
||||
* $Id: debug_kputs1.c,v 1.1.1.1 2004-07-26 16:30:29 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: debug_kputs2.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
|
||||
* $Id: debug_kputs2.c,v 1.1.1.1 2004-07-26 16:30:29 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: debug_kputstr1.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
|
||||
* $Id: debug_kputstr1.c,v 1.1.1.1 2004-07-26 16:30:30 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: debug_kputstr2.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
|
||||
* $Id: debug_kputstr2.c,v 1.1.1.1 2004-07-26 16:30:30 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: debug_kvprintf1.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
|
||||
* $Id: debug_kvprintf1.c,v 1.1.1.1 2004-07-26 16:30:30 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: debug_kvprintf2.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
|
||||
* $Id: debug_kvprintf2.c,v 1.1.1.1 2004-07-26 16:30:30 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: debug_level.c,v 1.2 2005-01-02 09:07:07 obarthel Exp $
|
||||
* $Id: debug_level.c,v 1.1.1.1 2004-07-26 16:30:30 obarthel Exp $
|
||||
*
|
||||
* :ts=8
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: dirent_closedir.c,v 1.8 2005-03-09 10:48:59 obarthel Exp $
|
||||
* $Id: dirent_closedir.c,v 1.1.1.1 2004-07-26 16:30:30 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -43,94 +43,7 @@
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
/* The following is not part of the ISO 'C' (1994) standard. */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
/* Directories being scanned whose locks need to be freed when shutting down. */
|
||||
struct MinList NOCOMMON __directory_list;
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#if defined(__THREAD_SAFE)
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
static struct SignalSemaphore * dirent_lock;
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
void
|
||||
__dirent_lock(void)
|
||||
{
|
||||
if(dirent_lock != NULL)
|
||||
ObtainSemaphore(dirent_lock);
|
||||
}
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
void
|
||||
__dirent_unlock(void)
|
||||
{
|
||||
if(dirent_lock != NULL)
|
||||
ReleaseSemaphore(dirent_lock);
|
||||
}
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#endif /* __THREAD_SAFE */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
CLIB_CONSTRUCTOR(__dirent_init)
|
||||
{
|
||||
BOOL success = FALSE;
|
||||
|
||||
ENTER();
|
||||
|
||||
NewList((struct List *)&__directory_list);
|
||||
|
||||
#if defined(__THREAD_SAFE)
|
||||
{
|
||||
dirent_lock = __create_semaphore();
|
||||
if(dirent_lock == NULL)
|
||||
goto out;
|
||||
}
|
||||
#endif /* __THREAD_SAFE */
|
||||
|
||||
success = TRUE;
|
||||
|
||||
out:
|
||||
|
||||
RETURN(success);
|
||||
|
||||
if(success)
|
||||
CONSTRUCTOR_SUCCEED();
|
||||
else
|
||||
CONSTRUCTOR_FAIL();
|
||||
}
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
CLIB_DESTRUCTOR(__dirent_exit)
|
||||
{
|
||||
ENTER();
|
||||
|
||||
if(__directory_list.mlh_Head != NULL)
|
||||
{
|
||||
while(NOT IsListEmpty((struct List *)&__directory_list))
|
||||
closedir((DIR *)__directory_list.mlh_Head);
|
||||
}
|
||||
|
||||
#if defined(__THREAD_SAFE)
|
||||
{
|
||||
__delete_semaphore(dirent_lock);
|
||||
dirent_lock = NULL;
|
||||
}
|
||||
#endif /* __THREAD_SAFE */
|
||||
|
||||
LEAVE();
|
||||
}
|
||||
/* The following is not part of the ISO 'C' standard. */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
@ -138,6 +51,7 @@ int
|
||||
closedir(DIR * directory_pointer)
|
||||
{
|
||||
struct DirectoryHandle * dh;
|
||||
struct Node * node;
|
||||
int result = -1;
|
||||
|
||||
ENTER();
|
||||
@ -147,11 +61,9 @@ closedir(DIR * directory_pointer)
|
||||
if(__check_abort_enabled)
|
||||
__check_abort();
|
||||
|
||||
__dirent_lock();
|
||||
|
||||
if(directory_pointer == NULL)
|
||||
{
|
||||
__set_errno(EBADF);
|
||||
errno = EBADF;
|
||||
goto out;
|
||||
}
|
||||
|
||||
@ -172,7 +84,7 @@ closedir(DIR * directory_pointer)
|
||||
|
||||
if(NOT directory_pointer_is_valid)
|
||||
{
|
||||
__set_errno(EBADF);
|
||||
errno = EBADF;
|
||||
goto out;
|
||||
}
|
||||
}
|
||||
@ -182,14 +94,8 @@ closedir(DIR * directory_pointer)
|
||||
|
||||
Remove((struct Node *)dh);
|
||||
|
||||
#if defined(UNIX_PATH_SEMANTICS)
|
||||
{
|
||||
struct Node * node;
|
||||
|
||||
while((node = RemHead((struct List *)&dh->dh_VolumeList)) != NULL)
|
||||
free(node);
|
||||
}
|
||||
#endif /* UNIX_PATH_SEMANTICS */
|
||||
while((node = RemHead(&dh->dh_VolumeList)) != NULL)
|
||||
free(node);
|
||||
|
||||
PROFILE_OFF();
|
||||
UnLock(dh->dh_DirLock);
|
||||
@ -201,8 +107,6 @@ closedir(DIR * directory_pointer)
|
||||
|
||||
out:
|
||||
|
||||
__dirent_unlock();
|
||||
|
||||
RETURN(result);
|
||||
return(result);
|
||||
}
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: stdlib_atoll.c,v 1.1 2005-03-02 12:57:53 obarthel Exp $
|
||||
* $Id: dirent_data.c,v 1.1.1.1 2004-07-26 16:30:30 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -31,46 +31,42 @@
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#ifndef _STDLIB_NULL_POINTER_CHECK_H
|
||||
#include "stdlib_null_pointer_check.h"
|
||||
#endif /* _STDLIB_NULL_POINTER_CHECK_H */
|
||||
#ifndef _DIRENT_HEADERS_H
|
||||
#include "dirent_headers.h"
|
||||
#endif /* _DIRENT_HEADERS_H */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#ifndef _STDLIB_HEADERS_H
|
||||
#include "stdlib_headers.h"
|
||||
#endif /* _STDLIB_HEADERS_H */
|
||||
/* The following is not part of the ISO 'C' standard. */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#if defined(USE_64_BIT_INTS)
|
||||
/* Directories being scanned whose locks need to be freed when shutting down. */
|
||||
struct MinList __directory_list;
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
long long
|
||||
atoll(const char *str)
|
||||
CLIB_CONSTRUCTOR(__dirent_init)
|
||||
{
|
||||
long long result = 0;
|
||||
ENTER();
|
||||
|
||||
assert( str != NULL );
|
||||
NewList((struct List *)&__directory_list);
|
||||
|
||||
#if defined(CHECK_FOR_NULL_POINTERS)
|
||||
{
|
||||
if(str == NULL)
|
||||
{
|
||||
errno = EFAULT;
|
||||
goto out;
|
||||
}
|
||||
}
|
||||
#endif /* CHECK_FOR_NULL_POINTERS */
|
||||
|
||||
result = strtoll(str, (char **)NULL, 10);
|
||||
|
||||
out:
|
||||
|
||||
return(result);
|
||||
RETURN(OK);
|
||||
CONSTRUCTOR_SUCCEED();
|
||||
}
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#endif /* USE_64_BIT_INTS */
|
||||
CLIB_DESTRUCTOR(__dirent_exit)
|
||||
{
|
||||
ENTER();
|
||||
|
||||
if(__directory_list.mlh_Head != NULL)
|
||||
{
|
||||
while(NOT IsListEmpty((struct List *)&__directory_list))
|
||||
closedir((DIR *)__directory_list.mlh_Head);
|
||||
}
|
||||
|
||||
LEAVE();
|
||||
}
|
||||
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* $Id: dirent_headers.h,v 1.7 2005-02-28 10:07:30 obarthel Exp $
|
||||
* $Id: dirent_headers.h,v 1.1.1.1 2004-07-26 16:30:30 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
||||
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -42,56 +42,21 @@
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#ifndef _STDLIB_HEADERS_H
|
||||
#include "stdlib_headers.h"
|
||||
#endif /* _STDLIB_HEADERS_H */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#ifndef _MACROS_H
|
||||
#include "macros.h"
|
||||
#endif /* _MACROS_H */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
struct DirectoryHandle
|
||||
{
|
||||
struct MinNode dh_MinNode;
|
||||
BPTR dh_DirLock;
|
||||
struct FileInfoBlock dh_FileInfo;
|
||||
struct dirent dh_DirectoryEntry;
|
||||
|
||||
int dh_Position;
|
||||
struct Node * dh_VolumeNode;
|
||||
struct MinList dh_VolumeList;
|
||||
struct List dh_VolumeList;
|
||||
BOOL dh_ScanVolumeList;
|
||||
};
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
extern struct MinList NOCOMMON __directory_list;
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#if defined(__THREAD_SAFE)
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
extern void __dirent_lock(void);
|
||||
extern void __dirent_unlock(void);
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#else
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#define __dirent_lock() ((void)0)
|
||||
#define __dirent_unlock() ((void)0)
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
#endif /* __THREAD_SAFE */
|
||||
extern struct MinList __directory_list;
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user