Artifact Content

Artifact 2ef71ff3c52ab70cb275a7b71785affb7c1d63e3:

Wiki page [Windows support] by jesper 2015-10-27 00:58:18.
D 2015-10-27T00:58:18.842
L Windows\ssupport
N text/x-markdown
P 28b512d824010514491924ac625f57bd2b2630f0
U jesper
W 3536
Starting with the 0.2.4 release, it is indeed possible to use teve on Windows, though the build process is quite involved.

### Building
The following is a rough guide to what steps need to be taken to run teve on Windows. If you don't understand them, you're probably better off waiting for the precompiled packages.

1. Install Chicken Scheme and clone the teve repo.
2. Install the full (not "light") [OpenSSL 32-bit binary package](http://www.openssl.org/related/binaries.html),
3. copy the `%OpenSSL%\include\openssl` directory into `%CHICKEN%\include`,
4. copy and rename `%OpenSSL%\libeay32.dll` to `%CHICKEN%\mingw32\lib\libcrypto.dll`, and
5. copy and rename `%OpenSSL%\ssleay32.dll` to `%CHICKEN%\mingw32\lib\libssl.dll`.
6. start `cmd.exe` or the PowerShell _as an administrator,_ and
7. Run `chicken-install openssl`
8. (currently not necessary) Download the latest version of [libiconv-X.X.X.bin.woe32.zip](http://sourceforge.net/projects/gettext/files/libiconv-win32/),
9. (currently not necessary) copy the file `include/iconv.h` from the ZIP archive into `%CHICKEN%\include`,
10. (currently not necessary) copy the file `bin/iconv.dll` from the ZIP archive into `%CHICKEN%\mingw32\lib`,
11. (currently not necessary) in the administrator shell from step 6, run `chicken-install iconv`.
12. In the teve directory, `make install-eggs`, or if you do not have make installed, do a `chicken-install` on the eggs listed in the `EGGS` variable definition in `Makefile`.
13. In the teve directory, do `csc teve.scm`. If this works, you'll get a functional teve.exe.
14. Put the binary in some folder you fancy, together with static binaries for any downloaders you need, like [ffmpeg](http://ffmpeg.zeranoe.com/builds/).

That's it! I think.

### Configuration
teve will look for the file `teve.ini` in the following locations:

1. %APPDATA%\\teve\\settings.ini
2. %ALLUSERSPROFILE%\\teve.ini

The %APPDATA% environment variable usually expands to something like `C:\Users\[Username]\AppData\Roaming`, and %ALLUSERSPROFILE% to `C:\ProgramData`. The latter is used for teve configuration across user accounts, while the former is unique to each user. Any values set in the user specific configuration file will override those specified in the system-wide file.

You should copy the file `teve.conf.dist` into one of these two locations (or both) and edit it to fit your system. You are recommended to use absolute paths to all external programs.

### Making a binary package
teve should run just fine on your system, as long as you have installed OpenSSL and built the Chicken eggs as specified in the above **Building** section.

If you want to make a distributable binary package, which works on systems where these programs are not installed, you will need to include more files in the same directory as teve.exe:

1. Both OpenSSL DLL files mentioned above, though it seems they should *not* be renamed to `libcrypto.dll` and `libssl.dll` when distributed with teve, but retain their original filenames.
2. (currently not necessary) You will also need to include the file `iconv.dll`, which was copied into `%CHICKEN%\mingw32\lib\libssl.dll` if you followed the build instructions above.
3. The `*.so` files present in `%CHICKEN%\lib\chicken\6\` after all eggs have been installed.
4. There might be some more Chicken or MinGW files needed. If that's the case, teve.exe should complain about not finding them when you try to run it on a computer without MinGW and Chicken (and OpenSSL).
Z 695cc79c0096e82a1936cb862b50dd79