mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
62e41d3f2e
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
79 lines
1.7 KiB
Ruby
79 lines
1.7 KiB
Ruby
# extconf.rb for tcltklib
|
|
|
|
have_library("socket", "socket")
|
|
have_library("nsl", "gethostbyname")
|
|
|
|
def search_file(var, include, *path)
|
|
pwd = Dir.getwd
|
|
begin
|
|
for i in path.reverse!
|
|
dir = Dir[i]
|
|
for path in dir
|
|
Dir.chdir path
|
|
files = Dir[include]
|
|
if files.size > 0
|
|
var << path
|
|
return files.pop
|
|
end
|
|
end
|
|
end
|
|
ensure
|
|
Dir.chdir pwd
|
|
end
|
|
end
|
|
|
|
$includes = []
|
|
search_file($includes,
|
|
"tcl.h",
|
|
"/usr/include/tcl*",
|
|
"/usr/include",
|
|
"/usr/local/include/tcl*",
|
|
"/usr/local/include")
|
|
search_file($includes,
|
|
"tk.h",
|
|
"/usr/include/tk*",
|
|
"/usr/include",
|
|
"/usr/local/include/tk*",
|
|
"/usr/local/include")
|
|
search_file($includes,
|
|
"X11/Xlib.h",
|
|
"/usr/include",
|
|
"/usr/X11*/include",
|
|
"/usr/include",
|
|
"/usr/X11*/include")
|
|
|
|
$CFLAGS = "-Wall " + $includes.collect{|path| "-I" + path}.join(" ")
|
|
|
|
$libraries = []
|
|
tcllibfile = search_file($libraries,
|
|
"libtcl{,7*,8*}.{a,so}",
|
|
"/usr/lib",
|
|
"/usr/local/lib")
|
|
if tcllibfile
|
|
tcllibfile.sub!(/^lib/, '')
|
|
tcllibfile.sub!(/\.(a|so)$/, '')
|
|
end
|
|
tklibfile = search_file($libraries,
|
|
"libtk{,4*,8*}.{a,so}",
|
|
"/usr/lib",
|
|
"/usr/local/lib")
|
|
if tklibfile
|
|
tklibfile.sub!(/^lib/, '')
|
|
tklibfile.sub!(/\.(a|so)$/, '')
|
|
end
|
|
search_file($libraries,
|
|
"libX11.{a,so}",
|
|
"/usr/lib",
|
|
"/usr/X11*/lib")
|
|
|
|
$LDFLAGS = $libraries.collect{|path| "-L" + path}.join(" ")
|
|
|
|
have_library("dl", "dlopen")
|
|
if have_header("tcl.h") &&
|
|
have_header("tk.h") &&
|
|
have_library("X11", "XOpenDisplay") &&
|
|
have_library("m", "log") &&
|
|
have_library(tcllibfile, "Tcl_FindExecutable") &&
|
|
have_library(tklibfile, "Tk_Init")
|
|
create_makefile("tcltklib")
|
|
end
|