00001 /* File: dynload.c 00002 ** Author(s): Jiyang Xu, Kostis Sagonas, Steve Dawson 00003 ** Contact: xsb-contact@cs.sunysb.edu 00004 ** 00005 ** Copyright (C) The Research Foundation of SUNY, 1986, 1993-1998 00006 ** Copyright (C) ECRC, Germany, 1990 00007 ** 00008 ** XSB is free software; you can redistribute it and/or modify it under the 00009 ** terms of the GNU Library General Public License as published by the Free 00010 ** Software Foundation; either version 2 of the License, or (at your option) 00011 ** any later version. 00012 ** 00013 ** XSB is distributed in the hope that it will be useful, but WITHOUT ANY 00014 ** WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 00015 ** FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for 00016 ** more details. 00017 ** 00018 ** You should have received a copy of the GNU Library General Public License 00019 ** along with XSB; if not, write to the Free Software Foundation, 00020 ** Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 00021 ** 00022 ** $Id: dynload.c,v 1.9 2005/11/29 00:02:16 tswift Exp $ 00023 ** 00024 */ 00025 00026 00027 #include "xsb_config.h" /* This should appear BEFORE the ifdef! */ 00028 00029 extern char executable_path_gl[]; /* from orient_xsb.c */ 00030 00031 #ifdef FOREIGN 00032 00033 #ifdef FOREIGN_ELF 00034 #include "dynelf_xsb_i.h" 00035 #else 00036 #ifdef FOREIGN_AOUT 00037 #include "dynaout_xsb_i.h" 00038 #else 00039 #ifdef FOREIGN_WIN32 00040 #include "dynwin32_xsb_i.h" 00041 #endif /* FOREIGN_WIN32 */ 00042 #endif /* FOREIGN_AOUT */ 00043 #endif /* FOREIGN_ELF */ 00044 00045 /*----------------------------------------------------------------------*/ 00046 00047 byte *load_obj(char *pofilename, Psc cur_mod, char *ld_option) 00048 { 00049 /* 00050 if (static_foreign_libraries(get_name(cur_mod))) 00051 return load_obj_sta(cur_mod); 00052 else 00053 */ 00054 return load_obj_dyn(pofilename, cur_mod, ld_option); 00055 } 00056 00057 /*----------------------------------------------------------------------*/ 00058 00059 #endif /* FOREIGN */