Search
lxdream.org :: lxdream/test/lib-arm/newlib-1.8.2-aica.patch
lxdream 0.9.1
released Jun 29
Download Now
filename test/lib-arm/newlib-1.8.2-aica.patch
changeset 831:677a887f3e06
author nkeynes
date Mon Oct 20 06:19:07 2008 +0000 (15 years ago)
permissions -rw-r--r--
last change Remove run button disabling, instead print an error when attempting to run in an unrunnable situation and stop.
file annotate diff log raw
nkeynes@831
     1
diff -urN newlib-1.8.2/config.sub newlib-1.8.2-aica/config.sub
nkeynes@831
     2
--- newlib-1.8.2/config.sub	2008-08-15 12:02:09.000000000 +1000
nkeynes@831
     3
+++ newlib-1.8.2-aica/config.sub	2008-08-13 11:59:17.000000000 +1000
nkeynes@831
     4
@@ -956,7 +956,7 @@
nkeynes@831
     5
 	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
nkeynes@831
     6
 	      | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
nkeynes@831
     7
 	      | -interix* | -uwin* | -rhapsody* | -openstep* | -oskit* \
nkeynes@831
     8
-		  | -dreamcast* )
nkeynes@831
     9
+		  | -dreamcast* | -aica* )
nkeynes@831
    10
 	# Remember, each alternative MUST END IN *, to match a version number.
nkeynes@831
    11
 		;;
nkeynes@831
    12
 	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
nkeynes@831
    13
diff -urN newlib-1.8.2/configure.in newlib-1.8.2-aica/configure.in
nkeynes@831
    14
--- newlib-1.8.2/configure.in	2008-08-15 12:02:09.000000000 +1000
nkeynes@831
    15
+++ newlib-1.8.2-aica/configure.in	2008-08-13 11:58:57.000000000 +1000
nkeynes@831
    16
@@ -606,6 +606,9 @@
nkeynes@831
    17
 	   target_configdirs="${target_configdirs} target-bsp target-cygmon"
nkeynes@831
    18
     fi
nkeynes@831
    19
     ;;
nkeynes@831
    20
+  arm-*-aica*)
nkeynes@831
    21
+    noconfigdirs="$noconfigdirs target-libgloss"
nkeynes@831
    22
+    ;;
nkeynes@831
    23
   arm-*-oabi*)
nkeynes@831
    24
     noconfigdirs="$noconfigdirs target-libgloss"
nkeynes@831
    25
     ;;
nkeynes@831
    26
diff -urN newlib-1.8.2/newlib/configure.host newlib-1.8.2-aica/newlib/configure.host
nkeynes@831
    27
--- newlib-1.8.2/newlib/configure.host	2008-08-15 12:02:09.000000000 +1000
nkeynes@831
    28
+++ newlib-1.8.2-aica/newlib/configure.host	2008-08-13 20:01:25.000000000 +1000
nkeynes@831
    29
@@ -194,6 +194,10 @@
nkeynes@831
    30
   *-*-dc* | *-*-dreamcast*)
nkeynes@831
    31
 	sys_dir=dreamcast
nkeynes@831
    32
 	;;
nkeynes@831
    33
+  *-*-aica*)
nkeynes@831
    34
+	sys_dir=aica
nkeynes@831
    35
+	newlib_cflags="${newlib_cflags} -mcpu=arm7tdmi"
nkeynes@831
    36
+	;;
nkeynes@831
    37
   *-*-netware*)
nkeynes@831
    38
 	signal_dir=
nkeynes@831
    39
 	sys_dir=netware
nkeynes@831
    40
diff -urN newlib-1.8.2/newlib/libc/sys/aica/Makefile.am newlib-1.8.2-aica/newlib/libc/sys/aica/Makefile.am
nkeynes@831
    41
--- newlib-1.8.2/newlib/libc/sys/aica/Makefile.am	1970-01-01 10:00:00.000000000 +1000
nkeynes@831
    42
+++ newlib-1.8.2-aica/newlib/libc/sys/aica/Makefile.am	2008-08-13 11:54:44.000000000 +1000
nkeynes@831
    43
@@ -0,0 +1,17 @@
nkeynes@831
    44
+## Process this file with automake to generate Makefile.in
nkeynes@831
    45
+
nkeynes@831
    46
+AUTOMAKE_OPTIONS = cygnus
nkeynes@831
    47
+
nkeynes@831
    48
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
nkeynes@831
    49
+
nkeynes@831
    50
+noinst_LIBRARIES = lib.a
nkeynes@831
    51
+
nkeynes@831
    52
+lib_a_SOURCES = absolute_vfs.c chdir.c chmod.c close.c creat.c dcload_vfs.c dcload.S \
nkeynes@831
    53
+  exit.c fcntl.c fstat.c getpid.c gettimeofday.c ioctl.c isatty.c kill.c \
nkeynes@831
    54
+  link.c lseek.c mkdir.c open.c read.c rmdir.c sbrk.c scif.c stat.c \
nkeynes@831
    55
+  stdio_vfs.c times.c unlink.c vfs.c write.c dup.c
nkeynes@831
    56
+
nkeynes@831
    57
+all: crt0.o
nkeynes@831
    58
+
nkeynes@831
    59
+ACLOCAL_AMFLAGS = -I ../../..
nkeynes@831
    60
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
nkeynes@831
    61
diff -urN newlib-1.8.2/newlib/libc/sys/aica/Makefile.in newlib-1.8.2-aica/newlib/libc/sys/aica/Makefile.in
nkeynes@831
    62
--- newlib-1.8.2/newlib/libc/sys/aica/Makefile.in	1970-01-01 10:00:00.000000000 +1000
nkeynes@831
    63
+++ newlib-1.8.2-aica/newlib/libc/sys/aica/Makefile.in	2008-08-13 11:54:44.000000000 +1000
nkeynes@831
    64
@@ -0,0 +1,322 @@
nkeynes@831
    65
+# Makefile.in generated automatically by automake 1.4 from Makefile.am
nkeynes@831
    66
+
nkeynes@831
    67
+# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
nkeynes@831
    68
+# This Makefile.in is free software; the Free Software Foundation
nkeynes@831
    69
+# gives unlimited permission to copy and/or distribute it,
nkeynes@831
    70
+# with or without modifications, as long as this notice is preserved.
nkeynes@831
    71
+
nkeynes@831
    72
+# This program is distributed in the hope that it will be useful,
nkeynes@831
    73
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
nkeynes@831
    74
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
nkeynes@831
    75
+# PARTICULAR PURPOSE.
nkeynes@831
    76
+
nkeynes@831
    77
+
nkeynes@831
    78
+SHELL = @SHELL@
nkeynes@831
    79
+
nkeynes@831
    80
+srcdir = @srcdir@
nkeynes@831
    81
+top_srcdir = @top_srcdir@
nkeynes@831
    82
+VPATH = @srcdir@
nkeynes@831
    83
+prefix = @prefix@
nkeynes@831
    84
+exec_prefix = @exec_prefix@
nkeynes@831
    85
+
nkeynes@831
    86
+bindir = @bindir@
nkeynes@831
    87
+sbindir = @sbindir@
nkeynes@831
    88
+libexecdir = @libexecdir@
nkeynes@831
    89
+datadir = @datadir@
nkeynes@831
    90
+sysconfdir = @sysconfdir@
nkeynes@831
    91
+sharedstatedir = @sharedstatedir@
nkeynes@831
    92
+localstatedir = @localstatedir@
nkeynes@831
    93
+libdir = @libdir@
nkeynes@831
    94
+infodir = @infodir@
nkeynes@831
    95
+mandir = @mandir@
nkeynes@831
    96
+includedir = @includedir@
nkeynes@831
    97
+oldincludedir = /usr/include
nkeynes@831
    98
+
nkeynes@831
    99
+DESTDIR =
nkeynes@831
   100
+
nkeynes@831
   101
+pkgdatadir = $(datadir)/@PACKAGE@
nkeynes@831
   102
+pkglibdir = $(libdir)/@PACKAGE@
nkeynes@831
   103
+pkgincludedir = $(includedir)/@PACKAGE@
nkeynes@831
   104
+
nkeynes@831
   105
+top_builddir = .
nkeynes@831
   106
+
nkeynes@831
   107
+ACLOCAL = @ACLOCAL@
nkeynes@831
   108
+AUTOCONF = @AUTOCONF@
nkeynes@831
   109
+AUTOMAKE = @AUTOMAKE@
nkeynes@831
   110
+AUTOHEADER = @AUTOHEADER@
nkeynes@831
   111
+
nkeynes@831
   112
+INSTALL = @INSTALL@
nkeynes@831
   113
+INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
nkeynes@831
   114
+INSTALL_DATA = @INSTALL_DATA@
nkeynes@831
   115
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
nkeynes@831
   116
+transform = @program_transform_name@
nkeynes@831
   117
+
nkeynes@831
   118
+NORMAL_INSTALL = :
nkeynes@831
   119
+PRE_INSTALL = :
nkeynes@831
   120
+POST_INSTALL = :
nkeynes@831
   121
+NORMAL_UNINSTALL = :
nkeynes@831
   122
+PRE_UNINSTALL = :
nkeynes@831
   123
+POST_UNINSTALL = :
nkeynes@831
   124
+host_alias = @host_alias@
nkeynes@831
   125
+host_triplet = @host@
nkeynes@831
   126
+AR = @AR@
nkeynes@831
   127
+AS = @AS@
nkeynes@831
   128
+CC = @CC@
nkeynes@831
   129
+CPP = @CPP@
nkeynes@831
   130
+EXEEXT = @EXEEXT@
nkeynes@831
   131
+MAKEINFO = @MAKEINFO@
nkeynes@831
   132
+NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
nkeynes@831
   133
+PACKAGE = @PACKAGE@
nkeynes@831
   134
+RANLIB = @RANLIB@
nkeynes@831
   135
+VERSION = @VERSION@
nkeynes@831
   136
+machine_dir = @machine_dir@
nkeynes@831
   137
+newlib_basedir = @newlib_basedir@
nkeynes@831
   138
+sys_dir = @sys_dir@
nkeynes@831
   139
+
nkeynes@831
   140
+AUTOMAKE_OPTIONS = cygnus
nkeynes@831
   141
+
nkeynes@831
   142
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
nkeynes@831
   143
+
nkeynes@831
   144
+noinst_LIBRARIES = lib.a
nkeynes@831
   145
+
nkeynes@831
   146
+lib_a_SOURCES = absolute_vfs.c chdir.c chmod.c close.c creat.c dcload_vfs.c dcload.S   exit.c fcntl.c fstat.c getpid.c gettimeofday.c ioctl.c isatty.c kill.c   link.c lseek.c mkdir.c open.c read.c rmdir.c sbrk.c scif.c stat.c   stdio_vfs.c times.c unlink.c vfs.c write.c dup.c
nkeynes@831
   147
+
nkeynes@831
   148
+
nkeynes@831
   149
+ACLOCAL_AMFLAGS = -I ../../..
nkeynes@831
   150
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
nkeynes@831
   151
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
nkeynes@831
   152
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../../../mkinstalldirs
nkeynes@831
   153
+CONFIG_CLEAN_FILES = 
nkeynes@831
   154
+LIBRARIES =  $(noinst_LIBRARIES)
nkeynes@831
   155
+
nkeynes@831
   156
+
nkeynes@831
   157
+DEFS = @DEFS@ -I. -I$(srcdir) 
nkeynes@831
   158
+CPPFLAGS = @CPPFLAGS@
nkeynes@831
   159
+LDFLAGS = @LDFLAGS@
nkeynes@831
   160
+LIBS = @LIBS@
nkeynes@831
   161
+lib_a_LIBADD = 
nkeynes@831
   162
+lib_a_OBJECTS =  absolute_vfs.o chdir.o chmod.o close.o creat.o \
nkeynes@831
   163
+dcload_vfs.o dcload.o exit.o fcntl.o fstat.o getpid.o gettimeofday.o ioctl.o \
nkeynes@831
   164
+isatty.o kill.o link.o lseek.o mkdir.o open.o read.o rmdir.o sbrk.o \
nkeynes@831
   165
+scif.o stat.o stdio_vfs.o times.o unlink.o vfs.o write.o dup.o
nkeynes@831
   166
+CFLAGS = @CFLAGS@
nkeynes@831
   167
+COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
nkeynes@831
   168
+CCLD = $(CC)
nkeynes@831
   169
+LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
nkeynes@831
   170
+DIST_COMMON =  Makefile.am Makefile.in aclocal.m4 configure configure.in
nkeynes@831
   171
+
nkeynes@831
   172
+
nkeynes@831
   173
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
nkeynes@831
   174
+
nkeynes@831
   175
+TAR = tar
nkeynes@831
   176
+GZIP_ENV = --best
nkeynes@831
   177
+SOURCES = $(lib_a_SOURCES)
nkeynes@831
   178
+OBJECTS = $(lib_a_OBJECTS)
nkeynes@831
   179
+
nkeynes@831
   180
+all: all-redirect
nkeynes@831
   181
+.SUFFIXES:
nkeynes@831
   182
+.SUFFIXES: .S .c .o .s
nkeynes@831
   183
+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
nkeynes@831
   184
+	cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile
nkeynes@831
   185
+
nkeynes@831
   186
+Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status
nkeynes@831
   187
+	cd $(top_builddir) \
nkeynes@831
   188
+	  && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
nkeynes@831
   189
+
nkeynes@831
   190
+$(ACLOCAL_M4):  configure.in  ../../../acinclude.m4 ../../../aclocal.m4
nkeynes@831
   191
+	cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
nkeynes@831
   192
+
nkeynes@831
   193
+config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
nkeynes@831
   194
+	$(SHELL) ./config.status --recheck
nkeynes@831
   195
+$(srcdir)/configure: $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
nkeynes@831
   196
+	cd $(srcdir) && $(AUTOCONF)
nkeynes@831
   197
+
nkeynes@831
   198
+mostlyclean-noinstLIBRARIES:
nkeynes@831
   199
+
nkeynes@831
   200
+clean-noinstLIBRARIES:
nkeynes@831
   201
+	-test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
nkeynes@831
   202
+
nkeynes@831
   203
+distclean-noinstLIBRARIES:
nkeynes@831
   204
+
nkeynes@831
   205
+maintainer-clean-noinstLIBRARIES:
nkeynes@831
   206
+
nkeynes@831
   207
+.c.o:
nkeynes@831
   208
+	$(COMPILE) -c $<
nkeynes@831
   209
+
nkeynes@831
   210
+.s.o:
nkeynes@831
   211
+	$(COMPILE) -c $<
nkeynes@831
   212
+
nkeynes@831
   213
+.S.o:
nkeynes@831
   214
+	$(COMPILE) -c $<
nkeynes@831
   215
+
nkeynes@831
   216
+mostlyclean-compile:
nkeynes@831
   217
+	-rm -f *.o core *.core
nkeynes@831
   218
+
nkeynes@831
   219
+clean-compile:
nkeynes@831
   220
+
nkeynes@831
   221
+distclean-compile:
nkeynes@831
   222
+	-rm -f *.tab.c
nkeynes@831
   223
+
nkeynes@831
   224
+maintainer-clean-compile:
nkeynes@831
   225
+
nkeynes@831
   226
+lib.a: $(lib_a_OBJECTS) $(lib_a_DEPENDENCIES)
nkeynes@831
   227
+	-rm -f lib.a
nkeynes@831
   228
+	$(AR) cru lib.a $(lib_a_OBJECTS) $(lib_a_LIBADD)
nkeynes@831
   229
+	$(RANLIB) lib.a
nkeynes@831
   230
+
nkeynes@831
   231
+tags: TAGS
nkeynes@831
   232
+
nkeynes@831
   233
+ID: $(HEADERS) $(SOURCES) $(LISP)
nkeynes@831
   234
+	list='$(SOURCES) $(HEADERS)'; \
nkeynes@831
   235
+	unique=`for i in $$list; do echo $$i; done | \
nkeynes@831
   236
+	  awk '    { files[$$0] = 1; } \
nkeynes@831
   237
+	       END { for (i in files) print i; }'`; \
nkeynes@831
   238
+	here=`pwd` && cd $(srcdir) \
nkeynes@831
   239
+	  && mkid -f$$here/ID $$unique $(LISP)
nkeynes@831
   240
+
nkeynes@831
   241
+TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) $(LISP)
nkeynes@831
   242
+	tags=; \
nkeynes@831
   243
+	here=`pwd`; \
nkeynes@831
   244
+	list='$(SOURCES) $(HEADERS)'; \
nkeynes@831
   245
+	unique=`for i in $$list; do echo $$i; done | \
nkeynes@831
   246
+	  awk '    { files[$$0] = 1; } \
nkeynes@831
   247
+	       END { for (i in files) print i; }'`; \
nkeynes@831
   248
+	test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
nkeynes@831
   249
+	  || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags  $$unique $(LISP) -o $$here/TAGS)
nkeynes@831
   250
+
nkeynes@831
   251
+mostlyclean-tags:
nkeynes@831
   252
+
nkeynes@831
   253
+clean-tags:
nkeynes@831
   254
+
nkeynes@831
   255
+distclean-tags:
nkeynes@831
   256
+	-rm -f TAGS ID
nkeynes@831
   257
+
nkeynes@831
   258
+maintainer-clean-tags:
nkeynes@831
   259
+
nkeynes@831
   260
+distdir = $(PACKAGE)-$(VERSION)
nkeynes@831
   261
+top_distdir = $(distdir)
nkeynes@831
   262
+
nkeynes@831
   263
+# This target untars the dist file and tries a VPATH configuration.  Then
nkeynes@831
   264
+# it guarantees that the distribution is self-contained by making another
nkeynes@831
   265
+# tarfile.
nkeynes@831
   266
+distcheck: dist
nkeynes@831
   267
+	-rm -rf $(distdir)
nkeynes@831
   268
+	GZIP=$(GZIP_ENV) $(TAR) zxf $(distdir).tar.gz
nkeynes@831
   269
+	mkdir $(distdir)/=build
nkeynes@831
   270
+	mkdir $(distdir)/=inst
nkeynes@831
   271
+	dc_install_base=`cd $(distdir)/=inst && pwd`; \
nkeynes@831
   272
+	cd $(distdir)/=build \
nkeynes@831
   273
+	  && ../configure --srcdir=.. --prefix=$$dc_install_base \
nkeynes@831
   274
+	  && $(MAKE) $(AM_MAKEFLAGS) \
nkeynes@831
   275
+	  && $(MAKE) $(AM_MAKEFLAGS) dvi \
nkeynes@831
   276
+	  && $(MAKE) $(AM_MAKEFLAGS) check \
nkeynes@831
   277
+	  && $(MAKE) $(AM_MAKEFLAGS) install \
nkeynes@831
   278
+	  && $(MAKE) $(AM_MAKEFLAGS) installcheck \
nkeynes@831
   279
+	  && $(MAKE) $(AM_MAKEFLAGS) dist
nkeynes@831
   280
+	-rm -rf $(distdir)
nkeynes@831
   281
+	@banner="$(distdir).tar.gz is ready for distribution"; \
nkeynes@831
   282
+	dashes=`echo "$$banner" | sed s/./=/g`; \
nkeynes@831
   283
+	echo "$$dashes"; \
nkeynes@831
   284
+	echo "$$banner"; \
nkeynes@831
   285
+	echo "$$dashes"
nkeynes@831
   286
+dist: distdir
nkeynes@831
   287
+	-chmod -R a+r $(distdir)
nkeynes@831
   288
+	GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
nkeynes@831
   289
+	-rm -rf $(distdir)
nkeynes@831
   290
+dist-all: distdir
nkeynes@831
   291
+	-chmod -R a+r $(distdir)
nkeynes@831
   292
+	GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
nkeynes@831
   293
+	-rm -rf $(distdir)
nkeynes@831
   294
+distdir: $(DISTFILES)
nkeynes@831
   295
+	-rm -rf $(distdir)
nkeynes@831
   296
+	mkdir $(distdir)
nkeynes@831
   297
+	-chmod 777 $(distdir)
nkeynes@831
   298
+	@for file in $(DISTFILES); do \
nkeynes@831
   299
+	  if test -f $$file; then d=.; else d=$(srcdir); fi; \
nkeynes@831
   300
+	  if test -d $$d/$$file; then \
nkeynes@831
   301
+	    cp -pr $$d/$$file $(distdir)/$$file; \
nkeynes@831
   302
+	  else \
nkeynes@831
   303
+	    test -f $(distdir)/$$file \
nkeynes@831
   304
+	    || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
nkeynes@831
   305
+	    || cp -p $$d/$$file $(distdir)/$$file || :; \
nkeynes@831
   306
+	  fi; \
nkeynes@831
   307
+	done
nkeynes@831
   308
+info-am:
nkeynes@831
   309
+info: info-am
nkeynes@831
   310
+dvi-am:
nkeynes@831
   311
+dvi: dvi-am
nkeynes@831
   312
+check-am:
nkeynes@831
   313
+check: check-am
nkeynes@831
   314
+installcheck-am:
nkeynes@831
   315
+installcheck: installcheck-am
nkeynes@831
   316
+install-info-am: 
nkeynes@831
   317
+install-info: install-info-am
nkeynes@831
   318
+install-exec-am:
nkeynes@831
   319
+install-exec: install-exec-am
nkeynes@831
   320
+
nkeynes@831
   321
+install-data-am:
nkeynes@831
   322
+install-data: install-data-am
nkeynes@831
   323
+
nkeynes@831
   324
+install-am: all-am
nkeynes@831
   325
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
nkeynes@831
   326
+install: install-am
nkeynes@831
   327
+uninstall-am:
nkeynes@831
   328
+uninstall: uninstall-am
nkeynes@831
   329
+all-am: Makefile $(LIBRARIES)
nkeynes@831
   330
+all-redirect: all-am
nkeynes@831
   331
+install-strip:
nkeynes@831
   332
+	$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
nkeynes@831
   333
+installdirs:
nkeynes@831
   334
+
nkeynes@831
   335
+
nkeynes@831
   336
+mostlyclean-generic:
nkeynes@831
   337
+
nkeynes@831
   338
+clean-generic:
nkeynes@831
   339
+
nkeynes@831
   340
+distclean-generic:
nkeynes@831
   341
+	-rm -f Makefile $(CONFIG_CLEAN_FILES)
nkeynes@831
   342
+	-rm -f config.cache config.log stamp-h stamp-h[0-9]*
nkeynes@831
   343
+
nkeynes@831
   344
+maintainer-clean-generic:
nkeynes@831
   345
+mostlyclean-am:  mostlyclean-noinstLIBRARIES mostlyclean-compile \
nkeynes@831
   346
+		mostlyclean-tags mostlyclean-generic
nkeynes@831
   347
+
nkeynes@831
   348
+mostlyclean: mostlyclean-am
nkeynes@831
   349
+
nkeynes@831
   350
+clean-am:  clean-noinstLIBRARIES clean-compile clean-tags clean-generic \
nkeynes@831
   351
+		mostlyclean-am
nkeynes@831
   352
+
nkeynes@831
   353
+clean: clean-am
nkeynes@831
   354
+
nkeynes@831
   355
+distclean-am:  distclean-noinstLIBRARIES distclean-compile \
nkeynes@831
   356
+		distclean-tags distclean-generic clean-am
nkeynes@831
   357
+
nkeynes@831
   358
+distclean: distclean-am
nkeynes@831
   359
+	-rm -f config.status
nkeynes@831
   360
+
nkeynes@831
   361
+maintainer-clean-am:  maintainer-clean-noinstLIBRARIES \
nkeynes@831
   362
+		maintainer-clean-compile maintainer-clean-tags \
nkeynes@831
   363
+		maintainer-clean-generic distclean-am
nkeynes@831
   364
+	@echo "This command is intended for maintainers to use;"
nkeynes@831
   365
+	@echo "it deletes files that may require special tools to rebuild."
nkeynes@831
   366
+
nkeynes@831
   367
+maintainer-clean: maintainer-clean-am
nkeynes@831
   368
+	-rm -f config.status
nkeynes@831
   369
+
nkeynes@831
   370
+.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
nkeynes@831
   371
+clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
nkeynes@831
   372
+mostlyclean-compile distclean-compile clean-compile \
nkeynes@831
   373
+maintainer-clean-compile tags mostlyclean-tags distclean-tags \
nkeynes@831
   374
+clean-tags maintainer-clean-tags distdir info-am info dvi-am dvi check \
nkeynes@831
   375
+check-am installcheck-am installcheck install-info-am install-info \
nkeynes@831
   376
+install-exec-am install-exec install-data-am install-data install-am \
nkeynes@831
   377
+install uninstall-am uninstall all-redirect all-am all installdirs \
nkeynes@831
   378
+mostlyclean-generic distclean-generic clean-generic \
nkeynes@831
   379
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
nkeynes@831
   380
+
nkeynes@831
   381
+
nkeynes@831
   382
+all: crt0.o
nkeynes@831
   383
+
nkeynes@831
   384
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
nkeynes@831
   385
+# Otherwise a system limit (for SysV at least) may be exceeded.
nkeynes@831
   386
+.NOEXPORT:
nkeynes@831
   387
diff -urN newlib-1.8.2/newlib/libc/sys/aica/absolute_vfs.c newlib-1.8.2-aica/newlib/libc/sys/aica/absolute_vfs.c
nkeynes@831
   388
--- newlib-1.8.2/newlib/libc/sys/aica/absolute_vfs.c	1970-01-01 10:00:00.000000000 +1000
nkeynes@831
   389
+++ newlib-1.8.2-aica/newlib/libc/sys/aica/absolute_vfs.c	2008-08-13 11:54:44.000000000 +1000
nkeynes@831
   390
@@ -0,0 +1,11 @@
nkeynes@831
   391
+#include "vfs.h"
nkeynes@831
   392
+
nkeynes@831
   393
+int _newlib_vfs_is_absolute (void)
nkeynes@831
   394
+{
nkeynes@831
   395
+  return 0;
nkeynes@831
   396
+}
nkeynes@831
   397
+
nkeynes@831
   398
+void _newlib_vfs_absolute_load (void)
nkeynes@831
   399
+{
nkeynes@831
   400
+  _newlib_vfs_initialized = VFS_LOADER_ABSOLUTE;
nkeynes@831
   401
+}
nkeynes@831
   402
diff -urN newlib-1.8.2/newlib/libc/sys/aica/aclocal.m4 newlib-1.8.2-aica/newlib/libc/sys/aica/aclocal.m4
nkeynes@831
   403
--- newlib-1.8.2/newlib/libc/sys/aica/aclocal.m4	1970-01-01 10:00:00.000000000 +1000
nkeynes@831
   404
+++ newlib-1.8.2-aica/newlib/libc/sys/aica/aclocal.m4	2008-08-13 11:54:44.000000000 +1000
nkeynes@831
   405
@@ -0,0 +1,345 @@
nkeynes@831
   406
+dnl aclocal.m4 generated automatically by aclocal 1.3b
nkeynes@831
   407
+
nkeynes@831
   408
+dnl Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
nkeynes@831
   409
+dnl This file is free software; the Free Software Foundation
nkeynes@831
   410
+dnl gives unlimited permission to copy and/or distribute it,
nkeynes@831
   411
+dnl with or without modifications, as long as this notice is preserved.
nkeynes@831
   412
+
nkeynes@831
   413
+dnl This program is distributed in the hope that it will be useful,
nkeynes@831
   414
+dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
nkeynes@831
   415
+dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
nkeynes@831
   416
+dnl PARTICULAR PURPOSE.
nkeynes@831
   417
+
nkeynes@831
   418
+dnl This provides configure definitions used by all the newlib
nkeynes@831
   419
+dnl configure.in files.
nkeynes@831
   420
+
nkeynes@831
   421
+dnl Basic newlib configury.  This calls basic introductory stuff,
nkeynes@831
   422
+dnl including AM_INIT_AUTOMAKE and AC_CANONICAL_HOST.  It also runs
nkeynes@831
   423
+dnl configure.host.  The only argument is the relative path to the top
nkeynes@831
   424
+dnl newlib directory.
nkeynes@831
   425
+
nkeynes@831
   426
+AC_DEFUN(NEWLIB_CONFIGURE,
nkeynes@831
   427
+[
nkeynes@831
   428
+dnl Default to --enable-multilib
nkeynes@831
   429
+AC_ARG_ENABLE(multilib,
nkeynes@831
   430
+[  --enable-multilib         build many library versions (default)],
nkeynes@831
   431
+[case "${enableval}" in
nkeynes@831
   432
+  yes) multilib=yes ;;
nkeynes@831
   433
+  no)  multilib=no ;;
nkeynes@831
   434
+  *)   AC_MSG_ERROR(bad value ${enableval} for multilib option) ;;
nkeynes@831
   435
+ esac], [multilib=yes])dnl
nkeynes@831
   436
+
nkeynes@831
   437
+dnl Support --enable-target-optspace
nkeynes@831
   438
+AC_ARG_ENABLE(target-optspace,
nkeynes@831
   439
+[  --enable-target-optspace  optimize for space],
nkeynes@831
   440
+[case "${enableval}" in
nkeynes@831
   441
+  yes) target_optspace=yes ;;
nkeynes@831
   442
+  no)  target_optspace=no ;;
nkeynes@831
   443
+  *)   AC_MSG_ERROR(bad value ${enableval} for target-optspace option) ;;
nkeynes@831
   444
+ esac], [target_optspace=])dnl
nkeynes@831
   445
+
nkeynes@831
   446
+dnl Support --enable-newlib-mb
nkeynes@831
   447
+AC_ARG_ENABLE(newlib-mb,
nkeynes@831
   448
+[  --enable-newlib-mb        enable multibyte support],
nkeynes@831
   449
+[case "${enableval}" in
nkeynes@831
   450
+  yes) newlib_mb=yes ;;
nkeynes@831
   451
+  no)  newlib_mb=no ;;
nkeynes@831
   452
+  *)   AC_MSG_ERROR(bad value ${enableval} for newlib-mb option) ;;
nkeynes@831
   453
