Mercurial > hg > octave-nkf
diff src/mkoctfile.cc.in @ 13010:edc5ec6e949b
maint: allow --enable-static --disable-dl to work again
* oct-conf.h.in (OCTAVE_CONF_OCTAVE_LINK_DEPS,
OCTAVE_CONF_OCTAVE_LINK_OPTS, OCTAVE_CONF_OCT_LINK_DEPS,
OCTAVE_CONF_OCT_LINK_OPTS): New macros.
* common.mk (do_subst_config_vals): Substitute them.
* toplev.cc (octave_config_info): Add them to the info map
* libcruft/link-deps.mk, liboctave/link-deps.mk, src/link-deps.mk:
New files.
* libcruft/Makefile.am, liboctave/Makefile.am, src/Makefile.am:
Include link-deps.mk files to get link options and dependencies.
Set link options in _LDFLAGS variable, not _LIBADD variable.
* configure.ac (--enable-dl): Update help message.
* configure.ac (AMCOND_LINK_ALL_DEPS): New conditional.
* liboctave/link-deps.mk, src/link-deps.mk: Use it.
* src/DLD-FUNCTIONS/module-files: Store file-specific CPPFLAGS,
* LDFLAGS, and LIBRARY info here.
src/Makefile.am: Not here.
* src/DLD-FUNCTIONS/config-module.awk: Use file-specific CPPFLAGS,
LDFLAGS, and LIBRARY info from module-files to generate variable
definitions and rules.
* src/Makefile.am (DLD_DYNAMIC_SRC, DLD_STATIC_SRC, OCTAVE_LIBS,
OCTINTERP_LINK_DEPS): Delete.
(octave_LDADD): Set to liboctinerp.la and $(OCTAVE_LINK_DEPS), not
$(OCTAVE_LIBS).
(octave_LDFLAGS): New variable.
(DLD_STATIC_DEF_FILES, DLD_DYNAMIC_DEF_FILES): Delete.
(DLD_FUNCTIONS_DEF_FILES): New variable.
(DEF_FILES): Set conditionally.
(DLD_FUNCTIONS_PKG_ADD_FILE): New conditionally defined variable.
Change all uses of hard-coded file name.
(DLD-FUNCTIONS/PKG_ADD:): Conditionally define rule.
* mkoctfile.in, mkoctfile.cc.in: Update for new linking rules.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Fri, 26 Aug 2011 15:36:14 -0400 |
parents | b67c2d580a25 |
children | f3c53fea9fb5 |
line wrap: on
line diff
--- a/src/mkoctfile.cc.in +++ b/src/mkoctfile.cc.in @@ -233,6 +233,10 @@ vars["FFTW3F_LIBS"] = get_variable ("FFTW3F_LIBS", %OCTAVE_CONF_FFTW3F_LIBS%); vars["LIBS"] = get_variable ("LIBS", %OCTAVE_CONF_LIBS%); vars["FLIBS"] = get_variable ("FLIBS", %OCTAVE_CONF_FLIBS%); + vars["OCTAVE_LINK_DEPS"] = get_variable ("FLIBS", %OCTAVE_CONF_OCTAVE_LINK_DEPS%); + vars["OCT_LINK_DEPS"] = get_variable ("FLIBS", %OCTAVE_CONF_OCT_LINK_DEPS%); + vars["FLIBS"] = get_variable ("FLIBS", %OCTAVE_CONF_FLIBS%); + vars["LD_CXX"] = get_variable ("LD_CXX", %OCTAVE_CONF_LD_CXX%); vars["LDFLAGS"] = get_variable ("LDFLAGS", %OCTAVE_CONF_LDFLAGS%); vars["LD_STATIC_FLAG"] = get_variable ("LD_STATIC_FLAG", %OCTAVE_CONF_LD_STATIC_FLAG%); @@ -296,25 +300,30 @@ " -p VAR, --print VAR Print configuration variable VAR. Recognized\n" " variables are:\n" "\n" -" ALL_CFLAGS FLIBS\n" -" ALL_CXXFLAGS FPICFLAG\n" -" ALL_FFLAGS INCFLAGS\n" -" ALL_LDFLAGS LAPACK_LIBS\n" -" BLAS_LIBS LDFLAGS\n" -" CC LD_CXX\n" -" CFLAGS LD_STATIC_FLAG\n" -" CPICFLAG LFLAGS\n" -" CPPFLAGS LIBCRUFT\n" -" CXX LIBOCTAVE\n" -" CXXFLAGS LIBOCTINTERP\n" -" CXXPICFLAG LIBS\n" -" DEPEND_EXTRA_SED_PATTERN OCTAVE_LIBS\n" -" DEPEND_FLAGS RDYNAMIC_FLAG\n" -" DL_LD READLINE_LIBS\n" -" DL_LDFLAGS RLD_FLAG\n" -" F77 SED\n" -" FFLAGS XTRA_CFLAGS\n" -" FFTW_LIBS XTRA_CXXFLAGS\n" +" ALL_CFLAGS FLIBS\n" +" ALL_CXXFLAGS FPICFLAG\n" +" ALL_FFLAGS INCFLAGS\n" +" ALL_LDFLAGS LAPACK_LIBS\n" +" BLAS_LIBS LDFLAGS\n" +" CC LD_CXX\n" +" CFLAGS LD_STATIC_FLAG\n" +" CPICFLAG LFLAGS\n" +" CPPFLAGS LIBCRUFT\n" +" CXX LIBOCTAVE\n" +" CXXFLAGS LIBOCTINTERP\n" +" CXXPICFLAG LIBS\n" +" DEPEND_EXTRA_SED_PATTERN OCTAVE_LIBS\n" +" DEPEND_FLAGS OCTAVE_LINK_DEPS\n" +" DL_LD OCTAVE_LINK_OPTS\n" +" DL_LDFLAGS OCT_LINK_DEPS\n" +" EXEEXT OCT_LINK_OPTS\n" +" F77 RDYNAMIC_FLAG\n" +" F77_INTEGER_8_FLAG READLINE_LIBS\n" +" FFLAGS RLD_FLAG\n" +" FFTW3_LDFLAGS SED\n" +" FFTW3_LIBS XTRA_CFLAGS\n" +" FFTW3F_LDFLAGS XTRA_CXXFLAGS\n" +" FFTW3F_LIBS\n" "\n" " --link-stand-alone Link a stand-alone executable file.\n" "\n" @@ -743,10 +752,8 @@ + " " + vars["ALL_LDFLAGS"] + " " + pass_on_options + " " + output_option + " " + objfiles + " " + libfiles + " " + ldflags + " " + vars["LFLAGS"] + " " - + vars["RLD_FLAG"] + " " + vars["OCTAVE_LIBS"] + " " - + vars["LAPACK_LIBS"] + " " + vars["BLAS_LIBS"] + " " - + vars["FFTW_LIBS"] + " " + vars["READLINE_LIBS"] + " " - + vars["LIBS"] + " " + vars["FLIBS"]; + + " " + vars["OCT_LINK_OPTS"] + + " " + vars["OCTAVE_LINK_DEPS"]; result = run_command (cmd); } else @@ -758,12 +765,10 @@ } else { - string LINK_DEPS = vars["LFLAGS"] + " " + vars["OCTAVE_LIBS"] - + " " + vars["LDFLAGS"] + " " + vars["BLAS_LIBS"] + " " - + vars["FFTW_LIBS"] + " " + vars["LIBS"] + " " + vars["FLIBS"]; string cmd = vars["DL_LD"] + " " + vars["DL_LDFLAGS"] + " " + pass_on_options + " -o " + octfile + " " + objfiles + " " - + libfiles + " " + ldflags + " " + LINK_DEPS; + + libfiles + " " + ldflags + " " + vars["LFLAGS"] + " " + + vars["OCT_LINK_OPTS"] + " " + vars["OCT_LINK_DEPS"]; result = run_command (cmd); }