1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* ext/tk/extconf.rb: fix for uninitialized global variables. [Ruby 1.9 - Bug #4811]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31894 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nagai 2011-06-01 15:46:31 +00:00
parent 859da83455
commit eeccb5935b
2 changed files with 52 additions and 39 deletions

View file

@ -1,3 +1,8 @@
Thu Jun 2 00:45:26 2011 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
* ext/tk/extconf.rb: fix for uninitialized global variables.
[Ruby 1.9 - Bug #4811]
Wed Jun 1 21:57:08 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
* thread_pthread.c (native_sleep): fix 1000times calculation error.

View file

@ -25,7 +25,7 @@ end
##############################################################
# check configs
##############################################################
$cleanfiles << 'config_list'
($cleanfiles ||= "") << 'config_list'
config_list_file = 'config_list'
config_list_file_source = File.join(File.dirname(__FILE__),'config_list.in')
if !File.exist?(config_list_file) ||
@ -569,9 +569,9 @@ def libcheck_for_tclConfig(tcldir, tkdir, tclconf, tkconf)
tkfunc = "Tk_Init"
end
incflags = $INCFLAGS.dup
libpath = $LIBPATH.dup
libs_param = $libs.dup
incflags = ($INCFLAGS ||= "").dup
libpath = ($LIBPATH ||= []).dup
libs_param = ($libs ||= "").dup
tcllibs = nil
mkmf_param = nil
@ -922,6 +922,7 @@ def get_tclConfig(tclConfig_file, tkConfig_file, tclConfig_dir, tkConfig_dir)
dirs |= dirs
puts("Valid [tclConfig.sh, tkConfig.sh] are found in #{dirs.inspect}")
puts("Use [tclConfig.sh, tkConfig.sh] == #{[tclConfig, tkConfig].inspect}")
$LIBPATH ||= []
$LIBPATH |= [File.dirname(tclConfig)] if tclConfig
$LIBPATH |= [File.dirname(tkConfig)] if tkConfig
#TkLib_Config["tclConfig_paths"].each{|tclcfg, tkcfg|
@ -1020,9 +1021,9 @@ end
def find_tcl(tcllib, stubs, version, *opt_paths)
if TclConfig_Info['MKMF_PARAMS']
# already checked existence of tcl library based on tclConfig.sh
$INCFLAGS << " " << TclConfig_Info['MKMF_PARAMS']['INCFLAGS']
$LIBPATH |= TclConfig_Info['MKMF_PARAMS']['LIBPATH']
$libs << " " << TclConfig_Info['MKMF_PARAMS']['libs']
($INCFLAGS ||= "") << " " << TclConfig_Info['MKMF_PARAMS']['INCFLAGS']
$LIBPATH ||= []; $LIBPATH |= TclConfig_Info['MKMF_PARAMS']['LIBPATH']
($libs ||= "") << " " << TclConfig_Info['MKMF_PARAMS']['libs']
return [true, nil, nil, nil]
end
# else, no available tclConfig.sh on the system
@ -1081,9 +1082,9 @@ def find_tcl(tcllib, stubs, version, *opt_paths)
paths = check_tcl_NG_path(default_paths)
end
incflags = $INCFLAGS.dup
libpath = $LIBPATH.dup
libs_param = $libs.dup
incflags = ($INCFLAGS ||= "").dup
libpath = ($LIBPATH ||= []).dup
libs_param = ($libs ||= "").dup
tcllibs = nil
exts = "(" + get_ext_list.join('|') + ")"
@ -1164,9 +1165,9 @@ end
def find_tk(tklib, stubs, version, *opt_paths)
if TkConfig_Info['MKMF_PARAMS']
# already checked existence of tcl library based on tkConfig.sh
$INCFLAGS << " " << TkConfig_Info['MKMF_PARAMS']['INCFLAGS']
$LIBPATH |= TkConfig_Info['MKMF_PARAMS']['LIBPATH']
$libs << " " << TkConfig_Info['MKMF_PARAMS']['libs']
($INCFLAGS ||= "") << " " << TkConfig_Info['MKMF_PARAMS']['INCFLAGS']
$LIBPATH ||= []; $LIBPATH |= TkConfig_Info['MKMF_PARAMS']['LIBPATH']
($libs ||= "") << " " << TkConfig_Info['MKMF_PARAMS']['libs']
return [true, nil, nil, nil]
end
# else, no available tkConfig.sh on the system
@ -1221,9 +1222,9 @@ def find_tk(tklib, stubs, version, *opt_paths)
paths = check_tk_NG_path(default_paths)
end
incflags = $INCFLAGS.dup
libpath = $LIBPATH.dup
libs_param = $libs.dup
incflags = ($INCFLAGS ||= "").dup
libpath = ($LIBPATH ||= []).dup
libs_param = ($libs ||= "").dup
tcllibs = nil
exts = "(" + get_ext_list.join('|') + ")"
@ -1292,9 +1293,10 @@ def find_tcltk_library(tcllib, tklib, stubs, tclversion, tkversion,
puts("Warning:: cannot find Tcl library. tcltklib will not be compiled (tcltklib is disabled on your Ruby. That is, Ruby/Tk will not work). Please check configure options.")
return false
else
$LIBPATH |= [path] if path
($LIBPATH ||= []; $LIBPATH |= [path]) if path
$libs = append_library($libs, lib) if lib
$libs << " " << libs if libs
($libs ||= "") << " " << libs if libs
$INCFLAGS ||= ""
inc.each{|f| $INCFLAGS << " -I" << f}
end
@ -1303,9 +1305,10 @@ def find_tcltk_library(tcllib, tklib, stubs, tclversion, tkversion,
puts("Warning:: cannot find Tk library. tcltklib will not be compiled (tcltklib is disabled on your Ruby. That is, Ruby/Tk will not work). Please check configure options.")
return false
else
$LIBPATH |= [path] if path
($LIBPATH ||= []; $LIBPATH |= [path]) if path
$libs = append_library($libs, lib) if lib && !lib.empty?
$libs << " " << libs if libs
($libs ||= "") << " " << libs if libs
$INCFLAGS ||= ""
inc.each{|f| $INCFLAGS << " -I" << f}
end
@ -1387,7 +1390,7 @@ def find_tcltk_header(tclver, tkver)
print(".") # progress
inc_opt = " -I#{path.quote}"
if try_cpp(code, inc_opt)
$INCFLAGS << inc_opt
($INCFLAGS ||= "") << inc_opt
true
else
false
@ -1443,7 +1446,7 @@ def find_tcltk_header(tclver, tkver)
print(".") # progress
inc_opt = " -I#{path.quote}"
if try_cpp(code, inc_opt)
$INCFLAGS << inc_opt
($INCFLAGS ||= "") << inc_opt
true
else
false
@ -1459,12 +1462,12 @@ end
def setup_for_macosx_framework(tclver, tkver)
# use framework, but no tclConfig.sh
unless $LDFLAGS.include?('-framework')
$LDFLAGS << ' -framework Tk -framework Tcl'
unless $LDFLAGS && $LDFLAGS.include?('-framework')
($LDFLAGS ||= "") << ' -framework Tk -framework Tcl'
end
if TkLib_Config["tcl-framework-header"]
TclConfig_Info['TCL_INCLUDE_SPEC'] <<
(TclConfig_Info['TCL_INCLUDE_SPEC'] ||= "") <<
" -I#{TkLib_Config["tcl-framework-header"].quote} "
else
TclConfig_Info['TCL_INCLUDE_SPEC'] = ""
@ -1540,7 +1543,7 @@ def search_X_libraries
if TkConfig_Info['TK_XINCLUDES'] &&
!TkConfig_Info['TK_XINCLUDES'].strip.empty?
$INCFLAGS << " " << TkConfig_Info['TK_XINCLUDES'].strip
($INCFLAGS ||= "") << " " << TkConfig_Info['TK_XINCLUDES'].strip
end
if use_X
@ -1552,7 +1555,7 @@ def search_X_libraries
if use_tkConfig &&
TkConfig_Info['TK_XLIBSW'] && !TkConfig_Info['TK_XLIBSW'].strip.empty?
puts("But, try to use TK_XLIBSW information (believe tkCOnfig.sh).")
$libs << " " << TkConfig_Info['TK_XLIBSW'] << " "
($libs ||= "") << " " << TkConfig_Info['TK_XLIBSW'] << " "
else
puts("So, can't make tcltklib.so which is required by Ruby/Tk.")
exit
@ -1654,6 +1657,8 @@ EOF
# check pthread mode
if (TkLib_Config["ruby_with_thread"])
$CPPFLAGS ||= ""
# ruby -> enable
unless tcl_enable_thread
# ruby -> enable && tcl -> disable
@ -1760,6 +1765,7 @@ unless is_win32?
have_library("m", "log", "math.h")
print("\n") # progress
end
$CPPFLAGS ||= ""
$CPPFLAGS += ' -D_WIN32' if /cygwin/ =~ RUBY_PLATFORM
# Does ruby have nativethread ?
@ -1778,15 +1784,15 @@ if TkLib_Config["tcl-build-dir"]
puts("use Tcl build (pre-install) dir \"#{TkLib_Config["tcl-build-dir"]}\"")
TkLib_Config["tcl-build-dir"] = File.expand_path(TkLib_Config["tcl-build-dir"])
base = File.dirname(TkLib_Config["tcl-build-dir"])
$INCFLAGS << " -I#{File.join(base, "generic").quote} -I#{TkLib_Config["tcl-build-dir"].quote}"
$LIBPATH |= [TkLib_Config["tcl-build-dir"]]
($INCFLAGS ||= "") << " -I#{File.join(base, "generic").quote} -I#{TkLib_Config["tcl-build-dir"].quote}"
$LIBPATH ||= []; $LIBPATH |= [TkLib_Config["tcl-build-dir"]]
end
if TkLib_Config["tk-build-dir"]
puts("use Tk build (pre-install) dir \"#{TkLib_Config["tk-build-dir"]}\"")
TkLib_Config["tk-build-dir"] = File.expand_path(TkLib_Config["tk-build-dir"])
base = File.dirname(TkLib_Config["tk-build-dir"])
$INCFLAGS << " -I#{File.join(base, "generic").quote} -I#{TkLib_Config["tk-build-dir"].quote}"
$LIBPATH |= [TkLib_Config["tk-build-dir"]]
($INCFLAGS ||= "") << " -I#{File.join(base, "generic").quote} -I#{TkLib_Config["tk-build-dir"].quote}"
$LIBPATH ||= []; $LIBPATH |= [TkLib_Config["tk-build-dir"]]
end
# check requirement of Tcl/tk version
@ -1861,7 +1867,7 @@ end
stubs = enable_config("tcltk-stubs") || with_config("tcltk-stubs")
if (TkLib_Config["tcltk-stubs"] = stubs)
puts("Compile with Tcl/Tk stubs.")
$CPPFLAGS += ' -DUSE_TCL_STUBS -DUSE_TK_STUBS'
$CPPFLAGS ||= ""; $CPPFLAGS += ' -DUSE_TCL_STUBS -DUSE_TK_STUBS'
end
# directory configuration of Tcl/Tk libraries
@ -1933,6 +1939,7 @@ TkLib_Config["checked_shlib_dirs"] =
check_shlib_search_path(with_config('tk-shlib-search-path'))
# set TCL_DEFS and TK_DEFS
$CPPFLAGS ||= ""
# $CPPFLAGS += " #{TclConfig_Info['TCL_DEFS']}"
# $CPPFLAGS += " #{TkConfig_Info['TK_DEFS']}"
$CPPFLAGS += collect_tcltk_defs(TclConfig_Info['TCL_DEFS'], TkConfig_Info['TK_DEFS'])
@ -1940,10 +1947,10 @@ $CPPFLAGS += collect_tcltk_defs(TclConfig_Info['TCL_DEFS'], TkConfig_Info['TK_DE
# MacOS X Frameworks?
if TkLib_Config["tcltk-framework"]
puts("Use MacOS X Frameworks.")
$LDFLAGS << " -L#{TkLib_Config["tcl-build-dir"].quote} -Wl,-R#{TkLib_Config["tcl-build-dir"].quote}" if TkLib_Config["tcl-build-dir"]
($LDFLAGS ||= "") << " -L#{TkLib_Config["tcl-build-dir"].quote} -Wl,-R#{TkLib_Config["tcl-build-dir"].quote}" if TkLib_Config["tcl-build-dir"]
if tcl_cfg_dir
$INCFLAGS << ' ' << TclConfig_Info['TCL_INCLUDE_SPEC']
($INCFLAGS ||= "") << ' ' << TclConfig_Info['TCL_INCLUDE_SPEC']
$LDFLAGS << ' ' << TclConfig_Info['TCL_LIBS']
if stubs
if TkLib_Config["tcl-build-dir"] &&
@ -1967,7 +1974,7 @@ if TkLib_Config["tcltk-framework"]
$LDFLAGS << " -L#{TkLib_Config["tk-build-dir"].quote} -Wl,-R#{TkLib_Config["tk-build-dir"].quote}" if TkLib_Config["tk-build-dir"]
if tk_cfg_dir
$INCFLAGS << ' ' << TkConfig_Info['TK_INCLUDE_SPEC']
($INCFLAGS ||= "") << ' ' << TkConfig_Info['TK_INCLUDE_SPEC']
$LDFLAGS << ' ' << TkConfig_Info['TK_LIBS']
if stubs
if TkLib_Config["tk-build-dir"] &&
@ -2011,6 +2018,7 @@ if (TkLib_Config["tcltk-framework"] ||
$INSTALLFILES << ["lib/tkextlib/SUPPORT_STATUS", "$(RUBYLIBDIR)", "lib"]
# create
$CPPFLAGS ||= ""
$CPPFLAGS << %[ -DRUBY_VERSION=\\"#{RUBY_VERSION}\\"]
$CPPFLAGS << %[ -DRUBY_RELEASE_DATE=\\"#{RUBY_RELEASE_DATE}\\"]