aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMikhail Gusarov <mikhail.gusarov@cfengine.com>2011-07-28 20:24:09 +0200
committerMikhail Gusarov <mikhail.gusarov@cfengine.com>2011-07-28 20:24:09 +0200
commite61a192b9f2fc206f1dbda5f7e604a1013902721 (patch)
treea09b0fb6b83f5e78a1015146ce079d33a41c6efc
parent25de237619d97b5c9ff04a846b20738d11162596 (diff)
downloadluarocks-e61a192b9f2fc206f1dbda5f7e604a1013902721.tar.gz
luarocks-e61a192b9f2fc206f1dbda5f7e604a1013902721.tar.bz2
luarocks-e61a192b9f2fc206f1dbda5f7e604a1013902721.zip
Use provided subdirectories to look for files if specified (#32)
-rw-r--r--src/luarocks/deps.lua30
1 files changed, 22 insertions, 8 deletions
diff --git a/src/luarocks/deps.lua b/src/luarocks/deps.lua
index 31018216..26c43047 100644
--- a/src/luarocks/deps.lua
+++ b/src/luarocks/deps.lua
@@ -506,14 +506,6 @@ function check_external_deps(rockspec, mode)
506 patterns = cfg.runtime_external_deps_patterns 506 patterns = cfg.runtime_external_deps_patterns
507 subdirs = cfg.runtime_external_deps_subdirs 507 subdirs = cfg.runtime_external_deps_subdirs
508 end 508 end
509 local dirs = {
510 BINDIR = { subdir = subdirs.bin, testfile = "program", pattern = patterns.bin },
511 INCDIR = { subdir = subdirs.include, testfile = "header", pattern = patterns.include },
512 LIBDIR = { subdir = subdirs.lib, testfile = "library", pattern = patterns.lib }
513 }
514 if mode == "install" then
515 dirs.INCDIR = nil
516 end
517 if rockspec.external_dependencies then 509 if rockspec.external_dependencies then
518 for name, files in pairs(rockspec.external_dependencies) do 510 for name, files in pairs(rockspec.external_dependencies) do
519 local ok = true 511 local ok = true
@@ -522,9 +514,31 @@ function check_external_deps(rockspec, mode)
522 for _, extdir in ipairs(cfg.external_deps_dirs) do 514 for _, extdir in ipairs(cfg.external_deps_dirs) do
523 ok = true 515 ok = true
524 local prefix = vars[name.."_DIR"] 516 local prefix = vars[name.."_DIR"]
517 local dirs = {
518 BINDIR = { subdir = subdirs.bin, testfile = "program", pattern = patterns.bin },
519 INCDIR = { subdir = subdirs.include, testfile = "header", pattern = patterns.include },
520 LIBDIR = { subdir = subdirs.lib, testfile = "library", pattern = patterns.lib }
521 }
522 if mode == "install" then
523 dirs.INCDIR = nil
524 end
525 if not prefix then 525 if not prefix then
526 prefix = extdir 526 prefix = extdir
527 end 527 end
528 if type(prefix) == "table" then
529 if prefix.bin then
530 dirs.BINDIR.subdir = prefix.bin
531 end
532 if prefix.include then
533 if dirs.INCDIR then
534 dirs.INCDIR.subdir = prefix.include
535 end
536 end
537 if prefix.lib then
538 dirs.LIBDIR.subdir = prefix.lib
539 end
540 prefix = prefix.prefix
541 end
528 for dirname, dirdata in pairs(dirs) do 542 for dirname, dirdata in pairs(dirs) do
529 dirdata.dir = vars[name.."_"..dirname] or dir.path(prefix, dirdata.subdir) 543 dirdata.dir = vars[name.."_"..dirname] or dir.path(prefix, dirdata.subdir)
530 local file = files[dirdata.testfile] 544 local file = files[dirdata.testfile]