Tomas Kalibera
2021-Sep-14 13:40 UTC
[Rd] Detect UCRT-built R from within R sessions (and in configure.win)
On 9/9/21 5:54 AM, Hiroaki Yutani wrote:> Thank you for the prompt reply. > > > There in not such a mechanism, yet, but can be added, at least for > > diagnostics. > > For example, can R.version somehow contain the information?Yes, now added to the experimental builds. R.version$crt contains "ucrt" (and would contain "msvcrt" if R was built against MSVCRT).> > > We could add support for configure.ucrt, which would take precedence > > over configure.win on the UCRT builds (like Makevars.ucrt takes > > precedence over Makevars.win). Would that work for you? > > Yes, configure.ucrt should work for me. There might be someone who > prefers to switch by some envvar rather than creating another file, > but I don't have a strong opinion here.The experimental builds now support configure.ucrt and cleanup.ucrt files. Best Tomas> > Best, > Hiroaki Yutani > > 2021?9?9?(?) 0:48 Tomas Kalibera <tomas.kalibera at gmail.com > <mailto:tomas.kalibera at gmail.com>>: > > > On 9/8/21 2:08 PM, Hiroaki Yutani wrote: > > Hi, > > > > Are there any proper ways to know whether the session is running on > > the R that is built with the UCRT toolchain or not? Checking if the > > encoding is UTF-8 might do the trick, but I'm not sure if it's > always > > reliable. > > There in not such a mechanism, yet, but can be added, at least for > diagnostics. > > You are right that checking for UTF-8 encoding would not always be > reliable. For example, the version of Windows may be too old to > allow R > use UTF-8 as native encoding (e.g. Windows server 2016), then R > will use > the native code page as it does today in the MSVCRT builds. > > > Also, I'd like to know if there's any mechanism to detect the > UCRT in > > configure.win. I know there are Makevars.ucrt and Makefile.ucrt, but > > one might want to do some feature test that is specific to the UCRT > > toolchain. > > We could add support for configure.ucrt, which would take precedence > over configure.win on the UCRT builds (like Makevars.ucrt takes > precedence over Makevars.win). Would that work for you? > > Best > Tomas > > > > > Best, > > Hiroaki Yutani > > > > ______________________________________________ > > R-devel at r-project.org <mailto:R-devel at r-project.org> mailing list > > https://stat.ethz.ch/mailman/listinfo/r-devel > <https://stat.ethz.ch/mailman/listinfo/r-devel> >[[alternative HTML version deleted]]
Hiroaki Yutani
2021-Sep-14 14:44 UTC
[Rd] Detect UCRT-built R from within R sessions (and in configure.win)
Thanks for both, I'll try these features. 2021?9?14?(?) 22:40 Tomas Kalibera <tomas.kalibera at gmail.com>:> > > On 9/9/21 5:54 AM, Hiroaki Yutani wrote: > > Thank you for the prompt reply. > > > There in not such a mechanism, yet, but can be added, at least for > > diagnostics. > > For example, can R.version somehow contain the information? > > Yes, now added to the experimental builds. R.version$crt contains "ucrt" (and would contain "msvcrt" if R was built against MSVCRT). > > > > We could add support for configure.ucrt, which would take precedence > > over configure.win on the UCRT builds (like Makevars.ucrt takes > > precedence over Makevars.win). Would that work for you? > > Yes, configure.ucrt should work for me. There might be someone who prefers to switch by some envvar rather than creating another file, but I don't have a strong opinion here. > > The experimental builds now support configure.ucrt and cleanup.ucrt files. > > Best > Tomas > > > Best, > Hiroaki Yutani > > 2021?9?9?(?) 0:48 Tomas Kalibera <tomas.kalibera at gmail.com>: >> >> >> On 9/8/21 2:08 PM, Hiroaki Yutani wrote: >> > Hi, >> > >> > Are there any proper ways to know whether the session is running on >> > the R that is built with the UCRT toolchain or not? Checking if the >> > encoding is UTF-8 might do the trick, but I'm not sure if it's always >> > reliable. >> >> There in not such a mechanism, yet, but can be added, at least for >> diagnostics. >> >> You are right that checking for UTF-8 encoding would not always be >> reliable. For example, the version of Windows may be too old to allow R >> use UTF-8 as native encoding (e.g. Windows server 2016), then R will use >> the native code page as it does today in the MSVCRT builds. >> >> > Also, I'd like to know if there's any mechanism to detect the UCRT in >> > configure.win. I know there are Makevars.ucrt and Makefile.ucrt, but >> > one might want to do some feature test that is specific to the UCRT >> > toolchain. >> >> We could add support for configure.ucrt, which would take precedence >> over configure.win on the UCRT builds (like Makevars.ucrt takes >> precedence over Makevars.win). Would that work for you? >> >> Best >> Tomas >> >> > >> > Best, >> > Hiroaki Yutani >> > >> > ______________________________________________ >> > R-devel at r-project.org mailing list >> > https://stat.ethz.ch/mailman/listinfo/r-devel