<commit_before>* Obtain the OpenSSL sourcecode, e.g. using

  `git clone https://github.com/openssl/openssl.git`,

and put it into the parent directory of FStar.

#### On Windows

* Use the latest windows installer with OPAM.

```
opam init
opam install depext depext-cygwinports
opam depext ssl
opam depext sqlite3
opam install sqlite3
```

Troubleshooting:
- make sure your OCaml executable is the right one (`which ocaml`)
- make sure `OCAMLLIB` is properly set
- check the output of `ocamlopt -config` (should contain
  `native_c_compiler: x86_64-w64-mingw32-gcc -O -mms-bitfields -Wall -Wno-unused`)
- please double-check that the Cygwin package called
  `x86_64-w64-mingw32-pkg-config` is installed.

#### On other platforms

* Run `./config && make` in the `openssl` folder.

#### Alternatively

You can try your luck installing `openssl` and `openssl-dev` using
your favorite package manager.

This might not work on Mac OS X, where there is an outdated
system-wide `openssl` library that could interfere with the build process.

On Linux x64 OpenSSL 1.0.2d 9 Jul 2015 does not work, but the current
git version (1f003251) works fine.<commit_msg>More information in INSTALL.md.<commit_after>* Obtain the OpenSSL sourcecode, e.g. using

  `git clone https://github.com/openssl/openssl.git`,

and put it into the parent directory of FStar.

#### On Windows

* Use the latest windows installer with OPAM.

```
opam init
opam install depext depext-cygwinports
opam depext ssl
opam depext sqlite3
opam install sqlite3
```

Troubleshooting:
- make sure your OCaml executable is the right one (`which ocaml`)
- make sure `OCAMLLIB` is properly set
- check the output of `ocamlopt -config` (should contain
  `native_c_compiler: x86_64-w64-mingw32-gcc -O -mms-bitfields -Wall -Wno-unused`)
- please double-check that the Cygwin package called
  `x86_64-w64-mingw32-pkg-config` is installed.
- it looks like only Cygwin64 is supported, unfortunately.

Temporary: right now (01/05/2015), the sqlite3 OCaml library needs a patch to
work properly on Windows. If running `make redux-gen` in `mitls-fstar/src/tls`
fails with this:

```
** Cannot resolve symbols for C:/cygwin/home/protz/.opam/system/lib/sqlite3\libsqlite3_stubs.a(sqlite3_stubs.o):
 sqlite3_enable_load_extension
```

Then, you need to do:

```
opam repository add jonathan https://github.com/msprotz/opam-repository-mingw
opam remove sqlite3
opam install sqlite3
```

#### On other platforms

* Run `./config && make` in the `openssl` folder.

#### Alternatively

You can try your luck installing `openssl` and `openssl-dev` using
your favorite package manager.

This might not work on Mac OS X, where there is an outdated
system-wide `openssl` library that could interfere with the build process.

On Linux x64 OpenSSL 1.0.2d 9 Jul 2015 does not work, but the current
git version (1f003251) works fine.
{'fraction_non_alphanumeric': 0.09217877094972067, 'fraction_numerical': 0.03037709497206704, 'mean_word_length': 4.276243093922652, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 3, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2986792', 'n_tokens_mistral': 1014, 'n_tokens_neox': 921, 'n_words': 362}