+ esac], [newlib_mb=no])dnl
nkeynes@831
   454
+
nkeynes@831
   455
+dnl We may get other options which we don't document:
nkeynes@831
   456
+dnl --with-target-subdir, --with-multisrctop, --with-multisubdir
nkeynes@831
   457
+
nkeynes@831
   458
+test -z "[$]{with_target_subdir}" && with_target_subdir=.
nkeynes@831
   459
+
nkeynes@831
   460
+if test "[$]{srcdir}" = "."; then
nkeynes@831
   461
+  if test "[$]{with_target_subdir}" != "."; then
nkeynes@831
   462
+    newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}../$1"
nkeynes@831
   463
+  else
nkeynes@831
   464
+    newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}$1"
nkeynes@831
   465
+  fi
nkeynes@831
   466
+else
nkeynes@831
   467
+  newlib_basedir="[$]{srcdir}/$1"
nkeynes@831
   468
+fi
nkeynes@831
   469
+AC_SUBST(newlib_basedir)
nkeynes@831
   470
+
nkeynes@831
   471
+AC_CANONICAL_HOST
nkeynes@831
   472
+
nkeynes@831
   473
+AM_INIT_AUTOMAKE(newlib, 1.8.1)
nkeynes@831
   474
+
nkeynes@831
   475
+# FIXME: We temporarily define our own version of AC_PROG_CC.  This is
nkeynes@831
   476
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS.  We
nkeynes@831
   477
+# are probably using a cross compiler, which will not be able to fully
nkeynes@831
   478
+# link an executable.  This should really be fixed in autoconf
nkeynes@831
   479
+# itself.
nkeynes@831
   480
+
nkeynes@831
   481
+AC_DEFUN(LIB_AC_PROG_CC,
nkeynes@831
   482
+[AC_BEFORE([$0], [AC_PROG_CPP])dnl
nkeynes@831
   483
+AC_CHECK_PROG(CC, gcc, gcc)
nkeynes@831
   484
+if test -z "$CC"; then
nkeynes@831
   485
+  AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
nkeynes@831
   486
+  test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
nkeynes@831
   487
+fi
nkeynes@831
   488
+
nkeynes@831
   489
+AC_PROG_CC_GNU
nkeynes@831
   490
+
nkeynes@831
   491
+if test $ac_cv_prog_gcc = yes; then
nkeynes@831
   492
+  GCC=yes
nkeynes@831
   493
+dnl Check whether -g works, even if CFLAGS is set, in case the package
nkeynes@831
   494
+dnl plays around with CFLAGS (such as to build both debugging and
nkeynes@831
   495
+dnl normal versions of a library), tasteless as that idea is.
nkeynes@831
   496
+  ac_test_CFLAGS="${CFLAGS+set}"
nkeynes@831
   497
+  ac_save_CFLAGS="$CFLAGS"
nkeynes@831
   498
+  CFLAGS=
nkeynes@831
   499
+  AC_PROG_CC_G
nkeynes@831
   500
+  if test "$ac_test_CFLAGS" = set; then
nkeynes@831
   501
+    CFLAGS="$ac_save_CFLAGS"
nkeynes@831
   502
+  elif test $ac_cv_prog_cc_g = yes; then
nkeynes@831
   503
+    CFLAGS="-g -O2"
nkeynes@831
   504
+  else
nkeynes@831
   505
+    CFLAGS="-O2"
nkeynes@831
   506
+  fi
nkeynes@831
   507
+else
nkeynes@831
   508
+  GCC=
nkeynes@831
   509
+  test "${CFLAGS+set}" = set || CFLAGS="-g"
nkeynes@831
   510
+fi
nkeynes@831
   511
+])
nkeynes@831
   512
+
nkeynes@831
   513
+LIB_AC_PROG_CC
nkeynes@831
   514
+
nkeynes@831
   515
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD).  If we don't
nkeynes@831
   516
+# run it explicitly here, it will be run implicitly before
nkeynes@831
   517
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
nkeynes@831
   518
+# be run before AC_CANONICAL_HOST.
nkeynes@831
   519
+AC_CANONICAL_BUILD
nkeynes@831
   520
+
nkeynes@831
   521
+AC_CHECK_TOOL(AS, as)
nkeynes@831
   522
+AC_CHECK_TOOL(AR, ar)
nkeynes@831
   523
+AC_CHECK_TOOL(RANLIB, ranlib, :)
nkeynes@831
   524
+
nkeynes@831
   525
+AM_PROG_INSTALL
nkeynes@831
   526
+
nkeynes@831
   527
+#AM_MAINTAINER_MODE
nkeynes@831
   528
+
nkeynes@831
   529
+# We need AM_EXEEXT to keep automake happy in cygnus mode.  However,
nkeynes@831
   530
+# at least currently, we never actually build a program, so we never
nkeynes@831
   531
+# need to use $(EXEEXT).  Moreover, the test for EXEEXT normally
nkeynes@831
   532
+# fails, because we are probably configuring with a cross compiler
nkeynes@831
   533
+# which can't create executables.  So we include AM_EXEEXT to keep
nkeynes@831
   534
+# automake happy, but we don't execute it, since we don't care about
nkeynes@831
   535
+# the result.
nkeynes@831
   536
+if false; then
nkeynes@831
   537
+  AM_EXEEXT
nkeynes@831
   538
+fi
nkeynes@831
   539
+
nkeynes@831
   540
+. [$]{newlib_basedir}/configure.host
nkeynes@831
   541
+
nkeynes@831
   542
+case [$]{newlib_basedir} in
nkeynes@831
   543
+/* | [A-Za-z]:[/\\]*) newlib_flagbasedir=[$]{newlib_basedir} ;;
nkeynes@831
   544
+*) newlib_flagbasedir='[$](top_builddir)/'[$]{newlib_basedir} ;;
nkeynes@831
   545
+esac
nkeynes@831
   546
+
nkeynes@831
   547
+newlib_cflags="[$]{newlib_cflags} -I"'[$](top_builddir)'"/$1/targ-include -I[$]{newlib_flagbasedir}/libc/include"
nkeynes@831
   548
+case "${host}" in
nkeynes@831
   549
+  *-*-cygwin32*)
nkeynes@831
   550
+    newlib_cflags="[$]{newlib_cflags} -I[$]{newlib_flagbasedir}/../winsup/include"
nkeynes@831
   551
+    ;;
nkeynes@831
   552
+esac
nkeynes@831
   553
+
nkeynes@831
   554
+newlib_cflags="[$]{newlib_cflags} -fno-builtin"
nkeynes@831
   555
+
nkeynes@831
   556
+NEWLIB_CFLAGS=${newlib_cflags}
nkeynes@831
   557
+AC_SUBST(NEWLIB_CFLAGS)
nkeynes@831
   558
+
nkeynes@831
   559
+AC_SUBST(machine_dir)
nkeynes@831
   560
+AC_SUBST(sys_dir)
nkeynes@831
   561
+])
nkeynes@831
   562
+
nkeynes@831
   563
+# Do all the work for Automake.  This macro actually does too much --
nkeynes@831
   564
+# some checks are only needed if your package does certain things.
nkeynes@831
   565
+# But this isn't really a big deal.
nkeynes@831
   566
+
nkeynes@831
   567
+# serial 1
nkeynes@831
   568
+
nkeynes@831
   569
+dnl Usage:
nkeynes@831
   570
+dnl AM_INIT_AUTOMAKE(package,version, [no-define])
nkeynes@831
   571
+
nkeynes@831
   572
+AC_DEFUN(AM_INIT_AUTOMAKE,
nkeynes@831
   573
+[AC_REQUIRE([AM_PROG_INSTALL])
nkeynes@831
   574
+PACKAGE=[$1]
nkeynes@831
   575
+AC_SUBST(PACKAGE)
nkeynes@831
   576
+VERSION=[$2]
nkeynes@831
   577
+AC_SUBST(VERSION)
nkeynes@831
   578
+dnl test to see if srcdir already configured
nkeynes@831
   579
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
nkeynes@831
   580
+  AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
nkeynes@831
   581
+fi
nkeynes@831
   582
+ifelse([$3],,
nkeynes@831
   583
+AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
nkeynes@831
   584
+AC_DEFINE_UNQUOTED(VERSION, "$VERSION"))
nkeynes@831
   585
+AC_REQUIRE([AM_SANITY_CHECK])
nkeynes@831
   586
+AC_REQUIRE([AC_ARG_PROGRAM])
nkeynes@831
   587
+dnl FIXME This is truly gross.
nkeynes@831
   588
+missing_dir=`cd $ac_aux_dir && pwd`
nkeynes@831
   589
+AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
nkeynes@831
   590
+AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
nkeynes@831
   591
+AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
nkeynes@831
   592
+AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
nkeynes@831
   593
+AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
nkeynes@831
   594
+AC_REQUIRE([AC_PROG_MAKE_SET])])
nkeynes@831
   595
+
nkeynes@831
   596
+
nkeynes@831
   597
+# serial 1
nkeynes@831
   598
+
nkeynes@831
   599
+AC_DEFUN(AM_PROG_INSTALL,
nkeynes@831
   600
+[AC_REQUIRE([AC_PROG_INSTALL])
nkeynes@831
   601
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
nkeynes@831
   602
+AC_SUBST(INSTALL_SCRIPT)dnl
nkeynes@831
   603
+])
nkeynes@831
   604
+
nkeynes@831
   605
+#
nkeynes@831
   606
+# Check to make sure that the build environment is sane.
nkeynes@831
   607
+#
nkeynes@831
   608
+
nkeynes@831
   609
+AC_DEFUN(AM_SANITY_CHECK,
nkeynes@831
   610
+[AC_MSG_CHECKING([whether build environment is sane])
nkeynes@831
   611
+# Just in case
nkeynes@831
   612
+sleep 1
nkeynes@831
   613
+echo timestamp > conftestfile
nkeynes@831
   614
+# Do `set' in a subshell so we don't clobber the current shell's
nkeynes@831
   615
+# arguments.  Must try -L first in case configure is actually a
nkeynes@831
   616
+# symlink; some systems play weird games with the mod time of symlinks
nkeynes@831
   617
+# (eg FreeBSD returns the mod time of the symlink's containing
nkeynes@831
   618
+# directory).
nkeynes@831
   619
+if (
nkeynes@831
   620
+   set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
nkeynes@831
   621
+   if test "[$]*" = "X"; then
nkeynes@831
   622
+      # -L didn't work.
nkeynes@831
   623
+      set X `ls -t $srcdir/configure conftestfile`
nkeynes@831
   624
+   fi
nkeynes@831
   625
+   if test "[$]*" != "X $srcdir/configure conftestfile" \
nkeynes@831
   626
+      && test "[$]*" != "X conftestfile $srcdir/configure"; then
nkeynes@831
   627
+
nkeynes@831
   628
+      # If neither matched, then we have a broken ls.  This can happen
nkeynes@831
   629
+      # if, for instance, CONFIG_SHELL is bash and it inherits a
nkeynes@831
   630
+      # broken ls alias from the environment.  This has actually
nkeynes@831
   631
+      # happened.  Such a system could not be considered "sane".
nkeynes@831
   632
+      AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
nkeynes@831
   633
+alias in your environment])
nkeynes@831
   634
+   fi
nkeynes@831
   635
+
nkeynes@831
   636
+   test "[$]2" = conftestfile
nkeynes@831
   637
+   )
nkeynes@831
   638
+then
nkeynes@831
   639
+   # Ok.
nkeynes@831
   640
+   :
nkeynes@831
   641
+else
nkeynes@831
   642
+   AC_MSG_ERROR([newly created file is older than distributed files!
nkeynes@831
   643
+Check your system clock])
nkeynes@831
   644
+fi
nkeynes@831
   645
+rm -f conftest*
nkeynes@831
   646
+AC_MSG_RESULT(yes)])
nkeynes@831
   647
+
nkeynes@831
   648
+dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
nkeynes@831
   649
+dnl The program must properly implement --version.
nkeynes@831
   650
+AC_DEFUN(AM_MISSING_PROG,
nkeynes@831
   651
+[AC_MSG_CHECKING(for working $2)
nkeynes@831
   652
+# Run test in a subshell; some versions of sh will print an error if
nkeynes@831
   653
+# an executable is not found, even if stderr is redirected.
nkeynes@831
   654
+# Redirect stdin to placate older versions of autoconf.  Sigh.
nkeynes@831
   655
+if ($2 --version) < /dev/null > /dev/null 2>&1; then
nkeynes@831
   656
+   $1=$2
nkeynes@831
   657
+   AC_MSG_RESULT(found)
nkeynes@831
   658
+else
nkeynes@831
   659
+   $1="$3/missing $2"
nkeynes@831
   660
+   AC_MSG_RESULT(missing)
nkeynes@831
   661
+fi
nkeynes@831
   662
+AC_SUBST($1)])
nkeynes@831
   663
+
nkeynes@831
   664
+# Add --enable-maintainer-mode option to configure.
nkeynes@831
   665
+# From Jim Meyering
nkeynes@831
   666
+
nkeynes@831
   667
+# serial 1
nkeynes@831
   668
+
nkeynes@831
   669
+AC_DEFUN(AM_MAINTAINER_MODE,
nkeynes@831
   670
+[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
nkeynes@831
   671
+  dnl maintainer-mode is disabled by default
nkeynes@831
   672
+  AC_ARG_ENABLE(maintainer-mode,
nkeynes@831
   673
+[  --enable-maintainer-mode enable make rules and dependencies not useful
nkeynes@831
   674
+                          (and sometimes confusing) to the casual installer],
nkeynes@831
   675
+      USE_MAINTAINER_MODE=$enableval,
nkeynes@831
   676
+      USE_MAINTAINER_MODE=no)
nkeynes@831
   677
+  AC_MSG_RESULT($USE_MAINTAINER_MODE)
nkeynes@831
   678
+  if test $USE_MAINTAINER_MODE = yes; then
nkeynes@831
   679
+    MAINT=
nkeynes@831
   680
+  else
nkeynes@831
   681
+    MAINT='#M#'
nkeynes@831
   682
+  fi
nkeynes@831
   683
+#  AC_SUBST(MAINT)dnl
nkeynes@831
   684
+]
nkeynes@831
   685
+)
nkeynes@831
   686
+
nkeynes@831
   687
+# Check to see if we're running under Win32, without using
nkeynes@831
   688
+# AC_CANONICAL_*.  If so, set output variable EXEEXT to ".exe".
nkeynes@831
   689
+# Otherwise set it to "".
nkeynes@831
   690
+
nkeynes@831
   691
+dnl AM_EXEEXT()
nkeynes@831
   692
+dnl This knows we add .exe if we're building in the Cygwin32
nkeynes@831
   693
+dnl environment. But if we're not, then it compiles a test program
nkeynes@831
   694
+dnl to see if there is a suffix for executables.
nkeynes@831
   695
+AC_DEFUN(AM_EXEEXT,
nkeynes@831
   696
+[AC_REQUIRE([AM_CYGWIN32])
nkeynes@831
   697
+AC_REQUIRE([AM_MINGW32])
nkeynes@831
   698
+AC_MSG_CHECKING([for executable suffix])
nkeynes@831
   699
+AC_CACHE_VAL(am_cv_exeext,
nkeynes@831
   700
+[if test "$CYGWIN32" = yes || test "$MINGW32" = yes; then
nkeynes@831
   701
+am_cv_exeext=.exe
nkeynes@831
   702
+else
nkeynes@831
   703
+cat > am_c_test.c << 'EOF'
nkeynes@831
   704
+int main() {
nkeynes@831
   705
+/* Nothing needed here */
nkeynes@831
   706
+}
nkeynes@831
   707
+EOF
nkeynes@831
   708
+${CC-cc} -o am_c_test $CFLAGS $CPPFLAGS $LDFLAGS am_c_test.c $LIBS 1>&5
nkeynes@831
   709
+am_cv_exeext=
nkeynes@831
   710
+for file in am_c_test.*; do
nkeynes@831
   711
+   case $file in
nkeynes@831
   712
+    *.c) ;;
nkeynes@831
   713
+    *.o) ;;
nkeynes@831
   714
+    *) am_cv_exeext=`echo $file | sed -e s/am_c_test//` ;;
nkeynes@831
   715
+   esac
nkeynes@831
   716
+done
nkeynes@831
   717
+rm -f am_c_test*])
nkeynes@831
   718
+test x"${am_cv_exeext}" = x && am_cv_exeext=no
nkeynes@831
   719
+fi
nkeynes@831
   720
+EXEEXT=""
nkeynes@831
   721
+test x"${am_cv_exeext}" != xno && EXEEXT=${am_cv_exeext}
nkeynes@831
   722
+AC_MSG_RESULT(${am_cv_exeext})
nkeynes@831
   723
+AC_SUBST(EXEEXT)])
nkeynes@831
   724
+
nkeynes@831
   725
+# Check to see if we're running under Cygwin32, without using
nkeynes@831
   726
+# AC_CANONICAL_*.  If so, set output variable CYGWIN32 to "yes".
nkeynes@831
   727
+# Otherwise set it to "no".
nkeynes@831
   728
+
nkeynes@831
   729
+dnl AM_CYGWIN32()
nkeynes@831
   730
+AC_DEFUN(AM_CYGWIN32,
nkeynes@831
   731
+[AC_CACHE_CHECK(for Cygwin32 environment, am_cv_cygwin32,
nkeynes@831
   732
+[AC_TRY_COMPILE(,[return __CYGWIN32__;],
nkeynes@831
   733
+am_cv_cygwin32=yes, am_cv_cygwin32=no)
nkeynes@831
   734
+rm -f conftest*])
nkeynes@831
   735
+CYGWIN32=
nkeynes@831
   736
+test "$am_cv_cygwin32" = yes && CYGWIN32=yes])
nkeynes@831
   737
+
nkeynes@831
   738
+# Check to see if we're running under Mingw, without using
nkeynes@831
   739
+# AC_CANONICAL_*.  If so, set output variable MINGW32 to "yes".
nkeynes@831
   740
+# Otherwise set it to "no".
nkeynes@831
   741
+
nkeynes@831
   742
+dnl AM_MINGW32()
nkeynes@831
   743
+AC_DEFUN(AM_MINGW32,
nkeynes@831
   744
+[AC_CACHE_CHECK(for Mingw32 environment, am_cv_mingw32,
nkeynes@831
   745
+[AC_TRY_COMPILE(,[return __MINGW32__;],
nkeynes@831
   746
+am_cv_mingw32=yes, am_cv_mingw32=no)
nkeynes@831
   747
+rm -f conftest*])
nkeynes@831
   748
+MINGW32=
nkeynes@831
   749
+test "$am_cv_mingw32" = yes && MINGW32=yes])
nkeynes@831
   750
+
nkeynes@831
   751
diff -urN newlib-1.8.2/newlib/libc/sys/aica/chdir.c newlib-1.8.2-aica/newlib/libc/sys/aica/chdir.c
nkeynes@831
   752
--- newlib-1.8.2/newlib/libc/sys/aica/chdir.c	1970-01-01 10:00:00.000000000 +1000
nkeynes@831
   753
+++ newlib-1.8.2-aica/newlib/libc/sys/aica/chdir.c	2008-08-13 11:54:44.000000000 +1000
nkeynes@831
   754
@@ -0,0 +1,14 @@
nkeynes@831
   755
+#include "vfs.h"
nkeynes@831
   756
+
nkeynes@831
   757
+int
nkeynes@831
   758
+chdir (const char *path)
nkeynes@831
   759
+{
nkeynes@831
   760
+  char *obj = _newlib_vfs_new_string (path);
nkeynes@831
   761
+
nkeynes@831
   762
+  struct media_ops *mops = _newlib_vfs_get_media_ops (path);
nkeynes@831
   763
+  int res = mops->chdir (obj);
nkeynes@831
   764
+
nkeynes@831
   765
+  _newlib_vfs_delete_string (obj);
nkeynes@831
   766
+
nkeynes@831
   767
+  return res;
nkeynes@831
   768
+}
nkeynes@831
   769
diff -urN newlib-1.8.2/newlib/libc/sys/aica/chmod.c newlib-1.8.2-aica/newlib/libc/sys/aica/chmod.c
nkeynes@831
   770
--- newlib-1.8.2/newlib/libc/sys/aica/chmod.c	1970-01-01 10:00:00.000000000 +1000
nkeynes@831
   771
+++ newlib-1.8.2-aica/newlib/libc/sys/aica/chmod.c	2008-08-13 11:54:44.000000000 +1000
nkeynes@831
   772
@@ -0,0 +1,16 @@
nkeynes@831
   773
+#include <sys/types.h>
nkeynes@831
   774
+
nkeynes@831
   775
+#include "vfs.h"
nkeynes@831
   776
+
nkeynes@831
   777
+int
nkeynes@831
   778
+chmod (const char *path, mode_t mode)
nkeynes@831
   779
+{
nkeynes@831
   780
+  char *obj = _newlib_vfs_new_string (path);
nkeynes@831
   781
+
nkeynes@831
   782
+  struct media_ops *mops = _newlib_vfs_get_media_ops (path);
nkeynes@831
   783
+  int res = mops->chmod (obj, mode);
nkeynes@831
   784
+
nkeynes@831
   785
+  _newlib_vfs_delete_string (obj);
nkeynes@831
   786
+
nkeynes@831
   787
+  return res;
nkeynes@831
   788
+}
nkeynes@831
   789
diff -urN newlib-1.8.2/newlib/libc/sys/aica/close.c newlib-1.8.2-aica/newlib/libc/sys/aica/close.c
nkeynes@831
   790
--- newlib-1.8.2/newlib/libc/sys/aica/close.c	1970-01-01 10:00:00.000000000 +1000
nkeynes@831
   791
+++ newlib-1.8.2-aica/newlib/libc/sys/aica/close.c	2008-08-13 11:54:44.000000000 +1000
nkeynes@831
   792
@@ -0,0 +1,15 @@
nkeynes@831
   793
+#include "vfs.h"
nkeynes@831
   794
+
nkeynes@831
   795
+int
nkeynes@831
   796
+_close (int fd)
nkeynes@831
   797
+{
nkeynes@831
   798
+  struct file *pf = _newlib_vfs_get_file (fd);
nkeynes@831
   799
+  int res = pf->fops->close (pf);
nkeynes@831
   800
+
nkeynes@831
   801
+  if (res >= 0)
nkeynes@831
   802
+  {
nkeynes@831
   803
+    return _newlib_vfs_remove_file (pf);
nkeynes@831
   804
+  }
nkeynes@831
   805
+
nkeynes@831
   806
+  return res;
nkeynes@831
   807
+}
nkeynes@831
   808
diff -urN newlib-1.8.2/newlib/libc/sys/aica/configure newlib-1.8.2-aica/newlib/libc/sys/aica/configure
nkeynes@831
   809
--- newlib-1.8.2/newlib/libc/sys/aica/configure	1970-01-01 10:00:00.000000000 +1000
nkeynes@831
   810
+++ newlib-1.8.2-aica/newlib/libc/sys/aica/configure	2008-08-13 11:54:44.000000000 +1000
nkeynes@831
   811
@@ -0,0 +1,1586 @@
nkeynes@831
   812
+#! /bin/sh
nkeynes@831
   813
+
nkeynes@831
   814
+# Guess values for system-dependent variables and create Makefiles.
nkeynes@831
   815
+# Generated automatically using autoconf version 2.13 
nkeynes@831
   816
+# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
nkeynes@831
   817
+#
nkeynes@831
   818
+# This configure script is free software; the Free Software Foundation
nkeynes@831
   819
+# gives unlimited permission to copy, distribute and modify it.
nkeynes@831
   820
+
nkeynes@831
   821
+# Defaults:
nkeynes@831
   822
+ac_help=
nkeynes@831
   823
+ac_default_prefix=/usr/local
nkeynes@831
   824
+# Any additions from configure.in:
nkeynes@831
   825
+ac_help="$ac_help
nkeynes@831
   826
+  --enable-multilib         build many library versions (default)"
nkeynes@831
   827
+ac_help="$ac_help
nkeynes@831
   828
+  --enable-target-optspace  optimize for space"
nkeynes@831
   829
+ac_help="$ac_help
nkeynes@831
   830
+  --enable-newlib-mb        enable multibyte support"
nkeynes@831
   831
+
nkeynes@831
   832
+# Initialize some variables set by options.
nkeynes@831
   833
+# The variables have the same names as the options, with
nkeynes@831
   834
+# dashes changed to underlines.
nkeynes@831
   835
+build=NONE
nkeynes@831
   836
+cache_file=./config.cache
nkeynes@831
   837
+exec_prefix=NONE
nkeynes@831
   838
+host=NONE
nkeynes@831
   839
+no_create=
nkeynes@831
   840
+nonopt=NONE
nkeynes@831
   841
+no_recursion=
nkeynes@831
   842
+prefix=NONE
nkeynes@831
   843
+program_prefix=NONE
nkeynes@831
   844
+program_suffix=NONE
nkeynes@831
   845
+program_transform_name=s,x,x,
nkeynes@831
   846
+silent=
nkeynes@831
   847
+site=
nkeynes@831
   848
+srcdir=
nkeynes@831
   849
+target=NONE
nkeynes@831
   850
+verbose=
nkeynes@831
   851
+x_includes=NONE
nkeynes@831
   852
+x_libraries=NONE
nkeynes@831
   853
+bindir='${exec_prefix}/bin'
nkeynes@831
   854
+sbindir='${exec_prefix}/sbin'
nkeynes@831
   855
+libexecdir='${exec_prefix}/libexec'
nkeynes@831
   856
+datadir='${prefix}/share'
nkeynes@831
   857
+sysconfdir='${prefix}/etc'
nkeynes@831
   858
+sharedstatedir='${prefix}/com'
nkeynes@831
   859
+localstatedir='${prefix}/var'
nkeynes@831
   860
+libdir='${exec_prefix}/lib'
nkeynes@831
   861
+includedir='${prefix}/include'
nkeynes@831
   862
+oldincludedir='/usr/include'
nkeynes@831
   863
+infodir='${prefix}/info'
nkeynes@831
   864
+mandir='${prefix}/man'
nkeynes@831
   865
+
nkeynes@831
   866
+# Initialize some other variables.
nkeynes@831
   867
+subdirs=
nkeynes@831
   868
+MFLAGS= MAKEFLAGS=
nkeynes@831
   869
+SHELL=${CONFIG_SHELL-/bin/sh}
nkeynes@831
   870
+# Maximum number of lines to put in a shell here document.
nkeynes@831
   871
+ac_max_here_lines=12
nkeynes@831
   872
+
nkeynes@831
   873
+ac_prev=
nkeynes@831
   874
+for ac_option
nkeynes@831
   875
+do
nkeynes@831
   876
+
nkeynes@831
   877
+  # If the previous option needs an argument, assign it.
nkeynes@831
   878
+  if test -n "$ac_prev"; then
nkeynes@831
   879
+    eval "$ac_prev=\$ac_option"
nkeynes@831
   880
+    ac_prev=
nkeynes@831
   881
+    continue
nkeynes@831
   882
+  fi
nkeynes@831
   883
+
nkeynes@831
   884
+  case "$ac_option" in
nkeynes@831
   885
+  -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
nkeynes@831
   886
+  *) ac_optarg= ;;
nkeynes@831
   887
+  esac
nkeynes@831
   888
+
nkeynes@831
   889
+  # Accept the important Cygnus configure options, so we can diagnose typos.
nkeynes@831
   890
+
nkeynes@831
   891
+  case "$ac_option" in
nkeynes@831
   892
+
nkeynes@831
   893
+  -bindir | --bindir | --bindi | --bind | --bin | --bi)
nkeynes@831
   894
+    ac_prev=bindir ;;
nkeynes@831
   895
+  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
nkeynes@831
   896
+    bindir="$ac_optarg" ;;
nkeynes@831
   897
+
nkeynes@831
   898
+  -build | --build | --buil | --bui | --bu)
nkeynes@831
   899
+    ac_prev=build ;;
nkeynes@831
   900
+  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
nkeynes@831
   901
+    build="$ac_optarg" ;;
nkeynes@831
   902
+
nkeynes@831
   903
+  -cache-file | --cache-file | --cache-fil | --cache-fi \
nkeynes@831
   904
+  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
nkeynes@831
   905
+    ac_prev=cache_file ;;
nkeynes@831
   906
+  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
nkeynes@831
   907
+  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
nkeynes@831
   908
+    cache_file="$ac_optarg" ;;
nkeynes@831
   909
+
nkeynes@831
   910
+  -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
nkeynes@831
   911
+    ac_prev=datadir ;;
nkeynes@831
   912
+  -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
nkeynes@831
   913
+  | --da=*)
nkeynes@831
   914
+    datadir="$ac_optarg" ;;
nkeynes@831
   915
+
nkeynes@831
   916
+  -disable-* | --disable-*)
nkeynes@831
   917
+    ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
nkeynes@831
   918
+    # Reject names that are not valid shell variable names.
nkeynes@831
   919
+    if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
nkeynes@831
   920
+      { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
nkeynes@831
   921
+    fi
nkeynes@831
   922
+    ac_feature=`echo $ac_feature| sed 's/-/_/g'`
nkeynes@831
   923
+    eval "enable_${ac_feature}=no" ;;
nkeynes@831
   924
+
nkeynes@831
   925
+  -enable-* | --enable-*)
nkeynes@831
   926
+    ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
nkeynes@831
   927
+    # Reject names that are not valid shell variable names.
nkeynes@831
   928
+    if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
nkeynes@831
   929
+      { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
nkeynes@831
   930
+    fi
nkeynes@831
   931
+    ac_feature=`echo $ac_feature| sed 's/-/_/g'`
nkeynes@831
   932
+    case "$ac_option" in
nkeynes@831
   933
+      *=*) ;;
nkeynes@831
   934
+      *) ac_optarg=yes ;;
nkeynes@831
   935
+    esac
nkeynes@831
   936
+    eval "enable_${ac_feature}='$ac_optarg'" ;;
nkeynes@831
   937
+
nkeynes@831
   938
+  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
nkeynes@831
   939
+  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
nkeynes@831
   940
