@@ -6,8 +6,9 @@ Version 0.11.0 of the Rcpp package is now on CRAN and its mirrors.
6
6
7
7
This new release brings a number of new features, most noticably a simplified
8
8
build, as well as improvements to existing features and bugfixes. Complete
9
- details can be found in the NEWS and ChangeLog files which are included in
10
- the package.
9
+ details of the changes implemented between the last announcement for version
10
+ 0.10.0 and this new can be found in the NEWS and ChangeLog files which are
11
+ included in the package.
11
12
12
13
13
14
@@ -28,7 +29,20 @@ Several key features of the new 0.11.0 release are described below.
28
29
29
30
30
31
31
- ===== Building with Rcpp =====
32
+ ===== One-time rebuild required =====
33
+
34
+ Because of the simplified linking scheme detailed in the next section, and
35
+ the corresponding removal of the libRcpp.* library, all packages currently
36
+ using Rcpp need to be reinstalled.
37
+
38
+ We provide a simple helper script at
39
+ https://github.com/RcppCore/rcpp-logs/blob/master/scripts/showReverseRcppDepends.r
40
+ to identidy which of your currently-installed packages use Rcpp, and need to
41
+ be rebuilt.
42
+
43
+
44
+
45
+ ===== Simpler Building with Rcpp =====
32
46
33
47
Thanks to the 'LinkingTo:' directive, R already instructed the compiler where
34
48
to fine header files when writing code with Rcpp. The package now uses the
@@ -39,10 +53,17 @@ Rcpp code will be properly instantiated without any explicit linking. [ Note
39
53
that just using 'import(Rcpp)' is not sufficient, but any exported C++
40
54
identifier should do -- evalCpp is nice and short. ]
41
55
42
- The key benefit is that package should no longer require files src/Makevars
43
- and src/Makevars.win to link with Rcpp, and many packages will be able to
44
- retire these values. The exception, of course, is the case where the package
45
- links against an external library.
56
+ This means that the package no longer provides a user-facing library
57
+ libRcpp.so (or libRcpp.dylib or libRcpp.dll). This also implies that a
58
+ one-time rebuild is needed as alluded to in the previous section.
59
+
60
+ The key benefit is that many package should no longer require the files
61
+ src/Makevars and src/Makevars.win in order to link with Rcpp. Mny packages
62
+ will be able to retire these files. The exception, of course, is the case
63
+ where a package links against an external library as eg the RcppArmadillo
64
+ package> Here, the LAPACK / BLAS / Fortran libraries still need to be
65
+ linked. However, the corresponding values are also provided by R and the
66
+ expression becomes a simple 'PKG_LIBS=$(LAPACK_LIBS) $(BLAS_LIBS) $(FLIBS)'.
46
67
47
68
48
69
@@ -53,6 +74,7 @@ further and have now become the standard way to build code with Rcpp. See
53
74
the dedicated vignette for details.
54
75
55
76
77
+
56
78
==== C++11 Support =====
57
79
58
80
R 3.1.0, to be released in a few month, will permit compilation using C++11,
@@ -64,6 +86,7 @@ already supported 'local' builds using C++11 since version 0.10.3, simply add
64
86
and Rcpp attributes takes care of the rest.
65
87
66
88
89
+
67
90
===== Memory management =====
68
91
69
92
A number of internal data structures were rewritten.
@@ -75,6 +98,9 @@ A number of internal data structures were rewritten.
75
98
Rcpp site:
76
99
http://www.rcpp.org
77
100
101
+ Rcpp Gallery:
102
+ http://gallery.rcpp.org
103
+
78
104
Dirk's Rcpp page:
79
105
http://dirk.eddelbuettel.com/code/rcpp.html
80
106
0 commit comments