[SOLVED]Cross Compile Libconfig CPP to psp

Discuss the development of new homebrew software, tools and libraries.

Moderators: cheriff, TyRaNiD

Post Reply
coolkehon
Posts: 355
Joined: Mon Oct 20, 2008 5:44 am

[SOLVED]Cross Compile Libconfig CPP to psp

Post by coolkehon »

edit: site moved
done and website is kehon.izfree.com
but here is forum post
http://kehon.izfree.com/phpBB3/viewtopi ... d678368958

or here


Libconfig site = http://www.hyperrealm.com/libconfig/

I'm trying to cross compile libconfig cpp to the psp i know there is already a port of the c version but i want the cpp version and i also want to port other things but i looked at the config.sub because it said it wasnt in there (using stuff from SDL and sqlite to figure out config variables) so i simply copied the psp stuff (find using notepad++) into the libconfig's config.sub and it ran but then it got to the c compiler and said

Code: Select all

$ LDFLAGS="-L$(psp-config --pspsdk-path)/lib -lc -lstdc++ -lpspuser" ./configur
e --host psp --prefix=$(psp-config --psp-prefix)
configure: WARNING: If you wanted to set the --build type, don't use --host.
    If a cross compiler is detected then cross compile mode will be used.
checking build system type... i686-pc-cygwin
checking host system type... mipsallegrexel-psp-elf
checking target system type... mipsallegrexel-psp-elf
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for psp-strip... psp-strip
checking for psp-gcc... psp-gcc
checking for C compiler default output file name...
configure: error: C compiler cannot create executables
See `config.log' for more details.
can i get some help on this i think i may want to port other things too but right now its a littler confusing

edit: using MinPSPW
Last edited by coolkehon on Thu Mar 05, 2009 3:16 am, edited 4 times in total.
jimparis
Posts: 1145
Joined: Fri Jun 10, 2005 4:21 am
Location: Boston

Post by jimparis »

See `config.log' for more details.
coolkehon
Posts: 355
Joined: Mon Oct 20, 2008 5:44 am

Post by coolkehon »

i couldnt understand this here i will post it

Code: Select all

This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

It was created by configure, which was
generated by GNU Autoconf 2.62.  Invocation command line was

  $ ./configure --host=psp --prefix=c:/pspsdk/psp

## --------- ##
## Platform. ##
## --------- ##

hostname = Kelvin-PC
uname -m = i686
uname -r = 1.5.25(0.156/4/2)
uname -s = CYGWIN_NT-6.0
uname -v = 2008-06-12 19:34

/usr/bin/uname -p = unknown
/bin/uname -X     = unknown

/bin/arch              = i686
/usr/bin/arch -k       = unknown
/usr/convex/getsysinfo = unknown
/usr/bin/hostinfo      = unknown
/bin/machine           = unknown
/usr/bin/oslevel       = unknown
/bin/universe          = unknown

PATH: /usr/local/bin
PATH: /usr/bin
PATH: /bin
PATH: /usr/X11R6/bin
PATH: /cygdrive/c/Program Files/MiKTeX 2.7/miktex/bin
PATH: /cygdrive/c/Windows/system32
PATH: /cygdrive/c/Windows
PATH: /cygdrive/c/Windows/System32/Wbem
PATH: /cygdrive/c/Program Files/CyberLink/Power2Go/
PATH: /cygdrive/c/Program Files/QuickTime/QTSystem/
PATH: /cygdrive/c/Program Files/Doxygen/bin
PATH: /cygdrive/c/pspsdk/bin
PATH: /usr/bin
PATH: /cygdrive/c/Program Files/TortoiseSVN/bin
PATH: /usr/bin
PATH: /cygdrive/c/pspsdk/bin


## ----------- ##
## Core tests. ##
## ----------- ##

configure:2086: checking build system type
configure:2104: result: i686-pc-cygwin
configure:2126: checking host system type
configure:2141: result: mipsallegrexel-psp-elf
configure:2163: checking target system type
configure:2178: result: mipsallegrexel-psp-elf
configure:2222: checking for a BSD-compatible install
configure:2290: result: /usr/bin/install -c
configure:2301: checking whether build environment is sane
configure:2344: result: yes
configure:2369: checking for a thread-safe mkdir -p
configure:2408: result: /usr/bin/mkdir -p
configure:2421: checking for gawk
configure:2437: found /usr/bin/gawk
configure:2448: result: gawk
configure:2459: checking whether make sets $(MAKE)
configure:2481: result: yes
configure:2561: checking for psp-strip
configure:2577: found /cygdrive/c/pspsdk/bin/psp-strip
configure:2588: result: psp-strip
configure:2693: checking for psp-gcc
configure:2709: found /cygdrive/c/pspsdk/bin/psp-gcc
configure:2720: result: psp-gcc
configure:2998: checking for C compiler version
configure:3006: psp-gcc --version >&5
psp-gcc.exe (GCC) 4.3.3
Copyright (C) 2008 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.