+  | --exec | --exe | --ex)
nkeynes@831
   941
+    ac_prev=exec_prefix ;;
nkeynes@831
   942
+  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
nkeynes@831
   943
+  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
nkeynes@831
   944
+  | --exec=* | --exe=* | --ex=*)
nkeynes@831
   945
+    exec_prefix="$ac_optarg" ;;
nkeynes@831
   946
+
nkeynes@831
   947
+  -gas | --gas | --ga | --g)
nkeynes@831
   948
+    # Obsolete; use --with-gas.
nkeynes@831
   949
+    with_gas=yes ;;
nkeynes@831
   950
+
nkeynes@831
   951
+  -help | --help | --hel | --he)
nkeynes@831
   952
+    # Omit some internal or obsolete options to make the list less imposing.
nkeynes@831
   953
+    # This message is too long to be a string in the A/UX 3.1 sh.
nkeynes@831
   954
+    cat << EOF
nkeynes@831
   955
+Usage: configure [options] [host]
nkeynes@831
   956
+Options: [defaults in brackets after descriptions]
nkeynes@831
   957
+Configuration:
nkeynes@831
   958
+  --cache-file=FILE       cache test results in FILE
nkeynes@831
   959
+  --help                  print this message
nkeynes@831
   960
+  --no-create             do not create output files
nkeynes@831
   961
+  --quiet, --silent       do not print \`checking...' messages
nkeynes@831
   962
+  --version               print the version of autoconf that created configure
nkeynes@831
   963
+Directory and file names:
nkeynes@831
   964
+  --prefix=PREFIX         install architecture-independent files in PREFIX
nkeynes@831
   965
+                          [$ac_default_prefix]
nkeynes@831
   966
+  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
nkeynes@831
   967
+                          [same as prefix]
nkeynes@831
   968
+  --bindir=DIR            user executables in DIR [EPREFIX/bin]
nkeynes@831
   969
+  --sbindir=DIR           system admin executables in DIR [EPREFIX/sbin]
nkeynes@831
   970
+  --libexecdir=DIR        program executables in DIR [EPREFIX/libexec]
nkeynes@831
   971
+  --datadir=DIR           read-only architecture-independent data in DIR
nkeynes@831
   972
+                          [PREFIX/share]
nkeynes@831
   973
+  --sysconfdir=DIR        read-only single-machine data in DIR [PREFIX/etc]
nkeynes@831
   974
+  --sharedstatedir=DIR    modifiable architecture-independent data in DIR
nkeynes@831
   975
+                          [PREFIX/com]
nkeynes@831
   976
+  --localstatedir=DIR     modifiable single-machine data in DIR [PREFIX/var]
nkeynes@831
   977
+  --libdir=DIR            object code libraries in DIR [EPREFIX/lib]
nkeynes@831
   978
+  --includedir=DIR        C header files in DIR [PREFIX/include]
nkeynes@831
   979
+  --oldincludedir=DIR     C header files for non-gcc in DIR [/usr/include]
nkeynes@831
   980
+  --infodir=DIR           info documentation in DIR [PREFIX/info]
nkeynes@831
   981
+  --mandir=DIR            man documentation in DIR [PREFIX/man]
nkeynes@831
   982
+  --srcdir=DIR            find the sources in DIR [configure dir or ..]
nkeynes@831
   983
+  --program-prefix=PREFIX prepend PREFIX to installed program names
nkeynes@831
   984
+  --program-suffix=SUFFIX append SUFFIX to installed program names
nkeynes@831
   985
+  --program-transform-name=PROGRAM
nkeynes@831
   986
+                          run sed PROGRAM on installed program names
nkeynes@831
   987
+EOF
nkeynes@831
   988
+    cat << EOF
nkeynes@831
   989
+Host type:
nkeynes@831
   990
+  --build=BUILD           configure for building on BUILD [BUILD=HOST]
nkeynes@831
   991
+  --host=HOST             configure for HOST [guessed]
nkeynes@831
   992
+  --target=TARGET         configure for TARGET [TARGET=HOST]
nkeynes@831
   993
+Features and packages:
nkeynes@831
   994
+  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
nkeynes@831
   995
+  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
nkeynes@831
   996
+  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
nkeynes@831
   997
+  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
nkeynes@831
   998
+  --x-includes=DIR        X include files are in DIR
nkeynes@831
   999
+  --x-libraries=DIR       X library files are in DIR
nkeynes@831
  1000
+EOF
nkeynes@831
  1001
+    if test -n "$ac_help"; then
nkeynes@831
  1002
+      echo "--enable and --with options recognized:$ac_help"
nkeynes@831
  1003
+    fi
nkeynes@831
  1004
+    exit 0 ;;
nkeynes@831
  1005
+
nkeynes@831
  1006
+  -host | --host | --hos | --ho)
nkeynes@831
  1007
+    ac_prev=host ;;
nkeynes@831
  1008
+  -host=* | --host=* | --hos=* | --ho=*)
nkeynes@831
  1009
+    host="$ac_optarg" ;;
nkeynes@831
  1010
+
nkeynes@831
  1011
+  -includedir | --includedir | --includedi | --included | --include \
nkeynes@831
  1012
+  | --includ | --inclu | --incl | --inc)
nkeynes@831
  1013
+    ac_prev=includedir ;;
nkeynes@831
  1014
+  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
nkeynes@831
  1015
+  | --includ=* | --inclu=* | --incl=* | --inc=*)
nkeynes@831
  1016
+    includedir="$ac_optarg" ;;
nkeynes@831
  1017
+
nkeynes@831
  1018
+  -infodir | --infodir | --infodi | --infod | --info | --inf)
nkeynes@831
  1019
+    ac_prev=infodir ;;
nkeynes@831
  1020
+  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
nkeynes@831
  1021
+    infodir="$ac_optarg" ;;
nkeynes@831
  1022
+
nkeynes@831
  1023
+  -libdir | --libdir | --libdi | --libd)
nkeynes@831
  1024
+    ac_prev=libdir ;;
nkeynes@831
  1025
+  -libdir=* | --libdir=* | --libdi=* | --libd=*)
nkeynes@831
  1026
+    libdir="$ac_optarg" ;;
nkeynes@831
  1027
+
nkeynes@831
  1028
+  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
nkeynes@831
  1029
+  | --libexe | --libex | --libe)
nkeynes@831
  1030
+    ac_prev=libexecdir ;;
nkeynes@831
  1031
+  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
nkeynes@831
  1032
+  | --libexe=* | --libex=* | --libe=*)
nkeynes@831
  1033
+    libexecdir="$ac_optarg" ;;
nkeynes@831
  1034
+
nkeynes@831
  1035
+  -localstatedir | --localstatedir | --localstatedi | --localstated \
nkeynes@831
  1036
+  | --localstate | --localstat | --localsta | --localst \
nkeynes@831
  1037
+  | --locals | --local | --loca | --loc | --lo)
nkeynes@831
  1038
+    ac_prev=localstatedir ;;
nkeynes@831
  1039
+  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
nkeynes@831
  1040
+  | --localstate=* | --localstat=* | --localsta=* | --localst=* \
nkeynes@831
  1041
+  | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
nkeynes@831
  1042
+    localstatedir="$ac_optarg" ;;
nkeynes@831
  1043
+
nkeynes@831
  1044
+  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
nkeynes@831
  1045
+    ac_prev=mandir ;;
nkeynes@831
  1046
+  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
nkeynes@831
  1047
+    mandir="$ac_optarg" ;;
nkeynes@831
  1048
+
nkeynes@831
  1049
+  -nfp | --nfp | --nf)
nkeynes@831
  1050
+    # Obsolete; use --without-fp.
nkeynes@831
  1051
+    with_fp=no ;;
nkeynes@831
  1052
+
nkeynes@831
  1053
+  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
nkeynes@831
  1054
+  | --no-cr | --no-c)
nkeynes@831
  1055
+    no_create=yes ;;
nkeynes@831
  1056
+
nkeynes@831
  1057
+  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
nkeynes@831
  1058
+  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
nkeynes@831
  1059
+    no_recursion=yes ;;
nkeynes@831
  1060
+
nkeynes@831
  1061
+  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
nkeynes@831
  1062
+  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
nkeynes@831
  1063
+  | --oldin | --oldi | --old | --ol | --o)
nkeynes@831
  1064
+    ac_prev=oldincludedir ;;
nkeynes@831
  1065
+  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
nkeynes@831
  1066
+  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
nkeynes@831
  1067
+  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
nkeynes@831
  1068
+    oldincludedir="$ac_optarg" ;;
nkeynes@831
  1069
+
nkeynes@831
  1070
+  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
nkeynes@831
  1071
+    ac_prev=prefix ;;
nkeynes@831
  1072
+  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
nkeynes@831
  1073
+    prefix="$ac_optarg" ;;
nkeynes@831
  1074
+
nkeynes@831
  1075
+  -program-prefix | --program-prefix | --program-prefi | --program-pref \
nkeynes@831
  1076
+  | --program-pre | --program-pr | --program-p)
nkeynes@831
  1077
+    ac_prev=program_prefix ;;
nkeynes@831
  1078
+  -program-prefix=* | --program-prefix=* | --program-prefi=* \
nkeynes@831
  1079
+  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
nkeynes@831
  1080
+    program_prefix="$ac_optarg" ;;
nkeynes@831
  1081
+
nkeynes@831
  1082
+  -program-suffix | --program-suffix | --program-suffi | --program-suff \
nkeynes@831
  1083
+  | --program-suf | --program-su | --program-s)
nkeynes@831
  1084
+    ac_prev=program_suffix ;;
nkeynes@831
  1085
+  -program-suffix=* | --program-suffix=* | --program-suffi=* \
nkeynes@831
  1086
+  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
nkeynes@831
  1087
+    program_suffix="$ac_optarg" ;;
nkeynes@831
  1088
+
nkeynes@831
  1089
+  -program-transform-name | --program-transform-name \
nkeynes@831
  1090
+  | --program-transform-nam | --program-transform-na \
nkeynes@831
  1091
+  | --program-transform-n | --program-transform- \
nkeynes@831
  1092
+  | --program-transform | --program-transfor \
nkeynes@831
  1093
+  | --program-transfo | --program-transf \
nkeynes@831
  1094
+  | --program-trans | --program-tran \
nkeynes@831
  1095
+  | --progr-tra | --program-tr | --program-t)
nkeynes@831
  1096
+    ac_prev=program_transform_name ;;
nkeynes@831
  1097
+  -program-transform-name=* | --program-transform-name=* \
nkeynes@831
  1098
+  | --program-transform-nam=* | --program-transform-na=* \
nkeynes@831
  1099
+  | --program-transform-n=* | --program-transform-=* \
nkeynes@831
  1100
+  | --program-transform=* | --program-transfor=* \
nkeynes@831
  1101
+  | --program-transfo=* | --program-transf=* \
nkeynes@831
  1102
+  | --program-trans=* | --program-tran=* \
nkeynes@831
  1103
+  | --progr-tra=* | --program-tr=* | --program-t=*)
nkeynes@831
  1104
+    program_transform_name="$ac_optarg" ;;
nkeynes@831
  1105
+
nkeynes@831
  1106
+  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
nkeynes@831
  1107
+  | -silent | --silent | --silen | --sile | --sil)
nkeynes@831
  1108
+    silent=yes ;;
nkeynes@831
  1109
+
nkeynes@831
  1110
+  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
nkeynes@831
  1111
+    ac_prev=sbindir ;;
nkeynes@831
  1112
+  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
nkeynes@831
  1113
+  | --sbi=* | --sb=*)
nkeynes@831
  1114
+    sbindir="$ac_optarg" ;;
nkeynes@831
  1115
+
nkeynes@831
  1116
+  -sharedstatedir | --sharedstatedir | --sharedstatedi \
nkeynes@831
  1117
+  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
nkeynes@831
  1118
+  | --sharedst | --shareds | --shared | --share | --shar \
nkeynes@831
  1119
+  | --sha | --sh)
nkeynes@831
  1120
+    ac_prev=sharedstatedir ;;
nkeynes@831
  1121
+  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
nkeynes@831
  1122
+  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
nkeynes@831
  1123
+  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
nkeynes@831
  1124
+  | --sha=* | --sh=*)
nkeynes@831
  1125
+    sharedstatedir="$ac_optarg" ;;
nkeynes@831
  1126
+
nkeynes@831
  1127
+  -site | --site | --sit)
nkeynes@831
  1128
+    ac_prev=site ;;
nkeynes@831
  1129
+  -site=* | --site=* | --sit=*)
nkeynes@831
  1130
+    site="$ac_optarg" ;;
nkeynes@831
  1131
+
nkeynes@831
  1132
+  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
nkeynes@831
  1133
+    ac_prev=srcdir ;;
nkeynes@831
  1134
+  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
nkeynes@831
  1135
+    srcdir="$ac_optarg" ;;
nkeynes@831
  1136
+
nkeynes@831
  1137
+  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
nkeynes@831
  1138
+  | --syscon | --sysco | --sysc | --sys | --sy)
nkeynes@831
  1139
+    ac_prev=sysconfdir ;;
nkeynes@831
  1140
+  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
nkeynes@831
  1141
+  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
nkeynes@831
  1142
+    sysconfdir="$ac_optarg" ;;
nkeynes@831
  1143
+
nkeynes@831
  1144
+  -target | --target | --targe | --targ | --tar | --ta | --t)
nkeynes@831
  1145
+    ac_prev=target ;;
nkeynes@831
  1146
+  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
nkeynes@831
  1147
+    target="$ac_optarg" ;;
nkeynes@831
  1148
+
nkeynes@831
  1149
+  -v | -verbose | --verbose | --verbos | --verbo | --verb)
nkeynes@831
  1150
+    verbose=yes ;;
nkeynes@831
  1151
+
nkeynes@831
  1152
+  -version | --version | --versio | --versi | --vers)
nkeynes@831
  1153
+    echo "configure generated by autoconf version 2.13"
nkeynes@831
  1154
+    exit 0 ;;
nkeynes@831
  1155
+
nkeynes@831
  1156
+  -with-* | --with-*)
nkeynes@831
  1157
+    ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
nkeynes@831
  1158
+    # Reject names that are not valid shell variable names.
nkeynes@831
  1159
+    if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
nkeynes@831
  1160
+      { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
nkeynes@831
  1161
+    fi
nkeynes@831
  1162
+    ac_package=`echo $ac_package| sed 's/-/_/g'`
nkeynes@831
  1163
+    case "$ac_option" in
nkeynes@831
  1164
+      *=*) ;;
nkeynes@831
  1165
+      *) ac_optarg=yes ;;
nkeynes@831
  1166
+    esac
nkeynes@831
  1167
+    eval "with_${ac_package}='$ac_optarg'" ;;
nkeynes@831
  1168
+
nkeynes@831
  1169
+  -without-* | --without-*)
nkeynes@831
  1170
+    ac_package=`echo $ac_option|sed -e 's/-*without-//'`
nkeynes@831
  1171
+    # Reject names that are not valid shell variable names.
nkeynes@831
  1172
+    if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
nkeynes@831
  1173
+      { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
nkeynes@831
  1174
+    fi
nkeynes@831
  1175
+    ac_package=`echo $ac_package| sed 's/-/_/g'`
nkeynes@831
  1176
+    eval "with_${ac_package}=no" ;;
nkeynes@831
  1177
+
nkeynes@831
  1178
+  --x)
nkeynes@831
  1179
+    # Obsolete; use --with-x.
nkeynes@831
  1180
+    with_x=yes ;;
nkeynes@831
  1181
+
nkeynes@831
  1182
+  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
nkeynes@831
  1183
+  | --x-incl | --x-inc | --x-in | --x-i)
nkeynes@831
  1184
+    ac_prev=x_includes ;;
nkeynes@831
  1185
+  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
nkeynes@831
  1186
+  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
nkeynes@831
  1187
+    x_includes="$ac_optarg" ;;
nkeynes@831
  1188
+
nkeynes@831
  1189
+  -x-libraries | --x-libraries | --x-librarie | --x-librari \
nkeynes@831
  1190
+  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
nkeynes@831
  1191
+    ac_prev=x_libraries ;;
nkeynes@831
  1192
+  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
nkeynes@831
  1193
+  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
nkeynes@831
  1194
+    x_libraries="$ac_optarg" ;;
nkeynes@831
  1195
+
nkeynes@831
  1196
+  -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
nkeynes@831
  1197
+    ;;
nkeynes@831
  1198
+
nkeynes@831
  1199
+  *)
nkeynes@831
  1200
+    if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
nkeynes@831
  1201
+      echo "configure: warning: $ac_option: invalid host type" 1>&2
nkeynes@831
  1202
+    fi
nkeynes@831
  1203
+    if test "x$nonopt" != xNONE; then
nkeynes@831
  1204
+      { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
nkeynes@831
  1205
+    fi
nkeynes@831
  1206
+    nonopt="$ac_option"
nkeynes@831
  1207
+    ;;
nkeynes@831
  1208
+
nkeynes@831
  1209
+  esac
nkeynes@831
  1210
+done
nkeynes@831
  1211
+
nkeynes@831
  1212
+if test -n "$ac_prev"; then
nkeynes@831
  1213
+  { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
nkeynes@831
  1214
+fi
nkeynes@831
  1215
+
nkeynes@831
  1216
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
nkeynes@831
  1217
+
nkeynes@831
  1218
+# File descriptor usage:
nkeynes@831
  1219
+# 0 standard input
nkeynes@831
  1220
+# 1 file creation
nkeynes@831
  1221
+# 2 errors and warnings
nkeynes@831
  1222
+# 3 some systems may open it to /dev/tty
nkeynes@831
  1223
+# 4 used on the Kubota Titan
nkeynes@831
  1224
+# 6 checking for... messages and results
nkeynes@831
  1225
+# 5 compiler messages saved in config.log
nkeynes@831
  1226
+if test "$silent" = yes; then
nkeynes@831
  1227
+  exec 6>/dev/null
nkeynes@831
  1228
+else
nkeynes@831
  1229
+  exec 6>&1
nkeynes@831
  1230
+fi
nkeynes@831
  1231
+exec 5>./config.log
nkeynes@831
  1232
+
nkeynes@831
  1233
+echo "\
nkeynes@831
  1234
+This file contains any messages produced by compilers while
nkeynes@831
  1235
+running configure, to aid debugging if configure makes a mistake.
nkeynes@831
  1236
+" 1>&5
nkeynes@831
  1237
+
nkeynes@831
  1238
+# Strip out --no-create and --no-recursion so they do not pile up.
nkeynes@831
  1239
+# Also quote any args containing shell metacharacters.
nkeynes@831
  1240
+ac_configure_args=
nkeynes@831
  1241
+for ac_arg
nkeynes@831
  1242
+do
nkeynes@831
  1243
+  case "$ac_arg" in
nkeynes@831
  1244
+  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
nkeynes@831
  1245
+  | --no-cr | --no-c) ;;
nkeynes@831
  1246
+  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
nkeynes@831
  1247
+  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
nkeynes@831
  1248
+  *" "*|*"	"*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
nkeynes@831
  1249
+  ac_configure_args="$ac_configure_args '$ac_arg'" ;;
nkeynes@831
  1250
+  *) ac_configure_args="$ac_configure_args $ac_arg" ;;
nkeynes@831
  1251
+  esac
nkeynes@831
  1252
+done
nkeynes@831
  1253
+
nkeynes@831
  1254
+# NLS nuisances.
nkeynes@831
  1255
+# Only set these to C if already set.  These must not be set unconditionally
nkeynes@831
  1256
+# because not all systems understand e.g. LANG=C (notably SCO).
nkeynes@831
  1257
+# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
nkeynes@831
  1258
+# Non-C LC_CTYPE values break the ctype check.
nkeynes@831
  1259
+if test "${LANG+set}"   = set; then LANG=C;   export LANG;   fi
nkeynes@831
  1260
+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
nkeynes@831
  1261
+if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
nkeynes@831
  1262
+if test "${LC_CTYPE+set}"    = set; then LC_CTYPE=C;    export LC_CTYPE;    fi
nkeynes@831
  1263
+
nkeynes@831
  1264
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
nkeynes@831
  1265
+rm -rf conftest* confdefs.h
nkeynes@831
  1266
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
nkeynes@831
  1267
+echo > confdefs.h
nkeynes@831
  1268
+
nkeynes@831
  1269
+# A filename unique to this package, relative to the directory that
nkeynes@831
  1270
+# configure is in, which we can look for to find out if srcdir is correct.
nkeynes@831
  1271
+ac_unique_file=sbrk.c
nkeynes@831
  1272
+
nkeynes@831
  1273
+# Find the source files, if location was not specified.
nkeynes@831
  1274
+if test -z "$srcdir"; then
nkeynes@831
  1275
+  ac_srcdir_defaulted=yes
nkeynes@831
  1276
+  # Try the directory containing this script, then its parent.
nkeynes@831
  1277
+  ac_prog=$0
nkeynes@831
  1278
+  ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
nkeynes@831
  1279
+  test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
nkeynes@831
  1280
+  srcdir=$ac_confdir
nkeynes@831
  1281
+  if test ! -r $srcdir/$ac_unique_file; then
nkeynes@831
  1282
+    srcdir=..
nkeynes@831
  1283
+  fi
nkeynes@831
  1284
+else
nkeynes@831
  1285
+  ac_srcdir_defaulted=no
nkeynes@831
  1286
+fi
nkeynes@831
  1287
+if test ! -r $srcdir/$ac_unique_file; then
nkeynes@831
  1288
+  if test "$ac_srcdir_defaulted" = yes; then
nkeynes@831
  1289
+    { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
nkeynes@831
  1290
+  else
nkeynes@831
  1291
+    { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
nkeynes@831
  1292
+  fi
nkeynes@831
  1293
+fi
nkeynes@831
  1294
+srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
nkeynes@831
  1295
+
nkeynes@831
  1296
+# Prefer explicitly selected file to automatically selected ones.
nkeynes@831
  1297
+if test -z "$CONFIG_SITE"; then
nkeynes@831
  1298
+  if test "x$prefix" != xNONE; then
nkeynes@831
  1299
+    CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
nkeynes@831
  1300
+  else
nkeynes@831
  1301
+    CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
nkeynes@831
  1302
+  fi
nkeynes@831
  1303
+fi
nkeynes@831
  1304
+for ac_site_file in $CONFIG_SITE; do
nkeynes@831
  1305
+  if test -r "$ac_site_file"; then
nkeynes@831
  1306
+    echo "loading site script $ac_site_file"
nkeynes@831
  1307
+    . "$ac_site_file"
nkeynes@831
  1308
+  fi
nkeynes@831
  1309
+done
nkeynes@831
  1310
+
nkeynes@831
  1311
+if test -r "$cache_file"; then
nkeynes@831
  1312
+  echo "loading cache $cache_file"
nkeynes@831
  1313
+  . $cache_file
nkeynes@831
  1314
+else
nkeynes@831
  1315
+  echo "creating cache $cache_file"
nkeynes@831
  1316
+  > $cache_file
nkeynes@831
  1317
+fi
nkeynes@831
  1318
+
nkeynes@831
  1319
+ac_ext=c
nkeynes@831
  1320
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
nkeynes@831
  1321
+ac_cpp='$CPP $CPPFLAGS'
nkeynes@831
  1322
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
nkeynes@831
  1323
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
nkeynes@831
  1324
+cross_compiling=$ac_cv_prog_cc_cross
nkeynes@831
  1325
+
nkeynes@831
  1326
+ac_exeext=
nkeynes@831
  1327
+ac_objext=o
nkeynes@831
  1328
+if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
nkeynes@831
  1329
+  # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
nkeynes@831
  1330
+  if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
nkeynes@831
  1331
+    ac_n= ac_c='
nkeynes@831
  1332
+' ac_t='	'
nkeynes@831
  1333
+  else
nkeynes@831
  1334
+    ac_n=-n ac_c= ac_t=
nkeynes@831
  1335
+  fi
nkeynes@831
  1336
+else
nkeynes@831
  1337
+  ac_n= ac_c='\c' ac_t=
nkeynes@831
  1338
+fi
nkeynes@831
  1339
+
nkeynes@831
  1340
+
nkeynes@831
  1341
+
nkeynes@831
  1342
+ac_aux_dir=
nkeynes@831
  1343
+for ac_dir in ../../../.. $srcdir/../../../..; do
nkeynes@831
  1344
+  if test -f $ac_dir/install-sh; then
nkeynes@831
  1345
+    ac_aux_dir=$ac_dir
nkeynes@831
  1346
+    ac_install_sh="$ac_aux_dir/install-sh -c"
nkeynes@831
  1347
+    break
nkeynes@831
  1348
+  elif test -f $ac_dir/install.sh; then
nkeynes@831
  1349
+    ac_aux_dir=$ac_dir
nkeynes@831
  1350
+    ac_install_sh="$ac_aux_dir/install.sh -c"
nkeynes@831
  1351
+    break
nkeynes@831
  1352
+  fi
nkeynes@831
  1353
+done
nkeynes@831
  1354
+if test -z "$ac_aux_dir"; then
nkeynes@831
  1355
+  { echo "configure: error: can not find install-sh or install.sh in ../../../.. $srcdir/../../../.." 1>&2; exit 1; }
nkeynes@831
  1356
+fi
nkeynes@831
  1357
+ac_config_guess=$ac_aux_dir/config.guess
nkeynes@831
  1358
+ac_config_sub=$ac_aux_dir/config.sub
nkeynes@831
  1359
+ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
nkeynes@831
  1360
+
nkeynes@831
  1361
+
nkeynes@831
  1362
+# Find a good install program.  We prefer a C program (faster),
nkeynes@831
  1363
+# so one script is as good as another.  But avoid the broken or
nkeynes@831
  1364
+# incompatible versions:
nkeynes@831
  1365
+# SysV /etc/install, /usr/sbin/install
nkeynes@831
  1366
+# SunOS /usr/etc/install
nkeynes@831
  1367
+# IRIX /sbin/install
nkeynes@831
  1368
+# AIX /bin/install
nkeynes@831
  1369
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
nkeynes@831
  1370
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
nkeynes@831
  1371
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
nkeynes@831
  1372
+# ./install, which can be erroneously created by make from ./install.sh.
nkeynes@831
  1373
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
nkeynes@831
  1374
+echo "configure:564: checking for a BSD compatible install" >&5
nkeynes@831
  1375
+if test -z "$INSTALL"; then
nkeynes@831
  1376
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
nkeynes@831
  1377
+  echo $ac_n "(cached) $ac_c" 1>&6
nkeynes@831
  1378
+else
nkeynes@831
  1379
+    IFS="${IFS= 	}"; ac_save_IFS="$IFS"; IFS=":"
nkeynes@831
  1380
+  for ac_dir in $PATH; do
nkeynes@831
  1381
+    # Account for people who put trailing slashes in PATH elements.
nkeynes@831
  1382
+    case "$ac_dir/" in
nkeynes@831
  1383
+    /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
nkeynes@831
  1384
+    *)
nkeynes@831
  1385
+      # OSF1 and SCO ODT 3.0 have their own names for install.
nkeynes@831
  1386
+      # Don't use installbsd from OSF since it installs stuff as root
nkeynes@831
  1387
+      # by default.
nkeynes@831
  1388
+      for ac_prog in ginstall scoinst install; do
nkeynes@831
  1389
+        if test -f $ac_dir/$ac_prog; then
nkeynes@831
  1390
+	  if test $ac_prog = install &&
nkeynes@831
  1391
+            grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
nkeynes@831
  1392
+	    # AIX install.  It has an incompatible calling convention.
nkeynes@831
  1393
+	    :
nkeynes@831
  1394
+	  else
nkeynes@831
  1395
+	    ac_cv_path_install="$ac_dir/$ac_prog -c"
nkeynes@831
  1396
+	    break 2
nkeynes@831
  1397
+	  fi
nkeynes@831
  1398
+	fi
nkeynes@831
  1399
+      done
nkeynes@831
  1400
+      ;;
nkeynes@831
  1401
+    esac
nkeynes@831
  1402
+  done
nkeynes@831
  1403
+  IFS="$ac_save_IFS"
nkeynes@831
  1404
+
nkeynes@831
  1405
+fi
nkeynes@831
  1406
+  if test "${ac_cv_path_install+set}" = set; then
nkeynes@831
  1407
+    INSTALL="$ac_cv_path_install"
nkeynes@831
  1408
+  else
nkeynes@831
  1409
+    # As a last resort, use the slow shell script.  We don't cache a
nkeynes@831
  1410
+    # path for INSTALL within a source directory, because that will
nkeynes@831
  1411
+    # break other packages using the cache if that directory is
nkeynes@831
  1412
+    # removed, or if the path is relative.
nkeynes@831
  1413
+    INSTALL="$ac_install_sh"
nkeynes@831
  1414
+  fi
nkeynes@831
  1415
+fi
nkeynes@831
  1416
+echo "$ac_t""$INSTALL" 1>&6
nkeynes@831
  1417
+
nkeynes@831
  1418
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
nkeynes@831
  1419
+# It thinks the first close brace ends the variable substitution.
nkeynes@831
  1420
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
nkeynes@831
  1421
+
nkeynes@831
  1422
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
nkeynes@831
  1423
+
nkeynes@831
  1424
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
nkeynes@831
  1425
+
nkeynes@831
  1426
+
nkeynes@831
  1427
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
nkeynes@831
  1428
+
nkeynes@831
  1429
+echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
nkeynes@831
  1430
+echo "configure:620: checking whether build environment is sane" >&5
nkeynes@831
  1431
+# Just in case
nkeynes@831
  1432
+sleep 1
nkeynes@831
  1433
+echo timestamp > conftestfile
nkeynes@831
  1434
+# Do `set' in a subshell so we don't clobber the current shell's
nkeynes@831
  1435
+# arguments.  Must try -L first in case configure is actually a
nkeynes@831
  1436
+# symlink; some systems play weird games with the mod time of symlinks
nkeynes@831
  1437
+# (eg FreeBSD returns the mod time of the symlink's containing
nkeynes@831
  1438
