diff options
| author | ruki <[email protected]> | 2025-12-11 23:35:23 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2025-12-12 09:00:44 +0800 |
| commit | 4ccb8514f37fdf7108b41dbcd8ca77143841e1cd (patch) | |
| tree | ff1b1ae7433fa16acb2bfccffcf4bebc4e9b8b98 /xmake | |
| parent | 409b21826872503ef479848321003d7ca4c1aad8 (diff) | |
set plain as default
Diffstat (limited to 'xmake')
| -rw-r--r-- | xmake/core/base/binutils.lua | 6 | ||||
| -rw-r--r-- | xmake/core/sandbox/modules/import/core/base/binutils.lua | 4 | ||||
| -rw-r--r-- | xmake/modules/utils/binary/extractlib.lua | 11 |
3 files changed, 15 insertions, 6 deletions
diff --git a/xmake/core/base/binutils.lua b/xmake/core/base/binutils.lua index ea5d04ba8..9ddcfcf0c 100644 --- a/xmake/core/base/binutils.lua +++ b/xmake/core/base/binutils.lua @@ -105,10 +105,12 @@ end -- Supports AR format (.a) and MSVC lib format (.lib) -- @param libraryfile the static library file path (.a or .lib) -- @param outputdir the output directory to extract object files +-- @param opt the options (optional) +-- - plain: extract all object files to the same directory (default: true) -- @return true on success, false and error message on failure -function binutils.extractlib(libraryfile, outputdir) +function binutils.extractlib(libraryfile, outputdir, opt) if binutils._extractlib then - local ok, errors = binutils._extractlib(libraryfile, outputdir) + local ok, errors = binutils._extractlib(libraryfile, outputdir, opt and opt.plain) if ok then return true else diff --git a/xmake/core/sandbox/modules/import/core/base/binutils.lua b/xmake/core/sandbox/modules/import/core/base/binutils.lua index e2306a2da..5bc0e4f72 100644 --- a/xmake/core/sandbox/modules/import/core/base/binutils.lua +++ b/xmake/core/sandbox/modules/import/core/base/binutils.lua @@ -53,8 +53,8 @@ function sandbox_core_base_binutils.readsyms(binaryfile) end -- extract static library to directory -function sandbox_core_base_binutils.extractlib(libraryfile, outputdir) - local ok, errors = binutils.extractlib(libraryfile, outputdir) +function sandbox_core_base_binutils.extractlib(libraryfile, outputdir, opt) + local ok, errors = binutils.extractlib(libraryfile, outputdir, opt) if not ok then raise("extractlib: %s", errors or "unknown errors") end diff --git a/xmake/modules/utils/binary/extractlib.lua b/xmake/modules/utils/binary/extractlib.lua index 9097db73a..818d343bc 100644 --- a/xmake/modules/utils/binary/extractlib.lua +++ b/xmake/modules/utils/binary/extractlib.lua @@ -21,7 +21,14 @@ -- imports import("core.base.binutils") -function main(libraryfile, outputdir) +-- extract static library to directory +-- +-- @param libraryfile the static library file path (.a or .lib) +-- @param outputdir the output directory to extract object files +-- @param opt the options (optional) +-- - plain: extract all object files to the same directory (default: true) +-- +function main(libraryfile, outputdir, opt) -- init paths libraryfile = path.absolute(libraryfile) outputdir = path.absolute(outputdir) @@ -36,7 +43,7 @@ function main(libraryfile, outputdir) print("extracting static library %s to %s ..", libraryfile, outputdir) -- do extraction - binutils.extractlib(libraryfile, outputdir) + binutils.extractlib(libraryfile, outputdir, opt) -- trace cprint("${bright}extraction completed!") |
