mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
fix static-linked-ext
* lib/mkmf.rb (MakeMakefile#have_framework): combine -framework option and its argument with an equal sign not to be separated in merge_libs. * ext/tk/extconf.rb: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35669 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
9914991769
commit
58e7c45fc7
3 changed files with 21 additions and 14 deletions
|
@ -1,4 +1,9 @@
|
||||||
Thu May 17 10:34:35 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
Thu May 17 10:37:07 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||||
|
|
||||||
|
* lib/mkmf.rb (MakeMakefile#have_framework): combine -framework option
|
||||||
|
and its argument with an equal sign not to be separated in merge_libs.
|
||||||
|
|
||||||
|
* ext/tk/extconf.rb: ditto.
|
||||||
|
|
||||||
* ext/extmk.rb: EXTLDFLAGS also needs to be passed.
|
* ext/extmk.rb: EXTLDFLAGS also needs to be passed.
|
||||||
|
|
||||||
|
|
|
@ -1463,7 +1463,7 @@ end
|
||||||
def setup_for_macosx_framework(tclver, tkver)
|
def setup_for_macosx_framework(tclver, tkver)
|
||||||
# use framework, but no tclConfig.sh
|
# use framework, but no tclConfig.sh
|
||||||
unless $LDFLAGS && $LDFLAGS.include?('-framework')
|
unless $LDFLAGS && $LDFLAGS.include?('-framework')
|
||||||
($LDFLAGS ||= "") << ' -framework Tk -framework Tcl'
|
($LDFLAGS ||= "") << ' -framework=Tk -framework=Tcl'
|
||||||
end
|
end
|
||||||
|
|
||||||
if TkLib_Config["tcl-framework-header"]
|
if TkLib_Config["tcl-framework-header"]
|
||||||
|
@ -1947,53 +1947,55 @@ if TkLib_Config["tcltk-framework"]
|
||||||
puts("Use MacOS X Frameworks.")
|
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"]
|
||||||
|
|
||||||
|
libs = ''
|
||||||
if tcl_cfg_dir
|
if tcl_cfg_dir
|
||||||
TclConfig_Info['TCL_LIBS'] ||= ""
|
TclConfig_Info['TCL_LIBS'] ||= ""
|
||||||
($INCFLAGS ||= "") << ' ' << TclConfig_Info['TCL_INCLUDE_SPEC']
|
($INCFLAGS ||= "") << ' ' << TclConfig_Info['TCL_INCLUDE_SPEC']
|
||||||
$LDFLAGS << ' ' << TclConfig_Info['TCL_LIBS']
|
libs << ' ' << TclConfig_Info['TCL_LIBS']
|
||||||
if stubs
|
if stubs
|
||||||
if TkLib_Config["tcl-build-dir"] &&
|
if TkLib_Config["tcl-build-dir"] &&
|
||||||
TclConfig_Info['TCL_BUILD_STUB_LIB_SPEC'] &&
|
TclConfig_Info['TCL_BUILD_STUB_LIB_SPEC'] &&
|
||||||
!TclConfig_Info['TCL_BUILD_STUB_LIB_SPEC'].strip.empty?
|
!TclConfig_Info['TCL_BUILD_STUB_LIB_SPEC'].strip.empty?
|
||||||
$LDFLAGS << ' ' << TclConfig_Info['TCL_BUILD_STUB_LIB_SPEC']
|
libs << ' ' << TclConfig_Info['TCL_BUILD_STUB_LIB_SPEC']
|
||||||
else
|
else
|
||||||
$LDFLAGS << ' ' << TclConfig_Info['TCL_STUB_LIB_SPEC']
|
libs << ' ' << TclConfig_Info['TCL_STUB_LIB_SPEC']
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
if TkLib_Config["tcl-build-dir"] &&
|
if TkLib_Config["tcl-build-dir"] &&
|
||||||
TclConfig_Info['TCL_BUILD_LIB_SPEC'] &&
|
TclConfig_Info['TCL_BUILD_LIB_SPEC'] &&
|
||||||
!TclConfig_Info['TCL_BUILD_LIB_SPEC'].strip.empty?
|
!TclConfig_Info['TCL_BUILD_LIB_SPEC'].strip.empty?
|
||||||
$LDFLAGS << ' ' << TclConfig_Info['TCL_BUILD_LIB_SPEC']
|
libs << ' ' << TclConfig_Info['TCL_BUILD_LIB_SPEC']
|
||||||
else
|
else
|
||||||
$LDFLAGS << ' ' << TclConfig_Info['TCL_LIB_SPEC']
|
libs << ' ' << TclConfig_Info['TCL_LIB_SPEC']
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
$LDFLAGS << " -L#{TkLib_Config["tk-build-dir"].quote} -Wl,-R#{TkLib_Config["tk-build-dir"].quote}" if TkLib_Config["tk-build-dir"]
|
libs << " -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
|
if tk_cfg_dir
|
||||||
TkConfig_Info['TK_LIBS'] ||= ""
|
TkConfig_Info['TK_LIBS'] ||= ""
|
||||||
($INCFLAGS ||= "") << ' ' << TkConfig_Info['TK_INCLUDE_SPEC']
|
($INCFLAGS ||= "") << ' ' << TkConfig_Info['TK_INCLUDE_SPEC']
|
||||||
$LDFLAGS << ' ' << TkConfig_Info['TK_LIBS']
|
libs << ' ' << TkConfig_Info['TK_LIBS']
|
||||||
if stubs
|
if stubs
|
||||||
if TkLib_Config["tk-build-dir"] &&
|
if TkLib_Config["tk-build-dir"] &&
|
||||||
TclConfig_Info['TK_BUILD_STUB_LIB_SPEC'] &&
|
TclConfig_Info['TK_BUILD_STUB_LIB_SPEC'] &&
|
||||||
!TclConfig_Info['TK_BUILD_STUB_LIB_SPEC'].strip.empty?
|
!TclConfig_Info['TK_BUILD_STUB_LIB_SPEC'].strip.empty?
|
||||||
$LDFLAGS << ' ' << TkConfig_Info['TK_BUILD_STUB_LIB_SPEC']
|
libs << ' ' << TkConfig_Info['TK_BUILD_STUB_LIB_SPEC']
|
||||||
else
|
else
|
||||||
$LDFLAGS << ' ' << TkConfig_Info['TK_STUB_LIB_SPEC']
|
libs << ' ' << TkConfig_Info['TK_STUB_LIB_SPEC']
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
if TkLib_Config["tk-build-dir"] &&
|
if TkLib_Config["tk-build-dir"] &&
|
||||||
TclConfig_Info['TK_BUILD_LIB_SPEC'] &&
|
TclConfig_Info['TK_BUILD_LIB_SPEC'] &&
|
||||||
!TclConfig_Info['TK_BUILD_LIB_SPEC'].strip.empty?
|
!TclConfig_Info['TK_BUILD_LIB_SPEC'].strip.empty?
|
||||||
$LDFLAGS << ' ' << TkConfig_Info['TK_BUILD_LIB_SPEC']
|
libs << ' ' << TkConfig_Info['TK_BUILD_LIB_SPEC']
|
||||||
else
|
else
|
||||||
$LDFLAGS << ' ' << TkConfig_Info['TK_LIB_SPEC']
|
libs << ' ' << TkConfig_Info['TK_LIB_SPEC']
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
$LDFLAGS << ' ' << libs.gsub(/((?:\A|\s)-framework)\s/, '\1=') << ' -ltk -ltcl'
|
||||||
setup_for_macosx_framework(tclver, tkver) if tcl_cfg_dir && tk_cfg_dir
|
setup_for_macosx_framework(tclver, tkver) if tcl_cfg_dir && tk_cfg_dir
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -1010,7 +1010,7 @@ SRC
|
||||||
def have_framework(fw, &b)
|
def have_framework(fw, &b)
|
||||||
checking_for fw do
|
checking_for fw do
|
||||||
src = cpp_include("#{fw}/#{fw}.h") << "\n" "int main(void){return 0;}"
|
src = cpp_include("#{fw}/#{fw}.h") << "\n" "int main(void){return 0;}"
|
||||||
if try_link(src, opt = "-ObjC -framework #{fw}", &b)
|
if try_link(src, opt = "-ObjC -framework=#{fw}", &b)
|
||||||
$defs.push(format("-DHAVE_FRAMEWORK_%s", fw.tr_cpp))
|
$defs.push(format("-DHAVE_FRAMEWORK_%s", fw.tr_cpp))
|
||||||
$LDFLAGS << " " << opt
|
$LDFLAGS << " " << opt
|
||||||
true
|
true
|
||||||
|
|
Loading…
Add table
Reference in a new issue