Mercurial > octave
changeset 30386:fc9b98382ea7 stable
mkoctfile: Add command line `-l` flags before LDFLAGS in linker command (bug #61571).
* src/mkoctfile.in.cc: Libraries that resolve symbols must appear after
libraries that depend on these symbols. Add command line `-l` flags before
LDFLAGS in linker command so that symbols in these libraries are correctly
resolved. Mark LFLAGS for removal in Octave 9.
author | Markus Mützel <markus.muetzel@gmx.de> |
---|---|
date | Sun, 28 Nov 2021 21:03:27 +0100 |
parents | 8afdeac24ba4 |
children | e1d5df076b7c bf4cea7b9ba8 |
files | src/mkoctfile.in.cc |
diffstat | 1 files changed, 7 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/src/mkoctfile.in.cc Sat Nov 27 22:00:52 2021 -0800 +++ b/src/mkoctfile.in.cc Sun Nov 28 21:03:27 2021 +0100 @@ -356,7 +356,7 @@ vars["LD_STATIC_FLAG"] = get_variable ("LD_STATIC_FLAG", %OCTAVE_CONF_LD_STATIC_FLAG%); - // FIXME: Remove LFLAGS in Octave 8.0 + // FIXME: Remove LFLAGS in Octave 9 vars["LFLAGS"] = get_variable ("LFLAGS", DEFAULT_LDFLAGS); if (vars["LFLAGS"] != DEFAULT_LDFLAGS) std::cerr << "mkoctfile: warning: LFLAGS is deprecated and will be removed in a future version of Octave, use LDFLAGS instead" << std::endl; @@ -888,7 +888,7 @@ { ++i; - // FIXME: Remove LFLAGS checking in Octave 7.0 + // FIXME: Remove LFLAGS checking in Octave 9 if (argv[i] == "LFLAGS") std::cerr << "mkoctfile: warning: LFLAGS is deprecated and will be removed in a future version of Octave, use LDFLAGS instead" << std::endl; @@ -1316,11 +1316,12 @@ octave_libs = "-L" + quote_path (vars["OCTLIBDIR"]) + ' ' + vars["OCTAVE_LIBS"]; + // FIXME: Remove LFLAGS in Octave 9 std::string cmd = (vars["CXXLD"] + ' ' + vars["CPPFLAGS"] + ' ' + vars["ALL_CXXFLAGS"] + ' ' + vars["RDYNAMIC_FLAG"] + ' ' + pass_on_options + ' ' + output_option + ' ' + objfiles + ' ' - + libfiles + ' ' + vars["ALL_LDFLAGS"] + ' ' + ldflags + ' ' + + libfiles + ' ' + ldflags + ' ' + vars["ALL_LDFLAGS"] + ' ' + vars["LFLAGS"] + ' ' + octave_libs + ' ' + vars["OCTAVE_LINK_OPTS"] + ' ' + vars["OCTAVE_LINK_DEPS"]); @@ -1346,11 +1347,12 @@ + ' ' + vars["OCTAVE_LIBS"]; #endif + // FIXME: Remove LFLAGS in Octave 9 std::string cmd = (vars["CXXLD"] + ' ' + vars["ALL_CXXFLAGS"] + ' ' + pass_on_options + " -o " + octfile + ' ' + objfiles + ' ' - + libfiles + ' ' + vars["DL_LDFLAGS"] + ' ' + vars["LDFLAGS"] + ' ' - + ldflags + ' ' + vars["LFLAGS"] + ' ' + octave_libs + ' ' + + libfiles + ' ' + ldflags + ' ' + vars["DL_LDFLAGS"] + ' ' + + vars["LDFLAGS"] + ' ' + vars["LFLAGS"] + ' ' + octave_libs + ' ' + vars["OCT_LINK_OPTS"] + ' ' + vars["OCT_LINK_DEPS"]); #if defined (OCTAVE_USE_WINDOWS_API) || defined(CROSS)