diff options
| author | Hisham Muhammad <hisham@gobolinux.org> | 2022-02-16 18:08:18 -0300 |
|---|---|---|
| committer | Hisham Muhammad <hisham@gobolinux.org> | 2022-02-17 12:47:41 -0300 |
| commit | 7e8058bc399ede42b8eb57d62694015b4c0401e0 (patch) | |
| tree | 49e64ac5cb10e932ea579a96ed7d771348038b81 | |
| parent | 9e22f32dd442d7c95766aca54ceea9833efa4f9d (diff) | |
| download | luarocks-7e8058bc399ede42b8eb57d62694015b4c0401e0.tar.gz luarocks-7e8058bc399ede42b8eb57d62694015b4c0401e0.tar.bz2 luarocks-7e8058bc399ede42b8eb57d62694015b4c0401e0.zip | |
builtin: always respect CC, CFLAGS, LDFLAGS
There were already workarounds in place for some platforms.
This should make the behavior consistent.
Fixes #429.
| -rw-r--r-- | src/luarocks/build/builtin.lua | 8 | ||||
| -rw-r--r-- | src/luarocks/core/cfg.lua | 10 |
2 files changed, 10 insertions, 8 deletions
diff --git a/src/luarocks/build/builtin.lua b/src/luarocks/build/builtin.lua index 98db29da..d8826851 100644 --- a/src/luarocks/build/builtin.lua +++ b/src/luarocks/build/builtin.lua | |||
| @@ -157,6 +157,10 @@ function builtin.run(rockspec, no_install) | |||
| 157 | local variables = rockspec.variables | 157 | local variables = rockspec.variables |
| 158 | local checked_lua_h = false | 158 | local checked_lua_h = false |
| 159 | 159 | ||
| 160 | for _, var in ipairs{ "CC", "CFLAGS", "LDFLAGS" } do | ||
| 161 | variables[var] = os.getenv(var) or variables[var] or "" | ||
| 162 | end | ||
| 163 | |||
| 160 | local function add_flags(extras, flag, flags) | 164 | local function add_flags(extras, flag, flags) |
| 161 | if flags then | 165 | if flags then |
| 162 | if type(flags) ~= "table" then | 166 | if type(flags) ~= "table" then |
| @@ -182,7 +186,7 @@ function builtin.run(rockspec, no_install) | |||
| 182 | add_flags(extras, "-l%s", libraries) | 186 | add_flags(extras, "-l%s", libraries) |
| 183 | extras[#extras+1] = dir.path(variables.LUA_LIBDIR, variables.LUALIB) | 187 | extras[#extras+1] = dir.path(variables.LUA_LIBDIR, variables.LUALIB) |
| 184 | extras[#extras+1] = "-l" .. (variables.MSVCRT or "m") | 188 | extras[#extras+1] = "-l" .. (variables.MSVCRT or "m") |
| 185 | local ok = execute(variables.LD.." "..variables.LIBFLAG, "-o", library, unpack(extras)) | 189 | local ok = execute(variables.LD.." "..variables.LDFLAGS, variables.LIBFLAG, "-o", library, unpack(extras)) |
| 186 | return ok | 190 | return ok |
| 187 | end | 191 | end |
| 188 | --[[ TODO disable static libs until we fix the conflict in the manifest, which will take extending the manifest format. | 192 | --[[ TODO disable static libs until we fix the conflict in the manifest, which will take extending the manifest format. |
| @@ -250,7 +254,7 @@ function builtin.run(rockspec, no_install) | |||
| 250 | extras[#extras+1] = "-L"..variables.LUA_LIBDIR | 254 | extras[#extras+1] = "-L"..variables.LUA_LIBDIR |
| 251 | extras[#extras+1] = "-llua" | 255 | extras[#extras+1] = "-llua" |
| 252 | end | 256 | end |
| 253 | return execute(variables.LD.." "..variables.LIBFLAG, "-o", library, unpack(extras)) | 257 | return execute(variables.LD.." "..variables.LDFLAGS, variables.LIBFLAG, "-o", library, unpack(extras)) |
| 254 | end | 258 | end |
| 255 | compile_static_library = function(library, objects, libraries, libdirs, name) -- luacheck: ignore 211 | 259 | compile_static_library = function(library, objects, libraries, libdirs, name) -- luacheck: ignore 211 |
| 256 | local ok = execute(variables.AR, "rc", library, unpack(objects)) | 260 | local ok = execute(variables.AR, "rc", library, unpack(objects)) |
diff --git a/src/luarocks/core/cfg.lua b/src/luarocks/core/cfg.lua index fca315e0..c88d3892 100644 --- a/src/luarocks/core/cfg.lua +++ b/src/luarocks/core/cfg.lua | |||
| @@ -477,19 +477,17 @@ local function make_defaults(lua_version, target_cpu, platforms, home) | |||
| 477 | if platforms.freebsd then | 477 | if platforms.freebsd then |
| 478 | defaults.arch = "freebsd-"..target_cpu | 478 | defaults.arch = "freebsd-"..target_cpu |
| 479 | defaults.gcc_rpath = false | 479 | defaults.gcc_rpath = false |
| 480 | defaults.variables.CC = os.getenv("CC") or "cc" | 480 | defaults.variables.CC = "cc" |
| 481 | defaults.variables.CFLAGS = os.getenv("CFLAGS") or defaults.variables.CFLAGS | ||
| 482 | defaults.variables.LD = defaults.variables.CC | 481 | defaults.variables.LD = defaults.variables.CC |
| 483 | defaults.variables.LIBFLAG = (os.getenv("LDFLAGS") or "").." -shared" | 482 | defaults.variables.LIBFLAG = "-shared" |
| 484 | end | 483 | end |
| 485 | 484 | ||
| 486 | if platforms.openbsd then | 485 | if platforms.openbsd then |
| 487 | defaults.arch = "openbsd-"..target_cpu | 486 | defaults.arch = "openbsd-"..target_cpu |
| 488 | defaults.gcc_rpath = false | 487 | defaults.gcc_rpath = false |
| 489 | defaults.variables.CC = os.getenv("CC") or "cc" | 488 | defaults.variables.CC = "cc" |
| 490 | defaults.variables.CFLAGS = os.getenv("CFLAGS") or defaults.variables.CFLAGS | ||
| 491 | defaults.variables.LD = defaults.variables.CC | 489 | defaults.variables.LD = defaults.variables.CC |
| 492 | defaults.variables.LIBFLAG = (os.getenv("LDFLAGS") or "").." -shared" | 490 | defaults.variables.LIBFLAG = "-shared" |
| 493 | end | 491 | end |
| 494 | 492 | ||
| 495 | if platforms.netbsd then | 493 | if platforms.netbsd then |
