forums.ps2dev.org Forum Index forums.ps2dev.org
Homebrew PS2, PSP & PS3 Development Discussions
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

[SOLVED]Cross Compile Libconfig CPP to psp

 
Post new topic   Reply to topic    forums.ps2dev.org Forum Index -> PSP Development
View previous topic :: View next topic  
Author Message
coolkehon



Joined: 20 Oct 2008
Posts: 355

PostPosted: Thu Feb 26, 2009 9:27 am    Post subject: [SOLVED]Cross Compile Libconfig CPP to psp Reply with quote

edit: site moved
done and website is kehon.izfree.com
but here is forum post
http://kehon.izfree.com/phpBB3/viewtopic.php?f=7&t=5&sid=86dc7cf1694f5362387e20d678368958

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:
$ 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
Back to top
View user's profile Send private message MSN Messenger
jimparis



Joined: 10 Jun 2005
Posts: 1179
Location: Boston

PostPosted: Thu Feb 26, 2009 4:45 pm    Post subject: Reply with quote

See `config.log' for more details.
Back to top
View user's profile Send private message
coolkehon



Joined: 20 Oct 2008
Posts: 355

PostPosted: Thu Feb 26, 2009 10:57 pm    Post subject: Reply with quote

i couldnt understand this here i will post it

Code:
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
Back to top
View user's profile Send private message MSN Messenger
coolkehon



Joined: 20 Oct 2008
Posts: 355

PostPosted: Fri Feb 27, 2009 3:11 am    Post subject: Reply with quote

i posted the config.log above
Back to top
View user's profile Send private message MSN Messenger
Wally



Joined: 26 Sep 2005
Posts: 672

PostPosted: Fri Feb 27, 2009 8:54 am    Post subject: Reply with quote

Quote:

c:/pspsdk/bin/../lib/gcc/psp/4.3.3/../../../../psp/bin/ld.exe: cannot find -lpspuser


There's your issue :)
Back to top
View user's profile Send private message AIM Address
coolkehon



Joined: 20 Oct 2008
Posts: 355

PostPosted: Fri Feb 27, 2009 9:14 pm    Post subject: Reply with quote

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
Back to top
View user's profile Send private message MSN Messenger
Heimdall



Joined: 10 Nov 2005
Posts: 259
Location: Netherlands

PostPosted: Sat Feb 28, 2009 2:08 am    Post subject: Reply with quote

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?
Back to top
View user's profile Send private message Visit poster's website MSN Messenger
coolkehon



Joined: 20 Oct 2008
Posts: 355

PostPosted: Sat Feb 28, 2009 2:15 am    Post subject: Reply with quote

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

here is the config.sub
did i do this right

Code:
#! /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 <config-patches@gnu.org>.  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:
#   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
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-dietlibc | linux-newlib* | linux-uclibc* | \
  uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
  storm-chaos* | os2-emx* | rtmk-nova*)
    os=-$maybe_os
    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
    ;;
  *)
    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)
      os=
      basic_machine=$1
      ;;
   -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*)
      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 \
   | 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 \
   | bfin \
   | c4x | clipper \
   | d10v | d30v | dlx | dsp16xx \
   | fido | fr30 | frv \
   | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | 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[1234] | sh[24]a | 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 | strongarm \
   | tahoe | thumb | tic4x | tic80 | tron \
   | v850 | v850e \
   | we32k \
   | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
   | z8k)
      basic_machine=$basic_machine-unknown
      ;;
   m6811 | m68hc11 | m6812 | m68hc12)
      # Motorola 68HC11/12.
      basic_machine=$basic_machine-unknown
      os=-none
      ;;
   m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
      ;;
   ms1)
      basic_machine=mt-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-* \
   | 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-* \
   | bfin-* | bs2000-* \
   | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
   | 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-* \
   | i*86-* | i860-* | i960-* | ia64-* \
   | ip2k-* | iq2000-* \
   | m32c-* | m32r-* | m32rle-* \
   | m68000-* | m680[012346]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[1234]-* | sh[24]a-* | 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-* | strongarm-* | sv1-* | sx?-* \
   | tahoe-* | thumb-* \
   | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
   | tron-* \
   | v850-* | v850e-* | vax-* \
   | we32k-* \
   | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
   | xstormy16-* | xtensa-* \
   | ymp-* \
   | z8k-*)
      ;;
   # 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
      ;;
   aux)
      basic_machine=m68k-apple
      os=-aux
      ;;
   balance)
      basic_machine=ns32k-sequent
      os=-dynix
      ;;
   c90)
      basic_machine=c90-cray
      os=-unicos
      ;;
   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
      ;;
   cr16c)
      basic_machine=cr16c-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
      ;;
   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'm not sure what "Sysv32" means.  Should this be sysv3.2?
   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
      ;;
   m88k-omron*)
      basic_machine=m88k-omron
      ;;
   magnum | m3230)
      basic_machine=mips-mips
      os=-sysv
      ;;
   merlin)
      basic_machine=ns32k-utek
      os=-sysv
      ;;
   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-/'`
      ;;
   mvs)
      basic_machine=i370-ibm
      os=-mvs
      ;;
   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
      ;;
   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
      ;;
   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)   basic_machine=powerpc-unknown
      ;;
   ppc-*)   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
      ;;
   psp)
   basic_machine=mipsallegrexel-psp
   os=-elf
   ;;
   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
      ;;
   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
      ;;
   tic54x | c54x*)
      basic_machine=tic54x-unknown
      os=-coff
      ;;
   tic55x | c55x*)
      basic_machine=tic55x-unknown
      os=-coff
      ;;
   tic6x | c6x*)
      basic_machine=tic6x-unknown
      os=-coff
      ;;
   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
      ;;
   ymp)
      basic_machine=ymp-cray
      os=-unicos
      ;;
   z8k-*-coff)
      basic_machine=z8k-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[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.
   -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* | -sunos | -sunos[34]*\
         | -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*)
   # 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
      ;;
   -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
      ;;
   # 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
      # This also exists in the configure program, but was not the
      # default.
      # os=-sunos4
      ;;
   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
            ;;
         -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:
