mirror of
https://github.com/adtools/clib2.git
synced 2025-12-08 14:59:05 +00:00
Compare commits
2 Commits
V1_215
...
make-clean
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c6546d734b | ||
|
|
457a9929d6 |
14
.codeclimate.yml
Normal file
14
.codeclimate.yml
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
---
|
||||||
|
engines:
|
||||||
|
duplication:
|
||||||
|
enabled: false
|
||||||
|
fixme:
|
||||||
|
enabled: true
|
||||||
|
markdownlint:
|
||||||
|
enabled: true
|
||||||
|
ratings:
|
||||||
|
paths:
|
||||||
|
- "**.c"
|
||||||
|
- "**.h"
|
||||||
|
- "**.l"
|
||||||
|
- "**.md"
|
||||||
54
.github/workflows/ci.yml
vendored
54
.github/workflows/ci.yml
vendored
@@ -1,54 +0,0 @@
|
|||||||
name: CI
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
pull_request:
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
runs-on: ubuntu-20.04
|
|
||||||
timeout-minutes: 480
|
|
||||||
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
platform: [os4, os3]
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
|
|
||||||
- name: setup dependencies
|
|
||||||
run: |
|
|
||||||
sudo dpkg --add-architecture i386
|
|
||||||
sudo apt-get update -y -qq || true
|
|
||||||
sudo apt-get -qq install libc6:i386
|
|
||||||
sudo ln -s /usr/lib/x86_64-linux-gnu/libmpfr.so.6 /usr/lib/x86_64-linux-gnu/libmpfr.so.4
|
|
||||||
|
|
||||||
- name: setup env
|
|
||||||
run : |
|
|
||||||
echo "GITHUB_SHA7=$(echo ${GITHUB_SHA::7})" >>$GITHUB_ENV
|
|
||||||
|
|
||||||
- name: install adtools build env
|
|
||||||
run: |
|
|
||||||
DOWNLOAD_PATH=https://github.com/adtools/adtools/releases/download/20170213
|
|
||||||
curl -L ${DOWNLOAD_PATH}/adtools-utils.tar.bz2 | sudo tar xj -C /
|
|
||||||
if [[ ${{ matrix.platform }} =~ os3 ]]; then curl -L ${DOWNLOAD_PATH}/adtools-m68k-amigaos.tar.bz2 | sudo tar xj -C / ; fi
|
|
||||||
if [[ ${{ matrix.platform }} =~ os4 ]]; then curl -L ${DOWNLOAD_PATH}/adtools-ppc-amigaos.tar.bz2 | sudo tar xj -C / ; fi
|
|
||||||
if [[ ${{ matrix.platform }} =~ mos ]]; then curl -L ${DOWNLOAD_PATH}/adtools-ppc-morphos.tar.bz2 | sudo tar xj -C / ; fi
|
|
||||||
if [[ ${{ matrix.platform }} =~ aros-ppc ]]; then curl -L ${DOWNLOAD_PATH}/adtools-ppc-aros.tar.bz2 | sudo tar xj -C / ; fi
|
|
||||||
if [[ ${{ matrix.platform }} =~ aros-i386 ]]; then curl -L ${DOWNLOAD_PATH}/adtools-i386-aros.tar.bz2 | sudo tar xj -C / ; fi
|
|
||||||
if [[ ${{ matrix.platform }} =~ aros-x86_64 ]]; then curl -L ${DOWNLOAD_PATH}/adtools-x86_64-aros.tar.bz2 | sudo tar xj -C / ; fi
|
|
||||||
|
|
||||||
- name: cleanup old action artifacts
|
|
||||||
run: .github/workflows/purge_artifacts.sh ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
|
|
||||||
#- name: remote debug tmate session
|
|
||||||
# uses: mxschmitt/action-tmate@v1
|
|
||||||
# if: matrix.platform == 'os4'
|
|
||||||
|
|
||||||
- name: build [${{ matrix.platform }}]
|
|
||||||
timeout-minutes: 480
|
|
||||||
run: |
|
|
||||||
export PATH=/usr/local/amiga/bin:/opt/m68k-amigaos/bin:/opt/ppc-amigaos/bin:/opt/ppc-morphos/bin:${PATH}
|
|
||||||
if [[ ${{ matrix.platform }} =~ os4 ]]; then make -C library -j1 -f GNUmakefile.os4 OS=os4 ; fi
|
|
||||||
if [[ ${{ matrix.platform }} =~ os3 ]]; then make -C library -j1 -f GNUmakefile.68k OS=os3 ; fi
|
|
||||||
55
.github/workflows/purge_artifacts.sh
vendored
55
.github/workflows/purge_artifacts.sh
vendored
@@ -1,55 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
# Customize those three lines with your repository and credentials:
|
|
||||||
REPO=https://api.github.com/repos/${GITHUB_REPOSITORY}
|
|
||||||
GITHUB_USER=${GITHUB_REPOSITORY%%/*}
|
|
||||||
GITHUB_TOKEN=${1}
|
|
||||||
|
|
||||||
# Number of most recent versions to keep for each artifact:
|
|
||||||
KEEP=4
|
|
||||||
|
|
||||||
# A shortcut to call GitHub API.
|
|
||||||
ghapi() { curl --silent --location --user $GITHUB_USER:$GITHUB_TOKEN "$@"; }
|
|
||||||
|
|
||||||
# A temporary file which receives HTTP response headers.
|
|
||||||
TMPFILE=/tmp/tmp.$$
|
|
||||||
|
|
||||||
# An associative array, key: artifact name, value: number of artifacts of that name.
|
|
||||||
declare -A ARTCOUNT
|
|
||||||
|
|
||||||
# Process all artifacts on this repository, loop on returned "pages".
|
|
||||||
URL=$REPO/actions/artifacts
|
|
||||||
while [[ -n "$URL" ]]; do
|
|
||||||
|
|
||||||
# Get current page, get response headers in a temporary file.
|
|
||||||
JSON=$(ghapi --dump-header $TMPFILE "$URL")
|
|
||||||
|
|
||||||
# Get URL of next page. Will be empty if we are at the last page.
|
|
||||||
URL=$(grep '^Link:' "$TMPFILE" | tr ',' '\n' | grep 'rel="next"' | head -1 | sed -e 's/.*<//' -e 's/>.*//')
|
|
||||||
rm -f ${TMPFILE}
|
|
||||||
|
|
||||||
# Number of artifacts on this page:
|
|
||||||
COUNT=$(( $(jq <<<$JSON -r '.artifacts | length') ))
|
|
||||||
|
|
||||||
# Loop on all artifacts on this page.
|
|
||||||
for ((i=0; $i < $COUNT; i++)); do
|
|
||||||
|
|
||||||
# Get name of artifact and count instances of this name.
|
|
||||||
STR=$(jq <<<$JSON -r ".artifacts[$i].name?")
|
|
||||||
name=${STR%%-*}-${STR##*-}
|
|
||||||
ARTCOUNT[$name]=$(( $(( ${ARTCOUNT[$name]} )) + 1))
|
|
||||||
|
|
||||||
printf "Found '%s' #%d, " $STR ${ARTCOUNT[$name]}
|
|
||||||
# Check if we must delete this one.
|
|
||||||
if [[ ${ARTCOUNT[$name]} -gt $KEEP ]]; then
|
|
||||||
id=$(jq <<<$JSON -r ".artifacts[$i].id?")
|
|
||||||
size=$(( $(jq <<<$JSON -r ".artifacts[$i].size_in_bytes?") ))
|
|
||||||
printf "deleting %d bytes\n" $size
|
|
||||||
ghapi -X DELETE $REPO/actions/artifacts/$id
|
|
||||||
else
|
|
||||||
printf "OK\n"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
done
|
|
||||||
|
|
||||||
exit 0
|
|
||||||
2
.gitignore
vendored
2
.gitignore
vendored
@@ -2,4 +2,4 @@
|
|||||||
*.a
|
*.a
|
||||||
/library/compiler.log
|
/library/compiler.log
|
||||||
/library/netinclude
|
/library/netinclude
|
||||||
*.map
|
*~
|
||||||
|
|||||||
36
.travis.yml
Normal file
36
.travis.yml
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
sudo: required
|
||||||
|
dist: trusty
|
||||||
|
|
||||||
|
language: c
|
||||||
|
|
||||||
|
# download and install our required cross compilers
|
||||||
|
install:
|
||||||
|
# Make sure we can install i386 packages as some adtools binaries
|
||||||
|
# requires i386 libraries being installed to work in the 64bit env
|
||||||
|
# of Travis
|
||||||
|
- sudo dpkg --add-architecture i386
|
||||||
|
- sudo apt-get -qq update || true
|
||||||
|
- sudo apt-get -qq install libc6:i386
|
||||||
|
# Install all adtools related stuff we need
|
||||||
|
- curl -L https://dl.bintray.com/jens-maus/adtools/adtools-utils.tar.bz2 | sudo tar xj -C /
|
||||||
|
- if [[ ${BUILD} =~ os3|release ]]; then curl -L https://dl.bintray.com/jens-maus/adtools/adtools-m68k-amigaos.tar.bz2 | sudo tar xj -C / ; fi
|
||||||
|
- if [[ ${BUILD} =~ os4|release ]]; then curl -L https://dl.bintray.com/jens-maus/adtools/adtools-ppc-amigaos.tar.bz2 | sudo tar xj -C / ; fi
|
||||||
|
- if [[ ${BUILD} =~ mos|release ]]; then curl -L https://dl.bintray.com/jens-maus/adtools/adtools-ppc-morphos.tar.bz2 | sudo tar xj -C / ; fi
|
||||||
|
- if [[ ${BUILD} =~ aros-ppc|release ]]; then curl -L https://dl.bintray.com/jens-maus/adtools/adtools-ppc-aros.tar.bz2 | sudo tar xj -C / ; fi
|
||||||
|
- if [[ ${BUILD} =~ aros-i386|release ]]; then curl -L https://dl.bintray.com/jens-maus/adtools/adtools-i386-aros.tar.bz2 | sudo tar xj -C / ; fi
|
||||||
|
- if [[ ${BUILD} =~ aros-x86_64|release ]]; then curl -L https://dl.bintray.com/jens-maus/adtools/adtools-x86_64-aros.tar.bz2 | sudo tar xj -C / ; fi
|
||||||
|
- if [[ ${BUILD} =~ mingw32|release ]]; then sudo apt-get -qq install binutils-mingw-w64-i686 gcc-mingw-w64-i686 ; fi
|
||||||
|
|
||||||
|
# set the PATH variable to the directories the cross compilers are installed.
|
||||||
|
before_script:
|
||||||
|
- export PATH=/usr/local/amiga/bin:/opt/m68k-amigaos/bin:/opt/ppc-amigaos/bin:/opt/ppc-morphos/bin:${PATH}
|
||||||
|
|
||||||
|
# specify a list of variables to test (here we test the build for our supported
|
||||||
|
# list of operating systems).
|
||||||
|
env:
|
||||||
|
- BUILD="-f GNUmakefile.68k OS=os3"
|
||||||
|
- BUILD="-f GNUmakefile.os4 OS=os4"
|
||||||
|
|
||||||
|
# the build command to execute for each test
|
||||||
|
script:
|
||||||
|
- make -C library -j1 ${BUILD}
|
||||||
@@ -1,7 +1,9 @@
|
|||||||
# clib2 – An ISO 'C' (1994) compliant runtime library for AmigaOS
|
# clib2 – An ISO 'C' (1994) compliant runtime library for AmigaOS
|
||||||
|
|
||||||
[](https://github.com/adtools/clib2/actions)
|
[](https://travis-ci.org/adtools/clib2)
|
||||||
|
[](https://codeclimate.com/github/adtools/clib2)
|
||||||
[](https://opensource.org/licenses/BSD-3-Clause)
|
[](https://opensource.org/licenses/BSD-3-Clause)
|
||||||
|
[](https://github.com/adtools/clib2/issues)
|
||||||
|
|
||||||
## What is this?
|
## What is this?
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# $Id: GNUmakefile.68k,v 1.107 2010-10-20 13:50:16 obarthel Exp $
|
# $Id: GNUmakefile.68k,v 1.107 2010-10-20 13:50:16 obarthel Exp $
|
||||||
#
|
#
|
||||||
# :ts=8
|
# vim:ts=8 ft=make:
|
||||||
#
|
#
|
||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
@@ -138,815 +138,16 @@ CFLAGS = \
|
|||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
C_LIB = \
|
include libamiga.obj.gmk
|
||||||
c.lib_rev.o \
|
include libc.obj.gmk
|
||||||
ctype_isalnum.o \
|
include libdebug.obj.gmk
|
||||||
ctype_isalpha.o \
|
include libm.obj.gmk
|
||||||
ctype_isascii.o \
|
include libnet.obj.gmk
|
||||||
ctype_isblank.o \
|
include libunix.obj.gmk
|
||||||
ctype_iscntrl.o \
|
|
||||||
ctype_isdigit.o \
|
|
||||||
ctype_isgraph.o \
|
|
||||||
ctype_islower.o \
|
|
||||||
ctype_isprint.o \
|
|
||||||
ctype_ispunct.o \
|
|
||||||
ctype_isspace.o \
|
|
||||||
ctype_isupper.o \
|
|
||||||
ctype_isxdigit.o \
|
|
||||||
ctype_table.o \
|
|
||||||
ctype_tolower.o \
|
|
||||||
ctype_toupper.o \
|
|
||||||
dirent_closedir.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 \
|
|
||||||
inttypes_imaxdiv.o \
|
|
||||||
inttypes_imaxabs.o \
|
|
||||||
inttypes_strtoimax.o \
|
|
||||||
inttypes_strtoumax.o \
|
|
||||||
libgen_basename.o \
|
|
||||||
libgen_dirname.o \
|
|
||||||
locale_init_exit.o \
|
|
||||||
locale_localeconv.o \
|
|
||||||
locale_open_locale.o \
|
|
||||||
locale_setlocale.o \
|
|
||||||
mount_convertinfo.o \
|
|
||||||
mount_fstatfs.o \
|
|
||||||
mount_statfs.o \
|
|
||||||
signal_checkabort.o \
|
|
||||||
signal_data.o \
|
|
||||||
signal_kill.o \
|
|
||||||
signal_mask.o \
|
|
||||||
signal_raise.o \
|
|
||||||
signal_sigaddset.o \
|
|
||||||
signal_sigblock.o \
|
|
||||||
signal_sigemptyset.o \
|
|
||||||
signal_sigmask.o \
|
|
||||||
signal_signal.o \
|
|
||||||
signal_sigprocmask.o \
|
|
||||||
signal_sigsetmask.o \
|
|
||||||
stat_chmod.o \
|
|
||||||
stat_convertfileinfo.o \
|
|
||||||
stat_fchmod.o \
|
|
||||||
stat_fstat.o \
|
|
||||||
stat_lstat.o \
|
|
||||||
stat_lock.o \
|
|
||||||
stat_mkdir.o \
|
|
||||||
stat_rmdir.o \
|
|
||||||
stat_stat.o \
|
|
||||||
stat_umask.o \
|
|
||||||
stdio_asprintf.o \
|
|
||||||
stdio_change_fd_action.o \
|
|
||||||
stdio_change_fd_user_data.o \
|
|
||||||
stdio_clearerr.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_fgetc.o \
|
|
||||||
stdio_fgetpos.o \
|
|
||||||
stdio_fgets.o \
|
|
||||||
stdio_filliobreadbuffer.o \
|
|
||||||
stdio_findvacantfdentry.o \
|
|
||||||
stdio_findvacantiobentry.o \
|
|
||||||
stdio_flockfile.o \
|
|
||||||
stdio_flush.o \
|
|
||||||
stdio_flush_all_files.o \
|
|
||||||
stdio_flushiobwritebuffer.o \
|
|
||||||
stdio_fopen.o \
|
|
||||||
stdio_fprintf.o \
|
|
||||||
stdio_fputc.o \
|
|
||||||
stdio_fputs.o \
|
|
||||||
stdio_fread.o \
|
|
||||||
stdio_freopen.o \
|
|
||||||
stdio_fscanf.o \
|
|
||||||
stdio_fseek.o \
|
|
||||||
stdio_fseeko.o \
|
|
||||||
stdio_fsetpos.o \
|
|
||||||
stdio_ftell.o \
|
|
||||||
stdio_ftello.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_fd.o \
|
|
||||||
stdio_get_file_descriptor.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_resolve_fd_file.o \
|
|
||||||
stdio_rewind.o \
|
|
||||||
stdio_scanf.o \
|
|
||||||
stdio_setbuf.o \
|
|
||||||
stdio_setvbuf.o \
|
|
||||||
stdio_snprintf.o \
|
|
||||||
stdio_sprintf.o \
|
|
||||||
stdio_sscanf.o \
|
|
||||||
stdio_sscanf_hook_entry.o \
|
|
||||||
stdio_tmpfile.o \
|
|
||||||
stdio_tmpnam.o \
|
|
||||||
stdio_translateioerror.o \
|
|
||||||
stdio_ungetc.o \
|
|
||||||
stdio_unlockfile.o \
|
|
||||||
stdio_vasprintf.o \
|
|
||||||
stdio_vasprintf_hook_entry.o \
|
|
||||||
stdio_vfprintf.o \
|
|
||||||
stdio_vfscanf.o \
|
|
||||||
stdio_vprintf.o \
|
|
||||||
stdio_vsnprintf.o \
|
|
||||||
stdio_vsnprintf_hook_entry.o \
|
|
||||||
stdio_vsprintf.o \
|
|
||||||
stdio_vsprintf_hook_entry.o \
|
|
||||||
stdio_vsscanf.o \
|
|
||||||
stdio_vscanf.o \
|
|
||||||
stdlib_abort.o \
|
|
||||||
stdlib_abs.o \
|
|
||||||
stdlib_alloca.o \
|
|
||||||
stdlib_alloca_cleanup.o \
|
|
||||||
stdlib_alloca_trap.o \
|
|
||||||
stdlib_assertion_failure.o \
|
|
||||||
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_default_pool_size.o \
|
|
||||||
stdlib_default_puddle_size.o \
|
|
||||||
stdlib_destructor.o \
|
|
||||||
stdlib_detach.o \
|
|
||||||
stdlib_disablerequesters.o \
|
|
||||||
stdlib_div.o \
|
|
||||||
stdlib_divsi3.o \
|
|
||||||
stdlib_divsi4.o \
|
|
||||||
stdlib_dosbase.o \
|
|
||||||
stdlib_exit.o \
|
|
||||||
stdlib_free.o \
|
|
||||||
stdlib_free_unused_slabs.o \
|
|
||||||
stdlib_decay_unused_slabs.o \
|
|
||||||
stdlib_getdefstacksize.o \
|
|
||||||
stdlib_getenv.o \
|
|
||||||
stdlib_getmemstats.o \
|
|
||||||
stdlib_getsp.o \
|
|
||||||
stdlib_get_errno.o \
|
|
||||||
stdlib_get_slab_usage.o \
|
|
||||||
stdlib_get_slab_allocations.o \
|
|
||||||
stdlib_get_slab_stats.o \
|
|
||||||
stdlib_isresident.o \
|
|
||||||
stdlib_labs.o \
|
|
||||||
stdlib_llabs.o \
|
|
||||||
stdlib_ldiv.o \
|
|
||||||
stdlib_lldiv.o \
|
|
||||||
stdlib_lib_main.o \
|
|
||||||
stdlib_lib_startup.o \
|
|
||||||
stdlib_machine_test.o \
|
|
||||||
stdlib_main.o \
|
|
||||||
stdlib_main_stub.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_program_name.o \
|
|
||||||
stdlib_putenv.o \
|
|
||||||
stdlib_qsort.o \
|
|
||||||
stdlib_rand.o \
|
|
||||||
stdlib_rand_r.o \
|
|
||||||
stdlib_realloc.o \
|
|
||||||
stdlib_red_black.o \
|
|
||||||
stdlib_resetmemstats.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_slab.o \
|
|
||||||
stdlib_slab_max_size.o \
|
|
||||||
stdlib_slab_purge_threshold.o \
|
|
||||||
stdlib_srand.o \
|
|
||||||
stdlib_stacksize.o \
|
|
||||||
stdlib_stack_usage.o \
|
|
||||||
stdlib_arg.o \
|
|
||||||
stdlib_stdio_window_spec.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_utilitybase.o \
|
|
||||||
stdlib_udivsi3.o \
|
|
||||||
stdlib_udivsi4.o \
|
|
||||||
stdlib_umodsi3.o \
|
|
||||||
stdlib_unsetenv.o \
|
|
||||||
strings_ffs.o \
|
|
||||||
strings_strcasecmp.o \
|
|
||||||
strings_strncasecmp.o \
|
|
||||||
string_bcmp.o \
|
|
||||||
string_bcopy.o \
|
|
||||||
string_bzero.o \
|
|
||||||
string_index.o \
|
|
||||||
string_memchr.o \
|
|
||||||
string_memcmp.o \
|
|
||||||
string_memcpy.o \
|
|
||||||
string_memmove.o \
|
|
||||||
string_memset.o \
|
|
||||||
string_rindex.o \
|
|
||||||
string_strcat.o \
|
|
||||||
string_strchr.o \
|
|
||||||
string_strcmp.o \
|
|
||||||
string_strcoll.o \
|
|
||||||
string_strcpy.o \
|
|
||||||
string_strcspn.o \
|
|
||||||
string_strdup.o \
|
|
||||||
string_strerror.o \
|
|
||||||
string_strerror_r.o \
|
|
||||||
string_strlcat.o \
|
|
||||||
string_strlcpy.o \
|
|
||||||
string_strlen.o \
|
|
||||||
string_strncat.o \
|
|
||||||
string_strncmp.o \
|
|
||||||
string_strncpy.o \
|
|
||||||
string_strpbrk.o \
|
|
||||||
string_strrchr.o \
|
|
||||||
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_tzset.o \
|
|
||||||
time_weekday.o \
|
|
||||||
uio_readv.o \
|
|
||||||
uio_writev.o \
|
|
||||||
ulimit_ulimit.o \
|
|
||||||
unistd_access.o \
|
|
||||||
unistd_chdir.o \
|
|
||||||
unistd_chdir_exit.o \
|
|
||||||
unistd_chown.o \
|
|
||||||
unistd_currentpathname.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 \
|
|
||||||
unistd_getpid.o \
|
|
||||||
unistd_init_exit.o \
|
|
||||||
unistd_isatty.o \
|
|
||||||
unistd_lchown.o \
|
|
||||||
unistd_link.o \
|
|
||||||
unistd_lockf.o \
|
|
||||||
unistd_readlink.o \
|
|
||||||
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_unlink_retries.o \
|
|
||||||
unistd_usleep.o \
|
|
||||||
utime_utime.o \
|
|
||||||
utsname_uname.o
|
|
||||||
|
|
||||||
UNIX_LIB = \
|
AMIGA_LIB := $(sort $(AMIGA_LIB_COMMON) $(AMIGA_LIB_OS3))
|
||||||
unix.lib_rev.o \
|
C_LIB := $(sort $(C_LIB_COMMON) $(C_LIB_OS3))
|
||||||
dirent_closedir.o \
|
UNIX_LIB := $(sort $(UNIX_LIB_COMMON) $(UNIX_LIB_OS3))
|
||||||
dirent_rewinddir.o \
|
|
||||||
dirent_opendir.o \
|
|
||||||
dirent_readdir.o \
|
|
||||||
fcntl_creat.o \
|
|
||||||
fcntl_fcntl.o \
|
|
||||||
fcntl_open.o \
|
|
||||||
fcntl_get_default_file.o \
|
|
||||||
getopt_getopt_long.o \
|
|
||||||
mount_convertinfo.o \
|
|
||||||
mount_statfs.o \
|
|
||||||
resource_getrlimit.o \
|
|
||||||
resource_setrlimit.o \
|
|
||||||
stat_chmod.o \
|
|
||||||
stat_fstat.o \
|
|
||||||
stat_lstat.o \
|
|
||||||
stat_lock.o \
|
|
||||||
stat_mkdir.o \
|
|
||||||
stat_rmdir.o \
|
|
||||||
stat_stat.o \
|
|
||||||
stdio_ctermid.o \
|
|
||||||
stdio_fdhookentry.o \
|
|
||||||
stdio_fflush.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_alloca.o \
|
|
||||||
stdlib_alloca_cleanup.o \
|
|
||||||
stdlib_alloca_trap.o \
|
|
||||||
stdlib_arg.o \
|
|
||||||
stdlib_expand_wildcard.o \
|
|
||||||
stdlib_expand_wildcard_check.o \
|
|
||||||
stdlib_getmemstats.o \
|
|
||||||
stdlib_main.o \
|
|
||||||
stdlib_main_stub.o \
|
|
||||||
stdlib_mkdtemp.o \
|
|
||||||
stdlib_mkstemp.o \
|
|
||||||
stdlib_mktemp.o \
|
|
||||||
stdlib_malloc.o \
|
|
||||||
stdlib_realloc.o \
|
|
||||||
stdlib_resetmemstats.o \
|
|
||||||
stdlib_system.o \
|
|
||||||
systeminfo_sysinfo.o \
|
|
||||||
termios_cfgetispeed.o \
|
|
||||||
termios_cfgetospeed.o \
|
|
||||||
termios_cfmakeraw.o \
|
|
||||||
termios_cfsetispeed.o \
|
|
||||||
termios_cfsetospeed.o \
|
|
||||||
termios_console_fdhookentry.o \
|
|
||||||
termios_tcdrain.o \
|
|
||||||
termios_tcflow.o \
|
|
||||||
termios_tcflush.o \
|
|
||||||
termios_tcgetattr.o \
|
|
||||||
termios_tcsendbreak.o \
|
|
||||||
termios_tcsetattr.o \
|
|
||||||
timeb_ftime.o \
|
|
||||||
uio_readv.o \
|
|
||||||
uio_writev.o \
|
|
||||||
unistd_access.o \
|
|
||||||
unistd_chdir.o \
|
|
||||||
unistd_chdir_exit.o \
|
|
||||||
unistd_chown.o \
|
|
||||||
unistd_common_pathconf.o \
|
|
||||||
unistd_def_path.o \
|
|
||||||
unistd_def_path_delimiter.o \
|
|
||||||
unistd_environ.o \
|
|
||||||
unistd_execl.o \
|
|
||||||
unistd_execle.o \
|
|
||||||
unistd_execlp.o \
|
|
||||||
unistd_execv.o \
|
|
||||||
unistd_execve.o \
|
|
||||||
unistd_execve_env_exit.o \
|
|
||||||
unistd_execve_env_init.o \
|
|
||||||
unistd_execve_exit.o \
|
|
||||||
unistd_execvp.o \
|
|
||||||
unistd_fpathconf.o \
|
|
||||||
unistd_getcwd.o \
|
|
||||||
unistd_lchown.o \
|
|
||||||
unistd_link.o \
|
|
||||||
unistd_lockf.o \
|
|
||||||
unistd_pathconf.o \
|
|
||||||
unistd_readlink.o \
|
|
||||||
unistd_realpath.o \
|
|
||||||
unistd_restorepathname.o \
|
|
||||||
unistd_setcurrentpath.o \
|
|
||||||
unistd_strip_double_slash.o \
|
|
||||||
unistd_symlink.o \
|
|
||||||
unistd_translatea2u.o \
|
|
||||||
unistd_translaterel.o \
|
|
||||||
unistd_translateu2a.o \
|
|
||||||
unistd_truncate.o \
|
|
||||||
unistd_ttyname.o \
|
|
||||||
unistd_ttyname_r.o \
|
|
||||||
unistd_unix_path_semantics.o \
|
|
||||||
unistd_unlink.o \
|
|
||||||
unistd_wildcard_expand.o \
|
|
||||||
utime_utime.o
|
|
||||||
|
|
||||||
MATH_LIB = \
|
|
||||||
complex_carg.o \
|
|
||||||
complex_cargf.o \
|
|
||||||
complex_cargl.o \
|
|
||||||
complex_cimag.o \
|
|
||||||
complex_cimagf.o \
|
|
||||||
complex_cimagl.o \
|
|
||||||
complex_conj.o \
|
|
||||||
complex_conjf.o \
|
|
||||||
complex_conjl.o \
|
|
||||||
complex_creal.o \
|
|
||||||
complex_crealf.o \
|
|
||||||
complex_creall.o \
|
|
||||||
fenv_feclearexcept.o \
|
|
||||||
fenv_fegetenv.o \
|
|
||||||
fenv_fegetexceptflag.o \
|
|
||||||
fenv_fegetround.o \
|
|
||||||
fenv_feholdexcept.o \
|
|
||||||
fenv_feraiseexcept.o \
|
|
||||||
fenv_fesetenv.o \
|
|
||||||
fenv_fesetexceptflag.o \
|
|
||||||
fenv_fetestexcept.o \
|
|
||||||
fenv_fetestround.o \
|
|
||||||
fenv_feupdateenv.o \
|
|
||||||
math_acos.o \
|
|
||||||
math_acosf.o \
|
|
||||||
math_acosh.o \
|
|
||||||
math_acoshf.o \
|
|
||||||
math_asin.o \
|
|
||||||
math_asinf.o \
|
|
||||||
math_asinh.o \
|
|
||||||
math_asinhf.o \
|
|
||||||
math_atan.o \
|
|
||||||
math_atan2.o \
|
|
||||||
math_atan2f.o \
|
|
||||||
math_atanf.o \
|
|
||||||
math_atanh.o \
|
|
||||||
math_atanhf.o \
|
|
||||||
math_cbrt.o \
|
|
||||||
math_cbrtf.o \
|
|
||||||
math_ceil.o \
|
|
||||||
math_ceilf.o \
|
|
||||||
math_copysign.o \
|
|
||||||
math_copysignf.o \
|
|
||||||
math_cos.o \
|
|
||||||
math_cosf.o \
|
|
||||||
math_cosh.o \
|
|
||||||
math_coshf.o \
|
|
||||||
math_erf.o \
|
|
||||||
math_erfc.o \
|
|
||||||
math_erfcf.o \
|
|
||||||
math_erff.o \
|
|
||||||
math_exp.o \
|
|
||||||
math_exp2.o \
|
|
||||||
math_exp2f.o \
|
|
||||||
math_expf.o \
|
|
||||||
math_expm1.o \
|
|
||||||
math_expm1f.o \
|
|
||||||
math_fabs.o \
|
|
||||||
math_fabsf.o \
|
|
||||||
math_fdim.o \
|
|
||||||
math_fdimf.o \
|
|
||||||
math_floor.o \
|
|
||||||
math_floorf.o \
|
|
||||||
math_fma.o \
|
|
||||||
math_fmaf.o \
|
|
||||||
math_fmax.o \
|
|
||||||
math_fmaxf.o \
|
|
||||||
math_fmin.o \
|
|
||||||
math_fminf.o \
|
|
||||||
math_fmod.o \
|
|
||||||
math_fmodf.o \
|
|
||||||
math_fpclassify.o \
|
|
||||||
math_frexp.o \
|
|
||||||
math_frexpf.o \
|
|
||||||
math_huge_val.o \
|
|
||||||
math_huge_valf.o \
|
|
||||||
math_hypot.o \
|
|
||||||
math_hypotf.o \
|
|
||||||
math_ilogb.o \
|
|
||||||
math_ilogbf.o \
|
|
||||||
math_inf.o \
|
|
||||||
math_inff.o \
|
|
||||||
math_init_exit.o \
|
|
||||||
math_isfinite.o \
|
|
||||||
math_isunordered.o \
|
|
||||||
math_kernel_cosf.o \
|
|
||||||
math_kernel_sinf.o \
|
|
||||||
math_kernel_tanf.o \
|
|
||||||
math_ldexp.o \
|
|
||||||
math_ldexpf.o \
|
|
||||||
math_lgamma.o \
|
|
||||||
math_lgammaf.o \
|
|
||||||
math_llrint.o \
|
|
||||||
math_log.o \
|
|
||||||
math_log10.o \
|
|
||||||
math_log10f.o \
|
|
||||||
math_log1p.o \
|
|
||||||
math_log1pf.o \
|
|
||||||
math_log2.o \
|
|
||||||
math_log2f.o \
|
|
||||||
math_logb.o \
|
|
||||||
math_logbf.o \
|
|
||||||
math_logf.o \
|
|
||||||
math_lrint.o \
|
|
||||||
math_lrintf.o \
|
|
||||||
math_lround.o \
|
|
||||||
math_lroundf.o \
|
|
||||||
math_modf.o \
|
|
||||||
math_modff.o \
|
|
||||||
math_nan.o \
|
|
||||||
math_nanf.o \
|
|
||||||
math_nearbyint.o \
|
|
||||||
math_nearbyintf.o \
|
|
||||||
math_nextafter.o \
|
|
||||||
math_nextafterf.o \
|
|
||||||
math_pow.o \
|
|
||||||
math_powf.o \
|
|
||||||
math_remainder.o \
|
|
||||||
math_remainderf.o \
|
|
||||||
math_remquo.o \
|
|
||||||
math_remquof.o \
|
|
||||||
math_rem_pio2f.o \
|
|
||||||
math_rint.o \
|
|
||||||
math_rintf.o \
|
|
||||||
math_round.o \
|
|
||||||
math_roundf.o \
|
|
||||||
math_scalbn.o \
|
|
||||||
math_scalbnf.o \
|
|
||||||
math_signbit.o \
|
|
||||||
math_sin.o \
|
|
||||||
math_sinf.o \
|
|
||||||
math_sinh.o \
|
|
||||||
math_sinhf.o \
|
|
||||||
math_sqrt.o \
|
|
||||||
math_sqrtf.o \
|
|
||||||
math_tan.o \
|
|
||||||
math_tanf.o \
|
|
||||||
math_tanh.o \
|
|
||||||
math_tanhf.o \
|
|
||||||
math_tgamma.o \
|
|
||||||
math_tgammaf.o \
|
|
||||||
math_trunc.o \
|
|
||||||
math_truncf.o \
|
|
||||||
stdio_asprintf.o \
|
|
||||||
stdio_flush.o \
|
|
||||||
stdio_flush_all_files.o \
|
|
||||||
stdio_fprintf.o \
|
|
||||||
stdio_fscanf.o \
|
|
||||||
stdio_printf.o \
|
|
||||||
stdio_scanf.o \
|
|
||||||
stdio_snprintf.o \
|
|
||||||
stdio_sprintf.o \
|
|
||||||
stdio_sscanf.o \
|
|
||||||
stdio_vasprintf.o \
|
|
||||||
stdio_vfprintf.o \
|
|
||||||
stdio_vfscanf.o \
|
|
||||||
stdio_vsscanf.o \
|
|
||||||
stdio_vscanf.o \
|
|
||||||
stdio_vprintf.o \
|
|
||||||
stdio_vsnprintf.o \
|
|
||||||
stdio_vsprintf.o \
|
|
||||||
stdlib_atof.o \
|
|
||||||
stdlib_strtod.o \
|
|
||||||
stdlib_strtof.o \
|
|
||||||
time_difftime.o
|
|
||||||
|
|
||||||
MATH_LIB_881 = \
|
|
||||||
m881.lib_rev.o \
|
|
||||||
$(MATH_LIB)
|
|
||||||
|
|
||||||
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
|
|
||||||
|
|
||||||
NET_LIB = \
|
|
||||||
net.lib_rev.o \
|
|
||||||
socket_accept.o \
|
|
||||||
socket_bind.o \
|
|
||||||
socket_check_daemon.o \
|
|
||||||
socket_connect.o \
|
|
||||||
socket_gethostbyaddr.o \
|
|
||||||
socket_gethostbyname.o \
|
|
||||||
socket_gethostid.o \
|
|
||||||
socket_gethostname.o \
|
|
||||||
socket_getnetbyaddr.o \
|
|
||||||
socket_getnetbyname.o \
|
|
||||||
socket_getpeername.o \
|
|
||||||
socket_getprotobyname.o \
|
|
||||||
socket_getprotobynumber.o \
|
|
||||||
socket_getservbyname.o \
|
|
||||||
socket_getservbyport.o \
|
|
||||||
socket_getsockname.o \
|
|
||||||
socket_getsockopt.o \
|
|
||||||
socket_get_descriptor.o \
|
|
||||||
socket_inet_addr.o \
|
|
||||||
socket_inet_aton.o \
|
|
||||||
socket_inet_lnaof.o \
|
|
||||||
socket_inet_makeaddr.o \
|
|
||||||
socket_inet_netof.o \
|
|
||||||
socket_inet_network.o \
|
|
||||||
socket_inet_ntoa.o \
|
|
||||||
socket_init_exit.o \
|
|
||||||
socket_ioctl.o \
|
|
||||||
socket_isdaemon.o \
|
|
||||||
socket_listen.o \
|
|
||||||
socket_obtain_daemon.o \
|
|
||||||
socket_recv.o \
|
|
||||||
socket_recvfrom.o \
|
|
||||||
socket_recvmsg.o \
|
|
||||||
socket_select_signal.o \
|
|
||||||
socket_select.o \
|
|
||||||
socket_wait_select.o \
|
|
||||||
socket_send.o \
|
|
||||||
socket_sendmsg.o \
|
|
||||||
socket_sendto.o \
|
|
||||||
socket_setsockopt.o \
|
|
||||||
socket_shutdown.o \
|
|
||||||
socket_socket.o \
|
|
||||||
socket_hook_entry.o \
|
|
||||||
socket_hstrerror.o \
|
|
||||||
socket_get_h_errno.o \
|
|
||||||
socket_set_h_errno.o \
|
|
||||||
stat_umask.o \
|
|
||||||
systeminfo_sysinfo.o \
|
|
||||||
usergroup_crypt.o \
|
|
||||||
usergroup_data.o \
|
|
||||||
usergroup_endgrent.o \
|
|
||||||
usergroup_endpwent.o \
|
|
||||||
usergroup_getegid.o \
|
|
||||||
usergroup_geteuid.o \
|
|
||||||
usergroup_getgid.o \
|
|
||||||
usergroup_getgrent.o \
|
|
||||||
usergroup_getgrgid.o \
|
|
||||||
usergroup_getgrnam.o \
|
|
||||||
usergroup_getgroups.o \
|
|
||||||
usergroup_getpass.o \
|
|
||||||
usergroup_getpwent.o \
|
|
||||||
usergroup_getpwnam.o \
|
|
||||||
usergroup_getpwuid.o \
|
|
||||||
usergroup_getuid.o \
|
|
||||||
usergroup_initgroups.o \
|
|
||||||
usergroup_init_exit.o \
|
|
||||||
usergroup_rootmode.o \
|
|
||||||
usergroup_setegid.o \
|
|
||||||
usergroup_seteuid.o \
|
|
||||||
usergroup_setgid.o \
|
|
||||||
usergroup_setgrent.o \
|
|
||||||
usergroup_setgroups.o \
|
|
||||||
usergroup_setpwent.o \
|
|
||||||
usergroup_setregid.o \
|
|
||||||
usergroup_setreuid.o \
|
|
||||||
usergroup_setsid.o \
|
|
||||||
usergroup_setuid.o \
|
|
||||||
utsname_uname.o
|
|
||||||
|
|
||||||
DEBUG_LIB = \
|
|
||||||
debug.lib_rev.o \
|
|
||||||
debug.o \
|
|
||||||
debug_cmpstrexec.o \
|
|
||||||
debug_kcmpstr.o \
|
|
||||||
debug_kdofmt.o \
|
|
||||||
debug_kgetc.o \
|
|
||||||
debug_kgetch1.o \
|
|
||||||
debug_kgetch2.o \
|
|
||||||
debug_kgetchar1.o \
|
|
||||||
debug_kgetchar2.o \
|
|
||||||
debug_kgetnum1.o \
|
|
||||||
debug_kgetnum2.o \
|
|
||||||
debug_kmaygetch.o \
|
|
||||||
debug_kmaygetchar.o \
|
|
||||||
debug_kprintf1.o \
|
|
||||||
debug_kprintf2.o \
|
|
||||||
debug_kputc.o \
|
|
||||||
debug_kputch1.o \
|
|
||||||
debug_kputch2.o \
|
|
||||||
debug_kputchar1.o \
|
|
||||||
debug_kputchar2.o \
|
|
||||||
debug_kputfmt.o \
|
|
||||||
debug_kputs1.o \
|
|
||||||
debug_kputs2.o \
|
|
||||||
debug_kputstr1.o \
|
|
||||||
debug_kputstr2.o \
|
|
||||||
debug_kvprintf1.o \
|
|
||||||
debug_kvprintf2.o \
|
|
||||||
debug_level.o
|
|
||||||
|
|
||||||
AMIGA_LIB = \
|
|
||||||
amiga.lib_rev.o \
|
|
||||||
amiga_acrypt.o \
|
|
||||||
amiga_addtof.o \
|
|
||||||
amiga_argarraydone.o \
|
|
||||||
amiga_argarrayinit.o \
|
|
||||||
amiga_argint.o \
|
|
||||||
amiga_argstring.o \
|
|
||||||
amiga_beginio.o \
|
|
||||||
amiga_callhook.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 \
|
|
||||||
amiga_fastrand.o \
|
|
||||||
amiga_freeievents.o \
|
|
||||||
amiga_hookentry.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 = \
|
MEMDEBUG_LIB = \
|
||||||
stdio_vasprintf_debug.o \
|
stdio_vasprintf_debug.o \
|
||||||
@@ -962,8 +163,8 @@ MEMDEBUG_LIB = \
|
|||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
LIBS_68K := $(LIBC_OBJS)/libc.a $(LIBUNIX_OBJS)/libunix.a \
|
LIBS_68K := $(LIBC_OBJS)/libc.a $(LIBUNIX_OBJS)/libunix.a \
|
||||||
$(LIBNET_OBJS)/libnet.a $(LIBDEBUG_OBJS)/libdebug.a $(LIBAMIGA_OBJS)/libamiga.a \
|
$(LIBNET_OBJS)/libnet.a $(LIBDEBUG_OBJS)/libdebug.a \
|
||||||
$(LIBM_OBJS)/libm.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)
|
||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# $Id: GNUmakefile.os4,v 1.116 2008-11-06 14:44:07 obarthel Exp $
|
# $Id: GNUmakefile.os4,v 1.116 2008-11-06 14:44:07 obarthel Exp $
|
||||||
#
|
#
|
||||||
# :ts=8
|
# vim:ts=8 ft=make:
|
||||||
#
|
#
|
||||||
# -*- mode: makefile; -*-
|
# -*- mode: makefile; -*-
|
||||||
|
|
||||||
@@ -29,11 +29,7 @@ RANLIB := ppc-amigaos-ranlib
|
|||||||
COPY := cp -p
|
COPY := cp -p
|
||||||
DELETE := rm -rf
|
DELETE := rm -rf
|
||||||
MAKEDIR := mkdir -p
|
MAKEDIR := mkdir -p
|
||||||
# Enabling the LOG_COMMAND has the consequence that a rule will not
|
LOG_COMMAND := 2>&1 | tee -a compiler.log
|
||||||
# fail on an error because only the exit status from the tee command
|
|
||||||
# will be considered
|
|
||||||
#LOG_COMMAND := 2>&1 | tee -a compiler.log
|
|
||||||
LOG_COMMAND :=
|
|
||||||
# You may need to request a specific compiler version in order to
|
# You may need to request a specific compiler version in order to
|
||||||
# build the baserel versions of the library. At this time of
|
# build the baserel versions of the library. At this time of
|
||||||
# writing (2008-11-06) GCC 4.0.4 and below support the -mbaserel
|
# writing (2008-11-06) GCC 4.0.4 and below support the -mbaserel
|
||||||
@@ -58,13 +54,13 @@ LOG_COMMAND :=
|
|||||||
|
|
||||||
WARNINGS := \
|
WARNINGS := \
|
||||||
-Wall -W -Wpointer-arith -Wsign-compare -Wmissing-prototypes \
|
-Wall -W -Wpointer-arith -Wsign-compare -Wmissing-prototypes \
|
||||||
-Wundef -Wmissing-declarations -Wunused -Wwrite-strings \
|
-Wundef -Wbad-function-cast -Wmissing-declarations -Wunused -Wwrite-strings \
|
||||||
-Wno-deprecated-declarations -Wno-unused-label \
|
-Wno-deprecated-declarations \
|
||||||
|
|
||||||
# -Wconversion -Wshadow -Wbad-function-cast
|
# -Wconversion -Wshadow
|
||||||
|
|
||||||
INCLUDES := -Iinclude -I. -I$(SDK_INCLUDE)
|
INCLUDES := -Iinclude -I. -I$(SDK_INCLUDE)
|
||||||
OPTIONS := -DUSE_64_BIT_INTS -D__USE_INLINE__ -Wa,-mregnames -fno-builtin -fno-common -std=c99 -nostdlib
|
OPTIONS := -DUSE_64_BIT_INTS -D__USE_INLINE__ -Wa,-mregnames -fno-common -std=gnu99 -mcrt=clib2
|
||||||
OPTIMIZE := -DNDEBUG -O3
|
OPTIMIZE := -DNDEBUG -O3
|
||||||
|
|
||||||
#DEBUG := -ggdb
|
#DEBUG := -ggdb
|
||||||
@@ -99,32 +95,45 @@ include libdebug.gmk
|
|||||||
include libamiga.gmk
|
include libamiga.gmk
|
||||||
include libprofile.gmk
|
include libprofile.gmk
|
||||||
|
|
||||||
all-targets: \
|
##############################################################################
|
||||||
lib/crt0.o \
|
|
||||||
lib/small-data/crt0.o \
|
# General build rules for all object files and the individual libraries
|
||||||
lib/soft-float/crt0.o \
|
|
||||||
lib/baserel/crt0.o \
|
define generic_rule
|
||||||
lib/crtbegin.o \
|
|
||||||
lib/soft-float/crtbegin.o \
|
LIBS += lib/$(1)crt0.o \
|
||||||
lib/small-data/crtbegin.o \
|
lib/$(1)crtbegin.o \
|
||||||
lib/baserel/crtbegin.o \
|
lib/$(1)crtend.o \
|
||||||
lib/crtend.o \
|
lib.threadsafe/$(1)crt0.o \
|
||||||
lib/soft-float/crtend.o \
|
lib.threadsafe/$(1)crtbegin.o \
|
||||||
lib/small-data/crtend.o \
|
lib.threadsafe/$(1)crtend.o
|
||||||
lib/baserel/crtend.o \
|
|
||||||
lib.threadsafe/crt0.o \
|
lib/$(1)%.o : AFLAGS += $(2)
|
||||||
lib.threadsafe/small-data/crt0.o \
|
lib/$(1)%.o : %.S
|
||||||
lib.threadsafe/soft-float/crt0.o \
|
@$$(ASSEMBLE)
|
||||||
lib.threadsafe/baserel/crt0.o \
|
|
||||||
lib.threadsafe/crtbegin.o \
|
lib/$(1)%.o : CFLAGS += $(2)
|
||||||
lib.threadsafe/soft-float/crtbegin.o \
|
lib/$(1)%.o : %.c
|
||||||
lib.threadsafe/small-data/crtbegin.o \
|
@$$(COMPILE)
|
||||||
lib.threadsafe/baserel/crtbegin.o \
|
|
||||||
lib.threadsafe/crtend.o \
|
lib.threadsafe/$(1)%.o : AFLAGS += $(THREADSAFE) $(2)
|
||||||
lib.threadsafe/soft-float/crtend.o \
|
lib.threadsafe/$(1)%.o : %.S
|
||||||
lib.threadsafe/small-data/crtend.o \
|
@$$(ASSEMBLE)
|
||||||
lib.threadsafe/baserel/crtend.o \
|
|
||||||
$(LIBS)
|
lib.threadsafe/$(1)%.o : CFLAGS += $(THREADSAFE) $(2)
|
||||||
|
lib.threadsafe/$(1)%.o : %.c
|
||||||
|
@$$(COMPILE)
|
||||||
|
|
||||||
|
endef
|
||||||
|
|
||||||
|
$(eval $(call generic_rule,,$(LARGEDATA)))
|
||||||
|
$(eval $(call generic_rule,small-data/,$(SMALLDATA)))
|
||||||
|
$(eval $(call generic_rule,soft-float/,$(SOFTFLOAT)))
|
||||||
|
$(eval $(call generic_rule,baserel/,$(BASEREL)))
|
||||||
|
|
||||||
|
##############################################################################
|
||||||
|
|
||||||
|
all-targets: $(LIBS)
|
||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
@@ -162,105 +171,6 @@ cvs-tag:
|
|||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
# General build rules for all object files and the individual libraries
|
|
||||||
|
|
||||||
lib/crtbegin.o : CFLAGS += -fno-aggressive-loop-optimizations
|
|
||||||
lib/crtbegin.o : crtbegin.c
|
|
||||||
@$(COMPILE)
|
|
||||||
|
|
||||||
lib/%.o : AFLAGS += $(LARGEDATA)
|
|
||||||
lib/%.o : %.S
|
|
||||||
@$(ASSEMBLE)
|
|
||||||
|
|
||||||
lib/%.o : %.c
|
|
||||||
@$(COMPILE)
|
|
||||||
|
|
||||||
lib/small-data/%.o : AFLAGS += $(SMALLDATA)
|
|
||||||
lib/small-data/%.o : %.S
|
|
||||||
@$(ASSEMBLE)
|
|
||||||
|
|
||||||
lib/small-data/crtbegin.o : CFLAGS += $(SMALLDATA) -fno-aggressive-loop-optimizations
|
|
||||||
lib/small-data/crtbegin.o : crtbegin.c
|
|
||||||
@$(COMPILE)
|
|
||||||
|
|
||||||
lib/small-data/%.o : CFLAGS += $(SMALLDATA)
|
|
||||||
lib/small-data/%.o : %.c
|
|
||||||
@$(COMPILE)
|
|
||||||
|
|
||||||
lib/soft-float/%.o : AFLAGS += $(SOFTFLOAT)
|
|
||||||
lib/soft-float/%.o : %.S
|
|
||||||
@$(ASSEMBLE)
|
|
||||||
|
|
||||||
lib/soft-float/crtbegin.o : CFLAGS += $(SOFTFLOAT) -fno-aggressive-loop-optimizations
|
|
||||||
lib/soft-float/crtbegin.o : crtbegin.c
|
|
||||||
@$(COMPILE)
|
|
||||||
|
|
||||||
lib/soft-float/%.o : CFLAGS += $(SOFTFLOAT)
|
|
||||||
lib/soft-float/%.o : %.c
|
|
||||||
@$(COMPILE)
|
|
||||||
|
|
||||||
lib/baserel/%.o : AFLAGS += $(BASEREL)
|
|
||||||
lib/baserel/%.o : %.S
|
|
||||||
@$(ASSEMBLE)
|
|
||||||
|
|
||||||
lib/baserel/crtbegin.o : CFLAGS += $(BASEREL) -fno-aggressive-loop-optimizations
|
|
||||||
lib/baserel/crtbegin.o : crtbegin.c
|
|
||||||
@$(COMPILE)
|
|
||||||
|
|
||||||
lib/baserel/%.o : CFLAGS += $(BASEREL)
|
|
||||||
lib/baserel/%.o : %.c
|
|
||||||
@$(COMPILE)
|
|
||||||
|
|
||||||
lib.threadsafe/%.o : AFLAGS += $(LARGEDATA) $(THREADSAFE)
|
|
||||||
lib.threadsafe/%.o : %.S
|
|
||||||
@$(ASSEMBLE)
|
|
||||||
|
|
||||||
lib.threadsafe/crtbegin.o : CFLAGS += $(THREADSAFE) $(LARGEDATA) -fno-aggressive-loop-optimizations
|
|
||||||
lib.threadsafe/crtbegin.o : crtbegin.c
|
|
||||||
@$(COMPILE)
|
|
||||||
|
|
||||||
lib.threadsafe/%.o : CFLAGS += $(THREADSAFE) $(LARGEDATA)
|
|
||||||
lib.threadsafe/%.o : %.c
|
|
||||||
@$(COMPILE)
|
|
||||||
|
|
||||||
lib.threadsafe/small-data/%.o : AFLAGS += $(SMALLDATA) $(THREADSAFE)
|
|
||||||
lib.threadsafe/small-data/%.o : %.S
|
|
||||||
@$(ASSEMBLE)
|
|
||||||
|
|
||||||
lib.threadsafe/small-data/crtbegin.o : CFLAGS += $(THREADSAFE) $(SMALLDATA) -fno-aggressive-loop-optimizations
|
|
||||||
lib.threadsafe/small-data/crtbegin.o : crtbegin.c
|
|
||||||
@$(COMPILE)
|
|
||||||
|
|
||||||
lib.threadsafe/small-data/%.o : CFLAGS += $(THREADSAFE) $(SMALLDATA)
|
|
||||||
lib.threadsafe/small-data/%.o : %.c
|
|
||||||
@$(COMPILE)
|
|
||||||
|
|
||||||
lib.threadsafe/soft-float/%.o : AFLAGS += $(SOFTFLOAT) $(THREADSAFE)
|
|
||||||
lib.threadsafe/soft-float/%.o : %.S
|
|
||||||
@$(ASSEMBLE)
|
|
||||||
|
|
||||||
lib.threadsafe/soft-float/crtbegin.o : CFLAGS += $(THREADSAFE) $(SOFTFLOAT) -fno-aggressive-loop-optimizations
|
|
||||||
lib.threadsafe/soft-float/crtbegin.o : crtbegin.c
|
|
||||||
@$(COMPILE)
|
|
||||||
|
|
||||||
lib.threadsafe/soft-float/%.o : CFLAGS += $(THREADSAFE) $(SOFTFLOAT)
|
|
||||||
lib.threadsafe/soft-float/%.o : %.c
|
|
||||||
@$(COMPILE)
|
|
||||||
|
|
||||||
lib.threadsafe/baserel/%.o : AFLAGS += $(BASEREL) $(THREADSAFE)
|
|
||||||
lib.threadsafe/baserel/%.o : %.S
|
|
||||||
@$(ASSEMBLE)
|
|
||||||
|
|
||||||
lib.threadsafe/baserel/crtbegin.o : CFLAGS += $(THREADSAFE) $(BASEREL) -fno-aggressive-loop-optimizations
|
|
||||||
lib.threadsafe/baserel/crtbegin.o : crtbegin.c
|
|
||||||
@$(COMPILE)
|
|
||||||
|
|
||||||
lib.threadsafe/baserel/%.o : CFLAGS += $(THREADSAFE) $(BASEREL)
|
|
||||||
lib.threadsafe/baserel/%.o : %.c
|
|
||||||
@$(COMPILE)
|
|
||||||
|
|
||||||
##############################################################################
|
|
||||||
|
|
||||||
define COMPILE
|
define COMPILE
|
||||||
-$(MAKEDIR) $(@D)
|
-$(MAKEDIR) $(@D)
|
||||||
echo "Compiling $< [$(@D)]"
|
echo "Compiling $< [$(@D)]"
|
||||||
@@ -274,7 +184,7 @@ $(CC) $(AFLAGS) -o $@ -c $< $(LOG_COMMAND)
|
|||||||
endef
|
endef
|
||||||
|
|
||||||
define MAKELIB
|
define MAKELIB
|
||||||
-$(MAKEDIR) $(@D)
|
-$(MAKEDIR) $@
|
||||||
$(DELETE) $@
|
$(DELETE) $@
|
||||||
echo "Making $@"
|
echo "Making $@"
|
||||||
$(AR) $@ $^ $(LOG_COMMAND)
|
$(AR) $@ $^ $(LOG_COMMAND)
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#define VERSION 1
|
#define VERSION 1
|
||||||
#define REVISION 215
|
#define REVISION 213
|
||||||
#define DATE "26.6.2017"
|
#define DATE "4.12.2016"
|
||||||
#define VERS "amiga.lib 1.215"
|
#define VERS "amiga.lib 1.213"
|
||||||
#define VSTRING "amiga.lib 1.215 (26.6.2017)\r\n"
|
#define VSTRING "amiga.lib 1.213 (4.12.2016)\r\n"
|
||||||
#define VERSTAG "\0$VER: amiga.lib 1.215 (26.6.2017)"
|
#define VERSTAG "\0$VER: amiga.lib 1.213 (4.12.2016)"
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
215
|
213
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#define VERSION 1
|
#define VERSION 1
|
||||||
#define REVISION 215
|
#define REVISION 213
|
||||||
#define DATE "26.6.2017"
|
#define DATE "4.12.2016"
|
||||||
#define VERS "c.lib 1.215"
|
#define VERS "c.lib 1.213"
|
||||||
#define VSTRING "c.lib 1.215 (26.6.2017)\r\n"
|
#define VSTRING "c.lib 1.213 (4.12.2016)\r\n"
|
||||||
#define VERSTAG "\0$VER: c.lib 1.215 (26.6.2017)"
|
#define VERSTAG "\0$VER: c.lib 1.213 (4.12.2016)"
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
215
|
213
|
||||||
|
|||||||
@@ -1,30 +1,3 @@
|
|||||||
c.lib 1.216 (xxx)
|
|
||||||
|
|
||||||
- Add some wchar and multbyte-string related functions to allow gcc
|
|
||||||
building a libstdc++ library with wide char support. For now, the
|
|
||||||
functions are mostly stub ones only. They can be implemented on
|
|
||||||
demand.
|
|
||||||
|
|
||||||
|
|
||||||
c.lib 1.215 (26.6.2017)
|
|
||||||
|
|
||||||
- Added -fno-aggressive-loop-optimizations option when building crtbegin.c
|
|
||||||
to work around constructor/destructor hack with GCC 5.4.0 on AmigaOS 4.
|
|
||||||
|
|
||||||
- Added -fno-builtin option to fix conflicts with builtin memset()
|
|
||||||
with GCC 5.4.0 on AmigaOS 4.
|
|
||||||
|
|
||||||
|
|
||||||
c.lib 1.214 (27.4.2017)
|
|
||||||
|
|
||||||
- Added integer overflow test to calloc().
|
|
||||||
|
|
||||||
- Tiny change in getopt_long() so that the value pointed to by longindex
|
|
||||||
is always initialized to an invalid index position (that being -1),
|
|
||||||
instead of 0. The value of 0 can break some shell commands, most notably
|
|
||||||
GNU wget.
|
|
||||||
|
|
||||||
|
|
||||||
c.lib 1.213 (4.12.2016)
|
c.lib 1.213 (4.12.2016)
|
||||||
|
|
||||||
- Added the __decay_unused_slabs() function which brings all currently
|
- Added the __decay_unused_slabs() function which brings all currently
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* crtbegin.c
|
* $Id: crtbegin.c,v 1.13 2010-08-21 11:37:03 obarthel Exp $
|
||||||
*
|
*
|
||||||
* :ts=4
|
* :ts=4
|
||||||
*
|
*
|
||||||
@@ -48,12 +48,7 @@
|
|||||||
* Dummy constructor and destructor array. The linker script will put these at the
|
* 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
|
* 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
|
* 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.
|
* code can find the global constructor/destructor pointers
|
||||||
*
|
|
||||||
* WARNING:
|
|
||||||
* This hack does not work correctly with GCC 5 and higher. The optimizer
|
|
||||||
* will see a one element array and act appropriately. The current workaround
|
|
||||||
* is to use -fno-aggressive-loop-optimizations when compiling this file.
|
|
||||||
*/
|
*/
|
||||||
static void (*__CTOR_LIST__[1]) (void) __attribute__(( used, section(".ctors"), aligned(sizeof(void (*)(void))) ));
|
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 (*__DTOR_LIST__[1]) (void) __attribute__(( used, section(".dtors"), aligned(sizeof(void (*)(void))) ));
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#define VERSION 1
|
#define VERSION 1
|
||||||
#define REVISION 215
|
#define REVISION 213
|
||||||
#define DATE "26.6.2017"
|
#define DATE "4.12.2016"
|
||||||
#define VERS "debug.lib 1.215"
|
#define VERS "debug.lib 1.213"
|
||||||
#define VSTRING "debug.lib 1.215 (26.6.2017)\r\n"
|
#define VSTRING "debug.lib 1.213 (4.12.2016)\r\n"
|
||||||
#define VERSTAG "\0$VER: debug.lib 1.215 (26.6.2017)"
|
#define VERSTAG "\0$VER: debug.lib 1.213 (4.12.2016)"
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
215
|
213
|
||||||
|
|||||||
@@ -125,7 +125,7 @@ CLIB_DESTRUCTOR(dirent_exit)
|
|||||||
|
|
||||||
if(__directory_list.mlh_Head != NULL)
|
if(__directory_list.mlh_Head != NULL)
|
||||||
{
|
{
|
||||||
while(NOT IsMinListEmpty(&__directory_list))
|
while(NOT IsListEmpty((struct List *)&__directory_list))
|
||||||
closedir((DIR *)__directory_list.mlh_Head);
|
closedir((DIR *)__directory_list.mlh_Head);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -196,7 +196,7 @@ opendir(const char * path_name)
|
|||||||
UnLockDosList(LDF_VOLUMES|LDF_READ);
|
UnLockDosList(LDF_VOLUMES|LDF_READ);
|
||||||
|
|
||||||
/* Bail out if we cannot present anything. */
|
/* Bail out if we cannot present anything. */
|
||||||
if(IsMinListEmpty(&dh->dh_VolumeList))
|
if(IsListEmpty((struct List *)&dh->dh_VolumeList))
|
||||||
{
|
{
|
||||||
__set_errno(ENOMEM);
|
__set_errno(ENOMEM);
|
||||||
goto out;
|
goto out;
|
||||||
|
|||||||
@@ -93,7 +93,7 @@ readdir(DIR * directory_pointer)
|
|||||||
|
|
||||||
assert( (((ULONG)name) & 3) == 0 );
|
assert( (((ULONG)name) & 3) == 0 );
|
||||||
|
|
||||||
if(dh->dh_VolumeNode == NULL && NOT IsMinListEmpty(&dh->dh_VolumeList))
|
if(dh->dh_VolumeNode == NULL && NOT IsListEmpty((struct List *)&dh->dh_VolumeList))
|
||||||
dh->dh_VolumeNode = (struct Node *)dh->dh_VolumeList.mlh_Head;
|
dh->dh_VolumeNode = (struct Node *)dh->dh_VolumeList.mlh_Head;
|
||||||
|
|
||||||
strcpy(name,"\1:"); /* BSTR for ":" */
|
strcpy(name,"\1:"); /* BSTR for ":" */
|
||||||
|
|||||||
@@ -296,7 +296,7 @@ static int getopt_long_internal(int argc, const char **argv, const char *optstri
|
|||||||
optp = strchr(optstring, c);
|
optp = strchr(optstring, c);
|
||||||
|
|
||||||
/* We never find a long option in a compound option */
|
/* We never find a long option in a compound option */
|
||||||
*longindex = -1;
|
*longindex = 0;
|
||||||
|
|
||||||
/* Check if it's legal */
|
/* Check if it's legal */
|
||||||
if (c == ':' || (optp == NULL))
|
if (c == ':' || (optp == NULL))
|
||||||
|
|||||||
@@ -359,7 +359,7 @@ extern unsigned int (* __get_default_stack_size)(void);
|
|||||||
/*
|
/*
|
||||||
* This library falls back onto locale.library to perform string collation
|
* This library falls back onto locale.library to perform string collation
|
||||||
* in strcoll(), character conversion in toupper() and various other
|
* in strcoll(), character conversion in toupper() and various other
|
||||||
* functions. This may not be your intention. To restrict the library to use
|
* functions. This may not your intention. To restrict the library to use
|
||||||
* only the "C" language locale, declare the following variable in your
|
* only the "C" language locale, declare the following variable in your
|
||||||
* code and set it to FALSE, so that it overrides the default settings.
|
* code and set it to FALSE, so that it overrides the default settings.
|
||||||
* The variable value is checked during program startup and, if set to
|
* The variable value is checked during program startup and, if set to
|
||||||
|
|||||||
@@ -166,8 +166,6 @@ extern int errno;
|
|||||||
|
|
||||||
#define EILSEQ 85 /* Encoding error detected */
|
#define EILSEQ 85 /* Encoding error detected */
|
||||||
|
|
||||||
#define ENOTSUP 86 /* Not supported */
|
|
||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
|||||||
@@ -59,10 +59,6 @@ extern "C" {
|
|||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
||||||
typedef void *locale_t;
|
|
||||||
|
|
||||||
/****************************************************************************/
|
|
||||||
|
|
||||||
struct lconv
|
struct lconv
|
||||||
{
|
{
|
||||||
char * decimal_point; /* Decimal point character (non-monetary). */
|
char * decimal_point; /* Decimal point character (non-monetary). */
|
||||||
|
|||||||
@@ -61,11 +61,7 @@ extern "C" {
|
|||||||
|
|
||||||
typedef int ptrdiff_t;
|
typedef int ptrdiff_t;
|
||||||
typedef unsigned int size_t;
|
typedef unsigned int size_t;
|
||||||
|
|
||||||
/* wchar_t is a built-in type in C++ */
|
|
||||||
#ifndef __cplusplus
|
|
||||||
typedef unsigned short wchar_t;
|
typedef unsigned short wchar_t;
|
||||||
#endif
|
|
||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
||||||
|
|||||||
@@ -47,10 +47,6 @@
|
|||||||
#include <stddef.h>
|
#include <stddef.h>
|
||||||
#endif /* _STDDEF_H */
|
#endif /* _STDDEF_H */
|
||||||
|
|
||||||
#ifndef _SYS_CLIB2_STDC_H
|
|
||||||
#include <sys/clib2_stdc.h>
|
|
||||||
#endif /* _SYS_CLIB2_STDC_H */
|
|
||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
@@ -451,11 +447,6 @@ extern lldiv_t lldiv(long long n,long long d);
|
|||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
||||||
extern int mbtowc(wchar_t *restrict pwc, const char *restrict s, size_t n);
|
|
||||||
extern int wctomb(char *s, wchar_t wchar);
|
|
||||||
|
|
||||||
/****************************************************************************/
|
|
||||||
|
|
||||||
#endif /* __GNUC__ || (__STDC_VERSION__ && __STDC_VERSION__ >= 199901L) */
|
#endif /* __GNUC__ || (__STDC_VERSION__ && __STDC_VERSION__ >= 199901L) */
|
||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|||||||
@@ -62,7 +62,6 @@ extern int strcmp(const char *s1, const char * s2);
|
|||||||
extern int strncmp(const char *s1, const char *s2, size_t n);
|
extern int strncmp(const char *s1, const char *s2, size_t n);
|
||||||
extern char *strcpy(char *dest, const char *src);
|
extern char *strcpy(char *dest, const char *src);
|
||||||
extern char *strncpy(char *dest, const char *src, size_t n);
|
extern char *strncpy(char *dest, const char *src, size_t n);
|
||||||
extern size_t strnlen(const char *s, size_t maxlen);
|
|
||||||
extern size_t strlen(const char *s);
|
extern size_t strlen(const char *s);
|
||||||
extern char *strchr(const char *s, int c);
|
extern char *strchr(const char *s, int c);
|
||||||
extern char *strrchr(const char *s, int c);
|
extern char *strrchr(const char *s, int c);
|
||||||
|
|||||||
@@ -1,73 +0,0 @@
|
|||||||
/*
|
|
||||||
* $Id: $
|
|
||||||
*
|
|
||||||
* :ts=4
|
|
||||||
*
|
|
||||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
|
||||||
* Copyright (c) 2002-2017 by Olaf Barthel <obarthel (at) gmx.net>
|
|
||||||
* 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.
|
|
||||||
*
|
|
||||||
*****************************************************************************
|
|
||||||
*
|
|
||||||
* Documentation and source code for this library, and the most recent library
|
|
||||||
* build are available from <https://github.com/adtools/clib2>.
|
|
||||||
*
|
|
||||||
*****************************************************************************
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef _SYS_PARAM_H
|
|
||||||
#define _SYS_PARAM_H
|
|
||||||
|
|
||||||
/****************************************************************************/
|
|
||||||
|
|
||||||
/* The following is not part of the ISO 'C' (1994) standard. */
|
|
||||||
|
|
||||||
/****************************************************************************/
|
|
||||||
|
|
||||||
#ifndef _UNISTD_H
|
|
||||||
#include <unistd.h>
|
|
||||||
#endif /* _UNISTD_H */
|
|
||||||
|
|
||||||
/****************************************************************************/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif /* __cplusplus */
|
|
||||||
|
|
||||||
/****************************************************************************/
|
|
||||||
|
|
||||||
#define MIN(a,b) (((a)<(b))?(a):(b))
|
|
||||||
#define MAX(a,b) (((a)>(b))?(a):(b))
|
|
||||||
|
|
||||||
/****************************************************************************/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif /* __cplusplus */
|
|
||||||
|
|
||||||
/****************************************************************************/
|
|
||||||
|
|
||||||
#endif /* _SYS_MOUNT_H */
|
|
||||||
@@ -106,24 +106,10 @@ extern size_t strftime(char *s, size_t maxsize, const char *format,
|
|||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
||||||
/* Timespec declaration */
|
|
||||||
struct timespec
|
|
||||||
{
|
|
||||||
time_t tv_secs;
|
|
||||||
long tv_nsec;
|
|
||||||
};
|
|
||||||
|
|
||||||
#ifndef tv_sec
|
|
||||||
#define tv_sec tv_secs
|
|
||||||
#endif /* tv_sec */
|
|
||||||
|
|
||||||
/****************************************************************************/
|
|
||||||
|
|
||||||
extern char * asctime_r(const struct tm *tm,char * buffer);
|
extern char * asctime_r(const struct tm *tm,char * buffer);
|
||||||
extern char * ctime_r(const time_t *tptr,char * buffer);
|
extern char * ctime_r(const time_t *tptr,char * buffer);
|
||||||
extern struct tm * gmtime_r(const time_t *t,struct tm * tm_ptr);
|
extern struct tm * gmtime_r(const time_t *t,struct tm * tm_ptr);
|
||||||
extern struct tm * localtime_r(const time_t *t,struct tm * tm_ptr);
|
extern struct tm * localtime_r(const time_t *t,struct tm * tm_ptr);
|
||||||
extern void tzset(void);
|
|
||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
||||||
|
|||||||
@@ -43,10 +43,6 @@
|
|||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
||||||
#ifndef _SYS_CLIB2_STDC_H
|
|
||||||
#include <sys/clib2_stdc.h>
|
|
||||||
#endif /* _SYS_CLIB2_STDC_H */
|
|
||||||
|
|
||||||
#ifndef _STDDEF_H
|
#ifndef _STDDEF_H
|
||||||
#include <stddef.h>
|
#include <stddef.h>
|
||||||
#endif /* _STDDEF_H */
|
#endif /* _STDDEF_H */
|
||||||
@@ -63,14 +59,6 @@
|
|||||||
#include <time.h>
|
#include <time.h>
|
||||||
#endif /* _TIME_H */
|
#endif /* _TIME_H */
|
||||||
|
|
||||||
#ifndef _LOCALE_H
|
|
||||||
#include <locale.h>
|
|
||||||
#endif /* _LOCALE_H */
|
|
||||||
|
|
||||||
#ifndef _STDINT_H
|
|
||||||
#include <stdint.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
@@ -80,6 +68,8 @@ extern "C" {
|
|||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
||||||
#define WEOF (-1)
|
#define WEOF (-1)
|
||||||
|
#define WCHAR_MAX 65535
|
||||||
|
#define WCHAR_MIN 0
|
||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
||||||
@@ -91,6 +81,7 @@ typedef long mbstate_t;
|
|||||||
extern wint_t btowc(int c);
|
extern wint_t btowc(int c);
|
||||||
extern int wctob(wint_t c);
|
extern int wctob(wint_t c);
|
||||||
extern int mbsinit(const mbstate_t *ps);
|
extern int mbsinit(const mbstate_t *ps);
|
||||||
|
extern size_t mbrlen(wchar_t *pwc, const char * s, size_t n, mbstate_t *ps);
|
||||||
extern size_t wcrtomb(char *s, wchar_t wc, mbstate_t *ps);
|
extern size_t wcrtomb(char *s, wchar_t wc, mbstate_t *ps);
|
||||||
extern size_t mbsrtowcs(wchar_t *pwcs, const char **src, size_t n, mbstate_t *ps);
|
extern size_t mbsrtowcs(wchar_t *pwcs, const char **src, size_t n, mbstate_t *ps);
|
||||||
extern size_t wcsrtombs(char *s, const wchar_t **src, size_t n, mbstate_t *ps);
|
extern size_t wcsrtombs(char *s, const wchar_t **src, size_t n, mbstate_t *ps);
|
||||||
@@ -170,7 +161,7 @@ extern int swprintf(wchar_t *s, const wchar_t *format, ...);
|
|||||||
|
|
||||||
extern int vfwprintf(FILE *stream,const wchar_t *format,va_list arg);
|
extern int vfwprintf(FILE *stream,const wchar_t *format,va_list arg);
|
||||||
extern int vwprintf(const wchar_t *format,va_list arg);
|
extern int vwprintf(const wchar_t *format,va_list arg);
|
||||||
extern int vswprintf(wchar_t *s, size_t maxlen, const wchar_t *format, va_list arg);
|
extern int vswprintf(char *s, const wchar_t *format,va_list arg);
|
||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
||||||
@@ -183,24 +174,16 @@ extern size_t wcsftime(wchar_t *s, size_t maxsize, const wchar_t *format, const
|
|||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
||||||
#if (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)) || defined(__cplusplus)
|
#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)
|
||||||
|
|
||||||
extern size_t mbrlen(const char *restrict s, size_t n, mbstate_t *restrict ps);
|
|
||||||
extern size_t mbrtowc(wchar_t *restrict pwc, const char *restrict s, size_t n, mbstate_t *restrict ps);
|
|
||||||
extern int mbsinit(const mbstate_t *ps);
|
|
||||||
extern size_t mbsnrtowcs(wchar_t *restrict dst, const char **restrict src, size_t nmc, size_t len, mbstate_t *restrict ps);
|
|
||||||
extern size_t mbsrtowcs(wchar_t *restrict dst, const char **restrict src, size_t len, mbstate_t *restrict ps);
|
|
||||||
|
|
||||||
extern size_t wcrtomb(char *restrict s, wchar_t wc, mbstate_t *restrict ps);
|
|
||||||
extern int wcscoll(const wchar_t *ws1, const wchar_t *ws2);
|
|
||||||
extern int wcscoll_l(const wchar_t *ws1, const wchar_t *ws2, locale_t loc);
|
|
||||||
extern size_t wcscspn(const wchar_t *s, const wchar_t *c);
|
|
||||||
extern size_t wcsnrtombs(char *restrict dst, const wchar_t **restrict src, size_t nwc, size_t len, mbstate_t *restrict ps);
|
|
||||||
extern wchar_t * wcsrchr(const wchar_t *ws, wchar_t wc);
|
|
||||||
extern size_t wcsrtombs(char *restrict dst, const wchar_t **restrict src, size_t len, mbstate_t *restrict ps);
|
|
||||||
extern long long wcstoll(const wchar_t *str, wchar_t **ptr, int base);
|
extern long long wcstoll(const wchar_t *str, wchar_t **ptr, int base);
|
||||||
extern unsigned long long wcstoull(const wchar_t *str, wchar_t **ptr, int base);
|
extern unsigned long long wcstoull(const wchar_t *str, wchar_t **ptr, int base);
|
||||||
|
|
||||||
|
extern size_t mbrtowc_l(wchar_t *restrict pwc, const char *restrict s, size_t n, mbstate_t *restrict ps, locale_t loc);
|
||||||
|
extern int wcscoll_l(const wchar_t *ws1, const wchar_t *ws2, locale_t loc);
|
||||||
|
extern size_t wcscspn(const wchar_t *ws1, const wchar_t *ws2);
|
||||||
|
extern wchar_t * wcsrchr(const wchar_t *ws, wchar_t wc);
|
||||||
|
|
||||||
#endif /* __STDC_VERSION__ && __STDC_VERSION__ >= 199901L */
|
#endif /* __STDC_VERSION__ && __STDC_VERSION__ >= 199901L */
|
||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|||||||
@@ -1,127 +1,44 @@
|
|||||||
#
|
#
|
||||||
# $Id: libamiga.gmk,v 1.1 2006-09-17 17:37:27 obarthel Exp $
|
# $Id: libamiga.gmk,v 1.1 2006-09-17 17:37:27 obarthel Exp $
|
||||||
#
|
#
|
||||||
# :ts=8
|
# vim:ts=8 ft=make:
|
||||||
#
|
#
|
||||||
# -*- mode: makefile; -*-
|
# -*- mode: makefile; -*-
|
||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
LIBS += \
|
include libamiga.obj.gmk
|
||||||
lib/libamiga.a \
|
AMIGA_LIB = $(sort $(AMIGA_LIB_COMMON) $(AMIGA_LIB_OS4))
|
||||||
lib/soft-float/libamiga.a \
|
|
||||||
lib/small-data/libamiga.a \
|
|
||||||
lib/baserel/libamiga.a \
|
|
||||||
lib.threadsafe/libamiga.a \
|
|
||||||
lib.threadsafe/soft-float/libamiga.a \
|
|
||||||
lib.threadsafe/small-data/libamiga.a \
|
|
||||||
lib.threadsafe/baserel/libamiga.a
|
|
||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
AMIGA_LIB = \
|
define libamiga_rule
|
||||||
amiga.lib_rev.o \
|
|
||||||
amiga_acrypt.o \
|
|
||||||
amiga_addtof.o \
|
|
||||||
amiga_argarraydone.o \
|
|
||||||
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 \
|
|
||||||
amiga_fastrand.o \
|
|
||||||
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
|
|
||||||
|
|
||||||
##############################################################################
|
LIBS += lib/$(1).a lib.threadsafe/$(1).a
|
||||||
|
|
||||||
# Dependencies to rebuild if the library version changes
|
# Dependencies to rebuild if the library version changes
|
||||||
|
obj/$(1)/amiga.lib_rev.o : amiga.lib_rev.c amiga.lib_rev.h
|
||||||
|
obj.threadsafe/$(1)/amiga.lib_rev.o : amiga.lib_rev.c amiga.lib_rev.h
|
||||||
|
|
||||||
obj/libamiga/amiga.lib_rev.o : amiga.lib_rev.c amiga.lib_rev.h
|
obj/$(1)/%.o : CFLAGS += $(2)
|
||||||
obj/soft-float/libamiga/amiga.lib_rev.o : amiga.lib_rev.c amiga.lib_rev.h
|
obj/$(1)/%.o : %.c
|
||||||
obj/small-data/libamiga/amiga.lib_rev.o : amiga.lib_rev.c amiga.lib_rev.h
|
@$$(COMPILE)
|
||||||
obj/baserel/libamiga/amiga.lib_rev.o : amiga.lib_rev.c amiga.lib_rev.h
|
|
||||||
obj.threadsafe/libamiga/amiga.lib_rev.o : amiga.lib_rev.c amiga.lib_rev.h
|
obj.threadsafe/$(1)/%.o : CFLAGS += $(THREADSAFE) $(2)
|
||||||
obj.threadsafe/soft-float/libamiga/amiga.lib_rev.o : amiga.lib_rev.c amiga.lib_rev.h
|
obj.threadsafe/$(1)/%.o : %.c
|
||||||
obj.threadsafe/small-data/libamiga/amiga.lib_rev.o : amiga.lib_rev.c amiga.lib_rev.h
|
@$$(COMPILE)
|
||||||
obj.threadsafe/baserel/libamiga/amiga.lib_rev.o : amiga.lib_rev.c amiga.lib_rev.h
|
|
||||||
|
lib/$(1).a : $$(addprefix obj/$(1)/,$$(AMIGA_LIB))
|
||||||
|
@$$(MAKELIB)
|
||||||
|
|
||||||
|
lib.threadsafe/$(1).a : $$(addprefix obj.threadsafe/$(1)/,$$(AMIGA_LIB))
|
||||||
|
@$$(MAKELIB)
|
||||||
|
|
||||||
|
endef
|
||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
obj/libamiga/%.o : CFLAGS += $(LARGEDATA)
|
$(eval $(call libamiga_rule,libamiga,$(LARGEDATA)))
|
||||||
obj/libamiga/%.o : %.c
|
$(eval $(call libamiga_rule,soft-float/libamiga,$(SOFTFLOAT)))
|
||||||
@$(COMPILE)
|
$(eval $(call libamiga_rule,small-data/libamiga,$(SMALLDATA)))
|
||||||
|
$(eval $(call libamiga_rule,baserel/libamiga,$(BASEREL)))
|
||||||
obj/soft-float/libamiga/%.o : CFLAGS += $(SOFTFLOAT)
|
|
||||||
obj/soft-float/libamiga/%.o : %.c
|
|
||||||
@$(COMPILE)
|
|
||||||
|
|
||||||
obj/small-data/libamiga/%.o : CFLAGS += $(SMALLDATA)
|
|
||||||
obj/small-data/libamiga/%.o : %.c
|
|
||||||
@$(COMPILE)
|
|
||||||
|
|
||||||
obj/baserel/libamiga/%.o : CFLAGS += $(BASEREL)
|
|
||||||
obj/baserel/libamiga/%.o : %.c
|
|
||||||
@$(COMPILE)
|
|
||||||
|
|
||||||
obj.threadsafe/libamiga/%.o : CFLAGS += $(THREADSAFE) $(LARGEDATA)
|
|
||||||
obj.threadsafe/libamiga/%.o : %.c
|
|
||||||
@$(COMPILE)
|
|
||||||
|
|
||||||
obj.threadsafe/soft-float/libamiga/%.o : CFLAGS += $(THREADSAFE) $(SOFTFLOAT)
|
|
||||||
obj.threadsafe/soft-float/libamiga/%.o : %.c
|
|
||||||
@$(COMPILE)
|
|
||||||
|
|
||||||
obj.threadsafe/small-data/libamiga/%.o : CFLAGS += $(THREADSAFE) $(SMALLDATA)
|
|
||||||
obj.threadsafe/small-data/libamiga/%.o : %.c
|
|
||||||
@$(COMPILE)
|
|
||||||
|
|
||||||
obj.threadsafe/baserel/libamiga/%.o : CFLAGS += $(THREADSAFE) $(BASEREL)
|
|
||||||
obj.threadsafe/baserel/libamiga/%.o : %.c
|
|
||||||
@$(COMPILE)
|
|
||||||
|
|
||||||
##############################################################################
|
|
||||||
|
|
||||||
lib/libamiga.a : $(addprefix obj/libamiga/,$(AMIGA_LIB))
|
|
||||||
@$(MAKELIB)
|
|
||||||
|
|
||||||
lib/soft-float/libamiga.a : $(addprefix obj/soft-float/libamiga/,$(AMIGA_LIB))
|
|
||||||
@$(MAKELIB)
|
|
||||||
|
|
||||||
lib/small-data/libamiga.a : $(addprefix obj/small-data/libamiga/,$(AMIGA_LIB))
|
|
||||||
@$(MAKELIB)
|
|
||||||
|
|
||||||
lib/baserel/libamiga.a : $(addprefix obj/baserel/libamiga/,$(AMIGA_LIB))
|
|
||||||
@$(MAKELIB)
|
|
||||||
|
|
||||||
lib.threadsafe/libamiga.a : $(addprefix obj.threadsafe/libamiga/,$(AMIGA_LIB))
|
|
||||||
@$(MAKELIB)
|
|
||||||
|
|
||||||
lib.threadsafe/soft-float/libamiga.a : $(addprefix obj.threadsafe/soft-float/libamiga/,$(AMIGA_LIB))
|
|
||||||
@$(MAKELIB)
|
|
||||||
|
|
||||||
lib.threadsafe/small-data/libamiga.a : $(addprefix obj.threadsafe/small-data/libamiga/,$(AMIGA_LIB))
|
|
||||||
@$(MAKELIB)
|
|
||||||
|
|
||||||
lib.threadsafe/baserel/libamiga.a : $(addprefix obj.threadsafe/baserel/libamiga/,$(AMIGA_LIB))
|
|
||||||
@$(MAKELIB)
|
|
||||||
|
|||||||
43
library/libamiga.obj.gmk
Normal file
43
library/libamiga.obj.gmk
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
# vim:ts=8 ft=make:
|
||||||
|
#
|
||||||
|
# -*- mode: makefile; -*-
|
||||||
|
|
||||||
|
AMIGA_LIB_COMMON := \
|
||||||
|
amiga.lib_rev.o \
|
||||||
|
amiga_acrypt.o \
|
||||||
|
amiga_addtof.o \
|
||||||
|
amiga_argarraydone.o \
|
||||||
|
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 \
|
||||||
|
amiga_fastrand.o \
|
||||||
|
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
|
||||||
|
|
||||||
|
AMIGA_LIB_OS3 := \
|
||||||
|
amiga_callhook.o \
|
||||||
|
amiga_hookentry.o
|
||||||
|
|
||||||
|
AMIGA_LIB_OS4 :=
|
||||||
531
library/libc.gmk
531
library/libc.gmk
@@ -1,523 +1,44 @@
|
|||||||
#
|
#
|
||||||
# $Id: libc.gmk,v 1.9 2010-10-20 13:50:17 obarthel Exp $
|
# $Id: libc.gmk,v 1.9 2010-10-20 13:50:17 obarthel Exp $
|
||||||
#
|
#
|
||||||
# :ts=8
|
# vim:ts=8 ft=make:
|
||||||
#
|
#
|
||||||
# -*- mode: makefile; -*-
|
# -*- mode: makefile; -*-
|
||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
LIBS += \
|
include libc.obj.gmk
|
||||||
lib/libc.a \
|
C_LIB := $(sort $(C_LIB_COMMON) $(C_LIB_OS4))
|
||||||
lib/soft-float/libc.a \
|
|
||||||
lib/small-data/libc.a \
|
|
||||||
lib/baserel/libc.a \
|
|
||||||
lib.threadsafe/libc.a \
|
|
||||||
lib.threadsafe/soft-float/libc.a \
|
|
||||||
lib.threadsafe/small-data/libc.a \
|
|
||||||
lib.threadsafe/baserel/libc.a
|
|
||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
C_LIB := \
|
define libc_rule
|
||||||
c.lib_rev.o \
|
|
||||||
ctype_isalnum.o \
|
|
||||||
ctype_isalpha.o \
|
|
||||||
ctype_isascii.o \
|
|
||||||
ctype_isblank.o \
|
|
||||||
ctype_iscntrl.o \
|
|
||||||
ctype_isdigit.o \
|
|
||||||
ctype_isgraph.o \
|
|
||||||
ctype_islower.o \
|
|
||||||
ctype_isprint.o \
|
|
||||||
ctype_ispunct.o \
|
|
||||||
ctype_isspace.o \
|
|
||||||
ctype_isupper.o \
|
|
||||||
ctype_isxdigit.o \
|
|
||||||
ctype_table.o \
|
|
||||||
ctype_tolower.o \
|
|
||||||
ctype_toupper.o \
|
|
||||||
dirent_closedir.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 \
|
|
||||||
inttypes_imaxdiv.o \
|
|
||||||
inttypes_imaxabs.o \
|
|
||||||
inttypes_strtoimax.o \
|
|
||||||
inttypes_strtoumax.o \
|
|
||||||
libgen_basename.o \
|
|
||||||
libgen_dirname.o \
|
|
||||||
locale_init_exit.o \
|
|
||||||
locale_localeconv.o \
|
|
||||||
locale_open_locale.o \
|
|
||||||
locale_setlocale.o \
|
|
||||||
mount_convertinfo.o \
|
|
||||||
mount_fstatfs.o \
|
|
||||||
mount_statfs.o \
|
|
||||||
profile_profil.o \
|
|
||||||
signal_checkabort.o \
|
|
||||||
signal_data.o \
|
|
||||||
signal_kill.o \
|
|
||||||
signal_mask.o \
|
|
||||||
signal_raise.o \
|
|
||||||
signal_sigaddset.o \
|
|
||||||
signal_sigblock.o \
|
|
||||||
signal_sigemptyset.o \
|
|
||||||
signal_sigmask.o \
|
|
||||||
signal_signal.o \
|
|
||||||
signal_sigprocmask.o \
|
|
||||||
signal_sigsetmask.o \
|
|
||||||
stat_chmod.o \
|
|
||||||
stat_convertfileinfo.o \
|
|
||||||
stat_fchmod.o \
|
|
||||||
stat_fstat.o \
|
|
||||||
stat_lstat.o \
|
|
||||||
stat_lock.o \
|
|
||||||
stat_mkdir.o \
|
|
||||||
stat_rmdir.o \
|
|
||||||
stat_stat.o \
|
|
||||||
stat_umask.o \
|
|
||||||
stdio_asprintf.o \
|
|
||||||
stdio_change_fd_action.o \
|
|
||||||
stdio_change_fd_user_data.o \
|
|
||||||
stdio_clearerr.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_fgetc.o \
|
|
||||||
stdio_fgetpos.o \
|
|
||||||
stdio_fgets.o \
|
|
||||||
stdio_filliobreadbuffer.o \
|
|
||||||
stdio_findvacantfdentry.o \
|
|
||||||
stdio_findvacantiobentry.o \
|
|
||||||
stdio_flockfile.o \
|
|
||||||
stdio_flush.o \
|
|
||||||
stdio_flush_all_files.o \
|
|
||||||
stdio_flushiobwritebuffer.o \
|
|
||||||
stdio_fopen.o \
|
|
||||||
stdio_fprintf.o \
|
|
||||||
stdio_fputc.o \
|
|
||||||
stdio_fputs.o \
|
|
||||||
stdio_fread.o \
|
|
||||||
stdio_freopen.o \
|
|
||||||
stdio_fscanf.o \
|
|
||||||
stdio_fseek.o \
|
|
||||||
stdio_fseeko.o \
|
|
||||||
stdio_fsetpos.o \
|
|
||||||
stdio_ftell.o \
|
|
||||||
stdio_ftello.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_fd.o \
|
|
||||||
stdio_get_file_descriptor.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_resolve_fd_file.o \
|
|
||||||
stdio_rewind.o \
|
|
||||||
stdio_scanf.o \
|
|
||||||
stdio_setbuf.o \
|
|
||||||
stdio_setvbuf.o \
|
|
||||||
stdio_snprintf.o \
|
|
||||||
stdio_sprintf.o \
|
|
||||||
stdio_sscanf.o \
|
|
||||||
stdio_sscanf_hook_entry.o \
|
|
||||||
stdio_tmpfile.o \
|
|
||||||
stdio_tmpnam.o \
|
|
||||||
stdio_translateioerror.o \
|
|
||||||
stdio_ungetc.o \
|
|
||||||
stdio_unlockfile.o \
|
|
||||||
stdio_vasprintf.o \
|
|
||||||
stdio_vasprintf_hook_entry.o \
|
|
||||||
stdio_vfprintf.o \
|
|
||||||
stdio_vfscanf.o \
|
|
||||||
stdio_vsscanf.o \
|
|
||||||
stdio_vscanf.o \
|
|
||||||
stdio_vprintf.o \
|
|
||||||
stdio_vsnprintf.o \
|
|
||||||
stdio_vsnprintf_hook_entry.o \
|
|
||||||
stdio_vsprintf.o \
|
|
||||||
stdio_vsprintf_hook_entry.o \
|
|
||||||
stdlib_abort.o \
|
|
||||||
stdlib_abs.o \
|
|
||||||
stdlib_alloca.o \
|
|
||||||
stdlib_alloca_cleanup.o \
|
|
||||||
stdlib_alloca_trap.o \
|
|
||||||
stdlib_assertion_failure.o \
|
|
||||||
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_default_pool_size.o \
|
|
||||||
stdlib_default_puddle_size.o \
|
|
||||||
stdlib_destructor.o \
|
|
||||||
stdlib_detach.o \
|
|
||||||
stdlib_disablerequesters.o \
|
|
||||||
stdlib_div.o \
|
|
||||||
stdlib_divsi3.o \
|
|
||||||
stdlib_divsi4.o \
|
|
||||||
stdlib_dlclose.o \
|
|
||||||
stdlib_dlerror.o \
|
|
||||||
stdlib_dlopen.o \
|
|
||||||
stdlib_dlsym.o \
|
|
||||||
stdlib_dosbase.o \
|
|
||||||
stdlib_exit.o \
|
|
||||||
stdlib_free.o \
|
|
||||||
stdlib_decay_unused_slabs.o \
|
|
||||||
stdlib_free_unused_slabs.o \
|
|
||||||
stdlib_getdefstacksize.o \
|
|
||||||
stdlib_getenv.o \
|
|
||||||
stdlib_getmemstats.o \
|
|
||||||
stdlib_getsp.o \
|
|
||||||
stdlib_get_errno.o \
|
|
||||||
stdlib_get_slab_usage.o \
|
|
||||||
stdlib_get_slab_allocations.o \
|
|
||||||
stdlib_get_slab_stats.o \
|
|
||||||
stdlib_isresident.o \
|
|
||||||
stdlib_labs.o \
|
|
||||||
stdlib_llabs.o \
|
|
||||||
stdlib_ldiv.o \
|
|
||||||
stdlib_lldiv.o \
|
|
||||||
stdlib_lib_main.o \
|
|
||||||
stdlib_lib_startup.o \
|
|
||||||
stdlib_machine_test.o \
|
|
||||||
stdlib_main.o \
|
|
||||||
stdlib_main_stub.o \
|
|
||||||
stdlib_malloc.o \
|
|
||||||
stdlib_math.o \
|
|
||||||
stdlib_mbtowc.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_program_name.o \
|
|
||||||
stdlib_putenv.o \
|
|
||||||
stdlib_qsort.o \
|
|
||||||
stdlib_rand.o \
|
|
||||||
stdlib_rand_r.o \
|
|
||||||
stdlib_realloc.o \
|
|
||||||
stdlib_red_black.o \
|
|
||||||
stdlib_resetmemstats.o \
|
|
||||||
stdlib_semaphore.o \
|
|
||||||
stdlib_setenv.o \
|
|
||||||
stdlib_setjmp.o \
|
|
||||||
stdlib_set_errno.o \
|
|
||||||
stdlib_set_process_window.o \
|
|
||||||
stdlib_shared_objs.o \
|
|
||||||
stdlib_shell_escape.o \
|
|
||||||
stdlib_showerror.o \
|
|
||||||
stdlib_slab.o \
|
|
||||||
stdlib_slab_max_size.o \
|
|
||||||
stdlib_slab_purge_threshold.o \
|
|
||||||
stdlib_srand.o \
|
|
||||||
stdlib_stacksize.o \
|
|
||||||
stdlib_stack_usage.o \
|
|
||||||
stdlib_arg.o \
|
|
||||||
stdlib_stdio_window_spec.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_utilitybase.o \
|
|
||||||
stdlib_udivsi3.o \
|
|
||||||
stdlib_udivsi4.o \
|
|
||||||
stdlib_umodsi3.o \
|
|
||||||
stdlib_unsetenv.o \
|
|
||||||
strings_ffs.o \
|
|
||||||
strings_strcasecmp.o \
|
|
||||||
strings_strncasecmp.o \
|
|
||||||
string_bcmp.o \
|
|
||||||
string_bcopy.o \
|
|
||||||
string_bzero.o \
|
|
||||||
string_index.o \
|
|
||||||
string_memchr.o \
|
|
||||||
string_memcmp.o \
|
|
||||||
string_memcpy.o \
|
|
||||||
string_memmove.o \
|
|
||||||
string_memset.o \
|
|
||||||
string_rindex.o \
|
|
||||||
string_strcat.o \
|
|
||||||
string_strchr.o \
|
|
||||||
string_strcmp.o \
|
|
||||||
string_strcoll.o \
|
|
||||||
string_strcpy.o \
|
|
||||||
string_strcspn.o \
|
|
||||||
string_strdup.o \
|
|
||||||
string_strerror.o \
|
|
||||||
string_strerror_r.o \
|
|
||||||
string_strlcat.o \
|
|
||||||
string_strlcpy.o \
|
|
||||||
string_strlen.o \
|
|
||||||
string_strncat.o \
|
|
||||||
string_strncmp.o \
|
|
||||||
string_strncpy.o \
|
|
||||||
string_strnlen.o \
|
|
||||||
string_strpbrk.o \
|
|
||||||
string_strrchr.o \
|
|
||||||
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_tzset.o \
|
|
||||||
time_weekday.o \
|
|
||||||
uio_readv.o \
|
|
||||||
uio_writev.o \
|
|
||||||
ulimit_ulimit.o \
|
|
||||||
unistd_access.o \
|
|
||||||
unistd_chdir.o \
|
|
||||||
unistd_chdir_exit.o \
|
|
||||||
unistd_chown.o \
|
|
||||||
unistd_currentpathname.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 \
|
|
||||||
unistd_getpid.o \
|
|
||||||
unistd_init_exit.o \
|
|
||||||
unistd_isatty.o \
|
|
||||||
unistd_lchown.o \
|
|
||||||
unistd_link.o \
|
|
||||||
unistd_lockf.o \
|
|
||||||
unistd_readlink.o \
|
|
||||||
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 \
|
|
||||||
wchar_btowc.o \
|
|
||||||
wchar_fgetwc.o \
|
|
||||||
wchar_fgetws.o \
|
|
||||||
wchar_fputwc.o \
|
|
||||||
wchar_fputws.o \
|
|
||||||
wchar_fwide.o \
|
|
||||||
wchar_fwprintf.o \
|
|
||||||
wchar_fwscanf.o \
|
|
||||||
wchar_getwc.o \
|
|
||||||
wchar_getwchar.o \
|
|
||||||
wchar_mbrlen.o \
|
|
||||||
wchar_mbrtowc.o \
|
|
||||||
wchar_mbsinit.o \
|
|
||||||
wchar_mbsrtowcs.o \
|
|
||||||
wchar_putwc.o \
|
|
||||||
wchar_putwchar.o \
|
|
||||||
wchar_swprintf.o \
|
|
||||||
wchar_swscanf.o \
|
|
||||||
wchar_ungetwc.o \
|
|
||||||
wchar_vfwprintf.o \
|
|
||||||
wchar_vswprintf.o \
|
|
||||||
wchar_vwprintf.o \
|
|
||||||
wchar_wcrtomb.o \
|
|
||||||
wchar_wcscat.o \
|
|
||||||
wchar_wcschr.o \
|
|
||||||
wchar_wcscmp.o \
|
|
||||||
wchar_wcscoll.o \
|
|
||||||
wchar_wcscpy.o \
|
|
||||||
wchar_wcscspn.o \
|
|
||||||
wchar_wcsftime.o \
|
|
||||||
wchar_wcslen.o \
|
|
||||||
wchar_wcsncat.o \
|
|
||||||
wchar_wcsncmp.o \
|
|
||||||
wchar_wcsncpy.o \
|
|
||||||
wchar_wscoll.o \
|
|
||||||
wchar_wcspbrk.o \
|
|
||||||
wchar_wcsrtombs.o \
|
|
||||||
wchar_wcsspn.o \
|
|
||||||
wchar_wcstod.o \
|
|
||||||
wchar_wcstok.o \
|
|
||||||
wchar_wcstol.o \
|
|
||||||
wchar_wcstoll.o \
|
|
||||||
wchar_wcstoul.o \
|
|
||||||
wchar_wcstoull.o \
|
|
||||||
wchar_wcsxfrm.o \
|
|
||||||
wchar_wctob.o \
|
|
||||||
wchar_wmemchr.o \
|
|
||||||
wchar_wmemcmp.o \
|
|
||||||
wchar_wmemcpy.o \
|
|
||||||
wchar_wmemmove.o \
|
|
||||||
wchar_wmemset.o \
|
|
||||||
wchar_wprintf.o \
|
|
||||||
wchar_wscanf.o \
|
|
||||||
wchar_wscoll.o \
|
|
||||||
wctype_iswalnum.o \
|
|
||||||
wctype_iswalpha.o \
|
|
||||||
wctype_iswblank.o \
|
|
||||||
wctype_iswcntrl.o \
|
|
||||||
wctype_iswctype.o \
|
|
||||||
wctype_iswdigit.o \
|
|
||||||
wctype_iswgraph.o \
|
|
||||||
wctype_iswlower.o \
|
|
||||||
wctype_iswprint.o \
|
|
||||||
wctype_iswpunc.o \
|
|
||||||
wctype_iswspace.o \
|
|
||||||
wctype_iswupper.o \
|
|
||||||
wctype_iswxdigit.o \
|
|
||||||
wctype_towctrans.o \
|
|
||||||
wctype_towlower.o \
|
|
||||||
wctype_towupper.o \
|
|
||||||
wctype_wctrans.o \
|
|
||||||
wctype_wctype.o
|
|
||||||
|
|
||||||
##############################################################################
|
LIBS += lib/$(1).a lib.threadsafe/$(1).a
|
||||||
|
|
||||||
# Dependencies to rebuild if the library version changes
|
# Dependencies to rebuild if the library version changes
|
||||||
|
obj/$(1)/c.lib_rev.o : c.lib_rev.c c.lib_rev.h
|
||||||
|
obj.threadsafe/$(1)/c.lib_rev.o : c.lib_rev.c c.lib_rev.h
|
||||||
|
|
||||||
obj/libc/c.lib_rev.o : c.lib_rev.c c.lib_rev.h
|
obj/$(1)/%.o : CFLAGS += $(2)
|
||||||
obj/soft-float/libc/c.lib_rev.o : c.lib_rev.c c.lib_rev.h
|
obj/$(1)/%.o : %.c
|
||||||
obj/small-data/libc/c.lib_rev.o : c.lib_rev.c c.lib_rev.h
|
@$$(COMPILE)
|
||||||
obj/baserel/libc/c.lib_rev.o : c.lib_rev.c c.lib_rev.h
|
|
||||||
obj.threadsafe/libc/c.lib_rev.o : c.lib_rev.c c.lib_rev.h
|
obj.threadsafe/$(1)/%.o : CFLAGS += $(THREADSAFE) $(2)
|
||||||
obj.threadsafe/soft-float/libc/c.lib_rev.o : c.lib_rev.c c.lib_rev.h
|
obj.threadsafe/$(1)/%.o : %.c
|
||||||
obj.threadsafe/small-data/libc/c.lib_rev.o : c.lib_rev.c c.lib_rev.h
|
@$$(COMPILE)
|
||||||
obj.threadsafe/baserel/libc/c.lib_rev.o : c.lib_rev.c c.lib_rev.h
|
|
||||||
|
lib/$(1).a : $$(addprefix obj/$(1)/,$$(C_LIB))
|
||||||
|
@$$(MAKELIB)
|
||||||
|
|
||||||
|
lib.threadsafe/$(1).a : $$(addprefix obj.threadsafe/$(1)/,$$(C_LIB))
|
||||||
|
@$$(MAKELIB)
|
||||||
|
|
||||||
|
endef
|
||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
obj/libc/%.o : CFLAGS += $(LARGEDATA)
|
$(eval $(call libc_rule,libc,$(LARGEDATA)))
|
||||||
obj/libc/%.o : %.c
|
$(eval $(call libc_rule,soft-float/libc,$(SOFTFLOAT)))
|
||||||
@$(COMPILE)
|
$(eval $(call libc_rule,small-data/libc,$(SMALLDATA)))
|
||||||
|
$(eval $(call libc_rule,baserel/libc,$(BASEREL)))
|
||||||
obj/soft-float/libc/%.o : CFLAGS += $(SOFTFLOAT)
|
|
||||||
obj/soft-float/libc/%.o : %.c
|
|
||||||
@$(COMPILE)
|
|
||||||
|
|
||||||
obj/small-data/libc/%.o : CFLAGS += $(SMALLDATA)
|
|
||||||
obj/small-data/libc/%.o : %.c
|
|
||||||
@$(COMPILE)
|
|
||||||
|
|
||||||
obj/baserel/libc/%.o : CFLAGS += $(BASEREL)
|
|
||||||
obj/baserel/libc/%.o : %.c
|
|
||||||
@$(COMPILE)
|
|
||||||
|
|
||||||
obj.threadsafe/libc/%.o : CFLAGS += $(THREADSAFE) $(LARGEDATA)
|
|
||||||
obj.threadsafe/libc/%.o : %.c
|
|
||||||
@$(COMPILE)
|
|
||||||
|
|
||||||
obj.threadsafe/soft-float/libc/%.o : CFLAGS += $(THREADSAFE) $(SOFTFLOAT)
|
|
||||||
obj.threadsafe/soft-float/libc/%.o : %.c
|
|
||||||
@$(COMPILE)
|
|
||||||
|
|
||||||
obj.threadsafe/small-data/libc/%.o : CFLAGS += $(THREADSAFE) $(SMALLDATA)
|
|
||||||
obj.threadsafe/small-data/libc/%.o : %.c
|
|
||||||
@$(COMPILE)
|
|
||||||
|
|
||||||
obj.threadsafe/baserel/libc/%.o : CFLAGS += $(THREADSAFE) $(BASEREL)
|
|
||||||
obj.threadsafe/baserel/libc/%.o : %.c
|
|
||||||
@$(COMPILE)
|
|
||||||
|
|
||||||
##############################################################################
|
|
||||||
|
|
||||||
lib/libc.a : $(addprefix obj/libc/,$(C_LIB))
|
|
||||||
@$(MAKELIB)
|
|
||||||
|
|
||||||
lib/soft-float/libc.a : $(addprefix obj/soft-float/libc/,$(C_LIB))
|
|
||||||
@$(MAKELIB)
|
|
||||||
|
|
||||||
lib/small-data/libc.a : $(addprefix obj/small-data/libc/,$(C_LIB))
|
|
||||||
@$(MAKELIB)
|
|
||||||
|
|
||||||
lib/baserel/libc.a : $(addprefix obj/baserel/libc/,$(C_LIB))
|
|
||||||
@$(MAKELIB)
|
|
||||||
|
|
||||||
lib.threadsafe/libc.a : $(addprefix obj.threadsafe/libc/,$(C_LIB))
|
|
||||||
@$(MAKELIB)
|
|
||||||
|
|
||||||
lib.threadsafe/soft-float/libc.a : $(addprefix obj.threadsafe/soft-float/libc/,$(C_LIB))
|
|
||||||
@$(MAKELIB)
|
|
||||||
|
|
||||||
lib.threadsafe/small-data/libc.a : $(addprefix obj.threadsafe/small-data/libc/,$(C_LIB))
|
|
||||||
@$(MAKELIB)
|
|
||||||
|
|
||||||
lib.threadsafe/baserel/libc.a : $(addprefix obj.threadsafe/baserel/libc/,$(C_LIB))
|
|
||||||
@$(MAKELIB)
|
|
||||||
|
|||||||
363
library/libc.obj.gmk
Normal file
363
library/libc.obj.gmk
Normal file
@@ -0,0 +1,363 @@
|
|||||||
|
# vim:ts=8 ft=make:
|
||||||
|
#
|
||||||
|
# -*- mode: makefile; -*-
|
||||||
|
|
||||||
|
C_LIB_COMMON := \
|
||||||
|
c.lib_rev.o \
|
||||||
|
ctype_isalnum.o \
|
||||||
|
ctype_isalpha.o \
|
||||||
|
ctype_isascii.o \
|
||||||
|
ctype_isblank.o \
|
||||||
|
ctype_iscntrl.o \
|
||||||
|
ctype_isdigit.o \
|
||||||
|
ctype_isgraph.o \
|
||||||
|
ctype_islower.o \
|
||||||
|
ctype_isprint.o \
|
||||||
|
ctype_ispunct.o \
|
||||||
|
ctype_isspace.o \
|
||||||
|
ctype_isupper.o \
|
||||||
|
ctype_isxdigit.o \
|
||||||
|
ctype_table.o \
|
||||||
|
ctype_tolower.o \
|
||||||
|
ctype_toupper.o \
|
||||||
|
dirent_closedir.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 \
|
||||||
|
inttypes_imaxdiv.o \
|
||||||
|
inttypes_imaxabs.o \
|
||||||
|
inttypes_strtoimax.o \
|
||||||
|
inttypes_strtoumax.o \
|
||||||
|
libgen_basename.o \
|
||||||
|
libgen_dirname.o \
|
||||||
|
locale_init_exit.o \
|
||||||
|
locale_localeconv.o \
|
||||||
|
locale_open_locale.o \
|
||||||
|
locale_setlocale.o \
|
||||||
|
mount_convertinfo.o \
|
||||||
|
mount_fstatfs.o \
|
||||||
|
mount_statfs.o \
|
||||||
|
signal_checkabort.o \
|
||||||
|
signal_data.o \
|
||||||
|
signal_kill.o \
|
||||||
|
signal_mask.o \
|
||||||
|
signal_raise.o \
|
||||||
|
signal_sigaddset.o \
|
||||||
|
signal_sigblock.o \
|
||||||
|
signal_sigemptyset.o \
|
||||||
|
signal_sigmask.o \
|
||||||
|
signal_signal.o \
|
||||||
|
signal_sigprocmask.o \
|
||||||
|
signal_sigsetmask.o \
|
||||||
|
stat_chmod.o \
|
||||||
|
stat_convertfileinfo.o \
|
||||||
|
stat_fchmod.o \
|
||||||
|
stat_fstat.o \
|
||||||
|
stat_lstat.o \
|
||||||
|
stat_lock.o \
|
||||||
|
stat_mkdir.o \
|
||||||
|
stat_rmdir.o \
|
||||||
|
stat_stat.o \
|
||||||
|
stat_umask.o \
|
||||||
|
stdio_asprintf.o \
|
||||||
|
stdio_change_fd_action.o \
|
||||||
|
stdio_change_fd_user_data.o \
|
||||||
|
stdio_clearerr.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_fgetc.o \
|
||||||
|
stdio_fgetpos.o \
|
||||||
|
stdio_fgets.o \
|
||||||
|
stdio_filliobreadbuffer.o \
|
||||||
|
stdio_findvacantfdentry.o \
|
||||||
|
stdio_findvacantiobentry.o \
|
||||||
|
stdio_flockfile.o \
|
||||||
|
stdio_flush.o \
|
||||||
|
stdio_flush_all_files.o \
|
||||||
|
stdio_flushiobwritebuffer.o \
|
||||||
|
stdio_fopen.o \
|
||||||
|
stdio_fprintf.o \
|
||||||
|
stdio_fputc.o \
|
||||||
|
stdio_fputs.o \
|
||||||
|
stdio_fread.o \
|
||||||
|
stdio_freopen.o \
|
||||||
|
stdio_fscanf.o \
|
||||||
|
stdio_fseek.o \
|
||||||
|
stdio_fseeko.o \
|
||||||
|
stdio_fsetpos.o \
|
||||||
|
stdio_ftell.o \
|
||||||
|
stdio_ftello.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_fd.o \
|
||||||
|
stdio_get_file_descriptor.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_resolve_fd_file.o \
|
||||||
|
stdio_rewind.o \
|
||||||
|
stdio_scanf.o \
|
||||||
|
stdio_setbuf.o \
|
||||||
|
stdio_setvbuf.o \
|
||||||
|
stdio_snprintf.o \
|
||||||
|
stdio_sprintf.o \
|
||||||
|
stdio_sscanf.o \
|
||||||
|
stdio_sscanf_hook_entry.o \
|
||||||
|
stdio_tmpfile.o \
|
||||||
|
stdio_tmpnam.o \
|
||||||
|
stdio_translateioerror.o \
|
||||||
|
stdio_ungetc.o \
|
||||||
|
stdio_unlockfile.o \
|
||||||
|
stdio_vasprintf.o \
|
||||||
|
stdio_vasprintf_hook_entry.o \
|
||||||
|
stdio_vfprintf.o \
|
||||||
|
stdio_vfscanf.o \
|
||||||
|
stdio_vprintf.o \
|
||||||
|
stdio_vsnprintf.o \
|
||||||
|
stdio_vsnprintf_hook_entry.o \
|
||||||
|
stdio_vsprintf.o \
|
||||||
|
stdio_vsprintf_hook_entry.o \
|
||||||
|
stdio_vsscanf.o \
|
||||||
|
stdio_vscanf.o \
|
||||||
|
stdlib_abort.o \
|
||||||
|
stdlib_abs.o \
|
||||||
|
stdlib_alloca.o \
|
||||||
|
stdlib_alloca_cleanup.o \
|
||||||
|
stdlib_alloca_trap.o \
|
||||||
|
stdlib_assertion_failure.o \
|
||||||
|
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_default_pool_size.o \
|
||||||
|
stdlib_default_puddle_size.o \
|
||||||
|
stdlib_destructor.o \
|
||||||
|
stdlib_detach.o \
|
||||||
|
stdlib_disablerequesters.o \
|
||||||
|
stdlib_div.o \
|
||||||
|
stdlib_divsi3.o \
|
||||||
|
stdlib_divsi4.o \
|
||||||
|
stdlib_dosbase.o \
|
||||||
|
stdlib_exit.o \
|
||||||
|
stdlib_free.o \
|
||||||
|
stdlib_decay_unused_slabs.o \
|
||||||
|
stdlib_free_unused_slabs.o \
|
||||||
|
stdlib_getdefstacksize.o \
|
||||||
|
stdlib_getenv.o \
|
||||||
|
stdlib_getmemstats.o \
|
||||||
|
stdlib_getsp.o \
|
||||||
|
stdlib_get_errno.o \
|
||||||
|
stdlib_get_slab_usage.o \
|
||||||
|
stdlib_get_slab_allocations.o \
|
||||||
|
stdlib_get_slab_stats.o \
|
||||||
|
stdlib_isresident.o \
|
||||||
|
stdlib_labs.o \
|
||||||
|
stdlib_llabs.o \
|
||||||
|
stdlib_ldiv.o \
|
||||||
|
stdlib_lldiv.o \
|
||||||
|
stdlib_lib_main.o \
|
||||||
|
stdlib_lib_startup.o \
|
||||||
|
stdlib_machine_test.o \
|
||||||
|
stdlib_main.o \
|
||||||
|
stdlib_main_stub.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_program_name.o \
|
||||||
|
stdlib_putenv.o \
|
||||||
|
stdlib_qsort.o \
|
||||||
|
stdlib_rand.o \
|
||||||
|
stdlib_rand_r.o \
|
||||||
|
stdlib_realloc.o \
|
||||||
|
stdlib_red_black.o \
|
||||||
|
stdlib_resetmemstats.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_slab.o \
|
||||||
|
stdlib_slab_max_size.o \
|
||||||
|
stdlib_slab_purge_threshold.o \
|
||||||
|
stdlib_srand.o \
|
||||||
|
stdlib_stacksize.o \
|
||||||
|
stdlib_stack_usage.o \
|
||||||
|
stdlib_arg.o \
|
||||||
|
stdlib_stdio_window_spec.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_utilitybase.o \
|
||||||
|
stdlib_udivsi3.o \
|
||||||
|
stdlib_udivsi4.o \
|
||||||
|
stdlib_umodsi3.o \
|
||||||
|
stdlib_unsetenv.o \
|
||||||
|
strings_ffs.o \
|
||||||
|
strings_strcasecmp.o \
|
||||||
|
strings_strncasecmp.o \
|
||||||
|
string_bcmp.o \
|
||||||
|
string_bcopy.o \
|
||||||
|
string_bzero.o \
|
||||||
|
string_index.o \
|
||||||
|
string_memchr.o \
|
||||||
|
string_memcmp.o \
|
||||||
|
string_memcpy.o \
|
||||||
|
string_memmove.o \
|
||||||
|
string_memset.o \
|
||||||
|
string_rindex.o \
|
||||||
|
string_strcat.o \
|
||||||
|
string_strchr.o \
|
||||||
|
string_strcmp.o \
|
||||||
|
string_strcoll.o \
|
||||||
|
string_strcpy.o \
|
||||||
|
string_strcspn.o \
|
||||||
|
string_strdup.o \
|
||||||
|
string_strerror.o \
|
||||||
|
string_strerror_r.o \
|
||||||
|
string_strlcat.o \
|
||||||
|
string_strlcpy.o \
|
||||||
|
string_strlen.o \
|
||||||
|
string_strncat.o \
|
||||||
|
string_strncmp.o \
|
||||||
|
string_strncpy.o \
|
||||||
|
string_strpbrk.o \
|
||||||
|
string_strrchr.o \
|
||||||
|
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 \
|
||||||
|
uio_readv.o \
|
||||||
|
uio_writev.o \
|
||||||
|
ulimit_ulimit.o \
|
||||||
|
unistd_access.o \
|
||||||
|
unistd_chdir.o \
|
||||||
|
unistd_chdir_exit.o \
|
||||||
|
unistd_chown.o \
|
||||||
|
unistd_currentpathname.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 \
|
||||||
|
unistd_getpid.o \
|
||||||
|
unistd_init_exit.o \
|
||||||
|
unistd_isatty.o \
|
||||||
|
unistd_lchown.o \
|
||||||
|
unistd_link.o \
|
||||||
|
unistd_lockf.o \
|
||||||
|
unistd_readlink.o \
|
||||||
|
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
|
||||||
|
|
||||||
|
C_LIB_OS3 := \
|
||||||
|
unistd_unlink_retries.o
|
||||||
|
|
||||||
|
C_LIB_OS4 := \
|
||||||
|
profile_profil.o \
|
||||||
|
stdlib_dlclose.o \
|
||||||
|
stdlib_dlerror.o \
|
||||||
|
stdlib_dlopen.o \
|
||||||
|
stdlib_dlsym.o \
|
||||||
|
stdlib_shared_objs.o
|
||||||
@@ -1,125 +1,43 @@
|
|||||||
#
|
#
|
||||||
# $Id: libdebug.gmk,v 1.1 2006-09-17 17:37:27 obarthel Exp $
|
# $Id: libdebug.gmk,v 1.1 2006-09-17 17:37:27 obarthel Exp $
|
||||||
#
|
#
|
||||||
# :ts=8
|
# vim:ts=8 ft=make:
|
||||||
#
|
#
|
||||||
# -*- mode: makefile; -*-
|
# -*- mode: makefile; -*-
|
||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
LIBS += \
|
include libdebug.obj.gmk
|
||||||
lib/libdebug.a \
|
|
||||||
lib/soft-float/libdebug.a \
|
|
||||||
lib/small-data/libdebug.a \
|
|
||||||
lib/baserel/libdebug.a \
|
|
||||||
lib.threadsafe/libdebug.a \
|
|
||||||
lib.threadsafe/soft-float/libdebug.a \
|
|
||||||
lib.threadsafe/small-data/libdebug.a \
|
|
||||||
lib.threadsafe/baserel/libdebug.a
|
|
||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
DEBUG_LIB = \
|
define libdebug_rule
|
||||||
debug.lib_rev.o \
|
|
||||||
debug.o \
|
|
||||||
debug_cmpstrexec.o \
|
|
||||||
debug_kcmpstr.o \
|
|
||||||
debug_kdofmt.o \
|
|
||||||
debug_kgetc.o \
|
|
||||||
debug_kgetch1.o \
|
|
||||||
debug_kgetch2.o \
|
|
||||||
debug_kgetchar1.o \
|
|
||||||
debug_kgetchar2.o \
|
|
||||||
debug_kgetnum1.o \
|
|
||||||
debug_kgetnum2.o \
|
|
||||||
debug_kmaygetch.o \
|
|
||||||
debug_kmaygetchar.o \
|
|
||||||
debug_kprintf1.o \
|
|
||||||
debug_kprintf2.o \
|
|
||||||
debug_kputc.o \
|
|
||||||
debug_kputch1.o \
|
|
||||||
debug_kputch2.o \
|
|
||||||
debug_kputchar1.o \
|
|
||||||
debug_kputchar2.o \
|
|
||||||
debug_kputfmt.o \
|
|
||||||
debug_kputs1.o \
|
|
||||||
debug_kputs2.o \
|
|
||||||
debug_kputstr1.o \
|
|
||||||
debug_kputstr2.o \
|
|
||||||
debug_kvprintf1.o \
|
|
||||||
debug_kvprintf2.o \
|
|
||||||
debug_level.o
|
|
||||||
|
|
||||||
##############################################################################
|
LIBS += lib/$(1).a lib.threadsafe/$(1).a
|
||||||
|
|
||||||
# Dependencies to rebuild if the library version changes
|
# Dependencies to rebuild if the library version changes
|
||||||
|
obj/$(1)/debug.lib_rev.o : debug.lib_rev.c debug.lib_rev.h
|
||||||
|
obj.threadsafe/$(1)/debug.lib_rev.o : debug.lib_rev.c debug.lib_rev.h
|
||||||
|
|
||||||
obj/libdebug/debug.lib_rev.o : debug.lib_rev.c debug.lib_rev.h
|
obj/$(1)/%.o : CFLAGS += $(2)
|
||||||
obj/soft-float/libdebug/debug.lib_rev.o : debug.lib_rev.c debug.lib_rev.h
|
obj/$(1)/%.o : %.c
|
||||||
obj/small-data/libdebug/debug.lib_rev.o : debug.lib_rev.c debug.lib_rev.h
|
@$$(COMPILE)
|
||||||
obj/baserel/libdebug/debug.lib_rev.o : debug.lib_rev.c debug.lib_rev.h
|
|
||||||
obj.threadsafe/libdebug/debug.lib_rev.o : debug.lib_rev.c debug.lib_rev.h
|
obj.threadsafe/$(1)/%.o : CFLAGS += $(THREADSAFE) $(2)
|
||||||
obj.threadsafe/soft-float/libdebug/debug.lib_rev.o : debug.lib_rev.c debug.lib_rev.h
|
obj.threadsafe/$(1)/%.o : %.c
|
||||||
obj.threadsafe/small-data/libdebug/debug.lib_rev.o : debug.lib_rev.c debug.lib_rev.h
|
@$$(COMPILE)
|
||||||
obj.threadsafe/baserel/libdebug/debug.lib_rev.o : debug.lib_rev.c debug.lib_rev.h
|
|
||||||
|
lib/$(1).a : $$(addprefix obj/$(1)/,$$(DEBUG_LIB))
|
||||||
|
@$$(MAKELIB)
|
||||||
|
|
||||||
|
lib.threadsafe/$(1).a : $$(addprefix obj.threadsafe/$(1)/,$$(DEBUG_LIB))
|
||||||
|
@$$(MAKELIB)
|
||||||
|
|
||||||
|
endef
|
||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
|
$(eval $(call libdebug_rule,libdebug,$(LARGEDATA)))
|
||||||
obj/libdebug/%.o : CFLAGS += $(LARGEDATA)
|
$(eval $(call libdebug_rule,soft-float/libdebug,$(SOFTFLOAT)))
|
||||||
obj/libdebug/%.o : %.c
|
$(eval $(call libdebug_rule,small-data/libdebug,$(SMALLDATA)))
|
||||||
@$(COMPILE)
|
$(eval $(call libdebug_rule,baserel/libdebug,$(BASEREL)))
|
||||||
|
|
||||||
obj/soft-float/libdebug/%.o : CFLAGS += $(SOFTFLOAT)
|
|
||||||
obj/soft-float/libdebug/%.o : %.c
|
|
||||||
@$(COMPILE)
|
|
||||||
|
|
||||||
obj/small-data/libdebug/%.o : CFLAGS += $(SMALLDATA)
|
|
||||||
obj/small-data/libdebug/%.o : %.c
|
|
||||||
@$(COMPILE)
|
|
||||||
|
|
||||||
obj/baserel/libdebug/%.o : CFLAGS += $(BASEREL)
|
|
||||||
obj/baserel/libdebug/%.o : %.c
|
|
||||||
@$(COMPILE)
|
|
||||||
|
|
||||||
obj.threadsafe/libdebug/%.o : CFLAGS += $(THREADSAFE) $(LARGEDATA)
|
|
||||||
obj.threadsafe/libdebug/%.o : %.c
|
|
||||||
@$(COMPILE)
|
|
||||||
|
|
||||||
obj.threadsafe/soft-float/libdebug/%.o : CFLAGS += $(THREADSAFE) $(SOFTFLOAT)
|
|
||||||
obj.threadsafe/soft-float/libdebug/%.o : %.c
|
|
||||||
@$(COMPILE)
|
|
||||||
|
|
||||||
obj.threadsafe/small-data/libdebug/%.o : CFLAGS += $(THREADSAFE) $(SMALLDATA)
|
|
||||||
obj.threadsafe/small-data/libdebug/%.o : %.c
|
|
||||||
@$(COMPILE)
|
|
||||||
|
|
||||||
obj.threadsafe/baserel/libdebug/%.o : CFLAGS += $(THREADSAFE) $(BASEREL)
|
|
||||||
obj.threadsafe/baserel/libdebug/%.o : %.c
|
|
||||||
@$(COMPILE)
|
|
||||||
|
|
||||||
##############################################################################
|
|
||||||
|
|
||||||
lib/libdebug.a : $(addprefix obj/libdebug/,$(DEBUG_LIB))
|
|
||||||
@$(MAKELIB)
|
|
||||||
|
|
||||||
lib/soft-float/libdebug.a : $(addprefix obj/soft-float/libdebug/,$(DEBUG_LIB))
|
|
||||||
@$(MAKELIB)
|
|
||||||
|
|
||||||
lib/small-data/libdebug.a : $(addprefix obj/small-data/libdebug/,$(DEBUG_LIB))
|
|
||||||
@$(MAKELIB)
|
|
||||||
|
|
||||||
lib/baserel/libdebug.a : $(addprefix obj/baserel/libdebug/,$(DEBUG_LIB))
|
|
||||||
@$(MAKELIB)
|
|
||||||
|
|
||||||
lib.threadsafe/libdebug.a : $(addprefix obj.threadsafe/libdebug/,$(DEBUG_LIB))
|
|
||||||
@$(MAKELIB)
|
|
||||||
|
|
||||||
lib.threadsafe/soft-float/libdebug.a : $(addprefix obj.threadsafe/soft-float/libdebug/,$(DEBUG_LIB))
|
|
||||||
@$(MAKELIB)
|
|
||||||
|
|
||||||
lib.threadsafe/small-data/libdebug.a : $(addprefix obj.threadsafe/small-data/libdebug/,$(DEBUG_LIB))
|
|
||||||
@$(MAKELIB)
|
|
||||||
|
|
||||||
lib.threadsafe/baserel/libdebug.a : $(addprefix obj.threadsafe/baserel/libdebug/,$(DEBUG_LIB))
|
|
||||||
@$(MAKELIB)
|
|
||||||
|
|||||||
34
library/libdebug.obj.gmk
Normal file
34
library/libdebug.obj.gmk
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
# vim:ts=8 ft=make:
|
||||||
|
#
|
||||||
|
# -*- mode: makefile; -*-
|
||||||
|
|
||||||
|
DEBUG_LIB := \
|
||||||
|
debug.lib_rev.o \
|
||||||
|
debug.o \
|
||||||
|
debug_cmpstrexec.o \
|
||||||
|
debug_kcmpstr.o \
|
||||||
|
debug_kdofmt.o \
|
||||||
|
debug_kgetc.o \
|
||||||
|
debug_kgetch1.o \
|
||||||
|
debug_kgetch2.o \
|
||||||
|
debug_kgetchar1.o \
|
||||||
|
debug_kgetchar2.o \
|
||||||
|
debug_kgetnum1.o \
|
||||||
|
debug_kgetnum2.o \
|
||||||
|
debug_kmaygetch.o \
|
||||||
|
debug_kmaygetchar.o \
|
||||||
|
debug_kprintf1.o \
|
||||||
|
debug_kprintf2.o \
|
||||||
|
debug_kputc.o \
|
||||||
|
debug_kputch1.o \
|
||||||
|
debug_kputch2.o \
|
||||||
|
debug_kputchar1.o \
|
||||||
|
debug_kputchar2.o \
|
||||||
|
debug_kputfmt.o \
|
||||||
|
debug_kputs1.o \
|
||||||
|
debug_kputs2.o \
|
||||||
|
debug_kputstr1.o \
|
||||||
|
debug_kputstr2.o \
|
||||||
|
debug_kvprintf1.o \
|
||||||
|
debug_kvprintf2.o \
|
||||||
|
debug_level.o
|
||||||
277
library/libm.gmk
277
library/libm.gmk
@@ -1,265 +1,48 @@
|
|||||||
#
|
#
|
||||||
# $Id: libm.gmk,v 1.3 2007-01-06 10:09:48 obarthel Exp $
|
# $Id: libm.gmk,v 1.3 2007-01-06 10:09:48 obarthel Exp $
|
||||||
#
|
#
|
||||||
# :ts=8
|
# vim:ts=8 ft=make:
|
||||||
#
|
#
|
||||||
# -*- mode: makefile; -*-
|
# -*- mode: makefile; -*-
|
||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
LIBS += \
|
include libm.obj.gmk
|
||||||
lib/libm.a \
|
MATH_LIB := $(sort $(MATH_LIB_COMMON) $(MATH_LIB_OS4))
|
||||||
lib/soft-float/libm.a \
|
|
||||||
lib/small-data/libm.a \
|
|
||||||
lib/baserel/libm.a \
|
|
||||||
lib.threadsafe/libm.a \
|
|
||||||
lib.threadsafe/soft-float/libm.a \
|
|
||||||
lib.threadsafe/small-data/libm.a \
|
|
||||||
lib.threadsafe/baserel/libm.a
|
|
||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
MATH_LIB := \
|
define libm_rule
|
||||||
complex_carg.o \
|
|
||||||
complex_cargf.o \
|
|
||||||
complex_cargl.o \
|
|
||||||
complex_cimag.o \
|
|
||||||
complex_cimagf.o \
|
|
||||||
complex_cimagl.o \
|
|
||||||
complex_conj.o \
|
|
||||||
complex_conjf.o \
|
|
||||||
complex_conjl.o \
|
|
||||||
complex_creal.o \
|
|
||||||
complex_crealf.o \
|
|
||||||
complex_creall.o \
|
|
||||||
fenv_feclearexcept.o \
|
|
||||||
fenv_fegetenv.o \
|
|
||||||
fenv_fegetexceptflag.o \
|
|
||||||
fenv_fegetround.o \
|
|
||||||
fenv_feholdexcept.o \
|
|
||||||
fenv_feraiseexcept.o \
|
|
||||||
fenv_fesetenv.o \
|
|
||||||
fenv_fesetexceptflag.o \
|
|
||||||
fenv_fetestexcept.o \
|
|
||||||
fenv_fetestround.o \
|
|
||||||
fenv_feupdateenv.o \
|
|
||||||
math_acos.o \
|
|
||||||
math_acosf.o \
|
|
||||||
math_acosh.o \
|
|
||||||
math_acoshf.o \
|
|
||||||
math_asin.o \
|
|
||||||
math_asinf.o \
|
|
||||||
math_asinh.o \
|
|
||||||
math_asinhf.o \
|
|
||||||
math_atan.o \
|
|
||||||
math_atan2.o \
|
|
||||||
math_atan2f.o \
|
|
||||||
math_atanf.o \
|
|
||||||
math_atanh.o \
|
|
||||||
math_atanhf.o \
|
|
||||||
math_cbrt.o \
|
|
||||||
math_cbrtf.o \
|
|
||||||
math_ceil.o \
|
|
||||||
math_ceilf.o \
|
|
||||||
math_copysign.o \
|
|
||||||
math_copysignf.o \
|
|
||||||
math_cos.o \
|
|
||||||
math_cosf.o \
|
|
||||||
math_cosh.o \
|
|
||||||
math_coshf.o \
|
|
||||||
math_erf.o \
|
|
||||||
math_erfc.o \
|
|
||||||
math_erfcf.o \
|
|
||||||
math_erff.o \
|
|
||||||
math_exp.o \
|
|
||||||
math_exp2.o \
|
|
||||||
math_exp2f.o \
|
|
||||||
math_expf.o \
|
|
||||||
math_expm1.o \
|
|
||||||
math_expm1f.o \
|
|
||||||
math_fabs.o \
|
|
||||||
math_fabsf.o \
|
|
||||||
math_fdim.o \
|
|
||||||
math_fdimf.o \
|
|
||||||
math_floor.o \
|
|
||||||
math_floorf.o \
|
|
||||||
math_fma.o \
|
|
||||||
math_fmaf.o \
|
|
||||||
math_fmax.o \
|
|
||||||
math_fmaxf.o \
|
|
||||||
math_fmin.o \
|
|
||||||
math_fminf.o \
|
|
||||||
math_fmod.o \
|
|
||||||
math_fmodf.o \
|
|
||||||
math_fpclassify.o \
|
|
||||||
math_frexp.o \
|
|
||||||
math_frexpf.o \
|
|
||||||
math_huge_val.o \
|
|
||||||
math_huge_valf.o \
|
|
||||||
math_hypot.o \
|
|
||||||
math_hypotf.o \
|
|
||||||
math_ilogb.o \
|
|
||||||
math_ilogbf.o \
|
|
||||||
math_inf.o \
|
|
||||||
math_inff.o \
|
|
||||||
math_init_exit.o \
|
|
||||||
math_isfinite.o \
|
|
||||||
math_isunordered.o \
|
|
||||||
math_kernel_cos.o \
|
|
||||||
math_kernel_cosf.o \
|
|
||||||
math_kernel_expm1.o \
|
|
||||||
math_kernel_rem_pio2.o \
|
|
||||||
math_kernel_sin.o \
|
|
||||||
math_kernel_sinf.o \
|
|
||||||
math_kernel_tan.o \
|
|
||||||
math_kernel_tanf.o \
|
|
||||||
math_ldexp.o \
|
|
||||||
math_ldexpf.o \
|
|
||||||
math_lgamma.o \
|
|
||||||
math_lgammaf.o \
|
|
||||||
math_llrint.o \
|
|
||||||
math_log.o \
|
|
||||||
math_log10.o \
|
|
||||||
math_log10f.o \
|
|
||||||
math_log1p.o \
|
|
||||||
math_log1pf.o \
|
|
||||||
math_log2.o \
|
|
||||||
math_log2f.o \
|
|
||||||
math_logb.o \
|
|
||||||
math_logbf.o \
|
|
||||||
math_logf.o \
|
|
||||||
math_lrint.o \
|
|
||||||
math_lrintf.o \
|
|
||||||
math_lround.o \
|
|
||||||
math_lroundf.o \
|
|
||||||
math_modf.o \
|
|
||||||
math_modff.o \
|
|
||||||
math_nan.o \
|
|
||||||
math_nanf.o \
|
|
||||||
math_nearbyint.o \
|
|
||||||
math_nearbyintf.o \
|
|
||||||
math_nextafter.o \
|
|
||||||
math_nextafterf.o \
|
|
||||||
math_pow.o \
|
|
||||||
math_powf.o \
|
|
||||||
math_remainder.o \
|
|
||||||
math_remainderf.o \
|
|
||||||
math_remquo.o \
|
|
||||||
math_remquof.o \
|
|
||||||
math_rem_pio2f.o \
|
|
||||||
math_rint.o \
|
|
||||||
math_rintf.o \
|
|
||||||
math_round.o \
|
|
||||||
math_roundf.o \
|
|
||||||
math_scalbn.o \
|
|
||||||
math_scalbnf.o \
|
|
||||||
math_signbit.o \
|
|
||||||
math_sin.o \
|
|
||||||
math_sinf.o \
|
|
||||||
math_sinh.o \
|
|
||||||
math_sinhf.o \
|
|
||||||
math_sqrt.o \
|
|
||||||
math_sqrtf.o \
|
|
||||||
math_tan.o \
|
|
||||||
math_tanf.o \
|
|
||||||
math_tanh.o \
|
|
||||||
math_tanhf.o \
|
|
||||||
math_tgamma.o \
|
|
||||||
math_tgammaf.o \
|
|
||||||
math_trunc.o \
|
|
||||||
math_truncf.o \
|
|
||||||
stdio_asprintf.o \
|
|
||||||
stdio_flush.o \
|
|
||||||
stdio_flush_all_files.o \
|
|
||||||
stdio_fprintf.o \
|
|
||||||
stdio_fscanf.o \
|
|
||||||
stdio_printf.o \
|
|
||||||
stdio_scanf.o \
|
|
||||||
stdio_snprintf.o \
|
|
||||||
stdio_sprintf.o \
|
|
||||||
stdio_sscanf.o \
|
|
||||||
stdio_vasprintf.o \
|
|
||||||
stdio_vfprintf.o \
|
|
||||||
stdio_vfscanf.o \
|
|
||||||
stdio_vsscanf.o \
|
|
||||||
stdio_vscanf.o \
|
|
||||||
stdio_vprintf.o \
|
|
||||||
stdio_vsnprintf.o \
|
|
||||||
stdio_vsprintf.o \
|
|
||||||
stdlib_atof.o \
|
|
||||||
stdlib_strtod.o \
|
|
||||||
stdlib_strtof.o \
|
|
||||||
time_difftime.o
|
|
||||||
|
|
||||||
##############################################################################
|
LIBS += lib/$(1).a lib.threadsafe/$(1).a
|
||||||
|
|
||||||
# Dependencies to rebuild if the library version changes
|
# Dependencies to rebuild if the library version changes
|
||||||
|
obj/$(1)/m.lib_rev.o : m.lib_rev.c m.lib_rev.h
|
||||||
|
obj.threadsafe/$(1)/m.lib_rev.o : m.lib_rev.c m.lib_rev.h
|
||||||
|
|
||||||
obj/libm/m.lib_rev.o : m.lib_rev.c m.lib_rev.h
|
obj/$(1)/%.o : CFLAGS += $(2)
|
||||||
obj/soft-float/libm/m.lib_rev.o : m.lib_rev.c m.lib_rev.h
|
obj/$(1)/%.o : %.c
|
||||||
obj/small-data/libm/m.lib_rev.o : m.lib_rev.c m.lib_rev.h
|
@$$(COMPILE)
|
||||||
obj/baserel/libm/m.lib_rev.o : m.lib_rev.c m.lib_rev.h
|
|
||||||
obj.threadsafe/libm/m.lib_rev.o : m.lib_rev.c m.lib_rev.h
|
obj.threadsafe/$(1)/%.o : CFLAGS += $(THREADSAFE) $(2)
|
||||||
obj.threadsafe/soft-float/libm/m.lib_rev.o : m.lib_rev.c m.lib_rev.h
|
obj.threadsafe/$(1)/%.o : %.c
|
||||||
obj.threadsafe/small-data/libm/m.lib_rev.o : m.lib_rev.c m.lib_rev.h
|
@$$(COMPILE)
|
||||||
obj.threadsafe/baserel/libm/m.lib_rev.o : m.lib_rev.c m.lib_rev.h
|
|
||||||
|
lib/$(1).a : $$(addprefix obj/$(1)/,$$(MATH_LIB))
|
||||||
|
@$$(MAKELIB)
|
||||||
|
|
||||||
|
lib.threadsafe/$(1).a : $$(addprefix obj.threadsafe/$(1)/,$$(MATH_LIB))
|
||||||
|
@$$(MAKELIB)
|
||||||
|
|
||||||
|
endef
|
||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
obj/libm/%.o : CFLAGS += $(LARGEDATA) -DPPC_FLOATING_POINT_SUPPORT
|
$(eval $(call libm_rule,libm, \
|
||||||
obj/libm/%.o : %.c
|
$(LARGEDATA) -DPPC_FLOATING_POINT_SUPPORT))
|
||||||
@$(COMPILE)
|
$(eval $(call libm_rule,soft-float/libm, \
|
||||||
|
$(SOFTFLOAT)))
|
||||||
obj/soft-float/libm/%.o : CFLAGS += $(SOFTFLOAT)
|
$(eval $(call libm_rule,small-data/libm, \
|
||||||
obj/soft-float/libm/%.o : %.c
|
$(SMALLDATA) -DPPC_FLOATING_POINT_SUPPORT))
|
||||||
@$(COMPILE)
|
$(eval $(call libm_rule,baserel/libm, \
|
||||||
|
$(BASEREL) -DPPC_FLOATING_POINT_SUPPORT))
|
||||||
obj/small-data/libm/%.o : CFLAGS += $(SMALLDATA) -DPPC_FLOATING_POINT_SUPPORT
|
|
||||||
obj/small-data/libm/%.o : %.c
|
|
||||||
@$(COMPILE)
|
|
||||||
|
|
||||||
obj/baserel/libm/%.o : CFLAGS += $(BASEREL) -DPPC_FLOATING_POINT_SUPPORT
|
|
||||||
obj/baserel/libm/%.o : %.c
|
|
||||||
@$(COMPILE)
|
|
||||||
|
|
||||||
obj.threadsafe/libm/%.o : CFLAGS += $(THREADSAFE) $(LARGEDATA) -DPPC_FLOATING_POINT_SUPPORT
|
|
||||||
obj.threadsafe/libm/%.o : %.c
|
|
||||||
@$(COMPILE)
|
|
||||||
|
|
||||||
obj.threadsafe/soft-float/libm/%.o : CFLAGS += $(THREADSAFE) $(SOFTFLOAT)
|
|
||||||
obj.threadsafe/soft-float/libm/%.o : %.c
|
|
||||||
@$(COMPILE)
|
|
||||||
|
|
||||||
obj.threadsafe/small-data/libm/%.o : CFLAGS += $(THREADSAFE) $(SMALLDATA) -DPPC_FLOATING_POINT_SUPPORT
|
|
||||||
obj.threadsafe/small-data/libm/%.o : %.c
|
|
||||||
@$(COMPILE)
|
|
||||||
|
|
||||||
obj.threadsafe/baserel/libm/%.o : CFLAGS += $(THREADSAFE) $(BASEREL) -DPPC_FLOATING_POINT_SUPPORT
|
|
||||||
obj.threadsafe/baserel/libm/%.o : %.c
|
|
||||||
@$(COMPILE)
|
|
||||||
|
|
||||||
##############################################################################
|
|
||||||
|
|
||||||
lib/libm.a : $(addprefix obj/libm/,$(MATH_LIB))
|
|
||||||
@$(MAKELIB)
|
|
||||||
|
|
||||||
lib/soft-float/libm.a : $(addprefix obj/soft-float/libm/,$(MATH_LIB))
|
|
||||||
@$(MAKELIB)
|
|
||||||
|
|
||||||
lib/small-data/libm.a : $(addprefix obj/small-data/libm/,$(MATH_LIB))
|
|
||||||
@$(MAKELIB)
|
|
||||||
|
|
||||||
lib/baserel/libm.a : $(addprefix obj/baserel/libm/,$(MATH_LIB))
|
|
||||||
@$(MAKELIB)
|
|
||||||
|
|
||||||
lib.threadsafe/libm.a : $(addprefix obj.threadsafe/libm/,$(MATH_LIB))
|
|
||||||
@$(MAKELIB)
|
|
||||||
|
|
||||||
lib.threadsafe/soft-float/libm.a : $(addprefix obj.threadsafe/soft-float/libm/,$(MATH_LIB))
|
|
||||||
@$(MAKELIB)
|
|
||||||
|
|
||||||
lib.threadsafe/small-data/libm.a : $(addprefix obj.threadsafe/small-data/libm/,$(MATH_LIB))
|
|
||||||
@$(MAKELIB)
|
|
||||||
|
|
||||||
lib.threadsafe/baserel/libm.a : $(addprefix obj.threadsafe/baserel/libm/,$(MATH_LIB))
|
|
||||||
@$(MAKELIB)
|
|
||||||
|
|||||||
215
library/libm.obj.gmk
Normal file
215
library/libm.obj.gmk
Normal file
@@ -0,0 +1,215 @@
|
|||||||
|
# vim:ts=8 ft=make:
|
||||||
|
#
|
||||||
|
# -*- mode: makefile; -*-
|
||||||
|
|
||||||
|
MATH_LIB_COMMON := \
|
||||||
|
complex_carg.o \
|
||||||
|
complex_cargf.o \
|
||||||
|
complex_cargl.o \
|
||||||
|
complex_cimag.o \
|
||||||
|
complex_cimagf.o \
|
||||||
|
complex_cimagl.o \
|
||||||
|
complex_conj.o \
|
||||||
|
complex_conjf.o \
|
||||||
|
complex_conjl.o \
|
||||||
|
complex_creal.o \
|
||||||
|
complex_crealf.o \
|
||||||
|
complex_creall.o \
|
||||||
|
fenv_feclearexcept.o \
|
||||||
|
fenv_fegetenv.o \
|
||||||
|
fenv_fegetexceptflag.o \
|
||||||
|
fenv_fegetround.o \
|
||||||
|
fenv_feholdexcept.o \
|
||||||
|
fenv_feraiseexcept.o \
|
||||||
|
fenv_fesetenv.o \
|
||||||
|
fenv_fesetexceptflag.o \
|
||||||
|
fenv_fetestexcept.o \
|
||||||
|
fenv_fetestround.o \
|
||||||
|
fenv_feupdateenv.o \
|
||||||
|
math_acos.o \
|
||||||
|
math_acosf.o \
|
||||||
|
math_acosh.o \
|
||||||
|
math_acoshf.o \
|
||||||
|
math_asin.o \
|
||||||
|
math_asinf.o \
|
||||||
|
math_asinh.o \
|
||||||
|
math_asinhf.o \
|
||||||
|
math_atan.o \
|
||||||
|
math_atan2.o \
|
||||||
|
math_atan2f.o \
|
||||||
|
math_atanf.o \
|
||||||
|
math_atanh.o \
|
||||||
|
math_atanhf.o \
|
||||||
|
math_cbrt.o \
|
||||||
|
math_cbrtf.o \
|
||||||
|
math_ceil.o \
|
||||||
|
math_ceilf.o \
|
||||||
|
math_copysign.o \
|
||||||
|
math_copysignf.o \
|
||||||
|
math_cos.o \
|
||||||
|
math_cosf.o \
|
||||||
|
math_cosh.o \
|
||||||
|
math_coshf.o \
|
||||||
|
math_erf.o \
|
||||||
|
math_erfc.o \
|
||||||
|
math_erfcf.o \
|
||||||
|
math_erff.o \
|
||||||
|
math_exp.o \
|
||||||
|
math_exp2.o \
|
||||||
|
math_exp2f.o \
|
||||||
|
math_expf.o \
|
||||||
|
math_expm1.o \
|
||||||
|
math_expm1f.o \
|
||||||
|
math_fabs.o \
|
||||||
|
math_fabsf.o \
|
||||||
|
math_fdim.o \
|
||||||
|
math_fdimf.o \
|
||||||
|
math_floor.o \
|
||||||
|
math_floorf.o \
|
||||||
|
math_fma.o \
|
||||||
|
math_fmaf.o \
|
||||||
|
math_fmax.o \
|
||||||
|
math_fmaxf.o \
|
||||||
|
math_fmin.o \
|
||||||
|
math_fminf.o \
|
||||||
|
math_fmod.o \
|
||||||
|
math_fmodf.o \
|
||||||
|
math_fpclassify.o \
|
||||||
|
math_frexp.o \
|
||||||
|
math_frexpf.o \
|
||||||
|
math_huge_val.o \
|
||||||
|
math_huge_valf.o \
|
||||||
|
math_hypot.o \
|
||||||
|
math_hypotf.o \
|
||||||
|
math_ilogb.o \
|
||||||
|
math_ilogbf.o \
|
||||||
|
math_inf.o \
|
||||||
|
math_inff.o \
|
||||||
|
math_init_exit.o \
|
||||||
|
math_isfinite.o \
|
||||||
|
math_isunordered.o \
|
||||||
|
math_kernel_cosf.o \
|
||||||
|
math_kernel_sinf.o \
|
||||||
|
math_kernel_tanf.o \
|
||||||
|
math_ldexp.o \
|
||||||
|
math_ldexpf.o \
|
||||||
|
math_lgamma.o \
|
||||||
|
math_lgammaf.o \
|
||||||
|
math_llrint.o \
|
||||||
|
math_log.o \
|
||||||
|
math_log10.o \
|
||||||
|
math_log10f.o \
|
||||||
|
math_log1p.o \
|
||||||
|
math_log1pf.o \
|
||||||
|
math_log2.o \
|
||||||
|
math_log2f.o \
|
||||||
|
math_logb.o \
|
||||||
|
math_logbf.o \
|
||||||
|
math_logf.o \
|
||||||
|
math_lrint.o \
|
||||||
|
math_lrintf.o \
|
||||||
|
math_lround.o \
|
||||||
|
math_lroundf.o \
|
||||||
|
math_modf.o \
|
||||||
|
math_modff.o \
|
||||||
|
math_nan.o \
|
||||||
|
math_nanf.o \
|
||||||
|
math_nearbyint.o \
|
||||||
|
math_nearbyintf.o \
|
||||||
|
math_nextafter.o \
|
||||||
|
math_nextafterf.o \
|
||||||
|
math_pow.o \
|
||||||
|
math_powf.o \
|
||||||
|
math_remainder.o \
|
||||||
|
math_remainderf.o \
|
||||||
|
math_remquo.o \
|
||||||
|
math_remquof.o \
|
||||||
|
math_rem_pio2f.o \
|
||||||
|
math_rint.o \
|
||||||
|
math_rintf.o \
|
||||||
|
math_round.o \
|
||||||
|
math_roundf.o \
|
||||||
|
math_scalbn.o \
|
||||||
|
math_scalbnf.o \
|
||||||
|
math_signbit.o \
|
||||||
|
math_sin.o \
|
||||||
|
math_sinf.o \
|
||||||
|
math_sinh.o \
|
||||||
|
math_sinhf.o \
|
||||||
|
math_sqrt.o \
|
||||||
|
math_sqrtf.o \
|
||||||
|
math_tan.o \
|
||||||
|
math_tanf.o \
|
||||||
|
math_tanh.o \
|
||||||
|
math_tanhf.o \
|
||||||
|
math_tgamma.o \
|
||||||
|
math_tgammaf.o \
|
||||||
|
math_trunc.o \
|
||||||
|
math_truncf.o \
|
||||||
|
stdio_asprintf.o \
|
||||||
|
stdio_flush.o \
|
||||||
|
stdio_flush_all_files.o \
|
||||||
|
stdio_fprintf.o \
|
||||||
|
stdio_fscanf.o \
|
||||||
|
stdio_printf.o \
|
||||||
|
stdio_scanf.o \
|
||||||
|
stdio_snprintf.o \
|
||||||
|
stdio_sprintf.o \
|
||||||
|
stdio_sscanf.o \
|
||||||
|
stdio_vasprintf.o \
|
||||||
|
stdio_vfprintf.o \
|
||||||
|
stdio_vfscanf.o \
|
||||||
|
stdio_vsscanf.o \
|
||||||
|
stdio_vscanf.o \
|
||||||
|
stdio_vprintf.o \
|
||||||
|
stdio_vsnprintf.o \
|
||||||
|
stdio_vsprintf.o \
|
||||||
|
stdlib_atof.o \
|
||||||
|
stdlib_strtod.o \
|
||||||
|
stdlib_strtof.o \
|
||||||
|
time_difftime.o
|
||||||
|
|
||||||
|
MATH_LIB_881 = \
|
||||||
|
m881.lib_rev.o \
|
||||||
|
$(MATH_LIB_COMMON)
|
||||||
|
|
||||||
|
MATH_LIB_IEEE = \
|
||||||
|
m.lib_rev.o \
|
||||||
|
$(MATH_LIB_COMMON) \
|
||||||
|
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
|
||||||
|
|
||||||
|
MATH_LIB_OS4 := \
|
||||||
|
math_kernel_cos.o \
|
||||||
|
math_kernel_expm1.o \
|
||||||
|
math_kernel_rem_pio2.o \
|
||||||
|
math_kernel_sin.o \
|
||||||
|
math_kernel_tan.o
|
||||||
@@ -1,174 +1,47 @@
|
|||||||
#
|
#
|
||||||
# $Id: libnet.gmk,v 1.1 2006-09-17 17:37:27 obarthel Exp $
|
# $Id: libnet.gmk,v 1.1 2006-09-17 17:37:27 obarthel Exp $
|
||||||
#
|
#
|
||||||
# :ts=8
|
# vim:ts=8 ft=make:
|
||||||
#
|
#
|
||||||
# -*- mode: makefile; -*-
|
# -*- mode: makefile; -*-
|
||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
LIBS += \
|
include libnet.obj.gmk
|
||||||
lib/libnet.a \
|
|
||||||
lib/soft-float/libnet.a \
|
|
||||||
lib/small-data/libnet.a \
|
|
||||||
lib/baserel/libnet.a \
|
|
||||||
lib.threadsafe/libnet.a \
|
|
||||||
lib.threadsafe/soft-float/libnet.a \
|
|
||||||
lib.threadsafe/small-data/libnet.a \
|
|
||||||
lib.threadsafe/baserel/libnet.a
|
|
||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
NET_LIB := \
|
define libnet_rule
|
||||||
net.lib_rev.o \
|
|
||||||
socket_accept.o \
|
|
||||||
socket_bind.o \
|
|
||||||
socket_check_daemon.o \
|
|
||||||
socket_connect.o \
|
|
||||||
socket_gethostbyaddr.o \
|
|
||||||
socket_gethostbyname.o \
|
|
||||||
socket_gethostid.o \
|
|
||||||
socket_gethostname.o \
|
|
||||||
socket_getnetbyaddr.o \
|
|
||||||
socket_getnetbyname.o \
|
|
||||||
socket_getpeername.o \
|
|
||||||
socket_getprotobyname.o \
|
|
||||||
socket_getprotobynumber.o \
|
|
||||||
socket_getservbyname.o \
|
|
||||||
socket_getservbyport.o \
|
|
||||||
socket_getsockname.o \
|
|
||||||
socket_getsockopt.o \
|
|
||||||
socket_get_descriptor.o \
|
|
||||||
socket_inet_addr.o \
|
|
||||||
socket_inet_aton.o \
|
|
||||||
socket_inet_lnaof.o \
|
|
||||||
socket_inet_makeaddr.o \
|
|
||||||
socket_inet_netof.o \
|
|
||||||
socket_inet_network.o \
|
|
||||||
socket_inet_ntoa.o \
|
|
||||||
socket_init_exit.o \
|
|
||||||
socket_ioctl.o \
|
|
||||||
socket_isdaemon.o \
|
|
||||||
socket_listen.o \
|
|
||||||
socket_obtain_daemon.o \
|
|
||||||
socket_recv.o \
|
|
||||||
socket_recvfrom.o \
|
|
||||||
socket_recvmsg.o \
|
|
||||||
socket_select_signal.o \
|
|
||||||
socket_select.o \
|
|
||||||
socket_wait_select.o \
|
|
||||||
socket_send.o \
|
|
||||||
socket_sendmsg.o \
|
|
||||||
socket_sendto.o \
|
|
||||||
socket_setsockopt.o \
|
|
||||||
socket_shutdown.o \
|
|
||||||
socket_socket.o \
|
|
||||||
socket_hook_entry.o \
|
|
||||||
socket_hstrerror.o \
|
|
||||||
socket_get_h_errno.o \
|
|
||||||
socket_set_h_errno.o \
|
|
||||||
systeminfo_sysinfo.o \
|
|
||||||
stat_umask.o \
|
|
||||||
usergroup_crypt.o \
|
|
||||||
usergroup_data.o \
|
|
||||||
usergroup_endgrent.o \
|
|
||||||
usergroup_endpwent.o \
|
|
||||||
usergroup_getegid.o \
|
|
||||||
usergroup_geteuid.o \
|
|
||||||
usergroup_getgid.o \
|
|
||||||
usergroup_getgrent.o \
|
|
||||||
usergroup_getgrgid.o \
|
|
||||||
usergroup_getgrnam.o \
|
|
||||||
usergroup_getgroups.o \
|
|
||||||
usergroup_getpass.o \
|
|
||||||
usergroup_getpwent.o \
|
|
||||||
usergroup_getpwnam.o \
|
|
||||||
usergroup_getpwuid.o \
|
|
||||||
usergroup_getuid.o \
|
|
||||||
usergroup_initgroups.o \
|
|
||||||
usergroup_init_exit.o \
|
|
||||||
usergroup_rootmode.o \
|
|
||||||
usergroup_setegid.o \
|
|
||||||
usergroup_seteuid.o \
|
|
||||||
usergroup_setgid.o \
|
|
||||||
usergroup_setgrent.o \
|
|
||||||
usergroup_setgroups.o \
|
|
||||||
usergroup_setpwent.o \
|
|
||||||
usergroup_setregid.o \
|
|
||||||
usergroup_setreuid.o \
|
|
||||||
usergroup_setsid.o \
|
|
||||||
usergroup_setuid.o \
|
|
||||||
utsname_uname.o
|
|
||||||
|
|
||||||
##############################################################################
|
LIBS += lib/$(1).a lib.threadsafe/$(1).a
|
||||||
|
|
||||||
# Dependencies to rebuild if the library version changes
|
# Dependencies to rebuild if the library version changes
|
||||||
|
obj/$(1)/net.lib_rev.o : net.lib_rev.c net.lib_rev.h
|
||||||
|
obj.threadsafe/$(1)/net.lib_rev.o : net.lib_rev.c net.lib_rev.h
|
||||||
|
|
||||||
obj/libnet/net.lib_rev.o : net.lib_rev.c net.lib_rev.h
|
obj/$(1)/%.o : CFLAGS += $(2)
|
||||||
obj/soft-float/libnet/net.lib_rev.o : net.lib_rev.c net.lib_rev.h
|
obj/$(1)/%.o : %.c
|
||||||
obj/small-data/libnet/net.lib_rev.o : net.lib_rev.c net.lib_rev.h
|
@$$(COMPILE)
|
||||||
obj/baserel/libnet/net.lib_rev.o : net.lib_rev.c net.lib_rev.h
|
|
||||||
obj.threadsafe/libnet/net.lib_rev.o : net.lib_rev.c net.lib_rev.h
|
obj.threadsafe/$(1)/%.o : CFLAGS += $(THREADSAFE) $(2)
|
||||||
obj.threadsafe/soft-float/libnet/net.lib_rev.o : net.lib_rev.c net.lib_rev.h
|
obj.threadsafe/$(1)/%.o : %.c
|
||||||
obj.threadsafe/small-data/libnet/net.lib_rev.o : net.lib_rev.c net.lib_rev.h
|
@$$(COMPILE)
|
||||||
obj.threadsafe/baserel/libnet/net.lib_rev.o : net.lib_rev.c net.lib_rev.h
|
|
||||||
|
lib/$(1).a : $$(addprefix obj/$(1)/,$$(NET_LIB))
|
||||||
|
@$$(MAKELIB)
|
||||||
|
|
||||||
|
lib.threadsafe/$(1).a : $$(addprefix obj.threadsafe/$(1)/,$$(NET_LIB))
|
||||||
|
@$$(MAKELIB)
|
||||||
|
|
||||||
|
endef
|
||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
obj/libnet/%.o : CFLAGS += $(LARGEDATA) -I$(NET_INCLUDE) -DSOCKET_SUPPORT -DUSERGROUP_SUPPORT
|
$(eval $(call libnet_rule,libnet, \
|
||||||
obj/libnet/%.o : %.c
|
$(LARGEDATA) -I$(NET_INCLUDE) -DSOCKET_SUPPORT -DUSERGROUP_SUPPORT))
|
||||||
@$(COMPILE)
|
$(eval $(call libnet_rule,soft-float/libnet, \
|
||||||
|
$(SOFTFLOAT) -I$(NET_INCLUDE) -DSOCKET_SUPPORT -DUSERGROUP_SUPPORT))
|
||||||
obj/soft-float/libnet/%.o : CFLAGS += $(SOFTFLOAT) -I$(NET_INCLUDE) -DSOCKET_SUPPORT -DUSERGROUP_SUPPORT
|
$(eval $(call libnet_rule,small-data/libnet, \
|
||||||
obj/soft-float/libnet/%.o : %.c
|
$(SMALLDATA) -I$(NET_INCLUDE) -DSOCKET_SUPPORT -DUSERGROUP_SUPPORT))
|
||||||
@$(COMPILE)
|
$(eval $(call libnet_rule,baserel/libnet, \
|
||||||
|
$(BASEREL) -I$(NET_INCLUDE) -DSOCKET_SUPPORT -DUSERGROUP_SUPPORT))
|
||||||
obj/small-data/libnet/%.o : CFLAGS += $(SMALLDATA) -I$(NET_INCLUDE) -DSOCKET_SUPPORT -DUSERGROUP_SUPPORT
|
|
||||||
obj/small-data/libnet/%.o : %.c
|
|
||||||
@$(COMPILE)
|
|
||||||
|
|
||||||
obj/baserel/libnet/%.o : CFLAGS += $(BASEREL) -I$(NET_INCLUDE) -DSOCKET_SUPPORT -DUSERGROUP_SUPPORT
|
|
||||||
obj/baserel/libnet/%.o : %.c
|
|
||||||
@$(COMPILE)
|
|
||||||
|
|
||||||
obj.threadsafe/libnet/%.o : CFLAGS += $(THREADSAFE) $(LARGEDATA) -I$(NET_INCLUDE) -DSOCKET_SUPPORT -DUSERGROUP_SUPPORT
|
|
||||||
obj.threadsafe/libnet/%.o : %.c
|
|
||||||
@$(COMPILE)
|
|
||||||
|
|
||||||
obj.threadsafe/soft-float/libnet/%.o : CFLAGS += $(THREADSAFE) $(SOFTFLOAT) -I$(NET_INCLUDE) -DSOCKET_SUPPORT -DUSERGROUP_SUPPORT
|
|
||||||
obj.threadsafe/soft-float/libnet/%.o : %.c
|
|
||||||
@$(COMPILE)
|
|
||||||
|
|
||||||
obj.threadsafe/small-data/libnet/%.o : CFLAGS += $(THREADSAFE) $(SMALLDATA) -I$(NET_INCLUDE) -DSOCKET_SUPPORT -DUSERGROUP_SUPPORT
|
|
||||||
obj.threadsafe/small-data/libnet/%.o : %.c
|
|
||||||
@$(COMPILE)
|
|
||||||
|
|
||||||
obj.threadsafe/baserel/libnet/%.o : CFLAGS += $(THREADSAFE) $(BASEREL) -I$(NET_INCLUDE) -DSOCKET_SUPPORT -DUSERGROUP_SUPPORT
|
|
||||||
obj.threadsafe/baserel/libnet/%.o : %.c
|
|
||||||
@$(COMPILE)
|
|
||||||
|
|
||||||
##############################################################################
|
|
||||||
|
|
||||||
lib/libnet.a : $(addprefix obj/libnet/,$(NET_LIB))
|
|
||||||
@$(MAKELIB)
|
|
||||||
|
|
||||||
lib/soft-float/libnet.a : $(addprefix obj/soft-float/libnet/,$(NET_LIB))
|
|
||||||
@$(MAKELIB)
|
|
||||||
|
|
||||||
lib/small-data/libnet.a : $(addprefix obj/small-data/libnet/,$(NET_LIB))
|
|
||||||
@$(MAKELIB)
|
|
||||||
|
|
||||||
lib/baserel/libnet.a : $(addprefix obj/baserel/libnet/,$(NET_LIB))
|
|
||||||
@$(MAKELIB)
|
|
||||||
|
|
||||||
lib.threadsafe/libnet.a : $(addprefix obj.threadsafe/libnet/,$(NET_LIB))
|
|
||||||
@$(MAKELIB)
|
|
||||||
|
|
||||||
lib.threadsafe/soft-float/libnet.a : $(addprefix obj.threadsafe/soft-float/libnet/,$(NET_LIB))
|
|
||||||
@$(MAKELIB)
|
|
||||||
|
|
||||||
lib.threadsafe/small-data/libnet.a : $(addprefix obj.threadsafe/small-data/libnet/,$(NET_LIB))
|
|
||||||
@$(MAKELIB)
|
|
||||||
|
|
||||||
lib.threadsafe/baserel/libnet.a : $(addprefix obj.threadsafe/baserel/libnet/,$(NET_LIB))
|
|
||||||
@$(MAKELIB)
|
|
||||||
|
|||||||
84
library/libnet.obj.gmk
Normal file
84
library/libnet.obj.gmk
Normal file
@@ -0,0 +1,84 @@
|
|||||||
|
# vim:ts=8 ft=make:
|
||||||
|
#
|
||||||
|
# -*- mode: makefile; -*-
|
||||||
|
|
||||||
|
NET_LIB := \
|
||||||
|
net.lib_rev.o \
|
||||||
|
socket_accept.o \
|
||||||
|
socket_bind.o \
|
||||||
|
socket_check_daemon.o \
|
||||||
|
socket_connect.o \
|
||||||
|
socket_gethostbyaddr.o \
|
||||||
|
socket_gethostbyname.o \
|
||||||
|
socket_gethostid.o \
|
||||||
|
socket_gethostname.o \
|
||||||
|
socket_getnetbyaddr.o \
|
||||||
|
socket_getnetbyname.o \
|
||||||
|
socket_getpeername.o \
|
||||||
|
socket_getprotobyname.o \
|
||||||
|
socket_getprotobynumber.o \
|
||||||
|
socket_getservbyname.o \
|
||||||
|
socket_getservbyport.o \
|
||||||
|
socket_getsockname.o \
|
||||||
|
socket_getsockopt.o \
|
||||||
|
socket_get_descriptor.o \
|
||||||
|
socket_inet_addr.o \
|
||||||
|
socket_inet_aton.o \
|
||||||
|
socket_inet_lnaof.o \
|
||||||
|
socket_inet_makeaddr.o \
|
||||||
|
socket_inet_netof.o \
|
||||||
|
socket_inet_network.o \
|
||||||
|
socket_inet_ntoa.o \
|
||||||
|
socket_init_exit.o \
|
||||||
|
socket_ioctl.o \
|
||||||
|
socket_isdaemon.o \
|
||||||
|
socket_listen.o \
|
||||||
|
socket_obtain_daemon.o \
|
||||||
|
socket_recv.o \
|
||||||
|
socket_recvfrom.o \
|
||||||
|
socket_recvmsg.o \
|
||||||
|
socket_select_signal.o \
|
||||||
|
socket_select.o \
|
||||||
|
socket_wait_select.o \
|
||||||
|
socket_send.o \
|
||||||
|
socket_sendmsg.o \
|
||||||
|
socket_sendto.o \
|
||||||
|
socket_setsockopt.o \
|
||||||
|
socket_shutdown.o \
|
||||||
|
socket_socket.o \
|
||||||
|
socket_hook_entry.o \
|
||||||
|
socket_hstrerror.o \
|
||||||
|
socket_get_h_errno.o \
|
||||||
|
socket_set_h_errno.o \
|
||||||
|
systeminfo_sysinfo.o \
|
||||||
|
stat_umask.o \
|
||||||
|
usergroup_crypt.o \
|
||||||
|
usergroup_data.o \
|
||||||
|
usergroup_endgrent.o \
|
||||||
|
usergroup_endpwent.o \
|
||||||
|
usergroup_getegid.o \
|
||||||
|
usergroup_geteuid.o \
|
||||||
|
usergroup_getgid.o \
|
||||||
|
usergroup_getgrent.o \
|
||||||
|
usergroup_getgrgid.o \
|
||||||
|
usergroup_getgrnam.o \
|
||||||
|
usergroup_getgroups.o \
|
||||||
|
usergroup_getpass.o \
|
||||||
|
usergroup_getpwent.o \
|
||||||
|
usergroup_getpwnam.o \
|
||||||
|
usergroup_getpwuid.o \
|
||||||
|
usergroup_getuid.o \
|
||||||
|
usergroup_initgroups.o \
|
||||||
|
usergroup_init_exit.o \
|
||||||
|
usergroup_rootmode.o \
|
||||||
|
usergroup_setegid.o \
|
||||||
|
usergroup_seteuid.o \
|
||||||
|
usergroup_setgid.o \
|
||||||
|
usergroup_setgrent.o \
|
||||||
|
usergroup_setgroups.o \
|
||||||
|
usergroup_setpwent.o \
|
||||||
|
usergroup_setregid.o \
|
||||||
|
usergroup_setreuid.o \
|
||||||
|
usergroup_setsid.o \
|
||||||
|
usergroup_setuid.o \
|
||||||
|
utsname_uname.o
|
||||||
@@ -1,132 +1,51 @@
|
|||||||
#
|
#
|
||||||
# $Id: libprofile.gmk,v 1.1 2006-09-17 17:37:27 obarthel Exp $
|
# $Id: libprofile.gmk,v 1.1 2006-09-17 17:37:27 obarthel Exp $
|
||||||
#
|
#
|
||||||
# :ts=8
|
# vim:ts=8 ft=make:
|
||||||
#
|
#
|
||||||
# -*- mode: makefile; -*-
|
# -*- mode: makefile; -*-
|
||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
LIBS += \
|
include libprofile.obj.gmk
|
||||||
lib/libprofile.a \
|
|
||||||
lib/soft-float/libprofile.a \
|
|
||||||
lib/small-data/libprofile.a \
|
|
||||||
lib/baserel/libprofile.a \
|
|
||||||
lib.threadsafe/libprofile.a \
|
|
||||||
lib.threadsafe/soft-float/libprofile.a \
|
|
||||||
lib.threadsafe/small-data/libprofile.a \
|
|
||||||
lib.threadsafe/baserel/libprofile.a
|
|
||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
PROFILE_LIB = \
|
define libprofile_rule
|
||||||
profile__mcount.o \
|
|
||||||
profile_gmon.o \
|
|
||||||
profile_mcount.o
|
|
||||||
|
|
||||||
##############################################################################
|
LIBS += lib/$(1).a lib.threadsafe/$(1).a
|
||||||
|
|
||||||
# Dependencies to rebuild if the library version changes
|
# Dependencies to rebuild if the library version changes
|
||||||
|
obj/$(1)/profile.lib_rev.o : profile.lib_rev.c profile.lib_rev.h
|
||||||
|
obj.threadsafe/$(1)/profile.lib_rev.o : profile.lib_rev.c profile.lib_rev.h
|
||||||
|
|
||||||
obj/libprofile/profile.lib_rev.o : profile.lib_rev.c profile.lib_rev.h
|
obj/$(1)/%.o : CFLAGS += $(2)
|
||||||
obj/soft-float/libprofile/profile.lib_rev.o : profile.lib_rev.c profile.lib_rev.h
|
obj/$(1)/%.o : %.c
|
||||||
obj/small-data/libprofile/profile.lib_rev.o : profile.lib_rev.c profile.lib_rev.h
|
@$$(COMPILE)
|
||||||
obj/baserel/libprofile/profile.lib_rev.o : profile.lib_rev.c profile.lib_rev.h
|
|
||||||
obj.threadsafe/libprofile/profile.lib_rev.o : profile.lib_rev.c profile.lib_rev.h
|
obj/$(1)/%.o : AFLAGS += $(2)
|
||||||
obj.threadsafe/soft-float/libprofile/profile.lib_rev.o : profile.lib_rev.c profile.lib_rev.h
|
obj/$(1)/%.o : %.S
|
||||||
obj.threadsafe/small-data/libprofile/profile.lib_rev.o : profile.lib_rev.c profile.lib_rev.h
|
@$$(ASSEMBLE)
|
||||||
obj.threadsafe/baserel/libprofile/profile.lib_rev.o : profile.lib_rev.c profile.lib_rev.h
|
|
||||||
|
obj.threadsafe/$(1)/%.o : CFLAGS += $(THREADSAFE) $(2)
|
||||||
|
obj.threadsafe/$(1)/%.o : %.c
|
||||||
|
@$$(COMPILE)
|
||||||
|
|
||||||
|
obj.threadsafe/$(1)/%.o : AFLAGS += $(2)
|
||||||
|
obj.threadsafe/$(1)/%.o : %.S
|
||||||
|
@$$(ASSEMBLE)
|
||||||
|
|
||||||
|
lib/$(1).a : $$(addprefix obj/$(1)/,$$(PROFILE_LIB))
|
||||||
|
@$$(MAKELIB)
|
||||||
|
|
||||||
|
lib.threadsafe/$(1).a : $$(addprefix obj.threadsafe/$(1)/,$$(PROFILE_LIB))
|
||||||
|
@$$(MAKELIB)
|
||||||
|
|
||||||
|
endef
|
||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
obj/libprofile/%.o : AFLAGS += $(LARGEDATA)
|
$(eval $(call libprofile_rule,libprofile,$(LARGEDATA)))
|
||||||
obj/libprofile/%.o : %.S
|
$(eval $(call libprofile_rule,soft-float/libprofile,$(SOFTFLOAT)))
|
||||||
@$(ASSEMBLE)
|
$(eval $(call libprofile_rule,small-data/libprofile,$(SMALLDATA)))
|
||||||
|
$(eval $(call libprofile_rule,baserel/libprofile,$(BASEREL)))
|
||||||
obj/soft-float/libprofile/%.o : AFLAGS += $(SOFTFLOAT)
|
|
||||||
obj/soft-float/libprofile/%.o : %.S
|
|
||||||
@$(ASSEMBLE)
|
|
||||||
|
|
||||||
obj/small-data/libprofile/%.o : AFLAGS += $(SMALLDATA)
|
|
||||||
obj/small-data/libprofile/%.o : %.S
|
|
||||||
@$(ASSEMBLE)
|
|
||||||
|
|
||||||
obj/baserel/libprofile/%.o : AFLAGS += $(BASEREL)
|
|
||||||
obj/baserel/libprofile/%.o : %.S
|
|
||||||
@$(ASSEMBLE)
|
|
||||||
|
|
||||||
obj.threadsafe/libprofile/%.o : AFLAGS += $(LARGEDATA)
|
|
||||||
obj.threadsafe/libprofile/%.o : %.S
|
|
||||||
@$(ASSEMBLE)
|
|
||||||
|
|
||||||
obj.threadsafe/soft-float/libprofile/%.o : AFLAGS += $(SOFTFLOAT)
|
|
||||||
obj.threadsafe/soft-float/libprofile/%.o : %.S
|
|
||||||
@$(ASSEMBLE)
|
|
||||||
|
|
||||||
obj.threadsafe/small-data/libprofile/%.o : AFLAGS += $(SMALLDATA)
|
|
||||||
obj.threadsafe/small-data/libprofile/%.o : %.S
|
|
||||||
@$(ASSEMBLE)
|
|
||||||
|
|
||||||
obj.threadsafe/baserel/libprofile/%.o : AFLAGS += $(BASEREL)
|
|
||||||
obj.threadsafe/baserel/libprofile/%.o : %.S
|
|
||||||
@$(ASSEMBLE)
|
|
||||||
|
|
||||||
##############################################################################
|
|
||||||
|
|
||||||
obj/libprofile/%.o : CFLAGS += $(LARGEDATA)
|
|
||||||
obj/libprofile/%.o : %.c
|
|
||||||
@$(COMPILE)
|
|
||||||
|
|
||||||
obj/soft-float/libprofile/%.o : CFLAGS += $(SOFTFLOAT)
|
|
||||||
obj/soft-float/libprofile/%.o : %.c
|
|
||||||
@$(COMPILE)
|
|
||||||
|
|
||||||
obj/small-data/libprofile/%.o : CFLAGS += $(SMALLDATA)
|
|
||||||
obj/small-data/libprofile/%.o : %.c
|
|
||||||
@$(COMPILE)
|
|
||||||
|
|
||||||
obj/baserel/libprofile/%.o : CFLAGS += $(BASEREL)
|
|
||||||
obj/baserel/libprofile/%.o : %.c
|
|
||||||
@$(COMPILE)
|
|
||||||
|
|
||||||
obj.threadsafe/libprofile/%.o : CFLAGS += $(THREADSAFE) $(LARGEDATA)
|
|
||||||
obj.threadsafe/libprofile/%.o : %.c
|
|
||||||
@$(COMPILE)
|
|
||||||
|
|
||||||
obj.threadsafe/soft-float/libprofile/%.o : CFLAGS += $(THREADSAFE) $(SOFTFLOAT)
|
|
||||||
obj.threadsafe/soft-float/libprofile/%.o : %.c
|
|
||||||
@$(COMPILE)
|
|
||||||
|
|
||||||
obj.threadsafe/small-data/libprofile/%.o : CFLAGS += $(THREADSAFE) $(SMALLDATA)
|
|
||||||
obj.threadsafe/small-data/libprofile/%.o : %.c
|
|
||||||
@$(COMPILE)
|
|
||||||
|
|
||||||
obj.threadsafe/baserel/libprofile/%.o : CFLAGS += $(THREADSAFE) $(BASEREL)
|
|
||||||
obj.threadsafe/baserel/libprofile/%.o : %.c
|
|
||||||
@$(COMPILE)
|
|
||||||
|
|
||||||
##############################################################################
|
|
||||||
|
|
||||||
lib/libprofile.a : $(addprefix obj/libprofile/,$(PROFILE_LIB))
|
|
||||||
@$(MAKELIB)
|
|
||||||
|
|
||||||
lib/soft-float/libprofile.a : $(addprefix obj/soft-float/libprofile/,$(PROFILE_LIB))
|
|
||||||
@$(MAKELIB)
|
|
||||||
|
|
||||||
lib/small-data/libprofile.a : $(addprefix obj/small-data/libprofile/,$(PROFILE_LIB))
|
|
||||||
@$(MAKELIB)
|
|
||||||
|
|
||||||
lib/baserel/libprofile.a : $(addprefix obj/baserel/libprofile/,$(PROFILE_LIB))
|
|
||||||
@$(MAKELIB)
|
|
||||||
|
|
||||||
lib.threadsafe/libprofile.a : $(addprefix obj.threadsafe/libprofile/,$(PROFILE_LIB))
|
|
||||||
@$(MAKELIB)
|
|
||||||
|
|
||||||
lib.threadsafe/soft-float/libprofile.a : $(addprefix obj.threadsafe/soft-float/libprofile/,$(PROFILE_LIB))
|
|
||||||
@$(MAKELIB)
|
|
||||||
|
|
||||||
lib.threadsafe/small-data/libprofile.a : $(addprefix obj.threadsafe/small-data/libprofile/,$(PROFILE_LIB))
|
|
||||||
@$(MAKELIB)
|
|
||||||
|
|
||||||
lib.threadsafe/baserel/libprofile.a : $(addprefix obj.threadsafe/baserel/libprofile/,$(PROFILE_LIB))
|
|
||||||
@$(MAKELIB)
|
|
||||||
|
|||||||
8
library/libprofile.obj.gmk
Normal file
8
library/libprofile.obj.gmk
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
# vim:ts=8 ft=make:
|
||||||
|
#
|
||||||
|
# -*- mode: makefile; -*-
|
||||||
|
|
||||||
|
PROFILE_LIB = \
|
||||||
|
profile__mcount.o \
|
||||||
|
profile_gmon.o \
|
||||||
|
profile_mcount.o
|
||||||
@@ -1,203 +1,48 @@
|
|||||||
#
|
#
|
||||||
# $Id: libunix.gmk,v 1.4 2010-08-21 10:59:34 obarthel Exp $
|
# $Id: libunix.gmk,v 1.4 2010-08-21 10:59:34 obarthel Exp $
|
||||||
#
|
#
|
||||||
# :ts=8
|
# vim:ts=8 ft=make:
|
||||||
#
|
#
|
||||||
# -*- mode: makefile; -*-
|
# -*- mode: makefile; -*-
|
||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
LIBS += \
|
include libunix.obj.gmk
|
||||||
lib/libunix.a \
|
UNIX_LIB := $(sort $(UNIX_LIB_COMMON) $(UNIX_LIB_OS4))
|
||||||
lib/soft-float/libunix.a \
|
|
||||||
lib/small-data/libunix.a \
|
|
||||||
lib/baserel/libunix.a \
|
|
||||||
lib.threadsafe/libunix.a \
|
|
||||||
lib.threadsafe/soft-float/libunix.a \
|
|
||||||
lib.threadsafe/small-data/libunix.a \
|
|
||||||
lib.threadsafe/baserel/libunix.a
|
|
||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
UNIX_LIB := \
|
define libunix_rule
|
||||||
unix.lib_rev.o \
|
|
||||||
dirent_closedir.o \
|
|
||||||
dirent_rewinddir.o \
|
|
||||||
dirent_opendir.o \
|
|
||||||
dirent_readdir.o \
|
|
||||||
fcntl_creat.o \
|
|
||||||
fcntl_fcntl.o \
|
|
||||||
fcntl_open.o \
|
|
||||||
fcntl_get_default_file.o \
|
|
||||||
getopt_getopt_long.o \
|
|
||||||
mount_convertinfo.o \
|
|
||||||
mount_statfs.o \
|
|
||||||
resource_getrlimit.o \
|
|
||||||
resource_setrlimit.o \
|
|
||||||
stat_chmod.o \
|
|
||||||
stat_fstat.o \
|
|
||||||
stat_lstat.o \
|
|
||||||
stat_lock.o \
|
|
||||||
stat_mkdir.o \
|
|
||||||
stat_rmdir.o \
|
|
||||||
stat_stat.o \
|
|
||||||
stdio_ctermid.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_popen.o \
|
|
||||||
stdio_record_locking.o \
|
|
||||||
stdio_remove.o \
|
|
||||||
stdio_rename.o \
|
|
||||||
stdlib_alloca.o \
|
|
||||||
stdlib_alloca_cleanup.o \
|
|
||||||
stdlib_alloca_trap.o \
|
|
||||||
stdlib_arg.o \
|
|
||||||
stdlib_dlopen.o \
|
|
||||||
stdlib_expand_wildcard.o \
|
|
||||||
stdlib_expand_wildcard_check.o \
|
|
||||||
stdlib_getmemstats.o \
|
|
||||||
stdlib_main.o \
|
|
||||||
stdlib_main_stub.o \
|
|
||||||
stdlib_mkdtemp.o \
|
|
||||||
stdlib_mkstemp.o \
|
|
||||||
stdlib_mktemp.o \
|
|
||||||
stdlib_malloc.o \
|
|
||||||
stdlib_realloc.o \
|
|
||||||
stdlib_resetmemstats.o \
|
|
||||||
stdlib_system.o \
|
|
||||||
systeminfo_sysinfo.o \
|
|
||||||
termios_cfgetispeed.o \
|
|
||||||
termios_cfgetospeed.o \
|
|
||||||
termios_cfmakeraw.o \
|
|
||||||
termios_cfsetispeed.o \
|
|
||||||
termios_cfsetospeed.o \
|
|
||||||
termios_console_fdhookentry.o \
|
|
||||||
termios_openserial.o \
|
|
||||||
termios_tcdrain.o \
|
|
||||||
termios_tcflow.o \
|
|
||||||
termios_tcflush.o \
|
|
||||||
termios_tcgetattr.o \
|
|
||||||
termios_tcsendbreak.o \
|
|
||||||
termios_tcsetattr.o \
|
|
||||||
timeb_ftime.o \
|
|
||||||
uio_readv.o \
|
|
||||||
uio_writev.o \
|
|
||||||
unistd_access.o \
|
|
||||||
unistd_chdir.o \
|
|
||||||
unistd_chdir_exit.o \
|
|
||||||
unistd_chown.o \
|
|
||||||
unistd_common_pathconf.o \
|
|
||||||
unistd_def_path.o \
|
|
||||||
unistd_def_path_delimiter.o \
|
|
||||||
unistd_environ.o \
|
|
||||||
unistd_execl.o \
|
|
||||||
unistd_execle.o \
|
|
||||||
unistd_execlp.o \
|
|
||||||
unistd_execv.o \
|
|
||||||
unistd_execve.o \
|
|
||||||
unistd_execve_env_exit.o \
|
|
||||||
unistd_execve_env_init.o \
|
|
||||||
unistd_execve_exit.o \
|
|
||||||
unistd_execvp.o \
|
|
||||||
unistd_fpathconf.o \
|
|
||||||
unistd_getcwd.o \
|
|
||||||
unistd_lchown.o \
|
|
||||||
unistd_link.o \
|
|
||||||
unistd_lockf.o \
|
|
||||||
unistd_pathconf.o \
|
|
||||||
unistd_readlink.o \
|
|
||||||
unistd_realpath.o \
|
|
||||||
unistd_restorepathname.o \
|
|
||||||
unistd_setcurrentpath.o \
|
|
||||||
unistd_strip_double_slash.o \
|
|
||||||
unistd_symlink.o \
|
|
||||||
unistd_translatea2u.o \
|
|
||||||
unistd_translaterel.o \
|
|
||||||
unistd_translateu2a.o \
|
|
||||||
unistd_truncate.o \
|
|
||||||
unistd_ttyname.o \
|
|
||||||
unistd_ttyname_r.o \
|
|
||||||
unistd_unix_path_semantics.o \
|
|
||||||
unistd_unlink.o \
|
|
||||||
unistd_unlink_retries.o \
|
|
||||||
unistd_wildcard_expand.o \
|
|
||||||
utime_utime.o
|
|
||||||
|
|
||||||
##############################################################################
|
LIBS += lib/$(1).a lib.threadsafe/$(1).a
|
||||||
|
|
||||||
# Dependencies to rebuild if the library version changes
|
# Dependencies to rebuild if the library version changes
|
||||||
|
obj/$(1)/unix.lib_rev.o : unix.lib_rev.c unix.lib_rev.h
|
||||||
|
obj.threadsafe/$(1)/unix.lib_rev.o : unix.lib_rev.c unix.lib_rev.h
|
||||||
|
|
||||||
obj/libunix/unit.lib_rev.o : unit.lib_rev.c unit.lib_rev.h
|
obj/$(1)/%.o : CFLAGS += $(2)
|
||||||
obj/soft-float/libunix/unit.lib_rev.o : unit.lib_rev.c unit.lib_rev.h
|
obj/$(1)/%.o : %.c
|
||||||
obj/small-data/libunix/unit.lib_rev.o : unit.lib_rev.c unit.lib_rev.h
|
@$$(COMPILE)
|
||||||
obj/baserel/libunix/unit.lib_rev.o : unit.lib_rev.c unit.lib_rev.h
|
|
||||||
obj.threadsafe/libunix/unit.lib_rev.o : unit.lib_rev.c unit.lib_rev.h
|
obj.threadsafe/$(1)/%.o : CFLAGS += $(THREADSAFE) $(2)
|
||||||
obj.threadsafe/soft-float/libunix/unit.lib_rev.o : unit.lib_rev.c unit.lib_rev.h
|
obj.threadsafe/$(1)/%.o : %.c
|
||||||
obj.threadsafe/small-data/libunix/unit.lib_rev.o : unit.lib_rev.c unit.lib_rev.h
|
@$$(COMPILE)
|
||||||
obj.threadsafe/baserel/libunix/unit.lib_rev.o : unit.lib_rev.c unit.lib_rev.h
|
|
||||||
|
lib/$(1).a : $$(addprefix obj/$(1)/,$$(UNIX_LIB))
|
||||||
|
@$$(MAKELIB)
|
||||||
|
|
||||||
|
lib.threadsafe/$(1).a : $$(addprefix obj.threadsafe/$(1)/,$$(UNIX_LIB))
|
||||||
|
@$$(MAKELIB)
|
||||||
|
|
||||||
|
endef
|
||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
|
$(eval $(call libunix_rule,libunix, \
|
||||||
obj/libunix/%.o : CFLAGS += $(LARGEDATA) -DUNIX_PATH_SEMANTICS
|
$(LARGEDATA) -DUNIX_PATH_SEMANTICS))
|
||||||
obj/libunix/%.o : %.c
|
$(eval $(call libunix_rule,soft-float/libunix, \
|
||||||
@$(COMPILE)
|
$(SOFTFLOAT) -DUNIX_PATH_SEMANTICS))
|
||||||
|
$(eval $(call libunix_rule,small-data/libunix, \
|
||||||
obj/soft-float/libunix/%.o : CFLAGS += $(SOFTFLOAT) -DUNIX_PATH_SEMANTICS
|
$(SMALLDATA) -DUNIX_PATH_SEMANTICS))
|
||||||
obj/soft-float/libunix/%.o : %.c
|
$(eval $(call libunix_rule,baserel/libunix, \
|
||||||
@$(COMPILE)
|
$(BASEREL) -DUNIX_PATH_SEMANTICS))
|
||||||
|
|
||||||
obj/small-data/libunix/%.o : CFLAGS += $(SMALLDATA) -DUNIX_PATH_SEMANTICS
|
|
||||||
obj/small-data/libunix/%.o : %.c
|
|
||||||
@$(COMPILE)
|
|
||||||
|
|
||||||
obj/baserel/libunix/%.o : CFLAGS += $(BASEREL) -DUNIX_PATH_SEMANTICS
|
|
||||||
obj/baserel/libunix/%.o : %.c
|
|
||||||
@$(COMPILE)
|
|
||||||
|
|
||||||
obj.threadsafe/libunix/%.o : CFLAGS += $(THREADSAFE) $(LARGEDATA) -DUNIX_PATH_SEMANTICS
|
|
||||||
obj.threadsafe/libunix/%.o : %.c
|
|
||||||
@$(COMPILE)
|
|
||||||
|
|
||||||
obj.threadsafe/soft-float/libunix/%.o : CFLAGS += $(THREADSAFE) $(SOFTFLOAT) -DUNIX_PATH_SEMANTICS
|
|
||||||
obj.threadsafe/soft-float/libunix/%.o : %.c
|
|
||||||
@$(COMPILE)
|
|
||||||
|
|
||||||
obj.threadsafe/small-data/libunix/%.o : CFLAGS += $(THREADSAFE) $(SMALLDATA) -DUNIX_PATH_SEMANTICS
|
|
||||||
obj.threadsafe/small-data/libunix/%.o : %.c
|
|
||||||
@$(COMPILE)
|
|
||||||
|
|
||||||
obj.threadsafe/baserel/libunix/%.o : CFLAGS += $(THREADSAFE) $(BASEREL) -DUNIX_PATH_SEMANTICS
|
|
||||||
obj.threadsafe/baserel/libunix/%.o : %.c
|
|
||||||
@$(COMPILE)
|
|
||||||
|
|
||||||
##############################################################################
|
|
||||||
|
|
||||||
lib/libunix.a : $(addprefix obj/libunix/,$(UNIX_LIB))
|
|
||||||
@$(MAKELIB)
|
|
||||||
|
|
||||||
lib/soft-float/libunix.a : $(addprefix obj/soft-float/libunix/,$(UNIX_LIB))
|
|
||||||
@$(MAKELIB)
|
|
||||||
|
|
||||||
lib/small-data/libunix.a : $(addprefix obj/small-data/libunix/,$(UNIX_LIB))
|
|
||||||
@$(MAKELIB)
|
|
||||||
|
|
||||||
lib/baserel/libunix.a : $(addprefix obj/baserel/libunix/,$(UNIX_LIB))
|
|
||||||
@$(MAKELIB)
|
|
||||||
|
|
||||||
lib.threadsafe/libunix.a : $(addprefix obj.threadsafe/libunix/,$(UNIX_LIB))
|
|
||||||
@$(MAKELIB)
|
|
||||||
|
|
||||||
lib.threadsafe/soft-float/libunix.a : $(addprefix obj.threadsafe/soft-float/libunix/,$(UNIX_LIB))
|
|
||||||
@$(MAKELIB)
|
|
||||||
|
|
||||||
lib.threadsafe/small-data/libunix.a : $(addprefix obj.threadsafe/small-data/libunix/,$(UNIX_LIB))
|
|
||||||
@$(MAKELIB)
|
|
||||||
|
|
||||||
lib.threadsafe/baserel/libunix.a : $(addprefix obj.threadsafe/baserel/libunix/,$(UNIX_LIB))
|
|
||||||
@$(MAKELIB)
|
|
||||||
|
|||||||
116
library/libunix.obj.gmk
Normal file
116
library/libunix.obj.gmk
Normal file
@@ -0,0 +1,116 @@
|
|||||||
|
# vim:ts=8 ft=make:
|
||||||
|
#
|
||||||
|
# -*- mode: makefile; -*-
|
||||||
|
|
||||||
|
UNIX_LIB_COMMON := \
|
||||||
|
unix.lib_rev.o \
|
||||||
|
dirent_closedir.o \
|
||||||
|
dirent_rewinddir.o \
|
||||||
|
dirent_opendir.o \
|
||||||
|
dirent_readdir.o \
|
||||||
|
fcntl_creat.o \
|
||||||
|
fcntl_fcntl.o \
|
||||||
|
fcntl_open.o \
|
||||||
|
fcntl_get_default_file.o \
|
||||||
|
getopt_getopt_long.o \
|
||||||
|
mount_convertinfo.o \
|
||||||
|
mount_statfs.o \
|
||||||
|
resource_getrlimit.o \
|
||||||
|
resource_setrlimit.o \
|
||||||
|
stat_chmod.o \
|
||||||
|
stat_fstat.o \
|
||||||
|
stat_lstat.o \
|
||||||
|
stat_lock.o \
|
||||||
|
stat_mkdir.o \
|
||||||
|
stat_rmdir.o \
|
||||||
|
stat_stat.o \
|
||||||
|
stdio_ctermid.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_popen.o \
|
||||||
|
stdio_record_locking.o \
|
||||||
|
stdio_remove.o \
|
||||||
|
stdio_rename.o \
|
||||||
|
stdlib_alloca.o \
|
||||||
|
stdlib_alloca_cleanup.o \
|
||||||
|
stdlib_alloca_trap.o \
|
||||||
|
stdlib_arg.o \
|
||||||
|
stdlib_expand_wildcard.o \
|
||||||
|
stdlib_expand_wildcard_check.o \
|
||||||
|
stdlib_getmemstats.o \
|
||||||
|
stdlib_main.o \
|
||||||
|
stdlib_main_stub.o \
|
||||||
|
stdlib_mkdtemp.o \
|
||||||
|
stdlib_mkstemp.o \
|
||||||
|
stdlib_mktemp.o \
|
||||||
|
stdlib_malloc.o \
|
||||||
|
stdlib_realloc.o \
|
||||||
|
stdlib_resetmemstats.o \
|
||||||
|
stdlib_system.o \
|
||||||
|
systeminfo_sysinfo.o \
|
||||||
|
termios_cfgetispeed.o \
|
||||||
|
termios_cfgetospeed.o \
|
||||||
|
termios_cfmakeraw.o \
|
||||||
|
termios_cfsetispeed.o \
|
||||||
|
termios_cfsetospeed.o \
|
||||||
|
termios_console_fdhookentry.o \
|
||||||
|
termios_tcdrain.o \
|
||||||
|
termios_tcflow.o \
|
||||||
|
termios_tcflush.o \
|
||||||
|
termios_tcgetattr.o \
|
||||||
|
termios_tcsendbreak.o \
|
||||||
|
termios_tcsetattr.o \
|
||||||
|
timeb_ftime.o \
|
||||||
|
uio_readv.o \
|
||||||
|
uio_writev.o \
|
||||||
|
unistd_access.o \
|
||||||
|
unistd_chdir.o \
|
||||||
|
unistd_chdir_exit.o \
|
||||||
|
unistd_chown.o \
|
||||||
|
unistd_common_pathconf.o \
|
||||||
|
unistd_def_path.o \
|
||||||
|
unistd_def_path_delimiter.o \
|
||||||
|
unistd_environ.o \
|
||||||
|
unistd_execl.o \
|
||||||
|
unistd_execle.o \
|
||||||
|
unistd_execlp.o \
|
||||||
|
unistd_execv.o \
|
||||||
|
unistd_execve.o \
|
||||||
|
unistd_execve_env_exit.o \
|
||||||
|
unistd_execve_env_init.o \
|
||||||
|
unistd_execve_exit.o \
|
||||||
|
unistd_execvp.o \
|
||||||
|
unistd_fpathconf.o \
|
||||||
|
unistd_getcwd.o \
|
||||||
|
unistd_lchown.o \
|
||||||
|
unistd_link.o \
|
||||||
|
unistd_lockf.o \
|
||||||
|
unistd_pathconf.o \
|
||||||
|
unistd_readlink.o \
|
||||||
|
unistd_realpath.o \
|
||||||
|
unistd_restorepathname.o \
|
||||||
|
unistd_setcurrentpath.o \
|
||||||
|
unistd_strip_double_slash.o \
|
||||||
|
unistd_symlink.o \
|
||||||
|
unistd_translatea2u.o \
|
||||||
|
unistd_translaterel.o \
|
||||||
|
unistd_translateu2a.o \
|
||||||
|
unistd_truncate.o \
|
||||||
|
unistd_ttyname.o \
|
||||||
|
unistd_ttyname_r.o \
|
||||||
|
unistd_unix_path_semantics.o \
|
||||||
|
unistd_unlink.o \
|
||||||
|
unistd_wildcard_expand.o \
|
||||||
|
utime_utime.o
|
||||||
|
|
||||||
|
UNIX_LIB_OS3 :=
|
||||||
|
|
||||||
|
UNIX_LIB_OS4 := \
|
||||||
|
stdlib_dlopen.o \
|
||||||
|
termios_openserial.o \
|
||||||
|
unistd_unlink_retries.o
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
#define VERSION 1
|
#define VERSION 1
|
||||||
#define REVISION 215
|
#define REVISION 213
|
||||||
#define DATE "26.6.2017"
|
#define DATE "4.12.2016"
|
||||||
#define VERS "m.lib 1.215"
|
#define VERS "m.lib 1.213"
|
||||||
#define VSTRING "m.lib 1.215 (26.6.2017)\r\n"
|
#define VSTRING "m.lib 1.213 (4.12.2016)\r\n"
|
||||||
#define VERSTAG "\0$VER: m.lib 1.215 (26.6.2017)"
|
#define VERSTAG "\0$VER: m.lib 1.213 (4.12.2016)"
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
215
|
213
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#define VERSION 1
|
#define VERSION 1
|
||||||
#define REVISION 214
|
#define REVISION 213
|
||||||
#define DATE "27.4.2017"
|
#define DATE "4.12.2016"
|
||||||
#define VERS "m881.lib 1.214"
|
#define VERS "m881.lib 1.213"
|
||||||
#define VSTRING "m881.lib 1.214 (27.4.2017)\r\n"
|
#define VSTRING "m881.lib 1.213 (4.12.2016)\r\n"
|
||||||
#define VERSTAG "\0$VER: m881.lib 1.214 (27.4.2017)"
|
#define VERSTAG "\0$VER: m881.lib 1.213 (4.12.2016)"
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
214
|
213
|
||||||
|
|||||||
@@ -93,13 +93,6 @@
|
|||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
||||||
#ifndef IsMinListEmpty
|
|
||||||
#define IsMinListEmpty(ml) \
|
|
||||||
((struct MinList *)((ml)->mlh_TailPred) == (struct MinList *)(ml))
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/****************************************************************************/
|
|
||||||
|
|
||||||
#ifndef AMIGA_COMPILER_H
|
#ifndef AMIGA_COMPILER_H
|
||||||
|
|
||||||
#ifdef __SASC
|
#ifdef __SASC
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#define VERSION 1
|
#define VERSION 1
|
||||||
#define REVISION 215
|
#define REVISION 213
|
||||||
#define DATE "26.6.2017"
|
#define DATE "4.12.2016"
|
||||||
#define VERS "net.lib 1.215"
|
#define VERS "net.lib 1.213"
|
||||||
#define VSTRING "net.lib 1.215 (26.6.2017)\r\n"
|
#define VSTRING "net.lib 1.213 (4.12.2016)\r\n"
|
||||||
#define VERSTAG "\0$VER: net.lib 1.215 (26.6.2017)"
|
#define VERSTAG "\0$VER: net.lib 1.213 (4.12.2016)"
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
215
|
213
|
||||||
|
|||||||
@@ -136,7 +136,7 @@ profil(unsigned short *buffer, size_t bufSize, size_t offset, unsigned int scale
|
|||||||
ProfileData.CounterStart = GetCounterStart();
|
ProfileData.CounterStart = GetCounterStart();
|
||||||
|
|
||||||
/* Set interrupt vector */
|
/* Set interrupt vector */
|
||||||
CounterInt.is_Code = (void (*)(void))CounterIntFn;
|
CounterInt.is_Code = (void (*)())CounterIntFn;
|
||||||
CounterInt.is_Data = &ProfileData;
|
CounterInt.is_Data = &ProfileData;
|
||||||
IPM->SetInterruptVector(1, &CounterInt);
|
IPM->SetInterruptVector(1, &CounterInt);
|
||||||
|
|
||||||
|
|||||||
@@ -327,7 +327,7 @@ remove_locked_region_node(struct FileLockSemaphore * fls,struct fd * fd,LONG sta
|
|||||||
/* Check if there are any locked regions left.
|
/* Check if there are any locked regions left.
|
||||||
* If not, mark the entire file as unlocked.
|
* If not, mark the entire file as unlocked.
|
||||||
*/
|
*/
|
||||||
if(IsMinListEmpty(&which_lock->fln_LockedRegionList))
|
if(IsListEmpty((struct List *)&which_lock->fln_LockedRegionList))
|
||||||
{
|
{
|
||||||
SHOWMSG("no more regions are locked; removing the file lock node");
|
SHOWMSG("no more regions are locked; removing the file lock node");
|
||||||
|
|
||||||
@@ -705,7 +705,7 @@ cleanup_locked_records(struct fd * fd)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(IsMinListEmpty(&which_lock->fln_LockedRegionList))
|
if(IsListEmpty((struct List *)&which_lock->fln_LockedRegionList))
|
||||||
{
|
{
|
||||||
SHOWMSG("no more regions are locked; removing the file lock node");
|
SHOWMSG("no more regions are locked; removing the file lock node");
|
||||||
|
|
||||||
|
|||||||
@@ -94,7 +94,7 @@ alloca_cleanup(const char * file,int line)
|
|||||||
NewList((struct List *)&alloca_memory_list);
|
NewList((struct List *)&alloca_memory_list);
|
||||||
|
|
||||||
/* Is this worth cleaning up? */
|
/* Is this worth cleaning up? */
|
||||||
if(NOT IsMinListEmpty(&alloca_memory_list))
|
if(NOT IsListEmpty((struct List *)&alloca_memory_list))
|
||||||
{
|
{
|
||||||
struct MemoryContextNode * mcn_prev;
|
struct MemoryContextNode * mcn_prev;
|
||||||
struct MemoryContextNode * mcn;
|
struct MemoryContextNode * mcn;
|
||||||
@@ -120,7 +120,7 @@ alloca_cleanup(const char * file,int line)
|
|||||||
|
|
||||||
/* Drop the cleanup callback if there's nothing to be cleaned
|
/* Drop the cleanup callback if there's nothing to be cleaned
|
||||||
up any more. */
|
up any more. */
|
||||||
if(IsMinListEmpty(&alloca_memory_list))
|
if(IsListEmpty((struct List *)&alloca_memory_list))
|
||||||
__alloca_cleanup = NULL;
|
__alloca_cleanup = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -59,25 +59,13 @@ __calloc(size_t num_elements,size_t element_size,const char * file,int line)
|
|||||||
}
|
}
|
||||||
#endif /* __MEM_DEBUG */
|
#endif /* __MEM_DEBUG */
|
||||||
|
|
||||||
/* This might overflow. */
|
|
||||||
total_size = num_elements * element_size;
|
total_size = num_elements * element_size;
|
||||||
|
|
||||||
/* No arithmetic overflow? */
|
|
||||||
if(total_size >= num_elements)
|
|
||||||
{
|
|
||||||
result = __malloc(total_size,file,line);
|
result = __malloc(total_size,file,line);
|
||||||
if(result != NULL)
|
if(result != NULL)
|
||||||
memset(result,0,total_size);
|
memset(result,0,total_size);
|
||||||
else
|
else
|
||||||
SHOWMSG("memory allocation failure");
|
SHOWMSG("memory allocation failure");
|
||||||
}
|
|
||||||
/* Multiplying the number and size of elements overflows
|
|
||||||
* the size_t range.
|
|
||||||
*/
|
|
||||||
else
|
|
||||||
{
|
|
||||||
D(("calloc(num_elements=%ld, element_size=%ld) overflow"));
|
|
||||||
}
|
|
||||||
|
|
||||||
return(result);
|
return(result);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -75,15 +75,14 @@ struct MinList NOCOMMON __memory_list;
|
|||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
||||||
void *
|
void *
|
||||||
__allocate_memory(size_t size,BOOL never_free,const char *debug_file_name UNUSED,int debug_line_number UNUSED)
|
__allocate_memory(size_t size,BOOL never_free,const char * UNUSED debug_file_name,int UNUSED debug_line_number)
|
||||||
{
|
{
|
||||||
struct MemoryNode * mn;
|
struct MemoryNode * mn;
|
||||||
size_t allocation_size;
|
size_t allocation_size;
|
||||||
void * result = NULL;
|
void * result = NULL;
|
||||||
|
|
||||||
#if defined(UNIX_PATH_SEMANTICS)
|
|
||||||
size_t original_size;
|
size_t original_size;
|
||||||
|
|
||||||
|
#if defined(UNIX_PATH_SEMANTICS)
|
||||||
{
|
{
|
||||||
original_size = size;
|
original_size = size;
|
||||||
|
|
||||||
@@ -418,7 +417,7 @@ STDLIB_DESTRUCTOR(stdlib_memory_exit)
|
|||||||
|
|
||||||
if(__memory_list.mlh_Head != NULL)
|
if(__memory_list.mlh_Head != NULL)
|
||||||
{
|
{
|
||||||
while(NOT IsMinListEmpty(&__memory_list))
|
while(NOT IsListEmpty((struct List *)&__memory_list))
|
||||||
{
|
{
|
||||||
((struct MemoryNode *)__memory_list.mlh_Head)->mn_AlreadyFree = FALSE;
|
((struct MemoryNode *)__memory_list.mlh_Head)->mn_AlreadyFree = FALSE;
|
||||||
|
|
||||||
@@ -454,12 +453,12 @@ STDLIB_DESTRUCTOR(stdlib_memory_exit)
|
|||||||
{
|
{
|
||||||
#ifdef __MEM_DEBUG
|
#ifdef __MEM_DEBUG
|
||||||
{
|
{
|
||||||
while(NOT IsMinListEmpty(&__memory_list))
|
while(NOT IsListEmpty((struct List *)&__memory_list))
|
||||||
__free_memory_node((struct MemoryNode *)__memory_list.mlh_Head,__FILE__,__LINE__);
|
__free_memory_node((struct MemoryNode *)__memory_list.mlh_Head,__FILE__,__LINE__);
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
{
|
{
|
||||||
while(NOT IsMinListEmpty(&__memory_list))
|
while(NOT IsListEmpty((struct List *)&__memory_list))
|
||||||
__free_memory_node((struct MemoryNode *)__memory_list.mlh_Head,NULL,0);
|
__free_memory_node((struct MemoryNode *)__memory_list.mlh_Head,NULL,0);
|
||||||
}
|
}
|
||||||
#endif /* __MEM_DEBUG */
|
#endif /* __MEM_DEBUG */
|
||||||
@@ -479,12 +478,12 @@ STDLIB_DESTRUCTOR(stdlib_memory_exit)
|
|||||||
{
|
{
|
||||||
#ifdef __MEM_DEBUG
|
#ifdef __MEM_DEBUG
|
||||||
{
|
{
|
||||||
while(NOT IsMinListEmpty(&__memory_list))
|
while(NOT IsListEmpty((struct List *)&__memory_list))
|
||||||
__free_memory_node((struct MemoryNode *)__memory_list.mlh_Head,__FILE__,__LINE__);
|
__free_memory_node((struct MemoryNode *)__memory_list.mlh_Head,__FILE__,__LINE__);
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
{
|
{
|
||||||
while(NOT IsMinListEmpty(&__memory_list))
|
while(NOT IsListEmpty((struct List *)&__memory_list))
|
||||||
__free_memory_node((struct MemoryNode *)__memory_list.mlh_Head,NULL,0);
|
__free_memory_node((struct MemoryNode *)__memory_list.mlh_Head,NULL,0);
|
||||||
}
|
}
|
||||||
#endif /* __MEM_DEBUG */
|
#endif /* __MEM_DEBUG */
|
||||||
|
|||||||
@@ -37,13 +37,9 @@
|
|||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
||||||
#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)
|
|
||||||
|
|
||||||
int
|
int
|
||||||
mbtowc(wchar_t *restrict pwc, const char *restrict s, size_t n)
|
mbtowc(wchar_t *pwc, const char *s, size_t n)
|
||||||
{
|
{
|
||||||
errno = EILSEQ;
|
/* ZZZ unimplemented */
|
||||||
return -1;
|
return(-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|||||||
@@ -41,7 +41,7 @@
|
|||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
||||||
static const char * error_table[ENOTSUP - EPERM + 1] =
|
static const char * error_table[EILSEQ - EPERM + 1] =
|
||||||
{
|
{
|
||||||
"Operation not permitted",
|
"Operation not permitted",
|
||||||
"No such file or directory",
|
"No such file or directory",
|
||||||
@@ -127,8 +127,7 @@ static const char * error_table[ENOTSUP - EPERM + 1] =
|
|||||||
"Identifier removed",
|
"Identifier removed",
|
||||||
"No message of the desired type.",
|
"No message of the desired type.",
|
||||||
"Value too large to be stored in data type.",
|
"Value too large to be stored in data type.",
|
||||||
"Encoding error detected",
|
"Encoding error detected"
|
||||||
"Not supported"
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
@@ -140,7 +139,7 @@ strerror_r(int number,char * buffer,size_t buffer_size)
|
|||||||
const char * str;
|
const char * str;
|
||||||
size_t len;
|
size_t len;
|
||||||
|
|
||||||
if(number < EPERM || number > ENOTSUP)
|
if(number < EPERM || number > EILSEQ)
|
||||||
{
|
{
|
||||||
__set_errno(EINVAL);
|
__set_errno(EINVAL);
|
||||||
goto out;
|
goto out;
|
||||||
|
|||||||
@@ -1,75 +0,0 @@
|
|||||||
/*
|
|
||||||
* $Id: string_strlen.c,v 1.4 2006-01-08 12:04:27 obarthel Exp $
|
|
||||||
*
|
|
||||||
* :ts=4
|
|
||||||
*
|
|
||||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
|
||||||
* Copyright (c) 2002-2015 by Olaf Barthel <obarthel (at) gmx.net>
|
|
||||||
* 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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef _STDLIB_NULL_POINTER_CHECK_H
|
|
||||||
#include "stdlib_null_pointer_check.h"
|
|
||||||
#endif /* _STDLIB_NULL_POINTER_CHECK_H */
|
|
||||||
|
|
||||||
/****************************************************************************/
|
|
||||||
|
|
||||||
#ifndef _STRING_HEADERS_H
|
|
||||||
#include "string_headers.h"
|
|
||||||
#endif /* _STRING_HEADERS_H */
|
|
||||||
|
|
||||||
/****************************************************************************/
|
|
||||||
|
|
||||||
size_t
|
|
||||||
strnlen(const char *s, size_t maxlen)
|
|
||||||
{
|
|
||||||
const char * start = s;
|
|
||||||
size_t result = 0;
|
|
||||||
|
|
||||||
assert( s != NULL );
|
|
||||||
|
|
||||||
#if defined(CHECK_FOR_NULL_POINTERS)
|
|
||||||
{
|
|
||||||
if(s == NULL)
|
|
||||||
{
|
|
||||||
__set_errno(EFAULT);
|
|
||||||
goto out;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif /* CHECK_FOR_NULL_POINTERS */
|
|
||||||
|
|
||||||
while((maxlen != 0) && ((*s) != '\0'))
|
|
||||||
{
|
|
||||||
s++;
|
|
||||||
maxlen--;
|
|
||||||
}
|
|
||||||
|
|
||||||
result = (size_t)(s - start);
|
|
||||||
|
|
||||||
out:
|
|
||||||
|
|
||||||
return(result);
|
|
||||||
}
|
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* $Id: time_mktime.c,v 1.11 2015-06-26 11:22:00 obarthel Exp $
|
* $Id: time_mktime.c,v 1.10 2006-01-08 12:04:27 obarthel Exp $
|
||||||
*
|
*
|
||||||
* :ts=4
|
* :ts=4
|
||||||
*
|
*
|
||||||
@@ -52,10 +52,9 @@ mktime(struct tm *tm)
|
|||||||
{
|
{
|
||||||
DECLARE_UTILITYBASE();
|
DECLARE_UTILITYBASE();
|
||||||
struct ClockData clock_data;
|
struct ClockData clock_data;
|
||||||
ULONG seconds;
|
ULONG seconds, delta;
|
||||||
time_t result = (time_t)-1;
|
time_t result = (time_t)-1;
|
||||||
LONG combined_seconds;
|
int max_month_days;
|
||||||
int month, year;
|
|
||||||
|
|
||||||
ENTER();
|
ENTER();
|
||||||
|
|
||||||
@@ -74,63 +73,116 @@ mktime(struct tm *tm)
|
|||||||
}
|
}
|
||||||
#endif /* CHECK_FOR_NULL_POINTERS */
|
#endif /* CHECK_FOR_NULL_POINTERS */
|
||||||
|
|
||||||
/* Normalize the year and month. */
|
/* The month must be valid. */
|
||||||
year = tm->tm_year + 1900;
|
if(tm->tm_mon < 0 || tm->tm_mon > 11)
|
||||||
month = tm->tm_mon + 1;
|
|
||||||
|
|
||||||
if(month < 0 || month > 12)
|
|
||||||
{
|
{
|
||||||
int y;
|
SHOWVALUE(tm->tm_mon);
|
||||||
|
SHOWMSG("invalid month");
|
||||||
y = month / 12;
|
goto out;
|
||||||
|
|
||||||
month -= y * 12;
|
|
||||||
year += y;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if(month < 1)
|
/* The day of the month must be valid. */
|
||||||
|
if(tm->tm_mday < 1 || tm->tm_mday > 31)
|
||||||
{
|
{
|
||||||
month += 12;
|
SHOWVALUE(tm->tm_mday);
|
||||||
year -= 1;
|
SHOWMSG("invalid day of month");
|
||||||
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* The year must be valid. Amiga time begins with January 1st, 1978. */
|
/* The year must be valid. */
|
||||||
if(year < 1978)
|
if(tm->tm_year < 78)
|
||||||
{
|
{
|
||||||
SHOWVALUE(year);
|
SHOWVALUE(tm->tm_year);
|
||||||
SHOWMSG("invalid year");
|
SHOWMSG("invalid year");
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Convert the first day of the month in the given year
|
/* Is this the month of February? */
|
||||||
into the corresponding number of seconds. */
|
if(tm->tm_mon == 1)
|
||||||
memset(&clock_data, 0, sizeof(clock_data));
|
|
||||||
|
|
||||||
clock_data.mday = 1;
|
|
||||||
clock_data.month = month;
|
|
||||||
clock_data.year = year;
|
|
||||||
|
|
||||||
seconds = Date2Amiga(&clock_data);
|
|
||||||
|
|
||||||
/* Put the combined number of seconds involved together,
|
|
||||||
covering the seconds/minutes/hours of the day as well
|
|
||||||
as the number of days of the month. This will be added
|
|
||||||
to the number of seconds for the date. */
|
|
||||||
combined_seconds = tm->tm_sec + 60 * (tm->tm_min + 60 * (tm->tm_hour + 24 * (tm->tm_mday-1)));
|
|
||||||
|
|
||||||
/* If the combined number of seconds is negative, adding it
|
|
||||||
* to the number of seconds for the date should not produce
|
|
||||||
* a negative value.
|
|
||||||
*/
|
|
||||||
if(combined_seconds < 0 && seconds < (ULONG)(-combined_seconds))
|
|
||||||
{
|
{
|
||||||
SHOWVALUE(seconds);
|
int year;
|
||||||
SHOWVALUE(combined_seconds);
|
|
||||||
SHOWMSG("invalid combined number of seconds");
|
/* We need to have the full year number for the
|
||||||
|
leap year calculation below. */
|
||||||
|
year = tm->tm_year + 1900;
|
||||||
|
|
||||||
|
/* Now for the famous leap year calculation rules... In
|
||||||
|
the given year, how many days are there in the month
|
||||||
|
of February? */
|
||||||
|
if((year % 4) != 0)
|
||||||
|
max_month_days = 28;
|
||||||
|
else if ((year % 400) == 0)
|
||||||
|
max_month_days = 29;
|
||||||
|
else if ((year % 100) == 0)
|
||||||
|
max_month_days = 28;
|
||||||
|
else
|
||||||
|
max_month_days = 29;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
static const char days_per_month[12] =
|
||||||
|
{
|
||||||
|
31, 0,31,
|
||||||
|
30,31,30,
|
||||||
|
31,31,30,
|
||||||
|
31,30,31
|
||||||
|
};
|
||||||
|
|
||||||
|
max_month_days = days_per_month[tm->tm_mon];
|
||||||
|
}
|
||||||
|
|
||||||
|
/* The day of the month must be valid. */
|
||||||
|
if(tm->tm_mday < 0 || tm->tm_mday > max_month_days)
|
||||||
|
{
|
||||||
|
SHOWVALUE(tm->tm_mday);
|
||||||
|
SHOWMSG("invalid day of month");
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
seconds += combined_seconds;
|
/* The hour must be valid. */
|
||||||
|
if(tm->tm_hour < 0 || tm->tm_hour > 23)
|
||||||
|
{
|
||||||
|
SHOWVALUE(tm->tm_hour);
|
||||||
|
SHOWMSG("invalid hour");
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* The minute must be valid. */
|
||||||
|
if(tm->tm_min < 0 || tm->tm_min > 59)
|
||||||
|
{
|
||||||
|
SHOWVALUE(tm->tm_min);
|
||||||
|
SHOWMSG("invalid minute");
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Note: the number of seconds can be larger than 59
|
||||||
|
in order to account for leap seconds. */
|
||||||
|
if(tm->tm_sec < 0 || tm->tm_sec > 60)
|
||||||
|
{
|
||||||
|
SHOWVALUE(tm->tm_sec);
|
||||||
|
SHOWMSG("invalid seconds");
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
|
||||||
|
clock_data.sec = (tm->tm_sec > 59) ? 59 : tm->tm_sec;
|
||||||
|
clock_data.min = tm->tm_min;
|
||||||
|
clock_data.hour = tm->tm_hour;
|
||||||
|
clock_data.mday = tm->tm_mday;
|
||||||
|
clock_data.month = tm->tm_mon + 1;
|
||||||
|
clock_data.year = tm->tm_year + 1900;
|
||||||
|
|
||||||
|
seconds = Date2Amiga(&clock_data) + (tm->tm_sec - 59);
|
||||||
|
|
||||||
|
/* The AmigaOS "epoch" starts with January 1st, 1978, which was
|
||||||
|
a Sunday. */
|
||||||
|
tm->tm_wday = (seconds / (24 * 60 * 60)) % 7;
|
||||||
|
|
||||||
|
clock_data.mday = 1;
|
||||||
|
clock_data.month = 1;
|
||||||
|
|
||||||
|
delta = Date2Amiga(&clock_data);
|
||||||
|
|
||||||
|
tm->tm_yday = (seconds - delta) / (24 * 60 * 60);
|
||||||
|
|
||||||
__locale_lock();
|
__locale_lock();
|
||||||
|
|
||||||
@@ -141,13 +193,10 @@ mktime(struct tm *tm)
|
|||||||
|
|
||||||
__locale_unlock();
|
__locale_unlock();
|
||||||
|
|
||||||
/* Adjust for the difference between the Unix and the
|
/* Finally, adjust for the difference between the Unix and the
|
||||||
AmigaOS epochs, which differ by 8 years. */
|
AmigaOS epochs, which differ by 8 years. */
|
||||||
result = seconds + UNIX_TIME_OFFSET;
|
result = seconds + UNIX_TIME_OFFSET;
|
||||||
|
|
||||||
/* Finally, normalize the provided time and date information. */
|
|
||||||
localtime_r(&result, tm);
|
|
||||||
|
|
||||||
out:
|
out:
|
||||||
|
|
||||||
RETURN(result);
|
RETURN(result);
|
||||||
|
|||||||
@@ -1,48 +0,0 @@
|
|||||||
/*
|
|
||||||
* $Id: $
|
|
||||||
*
|
|
||||||
* :ts=4
|
|
||||||
*
|
|
||||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
|
||||||
* Copyright (c) 2002-2017 by Olaf Barthel <obarthel (at) gmx.net>
|
|
||||||
* 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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef _TIME_HEADERS_H
|
|
||||||
#include "time_headers.h"
|
|
||||||
#endif /* _TIME_HEADERS_H */
|
|
||||||
|
|
||||||
#ifndef _LOCALE_HEADERS_H
|
|
||||||
#include "locale_headers.h"
|
|
||||||
#endif /* _LOCALE_HEADERS_H */
|
|
||||||
|
|
||||||
/****************************************************************************/
|
|
||||||
|
|
||||||
void
|
|
||||||
tzset(void)
|
|
||||||
{
|
|
||||||
/* For now, do nothing. */
|
|
||||||
}
|
|
||||||
@@ -69,7 +69,7 @@ CLIB_DESTRUCTOR(unistd_exit)
|
|||||||
|
|
||||||
PROFILE_OFF();
|
PROFILE_OFF();
|
||||||
|
|
||||||
if(__unlink_list.mlh_Head != NULL && NOT IsMinListEmpty(&__unlink_list))
|
if(__unlink_list.mlh_Head != NULL && NOT IsListEmpty((struct List *)&__unlink_list))
|
||||||
{
|
{
|
||||||
struct UnlinkNode * uln;
|
struct UnlinkNode * uln;
|
||||||
BPTR old_dir;
|
BPTR old_dir;
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* $Id: unistd_translateu2a.c,v 1.13 2015-06-26 11:22:00 obarthel Exp $
|
* $Id: unistd_translateu2a.c,v 1.12 2010-08-20 15:33:36 obarthel Exp $
|
||||||
*
|
*
|
||||||
* :ts=4
|
* :ts=4
|
||||||
*
|
*
|
||||||
@@ -477,10 +477,7 @@ __translate_unix_to_amiga_path_name(char const ** name_ptr,struct name_translati
|
|||||||
for(i = j = 0 ; i < len ; i++)
|
for(i = j = 0 ; i < len ; i++)
|
||||||
{
|
{
|
||||||
if(i < len - 3 && name[i] == '/' && name[i + 1] == '.' && name[i + 2] == '.' && name[i + 3] == '/')
|
if(i < len - 3 && name[i] == '/' && name[i + 1] == '.' && name[i + 2] == '.' && name[i + 3] == '/')
|
||||||
{
|
i += 2;
|
||||||
replace[j++] = '/';
|
|
||||||
i += 3;
|
|
||||||
}
|
|
||||||
|
|
||||||
replace[j++] = name[i];
|
replace[j++] = name[i];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#define VERSION 1
|
#define VERSION 1
|
||||||
#define REVISION 215
|
#define REVISION 213
|
||||||
#define DATE "26.6.2017"
|
#define DATE "4.12.2016"
|
||||||
#define VERS "unix.lib 1.215"
|
#define VERS "unix.lib 1.213"
|
||||||
#define VSTRING "unix.lib 1.215 (26.6.2017)\r\n"
|
#define VSTRING "unix.lib 1.213 (4.12.2016)\r\n"
|
||||||
#define VERSTAG "\0$VER: unix.lib 1.215 (26.6.2017)"
|
#define VERSTAG "\0$VER: unix.lib 1.213 (4.12.2016)"
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
215
|
213
|
||||||
|
|||||||
@@ -37,12 +37,9 @@
|
|||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
||||||
#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)
|
|
||||||
size_t
|
size_t
|
||||||
mbrlen(const char *restrict s, size_t n, mbstate_t *restrict ps)
|
mbrlen(wchar_t *pwc, const char * s, size_t n, mbstate_t *ps)
|
||||||
{
|
{
|
||||||
/* ZZZ unimplemented */
|
/* ZZZ unimplemented */
|
||||||
return(0);
|
return(0);
|
||||||
}
|
}
|
||||||
#endif /* __STDC_VERSION__ && __STDC_VERSION__ >= 199901L */
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,64 +0,0 @@
|
|||||||
/*
|
|
||||||
* $Id: wchar_mbrlen.c,v 1.3 2006-01-08 12:04:27 obarthel Exp $
|
|
||||||
*
|
|
||||||
* :ts=4
|
|
||||||
*
|
|
||||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
|
||||||
* Copyright (c) 2002-2015 by Olaf Barthel <obarthel (at) gmx.net>
|
|
||||||
* 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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef _WCHAR_HEADERS_H
|
|
||||||
#include "wchar_headers.h"
|
|
||||||
#endif /* _WCHAR_HEADERS_H */
|
|
||||||
|
|
||||||
/****************************************************************************/
|
|
||||||
|
|
||||||
/* Mostly non-working stub based on bionic */
|
|
||||||
|
|
||||||
#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)
|
|
||||||
size_t
|
|
||||||
mbrtowc(wchar_t *restrict pwc, const char *restrict s, size_t n, mbstate_t *restrict ps)
|
|
||||||
{
|
|
||||||
if (s == NULL)
|
|
||||||
{
|
|
||||||
s = "";
|
|
||||||
pwc = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (n == 0)
|
|
||||||
{
|
|
||||||
if (pwc)
|
|
||||||
*pwc = 0;
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (pwc)
|
|
||||||
*pwc = *s;
|
|
||||||
|
|
||||||
return (*s != 0);
|
|
||||||
}
|
|
||||||
#endif /* __STDC_VERSION__ && __STDC_VERSION__ >= 199901L */
|
|
||||||
@@ -40,5 +40,6 @@
|
|||||||
int
|
int
|
||||||
mbsinit(const mbstate_t *ps)
|
mbsinit(const mbstate_t *ps)
|
||||||
{
|
{
|
||||||
return !ps || !*(unsigned *)ps;
|
/* ZZZ unimplemented */
|
||||||
|
return(0);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -38,7 +38,7 @@
|
|||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
||||||
int
|
int
|
||||||
vswprintf(wchar_t *s, size_t maxlen, const wchar_t *format, va_list arg)
|
vswprintf(char *s, const wchar_t *format,va_list arg)
|
||||||
{
|
{
|
||||||
/* ZZZ unimplemented */
|
/* ZZZ unimplemented */
|
||||||
return(0);
|
return(0);
|
||||||
|
|||||||
@@ -35,13 +35,11 @@
|
|||||||
#include "wchar_headers.h"
|
#include "wchar_headers.h"
|
||||||
#endif /* _WCHAR_HEADERS_H */
|
#endif /* _WCHAR_HEADERS_H */
|
||||||
|
|
||||||
/* Implementation based on musl */
|
|
||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
||||||
wchar_t *
|
wchar_t *
|
||||||
wcscat(wchar_t *dest, const wchar_t *src)
|
wcscat(wchar_t *dest, const wchar_t *src)
|
||||||
{
|
{
|
||||||
wcscpy(dest + wcslen(dest), src);
|
/* ZZZ unimplemented */
|
||||||
return dest;
|
return(NULL);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,12 +37,9 @@
|
|||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
||||||
/* Implementation based on musl */
|
|
||||||
|
|
||||||
wchar_t *
|
wchar_t *
|
||||||
wcschr(const wchar_t *s, wchar_t c)
|
wcschr(const wchar_t *s, wchar_t c)
|
||||||
{
|
{
|
||||||
if (!c) return (wchar_t *)s + wcslen(s);
|
/* ZZZ unimplemented */
|
||||||
for (; *s && *s != c; s++);
|
return(NULL);
|
||||||
return *s ? (wchar_t *)s : 0;
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -40,6 +40,6 @@
|
|||||||
int
|
int
|
||||||
wcscmp(const wchar_t *s1, const wchar_t * s2)
|
wcscmp(const wchar_t *s1, const wchar_t * s2)
|
||||||
{
|
{
|
||||||
for (; *s1==*s2 && *s1 && *s2; s1++, s2++);
|
/* ZZZ unimplemented */
|
||||||
return *s1 - *s2;
|
return(0);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,45 +0,0 @@
|
|||||||
/*
|
|
||||||
* $Id: wchar_wscoll.c,v 1.3 2006-01-08 12:04:27 obarthel Exp $
|
|
||||||
*
|
|
||||||
* :ts=4
|
|
||||||
*
|
|
||||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
|
||||||
* Copyright (c) 2002-2015 by Olaf Barthel <obarthel (at) gmx.net>
|
|
||||||
* 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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef _WCHAR_HEADERS_H
|
|
||||||
#include "wchar_headers.h"
|
|
||||||
#endif /* _WCHAR_HEADERS_H */
|
|
||||||
|
|
||||||
/****************************************************************************/
|
|
||||||
|
|
||||||
int
|
|
||||||
wcscoll(const wchar_t *ws1, const wchar_t *ws2)
|
|
||||||
{
|
|
||||||
/* ZZZ unimplemented */
|
|
||||||
return(0);
|
|
||||||
}
|
|
||||||
@@ -40,7 +40,6 @@
|
|||||||
wchar_t *
|
wchar_t *
|
||||||
wcscpy(wchar_t *dest, const wchar_t *src)
|
wcscpy(wchar_t *dest, const wchar_t *src)
|
||||||
{
|
{
|
||||||
wchar_t *a = dest;
|
/* ZZZ unimplemented */
|
||||||
while ((*dest++ = *src++));
|
return(NULL);
|
||||||
return a;
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,50 +0,0 @@
|
|||||||
/*
|
|
||||||
* $Id: wchar_wcsspn.c,v 1.3 2006-01-08 12:04:27 obarthel Exp $
|
|
||||||
*
|
|
||||||
* :ts=4
|
|
||||||
*
|
|
||||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
|
||||||
* Copyright (c) 2002-2015 by Olaf Barthel <obarthel (at) gmx.net>
|
|
||||||
* 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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef _WCHAR_HEADERS_H
|
|
||||||
#include "wchar_headers.h"
|
|
||||||
#endif /* _WCHAR_HEADERS_H */
|
|
||||||
|
|
||||||
/****************************************************************************/
|
|
||||||
|
|
||||||
/* Implementation based on musl */
|
|
||||||
|
|
||||||
size_t
|
|
||||||
wcscspn(const wchar_t *s, const wchar_t *c)
|
|
||||||
{
|
|
||||||
const wchar_t *a;
|
|
||||||
if (!c[0]) return wcslen(s);
|
|
||||||
if (!c[1]) return (s=wcschr(a=s, *c)) ? (size_t)(s-a) : wcslen(a);
|
|
||||||
for (a=s; *s && !wcschr(c, *s); s++);
|
|
||||||
return s-a;
|
|
||||||
}
|
|
||||||
@@ -37,12 +37,9 @@
|
|||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
||||||
/* Implementation based on musl */
|
|
||||||
|
|
||||||
size_t
|
size_t
|
||||||
wcslen(const wchar_t *s)
|
wcslen(const wchar_t *s)
|
||||||
{
|
{
|
||||||
const wchar_t *a;
|
/* ZZZ unimplemented */
|
||||||
for (a=s; *s; s++);
|
return(0);
|
||||||
return s-a;
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,14 +37,9 @@
|
|||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
||||||
/* Implementation based on musl */
|
|
||||||
|
|
||||||
wchar_t *
|
wchar_t *
|
||||||
wcsncat(wchar_t *dest, const wchar_t *src, size_t n)
|
wcsncat(wchar_t *dest, const wchar_t *src, size_t n)
|
||||||
{
|
{
|
||||||
wchar_t *a = dest;
|
/* ZZZ unimplemented */
|
||||||
dest += wcslen(dest);
|
return(NULL);
|
||||||
while (n && *src) n--, *dest++ = *src++;
|
|
||||||
*dest++ = 0;
|
|
||||||
return a;
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,11 +37,9 @@
|
|||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
||||||
/* Implementation based on musl */
|
|
||||||
|
|
||||||
int
|
int
|
||||||
wcsncmp(const wchar_t *s1, const wchar_t *s2, size_t n)
|
wcsncmp(const wchar_t *s1, const wchar_t *s2, size_t n)
|
||||||
{
|
{
|
||||||
for (; n && *s1==*s2 && *s1 && *s2; n--, s1++, s2++);
|
/* ZZZ unimplemented */
|
||||||
return n ? *s1 - *s2 : 0;
|
return(0);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,13 +37,9 @@
|
|||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
||||||
/* Implementation based on musl */
|
|
||||||
|
|
||||||
wchar_t *
|
wchar_t *
|
||||||
wcsncpy(wchar_t *dest, const wchar_t *src, size_t n)
|
wcsncpy(wchar_t *dest, const wchar_t *src, size_t n)
|
||||||
{
|
{
|
||||||
wchar_t *a = dest;
|
/* ZZZ unimplemented */
|
||||||
while (n && *src) n--, *dest++ = *src++;
|
return(NULL);
|
||||||
wmemset(dest, 0, n);
|
|
||||||
return a;
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,7 +37,7 @@
|
|||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
||||||
wchar_t *
|
wchar_t
|
||||||
wcspbrk(const wchar_t *s, const wchar_t *set)
|
wcspbrk(const wchar_t *s, const wchar_t *set)
|
||||||
{
|
{
|
||||||
/* ZZZ unimplemented */
|
/* ZZZ unimplemented */
|
||||||
|
|||||||
@@ -1,45 +0,0 @@
|
|||||||
/*
|
|
||||||
* $Id: wchar_wmemchr.c,v 1.3 2006-01-08 12:04:27 obarthel Exp $
|
|
||||||
*
|
|
||||||
* :ts=4
|
|
||||||
*
|
|
||||||
* Portable ISO 'C' (1994) runtime library for the Amiga computer
|
|
||||||
* Copyright (c) 2002-2015 by Olaf Barthel <obarthel (at) gmx.net>
|
|
||||||
* 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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef _WCHAR_HEADERS_H
|
|
||||||
#include "wchar_headers.h"
|
|
||||||
#endif /* _WCHAR_HEADERS_H */
|
|
||||||
|
|
||||||
/****************************************************************************/
|
|
||||||
|
|
||||||
int
|
|
||||||
wctob(wint_t c)
|
|
||||||
{
|
|
||||||
if (c < 128U) return c;
|
|
||||||
return EOF;
|
|
||||||
}
|
|
||||||
@@ -37,11 +37,9 @@
|
|||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
||||||
/* Implementation based on musl */
|
|
||||||
|
|
||||||
wchar_t *
|
wchar_t *
|
||||||
wmemchr(const wchar_t *ptr, wchar_t val, size_t len)
|
wmemchr(const wchar_t *ptr, wchar_t val, size_t len)
|
||||||
{
|
{
|
||||||
for (; len && *ptr != val; len--, ptr++);
|
/* ZZZ unimplemented */
|
||||||
return len ? (wchar_t *)ptr : 0;
|
return(NULL);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,11 +37,9 @@
|
|||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
||||||
/* Implementation based on musl */
|
|
||||||
|
|
||||||
int
|
int
|
||||||
wmemcmp(const wchar_t *ptr1, const wchar_t *ptr2, size_t len)
|
wmemcmp(const wchar_t *ptr1, const wchar_t *ptr2, size_t len)
|
||||||
{
|
{
|
||||||
for (; len && *ptr1==*ptr2; len--, ptr1++, ptr2++);
|
/* ZZZ unimplemented */
|
||||||
return len ? *ptr1-*ptr2 : 0;
|
return(0);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,12 +37,9 @@
|
|||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
||||||
/* Implementation based on musl */
|
|
||||||
|
|
||||||
wchar_t *
|
wchar_t *
|
||||||
wmemcpy(wchar_t *dest, const wchar_t *src, size_t len)
|
wmemcpy(wchar_t *dest, const wchar_t *src, size_t len)
|
||||||
{
|
{
|
||||||
wchar_t *a = dest;
|
/* ZZZ unimplemented */
|
||||||
while (len--) *dest++ = *src++;
|
return(NULL);
|
||||||
return a;
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,15 +37,9 @@
|
|||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
||||||
/* Implementation based on musl */
|
|
||||||
|
|
||||||
wchar_t *
|
wchar_t *
|
||||||
wmemmove(wchar_t *dest, const wchar_t * src, size_t len)
|
wmemmove(wchar_t *dest, const wchar_t * src, size_t len)
|
||||||
{
|
{
|
||||||
wchar_t *d0 = dest;
|
/* ZZZ unimplemented */
|
||||||
if ((size_t)(dest-src) < len)
|
return(NULL);
|
||||||
while (len--) dest[len] = src[len];
|
|
||||||
else
|
|
||||||
while (len--) *dest++ = *src++;
|
|
||||||
return d0;
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,12 +37,9 @@
|
|||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
||||||
/* Implementation based on musl */
|
|
||||||
|
|
||||||
wchar_t *
|
wchar_t *
|
||||||
wmemset(wchar_t *ptr, int val, size_t len)
|
wmemset(wchar_t *ptr, int val, size_t len)
|
||||||
{
|
{
|
||||||
wchar_t *ret = ptr;
|
/* ZZZ unimplemented */
|
||||||
while (len--) *ptr++ = val;
|
return(NULL);
|
||||||
return ret;
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,10 +37,9 @@
|
|||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
||||||
/* Implementation based on musl */
|
|
||||||
|
|
||||||
int
|
int
|
||||||
iswalnum(wint_t c)
|
iswalnum(wint_t c)
|
||||||
{
|
{
|
||||||
return iswdigit(c) || iswalpha(c);
|
/* ZZZ unimplemented */
|
||||||
|
return(0);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -35,12 +35,11 @@
|
|||||||
#include <wctype.h>
|
#include <wctype.h>
|
||||||
#endif /* _WCTYPE_HEADERS_H */
|
#endif /* _WCTYPE_HEADERS_H */
|
||||||
|
|
||||||
#include <ctype.h>
|
|
||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
||||||
int
|
int
|
||||||
iswalpha(wint_t c)
|
iswalpha(wint_t c)
|
||||||
{
|
{
|
||||||
return isalpha(c);
|
/* ZZZ unimplemented */
|
||||||
|
return(0);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -35,14 +35,11 @@
|
|||||||
#include <wctype.h>
|
#include <wctype.h>
|
||||||
#endif /* _WCTYPE_HEADERS_H */
|
#endif /* _WCTYPE_HEADERS_H */
|
||||||
|
|
||||||
#include <ctype.h>
|
|
||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
||||||
/* Implementation based on musl */
|
|
||||||
|
|
||||||
int
|
int
|
||||||
iswblank(wint_t c)
|
iswblank(wint_t c)
|
||||||
{
|
{
|
||||||
return isblank(c);
|
/* ZZZ unimplemented */
|
||||||
|
return(0);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -35,12 +35,11 @@
|
|||||||
#include <wctype.h>
|
#include <wctype.h>
|
||||||
#endif /* _WCTYPE_HEADERS_H */
|
#endif /* _WCTYPE_HEADERS_H */
|
||||||
|
|
||||||
#include <ctype.h>
|
|
||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
||||||
int
|
int
|
||||||
iswcntrl(wint_t c)
|
iswcntrl(wint_t c)
|
||||||
{
|
{
|
||||||
return iscntrl(c);
|
/* ZZZ unimplemented */
|
||||||
|
return(0);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -35,12 +35,11 @@
|
|||||||
#include <wctype.h>
|
#include <wctype.h>
|
||||||
#endif /* _WCTYPE_HEADERS_H */
|
#endif /* _WCTYPE_HEADERS_H */
|
||||||
|
|
||||||
#include <ctype.h>
|
|
||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
||||||
int
|
int
|
||||||
iswdigit(wint_t c)
|
iswdigit(wint_t c)
|
||||||
{
|
{
|
||||||
return isdigit(c);
|
/* ZZZ unimplemented */
|
||||||
|
return(0);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -35,12 +35,11 @@
|
|||||||
#include <wctype.h>
|
#include <wctype.h>
|
||||||
#endif /* _WCTYPE_HEADERS_H */
|
#endif /* _WCTYPE_HEADERS_H */
|
||||||
|
|
||||||
#include <ctype.h>
|
|
||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
||||||
int
|
int
|
||||||
iswgraph(wint_t c)
|
iswgraph(wint_t c)
|
||||||
{
|
{
|
||||||
return isgraph(c);
|
/* ZZZ unimplemented */
|
||||||
|
return(0);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -35,12 +35,11 @@
|
|||||||
#include <wctype.h>
|
#include <wctype.h>
|
||||||
#endif /* _WCTYPE_HEADERS_H */
|
#endif /* _WCTYPE_HEADERS_H */
|
||||||
|
|
||||||
#include <ctype.h>
|
|
||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
||||||
int
|
int
|
||||||
iswlower(wint_t c)
|
iswlower(wint_t c)
|
||||||
{
|
{
|
||||||
return islower(c);
|
/* ZZZ unimplemented */
|
||||||
|
return(0);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -35,12 +35,11 @@
|
|||||||
#include <wctype.h>
|
#include <wctype.h>
|
||||||
#endif /* _WCTYPE_HEADERS_H */
|
#endif /* _WCTYPE_HEADERS_H */
|
||||||
|
|
||||||
#include <ctype.h>
|
|
||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
||||||
int
|
int
|
||||||
iswpunct(wint_t c)
|
iswpunc(wint_t c)
|
||||||
{
|
{
|
||||||
return ispunct(c);
|
/* ZZZ unimplemented */
|
||||||
|
return(0);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -35,12 +35,11 @@
|
|||||||
#include <wctype.h>
|
#include <wctype.h>
|
||||||
#endif /* _WCTYPE_HEADERS_H */
|
#endif /* _WCTYPE_HEADERS_H */
|
||||||
|
|
||||||
#include <ctype.h>
|
|
||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
||||||
int
|
int
|
||||||
iswspace(wint_t c)
|
iswspace(wint_t c)
|
||||||
{
|
{
|
||||||
return isspace(c);
|
/* ZZZ unimplemented */
|
||||||
|
return(0);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -35,12 +35,11 @@
|
|||||||
#include <wctype.h>
|
#include <wctype.h>
|
||||||
#endif /* _WCTYPE_HEADERS_H */
|
#endif /* _WCTYPE_HEADERS_H */
|
||||||
|
|
||||||
#include <ctype.h>
|
|
||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
||||||
int
|
int
|
||||||
iswupper(wint_t c)
|
iswupper(wint_t c)
|
||||||
{
|
{
|
||||||
return isupper(c);
|
/* ZZZ unimplemented */
|
||||||
|
return(0);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -35,12 +35,11 @@
|
|||||||
#include <wctype.h>
|
#include <wctype.h>
|
||||||
#endif /* _WCTYPE_HEADERS_H */
|
#endif /* _WCTYPE_HEADERS_H */
|
||||||
|
|
||||||
#include <ctype.h>
|
|
||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
||||||
int
|
int
|
||||||
iswxdigit(wint_t c)
|
iswxdigit(wint_t c)
|
||||||
{
|
{
|
||||||
return isxdigit(c);
|
/* ZZZ unimplemented */
|
||||||
|
return(0);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user