[Rcpp-commits] r1862 - linkingto
noreply at r-forge.r-project.org
noreply at r-forge.r-project.org
Fri Jul 16 12:27:51 CEST 2010
Author: romain
Date: 2010-07-16 12:27:51 +0200 (Fri, 16 Jul 2010)
New Revision: 1862
Modified:
linkingto/linkingto-proposal.Rnw
Log:
switch to only ProvidesLibrary and stay vague enough about static/dynamic linking
Modified: linkingto/linkingto-proposal.Rnw
===================================================================
--- linkingto/linkingto-proposal.Rnw 2010-07-16 10:14:29 UTC (rev 1861)
+++ linkingto/linkingto-proposal.Rnw 2010-07-16 10:27:51 UTC (rev 1862)
@@ -1,5 +1,4 @@
\documentclass[10pt]{article}
-%\VignetteIndexEntry{Rcpp-modules}
\usepackage{vmargin}
\setmargrb{0.75in}{0.75in}{0.75in}{0.75in}
@@ -21,27 +20,6 @@
\author{Douglas Bates, Dirk Eddelbuettel and Romain Fran\c{c}ois}
\title{Proposal for extension of the LinkingTo feature}
-<<echo=FALSE>>=
-link <- function( f, package, text = f, root = "http://finzi.psych.upenn.edu/R/library/" ){
- h <- if( missing(package) ) {
- as.character( help( f ) )
- } else {
- as.character( help( f, package = paste( package, sep = "" ) ) )
- }
- if( ! length(h) ){
- sprintf( "\\\\textbf{%s}", f )
- } else {
- rx <- "^.*/([^/]*?)/help/(.*?)$"
- package <- sub( rx, "\\1", h, perl = TRUE )
- page <- sub( rx, "\\2", h, perl = TRUE )
- sprintf( "\\\\href{%s%s/html/%s.html}{\\\\texttt{%s}}", root, package, page, text )
- }
-}
-linkS4class <- function( cl, package, text = cl, root = "http://finzi.psych.upenn.edu/R/library/" ){
- link( sprintf("%s-class", cl), package, text, root )
-}
-@
-
\begin{document}
\maketitle
@@ -145,41 +123,34 @@
abstraction to the R level. This is not sufficient for packages such as
\pkg{Rcpp} which aim to provide \proglang{C++}-level abstractions.
-\subsection{ProvidesDynamicLibrary}
+\subsection{ProvidesLibrary}
The shared object that is made as part of the compilation of the
\texttt{src} directory of an \pkg{R} package is not necessarilly
-a dynamic library on all platforms, and is not named appropriately for being useful
-to the linker.
+a dynamic library on all platforms, and is not named appropriately
+for being useful to the linker.
We propose a new \texttt{DESCRIPTION} directive that specifies if a
dynamic library, suitably named, should also be created in the \texttt{libs}
directory.
\begin{verbatim}
-ProvidesDynamicLibrary: yes
+ProvidesLibrary: yes
\end{verbatim}
When set to \texttt{yes} (the default being \texttt{f alse}), the directive
\texttt{ProvidesDynamicLibrary} would take appropriate actions to create a
dynamic library in the \texttt{libs} directory. On platforms where it makes
sense, this might only create a symbolic link between the usual shared object
-and the dynamic library.
+and the dynamic library.
-\subsection{ProvidesStaticLibrary}
+For platforms where static linking is preferrable, the directive will trigger
+generation of a static library from all the compiled objects.
-Similarly, the \texttt{ProvidesStaticLibrary} directive would be used
-to trigger generation of a static library.
-
-\begin{verbatim}
-ProvidesStaticLibrary: yes
-\end{verbatim}
-
\subsection{LinkingTo}
The \texttt{LinkingTo} flag should be extended to honour the
-\texttt{ProvidesDynamicLibrary} and \texttt{ProvidesStaticLibrary} directives
-of the target package.
+\texttt{ProvidesLibrary} directives of the target package.
More precisely, if package \texttt{packB} has this line in its \texttt{DESCRIPTION}
file :
More information about the Rcpp-commits
mailing list