Marc-Andre Lemburg <m...@egenix.com> added the comment: STINNER Victor wrote: > > STINNER Victor <victor.stin...@haypocalc.com> added the comment: > >> you should make a case by example > > Did you read comments of this issue and my email thread on python-dev?
No. > There are differents examples: > > - LONG_MAX is 9223372036854775807 even on 32 bits system > - On Mac OS X, FAT programs contains 32 and 64 binaries, whereas constants > are changed for 32 or 64 bits That's because the h2py.py script doesn't know anything about conditional definitions, e.g. PTRDIFF_MIN = (-9223372036854775807-1) PTRDIFF_MAX = (9223372036854775807) PTRDIFF_MIN = (-2147483647-1) PTRDIFF_MAX = (2147483647) Not all constants are really useful because of this, but some are, e.g. INT16_MAX, INT32_MAX, etc. >> we cannot simply drop the modules. Some of the constants >> are needed for e.g. socket, ctypes or ldd programming. > > Ah? I removed all plat-* directories and ran the full test suite: no failure. Right, the modules are not tested at all, AFAIK. > The Python socket modules contain many constants (SOCK_*, AF_*, SO_*, ...): > http://docs.python.org/library/socket.html#socket.AF_UNIX True, but you probably agree that it's easier to parse a header file into a Python module than to add each and every socket option on the planet to the C socket module, don't you ? :-) > Which constants are used by the ctypes modules or can be used by modules > using ctypes? Can you give examples? I listed usages of plat-* modules in the > first message of my thread on python-dev. Not constants used by the ctypes, but constants which can be used with the ctypes module. > By "ldd", you mean "ld.so" (dlopen)? Yes. > Yes, I agree that we need to expose dl constants. But the other constants > are not used. Not in the standard lib, that's true. Also note that the plat-* directories can contain platform specific code, e.g. the OS2 dirs have replacements for the pwd and grp modules. Finally, the list of standard files to include in those directories could be extended to cover more system level constants such as the ioctl or fcntl constants (not only the few defined in the C code, but all platform specific ones). ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue12619> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com