diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/luarocks/build/builtin.lua | 4 | ||||
| -rw-r--r-- | src/luarocks/cfg.lua | 12 |
2 files changed, 13 insertions, 3 deletions
diff --git a/src/luarocks/build/builtin.lua b/src/luarocks/build/builtin.lua index fc4c2c04..485ff370 100644 --- a/src/luarocks/build/builtin.lua +++ b/src/luarocks/build/builtin.lua | |||
| @@ -143,7 +143,9 @@ function run(rockspec) | |||
| 143 | compile_library = function (library, objects, libraries, libdirs) | 143 | compile_library = function (library, objects, libraries, libdirs) |
| 144 | local extras = { unpack(objects) } | 144 | local extras = { unpack(objects) } |
| 145 | add_flags(extras, "-L%s", libdirs) | 145 | add_flags(extras, "-L%s", libdirs) |
| 146 | add_flags(extras, "-Wl,-rpath,%s:", libdirs) | 146 | if cfg.gcc_rpath then |
| 147 | add_flags(extras, "-Wl,-rpath,%s:", libdirs) | ||
| 148 | end | ||
| 147 | add_flags(extras, "-l%s", libraries) | 149 | add_flags(extras, "-l%s", libraries) |
| 148 | if cfg.is_platform("cygwin") then | 150 | if cfg.is_platform("cygwin") then |
| 149 | add_flags(extras, "-l%s", {"lua"}) | 151 | add_flags(extras, "-l%s", {"lua"}) |
diff --git a/src/luarocks/cfg.lua b/src/luarocks/cfg.lua index 263af063..e0b4060a 100644 --- a/src/luarocks/cfg.lua +++ b/src/luarocks/cfg.lua | |||
| @@ -324,6 +324,7 @@ if detected.unix then | |||
| 324 | defaults.platforms = { "unix" } | 324 | defaults.platforms = { "unix" } |
| 325 | defaults.variables.CC = "gcc" | 325 | defaults.variables.CC = "gcc" |
| 326 | defaults.variables.LD = "gcc" | 326 | defaults.variables.LD = "gcc" |
| 327 | defaults.gcc_rpath = true | ||
| 327 | defaults.variables.LIBFLAG = "-shared" | 328 | defaults.variables.LIBFLAG = "-shared" |
| 328 | defaults.external_deps_patterns = { | 329 | defaults.external_deps_patterns = { |
| 329 | bin = { "?" }, | 330 | bin = { "?" }, |
| @@ -362,10 +363,17 @@ if detected.macosx then | |||
| 362 | defaults.external_lib_extension = "dylib" | 363 | defaults.external_lib_extension = "dylib" |
| 363 | defaults.arch = "macosx-"..proc | 364 | defaults.arch = "macosx-"..proc |
| 364 | defaults.platforms = {"unix", "bsd", "macosx"} | 365 | defaults.platforms = {"unix", "bsd", "macosx"} |
| 365 | defaults.variables.CC = "export MACOSX_DEPLOYMENT_TARGET=10.3; gcc" | ||
| 366 | defaults.variables.LD = "export MACOSX_DEPLOYMENT_TARGET=10.3; gcc" | ||
| 367 | defaults.variables.LIBFLAG = "-bundle -undefined dynamic_lookup -all_load" | 366 | defaults.variables.LIBFLAG = "-bundle -undefined dynamic_lookup -all_load" |
| 368 | defaults.variables.STATFLAG = "-f '%A'" | 367 | defaults.variables.STATFLAG = "-f '%A'" |
| 368 | local version = io.popen("sw_vers -productVersion"):read("*l") | ||
| 369 | version = tonumber(version and version:match("^[^.]+%.([^.]+)")) or 3 | ||
| 370 | if version >= 5 then | ||
| 371 | version = 5 | ||
| 372 | else | ||
| 373 | defaults.gcc_rpath = false | ||
| 374 | end | ||
| 375 | defaults.variables.CC = "export MACOSX_DEPLOYMENT_TARGET=10."..version.."; gcc" | ||
| 376 | defaults.variables.LD = "export MACOSX_DEPLOYMENT_TARGET=10."..version.."; gcc" | ||
| 369 | end | 377 | end |
| 370 | 378 | ||
| 371 | if detected.linux then | 379 | if detected.linux then |
