Mercurial > hg > octave-avbm
changeset 711:5f15ab42a631
[project @ 1994-09-18 23:34:30 by jwe]
author | jwe |
---|---|
date | Sun, 18 Sep 1994 23:34:35 +0000 |
parents | 60af453e3f67 |
children | 36ba0576bd1b |
files | src/dynamic-ld.cc src/dynamic-ld.h |
diffstat | 2 files changed, 0 insertions(+), 96 deletions(-) [+] |
line wrap: on
line diff
--- a/src/dynamic-ld.cc +++ b/src/dynamic-ld.cc @@ -288,96 +288,6 @@ dld_perror ("octave_dld_tc2_unlink_by_file"); } -// Look for object in path. It should provide a definition for the -// function we just marked as undefined. If we find it, we'll also -// try to load the remaining undefined symbols. - -static int -octave_dld_link (const char *object) -{ - char *file = file_in_path (object, 0); - - int status = dld_link (file); - - if (status != 0) - dld_perror ("octave_dld_link"); - - return status; -} - -int -octave_dld_tc2_link (const char *object) -{ - static char *ol = octave_lib_dir (); - static char *liboctave = strconcat (ol, "/liboctave.a"); - static char *libcruft = strconcat (ol, "/libcruft.a"); - - int status = octave_dld_link (object); - - if (status == 0) - { - status = octave_dld_link (liboctave); - - if (status == 0) - octave_dld_link (libcruft); - } - - return status; -} - -Octave_builtin_fcn -octave_dld_tc2 (const char *name) -{ - Octave_builtin_fcn retval = 0; - - octave_dld_init (); - -// XXX FIXME XXX -- need to determine the name mangling scheme -// automatically, in case it changes, or is different on different -// systems, even if they have g++. - char *mangled_fcn_name = strconcat (name, "__FRC13Octave_objecti"); - -// See if the function has already been loaded. If not, mark it as -// undefined. - - if (dld_get_func (mangled_fcn_name) == 0) - dld_create_reference (mangled_fcn_name); - - static char *ol = octave_lib_dir (); - static char *liboctdld = strconcat (ol, "/liboctdld.a"); - - int status = octave_dld_tc2_link (liboctdld); - - if (status == 0) - { -// Return a pointer to the function we just loaded. If we can\'t find -// it, this will return NULL. - - retval = (Octave_builtin_fcn) dld_get_func (mangled_fcn_name); - } - - delete [] mangled_fcn_name; - - return retval; - -} - -Octave_object -octave_dld_tc2_and_go (const Octave_object& args, int nargout, - const char *name) -{ - Octave_object retval; - - Octave_builtin_fcn fcn_to_call = octave_dld_tc2 (name); - - if (fcn_to_call) - retval = (*fcn_to_call) (args, nargout); - else - error ("octave_dld_tc2_and_go: failed to load `%s'", name); - - return retval; -} - #endif /*
--- a/src/dynamic-ld.h +++ b/src/dynamic-ld.h @@ -38,13 +38,7 @@ #if 0 extern void octave_dld_tc2_unlink_by_symbol (const char *name, int hard = 1); - extern void octave_dld_tc2_unlink_by_file (const char *name, int hard = 1); - -extern Octave_builtin_fcn octave_dld_tc2 (const char *name); - -extern Octave_object octave_dld_tc2_and_go (const Octave_object&, - int nargout, const char *name); #endif #endif