OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-stable/] [gdb-7.2/] [readline/] [support/] [shobj-conf] - Rev 866

Go to most recent revision | Compare with Previous | Blame | View Log

#! /bin/sh
#
# shobj-conf -- output a series of variable assignments to be substituted
#               into a Makefile by configure which specify system-dependent
#               information for creating shared objects that may be loaded
#               into bash with `enable -f'
#
# usage: shobj-conf [-C compiler] -c host_cpu -o host_os -v host_vendor
#
# Chet Ramey
# chet@po.cwru.edu

# Copyright (C) 1996-2002 Free Software Foundation, Inc.
#
# This program 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, 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., 59 Temple Place, Suite 330, Boston, MA 02111 USA.

#
# defaults
#
SHOBJ_STATUS=supported
SHLIB_STATUS=supported

SHOBJ_CC=cc
SHOBJ_CFLAGS=
SHOBJ_LD=
SHOBJ_LDFLAGS=
SHOBJ_XLDFLAGS=
SHOBJ_LIBS=

SHLIB_XLDFLAGS=
SHLIB_LIBS=

SHLIB_DOT='.'
SHLIB_LIBPREF='lib'
SHLIB_LIBSUFF='so'

SHLIB_LIBVERSION='$(SHLIB_LIBSUFF)'
SHLIB_DLLVERSION='$(SHLIB_MAJOR)'

PROGNAME=`basename $0`
USAGE="$PROGNAME [-C compiler] -c host_cpu -o host_os -v host_vendor"

while [ $# -gt 0 ]; do
        case "$1" in
        -C)     shift; SHOBJ_CC="$1"; shift ;;
        -c)     shift; host_cpu="$1"; shift ;;
        -o)     shift; host_os="$1"; shift ;;
        -v)     shift; host_vendor="$1"; shift ;;
        *)      echo "$USAGE" >&2 ; exit 2;;
        esac
done

case "${host_os}-${SHOBJ_CC}" in
sunos4*-*gcc*)
        SHOBJ_CFLAGS=-fpic
        SHOBJ_LD=/usr/bin/ld
        SHOBJ_LDFLAGS='-assert pure-text'

        SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)'
        ;;

sunos4*)
        SHOBJ_CFLAGS=-pic
        SHOBJ_LD=/usr/bin/ld
        SHOBJ_LDFLAGS='-assert pure-text'

        SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)'
        ;;

sunos5*-*gcc*|solaris2*-*gcc*)
        SHOBJ_CFLAGS=-fpic
        SHOBJ_LD='${CC}'
        ld_used=`gcc -print-prog-name=ld`
        if ${ld_used} -V 2>&1 | grep GNU >/dev/null 2>&1; then
                # This line works for the GNU ld
                SHOBJ_LDFLAGS='-shared -Wl,-h,$@'
        else
                # This line works for the Solaris linker in /usr/ccs/bin/ld
                SHOBJ_LDFLAGS='-shared -Wl,-i -Wl,-h,$@'
        fi

#       SHLIB_XLDFLAGS='-R $(libdir)'
        SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
        ;;

sunos5*|solaris2*)
        SHOBJ_CFLAGS='-K pic'
        SHOBJ_LD=/usr/ccs/bin/ld
        SHOBJ_LDFLAGS='-G -dy -z text -i -h $@'

#       SHLIB_XLDFLAGS='-R $(libdir)'
        SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
        ;;

# All versions of Linux or the semi-mythical GNU Hurd.
linux*-*|gnu*-*|k*bsd*-gnu-*)
        SHOBJ_CFLAGS=-fPIC
        SHOBJ_LD='${CC}'
        SHOBJ_LDFLAGS='-shared -Wl,-soname,$@'

        SHLIB_XLDFLAGS='-Wl,-rpath,$(libdir) -Wl,-soname,`basename $@ $(SHLIB_MINOR)`'
        SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)'
        ;;

freebsd2* | netbsd*)
        SHOBJ_CFLAGS=-fpic
        SHOBJ_LD=ld
        SHOBJ_LDFLAGS='-x -Bshareable'

        SHLIB_XLDFLAGS='-R$(libdir)'
        SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)'
        ;;

# FreeBSD-3.x ELF
freebsd[3-9]*|freebsdelf[3-9]*|freebsdaout[3-9]*|dragonfly*)
        SHOBJ_CFLAGS=-fpic
        SHOBJ_LD='${CC}'

        if [ -x /usr/bin/objformat ] && [ "`/usr/bin/objformat`" = "elf" ]; then
                SHOBJ_LDFLAGS='-shared -Wl,-soname,$@'

                SHLIB_XLDFLAGS='-Wl,-rpath,$(libdir)'
                SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
        else
                SHOBJ_LDFLAGS='-shared'

                SHLIB_XLDFLAGS='-R$(libdir)'
                SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)'
        fi
        ;;