+# directory).
nkeynes@831
  1439
+if (
nkeynes@831
  1440
+   set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
nkeynes@831
  1441
+   if test "$*" = "X"; then
nkeynes@831
  1442
+      # -L didn't work.
nkeynes@831
  1443
+      set X `ls -t $srcdir/configure conftestfile`
nkeynes@831
  1444
+   fi
nkeynes@831
  1445
+   if test "$*" != "X $srcdir/configure conftestfile" \
nkeynes@831
  1446
+      && test "$*" != "X conftestfile $srcdir/configure"; then
nkeynes@831
  1447
+
nkeynes@831
  1448
+      # If neither matched, then we have a broken ls.  This can happen
nkeynes@831
  1449
+      # if, for instance, CONFIG_SHELL is bash and it inherits a
nkeynes@831
  1450
+      # broken ls alias from the environment.  This has actually
nkeynes@831
  1451
+      # happened.  Such a system could not be considered "sane".
nkeynes@831
  1452
+      { echo "configure: error: ls -t appears to fail.  Make sure there is not a broken
nkeynes@831
  1453
+alias in your environment" 1>&2; exit 1; }
nkeynes@831
  1454
+   fi
nkeynes@831
  1455
+
nkeynes@831
  1456
+   test "$2" = conftestfile
nkeynes@831
  1457
+   )
nkeynes@831
  1458
+then
nkeynes@831
  1459
+   # Ok.
nkeynes@831
  1460
+   :
nkeynes@831
  1461
+else
nkeynes@831
  1462
+   { echo "configure: error: newly created file is older than distributed files!
nkeynes@831
  1463
+Check your system clock" 1>&2; exit 1; }
nkeynes@831
  1464
+fi
nkeynes@831
  1465
+rm -f conftest*
nkeynes@831
  1466
+echo "$ac_t""yes" 1>&6
nkeynes@831
  1467
+if test "$program_transform_name" = s,x,x,; then
nkeynes@831
  1468
+  program_transform_name=
nkeynes@831
  1469
+else
nkeynes@831
  1470
+  # Double any \ or $.  echo might interpret backslashes.
nkeynes@831
  1471
+  cat <<\EOF_SED > conftestsed
nkeynes@831
  1472
+s,\\,\\\\,g; s,\$,$$,g
nkeynes@831
  1473
+EOF_SED
nkeynes@831
  1474
+  program_transform_name="`echo $program_transform_name|sed -f conftestsed`"
nkeynes@831
  1475
+  rm -f conftestsed
nkeynes@831
  1476
+fi
nkeynes@831
  1477
+test "$program_prefix" != NONE &&
nkeynes@831
  1478
+  program_transform_name="s,^,${program_prefix},; $program_transform_name"
nkeynes@831
  1479
+# Use a double $ so make ignores it.
nkeynes@831
  1480
+test "$program_suffix" != NONE &&
nkeynes@831
  1481
+  program_transform_name="s,\$\$,${program_suffix},; $program_transform_name"
nkeynes@831
  1482
+
nkeynes@831
  1483
+# sed with no file args requires a program.
nkeynes@831
  1484
+test "$program_transform_name" = "" && program_transform_name="s,x,x,"
nkeynes@831
  1485
+
nkeynes@831
  1486
+echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
nkeynes@831
  1487
+echo "configure:677: checking whether ${MAKE-make} sets \${MAKE}" >&5
nkeynes@831
  1488
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
nkeynes@831
  1489
+if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
nkeynes@831
  1490
+  echo $ac_n "(cached) $ac_c" 1>&6
nkeynes@831
  1491
+else
nkeynes@831
  1492
+  cat > conftestmake <<\EOF
nkeynes@831
  1493
+all:
nkeynes@831
  1494
+	@echo 'ac_maketemp="${MAKE}"'
nkeynes@831
  1495
+EOF
nkeynes@831
  1496
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
nkeynes@831
  1497
+eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
nkeynes@831
  1498
+if test -n "$ac_maketemp"; then
nkeynes@831
  1499
+  eval ac_cv_prog_make_${ac_make}_set=yes
nkeynes@831
  1500
+else
nkeynes@831
  1501
+  eval ac_cv_prog_make_${ac_make}_set=no
nkeynes@831
  1502
+fi
nkeynes@831
  1503
+rm -f conftestmake
nkeynes@831
  1504
+fi
nkeynes@831
  1505
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
nkeynes@831
  1506
+  echo "$ac_t""yes" 1>&6
nkeynes@831
  1507
+  SET_MAKE=
nkeynes@831
  1508
+else
nkeynes@831
  1509
+  echo "$ac_t""no" 1>&6
nkeynes@831
  1510
+  SET_MAKE="MAKE=${MAKE-make}"
nkeynes@831
  1511
+fi
nkeynes@831
  1512
+
nkeynes@831
  1513
+if test $host != $build; then
nkeynes@831
  1514
+  ac_tool_prefix=${host_alias}-
nkeynes@831
  1515
+else
nkeynes@831
  1516
+  ac_tool_prefix=
nkeynes@831
  1517
+fi
nkeynes@831
  1518
+
nkeynes@831
  1519
+echo $ac_n "checking for Cygwin32 environment""... $ac_c" 1>&6
nkeynes@831
  1520
+echo "configure:710: checking for Cygwin32 environment" >&5
nkeynes@831
  1521
+if eval "test \"`echo '$''{'am_cv_cygwin32'+set}'`\" = set"; then
nkeynes@831
  1522
+  echo $ac_n "(cached) $ac_c" 1>&6
nkeynes@831
  1523
+else
nkeynes@831
  1524
+  cat > conftest.$ac_ext <<EOF
nkeynes@831
  1525
+#line 715 "configure"
nkeynes@831
  1526
+#include "confdefs.h"
nkeynes@831
  1527
+
nkeynes@831
  1528
+int main() {
nkeynes@831
  1529
+return __CYGWIN32__;
nkeynes@831
  1530
+; return 0; }
nkeynes@831
  1531
+EOF
nkeynes@831
  1532
+if { (eval echo configure:722: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
nkeynes@831
  1533
+  rm -rf conftest*
nkeynes@831
  1534
+  am_cv_cygwin32=yes
nkeynes@831
  1535
+else
nkeynes@831
  1536
+  echo "configure: failed program was:" >&5
nkeynes@831
  1537
+  cat conftest.$ac_ext >&5
nkeynes@831
  1538
+  rm -rf conftest*
nkeynes@831
  1539
+  am_cv_cygwin32=no
nkeynes@831
  1540
+fi
nkeynes@831
  1541
+rm -f conftest*
nkeynes@831
  1542
+rm -f conftest*
nkeynes@831
  1543
+fi
nkeynes@831
  1544
+
nkeynes@831
  1545
+echo "$ac_t""$am_cv_cygwin32" 1>&6
nkeynes@831
  1546
+CYGWIN32=
nkeynes@831
  1547
+test "$am_cv_cygwin32" = yes && CYGWIN32=yes
nkeynes@831
  1548
+echo $ac_n "checking for Mingw32 environment""... $ac_c" 1>&6
nkeynes@831
  1549
+echo "configure:739: checking for Mingw32 environment" >&5
nkeynes@831
  1550
+if eval "test \"`echo '$''{'am_cv_mingw32'+set}'`\" = set"; then
nkeynes@831
  1551
+  echo $ac_n "(cached) $ac_c" 1>&6
nkeynes@831
  1552
+else
nkeynes@831
  1553
+  cat > conftest.$ac_ext <<EOF
nkeynes@831
  1554
+#line 744 "configure"
nkeynes@831
  1555
+#include "confdefs.h"
nkeynes@831
  1556
+
nkeynes@831
  1557
+int main() {
nkeynes@831
  1558
+return __MINGW32__;
nkeynes@831
  1559
+; return 0; }
nkeynes@831
  1560
+EOF
nkeynes@831
  1561
+if { (eval echo configure:751: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
nkeynes@831
  1562
+  rm -rf conftest*
nkeynes@831
  1563
+  am_cv_mingw32=yes
nkeynes@831
  1564
+else
nkeynes@831
  1565
+  echo "configure: failed program was:" >&5
nkeynes@831
  1566
+  cat conftest.$ac_ext >&5
nkeynes@831
  1567
+  rm -rf conftest*
nkeynes@831
  1568
+  am_cv_mingw32=no
nkeynes@831
  1569
+fi
nkeynes@831
  1570
+rm -f conftest*
nkeynes@831
  1571
+rm -f conftest*
nkeynes@831
  1572
+fi
nkeynes@831
  1573
+
nkeynes@831
  1574
+echo "$ac_t""$am_cv_mingw32" 1>&6
nkeynes@831
  1575
+MINGW32=
nkeynes@831
  1576
+test "$am_cv_mingw32" = yes && MINGW32=yes
nkeynes@831
  1577
+
nkeynes@831
  1578
+# Check whether --enable-multilib or --disable-multilib was given.
nkeynes@831
  1579
+if test "${enable_multilib+set}" = set; then
nkeynes@831
  1580
+  enableval="$enable_multilib"
nkeynes@831
  1581
+  case "${enableval}" in
nkeynes@831
  1582
+  yes) multilib=yes ;;
nkeynes@831
  1583
+  no)  multilib=no ;;
nkeynes@831
  1584
+  *)   { echo "configure: error: bad value ${enableval} for multilib option" 1>&2; exit 1; } ;;
nkeynes@831
  1585
+ esac
nkeynes@831
  1586
+else
nkeynes@831
  1587
+  multilib=yes
nkeynes@831
  1588
+fi
nkeynes@831
  1589
+
nkeynes@831
  1590
+# Check whether --enable-target-optspace or --disable-target-optspace was given.
nkeynes@831
  1591
+if test "${enable_target_optspace+set}" = set; then
nkeynes@831
  1592
+  enableval="$enable_target_optspace"
nkeynes@831
  1593
+  case "${enableval}" in
nkeynes@831
  1594
+  yes) target_optspace=yes ;;
nkeynes@831
  1595
+  no)  target_optspace=no ;;
nkeynes@831
  1596
+  *)   { echo "configure: error: bad value ${enableval} for target-optspace option" 1>&2; exit 1; } ;;
nkeynes@831
  1597
+ esac
nkeynes@831
  1598
+else
nkeynes@831
  1599
+  target_optspace=
nkeynes@831
  1600
+fi
nkeynes@831
  1601
+
nkeynes@831
  1602
+# Check whether --enable-newlib-mb or --disable-newlib-mb was given.
nkeynes@831
  1603
+if test "${enable_newlib_mb+set}" = set; then
nkeynes@831
  1604
+  enableval="$enable_newlib_mb"
nkeynes@831
  1605
+  case "${enableval}" in
nkeynes@831
  1606
+  yes) newlib_mb=yes ;;
nkeynes@831
  1607
+  no)  newlib_mb=no ;;
nkeynes@831
  1608
+  *)   { echo "configure: error: bad value ${enableval} for newlib-mb option" 1>&2; exit 1; } ;;
nkeynes@831
  1609
+ esac
nkeynes@831
  1610
+else
nkeynes@831
  1611
+  newlib_mb=no
nkeynes@831
  1612
+fi
nkeynes@831
  1613
+
nkeynes@831
  1614
+
nkeynes@831
  1615
+test -z "${with_target_subdir}" && with_target_subdir=.
nkeynes@831
  1616
+
nkeynes@831
  1617
+if test "${srcdir}" = "."; then
nkeynes@831
  1618
+  if test "${with_target_subdir}" != "."; then
nkeynes@831
  1619
+    newlib_basedir="${srcdir}/${with_multisrctop}../../../.."
nkeynes@831
  1620
+  else
nkeynes@831
  1621
+    newlib_basedir="${srcdir}/${with_multisrctop}../../.."
nkeynes@831
  1622
+  fi
nkeynes@831
  1623
+else
nkeynes@831
  1624
+  newlib_basedir="${srcdir}/../../.."
nkeynes@831
  1625
+fi
nkeynes@831
  1626
+
nkeynes@831
  1627
+
nkeynes@831
  1628
+
nkeynes@831
  1629
+# Make sure we can run config.sub.
nkeynes@831
  1630
+if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
nkeynes@831
  1631
+else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
nkeynes@831
  1632
+fi
nkeynes@831
  1633
+
nkeynes@831
  1634
+echo $ac_n "checking host system type""... $ac_c" 1>&6
nkeynes@831
  1635
+echo "configure:825: checking host system type" >&5
nkeynes@831
  1636
+
nkeynes@831
  1637
+host_alias=$host
nkeynes@831
  1638
+case "$host_alias" in
nkeynes@831
  1639
+NONE)
nkeynes@831
  1640
+  case $nonopt in
nkeynes@831
  1641
+  NONE)
nkeynes@831
  1642
+    if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
nkeynes@831
  1643
+    else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
nkeynes@831
  1644
+    fi ;;
nkeynes@831
  1645
+  *) host_alias=$nonopt ;;
nkeynes@831
  1646
+  esac ;;
nkeynes@831
  1647
+esac
nkeynes@831
  1648
+
nkeynes@831
  1649
+host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
nkeynes@831
  1650
+host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
nkeynes@831
  1651
+host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
nkeynes@831
  1652
+host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
nkeynes@831
  1653
+echo "$ac_t""$host" 1>&6
nkeynes@831
  1654
+
nkeynes@831
  1655
+
nkeynes@831
  1656
+
nkeynes@831
  1657
+PACKAGE=newlib
nkeynes@831
  1658
+
nkeynes@831
  1659
+VERSION=1.8.1
nkeynes@831
  1660
+
nkeynes@831
  1661
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
nkeynes@831
  1662
+  { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
nkeynes@831
  1663
+fi
nkeynes@831
  1664
+cat >> confdefs.h <<EOF
nkeynes@831
  1665
+#define PACKAGE "$PACKAGE"
nkeynes@831
  1666
+EOF
nkeynes@831
  1667
+
nkeynes@831
  1668
+cat >> confdefs.h <<EOF
nkeynes@831
  1669
+#define VERSION "$VERSION"
nkeynes@831
  1670
+EOF
nkeynes@831
  1671
+
nkeynes@831
  1672
+
nkeynes@831
  1673
+
nkeynes@831
  1674
+missing_dir=`cd $ac_aux_dir && pwd`
nkeynes@831
  1675
+echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
nkeynes@831
  1676
+echo "configure:866: checking for working aclocal" >&5
nkeynes@831
  1677
+# Run test in a subshell; some versions of sh will print an error if
nkeynes@831
  1678
+# an executable is not found, even if stderr is redirected.
nkeynes@831
  1679
+# Redirect stdin to placate older versions of autoconf.  Sigh.
nkeynes@831
  1680
+if (aclocal --version) < /dev/null > /dev/null 2>&1; then
nkeynes@831
  1681
+   ACLOCAL=aclocal
nkeynes@831
  1682
+   echo "$ac_t""found" 1>&6
nkeynes@831
  1683
+else
nkeynes@831
  1684
+   ACLOCAL="$missing_dir/missing aclocal"
nkeynes@831
  1685
+   echo "$ac_t""missing" 1>&6
nkeynes@831
  1686
+fi
nkeynes@831
  1687
+
nkeynes@831
  1688
+echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
nkeynes@831
  1689
+echo "configure:879: checking for working autoconf" >&5
nkeynes@831
  1690
+# Run test in a subshell; some versions of sh will print an error if
nkeynes@831
  1691
+# an executable is not found, even if stderr is redirected.
nkeynes@831
  1692
+# Redirect stdin to placate older versions of autoconf.  Sigh.
nkeynes@831
  1693
+if (autoconf --version) < /dev/null > /dev/null 2>&1; then
nkeynes@831
  1694
+   AUTOCONF=autoconf
nkeynes@831
  1695
+   echo "$ac_t""found" 1>&6
nkeynes@831
  1696
+else
nkeynes@831
  1697
+   AUTOCONF="$missing_dir/missing autoconf"
nkeynes@831
  1698
+   echo "$ac_t""missing" 1>&6
nkeynes@831
  1699
+fi
nkeynes@831
  1700
+
nkeynes@831
  1701
+echo $ac_n "checking for working automake""... $ac_c" 1>&6
nkeynes@831
  1702
+echo "configure:892: checking for working automake" >&5
nkeynes@831
  1703
+# Run test in a subshell; some versions of sh will print an error if
nkeynes@831
  1704
+# an executable is not found, even if stderr is redirected.
nkeynes@831
  1705
+# Redirect stdin to placate older versions of autoconf.  Sigh.
nkeynes@831
  1706
+if (automake --version) < /dev/null > /dev/null 2>&1; then
nkeynes@831
  1707
+   AUTOMAKE=automake
nkeynes@831
  1708
+   echo "$ac_t""found" 1>&6
nkeynes@831
  1709
+else
nkeynes@831
  1710
+   AUTOMAKE="$missing_dir/missing automake"
nkeynes@831
  1711
+   echo "$ac_t""missing" 1>&6
nkeynes@831
  1712
+fi
nkeynes@831
  1713
+
nkeynes@831
  1714
+echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
nkeynes@831
  1715
+echo "configure:905: checking for working autoheader" >&5
nkeynes@831
  1716
+# Run test in a subshell; some versions of sh will print an error if
nkeynes@831
  1717
+# an executable is not found, even if stderr is redirected.
nkeynes@831
  1718
+# Redirect stdin to placate older versions of autoconf.  Sigh.
nkeynes@831
  1719
+if (autoheader --version) < /dev/null > /dev/null 2>&1; then
nkeynes@831
  1720
+   AUTOHEADER=autoheader
nkeynes@831
  1721
+   echo "$ac_t""found" 1>&6
nkeynes@831
  1722
+else
nkeynes@831
  1723
+   AUTOHEADER="$missing_dir/missing autoheader"
nkeynes@831
  1724
+   echo "$ac_t""missing" 1>&6
nkeynes@831
  1725
+fi
nkeynes@831
  1726
+
nkeynes@831
  1727
+echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
nkeynes@831
  1728
+echo "configure:918: checking for working makeinfo" >&5
nkeynes@831
  1729
+# Run test in a subshell; some versions of sh will print an error if
nkeynes@831
  1730
+# an executable is not found, even if stderr is redirected.
nkeynes@831
  1731
+# Redirect stdin to placate older versions of autoconf.  Sigh.
nkeynes@831
  1732
+if (makeinfo --version) < /dev/null > /dev/null 2>&1; then
nkeynes@831
  1733
+   MAKEINFO=makeinfo
nkeynes@831
  1734
+   echo "$ac_t""found" 1>&6
nkeynes@831
  1735
+else
nkeynes@831
  1736
+   MAKEINFO="$missing_dir/missing makeinfo"
nkeynes@831
  1737
+   echo "$ac_t""missing" 1>&6
nkeynes@831
  1738
+fi
nkeynes@831
  1739
+
nkeynes@831
  1740
+
nkeynes@831
  1741
+
nkeynes@831
  1742
+# FIXME: We temporarily define our own version of AC_PROG_CC.  This is
nkeynes@831
  1743
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS.  We
nkeynes@831
  1744
+# are probably using a cross compiler, which will not be able to fully
nkeynes@831
  1745
+# link an executable.  This should really be fixed in autoconf
nkeynes@831
  1746
+# itself.
nkeynes@831
  1747
+
nkeynes@831
  1748
+
nkeynes@831
  1749
+
nkeynes@831
  1750
+# Extract the first word of "gcc", so it can be a program name with args.
nkeynes@831
  1751
+set dummy gcc; ac_word=$2
nkeynes@831
  1752
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
nkeynes@831
  1753
+echo "configure:943: checking for $ac_word" >&5
nkeynes@831
  1754
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
nkeynes@831
  1755
+  echo $ac_n "(cached) $ac_c" 1>&6
nkeynes@831
  1756
+else
nkeynes@831
  1757
+  if test -n "$CC"; then
nkeynes@831
  1758
+  ac_cv_prog_CC="$CC" # Let the user override the test.
nkeynes@831
  1759
+else
nkeynes@831
  1760
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
nkeynes@831
  1761
+  ac_dummy="$PATH"
nkeynes@831
  1762
+  for ac_dir in $ac_dummy; do
nkeynes@831
  1763
+    test -z "$ac_dir" && ac_dir=.
nkeynes@831
  1764
+    if test -f $ac_dir/$ac_word; then
nkeynes@831
  1765
+      ac_cv_prog_CC="gcc"
nkeynes@831
  1766
+      break
nkeynes@831
  1767
+    fi
nkeynes@831
  1768
+  done
nkeynes@831
  1769
+  IFS="$ac_save_ifs"
nkeynes@831
  1770
+fi
nkeynes@831
  1771
+fi
nkeynes@831
  1772
+CC="$ac_cv_prog_CC"
nkeynes@831
  1773
+if test -n "$CC"; then
nkeynes@831
  1774
+  echo "$ac_t""$CC" 1>&6
nkeynes@831
  1775
+else
nkeynes@831
  1776
+  echo "$ac_t""no" 1>&6
nkeynes@831
  1777
+fi
nkeynes@831
  1778
+
nkeynes@831
  1779
+if test -z "$CC"; then
nkeynes@831
  1780
+  # Extract the first word of "cc", so it can be a program name with args.
nkeynes@831
  1781
+set dummy cc; ac_word=$2
nkeynes@831
  1782
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
nkeynes@831
  1783
+echo "configure:973: checking for $ac_word" >&5
nkeynes@831
  1784
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
nkeynes@831
  1785
+  echo $ac_n "(cached) $ac_c" 1>&6
nkeynes@831
  1786
+else
nkeynes@831
  1787
+  if test -n "$CC"; then
nkeynes@831
  1788
+  ac_cv_prog_CC="$CC" # Let the user override the test.
nkeynes@831
  1789
+else
nkeynes@831
  1790
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
nkeynes@831
  1791
+  ac_prog_rejected=no
nkeynes@831
  1792
+  ac_dummy="$PATH"
nkeynes@831
  1793
+  for ac_dir in $ac_dummy; do
nkeynes@831
  1794
+    test -z "$ac_dir" && ac_dir=.
nkeynes@831
  1795
+    if test -f $ac_dir/$ac_word; then
nkeynes@831
  1796
+      if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
nkeynes@831
  1797
+        ac_prog_rejected=yes
nkeynes@831
  1798
+	continue
nkeynes@831
  1799
+      fi
nkeynes@831
  1800
+      ac_cv_prog_CC="cc"
nkeynes@831
  1801
+      break
nkeynes@831
  1802
+    fi
nkeynes@831
  1803
+  done
nkeynes@831
  1804
+  IFS="$ac_save_ifs"
nkeynes@831
  1805
+if test $ac_prog_rejected = yes; then
nkeynes@831
  1806
+  # We found a bogon in the path, so make sure we never use it.
nkeynes@831
  1807
+  set dummy $ac_cv_prog_CC
nkeynes@831
  1808
+  shift
nkeynes@831
  1809
+  if test $# -gt 0; then
nkeynes@831
  1810
+    # We chose a different compiler from the bogus one.
nkeynes@831
  1811
+    # However, it has the same basename, so the bogon will be chosen
nkeynes@831
  1812
+    # first if we set CC to just the basename; use the full file name.
nkeynes@831
  1813
+    shift
nkeynes@831
  1814
+    set dummy "$ac_dir/$ac_word" "$@"
nkeynes@831
  1815
+    shift
nkeynes@831
  1816
+    ac_cv_prog_CC="$@"
nkeynes@831
  1817
+  fi
nkeynes@831
  1818
+fi
nkeynes@831
  1819
+fi
nkeynes@831
  1820
+fi
nkeynes@831
  1821
+CC="$ac_cv_prog_CC"
nkeynes@831
  1822
+if test -n "$CC"; then
nkeynes@831
  1823
+  echo "$ac_t""$CC" 1>&6
nkeynes@831
  1824
+else
nkeynes@831
  1825
+  echo "$ac_t""no" 1>&6
nkeynes@831
  1826
+fi
nkeynes@831
  1827
+
nkeynes@831
  1828
+  test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
nkeynes@831
  1829
+fi
nkeynes@831
  1830
+
nkeynes@831
  1831
+echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
nkeynes@831
  1832
+echo "configure:1022: checking whether we are using GNU C" >&5
nkeynes@831
  1833
+if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
nkeynes@831
  1834
+  echo $ac_n "(cached) $ac_c" 1>&6
nkeynes@831
  1835
+else
nkeynes@831
  1836
+  cat > conftest.c <<EOF
nkeynes@831
  1837
+#ifdef __GNUC__
nkeynes@831
  1838
+  yes;
nkeynes@831
  1839
+#endif
nkeynes@831
  1840
+EOF
nkeynes@831
  1841
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1031: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
nkeynes@831
  1842
+  ac_cv_prog_gcc=yes
nkeynes@831
  1843
+else
nkeynes@831
  1844
+  ac_cv_prog_gcc=no
nkeynes@831
  1845
+fi
nkeynes@831
  1846
+fi
nkeynes@831
  1847
+
nkeynes@831
  1848
+echo "$ac_t""$ac_cv_prog_gcc" 1>&6
nkeynes@831
  1849
+
nkeynes@831
  1850
+if test $ac_cv_prog_gcc = yes; then
nkeynes@831
  1851
+  GCC=yes
nkeynes@831
  1852
+  ac_test_CFLAGS="${CFLAGS+set}"
nkeynes@831
  1853
+  ac_save_CFLAGS="$CFLAGS"
nkeynes@831
  1854
+  CFLAGS=
nkeynes@831
  1855
+  echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
nkeynes@831
  1856
+echo "configure:1046: checking whether ${CC-cc} accepts -g" >&5
nkeynes@831
  1857
+if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
nkeynes@831
  1858
+  echo $ac_n "(cached) $ac_c" 1>&6
nkeynes@831
  1859
+else
nkeynes@831
  1860
+  echo 'void f(){}' > conftest.c
nkeynes@831
  1861
+if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
nkeynes@831
  1862
+  ac_cv_prog_cc_g=yes
nkeynes@831
  1863
+else
nkeynes@831
  1864
+  ac_cv_prog_cc_g=no
nkeynes@831
  1865
+fi
nkeynes@831
  1866
+rm -f conftest*
nkeynes@831
  1867
+
nkeynes@831
  1868
+fi
nkeynes@831
  1869
+
nkeynes@831
  1870
+echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
nkeynes@831
  1871
+  if test "$ac_test_CFLAGS" = set; then
nkeynes@831
  1872
+    CFLAGS="$ac_save_CFLAGS"
nkeynes@831
  1873
+  elif test $ac_cv_prog_cc_g = yes; then
nkeynes@831
  1874
+    CFLAGS="-g -O2"
nkeynes@831
  1875
+  else
nkeynes@831
  1876
+    CFLAGS="-O2"
nkeynes@831
  1877
+  fi
nkeynes@831
  1878
+else
nkeynes@831
  1879
+  GCC=
nkeynes@831
  1880
+  test "${CFLAGS+set}" = set || CFLAGS="-g"
nkeynes@831
  1881
+fi
nkeynes@831
  1882
+
nkeynes@831
  1883
+
nkeynes@831
  1884
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD).  If we don't
nkeynes@831
  1885
+# run it explicitly here, it will be run implicitly before
nkeynes@831
  1886
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
nkeynes@831
  1887
+# be run before AC_CANONICAL_HOST.
nkeynes@831
  1888
+echo $ac_n "checking build system type""... $ac_c" 1>&6
nkeynes@831
  1889
+echo "configure:1079: checking build system type" >&5
nkeynes@831
  1890
+
nkeynes@831
  1891
+build_alias=$build
nkeynes@831
  1892
+case "$build_alias" in
nkeynes@831
  1893
+NONE)
nkeynes@831
  1894
+  case $nonopt in
nkeynes@831
  1895
+  NONE) build_alias=$host_alias ;;
nkeynes@831
  1896
+  *) build_alias=$nonopt ;;
nkeynes@831
  1897
+  esac ;;
nkeynes@831
  1898
+esac
nkeynes@831
  1899
+
nkeynes@831
  1900
+build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
nkeynes@831
  1901
+build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
nkeynes@831
  1902
+build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
nkeynes@831
  1903
+build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
nkeynes@831
  1904
+echo "$ac_t""$build" 1>&6
nkeynes@831
  1905
+
nkeynes@831
  1906
+
nkeynes@831
  1907
+# Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
nkeynes@831
  1908
+set dummy ${ac_tool_prefix}as; ac_word=$2
nkeynes@831
  1909
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
nkeynes@831
  1910
+echo "configure:1100: checking for $ac_word" >&5
nkeynes@831
  1911
+if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
nkeynes@831
  1912
+  echo $ac_n "(cached) $ac_c" 1>&6
nkeynes@831
  1913
+else
nkeynes@831
  1914
+  if test -n "$AS"; then
nkeynes@831
  1915
+  ac_cv_prog_AS="$AS" # Let the user override the test.
nkeynes@831
  1916
+else
nkeynes@831
  1917
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
nkeynes@831
  1918
+  ac_dummy="$PATH"
nkeynes@831
  1919
+  for ac_dir in $ac_dummy; do
nkeynes@831
  1920
+    test -z "$ac_dir" && ac_dir=.
nkeynes@831
  1921
+    if test -f $ac_dir/$ac_word; then
nkeynes@831
  1922
+      ac_cv_prog_AS="${ac_tool_prefix}as"
nkeynes@831
  1923
+      break
nkeynes@831
  1924
+    fi
nkeynes@831
  1925
+  done
nkeynes@831
  1926
+  IFS="$ac_save_ifs"
nkeynes@831
  1927
+  test -z "$ac_cv_prog_AS" && ac_cv_prog_AS="as"
nkeynes@831
  1928
+fi
nkeynes@831
  1929
+fi
nkeynes@831
  1930
+AS="$ac_cv_prog_AS"
nkeynes@831
  1931
+if test -n "$AS"; then
nkeynes@831
  1932
+  echo "$ac_t""$AS" 1>&6
nkeynes@831
  1933
+else
nkeynes@831
  1934
+  echo "$ac_t""no" 1>&6
nkeynes@831
  1935
+fi
nkeynes@831
  1936
