Hello, fellow applied mathematicians and computer scientists, hello also to all the brave physicists who use the [arXiv](http://www.arxiv.org/). Did you know that you can [publish source code and other ancillary files on the arXiv](http://arxiv.org/help/ancillary_files), along with your preprint? If you didn't, this must be great news for you. However, if you ever tried to actually do this, you *might* have been just as confused as me. It's actually quite likely that you were, because as soon as this blogpost has vanished from the front page, I am pretty sure that a google search is what led you here.
> Ancillary files are included with an arXiv submission by placing them in a directory `anc` at the root of the submission package.
If you are a novice to uploading files to the arXiv, like me, this might be confusing. What is the *submission package*? I only ever submitted a single $\KaTeX$ file! Well, let me put it straight for you.
- In the directory with your `.tex` file(s), make a directory called `anc`.
- Place all your source code and stuff in that directory.
- Make a zip file containing all your LaTeX sources and the folder `anc`.
- Upload that zip file to the arXiv.
Trust me - everything will be fine.
Under <a href="http://www.cygwin.com" target="_blank">Cygwin</a>, you can install the 64 bit mingw version of GCC, but you don't get the <a href="http://gmplib.org/" target="_blank">gnu multiprecision library</a> for free with it, you'll much rather have to compile it from source. I ran into a bit of trouble here: It will <b>not</b> suffice to tell the configuration script about the new compiler, there are now mingw-64 versions of all relevant binaries that should be used instead. Basically, you go like
```bash
tar -xjf gmp-5.0.4.tar.bz2
cd gmp-5.0.4
./configure \
AR=x86_64-w64-mingw32-ar \
AS=x86_64-w64-mingw32-as \
DLLTOOL=x86_64-w64-mingw32-dlltool \
DLLWRAP=x86_64-w64-mingw32-dllwrap \
CC=x86_64-w64-mingw32-gcc-4.5.3 \
NM=x86_64-w64-mingw32-nm \
LD=x86_64-w64-mingw32-ld \
OBJDUMP=x86_64-w64-mingw32-objdump \
RANLIB=x86_64-w64-mingw32-ranlib \
STRIP=x86_64-w64-mingw32-strip
```
I am not sure if all of these are needed, but it won't hurt either. After that, you should
```bash
make && make check
```
the whole thing. Worked perfectly for me, so now I can link with `libgmp.a` in `.libs` and native 64 bit bignum action ensues!