I encountered some odd behavior today, I compiled python inside VirtualBox, however, I compiled it inside a shared folder. The OS outside of VirtualBox is Windows, so the shared folder naturally is case-insensitive. The actual virtual OS is Debian Linux. Upon running make, I found that oddly enough the executable created was called `python.exe`. Running `make install` still installs it to the correct python name.
I did some digging around and from what I can tell this is the change that makes the built python executable have an exe extension or not depending on file system case insensitivity.
https://hg.python.org/cpython/rev/d64dfbdc5f8c
It's from way long ago from 2001 and I can't figure out why exactly this change was made. The commit message hints that it has something to do with Mac's file system. I asked a friend who used MacOS back then and he reports that it had no file extensions back then either. As far as I know, the only OS that really requires file extension is windows, and besides, this exact situation is what the https://www.gnu.org/software/automake/manual/html_node/EXEEXT.html variable is for, which is used in the configure.ac file already.
It seems a little odd that whether or not to put .exe in the build executable is based on file system case insensitivity.
|