summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorknu <knu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-02-28 13:23:42 +0000
committerknu <knu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-02-28 13:23:42 +0000
commitbc6ef3dc20acd005554c0666111c09dc72ef6eb4 (patch)
tree92cf3f9b3a59e052b3891535e142f83cbef34784
parenta53832da71fc48437e83434478ee08554663ff14 (diff)
Merge changes between r11913 and r11943 from ruby_1_8.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_6@11944 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog34
-rw-r--r--NEWS108
-rw-r--r--common.mk5
-rw-r--r--configure.in3
-rw-r--r--distruby.rb49
-rw-r--r--doc/NEWS-1.8.0 (renamed from doc/NEWS)0
-rw-r--r--ext/openssl/extconf.rb2
-rw-r--r--lib/mkmf.rb11
-rw-r--r--missing/flock.c5
-rwxr-xr-xmkconfig.rb1
-rw-r--r--test/dbm/test_dbm.rb4
-rw-r--r--test/gdbm/test_gdbm.rb4
-rw-r--r--version.h6
13 files changed, 214 insertions, 18 deletions
diff --git a/ChangeLog b/ChangeLog
index b2b5c174ad..cfe09c4656 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,37 @@
+Wed Feb 28 22:10:55 2007 Akinori MUSHA <knu@iDaemons.org>
+
+ * doc/NEWS-1.8.0: Rename NEWS to NEWS-1.8.0. This is way too old
+ NEWS.
+
+ * NEWS: Add NEWS, a document file to keep user visible feature
+ changes between releases.
+
+ * configure.in (ac_cv_func_fcntl): fcntl support for MinGW.
+
+ * missing/flock.c: workaround for MinGW.
+
+ * ext/openssl/extconf.rb: no need to check unistd.h and sys/time.h.
+ they are already checked at configure.
+ reported by KOBAYASHI Yasuhiro [ruby-list:43225]
+
+ * lib/mkmf.rb ($DEFLIBPATH): default library paths ($(topdir), etc)
+ should be the first elements of library paths list.
+ reported by KOBAYASHI Yasuhiro [ruby-list:43225]
+
+ * test/{dbm,gdbm}/test_{dbm,gdbm}.rb: shouldn't use host_os. use
+ target_os instead. reported by KOBAYASHI Yasuhiro [ruby-list:43225]
+
+ * mkconfig.rb (RbConfig): add CONFIG['PATCHLEVEL']
+
+ * common.mk: new target dist
+
+ * distruby.rb: new file
+
+ * configure.in (--enable-auto-image-base): avoid the neccessity to
+ rebase the shared libs as much as possible;
+ submitted by Corinna Vinschen <spam at vinschen.de> in
+ [ruby-talk:240964].
+
Wed Feb 28 20:51:32 2007 URABE Shyouhei <shyouhei@ruby-lang.org>
* pack.c (pack_unpack): properly ignore non-base64 octets such as
diff --git a/NEWS b/NEWS
new file mode 100644
index 0000000000..311adc72d6
--- /dev/null
+++ b/NEWS
@@ -0,0 +1,108 @@
+= NEWS
+
+This document is a list of user visible feature changes made between
+releases excluding bug fixes.
+
+Note that each entry is kept so brief that no reason behind or
+reference information is supplied with. For a full list of changes
+with all sufficient information, see the ChangeLog file.
+
+== Changes with Ruby 1.8.5
+
+=== New platforms/build tools support
+
+* IA64 HP-UX
+
+* Visual C++ 8 SP1
+
+* autoconf 2.6x
+
+=== Library updates (outstanding ones only)
+
+* date
+
+ * Updated based on date2 4.0.3.
+
+* digest
+
+ * New internal APIs for C and Ruby.
+
+ * Support for autoloading.
+
+ * See below for new features and compatibility issues.
+
+* nkf
+
+ * Updated based on nkf as of 2007-01-28.
+
+* tk
+
+=== New methods and features
+
+* builtin classes
+
+ * New method: Kernel#instance_variable_defined?
+
+ * New method: Module#class_variable_defined?
+
+ * New feature: Dir::glob() can now take an array of glob patterns.
+
+* digest
+
+ * New digest class methods: file
+
+ * New digest instance methods: clone, reset, new,
+ inspect, digest_length (alias size or length),
+ block_length()
+
+ * New library: digest/bubblebabble
+
+ * New function: Digest(name)
+
+* fileutils
+
+ * New option for FileUtils.cp_r(): :remove_destination
+
+* thread
+
+ * Replaced with much faster mutex implementation in C.
+ The former implementation is available with a
+ configure option `--disable-fastthread'.
+
+* webrick
+
+ * New method: WEBrick::Cookie.parse_set_cookies()
+
+=== Compatibility issues (excluding feature bug fixes)
+
+* builtin classes
+
+ * Time#to_s now returns a string in a form that
+ conforms to RFC2822.
+
+ # Before
+ "Wed Mar 03 12:34:56 JST 2007"
+ # After
+ "Wed, Mar 03 2007 12:34:56 +0900"
+
+* fileutils
+
+ * A minor implementation change breaks Rake <=0.7.1.
+ Updating Rake to 0.7.2 fixes the problem.
+
+* digest
+
+ * The constructor does no longer take an initial
+ string to feed; digest() and hexdigest() now do,
+ instead. The following examples show how to
+ migrate:
+
+ # Before
+ md = Digest::MD5.new("string")
+ # After (works with any version)
+ md = Digest::MD5.new.update("string")
+
+ # Before
+ hd = Digest::MD5.new("string").hexdigest
+ # After (works with any version)
+ hd = Digest::MD5.hexdigest("string")
diff --git a/common.mk b/common.mk
index 106e840b2c..f751fecfb5 100644
--- a/common.mk
+++ b/common.mk
@@ -297,7 +297,7 @@ $(RBCONFIG): $(srcdir)/mkconfig.rb config.status $(PREP)
.PRECIOUS: $(MKFILES)
-.PHONY: test install install-nodoc install-doc
+.PHONY: test install install-nodoc install-doc dist
PHONY:
@@ -441,3 +441,6 @@ variable.$(OBJEXT): {$(VPATH)}variable.c {$(VPATH)}ruby.h config.h \
version.$(OBJEXT): {$(VPATH)}version.c {$(VPATH)}ruby.h config.h \
{$(VPATH)}defines.h {$(VPATH)}intern.h {$(VPATH)}missing.h \
{$(VPATH)}version.h
+
+dist: $(PROGRAM)
+ $(RUNRUBY) $(srcdir)/distruby.rb
diff --git a/configure.in b/configure.in
index 39c47d336e..950ee8ac4f 100644
--- a/configure.in
+++ b/configure.in
@@ -404,6 +404,7 @@ mingw*) if test "$with_winsock2" = yes; then
rb_cv_binary_elf=no
rb_cv_negative_time_t=no
enable_pthread=no
+ ac_cv_func_fcntl=yes
;;
os2-emx*) LIBS="-lm $LIBS"
ac_cv_lib_dir_opendir=no;;
@@ -1089,7 +1090,7 @@ if test "$with_dln_a_out" != yes; then
rb_cv_dlopen=yes;;
cygwin*|mingw*) : ${LDSHARED="${CC} -shared -s"}
XLDFLAGS="$XLDFLAGS -Wl,--stack,0x02000000"
- DLDFLAGS="${DLDFLAGS} -Wl,--enable-auto-import,--export-all"
+ DLDFLAGS="${DLDFLAGS} -Wl,--enable-auto-image-base,--enable-auto-import,--export-all"
: ${LIBPATHENV=""}
rb_cv_dlopen=yes ;;
hiuxmpp) : ${LDSHARED='ld -r'} ;;
diff --git a/distruby.rb b/distruby.rb
new file mode 100644
index 0000000000..dcc3e76ce8
--- /dev/null
+++ b/distruby.rb
@@ -0,0 +1,49 @@
+#!./miniruby
+
+if RUBY_PATCHLEVEL.zero?
+ dirname = sprintf 'ruby-%s', RUBY_VERSION
+ tagname = dirname.gsub /ruby-(\d)\.(\d)\.(\d)/, 'v\1_\2_\3'
+else
+ dirname = sprintf 'ruby-%s-p%u', RUBY_VERSION, RUBY_PATCHLEVEL
+ tagname = dirname.gsub /ruby-(\d)\.(\d)\.(\d)-p/, 'v\1_\2_\3_'
+end
+tarname = dirname + '.tar.gz'
+repos = 'http://svn.ruby-lang.org/repos/ruby/tags/' + tagname
+
+STDERR.puts 'exporting sources...'
+system 'svn', 'export', '-q', repos, dirname
+Dir.chdir dirname do
+ STDERR.puts 'generating configure...'
+ system 'autoconf'
+ system 'rm', '-rf', 'autom4te.cache'
+
+ STDERR.puts 'generating parse.c...'
+ system 'bison', '-y', '-o', 'parse.c', 'parse.y'
+end
+
+STDERR.puts 'generating tarball...'
+system 'tar', 'chofzp', tarname, dirname
+
+open tarname, 'rb' do |fp|
+ require 'digest/md5'
+ require 'digest/sha1'
+ str = fp.read
+ md5 = Digest::MD5.hexdigest str
+ sha = Digest::SHA1.hexdigest str
+ printf "MD5(%s)= %s\nSHA1(%s)= %s\n", tarname, md5, tarname, sha
+end
+
+
+
+#
+# Local Variables:
+# mode: ruby
+# code: utf-8
+# indent-tabs-mode: t
+# tab-width: 3
+# ruby-indent-level: 3
+# fill-column: 79
+# default-justification: full
+# End:
+# vi: ts=3 sw=3
+
diff --git a/doc/NEWS b/doc/NEWS-1.8.0
index b4445fa59f..b4445fa59f 100644
--- a/doc/NEWS
+++ b/doc/NEWS-1.8.0
diff --git a/ext/openssl/extconf.rb b/ext/openssl/extconf.rb
index 11f74ff3d8..98921bc468 100644
--- a/ext/openssl/extconf.rb
+++ b/ext/openssl/extconf.rb
@@ -36,8 +36,6 @@ end
message "=== Checking for system dependent stuff... ===\n"
have_library("nsl", "t_open")
have_library("socket", "socket")
-have_header("unistd.h")
-have_header("sys/time.h")
have_header("assert.h")
message "=== Checking for required stuff... ===\n"
diff --git a/lib/mkmf.rb b/lib/mkmf.rb
index 5d8bf244b3..c4e4c04dae 100644
--- a/lib/mkmf.rb
+++ b/lib/mkmf.rb
@@ -265,7 +265,7 @@ ensure
log_src(src)
end
-def link_command(ldflags, opt="", libpath=$LIBPATH)
+def link_command(ldflags, opt="", libpath=$DEFLIBPATH|$LIBPATH)
Config::expand(TRY_LINK.dup,
CONFIG.merge('hdrdir' => $hdrdir.quote,
'src' => CONFTEST_C,
@@ -289,7 +289,7 @@ def cpp_command(outfile, opt="")
CONFIG.merge('hdrdir' => $hdrdir.quote, 'srcdir' => $srcdir.quote))
end
-def libpathflag(libpath=$LIBPATH)
+def libpathflag(libpath=$DEFLIBPATH|$LIBPATH)
libpath.map{|x|
(x == "$(topdir)" ? LIBPATHFLAG : LIBPATHFLAG+RPATHFLAG) % x.quote
}.join
@@ -1142,7 +1142,7 @@ end
#
def create_makefile(target, srcprefix = nil)
$target = target
- libpath = $LIBPATH
+ libpath = $DEFLIBPATH|$LIBPATH
message "creating Makefile\n"
rm_f "conftest*"
if CONFIG["DLEXT"] == $OBJEXT
@@ -1204,7 +1204,7 @@ def create_makefile(target, srcprefix = nil)
mfile = open("Makefile", "wb")
mfile.print configuration(srcprefix)
mfile.print "
-libpath = #{$LIBPATH.join(" ")}
+libpath = #{($DEFLIBPATH|$LIBPATH).join(" ")}
LIBPATH = #{libpath}
DEFFILE = #{deffile}
@@ -1424,7 +1424,8 @@ def init_mkmf(config = CONFIG)
$LIBRUBYARG = ""
$LIBRUBYARG_STATIC = config['LIBRUBYARG_STATIC']
$LIBRUBYARG_SHARED = config['LIBRUBYARG_SHARED']
- $LIBPATH = $extmk ? ["$(topdir)"] : CROSS_COMPILING ? [] : ["$(libdir)"]
+ $DEFLIBPATH = $extmk ? ["$(topdir)"] : CROSS_COMPILING ? [] : ["$(libdir)"]
+ $LIBPATH = []
$INSTALLFILES = nil
$objs = nil
diff --git a/missing/flock.c b/missing/flock.c
index ed619f0e91..5f6b41c357 100644
--- a/missing/flock.c
+++ b/missing/flock.c
@@ -1,6 +1,7 @@
#include "config.h"
-#if defined HAVE_FCNTL && defined HAVE_FCNTL_H
+#if defined _WIN32
+#elif defined HAVE_FCNTL && defined HAVE_FCNTL_H
/* These are the flock() constants. Since this sytems doesn't have
flock(), the values of the constants are probably not available.
@@ -122,7 +123,7 @@ flock(fd, operation)
return -1;
}
}
-#elif !defined _WIN32
+#else
int
flock(fd, operation)
int fd;
diff --git a/mkconfig.rb b/mkconfig.rb
index ce1c8a7465..b47b7423c5 100755
--- a/mkconfig.rb
+++ b/mkconfig.rb
@@ -112,6 +112,7 @@ unless has_version
print " CONFIG[\"MINOR\"] = \"" + $2 + "\"\n"
print " CONFIG[\"TEENY\"] = \"" + $3 + "\"\n"
}
+ print " CONFIG[\"PATCHLEVEL\"] = \"" + RUBY_PATCHLEVEL + "\"\n"
end
dest = drive ? /= \"(?!\$[\(\{])(?:[a-z]:)?/i : /= \"(?!\$[\(\{])/
diff --git a/test/dbm/test_dbm.rb b/test/dbm/test_dbm.rb
index d4d488f577..941e139946 100644
--- a/test/dbm/test_dbm.rb
+++ b/test/dbm/test_dbm.rb
@@ -12,7 +12,7 @@ if defined? DBM
class TestDBM < Test::Unit::TestCase
def TestDBM.uname_s
require 'rbconfig'
- case Config::CONFIG['host_os']
+ case Config::CONFIG['target_os']
when 'cygwin'
require 'Win32API'
uname = Win32API.new('cygwin1', 'uname', 'P', 'I')
@@ -21,7 +21,7 @@ if defined? DBM
utsname.unpack('A20' * 5)[0]
else
- Config::CONFIG['host_os']
+ Config::CONFIG['target_os']
end
end
SYSTEM = uname_s
diff --git a/test/gdbm/test_gdbm.rb b/test/gdbm/test_gdbm.rb
index 034f62085d..b84221e547 100644
--- a/test/gdbm/test_gdbm.rb
+++ b/test/gdbm/test_gdbm.rb
@@ -12,7 +12,7 @@ if defined? GDBM
class TestGDBM < Test::Unit::TestCase
def TestGDBM.uname_s
require 'rbconfig'
- case Config::CONFIG['host_os']
+ case Config::CONFIG['target_os']
when 'cygwin'
require 'Win32API'
uname = Win32API.new('cygwin1', 'uname', 'P', 'I')
@@ -21,7 +21,7 @@ if defined? GDBM
utsname.unpack('A20' * 5)[0]
else
- Config::CONFIG['host_os']
+ Config::CONFIG['target_os']
end
end
SYSTEM = uname_s
diff --git a/version.h b/version.h
index cd37e35405..e9522e3b1a 100644
--- a/version.h
+++ b/version.h
@@ -1,7 +1,7 @@
#define RUBY_VERSION "1.8.6"
-#define RUBY_RELEASE_DATE "2007-02-27"
+#define RUBY_RELEASE_DATE "2007-02-28"
#define RUBY_VERSION_CODE 186
-#define RUBY_RELEASE_CODE 20070227
+#define RUBY_RELEASE_CODE 20070228
#define RUBY_PATCHLEVEL 0
#define RUBY_VERSION_MAJOR 1
@@ -9,7 +9,7 @@
#define RUBY_VERSION_TEENY 6
#define RUBY_RELEASE_YEAR 2007
#define RUBY_RELEASE_MONTH 2
-#define RUBY_RELEASE_DAY 27
+#define RUBY_RELEASE_DAY 28
RUBY_EXTERN const char ruby_version[];
RUBY_EXTERN const char ruby_release_date[];