cython がインストールされていない環境向けに、生成済み C/C++ を SCM 管理対象にするのは良くやる手で。
両環境で cython 動かせちゃうと、それは SCM 的に弱ったことに。
Windows 環境で cython かけるとこんななる:
1 /* ...snip... */
2
3 static const char *__pyx_f[] = {
4 "tlp\\subp\\abc.pyx",
5 };
6
7 /*--- Type declarations ---*/
8 struct __pyx_obj_3tlp_4subp_3abc_Aaa;
9
10 /* "tlp\subp\abc.pyx":1
11 * cdef class Aaa(object): # <<<<<<<<<<<<<<
12 * pass
13 */
14 struct __pyx_obj_3tlp_4subp_3abc_Aaa {
15 PyObject_HEAD
16 };
17 /* ...snip... */
同じものを unix でやるとこんななる:
1 /* ...snip... */
2
3 static const char *__pyx_f[] = {
4 "tlp/subp/abc.pyx",
5 };
6
7 /*--- Type declarations ---*/
8 struct __pyx_obj_3tlp_4subp_3abc_Aaa;
9
10 /* "tlp/subp/abc.pyx":1
11 * cdef class Aaa(object): # <<<<<<<<<<<<<<
12 * pass
13 */
14 struct __pyx_obj_3tlp_4subp_3abc_Aaa {
15 PyObject_HEAD
16 };
17 /* ...snip... */
実は「htpasswd alternative の旅は続かない」で登場する「OSS」は Cython のこと。これについて要望挙げたかったのね。
ひとまずこれ、直せます。ただし、インストールされた Cython に手を入れる場合は、「*.pyd」(unix では *.so)に注意ね。名前変えとくといい。2箇所(もしくは3箇所)直します。修正箇所は少ないんで、WinMerge 画像で伝わるよな: