Jari Aalto | b72432f | 1999-02-19 17:11:39 +0000 | [diff] [blame] | 1 | #! /bin/sh |
| 2 | # |
| 3 | # shobj-conf -- output a series of variable assignments to be substituted |
| 4 | # into a Makefile by configure which specify system-dependent |
| 5 | # information for creating shared objects that may be loaded |
| 6 | # into bash with `enable -f' |
| 7 | # |
| 8 | # usage: shobj-conf [-C compiler] -c host_cpu -o host_os -v host_vendor |
| 9 | # |
| 10 | # Chet Ramey |
| 11 | # chet@po.cwru.edu |
| 12 | |
Chet Ramey | ac50fba | 2014-02-26 09:36:43 -0500 | [diff] [blame^] | 13 | # Copyright (C) 1996-2014 Free Software Foundation, Inc. |
Jari Aalto | 7117c2d | 2002-07-17 14:10:11 +0000 | [diff] [blame] | 14 | # |
Jari Aalto | 3185942 | 2009-01-12 13:36:28 +0000 | [diff] [blame] | 15 | # This file is part of GNU Bash, the Bourne Again SHell. |
Jari Aalto | 7117c2d | 2002-07-17 14:10:11 +0000 | [diff] [blame] | 16 | # |
Jari Aalto | 3185942 | 2009-01-12 13:36:28 +0000 | [diff] [blame] | 17 | # This program is free software: you can redistribute it and/or modify |
| 18 | # it under the terms of the GNU General Public License as published by |
| 19 | # the Free Software Foundation, either version 3 of the License, or |
| 20 | # (at your option) any later version. |
Jari Aalto | 7117c2d | 2002-07-17 14:10:11 +0000 | [diff] [blame] | 21 | # |
Jari Aalto | 3185942 | 2009-01-12 13:36:28 +0000 | [diff] [blame] | 22 | # This program is distributed in the hope that it will be useful, |
| 23 | # but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 24 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| 25 | # GNU General Public License for more details. |
| 26 | # |
| 27 | # You should have received a copy of the GNU General Public License |
| 28 | # along with this program. If not, see <http://www.gnu.org/licenses/>. |
| 29 | # |
Jari Aalto | 7117c2d | 2002-07-17 14:10:11 +0000 | [diff] [blame] | 30 | |
Jari Aalto | b72432f | 1999-02-19 17:11:39 +0000 | [diff] [blame] | 31 | # |
| 32 | # defaults |
| 33 | # |
| 34 | SHOBJ_STATUS=supported |
| 35 | SHLIB_STATUS=supported |
| 36 | |
| 37 | SHOBJ_CC=cc |
| 38 | SHOBJ_CFLAGS= |
| 39 | SHOBJ_LD= |
| 40 | SHOBJ_LDFLAGS= |
| 41 | SHOBJ_XLDFLAGS= |
| 42 | SHOBJ_LIBS= |
| 43 | |
| 44 | SHLIB_XLDFLAGS= |
| 45 | SHLIB_LIBS= |
Jari Aalto | 95732b4 | 2005-12-07 14:08:12 +0000 | [diff] [blame] | 46 | |
| 47 | SHLIB_DOT='.' |
| 48 | SHLIB_LIBPREF='lib' |
Jari Aalto | b72432f | 1999-02-19 17:11:39 +0000 | [diff] [blame] | 49 | SHLIB_LIBSUFF='so' |
| 50 | |
| 51 | SHLIB_LIBVERSION='$(SHLIB_LIBSUFF)' |
Jari Aalto | 95732b4 | 2005-12-07 14:08:12 +0000 | [diff] [blame] | 52 | SHLIB_DLLVERSION='$(SHLIB_MAJOR)' |
Jari Aalto | b72432f | 1999-02-19 17:11:39 +0000 | [diff] [blame] | 53 | |
| 54 | PROGNAME=`basename $0` |
| 55 | USAGE="$PROGNAME [-C compiler] -c host_cpu -o host_os -v host_vendor" |
| 56 | |
| 57 | while [ $# -gt 0 ]; do |
| 58 | case "$1" in |
| 59 | -C) shift; SHOBJ_CC="$1"; shift ;; |
| 60 | -c) shift; host_cpu="$1"; shift ;; |
| 61 | -o) shift; host_os="$1"; shift ;; |
| 62 | -v) shift; host_vendor="$1"; shift ;; |
| 63 | *) echo "$USAGE" >&2 ; exit 2;; |
| 64 | esac |
| 65 | done |
| 66 | |
Chet Ramey | 0001803 | 2011-11-21 20:51:19 -0500 | [diff] [blame] | 67 | case "${host_os}-${SHOBJ_CC}-${host_vendor}" in |
Chet Ramey | ac50fba | 2014-02-26 09:36:43 -0500 | [diff] [blame^] | 68 | nsk-cc-tandem) |
| 69 | SHOBJ_CFLAGS=-Wglobalized |
| 70 | case `uname -m` in |
| 71 | NSR*) |
| 72 | SHOBJ_CFLAGS="${SHOBJ_CFLAGS} -Wcall_shared" # default on TNS/E, needed on TNS/R |
| 73 | SHOBJ_LD=/usr/bin/ld # for TNS/R |
| 74 | ;; |
| 75 | NSE*|NEO*) |
| 76 | SHOBJ_LD=/usr/bin/eld |
| 77 | ;; |
| 78 | esac |
| 79 | SHOBJ_LDFLAGS='-shared -bglobalized -unres_symbols ignore' |
| 80 | ;; |
| 81 | |
Jari Aalto | 28ef6c3 | 2001-04-06 19:14:31 +0000 | [diff] [blame] | 82 | sunos4*-*gcc*) |
Jari Aalto | b72432f | 1999-02-19 17:11:39 +0000 | [diff] [blame] | 83 | SHOBJ_CFLAGS=-fpic |
| 84 | SHOBJ_LD=/usr/bin/ld |
| 85 | SHOBJ_LDFLAGS='-assert pure-text' |
| 86 | |
| 87 | SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)' |
| 88 | ;; |
| 89 | |
| 90 | sunos4*) |
| 91 | SHOBJ_CFLAGS=-pic |
| 92 | SHOBJ_LD=/usr/bin/ld |
| 93 | SHOBJ_LDFLAGS='-assert pure-text' |
| 94 | |
| 95 | SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)' |
| 96 | ;; |
| 97 | |
Jari Aalto | 28ef6c3 | 2001-04-06 19:14:31 +0000 | [diff] [blame] | 98 | sunos5*-*gcc*|solaris2*-*gcc*) |
Jari Aalto | b72432f | 1999-02-19 17:11:39 +0000 | [diff] [blame] | 99 | SHOBJ_LD='${CC}' |
Jari Aalto | 95732b4 | 2005-12-07 14:08:12 +0000 | [diff] [blame] | 100 | ld_used=`gcc -print-prog-name=ld` |
| 101 | if ${ld_used} -V 2>&1 | grep GNU >/dev/null 2>&1; then |
| 102 | # This line works for the GNU ld |
| 103 | SHOBJ_LDFLAGS='-shared -Wl,-h,$@' |
Jari Aalto | 3185942 | 2009-01-12 13:36:28 +0000 | [diff] [blame] | 104 | # http://sourceware.org/ml/binutils/2001-08/msg00361.html |
| 105 | SHOBJ_CFLAGS=-fPIC |
Jari Aalto | 95732b4 | 2005-12-07 14:08:12 +0000 | [diff] [blame] | 106 | else |
| 107 | # This line works for the Solaris linker in /usr/ccs/bin/ld |
| 108 | SHOBJ_LDFLAGS='-shared -Wl,-i -Wl,-h,$@' |
Jari Aalto | 3185942 | 2009-01-12 13:36:28 +0000 | [diff] [blame] | 109 | SHOBJ_CFLAGS=-fpic |
Jari Aalto | 95732b4 | 2005-12-07 14:08:12 +0000 | [diff] [blame] | 110 | fi |
Jari Aalto | b72432f | 1999-02-19 17:11:39 +0000 | [diff] [blame] | 111 | |
Jari Aalto | bb70624 | 2000-03-17 21:46:59 +0000 | [diff] [blame] | 112 | # SHLIB_XLDFLAGS='-R $(libdir)' |
Jari Aalto | b72432f | 1999-02-19 17:11:39 +0000 | [diff] [blame] | 113 | SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)' |
| 114 | ;; |
| 115 | |
| 116 | sunos5*|solaris2*) |
| 117 | SHOBJ_CFLAGS='-K pic' |
| 118 | SHOBJ_LD=/usr/ccs/bin/ld |
| 119 | SHOBJ_LDFLAGS='-G -dy -z text -i -h $@' |
| 120 | |
Jari Aalto | bb70624 | 2000-03-17 21:46:59 +0000 | [diff] [blame] | 121 | # SHLIB_XLDFLAGS='-R $(libdir)' |
Jari Aalto | b72432f | 1999-02-19 17:11:39 +0000 | [diff] [blame] | 122 | SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)' |
| 123 | ;; |
| 124 | |
Chet Ramey | 0001803 | 2011-11-21 20:51:19 -0500 | [diff] [blame] | 125 | # All versions of Linux (including Gentoo/FreeBSD) or the semi-mythical GNU Hurd. |
| 126 | linux*-*|gnu*-*|k*bsd*-gnu-*|freebsd*-gentoo) |
Jari Aalto | f73dda0 | 2001-11-13 17:56:06 +0000 | [diff] [blame] | 127 | SHOBJ_CFLAGS=-fPIC |
| 128 | SHOBJ_LD='${CC}' |
| 129 | SHOBJ_LDFLAGS='-shared -Wl,-soname,$@' |
| 130 | |
| 131 | SHLIB_XLDFLAGS='-Wl,-rpath,$(libdir) -Wl,-soname,`basename $@ $(SHLIB_MINOR)`' |
| 132 | SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)' |
| 133 | ;; |
| 134 | |
Jari Aalto | 3185942 | 2009-01-12 13:36:28 +0000 | [diff] [blame] | 135 | freebsd2*) |
Jari Aalto | b72432f | 1999-02-19 17:11:39 +0000 | [diff] [blame] | 136 | SHOBJ_CFLAGS=-fpic |
| 137 | SHOBJ_LD=ld |
| 138 | SHOBJ_LDFLAGS='-x -Bshareable' |
| 139 | |
| 140 | SHLIB_XLDFLAGS='-R$(libdir)' |
| 141 | SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)' |
| 142 | ;; |
| 143 | |
Jari Aalto | bb70624 | 2000-03-17 21:46:59 +0000 | [diff] [blame] | 144 | # FreeBSD-3.x ELF |
Chet Ramey | 0001803 | 2011-11-21 20:51:19 -0500 | [diff] [blame] | 145 | freebsd3*|freebsdaout*) |
Jari Aalto | 3185942 | 2009-01-12 13:36:28 +0000 | [diff] [blame] | 146 | SHOBJ_CFLAGS=-fPIC |
Jari Aalto | b72432f | 1999-02-19 17:11:39 +0000 | [diff] [blame] | 147 | SHOBJ_LD='${CC}' |
Jari Aalto | b72432f | 1999-02-19 17:11:39 +0000 | [diff] [blame] | 148 | |
Jari Aalto | bb70624 | 2000-03-17 21:46:59 +0000 | [diff] [blame] | 149 | if [ -x /usr/bin/objformat ] && [ "`/usr/bin/objformat`" = "elf" ]; then |
| 150 | SHOBJ_LDFLAGS='-shared -Wl,-soname,$@' |
| 151 | |
| 152 | SHLIB_XLDFLAGS='-Wl,-rpath,$(libdir)' |
| 153 | SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)' |
| 154 | else |
| 155 | SHOBJ_LDFLAGS='-shared' |
| 156 | |
| 157 | SHLIB_XLDFLAGS='-R$(libdir)' |
| 158 | SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)' |
| 159 | fi |
Jari Aalto | b72432f | 1999-02-19 17:11:39 +0000 | [diff] [blame] | 160 | ;; |
Jari Aalto | f73dda0 | 2001-11-13 17:56:06 +0000 | [diff] [blame] | 161 | |
Chet Ramey | 0001803 | 2011-11-21 20:51:19 -0500 | [diff] [blame] | 162 | # FreeBSD-4.x and later have only ELF |
Chet Ramey | ac50fba | 2014-02-26 09:36:43 -0500 | [diff] [blame^] | 163 | freebsd[4-9]*|freebsd1[0-9]*|freebsdelf*|dragonfly*) |
Chet Ramey | 0001803 | 2011-11-21 20:51:19 -0500 | [diff] [blame] | 164 | SHOBJ_CFLAGS=-fPIC |
| 165 | SHOBJ_LD='${CC}' |
| 166 | |
| 167 | SHOBJ_LDFLAGS='-shared -Wl,-soname,$@' |
| 168 | SHLIB_XLDFLAGS='-Wl,-rpath,$(libdir)' |
| 169 | |
| 170 | SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)' |
| 171 | ;; |
| 172 | |
Jari Aalto | f73dda0 | 2001-11-13 17:56:06 +0000 | [diff] [blame] | 173 | # Darwin/MacOS X |
Chet Ramey | ac50fba | 2014-02-26 09:36:43 -0500 | [diff] [blame^] | 174 | darwin*) |
| 175 | # Common definitions for all darwin/mac os x versions |
Jari Aalto | b80f644 | 2004-07-27 13:29:18 +0000 | [diff] [blame] | 176 | SHOBJ_CFLAGS='-fno-common' |
Jari Aalto | f73dda0 | 2001-11-13 17:56:06 +0000 | [diff] [blame] | 177 | |
Jari Aalto | b80f644 | 2004-07-27 13:29:18 +0000 | [diff] [blame] | 178 | SHOBJ_LD='${CC}' |
Jari Aalto | f73dda0 | 2001-11-13 17:56:06 +0000 | [diff] [blame] | 179 | |
| 180 | SHLIB_LIBVERSION='$(SHLIB_MAJOR)$(SHLIB_MINOR).$(SHLIB_LIBSUFF)' |
| 181 | SHLIB_LIBSUFF='dylib' |
| 182 | |
Chet Ramey | ac50fba | 2014-02-26 09:36:43 -0500 | [diff] [blame^] | 183 | # unused at this time |
| 184 | SHLIB_SONAME='$(libdir)/`echo $@ | sed "s:\\..*::"`.$(SHLIB_MAJOR).$(SHLIB_LIBSUFF)' |
| 185 | |
Jari Aalto | b80f644 | 2004-07-27 13:29:18 +0000 | [diff] [blame] | 186 | case "${host_os}" in |
Chet Ramey | ac50fba | 2014-02-26 09:36:43 -0500 | [diff] [blame^] | 187 | # Darwin versions 1, 5, 6, 7 correspond to Mac OS X 10.0, 10.1, 10.2, |
| 188 | # and 10.3, respectively. |
| 189 | darwin[1-7].*) |
| 190 | SHOBJ_STATUS=unsupported |
| 191 | SHOBJ_LDFLAGS='-dynamic' |
| 192 | SHLIB_XLDFLAGS='-arch_only `/usr/bin/arch` -install_name $(libdir)/`echo $@ | sed "s:\\..*::"`.$(SHLIB_MAJOR).$(SHLIB_LIBSUFF) -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v' |
| 193 | ;; |
| 194 | # Darwin 8 == Mac OS X 10.4; Mac OS X 10.N == Darwin N+4 |
| 195 | *) |
| 196 | case "${host_os}" in |
| 197 | darwin[89]*|darwin1[012]*) |
| 198 | SHOBJ_ARCHFLAGS='-arch_only `/usr/bin/arch`' |
Jari Aalto | b80f644 | 2004-07-27 13:29:18 +0000 | [diff] [blame] | 199 | ;; |
Chet Ramey | ac50fba | 2014-02-26 09:36:43 -0500 | [diff] [blame^] | 200 | *) # Mac OS X 10.9 (Mavericks) and later |
| 201 | SHOBJ_ARCHFLAGS= |
| 202 | # for 32 and 64bit universal library |
| 203 | #SHOBJ_ARCHFLAGS='-arch i386 -arch x86_64' |
| 204 | #SHOBJ_CFLAGS=${SHOBJ_CFLAGS}' -arch i386 -arch x86_64' |
Jari Aalto | b80f644 | 2004-07-27 13:29:18 +0000 | [diff] [blame] | 205 | ;; |
Chet Ramey | ac50fba | 2014-02-26 09:36:43 -0500 | [diff] [blame^] | 206 | esac |
| 207 | SHOBJ_LDFLAGS="-dynamiclib -dynamic -undefined dynamic_lookup ${SHOBJ_ARCHFLAGS}" |
| 208 | SHLIB_XLDFLAGS="-dynamiclib ${SHOBJ_ARCHFLAGS}"' -install_name $(libdir)/`echo $@ | sed "s:\\..*::"`.$(SHLIB_MAJOR).$(SHLIB_LIBSUFF) -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v' |
| 209 | ;; |
Jari Aalto | b80f644 | 2004-07-27 13:29:18 +0000 | [diff] [blame] | 210 | esac |
Jari Aalto | f73dda0 | 2001-11-13 17:56:06 +0000 | [diff] [blame] | 211 | |
Jari Aalto | b80f644 | 2004-07-27 13:29:18 +0000 | [diff] [blame] | 212 | SHLIB_LIBS='-lncurses' # see if -lcurses works on MacOS X 10.1 |
Jari Aalto | f73dda0 | 2001-11-13 17:56:06 +0000 | [diff] [blame] | 213 | ;; |
| 214 | |
Chet Ramey | ac50fba | 2014-02-26 09:36:43 -0500 | [diff] [blame^] | 215 | openbsd*|netbsd*|mirbsd*) |
Jari Aalto | b72432f | 1999-02-19 17:11:39 +0000 | [diff] [blame] | 216 | SHOBJ_CFLAGS=-fPIC |
| 217 | SHOBJ_LD='${CC}' |
Jari Aalto | f73dda0 | 2001-11-13 17:56:06 +0000 | [diff] [blame] | 218 | SHOBJ_LDFLAGS='-shared' |
Jari Aalto | b72432f | 1999-02-19 17:11:39 +0000 | [diff] [blame] | 219 | |
Jari Aalto | f73dda0 | 2001-11-13 17:56:06 +0000 | [diff] [blame] | 220 | SHLIB_XLDFLAGS='-R$(libdir)' |
Jari Aalto | b72432f | 1999-02-19 17:11:39 +0000 | [diff] [blame] | 221 | SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)' |
| 222 | ;; |
| 223 | |
| 224 | bsdi2*) |
| 225 | SHOBJ_CC=shlicc2 |
| 226 | SHOBJ_CFLAGS= |
| 227 | SHOBJ_LD=ld |
| 228 | SHOBJ_LDFLAGS=-r |
| 229 | SHOBJ_LIBS=-lc_s.2.1.0 |
| 230 | |
| 231 | # BSD/OS 2.x and 3.x `shared libraries' are too much of a pain in |
| 232 | # the ass -- they require changing {/usr/lib,etc}/shlib.map on |
| 233 | # each system, and the library creation process is byzantine |
| 234 | SHLIB_STATUS=unsupported |
| 235 | ;; |
| 236 | |
| 237 | bsdi3*) |
| 238 | SHOBJ_CC=shlicc2 |
| 239 | SHOBJ_CFLAGS= |
| 240 | SHOBJ_LD=ld |
| 241 | SHOBJ_LDFLAGS=-r |
| 242 | SHOBJ_LIBS=-lc_s.3.0.0 |
| 243 | |
| 244 | # BSD/OS 2.x and 3.x `shared libraries' are too much of a pain in |
| 245 | # the ass -- they require changing {/usr/lib,etc}/shlib.map on |
| 246 | # each system, and the library creation process is byzantine |
| 247 | SHLIB_STATUS=unsupported |
| 248 | ;; |
| 249 | |
| 250 | bsdi4*) |
| 251 | # BSD/OS 4.x now supports ELF and SunOS-style dynamically-linked |
| 252 | # shared libraries. gcc 2.x is the standard compiler, and the |
| 253 | # `normal' gcc options should work as they do in Linux. |
| 254 | |
| 255 | SHOBJ_CFLAGS=-fPIC |
| 256 | SHOBJ_LD='${CC}' |
| 257 | SHOBJ_LDFLAGS='-shared -Wl,-soname,$@' |
| 258 | |
Jari Aalto | 28ef6c3 | 2001-04-06 19:14:31 +0000 | [diff] [blame] | 259 | SHLIB_XLDFLAGS='-Wl,-soname,`basename $@ $(SHLIB_MINOR)`' |
Jari Aalto | b72432f | 1999-02-19 17:11:39 +0000 | [diff] [blame] | 260 | SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)' |
| 261 | ;; |
| 262 | |
Jari Aalto | 28ef6c3 | 2001-04-06 19:14:31 +0000 | [diff] [blame] | 263 | osf*-*gcc*) |
Jari Aalto | bb70624 | 2000-03-17 21:46:59 +0000 | [diff] [blame] | 264 | # Fix to use gcc linker driver from bfischer@TechFak.Uni-Bielefeld.DE |
| 265 | SHOBJ_LD='${CC}' |
| 266 | SHOBJ_LDFLAGS='-shared -Wl,-soname,$@' |
| 267 | |
| 268 | SHLIB_XLDFLAGS='-rpath $(libdir)' |
| 269 | SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)' |
| 270 | ;; |
| 271 | |
Jari Aalto | b72432f | 1999-02-19 17:11:39 +0000 | [diff] [blame] | 272 | osf*) |
| 273 | SHOBJ_LD=ld |
| 274 | SHOBJ_LDFLAGS='-shared -soname $@ -expect_unresolved "*"' |
| 275 | |
| 276 | SHLIB_XLDFLAGS='-rpath $(libdir)' |
| 277 | SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)' |
| 278 | ;; |
| 279 | |
Jari Aalto | 3185942 | 2009-01-12 13:36:28 +0000 | [diff] [blame] | 280 | aix4.[2-9]*-*gcc*|aix[5-9].*-*gcc*) # lightly tested by jik@cisco.com |
Jari Aalto | b72432f | 1999-02-19 17:11:39 +0000 | [diff] [blame] | 281 | SHOBJ_CFLAGS=-fpic |
| 282 | SHOBJ_LD='ld' |
| 283 | SHOBJ_LDFLAGS='-bdynamic -bnoentry -bexpall' |
| 284 | SHOBJ_XLDFLAGS='-G' |
| 285 | |
| 286 | SHLIB_XLDFLAGS='-bM:SRE' |
| 287 | SHLIB_LIBS='-lcurses -lc' |
| 288 | SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)' |
| 289 | ;; |
| 290 | |
Jari Aalto | 3185942 | 2009-01-12 13:36:28 +0000 | [diff] [blame] | 291 | aix4.[2-9]*|aix[5-9].*) |
Jari Aalto | b72432f | 1999-02-19 17:11:39 +0000 | [diff] [blame] | 292 | SHOBJ_CFLAGS=-K |
| 293 | SHOBJ_LD='ld' |
| 294 | SHOBJ_LDFLAGS='-bdynamic -bnoentry -bexpall' |
| 295 | SHOBJ_XLDFLAGS='-G' |
| 296 | |
| 297 | SHLIB_XLDFLAGS='-bM:SRE' |
| 298 | SHLIB_LIBS='-lcurses -lc' |
| 299 | SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)' |
| 300 | ;; |
| 301 | |
| 302 | # |
| 303 | # THE FOLLOWING ARE UNTESTED -- and some may not support the dlopen interface |
| 304 | # |
Jari Aalto | 28ef6c3 | 2001-04-06 19:14:31 +0000 | [diff] [blame] | 305 | irix[56]*-*gcc*) |
Jari Aalto | b72432f | 1999-02-19 17:11:39 +0000 | [diff] [blame] | 306 | SHOBJ_CFLAGS='-fpic' |
| 307 | SHOBJ_LD='${CC}' |
| 308 | SHOBJ_LDFLAGS='-shared -Wl,-soname,$@' |
| 309 | |
| 310 | SHLIB_XLDFLAGS='-Wl,-rpath,$(libdir)' |
| 311 | SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)' |
| 312 | ;; |
| 313 | |
| 314 | irix[56]*) |
| 315 | SHOBJ_CFLAGS='-K PIC' |
| 316 | SHOBJ_LD=ld |
Jari Aalto | bb70624 | 2000-03-17 21:46:59 +0000 | [diff] [blame] | 317 | # SHOBJ_LDFLAGS='-call_shared -hidden_symbol -no_unresolved -soname $@' |
Jari Aalto | 28ef6c3 | 2001-04-06 19:14:31 +0000 | [diff] [blame] | 318 | # Change from David Kaelbling <drk@sgi.com>. If you have problems, |
| 319 | # remove the `-no_unresolved' |
Jari Aalto | bb70624 | 2000-03-17 21:46:59 +0000 | [diff] [blame] | 320 | SHOBJ_LDFLAGS='-shared -no_unresolved -soname $@' |
Jari Aalto | b72432f | 1999-02-19 17:11:39 +0000 | [diff] [blame] | 321 | |
| 322 | SHLIB_XLDFLAGS='-rpath $(libdir)' |
| 323 | SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)' |
| 324 | ;; |
| 325 | |
Jari Aalto | 28ef6c3 | 2001-04-06 19:14:31 +0000 | [diff] [blame] | 326 | hpux9*-*gcc*) |
Jari Aalto | b72432f | 1999-02-19 17:11:39 +0000 | [diff] [blame] | 327 | # must use gcc; the bundled cc cannot compile PIC code |
| 328 | SHOBJ_CFLAGS='-fpic' |
| 329 | SHOBJ_LD='${CC}' |
| 330 | SHOBJ_LDFLAGS='-shared -Wl,-b -Wl,+s' |
| 331 | |
| 332 | SHLIB_XLDFLAGS='-Wl,+b,$(libdir)' |
| 333 | SHLIB_LIBSUFF='sl' |
| 334 | SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)' |
| 335 | ;; |
| 336 | |
| 337 | hpux9*) |
| 338 | SHOBJ_STATUS=unsupported |
| 339 | SHLIB_STATUS=unsupported |
Jari Aalto | f73dda0 | 2001-11-13 17:56:06 +0000 | [diff] [blame] | 340 | |
| 341 | # If you are using the HP ANSI C compiler, you can uncomment and use |
| 342 | # this code (I have not tested it) |
| 343 | # SHOBJ_STATUS=supported |
| 344 | # SHLIB_STATUS=supported |
| 345 | # |
| 346 | # SHOBJ_CFLAGS='+z' |
| 347 | # SHOBJ_LD='ld' |
| 348 | # SHOBJ_LDFLAGS='-b +s' |
| 349 | # |
| 350 | # SHLIB_XLDFLAGS='+b $(libdir)' |
| 351 | # SHLIB_LIBSUFF='sl' |
| 352 | # SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)' |
| 353 | |
Jari Aalto | b72432f | 1999-02-19 17:11:39 +0000 | [diff] [blame] | 354 | ;; |
| 355 | |
Jari Aalto | 28ef6c3 | 2001-04-06 19:14:31 +0000 | [diff] [blame] | 356 | hpux10*-*gcc*) |
Jari Aalto | b72432f | 1999-02-19 17:11:39 +0000 | [diff] [blame] | 357 | # must use gcc; the bundled cc cannot compile PIC code |
| 358 | SHOBJ_CFLAGS='-fpic' |
| 359 | SHOBJ_LD='${CC}' |
Jari Aalto | b80f644 | 2004-07-27 13:29:18 +0000 | [diff] [blame] | 360 | # if you have problems linking here, moving the `-Wl,+h,$@' from |
| 361 | # SHLIB_XLDFLAGS to SHOBJ_LDFLAGS has been reported to work |
Jari Aalto | 3185942 | 2009-01-12 13:36:28 +0000 | [diff] [blame] | 362 | SHOBJ_LDFLAGS='-shared -fpic -Wl,-b -Wl,+s' |
Jari Aalto | b72432f | 1999-02-19 17:11:39 +0000 | [diff] [blame] | 363 | |
| 364 | SHLIB_XLDFLAGS='-Wl,+h,$@ -Wl,+b,$(libdir)' |
| 365 | SHLIB_LIBSUFF='sl' |
| 366 | SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)' |
| 367 | ;; |
| 368 | |
| 369 | hpux10*) |
| 370 | SHOBJ_STATUS=unsupported |
| 371 | SHLIB_STATUS=unsupported |
Jari Aalto | 28ef6c3 | 2001-04-06 19:14:31 +0000 | [diff] [blame] | 372 | |
| 373 | # If you are using the HP ANSI C compiler, you can uncomment and use |
Jari Aalto | f73dda0 | 2001-11-13 17:56:06 +0000 | [diff] [blame] | 374 | # this code (I have not tested it) |
| 375 | # SHOBJ_STATUS=supported |
| 376 | # SHLIB_STATUS=supported |
Jari Aalto | 28ef6c3 | 2001-04-06 19:14:31 +0000 | [diff] [blame] | 377 | # |
| 378 | # SHOBJ_CFLAGS='+z' |
| 379 | # SHOBJ_LD='ld' |
Jari Aalto | f73dda0 | 2001-11-13 17:56:06 +0000 | [diff] [blame] | 380 | # SHOBJ_LDFLAGS='-b +s +h $@' |
Jari Aalto | 28ef6c3 | 2001-04-06 19:14:31 +0000 | [diff] [blame] | 381 | # |
Jari Aalto | f73dda0 | 2001-11-13 17:56:06 +0000 | [diff] [blame] | 382 | # SHLIB_XLDFLAGS='+b $(libdir)' |
Jari Aalto | 28ef6c3 | 2001-04-06 19:14:31 +0000 | [diff] [blame] | 383 | # SHLIB_LIBSUFF='sl' |
| 384 | # SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)' |
Jari Aalto | f73dda0 | 2001-11-13 17:56:06 +0000 | [diff] [blame] | 385 | |
Jari Aalto | b72432f | 1999-02-19 17:11:39 +0000 | [diff] [blame] | 386 | ;; |
| 387 | |
Jari Aalto | 28ef6c3 | 2001-04-06 19:14:31 +0000 | [diff] [blame] | 388 | hpux11*-*gcc*) |
Jari Aalto | b72432f | 1999-02-19 17:11:39 +0000 | [diff] [blame] | 389 | # must use gcc; the bundled cc cannot compile PIC code |
| 390 | SHOBJ_CFLAGS='-fpic' |
| 391 | SHOBJ_LD='${CC}' |
| 392 | # SHOBJ_LDFLAGS='-shared -Wl,-b -Wl,-B,symbolic -Wl,+s -Wl,+std -Wl,+h,$@' |
Jari Aalto | 28ef6c3 | 2001-04-06 19:14:31 +0000 | [diff] [blame] | 393 | SHOBJ_LDFLAGS='-shared -fpic -Wl,-b -Wl,+s -Wl,+h,$@' |
Jari Aalto | b72432f | 1999-02-19 17:11:39 +0000 | [diff] [blame] | 394 | |
| 395 | SHLIB_XLDFLAGS='-Wl,+b,$(libdir)' |
| 396 | SHLIB_LIBSUFF='sl' |
| 397 | SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)' |
| 398 | ;; |
| 399 | |
| 400 | hpux11*) |
| 401 | SHOBJ_STATUS=unsupported |
| 402 | SHLIB_STATUS=unsupported |
Jari Aalto | 28ef6c3 | 2001-04-06 19:14:31 +0000 | [diff] [blame] | 403 | |
| 404 | # If you are using the HP ANSI C compiler, you can uncomment and use |
Jari Aalto | f73dda0 | 2001-11-13 17:56:06 +0000 | [diff] [blame] | 405 | # this code (I have not tested it) |
| 406 | # SHOBJ_STATUS=supported |
| 407 | # SHLIB_STATUS=supported |
Jari Aalto | 28ef6c3 | 2001-04-06 19:14:31 +0000 | [diff] [blame] | 408 | # |
| 409 | # SHOBJ_CFLAGS='+z' |
| 410 | # SHOBJ_LD='ld' |
Jari Aalto | f73dda0 | 2001-11-13 17:56:06 +0000 | [diff] [blame] | 411 | # SHOBJ_LDFLAGS='-b +s +h $@' |
Jari Aalto | 28ef6c3 | 2001-04-06 19:14:31 +0000 | [diff] [blame] | 412 | # |
Jari Aalto | f73dda0 | 2001-11-13 17:56:06 +0000 | [diff] [blame] | 413 | # SHLIB_XLDFLAGS='+b $(libdir)' |
Jari Aalto | 28ef6c3 | 2001-04-06 19:14:31 +0000 | [diff] [blame] | 414 | # SHLIB_LIBSUFF='sl' |
| 415 | # SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)' |
| 416 | |
Jari Aalto | b72432f | 1999-02-19 17:11:39 +0000 | [diff] [blame] | 417 | ;; |
| 418 | |
Jari Aalto | 28ef6c3 | 2001-04-06 19:14:31 +0000 | [diff] [blame] | 419 | sysv4*-*gcc*) |
Jari Aalto | b72432f | 1999-02-19 17:11:39 +0000 | [diff] [blame] | 420 | SHOBJ_CFLAGS=-shared |
| 421 | SHOBJ_LDFLAGS='-shared -h $@' |
| 422 | SHOBJ_LD='${CC}' |
| 423 | |
| 424 | SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)' |
| 425 | ;; |
| 426 | |
| 427 | sysv4*) |
| 428 | SHOBJ_CFLAGS='-K PIC' |
| 429 | SHOBJ_LD=ld |
| 430 | SHOBJ_LDFLAGS='-dy -z text -G -h $@' |
| 431 | |
| 432 | SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)' |
| 433 | ;; |
| 434 | |
Jari Aalto | 28ef6c3 | 2001-04-06 19:14:31 +0000 | [diff] [blame] | 435 | sco3.2v5*-*gcc*) |
Jari Aalto | b72432f | 1999-02-19 17:11:39 +0000 | [diff] [blame] | 436 | SHOBJ_CFLAGS='-fpic' # DEFAULTS TO ELF |
| 437 | SHOBJ_LD='${CC}' |
| 438 | SHOBJ_LDFLAGS='-shared' |
| 439 | |
| 440 | SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)' |
| 441 | ;; |
| 442 | |
| 443 | sco3.2v5*) |
| 444 | SHOBJ_CFLAGS='-K pic -b elf' |
| 445 | SHOBJ_LD=ld |
| 446 | SHOBJ_LDFLAGS='-G -b elf -dy -z text -h $@' |
| 447 | |
| 448 | SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)' |
| 449 | ;; |
| 450 | |
Jari Aalto | 28ef6c3 | 2001-04-06 19:14:31 +0000 | [diff] [blame] | 451 | sysv5uw7*-*gcc*) |
Jari Aalto | b72432f | 1999-02-19 17:11:39 +0000 | [diff] [blame] | 452 | SHOBJ_CFLAGS='-fpic' |
| 453 | SHOBJ_LD='${CC}' |
| 454 | SHOBJ_LDFLAGS='-shared' |
| 455 | |
| 456 | SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)' |
| 457 | ;; |
| 458 | |
| 459 | sysv5uw7*) |
| 460 | SHOBJ_CFLAGS='-K PIC' |
| 461 | SHOBJ_LD=ld |
| 462 | SHOBJ_LDFLAGS='-G -dy -z text -h $@' |
| 463 | |
| 464 | SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)' |
| 465 | ;; |
Jari Aalto | 95732b4 | 2005-12-07 14:08:12 +0000 | [diff] [blame] | 466 | |
| 467 | sysv5UnixWare*-*gcc*) |
| 468 | SHOBJ_CFLAGS=-fpic |
| 469 | SHOBJ_LD='${CC}' |
| 470 | SHOBJ_LDFLAGS='-shared' |
| 471 | |
| 472 | SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)' |
| 473 | ;; |
| 474 | |
| 475 | sysv5UnixWare*) |
| 476 | SHOBJ_CFLAGS='-K PIC' |
| 477 | SHOBJ_LD=ld |
| 478 | SHOBJ_LDFLAGS='-G -dy -z text -h $@' |
| 479 | |
| 480 | SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)' |
| 481 | ;; |
| 482 | |
| 483 | sysv5OpenUNIX*-*gcc*) |
| 484 | SHOBJ_CFLAGS=-fpic |
| 485 | SHOBJ_LD='${CC}' |
| 486 | SHOBJ_LDFLAGS='-shared' |
| 487 | |
| 488 | SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)' |
| 489 | ;; |
| 490 | |
| 491 | sysv5OpenUNIX*) |
| 492 | SHOBJ_CFLAGS='-K PIC' |
| 493 | SHOBJ_LD=ld |
| 494 | SHOBJ_LDFLAGS='-G -dy -z text -h $@' |
| 495 | |
| 496 | SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)' |
| 497 | ;; |
| 498 | |
Jari Aalto | 28ef6c3 | 2001-04-06 19:14:31 +0000 | [diff] [blame] | 499 | dgux*-*gcc*) |
Jari Aalto | b72432f | 1999-02-19 17:11:39 +0000 | [diff] [blame] | 500 | SHOBJ_CFLAGS=-fpic |
| 501 | SHOBJ_LD='${CC}' |
| 502 | SHOBJ_LDFLAGS='-shared' |
| 503 | |
| 504 | SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)' |
| 505 | ;; |
| 506 | |
| 507 | dgux*) |
| 508 | SHOBJ_CFLAGS='-K pic' |
| 509 | SHOBJ_LD=ld |
| 510 | SHOBJ_LDFLAGS='-G -dy -h $@' |
| 511 | |
| 512 | SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)' |
| 513 | ;; |
Jari Aalto | bb70624 | 2000-03-17 21:46:59 +0000 | [diff] [blame] | 514 | |
| 515 | msdos*) |
| 516 | SHOBJ_STATUS=unsupported |
| 517 | SHLIB_STATUS=unsupported |
| 518 | ;; |
| 519 | |
Jari Aalto | 95732b4 | 2005-12-07 14:08:12 +0000 | [diff] [blame] | 520 | cygwin*) |
| 521 | SHOBJ_LD='$(CC)' |
Jari Aalto | 3185942 | 2009-01-12 13:36:28 +0000 | [diff] [blame] | 522 | SHOBJ_LDFLAGS='-shared -Wl,--enable-auto-import -Wl,--enable-auto-image-base -Wl,--export-all -Wl,--out-implib=$(@).a' |
| 523 | SHLIB_LIBPREF='cyg' |
| 524 | SHLIB_LIBSUFF='dll' |
| 525 | SHLIB_LIBVERSION='$(SHLIB_DLLVERSION).$(SHLIB_LIBSUFF)' |
| 526 | SHLIB_LIBS='$(TERMCAP_LIB)' |
Jari Aalto | 95732b4 | 2005-12-07 14:08:12 +0000 | [diff] [blame] | 527 | |
| 528 | SHLIB_DOT= |
Jari Aalto | 3185942 | 2009-01-12 13:36:28 +0000 | [diff] [blame] | 529 | # For official cygwin releases, DLLVERSION will be defined in the |
| 530 | # environment of configure, and will be incremented any time the API |
| 531 | # changes in a non-backwards compatible manner. Otherwise, it is just |
| 532 | # SHLIB_MAJOR. |
| 533 | if [ -n "$DLLVERSION" ] ; then |
Jari Aalto | 95732b4 | 2005-12-07 14:08:12 +0000 | [diff] [blame] | 534 | SHLIB_DLLVERSION="$DLLVERSION" |
Jari Aalto | 3185942 | 2009-01-12 13:36:28 +0000 | [diff] [blame] | 535 | fi |
| 536 | ;; |
| 537 | |
| 538 | mingw*) |
| 539 | SHOBJ_LD='$(CC)' |
| 540 | SHOBJ_LDFLAGS='-shared -Wl,--enable-auto-import -Wl,--enable-auto-image-base -Wl,--export-all -Wl,--out-implib=$(@).a' |
| 541 | SHLIB_LIBSUFF='dll' |
| 542 | SHLIB_LIBVERSION='$(SHLIB_DLLVERSION).$(SHLIB_LIBSUFF)' |
| 543 | SHLIB_LIBS='$(TERMCAP_LIB)' |
| 544 | |
| 545 | SHLIB_DOT= |
| 546 | # For official cygwin releases, DLLVERSION will be defined in the |
| 547 | # environment of configure, and will be incremented any time the API |
| 548 | # changes in a non-backwards compatible manner. Otherwise, it is just |
| 549 | # SHLIB_MAJOR. |
| 550 | if [ -n "$DLLVERSION" ] ; then |
| 551 | SHLIB_DLLVERSION="$DLLVERSION" |
| 552 | fi |
Jari Aalto | 95732b4 | 2005-12-07 14:08:12 +0000 | [diff] [blame] | 553 | ;; |
| 554 | |
Jari Aalto | b72432f | 1999-02-19 17:11:39 +0000 | [diff] [blame] | 555 | # |
| 556 | # Rely on correct gcc configuration for everything else |
| 557 | # |
Jari Aalto | 28ef6c3 | 2001-04-06 19:14:31 +0000 | [diff] [blame] | 558 | *-*gcc*) |
Jari Aalto | b72432f | 1999-02-19 17:11:39 +0000 | [diff] [blame] | 559 | SHOBJ_CFLAGS=-fpic |
| 560 | SHOBJ_LD='${CC}' |
| 561 | SHOBJ_LDFLAGS='-shared' |
| 562 | |
| 563 | SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)' |
| 564 | ;; |
| 565 | |
| 566 | *) |
| 567 | SHOBJ_STATUS=unsupported |
| 568 | SHLIB_STATUS=unsupported |
| 569 | ;; |
| 570 | |
| 571 | esac |
| 572 | |
| 573 | echo SHOBJ_CC=\'"$SHOBJ_CC"\' |
| 574 | echo SHOBJ_CFLAGS=\'"$SHOBJ_CFLAGS"\' |
| 575 | echo SHOBJ_LD=\'"$SHOBJ_LD"\' |
| 576 | echo SHOBJ_LDFLAGS=\'"$SHOBJ_LDFLAGS"\' |
| 577 | echo SHOBJ_XLDFLAGS=\'"$SHOBJ_XLDFLAGS"\' |
| 578 | echo SHOBJ_LIBS=\'"$SHOBJ_LIBS"\' |
| 579 | |
| 580 | echo SHLIB_XLDFLAGS=\'"$SHLIB_XLDFLAGS"\' |
| 581 | echo SHLIB_LIBS=\'"$SHLIB_LIBS"\' |
Jari Aalto | 95732b4 | 2005-12-07 14:08:12 +0000 | [diff] [blame] | 582 | |
| 583 | echo SHLIB_DOT=\'"$SHLIB_DOT"\' |
| 584 | |
| 585 | echo SHLIB_LIBPREF=\'"$SHLIB_LIBPREF"\' |
Jari Aalto | b72432f | 1999-02-19 17:11:39 +0000 | [diff] [blame] | 586 | echo SHLIB_LIBSUFF=\'"$SHLIB_LIBSUFF"\' |
Jari Aalto | 95732b4 | 2005-12-07 14:08:12 +0000 | [diff] [blame] | 587 | |
Jari Aalto | b72432f | 1999-02-19 17:11:39 +0000 | [diff] [blame] | 588 | echo SHLIB_LIBVERSION=\'"$SHLIB_LIBVERSION"\' |
Jari Aalto | 95732b4 | 2005-12-07 14:08:12 +0000 | [diff] [blame] | 589 | echo SHLIB_DLLVERSION=\'"$SHLIB_DLLVERSION"\' |
Jari Aalto | b72432f | 1999-02-19 17:11:39 +0000 | [diff] [blame] | 590 | |
| 591 | echo SHOBJ_STATUS=\'"$SHOBJ_STATUS"\' |
| 592 | echo SHLIB_STATUS=\'"$SHLIB_STATUS"\' |
| 593 | |
| 594 | exit 0 |