configure.in: FILE variable overrides FLATFORM when linking natFileChannelXXX.cc.

* configure.in: FILE variable  overrides FLATFORM when linking
	natFileChannelXXX.cc.

	* gnu/java/nio/channels/natFileChannelEcos.cc (diag_write):  Restored.
	(write):  Call diag_write, as in old natFileDescriptorEcos.cc.

From-SVN: r79731
This commit is contained in:
Per Bothner 2004-03-19 22:06:12 -08:00 committed by Per Bothner
parent d1a6adeb67
commit ab16524d62
4 changed files with 29 additions and 5 deletions

View file

@ -1,3 +1,11 @@
2004-03-19 Per Bothner <per@bothner.com>
* configure.in: FILE variable overrides FLATFORM when linking
natFileChannelXXX.cc.
* gnu/java/nio/channels/natFileChannelEcos.cc (diag_write): Restored.
(write): Call diag_write, as in old natFileDescriptorEcos.cc.
2004-03-19 Per Bothner <per@bothner.com>
* gnu/gcj/convert/Input_UnicodeBig.java: New class..

4
libjava/configure vendored
View file

@ -1630,7 +1630,7 @@ else
if { (eval echo configure:1631: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
for file in conftest.*; do
case $file in
*.$ac_ext | *.c | *.o | *.obj) ;;
*.c | *.o | *.obj) ;;
*) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
esac
done
@ -9038,7 +9038,7 @@ fi; done
EOF
cat >> $CONFIG_STATUS <<EOF
ac_sources="include/$PLATFORMH java/io/natFile${FILE-${PLATFORM}}.cc java/lang/${PLATFORM}Process.java java/lang/nat${PLATFORM}Process.cc java/net/natInetAddress${PLATFORMNET}.cc java/net/natNetworkInterface${PLATFORMNET}.cc gnu/java/net/natPlainSocketImpl${PLATFORMNET}.cc gnu/java/net/natPlainDatagramSocketImpl${PLATFORMNET}.cc gnu/java/nio/natPipeImpl${PLATFORM}.cc gnu/java/nio/natSelectorImpl${PLATFORM}.cc gnu/java/nio/channels/natFileChannel${PLATFORM}.cc include/$GCHDR include/$THREADH sysdep/$sysdeps_dir/locks.h $SIGNAL_HANDLER $SIGNAL_HANDLER_AUX"
ac_sources="include/$PLATFORMH java/io/natFile${FILE-${PLATFORM}}.cc java/lang/${PLATFORM}Process.java java/lang/nat${PLATFORM}Process.cc java/net/natInetAddress${PLATFORMNET}.cc java/net/natNetworkInterface${PLATFORMNET}.cc gnu/java/net/natPlainSocketImpl${PLATFORMNET}.cc gnu/java/net/natPlainDatagramSocketImpl${PLATFORMNET}.cc gnu/java/nio/natPipeImpl${PLATFORM}.cc gnu/java/nio/natSelectorImpl${PLATFORM}.cc gnu/java/nio/channels/natFileChannel${FILE-${PLATFORM}}.cc include/$GCHDR include/$THREADH sysdep/$sysdeps_dir/locks.h $SIGNAL_HANDLER $SIGNAL_HANDLER_AUX"
ac_dests="include/platform.h java/io/natFile.cc java/lang/ConcreteProcess.java java/lang/natConcreteProcess.cc java/net/natInetAddress.cc java/net/natNetworkInterface.cc gnu/java/net/natPlainSocketImpl.cc gnu/java/net/natPlainDatagramSocketImpl.cc gnu/java/nio/natPipeImpl.cc gnu/java/nio/natSelectorImpl.cc gnu/java/nio/channels/natFileChannelImpl.cc include/java-gc.h include/java-threads.h sysdep/locks.h include/java-signal.h include/java-signal-aux.h"
EOF

View file

@ -330,7 +330,7 @@ test -d gnu/java/nio || mkdir gnu/java/nio
AC_LINK_FILES(gnu/java/nio/natPipeImpl${PLATFORM}.cc, gnu/java/nio/natPipeImpl.cc)
AC_LINK_FILES(gnu/java/nio/natSelectorImpl${PLATFORM}.cc, gnu/java/nio/natSelectorImpl.cc)
test -d gnu/java/nio/channels || mkdir gnu/java/nio/channels
AC_LINK_FILES(gnu/java/nio/channels/natFileChannel${PLATFORM}.cc, gnu/java/nio/channels/natFileChannelImpl.cc)
AC_LINK_FILES(gnu/java/nio/channels/natFileChannel${FILE-${PLATFORM}}.cc, gnu/java/nio/channels/natFileChannelImpl.cc)
case "${host}" in
*mingw*)

View file

@ -26,20 +26,32 @@ details. */
#include <java/lang/NullPointerException.h>
#include <java/lang/String.h>
#include <java/io/FileNotFoundException.h>
#include <java/nio/MappedByteBufferImpl.h>
#include <gnu/java/nio/MappedByteBufferImpl.h>
#include <java/nio/channels/FileChannel.h>
#include <java/nio/channels/FileLock.h>
#include <gnu/java/nio/channels/FileChannelImpl.h>
using gnu::gcj::RawData;
using java::io::IOException;
using java::nio::MappedByteBufferImpl;
using gnu::java::nio::MappedByteBufferImpl;
using java::io::InterruptedIOException;
using java::io::FileNotFoundException;
using java::lang::ArrayIndexOutOfBoundsException;
using java::lang::NullPointerException;
using gnu::java::nio::channels::FileChannelImpl;
extern "C" void diag_write_char (char c);
static void
diag_write (char *data, int len)
{
while (len > 0)
{
diag_write_char (*data++);
len--;
}
}
#define NO_FSYNC_MESSAGE "sync unsupported"
void
@ -78,6 +90,8 @@ FileChannelImpl::open (jstring, jint)
void
FileChannelImpl::write (jint)
{
char d = (char) b;
::diag_write (&d, 1);
}
void
@ -87,6 +101,8 @@ FileChannelImpl::write (jbyteArray b, jint offset, jint len)
throw new NullPointerException;
if (offset < 0 || len < 0 || offset + len > JvGetArrayLength (b))
throw new ArrayIndexOutOfBoundsException;
char *bytes = (char *)elements (b) + offset;
::diag_write (bytes, len);
}
void