configure:3010: $? = 0
configure:3017: psp-gcc -v >&5
Using built-in specs.
Target: psp
Configured with: ../../gcc-4.3.3/configure --enable-languages=c,c++,objc,obj-c++ --disable-win32-registry --enable-cxx-flags=-G0 --target=psp --with-newlib --disable-shared --disable-nls --prefix=/c/pspsdk --with-gmp=/usr/local --with-mpfr=/usr/local
Thread model: single
gcc version 4.3.3 (GCC) 
configure:3021: $? = 0
configure:3028: psp-gcc -V >&5
psp-gcc.exe: '-V' option must have argument
configure:3032: $? = 1
configure:3055: checking for C compiler default output file name
configure:3077: psp-gcc   -Lc:/pspsdk/psp
/lib -Lc:/pspsdk/psp/sdk
/lib -lc -lstdc++ -lpspuser conftest.c  >&5
c:/pspsdk/bin/../lib/gcc/psp/4.3.3/../../../../psp/bin/ld.exe: cannot find -lpspuser
collect2: ld returned 1 exit status
configure:3081: $? = 1
configure:3119: result: 
configure: failed program was:
| /* confdefs.h.  */
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE "libconfig"
| #define VERSION "1.3.1"
| #define TARGET "mipsallegrexel-psp-elf"
| #define _GNU_SOURCE 1
| /* end confdefs.h.  */
| 
| int
| main ()
| {
| 
|   ;
|   return 0;
| }
configure:3126: error: C compiler cannot create executables
See `config.log' for more details.

## ---------------- ##
## Cache variables. ##
## ---------------- ##

ac_cv_build=i686-pc-cygwin
ac_cv_env_CCC_set=
ac_cv_env_CCC_value=
ac_cv_env_CC_set=
ac_cv_env_CC_value=
ac_cv_env_CFLAGS_set=
ac_cv_env_CFLAGS_value=
ac_cv_env_CPPFLAGS_set=
ac_cv_env_CPPFLAGS_value=
ac_cv_env_CPP_set=
ac_cv_env_CPP_value=
ac_cv_env_CXXCPP_set=
ac_cv_env_CXXCPP_value=
ac_cv_env_CXXFLAGS_set=
ac_cv_env_CXXFLAGS_value=
ac_cv_env_CXX_set=
ac_cv_env_CXX_value=
ac_cv_env_F77_set=
ac_cv_env_F77_value=
ac_cv_env_FFLAGS_set=
ac_cv_env_FFLAGS_value=
ac_cv_env_LDFLAGS_set=set
ac_cv_env_LDFLAGS_value='-Lc:/pspsdk/psp
/lib -Lc:/pspsdk/psp/sdk
/lib -lc -lstdc++ -lpspuser'
ac_cv_env_LIBS_set=
ac_cv_env_LIBS_value=
ac_cv_env_YACC_set=
ac_cv_env_YACC_value=
ac_cv_env_YFLAGS_set=
ac_cv_env_YFLAGS_value=
ac_cv_env_build_alias_set=
ac_cv_env_build_alias_value=
ac_cv_env_host_alias_set=set
ac_cv_env_host_alias_value=psp
ac_cv_env_target_alias_set=
ac_cv_env_target_alias_value=
ac_cv_host=mipsallegrexel-psp-elf
ac_cv_path_install='/usr/bin/install -c'
ac_cv_path_mkdir=/usr/bin/mkdir
ac_cv_prog_AWK=gawk
ac_cv_prog_CC=psp-gcc
ac_cv_prog_STRIP=psp-strip
ac_cv_prog_make_make_set=yes
ac_cv_target=mipsallegrexel-psp-elf

## ----------------- ##
## Output variables. ##
## ----------------- ##

ACLOCAL='${SHELL} /cygdrive/c/Users/Kelvin/Downloads/Zips/_extracted/libconfig-1.3.1.tar.gz.extracted/libconfig-1.3.1/missing --run aclocal-1.10'
AMDEPBACKSLASH=''
AMDEP_FALSE=''
AMDEP_TRUE=''
AMTAR='${SHELL} /cygdrive/c/Users/Kelvin/Downloads/Zips/_extracted/libconfig-1.3.1.tar.gz.extracted/libconfig-1.3.1/missing --run tar'
AR=''
AS=''
AUTOCONF='${SHELL} /cygdrive/c/Users/Kelvin/Downloads/Zips/_extracted/libconfig-1.3.1.tar.gz.extracted/libconfig-1.3.1/missing --run autoconf'
AUTOHEADER='${SHELL} /cygdrive/c/Users/Kelvin/Downloads/Zips/_extracted/libconfig-1.3.1.tar.gz.extracted/libconfig-1.3.1/missing --run autoheader'
AUTOMAKE='${SHELL} /cygdrive/c/Users/Kelvin/Downloads/Zips/_extracted/libconfig-1.3.1.tar.gz.extracted/libconfig-1.3.1/missing --run automake-1.10'
AWK='gawk'
BUILDCXX_FALSE=''
BUILDCXX_TRUE=''
CC='psp-gcc'
CCDEPMODE=''
CFLAGS=''
CPP=''
CPPFLAGS=''
CXX=''
CXXCPP=''
CXXDEPMODE=''
CXXFLAGS=''
CYGPATH_W='cygpath -w'
DEFS=''
DEPDIR=''
DLLTOOL=''
DSYMUTIL=''
ECHO='echo'
ECHO_C=''
ECHO_N='-n'
ECHO_T=''
EGREP=''
EXEEXT=''
F77=''
FFLAGS=''
GNU_WIN_FALSE=''
GNU_WIN_TRUE=''
GREP=''
INSTALL_DATA='${INSTALL} -m 644'
INSTALL_PROGRAM='${INSTALL}'
INSTALL_SCRIPT='${INSTALL}'
INSTALL_STRIP_PROGRAM='$(install_sh) -c -s'
LDFLAGS='-Lc:/pspsdk/psp
/lib -Lc:/pspsdk/psp/sdk
/lib -lc -lstdc++ -lpspuser'
LEX=''
LEXLIB=''
LEX_OUTPUT_ROOT=''
LIBOBJS=''
LIBS=''
LIBTOOL=''
LN_S=''
LTLIBOBJS=''
MAKEINFO='${SHELL} /cygdrive/c/Users/Kelvin/Downloads/Zips/_extracted/libconfig-1.3.1.tar.gz.extracted/libconfig-1.3.1/missing --run makeinfo'
MKDIR_P='/usr/bin/mkdir -p'
NMEDIT=''
OBJDUMP=''
OBJEXT=''
PACKAGE='libconfig'
PACKAGE_BUGREPORT=''
PACKAGE_NAME=''
PACKAGE_STRING=''
PACKAGE_TARNAME=''
PACKAGE_VERSION=''
PATH_SEPARATOR=':'
RANLIB=''
SED=''
SET_MAKE=''
SHELL='/bin/sh'
STRIP='psp-strip'
VERSION='1.3.1'
YACC=''
YFLAGS=''
ac_ct_CC=''
ac_ct_CXX=''
ac_ct_F77=''
am__fastdepCC_FALSE=''
am__fastdepCC_TRUE=''
am__fastdepCXX_FALSE=''
am__fastdepCXX_TRUE=''
am__include=''
am__isrc=''
am__leading_dot='.'
am__quote=''
am__tar='${AMTAR} chof - "$$tardir"'
am__untar='${AMTAR} xf -'
bindir='${exec_prefix}/bin'
build='i686-pc-cygwin'
build_alias=''
build_cpu='i686'
build_os='cygwin'
build_vendor='pc'
datadir='${datarootdir}'
datarootdir='${prefix}/share'
docdir='${datarootdir}/doc/${PACKAGE}'
dvidir='${docdir}'
exec_prefix='NONE'
host='mipsallegrexel-psp-elf'
host_alias='psp'
host_cpu='mipsallegrexel'
host_os='elf'
host_vendor='psp'
htmldir='${docdir}'
includedir='${prefix}/include'
infodir='${datarootdir}/info'
install_sh='$(SHELL) /cygdrive/c/Users/Kelvin/Downloads/Zips/_extracted/libconfig-1.3.1.tar.gz.extracted/libconfig-1.3.1/install-sh'
libdir='${exec_prefix}/lib'
libexecdir='${exec_prefix}/libexec'
localedir='${datarootdir}/locale'
localstatedir='${prefix}/var'
mandir='${datarootdir}/man'
mkdir_p='/usr/bin/mkdir -p'
oldincludedir='/usr/include'
pdfdir='${docdir}'
prefix='c:/pspsdk/psp
'
program_transform_name='s,x,x,'
psdir='${docdir}'
sbindir='${exec_prefix}/sbin'
sharedstatedir='${prefix}/com'
sysconfdir='${prefix}/etc'
target='mipsallegrexel-psp-elf'
target_alias=''
target_cpu='mipsallegrexel'
target_os='elf'
target_vendor='psp'

## ----------- ##
## confdefs.h. ##
## ----------- ##

#define PACKAGE_NAME ""
#define PACKAGE_TARNAME ""
#define PACKAGE_VERSION ""
#define PACKAGE_STRING ""
#define PACKAGE_BUGREPORT ""
#define PACKAGE "libconfig"
#define VERSION "1.3.1"
#define TARGET "mipsallegrexel-psp-elf"
#define _GNU_SOURCE 1

configure: exit 77
coolkehon
Posts: 355
Joined: Mon Oct 20, 2008 5:44 am

Post by coolkehon »

i posted the config.log above
User avatar
Wally
Posts: 663
Joined: Mon Sep 26, 2005 11:25 am

Post by Wally »

c:/pspsdk/bin/../lib/gcc/psp/4.3.3/../../../../psp/bin/ld.exe: cannot find -lpspuser
There's your issue :)
coolkehon
Posts: 355
Joined: Mon Oct 20, 2008 5:44 am

Post by coolkehon »

lol well um i saw that and i tried to fix it before posting here guess i should have posted but how do i fix this
Heimdall
Posts: 245
Joined: Thu Nov 10, 2005 1:29 am
Location: Netherlands
Contact:

Post by Heimdall »

The default autoconf doesn't work you need to patch config.sub to be aware of the psp host, if you don't the configure cannot run. if it runs then you're mixing some other compiler (gcc) for other platform (maybe windows) and the psp gcc.

basically search for:

| mipstx39 | mipstx39el \

and add the next line

| mipsallegrex | mipsallegrexel \

search for:

| mipstx39-* | mipstx39el-* \

add the next line:

| mipsallegrex-* | mipsallegrexel-* \

search for:

*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
basic_machine=m68k-atari
os=-mint
;;

add:

psp)
basic_machine=mipsallegrexel-psp
os=-elf
;;

Now the configure script should work!

And i run it like this:

CFLAGS="-G0" LDFLAGS="-L$(psp-config --pspsdk-path)/lib -lc -lstdc++ -lpspuser" ./configure --host=psp --prefix=$(psp-config --psp-prefix)

I added the cflags because you would get a got table error, and you still have some link error because "sceIoGetstat" is not present so you need to configure again with the the io lib but i guess that should be easy right?
coolkehon
Posts: 355
Joined: Mon Oct 20, 2008 5:44 am

Post by coolkehon »

i actually have done that already by comparing SDL and zzlibs configure

here is the config.sub
did i do this right

Code: Select all

#! /bin/sh
# Configuration validation subroutine script.
#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
#   2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
#   Inc.

timestamp='2007-04-29'

# 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, write to the Free Software
# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
# 02110-1301, USA.
#
# 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 <[email protected]>.  Submit a context
# diff and a properly formatted 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.

# 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&#58;
#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
# or in some cases, the newer four-part form&#58;
#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
# It is wrong to echo any other type of specification.

me=`echo "$0" | sed -e 's,.*/,,'`

usage="\
Usage&#58; $0 &#91;OPTION&#93; CPU-MFR-OPSYS
       $0 &#91;OPTION&#93; ALIAS

Canonicalize a configuration name.

Operation modes&#58;
  -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 <[email protected]>."

version="\
GNU config.sub &#40;$timestamp&#41;

Copyright &#40;C&#41; 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
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 &#41;
       echo "$timestamp" ; exit ;;
    --version | -v &#41;
       echo "$version" ; exit ;;
    --help | --h* | -h &#41;
       echo "$usage"; exit ;;
    -- &#41;     # Stop option processing
       shift; break ;;
    - &#41;	# Use stdin as input.
       break ;;
    -* &#41;
       echo "$me&#58; invalid option $1$help"
       exit 1 ;;

    *local*&#41;
       # First pass through any local machine types.
       echo $1
       exit ;;

    * &#41;
       break ;;
  esac
done

case $# in
 0&#41; echo "$me&#58; missing argument$help" >&2
    exit 1;;
 1&#41; ;;
 *&#41; echo "$me&#58; too many arguments$help" >&2
    exit 1;;
esac

# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS &#40;if any&#41;.
# Here we must recognize all the valid KERNEL-OS combinations.
maybe_os=`echo $1 | sed 's/^\&#40;.*\&#41;-\&#40;&#91;^-&#93;*-&#91;^-&#93;*\&#41;$/\2/'`
case $maybe_os in
  nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
  uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
  storm-chaos* | os2-emx* | rtmk-nova*&#41;
    os=-$maybe_os
    basic_machine=`echo $1 | sed 's/^\&#40;.*\&#41;-\&#40;&#91;^-&#93;*-&#91;^-&#93;*\&#41;$/\1/'`
    ;;
  *&#41;
    basic_machine=`echo $1 | sed 's/-&#91;^-&#93;*$//'`
    if &#91; $basic_machine != $1 &#93;
    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*&#41;
		# Prevent following clause from handling this invalid input.
		;;
	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
	-att* | -7300* | -3300* | -delta* | -motorola* | -sun&#91;234&#93;* | \
	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
	-c&#91;123&#93;* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
	-apple | -axis | -knuth | -cray&#41;
		os=
		basic_machine=$1
		;;
	-sim | -cisco | -oki | -wec | -winbond&#41;
		os=
		basic_machine=$1
		;;
	-scout&#41;
		;;
	-wrs&#41;
		os=-vxworks
		basic_machine=$1
		;;
	-chorusos*&#41;
		os=-chorusos
		basic_machine=$1
		;;
 	-chorusrdb&#41;
 		os=-chorusrdb
		basic_machine=$1
 		;;
	-hiux*&#41;
		os=-hiuxwe2
		;;
	-sco6&#41;
		os=-sco5v6
		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
		;;
	-sco5&#41;
		os=-sco3.2v5
		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
		;;
	-sco4&#41;
		os=-sco3.2v4
		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
		;;
	-sco3.2.&#91;4-9&#93;*&#41;
		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
		;;
	-sco3.2v&#91;4-9&#93;*&#41;
		# Don't forget version if it is 3.2v4 or newer.
		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
		;;
	-sco5v6*&#41;
		# Don't forget version if it is 3.2v4 or newer.
		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
		;;
	-sco*&#41;
		os=-sco3.2v2
		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
		;;
	-udk*&#41;
		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
		;;
	-isc&#41;
		os=-isc2.2
		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
		;;
	-clix*&#41;
		basic_machine=clipper-intergraph
		;;
	-isc*&#41;
		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
		;;
	-lynx*&#41;
		os=-lynxos
		;;
	-ptx*&#41;
		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
		;;
	-windowsnt*&#41;
		os=`echo $os | sed -e 's/windowsnt/winnt/'`
		;;
	-psos*&#41;
		os=-psos
		;;
	-mint | -mint&#91;0-9&#93;*&#41;
		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 \
	| alpha | alphaev&#91;4-8&#93; | alphaev56 | alphaev6&#91;78&#93; | alphapca5&#91;67&#93; \
	| alpha64 | alpha64ev&#91;4-8&#93; | alpha64ev56 | alpha64ev6&#91;78&#93; | alpha64pca5&#91;67&#93; \
	| am33_2.0 \
	| arc | arm | arm&#91;bl&#93;e | arme&#91;lb&#93; | armv&#91;2345&#93; | armv&#91;345&#93;&#91;lb&#93; | avr | avr32 \
	| bfin \
	| c4x | clipper \
	| d10v | d30v | dlx | dsp16xx \
	| fido | fr30 | frv \
	| h8300 | h8500 | hppa | hppa1.&#91;01&#93; | hppa2.0 | hppa2.0&#91;nw&#93; | hppa64 \
	| i370 | i860 | i960 | ia64 \
	| ip2k | iq2000 \
	| m32c | m32r | m32rle | m68000 | m68k | m88k \
	| maxq | mb | microblaze | mcore | mep \
	| mips | mipsbe | mipseb | mipsel | mipsle \
	| mips16 \
	| mips64 | mips64el \
	| mips64vr | mips64vrel \
	| mips64orion | mips64orionel \
	| mips64vr4100 | mips64vr4100el \
	| mips64vr4300 | mips64vr4300el \
	| mips64vr5000 | mips64vr5000el \
	| mips64vr5900 | mips64vr5900el \
	| mipsisa32 | mipsisa32el \
	| mipsisa32r2 | mipsisa32r2el \
	| mipsisa64 | mipsisa64el \
	| mipsisa64r2 | mipsisa64r2el \
	| mipsisa64sb1 | mipsisa64sb1el \
	| mipsisa64sr71k | mipsisa64sr71kel \
	| mipstx39 | mipstx39el \
	| mipsallegrex | mipsallegrexel \
	| mn10200 | mn10300 \
	| mt \
	| msp430 \
	| nios | nios2 \
	| ns16k | ns32k \
	| or32 \
	| pdp10 | pdp11 | pj | pjl \
	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
	| pyramid \
	| score \
	| sh | sh&#91;1234&#93; | sh&#91;24&#93;a | sh&#91;23&#93;e | sh&#91;34&#93;eb | sheb | shbe | shle | sh&#91;1234&#93;le | sh3ele \
	| sh64 | sh64le \
	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
	| spu | strongarm \
	| tahoe | thumb | tic4x | tic80 | tron \
	| v850 | v850e \
	| we32k \
	| x86 | xc16x | xscale | xscalee&#91;bl&#93; | xstormy16 | xtensa \
	| z8k&#41;
		basic_machine=$basic_machine-unknown
		;;
	m6811 | m68hc11 | m6812 | m68hc12&#41;
		# Motorola 68HC11/12.
		basic_machine=$basic_machine-unknown
		os=-none
		;;
	m88110 | m680&#91;12346&#93;0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k&#41;
		;;
	ms1&#41;
		basic_machine=mt-unknown
		;;

	# We use `pc' rather than `unknown'
	# because &#40;1&#41; that's what they normally are, and
	# &#40;2&#41; the word "unknown" tends to confuse beginning users.
	i*86 | x86_64&#41;
	  basic_machine=$basic_machine-pc
	  ;;
	# Object if more than one company name word.
	*-*-*&#41;
		echo Invalid configuration \`$1\'&#58; machine \`$basic_machine\' not recognized 1>&2
		exit 1
		;;
	# Recognize the basic CPU types with company name.
	580-* \
	| a29k-* \
	| alpha-* | alphaev&#91;4-8&#93;-* | alphaev56-* | alphaev6&#91;78&#93;-* \
	| alpha64-* | alpha64ev&#91;4-8&#93;-* | alpha64ev56-* | alpha64ev6&#91;78&#93;-* \
	| alphapca5&#91;67&#93;-* | alpha64pca5&#91;67&#93;-* | arc-* \
	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
	| avr-* | avr32-* \
	| bfin-* | bs2000-* \
	| c&#91;123&#93;* | c30-* | &#91;cjt&#93;90-* | c4x-* | c54x-* | c55x-* | c6x-* \
	| clipper-* | craynv-* | cydra-* \
	| d10v-* | d30v-* | dlx-* \
	| elxsi-* \
	| f30&#91;01&#93;-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
	| h8300-* | h8500-* \
	| hppa-* | hppa1.&#91;01&#93;-* | hppa2.0-* | hppa2.0&#91;nw&#93;-* | hppa64-* \
	| i*86-* | i860-* | i960-* | ia64-* \
	| ip2k-* | iq2000-* \
	| m32c-* | m32r-* | m32rle-* \
	| m68000-* | m680&#91;012346&#93;0-* | m68360-* | m683?2-* | m68k-* \
	| m88110-* | m88k-* | maxq-* | mcore-* \
	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
	| mips16-* \
	| mips64-* | mips64el-* \
	| mips64vr-* | mips64vrel-* \
	| mips64orion-* | mips64orionel-* \
	| mips64vr4100-* | mips64vr4100el-* \
	| mips64vr4300-* | mips64vr4300el-* \
	| mips64vr5000-* | mips64vr5000el-* \
	| mips64vr5900-* | mips64vr5900el-* \
	| mipsisa32-* | mipsisa32el-* \
	| mipsisa32r2-* | mipsisa32r2el-* \
	| mipsisa64-* | mipsisa64el-* \
	| mipsisa64r2-* | mipsisa64r2el-* \
	| mipsisa64sb1-* | mipsisa64sb1el-* \
	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
	| mipstx39-* | mipstx39el-* \
	| mipsallegrex-* | mipsallegrexel-* \
	| mmix-* \
	| mt-* \
	| msp430-* \
	| nios-* | nios2-* \
	| none-* | np1-* | ns16k-* | ns32k-* \
	| orion-* \
	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
	| pyramid-* \
	| romp-* | rs6000-* \
	| sh-* | sh&#91;1234&#93;-* | sh&#91;24&#93;a-* | sh&#91;23&#93;e-* | sh&#91;34&#93;eb-* | sheb-* | shbe-* \
	| shle-* | sh&#91;1234&#93;le-* | sh3ele-* | sh64-* | sh64le-* \
	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
	| sparclite-* \
	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
	| tahoe-* | thumb-* \
	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
	| tron-* \
	| v850-* | v850e-* | vax-* \
	| we32k-* \
	| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee&#91;bl&#93;-* \
	| xstormy16-* | xtensa-* \
	| ymp-* \
	| z8k-*&#41;
		;;
	# Recognize the various machine names and aliases which stand
	# for a CPU type and a company and sometimes even an OS.
	386bsd&#41;
		basic_machine=i386-unknown
		os=-bsd
		;;
	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc&#41;
		basic_machine=m68000-att
		;;
	3b*&#41;
		basic_machine=we32k-att
		;;
	a29khif&#41;
		basic_machine=a29k-amd
		os=-udi
		;;
    	abacus&#41;
		basic_machine=abacus-unknown
		;;
	adobe68k&#41;
		basic_machine=m68010-adobe
		os=-scout
		;;
	alliant | fx80&#41;
		basic_machine=fx80-alliant
		;;
	altos | altos3068&#41;
		basic_machine=m68k-altos
		;;
	am29k&#41;
		basic_machine=a29k-none
		os=-bsd
		;;
	amd64&#41;
		basic_machine=x86_64-pc
		;;
	amd64-*&#41;
		basic_machine=x86_64-`echo $basic_machine | sed 's/^&#91;^-&#93;*-//'`
		;;
	amdahl&#41;
		basic_machine=580-amdahl
		os=-sysv
		;;
	amiga | amiga-*&#41;
		basic_machine=m68k-unknown
		;;
	amigaos | amigados&#41;
		basic_machine=m68k-unknown
		os=-amigaos
		;;
	amigaunix | amix&#41;
		basic_machine=m68k-unknown
		os=-sysv4
		;;
	apollo68&#41;
		basic_machine=m68k-apollo
		os=-sysv
		;;
	apollo68bsd&#41;
		basic_machine=m68k-apollo
		os=-bsd
		;;
	aux&#41;
		basic_machine=m68k-apple
		os=-aux
		;;
	balance&#41;
		basic_machine=ns32k-sequent
		os=-dynix
		;;
	c90&#41;
		basic_machine=c90-cray
		os=-unicos
		;;
	convex-c1&#41;
		basic_machine=c1-convex
		os=-bsd
		;;
	convex-c2&#41;
		basic_machine=c2-convex
		os=-bsd
		;;
	convex-c32&#41;
		basic_machine=c32-convex
		os=-bsd
		;;
	convex-c34&#41;
		basic_machine=c34-convex
		os=-bsd
		;;
	convex-c38&#41;
		basic_machine=c38-convex
		os=-bsd
		;;
	cray | j90&#41;
		basic_machine=j90-cray
		os=-unicos
		;;
	craynv&#41;
		basic_machine=craynv-cray
		os=-unicosmp
		;;
	cr16c&#41;
		basic_machine=cr16c-unknown
		os=-elf
		;;
	crds | unos&#41;
		basic_machine=m68k-crds
		;;
	crisv32 | crisv32-* | etraxfs*&#41;
		basic_machine=crisv32-axis
		;;
	cris | cris-* | etrax*&#41;
		basic_machine=cris-axis
		;;
	crx&#41;
		basic_machine=crx-unknown
		os=-elf
		;;
	da30 | da30-*&#41;
		basic_machine=m68k-da30
		;;
	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn&#41;
		basic_machine=mips-dec
		;;
	decsystem10* | dec10*&#41;
		basic_machine=pdp10-dec
		os=-tops10
		;;
	decsystem20* | dec20*&#41;
		basic_machine=pdp10-dec
		os=-tops20
		;;
	delta | 3300 | motorola-3300 | motorola-delta \
	      | 3300-motorola | delta-motorola&#41;
		basic_machine=m68k-motorola
		;;
	delta88&#41;
		basic_machine=m88k-motorola
		os=-sysv3
		;;
	djgpp&#41;
		basic_machine=i586-pc
		os=-msdosdjgpp
		;;
	dpx20 | dpx20-*&#41;
		basic_machine=rs6000-bull
		os=-bosx
		;;
	dpx2* | dpx2*-bull&#41;
		basic_machine=m68k-bull
		os=-sysv3
		;;
	ebmon29k&#41;
		basic_machine=a29k-amd
		os=-ebmon
		;;
	elxsi&#41;
		basic_machine=elxsi-elxsi
		os=-bsd
		;;
	encore | umax | mmax&#41;
		basic_machine=ns32k-encore
		;;
	es1800 | OSE68k | ose68k | ose | OSE&#41;
		basic_machine=m68k-ericsson
		os=-ose
		;;
	fx2800&#41;
		basic_machine=i860-alliant
		;;
	genix&#41;
		basic_machine=ns32k-ns
		;;
	gmicro&#41;
		basic_machine=tron-gmicro
		os=-sysv
		;;
	go32&#41;
		basic_machine=i386-pc
		os=-go32
		;;
	h3050r* | hiux*&#41;
		basic_machine=hppa1.1-hitachi
		os=-hiuxwe2
		;;
	h8300hms&#41;
		basic_machine=h8300-hitachi
		os=-hms
		;;
	h8300xray&#41;
		basic_machine=h8300-hitachi
		os=-xray
		;;
	h8500hms&#41;
		basic_machine=h8500-hitachi
		os=-hms
		;;
	harris&#41;
		basic_machine=m88k-harris
		os=-sysv3
		;;
	hp300-*&#41;
		basic_machine=m68k-hp
		;;
	hp300bsd&#41;
		basic_machine=m68k-hp
		os=-bsd
		;;
	hp300hpux&#41;
		basic_machine=m68k-hp
		os=-hpux
		;;
	hp3k9&#91;0-9&#93;&#91;0-9&#93; | hp9&#91;0-9&#93;&#91;0-9&#93;&#41;
		basic_machine=hppa1.0-hp
		;;
	hp9k2&#91;0-9&#93;&#91;0-9&#93; | hp9k31&#91;0-9&#93;&#41;
		basic_machine=m68000-hp
		;;
	hp9k3&#91;2-9&#93;&#91;0-9&#93;&#41;
		basic_machine=m68k-hp
		;;
	hp9k6&#91;0-9&#93;&#91;0-9&#93; | hp6&#91;0-9&#93;&#91;0-9&#93;&#41;
		basic_machine=hppa1.0-hp
		;;
	hp9k7&#91;0-79&#93;&#91;0-9&#93; | hp7&#91;0-79&#93;&#91;0-9&#93;&#41;
		basic_machine=hppa1.1-hp
		;;
	hp9k78&#91;0-9&#93; | hp78&#91;0-9&#93;&#41;
		# FIXME&#58; really hppa2.0-hp
		basic_machine=hppa1.1-hp
		;;
	hp9k8&#91;67&#93;1 | hp8&#91;67&#93;1 | hp9k80&#91;24&#93; | hp80&#91;24&#93; | hp9k8&#91;78&#93;9 | hp8&#91;78&#93;9 | hp9k893 | hp893&#41;
		# FIXME&#58; really hppa2.0-hp
		basic_machine=hppa1.1-hp
		;;
	hp9k8&#91;0-9&#93;&#91;13679&#93; | hp8&#91;0-9&#93;&#91;13679&#93;&#41;
		basic_machine=hppa1.1-hp
		;;
	hp9k8&#91;0-9&#93;&#91;0-9&#93; | hp8&#91;0-9&#93;&#91;0-9&#93;&#41;
		basic_machine=hppa1.0-hp
		;;
	hppa-next&#41;
		os=-nextstep3
		;;
	hppaosf&#41;
		basic_machine=hppa1.1-hp
		os=-osf
		;;
	hppro&#41;
		basic_machine=hppa1.1-hp
		os=-proelf
		;;
	i370-ibm* | ibm*&#41;
		basic_machine=i370-ibm
		;;
# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
	i*86v32&#41;
		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
		os=-sysv32
		;;
	i*86v4*&#41;
		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
		os=-sysv4
		;;
	i*86v&#41;
		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
		os=-sysv
		;;
	i*86sol2&#41;
		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
		os=-solaris2
		;;
	i386mach&#41;
		basic_machine=i386-mach
		os=-mach
		;;
	i386-vsta | vsta&#41;
		basic_machine=i386-unknown
		os=-vsta
		;;
	iris | iris4d&#41;
		basic_machine=mips-sgi
		case $os in
		    -irix*&#41;
			;;
		    *&#41;
			os=-irix4
			;;
		esac
		;;
	isi68 | isi&#41;
		basic_machine=m68k-isi
		os=-sysv
		;;
	m88k-omron*&#41;
		basic_machine=m88k-omron
		;;
	magnum | m3230&#41;
		basic_machine=mips-mips
		os=-sysv
		;;
	merlin&#41;
		basic_machine=ns32k-utek
		os=-sysv
		;;
	mingw32&#41;
		basic_machine=i386-pc
		os=-mingw32
		;;
	mingw32ce&#41;
		basic_machine=arm-unknown
		os=-mingw32ce
		;;
	miniframe&#41;
		basic_machine=m68000-convergent
		;;
	*mint | -mint&#91;0-9&#93;* | *MiNT | *MiNT&#91;0-9&#93;*&#41;
		basic_machine=m68k-atari
		os=-mint
		;;
	mips3*-*&#41;
		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
		;;
	mips3*&#41;
		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
		;;
	monitor&#41;
		basic_machine=m68k-rom68k
		os=-coff
		;;
	morphos&#41;
		basic_machine=powerpc-unknown
		os=-morphos
		;;
	msdos&#41;
		basic_machine=i386-pc
		os=-msdos
		;;
	ms1-*&#41;
		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
		;;
	mvs&#41;
		basic_machine=i370-ibm
		os=-mvs
		;;
	ncr3000&#41;
		basic_machine=i486-ncr
		os=-sysv4
		;;
	netbsd386&#41;
		basic_machine=i386-unknown
		os=-netbsd
		;;
	netwinder&#41;
		basic_machine=armv4l-rebel
		os=-linux
		;;
	news | news700 | news800 | news900&#41;
		basic_machine=m68k-sony
		os=-newsos
		;;
	news1000&#41;
		basic_machine=m68030-sony
		os=-newsos
		;;
	news-3600 | risc-news&#41;
		basic_machine=mips-sony
		os=-newsos
		;;
	necv70&#41;
		basic_machine=v70-nec
		os=-sysv
		;;
	next | m*-next &#41;
		basic_machine=m68k-next
		case $os in
		    -nextstep* &#41;
			;;
		    -ns2*&#41;
		      os=-nextstep2
			;;
		    *&#41;
		      os=-nextstep3
			;;
		esac
		;;
	nh3000&#41;
		basic_machine=m68k-harris
		os=-cxux
		;;
	nh&#91;45&#93;000&#41;
		basic_machine=m88k-harris
		os=-cxux
		;;
	nindy960&#41;
		basic_machine=i960-intel
		os=-nindy
		;;
	mon960&#41;
		basic_machine=i960-intel
		os=-mon960
		;;
	nonstopux&#41;
		basic_machine=mips-compaq
		os=-nonstopux
		;;
	np1&#41;
		basic_machine=np1-gould
		;;
	nsr-tandem&#41;
		basic_machine=nsr-tandem
		;;
	op50n-* | op60c-*&#41;
		basic_machine=hppa1.1-oki
		os=-proelf
		;;
	openrisc | openrisc-*&#41;
		basic_machine=or32-unknown
		;;
	os400&#41;
		basic_machine=powerpc-ibm
		os=-os400
		;;
	OSE68000 | ose68000&#41;
		basic_machine=m68000-ericsson
		os=-ose
		;;
	os68k&#41;
		basic_machine=m68k-none
		os=-os68k
		;;
	pa-hitachi&#41;
		basic_machine=hppa1.1-hitachi
		os=-hiuxwe2
		;;
	paragon&#41;
		basic_machine=i860-intel
		os=-osf
		;;
	pbd&#41;
		basic_machine=sparc-tti
		;;
	pbb&#41;
		basic_machine=m68k-tti
		;;
	pc532 | pc532-*&#41;
		basic_machine=ns32k-pc532
		;;
	pc98&#41;
		basic_machine=i386-pc
		;;
	pc98-*&#41;
		basic_machine=i386-`echo $basic_machine | sed 's/^&#91;^-&#93;*-//'`
		;;
	pentium | p5 | k5 | k6 | nexgen | viac3&#41;
		basic_machine=i586-pc
		;;
	pentiumpro | p6 | 6x86 | athlon | athlon_*&#41;
		basic_machine=i686-pc
		;;
	pentiumii | pentium2 | pentiumiii | pentium3&#41;
		basic_machine=i686-pc
		;;
	pentium4&#41;
		basic_machine=i786-pc
		;;
	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*&#41;
		basic_machine=i586-`echo $basic_machine | sed 's/^&#91;^-&#93;*-//'`
		;;
	pentiumpro-* | p6-* | 6x86-* | athlon-*&#41;
		basic_machine=i686-`echo $basic_machine | sed 's/^&#91;^-&#93;*-//'`
		;;
	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*&#41;
		basic_machine=i686-`echo $basic_machine | sed 's/^&#91;^-&#93;*-//'`
		;;
	pentium4-*&#41;
		basic_machine=i786-`echo $basic_machine | sed 's/^&#91;^-&#93;*-//'`
		;;
	pn&#41;
		basic_machine=pn-gould
		;;
	power&#41;	basic_machine=power-ibm
		;;
	ppc&#41;	basic_machine=powerpc-unknown
		;;
	ppc-*&#41;	basic_machine=powerpc-`echo $basic_machine | sed 's/^&#91;^-&#93;*-//'`
		;;
	ppcle | powerpclittle | ppc-le | powerpc-little&#41;
		basic_machine=powerpcle-unknown
		;;
	ppcle-* | powerpclittle-*&#41;
		basic_machine=powerpcle-`echo $basic_machine | sed 's/^&#91;^-&#93;*-//'`
		;;
	ppc64&#41;	basic_machine=powerpc64-unknown
		;;
	ppc64-*&#41; basic_machine=powerpc64-`echo $basic_machine | sed 's/^&#91;^-&#93;*-//'`
		;;
	ppc64le | powerpc64little | ppc64-le | powerpc64-little&#41;
		basic_machine=powerpc64le-unknown
		;;
	ppc64le-* | powerpc64little-*&#41;
		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^&#91;^-&#93;*-//'`
		;;
	ps2&#41;
		basic_machine=i386-ibm
		;;
	psp&#41;
	basic_machine=mipsallegrexel-psp
	os=-elf
	;;
	pw32&#41;
		basic_machine=i586-unknown
		os=-pw32
		;;
	rdos&#41;
		basic_machine=i386-pc
		os=-rdos
		;;
	rom68k&#41;
		basic_machine=m68k-rom68k
		os=-coff
		;;
	rm&#91;46&#93;00&#41;
		basic_machine=mips-siemens
		;;
	rtpc | rtpc-*&#41;
		basic_machine=romp-ibm
		;;
	s390 | s390-*&#41;
		basic_machine=s390-ibm
		;;
	s390x | s390x-*&#41;
		basic_machine=s390x-ibm
		;;
	sa29200&#41;
		basic_machine=a29k-amd
		os=-udi
		;;
	sb1&#41;
		basic_machine=mipsisa64sb1-unknown
		;;
	sb1el&#41;
		basic_machine=mipsisa64sb1el-unknown
		;;
	sde&#41;
		basic_machine=mipsisa32-sde
		os=-elf
		;;
	sei&#41;
		basic_machine=mips-sei
		os=-seiux
		;;
	sequent&#41;
		basic_machine=i386-sequent
		;;
	sh&#41;
		basic_machine=sh-hitachi
		os=-hms
		;;
	sh5el&#41;
		basic_machine=sh5le-unknown
		;;
	sh64&#41;
		basic_machine=sh64-unknown
		;;
	sparclite-wrs | simso-wrs&#41;
		basic_machine=sparclite-wrs
		os=-vxworks
		;;
	sps7&#41;
		basic_machine=m68k-bull
		os=-sysv2
		;;
	spur&#41;
		basic_machine=spur-unknown
		;;
	st2000&#41;
		basic_machine=m68k-tandem
		;;
	stratus&#41;
		basic_machine=i860-stratus
		os=-sysv4
		;;
	sun2&#41;
		basic_machine=m68000-sun
		;;
	sun2os3&#41;
		basic_machine=m68000-sun
		os=-sunos3
		;;
	sun2os4&#41;
		basic_machine=m68000-sun
		os=-sunos4
		;;
	sun3os3&#41;
		basic_machine=m68k-sun
		os=-sunos3
		;;
	sun3os4&#41;
		basic_machine=m68k-sun
		os=-sunos4
		;;
	sun4os3&#41;
		basic_machine=sparc-sun
		os=-sunos3
		;;
	sun4os4&#41;
		basic_machine=sparc-sun
		os=-sunos4
		;;
	sun4sol2&#41;
		basic_machine=sparc-sun
		os=-solaris2
		;;
	sun3 | sun3-*&#41;
		basic_machine=m68k-sun
		;;
	sun4&#41;
		basic_machine=sparc-sun
		;;
	sun386 | sun386i | roadrunner&#41;
		basic_machine=i386-sun
		;;
	sv1&#41;
		basic_machine=sv1-cray
		os=-unicos
		;;
	symmetry&#41;
		basic_machine=i386-sequent
		os=-dynix
		;;
	t3e&#41;
		basic_machine=alphaev5-cray
		os=-unicos
		;;
	t90&#41;
		basic_machine=t90-cray
		os=-unicos
		;;
	tic54x | c54x*&#41;
		basic_machine=tic54x-unknown
		os=-coff
		;;
	tic55x | c55x*&#41;
		basic_machine=tic55x-unknown
		os=-coff
		;;
	tic6x | c6x*&#41;
		basic_machine=tic6x-unknown
		os=-coff
		;;
	tx39&#41;
		basic_machine=mipstx39-unknown
		;;
	tx39el&#41;
		basic_machine=mipstx39el-unknown
		;;
	toad1&#41;
		basic_machine=pdp10-xkl
		os=-tops20
		;;
	tower | tower-32&#41;
		basic_machine=m68k-ncr
		;;
	tpf&#41;
		basic_machine=s390x-ibm
		os=-tpf
		;;
	udi29k&#41;
		basic_machine=a29k-amd
		os=-udi
		;;
	ultra3&#41;
		basic_machine=a29k-nyu
		os=-sym1
		;;
	v810 | necv810&#41;
		basic_machine=v810-nec
		os=-none
		;;
	vaxv&#41;
		basic_machine=vax-dec
		os=-sysv
		;;
	vms&#41;
		basic_machine=vax-dec
		os=-vms
		;;
	vpp*|vx|vx-*&#41;
		basic_machine=f301-fujitsu
		;;
	vxworks960&#41;
		basic_machine=i960-wrs
		os=-vxworks
		;;
	vxworks68&#41;
		basic_machine=m68k-wrs
		os=-vxworks
		;;
	vxworks29k&#41;
		basic_machine=a29k-wrs
		os=-vxworks
		;;
	w65*&#41;
		basic_machine=w65-wdc
		os=-none
		;;
	w89k-*&#41;
		basic_machine=hppa1.1-winbond
		os=-proelf
		;;
	xbox&#41;
		basic_machine=i686-pc
		os=-mingw32
		;;
	xps | xps100&#41;
		basic_machine=xps100-honeywell
		;;
	ymp&#41;
		basic_machine=ymp-cray
		os=-unicos
		;;
	z8k-*-coff&#41;
		basic_machine=z8k-unknown
		os=-sim
		;;
	none&#41;
		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&#41;
		basic_machine=hppa1.1-winbond
		;;
	op50n&#41;
		basic_machine=hppa1.1-oki
		;;
	op60c&#41;
		basic_machine=hppa1.1-oki
		;;
	romp&#41;
		basic_machine=romp-ibm
		;;
	mmix&#41;
		basic_machine=mmix-knuth
		;;
	rs6000&#41;
		basic_machine=rs6000-ibm
		;;
	vax&#41;
		basic_machine=vax-dec
		;;
	pdp10&#41;
		# there are many clones, so DEC is not a safe bet
		basic_machine=pdp10-unknown
		;;
	pdp11&#41;
		basic_machine=pdp11-dec
		;;
	we32k&#41;
		basic_machine=we32k-att
		;;
	sh&#91;1234&#93; | sh&#91;24&#93;a | sh&#91;34&#93;eb | sh&#91;1234&#93;le | sh&#91;23&#93;ele&#41;
		basic_machine=sh-unknown
		;;
	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v&#41;
		basic_machine=sparc-sun
		;;
	cydra&#41;
		basic_machine=cydra-cydrome
		;;
	orion&#41;
		basic_machine=orion-highlevel
		;;
	orion105&#41;
		basic_machine=clipper-highlevel
		;;
	mac | mpw | mac-mpw&#41;
		basic_machine=m68k-apple
		;;
	pmac | pmac-mpw&#41;
		basic_machine=powerpc-apple
		;;
	*-unknown&#41;
		# Make sure to match an already-canonicalized machine name.
		;;
	*&#41;
		echo Invalid configuration \`$1\'&#58; machine \`$basic_machine\' not recognized 1>&2
		exit 1
		;;
esac

# Here we canonicalize certain aliases for manufacturers.
case $basic_machine in
	*-digital*&#41;
		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
		;;
	*-commodore*&#41;
		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
		;;
	*&#41;
		;;
esac

# Decode manufacturer-specific aliases for certain operating systems.

if &#91; x"$os" != x"" &#93;
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.
	-solaris1 | -solaris1.*&#41;
		os=`echo $os | sed -e 's|solaris1|sunos4|'`
		;;
	-solaris&#41;
		os=-solaris2
		;;
	-svr4*&#41;
		os=-sysv4
		;;
	-unixware*&#41;
		os=-sysv4.2uw
		;;
	-gnu/linux*&#41;
		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* | -sunos | -sunos&#91;34&#93;*\
	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
	      | -aos* \
	      | -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* \
	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
	      | -mingw32* | -linux-gnu* | -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*&#41;
	# Remember, each alternative MUST END IN *, to match a version number.
		;;
	-qnx*&#41;
		case $basic_machine in
		    x86-* | i*86-*&#41;
			;;
		    *&#41;
			os=-nto$os
			;;
		esac
		;;
	-nto-qnx*&#41;
		;;
	-nto*&#41;
		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*&#41;
		;;
	-mac*&#41;
		os=`echo $os | sed -e 's|mac|macos|'`
		;;
	-linux-dietlibc&#41;
		os=-linux-dietlibc
		;;
	-linux*&#41;
		os=`echo $os | sed -e 's|linux|linux-gnu|'`
		;;
	-sunos5*&#41;
		os=`echo $os | sed -e 's|sunos5|solaris2|'`
		;;
	-sunos6*&#41;
		os=`echo $os | sed -e 's|sunos6|solaris3|'`
		;;
	-opened*&#41;
		os=-openedition
		;;
        -os400*&#41;
		os=-os400
		;;
	-wince*&#41;
		os=-wince
		;;
	-osfrose*&#41;
		os=-osfrose
		;;
	-osf*&#41;
		os=-osf
		;;
	-utek*&#41;
		os=-bsd
		;;
	-dynix*&#41;
		os=-bsd
		;;
	-acis*&#41;
		os=-aos
		;;
	-atheos*&#41;
		os=-atheos
		;;
	-syllable*&#41;
		os=-syllable
		;;
	-386bsd&#41;
		os=-bsd
		;;
	-ctix* | -uts*&#41;
		os=-sysv
		;;
	-nova*&#41;
		os=-rtmk-nova
		;;
	-ns2 &#41;
		os=-nextstep2
		;;
	-nsk*&#41;
		os=-nsk
		;;
	# Preserve the version number of sinix5.
	-sinix5.*&#41;
		os=`echo $os | sed -e 's|sinix|sysv|'`
		;;
	-sinix*&#41;
		os=-sysv4
		;;
        -tpf*&#41;
		os=-tpf
		;;
	-triton*&#41;
		os=-sysv3
		;;
	-oss*&#41;
		os=-sysv3
		;;
	-svr4&#41;
		os=-sysv4
		;;
	-svr3&#41;
		os=-sysv3
		;;
	-sysvr4&#41;
		os=-sysv4
		;;
	# This must come after -sysvr4.
	-sysv*&#41;
		;;
	-ose*&#41;
		os=-ose
		;;
	-es1800*&#41;
		os=-ose
		;;
	-xenix&#41;
		os=-xenix
		;;
	-*mint | -mint&#91;0-9&#93;* | -*MiNT | -MiNT&#91;0-9&#93;*&#41;
		os=-mint
		;;
	-aros*&#41;
		os=-aros
		;;
	-kaos*&#41;
		os=-kaos
		;;
	-zvmoe&#41;
		os=-zvmoe
		;;
	-none&#41;
		;;
	*&#41;
		# Get rid of the `-' at the beginning of $os.
		os=`echo $os | sed 's/&#91;^-&#93;*-//'`
		echo Invalid configuration \`$1\'&#58; 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 &#40;say,
# "-sun"&#41;, 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-*&#41;
		os=-elf
		;;
        spu-*&#41;
		os=-elf
		;;
	*-acorn&#41;
		os=-riscix1.2
		;;
	arm*-rebel&#41;
		os=-linux
		;;
	arm*-semi&#41;
		os=-aout
		;;
        c4x-* | tic4x-*&#41;
        	os=-coff
		;;
	# This must come before the *-dec entry.
	pdp10-*&#41;
		os=-tops20
		;;
	pdp11-*&#41;
		os=-none
		;;
	*-dec | vax-*&#41;
		os=-ultrix4.2
		;;
	m68*-apollo&#41;
		os=-domain
		;;
	i386-sun&#41;
		os=-sunos4.0.2
		;;
	m68000-sun&#41;
		os=-sunos3
		# This also exists in the configure program, but was not the
		# default.
		# os=-sunos4
		;;
	m68*-cisco&#41;
		os=-aout
		;;
        mep-*&#41;
		os=-elf
		;;
	mips*-cisco&#41;
		os=-elf
		;;
	mips*-*&#41;
		os=-elf
		;;
	or32-*&#41;
		os=-coff
		;;
	*-tti&#41;	# must be before sparc entry or we get the wrong os.
		os=-sysv3
		;;
	sparc-* | *-sun&#41;
		os=-sunos4.1.1
		;;
	*-be&#41;
		os=-beos
		;;
	*-haiku&#41;
		os=-haiku
		;;
	*-ibm&#41;
		os=-aix
		;;
    	*-knuth&#41;
		os=-mmixware
		;;
	*-wec&#41;
		os=-proelf
		;;
	*-winbond&#41;
		os=-proelf
		;;
	*-oki&#41;
		os=-proelf
		;;
	*-hp&#41;
		os=-hpux
		;;
	*-hitachi&#41;
		os=-hiux
		;;
	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent&#41;
		os=-sysv
		;;
	*-cbm&#41;
		os=-amigaos
		;;
	*-dg&#41;
		os=-dgux
		;;
	*-dolphin&#41;
		os=-sysv3
		;;
	m68k-ccur&#41;
		os=-rtu
		;;
	m88k-omron*&#41;
		os=-luna
		;;
	*-next &#41;
		os=-nextstep
		;;
	*-sequent&#41;
		os=-ptx
		;;
	*-crds&#41;
		os=-unos
		;;
	*-ns&#41;
		os=-genix
		;;
	i370-*&#41;
		os=-mvs
		;;
	*-next&#41;
		os=-nextstep3
		;;
	*-gould&#41;
		os=-sysv
		;;
	*-highlevel&#41;
		os=-bsd
		;;
	*-encore&#41;
		os=-bsd
		;;
	*-sgi&#41;
		os=-irix
		;;
	*-siemens&#41;
		os=-sysv4
		;;
	*-masscomp&#41;
		os=-rtu
		;;
	f30&#91;01&#93;-fujitsu | f700-fujitsu&#41;
		os=-uxpv
		;;
	*-rom68k&#41;
		os=-coff
		;;
	*-*bug&#41;
		os=-coff
		;;
	*-apple&#41;
		os=-macos
		;;
	*-atari*&#41;
		os=-mint
		;;
	*&#41;
		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&#41;
		case $os in
			-riscix*&#41;
				vendor=acorn
				;;
			-sunos*&#41;
				vendor=sun
				;;
			-aix*&#41;
				vendor=ibm
				;;
			-beos*&#41;
				vendor=be
				;;
			-hpux*&#41;
				vendor=hp
				;;
			-mpeix*&#41;
				vendor=hp
				;;
			-hiux*&#41;
				vendor=hitachi
				;;
			-unos*&#41;
				vendor=crds
				;;
			-dgux*&#41;
				vendor=dg
				;;
			-luna*&#41;
				vendor=omron
				;;
			-genix*&#41;
				vendor=ns
				;;
			-mvs* | -opened*&#41;
				vendor=ibm
				;;
			-os400*&#41;
				vendor=ibm
				;;
			-ptx*&#41;
				vendor=sequent
				;;
			-tpf*&#41;
				vendor=ibm
				;;
			-vxsim* | -vxworks* | -windiss*&#41;
				vendor=wrs
				;;
			-aux*&#41;
				vendor=apple
				;;
			-hms*&#41;
				vendor=hitachi
				;;
			-mpw* | -macos*&#41;
				vendor=apple
				;;
			-*mint | -mint&#91;0-9&#93;* | -*MiNT | -MiNT&#91;0-9&#93;*&#41;
				vendor=atari
				;;
			-vos*&#41;
				vendor=stratus
				;;
		esac
		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
		;;
esac

echo $basic_machine$os
exit

# Local variables&#58;
# eval&#58; &#40;add-hook 'write-file-hooks 'time-stamp&#41;
# time-stamp-start&#58; "timestamp='"
# time-stamp-format&#58; "%&#58;y-%02m-%02d"
# time-stamp-end&#58; "'"
# End&#58;
coolkehon
Posts: 355
Joined: Mon Oct 20, 2008 5:44 am

Post by coolkehon »

redid just as you said and still didnt work
jimparis
Posts: 1145
Joined: Fri Jun 10, 2005 4:21 am
Location: Boston

Post by jimparis »

From config.log:

Code: Select all

$ ./configure --host=psp --prefix=c&#58;/pspsdk/psp 
I don't think that prefix can work. If you're in Cygwin, use a proper cygwin path (ie. /cygdrive/c/pspsdk/psp, or /pspsdk/psp, or whatever it is)
coolkehon
Posts: 355
Joined: Mon Oct 20, 2008 5:44 am

Post by coolkehon »

nope it wants the absolute directory path

Code: Select all

$ CFLAGS="-G0" LDFLAGS="-L$&#40;psp-config --pspsdk-path&#41;/lib -lc -lstdc++ -lpspuse
r -lpspiofilemgr" ./configure --host=psp --prefix=cydrive/$&#40;psp-config --psp-pr
efix&#41;
configure&#58; error&#58; expected an absolute directory name for --prefix&#58; cydrive/c&#58;/p
spsdk/psp
jimparis
Posts: 1145
Joined: Fri Jun 10, 2005 4:21 am
Location: Boston

Post by jimparis »

"cygdrive/c:/pspsdk/psp" is not the same as "/cygdrive/c/pspsdk/psp"
coolkehon
Posts: 355
Joined: Mon Oct 20, 2008 5:44 am

Post by coolkehon »

i dont think thats the problem it finds psp-gcc
Heimdall
Posts: 245
Joined: Thu Nov 10, 2005 1:29 am
Location: Netherlands
Contact:

Post by Heimdall »

With the config.sub I've sent you (with the patch i wrote) i can build and link the library and the C sample and it only fails on the C++ linkage, but i don't use cygwin, i'm on msys. You are facing some cygwin issue that i cannot help you
coolkehon
Posts: 355
Joined: Mon Oct 20, 2008 5:44 am

Post by coolkehon »

i fixed it and i got the c++ working meant to post sooner i will upload it soon and post it on my website forums but i'm busy right now i had to make my own makefile and just use the files as is (c/c++ files)

edit:
done and website is kehon.awardspace.com
but here is forum post
http://kehon.awardspace.com/phpBB3/view ... 64f3cd8524

or here
Post Reply