# Darwin/MacOS X
darwin*|macosx*)
        SHOBJ_STATUS=unsupported
        SHLIB_STATUS=supported

        SHOBJ_CFLAGS='-fno-common'

        SHOBJ_LD='${CC}'

        SHLIB_LIBVERSION='$(SHLIB_MAJOR)$(SHLIB_MINOR).$(SHLIB_LIBSUFF)'
        SHLIB_LIBSUFF='dylib'

        case "${host_os}" in
        darwin[78]*)    SHOBJ_LDFLAGS=''
                        SHLIB_XLDFLAGS='-dynamiclib -arch_only `/usr/bin/arch` -install_name $(libdir)/$@ -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v'
                        ;;
        *)              SHOBJ_LDFLAGS='-dynamic'
                        SHLIB_XLDFLAGS='-arch_only `/usr/bin/arch` -install_name $(libdir)/$@ -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v'
                        ;;
        esac

        SHLIB_LIBS='-lncurses'  # see if -lcurses works on MacOS X 10.1 
        ;;

openbsd*)
        SHOBJ_CFLAGS=-fPIC
        SHOBJ_LD='${CC}'
        SHOBJ_LDFLAGS='-shared'

        SHLIB_XLDFLAGS='-R$(libdir)'
        SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)'
        ;;

bsdi2*)
        SHOBJ_CC=shlicc2
        SHOBJ_CFLAGS=
        SHOBJ_LD=ld
        SHOBJ_LDFLAGS=-r
        SHOBJ_LIBS=-lc_s.2.1.0

        # BSD/OS 2.x and 3.x `shared libraries' are too much of a pain in
        # the ass -- they require changing {/usr/lib,etc}/shlib.map on
        # each system, and the library creation process is byzantine
        SHLIB_STATUS=unsupported
        ;;

bsdi3*)
        SHOBJ_CC=shlicc2
        SHOBJ_CFLAGS=
        SHOBJ_LD=ld
        SHOBJ_LDFLAGS=-r
        SHOBJ_LIBS=-lc_s.3.0.0

        # BSD/OS 2.x and 3.x `shared libraries' are too much of a pain in
        # the ass -- they require changing {/usr/lib,etc}/shlib.map on
        # each system, and the library creation process is byzantine
        SHLIB_STATUS=unsupported
        ;;

bsdi4*)
        # BSD/OS 4.x now supports ELF and SunOS-style dynamically-linked
        # shared libraries.  gcc 2.x is the standard compiler, and the
        # `normal' gcc options should work as they do in Linux.

        SHOBJ_CFLAGS=-fPIC
        SHOBJ_LD='${CC}'
        SHOBJ_LDFLAGS='-shared -Wl,-soname,$@'

        SHLIB_XLDFLAGS='-Wl,-soname,`basename $@ $(SHLIB_MINOR)`'
        SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)'
        ;;

osf*-*gcc*)
        # Fix to use gcc linker driver from bfischer@TechFak.Uni-Bielefeld.DE
        SHOBJ_LD='${CC}'
        SHOBJ_LDFLAGS='-shared -Wl,-soname,$@'

        SHLIB_XLDFLAGS='-rpath $(libdir)'
        SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
        ;;

osf*)
        SHOBJ_LD=ld
        SHOBJ_LDFLAGS='-shared -soname $@ -expect_unresolved "*"'

        SHLIB_XLDFLAGS='-rpath $(libdir)'
        SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
        ;;

aix4.[2-9]*-*gcc*)              # lightly tested by jik@cisco.com
        SHOBJ_CFLAGS=-fpic
        SHOBJ_LD='ld'
        SHOBJ_LDFLAGS='-bdynamic -bnoentry -bexpall'
        SHOBJ_XLDFLAGS='-G'

        SHLIB_XLDFLAGS='-bM:SRE'
        SHLIB_LIBS='-lcurses -lc'
        SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
        ;;

aix4.[2-9]*)
        SHOBJ_CFLAGS=-K
        SHOBJ_LD='ld'
        SHOBJ_LDFLAGS='-bdynamic -bnoentry -bexpall'
        SHOBJ_XLDFLAGS='-G'

        SHLIB_XLDFLAGS='-bM:SRE'
        SHLIB_LIBS='-lcurses -lc'
        SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
        ;;

#
# THE FOLLOWING ARE UNTESTED -- and some may not support the dlopen interface
#
irix[56]*-*gcc*)
        SHOBJ_CFLAGS='-fpic'
        SHOBJ_LD='${CC}'
        SHOBJ_LDFLAGS='-shared -Wl,-soname,$@'

        SHLIB_XLDFLAGS='-Wl,-rpath,$(libdir)'
        SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
        ;;

