Index: /trunk/Document/input/building/linux.md
===================================================================
--- /trunk/Document/input/building/linux.md	(revision 350)
+++ /trunk/Document/input/building/linux.md	(revision 350)
@@ -0,0 +1,57 @@
+\language ^en$
+# Build for Linux {Build}
+
+Tewi HTTPd has the Linux support, which is checked working on Debian.
+
+## Steps
+
+### 1. Install packages
+
+It should work on Debian if below packages are installed:
+ - `build-essential`
+ - `libssl-dev` (If you want TLS/SSL)
+
+### 2. Get the source code
+
+You can get the source codes using several VCS. ([Official Repository List](repos.html))
+
+### 3. Create config.h
+
+Copy config.h.tmpl to config.h. Edit it if needed.
+
+### 4. Run make
+
+Run `make PLATFORM=linux PREFIX=prefix`. PREFIX is set to `/usr/local` by default.
+
+### 5. Install
+
+Run `make PLATFORM=linux PREFIX=prefix install` as **root user**.
+
+\language ^jp$
+# Linux向けにビルドする {ビルド}
+
+Tewi HTTPdにはDebianで動作確認がされているLinuxサポートがあります。
+
+## ステップ
+
+### 1. パッケージを入れる
+
+Debianの場合、以下のものがあれば動くはずです:
+ - `build-essential`
+ - `libssl-dev` (TLS/SSL機能が必要なら)
+
+### 2. ソースコードを持って来る
+
+ソースコードは色々なVCSを使って取得することができます。 ([公認リポジトリリスト](repos.html))
+
+### 3. config.hを作成する
+
+config.h.tmplをconfig.hにコピーしてください。必要があれば編集してください。
+
+### 4. makeを実行する
+
+`make PLATFORM=linux PREFIX=おすきなプレフィックス`を実行してください。PREFIXの指定が無い場合は`/usr/local`になります。
+
+### 5. インストールする
+
+`make PLATFORM=linux PREFIX=おすきなプレフィックス install`を**root**ユーザーで実行してください。
Index: /trunk/Document/input/building/repos.md
===================================================================
--- /trunk/Document/input/building/repos.md	(revision 350)
+++ /trunk/Document/input/building/repos.md	(revision 350)
@@ -0,0 +1,30 @@
+\language ^en$
+# Official Repository List {Build}
+
+## Subversion
+This is the main repository. It is the best to get trunk.
+ - [HTTP](http://svn.nishi.boats/repo/tewi)
+
+## CVS
+ - Yakumo Labs - See [CVSWeb](http://cvs.chaotic.ninja/usr/nishi/?cvsroot=tewi).
+ - Nishi's CVS - See [CVSWeb](http://cvs.nishi.boats/cvsweb/?cvsroot=tewi).
+
+## Git
+ - Yakumo Labs - See [GitWeb](http://git.chaotic.ninja/gitweb/nishi?p=tewi.git).
+ - Nishi's Git Mirrors - See [GitWeb](http://git-mirror.nishi.boats/?p=tewi.git).
+ - [GitHub](https://github.com/pnsk-lab/tewi)
+\language ^jp$
+# 公認リポジトリリスト {ビルド}
+
+## Subversion
+これがメインリポジトリです。trunkを持ってくるとよいでしょう。
+ - [HTTP](http://svn.nishi.boats/repo/tewi)
+
+## CVS
+ - Yakumo Labs - [CVSWeb](http://cvs.chaotic.ninja/usr/nishi/?cvsroot=tewi)を参照してください。
+ - Nishi's CVS - [CVSWeb](http://cvs.nishi.boats/cvsweb/?cvsroot=tewi)を参照してください。
+
+## Git
+ - Yakumo Labs - [GitWeb](http://git.chaotic.ninja/gitweb/nishi?p=tewi.git)を参照してください。
+ - Nishi's Git Mirrors - [GitWeb](http://git-mirror.nishi.boats/?p=tewi.git)を参照してください。
+ - [GitHub](https://github.com/pnsk-lab/tewi)
Index: /trunk/config.h.tmpl
===================================================================
--- /trunk/config.h.tmpl	(revision 349)
+++ /trunk/config.h.tmpl	(revision 350)
@@ -16,76 +16,5 @@
 /* DO NOT EDIT BELOW THIS LINE */
 
-#ifdef NO_SSL
-#define SSL void
-#endif
-
-#if (defined(__MINGW32__) || defined(_MSC_VER) || defined(__BORLANDC__) || (defined(__WATCOMC__) && !defined(__OS2__) && !defined(__NETWARE__))) && defined(BUILD_GUI) && !defined(SERVICE)
-#define BUILD_GUI_VALID
-#endif
-
-#if (defined(__MINGW32__) || defined(_MSC_VER) || defined(__BORLANDC__) || defined(__WATCOMC__)) && defined(USE_POLL)
-#undef USE_POLL
-/* Force select(2) for Windows */
-#endif
-
-#if (defined(__MINGW32__) || defined(_MSC_VER) || defined(__BORLANDC__) || defined(__WATCOMC__)) && defined(USE_WINSOCK1) && !defined(NO_GETNAMEINFO)
-#define NO_GETNAMEINFO
-/* getnameinfo is not on winsock 1 */
-#endif
-
-#if (defined(__MINGW32__) || defined(_MSC_VER) || defined(__BORLANDC__) || defined(__WATCOMC__)) && defined(HAS_CHROOT)
-#undef HAS_CHROOT
-/* Windows should not have chroot */
-#endif
-
-#if (defined(_MSC_VER) || defined(__BORLANDC__) || defined(__WATCOMC__)) && !defined(NO_GETNAMEINFO)
-#define NO_GETNAMEINFO
-/* Do not use getnameinfo */
-#endif
-
-#if (defined(_PSP) || defined(__PPU__) || defined(__ps2sdk__)) && !defined(NO_IPV6)
-#define NO_IPV6
-/* PSP/PS2/PS3 does not have IPv6 */
-#endif
-
-#if (defined(_PSP) || defined(__ps2sdk__)) && defined(USE_POLL)
-#undef USE_POLL
-/* Force select(2) for PSP/PS2 */
-#endif
-
-#if (defined(_PSP) || defined(__PPU__) || defined(__ps2sdk__)) && defined(HAS_CHROOT)
-#undef HAS_CHROOT
-/* PSP/PS2/PS3 should not have chroot */
-#endif
-
-#if (defined(_PSP) || defined(__PPU__) || defined(__ps2sdk__)) && !defined(NO_GETNAMEINFO)
-#define NO_GETNAMEINFO
-/* PSP/PS2/PS3 should not have getnameinfo */
-#endif
-
-#if (defined(__minix)) && !defined(NO_IPV6)
-#define NO_IPV6
-/* Minix does not have IPv6 */
-#endif
-
-#if defined(__WATCOMC__) && defined(__OS2__) && !defined(NO_IPV6)
-#define NO_IPV6
-#endif
-
-#if defined(__WATCOMC__) && defined(__NETWARE__) && !defined(NO_IPV6)
-#define NO_IPV6
-#endif
-
-#if defined(__NeXT__) && !defined(NO_IPV6)
-#define NO_IPV6
-#endif
-
-#if defined(__NeXT__) && !defined(NO_GETNAMEINFO)
-#define NO_GETNAMEINFO
-#endif
-
-#if defined(__NeXT__) && defined(USE_POLL)
-#undef USE_POLL
-#endif
+#include "config_platform.h"
 
 #endif
Index: /trunk/config_platform.h
===================================================================
--- /trunk/config_platform.h	(revision 350)
+++ /trunk/config_platform.h	(revision 350)
@@ -0,0 +1,88 @@
+/* $Id$ */
+
+/*
+ * Do not edit me!
+ * You should edit config.h instead!
+ */
+
+#ifndef __CONFIG_PLATFORM_H__
+#define __CONFIG_PLATFORM_H__
+
+#ifdef NO_SSL
+#define SSL void
+#endif
+
+#if (defined(__MINGW32__) || defined(_MSC_VER) || defined(__BORLANDC__) || (defined(__WATCOMC__) && !defined(__OS2__) && !defined(__NETWARE__))) && defined(BUILD_GUI) && !defined(SERVICE)
+#define BUILD_GUI_VALID
+#endif
+
+#if (defined(__MINGW32__) || defined(_MSC_VER) || defined(__BORLANDC__) || defined(__WATCOMC__)) && defined(USE_POLL)
+#undef USE_POLL
+/* Force select(2) for Windows */
+#endif
+
+#if (defined(__MINGW32__) || defined(_MSC_VER) || defined(__BORLANDC__) || defined(__WATCOMC__)) && defined(USE_WINSOCK1) && !defined(NO_GETNAMEINFO)
+#define NO_GETNAMEINFO
+/* getnameinfo is not on winsock 1 */
+#endif
+
+#if (defined(__MINGW32__) || defined(_MSC_VER) || defined(__BORLANDC__) || defined(__WATCOMC__)) && defined(HAS_CHROOT)
+#undef HAS_CHROOT
+/* Windows should not have chroot */
+#endif
+
+#if (defined(_MSC_VER) || defined(__BORLANDC__) || defined(__WATCOMC__)) && !defined(NO_GETNAMEINFO)
+#define NO_GETNAMEINFO
+/* Do not use getnameinfo */
+#endif
+
+#if (defined(_PSP) || defined(__PPU__) || defined(__ps2sdk__)) && !defined(NO_IPV6)
+#define NO_IPV6
+/* PSP/PS2/PS3 does not have IPv6 */
+#endif
+
+#if (defined(_PSP) || defined(__ps2sdk__)) && defined(USE_POLL)
+#undef USE_POLL
+/* Force select(2) for PSP/PS2 */
+#endif
+
+#if (defined(_PSP) || defined(__PPU__) || defined(__ps2sdk__)) && defined(HAS_CHROOT)
+#undef HAS_CHROOT
+/* PSP/PS2/PS3 should not have chroot */
+#endif
+
+#if (defined(_PSP) || defined(__PPU__) || defined(__ps2sdk__)) && !defined(NO_GETNAMEINFO)
+#define NO_GETNAMEINFO
+/* PSP/PS2/PS3 should not have getnameinfo */
+#endif
+
+#if (defined(__minix)) && !defined(NO_IPV6)
+#define NO_IPV6
+/* Minix does not have IPv6 */
+#endif
+
+#if defined(__WATCOMC__) && defined(__OS2__) && !defined(NO_IPV6)
+#define NO_IPV6
+#endif
+
+#if defined(__WATCOMC__) && defined(__NETWARE__) && !defined(NO_IPV6)
+#define NO_IPV6
+#endif
+
+#if defined(__NeXT__) && !defined(NO_IPV6)
+#define NO_IPV6
+#endif
+
+#if defined(__NeXT__) && !defined(NO_GETNAMEINFO)
+#define NO_GETNAMEINFO
+#endif
+
+#if defined(__NeXT__) && defined(USE_POLL)
+#undef USE_POLL
+#endif
+
+#endif
+
+/*
+vim: syntax=c
+*/
