1
0
Fork 0
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:
nobu 2012-05-17 01:37:08 +00:00
parent 9914991769
commit 58e7c45fc7
3 changed files with 21 additions and 14 deletions

View file

@ -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.

View file

@ -1463,7 +1463,7 @@ end
def setup_for_macosx_framework(tclver, tkver)
# use framework, but no tclConfig.sh
unless $LDFLAGS && $LDFLAGS.include?('-framework')
($LDFLAGS ||= "") << ' -framework Tk -framework Tcl'
($LDFLAGS ||= "") << ' -framework=Tk -framework=Tcl'
end
if TkLib_Config["tcl-framework-header"]
@ -1947,53 +1947,55 @@ 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"]
libs = ''
if tcl_cfg_dir
TclConfig_Info['TCL_LIBS'] ||= ""
($INCFLAGS ||= "") << ' ' << TclConfig_Info['TCL_INCLUDE_SPEC']
$LDFLAGS << ' ' << TclConfig_Info['TCL_LIBS']
libs << ' ' << TclConfig_Info['TCL_LIBS']
if stubs
if TkLib_Config["tcl-build-dir"] &&
TclConfig_Info['TCL_BUILD_STUB_LIB_SPEC'] &&
!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
$LDFLAGS << ' ' << TclConfig_Info['TCL_STUB_LIB_SPEC']
libs << ' ' << TclConfig_Info['TCL_STUB_LIB_SPEC']
end
else
if TkLib_Config["tcl-build-dir"] &&
TclConfig_Info['TCL_BUILD_LIB_SPEC'] &&
!TclConfig_Info['TCL_BUILD_LIB_SPEC'].strip.empty?
$LDFLAGS << ' ' << TclConfig_Info['TCL_BUILD_LIB_SPEC']
libs << ' ' << TclConfig_Info['TCL_BUILD_LIB_SPEC']
else
$LDFLAGS << ' ' << TclConfig_Info['TCL_LIB_SPEC']
libs << ' ' << TclConfig_Info['TCL_LIB_SPEC']
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
TkConfig_Info['TK_LIBS'] ||= ""
($INCFLAGS ||= "") << ' ' << TkConfig_Info['TK_INCLUDE_SPEC']
$LDFLAGS << ' ' << TkConfig_Info['TK_LIBS']
libs << ' ' << TkConfig_Info['TK_LIBS']
if stubs
if TkLib_Config["tk-build-dir"] &&
TclConfig_Info['TK_BUILD_STUB_LIB_SPEC'] &&
!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
$LDFLAGS << ' ' << TkConfig_Info['TK_STUB_LIB_SPEC']
libs << ' ' << TkConfig_Info['TK_STUB_LIB_SPEC']
end
else
if TkLib_Config["tk-build-dir"] &&
TclConfig_Info['TK_BUILD_LIB_SPEC'] &&
!TclConfig_Info['TK_BUILD_LIB_SPEC'].strip.empty?
$LDFLAGS << ' ' << TkConfig_Info['TK_BUILD_LIB_SPEC']
libs << ' ' << TkConfig_Info['TK_BUILD_LIB_SPEC']
else
$LDFLAGS << ' ' << TkConfig_Info['TK_LIB_SPEC']
libs << ' ' << TkConfig_Info['TK_LIB_SPEC']
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
end

View file

@ -1010,7 +1010,7 @@ SRC
def have_framework(fw, &b)
checking_for fw do
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))
$LDFLAGS << " " << opt
true