irix[56]*)
        SHOBJ_CFLAGS='-K PIC'
        SHOBJ_LD=ld
#       SHOBJ_LDFLAGS='-call_shared -hidden_symbol -no_unresolved -soname $@'
#       Change from David Kaelbling <drk@sgi.com>.  If you have problems,
#       remove the `-no_unresolved'
        SHOBJ_LDFLAGS='-shared -no_unresolved -soname $@'

        SHLIB_XLDFLAGS='-rpath $(libdir)'
        SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
        ;;

hpux9*-*gcc*)
        # must use gcc; the bundled cc cannot compile PIC code
        SHOBJ_CFLAGS='-fpic'
        SHOBJ_LD='${CC}'
        SHOBJ_LDFLAGS='-shared -Wl,-b -Wl,+s'

        SHLIB_XLDFLAGS='-Wl,+b,$(libdir)'
        SHLIB_LIBSUFF='sl'
        SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
        ;;

hpux9*)
        SHOBJ_STATUS=unsupported
        SHLIB_STATUS=unsupported

        # If you are using the HP ANSI C compiler, you can uncomment and use
        # this code (I have not tested it)
#       SHOBJ_STATUS=supported
#       SHLIB_STATUS=supported
#
#       SHOBJ_CFLAGS='+z'
#       SHOBJ_LD='ld'
#       SHOBJ_LDFLAGS='-b +s'
#
#       SHLIB_XLDFLAGS='+b $(libdir)'
#       SHLIB_LIBSUFF='sl'
#       SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'      

        ;;

hpux10*-*gcc*)
        # must use gcc; the bundled cc cannot compile PIC code
        SHOBJ_CFLAGS='-fpic'
        SHOBJ_LD='${CC}'
        # if you have problems linking here, moving the `-Wl,+h,$@' from
        # SHLIB_XLDFLAGS to SHOBJ_LDFLAGS has been reported to work
        SHOBJ_LDFLAGS='-shared -Wl,-b -Wl,+s'

        SHLIB_XLDFLAGS='-Wl,+h,$@ -Wl,+b,$(libdir)'
        SHLIB_LIBSUFF='sl'
        SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
        ;;

hpux10*)
        SHOBJ_STATUS=unsupported
        SHLIB_STATUS=unsupported

        # If you are using the HP ANSI C compiler, you can uncomment and use
        # this code (I have not tested it)
#       SHOBJ_STATUS=supported
#       SHLIB_STATUS=supported
#
#       SHOBJ_CFLAGS='+z'
#       SHOBJ_LD='ld'
#       SHOBJ_LDFLAGS='-b +s +h $@'
#
#       SHLIB_XLDFLAGS='+b $(libdir)'
#       SHLIB_LIBSUFF='sl'
#       SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'      

        ;;

hpux11*-*gcc*)
        # must use gcc; the bundled cc cannot compile PIC code
        SHOBJ_CFLAGS='-fpic'
        SHOBJ_LD='${CC}'
#       SHOBJ_LDFLAGS='-shared -Wl,-b -Wl,-B,symbolic -Wl,+s -Wl,+std -Wl,+h,$@'
        SHOBJ_LDFLAGS='-shared -fpic -Wl,-b -Wl,+s -Wl,+h,$@'

        SHLIB_XLDFLAGS='-Wl,+b,$(libdir)'
        SHLIB_LIBSUFF='sl'
        SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
        ;;

hpux11*)
        SHOBJ_STATUS=unsupported
        SHLIB_STATUS=unsupported

        # If you are using the HP ANSI C compiler, you can uncomment and use
        # this code (I have not tested it)
#       SHOBJ_STATUS=supported
#       SHLIB_STATUS=supported
#
#       SHOBJ_CFLAGS='+z'
#       SHOBJ_LD='ld'
#       SHOBJ_LDFLAGS='-b +s +h $@'
#
#       SHLIB_XLDFLAGS='+b $(libdir)'
#       SHLIB_LIBSUFF='sl'
#       SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'      

        ;;

sysv4*-*gcc*)
        SHOBJ_CFLAGS=-shared
        SHOBJ_LDFLAGS='-shared -h $@'
        SHOBJ_LD='${CC}'

        SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
        ;;

sysv4*)
        SHOBJ_CFLAGS='-K PIC'
        SHOBJ_LD=ld
        SHOBJ_LDFLAGS='-dy -z text -G -h $@'

        SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
        ;;

sco3.2v5*-*gcc*)
        SHOBJ_CFLAGS='-fpic'            # DEFAULTS TO ELF
        SHOBJ_LD='${CC}'
        SHOBJ_LDFLAGS='-shared'

        SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
        ;;

