Notes for Windows Maintainers
=============================

1) fixed/h/config.h can be made automatically.  Some of this is
achieved by overrides in the configure script.

You will need a copy of sh.exe in /bin.  Then with the R sources in
/R/R-2.10.0, I used in /TEMP/R (any other directory will do, except the
sources).

To test trio set

LIBS='<RHOME>/src/extra/trio/libtrio.a'

sh /R/R-2.10.0/configure --build=i386-pc-mingw32 --with-readline=no --with-x=no

This ran fairly slowly, currently producing a src/include/config.h
that differs only in that

 - it does not find the declarations of siglongjmp/sigsetjmp (in
   psignal.[ch])

 - MinGW gcc 4.2.1 supports pthreads, but I left that undefined.

Also, watch out for versions of the header files.  For example,
<strings.h> was in mingw-runtime-1.2 and later, but not (long ago) in
the mingw-1.1 bundle.  These days we insist on a current MinGW.

BDR 2002-04-15, 2003-02-10, 2004-06-28, 2005-11-25, 2006-07-06, 2007-08-09, 
    2009-07-08


2) The Makefiles for building a distribution have been reorganized.  Now
all of the decisions about what files go into the distributables are made
in installer/Makefile; the decisions about which component of the setup
program each file goes into are made in installer/JRins.pl.

DJM 2003-02-25


3) Making Tcl/Tk.

For R 4.2 (64-bit UCRT bundle),
see https://svn.r-project.org/R-dev-web/trunk/WindowsBuilds/winutf8/ucrt3/tcl_bundle/

For more background, see "Tcl/Tk bundle" in
https://svn.r-project.org/R-dev-web/trunk/WindowsBuilds/winutf8/winutf8.html

Earlier versions used:
  https://github.com/waddella/Tclbuild
  https://raw.githubusercontent.com/r-windows/r-base/master/create-tcltk-bundle.sh


4) Linking to DLLs.

MinGW's ld.exe takes the internal name of the DLL as the object to
link to, and hence for DLLs which are to be linked to (rather than
loaded), the internal names need to be dllname.dll.  This was not being
done by the %.dll rule used in 2.2.1, which builds via a .def file
with first line

LIBRARY $*

[The example in ld.info is

LIBRARY "xyz.dll"

whereas that in the MSDN documentation
(http://msdn2.microsoft.com/en-us/library/d91k01sh.aspx) is

LIBRARY BTREE

so MinGW is inconsistent with MSDN here.]

It would seem that this should just be replaced by $*.dll, but there
is another problem: ld.exe rejects .def files whose LIBRARY name
contains more than one dot, and so this is unable to cope with
packages with a dot in their name.  (We already document that two or
more dots are not allowed.)  So we have had to treat separately the
DLLs which are designed to be linked to.  These are

R.dll : is special-cased, and as it wants to export entry points from
static libraries and exports variables, nothing else we tried worked.

Rblas.dll : has a .def file, and the name was changed to Rblas.dll
there.

Rlapack.dll : is simple, so gcc -shared with no .def file works.

Rproxy.dll : is special-cased.  (Linked against by rcom package.)

The other DLLs which were in R_HOME/bin, Rbitmap.dll and Rchtml.dll,
have been moved to R_HOME/modules.  They are now made directly with
gcc -shared.  Rchtml.dll needs an import library as you cannot link
directly to a .ocx.

However, whereas MSDN says there must be a LIBRARY statement, it seems
not to be required for ld.exe.  So the %.dll rule in MkRules as from
2.3.0 does not have a LIBRARY statement, which circumvents the 'at
most one dot' rule.

BDR 2006-02-15, 2006-02-24


5) Rdll.hide

AllDevicesKilled
RConsole
RFrame
Rf_runcmd
RgetMDIheight
RgetMDIwidth
RguiMDI
Ri18n_wcwidth
Riconv
Riconv_close
Riconv_open
Rwin_graphicsx
Rwin_graphicsy
UserBreak
locale2charset
optclosefile
optfile
optline
optopenfile
optread

for grDevices


R_deferred_default_method
R_do_MAKE_CLASS
R_do_new_object
R_do_slot
R_do_slot_assign
R_execMethod
R_primitive_generic
R_primitive_methods
R_set_prim_method
R_set_quick_method_check
R_set_standardGeneric_ptr
R_subassign3_dflt
do_set_prim_method

for methods