+
nkeynes@831
  1937
+
nkeynes@831
  1938
+
nkeynes@831
  1939
+# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
nkeynes@831
  1940
+set dummy ${ac_tool_prefix}ar; ac_word=$2
nkeynes@831
  1941
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
nkeynes@831
  1942
+echo "configure:1132: checking for $ac_word" >&5
nkeynes@831
  1943
+if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
nkeynes@831
  1944
+  echo $ac_n "(cached) $ac_c" 1>&6
nkeynes@831
  1945
+else
nkeynes@831
  1946
+  if test -n "$AR"; then
nkeynes@831
  1947
+  ac_cv_prog_AR="$AR" # Let the user override the test.
nkeynes@831
  1948
+else
nkeynes@831
  1949
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
nkeynes@831
  1950
+  ac_dummy="$PATH"
nkeynes@831
  1951
+  for ac_dir in $ac_dummy; do
nkeynes@831
  1952
+    test -z "$ac_dir" && ac_dir=.
nkeynes@831
  1953
+    if test -f $ac_dir/$ac_word; then
nkeynes@831
  1954
+      ac_cv_prog_AR="${ac_tool_prefix}ar"
nkeynes@831
  1955
+      break
nkeynes@831
  1956
+    fi
nkeynes@831
  1957
+  done
nkeynes@831
  1958
+  IFS="$ac_save_ifs"
nkeynes@831
  1959
+  test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar"
nkeynes@831
  1960
+fi
nkeynes@831
  1961
+fi
nkeynes@831
  1962
+AR="$ac_cv_prog_AR"
nkeynes@831
  1963
+if test -n "$AR"; then
nkeynes@831
  1964
+  echo "$ac_t""$AR" 1>&6
nkeynes@831
  1965
+else
nkeynes@831
  1966
+  echo "$ac_t""no" 1>&6
nkeynes@831
  1967
+fi
nkeynes@831
  1968
+
nkeynes@831
  1969
+
nkeynes@831
  1970
+
nkeynes@831
  1971
+# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
nkeynes@831
  1972
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
nkeynes@831
  1973
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
nkeynes@831
  1974
+echo "configure:1164: checking for $ac_word" >&5
nkeynes@831
  1975
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
nkeynes@831
  1976
+  echo $ac_n "(cached) $ac_c" 1>&6
nkeynes@831
  1977
+else
nkeynes@831
  1978
+  if test -n "$RANLIB"; then
nkeynes@831
  1979
+  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
nkeynes@831
  1980
+else
nkeynes@831
  1981
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
nkeynes@831
  1982
+  ac_dummy="$PATH"
nkeynes@831
  1983
+  for ac_dir in $ac_dummy; do
nkeynes@831
  1984
+    test -z "$ac_dir" && ac_dir=.
nkeynes@831
  1985
+    if test -f $ac_dir/$ac_word; then
nkeynes@831
  1986
+      ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
nkeynes@831
  1987
+      break
nkeynes@831
  1988
+    fi
nkeynes@831
  1989
+  done
nkeynes@831
  1990
+  IFS="$ac_save_ifs"
nkeynes@831
  1991
+fi
nkeynes@831
  1992
+fi
nkeynes@831
  1993
+RANLIB="$ac_cv_prog_RANLIB"
nkeynes@831
  1994
+if test -n "$RANLIB"; then
nkeynes@831
  1995
+  echo "$ac_t""$RANLIB" 1>&6
nkeynes@831
  1996
+else
nkeynes@831
  1997
+  echo "$ac_t""no" 1>&6
nkeynes@831
  1998
+fi
nkeynes@831
  1999
+
nkeynes@831
  2000
+
nkeynes@831
  2001
+if test -z "$ac_cv_prog_RANLIB"; then
nkeynes@831
  2002
+if test -n "$ac_tool_prefix"; then
nkeynes@831
  2003
+  # Extract the first word of "ranlib", so it can be a program name with args.
nkeynes@831
  2004
+set dummy ranlib; ac_word=$2
nkeynes@831
  2005
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
nkeynes@831
  2006
+echo "configure:1196: checking for $ac_word" >&5
nkeynes@831
  2007
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
nkeynes@831
  2008
+  echo $ac_n "(cached) $ac_c" 1>&6
nkeynes@831
  2009
+else
nkeynes@831
  2010
+  if test -n "$RANLIB"; then
nkeynes@831
  2011
+  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
nkeynes@831
  2012
+else
nkeynes@831
  2013
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
nkeynes@831
  2014
+  ac_dummy="$PATH"
nkeynes@831
  2015
+  for ac_dir in $ac_dummy; do
nkeynes@831
  2016
+    test -z "$ac_dir" && ac_dir=.
nkeynes@831
  2017
+    if test -f $ac_dir/$ac_word; then
nkeynes@831
  2018
+      ac_cv_prog_RANLIB="ranlib"
nkeynes@831
  2019
+      break
nkeynes@831
  2020
+    fi
nkeynes@831
  2021
+  done
nkeynes@831
  2022
+  IFS="$ac_save_ifs"
nkeynes@831
  2023
+  test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
nkeynes@831
  2024
+fi
nkeynes@831
  2025
+fi
nkeynes@831
  2026
+RANLIB="$ac_cv_prog_RANLIB"
nkeynes@831
  2027
+if test -n "$RANLIB"; then
nkeynes@831
  2028
+  echo "$ac_t""$RANLIB" 1>&6
nkeynes@831
  2029
+else
nkeynes@831
  2030
+  echo "$ac_t""no" 1>&6
nkeynes@831
  2031
+fi
nkeynes@831
  2032
+
nkeynes@831
  2033
+else
nkeynes@831
  2034
+  RANLIB=":"
nkeynes@831
  2035
+fi
nkeynes@831
  2036
+fi
nkeynes@831
  2037
+
nkeynes@831
  2038
+
nkeynes@831
  2039
+
nkeynes@831
  2040
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
nkeynes@831
  2041
+
nkeynes@831
  2042
+
nkeynes@831
  2043
+#AM_MAINTAINER_MODE
nkeynes@831
  2044
+
nkeynes@831
  2045
+# We need AM_EXEEXT to keep automake happy in cygnus mode.  However,
nkeynes@831
  2046
+# at least currently, we never actually build a program, so we never
nkeynes@831
  2047
+# need to use $(EXEEXT).  Moreover, the test for EXEEXT normally
nkeynes@831
  2048
+# fails, because we are probably configuring with a cross compiler
nkeynes@831
  2049
+# which can't create executables.  So we include AM_EXEEXT to keep
nkeynes@831
  2050
+# automake happy, but we don't execute it, since we don't care about
nkeynes@831
  2051
+# the result.
nkeynes@831
  2052
+if false; then
nkeynes@831
  2053
+  
nkeynes@831
  2054
+
nkeynes@831
  2055
+echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
nkeynes@831
  2056
+echo "configure:1246: checking for executable suffix" >&5
nkeynes@831
  2057
+if eval "test \"`echo '$''{'am_cv_exeext'+set}'`\" = set"; then
nkeynes@831
  2058
+  echo $ac_n "(cached) $ac_c" 1>&6
nkeynes@831
  2059
+else
nkeynes@831
  2060
+  if test "$CYGWIN32" = yes || test "$MINGW32" = yes; then
nkeynes@831
  2061
+am_cv_exeext=.exe
nkeynes@831
  2062
+else
nkeynes@831
  2063
+cat > am_c_test.c << 'EOF'
nkeynes@831
  2064
+int main() {
nkeynes@831
  2065
+/* Nothing needed here */
nkeynes@831
  2066
+}
nkeynes@831
  2067
+EOF
nkeynes@831
  2068
+${CC-cc} -o am_c_test $CFLAGS $CPPFLAGS $LDFLAGS am_c_test.c $LIBS 1>&5
nkeynes@831
  2069
+am_cv_exeext=
nkeynes@831
  2070
+for file in am_c_test.*; do
nkeynes@831
  2071
+   case $file in
nkeynes@831
  2072
+    *.c) ;;
nkeynes@831
  2073
+    *.o) ;;
nkeynes@831
  2074
+    *) am_cv_exeext=`echo $file | sed -e s/am_c_test//` ;;
nkeynes@831
  2075
+   esac
nkeynes@831
  2076
+done
nkeynes@831
  2077
+rm -f am_c_test*
nkeynes@831
  2078
+fi
nkeynes@831
  2079
+
nkeynes@831
  2080
+test x"${am_cv_exeext}" = x && am_cv_exeext=no
nkeynes@831
  2081
+fi
nkeynes@831
  2082
+EXEEXT=""
nkeynes@831
  2083
+test x"${am_cv_exeext}" != xno && EXEEXT=${am_cv_exeext}
nkeynes@831
  2084
+echo "$ac_t""${am_cv_exeext}" 1>&6
nkeynes@831
  2085
+
nkeynes@831
  2086
+fi
nkeynes@831
  2087
+
nkeynes@831
  2088
+. ${newlib_basedir}/configure.host
nkeynes@831
  2089
+
nkeynes@831
  2090
+case ${newlib_basedir} in
nkeynes@831
  2091
+/* | A-Za-z:/\\*) newlib_flagbasedir=${newlib_basedir} ;;
nkeynes@831
  2092
+*) newlib_flagbasedir='$(top_builddir)/'${newlib_basedir} ;;
nkeynes@831
  2093
+esac
nkeynes@831
  2094
+
nkeynes@831
  2095
+newlib_cflags="${newlib_cflags} -I"'$(top_builddir)'"/../../../targ-include -I${newlib_flagbasedir}/libc/include"
nkeynes@831
  2096
+case "${host}" in
nkeynes@831
  2097
+  *-*-cygwin32*)
nkeynes@831
  2098
+    newlib_cflags="${newlib_cflags} -I${newlib_flagbasedir}/../winsup/include"
nkeynes@831
  2099
+    ;;
nkeynes@831
  2100
+esac
nkeynes@831
  2101
+
nkeynes@831
  2102
+newlib_cflags="${newlib_cflags} -fno-builtin"
nkeynes@831
  2103
+
nkeynes@831
  2104
+NEWLIB_CFLAGS=${newlib_cflags}
nkeynes@831
  2105
+
nkeynes@831
  2106
+
nkeynes@831
  2107
+
nkeynes@831
  2108
+
nkeynes@831
  2109
+
nkeynes@831
  2110
+
nkeynes@831
  2111
+trap '' 1 2 15
nkeynes@831
  2112
+cat > confcache <<\EOF
nkeynes@831
  2113
+# This file is a shell script that caches the results of configure
nkeynes@831
  2114
+# tests run on this system so they can be shared between configure
nkeynes@831
  2115
+# scripts and configure runs.  It is not useful on other systems.
nkeynes@831
  2116
+# If it contains results you don't want to keep, you may remove or edit it.
nkeynes@831
  2117
+#
nkeynes@831
  2118
+# By default, configure uses ./config.cache as the cache file,
nkeynes@831
  2119
+# creating it if it does not exist already.  You can give configure
nkeynes@831
  2120
+# the --cache-file=FILE option to use a different cache file; that is
nkeynes@831
  2121
+# what configure does when it calls configure scripts in
nkeynes@831
  2122
+# subdirectories, so they share the cache.
nkeynes@831
  2123
+# Giving --cache-file=/dev/null disables caching, for debugging configure.
nkeynes@831
  2124
+# config.status only pays attention to the cache file if you give it the
nkeynes@831
  2125
+# --recheck option to rerun configure.
nkeynes@831
  2126
+#
nkeynes@831
  2127
+EOF
nkeynes@831
  2128
+# The following way of writing the cache mishandles newlines in values,
nkeynes@831
  2129
+# but we know of no workaround that is simple, portable, and efficient.
nkeynes@831
  2130
+# So, don't put newlines in cache variables' values.
nkeynes@831
  2131
+# Ultrix sh set writes to stderr and can't be redirected directly,
nkeynes@831
  2132
+# and sets the high bit in the cache file unless we assign to the vars.
nkeynes@831
  2133
+(set) 2>&1 |
nkeynes@831
  2134
+  case `(ac_space=' '; set | grep ac_space) 2>&1` in
nkeynes@831
  2135
+  *ac_space=\ *)
nkeynes@831
  2136
+    # `set' does not quote correctly, so add quotes (double-quote substitution
nkeynes@831
  2137
+    # turns \\\\ into \\, and sed turns \\ into \).
nkeynes@831
  2138
+    sed -n \
nkeynes@831
  2139
+      -e "s/'/'\\\\''/g" \
nkeynes@831
  2140
+      -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
nkeynes@831
  2141
+    ;;
nkeynes@831
  2142
+  *)
nkeynes@831
  2143
+    # `set' quotes correctly as required by POSIX, so do not add quotes.
nkeynes@831
  2144
+    sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
nkeynes@831
  2145
+    ;;
nkeynes@831
  2146
+  esac >> confcache
nkeynes@831
  2147
+if cmp -s $cache_file confcache; then
nkeynes@831
  2148
+  :
nkeynes@831
  2149
+else
nkeynes@831
  2150
+  if test -w $cache_file; then
nkeynes@831
  2151
+    echo "updating cache $cache_file"
nkeynes@831
  2152
+    cat confcache > $cache_file
nkeynes@831
  2153
+  else
nkeynes@831
  2154
+    echo "not updating unwritable cache $cache_file"
nkeynes@831
  2155
+  fi
nkeynes@831
  2156
+fi
nkeynes@831
  2157
+rm -f confcache
nkeynes@831
  2158
+
nkeynes@831
  2159
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
nkeynes@831
  2160
+
nkeynes@831
  2161
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
nkeynes@831
  2162
+# Let make expand exec_prefix.
nkeynes@831
  2163
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
nkeynes@831
  2164
+
nkeynes@831
  2165
+# Any assignment to VPATH causes Sun make to only execute
nkeynes@831
  2166
+# the first set of double-colon rules, so remove it if not needed.
nkeynes@831
  2167
+# If there is a colon in the path, we need to keep it.
nkeynes@831
  2168
+if test "x$srcdir" = x.; then
nkeynes@831
  2169
+  ac_vpsub='/^[ 	]*VPATH[ 	]*=[^:]*$/d'
nkeynes@831
  2170
+fi
nkeynes@831
  2171
+
nkeynes@831
  2172
+trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
nkeynes@831
  2173
+
nkeynes@831
  2174
+# Transform confdefs.h into DEFS.
nkeynes@831
  2175
+# Protect against shell expansion while executing Makefile rules.
nkeynes@831
  2176
+# Protect against Makefile macro expansion.
nkeynes@831
  2177
+cat > conftest.defs <<\EOF
nkeynes@831
  2178
+s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
nkeynes@831
  2179
+s%[ 	`~#$^&*(){}\\|;'"<>?]%\\&%g
nkeynes@831
  2180
+s%\[%\\&%g
nkeynes@831
  2181
+s%\]%\\&%g
nkeynes@831
  2182
+s%\$%$$%g
nkeynes@831
  2183
+EOF
nkeynes@831
  2184
+DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
nkeynes@831
  2185
+rm -f conftest.defs
nkeynes@831
  2186
+
nkeynes@831
  2187
+
nkeynes@831
  2188
+# Without the "./", some shells look in PATH for config.status.
nkeynes@831
  2189
+: ${CONFIG_STATUS=./config.status}
nkeynes@831
  2190
+
nkeynes@831
  2191
+echo creating $CONFIG_STATUS
nkeynes@831
  2192
+rm -f $CONFIG_STATUS
nkeynes@831
  2193
+cat > $CONFIG_STATUS <<EOF
nkeynes@831
  2194
+#! /bin/sh
nkeynes@831
  2195
+# Generated automatically by configure.
nkeynes@831
  2196
+# Run this file to recreate the current configuration.
nkeynes@831
  2197
+# This directory was configured as follows,
nkeynes@831
  2198
+# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
nkeynes@831
  2199
+#
nkeynes@831
  2200
+# $0 $ac_configure_args
nkeynes@831
  2201
+#
nkeynes@831
  2202
+# Compiler output produced by configure, useful for debugging
nkeynes@831
  2203
+# configure, is in ./config.log if it exists.
nkeynes@831
  2204
+
nkeynes@831
  2205
+ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
nkeynes@831
  2206
+for ac_option
nkeynes@831
  2207
+do
nkeynes@831
  2208
+  case "\$ac_option" in
nkeynes@831
  2209
+  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
nkeynes@831
  2210
+    echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
nkeynes@831
  2211
+    exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
nkeynes@831
  2212
+  -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
nkeynes@831
  2213
+    echo "$CONFIG_STATUS generated by autoconf version 2.13"
nkeynes@831
  2214
+    exit 0 ;;
nkeynes@831
  2215
+  -help | --help | --hel | --he | --h)
nkeynes@831
  2216
+    echo "\$ac_cs_usage"; exit 0 ;;
nkeynes@831
  2217
+  *) echo "\$ac_cs_usage"; exit 1 ;;
nkeynes@831
  2218
+  esac
nkeynes@831
  2219
+done
nkeynes@831
  2220
+
nkeynes@831
  2221
+ac_given_srcdir=$srcdir
nkeynes@831
  2222
+ac_given_INSTALL="$INSTALL"
nkeynes@831
  2223
+
nkeynes@831
  2224
+trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
nkeynes@831
  2225
+EOF
nkeynes@831
  2226
+cat >> $CONFIG_STATUS <<EOF
nkeynes@831
  2227
+
nkeynes@831
  2228
+# Protect against being on the right side of a sed subst in config.status.
nkeynes@831
  2229
+sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
nkeynes@831
  2230
+ s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
nkeynes@831
  2231
+$ac_vpsub
nkeynes@831
  2232
+$extrasub
nkeynes@831
  2233
+s%@SHELL@%$SHELL%g
nkeynes@831
  2234
+s%@CFLAGS@%$CFLAGS%g
nkeynes@831
  2235
+s%@CPPFLAGS@%$CPPFLAGS%g
nkeynes@831
  2236
+s%@CXXFLAGS@%$CXXFLAGS%g
nkeynes@831
  2237
+s%@FFLAGS@%$FFLAGS%g
nkeynes@831
  2238
+s%@DEFS@%$DEFS%g
nkeynes@831
  2239
+s%@LDFLAGS@%$LDFLAGS%g
nkeynes@831
  2240
+s%@LIBS@%$LIBS%g
nkeynes@831
  2241
+s%@exec_prefix@%$exec_prefix%g
nkeynes@831
  2242
+s%@prefix@%$prefix%g
nkeynes@831
  2243
+s%@program_transform_name@%$program_transform_name%g
nkeynes@831
  2244
+s%@bindir@%$bindir%g
nkeynes@831
  2245
+s%@sbindir@%$sbindir%g
nkeynes@831
  2246
+s%@libexecdir@%$libexecdir%g
nkeynes@831
  2247
+s%@datadir@%$datadir%g
nkeynes@831
  2248
+s%@sysconfdir@%$sysconfdir%g
nkeynes@831
  2249
+s%@sharedstatedir@%$sharedstatedir%g
nkeynes@831
  2250
+s%@localstatedir@%$localstatedir%g
nkeynes@831
  2251
+s%@libdir@%$libdir%g
nkeynes@831
  2252
+s%@includedir@%$includedir%g
nkeynes@831
  2253
+s%@oldincludedir@%$oldincludedir%g
nkeynes@831
  2254
+s%@infodir@%$infodir%g
nkeynes@831
  2255
+s%@mandir@%$mandir%g
nkeynes@831
  2256
+s%@newlib_basedir@%$newlib_basedir%g
nkeynes@831
  2257
+s%@host@%$host%g
nkeynes@831
  2258
+s%@host_alias@%$host_alias%g
nkeynes@831
  2259
+s%@host_cpu@%$host_cpu%g
nkeynes@831
  2260
+s%@host_vendor@%$host_vendor%g
nkeynes@831
  2261
+s%@host_os@%$host_os%g
nkeynes@831
  2262
+s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
nkeynes@831
  2263
+s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
nkeynes@831
  2264
+s%@INSTALL_DATA@%$INSTALL_DATA%g
nkeynes@831
  2265
+s%@PACKAGE@%$PACKAGE%g
nkeynes@831
  2266
+s%@VERSION@%$VERSION%g
nkeynes@831
  2267
+s%@ACLOCAL@%$ACLOCAL%g
nkeynes@831
  2268
+s%@AUTOCONF@%$AUTOCONF%g
nkeynes@831
  2269
+s%@AUTOMAKE@%$AUTOMAKE%g
nkeynes@831
  2270
+s%@AUTOHEADER@%$AUTOHEADER%g
nkeynes@831
  2271
+s%@MAKEINFO@%$MAKEINFO%g
nkeynes@831
  2272
+s%@SET_MAKE@%$SET_MAKE%g
nkeynes@831
  2273
+s%@CC@%$CC%g
nkeynes@831
  2274
+s%@build@%$build%g
nkeynes@831
  2275
+s%@build_alias@%$build_alias%g
nkeynes@831
  2276
+s%@build_cpu@%$build_cpu%g
nkeynes@831
  2277
+s%@build_vendor@%$build_vendor%g
nkeynes@831
  2278
+s%@build_os@%$build_os%g
nkeynes@831
  2279
+s%@AS@%$AS%g
nkeynes@831
  2280
+s%@AR@%$AR%g
nkeynes@831
  2281
+s%@RANLIB@%$RANLIB%g
nkeynes@831
  2282
+s%@EXEEXT@%$EXEEXT%g
nkeynes@831
  2283
+s%@NEWLIB_CFLAGS@%$NEWLIB_CFLAGS%g
nkeynes@831
  2284
+s%@machine_dir@%$machine_dir%g
nkeynes@831
  2285
+s%@sys_dir@%$sys_dir%g
nkeynes@831
  2286
+
nkeynes@831
  2287
+CEOF
nkeynes@831
  2288
+EOF
nkeynes@831
  2289
+
nkeynes@831
  2290
+cat >> $CONFIG_STATUS <<\EOF
nkeynes@831
  2291
+
nkeynes@831
  2292
+# Split the substitutions into bite-sized pieces for seds with
nkeynes@831
  2293
+# small command number limits, like on Digital OSF/1 and HP-UX.
nkeynes@831
  2294
+ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
nkeynes@831
  2295
+ac_file=1 # Number of current file.
nkeynes@831
  2296
+ac_beg=1 # First line for current file.
nkeynes@831
  2297
+ac_end=$ac_max_sed_cmds # Line after last line for current file.
nkeynes@831
  2298
+ac_more_lines=:
nkeynes@831
  2299
+ac_sed_cmds=""
nkeynes@831
  2300
+while $ac_more_lines; do
nkeynes@831
  2301
+  if test $ac_beg -gt 1; then
nkeynes@831
  2302
+    sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
nkeynes@831
  2303
+  else
nkeynes@831
  2304
+    sed "${ac_end}q" conftest.subs > conftest.s$ac_file
nkeynes@831
  2305
+  fi
nkeynes@831
  2306
+  if test ! -s conftest.s$ac_file; then
nkeynes@831
  2307
+    ac_more_lines=false
nkeynes@831
  2308
+    rm -f conftest.s$ac_file
nkeynes@831
  2309
+  else
nkeynes@831
  2310
+    if test -z "$ac_sed_cmds"; then
nkeynes@831
  2311
+      ac_sed_cmds="sed -f conftest.s$ac_file"
nkeynes@831
  2312
+    else
nkeynes@831
  2313
+      ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
nkeynes@831
  2314
+    fi
nkeynes@831
  2315
+    ac_file=`expr $ac_file + 1`
nkeynes@831
  2316
+    ac_beg=$ac_end
nkeynes@831
  2317
+    ac_end=`expr $ac_end + $ac_max_sed_cmds`
nkeynes@831
  2318
+  fi
nkeynes@831
  2319
+done
nkeynes@831
  2320
+if test -z "$ac_sed_cmds"; then
nkeynes@831
  2321
+  ac_sed_cmds=cat
nkeynes@831
  2322
+fi
nkeynes@831
  2323
+EOF
nkeynes@831
  2324
+
nkeynes@831
  2325
+cat >> $CONFIG_STATUS <<EOF
nkeynes@831
  2326
+
nkeynes@831
  2327
+CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
nkeynes@831
  2328
+EOF
nkeynes@831
  2329
+cat >> $CONFIG_STATUS <<\EOF
nkeynes@831
  2330
+for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
nkeynes@831
  2331
+  # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
nkeynes@831
  2332
+  case "$ac_file" in
nkeynes@831
  2333
+  *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
nkeynes@831
  2334
+       ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
nkeynes@831
  2335
+  *) ac_file_in="${ac_file}.in" ;;
nkeynes@831
  2336
+  esac
nkeynes@831
  2337
+
nkeynes@831
  2338
+  # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
nkeynes@831
  2339
+
nkeynes@831
  2340
+  # Remove last slash and all that follows it.  Not all systems have dirname.
nkeynes@831
  2341
+  ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
nkeynes@831
  2342
+  if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
nkeynes@831
  2343
+    # The file is in a subdirectory.
nkeynes@831
  2344
+    test ! -d "$ac_dir" && mkdir "$ac_dir"
nkeynes@831
  2345
+    ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
nkeynes@831
  2346
+    # A "../" for each directory in $ac_dir_suffix.
nkeynes@831
  2347
+    ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
nkeynes@831
  2348
+  else
nkeynes@831
  2349
+    ac_dir_suffix= ac_dots=
nkeynes@831
  2350
+  fi
nkeynes@831
  2351
+
nkeynes@831
  2352
+  case "$ac_given_srcdir" in
nkeynes@831
  2353
+  .)  srcdir=.
nkeynes@831
  2354
+      if test -z "$ac_dots"; then top_srcdir=.
nkeynes@831
  2355
+      else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
nkeynes@831
  2356
+  /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
nkeynes@831
  2357
+  *) # Relative path.
nkeynes@831
  2358
+    srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
nkeynes@831
  2359
+    top_srcdir="$ac_dots$ac_given_srcdir" ;;
nkeynes@831
  2360
+  esac
nkeynes@831
  2361
+
nkeynes@831
  2362
+  case "$ac_given_INSTALL" in
nkeynes@831
  2363
+  [/$]*) INSTALL="$ac_given_INSTALL" ;;
nkeynes@831
  2364
+  *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
nkeynes@831
  2365
+  esac
nkeynes@831
  2366
+
nkeynes@831
  2367
+  echo creating "$ac_file"
nkeynes@831
  2368
+  rm -f "$ac_file"
nkeynes@831
  2369
+  configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
nkeynes@831
  2370
+  case "$ac_file" in
nkeynes@831
  2371
+  *Makefile*) ac_comsub="1i\\
nkeynes@831
  2372
+# $configure_input" ;;
nkeynes@831
  2373
+  *) ac_comsub= ;;
nkeynes@831
  2374
+  esac
nkeynes@831
  2375
+
nkeynes@831
  2376
+  ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
nkeynes@831
  2377
+  sed -e "$ac_comsub
nkeynes@831
  2378
+s%@configure_input@%$configure_input%g
nkeynes@831
  2379
+s%@srcdir@%$srcdir%g
nkeynes@831
  2380
+s%@top_srcdir@%$top_srcdir%g
nkeynes@831
  2381
+s%@INSTALL@%$INSTALL%g
nkeynes@831
  2382
+" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
nkeynes@831
  2383
+fi; done
nkeynes@831
  2384
+rm -f conftest.s*
nkeynes@831
  2385
+
nkeynes@831
  2386
+EOF
nkeynes@831
  2387
+cat >> $CONFIG_STATUS <<EOF
nkeynes@831
  2388
+
nkeynes@831
  2389
+EOF
nkeynes@831
  2390
+cat >> $CONFIG_STATUS <<\EOF
nkeynes@831
  2391
+
nkeynes@831
  2392
+exit 0
nkeynes@831
  2393
+EOF
nkeynes@831
  2394
+chmod +x $CONFIG_STATUS
nkeynes@831
  2395
+rm -fr confdefs* $ac_clean_files
nkeynes@831
  2396
+test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
nkeynes@831
  2397
+
nkeynes@831
  2398
diff -urN newlib-1.8.2/newlib/libc/sys/aica/configure.in newlib-1.8.2-aica/newlib/libc/sys/aica/configure.in
nkeynes@831
  2399
--- newlib-1.8.2/newlib/libc/sys/aica/configure.in	1970-01-01 10:00:00.000000000 +1000
nkeynes@831
  2400
+++ newlib-1.8.2-aica/newlib/libc/sys/aica/configure.in	2008-08-13 11:54:44.000000000 +1000
nkeynes@831
  2401
@@ -0,0 +1,12 @@
nkeynes@831
  2402
+dnl This is the newlib/libc/sys/sh configure.in file.
nkeynes@831
  2403
+dnl Process this file with autoconf to produce a configure script.
nkeynes@831
  2404
+
nkeynes@831
  2405
+AC_PREREQ(2.5)
nkeynes@831
  2406
+AC_INIT(sbrk.c)
nkeynes@831
  2407
+
nkeynes@831
  2408
+dnl Can't be done in NEWLIB_CONFIGURE because that confuses automake. 
nkeynes@831
  2409
+AC_CONFIG_AUX_DIR(../../../..)
nkeynes@831
  2410
+
nkeynes@831
  2411
+NEWLIB_CONFIGURE(../../..)
nkeynes@831
  2412
+
nkeynes@831
  2413
+AC_OUTPUT(Makefile)
nkeynes@831
  2414
diff -urN newlib-1.8.2/newlib/libc/sys/aica/creat.c newlib-1.8.2-aica/newlib/libc/sys/aica/creat.c
nkeynes@831
  2415
--- newlib-1.8.2/newlib/libc/sys/aica/creat.c	1970-01-01 10:00:00.000000000 +1000
nkeynes@831
  2416
+++ newlib-1.8.2-aica/newlib/libc/sys/aica/creat.c	2008-08-13 11:54:44.000000000 +1000
nkeynes@831
  2417
@@ -0,0 +1,22 @@
nkeynes@831
  2418
+#include <sys/types.h>
nkeynes@831
  2419
+#include <sys/fcntl.h>
nkeynes@831
  2420
+
nkeynes@831
  2421
+#include "vfs.h"
nkeynes@831
  2422
+
nkeynes@831
  2423
+int
nkeynes@831
  2424
+creat (const char *path, mode_t mode)
nkeynes@831
  2425
+{
nkeynes@831
  2426
+  char *obj = _newlib_vfs_new_string (path);
nkeynes@831
  2427
+  
nkeynes@831
  2428
+  struct media_ops *mops = _newlib_vfs_get_media_ops (path);
nkeynes@831
  2429
+  struct file *pf = mops->creat (obj, mode);
nkeynes@831
  2430
+
nkeynes@831
  2431
+  _newlib_vfs_delete_string (obj);
nkeynes@831
  2432
+  
nkeynes@831
  2433
+  if (pf != NULL)
nkeynes@831
  2434
+  {
nkeynes@831
  2435
+    return _newlib_vfs_insert_file (pf);
nkeynes@831
  2436
+  }
nkeynes@831
  2437
+
nkeynes@831
  2438
+  return -1;
nkeynes@831
  2439
+}
nkeynes@831
  2440
diff -urN newlib-1.8.2/newlib/libc/sys/aica/crt0.S newlib-1.8.2-aica/newlib/libc/sys/aica/crt0.S
nkeynes@831
  2441
--- newlib-1.8.2/newlib/libc/sys/aica/crt0.S	1970-01-01 10:00:00.000000000 +1000
nkeynes@831
  2442
+++ newlib-1.8.2-aica/newlib/libc/sys/aica/crt0.S	2008-08-13 13:08:13.000000000 +1000
nkeynes@831
  2443
@@ -0,0 +1,165 @@
nkeynes@831
  2444
+.section .text
nkeynes@831
  2445
+.code 32
nkeynes@831
  2446
+.align 	0
nkeynes@831
  2447
+.global	start
nkeynes@831
  2448
+.global ___exit
nkeynes@831
  2449
+.global _atexit
nkeynes@831
  2450
+start:
nkeynes@831
  2451
+
nkeynes@831
  2452
+/* Start by setting up a stack */
nkeynes@831
  2453