sco3.2v5*)
        SHOBJ_CFLAGS='-K pic -b elf'
        SHOBJ_LD=ld
        SHOBJ_LDFLAGS='-G -b elf -dy -z text -h $@'

        SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
        ;;

sysv5uw7*-*gcc*)
        SHOBJ_CFLAGS='-fpic'
        SHOBJ_LD='${CC}'
        SHOBJ_LDFLAGS='-shared'

        SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
        ;;

sysv5uw7*)
        SHOBJ_CFLAGS='-K PIC'
        SHOBJ_LD=ld
        SHOBJ_LDFLAGS='-G -dy -z text -h $@'

        SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
        ;;

sysv5UnixWare*-*gcc*)
        SHOBJ_CFLAGS=-fpic
        SHOBJ_LD='${CC}'
        SHOBJ_LDFLAGS='-shared'

        SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
        ;;

sysv5UnixWare*)
        SHOBJ_CFLAGS='-K PIC'
        SHOBJ_LD=ld
        SHOBJ_LDFLAGS='-G -dy -z text -h $@'

        SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
        ;;

sysv5OpenUNIX*-*gcc*)
        SHOBJ_CFLAGS=-fpic
        SHOBJ_LD='${CC}'
        SHOBJ_LDFLAGS='-shared'

        SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
        ;;

sysv5OpenUNIX*)
        SHOBJ_CFLAGS='-K PIC'
        SHOBJ_LD=ld
        SHOBJ_LDFLAGS='-G -dy -z text -h $@'

        SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
        ;;

dgux*-*gcc*)
        SHOBJ_CFLAGS=-fpic
        SHOBJ_LD='${CC}'
        SHOBJ_LDFLAGS='-shared'

        SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
        ;;

dgux*)
        SHOBJ_CFLAGS='-K pic'
        SHOBJ_LD=ld
        SHOBJ_LDFLAGS='-G -dy -h $@'

        SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
        ;;

msdos*)
        SHOBJ_STATUS=unsupported
        SHLIB_STATUS=unsupported
        ;;

cygwin*)
        SHOBJ_LD='$(CC)'
        SHOBJ_LDFLAGS='-shared -Wl,--enable-auto-import -Wl,--enable-auto-image-base -Wl,--export-all -Wl,--out-implib=$(@).a'
        SHLIB_LIBPREF='cyg'
        SHLIB_LIBSUFF='dll'
        SHLIB_LIBVERSION='$(SHLIB_DLLVERSION).$(SHLIB_LIBSUFF)'
        SHLIB_LIBS='$(TERMCAP_LIB)'

        SHLIB_DOT=
        # For official cygwin releases, DLLVERSION will be defined in the
        # environment of configure, and will be incremented any time the API
        # changes in a non-backwards compatible manner.  Otherwise, it is just
        # SHLIB_MAJOR.
        if [ -n "$DLLVERSION" ] ; then
                SHLIB_DLLVERSION="$DLLVERSION"
        fi
        ;;

#
# Rely on correct gcc configuration for everything else
#
*-*gcc*)
        SHOBJ_CFLAGS=-fpic
        SHOBJ_LD='${CC}'
        SHOBJ_LDFLAGS='-shared'

        SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
        ;;

*)
        SHOBJ_STATUS=unsupported
        SHLIB_STATUS=unsupported
        ;;

esac

echo SHOBJ_CC=\'"$SHOBJ_CC"\'
echo SHOBJ_CFLAGS=\'"$SHOBJ_CFLAGS"\'
echo SHOBJ_LD=\'"$SHOBJ_LD"\'
echo SHOBJ_LDFLAGS=\'"$SHOBJ_LDFLAGS"\'
echo SHOBJ_XLDFLAGS=\'"$SHOBJ_XLDFLAGS"\'
echo SHOBJ_LIBS=\'"$SHOBJ_LIBS"\'

echo SHLIB_XLDFLAGS=\'"$SHLIB_XLDFLAGS"\'
echo SHLIB_LIBS=\'"$SHLIB_LIBS"\'

echo SHLIB_DOT=\'"$SHLIB_DOT"\'

echo SHLIB_LIBPREF=\'"$SHLIB_LIBPREF"\'
echo SHLIB_LIBSUFF=\'"$SHLIB_LIBSUFF"\'

echo SHLIB_LIBVERSION=\'"$SHLIB_LIBVERSION"\'
echo SHLIB_DLLVERSION=\'"$SHLIB_DLLVERSION"\'

echo SHOBJ_STATUS=\'"$SHOBJ_STATUS"\'
echo SHLIB_STATUS=\'"$SHLIB_STATUS"\'

exit 0

Go to most recent revision | Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.