set_R_Tcldo
unset_R_Tcldo
Rf_wtransChar

for tcltk

R_fixbackslash
consolefn
freeConsoleData
freemenuitems
lzma_crc64
orderVector1
wgl_histadd etc

for utils


R_gl_tab_set
cmdlineoptions
getDLLVersion
gl_hist_init
gl_loadhistory
readconsolecfg
saveConsoleTitle
setupui

for rgui/rterm/Rscript


Rf_mbrtowc
Rf_strchr
localeCP

for graphapp.dll

setup_term_ui

for package Rserve

optif9

for package nlme


BDR 2007-08-20


6) Conversion to Unicode/UTF-8.

[Notes are a work in progress.  This has been discussed since 2003.]

As from R 2.7.0, Rgui works internally in UCS-2.  Currently key strokes are
recorded as bytes, but that could easily be changed if we had testers with CJK
keyboards.  Input/output is converted to/from the current locale in
R_ReadConsole/R_WriteConsole.

The internal pager works in UCS-2.

History files are currently written in the locale's charset, for
compatibility with Rterm and past versions of R.  We could perhaps
alleviate this by using a BOM when writing in UCS-2, and detecting
that when loading history files.

Chris Jackson's script editor is still MBCS.  Quite a bit of work will
be needed to convert it, since e.g. GA_gettext() expects to work with
char *.

The only bar to converting Rterm to UCS-2 is the lack of CJK keyboards
to test on, but there would be little advantage in doing so.

6.1 Internal use of UTF-8

- Internal mbcs<->wchar/UCS translations would need to be modified to
  use UTF-8 and not the locale charset.  Several places
  (e.g. Riconv_open) already have support for this.  The
  gettext-runtime (src/extra/intl) does not.

*All* I/O would need to be translated.  This includes

- Rprintf and allies, error messaging.

  [This one is really tricky: we don't want to be writing UTF-8 files
   when sink() is in use, for example, and rterm/some embedded uses
   run in environments that probably do not support UCS-2.

   The current compromise is to encode UTF-8 character vector elements
   in EncodeString, at least when called from printing and from cat(),
   and if outputting to the Rgui console. This is done by surrounding
   them by 3-byte escape sequences starting with STX/ETX.]

- file names.  Since Windows NTFS can have file names not valid in the
  current locale, this needs to use wfopen and similar interfaces, as
  well as GetFullPathNameW ... also _w* versions of mkdir, rmdir,
  unlink, open, popen, stat, system.  Use with care, as not all file
  systems use UCS-2 file names.  [Done]

  This needs to include bzlib and zlib, as well as file/folder
  selection widgets. [Done]

- environment variables.  Both values and names, since _wputenv is
  needed to set name=value strings.  It would be better to use wmain
  and only ever use _wgetenv and _wputenv to avoid maintaining
  parallel environments.  [Done]

- graphics devices.  Calls to text() and points() (with pch as a
  string) need either to be translated or, preferably, the device
  adjusted to accept UTF-8 (and we would need a flag to know if it
  could).  Note that this impacts third-party devices.
  [Done for windows() family, postscript, pdf.]

- GetUserName, GetComputerName, [GS]etCurrentDirectory. [Done]

Also:

- There would be compatibility issues with saved workspaces, although
  few for those working in CP1252 locales.

- It is not clear what to do with strings passed to packages.  We
  could force conversion in .C and .Fortran, but most
  character-manipulation packages are likely to be using .Call.

BDR 2008-01-06


7) Changing the parser

By default the parser in gram.y is only processed in maintainer mode, 
which isn't supported in Windows builds.  Defining RUN_BISON will 
cause src/main/Makefile.win to process it (and correct for the erroneous
line number records caused by our renaming of the output).


8) Making iconv.dll

In the past this was done from the libiconv sources using VC++ 6, but
as from version 1.12 that is no longer supported.  It does not build
easily with MinGW (due to the overuse of libtool), but we used

setenv INSTALL cp
setenv INSTALL_DATA cp
sh configure --build=i386-pc-mingw32 --disable-nls
cd libcharset; make
cp include/localcharset.h ../lib
cd ../lib
make
gcc -shared  .libs/iconv.o .libs/localcharset.o .libs/relocatable.o \
  .libs/iconv-exports.o -export-all-symbols -o Riconv.dll

We now use a modified version of win-iconv, but the libiconv version
can still be used by replacing bin/Riconv.dll.


BDR 2009-02-08
