Mercurial > pub > dyncall > bindings
view R/rdyncall/R/dynfind.R @ 0:0cfcc391201f
initial from svn dyncall-1745
author | Daniel Adler |
---|---|
date | Thu, 19 Mar 2015 22:26:28 +0100 |
parents | |
children |
line wrap: on
line source
dynfind1 <- if (.Platform$OS.type == "windows") { function(name, ...) { handle <- .dynload(paste("lib",name,sep=""),...) if (!is.null(handle)) return(handle) .dynload(name,...) } } else { if ( Sys.info()[["sysname"]] == "Darwin" ) { function(name, ...) { handle <- .dynload(paste(name,".framework/",name,sep=""),...) if (!is.null(handle)) return(handle) .dynload(paste("lib",name,".dylib",sep=""),...) } } else { function(name, ...) { handle <- .dynload(paste("lib",name,".so",sep=""),...) if (!is.null(handle)) return(handle) handle <- .dynload(paste("lib",name,sep=""),...) if (!is.null(handle)) return(handle) .dynload(paste(name,sep=""),...) # needed by Solaris to lookup 'R'. } } } dynfind <- function(libnames, auto.unload = TRUE) { for (libname in libnames) { handle <- dynfind1(libname, auto.unload) if (!is.null(handle)) return(handle) } }