cython を windows でも unix でも動かすと SCM で弱ったことに

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 画像で伝わるよな: