xmake on Windows built for x86_64 arch will report i386
calling `os.versioninfo()`. This may be a history problem
that in the past there's no 64-bit xmake on Windows
and some other places should also do this modify
$(xmake) is set to join(_PROGRAM_DIR, 'xmake')
that is wrong when XMAKE_PROGRAM_DIR is set to
another program dir (like developing dir) with no executable
so use system-special ways to get absolution path
of executable file always