[Python-Dev] HP-UX clean-up

Skip Montanaro skip at pobox.com
Fri Jan 9 10:13:34 EST 2004

    Martin> 2. Assuming -Wl,+s -Wl,+k are warnings: ...

They cause the +s and +k options to be passed to the linker.  They could
also be written as -Wl,+s,+k.

    Martin> 4. On the model selection options, I don't quite understand
    Martin>     why you say that this set of options gives portable binaries.
    Martin>     I would have thought that +DA1.1 +DS2.0 is the set of option
    Martin>     that gives portable binaries.

I found an HP-UX machine I could log into which has aCC installed.  It's
just a 10.20 machine.  HP's are on the way out here.  I didn't found any
running HP-UX 11.

About +DA and +DS the aCC man page has this to say:

                          Generate code for a particular version of the PA-
                          RISC architecture specified.  Also specifies which
                          version of the HP-UX math library to link when you
                          have specified -lm.

                          Note Object code generated for PA-RISC 2.0 will
                          not execute on PA-RISC 1.1 systems.

                          To generate code compatible across PA-RISC 1.1 and
                          2.0 workstations and servers, use the +DAportable
                          option.  For best performance use +DA with the
                          model number or architecture where you plan to
                          execute the program.  See the file
                          /opt/langtools/lib/sched.models for a list of
                          model numbers and their PA-RISC architecture

                          If you do not specify this option, the default
                          object code generated is determined automatically
                          as that of the machine on which you compile.


                          The first two examples generate code for the PA-
                          RISC 1.1 architecture. The third example generates
                          code for the PA-RISC 2.0 architecture. The fourth
                          example generates code compatible across PA-RISC
                          1.1 and 2.0 workstations and servers.

           +DSmodel       Use the instruction scheduler tuned to the model
                          specified.  If this option is not used, the
                          compiler uses the instruction scheduler for the
                          architecture on which the program is compiled.
                          The architecture is determined by uname() (see
                          uname(2)).  model can be a model number, PA-RISC
                          architecture designation or PA-RISC processor
                          name.  See the file
                          /opt/langtools/lib/sched.models for a list of
                          model numbers and processor names.

Obviously, due to the age of the OS on this machine, there's no mention of

    >> Maybe there should also be some sort of option for expects who will
    >> not want Python to be compiled for generic processor; who might
    >> purposefully want to compile Python on their particular hardware and
    >> have it fully optimized for it to gain maximum performance.

    Martin> No, no, no. If you want to highly tune your build, you are
    Martin> expected to edit the makefile. Providing an explicit option for
    Martin> that will place a burden on users who are not able to answer
    Martin> difficult build questions (and, trust me, this is the majority
    Martin> of the users).

It would also make the configure script that much more fragile.


More information about the Python-Dev mailing list