Back to top
View user's profile Send private message MSN Messenger
coolkehon



Joined: 20 Oct 2008
Posts: 355

PostPosted: Sat Feb 28, 2009 2:25 am    Post subject: Reply with quote

redid just as you said and still didnt work
Back to top
View user's profile Send private message MSN Messenger
jimparis



Joined: 10 Jun 2005
Posts: 1179
Location: Boston

PostPosted: Sat Feb 28, 2009 3:45 am    Post subject: Reply with quote

From config.log:
Code:

$ ./configure --host=psp --prefix=c:/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)
Back to top
View user's profile Send private message
coolkehon



Joined: 20 Oct 2008
Posts: 355

PostPosted: Sat Feb 28, 2009 4:08 am    Post subject: Reply with quote

nope it wants the absolute directory path

Code:
$ CFLAGS="-G0" LDFLAGS="-L$(psp-config --pspsdk-path)/lib -lc -lstdc++ -lpspuse
r -lpspiofilemgr" ./configure --host=psp --prefix=cydrive/$(psp-config --psp-pr
efix)
configure: error: expected an absolute directory name for --prefix: cydrive/c:/p
spsdk/psp
Back to top
View user's profile Send private message MSN Messenger
jimparis



Joined: 10 Jun 2005
Posts: 1179
Location: Boston

PostPosted: Sat Feb 28, 2009 4:58 am    Post subject: Reply with quote

"cygdrive/c:/pspsdk/psp" is not the same as "/cygdrive/c/pspsdk/psp"
Back to top
View user's profile Send private message
coolkehon



Joined: 20 Oct 2008
Posts: 355

PostPosted: Sat Feb 28, 2009 5:39 am    Post subject: Reply with quote

i dont think thats the problem it finds psp-gcc
Back to top
View user's profile Send private message MSN Messenger
Heimdall



Joined: 10 Nov 2005
Posts: 259
Location: Netherlands

PostPosted: Mon Mar 02, 2009 6:17 am    Post subject: Reply with quote

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
Back to top
View user's profile Send private message Visit poster's website MSN Messenger
coolkehon



Joined: 20 Oct 2008
Posts: 355

PostPosted: Mon Mar 02, 2009 10:13 pm    Post subject: Reply with quote

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/viewtopic.php?f=7&t=5&sid=249c1aaa3db5407604b3a864f3cd8524

or here
Back to top
View user's profile Send private message MSN Messenger
Display posts from previous:   
Post new topic   Reply to topic    forums.ps2dev.org Forum Index -> PSP Development All times are GMT + 10 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group