+	/*  Set up the stack pointer to a fixed value */
nkeynes@831
  2454
+	ldr	r3, .LC0
nkeynes@831
  2455
+	mov 	sp, r3
nkeynes@831
  2456
+	/* Setup a default stack-limit in-case the code has been
nkeynes@831
  2457
+	   compiled with "-mapcs-stack-check".  Hard-wiring this value
nkeynes@831
  2458
+	   is not ideal, since there is currently no support for
nkeynes@831
  2459
+	   checking that the heap and stack have not collided, or that
nkeynes@831
  2460
+	   this default 64k is enough for the program being executed.
nkeynes@831
  2461
+	   However, it ensures that this simple crt0 world will not
nkeynes@831
  2462
+	   immediately cause an overflow event:  */
nkeynes@831
  2463
+	sub	sl, sp, #64 << 10	/* Still assumes 256bytes below sl */
nkeynes@831
  2464
+
nkeynes@831
  2465
+	mov 	a2, #0			/* Second arg: fill value */
nkeynes@831
  2466
+	mov	fp, a2			/* Null frame pointer */
nkeynes@831
  2467
+	mov	r7, a2			/* Null frame pointer for Thumb */
nkeynes@831
  2468
+	
nkeynes@831
  2469
+	ldr	a1, .LC1		/* First arg: start of memory block */
nkeynes@831
  2470
+	ldr	a3, .LC2	
nkeynes@831
  2471
+	sub	a3, a3, a1		/* Third arg: length of block */
nkeynes@831
  2472
+	
nkeynes@831
  2473
+
nkeynes@831
  2474
+#ifdef __thumb__		/* Enter Thumb mode.... */
nkeynes@831
  2475
+
nkeynes@831
  2476
+	add	a4, pc, #1	/* Get the address of the Thumb block */
nkeynes@831
  2477
+	bx	a4		/* Go there and start Thumb decoding  */
nkeynes@831
  2478
+
nkeynes@831
  2479
+	.code 16
nkeynes@831
  2480
+	.global __change_mode
nkeynes@831
  2481
+	.thumb_func
nkeynes@831
  2482
+__change_mode:	
nkeynes@831
  2483
+#endif
nkeynes@831
  2484
+	
nkeynes@831
  2485
+	bl	memset
nkeynes@831
  2486
+	mov	r0, #0		/*  no arguments  */
nkeynes@831
  2487
+	mov	r1, #0		/*  no argv either */
nkeynes@831
  2488
+
nkeynes@831
  2489
+	/*  Parse string at r1 */
nkeynes@831
  2490
+	mov	r0, #0		/*  count of arguments so far */
nkeynes@831
  2491
+.LC10:
nkeynes@831
  2492
+/*  Skip leading blanks */
nkeynes@831
  2493
+#ifdef __thumb__
nkeynes@831
  2494
+	ldrb	r3, [r1]
nkeynes@831
  2495
+	add	r1, #1
nkeynes@831
  2496
+#else
nkeynes@831
  2497
+	ldrb	r3, [r1], #1
nkeynes@831
  2498
+#endif
nkeynes@831
  2499
+	cmp	r3, #0
nkeynes@831
  2500
+	beq	.LC12
nkeynes@831
  2501
+	cmp	r3, #' '
nkeynes@831
  2502
+	beq	.LC10
nkeynes@831
  2503
+
nkeynes@831
  2504
+/*  See whether we are scanning a string */
nkeynes@831
  2505
+	cmp	r3, #'"'
nkeynes@831
  2506
+#ifdef __thumb__
nkeynes@831
  2507
+	beq	.LC20
nkeynes@831
  2508
+	cmp	r3, #'\''
nkeynes@831
  2509
+	bne	.LC21
nkeynes@831
  2510
+.LC20:
nkeynes@831
  2511
+	mov	r2, r3
nkeynes@831
  2512
+	b	.LC22
nkeynes@831
  2513
+
nkeynes@831
  2514
+.LC21:
nkeynes@831
  2515
+	mov	r2, #' '	/*  terminator type */
nkeynes@831
  2516
+	sub	r1, r1, #1	/*  adjust back to point at start char */
nkeynes@831
  2517
+.LC22:
nkeynes@831
  2518
+#else
nkeynes@831
  2519
+	cmpne	r3, #'\''
nkeynes@831
  2520
+	moveq	r2, r3
nkeynes@831
  2521
+	movne	r2, #' '	/*  terminator type */
nkeynes@831
  2522
+	subne	r1, r1, #1	/*  adjust back to point at start char */
nkeynes@831
  2523
+#endif
nkeynes@831
  2524
+
nkeynes@831
  2525
+/*  Stack a pointer to the current argument */
nkeynes@831
  2526
+#ifdef __thumb__
nkeynes@831
  2527
+	push	{r1}
nkeynes@831
  2528
+#else
nkeynes@831
  2529
+	stmfd	sp!, {r1}
nkeynes@831
  2530
+#endif
nkeynes@831
  2531
+	add	r0, r0, #1
nkeynes@831
  2532
+.LC11:
nkeynes@831
  2533
+#ifdef __thumb__
nkeynes@831
  2534
+	ldrb	r3, [r1]
nkeynes@831
  2535
+	add	r1, #1
nkeynes@831
  2536
+#else
nkeynes@831
  2537
+	ldrb	r3, [r1], #1
nkeynes@831
  2538
+#endif
nkeynes@831
  2539
+	cmp	r3, #0
nkeynes@831
  2540
+	beq	.LC12
nkeynes@831
  2541
+	cmp	r2, r3		/*  reached terminator? */
nkeynes@831
  2542
+	bne	.LC11
nkeynes@831
  2543
+	mov	r2, #0
nkeynes@831
  2544
+	sub	r3, r1, #1
nkeynes@831
  2545
+	strb	r2, [r3]	/*  terminate the arg string */
nkeynes@831
  2546
+	b	.LC10
nkeynes@831
  2547
+
nkeynes@831
  2548
+.LC12:
nkeynes@831
  2549
+	mov	r1, sp		/*  point at stacked arg pointers */
nkeynes@831
  2550
+	/* We've now got the stacked args in order reverse the */
nkeynes@831
  2551
+#ifdef __thumb__
nkeynes@831
  2552
+	mov	r2, r0
nkeynes@831
  2553
+	lsl	r2, #2
nkeynes@831
  2554
+	add	r2, sp
nkeynes@831
  2555
+	mov	r3, sp
nkeynes@831
  2556
+.LC15:	cmp	r2, r3
nkeynes@831
  2557
+	bls	.LC14
nkeynes@831
  2558
+	sub	r2, #4
nkeynes@831
  2559
+	ldr	r4, [r2]
nkeynes@831
  2560
+	ldr	r5, [r3]
nkeynes@831
  2561
+	str	r5, [r2]
nkeynes@831
  2562
+	str	r4, [r3]
nkeynes@831
  2563
+	add	r3, #4
nkeynes@831
  2564
+	b	.LC15
nkeynes@831
  2565
+.LC14:	
nkeynes@831
  2566
+#else
nkeynes@831
  2567
+	add	r2, sp, r0, LSL #2	/* End of args */
nkeynes@831
  2568
+	mov	r3, sp			/* Start of args */
nkeynes@831
  2569
+.LC13:	cmp	r2, r3
nkeynes@831
  2570
