From: Michael K. <ki...@us...> - 2003-09-29 08:27:10
|
Update of /cvsroot/xsb/XSB/packages In directory sc8-pr-cvs1:/tmp/cvs-serv11179/packages Modified Files: dbdrivers.P Log Message: Configuration work on the new XSB-DB interface. Porting to Windows. Index: dbdrivers.P =================================================================== RCS file: /cvsroot/xsb/XSB/packages/dbdrivers.P,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- dbdrivers.P 22 Sep 2003 19:59:45 -0000 1.1 +++ dbdrivers.P 29 Sep 2003 08:26:51 -0000 1.2 @@ -11,22 +11,32 @@ :- import xsb_configuration/2 from xsb_configuration. :- import initialise/0 from driver_manager. -:- [db_interface], - bootstrap_package('dbdrivers', dbdrivers), +:- + bootstrap_package([dbdrivers,cc], dbdrivers), + [db_interface], Basename = driver_manager, - [Basename], - slash(Slash), - package_configuration(dir(dbdrivers), DriverManagerDir), - writeln(DriverManagerDir), - fmt_write_string(SharedLibDriverManager, '%s%s%s.so', a(DriverManagerDir, Slash, Basename)), - xsb_configuration(config_libdir, ConfigLibDir), - fmt_write_string(LibDriverManager, '%s%s%s.so', a(ConfigLibDir, Slash, Basename)), - rename(SharedLibDriverManager, LibDriverManager), + %% There is something weird with XSB: when it compiles driver_manager + %% under windows, it fails somewhere after the compilation. + %% So, we call [Basename] again in such a case in order to load + %% the driver. + ([Basename], ! ; [Basename]), + (xsb_configuration(architecture,A), str_sub(windows,A), ! + ; + slash(Slash), + package_configuration(dir(dbdrivers), DriverManagerDir), + fmt_write_string(SharedLibDriverManager, + '%s%s/cc/%s.so', + f(DriverManagerDir, Slash, Basename)), + xsb_configuration(config_libdir, ConfigLibDir), + fmt_write_string(LibDriverManager, + '%s%s%s.so', + f(ConfigLibDir, Slash, Basename)), + rename(SharedLibDriverManager, LibDriverManager) + ), initialise. load_driver(Driver) :- - bootstrap_package(Driver, Driver), [Driver], - write('driver '), write(Driver), writeln(' installed.'). + write('['), write(Driver), writeln(': driver is installed]'). |