[bf13d27] | 1 | # |
---|
| 2 | # RTEMS Tools Project (http://www.rtems.org/) |
---|
| 3 | # Copyright 2010-2012 Chris Johns (chrisj@rtems.org) |
---|
| 4 | # All rights reserved. |
---|
| 5 | # |
---|
| 6 | # This file is part of the RTEMS Tools package in 'rtems-tools'. |
---|
| 7 | # |
---|
| 8 | # Permission to use, copy, modify, and/or distribute this software for any |
---|
| 9 | # purpose with or without fee is hereby granted, provided that the above |
---|
| 10 | # copyright notice and this permission notice appear in all copies. |
---|
| 11 | # |
---|
| 12 | # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES |
---|
| 13 | # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF |
---|
| 14 | # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR |
---|
| 15 | # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
---|
| 16 | # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN |
---|
| 17 | # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF |
---|
| 18 | # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
---|
| 19 | |
---|
| 20 | # |
---|
| 21 | # This code is based on what ever doco about spec files I could find and |
---|
| 22 | # RTEMS project's spec files. |
---|
| 23 | # |
---|
| 24 | |
---|
| 25 | import pprint |
---|
| 26 | import os |
---|
| 27 | |
---|
| 28 | import execute |
---|
| 29 | |
---|
| 30 | def load(): |
---|
| 31 | uname = os.uname() |
---|
| 32 | sysctl = '/usr/sbin/sysctl ' |
---|
| 33 | e = execute.capture_execution() |
---|
| 34 | exit_code, proc, output = e.shell(sysctl + 'hw.ncpu') |
---|
| 35 | if exit_code == 0: |
---|
| 36 | smp_mflags = '-j' + output.split(' ')[1].strip() |
---|
| 37 | else: |
---|
| 38 | smp_mflags = '' |
---|
| 39 | defines = { |
---|
| 40 | '_os': 'darwin', |
---|
| 41 | '_host': uname[4] + '-apple-darwin' + uname[2], |
---|
| 42 | '_host_vendor': 'apple', |
---|
| 43 | '_host_os': 'darwin', |
---|
| 44 | '_host_cpu': uname[4], |
---|
| 45 | '_host_alias': '%{nil}', |
---|
| 46 | '_host_arch': uname[4], |
---|
| 47 | '_usr': '/opt/local', |
---|
| 48 | '_var': '/opt/local/var', |
---|
| 49 | 'optflags': '-O2', |
---|
| 50 | '_smp_mflags': smp_mflags, |
---|
| 51 | '__xz': '/usr/local/bin/xz', |
---|
| 52 | 'with_zlib': '--with-zlib=no', |
---|
| 53 | } |
---|
| 54 | return defines |
---|
| 55 | |
---|
| 56 | if __name__ == '__main__': |
---|
| 57 | pprint.pprint(load()) |
---|