+	ldrhi	r4,[r2, #-4]		/* Reverse ends of list */
nkeynes@831
  2571
+	ldrhi	r5, [r3]
nkeynes@831
  2572
+	strhi	r5, [r2, #-4]!
nkeynes@831
  2573
+	strhi	r4, [r3], #4
nkeynes@831
  2574
+	bhi	.LC13
nkeynes@831
  2575
+#endif
nkeynes@831
  2576
+
nkeynes@831
  2577
+	bl	main
nkeynes@831
  2578
+
nkeynes@831
  2579
+	bl	exit		/* Should not return */
nkeynes@831
  2580
+
nkeynes@831
  2581
+#ifdef __thumb__
nkeynes@831
  2582
+	/* Come out of Thumb mode... This code should be redundant...   */
nkeynes@831
  2583
+
nkeynes@831
  2584
+	mov	a4, pc
nkeynes@831
  2585
+	bx	a4
nkeynes@831
  2586
+
nkeynes@831
  2587
+	.code 32
nkeynes@831
  2588
+	.global change_back
nkeynes@831
  2589
+change_back:
nkeynes@831
  2590
+	/* Halt the execution.  This code should never be executed.  */
nkeynes@831
  2591
+	/*
nkeynes@831
  2592
+	** With no debug monitor, this probably aborts (eventually).
nkeynes@831
  2593
+	** With a Demon debug monitor, this halts cleanly.
nkeynes@831
  2594
+	** With an Angel debug monitor, this will report 'Unknown SWI'.
nkeynes@831
  2595
+	*/
nkeynes@831
  2596
+	swi	0
nkeynes@831
  2597
+#endif
nkeynes@831
  2598
+	
nkeynes@831
  2599
+	/* For Thumb, constants must be after the code since only 
nkeynes@831
  2600
+	positive offsets are supported for PC relative addresses. */
nkeynes@831
  2601
+	
nkeynes@831
  2602
+	.align 0
nkeynes@831
  2603
+.LC0:
nkeynes@831
  2604
+.LC1:
nkeynes@831
  2605
+	.word	__bss_start__
nkeynes@831
  2606
+.LC2:
nkeynes@831
  2607
+	.word	__bss_end__
nkeynes@831
  2608
+
nkeynes@831
  2609
diff -urN newlib-1.8.2/newlib/libc/sys/aica/dcload.S newlib-1.8.2-aica/newlib/libc/sys/aica/dcload.S
nkeynes@831
  2610
--- newlib-1.8.2/newlib/libc/sys/aica/dcload.S	1970-01-01 10:00:00.000000000 +1000
nkeynes@831
  2611
+++ newlib-1.8.2-aica/newlib/libc/sys/aica/dcload.S	2008-08-13 13:57:28.000000000 +1000
nkeynes@831
  2612
@@ -0,0 +1,21 @@
nkeynes@831
  2613
+.text
nkeynes@831
  2614
+.align	2
nkeynes@831
  2615
+.global	dcloadsyscall
nkeynes@831
  2616
+.type	dcloadsyscall, %function
nkeynes@831
  2617
+dcloadsyscall:
nkeynes@831
  2618
+	@ args = 0, pretend = 0, frame = 0
nkeynes@831
  2619
+	@ frame_needed = 0, uses_anonymous_args = 0
nkeynes@831
  2620
+	@ link register save eliminated.
nkeynes@831
  2621
+	mov	ip, #48
nkeynes@831
  2622
+	str	r1, [ip, #4]
nkeynes@831
  2623
+	str	r2, [ip, #8]
nkeynes@831
  2624
+	str	r3, [ip, #12]
nkeynes@831
  2625
+	str	r0, [ip, #0]
nkeynes@831
  2626
+	@ lr needed for prologue
nkeynes@831
  2627
+.L2:
nkeynes@831
  2628
+	ldr	r3, [ip, #0]
nkeynes@831
  2629
+	cmn	r3, #1
nkeynes@831
  2630
+	bne	.L2
nkeynes@831
  2631
+	ldr	r0, [ip, #4]
nkeynes@831
  2632
+	mov	pc, lr
nkeynes@831
  2633
+	.size	dcloadsyscall, .-dcloadsyscall
nkeynes@831
  2634
diff -urN newlib-1.8.2/newlib/libc/sys/aica/dcload.c newlib-1.8.2-aica/newlib/libc/sys/aica/dcload.c
nkeynes@831
  2635
--- newlib-1.8.2/newlib/libc/sys/aica/dcload.c	1970-01-01 10:00:00.000000000 +1000
nkeynes@831
  2636
+++ newlib-1.8.2-aica/newlib/libc/sys/aica/dcload.c	2008-08-13 12:10:51.000000000 +1000
nkeynes@831
  2637
@@ -0,0 +1,17 @@
nkeynes@831
  2638
+#define SYSCALL_BASE 0x00000030
nkeynes@831
  2639
+
nkeynes@831
  2640
+struct syscall_struct {
nkeynes@831
  2641
+   unsigned int syscall;
nkeynes@831
  2642
+   unsigned int arg1, arg2, arg3;
nkeynes@831
  2643
+};
nkeynes@831
  2644
+
nkeynes@831
  2645
+unsigned int dcloadsyscall(unsigned int syscall, unsigned int arg1, unsigned int arg2, unsigned int arg3)
nkeynes@831
  2646
+{
nkeynes@831
  2647
+    volatile struct syscall_struct *p = (struct syscall_struct *)(SYSCALL_BASE);
nkeynes@831
  2648
+    p->arg1 = arg1;
nkeynes@831
  2649
+    p->arg2 = arg2;
nkeynes@831
  2650
+    p->arg3 = arg3;
nkeynes@831
  2651
+    p->syscall = syscall;
nkeynes@831
  2652
+    while( p->syscall != 0xFFFFFFFF );
nkeynes@831
  2653
+    return p->arg1;
nkeynes@831
  2654
+}
nkeynes@831
  2655
diff -urN newlib-1.8.2/newlib/libc/sys/aica/dcload_vfs.c newlib-1.8.2-aica/newlib/libc/sys/aica/dcload_vfs.c
nkeynes@831
  2656
--- newlib-1.8.2/newlib/libc/sys/aica/dcload_vfs.c	1970-01-01 10:00:00.000000000 +1000
nkeynes@831
  2657
+++ newlib-1.8.2-aica/newlib/libc/sys/aica/dcload_vfs.c	2008-08-13 18:19:05.000000000 +1000
nkeynes@831
  2658
@@ -0,0 +1,225 @@
nkeynes@831
  2659
+/* Support routines for host access via Andrew K's dcload.  dcload offers
nkeynes@831
  2660
+ full host file-system access along with a few POSIX-like functions. */
nkeynes@831
  2661
+
nkeynes@831
  2662
+/* FIXME: If the host is returning negative values (error codes), then
nkeynes@831
  2663
+ we need to assign the proper value to errno and return -1 as per newlib's
nkeynes@831
  2664
+ conventions. */
nkeynes@831
  2665
+
nkeynes@831
  2666
+/* FIXME: Split some of this off into a separate file, dcload.c.  This will
nkeynes@831
  2667
+ contain public functions that coincide with the prototypes in
nkeynes@831
  2668
+ include/dcload.h */
nkeynes@831
  2669
+
nkeynes@831
  2670
+#include <sys/types.h>
nkeynes@831
  2671
+#include <sys/stat.h>
nkeynes@831
  2672
+#include <errno.h>
nkeynes@831
  2673
+#include <stdlib.h>
nkeynes@831
  2674
+
nkeynes@831
  2675
+#include "vfs.h"
nkeynes@831
  2676
+
nkeynes@831
  2677
+static struct media_ops dcload_host_media_ops;
nkeynes@831
  2678
+static struct file_ops dcload_host_file_ops;
nkeynes@831
  2679
+
nkeynes@831
  2680
+/* True if we have console/file-system access on the host */
nkeynes@831
  2681
+static int host_enabled = 1;
nkeynes@831
  2682
+
nkeynes@831
  2683
+/* Determine whether we're loaded under dcload and if so, whether or not
nkeynes@831
  2684
+ the console/file-server is enabled.  If the console/file-server isn't
nkeynes@831
  2685
+ enabled, then we won't have anything meaningful to do in the host access
nkeynes@831
  2686
+ routines, so they'll be replaced with invalid media/file ops in our init
nkeynes@831
  2687
+ routine. */
nkeynes@831
  2688
+
nkeynes@831
  2689
+int _newlib_vfs_is_dcload (void)
nkeynes@831
  2690
+{
nkeynes@831
  2691
+    return 1;
nkeynes@831
  2692
+}
nkeynes@831
  2693
+
nkeynes@831
  2694
+void _newlib_vfs_dcload_init (void)
nkeynes@831
  2695
+{
nkeynes@831
  2696
+  _newlib_vfs_initialized = VFS_LOADER_DCLOAD_NOHOST;
nkeynes@831
  2697
+
nkeynes@831
  2698
+  if (host_enabled)
nkeynes@831
  2699
+  {
nkeynes@831
  2700
+    /* FIXME: Rework this... */
nkeynes@831
  2701
+    struct file * stdin_file  = _newlib_vfs_first_file;
nkeynes@831
  2702
+    struct file * stdout_file = stdin_file->next;
nkeynes@831
  2703
+    struct file * stderr_file = stdout_file->next;
nkeynes@831
  2704
+
nkeynes@831
  2705
+    _newlib_vfs_initialized = VFS_LOADER_DCLOAD_HOST;
nkeynes@831
  2706
+	  _newlib_vfs_host_media_ops = &dcload_host_media_ops;
nkeynes@831
  2707
+
nkeynes@831
  2708
+    /* Reroute stdin, stdout, and stderr through dcload's host console. */
nkeynes@831
  2709
+    stdin_file->fops  = &dcload_host_file_ops;
nkeynes@831
  2710
+    stdout_file->fops = &dcload_host_file_ops;
nkeynes@831
  2711
+    stderr_file->fops = &dcload_host_file_ops;
nkeynes@831
  2712
+  }
nkeynes@831
  2713
+
nkeynes@831
  2714
+  /* All media ops are initially set to invalid so our work is done. */
nkeynes@831
  2715
+}
nkeynes@831
  2716
+
nkeynes@831
  2717
+extern int dcloadsyscall (int func, ...);
nkeynes@831
  2718
+
nkeynes@831
  2719
+/* dcload host media operations */
nkeynes@831
  2720
+
nkeynes@831
  2721
+/* Perform the open/creat syscall and allocate space for a new file if
nkeynes@831
  2722
+ we get a valid fd.  Otherwise return the errno and NULL on errror. */
nkeynes@831
  2723
+static struct file *do_open_media_op (int func, const char *obj, int arg, ...)
nkeynes@831
  2724
+{
nkeynes@831
  2725
+  struct file *pf;
nkeynes@831
  2726
+  int res = dcloadsyscall (func, obj, arg);
nkeynes@831
  2727
+  if (res >= 0)
nkeynes@831
  2728
+  {
nkeynes@831
  2729
+    pf = (struct file *) malloc (sizeof (struct file));
nkeynes@831
  2730
+
nkeynes@831
  2731
+    if (pf)
nkeynes@831
  2732
+    {
nkeynes@831
  2733
+      /* The library fd is set in _newlib_vfs_insert_file */
nkeynes@831
  2734
+      pf->next = NULL;
nkeynes@831
  2735
+			pf->fd = 0;
nkeynes@831
  2736
+      pf->media_fd = res;
nkeynes@831
  2737
+      pf->fops = &dcload_host_file_ops;
nkeynes@831
  2738
+      pf->specifics = NULL;
nkeynes@831
  2739
+      return pf;
nkeynes@831
  2740
+    }
nkeynes@831
  2741
+  }
nkeynes@831
  2742
+
nkeynes@831
  2743
+  return NULL;
nkeynes@831
  2744
+}
nkeynes@831
  2745
+
nkeynes@831
  2746
+#define OPEN_NR 2
nkeynes@831
  2747
+static struct file *dcload_open_media_op (const char *obj, int flags,
nkeynes@831
  2748
+                                          mode_t mode)
nkeynes@831
  2749
+{
nkeynes@831
  2750
+  return do_open_media_op (OPEN_NR, obj, flags, mode);
nkeynes@831
  2751
+}
nkeynes@831
  2752
+
nkeynes@831
  2753
+#define CREAT_NR 4
nkeynes@831
  2754
+static struct file *dcload_creat_media_op (const char *obj, mode_t mode)
nkeynes@831
  2755
+{
nkeynes@831
  2756
+  return do_open_media_op (CREAT_NR, obj, mode);
nkeynes@831
  2757
+}
nkeynes@831
  2758
+
nkeynes@831
  2759
+#define LINK_NR 5
nkeynes@831
  2760
+static int dcload_link_media_op (const char *old_obj, const char *new_obj)
nkeynes@831
  2761
+{
nkeynes@831
  2762
+  return dcloadsyscall (LINK_NR, old_obj, new_obj);
nkeynes@831
  2763
+}
nkeynes@831
  2764
+
nkeynes@831
  2765
+#define UNLINK_NR 6
nkeynes@831
  2766
+static int dcload_unlink_media_op (const char *obj)
nkeynes@831
  2767
+{
nkeynes@831
  2768
+  return dcloadsyscall (UNLINK_NR, obj);
nkeynes@831
  2769
+}
nkeynes@831
  2770
+
nkeynes@831
  2771
+#define STAT_NR 12
nkeynes@831
  2772
+static int dcload_stat_media_op (const char *obj, struct stat *pstat)
nkeynes@831
  2773
+{
nkeynes@831
  2774
+  return dcloadsyscall (STAT_NR, obj, pstat);
nkeynes@831
  2775
+}
nkeynes@831
  2776
+
nkeynes@831
  2777
+#define CHMOD_NR 8
nkeynes@831
  2778
+static int dcload_chmod_media_op (const char *obj, mode_t mode)
nkeynes@831
  2779
+{
nkeynes@831
  2780
+  return dcloadsyscall (CHMOD_NR, obj, mode);
nkeynes@831
  2781
+}
nkeynes@831
  2782
+
nkeynes@831
  2783
+#define CHDIR_NR 7
nkeynes@831
  2784
+static int dcload_chdir_media_op (const char *obj)
nkeynes@831
  2785
+{
nkeynes@831
  2786
+  return dcloadsyscall (CHDIR_NR, obj);
nkeynes@831
  2787
+}
nkeynes@831
  2788
+
nkeynes@831
  2789
+/* dcload host file operations */
nkeynes@831
  2790
+
nkeynes@831
  2791
+static size_t do_rw_file_op (int func, struct file *pf, void *buf, size_t cnt)
nkeynes@831
  2792
+{
nkeynes@831
  2793
+  return dcloadsyscall (func, pf->media_fd, buf, cnt);
nkeynes@831
  2794
+}
nkeynes@831
  2795
+
nkeynes@831
  2796
+#define READ_NR 0
nkeynes@831
  2797
+static size_t dcload_read_file_op (struct file *pf, void *buf, size_t cnt)
nkeynes@831
  2798
+{
nkeynes@831
  2799
+  return do_rw_file_op (READ_NR, pf, buf, cnt);
nkeynes@831
  2800
+}
nkeynes@831
  2801
+
nkeynes@831
  2802
+#define WRITE_NR 1
nkeynes@831
  2803
+static size_t dcload_write_file_op (struct file *pf, void *buf, size_t cnt)
nkeynes@831
  2804
+{
nkeynes@831
  2805
+  return do_rw_file_op (WRITE_NR, pf, buf, cnt);
nkeynes@831
  2806
+}
nkeynes@831
  2807
+
nkeynes@831
  2808
+#define LSEEK_NR 9
nkeynes@831
  2809
+static off_t dcload_lseek_file_op (struct file *pf, off_t pos, int whence)
nkeynes@831
  2810
+{
nkeynes@831
  2811
+  return dcloadsyscall (LSEEK_NR, pf->media_fd, pos, whence);
nkeynes@831
  2812
+}
nkeynes@831
  2813
+
nkeynes@831
  2814
+#define CLOSE_NR 3
nkeynes@831
  2815
+static int dcload_close_file_op (struct file *pf)
nkeynes@831
  2816
+{
nkeynes@831
  2817
+  return dcloadsyscall (CLOSE_NR, pf->media_fd);
nkeynes@831
  2818
+}
nkeynes@831
  2819
+
nkeynes@831
  2820
+#define FSTAT_NR 10
nkeynes@831
  2821
+static int dcload_fstat_file_op (struct file *pf, struct stat *pstat)
nkeynes@831
  2822
+{
nkeynes@831
  2823
+  return dcloadsyscall (FSTAT_NR, pf->media_fd, pstat);
nkeynes@831
  2824
+}
nkeynes@831
  2825
+
nkeynes@831
  2826
+#define EXIT_NR 15
nkeynes@831
  2827
+void _newlib_vfs_dcload_exit (int n)
nkeynes@831
  2828
+{
nkeynes@831
  2829
+  dcloadsyscall (EXIT_NR, n);
nkeynes@831
  2830
+}
nkeynes@831
  2831
+
nkeynes@831
  2832
+#define ASSIGN_WRKMEM_NR 14
nkeynes@831
  2833
+void dcload_assign_wrkmem (void *buf)
nkeynes@831
  2834
+{
nkeynes@831
  2835
+  dcloadsyscall (ASSIGN_WRKMEM_NR, buf);
nkeynes@831
  2836
+}
nkeynes@831
  2837
+
nkeynes@831
  2838
+/* media_ops for host file-system access */
nkeynes@831
  2839
+
nkeynes@831
  2840
+int dcload_mkdir_media_op( const char *c, mode_t mode )
nkeynes@831
  2841
+{
nkeynes@831
  2842
+  errno = ENOSYS;
nkeynes@831
  2843
+  return -1;
nkeynes@831
  2844
+}
nkeynes@831
  2845
+
nkeynes@831
  2846
+int dcload_rmdir_media_op( const char *c )
nkeynes@831
  2847
+{
nkeynes@831
  2848
+  errno = ENOSYS;
nkeynes@831
  2849
+  return -1;
nkeynes@831
  2850
+}
nkeynes@831
  2851
+
nkeynes@831
  2852
+int dcload_ioctl_file_op( )
nkeynes@831
  2853
+{
nkeynes@831
  2854
+  errno = ENOSYS;
nkeynes@831
  2855
+  return -1;
nkeynes@831
  2856
+}
nkeynes@831
  2857
+
nkeynes@831
  2858
+static struct media_ops dcload_host_media_ops =
nkeynes@831
  2859
+{
nkeynes@831
  2860
+  open:                dcload_open_media_op,
nkeynes@831
  2861
+  creat:               dcload_creat_media_op,
nkeynes@831
  2862
+  link:                dcload_link_media_op,
nkeynes@831
  2863
+  unlink:              dcload_unlink_media_op,
nkeynes@831
  2864
+  stat:                dcload_stat_media_op,
nkeynes@831
  2865
+  chmod:               dcload_chmod_media_op,
nkeynes@831
  2866
+  mkdir:               dcload_mkdir_media_op,
nkeynes@831
  2867
+  rmdir:               dcload_rmdir_media_op,
nkeynes@831
  2868
+  chdir:               dcload_chdir_media_op
nkeynes@831
  2869
+};
nkeynes@831
  2870
+
nkeynes@831
  2871
+/* file_ops for a host file */
nkeynes@831
  2872
+
nkeynes@831
  2873
+static struct file_ops dcload_host_file_ops =
nkeynes@831
  2874
+{
nkeynes@831
  2875
+  lseek:               dcload_lseek_file_op,
nkeynes@831
  2876
+  close:               dcload_close_file_op,
nkeynes@831
  2877
+  read:                dcload_read_file_op,
nkeynes@831
  2878
+  write:               dcload_write_file_op,
nkeynes@831
  2879
+  ioctl:               dcload_ioctl_file_op,
nkeynes@831
  2880
+  fstat:               dcload_fstat_file_op
nkeynes@831
  2881
+};
nkeynes@831
  2882
+
nkeynes@831
  2883
+
nkeynes@831
  2884
diff -urN newlib-1.8.2/newlib/libc/sys/aica/dup.c newlib-1.8.2-aica/newlib/libc/sys/aica/dup.c
nkeynes@831
  2885
--- newlib-1.8.2/newlib/libc/sys/aica/dup.c	1970-01-01 10:00:00.000000000 +1000
nkeynes@831
  2886
+++ newlib-1.8.2-aica/newlib/libc/sys/aica/dup.c	2008-08-13 11:54:44.000000000 +1000
nkeynes@831
  2887
@@ -0,0 +1,2 @@
nkeynes@831
  2888
+/* This hack is required for libstdc++ to work properly */
nkeynes@831
  2889
+int dup(int fd) { return fd; }
nkeynes@831
  2890
diff -urN newlib-1.8.2/newlib/libc/sys/aica/exit.c newlib-1.8.2-aica/newlib/libc/sys/aica/exit.c
nkeynes@831
  2891
--- newlib-1.8.2/newlib/libc/sys/aica/exit.c	1970-01-01 10:00:00.000000000 +1000
nkeynes@831
  2892
+++ newlib-1.8.2-aica/newlib/libc/sys/aica/exit.c	2008-08-13 11:54:44.000000000 +1000
nkeynes@831
  2893
@@ -0,0 +1,18 @@
nkeynes@831
  2894
+/* TODO: Do different things depending on the loader present, e.g. dcload
nkeynes@831
  2895
+ has an exit() call, gdbstubs can tell gdb "W00", etc. */
nkeynes@831
  2896
+
nkeynes@831
  2897
+#include "vfs.h"
nkeynes@831
  2898
+
nkeynes@831
  2899
+void _exit(int n);
nkeynes@831
  2900
+
nkeynes@831
  2901
+void exit (int n) { _exit (n); }
nkeynes@831
  2902
+
nkeynes@831
  2903
+extern void _newlib_vfs_dcload_exit (int);
nkeynes@831
  2904
+
nkeynes@831
  2905
+void
nkeynes@831
  2906
+_exit (int n)
nkeynes@831
  2907
+{
nkeynes@831
  2908
+  if( _newlib_vfs_is_dcload() ) {
nkeynes@831
  2909
+    _newlib_vfs_dcload_exit (n);
nkeynes@831
  2910
+  }
nkeynes@831
  2911
+}
nkeynes@831
  2912
diff -urN newlib-1.8.2/newlib/libc/sys/aica/fcntl.c newlib-1.8.2-aica/newlib/libc/sys/aica/fcntl.c
nkeynes@831
  2913
--- newlib-1.8.2/newlib/libc/sys/aica/fcntl.c	1970-01-01 10:00:00.000000000 +1000
nkeynes@831
  2914
+++ newlib-1.8.2-aica/newlib/libc/sys/aica/fcntl.c	2008-08-13 11:54:44.000000000 +1000
nkeynes@831
  2915
@@ -0,0 +1,21 @@
nkeynes@831
  2916
+#include <sys/fcntl.h>
nkeynes@831
  2917
+
nkeynes@831
  2918
+/* Minimal fcntl support is necessary for C++ console streams cin, cout, and
nkeynes@831
  2919
+   cerr. */
nkeynes@831
  2920
+int
nkeynes@831
  2921
+_fcntl (int fd, int flag, ...)
nkeynes@831
  2922
+{
nkeynes@831
  2923
+  switch (flag) {
nkeynes@831
  2924
+     case F_GETFL:
nkeynes@831
  2925
+        switch (fd) {
nkeynes@831
  2926
+           case 0: return O_RDONLY;
nkeynes@831
  2927
+           case 1: return O_WRONLY;
nkeynes@831
  2928
+           case 2: return O_WRONLY;
nkeynes@831
  2929
+           default: return -1;
nkeynes@831
  2930
+        }
nkeynes@831
  2931
+     default:
nkeynes@831
  2932
+        return -1;
nkeynes@831
  2933
+  }
nkeynes@831
  2934
+
nkeynes@831
  2935
+  return -1;
nkeynes@831
  2936
+}
nkeynes@831
  2937
diff -urN newlib-1.8.2/newlib/libc/sys/aica/fstat.c newlib-1.8.2-aica/newlib/libc/sys/aica/fstat.c
nkeynes@831
  2938
--- newlib-1.8.2/newlib/libc/sys/aica/fstat.c	1970-01-01 10:00:00.000000000 +1000
nkeynes@831
  2939
+++ newlib-1.8.2-aica/newlib/libc/sys/aica/fstat.c	2008-08-13 11:54:44.000000000 +1000
nkeynes@831
  2940
@@ -0,0 +1,12 @@
nkeynes@831
  2941
+#include <sys/types.h>
nkeynes@831
  2942
+#include <sys/stat.h>
nkeynes@831
  2943
+
nkeynes@831
  2944
+#include "vfs.h"
nkeynes@831
  2945
+
nkeynes@831
  2946
+int
nkeynes@831
  2947
+_fstat (int fd, struct stat *pstat)
nkeynes@831
  2948
+{
nkeynes@831
  2949
+  struct file *pf = _newlib_vfs_get_file (fd);
nkeynes@831
  2950
+
nkeynes@831
  2951
+  return pf->fops->fstat (pf, pstat);
nkeynes@831
  2952
+}
nkeynes@831
  2953
diff -urN newlib-1.8.2/newlib/libc/sys/aica/getpid.c newlib-1.8.2-aica/newlib/libc/sys/aica/getpid.c
nkeynes@831
  2954
--- newlib-1.8.2/newlib/libc/sys/aica/getpid.c	1970-01-01 10:00:00.000000000 +1000
nkeynes@831
  2955
+++ newlib-1.8.2-aica/newlib/libc/sys/aica/getpid.c	2008-08-13 11:54:44.000000000 +1000
nkeynes@831
  2956
@@ -0,0 +1,5 @@
nkeynes@831
  2957
+int
nkeynes@831
  2958
+_getpid ()
nkeynes@831
  2959
+{
nkeynes@831
  2960
+  return 1;
nkeynes@831
  2961
+}
nkeynes@831
  2962
diff -urN newlib-1.8.2/newlib/libc/sys/aica/gettimeofday.c newlib-1.8.2-aica/newlib/libc/sys/aica/gettimeofday.c
nkeynes@831
  2963
--- newlib-1.8.2/newlib/libc/sys/aica/gettimeofday.c	1970-01-01 10:00:00.000000000 +1000
nkeynes@831
  2964
+++ newlib-1.8.2-aica/newlib/libc/sys/aica/gettimeofday.c	2008-08-13 11:54:44.000000000 +1000
nkeynes@831
  2965
@@ -0,0 +1,30 @@
nkeynes@831
  2966
+#include <time.h>
nkeynes@831
  2967
+#include <sys/time.h>
nkeynes@831
  2968
+
nkeynes@831
  2969
+/* Returns the number of seconds elapsed from the Unix epoch, January 1st,
nkeynes@831
  2970
+ 1970.  Note that the Dreamcast counts time from January 1st, 1950, so we
nkeynes@831
  2971
+ need to subtract 20 years (and 5 leap days) from the Dreamcast RTC to
nkeynes@831
  2972
+ get valid values for libc's time functions. */
nkeynes@831
  2973
+
nkeynes@831
  2974
+#define TWENTY_YEARS ((20 * 365LU + 5) * 86400)
nkeynes@831
  2975
+
nkeynes@831
  2976
+int
nkeynes@831
  2977
+_gettimeofday (struct timeval *tp, struct timezone *tzp)
nkeynes@831
  2978
+{
nkeynes@831
  2979
+  if (tp)
nkeynes@831
  2980
+  {
nkeynes@831
  2981
+    unsigned long rtc_h = *(volatile unsigned long*)0x00810000;
nkeynes@831
  2982
+    unsigned long rtc_l = *(volatile unsigned long*)0x00810004;
nkeynes@831
  2983
+    unsigned long secs = ((rtc_h & 0xffff) << 16) | (rtc_l & 0xffff);
nkeynes@831
  2984
+
nkeynes@831
  2985
+    tp->tv_sec = secs - TWENTY_YEARS;
nkeynes@831
  2986
+    tp->tv_usec = 0;
nkeynes@831
  2987
+  }
nkeynes@831
  2988
+  if (tzp)
nkeynes@831
  2989
+  {
nkeynes@831
  2990
+    tzp->tz_minuteswest = 0;
nkeynes@831
  2991
+    tzp->tz_dsttime = 0;
nkeynes@831
  2992
+  }
nkeynes@831
  2993
+
nkeynes@831
  2994
+  return 0;
nkeynes@831
  2995
+}
nkeynes@831
  2996
diff -urN newlib-1.8.2/newlib/libc/sys/aica/ioctl.c newlib-1.8.2-aica/newlib/libc/sys/aica/ioctl.c
nkeynes@831
  2997
--- newlib-1.8.2/newlib/libc/sys/aica/ioctl.c	1970-01-01 10:00:00.000000000 +1000
nkeynes@831
  2998
+++ newlib-1.8.2-aica/newlib/libc/sys/aica/ioctl.c	2008-08-13 11:54:44.000000000 +1000
nkeynes@831
  2999
@@ -0,0 +1,9 @@
nkeynes@831
  3000
+#include "vfs.h"
nkeynes@831
  3001
+
nkeynes@831
  3002
+int
nkeynes@831
  3003
+ioctl (int fd, int func, long arg)
nkeynes@831
  3004
+{
nkeynes@831
  3005
+  struct file *pf = _newlib_vfs_get_file (fd);
nkeynes@831
  3006
+
nkeynes@831
  3007
+  return pf->fops->ioctl (pf, func, arg);
nkeynes@831
  3008
+}
nkeynes@831
  3009
diff -urN newlib-1.8.2/newlib/libc/sys/aica/isatty.c newlib-1.8.2-aica/newlib/libc/sys/aica/isatty.c
nkeynes@831
  3010
--- newlib-1.8.2/newlib/libc/sys/aica/isatty.c	1970-01-01 10:00:00.000000000 +1000
nkeynes@831
  3011
+++ newlib-1.8.2-aica/newlib/libc/sys/aica/isatty.c	2008-08-13 11:54:44.000000000 +1000
nkeynes@831
  3012
@@ -0,0 +1,10 @@
nkeynes@831
  3013
+/* Since file descriptors 0, 1, and 2 are always mapped to stdin, stdout,
nkeynes@831
  3014
+ and stderr, we assume these are the only fds that permit interactive I/O. */
nkeynes@831
  3015
+
nkeynes@831
  3016
+int
nkeynes@831
  3017
+isatty (int fd)
nkeynes@831
  3018
+{
nkeynes@831
  3019
+  if (fd >= 0 && fd < 3)
nkeynes@831
  3020
+    return 1;
nkeynes@831
  3021
+  return 0;
nkeynes@831
  3022
+}
nkeynes@831
  3023
diff -urN newlib-1.8.2/newlib/libc/sys/aica/kill.c newlib-1.8.2-aica/newlib/libc/sys/aica/kill.c
nkeynes@831
  3024
--- newlib-1.8.2/newlib/libc/sys/aica/kill.c	1970-01-01 10:00:00.000000000 +1000
nkeynes@831
  3025
+++ newlib-1.8.2-aica/newlib/libc/sys/aica/kill.c	2008-08-13 11:54:44.000000000 +1000
nkeynes@831
  3026
@@ -0,0 +1,8 @@
nkeynes@831
  3027
+#include <stdlib.h>
nkeynes@831
  3028
+
nkeynes@831
  3029
+int
nkeynes@831
  3030
+_kill ()
nkeynes@831
  3031
+{
nkeynes@831
  3032
+  abort ();
nkeynes@831
  3033
+  return 0;
nkeynes@831
  3034
+}
nkeynes@831
  3035
diff -urN newlib-1.8.2/newlib/libc/sys/aica/link.c newlib-1.8.2-aica/newlib/libc/sys/aica/link.c
nkeynes@831
  3036
--- newlib-1.8.2/newlib/libc/sys/aica/link.c	1970-01-01 10:00:00.000000000 +1000
nkeynes@831
  3037
+++ newlib-1.8.2-aica/newlib/libc/sys/aica/link.c	2008-08-13 11:54:44.000000000 +1000
nkeynes@831
  3038
@@ -0,0 +1,16 @@
nkeynes@831
  3039
+#include "vfs.h"
nkeynes@831
  3040
+
nkeynes@831
  3041
+int
nkeynes@831
  3042
+_link (const char *old_path, const char *new_path)
nkeynes@831
  3043
+{
nkeynes@831
  3044
+  char *old_obj = _newlib_vfs_new_string (old_path);
nkeynes@831
  3045
+  char *new_obj = _newlib_vfs_new_string (new_path);
nkeynes@831
  3046
+  
nkeynes@831
  3047
+  struct media_ops *mops = _newlib_vfs_get_media_ops (old_path);
nkeynes@831
  3048
+  int res = mops->link (old_obj, new_obj);
nkeynes@831
  3049
+
nkeynes@831
  3050
+  _newlib_vfs_delete_string (old_obj);
nkeynes@831
  3051
+  _newlib_vfs_delete_string (new_obj);
nkeynes@831
  3052
+
nkeynes@831
  3053
+  return res;
nkeynes@831
  3054
+}
nkeynes@831
  3055
diff -urN newlib-1.8.2/newlib/libc/sys/aica/lseek.c newlib-1.8.2-aica/newlib/libc/sys/aica/lseek.c
nkeynes@831
  3056
--- newlib-1.8.2/newlib/libc/sys/aica/lseek.c	1970-01-01 10:00:00.000000000 +1000
nkeynes@831
  3057
+++ newlib-1.8.2-aica/newlib/libc/sys/aica/lseek.c	2008-08-13 11:54:44.000000000 +1000
nkeynes@831
  3058
@@ -0,0 +1,11 @@
nkeynes@831
  3059
+#include <sys/types.h>
nkeynes@831
  3060
+
nkeynes@831
  3061
+#include "vfs.h"
nkeynes@831
  3062
+
nkeynes@831
  3063
+off_t
nkeynes@831
  3064
+_lseek (int fd, off_t pos, int whence)
nkeynes@831
  3065
+{
nkeynes@831
  3066
+  struct file *pf = _newlib_vfs_get_file (fd);
nkeynes@831
  3067
+
nkeynes@831
  3068
+  return pf->fops->lseek (pf, pos, whence);
nkeynes@831
  3069
+}
nkeynes@831
  3070
diff -urN newlib-1.8.2/newlib/libc/sys/aica/mkdir.c newlib-1.8.2-aica/newlib/libc/sys/aica/mkdir.c
nkeynes@831
  3071
--- newlib-1.8.2/newlib/libc/sys/aica/mkdir.c	1970-01-01 10:00:00.000000000 +1000
nkeynes@831
  3072
+++ newlib-1.8.2-aica/newlib/libc/sys/aica/mkdir.c	2008-08-13 11:54:44.000000000 +1000
nkeynes@831
  3073
@@ -0,0 +1,16 @@
nkeynes@831
  3074
+#include <sys/types.h>
nkeynes@831
  3075
+
nkeynes@831
  3076
+#include "vfs.h"
nkeynes@831
  3077
+
nkeynes@831
  3078
+int
nkeynes@831
  3079
+mkdir (const char *path, mode_t mode)
nkeynes@831
  3080
+{
nkeynes@831
  3081
+  char *obj = _newlib_vfs_new_string (path);
nkeynes@831
  3082
+
nkeynes@831
  3083
+  struct media_ops *mops = _newlib_vfs_get_media_ops (path);
nkeynes@831
  3084
+  int res = mops->mkdir (obj, mode);
nkeynes@831
  3085
+
nkeynes@831
  3086
+  _newlib_vfs_delete_string (obj);
nkeynes@831
  3087
+
nkeynes@831
  3088
+  return res;
nkeynes@831
  3089
+}
nkeynes@831
  3090
diff -urN newlib-1.8.2/newlib/libc/sys/aica/open.c newlib-1.8.2-aica/newlib/libc/sys/aica/open.c
nkeynes@831
  3091
--- newlib-1.8.2/newlib/libc/sys/aica/open.c	1970-01-01 10:00:00.000000000 +1000
nkeynes@831
  3092
+++ newlib-1.8.2-aica/newlib/libc/sys/aica/open.c	2008-08-13 11:54:44.000000000 +1000
nkeynes@831
  3093
@@ -0,0 +1,23 @@
nkeynes@831
  3094
+#include <sys/types.h>
nkeynes@831
  3095
+
nkeynes@831
  3096
+#include <stdio.h>
nkeynes@831
  3097
+
nkeynes@831
  3098
+#include "vfs.h"
nkeynes@831
  3099
+
nkeynes@831
  3100
+int
nkeynes@831
  3101
+_open (const char *path, int flags, mode_t mode)
nkeynes@831
  3102
+{
nkeynes@831
  3103
+  char *obj = _newlib_vfs_new_string (path);
nkeynes@831
  3104
+
nkeynes@831
  3105
+  struct media_ops *mops = _newlib_vfs_get_media_ops (path);
nkeynes@831
  3106
+  struct file *pf = mops->open (obj, flags, mode);
nkeynes@831
  3107
+
nkeynes@831
  3108
+  _newlib_vfs_delete_string (obj);
nkeynes@831
  3109
+
nkeynes@831
  3110
+  if (pf != NULL)
nkeynes@831
  3111
+  {
nkeynes@831
  3112
+    return _newlib_vfs_insert_file (pf);
nkeynes@831
  3113
+  }
nkeynes@831
  3114
+
nkeynes@831
  3115
+  return -1;
nkeynes@831
  3116
+}
nkeynes@831
  3117
diff -urN newlib-1.8.2/newlib/libc/sys/aica/read.c newlib-1.8.2-aica/newlib/libc/sys/aica/read.c
nkeynes@831
  3118
--- newlib-1.8.2/newlib/libc/sys/aica/read.c	1970-01-01 10:00:00.000000000 +1000
nkeynes@831
  3119
+++ newlib-1.8.2-aica/newlib/libc/sys/aica/read.c	2008-08-13 11:54:44.000000000 +1000
nkeynes@831
  3120
@@ -0,0 +1,11 @@
nkeynes@831
  3121
+#include <sys/types.h>
nkeynes@831
  3122
+
nkeynes@831
  3123
+#include "vfs.h"
nkeynes@831
  3124
+
nkeynes@831
  3125
+size_t
nkeynes@831
  3126
+_read (int fd, void *buf, size_t cnt)
nkeynes@831
  3127
+{
nkeynes@831
  3128
+  struct file *pf = _newlib_vfs_get_file (fd);
nkeynes@831
  3129
+
nkeynes@831
  3130
+  return pf->fops->read (pf, buf, cnt);
nkeynes@831
  3131
+}
nkeynes@831
  3132
diff -urN newlib-1.8.2/newlib/libc/sys/aica/rmdir.c newlib-1.8.2-aica/newlib/libc/sys/aica/rmdir.c
nkeynes@831
  3133
--- newlib-1.8.2/newlib/libc/sys/aica/rmdir.c	1970-01-01 10:00:00.000000000 +1000
nkeynes@831
  3134
+++ newlib-1.8.2-aica/newlib/libc/sys/aica/rmdir.c	2008-08-13 11:54:44.000000000 +1000
nkeynes@831
  3135
@@ -0,0 +1,14 @@
nkeynes@831
  3136
+#include "vfs.h"
nkeynes@831
  3137
+
nkeynes@831
  3138
+int
nkeynes@831
  3139
+rmdir (const char *path)
nkeynes@831
  3140
+{
nkeynes@831
  3141
+  char *obj = _newlib_vfs_new_string (path);
nkeynes@831
  3142
+
nkeynes@831
  3143
+  struct media_ops *mops = _newlib_vfs_get_media_ops (path);
nkeynes@831
  3144
+  int res = mops->rmdir (obj);
nkeynes@831
  3145
+
nkeynes@831
  3146
+  _newlib_vfs_delete_string (obj);
nkeynes@831
  3147
+
nkeynes@831
  3148
+  return res;
nkeynes@831
  3149
+}
nkeynes@831
  3150
diff -urN newlib-1.8.2/newlib/libc/sys/aica/sbrk.c newlib-1.8.2-aica/newlib/libc/sys/aica/sbrk.c
nkeynes@831
  3151
--- newlib-1.8.2/newlib/libc/sys/aica/sbrk.c	1970-01-01 10:00:00.000000000 +1000
nkeynes@831
  3152
+++ newlib-1.8.2-aica/newlib/libc/sys/aica/sbrk.c	2008-08-13 11:54:44.000000000 +1000
nkeynes@831
  3153
@@ -0,0 +1,27 @@
nkeynes@831
  3154
+#include <_ansi.h>
nkeynes@831
  3155
+#include <errno.h>
nkeynes@831
  3156
+#include <sys/types.h>
nkeynes@831
  3157
+
nkeynes@831
  3158
+extern char end;		/* The end of the program (BSS section). */
nkeynes@831
  3159
+
nkeynes@831
  3160
+register char *stack_ptr asm ("r15");
nkeynes@831
  3161
+
nkeynes@831
  3162
+caddr_t
nkeynes@831
  3163
+_sbrk (int incr)
nkeynes@831
  3164
+{
nkeynes@831
  3165
+  static char *heap_end;
nkeynes@831
  3166
+  char *prev_heap_end;
nkeynes@831
  3167
+
nkeynes@831
  3168
+  if (!heap_end)
nkeynes@831
  3169
+    heap_end = &end;
nkeynes@831
  3170
+
nkeynes@831
  3171
+  prev_heap_end = heap_end;
nkeynes@831
  3172
+  if (heap_end + incr > stack_ptr)
nkeynes@831
  3173
+  {
nkeynes@831
  3174
+    errno = ENOMEM;
nkeynes@831
  3175
+	return (caddr_t)-1;
nkeynes@831
  3176
+  }
nkeynes@831
  3177
+
nkeynes@831
  3178
+  heap_end += incr;
nkeynes@831
  3179
+  return (caddr_t) prev_heap_end;
nkeynes@831
  3180
+}
nkeynes@831
  3181
diff -urN newlib-1.8.2/newlib/libc/sys/aica/scif.c newlib-1.8.2-aica/newlib/libc/sys/aica/scif.c
nkeynes@831
  3182
--- newlib-1.8.2/newlib/libc/sys/aica/scif.c	1970-01-01 10:00:00.000000000 +1000
nkeynes@831
  3183
+++ newlib-1.8.2-aica/newlib/libc/sys/aica/scif.c	2008-08-13 11:54:44.000000000 +1000
nkeynes@831
  3184
@@ -0,0 +1,46 @@
nkeynes@831
  3185
+/* Blatantly stolen from libdream, others...
nkeynes@831
  3186
+ * Please fix this :) */
nkeynes@831
  3187
+#include <sys/types.h>
nkeynes@831
  3188
+
nkeynes@831
  3189
+/*#include "scif.h"*/
nkeynes@831
  3190
+
nkeynes@831
  3191
+#define ACK  (volatile unsigned short *)0xffe80010
nkeynes@831
  3192
+#define WR_FIFO (volatile unsigned char *)0xffe8000c
nkeynes@831
  3193
+#define RD_FIFO (volatile unsigned char *)0xffe80014
nkeynes@831
  3194
+#define STATUS  (volatile unsigned short *)0xffe8001c
nkeynes@831
  3195
+
nkeynes@831
  3196
+static void scif_flush ()
nkeynes@831
  3197
+{
nkeynes@831
  3198
+  *ACK &= 0xbf;
nkeynes@831
  3199
+
nkeynes@831
  3200
+  while (!(*ACK & 0x40)) ;
nkeynes@831
  3201
+
nkeynes@831
  3202
+  *ACK &= 0xbf;
nkeynes@831
  3203
+}
nkeynes@831
  3204
+
nkeynes@831
  3205
+size_t _newlib_vfs_scif_write (void *buf, size_t cnt)
nkeynes@831
  3206
+{
nkeynes@831
  3207
+  while (cnt-- > 0)
nkeynes@831
  3208
+  {
nkeynes@831
  3209
+    while (!(*ACK & 0x20)) ;
nkeynes@831
  3210
+
nkeynes@831
  3211
+    *WR_FIFO = *(unsigned char *)buf++;
nkeynes@831
  3212
+
nkeynes@831
  3213
+    *ACK &= 0x9f;
nkeynes@831
  3214
+  }
nkeynes@831
  3215
+  scif_flush ();
nkeynes@831
  3216
+  return cnt;
nkeynes@831
  3217
+}
nkeynes@831
  3218
+
nkeynes@831
  3219
+size_t _newlib_vfs_scif_read (void *buf, size_t cnt)
nkeynes@831
  3220
+{
nkeynes@831
  3221
+  while (cnt -- > 0)
nkeynes@831
  3222
+  {
nkeynes@831
  3223
+    while (*STATUS & 0x1f) ;
nkeynes@831
  3224
+
nkeynes@831
  3225
+    *(unsigned char *)buf++ = *RD_FIFO;
nkeynes@831
  3226
+
nkeynes@831
  3227
+    *ACK &= 0x6d;
nkeynes@831
  3228
+  }
nkeynes@831
  3229
+  return cnt;
nkeynes@831
  3230
+}
nkeynes@831
  3231
diff -urN newlib-1.8.2/newlib/libc/sys/aica/stat.c newlib-1.8.2-aica/newlib/libc/sys/aica/stat.c
nkeynes@831
  3232
--- newlib-1.8.2/newlib/libc/sys/aica/stat.c	1970-01-01 10:00:00.000000000 +1000
nkeynes@831
  3233
+++ newlib-1.8.2-aica/newlib/libc/sys/aica/stat.c	2008-08-13 11:54:44.000000000 +1000
nkeynes@831
  3234
@@ -0,0 +1,26 @@
nkeynes@831
  3235
+#include <sys/types.h>
nkeynes@831
  3236
+#include <sys/stat.h>
nkeynes@831
  3237
+
nkeynes@831
  3238
+#include "vfs.h"
nkeynes@831
  3239
+
nkeynes@831
  3240
+/* Clunky, but remember we're "namespace clean" and library routines also
nkeynes@831
  3241
+ use _stat as a syscall... */
nkeynes@831
  3242
+
nkeynes@831
  3243
+int
nkeynes@831
  3244
+stat (const char *path, struct stat *pstat)
nkeynes@831
  3245
+{
nkeynes@831
  3246
+  return _stat (path, pstat);
nkeynes@831
  3247
+}
nkeynes@831
  3248
+
nkeynes@831
  3249
+int
nkeynes@831
  3250
+_stat (const char *path, struct stat *pstat)
nkeynes@831
  3251
+{
nkeynes@831
  3252
+  char *obj = _newlib_vfs_new_string (path);
nkeynes@831
  3253
+  
nkeynes@831
  3254
+  struct media_ops *mops = _newlib_vfs_get_media_ops (path);
nkeynes@831
  3255
+  int res = mops->stat (obj, pstat);
nkeynes@831
  3256
+
nkeynes@831
  3257
+  _newlib_vfs_delete_string (obj);
nkeynes@831
  3258
+
nkeynes@831
  3259
+  return res;
nkeynes@831
  3260
+}
nkeynes@831
  3261
diff -urN newlib-1.8.2/newlib/libc/sys/aica/stdio_vfs.c newlib-1.8.2-aica/newlib/libc/sys/aica/stdio_vfs.c
nkeynes@831
  3262
--- newlib-1.8.2/newlib/libc/sys/aica/stdio_vfs.c	1970-01-01 10:00:00.000000000 +1000
nkeynes@831
  3263
+++ newlib-1.8.2-aica/newlib/libc/sys/aica/stdio_vfs.c	2008-08-13 18:19:58.000000000 +1000
nkeynes@831
  3264
@@ -0,0 +1,96 @@
nkeynes@831
  3265
+/* Support for Marcus Comstedt's serial slave and gdbstubs, e.g. generic
nkeynes@831
  3266
+ serial console I/O. */
nkeynes@831
  3267
+
nkeynes@831
  3268
+#include "vfs.h"
nkeynes@831
  3269
+
nkeynes@831
  3270
+/* Only read and write are supported for stdio_file_ops, so these are
nkeynes@831
  3271
+ used for stdin, stdout, and stderr which are already "open" when the
nkeynes@831
  3272
+ program is started. */
nkeynes@831
  3273
+
nkeynes@831
  3274
+static size_t stdio_read_file_op (struct file *, void *, size_t);
nkeynes@831
  3275
+static size_t stdio_write_file_op (struct file *, void *, size_t);
nkeynes@831
  3276
+
nkeynes@831
  3277
+static struct file_ops stdio_file_ops =
nkeynes@831
  3278
+{
nkeynes@831
  3279
+  lseek:       _newlib_vfs_invalid_file_op,
nkeynes@831
  3280
+  close:       _newlib_vfs_invalid_file_op,
nkeynes@831
  3281
+  read:        stdio_read_file_op,
nkeynes@831
  3282
+  write:       stdio_write_file_op,
nkeynes@831
  3283
+  ioctl:       _newlib_vfs_invalid_file_op,
nkeynes@831
  3284
+  fstat:       _newlib_vfs_invalid_file_op
nkeynes@831
  3285
+};
nkeynes@831
  3286
+
nkeynes@831
  3287
+/* dcload or absolute may override these to go through their own console
nkeynes@831
  3288
+ output routines. */
nkeynes@831
  3289
+
nkeynes@831
  3290
+static struct file stdout_file;
nkeynes@831
  3291
+static struct file stderr_file;
nkeynes@831
  3292
+
nkeynes@831
  3293
+static struct file stdin_file =
nkeynes@831
  3294
+{
nkeynes@831
  3295
+  &stdout_file,
nkeynes@831
  3296
+  0, 0,
nkeynes@831
  3297
+  &stdio_file_ops,
nkeynes@831
  3298
+  NULL,
nkeynes@831
  3299
+};
nkeynes@831
  3300
+
nkeynes@831
  3301
+static struct file stdout_file =
nkeynes@831
  3302
+{
nkeynes@831
  3303
+  &stderr_file,
nkeynes@831
  3304
+  1, 1,
nkeynes@831
  3305
+  &stdio_file_ops,
nkeynes@831
  3306
+  NULL,
nkeynes@831
  3307
+};
nkeynes@831
  3308
+
nkeynes@831
  3309
+static struct file stderr_file =
nkeynes@831
  3310
+{
nkeynes@831
  3311
+  NULL,
nkeynes@831
  3312
+  2, 2,
nkeynes@831
  3313
+  &stdio_file_ops,
nkeynes@831
  3314
+  NULL,
nkeynes@831
  3315
+};
nkeynes@831
  3316
+
nkeynes@831
  3317
+struct file * _newlib_vfs_first_file = &stdin_file;
nkeynes@831
  3318
+struct file * _newlib_vfs_last_file  = &stderr_file;
nkeynes@831
  3319
+
nkeynes@831
  3320
+int _newlib_vfs_is_sslave (void)
nkeynes@831
  3321
+{
nkeynes@831
  3322
+    return 0;
nkeynes@831
  3323
+}
nkeynes@831
  3324
+
nkeynes@831
  3325
+void _newlib_vfs_sslave_init (void)
nkeynes@831
  3326
+{
nkeynes@831
  3327
+  /* Initialize serial console to a known state.  We already assume that
nkeynes@831
  3328
+   we connected to the host, we just make sure the SCIF is setup the way
nkeynes@831
  3329
+   we need it. */
nkeynes@831
  3330
+  _newlib_vfs_initialized = VFS_LOADER_SERIAL_SLAVE;
nkeynes@831
  3331
+}
nkeynes@831
  3332
+
nkeynes@831
  3333
+
nkeynes@831
  3334
+/* Detect gdbstubs.  gdbstubs sets the border color to green to indicate that
nkeynes@831
  3335
+ it's active.  While this can't reliably be used to detect it, we also look
nkeynes@831
  3336
+ for gdbstubs start code at two separate addresses (gdbstub can load itself
nkeynes@831
  3337
+ at either address). */
nkeynes@831
  3338
+
nkeynes@831
  3339
+int _newlib_vfs_is_gdbstubs (void)
nkeynes@831
  3340
+{
nkeynes@831
  3341
+  return 0;
nkeynes@831
  3342
+}
nkeynes@831
  3343
+
nkeynes@831
  3344
+void _newlib_vfs_gdbstubs_init (void)
nkeynes@831
  3345
+{
nkeynes@831
  3346
+  _newlib_vfs_initialized = VFS_LOADER_GDBSTUBS;
nkeynes@831
  3347
+}
nkeynes@831
  3348
+
nkeynes@831
  3349
+extern size_t _newlib_vfs_scif_write (void *, size_t);
nkeynes@831
  3350
+extern size_t _newlib_vfs_scif_read (void *, size_t);
nkeynes@831
  3351
+
nkeynes@831
  3352
+static size_t stdio_read_file_op (struct file *pf, void *buf, size_t cnt)
nkeynes@831
  3353
+{
nkeynes@831
  3354
+  return _newlib_vfs_scif_read (buf, cnt);
nkeynes@831
  3355
+}
nkeynes@831
  3356
+
nkeynes@831
  3357
+static size_t stdio_write_file_op (struct file *pf, void *buf, size_t cnt)
nkeynes@831
  3358
+{
nkeynes@831
  3359
+  return _newlib_vfs_scif_write (buf, cnt);
nkeynes@831
  3360
+}
nkeynes@831
  3361
diff -urN newlib-1.8.2/newlib/libc/sys/aica/times.c newlib-1.8.2-aica/newlib/libc/sys/aica/times.c
nkeynes@831
  3362
--- newlib-1.8.2/newlib/libc/sys/aica/times.c	1970-01-01 10:00:00.000000000 +1000
nkeynes@831
  3363
+++ newlib-1.8.2-aica/newlib/libc/sys/aica/times.c	2008-08-13 11:54:44.000000000 +1000
nkeynes@831
  3364
@@ -0,0 +1,35 @@
nkeynes@831
  3365
+#include <time.h>
nkeynes@831
  3366
+#include <sys/times.h>
nkeynes@831
  3367
+
nkeynes@831
  3368
+/* crt.S stores program startup time (Dreamcast-relative, epoch at 1/1/1950)
nkeynes@831
  3369
+ in the global variable _newlib_dreamcast_utime.  We can use this variable to
nkeynes@831
  3370
+ determine the total amount of time that the program has been running. */
nkeynes@831
  3371
+
nkeynes@831
  3372
+/* This is raw seconds of program usage, we don't need to worry about
nkeynes@831
  3373
+ converting epochs or anything like that... */
nkeynes@831
  3374
+
nkeynes@831
  3375
+extern unsigned long _newlib_dreamcast_utime;
nkeynes@831
  3376
+
nkeynes@831
  3377
+clock_t
nkeynes@831
  3378
+_times (struct tms *buf)
nkeynes@831
  3379
+{
nkeynes@831
  3380
+  if (_newlib_dreamcast_utime)
nkeynes@831
  3381
+  {
nkeynes@831
  3382
+    unsigned long rtc_h = *(volatile unsigned long*)0x00810000;
nkeynes@831
  3383
+    unsigned long rtc_l = *(volatile unsigned long*)0x00810004;
nkeynes@831
  3384
+    unsigned long secs = ((rtc_h & 0xffff) << 16) | (rtc_l & 0xffff);
nkeynes@831
  3385
+
nkeynes@831
  3386
+    clock_t utime = secs - _newlib_dreamcast_utime;
nkeynes@831
  3387
+
nkeynes@831
  3388
+    if (buf) {
nkeynes@831
  3389
+      buf->tms_utime = utime;
nkeynes@831
  3390
+      buf->tms_stime = 0;
nkeynes@831
  3391
+      buf->tms_cutime = 0;
nkeynes@831
  3392
+      buf->tms_cstime = 0;
nkeynes@831
  3393
+     }
nkeynes@831
  3394
+
nkeynes@831
  3395
+     return utime;
nkeynes@831
  3396
+  }
nkeynes@831
  3397
+
nkeynes@831
  3398
+  return (clock_t)-1;
nkeynes@831
  3399
+}
nkeynes@831
  3400
diff -urN newlib-1.8.2/newlib/libc/sys/aica/unlink.c newlib-1.8.2-aica/newlib/libc/sys/aica/unlink.c
nkeynes@831
  3401
--- newlib-1.8.2/newlib/libc/sys/aica/unlink.c	1970-01-01 10:00:00.000000000 +1000
nkeynes@831
  3402
+++ newlib-1.8.2-aica/newlib/libc/sys/aica/unlink.c	2008-08-13 11:54:44.000000000 +1000
nkeynes@831
  3403
@@ -0,0 +1,14 @@
nkeynes@831
  3404
+#include "vfs.h"
nkeynes@831
  3405
+
nkeynes@831
  3406
+int
nkeynes@831
  3407
+_unlink (const char *path)
nkeynes@831
  3408
+{
nkeynes@831
  3409
+  char *obj = _newlib_vfs_new_string (path);
nkeynes@831
  3410
+
nkeynes@831
  3411
+  struct media_ops *mops = _newlib_vfs_get_media_ops (path);
nkeynes@831
  3412
+  int res = mops->unlink (obj);
nkeynes@831
  3413
+
nkeynes@831
  3414
+  _newlib_vfs_delete_string (obj);
nkeynes@831
  3415
+
nkeynes@831
  3416
+  return res;
nkeynes@831
  3417
+}
nkeynes@831
  3418
diff -urN newlib-1.8.2/newlib/libc/sys/aica/vfs.c newlib-1.8.2-aica/newlib/libc/sys/aica/vfs.c
nkeynes@831
  3419
--- newlib-1.8.2/newlib/libc/sys/aica/vfs.c	1970-01-01 10:00:00.000000000 +1000
nkeynes@831
  3420
+++ newlib-1.8.2-aica/newlib/libc/sys/aica/vfs.c	2008-08-13 11:54:44.000000000 +1000
nkeynes@831
  3421
@@ -0,0 +1,246 @@
nkeynes@831
  3422
+#include <sys/types.h>
nkeynes@831
  3423
+#include <errno.h>
nkeynes@831
  3424
+#include <stdlib.h>
nkeynes@831
  3425
+#include <string.h>
nkeynes@831
  3426
+
nkeynes@831
  3427
+#include "vfs.h"
nkeynes@831
  3428
+
nkeynes@831
  3429
+static struct file * invalid_open_media_op (void);
nkeynes@831
  3430
+
nkeynes@831
  3431
+static struct media_ops invalid_media_ops =
nkeynes@831
  3432
+{
nkeynes@831
  3433
+  open:                invalid_open_media_op,
nkeynes@831
  3434
+  creat:               invalid_open_media_op,
nkeynes@831
  3435
+  link:                _newlib_vfs_invalid_media_op,
nkeynes@831
  3436
+  unlink:              _newlib_vfs_invalid_media_op,
nkeynes@831
  3437
+  stat:                _newlib_vfs_invalid_media_op,
nkeynes@831
  3438
+  chmod:               _newlib_vfs_invalid_media_op,
nkeynes@831
  3439
+  mkdir:               _newlib_vfs_invalid_media_op,
nkeynes@831
  3440
+  rmdir:               _newlib_vfs_invalid_media_op,
nkeynes@831
  3441
+  chdir:               _newlib_vfs_invalid_media_op
nkeynes@831
  3442
+};
nkeynes@831
  3443
+
nkeynes@831
  3444
+struct media_ops * _newlib_vfs_host_media_ops = &invalid_media_ops;
nkeynes@831
  3445
+struct media_ops * _newlib_vfs_cd_media_ops   = &invalid_media_ops;
nkeynes@831
  3446
+struct media_ops * _newlib_vfs_vmu_media_ops  = &invalid_media_ops;
nkeynes@831
  3447
+
nkeynes@831
  3448
+/* This is where we detect the loader and initialize the relevant *_ops
nkeynes@831
  3449
+ variables. */
nkeynes@831
  3450
+
nkeynes@831
  3451
+enum _newlib_vfs_loader _newlib_vfs_initialized = VFS_LOADER_NONE;
nkeynes@831
  3452
+
nkeynes@831
  3453
+extern int _newlib_vfs_is_sslave (void);
nkeynes@831
  3454
+extern void _newlib_vfs_sslave_init (void);
nkeynes@831
  3455
+
nkeynes@831
  3456
+extern int _newlib_vfs_is_gdbstubs (void);
nkeynes@831
  3457
+extern void _newlib_vfs_gdbstubs_init (void);
nkeynes@831
  3458
+
nkeynes@831
  3459
+extern int _newlib_vfs_is_dcload (void);
nkeynes@831
  3460
+extern void _newlib_vfs_dcload_init (void);
nkeynes@831
  3461
+
nkeynes@831
  3462
+extern int _newlib_vfs_is_absolute (void);
nkeynes@831
  3463
+extern void _newlib_vfs_absolute_load (void);
nkeynes@831
  3464
+
nkeynes@831
  3465
+static void vfs_init (void)
nkeynes@831
  3466
+{
nkeynes@831
  3467
+  _newlib_vfs_initialized = VFS_LOADER_UNKNOWN;
nkeynes@831
  3468
+
nkeynes@831
  3469
+  if (_newlib_vfs_is_sslave ())  /* Marcus Comstedt's serial slave */
nkeynes@831
  3470
+  {
nkeynes@831
  3471
+    _newlib_vfs_sslave_init ();
nkeynes@831
  3472
+  }
nkeynes@831
  3473
+  else if (_newlib_vfs_is_gdbstubs ())  /* Benoit Miller's port of gdbstubs */
nkeynes@831
  3474
+  {
nkeynes@831
  3475
+    _newlib_vfs_gdbstubs_init ();
nkeynes@831
  3476
+  }
nkeynes@831
  3477
+  else if (_newlib_vfs_is_dcload ())  /* Andrew K's dcload */
nkeynes@831
  3478
+  {
nkeynes@831
  3479
+    _newlib_vfs_dcload_init ();
nkeynes@831
  3480
+  }
nkeynes@831
  3481
+  else if (_newlib_vfs_is_absolute ())  /* my own absolute */
nkeynes@831
  3482
+  {
nkeynes@831
  3483
+    _newlib_vfs_absolute_load ();
nkeynes@831
  3484
+  }
nkeynes@831
  3485
+}
nkeynes@831
  3486
+
nkeynes@831
  3487
+#define VFS_INIT { if (!_newlib_vfs_initialized) vfs_init (); }
nkeynes@831
  3488
+
nkeynes@831
  3489
+/* Each prefix, "/pc/", "/cd", and "/vmu" in little-endian. */
nkeynes@831
  3490
+#define PREFIX_HOST 0x2f63702f
nkeynes@831
  3491
+#define PREFIX_CD   0x2f64632f
nkeynes@831
  3492
+#define PREFIX_VMU  0x756d762f
nkeynes@831
  3493
+
nkeynes@831
  3494
+char *_newlib_vfs_new_string (const char *s)
nkeynes@831
  3495
+{
nkeynes@831
  3496
+  VFS_INIT;
nkeynes@831
  3497
+
nkeynes@831
  3498
+  {
nkeynes@831
  3499
+    char *obj = NULL;
nkeynes@831
  3500
+    unsigned long prefix = *(unsigned long *)s;
nkeynes@831
  3501
+		int len;
nkeynes@831
  3502
+
nkeynes@831
  3503
+    if (prefix == PREFIX_HOST || prefix == PREFIX_CD ||
nkeynes@831
  3504
+        prefix == PREFIX_VMU)
nkeynes@831
  3505
+    {
nkeynes@831
  3506
+      /* We snatch the prefix, accounting for the null byte (since we're
nkeynes@831
  3507
+       using memcpy; this could be changed to a simple copy loop... */
nkeynes@831
  3508
+      len = strlen (s) - 3;
nkeynes@831
  3509
+      obj = malloc (len);
nkeynes@831
  3510
+			if (!obj) return obj;
nkeynes@831
  3511
+
nkeynes@831
  3512
+      memcpy (obj, s + 4, len);
nkeynes@831
  3513
+    }
nkeynes@831
  3514
+    else /* Just return a copy of the string if no path given */
nkeynes@831
  3515
+    {
nkeynes@831
  3516
+      len = strlen (s) + 1;
nkeynes@831
  3517
+      obj = malloc (len);
nkeynes@831
  3518
+      if (!obj) return obj;
nkeynes@831
  3519
+
nkeynes@831
  3520
+      memcpy (obj, s, len);
nkeynes@831
  3521
+    }
nkeynes@831
  3522
+    return obj;
nkeynes@831
  3523
+  }
nkeynes@831
  3524
+}
nkeynes@831
  3525
+
nkeynes@831
  3526
+void _newlib_vfs_delete_string (char *s)
nkeynes@831
  3527
+{
nkeynes@831
  3528
+  if (s) free (s);
nkeynes@831
  3529
+}
nkeynes@831
  3530
+
nkeynes@831
  3531
+/* When each media op calls this, it's already got a copy of the stripped
nkeynes@831
  3532
+ path so we just do simple comparisons on the path prefix here. */
nkeynes@831
  3533
+struct media_ops *_newlib_vfs_get_media_ops (const char *path)
nkeynes@831
  3534
+{
nkeynes@831
  3535
+	unsigned long prefix = *(unsigned long *)path;
nkeynes@831
  3536
+	
nkeynes@831
  3537
+  if (prefix == PREFIX_HOST)
nkeynes@831
  3538
+  {
nkeynes@831
  3539
+    return _newlib_vfs_host_media_ops;
nkeynes@831
  3540
+  }
nkeynes@831
  3541
+  else if (prefix == PREFIX_CD)
nkeynes@831
  3542
+  {
nkeynes@831
  3543
+    return _newlib_vfs_cd_media_ops;
nkeynes@831
  3544
+  }
nkeynes@831
  3545
+  else if (prefix == PREFIX_VMU)
nkeynes@831
  3546
+  {
nkeynes@831
  3547
+    return _newlib_vfs_vmu_media_ops;
nkeynes@831
  3548
+  }
nkeynes@831
  3549
+
nkeynes@831
  3550
+  return _newlib_vfs_host_media_ops;
nkeynes@831
  3551
+}
nkeynes@831
  3552
+
nkeynes@831
  3553
+static struct file_ops invalid_file_ops =
nkeynes@831
  3554
+{
nkeynes@831
  3555
+  lseek:       _newlib_vfs_invalid_file_op,
nkeynes@831
  3556
+  close:       _newlib_vfs_invalid_file_op,
nkeynes@831
  3557
+  read:        _newlib_vfs_invalid_file_op,
nkeynes@831
  3558
+  write:       _newlib_vfs_invalid_file_op,
nkeynes@831
  3559
+  ioctl:       _newlib_vfs_invalid_file_op,
nkeynes@831
  3560
+  fstat:       _newlib_vfs_invalid_file_op
nkeynes@831
  3561
+};
nkeynes@831
  3562
+
nkeynes@831
  3563
+static struct file invalid_file =
nkeynes@831
  3564
+{
nkeynes@831
  3565
+  NULL,
nkeynes@831
  3566
+  -1, -1,
nkeynes@831
  3567
+  &invalid_file_ops,
nkeynes@831
  3568
+  NULL
nkeynes@831
  3569
+};
nkeynes@831
  3570
+
nkeynes@831
  3571
+/* FIXME: A lookup for each fd could get expensive...find a better way to
nkeynes@831
  3572
+ "cache" frequently used fds */
nkeynes@831
  3573
+
nkeynes@831
  3574
+static struct file *cached_file = NULL;
nkeynes@831
  3575
+
nkeynes@831
  3576
+/* Find the file matching fd and return a pointer to its contents.  If the
nkeynes@831
  3577
+ file isn't found, return a pointer to invalid_file, which represents a
nkeynes@831
  3578
+ non-existent file (all operations on it will fail). */
nkeynes@831
  3579
+struct file *_newlib_vfs_get_file (int fd)
nkeynes@831
  3580
+{
nkeynes@831
  3581
+  VFS_INIT;
nkeynes@831
  3582
+
nkeynes@831
  3583
+  {
nkeynes@831
  3584
+    struct file *next_file = _newlib_vfs_first_file;
nkeynes@831
  3585
+
nkeynes@831
  3586
+    if ((cached_file != NULL) && (cached_file->fd == fd))
nkeynes@831
  3587
+    {
nkeynes@831
  3588
+      return cached_file;
nkeynes@831
  3589
+    }
nkeynes@831
  3590
+
nkeynes@831
  3591
+    while (next_file)
nkeynes@831
  3592
+    {
nkeynes@831
  3593
+      if (next_file->fd == fd)
nkeynes@831
  3594
+      {
nkeynes@831
  3595
+        cached_file = next_file;
nkeynes@831
  3596
+        return next_file;
nkeynes@831
  3597
+      }
nkeynes@831
  3598
+      next_file = next_file->next;
nkeynes@831
  3599
+    }
nkeynes@831
  3600
+    return &invalid_file;
nkeynes@831
  3601
+  }
nkeynes@831
  3602
+}
nkeynes@831
  3603
+
nkeynes@831
  3604
+static int last_fd = -1;
nkeynes@831
  3605
+
nkeynes@831
  3606
+/* Just insert the file at the end of the list, as it's already been
nkeynes@831
  3607
+ allocated by open/creat.  Increase the library's fd by using the last
nkeynes@831
  3608
+ file's fd. */
nkeynes@831
  3609
+int _newlib_vfs_insert_file (struct file *pf)
nkeynes@831
  3610
+{
nkeynes@831
  3611
+  if (last_fd < 0)
nkeynes@831
  3612
+  {
nkeynes@831
  3613
+    last_fd = _newlib_vfs_last_file->fd;
nkeynes@831
  3614
+  }
nkeynes@831
  3615
+/*	++last_fd; */
nkeynes@831
  3616
+  pf->fd = ++last_fd;
nkeynes@831
  3617
+  _newlib_vfs_last_file->next = pf;
nkeynes@831
  3618
+  _newlib_vfs_last_file = pf;
nkeynes@831
  3619
+  return last_fd;
nkeynes@831
  3620
+}
nkeynes@831
  3621
+
nkeynes@831
  3622
+int _newlib_vfs_remove_file (struct file *pf)
nkeynes@831
  3623
+{
nkeynes@831
  3624
+  if (pf)
nkeynes@831
  3625
+  {
nkeynes@831
  3626
+    struct file *prev_file = _newlib_vfs_first_file;
nkeynes@831
  3627
+		struct file *next_file = NULL;
nkeynes@831
  3628
+
nkeynes@831
  3629
+    while (prev_file)
nkeynes@831
  3630
+    {
nkeynes@831
  3631
+      if (prev_file->next == pf)
nkeynes@831
  3632
+      {
nkeynes@831
  3633
+        prev_file->next = pf->next;
nkeynes@831
  3634
+				next_file = prev_file->next;
nkeynes@831
  3635
+				while (next_file)
nkeynes@831
  3636
+				{
nkeynes@831
  3637
+					prev_file = next_file;
nkeynes@831
  3638
+					next_file = next_file->next;
nkeynes@831
  3639
+				}
nkeynes@831
  3640
+				_newlib_vfs_last_file = prev_file;
nkeynes@831
  3641
+        free (pf);
nkeynes@831
  3642
+        return 0;
nkeynes@831
  3643
+      }
nkeynes@831
  3644
+			prev_file = prev_file->next;
nkeynes@831
  3645
+    }
nkeynes@831
  3646
+  }
nkeynes@831
  3647
+  errno = ENOSYS;
nkeynes@831
  3648
+	return -1;
nkeynes@831
  3649
+}
nkeynes@831
  3650
+
nkeynes@831
  3651
+int _newlib_vfs_invalid_file_op (void)
nkeynes@831
  3652
+{
nkeynes@831
  3653
+  errno = ENOSYS;
nkeynes@831
  3654
+  return -1;
nkeynes@831
  3655
+}
nkeynes@831
  3656
+
nkeynes@831
  3657
+static struct file *invalid_open_media_op (void)
nkeynes@831
  3658
+{
nkeynes@831
  3659
+  errno = ENOSYS;
nkeynes@831
  3660
+  return NULL;
nkeynes@831
  3661
+}
nkeynes@831
  3662
+
nkeynes@831
  3663
+int _newlib_vfs_invalid_media_op (void)
nkeynes@831
  3664
+{
nkeynes@831
  3665
+  errno = ENOSYS;
nkeynes@831
  3666
+  return -1;
nkeynes@831
  3667
+}
nkeynes@831
  3668
diff -urN newlib-1.8.2/newlib/libc/sys/aica/vfs.h newlib-1.8.2-aica/newlib/libc/sys/aica/vfs.h
nkeynes@831
  3669
--- newlib-1.8.2/newlib/libc/sys/aica/vfs.h	1970-01-01 10:00:00.000000000 +1000
nkeynes@831
  3670
+++ newlib-1.8.2-aica/newlib/libc/sys/aica/vfs.h	2008-08-13 11:54:44.000000000 +1000
nkeynes@831
  3671
@@ -0,0 +1,100 @@
nkeynes@831
  3672
+#ifndef __VFS_H__
nkeynes@831
  3673
+#define __VFS_H__
nkeynes@831
  3674
+
nkeynes@831
  3675
+#include <sys/types.h>
nkeynes@831
  3676
+#include <sys/stat.h>
nkeynes@831
  3677
+
nkeynes@831
  3678
+/* Defines all of the operations that can be performed on a particular media
nkeynes@831
  3679
+ type.  These are independent of file access routines. */
nkeynes@831
  3680
+
nkeynes@831
  3681
+struct media_ops {
nkeynes@831
  3682
+  struct file * (*open) (const char *, int, mode_t);
nkeynes@831
  3683
+  struct file * (*creat) (const char *, mode_t);
nkeynes@831
  3684
+  int (*link) (const char *, const char *);
nkeynes@831
  3685
+  int (*unlink) (const char *);
nkeynes@831
  3686
+  int (*stat) (const char *, struct stat *);
nkeynes@831
  3687
+  int (*chmod) (const char *, mode_t);
nkeynes@831
  3688
+  int (*mkdir) (const char*, mode_t);
nkeynes@831
  3689
+  int (*rmdir) (const char *);
nkeynes@831
  3690
+  int (*chdir) (const char *);
nkeynes@831
  3691
+};
nkeynes@831
  3692
+
nkeynes@831
  3693
+/* These are the operations that can be done to a file.  Each media and stub
nkeynes@831
  3694
+ has it's own combination of routines (e.g. Absolute + VMU, dcload + host). */
nkeynes@831
  3695
+
nkeynes@831
  3696
+struct file_ops {
nkeynes@831
  3697
+  off_t (*lseek) (struct file *, off_t, int);
nkeynes@831
  3698
+  int (*close) (struct file *);
nkeynes@831
  3699
+  size_t (*read) (struct file *, void *, size_t);
nkeynes@831
  3700
+  size_t (*write) (struct file *, void *, size_t);
nkeynes@831
  3701
+  /* Hmm, what to do with this one? */
nkeynes@831
  3702
+  int (*ioctl) (struct file *, int, long);
nkeynes@831
  3703
+  int (*fstat) (struct file *, struct stat *);
nkeynes@831
  3704
+};
nkeynes@831
  3705
+
nkeynes@831
  3706
+/* We maintain a linked list of files so that we can remove and add files
nkeynes@831
  3707
+ to/from the list easier.  Each file contains an fd, the "real" fd of whatever
nkeynes@831
  3708
+ media it resides upon, a pointer to the file_ops for the file, and a pointer
nkeynes@831
  3709
+ to media/stub specific data. */
nkeynes@831
  3710
+
nkeynes@831
  3711
+struct file {
nkeynes@831
  3712
+  struct file *next;
nkeynes@831
  3713
+  int fd;
nkeynes@831
  3714
+  int media_fd;
nkeynes@831
  3715
+  struct file_ops *fops;
nkeynes@831
  3716
+  void *specifics;
nkeynes@831
  3717
+};
nkeynes@831
  3718
+  
nkeynes@831
  3719
+
nkeynes@831
  3720
+/* Each load initializes the media_ops for each type based on the media it
nkeynes@831
  3721
+ supports.  If a media type isn't supported, then it's ops points to
nkeynes@831
  3722
+ _newlib_vfs_invalid_media_ops. */
nkeynes@831
  3723
+extern struct media_ops * _newlib_vfs_host_media_ops;
nkeynes@831
  3724
+extern struct media_ops * _newlib_vfs_cd_media_ops;
nkeynes@831
  3725
+extern struct media_ops * _newlib_vfs_vmu_media_ops;
nkeynes@831
  3726
+
nkeynes@831
  3727
+/* Pointers to the first and last file in the list */
nkeynes@831
  3728
+extern struct file * _newlib_vfs_first_file;
nkeynes@831
  3729
+extern struct file * _newlib_vfs_last_file;
nkeynes@831
  3730
+
nkeynes@831
  3731
+/* Each loader initializer gives this a distinct value so that programs
nkeynes@831
  3732
+ can determine which loader they're being loaded under. */
nkeynes@831
  3733
+enum _newlib_vfs_loader
nkeynes@831
  3734
+{
nkeynes@831
  3735
+  VFS_LOADER_NONE,
nkeynes@831
  3736
+  VFS_LOADER_UNKNOWN,
nkeynes@831
  3737
+  VFS_LOADER_SERIAL_SLAVE,
nkeynes@831
  3738
+  VFS_LOADER_GDBSTUBS,
nkeynes@831
  3739
+  VFS_LOADER_DCLOAD_HOST,
nkeynes@831
  3740
+  VFS_LOADER_DCLOAD_NOHOST,
nkeynes@831
  3741
+  VFS_LOADER_ABSOLUTE
nkeynes@831
  3742
+};
nkeynes@831
  3743
+
nkeynes@831
  3744
+extern enum _newlib_vfs_loader _newlib_vfs_initialized;
nkeynes@831
  3745
+
nkeynes@831
  3746
+/* Generic media/file_ops that return ENOSYS */
nkeynes@831
  3747
+int _newlib_vfs_invalid_media_op (void);
nkeynes@831
  3748
+int _newlib_vfs_invalid_file_op (void);
nkeynes@831
  3749
+
nkeynes@831
  3750
+/* Using the path prefix, return the media_ops that handles it */
nkeynes@831
  3751
+struct media_ops *_newlib_vfs_get_media_ops (const char *path);
nkeynes@831
  3752
+
nkeynes@831
  3753
+/* Returns the file that matches the given fd */
nkeynes@831
  3754
+struct file *_newlib_vfs_get_file (int fd);
nkeynes@831
  3755
+
nkeynes@831
  3756
+/* Insert a new file into the list.  Returns -1 and sets errno if the file
nkeynes@831
  3757
+ can't be inserted, otherewise returns 0 */
nkeynes@831
  3758
+int _newlib_vfs_insert_file (struct file *);
nkeynes@831
  3759
+
nkeynes@831
  3760
+/* Removes a file from the list.  Returns -1 and sets errno if there was
nkeynes@831
  3761
+ a problem (e.g. invalid fd passed to close, etc.) */
nkeynes@831
  3762
+int _newlib_vfs_remove_file (struct file *);
nkeynes@831
  3763
+
nkeynes@831
  3764
+/* Copy the given string into a new buffer, while stripping the vfs prefix
nkeynes@831
  3765
+ at the same time. */
nkeynes@831
  3766
+char *_newlib_vfs_new_string (const char *s);
nkeynes@831
  3767
+
nkeynes@831
  3768
+/* Free the buffer previously allocated with *_new_string */
nkeynes@831
  3769
+void _newlib_vfs_delete_string (char *s);
nkeynes@831
  3770
+
nkeynes@831
  3771
+#endif /* __VFS_H__ */
nkeynes@831
  3772
diff -urN newlib-1.8.2/newlib/libc/sys/aica/write.c newlib-1.8.2-aica/newlib/libc/sys/aica/write.c
nkeynes@831
  3773
--- newlib-1.8.2/newlib/libc/sys/aica/write.c	1970-01-01 10:00:00.000000000 +1000
nkeynes@831
  3774
+++ newlib-1.8.2-aica/newlib/libc/sys/aica/write.c	2008-08-13 11:54:44.000000000 +1000
nkeynes@831
  3775
@@ -0,0 +1,11 @@
nkeynes@831
  3776
+#include <sys/types.h>
nkeynes@831
  3777
+
nkeynes@831
  3778
+#include "vfs.h"
nkeynes@831
  3779
+
nkeynes@831
  3780
+int
nkeynes@831
  3781
+_write (int fd, const void *buf, size_t cnt)
nkeynes@831
  3782
+{
nkeynes@831
  3783
+  struct file *pf = _newlib_vfs_get_file (fd);
nkeynes@831
  3784
+
nkeynes@831
  3785
+  return pf->fops->write (pf, buf, cnt);
nkeynes@831
  3786
+}
.