mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* djgpp/*: sync with the latest.
* ext/extmk.rb, lib/mkmf.rb: flush $stdout. * io.c (READ_DATA_PENDING_COUNT, READ_DATA_PENDING_PTR): undef these macros on DJGPP. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3007 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
8a49ac945b
commit
c87332937b
7 changed files with 132 additions and 78 deletions
|
@ -3,7 +3,7 @@
|
||||||
This is what you need to do to compile and install Ruby:
|
This is what you need to do to compile and install Ruby:
|
||||||
|
|
||||||
1. Run configure.bat, which will generate config.h and Makefile
|
1. Run configure.bat, which will generate config.h and Makefile
|
||||||
and ext/extmk.rb(GNU sed required).
|
(GNU sed required).
|
||||||
Message like this is normal:
|
Message like this is normal:
|
||||||
sed.exe: can't read 123456789: No such file or directory (ENOENT)
|
sed.exe: can't read 123456789: No such file or directory (ENOENT)
|
||||||
|
|
||||||
|
|
|
@ -71,8 +71,6 @@
|
||||||
#define HAVE_HYPOT 1
|
#define HAVE_HYPOT 1
|
||||||
#define HAVE_ACOSH 1
|
#define HAVE_ACOSH 1
|
||||||
#define HAVE_FMOD 1
|
#define HAVE_FMOD 1
|
||||||
#define HAVE_DRAND48 1
|
|
||||||
#define HAVE_RANDOM 1
|
|
||||||
#define HAVE_WAITPID 1
|
#define HAVE_WAITPID 1
|
||||||
#define HAVE_FSYNC 1
|
#define HAVE_FSYNC 1
|
||||||
#define HAVE_TRUNCATE 1
|
#define HAVE_TRUNCATE 1
|
||||||
|
@ -96,7 +94,6 @@
|
||||||
#define HAVE_COSH 1
|
#define HAVE_COSH 1
|
||||||
#define HAVE_SINH 1
|
#define HAVE_SINH 1
|
||||||
#define HAVE_TANH 1
|
#define HAVE_TANH 1
|
||||||
#define HAVE_INITSTATE 1
|
|
||||||
#define HAVE_STRUCT_TM_TM_ZONE 1
|
#define HAVE_STRUCT_TM_TM_ZONE 1
|
||||||
#define HAVE_TM_ZONE 1
|
#define HAVE_TM_ZONE 1
|
||||||
#define HAVE_STRUCT_TM_TM_GMTOFF 1
|
#define HAVE_STRUCT_TM_TM_GMTOFF 1
|
||||||
|
@ -106,8 +103,9 @@
|
||||||
#define RSHIFT(x,y) ((x)>>(int)y)
|
#define RSHIFT(x,y) ((x)>>(int)y)
|
||||||
#define FILE_COUNT _cnt
|
#define FILE_COUNT _cnt
|
||||||
#define FILE_READPTR _ptr
|
#define FILE_READPTR _ptr
|
||||||
|
#define NEED_IO_FLUSH_BETWEEN_RW 1
|
||||||
#define DEFAULT_KCODE KCODE_NONE
|
#define DEFAULT_KCODE KCODE_NONE
|
||||||
#define DLEXT ".o"
|
#define DLEXT ".so"
|
||||||
#define RUBY_LIB "/lib/ruby/@MAJOR@.@MINOR@"
|
#define RUBY_LIB "/lib/ruby/@MAJOR@.@MINOR@"
|
||||||
#define RUBY_SITE_LIB "/lib/ruby/site_ruby"
|
#define RUBY_SITE_LIB "/lib/ruby/site_ruby"
|
||||||
#define RUBY_SITE_LIB2 "/lib/ruby/site_ruby/@MAJOR@.@MINOR@"
|
#define RUBY_SITE_LIB2 "/lib/ruby/site_ruby/@MAJOR@.@MINOR@"
|
||||||
|
|
187
djgpp/config.sed
187
djgpp/config.sed
|
@ -1,73 +1,5 @@
|
||||||
/^SHELL/s,/bin/sh,$(COMSPEC),
|
/^SHELL/s,/bin/sh,$(COMSPEC),
|
||||||
s%@srcdir@%.%g
|
|
||||||
s%@top_srcdir@%..%
|
|
||||||
s%@CFLAGS@%-O2%g
|
|
||||||
s%@CPPFLAGS@%%g
|
|
||||||
s%@CXXFLAGS@%%g
|
|
||||||
s%@LDFLAGS@%%g
|
|
||||||
s%@LIBS@%-lm %g
|
|
||||||
s%@exec_prefix@%${prefix}%g
|
|
||||||
s%@prefix@%/usr/local%g
|
|
||||||
s%@program_transform_name@%s,x,x,%g
|
|
||||||
s%@bindir@%${exec_prefix}/bin%g
|
|
||||||
s%@sbindir@%${exec_prefix}/sbin%g
|
|
||||||
s%@libexecdir@%${exec_prefix}/libexec%g
|
|
||||||
s%@datadir@%${prefix}/share%g
|
|
||||||
s%@sysconfdir@%${prefix}/etc%g
|
|
||||||
s%@sharedstatedir@%${prefix}/com%g
|
|
||||||
s%@localstatedir@%${prefix}/var%g
|
|
||||||
s%@libdir@%${exec_prefix}/lib%g
|
|
||||||
s%@includedir@%${prefix}/include%g
|
|
||||||
s%@oldincludedir@%/usr/include%g
|
|
||||||
s%@infodir@%${prefix}/info%g
|
|
||||||
s%@mandir@%${prefix}/man%g
|
|
||||||
s%@host@%i386-pc-msdosdjgpp%g
|
|
||||||
s%@host_alias@%i386-msdosdjgpp%g
|
|
||||||
s%@host_cpu@%i386%g
|
|
||||||
s%@host_vendor@%pc%g
|
|
||||||
s%@host_os@%msdosdjgpp%g
|
|
||||||
s%@CC@%gcc%g
|
|
||||||
s%@CPP@%gcc -E%g
|
|
||||||
s%@YACC@%bison -y%g
|
|
||||||
s%@RANLIB@%ranlib%g
|
|
||||||
s%@AR@%ar%g
|
|
||||||
s%@INSTALL_PROGRAM@%${INSTALL}%g
|
|
||||||
s%@INSTALL_DATA@%${INSTALL} -m 644%g
|
|
||||||
s%@SET_MAKE@%%g
|
|
||||||
s%@LIBOBJS@% crypt.o flock.o vsnprintf.o%g
|
|
||||||
s%@ALLOCA@%%g
|
|
||||||
s%@DEFAULT_KCODE@%%g
|
|
||||||
s%@EXEEXT@%.exe%g
|
|
||||||
s%@OBJEXT@%o%g
|
|
||||||
s%@XLDFLAGS@%%g
|
|
||||||
s%@DLDFLAGS@%%g
|
|
||||||
s%@STATIC@%%g
|
|
||||||
s%@CCDLFLAGS@%%g
|
|
||||||
s%@LDSHARED@%ld%g
|
|
||||||
s%@DLEXT@%o%g
|
|
||||||
s%@STRIP@%strip%g
|
|
||||||
s%@EXTSTATIC@%%g
|
|
||||||
s%@binsuffix@%.exe%g
|
|
||||||
s%@setup@%Setup.dj%g
|
|
||||||
s%@LIBRUBY@%libruby.a%g
|
|
||||||
s%@LIBRUBY_A@%libruby.a%g
|
|
||||||
s%@LIBRUBYARG@%libruby.a%g
|
|
||||||
s%@LIBRUBY_SO@%%g
|
|
||||||
s%@SOLIBS@%%g
|
|
||||||
s%@arch@%i386-msdosdjgpp%g
|
|
||||||
;s%/bin/rm%rm%
|
;s%/bin/rm%rm%
|
||||||
s%@DLDLIBS@%-lc%g
|
|
||||||
s%@MAINLIBS@%%g
|
|
||||||
s%@PREP@%%
|
|
||||||
s%@RUBY_INSTALL_NAME@%ruby%g
|
|
||||||
s%@RUBY_SO_NAME@%%g
|
|
||||||
s%@arch@%i386-msdosdjgpp%g
|
|
||||||
s%@sitedir@%${prefix}/lib/ruby/site_ruby%g
|
|
||||||
s%@configure_args@%%g
|
|
||||||
s%@MINIRUBY@%./miniruby%
|
|
||||||
s%@OUTFLAG@%-o %
|
|
||||||
s%@CPPOUTFILE@%-o conftest.i%
|
|
||||||
s%@archlib@%/lib/ruby/i386-msdosdjgpp%
|
|
||||||
;s%|| true%%
|
;s%|| true%%
|
||||||
;/\/dev\/null/ {
|
;/\/dev\/null/ {
|
||||||
;s,/dev/null 2>&1, nul,
|
;s,/dev/null 2>&1, nul,
|
||||||
|
@ -76,8 +8,121 @@ s%@archlib@%/lib/ruby/i386-msdosdjgpp%
|
||||||
;/^config.status/ {
|
;/^config.status/ {
|
||||||
; N;N;N;N;N;d
|
; N;N;N;N;N;d
|
||||||
;}
|
;}
|
||||||
#;s%mv -f y\.tab\.c%if exist parse.c del parse.c\
|
:t
|
||||||
# ren y_tab.c%
|
/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
|
||||||
#;s%y\.tab\.c%y_tab.c%
|
s,@srcdir@,.,g;t t
|
||||||
|
s,@top_srcdir@,..,;t t
|
||||||
|
s,@PATH_SEPARATOR@,:,;t t
|
||||||
|
s,@PACKAGE_NAME@,,;t t
|
||||||
|
s,@PACKAGE_TARNAME@,,;t t
|
||||||
|
s,@PACKAGE_VERSION@,,;t t
|
||||||
|
s,@PACKAGE_STRING@,,;t t
|
||||||
|
s,@PACKAGE_BUGREPORT@,,;t t
|
||||||
|
s,@exec_prefix@,${prefix},;t t
|
||||||
|
s,@prefix@,/dev/env/DJDIR,;t t
|
||||||
|
s,@program_transform_name@,s:^::,;t t
|
||||||
|
s,@bindir@,${exec_prefix}/bin,;t t
|
||||||
|
s,@sbindir@,${exec_prefix}/sbin,;t t
|
||||||
|
s,@libexecdir@,${exec_prefix}/libexec,;t t
|
||||||
|
s,@datadir@,${prefix}/share,;t t
|
||||||
|
s,@sysconfdir@,${prefix}/etc,;t t
|
||||||
|
s,@sharedstatedir@,${prefix}/com,;t t
|
||||||
|
s,@localstatedir@,${prefix}/var,;t t
|
||||||
|
s,@libdir@,${exec_prefix}/lib,;t t
|
||||||
|
s,@includedir@,${prefix}/include,;t t
|
||||||
|
s,@oldincludedir@,/usr/include,;t t
|
||||||
|
s,@infodir@,${prefix}/info,;t t
|
||||||
|
s,@mandir@,${prefix}/man,;t t
|
||||||
|
s,@build_alias@,i586-pc-msdosdjgpp,;t t
|
||||||
|
s,@host_alias@,i586-pc-msdosdjgpp,;t t
|
||||||
|
s,@target_alias@,i386-msdosdjgpp,;t t
|
||||||
|
s,@DEFS@,,;t t
|
||||||
|
s,@ECHO_C@,,;t t
|
||||||
|
s,@ECHO_N@,-n,;t t
|
||||||
|
s,@ECHO_T@,,;t t
|
||||||
|
s,@LIBS@,-lm ,;t t
|
||||||
|
s,@MAJOR@,1,;t t
|
||||||
|
s,@MINOR@,7,;t t
|
||||||
|
s,@TEENY@,3,;t t
|
||||||
|
s,@build@,i586-pc-msdosdjgpp,;t t
|
||||||
|
s,@build_cpu@,i586,;t t
|
||||||
|
s,@build_vendor@,pc,;t t
|
||||||
|
s,@build_os@,msdosdjgpp,;t t
|
||||||
|
s,@host@,i586-pc-msdosdjgpp,;t t
|
||||||
|
s,@host_cpu@,i586,;t t
|
||||||
|
s,@host_vendor@,pc,;t t
|
||||||
|
s,@host_os@,msdosdjgpp,;t t
|
||||||
|
s,@target@,i386-pc-msdosdjgpp,;t t
|
||||||
|
s,@target_cpu@,i386,;t t
|
||||||
|
s,@target_vendor@,pc,;t t
|
||||||
|
s,@target_os@,msdosdjgpp,;t t
|
||||||
|
s,@CC@,gcc,;t t
|
||||||
|
s,@ac_ct_CC@,,;t t
|
||||||
|
s,@CFLAGS@,-Os,;t t
|
||||||
|
s,@LDFLAGS@,,;t t
|
||||||
|
s,@CPPFLAGS@,,;t t
|
||||||
|
s,@EXEEXT@,.exe,;t t
|
||||||
|
s,@OBJEXT@,o,;t t
|
||||||
|
s,@CPP@,gcc -E,;t t
|
||||||
|
s,@EGREP@,grep -E,;t t
|
||||||
|
s,@GNU_LD@,yes,;t t
|
||||||
|
s,@CPPOUTFILE@,-o conftest.i,;t t
|
||||||
|
s,@OUTFLAG@,-o ,;t t
|
||||||
|
s,@YACC@,bison -y,;t t
|
||||||
|
s,@RANLIB@,ranlib,;t t
|
||||||
|
s,@ac_ct_RANLIB@,,;t t
|
||||||
|
s,@AR@,ar,;t t
|
||||||
|
s,@ac_ct_AR@,,;t t
|
||||||
|
s,@NM@,,;t t
|
||||||
|
s,@ac_ct_NM@,,;t t
|
||||||
|
s,@WINDRES@,,;t t
|
||||||
|
s,@ac_ct_WINDRES@,,;t t
|
||||||
|
s,@DLLWRAP@,,;t t
|
||||||
|
s,@ac_ct_DLLWRAP@,,;t t
|
||||||
|
s,@LN_S@,ln -s,;t t
|
||||||
|
s,@SET_MAKE@,,;t t
|
||||||
|
s,@LIBOBJS@,crypt.o flock.o vsnprintf.o,;t t
|
||||||
|
s,@ALLOCA@,,;t t
|
||||||
|
s,@XCFLAGS@,,;t t
|
||||||
|
s,@XLDFLAGS@, -L.,;t t
|
||||||
|
s,@DLDFLAGS@,,;t t
|
||||||
|
s,@STATIC@,,;t t
|
||||||
|
s,@CCDLFLAGS@,,;t t
|
||||||
|
s,@LDSHARED@,ld,;t t
|
||||||
|
s,@DLEXT@,so,;t t
|
||||||
|
s,@DLEXT2@,,;t t
|
||||||
|
s,@LIBEXT@,a,;t t
|
||||||
|
s,@LINK_SO@,,;t t
|
||||||
|
s,@LIBPATHFLAG@, -L%s,;t t
|
||||||
|
s,@STRIP@,strip,;t t
|
||||||
|
s,@EXTSTATIC@,,;t t
|
||||||
|
s,@setup@,Setup.dj,;t t
|
||||||
|
s,@MINIRUBY@,./miniruby,;t t
|
||||||
|
s,@PREP@,,;t t
|
||||||
|
s,@ARCHFILE@,,;t t
|
||||||
|
s,@LIBRUBY_LDSHARED@,ld,;t t
|
||||||
|
s,@LIBRUBY_DLDFLAGS@,,;t t
|
||||||
|
s,@RUBY_INSTALL_NAME@,ruby,;t t
|
||||||
|
s,@rubyw_install_name@,,;t t
|
||||||
|
s,@RUBYW_INSTALL_NAME@,,;t t
|
||||||
|
s,@RUBY_SO_NAME@,$(RUBY_INSTALL_NAME),;t t
|
||||||
|
s,@LIBRUBY_A@,lib$(RUBY_INSTALL_NAME).a,;t t
|
||||||
|
s,@LIBRUBY_SO@,lib$(RUBY_SO_NAME).so.$(MAJOR).$(MINOR).$(TEENY),;t t
|
||||||
|
s,@LIBRUBY_ALIASES@,lib$(RUBY_SO_NAME).so,;t t
|
||||||
|
s,@LIBRUBY@,$(LIBRUBY_A),;t t
|
||||||
|
s,@LIBRUBYARG@,-l$(RUBY_INSTALL_NAME),;t t
|
||||||
|
s,@SOLIBS@,,;t t
|
||||||
|
s,@DLDLIBS@,-lc,;t t
|
||||||
|
s,@ENABLE_SHARED@,no,;t t
|
||||||
|
s,@MAINLIBS@,,;t t
|
||||||
|
s,@COMMON_LIBS@,,;t t
|
||||||
|
s,@COMMON_MACROS@,,;t t
|
||||||
|
s,@COMMON_HEADERS@,,;t t
|
||||||
|
s,@EXPORT_PREFIX@,,;t t
|
||||||
|
s,@MAKEFILES@,Makefile,;t t
|
||||||
|
s,@arch@,i386-msdosdjgpp,;t t
|
||||||
|
s,@sitearch@,i386-msdosdjgpp,;t t
|
||||||
|
s,@sitedir@,${prefix}/lib/ruby/site_ruby,;t t
|
||||||
|
s,@configure_args@,,;t t
|
||||||
/^,THIS_IS_DUMMY_PATTERN_/i\
|
/^,THIS_IS_DUMMY_PATTERN_/i\
|
||||||
ac_given_srcdir=.
|
ac_given_srcdir=.
|
||||||
|
|
|
@ -5,7 +5,6 @@ if exist djgpp\version.sed goto exist
|
||||||
:exist
|
:exist
|
||||||
set _conv_=-f djgpp\config.sed -f djgpp\version.sed
|
set _conv_=-f djgpp\config.sed -f djgpp\version.sed
|
||||||
sed %_conv_% < Makefile.in > Makefile
|
sed %_conv_% < Makefile.in > Makefile
|
||||||
sed %_conv_% < ext\extmk.rb.in > ext\extmk.rb
|
|
||||||
sed %_conv_% < djgpp\config.hin > config.h
|
sed %_conv_% < djgpp\config.hin > config.h
|
||||||
echo LFN check > 12345678
|
echo LFN check > 12345678
|
||||||
sed -n /LFN/d 123456789 > nul
|
sed -n /LFN/d 123456789 > nul
|
||||||
|
|
|
@ -207,6 +207,7 @@ if $extlist.size > 0
|
||||||
"#{n}=#{v}" if v and !(v = v.strip).empty?
|
"#{n}=#{v}" if v and !(v = v.strip).empty?
|
||||||
}.compact
|
}.compact
|
||||||
puts conf
|
puts conf
|
||||||
|
$stdout.flush
|
||||||
ARGV.concat(conf)
|
ARGV.concat(conf)
|
||||||
end
|
end
|
||||||
rubies = []
|
rubies = []
|
||||||
|
@ -216,6 +217,7 @@ rubies = []
|
||||||
|
|
||||||
Dir.chdir ".."
|
Dir.chdir ".."
|
||||||
puts "making #{rubies.join(', ')}"
|
puts "making #{rubies.join(', ')}"
|
||||||
|
$stdout.flush
|
||||||
ARGV.concat(rubies)
|
ARGV.concat(rubies)
|
||||||
host = (defined?(CROSS_COMPILING) ? CROSS_COMPILING : RUBY_PLATFORM)
|
host = (defined?(CROSS_COMPILING) ? CROSS_COMPILING : RUBY_PLATFORM)
|
||||||
/mswin|bccwin|mingw|djgpp|human|os2|macos/ =~ host or exec(*ARGV)
|
/mswin|bccwin|mingw|djgpp|human|os2|macos/ =~ host or exec(*ARGV)
|
||||||
|
|
6
io.c
6
io.c
|
@ -141,12 +141,18 @@ static VALUE lineno;
|
||||||
extern int ReadDataPending();
|
extern int ReadDataPending();
|
||||||
# define READ_DATA_PENDING(fp) (!feof(fp))
|
# define READ_DATA_PENDING(fp) (!feof(fp))
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef READ_DATA_PENDING_PTR
|
#ifndef READ_DATA_PENDING_PTR
|
||||||
# ifdef FILE_READPTR
|
# ifdef FILE_READPTR
|
||||||
# define READ_DATA_PENDING_PTR(fp) ((fp)->FILE_READPTR)
|
# define READ_DATA_PENDING_PTR(fp) ((fp)->FILE_READPTR)
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined __DJGPP__
|
||||||
|
# undef READ_DATA_PENDING_COUNT
|
||||||
|
# undef READ_DATA_PENDING_PTR
|
||||||
|
#endif
|
||||||
|
|
||||||
#define READ_CHECK(fp) do {\
|
#define READ_CHECK(fp) do {\
|
||||||
if (!READ_DATA_PENDING(fp)) {\
|
if (!READ_DATA_PENDING(fp)) {\
|
||||||
rb_thread_wait_fd(fileno(fp));\
|
rb_thread_wait_fd(fileno(fp));\
|
||||||
|
|
|
@ -129,6 +129,7 @@ module Logging
|
||||||
|
|
||||||
def self::open
|
def self::open
|
||||||
@log ||= File::open(@logfile, 'w')
|
@log ||= File::open(@logfile, 'w')
|
||||||
|
@log.sync = true
|
||||||
$stderr.reopen(@log)
|
$stderr.reopen(@log)
|
||||||
$stdout.reopen(@log)
|
$stdout.reopen(@log)
|
||||||
yield
|
yield
|
||||||
|
@ -139,12 +140,14 @@ module Logging
|
||||||
|
|
||||||
def self::message(*s)
|
def self::message(*s)
|
||||||
@log ||= File::open(@logfile, 'w')
|
@log ||= File::open(@logfile, 'w')
|
||||||
|
@log.sync = true
|
||||||
@log.printf(*s)
|
@log.printf(*s)
|
||||||
end
|
end
|
||||||
|
|
||||||
def self::logfile file
|
def self::logfile file
|
||||||
@logfile = file
|
@logfile = file
|
||||||
if @log and not @log.closed?
|
if @log and not @log.closed?
|
||||||
|
@log.flush
|
||||||
@log.close
|
@log.close
|
||||||
@log = nil
|
@log = nil
|
||||||
end
|
end
|
||||||
|
@ -636,7 +639,7 @@ def create_makefile(target, srcprefix = nil)
|
||||||
for lib in $libs.split
|
for lib in $libs.split
|
||||||
lib.sub!(/-l(.*)/, %%"lib\\1.#{$LIBEXT}"%)
|
lib.sub!(/-l(.*)/, %%"lib\\1.#{$LIBEXT}"%)
|
||||||
end
|
end
|
||||||
$defs.push(format("-DEXTLIB='%s'", libs.join(",")))
|
$defs.push(format("-DEXTLIB='%s'", $libs.split.join(",")))
|
||||||
end
|
end
|
||||||
|
|
||||||
if target.include?('/')
|
if target.include?('/')
|
||||||
|
@ -787,6 +790,7 @@ def init_mkmf(config = CONFIG)
|
||||||
$OBJEXT = config["OBJEXT"].dup
|
$OBJEXT = config["OBJEXT"].dup
|
||||||
$LIBS = "#{config['LIBS']} #{config['DLDLIBS']}"
|
$LIBS = "#{config['LIBS']} #{config['DLDLIBS']}"
|
||||||
$LIBRUBYARG = config['LIBRUBYARG']
|
$LIBRUBYARG = config['LIBRUBYARG']
|
||||||
|
$LIBPATH = []
|
||||||
|
|
||||||
$objs = nil
|
$objs = nil
|
||||||
$libs = ""
|
$libs = ""
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue