shobj-conf 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580
  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. # Copyright (C) 1996-2009 Free Software Foundation, Inc.
  13. #
  14. # This file is part of GNU Bash, the Bourne Again SHell.
  15. #
  16. # This program is free software: you can redistribute it and/or modify
  17. # it under the terms of the GNU General Public License as published by
  18. # the Free Software Foundation, either version 3 of the License, or
  19. # (at your option) any later version.
  20. #
  21. # This program is distributed in the hope that it will be useful,
  22. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  23. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  24. # GNU General Public License for more details.
  25. #
  26. # You should have received a copy of the GNU General Public License
  27. # along with this program. If not, see <http://www.gnu.org/licenses/>.
  28. #
  29. #
  30. # defaults
  31. #
  32. SHOBJ_STATUS=supported
  33. SHLIB_STATUS=supported
  34. SHOBJ_CC=cc
  35. SHOBJ_CFLAGS=
  36. SHOBJ_LD=
  37. SHOBJ_LDFLAGS=
  38. SHOBJ_XLDFLAGS=
  39. SHOBJ_LIBS=
  40. SHLIB_XLDFLAGS=
  41. SHLIB_LIBS=
  42. SHLIB_DOT='.'
  43. SHLIB_LIBPREF='lib'
  44. SHLIB_LIBSUFF='so'
  45. SHLIB_LIBVERSION='$(SHLIB_LIBSUFF)'
  46. SHLIB_DLLVERSION='$(SHLIB_MAJOR)'
  47. PROGNAME=`basename $0`
  48. USAGE="$PROGNAME [-C compiler] -c host_cpu -o host_os -v host_vendor"
  49. while [ $# -gt 0 ]; do
  50. case "$1" in
  51. -C) shift; SHOBJ_CC="$1"; shift ;;
  52. -c) shift; host_cpu="$1"; shift ;;
  53. -o) shift; host_os="$1"; shift ;;
  54. -v) shift; host_vendor="$1"; shift ;;
  55. *) echo "$USAGE" >&2 ; exit 2;;
  56. esac
  57. done
  58. case "${host_os}-${SHOBJ_CC}-${host_vendor}" in
  59. sunos4*-*gcc*)
  60. SHOBJ_CFLAGS=-fpic
  61. SHOBJ_LD=/usr/bin/ld
  62. SHOBJ_LDFLAGS='-assert pure-text'
  63. SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)'
  64. ;;
  65. sunos4*)
  66. SHOBJ_CFLAGS=-pic
  67. SHOBJ_LD=/usr/bin/ld
  68. SHOBJ_LDFLAGS='-assert pure-text'
  69. SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)'
  70. ;;
  71. sunos5*-*gcc*|solaris2*-*gcc*)
  72. SHOBJ_LD='${CC}'
  73. ld_used=`gcc -print-prog-name=ld`
  74. if ${ld_used} -V 2>&1 | grep GNU >/dev/null 2>&1; then
  75. # This line works for the GNU ld
  76. SHOBJ_LDFLAGS='-shared -Wl,-h,$@'
  77. # http://sourceware.org/ml/binutils/2001-08/msg00361.html
  78. SHOBJ_CFLAGS=-fPIC
  79. else
  80. # This line works for the Solaris linker in /usr/ccs/bin/ld
  81. SHOBJ_LDFLAGS='-shared -Wl,-i -Wl,-h,$@'
  82. SHOBJ_CFLAGS=-fpic
  83. fi
  84. # SHLIB_XLDFLAGS='-R $(libdir)'
  85. SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
  86. ;;
  87. sunos5*|solaris2*)
  88. SHOBJ_CFLAGS='-K pic'
  89. SHOBJ_LD=/usr/ccs/bin/ld
  90. SHOBJ_LDFLAGS='-G -dy -z text -i -h $@'
  91. # SHLIB_XLDFLAGS='-R $(libdir)'
  92. SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
  93. ;;
  94. # All versions of Linux (including Gentoo/FreeBSD) or the semi-mythical GNU Hurd.
  95. linux*-*|gnu*-*|k*bsd*-gnu-*|freebsd*-gentoo)
  96. SHOBJ_CFLAGS=-fPIC
  97. SHOBJ_LD='${CC}'
  98. SHOBJ_LDFLAGS='-shared -Wl,-soname,$@'
  99. SHLIB_XLDFLAGS='-Wl,-rpath,$(libdir) -Wl,-soname,`basename $@ $(SHLIB_MINOR)`'
  100. SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)'
  101. ;;
  102. freebsd2*)
  103. SHOBJ_CFLAGS=-fpic
  104. SHOBJ_LD=ld
  105. SHOBJ_LDFLAGS='-x -Bshareable'
  106. SHLIB_XLDFLAGS='-R$(libdir)'
  107. SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)'
  108. ;;
  109. # FreeBSD-3.x ELF
  110. freebsd3*|freebsdaout*)
  111. SHOBJ_CFLAGS=-fPIC
  112. SHOBJ_LD='${CC}'
  113. if [ -x /usr/bin/objformat ] && [ "`/usr/bin/objformat`" = "elf" ]; then
  114. SHOBJ_LDFLAGS='-shared -Wl,-soname,$@'
  115. SHLIB_XLDFLAGS='-Wl,-rpath,$(libdir)'
  116. SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
  117. else
  118. SHOBJ_LDFLAGS='-shared'
  119. SHLIB_XLDFLAGS='-R$(libdir)'
  120. SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)'
  121. fi
  122. ;;
  123. # FreeBSD-4.x and later have only ELF
  124. freebsd[4-9]*|freebsdelf*|dragonfly*)
  125. SHOBJ_CFLAGS=-fPIC
  126. SHOBJ_LD='${CC}'
  127. SHOBJ_LDFLAGS='-shared -Wl,-soname,$@'
  128. SHLIB_XLDFLAGS='-Wl,-rpath,$(libdir)'
  129. SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
  130. ;;
  131. # Darwin/MacOS X
  132. darwin[89]*|darwin10*)
  133. SHOBJ_STATUS=supported
  134. SHLIB_STATUS=supported
  135. SHOBJ_CFLAGS='-fno-common'
  136. SHOBJ_LD='MACOSX_DEPLOYMENT_TARGET=10.3 ${CC}'
  137. SHLIB_LIBVERSION='$(SHLIB_MAJOR)$(SHLIB_MINOR).$(SHLIB_LIBSUFF)'
  138. SHLIB_LIBSUFF='dylib'
  139. SHOBJ_LDFLAGS='-dynamiclib -dynamic -undefined dynamic_lookup -arch_only `/usr/bin/arch`'
  140. SHLIB_XLDFLAGS='-dynamiclib -arch_only `/usr/bin/arch` -install_name $(libdir)/$@ -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v'
  141. SHLIB_LIBS='-lncurses' # see if -lcurses works on MacOS X 10.1
  142. ;;
  143. darwin*|macosx*)
  144. SHOBJ_STATUS=unsupported
  145. SHLIB_STATUS=supported
  146. SHOBJ_CFLAGS='-fno-common'
  147. SHOBJ_LD='${CC}'
  148. SHLIB_LIBVERSION='$(SHLIB_MAJOR)$(SHLIB_MINOR).$(SHLIB_LIBSUFF)'
  149. SHLIB_LIBSUFF='dylib'
  150. case "${host_os}" in
  151. darwin[789]*|darwin10*) SHOBJ_LDFLAGS=''
  152. SHLIB_XLDFLAGS='-dynamiclib -arch_only `/usr/bin/arch` -install_name $(libdir)/$@ -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v'
  153. ;;
  154. *) SHOBJ_LDFLAGS='-dynamic'
  155. SHLIB_XLDFLAGS='-arch_only `/usr/bin/arch` -install_name $(libdir)/$@ -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v'
  156. ;;
  157. esac
  158. SHLIB_LIBS='-lncurses' # see if -lcurses works on MacOS X 10.1
  159. ;;
  160. openbsd*|netbsd*)
  161. SHOBJ_CFLAGS=-fPIC
  162. SHOBJ_LD='${CC}'
  163. SHOBJ_LDFLAGS='-shared'
  164. SHLIB_XLDFLAGS='-R$(libdir)'
  165. SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)'
  166. ;;
  167. bsdi2*)
  168. SHOBJ_CC=shlicc2
  169. SHOBJ_CFLAGS=
  170. SHOBJ_LD=ld
  171. SHOBJ_LDFLAGS=-r
  172. SHOBJ_LIBS=-lc_s.2.1.0
  173. # BSD/OS 2.x and 3.x `shared libraries' are too much of a pain in
  174. # the ass -- they require changing {/usr/lib,etc}/shlib.map on
  175. # each system, and the library creation process is byzantine
  176. SHLIB_STATUS=unsupported
  177. ;;
  178. bsdi3*)
  179. SHOBJ_CC=shlicc2
  180. SHOBJ_CFLAGS=
  181. SHOBJ_LD=ld
  182. SHOBJ_LDFLAGS=-r
  183. SHOBJ_LIBS=-lc_s.3.0.0
  184. # BSD/OS 2.x and 3.x `shared libraries' are too much of a pain in
  185. # the ass -- they require changing {/usr/lib,etc}/shlib.map on
  186. # each system, and the library creation process is byzantine
  187. SHLIB_STATUS=unsupported
  188. ;;
  189. bsdi4*)
  190. # BSD/OS 4.x now supports ELF and SunOS-style dynamically-linked
  191. # shared libraries. gcc 2.x is the standard compiler, and the
  192. # `normal' gcc options should work as they do in Linux.
  193. SHOBJ_CFLAGS=-fPIC
  194. SHOBJ_LD='${CC}'
  195. SHOBJ_LDFLAGS='-shared -Wl,-soname,$@'
  196. SHLIB_XLDFLAGS='-Wl,-soname,`basename $@ $(SHLIB_MINOR)`'
  197. SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)'
  198. ;;
  199. osf*-*gcc*)
  200. # Fix to use gcc linker driver from bfischer@TechFak.Uni-Bielefeld.DE
  201. SHOBJ_LD='${CC}'
  202. SHOBJ_LDFLAGS='-shared -Wl,-soname,$@'
  203. SHLIB_XLDFLAGS='-rpath $(libdir)'
  204. SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
  205. ;;
  206. osf*)
  207. SHOBJ_LD=ld
  208. SHOBJ_LDFLAGS='-shared -soname $@ -expect_unresolved "*"'
  209. SHLIB_XLDFLAGS='-rpath $(libdir)'
  210. SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
  211. ;;
  212. aix4.[2-9]*-*gcc*|aix[5-9].*-*gcc*) # lightly tested by jik@cisco.com
  213. SHOBJ_CFLAGS=-fpic
  214. SHOBJ_LD='ld'
  215. SHOBJ_LDFLAGS='-bdynamic -bnoentry -bexpall'
  216. SHOBJ_XLDFLAGS='-G'
  217. SHLIB_XLDFLAGS='-bM:SRE'
  218. SHLIB_LIBS='-lcurses -lc'
  219. SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
  220. ;;
  221. aix4.[2-9]*|aix[5-9].*)
  222. SHOBJ_CFLAGS=-K
  223. SHOBJ_LD='ld'
  224. SHOBJ_LDFLAGS='-bdynamic -bnoentry -bexpall'
  225. SHOBJ_XLDFLAGS='-G'
  226. SHLIB_XLDFLAGS='-bM:SRE'
  227. SHLIB_LIBS='-lcurses -lc'
  228. SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
  229. ;;
  230. #
  231. # THE FOLLOWING ARE UNTESTED -- and some may not support the dlopen interface
  232. #
  233. irix[56]*-*gcc*)
  234. SHOBJ_CFLAGS='-fpic'
  235. SHOBJ_LD='${CC}'
  236. SHOBJ_LDFLAGS='-shared -Wl,-soname,$@'
  237. SHLIB_XLDFLAGS='-Wl,-rpath,$(libdir)'
  238. SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
  239. ;;
  240. irix[56]*)
  241. SHOBJ_CFLAGS='-K PIC'
  242. SHOBJ_LD=ld
  243. # SHOBJ_LDFLAGS='-call_shared -hidden_symbol -no_unresolved -soname $@'
  244. # Change from David Kaelbling <drk@sgi.com>. If you have problems,
  245. # remove the `-no_unresolved'
  246. SHOBJ_LDFLAGS='-shared -no_unresolved -soname $@'
  247. SHLIB_XLDFLAGS='-rpath $(libdir)'
  248. SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
  249. ;;
  250. hpux9*-*gcc*)
  251. # must use gcc; the bundled cc cannot compile PIC code
  252. SHOBJ_CFLAGS='-fpic'
  253. SHOBJ_LD='${CC}'
  254. SHOBJ_LDFLAGS='-shared -Wl,-b -Wl,+s'
  255. SHLIB_XLDFLAGS='-Wl,+b,$(libdir)'
  256. SHLIB_LIBSUFF='sl'
  257. SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
  258. ;;
  259. hpux9*)
  260. SHOBJ_STATUS=unsupported
  261. SHLIB_STATUS=unsupported
  262. # If you are using the HP ANSI C compiler, you can uncomment and use
  263. # this code (I have not tested it)
  264. # SHOBJ_STATUS=supported
  265. # SHLIB_STATUS=supported
  266. #
  267. # SHOBJ_CFLAGS='+z'
  268. # SHOBJ_LD='ld'
  269. # SHOBJ_LDFLAGS='-b +s'
  270. #
  271. # SHLIB_XLDFLAGS='+b $(libdir)'
  272. # SHLIB_LIBSUFF='sl'
  273. # SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
  274. ;;
  275. hpux10*-*gcc*)
  276. # must use gcc; the bundled cc cannot compile PIC code
  277. SHOBJ_CFLAGS='-fpic'
  278. SHOBJ_LD='${CC}'
  279. # if you have problems linking here, moving the `-Wl,+h,$@' from
  280. # SHLIB_XLDFLAGS to SHOBJ_LDFLAGS has been reported to work
  281. SHOBJ_LDFLAGS='-shared -fpic -Wl,-b -Wl,+s'
  282. SHLIB_XLDFLAGS='-Wl,+h,$@ -Wl,+b,$(libdir)'
  283. SHLIB_LIBSUFF='sl'
  284. SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
  285. ;;
  286. hpux10*)
  287. SHOBJ_STATUS=unsupported
  288. SHLIB_STATUS=unsupported
  289. # If you are using the HP ANSI C compiler, you can uncomment and use
  290. # this code (I have not tested it)
  291. # SHOBJ_STATUS=supported
  292. # SHLIB_STATUS=supported
  293. #
  294. # SHOBJ_CFLAGS='+z'
  295. # SHOBJ_LD='ld'
  296. # SHOBJ_LDFLAGS='-b +s +h $@'
  297. #
  298. # SHLIB_XLDFLAGS='+b $(libdir)'
  299. # SHLIB_LIBSUFF='sl'
  300. # SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
  301. ;;
  302. hpux11*-*gcc*)
  303. # must use gcc; the bundled cc cannot compile PIC code
  304. SHOBJ_CFLAGS='-fpic'
  305. SHOBJ_LD='${CC}'
  306. # SHOBJ_LDFLAGS='-shared -Wl,-b -Wl,-B,symbolic -Wl,+s -Wl,+std -Wl,+h,$@'
  307. SHOBJ_LDFLAGS='-shared -fpic -Wl,-b -Wl,+s -Wl,+h,$@'
  308. SHLIB_XLDFLAGS='-Wl,+b,$(libdir)'
  309. SHLIB_LIBSUFF='sl'
  310. SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
  311. ;;
  312. hpux11*)
  313. SHOBJ_STATUS=unsupported
  314. SHLIB_STATUS=unsupported
  315. # If you are using the HP ANSI C compiler, you can uncomment and use
  316. # this code (I have not tested it)
  317. # SHOBJ_STATUS=supported
  318. # SHLIB_STATUS=supported
  319. #
  320. # SHOBJ_CFLAGS='+z'
  321. # SHOBJ_LD='ld'
  322. # SHOBJ_LDFLAGS='-b +s +h $@'
  323. #
  324. # SHLIB_XLDFLAGS='+b $(libdir)'
  325. # SHLIB_LIBSUFF='sl'
  326. # SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
  327. ;;
  328. sysv4*-*gcc*)
  329. SHOBJ_CFLAGS=-shared
  330. SHOBJ_LDFLAGS='-shared -h $@'
  331. SHOBJ_LD='${CC}'
  332. SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
  333. ;;
  334. sysv4*)
  335. SHOBJ_CFLAGS='-K PIC'
  336. SHOBJ_LD=ld
  337. SHOBJ_LDFLAGS='-dy -z text -G -h $@'
  338. SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
  339. ;;
  340. sco3.2v5*-*gcc*)
  341. SHOBJ_CFLAGS='-fpic' # DEFAULTS TO ELF
  342. SHOBJ_LD='${CC}'
  343. SHOBJ_LDFLAGS='-shared'
  344. SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
  345. ;;
  346. sco3.2v5*)
  347. SHOBJ_CFLAGS='-K pic -b elf'
  348. SHOBJ_LD=ld
  349. SHOBJ_LDFLAGS='-G -b elf -dy -z text -h $@'
  350. SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
  351. ;;
  352. sysv5uw7*-*gcc*)
  353. SHOBJ_CFLAGS='-fpic'
  354. SHOBJ_LD='${CC}'
  355. SHOBJ_LDFLAGS='-shared'
  356. SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
  357. ;;
  358. sysv5uw7*)
  359. SHOBJ_CFLAGS='-K PIC'
  360. SHOBJ_LD=ld
  361. SHOBJ_LDFLAGS='-G -dy -z text -h $@'
  362. SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
  363. ;;
  364. sysv5UnixWare*-*gcc*)
  365. SHOBJ_CFLAGS=-fpic
  366. SHOBJ_LD='${CC}'
  367. SHOBJ_LDFLAGS='-shared'
  368. SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
  369. ;;
  370. sysv5UnixWare*)
  371. SHOBJ_CFLAGS='-K PIC'
  372. SHOBJ_LD=ld
  373. SHOBJ_LDFLAGS='-G -dy -z text -h $@'
  374. SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
  375. ;;
  376. sysv5OpenUNIX*-*gcc*)
  377. SHOBJ_CFLAGS=-fpic
  378. SHOBJ_LD='${CC}'
  379. SHOBJ_LDFLAGS='-shared'
  380. SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
  381. ;;
  382. sysv5OpenUNIX*)
  383. SHOBJ_CFLAGS='-K PIC'
  384. SHOBJ_LD=ld
  385. SHOBJ_LDFLAGS='-G -dy -z text -h $@'
  386. SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
  387. ;;
  388. dgux*-*gcc*)
  389. SHOBJ_CFLAGS=-fpic
  390. SHOBJ_LD='${CC}'
  391. SHOBJ_LDFLAGS='-shared'
  392. SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
  393. ;;
  394. dgux*)
  395. SHOBJ_CFLAGS='-K pic'
  396. SHOBJ_LD=ld
  397. SHOBJ_LDFLAGS='-G -dy -h $@'
  398. SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
  399. ;;
  400. msdos*)
  401. SHOBJ_STATUS=unsupported
  402. SHLIB_STATUS=unsupported
  403. ;;
  404. cygwin*)
  405. SHOBJ_LD='$(CC)'
  406. SHOBJ_LDFLAGS='-shared -Wl,--enable-auto-import -Wl,--enable-auto-image-base -Wl,--export-all -Wl,--out-implib=$(@).a'
  407. SHLIB_LIBPREF='cyg'
  408. SHLIB_LIBSUFF='dll'
  409. SHLIB_LIBVERSION='$(SHLIB_DLLVERSION).$(SHLIB_LIBSUFF)'
  410. SHLIB_LIBS='$(TERMCAP_LIB)'
  411. SHLIB_DOT=
  412. # For official cygwin releases, DLLVERSION will be defined in the
  413. # environment of configure, and will be incremented any time the API
  414. # changes in a non-backwards compatible manner. Otherwise, it is just
  415. # SHLIB_MAJOR.
  416. if [ -n "$DLLVERSION" ] ; then
  417. SHLIB_DLLVERSION="$DLLVERSION"
  418. fi
  419. ;;
  420. mingw*)
  421. SHOBJ_LD='$(CC)'
  422. SHOBJ_LDFLAGS='-shared -Wl,--enable-auto-import -Wl,--enable-auto-image-base -Wl,--export-all -Wl,--out-implib=$(@).a'
  423. SHLIB_LIBSUFF='dll'
  424. SHLIB_LIBVERSION='$(SHLIB_DLLVERSION).$(SHLIB_LIBSUFF)'
  425. SHLIB_LIBS='$(TERMCAP_LIB)'
  426. SHLIB_DOT=
  427. # For official cygwin releases, DLLVERSION will be defined in the
  428. # environment of configure, and will be incremented any time the API
  429. # changes in a non-backwards compatible manner. Otherwise, it is just
  430. # SHLIB_MAJOR.
  431. if [ -n "$DLLVERSION" ] ; then
  432. SHLIB_DLLVERSION="$DLLVERSION"
  433. fi
  434. ;;
  435. #
  436. # Rely on correct gcc configuration for everything else
  437. #
  438. *-*gcc*)
  439. SHOBJ_CFLAGS=-fpic
  440. SHOBJ_LD='${CC}'
  441. SHOBJ_LDFLAGS='-shared'
  442. SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
  443. ;;
  444. *)
  445. SHOBJ_STATUS=unsupported
  446. SHLIB_STATUS=unsupported
  447. ;;
  448. esac
  449. echo SHOBJ_CC=\'"$SHOBJ_CC"\'
  450. echo SHOBJ_CFLAGS=\'"$SHOBJ_CFLAGS"\'
  451. echo SHOBJ_LD=\'"$SHOBJ_LD"\'
  452. echo SHOBJ_LDFLAGS=\'"$SHOBJ_LDFLAGS"\'
  453. echo SHOBJ_XLDFLAGS=\'"$SHOBJ_XLDFLAGS"\'
  454. echo SHOBJ_LIBS=\'"$SHOBJ_LIBS"\'
  455. echo SHLIB_XLDFLAGS=\'"$SHLIB_XLDFLAGS"\'
  456. echo SHLIB_LIBS=\'"$SHLIB_LIBS"\'
  457. echo SHLIB_DOT=\'"$SHLIB_DOT"\'
  458. echo SHLIB_LIBPREF=\'"$SHLIB_LIBPREF"\'
  459. echo SHLIB_LIBSUFF=\'"$SHLIB_LIBSUFF"\'
  460. echo SHLIB_LIBVERSION=\'"$SHLIB_LIBVERSION"\'
  461. echo SHLIB_DLLVERSION=\'"$SHLIB_DLLVERSION"\'
  462. echo SHOBJ_STATUS=\'"$SHOBJ_STATUS"\'
  463. echo SHLIB_STATUS=\'"$SHLIB_STATUS"\'
  464. exit 0