Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
cpython
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
cpython
Commits
d65e2bab
Commit
d65e2bab
authored
Jan 31, 2013
by
doko@python.org
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
- Issue #17086: Backport the patches from the 3.3 branch to cross-build
the package.
parent
c5200b48
Changes
12
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
4225 additions
and
249 deletions
+4225
-249
Lib/distutils/sysconfig.py
Lib/distutils/sysconfig.py
+6
-1
Lib/distutils/util.py
Lib/distutils/util.py
+4
-0
Lib/plat-generic/regen
Lib/plat-generic/regen
+1
-1
Lib/sysconfig.py
Lib/sysconfig.py
+8
-0
Makefile.pre.in
Makefile.pre.in
+54
-18
Misc/NEWS
Misc/NEWS
+3
-0
config.guess
config.guess
+1530
-0
config.sub
config.sub
+1782
-0
configure
configure
+554
-99
configure.ac
configure.ac
+146
-49
pyconfig.h.in
pyconfig.h.in
+2
-2
setup.py
setup.py
+135
-79
No files found.
Lib/distutils/sysconfig.py
View file @
d65e2bab
...
...
@@ -37,6 +37,11 @@ if os.name == "nt" and "\\pcbuild\\amd64" in project_base[-14:].lower():
project_base
=
os
.
path
.
abspath
(
os
.
path
.
join
(
project_base
,
os
.
path
.
pardir
,
os
.
path
.
pardir
))
# set for cross builds
if
"_PYTHON_PROJECT_BASE"
in
os
.
environ
:
# this is the build directory, at least for posix
project_base
=
os
.
path
.
normpath
(
os
.
environ
[
"_PYTHON_PROJECT_BASE"
])
# python_build: (Boolean) if true, we're either building Python or
# building an extension with an un-installed Python, so we use
# different (hard-wired) directories.
...
...
@@ -230,7 +235,7 @@ def get_config_h_filename():
def
get_makefile_filename
():
"""Return full pathname of installed Makefile from the Python build."""
if
python_build
:
return
os
.
path
.
join
(
os
.
path
.
dirname
(
sys
.
executable
)
,
"Makefile"
)
return
os
.
path
.
join
(
project_base
,
"Makefile"
)
lib_dir
=
get_python_lib
(
plat_specific
=
1
,
standard_lib
=
1
)
return
os
.
path
.
join
(
lib_dir
,
"config"
,
"Makefile"
)
...
...
Lib/distutils/util.py
View file @
d65e2bab
...
...
@@ -51,6 +51,10 @@ def get_platform ():
return
'win-ia64'
return
sys
.
platform
# Set for cross builds explicitly
if
"_PYTHON_HOST_PLATFORM"
in
os
.
environ
:
return
os
.
environ
[
"_PYTHON_HOST_PLATFORM"
]
if
os
.
name
!=
"posix"
or
not
hasattr
(
os
,
'uname'
):
# XXX what about the architecture? NT is Intel or Alpha,
# Mac OS is M68k or PPC, etc.
...
...
Lib/plat-generic/regen
View file @
d65e2bab
#! /bin/sh
set
-v
python
$EXE
../../Tools/scripts/h2py.py
-i
'(u_long)'
/usr/include/netinet/in.h
eval
$PYTHON_FOR_BUILD
../../Tools/scripts/h2py.py
-i
"'(u_long)'"
/usr/include/netinet/in.h
Lib/sysconfig.py
View file @
d65e2bab
...
...
@@ -116,6 +116,10 @@ if os.name == "nt" and "\\pc\\v" in _PROJECT_BASE[-10:].lower():
if
os
.
name
==
"nt"
and
"
\
\
pcbuild
\
\
amd64"
in
_PROJECT_BASE
[
-
14
:].
lower
():
_PROJECT_BASE
=
_safe_realpath
(
os
.
path
.
join
(
_PROJECT_BASE
,
pardir
,
pardir
))
# set for cross builds
if
"_PYTHON_PROJECT_BASE"
in
os
.
environ
:
# the build directory for posix builds
_PROJECT_BASE
=
os
.
path
.
normpath
(
os
.
path
.
abspath
(
"."
))
def
is_python_build
():
for
fn
in
(
"Setup.dist"
,
"Setup.local"
):
if
os
.
path
.
isfile
(
os
.
path
.
join
(
_PROJECT_BASE
,
"Modules"
,
fn
)):
...
...
@@ -507,6 +511,10 @@ def get_platform():
return
'win-ia64'
return
sys
.
platform
# Set for cross builds explicitly
if
"_PYTHON_HOST_PLATFORM"
in
os
.
environ
:
return
os
.
environ
[
"_PYTHON_HOST_PLATFORM"
]
if
os
.
name
!=
"posix"
or
not
hasattr
(
os
,
'uname'
):
# XXX what about the architecture? NT is Intel or Alpha,
# Mac OS is M68k or PPC, etc.
...
...
Makefile.pre.in
View file @
d65e2bab
...
...
@@ -29,6 +29,8 @@ srcdir= @srcdir@
VPATH
=
@srcdir@
abs_srcdir
=
@abs_srcdir@
abs_builddir
=
@abs_builddir@
build
=
@build@
host
=
@host@
CC
=
@CC@
CXX
=
@CXX@
...
...
@@ -190,6 +192,10 @@ UNICODE_OBJS= @UNICODE_OBJS@
PYTHON
=
python
$(EXE)
BUILDPYTHON
=
python
$(BUILDEXE)
PYTHON_FOR_BUILD
=
@PYTHON_FOR_BUILD@
_PYTHON_HOST_PLATFORM
=
@_PYTHON_HOST_PLATFORM@
HOST_GNU_TYPE
=
@host@
# The task to run while instrument when building the profile-opt target
PROFILE_TASK
=
$(srcdir)
/Tools/pybench/pybench.py
-n
2
--with-gc
--with-syscheck
#PROFILE_TASK= $(srcdir)/Lib/test/regrtest.py
...
...
@@ -222,6 +228,19 @@ LIBFFI_INCLUDEDIR= @LIBFFI_INCLUDEDIR@
# Parser
PGEN
=
Parser/pgen
$(EXE)
PSRCS
=
\
Parser/acceler.c
\
Parser/grammar1.c
\
Parser/listnode.c
\
Parser/node.c
\
Parser/parser.c
\
Parser/parsetok.c
\
Parser/bitset.c
\
Parser/metagrammar.c
\
Parser/firstsets.c
\
Parser/grammar.c
\
Parser/pgen.c
POBJS
=
\
Parser/acceler.o
\
Parser/grammar1.o
\
...
...
@@ -237,6 +256,14 @@ POBJS= \
PARSER_OBJS
=
$(POBJS)
Parser/myreadline.o Parser/tokenizer.o
PGSRCS
=
\
Objects/obmalloc.c
\
Python/mysnprintf.c
\
Python/pyctype.c
\
Parser/tokenizer_pgen.c
\
Parser/printgrammar.c
\
Parser/pgenmain.c
PGOBJS
=
\
Objects/obmalloc.o
\
Python/mysnprintf.o
\
...
...
@@ -249,7 +276,8 @@ PARSER_HEADERS= \
Parser/parser.h
\
Parser/tokenizer.h
PGENOBJS
=
$(PGENMAIN)
$(POBJS)
$(PGOBJS)
PGENSRCS
=
$(PSRCS)
$(PGSRCS)
PGENOBJS
=
$(POBJS)
$(PGOBJS)
##########################################################################
# AST
...
...
@@ -391,6 +419,7 @@ build_all_generate_profile:
$(MAKE)
all
CFLAGS
=
"
$(CFLAGS)
-fprofile-generate"
LIBS
=
"
$(LIBS)
-lgcov"
run_profile_task
:
:
# FIXME: can't run for a cross build
./
$(BUILDPYTHON)
$(PROFILE_TASK)
build_all_use_profile
:
...
...
@@ -409,7 +438,7 @@ $(BUILDPYTHON): Modules/python.o $(LIBRARY) $(LDLIBRARY)
$(BLDLIBRARY)
$(LIBS)
$(MODLIBS)
$(SYSLIBS)
$(LDLAST)
platform
:
$(BUILDPYTHON)
$(RUNSHARED)
./
$(BUILDPYTHON)
-E
-c
'import sys ; from sysconfig import get_platform ; print get_platform()+"-"+sys.version[0:3]'
>
platform
$(RUNSHARED)
$(PYTHON_FOR_BUILD)
-c
'import sys ; from sysconfig import get_platform ; print get_platform()+"-"+sys.version[0:3]'
>
platform
# Build the shared modules
...
...
@@ -422,7 +451,7 @@ sharedmods: $(BUILDPYTHON)
*
)
quiet
=
""
;;
\
esac
;
\
$(RUNSHARED)
CC
=
'
$(CC)
'
LDSHARED
=
'
$(BLDSHARED)
'
OPT
=
'
$(OPT)
'
\
./
$(BUILDPYTHON)
-E
$(srcdir)
/setup.py
$$
quiet build
$(PYTHON_FOR_BUILD)
$(srcdir)
/setup.py
$$
quiet build
# Build static library
# avoid long command lines, same as LIBRARY_OBJS
...
...
@@ -551,12 +580,13 @@ Modules/python.o: $(srcdir)/Modules/python.c
$(MAINCC)
-c
$(PY_CFLAGS)
-o
$@
$(srcdir)
/Modules/python.c
# Use a stamp file to prevent make -j invoking pgen twice
$(GRAMMAR_H) $(GRAMMAR_C)
:
Parser/pgen.stamp
Parser/pgen.stamp
:
$(PGEN) $(GRAMMAR_INPUT)
-
@
$(INSTALL)
-d
Include
$(GRAMMAR_H)
:
$(GRAMMAR_INPUT) $(PGENSRCS)
@
$(MKDIR_P)
Include
$(MAKE)
$(PGEN)
$(PGEN)
$(GRAMMAR_INPUT)
$(GRAMMAR_H)
$(GRAMMAR_C)
-
touch
Parser/pgen.stamp
$(GRAMMAR_C)
:
$(GRAMMAR_H) $(GRAMMAR_INPUT) $(PGENSRCS)
$(MAKE)
$(GRAMMAR_H)
touch
$(GRAMMAR_C)
$(PGEN)
:
$(PGENOBJS)
$(CC)
$(OPT)
$(LDFLAGS)
$(PGENOBJS)
$(LIBS)
-o
$(PGEN)
...
...
@@ -953,37 +983,43 @@ libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c
$(DESTDIR)$(LIBDEST)
/distutils/tests
;
\
fi
PYTHONPATH
=
$(DESTDIR)$(LIBDEST)
$(RUNSHARED)
\
./
$(BUILDPYTHON
)
-Wi
-tt
$(DESTDIR)$(LIBDEST)
/compileall.py
\
$(PYTHON_FOR_BUILD
)
-Wi
-tt
$(DESTDIR)$(LIBDEST)
/compileall.py
\
-d
$(LIBDEST)
-f
\
-x
'bad_coding|badsyntax|site-packages|lib2to3/tests/data'
\
$(DESTDIR)$(LIBDEST)
PYTHONPATH
=
$(DESTDIR)$(LIBDEST)
$(RUNSHARED)
\
./
$(BUILDPYTHON
)
-Wi
-tt
-O
$(DESTDIR)$(LIBDEST)
/compileall.py
\
$(PYTHON_FOR_BUILD
)
-Wi
-tt
-O
$(DESTDIR)$(LIBDEST)
/compileall.py
\
-d
$(LIBDEST)
-f
\
-x
'bad_coding|badsyntax|site-packages|lib2to3/tests/data'
\
$(DESTDIR)$(LIBDEST)
-
PYTHONPATH
=
$(DESTDIR)$(LIBDEST)
$(RUNSHARED)
\
./
$(BUILDPYTHON
)
-Wi
-t
$(DESTDIR)$(LIBDEST)
/compileall.py
\
$(PYTHON_FOR_BUILD
)
-Wi
-t
$(DESTDIR)$(LIBDEST)
/compileall.py
\
-d
$(LIBDEST)
/site-packages
-f
\
-x
badsyntax
$(DESTDIR)$(LIBDEST)
/site-packages
-
PYTHONPATH
=
$(DESTDIR)$(LIBDEST)
$(RUNSHARED)
\
./
$(BUILDPYTHON
)
-Wi
-t
-O
$(DESTDIR)$(LIBDEST)
/compileall.py
\
$(PYTHON_FOR_BUILD
)
-Wi
-t
-O
$(DESTDIR)$(LIBDEST)
/compileall.py
\
-d
$(LIBDEST)
/site-packages
-f
\
-x
badsyntax
$(DESTDIR)$(LIBDEST)
/site-packages
-
PYTHONPATH
=
$(DESTDIR)$(LIBDEST)
$(RUNSHARED)
\
./
$(BUILDPYTHON
)
-m
lib2to3.pgen2.driver
$(DESTDIR)$(LIBDEST)
/lib2to3/Grammar.txt
$(PYTHON_FOR_BUILD
)
-m
lib2to3.pgen2.driver
$(DESTDIR)$(LIBDEST)
/lib2to3/Grammar.txt
-
PYTHONPATH
=
$(DESTDIR)$(LIBDEST)
$(RUNSHARED)
\
./
$(BUILDPYTHON
)
-m
lib2to3.pgen2.driver
$(DESTDIR)$(LIBDEST)
/lib2to3/PatternGrammar.txt
$(PYTHON_FOR_BUILD
)
-m
lib2to3.pgen2.driver
$(DESTDIR)$(LIBDEST)
/lib2to3/PatternGrammar.txt
# Create the PLATDIR source directory, if one wasn't distributed..
$(srcdir)/Lib/$(PLATDIR)
:
mkdir
$(srcdir)
/Lib/
$(PLATDIR)
cp
$(srcdir)
/Lib/plat-generic/regen
$(srcdir)
/Lib/
$(PLATDIR)
/regen
export
PATH
;
PATH
=
"
`
pwd
`
:
$$
PATH"
;
\
export
PYTHONPATH
;
PYTHONPATH
=
"
`
pwd
`
/Lib
"
;
\
export
PYTHONPATH
;
PYTHONPATH
=
"
$(srcdir)
/Lib:
$(abs_builddir)
/
`
cat
pybuilddir.txt
`
"
;
\
export
DYLD_FRAMEWORK_PATH
;
DYLD_FRAMEWORK_PATH
=
"
`
pwd
`
"
;
\
export
EXE
;
EXE
=
"
$(BUILDEXE)
"
;
\
if
[
-n
"
$(MULTIARCH)
"
]
;
then
export
MULTIARCH
;
MULTIARCH
=
$(MULTIARCH)
;
fi
;
\
export
PYTHON_FOR_BUILD
;
\
if
[
"
$(build)
"
=
"
$(host)
"
]
;
then
\
PYTHON_FOR_BUILD
=
"
$(BUILDPYTHON)
"
;
\
else
\
PYTHON_FOR_BUILD
=
"
$(PYTHON_FOR_BUILD)
"
;
\
fi
;
\
cd
$(srcdir)
/Lib/
$(PLATDIR)
;
$(RUNSHARED)
./regen
python-config
:
$(srcdir)/Misc/python-config.in
...
...
@@ -1079,7 +1115,7 @@ libainstall: all python-config
# Install the dynamically loadable modules
# This goes into $(exec_prefix)
sharedinstall
:
sharedmods
$(RUNSHARED)
./
$(BUILDPYTHON)
-E
$(srcdir)
/setup.py
install
\
$(RUNSHARED)
$(PYTHON_FOR_BUILD)
$(srcdir)
/setup.py
install
\
--prefix
=
$(prefix)
\
--install-scripts
=
$(BINDIR)
\
--install-platlib
=
$(DESTSHARED)
\
...
...
@@ -1152,7 +1188,7 @@ frameworkinstallextras:
# This installs a few of the useful scripts in Tools/scripts
scriptsinstall
:
SRCDIR
=
$(srcdir)
$(RUNSHARED)
\
./
$(BUILDPYTHON
)
$(srcdir)
/Tools/scripts/setup.py
install
\
$(PYTHON_FOR_BUILD
)
$(srcdir)
/Tools/scripts/setup.py
install
\
--prefix
=
$(prefix)
\
--install-scripts
=
$(BINDIR)
\
--root
=
$(DESTDIR)
/
...
...
@@ -1219,7 +1255,7 @@ profile-removal:
clobber
:
clean profile-removal
-
rm
-f
$(BUILDPYTHON)
$(PGEN)
$(LIBRARY)
$(LDLIBRARY)
$(DLLLIBRARY)
\
tags TAGS
Parser/pgen.stamp
\
tags TAGS
\
config.cache config.log pyconfig.h Modules/config.c
-
rm
-rf
build platform
-
rm
-rf
$(PYTHONFRAMEWORKDIR)
...
...
Misc/NEWS
View file @
d65e2bab
...
...
@@ -754,6 +754,9 @@ Tests
Build
-----
- Issue #17086: Backport the patches from the 3.3 branch to cross-build
the package.
- Issue #3754: fix typo in pthread AC_CACHE_VAL.
- Issue #17029: Let h2py search the multiarch system include directory.
...
...
config.guess
0 → 100644
View file @
d65e2bab
#! /bin/sh
# Attempt to guess a canonical system name.
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
# 2011, 2012 Free Software Foundation, Inc.
timestamp
=
'2012-02-10'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, see <http://www.gnu.org/licenses/>.
#
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
# Originally written by Per Bothner. Please send patches (context
# diff format) to <config-patches@gnu.org> and include a ChangeLog
# entry.
#
# This script attempts to guess a canonical system name similar to
# config.sub. If it succeeds, it prints the system name on stdout, and
# exits with 0. Otherwise, it exits with 1.
#
# You can get the latest version of this script from:
# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
me
=
`
echo
"
$0
"
|
sed
-e
's,.*/,,'
`
usage
=
"
\
Usage:
$0
[OPTION]
Output the configuration name of the system
\`
$me
' is run on.
Operation modes:
-h, --help print this help, then exit
-t, --time-stamp print date of last modification, then exit
-v, --version print version number, then exit
Report bugs and patches to <config-patches@gnu.org>."
version
=
"
\
GNU config.guess (
$timestamp
)
Originally written by Per Bothner.
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
help
=
"
Try
\`
$me
--help' for more information."
# Parse command line
while
test
$#
-gt
0
;
do
case
$1
in
--time-stamp
|
--time
*
|
-t
)
echo
"
$timestamp
"
;
exit
;;
--version
|
-v
)
echo
"
$version
"
;
exit
;;
--help
|
--h
*
|
-h
)
echo
"
$usage
"
;
exit
;;
--
)
# Stop option processing
shift
;
break
;;
-
)
# Use stdin as input.
break
;;
-
*
)
echo
"
$me
: invalid option
$1$help
"
>
&2
exit
1
;;
*
)
break
;;
esac
done
if
test
$#
!=
0
;
then
echo
"
$me
: too many arguments
$help
"
>
&2
exit
1
fi
trap
'exit 1'
1 2 15
# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
# compiler to aid in system detection is discouraged as it requires
# temporary files to be created and, as you can see below, it is a
# headache to deal with in a portable fashion.
# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
# use `HOST_CC' if defined, but it is deprecated.
# Portable tmp directory creation inspired by the Autoconf team.
set_cc_for_build
=
'
trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
: ${TMPDIR=/tmp} ;
{ tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
{ test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
{ tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
{ echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
dummy=$tmp/dummy ;
tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
case $CC_FOR_BUILD,$HOST_CC,$CC in
,,) echo "int x;" > $dummy.c ;
for c in cc gcc c89 c99 ; do
if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
CC_FOR_BUILD="$c"; break ;
fi ;
done ;
if test x"$CC_FOR_BUILD" = x ; then
CC_FOR_BUILD=no_compiler_found ;
fi
;;
,,*) CC_FOR_BUILD=$CC ;;
,*,*) CC_FOR_BUILD=$HOST_CC ;;
esac ; set_cc_for_build= ;'
# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
# (ghazi@noc.rutgers.edu 1994-08-24)
if
(
test
-f
/.attbin/uname
)
>
/dev/null 2>&1
;
then
PATH
=
$PATH
:/.attbin
;
export
PATH
fi
UNAME_MACHINE
=
`
(
uname
-m
)
2>/dev/null
`
||
UNAME_MACHINE
=
unknown
UNAME_RELEASE
=
`
(
uname
-r
)
2>/dev/null
`
||
UNAME_RELEASE
=
unknown
UNAME_SYSTEM
=
`
(
uname
-s
)
2>/dev/null
`
||
UNAME_SYSTEM
=
unknown
UNAME_VERSION
=
`
(
uname
-v
)
2>/dev/null
`
||
UNAME_VERSION
=
unknown
# Note: order is significant - the case branches are not exclusive.
case
"
${
UNAME_MACHINE
}
:
${
UNAME_SYSTEM
}
:
${
UNAME_RELEASE
}
:
${
UNAME_VERSION
}
"
in
*
:NetBSD:
*
:
*
)
# NetBSD (nbsd) targets should (where applicable) match one or
# more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
# *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
# switched to ELF, *-*-netbsd* would select the old
# object file format. This provides both forward
# compatibility and a consistent mechanism for selecting the
# object file format.
#
# Note: NetBSD doesn't particularly care about the vendor
# portion of the name. We always set it to "unknown".
sysctl
=
"sysctl -n hw.machine_arch"
UNAME_MACHINE_ARCH
=
`
(
/sbin/
$sysctl
2>/dev/null
||
\
/usr/sbin/
$sysctl
2>/dev/null
||
echo
unknown
)
`
case
"
${
UNAME_MACHINE_ARCH
}
"
in
armeb
)
machine
=
armeb-unknown
;;
arm
*
)
machine
=
arm-unknown
;;
sh3el
)
machine
=
shl-unknown
;;
sh3eb
)
machine
=
sh-unknown
;;
sh5el
)
machine
=
sh5le-unknown
;;
*
)
machine
=
${
UNAME_MACHINE_ARCH
}
-unknown
;;
esac
# The Operating System including object format, if it has switched
# to ELF recently, or will in the future.
case
"
${
UNAME_MACHINE_ARCH
}
"
in
arm
*
|
i386|m68k|ns32k|sh3
*
|
sparc|vax
)
eval
$set_cc_for_build
if
echo
__ELF__ |
$CC_FOR_BUILD
-E
- 2>/dev/null
\
|
grep
-q
__ELF__
then
# Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
# Return netbsd for either. FIX?
os
=
netbsd
else
os
=
netbsdelf
fi
;;
*
)
os
=
netbsd
;;
esac
# The OS release
# Debian GNU/NetBSD machines have a different userland, and
# thus, need a distinct triplet. However, they do not need
# kernel version information, so it can be replaced with a
# suitable tag, in the style of linux-gnu.
case
"
${
UNAME_VERSION
}
"
in
Debian
*
)
release
=
'-gnu'
;;
*
)
release
=
`
echo
${
UNAME_RELEASE
}
|sed
-e
's/[-_].*/\./'
`
;;
esac
# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
# contains redundant information, the shorter form:
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
echo
"
${
machine
}
-
${
os
}${
release
}
"
exit
;;
*
:OpenBSD:
*
:
*
)
UNAME_MACHINE_ARCH
=
`
arch
|
sed
's/OpenBSD.//'
`
echo
${
UNAME_MACHINE_ARCH
}
-unknown-openbsd
${
UNAME_RELEASE
}
exit
;;
*
:ekkoBSD:
*
:
*
)
echo
${
UNAME_MACHINE
}
-unknown-ekkobsd
${
UNAME_RELEASE
}
exit
;;
*
:SolidBSD:
*
:
*
)
echo
${
UNAME_MACHINE
}
-unknown-solidbsd
${
UNAME_RELEASE
}
exit
;;
macppc:MirBSD:
*
:
*
)
echo
powerpc-unknown-mirbsd
${
UNAME_RELEASE
}
exit
;;
*
:MirBSD:
*
:
*
)
echo
${
UNAME_MACHINE
}
-unknown-mirbsd
${
UNAME_RELEASE
}
exit
;;
alpha:OSF1:
*
:
*
)
case
$UNAME_RELEASE
in
*
4.0
)
UNAME_RELEASE
=
`
/usr/sbin/sizer
-v
|
awk
'{print $3}'
`
;;
*
5.
*
)
UNAME_RELEASE
=
`
/usr/sbin/sizer
-v
|
awk
'{print $4}'
`
;;
esac
# According to Compaq, /usr/sbin/psrinfo has been available on
# OSF/1 and Tru64 systems produced since 1995. I hope that
# covers most systems running today. This code pipes the CPU
# types through head -n 1, so we only detect the type of CPU 0.
ALPHA_CPU_TYPE
=
`
/usr/sbin/psrinfo
-v
|
sed
-n
-e
's/^ The alpha \(.*\) processor.*$/\1/p'
|
head
-n
1
`
case
"
$ALPHA_CPU_TYPE
"
in
"EV4 (21064)"
)
UNAME_MACHINE
=
"alpha"
;;
"EV4.5 (21064)"
)
UNAME_MACHINE
=
"alpha"
;;
"LCA4 (21066/21068)"
)
UNAME_MACHINE
=
"alpha"
;;
"EV5 (21164)"
)
UNAME_MACHINE
=
"alphaev5"
;;
"EV5.6 (21164A)"
)
UNAME_MACHINE
=
"alphaev56"
;;
"EV5.6 (21164PC)"
)
UNAME_MACHINE
=
"alphapca56"
;;
"EV5.7 (21164PC)"
)
UNAME_MACHINE
=
"alphapca57"
;;
"EV6 (21264)"
)
UNAME_MACHINE
=
"alphaev6"
;;
"EV6.7 (21264A)"
)
UNAME_MACHINE
=
"alphaev67"
;;
"EV6.8CB (21264C)"
)
UNAME_MACHINE
=
"alphaev68"
;;
"EV6.8AL (21264B)"
)
UNAME_MACHINE
=
"alphaev68"
;;
"EV6.8CX (21264D)"
)
UNAME_MACHINE
=
"alphaev68"
;;
"EV6.9A (21264/EV69A)"
)
UNAME_MACHINE
=
"alphaev69"
;;
"EV7 (21364)"
)
UNAME_MACHINE
=
"alphaev7"
;;
"EV7.9 (21364A)"
)
UNAME_MACHINE
=
"alphaev79"
;;
esac
# A Pn.n version is a patched version.
# A Vn.n version is a released version.
# A Tn.n version is a released field test version.
# A Xn.n version is an unreleased experimental baselevel.
# 1.2 uses "1.2" for uname -r.
echo
${
UNAME_MACHINE
}
-dec-osf
`
echo
${
UNAME_RELEASE
}
|
sed
-e
's/^[PVTX]//'
|
tr
'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
'abcdefghijklmnopqrstuvwxyz'
`
# Reset EXIT trap before exiting to avoid spurious non-zero exit code.
exitcode
=
$?
trap
''
0
exit
$exitcode
;;
Alpha
\
*
:Windows_NT
*
:
*
)
# How do we know it's Interix rather than the generic POSIX subsystem?
# Should we change UNAME_MACHINE based on the output of uname instead
# of the specific Alpha model?
echo
alpha-pc-interix
exit
;;
21064:Windows_NT:50:3
)
echo
alpha-dec-winnt3.5
exit
;;
Amiga
*
:UNIX_System_V:4.0:
*
)
echo
m68k-unknown-sysv4
exit
;;
*
:[Aa]miga[Oo][Ss]:
*
:
*
)
echo
${
UNAME_MACHINE
}
-unknown-amigaos
exit
;;
*
:[Mm]orph[Oo][Ss]:
*
:
*
)
echo
${
UNAME_MACHINE
}
-unknown-morphos
exit
;;
*
:OS/390:
*
:
*
)
echo
i370-ibm-openedition
exit
;;
*
:z/VM:
*
:
*
)
echo
s390-ibm-zvmoe
exit
;;
*
:OS400:
*
:
*
)
echo
powerpc-ibm-os400
exit
;;
arm:RISC
*
:1.[012]
*
:
*
|
arm:riscix:1.[012]
*
:
*
)
echo
arm-acorn-riscix
${
UNAME_RELEASE
}
exit
;;
arm:riscos:
*
:
*
|
arm:RISCOS:
*
:
*
)
echo
arm-unknown-riscos
exit
;;
SR2?01:HI-UX/MPP:
*
:
*
|
SR8000:HI-UX/MPP:
*
:
*
)
echo
hppa1.1-hitachi-hiuxmpp
exit
;;
Pyramid
*
:OSx
*
:
*
:
*
|
MIS
*
:OSx
*
:
*
:
*
|
MIS
*
:SMP_DC-OSx
*
:
*
:
*
)
# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
if
test
"
`
(
/bin/universe
)
2>/dev/null
`
"
=
att
;
then
echo
pyramid-pyramid-sysv3
else
echo
pyramid-pyramid-bsd
fi
exit
;;
NILE
*
:
*
:
*
:dcosx
)
echo
pyramid-pyramid-svr4
exit
;;
DRS?6000:unix:4.0:6
*
)
echo
sparc-icl-nx6
exit
;;
DRS?6000:UNIX_SV:4.2
*
:7
*
|
DRS?6000:isis:4.2
*
:7
*
)
case
`
/usr/bin/uname
-p
`
in
sparc
)
echo
sparc-icl-nx7
;
exit
;;
esac
;;
s390x:SunOS:
*
:
*
)
echo
${
UNAME_MACHINE
}
-ibm-solaris2
`
echo
${
UNAME_RELEASE
}
|sed
-e
's/[^.]*//'
`
exit
;;
sun4H:SunOS:5.
*
:
*
)
echo
sparc-hal-solaris2
`
echo
${
UNAME_RELEASE
}
|sed
-e
's/[^.]*//'
`
exit
;;
sun4
*
:SunOS:5.
*
:
*
|
tadpole
*
:SunOS:5.
*
:
*
)
echo
sparc-sun-solaris2
`
echo
${
UNAME_RELEASE
}
|sed
-e
's/[^.]*//'
`
exit
;;
i86pc:AuroraUX:5.
*
:
*
|
i86xen:AuroraUX:5.
*
:
*
)
echo
i386-pc-auroraux
${
UNAME_RELEASE
}
exit
;;
i86pc:SunOS:5.
*
:
*
|
i86xen:SunOS:5.
*
:
*
)
eval
$set_cc_for_build
SUN_ARCH
=
"i386"
# If there is a compiler, see if it is configured for 64-bit objects.
# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
# This test works for both compilers.
if
[
"
$CC_FOR_BUILD
"
!=
'no_compiler_found'
]
;
then
if
(
echo
'#ifdef __amd64'
;
echo
IS_64BIT_ARCH
;
echo
'#endif'
)
|
\
(
CCOPTS
=
$CC_FOR_BUILD
-E
- 2>/dev/null
)
|
\
grep
IS_64BIT_ARCH
>
/dev/null
then
SUN_ARCH
=
"x86_64"
fi
fi
echo
${
SUN_ARCH
}
-pc-solaris2
`
echo
${
UNAME_RELEASE
}
|sed
-e
's/[^.]*//'
`
exit
;;
sun4
*
:SunOS:6
*
:
*
)
# According to config.sub, this is the proper way to canonicalize
# SunOS6. Hard to guess exactly what SunOS6 will be like, but
# it's likely to be more like Solaris than SunOS4.
echo
sparc-sun-solaris3
`
echo
${
UNAME_RELEASE
}
|sed
-e
's/[^.]*//'
`
exit
;;
sun4
*
:SunOS:
*
:
*
)
case
"
`
/usr/bin/arch
-k
`
"
in
Series
*
|
S4
*
)
UNAME_RELEASE
=
`
uname
-v
`
;;
esac
# Japanese Language versions have a version number like `4.1.3-JL'.
echo
sparc-sun-sunos
`
echo
${
UNAME_RELEASE
}
|sed
-e
's/-/_/'
`
exit
;;
sun3
*
:SunOS:
*
:
*
)
echo
m68k-sun-sunos
${
UNAME_RELEASE
}
exit
;;
sun
*
:
*
:4.2BSD:
*
)
UNAME_RELEASE
=
`
(
sed
1q /etc/motd |
awk
'{print substr($5,1,3)}'
)
2>/dev/null
`
test
"x
${
UNAME_RELEASE
}
"
=
"x"
&&
UNAME_RELEASE
=
3
case
"
`
/bin/arch
`
"
in
sun3
)
echo
m68k-sun-sunos
${
UNAME_RELEASE
}
;;
sun4
)
echo
sparc-sun-sunos
${
UNAME_RELEASE
}
;;
esac
exit
;;
aushp:SunOS:
*
:
*
)
echo
sparc-auspex-sunos
${
UNAME_RELEASE
}
exit
;;
# The situation for MiNT is a little confusing. The machine name
# can be virtually everything (everything which is not
# "atarist" or "atariste" at least should have a processor
# > m68000). The system name ranges from "MiNT" over "FreeMiNT"
# to the lowercase version "mint" (or "freemint"). Finally
# the system name "TOS" denotes a system which is actually not
# MiNT. But MiNT is downward compatible to TOS, so this should
# be no problem.
atarist[e]:
*
MiNT:
*
:
*
|
atarist[e]:
*
mint:
*
:
*
|
atarist[e]:
*
TOS:
*
:
*
)
echo
m68k-atari-mint
${
UNAME_RELEASE
}
exit
;;
atari
*
:
*
MiNT:
*
:
*
|
atari
*
:
*
mint:
*
:
*
|
atarist[e]:
*
TOS:
*
:
*
)
echo
m68k-atari-mint
${
UNAME_RELEASE
}
exit
;;
*
falcon
*
:
*
MiNT:
*
:
*
|
*
falcon
*
:
*
mint:
*
:
*
|
*
falcon
*
:
*
TOS:
*
:
*
)
echo
m68k-atari-mint
${
UNAME_RELEASE
}
exit
;;
milan
*
:
*
MiNT:
*
:
*
|
milan
*
:
*
mint:
*
:
*
|
*
milan
*
:
*
TOS:
*
:
*
)
echo
m68k-milan-mint
${
UNAME_RELEASE
}
exit
;;
hades
*
:
*
MiNT:
*
:
*
|
hades
*
:
*
mint:
*
:
*
|
*
hades
*
:
*
TOS:
*
:
*
)
echo
m68k-hades-mint
${
UNAME_RELEASE
}
exit
;;
*
:
*
MiNT:
*
:
*
|
*
:
*
mint:
*
:
*
|
*
:
*
TOS:
*
:
*
)
echo
m68k-unknown-mint
${
UNAME_RELEASE
}
exit
;;
m68k:machten:
*
:
*
)
echo
m68k-apple-machten
${
UNAME_RELEASE
}
exit
;;
powerpc:machten:
*
:
*
)
echo
powerpc-apple-machten
${
UNAME_RELEASE
}
exit
;;
RISC
*
:Mach:
*
:
*
)
echo
mips-dec-mach_bsd4.3
exit
;;
RISC
*
:ULTRIX:
*
:
*
)
echo
mips-dec-ultrix
${
UNAME_RELEASE
}
exit
;;
VAX
*
:ULTRIX
*
:
*
:
*
)
echo
vax-dec-ultrix
${
UNAME_RELEASE
}
exit
;;
2020:CLIX:
*
:
*
|
2430:CLIX:
*
:
*
)
echo
clipper-intergraph-clix
${
UNAME_RELEASE
}
exit
;;
mips:
*
:
*
:UMIPS
|
mips:
*
:
*
:RISCos
)
eval
$set_cc_for_build
sed
's/^ //'
<<
EOF
>
$dummy
.c
#ifdef __cplusplus
#include <stdio.h> /* for printf() prototype */
int main (int argc, char *argv[]) {
#else
int main (argc, argv) int argc; char *argv[]; {
#endif
#if defined (host_mips) && defined (MIPSEB)
#if defined (SYSTYPE_SYSV)
printf ("mips-mips-riscos%ssysv
\n
", argv[1]); exit (0);
#endif
#if defined (SYSTYPE_SVR4)
printf ("mips-mips-riscos%ssvr4
\n
", argv[1]); exit (0);
#endif
#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
printf ("mips-mips-riscos%sbsd
\n
", argv[1]); exit (0);
#endif
#endif
exit (-1);
}
EOF
$CC_FOR_BUILD
-o
$dummy
$dummy
.c
&&
dummyarg
=
`
echo
"
${
UNAME_RELEASE
}
"
|
sed
-n
's/\([0-9]*\).*/\1/p'
`
&&
SYSTEM_NAME
=
`
$dummy
$dummyarg
`
&&
{
echo
"
$SYSTEM_NAME
"
;
exit
;
}
echo
mips-mips-riscos
${
UNAME_RELEASE
}
exit
;;
Motorola:PowerMAX_OS:
*
:
*
)
echo
powerpc-motorola-powermax
exit
;;
Motorola:
*
:4.3:PL8-
*
)
echo
powerpc-harris-powermax
exit
;;
Night_Hawk:
*
:
*
:PowerMAX_OS
|
Synergy:PowerMAX_OS:
*
:
*
)
echo
powerpc-harris-powermax
exit
;;
Night_Hawk:Power_UNIX:
*
:
*
)
echo
powerpc-harris-powerunix
exit
;;
m88k:CX/UX:7
*
:
*
)
echo
m88k-harris-cxux7
exit
;;
m88k:
*
:4
*
:R4
*
)
echo
m88k-motorola-sysv4
exit
;;
m88k:
*
:3
*
:R3
*
)
echo
m88k-motorola-sysv3
exit
;;
AViiON:dgux:
*
:
*
)
# DG/UX returns AViiON for all architectures
UNAME_PROCESSOR
=
`
/usr/bin/uname
-p
`
if
[
$UNAME_PROCESSOR
=
mc88100
]
||
[
$UNAME_PROCESSOR
=
mc88110
]
then
if
[
${
TARGET_BINARY_INTERFACE
}
x
=
m88kdguxelfx
]
||
\
[
${
TARGET_BINARY_INTERFACE
}
x
=
x
]
then
echo
m88k-dg-dgux
${
UNAME_RELEASE
}
else
echo
m88k-dg-dguxbcs
${
UNAME_RELEASE
}
fi
else
echo
i586-dg-dgux
${
UNAME_RELEASE
}
fi
exit
;;
M88
*
:DolphinOS:
*
:
*
)
# DolphinOS (SVR3)
echo
m88k-dolphin-sysv3
exit
;;
M88
*
:
*
:R3
*
:
*
)
# Delta 88k system running SVR3
echo
m88k-motorola-sysv3
exit
;;
XD88
*
:
*
:
*
:
*
)
# Tektronix XD88 system running UTekV (SVR3)
echo
m88k-tektronix-sysv3
exit
;;
Tek43[0-9][0-9]:UTek:
*
:
*
)
# Tektronix 4300 system running UTek (BSD)
echo
m68k-tektronix-bsd
exit
;;
*
:IRIX
*
:
*
:
*
)
echo
mips-sgi-irix
`
echo
${
UNAME_RELEASE
}
|sed
-e
's/-/_/g'
`
exit
;;
????????:AIX?:[12].1:2
)
# AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
echo
romp-ibm-aix
# uname -m gives an 8 hex-code CPU id
exit
;;
# Note that: echo "'`uname -s`'" gives 'AIX '
i
*
86:AIX:
*
:
*
)
echo
i386-ibm-aix
exit
;;
ia64:AIX:
*
:
*
)
if
[
-x
/usr/bin/oslevel
]
;
then
IBM_REV
=
`
/usr/bin/oslevel
`
else
IBM_REV
=
${
UNAME_VERSION
}
.
${
UNAME_RELEASE
}
fi
echo
${
UNAME_MACHINE
}
-ibm-aix
${
IBM_REV
}
exit
;;
*
:AIX:2:3
)
if
grep
bos325 /usr/include/stdio.h
>
/dev/null 2>&1
;
then
eval
$set_cc_for_build
sed
's/^ //'
<<
EOF
>
$dummy
.c
#include <sys/systemcfg.h>
main()
{
if (!__power_pc())
exit(1);
puts("powerpc-ibm-aix3.2.5");
exit(0);
}
EOF
if
$CC_FOR_BUILD
-o
$dummy
$dummy
.c
&&
SYSTEM_NAME
=
`
$dummy
`
then
echo
"
$SYSTEM_NAME
"
else
echo
rs6000-ibm-aix3.2.5
fi
elif
grep
bos324 /usr/include/stdio.h
>
/dev/null 2>&1
;
then
echo
rs6000-ibm-aix3.2.4
else
echo
rs6000-ibm-aix3.2
fi
exit
;;
*
:AIX:
*
:[4567]
)
IBM_CPU_ID
=
`
/usr/sbin/lsdev
-C
-c
processor
-S
available |
sed
1q |
awk
'{ print $1 }'
`
if
/usr/sbin/lsattr
-El
${
IBM_CPU_ID
}
|
grep
' POWER'
>
/dev/null 2>&1
;
then
IBM_ARCH
=
rs6000
else
IBM_ARCH
=
powerpc
fi
if
[
-x
/usr/bin/oslevel
]
;
then
IBM_REV
=
`
/usr/bin/oslevel
`
else
IBM_REV
=
${
UNAME_VERSION
}
.
${
UNAME_RELEASE
}
fi
echo
${
IBM_ARCH
}
-ibm-aix
${
IBM_REV
}
exit
;;
*
:AIX:
*
:
*
)
echo
rs6000-ibm-aix
exit
;;
ibmrt:4.4BSD:
*
|
romp-ibm:BSD:
*
)
echo
romp-ibm-bsd4.4
exit
;;
ibmrt:
*
BSD:
*
|
romp-ibm:BSD:
*
)
# covers RT/PC BSD and
echo
romp-ibm-bsd
${
UNAME_RELEASE
}
# 4.3 with uname added to
exit
;;
# report: romp-ibm BSD 4.3
*
:BOSX:
*
:
*
)
echo
rs6000-bull-bosx
exit
;;
DPX/2?00:B.O.S.:
*
:
*
)
echo
m68k-bull-sysv3
exit
;;
9000/[34]??:4.3bsd:1.
*
:
*
)
echo
m68k-hp-bsd
exit
;;
hp300:4.4BSD:
*
:
*
|
9000/[34]??:4.3bsd:2.
*
:
*
)
echo
m68k-hp-bsd4.4
exit
;;
9000/[34678]??:HP-UX:
*
:
*
)
HPUX_REV
=
`
echo
${
UNAME_RELEASE
}
|sed
-e
's/[^.]*.[0B]*//'
`
case
"
${
UNAME_MACHINE
}
"
in
9000/31?
)
HP_ARCH
=
m68000
;;
9000/[34]??
)
HP_ARCH
=
m68k
;;
9000/[678][0-9][0-9]
)
if
[
-x
/usr/bin/getconf
]
;
then
sc_cpu_version
=
`
/usr/bin/getconf SC_CPU_VERSION 2>/dev/null
`
sc_kernel_bits
=
`
/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null
`
case
"
${
sc_cpu_version
}
"
in
523
)
HP_ARCH
=
"hppa1.0"
;;
# CPU_PA_RISC1_0
528
)
HP_ARCH
=
"hppa1.1"
;;
# CPU_PA_RISC1_1
532
)
# CPU_PA_RISC2_0
case
"
${
sc_kernel_bits
}
"
in
32
)
HP_ARCH
=
"hppa2.0n"
;;
64
)
HP_ARCH
=
"hppa2.0w"
;;
''
)
HP_ARCH
=
"hppa2.0"
;;
# HP-UX 10.20
esac
;;
esac
fi
if
[
"
${
HP_ARCH
}
"
=
""
]
;
then
eval
$set_cc_for_build
sed
's/^ //'
<<
EOF
>
$dummy
.c
#define _HPUX_SOURCE
#include <stdlib.h>
#include <unistd.h>
int main ()
{
#if defined(_SC_KERNEL_BITS)
long bits = sysconf(_SC_KERNEL_BITS);
#endif
long cpu = sysconf (_SC_CPU_VERSION);
switch (cpu)
{
case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
case CPU_PA_RISC2_0:
#if defined(_SC_KERNEL_BITS)
switch (bits)
{
case 64: puts ("hppa2.0w"); break;
case 32: puts ("hppa2.0n"); break;
default: puts ("hppa2.0"); break;
} break;
#else /* !defined(_SC_KERNEL_BITS) */
puts ("hppa2.0"); break;
#endif
default: puts ("hppa1.0"); break;
}
exit (0);
}
EOF
(
CCOPTS
=
$CC_FOR_BUILD
-o
$dummy
$dummy
.c 2>/dev/null
)
&&
HP_ARCH
=
`
$dummy
`
test
-z
"
$HP_ARCH
"
&&
HP_ARCH
=
hppa
fi
;;
esac
if
[
${
HP_ARCH
}
=
"hppa2.0w"
]
then
eval
$set_cc_for_build
# hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
# 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
# generating 64-bit code. GNU and HP use different nomenclature:
#
# $ CC_FOR_BUILD=cc ./config.guess
# => hppa2.0w-hp-hpux11.23
# $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
# => hppa64-hp-hpux11.23
if
echo
__LP64__ |
(
CCOPTS
=
$CC_FOR_BUILD
-E
- 2>/dev/null
)
|
grep
-q
__LP64__
then
HP_ARCH
=
"hppa2.0w"
else
HP_ARCH
=
"hppa64"
fi
fi
echo
${
HP_ARCH
}
-hp-hpux
${
HPUX_REV
}
exit
;;
ia64:HP-UX:
*
:
*
)
HPUX_REV
=
`
echo
${
UNAME_RELEASE
}
|sed
-e
's/[^.]*.[0B]*//'
`
echo
ia64-hp-hpux
${
HPUX_REV
}
exit
;;
3050
*
:HI-UX:
*
:
*
)
eval
$set_cc_for_build
sed
's/^ //'
<<
EOF
>
$dummy
.c
#include <unistd.h>
int
main ()
{
long cpu = sysconf (_SC_CPU_VERSION);
/* The order matters, because CPU_IS_HP_MC68K erroneously returns
true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
results, however. */
if (CPU_IS_PA_RISC (cpu))
{
switch (cpu)
{
case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
default: puts ("hppa-hitachi-hiuxwe2"); break;
}
}
else if (CPU_IS_HP_MC68K (cpu))
puts ("m68k-hitachi-hiuxwe2");
else puts ("unknown-hitachi-hiuxwe2");
exit (0);
}
EOF
$CC_FOR_BUILD
-o
$dummy
$dummy
.c
&&
SYSTEM_NAME
=
`
$dummy
`
&&
{
echo
"
$SYSTEM_NAME
"
;
exit
;
}
echo
unknown-hitachi-hiuxwe2
exit
;;
9000/7??:4.3bsd:
*
:
*
|
9000/8?[79]:4.3bsd:
*
:
*
)
echo
hppa1.1-hp-bsd
exit
;;
9000/8??:4.3bsd:
*
:
*
)
echo
hppa1.0-hp-bsd
exit
;;
*
9??
*
:MPE/iX:
*
:
*
|
*
3000
*
:MPE/iX:
*
:
*
)
echo
hppa1.0-hp-mpeix
exit
;;
hp7??:OSF1:
*
:
*
|
hp8?[79]:OSF1:
*
:
*
)
echo
hppa1.1-hp-osf
exit
;;
hp8??:OSF1:
*
:
*
)
echo
hppa1.0-hp-osf
exit
;;
i
*
86:OSF1:
*
:
*
)
if
[
-x
/usr/sbin/sysversion
]
;
then
echo
${
UNAME_MACHINE
}
-unknown-osf1mk
else
echo
${
UNAME_MACHINE
}
-unknown-osf1
fi
exit
;;
parisc
*
:Lites
*
:
*
:
*
)
echo
hppa1.1-hp-lites
exit
;;
C1
*
:ConvexOS:
*
:
*
|
convex:ConvexOS:C1
*
:
*
)
echo
c1-convex-bsd
exit
;;
C2
*
:ConvexOS:
*
:
*
|
convex:ConvexOS:C2
*
:
*
)
if
getsysinfo
-f
scalar_acc
then
echo
c32-convex-bsd
else
echo
c2-convex-bsd
fi
exit
;;
C34
*
:ConvexOS:
*
:
*
|
convex:ConvexOS:C34
*
:
*
)
echo
c34-convex-bsd
exit
;;
C38
*
:ConvexOS:
*
:
*
|
convex:ConvexOS:C38
*
:
*
)
echo
c38-convex-bsd
exit
;;
C4
*
:ConvexOS:
*
:
*
|
convex:ConvexOS:C4
*
:
*
)
echo
c4-convex-bsd
exit
;;
CRAY
*
Y-MP:
*
:
*
:
*
)
echo
ymp-cray-unicos
${
UNAME_RELEASE
}
|
sed
-e
's/\.[^.]*$/.X/'
exit
;;
CRAY
*
[
A-Z]90:
*
:
*
:
*
)
echo
${
UNAME_MACHINE
}
-cray-unicos
${
UNAME_RELEASE
}
\
|
sed
-e
's/CRAY.*\([A-Z]90\)/\1/'
\
-e
y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/
\
-e
's/\.[^.]*$/.X/'
exit
;;
CRAY
*
TS:
*
:
*
:
*
)
echo
t90-cray-unicos
${
UNAME_RELEASE
}
|
sed
-e
's/\.[^.]*$/.X/'
exit
;;
CRAY
*
T3E:
*
:
*
:
*
)
echo
alphaev5-cray-unicosmk
${
UNAME_RELEASE
}
|
sed
-e
's/\.[^.]*$/.X/'
exit
;;
CRAY
*
SV1:
*
:
*
:
*
)
echo
sv1-cray-unicos
${
UNAME_RELEASE
}
|
sed
-e
's/\.[^.]*$/.X/'
exit
;;
*
:UNICOS/mp:
*
:
*
)
echo
craynv-cray-unicosmp
${
UNAME_RELEASE
}
|
sed
-e
's/\.[^.]*$/.X/'
exit
;;
F30[01]:UNIX_System_V:
*
:
*
|
F700:UNIX_System_V:
*
:
*
)
FUJITSU_PROC
=
`
uname
-m
|
tr
'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
'abcdefghijklmnopqrstuvwxyz'
`
FUJITSU_SYS
=
`
uname
-p
|
tr
'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
'abcdefghijklmnopqrstuvwxyz'
|
sed
-e
's/\///'
`
FUJITSU_REL
=
`
echo
${
UNAME_RELEASE
}
|
sed
-e
's/ /_/'
`
echo
"
${
FUJITSU_PROC
}
-fujitsu-
${
FUJITSU_SYS
}${
FUJITSU_REL
}
"
exit
;;
5000:UNIX_System_V:4.
*
:
*
)
FUJITSU_SYS
=
`
uname
-p
|
tr
'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
'abcdefghijklmnopqrstuvwxyz'
|
sed
-e
's/\///'
`
FUJITSU_REL
=
`
echo
${
UNAME_RELEASE
}
|
tr
'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
'abcdefghijklmnopqrstuvwxyz'
|
sed
-e
's/ /_/'
`
echo
"sparc-fujitsu-
${
FUJITSU_SYS
}${
FUJITSU_REL
}
"
exit
;;
i
*
86:BSD/386:
*
:
*
|
i
*
86:BSD/OS:
*
:
*
|
*
:Ascend
\
Embedded/OS:
*
:
*
)
echo
${
UNAME_MACHINE
}
-pc-bsdi
${
UNAME_RELEASE
}
exit
;;
sparc
*
:BSD/OS:
*
:
*
)
echo
sparc-unknown-bsdi
${
UNAME_RELEASE
}
exit
;;
*
:BSD/OS:
*
:
*
)
echo
${
UNAME_MACHINE
}
-unknown-bsdi
${
UNAME_RELEASE
}
exit
;;
*
:FreeBSD:
*
:
*
)
UNAME_PROCESSOR
=
`
/usr/bin/uname
-p
`
case
${
UNAME_PROCESSOR
}
in
amd64
)
echo
x86_64-unknown-freebsd
`
echo
${
UNAME_RELEASE
}
|sed
-e
's/[-(].*//'
`
;;
*
)
echo
${
UNAME_PROCESSOR
}
-unknown-freebsd
`
echo
${
UNAME_RELEASE
}
|sed
-e
's/[-(].*//'
`
;;
esac
exit
;;
i
*
:CYGWIN
*
:
*
)
echo
${
UNAME_MACHINE
}
-pc-cygwin
exit
;;
*
:MINGW
*
:
*
)
echo
${
UNAME_MACHINE
}
-pc-mingw32
exit
;;
i
*
:MSYS
*
:
*
)
echo
${
UNAME_MACHINE
}
-pc-msys
exit
;;
i
*
:windows32
*
:
*
)
# uname -m includes "-pc" on this system.
echo
${
UNAME_MACHINE
}
-mingw32
exit
;;
i
*
:PW
*
:
*
)
echo
${
UNAME_MACHINE
}
-pc-pw32
exit
;;
*
:Interix
*
:
*
)
case
${
UNAME_MACHINE
}
in
x86
)
echo
i586-pc-interix
${
UNAME_RELEASE
}
exit
;;
authenticamd
|
genuineintel
|
EM64T
)
echo
x86_64-unknown-interix
${
UNAME_RELEASE
}
exit
;;
IA64
)
echo
ia64-unknown-interix
${
UNAME_RELEASE
}
exit
;;
esac
;;
[
345]86:Windows_95:
*
|
[
345]86:Windows_98:
*
|
[
345]86:Windows_NT:
*
)
echo
i
${
UNAME_MACHINE
}
-pc-mks
exit
;;
8664:Windows_NT:
*
)
echo
x86_64-pc-mks
exit
;;
i
*
:Windows_NT
*
:
*
|
Pentium
*
:Windows_NT
*
:
*
)
# How do we know it's Interix rather than the generic POSIX subsystem?
# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
# UNAME_MACHINE based on the output of uname instead of i386?
echo
i586-pc-interix
exit
;;
i
*
:UWIN
*
:
*
)
echo
${
UNAME_MACHINE
}
-pc-uwin
exit
;;
amd64:CYGWIN
*
:
*
:
*
|
x86_64:CYGWIN
*
:
*
:
*
)
echo
x86_64-unknown-cygwin
exit
;;
p
*
:CYGWIN
*
:
*
)
echo
powerpcle-unknown-cygwin
exit
;;
prep
*
:SunOS:5.
*
:
*
)
echo
powerpcle-unknown-solaris2
`
echo
${
UNAME_RELEASE
}
|sed
-e
's/[^.]*//'
`
exit
;;
*
:GNU:
*
:
*
)
# the GNU system
echo
`
echo
${
UNAME_MACHINE
}
|sed
-e
's,[-/].*$,,'
`
-unknown-gnu
`
echo
${
UNAME_RELEASE
}
|sed
-e
's,/.*$,,'
`
exit
;;
*
:GNU/
*
:
*
:
*
)
# other systems with GNU libc and userland
echo
${
UNAME_MACHINE
}
-unknown-
`
echo
${
UNAME_SYSTEM
}
|
sed
's,^[^/]*/,,'
|
tr
'[A-Z]'
'[a-z]'
``
echo
${
UNAME_RELEASE
}
|sed
-e
's/[-(].*//'
`
-gnu
exit
;;
i
*
86:Minix:
*
:
*
)
echo
${
UNAME_MACHINE
}
-pc-minix
exit
;;
aarch64:Linux:
*
:
*
)
echo
${
UNAME_MACHINE
}
-unknown-linux-gnu
exit
;;
aarch64_be:Linux:
*
:
*
)
UNAME_MACHINE
=
aarch64_be
echo
${
UNAME_MACHINE
}
-unknown-linux-gnu
exit
;;
alpha:Linux:
*
:
*
)
case
`
sed
-n
'/^cpu model/s/^.*: \(.*\)/\1/p'
< /proc/cpuinfo
`
in
EV5
)
UNAME_MACHINE
=
alphaev5
;;
EV56
)
UNAME_MACHINE
=
alphaev56
;;
PCA56
)
UNAME_MACHINE
=
alphapca56
;;
PCA57
)
UNAME_MACHINE
=
alphapca56
;;
EV6
)
UNAME_MACHINE
=
alphaev6
;;
EV67
)
UNAME_MACHINE
=
alphaev67
;;
EV68
*
)
UNAME_MACHINE
=
alphaev68
;;
esac
objdump
--private-headers
/bin/sh |
grep
-q
ld.so.1
if
test
"
$?
"
=
0
;
then
LIBC
=
"libc1"
;
else
LIBC
=
""
;
fi
echo
${
UNAME_MACHINE
}
-unknown-linux-gnu
${
LIBC
}
exit
;;
arm
*
:Linux:
*
:
*
)
eval
$set_cc_for_build
if
echo
__ARM_EABI__ |
$CC_FOR_BUILD
-E
- 2>/dev/null
\
|
grep
-q
__ARM_EABI__
then
echo
${
UNAME_MACHINE
}
-unknown-linux-gnu
else
if
echo
__ARM_PCS_VFP |
$CC_FOR_BUILD
-E
- 2>/dev/null
\
|
grep
-q
__ARM_PCS_VFP
then
echo
${
UNAME_MACHINE
}
-unknown-linux-gnueabi
else
echo
${
UNAME_MACHINE
}
-unknown-linux-gnueabihf
fi
fi
exit
;;
avr32
*
:Linux:
*
:
*
)
echo
${
UNAME_MACHINE
}
-unknown-linux-gnu
exit
;;
cris:Linux:
*
:
*
)
echo
${
UNAME_MACHINE
}
-axis-linux-gnu
exit
;;
crisv32:Linux:
*
:
*
)
echo
${
UNAME_MACHINE
}
-axis-linux-gnu
exit
;;
frv:Linux:
*
:
*
)
echo
${
UNAME_MACHINE
}
-unknown-linux-gnu
exit
;;
hexagon:Linux:
*
:
*
)
echo
${
UNAME_MACHINE
}
-unknown-linux-gnu
exit
;;
i
*
86:Linux:
*
:
*
)
LIBC
=
gnu
eval
$set_cc_for_build
sed
's/^ //'
<<
EOF
>
$dummy
.c
#ifdef __dietlibc__
LIBC=dietlibc
#endif
EOF
eval
`
$CC_FOR_BUILD
-E
$dummy
.c 2>/dev/null |
grep
'^LIBC'
`
echo
"
${
UNAME_MACHINE
}
-pc-linux-
${
LIBC
}
"
exit
;;
ia64:Linux:
*
:
*
)
echo
${
UNAME_MACHINE
}
-unknown-linux-gnu
exit
;;
m32r
*
:Linux:
*
:
*
)
echo
${
UNAME_MACHINE
}
-unknown-linux-gnu
exit
;;
m68
*
:Linux:
*
:
*
)
echo
${
UNAME_MACHINE
}
-unknown-linux-gnu
exit
;;
mips:Linux:
*
:
*
|
mips64:Linux:
*
:
*
)
eval
$set_cc_for_build
sed
's/^ //'
<<
EOF
>
$dummy
.c
#undef CPU
#undef
${
UNAME_MACHINE
}
#undef
${
UNAME_MACHINE
}
el
#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
CPU=
${
UNAME_MACHINE
}
el
#else
#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
CPU=
${
UNAME_MACHINE
}
#else
CPU=
#endif
#endif
EOF
eval
`
$CC_FOR_BUILD
-E
$dummy
.c 2>/dev/null |
grep
'^CPU'
`
test
x
"
${
CPU
}
"
!=
x
&&
{
echo
"
${
CPU
}
-unknown-linux-gnu"
;
exit
;
}
;;
or32:Linux:
*
:
*
)
echo
${
UNAME_MACHINE
}
-unknown-linux-gnu
exit
;;
padre:Linux:
*
:
*
)
echo
sparc-unknown-linux-gnu
exit
;;
parisc64:Linux:
*
:
*
|
hppa64:Linux:
*
:
*
)
echo
hppa64-unknown-linux-gnu
exit
;;
parisc:Linux:
*
:
*
|
hppa:Linux:
*
:
*
)
# Look for CPU level
case
`
grep
'^cpu[^a-z]*:'
/proc/cpuinfo 2>/dev/null |
cut
-d
' '
-f2
`
in
PA7
*
)
echo
hppa1.1-unknown-linux-gnu
;;
PA8
*
)
echo
hppa2.0-unknown-linux-gnu
;;
*
)
echo
hppa-unknown-linux-gnu
;;
esac
exit
;;
ppc64:Linux:
*
:
*
)
echo
powerpc64-unknown-linux-gnu
exit
;;
ppc:Linux:
*
:
*
)
echo
powerpc-unknown-linux-gnu
exit
;;
s390:Linux:
*
:
*
|
s390x:Linux:
*
:
*
)
echo
${
UNAME_MACHINE
}
-ibm-linux
exit
;;
sh64
*
:Linux:
*
:
*
)
echo
${
UNAME_MACHINE
}
-unknown-linux-gnu
exit
;;
sh
*
:Linux:
*
:
*
)
echo
${
UNAME_MACHINE
}
-unknown-linux-gnu
exit
;;
sparc:Linux:
*
:
*
|
sparc64:Linux:
*
:
*
)
echo
${
UNAME_MACHINE
}
-unknown-linux-gnu
exit
;;
tile
*
:Linux:
*
:
*
)
echo
${
UNAME_MACHINE
}
-unknown-linux-gnu
exit
;;
vax:Linux:
*
:
*
)
echo
${
UNAME_MACHINE
}
-dec-linux-gnu
exit
;;
x86_64:Linux:
*
:
*
)
echo
${
UNAME_MACHINE
}
-unknown-linux-gnu
exit
;;
xtensa
*
:Linux:
*
:
*
)
echo
${
UNAME_MACHINE
}
-unknown-linux-gnu
exit
;;
i
*
86:DYNIX/ptx:4
*
:
*
)
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
# earlier versions are messed up and put the nodename in both
# sysname and nodename.
echo
i386-sequent-sysv4
exit
;;
i
*
86:UNIX_SV:4.2MP:2.
*
)
# Unixware is an offshoot of SVR4, but it has its own version
# number series starting with 2...
# I am not positive that other SVR4 systems won't match this,
# I just have to hope. -- rms.
# Use sysv4.2uw... so that sysv4* matches it.
echo
${
UNAME_MACHINE
}
-pc-sysv4
.2uw
${
UNAME_VERSION
}
exit
;;
i
*
86:OS/2:
*
:
*
)
# If we were able to find `uname', then EMX Unix compatibility
# is probably installed.
echo
${
UNAME_MACHINE
}
-pc-os2-emx
exit
;;
i
*
86:XTS-300:
*
:STOP
)
echo
${
UNAME_MACHINE
}
-unknown-stop
exit
;;
i
*
86:atheos:
*
:
*
)
echo
${
UNAME_MACHINE
}
-unknown-atheos
exit
;;
i
*
86:syllable:
*
:
*
)
echo
${
UNAME_MACHINE
}
-pc-syllable
exit
;;
i
*
86:LynxOS:2.
*
:
*
|
i
*
86:LynxOS:3.[01]
*
:
*
|
i
*
86:LynxOS:4.[02]
*
:
*
)
echo
i386-unknown-lynxos
${
UNAME_RELEASE
}
exit
;;
i
*
86:
*
DOS:
*
:
*
)
echo
${
UNAME_MACHINE
}
-pc-msdosdjgpp
exit
;;
i
*
86:
*
:4.
*
:
*
|
i
*
86:SYSTEM_V:4.
*
:
*
)
UNAME_REL
=
`
echo
${
UNAME_RELEASE
}
|
sed
's/\/MP$//'
`
if
grep
Novell /usr/include/link.h
>
/dev/null 2>/dev/null
;
then
echo
${
UNAME_MACHINE
}
-univel-sysv
${
UNAME_REL
}
else
echo
${
UNAME_MACHINE
}
-pc-sysv
${
UNAME_REL
}
fi
exit
;;
i
*
86:
*
:5:[678]
*
)
# UnixWare 7.x, OpenUNIX and OpenServer 6.
case
`
/bin/uname
-X
|
grep
"^Machine"
`
in
*
486
*
)
UNAME_MACHINE
=
i486
;;
*
Pentium
)
UNAME_MACHINE
=
i586
;;
*
Pent
*
|
*
Celeron
)
UNAME_MACHINE
=
i686
;;
esac
echo
${
UNAME_MACHINE
}
-unknown-sysv
${
UNAME_RELEASE
}${
UNAME_SYSTEM
}${
UNAME_VERSION
}
exit
;;
i
*
86:
*
:3.2:
*
)
if
test
-f
/usr/options/cb.name
;
then
UNAME_REL
=
`
sed
-n
's/.*Version //p'
</usr/options/cb.name
`
echo
${
UNAME_MACHINE
}
-pc-isc
$UNAME_REL
elif
/bin/uname
-X
2>/dev/null
>
/dev/null
;
then
UNAME_REL
=
`
(
/bin/uname
-X
|grep Release|sed
-e
's/.*= //'
)
`
(
/bin/uname
-X
|grep i80486
>
/dev/null
)
&&
UNAME_MACHINE
=
i486
(
/bin/uname
-X
|grep
'^Machine.*Pentium'
>
/dev/null
)
\
&&
UNAME_MACHINE
=
i586
(
/bin/uname
-X
|grep
'^Machine.*Pent *II'
>
/dev/null
)
\
&&
UNAME_MACHINE
=
i686
(
/bin/uname
-X
|grep
'^Machine.*Pentium Pro'
>
/dev/null
)
\
&&
UNAME_MACHINE
=
i686
echo
${
UNAME_MACHINE
}
-pc-sco
$UNAME_REL
else
echo
${
UNAME_MACHINE
}
-pc-sysv32
fi
exit
;;
pc:
*
:
*
:
*
)
# Left here for compatibility:
# uname -m prints for DJGPP always 'pc', but it prints nothing about
# the processor, so we play safe by assuming i586.
# Note: whatever this is, it MUST be the same as what config.sub
# prints for the "djgpp" host, or else GDB configury will decide that
# this is a cross-build.
echo
i586-pc-msdosdjgpp
exit
;;
Intel:Mach:3
*
:
*
)
echo
i386-pc-mach3
exit
;;
paragon:
*
:
*
:
*
)
echo
i860-intel-osf1
exit
;;
i860:
*
:4.
*
:
*
)
# i860-SVR4
if
grep
Stardent /usr/include/sys/uadmin.h
>
/dev/null 2>&1
;
then
echo
i860-stardent-sysv
${
UNAME_RELEASE
}
# Stardent Vistra i860-SVR4
else
# Add other i860-SVR4 vendors below as they are discovered.
echo
i860-unknown-sysv
${
UNAME_RELEASE
}
# Unknown i860-SVR4
fi
exit
;;
mini
*
:CTIX:SYS
*
5:
*
)
# "miniframe"
echo
m68010-convergent-sysv
exit
;;
mc68k:UNIX:SYSTEM5:3.51m
)
echo
m68k-convergent-sysv
exit
;;
M680?0:D-NIX:5.3:
*
)
echo
m68k-diab-dnix
exit
;;
M68
*
:
*
:R3V[5678]
*
:
*
)
test
-r
/sysV68
&&
{
echo
'm68k-motorola-sysv'
;
exit
;
}
;;
3[345]??:
*
:4.0:3.0
|
3[34]??A:
*
:4.0:3.0
|
3[34]??,
*
:
*
:4.0:3.0
|
3[34]??/
*
:
*
:4.0:3.0
|
4400:
*
:4.0:3.0
|
4850:
*
:4.0:3.0
|
SKA40:
*
:4.0:3.0
|
SDS2:
*
:4.0:3.0
|
SHG2:
*
:4.0:3.0
|
S7501
*
:
*
:4.0:3.0
)
OS_REL
=
''
test
-r
/etc/.relid
\
&&
OS_REL
=
.
`
sed
-n
's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p'
< /etc/.relid
`
/bin/uname
-p
2>/dev/null |
grep
86
>
/dev/null
\
&&
{
echo
i486-ncr-sysv4.3
${
OS_REL
}
;
exit
;
}
/bin/uname
-p
2>/dev/null | /bin/grep entium
>
/dev/null
\
&&
{
echo
i586-ncr-sysv4.3
${
OS_REL
}
;
exit
;
}
;;
3[34]??:
*
:4.0:
*
|
3[34]??,
*
:
*
:4.0:
*
)
/bin/uname
-p
2>/dev/null |
grep
86
>
/dev/null
\
&&
{
echo
i486-ncr-sysv4
;
exit
;
}
;;
NCR
*
:
*
:4.2:
*
|
MPRAS
*
:
*
:4.2:
*
)
OS_REL
=
'.3'
test
-r
/etc/.relid
\
&&
OS_REL
=
.
`
sed
-n
's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p'
< /etc/.relid
`
/bin/uname
-p
2>/dev/null |
grep
86
>
/dev/null
\
&&
{
echo
i486-ncr-sysv4.3
${
OS_REL
}
;
exit
;
}
/bin/uname
-p
2>/dev/null | /bin/grep entium
>
/dev/null
\
&&
{
echo
i586-ncr-sysv4.3
${
OS_REL
}
;
exit
;
}
/bin/uname
-p
2>/dev/null | /bin/grep pteron
>
/dev/null
\
&&
{
echo
i586-ncr-sysv4.3
${
OS_REL
}
;
exit
;
}
;;
m68
*
:LynxOS:2.
*
:
*
|
m68
*
:LynxOS:3.0
*
:
*
)
echo
m68k-unknown-lynxos
${
UNAME_RELEASE
}
exit
;;
mc68030:UNIX_System_V:4.
*
:
*
)
echo
m68k-atari-sysv4
exit
;;
TSUNAMI:LynxOS:2.
*
:
*
)
echo
sparc-unknown-lynxos
${
UNAME_RELEASE
}
exit
;;
rs6000:LynxOS:2.
*
:
*
)
echo
rs6000-unknown-lynxos
${
UNAME_RELEASE
}
exit
;;
PowerPC:LynxOS:2.
*
:
*
|
PowerPC:LynxOS:3.[01]
*
:
*
|
PowerPC:LynxOS:4.[02]
*
:
*
)
echo
powerpc-unknown-lynxos
${
UNAME_RELEASE
}
exit
;;
SM[BE]S:UNIX_SV:
*
:
*
)
echo
mips-dde-sysv
${
UNAME_RELEASE
}
exit
;;
RM
*
:ReliantUNIX-
*
:
*
:
*
)
echo
mips-sni-sysv4
exit
;;
RM
*
:SINIX-
*
:
*
:
*
)
echo
mips-sni-sysv4
exit
;;
*
:SINIX-
*
:
*
:
*
)
if
uname
-p
2>/dev/null
>
/dev/null
;
then
UNAME_MACHINE
=
`
(
uname
-p
)
2>/dev/null
`
echo
${
UNAME_MACHINE
}
-sni-sysv4
else
echo
ns32k-sni-sysv
fi
exit
;;
PENTIUM:
*
:4.0
*
:
*
)
# Unisys `ClearPath HMP IX 4000' SVR4/MP effort
# says <Richard.M.Bartel@ccMail.Census.GOV>
echo
i586-unisys-sysv4
exit
;;
*
:UNIX_System_V:4
*
:FTX
*
)
# From Gerald Hewes <hewes@openmarket.com>.
# How about differentiating between stratus architectures? -djm
echo
hppa1.1-stratus-sysv4
exit
;;
*
:
*
:
*
:FTX
*
)
# From seanf@swdc.stratus.com.
echo
i860-stratus-sysv4
exit
;;
i
*
86:VOS:
*
:
*
)
# From Paul.Green@stratus.com.
echo
${
UNAME_MACHINE
}
-stratus-vos
exit
;;
*
:VOS:
*
:
*
)
# From Paul.Green@stratus.com.
echo
hppa1.1-stratus-vos
exit
;;
mc68
*
:A/UX:
*
:
*
)
echo
m68k-apple-aux
${
UNAME_RELEASE
}
exit
;;
news
*
:NEWS-OS:6
*
:
*
)
echo
mips-sony-newsos6
exit
;;
R[34]000:
*
System_V
*
:
*
:
*
|
R4000:UNIX_SYSV:
*
:
*
|
R
*
000:UNIX_SV:
*
:
*
)
if
[
-d
/usr/nec
]
;
then
echo
mips-nec-sysv
${
UNAME_RELEASE
}
else
echo
mips-unknown-sysv
${
UNAME_RELEASE
}
fi
exit
;;
BeBox:BeOS:
*
:
*
)
# BeOS running on hardware made by Be, PPC only.
echo
powerpc-be-beos
exit
;;
BeMac:BeOS:
*
:
*
)
# BeOS running on Mac or Mac clone, PPC only.
echo
powerpc-apple-beos
exit
;;
BePC:BeOS:
*
:
*
)
# BeOS running on Intel PC compatible.
echo
i586-pc-beos
exit
;;
BePC:Haiku:
*
:
*
)
# Haiku running on Intel PC compatible.
echo
i586-pc-haiku
exit
;;
SX-4:SUPER-UX:
*
:
*
)
echo
sx4-nec-superux
${
UNAME_RELEASE
}
exit
;;
SX-5:SUPER-UX:
*
:
*
)
echo
sx5-nec-superux
${
UNAME_RELEASE
}
exit
;;
SX-6:SUPER-UX:
*
:
*
)
echo
sx6-nec-superux
${
UNAME_RELEASE
}
exit
;;
SX-7:SUPER-UX:
*
:
*
)
echo
sx7-nec-superux
${
UNAME_RELEASE
}
exit
;;
SX-8:SUPER-UX:
*
:
*
)
echo
sx8-nec-superux
${
UNAME_RELEASE
}
exit
;;
SX-8R:SUPER-UX:
*
:
*
)
echo
sx8r-nec-superux
${
UNAME_RELEASE
}
exit
;;
Power
*
:Rhapsody:
*
:
*
)
echo
powerpc-apple-rhapsody
${
UNAME_RELEASE
}
exit
;;
*
:Rhapsody:
*
:
*
)
echo
${
UNAME_MACHINE
}
-apple-rhapsody
${
UNAME_RELEASE
}
exit
;;
*
:Darwin:
*
:
*
)
UNAME_PROCESSOR
=
`
uname
-p
`
||
UNAME_PROCESSOR
=
unknown
case
$UNAME_PROCESSOR
in
i386
)
eval
$set_cc_for_build
if
[
"
$CC_FOR_BUILD
"
!=
'no_compiler_found'
]
;
then
if
(
echo
'#ifdef __LP64__'
;
echo
IS_64BIT_ARCH
;
echo
'#endif'
)
|
\
(
CCOPTS
=
$CC_FOR_BUILD
-E
- 2>/dev/null
)
|
\
grep
IS_64BIT_ARCH
>
/dev/null
then
UNAME_PROCESSOR
=
"x86_64"
fi
fi
;;
unknown
)
UNAME_PROCESSOR
=
powerpc
;;
esac
echo
${
UNAME_PROCESSOR
}
-apple-darwin
${
UNAME_RELEASE
}
exit
;;
*
:procnto
*
:
*
:
*
|
*
:QNX:[0123456789]
*
:
*
)
UNAME_PROCESSOR
=
`
uname
-p
`
if
test
"
$UNAME_PROCESSOR
"
=
"x86"
;
then
UNAME_PROCESSOR
=
i386
UNAME_MACHINE
=
pc
fi
echo
${
UNAME_PROCESSOR
}
-
${
UNAME_MACHINE
}
-nto-qnx
${
UNAME_RELEASE
}
exit
;;
*
:QNX:
*
:4
*
)
echo
i386-pc-qnx
exit
;;
NEO-?:NONSTOP_KERNEL:
*
:
*
)
echo
neo-tandem-nsk
${
UNAME_RELEASE
}
exit
;;
NSE-?:NONSTOP_KERNEL:
*
:
*
)
echo
nse-tandem-nsk
${
UNAME_RELEASE
}
exit
;;
NSR-?:NONSTOP_KERNEL:
*
:
*
)
echo
nsr-tandem-nsk
${
UNAME_RELEASE
}
exit
;;
*
:NonStop-UX:
*
:
*
)
echo
mips-compaq-nonstopux
exit
;;
BS2000:POSIX
*
:
*
:
*
)
echo
bs2000-siemens-sysv
exit
;;
DS/
*
:UNIX_System_V:
*
:
*
)
echo
${
UNAME_MACHINE
}
-
${
UNAME_SYSTEM
}
-
${
UNAME_RELEASE
}
exit
;;
*
:Plan9:
*
:
*
)
# "uname -m" is not consistent, so use $cputype instead. 386
# is converted to i386 for consistency with other x86
# operating systems.
if
test
"
$cputype
"
=
"386"
;
then
UNAME_MACHINE
=
i386
else
UNAME_MACHINE
=
"
$cputype
"
fi
echo
${
UNAME_MACHINE
}
-unknown-plan9
exit
;;
*
:TOPS-10:
*
:
*
)
echo
pdp10-unknown-tops10
exit
;;
*
:TENEX:
*
:
*
)
echo
pdp10-unknown-tenex
exit
;;
KS10:TOPS-20:
*
:
*
|
KL10:TOPS-20:
*
:
*
|
TYPE4:TOPS-20:
*
:
*
)
echo
pdp10-dec-tops20
exit
;;
XKL-1:TOPS-20:
*
:
*
|
TYPE5:TOPS-20:
*
:
*
)
echo
pdp10-xkl-tops20
exit
;;
*
:TOPS-20:
*
:
*
)
echo
pdp10-unknown-tops20
exit
;;
*
:ITS:
*
:
*
)
echo
pdp10-unknown-its
exit
;;
SEI:
*
:
*
:SEIUX
)
echo
mips-sei-seiux
${
UNAME_RELEASE
}
exit
;;
*
:DragonFly:
*
:
*
)
echo
${
UNAME_MACHINE
}
-unknown-dragonfly
`
echo
${
UNAME_RELEASE
}
|sed
-e
's/[-(].*//'
`
exit
;;
*
:
*
VMS:
*
:
*
)
UNAME_MACHINE
=
`
(
uname
-p
)
2>/dev/null
`
case
"
${
UNAME_MACHINE
}
"
in
A
*
)
echo
alpha-dec-vms
;
exit
;;
I
*
)
echo
ia64-dec-vms
;
exit
;;
V
*
)
echo
vax-dec-vms
;
exit
;;
esac
;;
*
:XENIX:
*
:SysV
)
echo
i386-pc-xenix
exit
;;
i
*
86:skyos:
*
:
*
)
echo
${
UNAME_MACHINE
}
-pc-skyos
`
echo
${
UNAME_RELEASE
}
`
|
sed
-e
's/ .*$//'
exit
;;
i
*
86:rdos:
*
:
*
)
echo
${
UNAME_MACHINE
}
-pc-rdos
exit
;;
i
*
86:AROS:
*
:
*
)
echo
${
UNAME_MACHINE
}
-pc-aros
exit
;;
x86_64:VMkernel:
*
:
*
)
echo
${
UNAME_MACHINE
}
-unknown-esx
exit
;;
esac
#echo '(No uname command or uname output not recognized.)' 1>&2
#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
eval
$set_cc_for_build
cat
>
$dummy
.c
<<
EOF
#ifdef _SEQUENT_
# include <sys/types.h>
# include <sys/utsname.h>
#endif
main ()
{
#if defined (sony)
#if defined (MIPSEB)
/* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
I don't know.... */
printf ("mips-sony-bsd
\n
"); exit (0);
#else
#include <sys/param.h>
printf ("m68k-sony-newsos%s
\n
",
#ifdef NEWSOS4
"4"
#else
""
#endif
); exit (0);
#endif
#endif
#if defined (__arm) && defined (__acorn) && defined (__unix)
printf ("arm-acorn-riscix
\n
"); exit (0);
#endif
#if defined (hp300) && !defined (hpux)
printf ("m68k-hp-bsd
\n
"); exit (0);
#endif
#if defined (NeXT)
#if !defined (__ARCHITECTURE__)
#define __ARCHITECTURE__ "m68k"
#endif
int version;
version=`(hostinfo | sed -n 's/.*NeXT Mach
\(
[0-9]*
\)
.*/
\1
/p') 2>/dev/null`;
if (version < 4)
printf ("%s-next-nextstep%d
\n
", __ARCHITECTURE__, version);
else
printf ("%s-next-openstep%d
\n
", __ARCHITECTURE__, version);
exit (0);
#endif
#if defined (MULTIMAX) || defined (n16)
#if defined (UMAXV)
printf ("ns32k-encore-sysv
\n
"); exit (0);
#else
#if defined (CMU)
printf ("ns32k-encore-mach
\n
"); exit (0);
#else
printf ("ns32k-encore-bsd
\n
"); exit (0);
#endif
#endif
#endif
#if defined (__386BSD__)
printf ("i386-pc-bsd
\n
"); exit (0);
#endif
#if defined (sequent)
#if defined (i386)
printf ("i386-sequent-dynix
\n
"); exit (0);
#endif
#if defined (ns32000)
printf ("ns32k-sequent-dynix
\n
"); exit (0);
#endif
#endif
#if defined (_SEQUENT_)
struct utsname un;
uname(&un);
if (strncmp(un.version, "V2", 2) == 0) {
printf ("i386-sequent-ptx2
\n
"); exit (0);
}
if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
printf ("i386-sequent-ptx1
\n
"); exit (0);
}
printf ("i386-sequent-ptx
\n
"); exit (0);
#endif
#if defined (vax)
# if !defined (ultrix)
# include <sys/param.h>
# if defined (BSD)
# if BSD == 43
printf ("vax-dec-bsd4.3
\n
"); exit (0);
# else
# if BSD == 199006
printf ("vax-dec-bsd4.3reno
\n
"); exit (0);
# else
printf ("vax-dec-bsd
\n
"); exit (0);
# endif
# endif
# else
printf ("vax-dec-bsd
\n
"); exit (0);
# endif
# else
printf ("vax-dec-ultrix
\n
"); exit (0);
# endif
#endif
#if defined (alliant) && defined (i860)
printf ("i860-alliant-bsd
\n
"); exit (0);
#endif
exit (1);
}
EOF
$CC_FOR_BUILD
-o
$dummy
$dummy
.c 2>/dev/null
&&
SYSTEM_NAME
=
`
$dummy
`
&&
{
echo
"
$SYSTEM_NAME
"
;
exit
;
}
# Apollos put the system type in the environment.
test
-d
/usr/apollo
&&
{
echo
${
ISP
}
-apollo-
${
SYSTYPE
}
;
exit
;
}
# Convex versions that predate uname can use getsysinfo(1)
if
[
-x
/usr/convex/getsysinfo
]
then
case
`
getsysinfo
-f
cpu_type
`
in
c1
*
)
echo
c1-convex-bsd
exit
;;
c2
*
)
if
getsysinfo
-f
scalar_acc
then
echo
c32-convex-bsd
else
echo
c2-convex-bsd
fi
exit
;;
c34
*
)
echo
c34-convex-bsd
exit
;;
c38
*
)
echo
c38-convex-bsd
exit
;;
c4
*
)
echo
c4-convex-bsd
exit
;;
esac
fi
cat
>
&2
<<
EOF
$0
: unable to guess system type
This script, last modified
$timestamp
, has failed to recognize
the operating system you are using. It is advised that you
download the most up to date version of the config scripts from
http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
and
http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
If the version you run (
$0
) is already up to date, please
send the following data and any information you think might be
pertinent to <config-patches@gnu.org> in order to provide the needed
information to handle your system.
config.guess timestamp =
$timestamp
uname -m = `(uname -m) 2>/dev/null || echo unknown`
uname -r = `(uname -r) 2>/dev/null || echo unknown`
uname -s = `(uname -s) 2>/dev/null || echo unknown`
uname -v = `(uname -v) 2>/dev/null || echo unknown`
/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
/bin/uname -X = `(/bin/uname -X) 2>/dev/null`
hostinfo = `(hostinfo) 2>/dev/null`
/bin/universe = `(/bin/universe) 2>/dev/null`
/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
/bin/arch = `(/bin/arch) 2>/dev/null`
/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
UNAME_MACHINE =
${
UNAME_MACHINE
}
UNAME_RELEASE =
${
UNAME_RELEASE
}
UNAME_SYSTEM =
${
UNAME_SYSTEM
}
UNAME_VERSION =
${
UNAME_VERSION
}
EOF
exit
1
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "timestamp='"
# time-stamp-format: "%:y-%02m-%02d"
# time-stamp-end: "'"
# End:
config.sub
0 → 100644
View file @
d65e2bab
#! /bin/sh
# Configuration validation subroutine script.
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
# 2011, 2012 Free Software Foundation, Inc.
timestamp
=
'2012-04-18'
# This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software
# can handle that machine. It does not imply ALL GNU software can.
#
# This file is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, see <http://www.gnu.org/licenses/>.
#
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
# Please send patches to <config-patches@gnu.org>. Submit a context
# diff and a properly formatted GNU ChangeLog entry.
#
# Configuration subroutine to validate and canonicalize a configuration type.
# Supply the specified configuration type as an argument.
# If it is invalid, we print an error message on stderr and exit with code 1.
# Otherwise, we print the canonical config type on stdout and succeed.
# You can get the latest version of this script from:
# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
# This file is supposed to be the same for all GNU packages
# and recognize all the CPU types, system types and aliases
# that are meaningful with *any* GNU software.
# Each package is responsible for reporting which valid configurations
# it does not support. The user should be able to distinguish
# a failure to support a valid configuration from a meaningless
# configuration.
# The goal of this file is to map all the various variations of a given
# machine specification into a single specification in the form:
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
# or in some cases, the newer four-part form:
# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
# It is wrong to echo any other type of specification.
me
=
`
echo
"
$0
"
|
sed
-e
's,.*/,,'
`
usage
=
"
\
Usage:
$0
[OPTION] CPU-MFR-OPSYS
$0
[OPTION] ALIAS
Canonicalize a configuration name.
Operation modes:
-h, --help print this help, then exit
-t, --time-stamp print date of last modification, then exit
-v, --version print version number, then exit
Report bugs and patches to <config-patches@gnu.org>."
version
=
"
\
GNU config.sub (
$timestamp
)
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
help
=
"
Try
\`
$me
--help' for more information."
# Parse command line
while
test
$#
-gt
0
;
do
case
$1
in
--time-stamp
|
--time
*
|
-t
)
echo
"
$timestamp
"
;
exit
;;
--version
|
-v
)
echo
"
$version
"
;
exit
;;
--help
|
--h
*
|
-h
)
echo
"
$usage
"
;
exit
;;
--
)
# Stop option processing
shift
;
break
;;
-
)
# Use stdin as input.
break
;;
-
*
)
echo
"
$me
: invalid option
$1$help
"
exit
1
;;
*
local
*
)
# First pass through any local machine types.
echo
$1
exit
;;
*
)
break
;;
esac
done
case
$#
in
0
)
echo
"
$me
: missing argument
$help
"
>
&2
exit
1
;;
1
)
;;
*
)
echo
"
$me
: too many arguments
$help
"
>
&2
exit
1
;;
esac
# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
# Here we must recognize all the valid KERNEL-OS combinations.
maybe_os
=
`
echo
$1
|
sed
's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'
`
case
$maybe_os
in
nto-qnx
*
|
linux-gnu
*
|
linux-android
*
|
linux-dietlibc
|
linux-newlib
*
|
\
linux-uclibc
*
|
uclinux-uclibc
*
|
uclinux-gnu
*
|
kfreebsd
*
-gnu
*
|
\
knetbsd
*
-gnu
*
|
netbsd
*
-gnu
*
|
\
kopensolaris
*
-gnu
*
|
\
storm-chaos
*
|
os2-emx
*
|
rtmk-nova
*
)
os
=
-
$maybe_os
basic_machine
=
`
echo
$1
|
sed
's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'
`
;;
android-linux
)
os
=
-linux-android
basic_machine
=
`
echo
$1
|
sed
's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'
`
-unknown
;;
*
)
basic_machine
=
`
echo
$1
|
sed
's/-[^-]*$//'
`
if
[
$basic_machine
!=
$1
]
then
os
=
`
echo
$1
|
sed
's/.*-/-/'
`
else
os
=
;
fi
;;
esac
### Let's recognize common machines as not being operating systems so
### that things like config.sub decstation-3100 work. We also
### recognize some manufacturers as not being operating systems, so we
### can provide default operating systems below.
case
$os
in
-sun
*
os
*
)
# Prevent following clause from handling this invalid input.
;;
-dec
*
|
-mips
*
|
-sequent
*
|
-encore
*
|
-pc532
*
|
-sgi
*
|
-sony
*
|
\
-att
*
|
-7300
*
|
-3300
*
|
-delta
*
|
-motorola
*
|
-sun
[
234]
*
|
\
-unicom
*
|
-ibm
*
|
-next
|
-hp
|
-isi
*
|
-apollo
|
-altos
*
|
\
-convergent
*
|
-ncr
*
|
-news
|
-32
*
|
-3600
*
|
-3100
*
|
-hitachi
*
|
\
-c
[
123]
*
|
-convex
*
|
-sun
|
-crds
|
-omron
*
|
-dg
|
-ultra
|
-tti
*
|
\
-harris
|
-dolphin
|
-highlevel
|
-gould
|
-cbm
|
-ns
|
-masscomp
|
\
-apple
|
-axis
|
-knuth
|
-cray
|
-microblaze
)
os
=
basic_machine
=
$1
;;
-bluegene
*
)
os
=
-cnk
;;
-sim
|
-cisco
|
-oki
|
-wec
|
-winbond
)
os
=
basic_machine
=
$1
;;
-scout
)
;;
-wrs
)
os
=
-vxworks
basic_machine
=
$1
;;
-chorusos
*
)
os
=
-chorusos
basic_machine
=
$1
;;
-chorusrdb
)
os
=
-chorusrdb
basic_machine
=
$1
;;
-hiux
*
)
os
=
-hiuxwe2
;;
-sco6
)
os
=
-sco5v6
basic_machine
=
`
echo
$1
|
sed
-e
's/86-.*/86-pc/'
`
;;
-sco5
)
os
=
-sco3
.2v5
basic_machine
=
`
echo
$1
|
sed
-e
's/86-.*/86-pc/'
`
;;
-sco4
)
os
=
-sco3
.2v4
basic_machine
=
`
echo
$1
|
sed
-e
's/86-.*/86-pc/'
`
;;
-sco3
.2.[4-9]
*
)
os
=
`
echo
$os
|
sed
-e
's/sco3.2./sco3.2v/'
`
basic_machine
=
`
echo
$1
|
sed
-e
's/86-.*/86-pc/'
`
;;
-sco3
.2v[4-9]
*
)
# Don't forget version if it is 3.2v4 or newer.
basic_machine
=
`
echo
$1
|
sed
-e
's/86-.*/86-pc/'
`
;;
-sco5v6
*
)
# Don't forget version if it is 3.2v4 or newer.
basic_machine
=
`
echo
$1
|
sed
-e
's/86-.*/86-pc/'
`
;;
-sco
*
)
os
=
-sco3
.2v2
basic_machine
=
`
echo
$1
|
sed
-e
's/86-.*/86-pc/'
`
;;
-udk
*
)
basic_machine
=
`
echo
$1
|
sed
-e
's/86-.*/86-pc/'
`
;;
-isc
)
os
=
-isc2
.2
basic_machine
=
`
echo
$1
|
sed
-e
's/86-.*/86-pc/'
`
;;
-clix
*
)
basic_machine
=
clipper-intergraph
;;
-isc
*
)
basic_machine
=
`
echo
$1
|
sed
-e
's/86-.*/86-pc/'
`
;;
-lynx
*
178
)
os
=
-lynxos178
;;
-lynx
*
5
)
os
=
-lynxos5
;;
-lynx
*
)
os
=
-lynxos
;;
-ptx
*
)
basic_machine
=
`
echo
$1
|
sed
-e
's/86-.*/86-sequent/'
`
;;
-windowsnt
*
)
os
=
`
echo
$os
|
sed
-e
's/windowsnt/winnt/'
`
;;
-psos
*
)
os
=
-psos
;;
-mint
|
-mint
[
0-9]
*
)
basic_machine
=
m68k-atari
os
=
-mint
;;
esac
# Decode aliases for certain CPU-COMPANY combinations.
case
$basic_machine
in
# Recognize the basic CPU types without company name.
# Some are omitted here because they have special meanings below.
1750a
|
580
\
|
a29k
\
|
aarch64
|
aarch64_be
\
|
alpha
|
alphaev[4-8]
|
alphaev56
|
alphaev6[78]
|
alphapca5[67]
\
|
alpha64
|
alpha64ev[4-8]
|
alpha64ev56
|
alpha64ev6[78]
|
alpha64pca5[67]
\
|
am33_2.0
\
|
arc
|
arm
|
arm[bl]e
|
arme[lb]
|
armv[2345]
|
armv[345][lb]
|
avr
|
avr32
\
|
be32
|
be64
\
|
bfin
\
|
c4x
|
clipper
\
|
d10v
|
d30v
|
dlx
|
dsp16xx
\
|
epiphany
\
|
fido
|
fr30
|
frv
\
|
h8300
|
h8500
|
hppa
|
hppa1.[01]
|
hppa2.0
|
hppa2.0[nw]
|
hppa64
\
|
hexagon
\
|
i370
|
i860
|
i960
|
ia64
\
|
ip2k
|
iq2000
\
|
le32
|
le64
\
|
lm32
\
|
m32c
|
m32r
|
m32rle
|
m68000
|
m68k
|
m88k
\
|
maxq
|
mb
|
microblaze
|
mcore
|
mep
|
metag
\
|
mips
|
mipsbe
|
mipseb
|
mipsel
|
mipsle
\
|
mips16
\
|
mips64
|
mips64el
\
|
mips64octeon
|
mips64octeonel
\
|
mips64orion
|
mips64orionel
\
|
mips64r5900
|
mips64r5900el
\
|
mips64vr
|
mips64vrel
\
|
mips64vr4100
|
mips64vr4100el
\
|
mips64vr4300
|
mips64vr4300el
\
|
mips64vr5000
|
mips64vr5000el
\
|
mips64vr5900
|
mips64vr5900el
\
|
mipsisa32
|
mipsisa32el
\
|
mipsisa32r2
|
mipsisa32r2el
\
|
mipsisa64
|
mipsisa64el
\
|
mipsisa64r2
|
mipsisa64r2el
\
|
mipsisa64sb1
|
mipsisa64sb1el
\
|
mipsisa64sr71k
|
mipsisa64sr71kel
\
|
mipstx39
|
mipstx39el
\
|
mn10200
|
mn10300
\
|
moxie
\
|
mt
\
|
msp430
\
|
nds32
|
nds32le
|
nds32be
\
|
nios
|
nios2
\
|
ns16k
|
ns32k
\
|
open8
\
|
or32
\
|
pdp10
|
pdp11
|
pj
|
pjl
\
|
powerpc
|
powerpc64
|
powerpc64le
|
powerpcle
\
|
pyramid
\
|
rl78
|
rx
\
|
score
\
|
sh
|
sh[1234]
|
sh[24]a
|
sh[24]aeb
|
sh[23]e
|
sh[34]eb
|
sheb
|
shbe
|
shle
|
sh[1234]le
|
sh3ele
\
|
sh64
|
sh64le
\
|
sparc
|
sparc64
|
sparc64b
|
sparc64v
|
sparc86x
|
sparclet
|
sparclite
\
|
sparcv8
|
sparcv9
|
sparcv9b
|
sparcv9v
\
|
spu
\
|
tahoe
|
tic4x
|
tic54x
|
tic55x
|
tic6x
|
tic80
|
tron
\
|
ubicom32
\
|
v850
|
v850e
|
v850e1
|
v850e2
|
v850es
|
v850e2v3
\
|
we32k
\
|
x86
|
xc16x
|
xstormy16
|
xtensa
\
|
z8k
|
z80
)
basic_machine
=
$basic_machine
-unknown
;;
c54x
)
basic_machine
=
tic54x-unknown
;;
c55x
)
basic_machine
=
tic55x-unknown
;;
c6x
)
basic_machine
=
tic6x-unknown
;;
m6811
|
m68hc11
|
m6812
|
m68hc12
|
m68hcs12x
|
picochip
)
basic_machine
=
$basic_machine
-unknown
os
=
-none
;;
m88110
|
m680[12346]0
|
m683?2
|
m68360
|
m5200
|
v70
|
w65
|
z8k
)
;;
ms1
)
basic_machine
=
mt-unknown
;;
strongarm
|
thumb
|
xscale
)
basic_machine
=
arm-unknown
;;
xgate
)
basic_machine
=
$basic_machine
-unknown
os
=
-none
;;
xscaleeb
)
basic_machine
=
armeb-unknown
;;
xscaleel
)
basic_machine
=
armel-unknown
;;
# We use `pc' rather than `unknown'
# because (1) that's what they normally are, and
# (2) the word "unknown" tends to confuse beginning users.
i
*
86
|
x86_64
)
basic_machine
=
$basic_machine
-pc
;;
# Object if more than one company name word.
*
-
*
-
*
)
echo
Invalid configuration
\`
$1
\'
: machine
\`
$basic_machine
\'
not recognized 1>&2
exit
1
;;
# Recognize the basic CPU types with company name.
580-
*
\
|
a29k-
*
\
|
aarch64-
*
|
aarch64_be-
*
\
|
alpha-
*
|
alphaev[4-8]-
*
|
alphaev56-
*
|
alphaev6[78]-
*
\
|
alpha64-
*
|
alpha64ev[4-8]-
*
|
alpha64ev56-
*
|
alpha64ev6[78]-
*
\
|
alphapca5[67]-
*
|
alpha64pca5[67]-
*
|
arc-
*
\
|
arm-
*
|
armbe-
*
|
armle-
*
|
armeb-
*
|
armv
*
-
*
\
|
avr-
*
|
avr32-
*
\
|
be32-
*
|
be64-
*
\
|
bfin-
*
|
bs2000-
*
\
|
c[123]
*
|
c30-
*
|
[
cjt]90-
*
|
c4x-
*
\
|
clipper-
*
|
craynv-
*
|
cydra-
*
\
|
d10v-
*
|
d30v-
*
|
dlx-
*
\
|
elxsi-
*
\
|
f30[01]-
*
|
f700-
*
|
fido-
*
|
fr30-
*
|
frv-
*
|
fx80-
*
\
|
h8300-
*
|
h8500-
*
\
|
hppa-
*
|
hppa1.[01]-
*
|
hppa2.0-
*
|
hppa2.0[nw]-
*
|
hppa64-
*
\
|
hexagon-
*
\
|
i
*
86-
*
|
i860-
*
|
i960-
*
|
ia64-
*
\
|
ip2k-
*
|
iq2000-
*
\
|
le32-
*
|
le64-
*
\
|
lm32-
*
\
|
m32c-
*
|
m32r-
*
|
m32rle-
*
\
|
m68000-
*
|
m680[012346]0-
*
|
m68360-
*
|
m683?2-
*
|
m68k-
*
\
|
m88110-
*
|
m88k-
*
|
maxq-
*
|
mcore-
*
|
metag-
*
|
microblaze-
*
\
|
mips-
*
|
mipsbe-
*
|
mipseb-
*
|
mipsel-
*
|
mipsle-
*
\
|
mips16-
*
\
|
mips64-
*
|
mips64el-
*
\
|
mips64octeon-
*
|
mips64octeonel-
*
\
|
mips64orion-
*
|
mips64orionel-
*
\
|
mips64r5900-
*
|
mips64r5900el-
*
\
|
mips64vr-
*
|
mips64vrel-
*
\
|
mips64vr4100-
*
|
mips64vr4100el-
*
\
|
mips64vr4300-
*
|
mips64vr4300el-
*
\
|
mips64vr5000-
*
|
mips64vr5000el-
*
\
|
mips64vr5900-
*
|
mips64vr5900el-
*
\
|
mipsisa32-
*
|
mipsisa32el-
*
\
|
mipsisa32r2-
*
|
mipsisa32r2el-
*
\
|
mipsisa64-
*
|
mipsisa64el-
*
\
|
mipsisa64r2-
*
|
mipsisa64r2el-
*
\
|
mipsisa64sb1-
*
|
mipsisa64sb1el-
*
\
|
mipsisa64sr71k-
*
|
mipsisa64sr71kel-
*
\
|
mipstx39-
*
|
mipstx39el-
*
\
|
mmix-
*
\
|
mt-
*
\
|
msp430-
*
\
|
nds32-
*
|
nds32le-
*
|
nds32be-
*
\
|
nios-
*
|
nios2-
*
\
|
none-
*
|
np1-
*
|
ns16k-
*
|
ns32k-
*
\
|
open8-
*
\
|
orion-
*
\
|
pdp10-
*
|
pdp11-
*
|
pj-
*
|
pjl-
*
|
pn-
*
|
power-
*
\
|
powerpc-
*
|
powerpc64-
*
|
powerpc64le-
*
|
powerpcle-
*
\
|
pyramid-
*
\
|
rl78-
*
|
romp-
*
|
rs6000-
*
|
rx-
*
\
|
sh-
*
|
sh[1234]-
*
|
sh[24]a-
*
|
sh[24]aeb-
*
|
sh[23]e-
*
|
sh[34]eb-
*
|
sheb-
*
|
shbe-
*
\
|
shle-
*
|
sh[1234]le-
*
|
sh3ele-
*
|
sh64-
*
|
sh64le-
*
\
|
sparc-
*
|
sparc64-
*
|
sparc64b-
*
|
sparc64v-
*
|
sparc86x-
*
|
sparclet-
*
\
|
sparclite-
*
\
|
sparcv8-
*
|
sparcv9-
*
|
sparcv9b-
*
|
sparcv9v-
*
|
sv1-
*
|
sx?-
*
\
|
tahoe-
*
\
|
tic30-
*
|
tic4x-
*
|
tic54x-
*
|
tic55x-
*
|
tic6x-
*
|
tic80-
*
\
|
tile
*
-
*
\
|
tron-
*
\
|
ubicom32-
*
\
|
v850-
*
|
v850e-
*
|
v850e1-
*
|
v850es-
*
|
v850e2-
*
|
v850e2v3-
*
\
|
vax-
*
\
|
we32k-
*
\
|
x86-
*
|
x86_64-
*
|
xc16x-
*
|
xps100-
*
\
|
xstormy16-
*
|
xtensa
*
-
*
\
|
ymp-
*
\
|
z8k-
*
|
z80-
*
)
;;
# Recognize the basic CPU types without company name, with glob match.
xtensa
*
)
basic_machine
=
$basic_machine
-unknown
;;
# Recognize the various machine names and aliases which stand
# for a CPU type and a company and sometimes even an OS.
386bsd
)
basic_machine
=
i386-unknown
os
=
-bsd
;;
3b1
|
7300
|
7300-att
|
att-7300
|
pc7300
|
safari
|
unixpc
)
basic_machine
=
m68000-att
;;
3b
*
)
basic_machine
=
we32k-att
;;
a29khif
)
basic_machine
=
a29k-amd
os
=
-udi
;;
abacus
)
basic_machine
=
abacus-unknown
;;
adobe68k
)
basic_machine
=
m68010-adobe
os
=
-scout
;;
alliant
|
fx80
)
basic_machine
=
fx80-alliant
;;
altos
|
altos3068
)
basic_machine
=
m68k-altos
;;
am29k
)
basic_machine
=
a29k-none
os
=
-bsd
;;
amd64
)
basic_machine
=
x86_64-pc
;;
amd64-
*
)
basic_machine
=
x86_64-
`
echo
$basic_machine
|
sed
's/^[^-]*-//'
`
;;
amdahl
)
basic_machine
=
580-amdahl
os
=
-sysv
;;
amiga
|
amiga-
*
)
basic_machine
=
m68k-unknown
;;
amigaos
|
amigados
)
basic_machine
=
m68k-unknown
os
=
-amigaos
;;
amigaunix
|
amix
)
basic_machine
=
m68k-unknown
os
=
-sysv4
;;
apollo68
)
basic_machine
=
m68k-apollo
os
=
-sysv
;;
apollo68bsd
)
basic_machine
=
m68k-apollo
os
=
-bsd
;;
aros
)
basic_machine
=
i386-pc
os
=
-aros
;;
aux
)
basic_machine
=
m68k-apple
os
=
-aux
;;
balance
)
basic_machine
=
ns32k-sequent
os
=
-dynix
;;
blackfin
)
basic_machine
=
bfin-unknown
os
=
-linux
;;
blackfin-
*
)
basic_machine
=
bfin-
`
echo
$basic_machine
|
sed
's/^[^-]*-//'
`
os
=
-linux
;;
bluegene
*
)
basic_machine
=
powerpc-ibm
os
=
-cnk
;;
c54x-
*
)
basic_machine
=
tic54x-
`
echo
$basic_machine
|
sed
's/^[^-]*-//'
`
;;
c55x-
*
)
basic_machine
=
tic55x-
`
echo
$basic_machine
|
sed
's/^[^-]*-//'
`
;;
c6x-
*
)
basic_machine
=
tic6x-
`
echo
$basic_machine
|
sed
's/^[^-]*-//'
`
;;
c90
)
basic_machine
=
c90-cray
os
=
-unicos
;;
cegcc
)
basic_machine
=
arm-unknown
os
=
-cegcc
;;
convex-c1
)
basic_machine
=
c1-convex
os
=
-bsd
;;
convex-c2
)
basic_machine
=
c2-convex
os
=
-bsd
;;
convex-c32
)
basic_machine
=
c32-convex
os
=
-bsd
;;
convex-c34
)
basic_machine
=
c34-convex
os
=
-bsd
;;
convex-c38
)
basic_machine
=
c38-convex
os
=
-bsd
;;
cray
|
j90
)
basic_machine
=
j90-cray
os
=
-unicos
;;
craynv
)
basic_machine
=
craynv-cray
os
=
-unicosmp
;;
cr16
|
cr16-
*
)
basic_machine
=
cr16-unknown
os
=
-elf
;;
crds
|
unos
)
basic_machine
=
m68k-crds
;;
crisv32
|
crisv32-
*
|
etraxfs
*
)
basic_machine
=
crisv32-axis
;;
cris
|
cris-
*
|
etrax
*
)
basic_machine
=
cris-axis
;;
crx
)
basic_machine
=
crx-unknown
os
=
-elf
;;
da30
|
da30-
*
)
basic_machine
=
m68k-da30
;;
decstation
|
decstation-3100
|
pmax
|
pmax-
*
|
pmin
|
dec3100
|
decstatn
)
basic_machine
=
mips-dec
;;
decsystem10
*
|
dec10
*
)
basic_machine
=
pdp10-dec
os
=
-tops10
;;
decsystem20
*
|
dec20
*
)
basic_machine
=
pdp10-dec
os
=
-tops20
;;
delta
|
3300
|
motorola-3300
|
motorola-delta
\
|
3300-motorola
|
delta-motorola
)
basic_machine
=
m68k-motorola
;;
delta88
)
basic_machine
=
m88k-motorola
os
=
-sysv3
;;
dicos
)
basic_machine
=
i686-pc
os
=
-dicos
;;
djgpp
)
basic_machine
=
i586-pc
os
=
-msdosdjgpp
;;
dpx20
|
dpx20-
*
)
basic_machine
=
rs6000-bull
os
=
-bosx
;;
dpx2
*
|
dpx2
*
-bull
)
basic_machine
=
m68k-bull
os
=
-sysv3
;;
ebmon29k
)
basic_machine
=
a29k-amd
os
=
-ebmon
;;
elxsi
)
basic_machine
=
elxsi-elxsi
os
=
-bsd
;;
encore
|
umax
|
mmax
)
basic_machine
=
ns32k-encore
;;
es1800
|
OSE68k
|
ose68k
|
ose
|
OSE
)
basic_machine
=
m68k-ericsson
os
=
-ose
;;
fx2800
)
basic_machine
=
i860-alliant
;;
genix
)
basic_machine
=
ns32k-ns
;;
gmicro
)
basic_machine
=
tron-gmicro
os
=
-sysv
;;
go32
)
basic_machine
=
i386-pc
os
=
-go32
;;
h3050r
*
|
hiux
*
)
basic_machine
=
hppa1.1-hitachi
os
=
-hiuxwe2
;;
h8300hms
)
basic_machine
=
h8300-hitachi
os
=
-hms
;;
h8300xray
)
basic_machine
=
h8300-hitachi
os
=
-xray
;;
h8500hms
)
basic_machine
=
h8500-hitachi
os
=
-hms
;;
harris
)
basic_machine
=
m88k-harris
os
=
-sysv3
;;
hp300-
*
)
basic_machine
=
m68k-hp
;;
hp300bsd
)
basic_machine
=
m68k-hp
os
=
-bsd
;;
hp300hpux
)
basic_machine
=
m68k-hp
os
=
-hpux
;;
hp3k9[0-9][0-9]
|
hp9[0-9][0-9]
)
basic_machine
=
hppa1.0-hp
;;
hp9k2[0-9][0-9]
|
hp9k31[0-9]
)
basic_machine
=
m68000-hp
;;
hp9k3[2-9][0-9]
)
basic_machine
=
m68k-hp
;;
hp9k6[0-9][0-9]
|
hp6[0-9][0-9]
)
basic_machine
=
hppa1.0-hp
;;
hp9k7[0-79][0-9]
|
hp7[0-79][0-9]
)
basic_machine
=
hppa1.1-hp
;;
hp9k78[0-9]
|
hp78[0-9]
)
# FIXME: really hppa2.0-hp
basic_machine
=
hppa1.1-hp
;;
hp9k8[67]1
|
hp8[67]1
|
hp9k80[24]
|
hp80[24]
|
hp9k8[78]9
|
hp8[78]9
|
hp9k893
|
hp893
)
# FIXME: really hppa2.0-hp
basic_machine
=
hppa1.1-hp
;;
hp9k8[0-9][13679]
|
hp8[0-9][13679]
)
basic_machine
=
hppa1.1-hp
;;
hp9k8[0-9][0-9]
|
hp8[0-9][0-9]
)
basic_machine
=
hppa1.0-hp
;;
hppa-next
)
os
=
-nextstep3
;;
hppaosf
)
basic_machine
=
hppa1.1-hp
os
=
-osf
;;
hppro
)
basic_machine
=
hppa1.1-hp
os
=
-proelf
;;
i370-ibm
*
|
ibm
*
)
basic_machine
=
i370-ibm
;;
i
*
86v32
)
basic_machine
=
`
echo
$1
|
sed
-e
's/86.*/86-pc/'
`
os
=
-sysv32
;;
i
*
86v4
*
)
basic_machine
=
`
echo
$1
|
sed
-e
's/86.*/86-pc/'
`
os
=
-sysv4
;;
i
*
86v
)
basic_machine
=
`
echo
$1
|
sed
-e
's/86.*/86-pc/'
`
os
=
-sysv
;;
i
*
86sol2
)
basic_machine
=
`
echo
$1
|
sed
-e
's/86.*/86-pc/'
`
os
=
-solaris2
;;
i386mach
)
basic_machine
=
i386-mach
os
=
-mach
;;
i386-vsta
|
vsta
)
basic_machine
=
i386-unknown
os
=
-vsta
;;
iris
|
iris4d
)
basic_machine
=
mips-sgi
case
$os
in
-irix
*
)
;;
*
)
os
=
-irix4
;;
esac
;;
isi68
|
isi
)
basic_machine
=
m68k-isi
os
=
-sysv
;;
m68knommu
)
basic_machine
=
m68k-unknown
os
=
-linux
;;
m68knommu-
*
)
basic_machine
=
m68k-
`
echo
$basic_machine
|
sed
's/^[^-]*-//'
`
os
=
-linux
;;
m88k-omron
*
)
basic_machine
=
m88k-omron
;;
magnum
|
m3230
)
basic_machine
=
mips-mips
os
=
-sysv
;;
merlin
)
basic_machine
=
ns32k-utek
os
=
-sysv
;;
microblaze
)
basic_machine
=
microblaze-xilinx
;;
mingw32
)
basic_machine
=
i386-pc
os
=
-mingw32
;;
mingw32ce
)
basic_machine
=
arm-unknown
os
=
-mingw32ce
;;
miniframe
)
basic_machine
=
m68000-convergent
;;
*
mint
|
-mint
[
0-9]
*
|
*
MiNT
|
*
MiNT[0-9]
*
)
basic_machine
=
m68k-atari
os
=
-mint
;;
mips3
*
-
*
)
basic_machine
=
`
echo
$basic_machine
|
sed
-e
's/mips3/mips64/'
`
;;
mips3
*
)
basic_machine
=
`
echo
$basic_machine
|
sed
-e
's/mips3/mips64/'
`
-unknown
;;
monitor
)
basic_machine
=
m68k-rom68k
os
=
-coff
;;
morphos
)
basic_machine
=
powerpc-unknown
os
=
-morphos
;;
msdos
)
basic_machine
=
i386-pc
os
=
-msdos
;;
ms1-
*
)
basic_machine
=
`
echo
$basic_machine
|
sed
-e
's/ms1-/mt-/'
`
;;
msys
)
basic_machine
=
i386-pc
os
=
-msys
;;
mvs
)
basic_machine
=
i370-ibm
os
=
-mvs
;;
nacl
)
basic_machine
=
le32-unknown
os
=
-nacl
;;
ncr3000
)
basic_machine
=
i486-ncr
os
=
-sysv4
;;
netbsd386
)
basic_machine
=
i386-unknown
os
=
-netbsd
;;
netwinder
)
basic_machine
=
armv4l-rebel
os
=
-linux
;;
news
|
news700
|
news800
|
news900
)
basic_machine
=
m68k-sony
os
=
-newsos
;;
news1000
)
basic_machine
=
m68030-sony
os
=
-newsos
;;
news-3600
|
risc-news
)
basic_machine
=
mips-sony
os
=
-newsos
;;
necv70
)
basic_machine
=
v70-nec
os
=
-sysv
;;
next
|
m
*
-next
)
basic_machine
=
m68k-next
case
$os
in
-nextstep
*
)
;;
-ns2
*
)
os
=
-nextstep2
;;
*
)
os
=
-nextstep3
;;
esac
;;
nh3000
)
basic_machine
=
m68k-harris
os
=
-cxux
;;
nh[45]000
)
basic_machine
=
m88k-harris
os
=
-cxux
;;
nindy960
)
basic_machine
=
i960-intel
os
=
-nindy
;;
mon960
)
basic_machine
=
i960-intel
os
=
-mon960
;;
nonstopux
)
basic_machine
=
mips-compaq
os
=
-nonstopux
;;
np1
)
basic_machine
=
np1-gould
;;
neo-tandem
)
basic_machine
=
neo-tandem
;;
nse-tandem
)
basic_machine
=
nse-tandem
;;
nsr-tandem
)
basic_machine
=
nsr-tandem
;;
op50n-
*
|
op60c-
*
)
basic_machine
=
hppa1.1-oki
os
=
-proelf
;;
openrisc
|
openrisc-
*
)
basic_machine
=
or32-unknown
;;
os400
)
basic_machine
=
powerpc-ibm
os
=
-os400
;;
OSE68000
|
ose68000
)
basic_machine
=
m68000-ericsson
os
=
-ose
;;
os68k
)
basic_machine
=
m68k-none
os
=
-os68k
;;
pa-hitachi
)
basic_machine
=
hppa1.1-hitachi
os
=
-hiuxwe2
;;
paragon
)
basic_machine
=
i860-intel
os
=
-osf
;;
parisc
)
basic_machine
=
hppa-unknown
os
=
-linux
;;
parisc-
*
)
basic_machine
=
hppa-
`
echo
$basic_machine
|
sed
's/^[^-]*-//'
`
os
=
-linux
;;
pbd
)
basic_machine
=
sparc-tti
;;
pbb
)
basic_machine
=
m68k-tti
;;
pc532
|
pc532-
*
)
basic_machine
=
ns32k-pc532
;;
pc98
)
basic_machine
=
i386-pc
;;
pc98-
*
)
basic_machine
=
i386-
`
echo
$basic_machine
|
sed
's/^[^-]*-//'
`
;;
pentium
|
p5
|
k5
|
k6
|
nexgen
|
viac3
)
basic_machine
=
i586-pc
;;
pentiumpro
|
p6
|
6x86
|
athlon
|
athlon_
*
)
basic_machine
=
i686-pc
;;
pentiumii
|
pentium2
|
pentiumiii
|
pentium3
)
basic_machine
=
i686-pc
;;
pentium4
)
basic_machine
=
i786-pc
;;
pentium-
*
|
p5-
*
|
k5-
*
|
k6-
*
|
nexgen-
*
|
viac3-
*
)
basic_machine
=
i586-
`
echo
$basic_machine
|
sed
's/^[^-]*-//'
`
;;
pentiumpro-
*
|
p6-
*
|
6x86-
*
|
athlon-
*
)
basic_machine
=
i686-
`
echo
$basic_machine
|
sed
's/^[^-]*-//'
`
;;
pentiumii-
*
|
pentium2-
*
|
pentiumiii-
*
|
pentium3-
*
)
basic_machine
=
i686-
`
echo
$basic_machine
|
sed
's/^[^-]*-//'
`
;;
pentium4-
*
)
basic_machine
=
i786-
`
echo
$basic_machine
|
sed
's/^[^-]*-//'
`
;;
pn
)
basic_machine
=
pn-gould
;;
power
)
basic_machine
=
power-ibm
;;
ppc
|
ppcbe
)
basic_machine
=
powerpc-unknown
;;
ppc-
*
|
ppcbe-
*
)
basic_machine
=
powerpc-
`
echo
$basic_machine
|
sed
's/^[^-]*-//'
`
;;
ppcle
|
powerpclittle
|
ppc-le
|
powerpc-little
)
basic_machine
=
powerpcle-unknown
;;
ppcle-
*
|
powerpclittle-
*
)
basic_machine
=
powerpcle-
`
echo
$basic_machine
|
sed
's/^[^-]*-//'
`
;;
ppc64
)
basic_machine
=
powerpc64-unknown
;;
ppc64-
*
)
basic_machine
=
powerpc64-
`
echo
$basic_machine
|
sed
's/^[^-]*-//'
`
;;
ppc64le
|
powerpc64little
|
ppc64-le
|
powerpc64-little
)
basic_machine
=
powerpc64le-unknown
;;
ppc64le-
*
|
powerpc64little-
*
)
basic_machine
=
powerpc64le-
`
echo
$basic_machine
|
sed
's/^[^-]*-//'
`
;;
ps2
)
basic_machine
=
i386-ibm
;;
pw32
)
basic_machine
=
i586-unknown
os
=
-pw32
;;
rdos
)
basic_machine
=
i386-pc
os
=
-rdos
;;
rom68k
)
basic_machine
=
m68k-rom68k
os
=
-coff
;;
rm
[
46]00
)
basic_machine
=
mips-siemens
;;
rtpc
|
rtpc-
*
)
basic_machine
=
romp-ibm
;;
s390
|
s390-
*
)
basic_machine
=
s390-ibm
;;
s390x
|
s390x-
*
)
basic_machine
=
s390x-ibm
;;
sa29200
)
basic_machine
=
a29k-amd
os
=
-udi
;;
sb1
)
basic_machine
=
mipsisa64sb1-unknown
;;
sb1el
)
basic_machine
=
mipsisa64sb1el-unknown
;;
sde
)
basic_machine
=
mipsisa32-sde
os
=
-elf
;;
sei
)
basic_machine
=
mips-sei
os
=
-seiux
;;
sequent
)
basic_machine
=
i386-sequent
;;
sh
)
basic_machine
=
sh-hitachi
os
=
-hms
;;
sh5el
)
basic_machine
=
sh5le-unknown
;;
sh64
)
basic_machine
=
sh64-unknown
;;
sparclite-wrs
|
simso-wrs
)
basic_machine
=
sparclite-wrs
os
=
-vxworks
;;
sps7
)
basic_machine
=
m68k-bull
os
=
-sysv2
;;
spur
)
basic_machine
=
spur-unknown
;;
st2000
)
basic_machine
=
m68k-tandem
;;
stratus
)
basic_machine
=
i860-stratus
os
=
-sysv4
;;
strongarm-
*
|
thumb-
*
)
basic_machine
=
arm-
`
echo
$basic_machine
|
sed
's/^[^-]*-//'
`
;;
sun2
)
basic_machine
=
m68000-sun
;;
sun2os3
)
basic_machine
=
m68000-sun
os
=
-sunos3
;;
sun2os4
)
basic_machine
=
m68000-sun
os
=
-sunos4
;;
sun3os3
)
basic_machine
=
m68k-sun
os
=
-sunos3
;;
sun3os4
)
basic_machine
=
m68k-sun
os
=
-sunos4
;;
sun4os3
)
basic_machine
=
sparc-sun
os
=
-sunos3
;;
sun4os4
)
basic_machine
=
sparc-sun
os
=
-sunos4
;;
sun4sol2
)
basic_machine
=
sparc-sun
os
=
-solaris2
;;
sun3
|
sun3-
*
)
basic_machine
=
m68k-sun
;;
sun4
)
basic_machine
=
sparc-sun
;;
sun386
|
sun386i
|
roadrunner
)
basic_machine
=
i386-sun
;;
sv1
)
basic_machine
=
sv1-cray
os
=
-unicos
;;
symmetry
)
basic_machine
=
i386-sequent
os
=
-dynix
;;
t3e
)
basic_machine
=
alphaev5-cray
os
=
-unicos
;;
t90
)
basic_machine
=
t90-cray
os
=
-unicos
;;
tile
*
)
basic_machine
=
$basic_machine
-unknown
os
=
-linux-gnu
;;
tx39
)
basic_machine
=
mipstx39-unknown
;;
tx39el
)
basic_machine
=
mipstx39el-unknown
;;
toad1
)
basic_machine
=
pdp10-xkl
os
=
-tops20
;;
tower
|
tower-32
)
basic_machine
=
m68k-ncr
;;
tpf
)
basic_machine
=
s390x-ibm
os
=
-tpf
;;
udi29k
)
basic_machine
=
a29k-amd
os
=
-udi
;;
ultra3
)
basic_machine
=
a29k-nyu
os
=
-sym1
;;
v810
|
necv810
)
basic_machine
=
v810-nec
os
=
-none
;;
vaxv
)
basic_machine
=
vax-dec
os
=
-sysv
;;
vms
)
basic_machine
=
vax-dec
os
=
-vms
;;
vpp
*
|
vx|vx-
*
)
basic_machine
=
f301-fujitsu
;;
vxworks960
)
basic_machine
=
i960-wrs
os
=
-vxworks
;;
vxworks68
)
basic_machine
=
m68k-wrs
os
=
-vxworks
;;
vxworks29k
)
basic_machine
=
a29k-wrs
os
=
-vxworks
;;
w65
*
)
basic_machine
=
w65-wdc
os
=
-none
;;
w89k-
*
)
basic_machine
=
hppa1.1-winbond
os
=
-proelf
;;
xbox
)
basic_machine
=
i686-pc
os
=
-mingw32
;;
xps
|
xps100
)
basic_machine
=
xps100-honeywell
;;
xscale-
*
|
xscalee[bl]-
*
)
basic_machine
=
`
echo
$basic_machine
|
sed
's/^xscale/arm/'
`
;;
ymp
)
basic_machine
=
ymp-cray
os
=
-unicos
;;
z8k-
*
-coff
)
basic_machine
=
z8k-unknown
os
=
-sim
;;
z80-
*
-coff
)
basic_machine
=
z80-unknown
os
=
-sim
;;
none
)
basic_machine
=
none-none
os
=
-none
;;
# Here we handle the default manufacturer of certain CPU types. It is in
# some cases the only manufacturer, in others, it is the most popular.
w89k
)
basic_machine
=
hppa1.1-winbond
;;
op50n
)
basic_machine
=
hppa1.1-oki
;;
op60c
)
basic_machine
=
hppa1.1-oki
;;
romp
)
basic_machine
=
romp-ibm
;;
mmix
)
basic_machine
=
mmix-knuth
;;
rs6000
)
basic_machine
=
rs6000-ibm
;;
vax
)
basic_machine
=
vax-dec
;;
pdp10
)
# there are many clones, so DEC is not a safe bet
basic_machine
=
pdp10-unknown
;;
pdp11
)
basic_machine
=
pdp11-dec
;;
we32k
)
basic_machine
=
we32k-att
;;
sh[1234]
|
sh[24]a
|
sh[24]aeb
|
sh[34]eb
|
sh[1234]le
|
sh[23]ele
)
basic_machine
=
sh-unknown
;;
sparc
|
sparcv8
|
sparcv9
|
sparcv9b
|
sparcv9v
)
basic_machine
=
sparc-sun
;;
cydra
)
basic_machine
=
cydra-cydrome
;;
orion
)
basic_machine
=
orion-highlevel
;;
orion105
)
basic_machine
=
clipper-highlevel
;;
mac
|
mpw
|
mac-mpw
)
basic_machine
=
m68k-apple
;;
pmac
|
pmac-mpw
)
basic_machine
=
powerpc-apple
;;
*
-unknown
)
# Make sure to match an already-canonicalized machine name.
;;
*
)
echo
Invalid configuration
\`
$1
\'
: machine
\`
$basic_machine
\'
not recognized 1>&2
exit
1
;;
esac
# Here we canonicalize certain aliases for manufacturers.
case
$basic_machine
in
*
-digital
*
)
basic_machine
=
`
echo
$basic_machine
|
sed
's/digital.*/dec/'
`
;;
*
-commodore
*
)
basic_machine
=
`
echo
$basic_machine
|
sed
's/commodore.*/cbm/'
`
;;
*
)
;;
esac
# Decode manufacturer-specific aliases for certain operating systems.
if
[
x
"
$os
"
!=
x
""
]
then
case
$os
in
# First match some system type aliases
# that might get confused with valid system types.
# -solaris* is a basic system type, with this one exception.
-auroraux
)
os
=
-auroraux
;;
-solaris1
|
-solaris1
.
*
)
os
=
`
echo
$os
|
sed
-e
's|solaris1|sunos4|'
`
;;
-solaris
)
os
=
-solaris2
;;
-svr4
*
)
os
=
-sysv4
;;
-unixware
*
)
os
=
-sysv4
.2uw
;;
-gnu
/linux
*
)
os
=
`
echo
$os
|
sed
-e
's|gnu/linux|linux-gnu|'
`
;;
# First accept the basic system types.
# The portable systems comes first.
# Each alternative MUST END IN A *, to match a version number.
# -sysv* is not here because it comes later, after sysvr4.
-gnu
*
|
-bsd
*
|
-mach
*
|
-minix
*
|
-genix
*
|
-ultrix
*
|
-irix
*
\
|
-
*
vms
*
|
-sco
*
|
-esix
*
|
-isc
*
|
-aix
*
|
-cnk
*
|
-sunos
|
-sunos
[
34]
*
\
|
-hpux
*
|
-unos
*
|
-osf
*
|
-luna
*
|
-dgux
*
|
-auroraux
*
|
-solaris
*
\
|
-sym
*
|
-kopensolaris
*
\
|
-amigaos
*
|
-amigados
*
|
-msdos
*
|
-newsos
*
|
-unicos
*
|
-aof
*
\
|
-aos
*
|
-aros
*
\
|
-nindy
*
|
-vxsim
*
|
-vxworks
*
|
-ebmon
*
|
-hms
*
|
-mvs
*
\
|
-clix
*
|
-riscos
*
|
-uniplus
*
|
-iris
*
|
-rtu
*
|
-xenix
*
\
|
-hiux
*
|
-386bsd
*
|
-knetbsd
*
|
-mirbsd
*
|
-netbsd
*
\
|
-openbsd
*
|
-solidbsd
*
\
|
-ekkobsd
*
|
-kfreebsd
*
|
-freebsd
*
|
-riscix
*
|
-lynxos
*
\
|
-bosx
*
|
-nextstep
*
|
-cxux
*
|
-aout
*
|
-elf
*
|
-oabi
*
\
|
-ptx
*
|
-coff
*
|
-ecoff
*
|
-winnt
*
|
-domain
*
|
-vsta
*
\
|
-udi
*
|
-eabi
*
|
-lites
*
|
-ieee
*
|
-go32
*
|
-aux
*
\
|
-chorusos
*
|
-chorusrdb
*
|
-cegcc
*
\
|
-cygwin
*
|
-msys
*
|
-pe
*
|
-psos
*
|
-moss
*
|
-proelf
*
|
-rtems
*
\
|
-mingw32
*
|
-linux-gnu
*
|
-linux-android
*
\
|
-linux-newlib
*
|
-linux-uclibc
*
\
|
-uxpv
*
|
-beos
*
|
-mpeix
*
|
-udk
*
\
|
-interix
*
|
-uwin
*
|
-mks
*
|
-rhapsody
*
|
-darwin
*
|
-opened
*
\
|
-openstep
*
|
-oskit
*
|
-conix
*
|
-pw32
*
|
-nonstopux
*
\
|
-storm-chaos
*
|
-tops10
*
|
-tenex
*
|
-tops20
*
|
-its
*
\
|
-os2
*
|
-vos
*
|
-palmos
*
|
-uclinux
*
|
-nucleus
*
\
|
-morphos
*
|
-superux
*
|
-rtmk
*
|
-rtmk-nova
*
|
-windiss
*
\
|
-powermax
*
|
-dnix
*
|
-nx6
|
-nx7
|
-sei
*
|
-dragonfly
*
\
|
-skyos
*
|
-haiku
*
|
-rdos
*
|
-toppers
*
|
-drops
*
|
-es
*
)
# Remember, each alternative MUST END IN *, to match a version number.
;;
-qnx
*
)
case
$basic_machine
in
x86-
*
|
i
*
86-
*
)
;;
*
)
os
=
-nto
$os
;;
esac
;;
-nto-qnx
*
)
;;
-nto
*
)
os
=
`
echo
$os
|
sed
-e
's|nto|nto-qnx|'
`
;;
-sim
|
-es1800
*
|
-hms
*
|
-xray
|
-os68k
*
|
-none
*
|
-v88r
*
\
|
-windows
*
|
-osx
|
-abug
|
-netware
*
|
-os9
*
|
-beos
*
|
-haiku
*
\
|
-macos
*
|
-mpw
*
|
-magic
*
|
-mmixware
*
|
-mon960
*
|
-lnews
*
)
;;
-mac
*
)
os
=
`
echo
$os
|
sed
-e
's|mac|macos|'
`
;;
-linux-dietlibc
)
os
=
-linux-dietlibc
;;
-linux
*
)
os
=
`
echo
$os
|
sed
-e
's|linux|linux-gnu|'
`
;;
-sunos5
*
)
os
=
`
echo
$os
|
sed
-e
's|sunos5|solaris2|'
`
;;
-sunos6
*
)
os
=
`
echo
$os
|
sed
-e
's|sunos6|solaris3|'
`
;;
-opened
*
)
os
=
-openedition
;;
-os400
*
)
os
=
-os400
;;
-wince
*
)
os
=
-wince
;;
-osfrose
*
)
os
=
-osfrose
;;
-osf
*
)
os
=
-osf
;;
-utek
*
)
os
=
-bsd
;;
-dynix
*
)
os
=
-bsd
;;
-acis
*
)
os
=
-aos
;;
-atheos
*
)
os
=
-atheos
;;
-syllable
*
)
os
=
-syllable
;;
-386bsd
)
os
=
-bsd
;;
-ctix
*
|
-uts
*
)
os
=
-sysv
;;
-nova
*
)
os
=
-rtmk-nova
;;
-ns2
)
os
=
-nextstep2
;;
-nsk
*
)
os
=
-nsk
;;
# Preserve the version number of sinix5.
-sinix5
.
*
)
os
=
`
echo
$os
|
sed
-e
's|sinix|sysv|'
`
;;
-sinix
*
)
os
=
-sysv4
;;
-tpf
*
)
os
=
-tpf
;;
-triton
*
)
os
=
-sysv3
;;
-oss
*
)
os
=
-sysv3
;;
-svr4
)
os
=
-sysv4
;;
-svr3
)
os
=
-sysv3
;;
-sysvr4
)
os
=
-sysv4
;;
# This must come after -sysvr4.
-sysv
*
)
;;
-ose
*
)
os
=
-ose
;;
-es1800
*
)
os
=
-ose
;;
-xenix
)
os
=
-xenix
;;
-
*
mint
|
-mint
[
0-9]
*
|
-
*
MiNT
|
-MiNT
[
0-9]
*
)
os
=
-mint
;;
-aros
*
)
os
=
-aros
;;
-kaos
*
)
os
=
-kaos
;;
-zvmoe
)
os
=
-zvmoe
;;
-dicos
*
)
os
=
-dicos
;;
-nacl
*
)
;;
-none
)
;;
*
)
# Get rid of the `-' at the beginning of $os.
os
=
`
echo
$os
|
sed
's/[^-]*-//'
`
echo
Invalid configuration
\`
$1
\'
: system
\`
$os
\'
not recognized 1>&2
exit
1
;;
esac
else
# Here we handle the default operating systems that come with various machines.
# The value should be what the vendor currently ships out the door with their
# machine or put another way, the most popular os provided with the machine.
# Note that if you're going to try to match "-MANUFACTURER" here (say,
# "-sun"), then you have to tell the case statement up towards the top
# that MANUFACTURER isn't an operating system. Otherwise, code above
# will signal an error saying that MANUFACTURER isn't an operating
# system, and we'll never get to this point.
case
$basic_machine
in
score-
*
)
os
=
-elf
;;
spu-
*
)
os
=
-elf
;;
*
-acorn
)
os
=
-riscix1
.2
;;
arm
*
-rebel
)
os
=
-linux
;;
arm
*
-semi
)
os
=
-aout
;;
c4x-
*
|
tic4x-
*
)
os
=
-coff
;;
hexagon-
*
)
os
=
-elf
;;
tic54x-
*
)
os
=
-coff
;;
tic55x-
*
)
os
=
-coff
;;
tic6x-
*
)
os
=
-coff
;;
# This must come before the *-dec entry.
pdp10-
*
)
os
=
-tops20
;;
pdp11-
*
)
os
=
-none
;;
*
-dec
|
vax-
*
)
os
=
-ultrix4
.2
;;
m68
*
-apollo
)
os
=
-domain
;;
i386-sun
)
os
=
-sunos4
.0.2
;;
m68000-sun
)
os
=
-sunos3
;;
m68
*
-cisco
)
os
=
-aout
;;
mep-
*
)
os
=
-elf
;;
mips
*
-cisco
)
os
=
-elf
;;
mips
*
-
*
)
os
=
-elf
;;
or32-
*
)
os
=
-coff
;;
*
-tti
)
# must be before sparc entry or we get the wrong os.
os
=
-sysv3
;;
sparc-
*
|
*
-sun
)
os
=
-sunos4
.1.1
;;
*
-be
)
os
=
-beos
;;
*
-haiku
)
os
=
-haiku
;;
*
-ibm
)
os
=
-aix
;;
*
-knuth
)
os
=
-mmixware
;;
*
-wec
)
os
=
-proelf
;;
*
-winbond
)
os
=
-proelf
;;
*
-oki
)
os
=
-proelf
;;
*
-hp
)
os
=
-hpux
;;
*
-hitachi
)
os
=
-hiux
;;
i860-
*
|
*
-att
|
*
-ncr
|
*
-altos
|
*
-motorola
|
*
-convergent
)
os
=
-sysv
;;
*
-cbm
)
os
=
-amigaos
;;
*
-dg
)
os
=
-dgux
;;
*
-dolphin
)
os
=
-sysv3
;;
m68k-ccur
)
os
=
-rtu
;;
m88k-omron
*
)
os
=
-luna
;;
*
-next
)
os
=
-nextstep
;;
*
-sequent
)
os
=
-ptx
;;
*
-crds
)
os
=
-unos
;;
*
-ns
)
os
=
-genix
;;
i370-
*
)
os
=
-mvs
;;
*
-next
)
os
=
-nextstep3
;;
*
-gould
)
os
=
-sysv
;;
*
-highlevel
)
os
=
-bsd
;;
*
-encore
)
os
=
-bsd
;;
*
-sgi
)
os
=
-irix
;;
*
-siemens
)
os
=
-sysv4
;;
*
-masscomp
)
os
=
-rtu
;;
f30[01]-fujitsu
|
f700-fujitsu
)
os
=
-uxpv
;;
*
-rom68k
)
os
=
-coff
;;
*
-
*
bug
)
os
=
-coff
;;
*
-apple
)
os
=
-macos
;;
*
-atari
*
)
os
=
-mint
;;
*
)
os
=
-none
;;
esac
fi
# Here we handle the case where we know the os, and the CPU type, but not the
# manufacturer. We pick the logical manufacturer.
vendor
=
unknown
case
$basic_machine
in
*
-unknown
)
case
$os
in
-riscix
*
)
vendor
=
acorn
;;
-sunos
*
)
vendor
=
sun
;;
-cnk
*
|
-aix
*
)
vendor
=
ibm
;;
-beos
*
)
vendor
=
be
;;
-hpux
*
)
vendor
=
hp
;;
-mpeix
*
)
vendor
=
hp
;;
-hiux
*
)
vendor
=
hitachi
;;
-unos
*
)
vendor
=
crds
;;
-dgux
*
)
vendor
=
dg
;;
-luna
*
)
vendor
=
omron
;;
-genix
*
)
vendor
=
ns
;;
-mvs
*
|
-opened
*
)
vendor
=
ibm
;;
-os400
*
)
vendor
=
ibm
;;
-ptx
*
)
vendor
=
sequent
;;
-tpf
*
)
vendor
=
ibm
;;
-vxsim
*
|
-vxworks
*
|
-windiss
*
)
vendor
=
wrs
;;
-aux
*
)
vendor
=
apple
;;
-hms
*
)
vendor
=
hitachi
;;
-mpw
*
|
-macos
*
)
vendor
=
apple
;;
-
*
mint
|
-mint
[
0-9]
*
|
-
*
MiNT
|
-MiNT
[
0-9]
*
)
vendor
=
atari
;;
-vos
*
)
vendor
=
stratus
;;
esac
basic_machine
=
`
echo
$basic_machine
|
sed
"s/unknown/
$vendor
/"
`
;;
esac
echo
$basic_machine$os
exit
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "timestamp='"
# time-stamp-format: "%:y-%02m-%02d"
# time-stamp-end: "'"
# End:
configure
View file @
d65e2bab
...
...
@@ -671,6 +671,7 @@ HGVERSION
BASECPPFLAGS
SVNVERSION
ARFLAGS
ac_ct_AR
AR
RANLIB
GNULD
...
...
@@ -687,6 +688,7 @@ EGREP
GREP
CPP
MULTIARCH
ac_ct_CXX
MAINCC
CXX
OBJEXT
...
...
@@ -701,6 +703,7 @@ CONFIGURE_MACOSX_DEPLOYMENT_TARGET
EXTRAMACHDEPPATH
EXTRAPLATDIR
SGI_ABI
_PYTHON_HOST_PLATFORM
MACHDEP
FRAMEWORKINSTALLAPPSPREFIX
FRAMEWORKUNIXTOOLSPREFIX
...
...
@@ -719,6 +722,15 @@ UNIVERSALSDK
CONFIG_ARGS
SOVERSION
VERSION
PYTHON_FOR_BUILD
host_os
host_vendor
host_cpu
host
build_os
build_vendor
build_cpu
build
target_alias
host_alias
build_alias
...
...
@@ -1397,6 +1409,10 @@ Fine tuning of the installation directories:
_ACEOF
cat
<<
\
_ACEOF
System types:
--build=BUILD configure for building on BUILD [guessed]
--host=HOST cross-compile to build programs to run on HOST [BUILD]
_ACEOF
fi
...
...
@@ -2730,6 +2746,134 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
ac_config_headers
=
"
$ac_config_headers
pyconfig.h"
ac_aux_dir
=
for
ac_dir
in
"
$srcdir
"
"
$srcdir
/.."
"
$srcdir
/../.."
;
do
if
test
-f
"
$ac_dir
/install-sh"
;
then
ac_aux_dir
=
$ac_dir
ac_install_sh
=
"
$ac_aux_dir
/install-sh -c"
break
elif
test
-f
"
$ac_dir
/install.sh"
;
then
ac_aux_dir
=
$ac_dir
ac_install_sh
=
"
$ac_aux_dir
/install.sh -c"
break
elif
test
-f
"
$ac_dir
/shtool"
;
then
ac_aux_dir
=
$ac_dir
ac_install_sh
=
"
$ac_aux_dir
/shtool install -c"
break
fi
done
if
test
-z
"
$ac_aux_dir
"
;
then
as_fn_error
$?
"cannot find install-sh, install.sh, or shtool in
\"
$srcdir
\"
\"
$srcdir
/..
\"
\"
$srcdir
/../..
\"
"
"
$LINENO
"
5
fi
# These three variables are undocumented and unsupported,
# and are intended to be withdrawn in a future Autoconf release.
# They can cause serious problems if a builder's source tree is in a directory
# whose full name contains unusual characters.
ac_config_guess
=
"
$SHELL
$ac_aux_dir
/config.guess"
# Please don't use this var.
ac_config_sub
=
"
$SHELL
$ac_aux_dir
/config.sub"
# Please don't use this var.
ac_configure
=
"
$SHELL
$ac_aux_dir
/configure"
# Please don't use this var.
# Make sure we can run config.sub.
$SHELL
"
$ac_aux_dir
/config.sub"
sun4
>
/dev/null 2>&1
||
as_fn_error
$?
"cannot run
$SHELL
$ac_aux_dir
/config.sub"
"
$LINENO
"
5
{
$as_echo
"
$as_me
:
${
as_lineno
-
$LINENO
}
: checking build system type"
>
&5
$as_echo_n
"checking build system type... "
>
&6
;
}
if
${
ac_cv_build
+
:
}
false
;
then
:
$as_echo_n
"(cached) "
>
&6
else
ac_build_alias
=
$build_alias
test
"x
$ac_build_alias
"
=
x
&&
ac_build_alias
=
`
$SHELL
"
$ac_aux_dir
/config.guess"
`
test
"x
$ac_build_alias
"
=
x
&&
as_fn_error
$?
"cannot guess build type; you must specify one"
"
$LINENO
"
5
ac_cv_build
=
`
$SHELL
"
$ac_aux_dir
/config.sub"
$ac_build_alias
`
||
as_fn_error
$?
"
$SHELL
$ac_aux_dir
/config.sub
$ac_build_alias
failed"
"
$LINENO
"
5
fi
{
$as_echo
"
$as_me
:
${
as_lineno
-
$LINENO
}
: result:
$ac_cv_build
"
>
&5
$as_echo
"
$ac_cv_build
"
>
&6
;
}
case
$ac_cv_build
in
*
-
*
-
*
)
;;
*
)
as_fn_error
$?
"invalid value of canonical build"
"
$LINENO
"
5
;;
esac
build
=
$ac_cv_build
ac_save_IFS
=
$IFS
;
IFS
=
'-'
set
x
$ac_cv_build
shift
build_cpu
=
$1
build_vendor
=
$2
shift
;
shift
# Remember, the first character of IFS is used to create $*,
# except with old shells:
build_os
=
$*
IFS
=
$ac_save_IFS
case
$build_os
in
*
\
*
)
build_os
=
`
echo
"
$build_os
"
|
sed
's/ /-/g'
`
;;
esac
{
$as_echo
"
$as_me
:
${
as_lineno
-
$LINENO
}
: checking host system type"
>
&5
$as_echo_n
"checking host system type... "
>
&6
;
}
if
${
ac_cv_host
+
:
}
false
;
then
:
$as_echo_n
"(cached) "
>
&6
else
if
test
"x
$host_alias
"
=
x
;
then
ac_cv_host
=
$ac_cv_build
else
ac_cv_host
=
`
$SHELL
"
$ac_aux_dir
/config.sub"
$host_alias
`
||
as_fn_error
$?
"
$SHELL
$ac_aux_dir
/config.sub
$host_alias
failed"
"
$LINENO
"
5
fi
fi
{
$as_echo
"
$as_me
:
${
as_lineno
-
$LINENO
}
: result:
$ac_cv_host
"
>
&5
$as_echo
"
$ac_cv_host
"
>
&6
;
}
case
$ac_cv_host
in
*
-
*
-
*
)
;;
*
)
as_fn_error
$?
"invalid value of canonical host"
"
$LINENO
"
5
;;
esac
host
=
$ac_cv_host
ac_save_IFS
=
$IFS
;
IFS
=
'-'
set
x
$ac_cv_host
shift
host_cpu
=
$1
host_vendor
=
$2
shift
;
shift
# Remember, the first character of IFS is used to create $*,
# except with old shells:
host_os
=
$*
IFS
=
$ac_save_IFS
case
$host_os
in
*
\
*
)
host_os
=
`
echo
"
$host_os
"
|
sed
's/ /-/g'
`
;;
esac
if
test
"
$cross_compiling
"
=
yes
;
then
{
$as_echo
"
$as_me
:
${
as_lineno
-
$LINENO
}
: checking for python interpreter for cross build"
>
&5
$as_echo_n
"checking for python interpreter for cross build... "
>
&6
;
}
if
test
-z
"
$PYTHON_FOR_BUILD
"
;
then
for
interp
in
python
$PACKAGE_VERSION
python2 python
;
do
which
$interp
>
/dev/null 2>&1
||
continue
if
$interp
-c
'import sys;sys.exit(not (sys.version_info[:2] >= (2,7) and sys.version_info[0] < 3))'
;
then
break
fi
interp
=
done
if
test
x
$interp
=
x
;
then
as_fn_error
$?
"python
$PACKAGE_VERSION
interpreter not found"
"
$LINENO
"
5
fi
{
$as_echo
"
$as_me
:
${
as_lineno
-
$LINENO
}
: result:
$interp
"
>
&5
$as_echo
"
$interp
"
>
&6
;
}
PYTHON_FOR_BUILD
=
'_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(shell test -f pybuilddir.txt && echo $(abs_builddir)/`cat pybuilddir.txt`:)$(srcdir)/Lib:$(srcdir)/Lib/plat-$(MACHDEP) '
$interp
fi
elif
test
"
$cross_compiling
"
=
maybe
;
then
as_fn_error
$?
"Cross compiling required --host=HOST-TUPLE and --build=ARCH"
"
$LINENO
"
5
else
PYTHON_FOR_BUILD
=
'./$(BUILDPYTHON) -E'
fi
if
test
"
$prefix
"
!=
"/"
;
then
prefix
=
`
echo
"
$prefix
"
|
sed
-e
's/\/$//g'
`
...
...
@@ -3018,6 +3162,25 @@ fi
$as_echo_n
"checking MACHDEP... "
>
&6
;
}
if
test
-z
"
$MACHDEP
"
then
# avoid using uname for cross builds
if
test
"
$cross_compiling
"
=
yes
;
then
# ac_sys_system and ac_sys_release are only used for setting
# `define_xopen_source' in the case statement below. For the
# current supported cross builds, this macro is not adjusted.
case
"
$host
"
in
*
-
*
-linux
*
)
ac_sys_system
=
Linux
;;
*
-
*
-cygwin
*
)
ac_sys_system
=
Cygwin
;;
*
)
# for now, limit cross builds to known configurations
MACHDEP
=
"unknown"
as_fn_error
$?
"cross build not supported for
$host
"
"
$LINENO
"
5
esac
ac_sys_release
=
else
ac_sys_system
=
`
uname
-s
`
if
test
"
$ac_sys_system
"
=
"AIX"
\
-o
"
$ac_sys_system
"
=
"UnixWare"
-o
"
$ac_sys_system
"
=
"OpenUNIX"
;
then
...
...
@@ -3025,20 +3188,44 @@ then
else
ac_sys_release
=
`
uname
-r
`
fi
ac_md_system
=
`
echo
$ac_sys_system
|
tr
-d
'/ '
|
tr
'[A-Z]'
'[a-z]'
`
ac_md_release
=
`
echo
$ac_sys_release
|
tr
-d
'/ '
|
sed
's/^[A-Z]\.//'
|
sed
's/\..*//'
`
MACHDEP
=
"
$ac_md_system$ac_md_release
"
fi
ac_md_system
=
`
echo
$ac_sys_system
|
tr
-d
'/ '
|
tr
'[A-Z]'
'[a-z]'
`
ac_md_release
=
`
echo
$ac_sys_release
|
tr
-d
'/ '
|
sed
's/^[A-Z]\.//'
|
sed
's/\..*//'
`
MACHDEP
=
"
$ac_md_system$ac_md_release
"
case
$MACHDEP
in
case
$MACHDEP
in
linux
*
)
MACHDEP
=
"linux2"
;;
cygwin
*
)
MACHDEP
=
"cygwin"
;;
darwin
*
)
MACHDEP
=
"darwin"
;;
atheos
*
)
MACHDEP
=
"atheos"
;;
irix646
)
MACHDEP
=
"irix6"
;;
''
)
MACHDEP
=
"unknown"
;;
esac
fi
if
test
"
$cross_compiling
"
=
yes
;
then
case
"
$host
"
in
*
-
*
-linux
*
)
case
"
$host_cpu
"
in
arm
*
)
_host_cpu
=
arm
;;
*
)
_host_cpu
=
$host_cpu
esac
;;
*
-
*
-cygwin
*
)
_host_cpu
=
;;
*
)
# for now, limit cross builds to known configurations
MACHDEP
=
"unknown"
as_fn_error
$?
"cross build not supported for
$host
"
"
$LINENO
"
5
esac
_PYTHON_HOST_PLATFORM
=
"
$MACHDEP
${
_host_cpu
:+-
$_host_cpu
}
"
fi
# Some systems cannot stand _XOPEN_SOURCE being defined at all; they
...
...
@@ -3195,12 +3382,6 @@ $as_echo "$EXTRAPLATDIR" >&6; }
CONFIGURE_MACOSX_DEPLOYMENT_TARGET
=
EXPORT_MACOSX_DEPLOYMENT_TARGET
=
'#'
{
$as_echo
"
$as_me
:
${
as_lineno
-
$LINENO
}
: checking machine type as reported by uname -m"
>
&5
$as_echo_n
"checking machine type as reported by uname -m... "
>
&6
;
}
ac_sys_machine
=
`
uname
-m
`
{
$as_echo
"
$as_me
:
${
as_lineno
-
$LINENO
}
: result:
$ac_sys_machine
"
>
&5
$as_echo
"
$ac_sys_machine
"
>
&6
;
}
# checks for alternative programs
# compiler flags are generated in two sets, BASECFLAGS and OPT. OPT is just
...
...
@@ -4130,8 +4311,9 @@ preset_cxx="$CXX"
if
test
-z
"
$CXX
"
then
case
"
$CC
"
in
gcc
)
# Extract the first word of "g++", so it can be a program name with args.
set
dummy g++
;
ac_word
=
$2
gcc
)
if
test
-n
"
$ac_tool_prefix
"
;
then
# Extract the first word of "${ac_tool_prefix}g++", so it can be a program name with args.
set
dummy
${
ac_tool_prefix
}
g++
;
ac_word
=
$2
{
$as_echo
"
$as_me
:
${
as_lineno
-
$LINENO
}
: checking for
$ac_word
"
>
&5
$as_echo_n
"checking for
$ac_word
... "
>
&6
;
}
if
${
ac_cv_path_CXX
+
:
}
false
;
then
:
...
...
@@ -4157,7 +4339,6 @@ done
done
IFS
=
$as_save_IFS
test
-z
"
$ac_cv_path_CXX
"
&&
ac_cv_path_CXX
=
"g++"
;;
esac
fi
...
...
@@ -4170,9 +4351,67 @@ else
$as_echo
"no"
>
&6
;
}
fi
fi
if
test
-z
"
$ac_cv_path_CXX
"
;
then
ac_pt_CXX
=
$CXX
# Extract the first word of "g++", so it can be a program name with args.
set
dummy g++
;
ac_word
=
$2
{
$as_echo
"
$as_me
:
${
as_lineno
-
$LINENO
}
: checking for
$ac_word
"
>
&5
$as_echo_n
"checking for
$ac_word
... "
>
&6
;
}
if
${
ac_cv_path_ac_pt_CXX
+
:
}
false
;
then
:
$as_echo_n
"(cached) "
>
&6
else
case
$ac_pt_CXX
in
[
\\
/]
*
|
?:[
\\
/]
*
)
ac_cv_path_ac_pt_CXX
=
"
$ac_pt_CXX
"
# Let the user override the test with a path.
;;
*
)
as_save_IFS
=
$IFS
;
IFS
=
$PATH_SEPARATOR
for
as_dir
in
notfound
do
IFS
=
$as_save_IFS
test
-z
"
$as_dir
"
&&
as_dir
=
.
for
ac_exec_ext
in
''
$ac_executable_extensions
;
do
if
as_fn_executable_p
"
$as_dir
/
$ac_word$ac_exec_ext
"
;
then
ac_cv_path_ac_pt_CXX
=
"
$as_dir
/
$ac_word$ac_exec_ext
"
$as_echo
"
$as_me
:
${
as_lineno
-
$LINENO
}
: found
$as_dir
/
$ac_word$ac_exec_ext
"
>
&5
break
2
fi
done
done
IFS
=
$as_save_IFS
;;
esac
fi
ac_pt_CXX
=
$ac_cv_path_ac_pt_CXX
if
test
-n
"
$ac_pt_CXX
"
;
then
{
$as_echo
"
$as_me
:
${
as_lineno
-
$LINENO
}
: result:
$ac_pt_CXX
"
>
&5
$as_echo
"
$ac_pt_CXX
"
>
&6
;
}
else
{
$as_echo
"
$as_me
:
${
as_lineno
-
$LINENO
}
: result: no"
>
&5
$as_echo
"no"
>
&6
;
}
fi
if
test
"x
$ac_pt_CXX
"
=
x
;
then
CXX
=
"g++"
else
case
$cross_compiling
:
$ac_tool_warned
in
yes
:
)
{
$as_echo
"
$as_me
:
${
as_lineno
-
$LINENO
}
: WARNING: using cross tools not prefixed with host triplet"
>
&5
$as_echo
"
$as_me
: WARNING: using cross tools not prefixed with host triplet"
>
&2
;
}
ac_tool_warned
=
yes
;;
esac
CXX
=
$ac_pt_CXX
fi
else
CXX
=
"
$ac_cv_path_CXX
"
fi
;;
cc
)
# Extract the first word of "c++", so it can be a program name with args.
set
dummy c++
;
ac_word
=
$2
cc
)
if
test
-n
"
$ac_tool_prefix
"
;
then
# Extract the first word of "${ac_tool_prefix}c++", so it can be a program name with args.
set
dummy
${
ac_tool_prefix
}
c++
;
ac_word
=
$2
{
$as_echo
"
$as_me
:
${
as_lineno
-
$LINENO
}
: checking for
$ac_word
"
>
&5
$as_echo_n
"checking for
$ac_word
... "
>
&6
;
}
if
${
ac_cv_path_CXX
+
:
}
false
;
then
:
...
...
@@ -4198,7 +4437,6 @@ done
done
IFS
=
$as_save_IFS
test
-z
"
$ac_cv_path_CXX
"
&&
ac_cv_path_CXX
=
"c++"
;;
esac
fi
...
...
@@ -4211,6 +4449,63 @@ else
$as_echo
"no"
>
&6
;
}
fi
fi
if
test
-z
"
$ac_cv_path_CXX
"
;
then
ac_pt_CXX
=
$CXX
# Extract the first word of "c++", so it can be a program name with args.
set
dummy c++
;
ac_word
=
$2
{
$as_echo
"
$as_me
:
${
as_lineno
-
$LINENO
}
: checking for
$ac_word
"
>
&5
$as_echo_n
"checking for
$ac_word
... "
>
&6
;
}
if
${
ac_cv_path_ac_pt_CXX
+
:
}
false
;
then
:
$as_echo_n
"(cached) "
>
&6
else
case
$ac_pt_CXX
in
[
\\
/]
*
|
?:[
\\
/]
*
)
ac_cv_path_ac_pt_CXX
=
"
$ac_pt_CXX
"
# Let the user override the test with a path.
;;
*
)
as_save_IFS
=
$IFS
;
IFS
=
$PATH_SEPARATOR
for
as_dir
in
notfound
do
IFS
=
$as_save_IFS
test
-z
"
$as_dir
"
&&
as_dir
=
.
for
ac_exec_ext
in
''
$ac_executable_extensions
;
do
if
as_fn_executable_p
"
$as_dir
/
$ac_word$ac_exec_ext
"
;
then
ac_cv_path_ac_pt_CXX
=
"
$as_dir
/
$ac_word$ac_exec_ext
"
$as_echo
"
$as_me
:
${
as_lineno
-
$LINENO
}
: found
$as_dir
/
$ac_word$ac_exec_ext
"
>
&5
break
2
fi
done
done
IFS
=
$as_save_IFS
;;
esac
fi
ac_pt_CXX
=
$ac_cv_path_ac_pt_CXX
if
test
-n
"
$ac_pt_CXX
"
;
then
{
$as_echo
"
$as_me
:
${
as_lineno
-
$LINENO
}
: result:
$ac_pt_CXX
"
>
&5
$as_echo
"
$ac_pt_CXX
"
>
&6
;
}
else
{
$as_echo
"
$as_me
:
${
as_lineno
-
$LINENO
}
: result: no"
>
&5
$as_echo
"no"
>
&6
;
}
fi
if
test
"x
$ac_pt_CXX
"
=
x
;
then
CXX
=
"c++"
else
case
$cross_compiling
:
$ac_tool_warned
in
yes
:
)
{
$as_echo
"
$as_me
:
${
as_lineno
-
$LINENO
}
: WARNING: using cross tools not prefixed with host triplet"
>
&5
$as_echo
"
$as_me
: WARNING: using cross tools not prefixed with host triplet"
>
&2
;
}
ac_tool_warned
=
yes
;;
esac
CXX
=
$ac_pt_CXX
fi
else
CXX
=
"
$ac_cv_path_CXX
"
fi
;;
esac
if
test
"
$CXX
"
=
"notfound"
...
...
@@ -4220,10 +4515,11 @@ fi
fi
if
test
-z
"
$CXX
"
then
for
ac_prog
in
$CCC
c++ g++ gcc CC cxx cc++ cl
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set
dummy
$ac_prog
;
ac_word
=
$2
if
test
-n
"
$ac_tool_prefix
"
;
then
for
ac_prog
in
$CCC
c++ g++ gcc CC cxx cc++ cl
do
# Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
set
dummy
$ac_tool_prefix$ac_prog
;
ac_word
=
$2
{
$as_echo
"
$as_me
:
${
as_lineno
-
$LINENO
}
: checking for
$ac_word
"
>
&5
$as_echo_n
"checking for
$ac_word
... "
>
&6
;
}
if
${
ac_cv_prog_CXX
+
:
}
false
;
then
:
...
...
@@ -4239,7 +4535,7 @@ do
test
-z
"
$as_dir
"
&&
as_dir
=
.
for
ac_exec_ext
in
''
$ac_executable_extensions
;
do
if
as_fn_executable_p
"
$as_dir
/
$ac_word$ac_exec_ext
"
;
then
ac_cv_prog_CXX
=
"
$ac_prog
"
ac_cv_prog_CXX
=
"
$ac_
tool_prefix$ac_
prog
"
$as_echo
"
$as_me
:
${
as_lineno
-
$LINENO
}
: found
$as_dir
/
$ac_word$ac_exec_ext
"
>
&5
break
2
fi
...
...
@@ -4259,9 +4555,65 @@ $as_echo "no" >&6; }
fi
test
-n
"
$CXX
"
&&
break
test
-n
"
$CXX
"
&&
break
done
fi
if
test
-z
"
$CXX
"
;
then
ac_ct_CXX
=
$CXX
for
ac_prog
in
$CCC
c++ g++ gcc CC cxx cc++ cl
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set
dummy
$ac_prog
;
ac_word
=
$2
{
$as_echo
"
$as_me
:
${
as_lineno
-
$LINENO
}
: checking for
$ac_word
"
>
&5
$as_echo_n
"checking for
$ac_word
... "
>
&6
;
}
if
${
ac_cv_prog_ac_ct_CXX
+
:
}
false
;
then
:
$as_echo_n
"(cached) "
>
&6
else
if
test
-n
"
$ac_ct_CXX
"
;
then
ac_cv_prog_ac_ct_CXX
=
"
$ac_ct_CXX
"
# Let the user override the test.
else
as_save_IFS
=
$IFS
;
IFS
=
$PATH_SEPARATOR
for
as_dir
in
$PATH
do
IFS
=
$as_save_IFS
test
-z
"
$as_dir
"
&&
as_dir
=
.
for
ac_exec_ext
in
''
$ac_executable_extensions
;
do
if
as_fn_executable_p
"
$as_dir
/
$ac_word$ac_exec_ext
"
;
then
ac_cv_prog_ac_ct_CXX
=
"
$ac_prog
"
$as_echo
"
$as_me
:
${
as_lineno
-
$LINENO
}
: found
$as_dir
/
$ac_word$ac_exec_ext
"
>
&5
break
2
fi
done
done
IFS
=
$as_save_IFS
fi
fi
ac_ct_CXX
=
$ac_cv_prog_ac_ct_CXX
if
test
-n
"
$ac_ct_CXX
"
;
then
{
$as_echo
"
$as_me
:
${
as_lineno
-
$LINENO
}
: result:
$ac_ct_CXX
"
>
&5
$as_echo
"
$ac_ct_CXX
"
>
&6
;
}
else
{
$as_echo
"
$as_me
:
${
as_lineno
-
$LINENO
}
: result: no"
>
&5
$as_echo
"no"
>
&6
;
}
fi
test
-n
"
$ac_ct_CXX
"
&&
break
done
test
-n
"
$CXX
"
||
CXX
=
"notfound"
if
test
"x
$ac_ct_CXX
"
=
x
;
then
CXX
=
"notfound"
else
case
$cross_compiling
:
$ac_tool_warned
in
yes
:
)
{
$as_echo
"
$as_me
:
${
as_lineno
-
$LINENO
}
: WARNING: using cross tools not prefixed with host triplet"
>
&5
$as_echo
"
$as_me
: WARNING: using cross tools not prefixed with host triplet"
>
&2
;
}
ac_tool_warned
=
yes
;;
esac
CXX
=
$ac_ct_CXX
fi
fi
if
test
"
$CXX
"
=
"notfound"
then
...
...
@@ -4924,37 +5276,35 @@ $as_echo "$enable_shared" >&6; }
$as_echo_n
"checking for --enable-profiling... "
>
&6
;
}
# Check whether --enable-profiling was given.
if
test
"
${
enable_profiling
+set
}
"
=
set
;
then
:
enableval
=
$enable_profiling
;
ac_save_cc
=
"
$CC
"
CC
=
"
$CC
-pg"
if
test
"
$cross_compiling
"
=
yes
;
then
:
ac_enable_profiling
=
"no"
else
enableval
=
$enable_profiling
;
fi
if
test
"x
$enable_profiling
"
=
xyes
;
then
ac_save_cc
=
"
$CC
"
CC
=
"
$(
CC
)
-pg"
cat
confdefs.h -
<<
_ACEOF
>conftest.
$ac_ext
/* end confdefs.h. */
int main() { return 0; }
_ACEOF
if
ac_fn_c_try_
run
"
$LINENO
"
;
then
:
ac_enable_profiling
=
"yes"
if
ac_fn_c_try_
link
"
$LINENO
"
;
then
:
else
ac_enable_profiling
=
"no"
enable_profiling
=
no
fi
rm
-f
core
*
.core core.conftest.
*
gmon.out bb.out conftest
$ac_exeext
\
conftest.
$ac_objext
conftest.beam conftest.
$ac_ext
rm
-f
core conftest.err conftest.
$ac_objext
\
conftest
$ac_exeext
conftest.
$ac_ext
CC
=
"
$ac_save_cc
"
else
enable_profiling
=
no
fi
{
$as_echo
"
$as_me
:
${
as_lineno
-
$LINENO
}
: result:
$enable_profiling
"
>
&5
$as_echo
"
$enable_profiling
"
>
&6
;
}
CC
=
"
$ac_save_cc
"
if
test
"x
$enable_profiling
"
=
xyes
;
then
BASECFLAGS
=
"-pg
$BASECFLAGS
"
LDFLAGS
=
"-pg
$LDFLAGS
"
fi
{
$as_echo
"
$as_me
:
${
as_lineno
-
$LINENO
}
: result:
$ac_enable_profiling
"
>
&5
$as_echo
"
$ac_enable_profiling
"
>
&6
;
}
case
"
$ac_enable_profiling
"
in
"yes"
)
BASECFLAGS
=
"-pg
$BASECFLAGS
"
LDFLAGS
=
"-pg
$LDFLAGS
"
;;
esac
{
$as_echo
"
$as_me
:
${
as_lineno
-
$LINENO
}
: checking LDLIBRARY"
>
&5
$as_echo_n
"checking LDLIBRARY... "
>
&6
;
}
...
...
@@ -5045,6 +5395,10 @@ else # shared is disabled
esac
fi
if
test
"
$cross_compiling
"
=
yes
;
then
RUNSHARED
=
fi
{
$as_echo
"
$as_me
:
${
as_lineno
-
$LINENO
}
: result:
$LDLIBRARY
"
>
&5
$as_echo
"
$LDLIBRARY
"
>
&6
;
}
...
...
@@ -5141,10 +5495,11 @@ else
fi
for
ac_prog
in
ar aal
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set
dummy
$ac_prog
;
ac_word
=
$2
if
test
-n
"
$ac_tool_prefix
"
;
then
for
ac_prog
in
ar aal
do
# Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
set
dummy
$ac_tool_prefix$ac_prog
;
ac_word
=
$2
{
$as_echo
"
$as_me
:
${
as_lineno
-
$LINENO
}
: checking for
$ac_word
"
>
&5
$as_echo_n
"checking for
$ac_word
... "
>
&6
;
}
if
${
ac_cv_prog_AR
+
:
}
false
;
then
:
...
...
@@ -5160,7 +5515,7 @@ do
test
-z
"
$as_dir
"
&&
as_dir
=
.
for
ac_exec_ext
in
''
$ac_executable_extensions
;
do
if
as_fn_executable_p
"
$as_dir
/
$ac_word$ac_exec_ext
"
;
then
ac_cv_prog_AR
=
"
$ac_prog
"
ac_cv_prog_AR
=
"
$ac_
tool_prefix$ac_
prog
"
$as_echo
"
$as_me
:
${
as_lineno
-
$LINENO
}
: found
$as_dir
/
$ac_word$ac_exec_ext
"
>
&5
break
2
fi
...
...
@@ -5180,9 +5535,65 @@ $as_echo "no" >&6; }
fi
test
-n
"
$AR
"
&&
break
test
-n
"
$AR
"
&&
break
done
fi
if
test
-z
"
$AR
"
;
then
ac_ct_AR
=
$AR
for
ac_prog
in
ar aal
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set
dummy
$ac_prog
;
ac_word
=
$2
{
$as_echo
"
$as_me
:
${
as_lineno
-
$LINENO
}
: checking for
$ac_word
"
>
&5
$as_echo_n
"checking for
$ac_word
... "
>
&6
;
}
if
${
ac_cv_prog_ac_ct_AR
+
:
}
false
;
then
:
$as_echo_n
"(cached) "
>
&6
else
if
test
-n
"
$ac_ct_AR
"
;
then
ac_cv_prog_ac_ct_AR
=
"
$ac_ct_AR
"
# Let the user override the test.
else
as_save_IFS
=
$IFS
;
IFS
=
$PATH_SEPARATOR
for
as_dir
in
$PATH
do
IFS
=
$as_save_IFS
test
-z
"
$as_dir
"
&&
as_dir
=
.
for
ac_exec_ext
in
''
$ac_executable_extensions
;
do
if
as_fn_executable_p
"
$as_dir
/
$ac_word$ac_exec_ext
"
;
then
ac_cv_prog_ac_ct_AR
=
"
$ac_prog
"
$as_echo
"
$as_me
:
${
as_lineno
-
$LINENO
}
: found
$as_dir
/
$ac_word$ac_exec_ext
"
>
&5
break
2
fi
done
done
IFS
=
$as_save_IFS
fi
fi
ac_ct_AR
=
$ac_cv_prog_ac_ct_AR
if
test
-n
"
$ac_ct_AR
"
;
then
{
$as_echo
"
$as_me
:
${
as_lineno
-
$LINENO
}
: result:
$ac_ct_AR
"
>
&5
$as_echo
"
$ac_ct_AR
"
>
&6
;
}
else
{
$as_echo
"
$as_me
:
${
as_lineno
-
$LINENO
}
: result: no"
>
&5
$as_echo
"no"
>
&6
;
}
fi
test
-n
"
$ac_ct_AR
"
&&
break
done
test
-n
"
$AR
"
||
AR
=
"ar"
if
test
"x
$ac_ct_AR
"
=
x
;
then
AR
=
"ar"
else
case
$cross_compiling
:
$ac_tool_warned
in
yes
:
)
{
$as_echo
"
$as_me
:
${
as_lineno
-
$LINENO
}
: WARNING: using cross tools not prefixed with host triplet"
>
&5
$as_echo
"
$as_me
: WARNING: using cross tools not prefixed with host triplet"
>
&2
;
}
ac_tool_warned
=
yes
;;
esac
AR
=
$ac_ct_AR
fi
fi
# tweak ARFLAGS only if the user didn't set it on the command line
...
...
@@ -5312,35 +5723,6 @@ bsdos*|hp*|HP*)
INSTALL
=
"
${
srcdir
}
/install-sh -c"
fi
esac
ac_aux_dir
=
for
ac_dir
in
"
$srcdir
"
"
$srcdir
/.."
"
$srcdir
/../.."
;
do
if
test
-f
"
$ac_dir
/install-sh"
;
then
ac_aux_dir
=
$ac_dir
ac_install_sh
=
"
$ac_aux_dir
/install-sh -c"
break
elif
test
-f
"
$ac_dir
/install.sh"
;
then
ac_aux_dir
=
$ac_dir
ac_install_sh
=
"
$ac_aux_dir
/install.sh -c"
break
elif
test
-f
"
$ac_dir
/shtool"
;
then
ac_aux_dir
=
$ac_dir
ac_install_sh
=
"
$ac_aux_dir
/shtool install -c"
break
fi
done
if
test
-z
"
$ac_aux_dir
"
;
then
as_fn_error
$?
"cannot find install-sh, install.sh, or shtool in
\"
$srcdir
\"
\"
$srcdir
/..
\"
\"
$srcdir
/../..
\"
"
"
$LINENO
"
5
fi
# These three variables are undocumented and unsupported,
# and are intended to be withdrawn in a future Autoconf release.
# They can cause serious problems if a builder's source tree is in a directory
# whose full name contains unusual characters.
ac_config_guess
=
"
$SHELL
$ac_aux_dir
/config.guess"
# Please don't use this var.
ac_config_sub
=
"
$SHELL
$ac_aux_dir
/config.sub"
# Please don't use this var.
ac_configure
=
"
$SHELL
$ac_aux_dir
/configure"
# Please don't use this var.
# Find a good install program. We prefer a C program (faster),
# so one script is as good as another. But avoid the broken or
# incompatible versions:
...
...
@@ -5621,7 +6003,7 @@ $as_echo "$ac_cv_no_strict_aliasing_ok" >&6; }
# if using gcc on alpha, use -mieee to get (near) full IEEE 754
# support. Without this, treatment of subnormals doesn't follow
# the standard.
case
$
ac_sys_machine
in
case
$
host
in
alpha
*
)
BASECFLAGS
=
"
$BASECFLAGS
-mieee"
;;
...
...
@@ -10974,7 +11356,12 @@ $as_echo_n "checking getaddrinfo bug... " >&6; }
$as_echo_n
"(cached) "
>
&6
else
if
test
"
$cross_compiling
"
=
yes
;
then
:
if
test
"
${
enable_ipv6
+set
}
"
=
set
;
then
ac_cv_buggy_getaddrinfo
=
"no -- configured with --(en|dis)able-ipv6"
else
ac_cv_buggy_getaddrinfo
=
yes
fi
else
cat
confdefs.h -
<<
_ACEOF
>conftest.
$ac_ext
/* end confdefs.h. */
...
...
@@ -13840,34 +14227,73 @@ $as_echo "no" >&6; }
fi
rm
-f
core conftest.err conftest.
$ac_objext
conftest.
$ac_ext
{
$as_echo
"
$as_me
:
${
as_lineno
-
$LINENO
}
: checking for device files"
>
&5
$as_echo
"
$as_me
: checking for device files"
>
&6
;
}
if
test
"x
$cross_compiling
"
=
xyes
;
then
if
test
"
${
ac_cv_file__dev_ptmx
+set
}
"
!=
set
;
then
{
$as_echo
"
$as_me
:
${
as_lineno
-
$LINENO
}
: checking for /dev/ptmx"
>
&5
$as_echo_n
"checking for /dev/ptmx... "
>
&6
;
}
{
$as_echo
"
$as_me
:
${
as_lineno
-
$LINENO
}
: result: not set"
>
&5
$as_echo
"not set"
>
&6
;
}
as_fn_error
$?
"set ac_cv_file__dev_ptmx to yes/no in your CONFIG_SITE file when cross compiling"
"
$LINENO
"
5
fi
if
test
"
${
ac_cv_file__dev_ptc
+set
}
"
!=
set
;
then
{
$as_echo
"
$as_me
:
${
as_lineno
-
$LINENO
}
: checking for /dev/ptc"
>
&5
$as_echo_n
"checking for /dev/ptc... "
>
&6
;
}
{
$as_echo
"
$as_me
:
${
as_lineno
-
$LINENO
}
: result: not set"
>
&5
$as_echo
"not set"
>
&6
;
}
as_fn_error
$?
"set ac_cv_file__dev_ptc to yes/no in your CONFIG_SITE file when cross compiling"
"
$LINENO
"
5
fi
fi
{
$as_echo
"
$as_me
:
${
as_lineno
-
$LINENO
}
: checking for /dev/ptmx"
>
&5
$as_echo_n
"checking for /dev/ptmx... "
>
&6
;
}
if
${
ac_cv_file__dev_ptmx
+
:
}
false
;
then
:
$as_echo_n
"(cached) "
>
&6
else
test
"
$cross_compiling
"
=
yes
&&
as_fn_error
$?
"cannot check for file existence when cross compiling"
"
$LINENO
"
5
if
test
-r
"/dev/ptmx"
;
then
ac_cv_file__dev_ptmx
=
yes
else
ac_cv_file__dev_ptmx
=
no
fi
fi
{
$as_echo
"
$as_me
:
${
as_lineno
-
$LINENO
}
: result:
$ac_cv_file__dev_ptmx
"
>
&5
$as_echo
"
$ac_cv_file__dev_ptmx
"
>
&6
;
}
if
test
"x
$ac_cv_file__dev_ptmx
"
=
xyes
;
then
:
if
test
-r
/dev/ptmx
then
{
$as_echo
"
$as_me
:
${
as_lineno
-
$LINENO
}
: result: yes"
>
&5
$as_echo
"yes"
>
&6
;
}
fi
if
test
"x
$ac_cv_file__dev_ptmx
"
=
xyes
;
then
$as_echo
"#define HAVE_DEV_PTMX 1"
>>
confdefs.h
else
{
$as_echo
"
$as_me
:
${
as_lineno
-
$LINENO
}
: result: no"
>
&5
$as_echo
"no"
>
&6
;
}
fi
{
$as_echo
"
$as_me
:
${
as_lineno
-
$LINENO
}
: checking for /dev/ptc"
>
&5
$as_echo_n
"checking for /dev/ptc... "
>
&6
;
}
if
${
ac_cv_file__dev_ptc
+
:
}
false
;
then
:
$as_echo_n
"(cached) "
>
&6
else
test
"
$cross_compiling
"
=
yes
&&
as_fn_error
$?
"cannot check for file existence when cross compiling"
"
$LINENO
"
5
if
test
-r
"/dev/ptc"
;
then
ac_cv_file__dev_ptc
=
yes
else
ac_cv_file__dev_ptc
=
no
fi
fi
{
$as_echo
"
$as_me
:
${
as_lineno
-
$LINENO
}
: result:
$ac_cv_file__dev_ptc
"
>
&5
$as_echo
"
$ac_cv_file__dev_ptc
"
>
&6
;
}
if
test
"x
$ac_cv_file__dev_ptc
"
=
xyes
;
then
:
if
test
-r
/dev/ptc
then
{
$as_echo
"
$as_me
:
${
as_lineno
-
$LINENO
}
: result: yes"
>
&5
$as_echo
"yes"
>
&6
;
}
fi
if
test
"x
$ac_cv_file__dev_ptc
"
=
xyes
;
then
$as_echo
"#define HAVE_DEV_PTC 1"
>>
confdefs.h
else
{
$as_echo
"
$as_me
:
${
as_lineno
-
$LINENO
}
: result: no"
>
&5
$as_echo
"no"
>
&6
;
}
fi
if
test
"
$have_long_long
"
=
yes
...
...
@@ -13878,7 +14304,36 @@ $as_echo_n "checking for %lld and %llu printf() format support... " >&6; }
$as_echo_n
"(cached) "
>
&6
else
if
test
"
$cross_compiling
"
=
yes
;
then
:
ac_cv_have_long_long_format
=
no
ac_cv_have_long_long_format
=
"cross -- assuming no"
if
test
x
$GCC
=
xyes
;
then
save_CFLAGS
=
$CFLAGS
CFLAGS
=
"
$CFLAGS
-Werror -Wformat"
cat
confdefs.h -
<<
_ACEOF
>conftest.
$ac_ext
/* end confdefs.h. */
#include <stdio.h>
#include <stddef.h>
int
main ()
{
char *buffer;
sprintf(buffer, "%lld", (long long)123);
sprintf(buffer, "%lld", (long long)-123);
sprintf(buffer, "%llu", (unsigned long long)123);
;
return 0;
}
_ACEOF
if
ac_fn_c_try_compile
"
$LINENO
"
;
then
:
ac_cv_have_long_long_format
=
yes
fi
rm
-f
core conftest.err conftest.
$ac_objext
conftest.
$ac_ext
CFLAGS
=
$save_CFLAGS
fi
else
cat
confdefs.h -
<<
_ACEOF
>conftest.
$ac_ext
/* end confdefs.h. */
...
...
configure.ac
View file @
d65e2bab
...
...
@@ -12,6 +12,33 @@ AC_INIT(python, PYTHON_VERSION, http://bugs.python.org/)
AC_CONFIG_SRCDIR([Include/object.h])
AC_CONFIG_HEADER(pyconfig.h)
AC_CANONICAL_HOST
AC_SUBST(build)
AC_SUBST(host)
if test "$cross_compiling" = yes; then
AC_MSG_CHECKING([for python interpreter for cross build])
if test -z "$PYTHON_FOR_BUILD"; then
for interp in python$PACKAGE_VERSION python2 python; do
which $interp >/dev/null 2>&1 || continue
if $interp -c 'import sys;sys.exit(not (sys.version_info@<:@:2@:>@ >= (2,7) and sys.version_info@<:@0@:>@ < 3))'; then
break
fi
interp=
done
if test x$interp = x; then
AC_MSG_ERROR([python$PACKAGE_VERSION interpreter not found])
fi
AC_MSG_RESULT($interp)
PYTHON_FOR_BUILD='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(shell test -f pybuilddir.txt && echo $(abs_builddir)/`cat pybuilddir.txt`:)$(srcdir)/Lib:$(srcdir)/Lib/plat-$(MACHDEP) '$interp
fi
elif test "$cross_compiling" = maybe; then
AC_MSG_ERROR([Cross compiling required --host=HOST-TUPLE and --build=ARCH])
else
PYTHON_FOR_BUILD='./$(BUILDPYTHON) -E'
fi
AC_SUBST(PYTHON_FOR_BUILD)
dnl Ensure that if prefix is specified, it does not end in a slash. If
dnl it does, we get path names containing '//' which is both ugly and
dnl can cause trouble.
...
...
@@ -279,6 +306,25 @@ AC_SUBST(MACHDEP)
AC_MSG_CHECKING(MACHDEP)
if test -z "$MACHDEP"
then
# avoid using uname for cross builds
if test "$cross_compiling" = yes; then
# ac_sys_system and ac_sys_release are only used for setting
# `define_xopen_source' in the case statement below. For the
# current supported cross builds, this macro is not adjusted.
case "$host" in
*-*-linux*)
ac_sys_system=Linux
;;
*-*-cygwin*)
ac_sys_system=Cygwin
;;
*)
# for now, limit cross builds to known configurations
MACHDEP="unknown"
AC_MSG_ERROR([cross build not supported for $host])
esac
ac_sys_release=
else
ac_sys_system=`uname -s`
if test "$ac_sys_system" = "AIX" \
-o "$ac_sys_system" = "UnixWare" -o "$ac_sys_system" = "OpenUNIX"; then
...
...
@@ -286,20 +332,44 @@ then
else
ac_sys_release=`uname -r`
fi
ac_md_system=`echo $ac_sys_system |
tr -d '[/ ]' | tr '[[A-Z]]' '[[a-z]]'`
ac_md_release=`echo $ac_sys_release |
tr -d '[/ ]' | sed 's/^[[A-Z]]\.//' | sed 's/\..*//'`
MACHDEP="$ac_md_system$ac_md_release"
fi
ac_md_system=`echo $ac_sys_system |
tr -d '[/ ]' | tr '[[A-Z]]' '[[a-z]]'`
ac_md_release=`echo $ac_sys_release |
tr -d '[/ ]' | sed 's/^[[A-Z]]\.//' | sed 's/\..*//'`
MACHDEP="$ac_md_system$ac_md_release"
case $MACHDEP in
case $MACHDEP in
linux*) MACHDEP="linux2";;
cygwin*) MACHDEP="cygwin";;
darwin*) MACHDEP="darwin";;
atheos*) MACHDEP="atheos";;
irix646) MACHDEP="irix6";;
'') MACHDEP="unknown";;
esac
fi
AC_SUBST(_PYTHON_HOST_PLATFORM)
if test "$cross_compiling" = yes; then
case "$host" in
*-*-linux*)
case "$host_cpu" in
arm*)
_host_cpu=arm
;;
*)
_host_cpu=$host_cpu
esac
;;
*-*-cygwin*)
_host_cpu=
;;
*)
# for now, limit cross builds to known configurations
MACHDEP="unknown"
AC_MSG_ERROR([cross build not supported for $host])
esac
_PYTHON_HOST_PLATFORM="$MACHDEP${_host_cpu:+-$_host_cpu}"
fi
# Some systems cannot stand _XOPEN_SOURCE being defined at all; they
...
...
@@ -446,10 +516,6 @@ AC_SUBST(EXPORT_MACOSX_DEPLOYMENT_TARGET)
CONFIGURE_MACOSX_DEPLOYMENT_TARGET=
EXPORT_MACOSX_DEPLOYMENT_TARGET='#'
AC_MSG_CHECKING(machine type as reported by uname -m)
ac_sys_machine=`uname -m`
AC_MSG_RESULT($ac_sys_machine)
# checks for alternative programs
# compiler flags are generated in two sets, BASECFLAGS and OPT. OPT is just
...
...
@@ -578,8 +644,8 @@ preset_cxx="$CXX"
if test -z "$CXX"
then
case "$CC" in
gcc) AC_PATH_
PROG
(CXX, [g++], [g++], [notfound]) ;;
cc) AC_PATH_
PROG
(CXX, [c++], [c++], [notfound]) ;;
gcc) AC_PATH_
TOOL
(CXX, [g++], [g++], [notfound]) ;;
cc) AC_PATH_
TOOL
(CXX, [c++], [c++], [notfound]) ;;
esac
if test "$CXX" = "notfound"
then
...
...
@@ -588,7 +654,7 @@ then
fi
if test -z "$CXX"
then
AC_CHECK_
PROG
S(CXX, $CCC c++ g++ gcc CC cxx cc++ cl, notfound)
AC_CHECK_
TOOL
S(CXX, $CCC c++ g++ gcc CC cxx cc++ cl, notfound)
if test "$CXX" = "notfound"
then
CXX=""
...
...
@@ -764,22 +830,23 @@ AC_MSG_RESULT($enable_shared)
AC_MSG_CHECKING(for --enable-profiling)
AC_ARG_ENABLE(profiling,
AS_HELP_STRING([--enable-profiling], [enable C-level code profiling]),
[ac_save_cc="$CC"
CC="$CC -pg"
AC_RUN_IFELSE([AC_LANG_SOURCE([[int main() { return 0; }]])],
[ac_enable_profiling="yes"],
[ac_enable_profiling="no"],
[ac_enable_profiling="no"])
CC="$ac_save_cc"])
AC_MSG_RESULT($ac_enable_profiling)
case "$ac_enable_profiling" in
"yes")
BASECFLAGS="-pg $BASECFLAGS"
LDFLAGS="-pg $LDFLAGS"
;;
esac
AS_HELP_STRING([--enable-profiling], [enable C-level code profiling]))
if test "x$enable_profiling" = xyes; then
ac_save_cc="$CC"
CC="$(CC) -pg"
AC_LINK_IFELSE([AC_LANG_SOURCE([[int main() { return 0; }]])],
[],
[enable_profiling=no])
CC="$ac_save_cc"
else
enable_profiling=no
fi
AC_MSG_RESULT($enable_profiling)
if test "x$enable_profiling" = xyes; then
BASECFLAGS="-pg $BASECFLAGS"
LDFLAGS="-pg $LDFLAGS"
fi
AC_MSG_CHECKING(LDLIBRARY)
...
...
@@ -868,11 +935,15 @@ else # shared is disabled
esac
fi
if test "$cross_compiling" = yes; then
RUNSHARED=
fi
AC_MSG_RESULT($LDLIBRARY)
AC_PROG_RANLIB
AC_SUBST(AR)
AC_CHECK_
PROG
S(AR, ar aal, ar)
AC_CHECK_
TOOL
S(AR, ar aal, ar)
# tweak ARFLAGS only if the user didn't set it on the command line
AC_SUBST(ARFLAGS)
...
...
@@ -1046,7 +1117,7 @@ yes)
# if using gcc on alpha, use -mieee to get (near) full IEEE 754
# support. Without this, treatment of subnormals doesn't follow
# the standard.
case $
ac_sys_machine
in
case $
host
in
alpha*)
BASECFLAGS="$BASECFLAGS -mieee"
;;
...
...
@@ -3216,7 +3287,12 @@ int main()
]]])],
[ac_cv_buggy_getaddrinfo=no],
[ac_cv_buggy_getaddrinfo=yes],
[ac_cv_buggy_getaddrinfo=yes]))
[
if test "${enable_ipv6+set}" = set; then
ac_cv_buggy_getaddrinfo="no -- configured with --(en|dis)able-ipv6"
else
ac_cv_buggy_getaddrinfo=yes
fi]))
fi
AC_MSG_RESULT($ac_cv_buggy_getaddrinfo)
...
...
@@ -4246,26 +4322,31 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <curses.h>]], [[void *x=resizeterm
[AC_MSG_RESULT(no)]
)
AC_MSG_
CHECKING(for /dev/ptmx
)
AC_MSG_
NOTICE([checking for device files]
)
if test -r /dev/ptmx
then
AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_DEV_PTMX, 1,
[Define if we have /dev/ptmx.])
else
AC_MSG_RESULT(no)
dnl NOTE: Inform user how to proceed with files when cross compiling.
if test "x$cross_compiling" = xyes; then
if test "${ac_cv_file__dev_ptmx+set}" != set; then
AC_MSG_CHECKING([for /dev/ptmx])
AC_MSG_RESULT([not set])
AC_MSG_ERROR([set ac_cv_file__dev_ptmx to yes/no in your CONFIG_SITE file when cross compiling])
fi
if test "${ac_cv_file__dev_ptc+set}" != set; then
AC_MSG_CHECKING([for /dev/ptc])
AC_MSG_RESULT([not set])
AC_MSG_ERROR([set ac_cv_file__dev_ptc to yes/no in your CONFIG_SITE file when cross compiling])
fi
fi
AC_MSG_CHECKING(for /dev/ptc)
if test -r /dev/ptc
then
AC_MSG_RESULT(yes)
AC_CHECK_FILE(/dev/ptmx, [], [])
if test "x$ac_cv_file__dev_ptmx" = xyes; then
AC_DEFINE(HAVE_DEV_PTMX, 1,
[Define to 1 if you have the /dev/ptmx device file.])
fi
AC_CHECK_FILE(/dev/ptc, [], [])
if test "x$ac_cv_file__dev_ptc" = xyes; then
AC_DEFINE(HAVE_DEV_PTC, 1,
[Define if we have /dev/ptc.])
else
AC_MSG_RESULT(no)
[Define to 1 if you have the /dev/ptc device file.])
fi
if test "$have_long_long" = yes
...
...
@@ -4305,7 +4386,23 @@ then
]]])],
[ac_cv_have_long_long_format=yes],
[ac_cv_have_long_long_format=no],
[ac_cv_have_long_long_format=no])
[ac_cv_have_long_long_format="cross -- assuming no"
if test x$GCC = xyes; then
save_CFLAGS=$CFLAGS
CFLAGS="$CFLAGS -Werror -Wformat"
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
#include <stdio.h>
#include <stddef.h>
]], [[
char *buffer;
sprintf(buffer, "%lld", (long long)123);
sprintf(buffer, "%lld", (long long)-123);
sprintf(buffer, "%llu", (unsigned long long)123);
]])],
ac_cv_have_long_long_format=yes
)
CFLAGS=$save_CFLAGS
fi])
)
AC_MSG_RESULT($ac_cv_have_long_long_format)
fi
...
...
pyconfig.h.in
View file @
d65e2bab
...
...
@@ -161,10 +161,10 @@
/* Define to 1 if you have the device macros. */
#undef HAVE_DEVICE_MACROS
/* Define
if we have /dev/ptc
. */
/* Define
to 1 if you have the /dev/ptc device file
. */
#undef HAVE_DEV_PTC
/* Define
if we have /dev/ptmx
. */
/* Define
to 1 if you have the /dev/ptmx device file
. */
#undef HAVE_DEV_PTMX
/* Define to 1 if you have the <direct.h> header file. */
...
...
setup.py
View file @
d65e2bab
...
...
@@ -17,8 +17,20 @@ from distutils.command.install import install
from
distutils.command.install_lib
import
install_lib
from
distutils.spawn
import
find_executable
cross_compiling
=
"_PYTHON_HOST_PLATFORM"
in
os
.
environ
def
get_platform
():
# cross build
if
"_PYTHON_HOST_PLATFORM"
in
os
.
environ
:
return
os
.
environ
[
"_PYTHON_HOST_PLATFORM"
]
# Get value of sys.platform
if
sys
.
platform
.
startswith
(
'osf1'
):
return
'osf1'
return
sys
.
platform
host_platform
=
get_platform
()
# Were we compiled --with-pydebug or with #define Py_DEBUG?
COMPILED_WITH_PYDEBUG
=
hasattr
(
sys
,
'gettotalrefcount'
)
COMPILED_WITH_PYDEBUG
=
(
'--with-pydebug'
in
sysconfig
.
get_config_var
(
"CONFIG_ARGS"
)
)
# This global variable is used to hold the list of modules to be disabled.
disabled_module_list
=
[]
...
...
@@ -62,7 +74,7 @@ def find_file(filename, std_dirs, paths):
'paths' is a list of additional locations to check; if the file is
found in one of them, the resulting list will contain the directory.
"""
if
sys
.
platform
==
'darwin'
:
if
host_
platform
==
'darwin'
:
# Honor the MacOSX SDK setting when one was specified.
# An SDK is a directory with the same structure as a real
# system, but with only header files and libraries.
...
...
@@ -72,7 +84,7 @@ def find_file(filename, std_dirs, paths):
for
dir
in
std_dirs
:
f
=
os
.
path
.
join
(
dir
,
filename
)
if
sys
.
platform
==
'darwin'
and
is_macosx_sdk_path
(
dir
):
if
host_
platform
==
'darwin'
and
is_macosx_sdk_path
(
dir
):
f
=
os
.
path
.
join
(
sysroot
,
dir
[
1
:],
filename
)
if
os
.
path
.
exists
(
f
):
return
[]
...
...
@@ -81,7 +93,7 @@ def find_file(filename, std_dirs, paths):
for
dir
in
paths
:
f
=
os
.
path
.
join
(
dir
,
filename
)
if
sys
.
platform
==
'darwin'
and
is_macosx_sdk_path
(
dir
):
if
host_
platform
==
'darwin'
and
is_macosx_sdk_path
(
dir
):
f
=
os
.
path
.
join
(
sysroot
,
dir
[
1
:],
filename
)
if
os
.
path
.
exists
(
f
):
...
...
@@ -95,7 +107,7 @@ def find_library_file(compiler, libname, std_dirs, paths):
if
result
is
None
:
return
None
if
sys
.
platform
==
'darwin'
:
if
host_
platform
==
'darwin'
:
sysroot
=
macosx_sdk_root
()
# Check whether the found file is in one of the standard directories
...
...
@@ -104,7 +116,7 @@ def find_library_file(compiler, libname, std_dirs, paths):
# Ensure path doesn't end with path separator
p
=
p
.
rstrip
(
os
.
sep
)
if
sys
.
platform
==
'darwin'
and
is_macosx_sdk_path
(
p
):
if
host_
platform
==
'darwin'
and
is_macosx_sdk_path
(
p
):
if
os
.
path
.
join
(
sysroot
,
p
[
1
:])
==
dirname
:
return
[
]
...
...
@@ -117,7 +129,7 @@ def find_library_file(compiler, libname, std_dirs, paths):
# Ensure path doesn't end with path separator
p
=
p
.
rstrip
(
os
.
sep
)
if
sys
.
platform
==
'darwin'
and
is_macosx_sdk_path
(
p
):
if
host_
platform
==
'darwin'
and
is_macosx_sdk_path
(
p
):
if
os
.
path
.
join
(
sysroot
,
p
[
1
:])
==
dirname
:
return
[
p
]
...
...
@@ -174,8 +186,8 @@ class PyBuildExt(build_ext):
# Platform-dependent module source and include directories
incdirlist
=
[]
platform
=
self
.
get_platform
()
if
platform
==
'darwin'
and
(
"--disable-toolbox-glue"
not
in
if
host_
platform
==
'darwin'
and
(
"--disable-toolbox-glue"
not
in
sysconfig
.
get_config_var
(
"CONFIG_ARGS"
)):
# Mac OS X also includes some mac-specific modules
macmoddir
=
os
.
path
.
join
(
srcdir
,
'Mac/Modules'
)
...
...
@@ -288,7 +300,7 @@ class PyBuildExt(build_ext):
ext
.
name
)
return
if
self
.
get_platform
()
==
'darwin'
and
(
if
host_platform
==
'darwin'
and
(
sys
.
maxint
>
2
**
32
and
'-arch'
in
ext
.
extra_link_args
):
# Don't bother doing an import check when an extension was
# build with an explicit '-arch' flag on OSX. That's currently
...
...
@@ -302,13 +314,18 @@ class PyBuildExt(build_ext):
# Workaround for Cygwin: Cygwin currently has fork issues when many
# modules have been imported
if
self
.
get_platform
()
==
'cygwin'
:
if
host_platform
==
'cygwin'
:
self
.
announce
(
'WARNING: skipping import check for Cygwin-based "%s"'
%
ext
.
name
)
return
ext_filename
=
os
.
path
.
join
(
self
.
build_lib
,
self
.
get_ext_filename
(
self
.
get_ext_fullname
(
ext
.
name
)))
# Don't try to load extensions for cross builds
if
cross_compiling
:
return
try
:
imp
.
load_dynamic
(
ext
.
name
,
ext_filename
)
except
ImportError
,
why
:
...
...
@@ -340,13 +357,6 @@ class PyBuildExt(build_ext):
level
=
3
)
self
.
failed
.
append
(
ext
.
name
)
def
get_platform
(
self
):
# Get value of sys.platform
for
platform
in
[
'cygwin'
,
'beos'
,
'darwin'
,
'atheos'
,
'osf1'
]:
if
sys
.
platform
.
startswith
(
platform
):
return
platform
return
sys
.
platform
def
add_multiarch_paths
(
self
):
# Debian/Ubuntu multiarch support.
# https://wiki.ubuntu.com/MultiarchSpec
...
...
@@ -373,12 +383,15 @@ class PyBuildExt(build_ext):
if
not
find_executable
(
'dpkg-architecture'
):
return
opt
=
''
if
cross_compiling
:
opt
=
'-t'
+
sysconfig
.
get_config_var
(
'HOST_GNU_TYPE'
)
tmpfile
=
os
.
path
.
join
(
self
.
build_temp
,
'multiarch'
)
if
not
os
.
path
.
exists
(
self
.
build_temp
):
os
.
makedirs
(
self
.
build_temp
)
ret
=
os
.
system
(
'dpkg-architecture -qDEB_HOST_MULTIARCH > %s 2> /dev/null'
%
tmpfile
)
'dpkg-architecture
%s
-qDEB_HOST_MULTIARCH > %s 2> /dev/null'
%
(
opt
,
tmpfile
)
)
try
:
if
ret
>>
8
==
0
:
with
open
(
tmpfile
)
as
fp
:
...
...
@@ -390,6 +403,38 @@ class PyBuildExt(build_ext):
finally
:
os
.
unlink
(
tmpfile
)
def
add_gcc_paths
(
self
):
gcc
=
sysconfig
.
get_config_var
(
'CC'
)
tmpfile
=
os
.
path
.
join
(
self
.
build_temp
,
'gccpaths'
)
if
not
os
.
path
.
exists
(
self
.
build_temp
):
os
.
makedirs
(
self
.
build_temp
)
ret
=
os
.
system
(
'%s -E -v - </dev/null 2>%s 1>/dev/null'
%
(
gcc
,
tmpfile
))
is_gcc
=
False
in_incdirs
=
False
inc_dirs
=
[]
lib_dirs
=
[]
try
:
if
ret
>>
8
==
0
:
with
open
(
tmpfile
)
as
fp
:
for
line
in
fp
.
readlines
():
if
line
.
startswith
(
"gcc version"
):
is_gcc
=
True
elif
line
.
startswith
(
"#include <...>"
):
in_incdirs
=
True
elif
line
.
startswith
(
"End of search list"
):
in_incdirs
=
False
elif
is_gcc
and
line
.
startswith
(
"LIBRARY_PATH"
):
for
d
in
line
.
strip
().
split
(
"="
)[
1
].
split
(
":"
):
d
=
os
.
path
.
normpath
(
d
)
if
'/gcc/'
not
in
d
:
add_dir_to_list
(
self
.
compiler
.
library_dirs
,
d
)
elif
is_gcc
and
in_incdirs
and
'/gcc/'
not
in
line
:
add_dir_to_list
(
self
.
compiler
.
include_dirs
,
line
.
strip
())
finally
:
os
.
unlink
(
tmpfile
)
def
detect_modules
(
self
):
# Ensure that /usr/local is always used
add_dir_to_list
(
self
.
compiler
.
library_dirs
,
'/usr/local/lib'
)
...
...
@@ -449,36 +494,42 @@ class PyBuildExt(build_ext):
# lib_dirs and inc_dirs are used to search for files;
# if a file is found in one of those directories, it can
# be assumed that no additional -I,-L directives are needed.
lib_dirs
=
self
.
compiler
.
library_dirs
+
[
'/lib64'
,
'/usr/lib64'
,
'/lib'
,
'/usr/lib'
,
]
inc_dirs
=
self
.
compiler
.
include_dirs
+
[
'/usr/include'
]
inc_dirs
=
self
.
compiler
.
include_dirs
[:]
lib_dirs
=
self
.
compiler
.
library_dirs
[:]
if
not
cross_compiling
:
for
d
in
(
'/usr/include'
,
):
add_dir_to_list
(
inc_dirs
,
d
)
for
d
in
(
'/lib64'
,
'/usr/lib64'
,
'/lib'
,
'/usr/lib'
,
):
add_dir_to_list
(
lib_dirs
,
d
)
exts
=
[]
missing
=
[]
config_h
=
sysconfig
.
get_config_h_filename
()
config_h_vars
=
sysconfig
.
parse_config_h
(
open
(
config_h
))
platform
=
self
.
get_platform
()
srcdir
=
sysconfig
.
get_config_var
(
'srcdir'
)
# Check for AtheOS which has libraries in non-standard locations
if
platform
==
'atheos'
:
if
host_
platform
==
'atheos'
:
lib_dirs
+=
[
'/system/libs'
,
'/atheos/autolnk/lib'
]
lib_dirs
+=
os
.
getenv
(
'LIBRARY_PATH'
,
''
).
split
(
os
.
pathsep
)
inc_dirs
+=
[
'/system/include'
,
'/atheos/autolnk/include'
]
inc_dirs
+=
os
.
getenv
(
'C_INCLUDE_PATH'
,
''
).
split
(
os
.
pathsep
)
# OSF/1 and Unixware have some stuff in /usr/ccs/lib (like -ldb)
if
platform
in
[
'osf1'
,
'unixware7'
,
'openunix8'
]:
if
host_
platform
in
[
'osf1'
,
'unixware7'
,
'openunix8'
]:
lib_dirs
+=
[
'/usr/ccs/lib'
]
# HP-UX11iv3 keeps files in lib/hpux folders.
if
platform
==
'hp-ux11'
:
if
host_
platform
==
'hp-ux11'
:
lib_dirs
+=
[
'/usr/lib/hpux64'
,
'/usr/lib/hpux32'
]
if
platform
==
'darwin'
:
if
host_
platform
==
'darwin'
:
# This should work on any unixy platform ;-)
# If the user has bothered specifying additional -I and -L flags
# in OPT and LDFLAGS we might as well use them here.
...
...
@@ -497,7 +548,7 @@ class PyBuildExt(build_ext):
# Check for MacOS X, which doesn't need libm.a at all
math_libs
=
[
'm'
]
if
platform
in
[
'darwin'
,
'beos'
]:
if
host_
platform
in
[
'darwin'
,
'beos'
]:
math_libs
=
[]
# XXX Omitted modules: gl, pure, dl, SGI-specific modules
...
...
@@ -569,7 +620,7 @@ class PyBuildExt(build_ext):
locale_libs = ['intl']
else:
locale_libs = []
if platform == 'darwin':
if
host_
platform == 'darwin':
locale_extra_link_args = ['-framework', 'CoreFoundation']
else:
locale_extra_link_args = []
...
...
@@ -611,7 +662,7 @@ class PyBuildExt(build_ext):
exts.append( Extension('cPickle', ['cPickle.c']) )
# Memory-mapped files (also works on Win32).
if platform not in ['atheos']:
if
host_
platform not in ['atheos']:
exts.append( Extension('mmap', ['mmapmodule.c']) )
else:
missing.append('mmap')
...
...
@@ -676,7 +727,7 @@ class PyBuildExt(build_ext):
elif self.compiler.find_library_file(lib_dirs, 'curses'):
curses_library = 'curses'
if platform == 'darwin':
if
host_
platform == 'darwin':
os_release = int(os.uname()[2].split('.')[0])
dep_target = sysconfig.get_config_var('MACOSX_DEPLOYMENT_TARGET')
if dep_target and dep_target.split('.') < ['10', '5']:
...
...
@@ -688,7 +739,7 @@ class PyBuildExt(build_ext):
if find_file('readline/rlconf.h', inc_dirs, []) is None:
do_readline = False
if do_readline:
if platform == 'darwin' and os_release < 9:
if
host_
platform == 'darwin' and os_release < 9:
# In every directory on the search path search for a dynamic
# library and then a static library, instead of first looking
# for dynamic libraries on the entiry path.
...
...
@@ -766,7 +817,7 @@ class PyBuildExt(build_ext):
inc_dirs + search_for_ssl_incs_in)
if opensslv_h:
name = os.path.join(opensslv_h[0], 'openssl/opensslv.h')
if
sys.
platform == 'darwin' and is_macosx_sdk_path(name):
if
host_
platform == 'darwin' and is_macosx_sdk_path(name):
name = os.path.join(macosx_sdk_root(), name[1:])
try:
incfile = open(name, 'r')
...
...
@@ -890,6 +941,9 @@ class PyBuildExt(build_ext):
db_inc_paths.append('/pkg/db-3.%d/include' % x)
db_inc_paths.append('/opt/db-3.%d/include' % x)
if cross_compiling:
db_inc_paths = []
# Add some common subdirectories for Sleepycat DB to the list,
# based on the standard include directories. This way DB3/4 gets
# picked up when it is installed in a non-standard prefix and
...
...
@@ -910,7 +964,7 @@ class PyBuildExt(build_ext):
db_ver_inc_map = {}
if
sys.
platform == 'darwin':
if
host_
platform == 'darwin':
sysroot = macosx_sdk_root()
class db_found(Exception): pass
...
...
@@ -920,7 +974,7 @@ class PyBuildExt(build_ext):
for d in inc_dirs + db_inc_paths:
f = os.path.join(d, "
db
.
h
")
if
sys.
platform == 'darwin' and is_macosx_sdk_path(d):
if
host_
platform == 'darwin' and is_macosx_sdk_path(d):
f = os.path.join(sysroot, d[1:], "
db
.
h
")
if db_setup_debug: print "
db
:
looking
for
db
.
h
in
", f
...
...
@@ -970,7 +1024,7 @@ class PyBuildExt(build_ext):
db_incdir
.
replace
(
"include"
,
'lib'
),
]
if
sys
.
platform
!=
'darwin'
:
if
host_
platform
!=
'darwin'
:
db_dirs_to_check
=
filter
(
os
.
path
.
isdir
,
db_dirs_to_check
)
else
:
...
...
@@ -1038,6 +1092,8 @@ class PyBuildExt(build_ext):
'/usr/local/include/sqlite'
,
'/usr/local/include/sqlite3'
,
]
if
cross_compiling
:
sqlite_inc_paths
=
[]
MIN_SQLITE_VERSION_NUMBER
=
(
3
,
0
,
8
)
MIN_SQLITE_VERSION
=
"."
.
join
([
str
(
x
)
for
x
in
MIN_SQLITE_VERSION_NUMBER
])
...
...
@@ -1045,12 +1101,12 @@ class PyBuildExt(build_ext):
# Scan the default include directories before the SQLite specific
# ones. This allows one to override the copy of sqlite on OSX,
# where /usr/include contains an old version of sqlite.
if
sys
.
platform
==
'darwin'
:
if
host_
platform
==
'darwin'
:
sysroot
=
macosx_sdk_root
()
for
d_
in
inc_dirs
+
sqlite_inc_paths
:
d
=
d_
if
sys
.
platform
==
'darwin'
and
is_macosx_sdk_path
(
d
):
if
host_
platform
==
'darwin'
and
is_macosx_sdk_path
(
d
):
d
=
os
.
path
.
join
(
sysroot
,
d
[
1
:])
f
=
os
.
path
.
join
(
d
,
"sqlite3.h"
)
...
...
@@ -1100,7 +1156,7 @@ class PyBuildExt(build_ext):
'_sqlite/util.c'
,
]
sqlite_defines
=
[]
if
sys
.
platform
!=
"win32"
:
if
host_
platform
!=
"win32"
:
sqlite_defines
.
append
((
'MODULE_NAME'
,
'"sqlite3"'
))
else
:
sqlite_defines
.
append
((
'MODULE_NAME'
,
'
\
\
"sqlite3
\
\
"'
))
...
...
@@ -1108,7 +1164,7 @@ class PyBuildExt(build_ext):
# Comment this out if you want the sqlite3 module to be able to load extensions.
sqlite_defines
.
append
((
"SQLITE_OMIT_LOAD_EXTENSION"
,
"1"
))
if
sys
.
platform
==
'darwin'
:
if
host_
platform
==
'darwin'
:
# In every directory on the search path search for a dynamic
# library and then a static library, instead of first looking
# for dynamic libraries on the entire path.
...
...
@@ -1142,7 +1198,7 @@ class PyBuildExt(build_ext):
# when attempting to compile and it will fail.
f
=
"/usr/include/db.h"
if
sys
.
platform
==
'darwin'
:
if
host_
platform
==
'darwin'
:
if
is_macosx_sdk_path
(
f
):
sysroot
=
macosx_sdk_root
()
f
=
os
.
path
.
join
(
sysroot
,
f
[
1
:])
...
...
@@ -1155,7 +1211,7 @@ class PyBuildExt(build_ext):
### XXX this should be fixed to not be platform-dependent
### but I don't have direct access to an osf1 platform and
### seemed to be muffing the search somehow
libraries = platform == "
osf1
" and ['db'] or None
libraries =
host_
platform == "
osf1
" and ['db'] or None
if libraries is not None:
exts.append(Extension('bsddb185', ['bsddbmodule.c'],
libraries=libraries))
...
...
@@ -1168,7 +1224,7 @@ class PyBuildExt(build_ext):
dbm_order = ['gdbm']
# The standard Unix dbm module:
if platform not in ['cygwin']:
if
host_
platform not in ['cygwin']:
config_args = [arg.strip("'")
for arg in sysconfig.get_config_var("CONFIG_ARGS").split()]
dbm_args = [arg for arg in config_args
...
...
@@ -1250,17 +1306,17 @@ class PyBuildExt(build_ext):
missing
.
append
(
'gdbm'
)
# Unix-only modules
if
platform
not
in
[
'win32'
]:
if
host_
platform
not
in
[
'win32'
]:
# Steen Lumholt's termios module
exts
.
append
(
Extension
(
'termios'
,
[
'termios.c'
])
)
# Jeremy Hylton's rlimit interface
if
platform
not
in
[
'atheos'
]:
if
host_
platform
not
in
[
'atheos'
]:
exts
.
append
(
Extension
(
'resource'
,
[
'resource.c'
])
)
else
:
missing
.
append
(
'resource'
)
# Sun yellow pages. Some systems have the functions in libc.
if
(
platform
not
in
[
'cygwin'
,
'atheos'
,
'qnx6'
]
and
if
(
host_
platform
not
in
[
'cygwin'
,
'atheos'
,
'qnx6'
]
and
find_file
(
'rpcsvc/yp_prot.h'
,
inc_dirs
,
[])
is
not
None
):
if
(
self
.
compiler
.
find_library_file
(
lib_dirs
,
'nsl'
)):
libs
=
[
'nsl'
]
...
...
@@ -1284,7 +1340,7 @@ class PyBuildExt(build_ext):
curses_libs
=
[
curses_library
]
exts
.
append
(
Extension
(
'_curses'
,
[
'_cursesmodule.c'
],
libraries
=
curses_libs
)
)
elif
curses_library
==
'curses'
and
platform
!=
'darwin'
:
elif
curses_library
==
'curses'
and
host_
platform
!=
'darwin'
:
# OSX has an old Berkeley curses, not good enough for
# the _curses module.
if
(
self
.
compiler
.
find_library_file
(
lib_dirs
,
'terminfo'
)):
...
...
@@ -1335,7 +1391,7 @@ class PyBuildExt(build_ext):
break
if
version
>=
version_req
:
if
(
self
.
compiler
.
find_library_file
(
lib_dirs
,
'z'
)):
if
sys
.
platform
==
"darwin"
:
if
host_
platform
==
"darwin"
:
zlib_extra_link_args
=
(
'-Wl,-search_paths_first'
,)
else
:
zlib_extra_link_args
=
()
...
...
@@ -1367,7 +1423,7 @@ class PyBuildExt(build_ext):
# Gustavo Niemeyer's bz2 module.
if
(
self
.
compiler
.
find_library_file
(
lib_dirs
,
'bz2'
)):
if
sys
.
platform
==
"darwin"
:
if
host_
platform
==
"darwin"
:
bz2_extra_link_args
=
(
'-Wl,-search_paths_first'
,)
else
:
bz2_extra_link_args
=
()
...
...
@@ -1440,7 +1496,7 @@ class PyBuildExt(build_ext):
if
sys
.
maxint
==
0x7fffffff
:
# This requires sizeof(int) == sizeof(long) == sizeof(char*)
dl_inc
=
find_file
(
'dlfcn.h'
,
[],
inc_dirs
)
if
(
dl_inc
is
not
None
)
and
(
platform
not
in
[
'atheos'
]):
if
(
dl_inc
is
not
None
)
and
(
host_
platform
not
in
[
'atheos'
]):
exts
.
append
(
Extension
(
'dl'
,
[
'dlmodule.c'
])
)
else
:
missing
.
append
(
'dl'
)
...
...
@@ -1451,29 +1507,29 @@ class PyBuildExt(build_ext):
self
.
detect_ctypes
(
inc_dirs
,
lib_dirs
)
# Richard Oudkerk's multiprocessing module
if
platform
==
'win32'
:
# Windows
if
host_
platform
==
'win32'
:
# Windows
macros
=
dict
()
libraries
=
[
'ws2_32'
]
elif
platform
==
'darwin'
:
# Mac OSX
elif
host_
platform
==
'darwin'
:
# Mac OSX
macros
=
dict
()
libraries
=
[]
elif
platform
==
'cygwin'
:
# Cygwin
elif
host_
platform
==
'cygwin'
:
# Cygwin
macros
=
dict
()
libraries
=
[]
elif
platform
in
(
'freebsd4'
,
'freebsd5'
,
'freebsd6'
,
'freebsd7'
,
'freebsd8'
):
elif
host_
platform
in
(
'freebsd4'
,
'freebsd5'
,
'freebsd6'
,
'freebsd7'
,
'freebsd8'
):
# FreeBSD's P1003.1b semaphore support is very experimental
# and has many known problems. (as of June 2008)
macros
=
dict
()
libraries
=
[]
elif
platform
.
startswith
(
'openbsd'
):
elif
host_
platform
.
startswith
(
'openbsd'
):
macros
=
dict
()
libraries
=
[]
elif
platform
.
startswith
(
'netbsd'
):
elif
host_
platform
.
startswith
(
'netbsd'
):
macros
=
dict
()
libraries
=
[]
...
...
@@ -1481,7 +1537,7 @@ class PyBuildExt(build_ext):
macros
=
dict
()
libraries
=
[
'rt'
]
if
platform
==
'win32'
:
if
host_
platform
==
'win32'
:
multiprocessing_srcs
=
[
'_multiprocessing/multiprocessing.c'
,
'_multiprocessing/semaphore.c'
,
'_multiprocessing/pipe_connection.c'
,
...
...
@@ -1508,26 +1564,26 @@ class PyBuildExt(build_ext):
# Platform-specific libraries
if
platform
==
'linux2'
:
if
host_
platform
==
'linux2'
:
# Linux-specific modules
exts
.
append
(
Extension
(
'linuxaudiodev'
,
[
'linuxaudiodev.c'
])
)
else
:
missing
.
append
(
'linuxaudiodev'
)
if
(
platform
in
(
'linux2'
,
'freebsd4'
,
'freebsd5'
,
'freebsd6'
,
if
(
host_
platform
in
(
'linux2'
,
'freebsd4'
,
'freebsd5'
,
'freebsd6'
,
'freebsd7'
,
'freebsd8'
)
or
platform
.
startswith
(
"gnukfreebsd"
)):
or
host_
platform
.
startswith
(
"gnukfreebsd"
)):
exts
.
append
(
Extension
(
'ossaudiodev'
,
[
'ossaudiodev.c'
])
)
else
:
missing
.
append
(
'ossaudiodev'
)
if
platform
==
'sunos5'
:
if
host_
platform
==
'sunos5'
:
# SunOS specific modules
exts
.
append
(
Extension
(
'sunaudiodev'
,
[
'sunaudiodev.c'
])
)
else
:
missing
.
append
(
'sunaudiodev'
)
if
platform
==
'darwin'
:
if
host_
platform
==
'darwin'
:
# _scproxy
exts
.
append
(
Extension
(
"_scproxy"
,
[
os
.
path
.
join
(
srcdir
,
"Mac/Modules/_scproxy.c"
)],
extra_link_args
=
[
...
...
@@ -1536,7 +1592,7 @@ class PyBuildExt(build_ext):
]))
if
platform
==
'darwin'
and
(
"--disable-toolbox-glue"
not
in
if
host_
platform
==
'darwin'
and
(
"--disable-toolbox-glue"
not
in
sysconfig
.
get_config_var
(
"CONFIG_ARGS"
)):
if
int
(
os
.
uname
()[
2
].
split
(
'.'
)[
0
])
>=
8
:
...
...
@@ -1732,8 +1788,7 @@ class PyBuildExt(build_ext):
# Rather than complicate the code below, detecting and building
# AquaTk is a separate method. Only one Tkinter will be built on
# Darwin - either AquaTk, if it is found, or X11 based Tk.
platform
=
self
.
get_platform
()
if
(
platform
==
'darwin'
and
if
(
host_platform
==
'darwin'
and
self
.
detect_tkinter_darwin
(
inc_dirs
,
lib_dirs
)):
return
...
...
@@ -1756,7 +1811,7 @@ class PyBuildExt(build_ext):
# Check for the include files on Debian and {Free,Open}BSD, where
# they're put in /usr/include/{tcl,tk}X.Y
dotversion
=
version
if
'.'
not
in
dotversion
and
"bsd"
in
sys
.
platform
.
lower
():
if
'.'
not
in
dotversion
and
"bsd"
in
host_
platform
.
lower
():
# OpenBSD and FreeBSD use Tcl/Tk library names like libtcl83.a,
# but the include subdirs are named like .../include/tcl8.3.
dotversion
=
dotversion
[:
-
1
]
+
'.'
+
dotversion
[
-
1
]
...
...
@@ -1782,7 +1837,7 @@ class PyBuildExt(build_ext):
include_dirs
.
append
(
dir
)
# Check for various platform-specific directories
if
platform
==
'sunos5'
:
if
host_
platform
==
'sunos5'
:
include_dirs
.
append
(
'/usr/openwin/include'
)
added_lib_dirs
.
append
(
'/usr/openwin/lib'
)
elif
os
.
path
.
exists
(
'/usr/X11R6/include'
):
...
...
@@ -1798,7 +1853,7 @@ class PyBuildExt(build_ext):
added_lib_dirs
.
append
(
'/usr/X11/lib'
)
# If Cygwin, then verify that X is installed before proceeding
if
platform
==
'cygwin'
:
if
host_
platform
==
'cygwin'
:
x11_inc
=
find_file
(
'X11/Xlib.h'
,
[],
include_dirs
)
if
x11_inc
is
None
:
return
...
...
@@ -1817,11 +1872,11 @@ class PyBuildExt(build_ext):
libs
.
append
(
'tk'
+
version
)
libs
.
append
(
'tcl'
+
version
)
if
platform
in
[
'aix3'
,
'aix4'
]:
if
host_
platform
in
[
'aix3'
,
'aix4'
]:
libs
.
append
(
'ld'
)
# Finally, link with the X11 libraries (not appropriate on cygwin)
if
platform
!=
"cygwin"
:
if
host_
platform
!=
"cygwin"
:
libs
.
append
(
'X11'
)
ext
=
Extension
(
'_tkinter'
,
[
'_tkinter.c'
,
'tkappinit.c'
],
...
...
@@ -1873,7 +1928,7 @@ class PyBuildExt(build_ext):
def
configure_ctypes
(
self
,
ext
):
if
not
self
.
use_system_libffi
:
if
sys
.
platform
==
'darwin'
:
if
host_
platform
==
'darwin'
:
return
self
.
configure_ctypes_darwin
(
ext
)
srcdir
=
sysconfig
.
get_config_var
(
'srcdir'
)
...
...
@@ -1891,7 +1946,8 @@ class PyBuildExt(build_ext):
ffi_configfile
):
from
distutils.dir_util
import
mkpath
mkpath
(
ffi_builddir
)
config_args
=
[]
config_args
=
[
arg
for
arg
in
sysconfig
.
get_config_var
(
"CONFIG_ARGS"
).
split
()
if
((
'--host='
in
arg
)
or
(
'--build='
in
arg
))]
if
not
self
.
verbose
:
config_args
.
append
(
"-q"
)
...
...
@@ -1935,7 +1991,7 @@ class PyBuildExt(build_ext):
'_ctypes/cfield.c'
]
depends
=
[
'_ctypes/ctypes.h'
]
if
sys
.
platform
==
'darwin'
:
if
host_
platform
==
'darwin'
:
sources
.
append
(
'_ctypes/malloc_closure.c'
)
sources
.
append
(
'_ctypes/darwin/dlfcn_simple.c'
)
extra_compile_args
.
append
(
'-DMACOSX'
)
...
...
@@ -1943,7 +1999,7 @@ class PyBuildExt(build_ext):
# XXX Is this still needed?
## extra_link_args.extend(['-read_only_relocs', 'warning'])
elif
sys
.
platform
==
'sunos5'
:
elif
host_
platform
==
'sunos5'
:
# XXX This shouldn't be necessary; it appears that some
# of the assembler code is non-PIC (i.e. it has relocations
# when it shouldn't. The proper fix would be to rewrite
...
...
@@ -1954,7 +2010,7 @@ class PyBuildExt(build_ext):
# finding some -z option for the Sun compiler.
extra_link_args
.
append
(
'-mimpure-text'
)
elif
sys
.
platform
.
startswith
(
'hp-ux'
):
elif
host_
platform
.
startswith
(
'hp-ux'
):
extra_link_args
.
append
(
'-fPIC'
)
ext
=
Extension
(
'_ctypes'
,
...
...
@@ -1971,7 +2027,7 @@ class PyBuildExt(build_ext):
if
not
'--with-system-ffi'
in
sysconfig
.
get_config_var
(
"CONFIG_ARGS"
):
return
if
sys
.
platform
==
'darwin'
:
if
host_
platform
==
'darwin'
:
# OS X 10.5 comes with libffi.dylib; the include files are
# in /usr/include/ffi
inc_dirs
.
append
(
'/usr/include/ffi'
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment