Discussion:
[possibly OT] Updated giant inventory of headers available on various OSes
Zack Weinberg
2013-05-02 03:34:07 UTC
Permalink
A while ago I posted a call for help (only to autoconf@) taking inventories
of which C headers are provided by which OSes. It rapidly became clear
that my methodology was far too crude, and I've spent much of the past six
weeks coding up something much more sophisticated. The project is now at
the point where I feel comfortable sharing it with a wider audience.
Please see http://hacks.owlfolio.org/header-survey/ for the results so far,
and https://github.com/zackw/header-survey/ for code, raw data, and
instructions for contributing inventories for OSes not yet in the big
table. (Big table only known to work properly in Firefox, say sorry -
patches for the bad stylin' in Webkit most welcome. I've exhausted my
ability to sling CSS.)

If you sent me an inventory already but your OS is not in the big table, I
need you to send it again using the current `scansys.py`. To those of you
who told me that it didn't work with your version of Python, take heart -
it is now tested to work with 2.0. Yes, 2.0.

zw
Jason Curl
2013-05-02 19:57:31 UTC
Permalink
Post by Zack Weinberg
of which C headers are provided by which OSes. It rapidly became clear
that my methodology was far too crude, and I've spent much of the past six
weeks coding up something much more sophisticated. The project is now at
the point where I feel comfortable sharing it with a wider audience.
Please see http://hacks.owlfolio.org/header-survey/ for the results so far,
and https://github.com/zackw/header-survey/ for code, raw data, and
instructions for contributing inventories for OSes not yet in the big
table. (Big table only known to work properly in Firefox, say sorry -
patches for the bad stylin' in Webkit most welcome. I've exhausted my
ability to sling CSS.)
If you sent me an inventory already but your OS is not in the big table, I
need you to send it again using the current `scansys.py`. To those of you
who told me that it didn't work with your version of Python, take heart -
it is now tested to work with 2.0. Yes, 2.0.
And you'll find attached QNX 6.5.0 SP1 GCC 4.4.2.

Note, the mknod API of QNX is different to Linux, where most tools I
compile don't work. And when I compiled PHP for QNX, atomic.h is there,
but it's not compatible with Solaris requiring some updates (as PHP assumed)

I see you've got MINGW 2012, but there are two projects, mingw and
mingw64 which are separate and handled separately. Is there a difference
between the two?

I tried to do something similar, and came up with my own list. Does it
make sense to incorporate some of the differences? I was trying to
compile software that works on various OSes for network related
functionality.

In addition, compiler options are important. Many features were only
available for me on Solaris when i compiled with -lxnet on Solaris. See
the html file attached.

Regards,
jason.
Zack Weinberg
2013-05-02 20:24:05 UTC
Permalink
Post by Jason Curl
And you'll find attached QNX 6.5.0 SP1 GCC 4.4.2.
Thanks, but I can't use this as is. You've got an ! entry in there
that needs investigating, and you didn't correct the metadata. Please
see the instructions at
https://github.com/zackw/header-survey#inventory-metadata and
https://github.com/zackw/header-survey#inventory-errors .
Post by Jason Curl
Note, the mknod API of QNX is different to Linux, where most tools I compile
don't work. And when I compiled PHP for QNX, atomic.h is there, but it's not
compatible with Solaris requiring some updates (as PHP assumed)
This is a case for auditing the contents of the headers as well as
their presence. I hesitate to open up that rabbit hole because I know
it'll be a ton of work, but if I had some collaborators, I definitely
think it would be worth it ultimately.
Post by Jason Curl
I see you've got MINGW 2012, but there are two projects, mingw and mingw64
which are separate and handled separately. Is there a difference between the
two?
I only did mingw, not mingw64.
Post by Jason Curl
I tried to do something similar, and came up with my own list. Does it make
sense to incorporate some of the differences? I was trying to compile
software that works on various OSes for network related functionality.
Similar inventories for library functions and so on might make sense.
I don't want to write the code for it myself -- I've already blown a
month and a half on this -- but I'd certainly consider patches that
added additional scans and tables.

zw

Loading...