diff options
| author | Max Krasnyansky <maxk@qualcomm.com> | 2002-03-08 21:10:06 +0000 | 
|---|---|---|
| committer | Max Krasnyansky <maxk@qualcomm.com> | 2002-03-08 21:10:06 +0000 | 
| commit | a48d8b4639f36e6fc2d7e87cac92e178674caaa1 (patch) | |
| tree | ae1b9dc0919336032fb143fb3930cb6fe0523593 | |
Initial revision
| -rw-r--r-- | AUTHORS | 6 | ||||
| -rw-r--r-- | COPYING | 304 | ||||
| -rw-r--r-- | ChangeLog | 18 | ||||
| -rw-r--r-- | INSTALL | 0 | ||||
| -rw-r--r-- | Makefile.am | 5 | ||||
| -rw-r--r-- | Makefile.in | 339 | ||||
| -rw-r--r-- | NEWS | 0 | ||||
| -rw-r--r-- | README | 33 | ||||
| -rw-r--r-- | aclocal.m4 | 3428 | ||||
| -rwxr-xr-x | config.guess | 951 | ||||
| -rwxr-xr-x | config.sub | 955 | ||||
| -rwxr-xr-x | configure | 5455 | ||||
| -rw-r--r-- | configure.in | 21 | ||||
| -rwxr-xr-x | conftest | bin | 0 -> 6518 bytes | |||
| -rw-r--r-- | conftest.c | 1 | ||||
| -rw-r--r-- | include/Makefile.am | 9 | ||||
| -rw-r--r-- | include/Makefile.in | 194 | ||||
| -rw-r--r-- | include/bluetooth.h | 111 | ||||
| -rw-r--r-- | include/hci.h | 768 | ||||
| -rw-r--r-- | include/hci_lib.h | 115 | ||||
| -rw-r--r-- | include/hci_uart.h | 45 | ||||
| -rw-r--r-- | include/hci_vhci.h | 35 | ||||
| -rw-r--r-- | include/l2cap.h | 200 | ||||
| -rw-r--r-- | include/sco.h | 65 | ||||
| -rwxr-xr-x | install-sh | 251 | ||||
| -rw-r--r-- | ltmain.sh | 4946 | ||||
| -rwxr-xr-x | missing | 198 | ||||
| -rwxr-xr-x | mkinstalldirs | 40 | ||||
| -rw-r--r-- | src/Makefile.am | 10 | ||||
| -rw-r--r-- | src/Makefile.in | 353 | ||||
| -rw-r--r-- | src/bluetooth.c | 164 | ||||
| -rw-r--r-- | src/hci.c | 624 | 
32 files changed, 19644 insertions, 0 deletions
diff --git a/AUTHORS b/AUTHORS new file mode 100644 index 00000000..7cd84ba8 --- /dev/null +++ b/AUTHORS @@ -0,0 +1,6 @@ +Maxim Krasnyansky <maxk@qualcomm.com> +	Original author. +	Primary maintainer. + +Marcel Holtmann <marcel@rvs.uni-bielefeld.de> +	Various patches, fixes and other contributions. diff --git a/COPYING b/COPYING new file mode 100644 index 00000000..357e7469 --- /dev/null +++ b/COPYING @@ -0,0 +1,304 @@ +  + BlueZ - Bluetooth protocol stack for Linux + Copyright (C) 2000-2001 Qualcomm Incorporated + + Written 2000,2001 by Maxim Krasnyansky <maxk@qualcomm.com> + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License version 2 as + published by the Free Software Foundation; + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. + IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY CLAIM, + OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER + RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, + NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE + USE OR PERFORMANCE OF THIS SOFTWARE. + + ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS, COPYRIGHTS, + TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS SOFTWARE IS DISCLAIMED. + + ------------------------------------------------------------------------- + +		    GNU GENERAL PUBLIC LICENSE +		       Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. +                       59 Temple Place, Suite 330, Boston, MA  02111-1307  USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +			    Preamble + +  The licenses for most software are designed to take away your +freedom to share and change it.  By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users.  This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it.  (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.)  You can apply it to +your programs, too. + +  When we speak of free software, we are referring to freedom, not +price.  Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + +  To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + +  For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have.  You must make sure that they, too, receive or can get the +source code.  And you must show them these terms so they know their +rights. + +  We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + +  Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software.  If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + +  Finally, any free program is threatened constantly by software +patents.  We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary.  To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + +  The precise terms and conditions for copying, distribution and +modification follow. + +		    GNU GENERAL PUBLIC LICENSE +   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + +  0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License.  The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language.  (Hereinafter, translation is included without limitation in +the term "modification".)  Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope.  The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + +  1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + +  2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + +    a) You must cause the modified files to carry prominent notices +    stating that you changed the files and the date of any change. + +    b) You must cause any work that you distribute or publish, that in +    whole or in part contains or is derived from the Program or any +    part thereof, to be licensed as a whole at no charge to all third +    parties under the terms of this License. + +    c) If the modified program normally reads commands interactively +    when run, you must cause it, when started running for such +    interactive use in the most ordinary way, to print or display an +    announcement including an appropriate copyright notice and a +    notice that there is no warranty (or else, saying that you provide +    a warranty) and that users may redistribute the program under +    these conditions, and telling the user how to view a copy of this +    License.  (Exception: if the Program itself is interactive but +    does not normally print such an announcement, your work based on +    the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole.  If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works.  But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + +  3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + +    a) Accompany it with the complete corresponding machine-readable +    source code, which must be distributed under the terms of Sections +    1 and 2 above on a medium customarily used for software interchange; or, + +    b) Accompany it with a written offer, valid for at least three +    years, to give any third party, for a charge no more than your +    cost of physically performing source distribution, a complete +    machine-readable copy of the corresponding source code, to be +    distributed under the terms of Sections 1 and 2 above on a medium +    customarily used for software interchange; or, + +    c) Accompany it with the information you received as to the offer +    to distribute corresponding source code.  (This alternative is +    allowed only for noncommercial distribution and only if you +    received the program in object code or executable form with such +    an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it.  For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable.  However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + +  4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License.  Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + +  5. You are not required to accept this License, since you have not +signed it.  However, nothing else grants you permission to modify or +distribute the Program or its derivative works.  These actions are +prohibited by law if you do not accept this License.  Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + +  6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions.  You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + +  7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License.  If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all.  For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices.  Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + +  8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded.  In such case, this License incorporates +the limitation as if written in the body of this License. + +  9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time.  Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number.  If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation.  If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + +  10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission.  For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this.  Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + +			    NO WARRANTY + +  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + +  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + +		     END OF TERMS AND CONDITIONS diff --git a/ChangeLog b/ChangeLog new file mode 100644 index 00000000..a5569bdb --- /dev/null +++ b/ChangeLog @@ -0,0 +1,18 @@ +ver 2.0-pre7: +	Bluetooth libraries and header files is now a separate package. + +ver 2.0-pre6: +	API cleanup and additions. + +ver 2.0-pre4: +	HCI filter enhancements. + +ver 2.0-pre3: +	Cleanup. + +ver 2.0-pre2: +	Additional HCI library functions. +	Documentation update. +	 +ver 2.0-pre1: +	Minor fixes and improvements. diff --git a/INSTALL b/INSTALL new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/INSTALL diff --git a/Makefile.am b/Makefile.am new file mode 100644 index 00000000..64e1a183 --- /dev/null +++ b/Makefile.am @@ -0,0 +1,5 @@ +# +#  $Id$ +# + +SUBDIRS = include src diff --git a/Makefile.in b/Makefile.in new file mode 100644 index 00000000..e541f40d --- /dev/null +++ b/Makefile.in @@ -0,0 +1,339 @@ +# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am + +# Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +# +#  $Id$ +# + + +SHELL = @SHELL@ + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +prefix = @prefix@ +exec_prefix = @exec_prefix@ + +bindir = @bindir@ +sbindir = @sbindir@ +libexecdir = @libexecdir@ +datadir = @datadir@ +sysconfdir = @sysconfdir@ +sharedstatedir = @sharedstatedir@ +localstatedir = @localstatedir@ +libdir = @libdir@ +infodir = @infodir@ +mandir = @mandir@ +includedir = @includedir@ +oldincludedir = /usr/include + +DESTDIR = + +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ + +top_builddir = . + +ACLOCAL = @ACLOCAL@ +AUTOCONF = @AUTOCONF@ +AUTOMAKE = @AUTOMAKE@ +AUTOHEADER = @AUTOHEADER@ + +INSTALL = @INSTALL@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS) +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +transform = @program_transform_name@ + +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +host_alias = @host_alias@ +host_triplet = @host@ +AR = @AR@ +AS = @AS@ +CC = @CC@ +DLLTOOL = @DLLTOOL@ +ECHO = @ECHO@ +EXEEXT = @EXEEXT@ +LD = @LD@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +MAKEINFO = @MAKEINFO@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +RANLIB = @RANLIB@ +STRIP = @STRIP@ +VERSION = @VERSION@ + +SUBDIRS = include src +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_CLEAN_FILES =  +DIST_COMMON =  README AUTHORS COPYING ChangeLog INSTALL Makefile.am \ +Makefile.in NEWS aclocal.m4 config.guess config.sub configure \ +configure.in install-sh ltmain.sh missing mkinstalldirs + + +DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) + +TAR = gtar +GZIP_ENV = --best +all: all-redirect +.SUFFIXES: +$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)  +	cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile + +Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status $(BUILT_SOURCES) +	cd $(top_builddir) \ +	  && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status + +$(ACLOCAL_M4):  configure.in  +	cd $(srcdir) && $(ACLOCAL) + +config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) +	$(SHELL) ./config.status --recheck +$(srcdir)/configure: $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES) +	cd $(srcdir) && $(AUTOCONF) + +# This directory's subdirectories are mostly independent; you can cd +# into them and run `make' without going through this Makefile. +# To change the values of `make' variables: instead of editing Makefiles, +# (1) if the variable is set in `config.status', edit `config.status' +#     (which will cause the Makefiles to be regenerated when you run `make'); +# (2) otherwise, pass the desired values on the `make' command line. + +@SET_MAKE@ + +all-recursive install-data-recursive install-exec-recursive \ +installdirs-recursive install-recursive uninstall-recursive  \ +check-recursive installcheck-recursive info-recursive dvi-recursive: +	@set fnord $(MAKEFLAGS); amf=$$2; \ +	dot_seen=no; \ +	target=`echo $@ | sed s/-recursive//`; \ +	list='$(SUBDIRS)'; for subdir in $$list; do \ +	  echo "Making $$target in $$subdir"; \ +	  if test "$$subdir" = "."; then \ +	    dot_seen=yes; \ +	    local_target="$$target-am"; \ +	  else \ +	    local_target="$$target"; \ +	  fi; \ +	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ +	   || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ +	done; \ +	if test "$$dot_seen" = "no"; then \ +	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ +	fi; test -z "$$fail" + +mostlyclean-recursive clean-recursive distclean-recursive \ +maintainer-clean-recursive: +	@set fnord $(MAKEFLAGS); amf=$$2; \ +	dot_seen=no; \ +	rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \ +	  rev="$$subdir $$rev"; \ +	  test "$$subdir" != "." || dot_seen=yes; \ +	done; \ +	test "$$dot_seen" = "no" && rev=". $$rev"; \ +	target=`echo $@ | sed s/-recursive//`; \ +	for subdir in $$rev; do \ +	  echo "Making $$target in $$subdir"; \ +	  if test "$$subdir" = "."; then \ +	    local_target="$$target-am"; \ +	  else \ +	    local_target="$$target"; \ +	  fi; \ +	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ +	   || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ +	done && test -z "$$fail" +tags-recursive: +	list='$(SUBDIRS)'; for subdir in $$list; do \ +	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ +	done + +tags: TAGS + +ID: $(HEADERS) $(SOURCES) $(LISP) +	list='$(SOURCES) $(HEADERS)'; \ +	unique=`for i in $$list; do echo $$i; done | \ +	  awk '    { files[$$0] = 1; } \ +	       END { for (i in files) print i; }'`; \ +	here=`pwd` && cd $(srcdir) \ +	  && mkid -f$$here/ID $$unique $(LISP) + +TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) $(LISP) +	tags=; \ +	here=`pwd`; \ +	list='$(SUBDIRS)'; for subdir in $$list; do \ +   if test "$$subdir" = .; then :; else \ +	    test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \ +   fi; \ +	done; \ +	list='$(SOURCES) $(HEADERS)'; \ +	unique=`for i in $$list; do echo $$i; done | \ +	  awk '    { files[$$0] = 1; } \ +	       END { for (i in files) print i; }'`; \ +	test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ +	  || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags  $$unique $(LISP) -o $$here/TAGS) + +mostlyclean-tags: + +clean-tags: + +distclean-tags: +	-rm -f TAGS ID + +maintainer-clean-tags: + +distdir = $(PACKAGE)-$(VERSION) +top_distdir = $(distdir) + +# This target untars the dist file and tries a VPATH configuration.  Then +# it guarantees that the distribution is self-contained by making another +# tarfile. +distcheck: dist +	-rm -rf $(distdir) +	GZIP=$(GZIP_ENV) $(TAR) zxf $(distdir).tar.gz +	mkdir $(distdir)/=build +	mkdir $(distdir)/=inst +	dc_install_base=`cd $(distdir)/=inst && pwd`; \ +	cd $(distdir)/=build \ +	  && ../configure --srcdir=.. --prefix=$$dc_install_base \ +	  && $(MAKE) $(AM_MAKEFLAGS) \ +	  && $(MAKE) $(AM_MAKEFLAGS) dvi \ +	  && $(MAKE) $(AM_MAKEFLAGS) check \ +	  && $(MAKE) $(AM_MAKEFLAGS) install \ +	  && $(MAKE) $(AM_MAKEFLAGS) installcheck \ +	  && $(MAKE) $(AM_MAKEFLAGS) dist +	-rm -rf $(distdir) +	@banner="$(distdir).tar.gz is ready for distribution"; \ +	dashes=`echo "$$banner" | sed s/./=/g`; \ +	echo "$$dashes"; \ +	echo "$$banner"; \ +	echo "$$dashes" +dist: distdir +	-chmod -R a+r $(distdir) +	GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir) +	-rm -rf $(distdir) +dist-all: distdir +	-chmod -R a+r $(distdir) +	GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir) +	-rm -rf $(distdir) +distdir: $(DISTFILES) +	-rm -rf $(distdir) +	mkdir $(distdir) +	-chmod 777 $(distdir) +	here=`cd $(top_builddir) && pwd`; \ +	top_distdir=`cd $(distdir) && pwd`; \ +	distdir=`cd $(distdir) && pwd`; \ +	cd $(top_srcdir) \ +	  && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu Makefile +	@for file in $(DISTFILES); do \ +	  d=$(srcdir); \ +	  if test -d $$d/$$file; then \ +	    cp -pr $$d/$$file $(distdir)/$$file; \ +	  else \ +	    test -f $(distdir)/$$file \ +	    || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ +	    || cp -p $$d/$$file $(distdir)/$$file || :; \ +	  fi; \ +	done +	for subdir in $(SUBDIRS); do \ +	  if test "$$subdir" = .; then :; else \ +	    test -d $(distdir)/$$subdir \ +	    || mkdir $(distdir)/$$subdir \ +	    || exit 1; \ +	    chmod 777 $(distdir)/$$subdir; \ +	    (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir=../$(distdir) distdir=../$(distdir)/$$subdir distdir) \ +	      || exit 1; \ +	  fi; \ +	done +info-am: +info: info-recursive +dvi-am: +dvi: dvi-recursive +check-am: all-am +check: check-recursive +installcheck-am: +installcheck: installcheck-recursive +install-exec-am: +install-exec: install-exec-recursive + +install-data-am: +install-data: install-data-recursive + +install-am: all-am +	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am +install: install-recursive +uninstall-am: +uninstall: uninstall-recursive +all-am: Makefile +all-redirect: all-recursive +install-strip: +	$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install +installdirs: installdirs-recursive +installdirs-am: + + +mostlyclean-generic: + +clean-generic: + +distclean-generic: +	-rm -f Makefile $(CONFIG_CLEAN_FILES) +	-rm -f config.cache config.log stamp-h stamp-h[0-9]* + +maintainer-clean-generic: +mostlyclean-am:  mostlyclean-tags mostlyclean-generic + +mostlyclean: mostlyclean-recursive + +clean-am:  clean-tags clean-generic mostlyclean-am + +clean: clean-recursive + +distclean-am:  distclean-tags distclean-generic clean-am +	-rm -f libtool + +distclean: distclean-recursive +	-rm -f config.status + +maintainer-clean-am:  maintainer-clean-tags maintainer-clean-generic \ +		distclean-am +	@echo "This command is intended for maintainers to use;" +	@echo "it deletes files that may require special tools to rebuild." + +maintainer-clean: maintainer-clean-recursive +	-rm -f config.status + +.PHONY: install-data-recursive uninstall-data-recursive \ +install-exec-recursive uninstall-exec-recursive installdirs-recursive \ +uninstalldirs-recursive all-recursive check-recursive \ +installcheck-recursive info-recursive dvi-recursive \ +mostlyclean-recursive distclean-recursive clean-recursive \ +maintainer-clean-recursive tags tags-recursive mostlyclean-tags \ +distclean-tags clean-tags maintainer-clean-tags distdir info-am info \ +dvi-am dvi check check-am installcheck-am installcheck install-exec-am \ +install-exec install-data-am install-data install-am install \ +uninstall-am uninstall all-redirect all-am all installdirs-am \ +installdirs mostlyclean-generic distclean-generic clean-generic \ +maintainer-clean-generic clean mostlyclean distclean maintainer-clean + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: @@ -0,0 +1,33 @@ +BlueZ - Bluetooth protocol stack for Linux +Copyright (C) 2000-2001 Qualcomm Incorporated + +Written 2000,2001 by Maxim Krasnyansky <maxk@qualcomm.com> + +Bluetooth Libraries + +1. Compilation and Installation. + +In order to compile Bluetooth libraries you need following software packages: +  - Linux kernel 2.4.X source code  +  - GCC compiler + +To configure run: +  ./configure +  +Configure automatically searches for all required components and packages.  + +To compile and install run: +  make install + +2.0 Information + +Mailing lists: +	bluez-users@lists.sourceforge.net    - BlueZ general questions and discussions +	bluez-devel@lists.sourceforge.net    - BlueZ development  +	bluez-commit@lists.sourceforge.net   - BlueZ commits to the CVS repository +	bluez-announce@lists.sourceforge.net - BlueZ announcements + +For additional information about the project visit BlueZ web site: +	http://bluez.sf.net  +  +Maxim Krasnyansky <maxk@qualcomm.com>  diff --git a/aclocal.m4 b/aclocal.m4 new file mode 100644 index 00000000..d5ac3659 --- /dev/null +++ b/aclocal.m4 @@ -0,0 +1,3428 @@ +dnl aclocal.m4 generated automatically by aclocal 1.4-p5 + +dnl Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without +dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A +dnl PARTICULAR PURPOSE. + +# Do all the work for Automake.  This macro actually does too much -- +# some checks are only needed if your package does certain things. +# But this isn't really a big deal. + +# serial 1 + +dnl Usage: +dnl AM_INIT_AUTOMAKE(package,version, [no-define]) + +AC_DEFUN([AM_INIT_AUTOMAKE], +[AC_REQUIRE([AC_PROG_INSTALL]) +PACKAGE=[$1] +AC_SUBST(PACKAGE) +VERSION=[$2] +AC_SUBST(VERSION) +dnl test to see if srcdir already configured +if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then +  AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) +fi +ifelse([$3],, +AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) +AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])) +AC_REQUIRE([AM_SANITY_CHECK]) +AC_REQUIRE([AC_ARG_PROGRAM]) +dnl FIXME This is truly gross. +missing_dir=`cd $ac_aux_dir && pwd` +AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir) +AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir) +AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir) +AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir) +AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir) +AC_REQUIRE([AC_PROG_MAKE_SET])]) + +# +# Check to make sure that the build environment is sane. +# + +AC_DEFUN([AM_SANITY_CHECK], +[AC_MSG_CHECKING([whether build environment is sane]) +# Just in case +sleep 1 +echo timestamp > conftestfile +# Do `set' in a subshell so we don't clobber the current shell's +# arguments.  Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( +   set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null` +   if test "[$]*" = "X"; then +      # -L didn't work. +      set X `ls -t $srcdir/configure conftestfile` +   fi +   if test "[$]*" != "X $srcdir/configure conftestfile" \ +      && test "[$]*" != "X conftestfile $srcdir/configure"; then + +      # If neither matched, then we have a broken ls.  This can happen +      # if, for instance, CONFIG_SHELL is bash and it inherits a +      # broken ls alias from the environment.  This has actually +      # happened.  Such a system could not be considered "sane". +      AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken +alias in your environment]) +   fi + +   test "[$]2" = conftestfile +   ) +then +   # Ok. +   : +else +   AC_MSG_ERROR([newly created file is older than distributed files! +Check your system clock]) +fi +rm -f conftest* +AC_MSG_RESULT(yes)]) + +dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY) +dnl The program must properly implement --version. +AC_DEFUN([AM_MISSING_PROG], +[AC_MSG_CHECKING(for working $2) +# Run test in a subshell; some versions of sh will print an error if +# an executable is not found, even if stderr is redirected. +# Redirect stdin to placate older versions of autoconf.  Sigh. +if ($2 --version) < /dev/null > /dev/null 2>&1; then +   $1=$2 +   AC_MSG_RESULT(found) +else +   $1="$3/missing $2" +   AC_MSG_RESULT(missing) +fi +AC_SUBST($1)]) + +# libtool.m4 - Configure libtool for the host system. -*-Shell-script-*- + +# serial 46 AC_PROG_LIBTOOL +AC_DEFUN([AC_PROG_LIBTOOL], +[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' +AC_SUBST(LIBTOOL)dnl + +# Prevent multiple expansion +define([AC_PROG_LIBTOOL], []) +]) + +AC_DEFUN([AC_LIBTOOL_SETUP], +[AC_PREREQ(2.13)dnl +AC_REQUIRE([AC_ENABLE_SHARED])dnl +AC_REQUIRE([AC_ENABLE_STATIC])dnl +AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_PROG_LD])dnl +AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl +AC_REQUIRE([AC_PROG_NM])dnl +AC_REQUIRE([AC_PROG_LN_S])dnl +AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl +AC_REQUIRE([AC_OBJEXT])dnl +AC_REQUIRE([AC_EXEEXT])dnl +dnl + +_LT_AC_PROG_ECHO_BACKSLASH +# Only perform the check for file, if the check method requires it +case $deplibs_check_method in +file_magic*) +  if test "$file_magic_cmd" = '$MAGIC_CMD'; then +    AC_PATH_MAGIC +  fi +  ;; +esac + +AC_CHECK_TOOL(RANLIB, ranlib, :) +AC_CHECK_TOOL(STRIP, strip, :) + +ifdef([AC_PROVIDE_AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no) +ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL], +enable_win32_dll=yes, enable_win32_dll=no) + +AC_ARG_ENABLE(libtool-lock, +  [  --disable-libtool-lock  avoid locking (might break parallel builds)]) +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +*-*-irix6*) +  # Find out which ABI we are using. +  echo '[#]line __oline__ "configure"' > conftest.$ac_ext +  if AC_TRY_EVAL(ac_compile); then +    case `/usr/bin/file conftest.$ac_objext` in +    *32-bit*) +      LD="${LD-ld} -32" +      ;; +    *N32*) +      LD="${LD-ld} -n32" +      ;; +    *64-bit*) +      LD="${LD-ld} -64" +      ;; +    esac +  fi +  rm -rf conftest* +  ;; + +*-*-sco3.2v5*) +  # On SCO OpenServer 5, we need -belf to get full-featured binaries. +  SAVE_CFLAGS="$CFLAGS" +  CFLAGS="$CFLAGS -belf" +  AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, +    [AC_LANG_SAVE +     AC_LANG_C +     AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) +     AC_LANG_RESTORE]) +  if test x"$lt_cv_cc_needs_belf" != x"yes"; then +    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf +    CFLAGS="$SAVE_CFLAGS" +  fi +  ;; + +ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL], +[*-*-cygwin* | *-*-mingw* | *-*-pw32*) +  AC_CHECK_TOOL(DLLTOOL, dlltool, false) +  AC_CHECK_TOOL(AS, as, false) +  AC_CHECK_TOOL(OBJDUMP, objdump, false) + +  # recent cygwin and mingw systems supply a stub DllMain which the user +  # can override, but on older systems we have to supply one +  AC_CACHE_CHECK([if libtool should supply DllMain function], lt_cv_need_dllmain, +    [AC_TRY_LINK([], +      [extern int __attribute__((__stdcall__)) DllMain(void*, int, void*); +      DllMain (0, 0, 0);], +      [lt_cv_need_dllmain=no],[lt_cv_need_dllmain=yes])]) + +  case $host/$CC in +  *-*-cygwin*/gcc*-mno-cygwin*|*-*-mingw*) +    # old mingw systems require "-dll" to link a DLL, while more recent ones +    # require "-mdll" +    SAVE_CFLAGS="$CFLAGS" +    CFLAGS="$CFLAGS -mdll" +    AC_CACHE_CHECK([how to link DLLs], lt_cv_cc_dll_switch, +      [AC_TRY_LINK([], [], [lt_cv_cc_dll_switch=-mdll],[lt_cv_cc_dll_switch=-dll])]) +    CFLAGS="$SAVE_CFLAGS" ;; +  *-*-cygwin* | *-*-pw32*) +    # cygwin systems need to pass --dll to the linker, and not link +    # crt.o which will require a WinMain@16 definition. +    lt_cv_cc_dll_switch="-Wl,--dll -nostartfiles" ;; +  esac +  ;; +  ]) +esac + +_LT_AC_LTCONFIG_HACK + +]) + +# _LT_AC_CHECK_DLFCN +# -------------------- +AC_DEFUN(_LT_AC_CHECK_DLFCN, +[AC_CHECK_HEADERS(dlfcn.h) +])# _LT_AC_CHECK_DLFCN + +# AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE +# --------------------------------- +AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], +[AC_REQUIRE([AC_CANONICAL_HOST]) +AC_REQUIRE([AC_PROG_NM]) +AC_REQUIRE([AC_OBJEXT]) +# Check for command to grab the raw symbol name followed by C symbol from nm. +AC_MSG_CHECKING([command to parse $NM output]) +AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], [dnl + +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix.  What could be older than Ultrix?!! ;)] + +# Character class describing NM global symbol codes. +[symcode='[BCDEGRST]'] + +# Regexp to match symbols that can be accessed directly from C. +[sympat='\([_A-Za-z][_A-Za-z0-9]*\)'] + +# Transform the above into a raw symbol and a C symbol. +symxfrm='\1 \2\3 \3' + +# Transform an extracted symbol line into a proper C declaration +lt_cv_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern char \1;/p'" + +# Define system-specific variables. +case $host_os in +aix*) +  [symcode='[BCDT]'] +  ;; +cygwin* | mingw* | pw32*) +  [symcode='[ABCDGISTW]'] +  ;; +hpux*) # Its linker distinguishes data from code symbols +  lt_cv_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern char \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" +  ;; +irix*) +  [symcode='[BCDEGRST]'] +  ;; +solaris* | sysv5*) +  [symcode='[BDT]'] +  ;; +sysv4) +  [symcode='[DFNSTU]'] +  ;; +esac + +# Handle CRLF in mingw tool chain +opt_cr= +case $host_os in +mingw*) +  opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp +  ;; +esac + +# If we're using GNU nm, then use its standard symbol codes. +if $NM -V 2>&1 | egrep '(GNU|with BFD)' > /dev/null; then +  [symcode='[ABCDGISTW]'] +fi + +# Try without a prefix undercore, then with it. +for ac_symprfx in "" "_"; do + +  # Write the raw and C identifiers. +[lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ 	]\($symcode$symcode*\)[ 	][ 	]*\($ac_symprfx\)$sympat$opt_cr$/$symxfrm/p'"] + +  # Check to see that the pipe works correctly. +  pipe_works=no +  rm -f conftest* +  cat > conftest.$ac_ext <<EOF +#ifdef __cplusplus +extern "C" { +#endif +char nm_test_var; +void nm_test_func(){} +#ifdef __cplusplus +} +#endif +int main(){nm_test_var='a';nm_test_func();return(0);} +EOF + +  if AC_TRY_EVAL(ac_compile); then +    # Now try to grab the symbols. +    nlist=conftest.nm +    if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then +      # Try sorting and uniquifying the output. +      if sort "$nlist" | uniq > "$nlist"T; then +	mv -f "$nlist"T "$nlist" +      else +	rm -f "$nlist"T +      fi + +      # Make sure that we snagged all the symbols we need. +      if egrep ' nm_test_var$' "$nlist" >/dev/null; then +	if egrep ' nm_test_func$' "$nlist" >/dev/null; then +	  cat <<EOF > conftest.$ac_ext +#ifdef __cplusplus +extern "C" { +#endif + +EOF +	  # Now generate the symbol file. +	  eval "$lt_cv_global_symbol_to_cdecl"' < "$nlist" >> conftest.$ac_ext' + +	  cat <<EOF >> conftest.$ac_ext +#if defined (__STDC__) && __STDC__ +# define lt_ptr_t void * +#else +# define lt_ptr_t char * +# define const +#endif + +/* The mapping between symbol names and symbols. */ +const struct { +  const char *name; +  lt_ptr_t address; +} +[lt_preloaded_symbols[] =] +{ +EOF +	  sed "s/^$symcode$symcode* \(.*\) \(.*\)$/  {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" >> conftest.$ac_ext +	  cat <<\EOF >> conftest.$ac_ext +  {0, (lt_ptr_t) 0} +}; + +#ifdef __cplusplus +} +#endif +EOF +	  # Now try linking the two files. +	  mv conftest.$ac_objext conftstm.$ac_objext +	  save_LIBS="$LIBS" +	  save_CFLAGS="$CFLAGS" +	  LIBS="conftstm.$ac_objext" +	  CFLAGS="$CFLAGS$no_builtin_flag" +	  if AC_TRY_EVAL(ac_link) && test -s conftest; then +	    pipe_works=yes +	  fi +	  LIBS="$save_LIBS" +	  CFLAGS="$save_CFLAGS" +	else +	  echo "cannot find nm_test_func in $nlist" >&AC_FD_CC +	fi +      else +	echo "cannot find nm_test_var in $nlist" >&AC_FD_CC +      fi +    else +      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AC_FD_CC +    fi +  else +    echo "$progname: failed program was:" >&AC_FD_CC +    cat conftest.$ac_ext >&5 +  fi +  rm -f conftest* conftst* + +  # Do not use the global_symbol_pipe unless it works. +  if test "$pipe_works" = yes; then +    break +  else +    lt_cv_sys_global_symbol_pipe= +  fi +done +]) +global_symbol_pipe="$lt_cv_sys_global_symbol_pipe" +if test -z "$lt_cv_sys_global_symbol_pipe"; then +  global_symbol_to_cdecl= +else +  global_symbol_to_cdecl="$lt_cv_global_symbol_to_cdecl" +fi +if test -z "$global_symbol_pipe$global_symbol_to_cdecl"; then +  AC_MSG_RESULT(failed) +else +  AC_MSG_RESULT(ok) +fi +]) # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE + +# _LT_AC_LIBTOOL_SYS_PATH_SEPARATOR +# --------------------------------- +AC_DEFUN([_LT_AC_LIBTOOL_SYS_PATH_SEPARATOR], +[# Find the correct PATH separator.  Usually this is `:', but +# DJGPP uses `;' like DOS. +if test "X${PATH_SEPARATOR+set}" != Xset; then +  UNAME=${UNAME-`uname 2>/dev/null`} +  case X$UNAME in +    *-DOS) lt_cv_sys_path_separator=';' ;; +    *)     lt_cv_sys_path_separator=':' ;; +  esac +fi +])# _LT_AC_LIBTOOL_SYS_PATH_SEPARATOR + +# _LT_AC_PROG_ECHO_BACKSLASH +# -------------------------- +# Add some code to the start of the generated configure script which +# will find an echo command which doesn;t interpret backslashes. +AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH], +[ifdef([AC_DIVERSION_NOTICE], [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], +                              [AC_DIVERT_PUSH(NOTICE)]) +_LT_AC_LIBTOOL_SYS_PATH_SEPARATOR + +# Check that we are running under the correct shell. +SHELL=${CONFIG_SHELL-/bin/sh} + +case X$ECHO in +X*--fallback-echo) +  # Remove one level of quotation (which was required for Make). +  ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','` +  ;; +esac + +echo=${ECHO-echo} +if test "X[$]1" = X--no-reexec; then +  # Discard the --no-reexec flag, and continue. +  shift +elif test "X[$]1" = X--fallback-echo; then +  # Avoid inline document here, it may be left over +  : +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then +  # Yippee, $echo works! +  : +else +  # Restart under the correct shell. +  exec $SHELL "[$]0" --no-reexec ${1+"[$]@"} +fi + +if test "X[$]1" = X--fallback-echo; then +  # used as fallback echo +  shift +  cat <<EOF +$* +EOF +  exit 0 +fi + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +if test "X${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi + +if test -z "$ECHO"; then +if test "X${echo_test_string+set}" != Xset; then +# find a string as large as possible, as long as the shell can cope with it +  for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do +    # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... +    if (echo_test_string="`eval $cmd`") 2>/dev/null && +       echo_test_string="`eval $cmd`" && +       (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null +    then +      break +    fi +  done +fi + +if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && +   echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && +   test "X$echo_testing_string" = "X$echo_test_string"; then +  : +else +  # The Solaris, AIX, and Digital Unix default echo programs unquote +  # backslashes.  This makes it impossible to quote backslashes using +  #   echo "$something" | sed 's/\\/\\\\/g' +  # +  # So, first we look for a working echo in the user's PATH. + +  IFS="${IFS= 	}"; save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}" +  for dir in $PATH /usr/ucb; do +    if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && +       test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && +       echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && +       test "X$echo_testing_string" = "X$echo_test_string"; then +      echo="$dir/echo" +      break +    fi +  done +  IFS="$save_ifs" + +  if test "X$echo" = Xecho; then +    # We didn't find a better echo, so look for alternatives. +    if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && +       echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && +       test "X$echo_testing_string" = "X$echo_test_string"; then +      # This shell has a builtin print -r that does the trick. +      echo='print -r' +    elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && +	 test "X$CONFIG_SHELL" != X/bin/ksh; then +      # If we have ksh, try running configure again with it. +      ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} +      export ORIGINAL_CONFIG_SHELL +      CONFIG_SHELL=/bin/ksh +      export CONFIG_SHELL +      exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"} +    else +      # Try using printf. +      echo='printf %s\n' +      if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && +	 echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && +	 test "X$echo_testing_string" = "X$echo_test_string"; then +	# Cool, printf works +	: +      elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && +	   test "X$echo_testing_string" = 'X\t' && +	   echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && +	   test "X$echo_testing_string" = "X$echo_test_string"; then +	CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL +	export CONFIG_SHELL +	SHELL="$CONFIG_SHELL" +	export SHELL +	echo="$CONFIG_SHELL [$]0 --fallback-echo" +      elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && +	   test "X$echo_testing_string" = 'X\t' && +	   echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && +	   test "X$echo_testing_string" = "X$echo_test_string"; then +	echo="$CONFIG_SHELL [$]0 --fallback-echo" +      else +	# maybe with a smaller string... +	prev=: + +	for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do +	  if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null +	  then +	    break +	  fi +	  prev="$cmd" +	done + +	if test "$prev" != 'sed 50q "[$]0"'; then +	  echo_test_string=`eval $prev` +	  export echo_test_string +	  exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"} +	else +	  # Oops.  We lost completely, so just stick with echo. +	  echo=echo +	fi +      fi +    fi +  fi +fi +fi + +# Copy echo and quote the copy suitably for passing to libtool from +# the Makefile, instead of quoting the original, which is used later. +ECHO=$echo +if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then +   ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo" +fi + +AC_SUBST(ECHO) +AC_DIVERT_POP +])# _LT_AC_PROG_ECHO_BACKSLASH + +# _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, +#                           ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) +# ------------------------------------------------------------------ +AC_DEFUN(_LT_AC_TRY_DLOPEN_SELF, +[if test "$cross_compiling" = yes; then : +  [$4] +else +  AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl +  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 +  lt_status=$lt_dlunknown +  cat > conftest.$ac_ext <<EOF +[#line __oline__ "configure" +#include "confdefs.h" + +#if HAVE_DLFCN_H +#include <dlfcn.h> +#endif + +#include <stdio.h> + +#ifdef RTLD_GLOBAL +#  define LT_DLGLOBAL		RTLD_GLOBAL +#else +#  ifdef DL_GLOBAL +#    define LT_DLGLOBAL		DL_GLOBAL +#  else +#    define LT_DLGLOBAL		0 +#  endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we +   find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +#  ifdef RTLD_LAZY +#    define LT_DLLAZY_OR_NOW		RTLD_LAZY +#  else +#    ifdef DL_LAZY +#      define LT_DLLAZY_OR_NOW		DL_LAZY +#    else +#      ifdef RTLD_NOW +#        define LT_DLLAZY_OR_NOW	RTLD_NOW +#      else +#        ifdef DL_NOW +#          define LT_DLLAZY_OR_NOW	DL_NOW +#        else +#          define LT_DLLAZY_OR_NOW	0 +#        endif +#      endif +#    endif +#  endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ +  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); +  int status = $lt_dlunknown; + +  if (self) +    { +      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore; +      else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; +      /* dlclose (self); */ +    } + +    exit (status); +}] +EOF +  if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then +    (./conftest; exit; ) 2>/dev/null +    lt_status=$? +    case x$lt_status in +      x$lt_dlno_uscore) $1 ;; +      x$lt_dlneed_uscore) $2 ;; +      x$lt_unknown|x*) $3 ;; +    esac +  else : +    # compilation failed +    $3 +  fi +fi +rm -fr conftest* +])# _LT_AC_TRY_DLOPEN_SELF + +# AC_LIBTOOL_DLOPEN_SELF +# ------------------- +AC_DEFUN(AC_LIBTOOL_DLOPEN_SELF, +[if test "x$enable_dlopen" != xyes; then +  enable_dlopen=unknown +  enable_dlopen_self=unknown +  enable_dlopen_self_static=unknown +else +  lt_cv_dlopen=no +  lt_cv_dlopen_libs= + +  case $host_os in +  beos*) +    lt_cv_dlopen="load_add_on" +    lt_cv_dlopen_libs= +    lt_cv_dlopen_self=yes +    ;; + +  cygwin* | mingw* | pw32*) +    lt_cv_dlopen="LoadLibrary" +    lt_cv_dlopen_libs= +   ;; + +  *) +    AC_CHECK_LIB(dl, dlopen,  [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], +      [AC_CHECK_FUNC(dlopen, lt_cv_dlopen="dlopen", +        [AC_CHECK_FUNC(shl_load, lt_cv_dlopen="shl_load", +          [AC_CHECK_LIB(svld, dlopen, +	    [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], +            [AC_CHECK_LIB(dld, shl_load, +              [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"]) +	    ]) +          ]) +        ]) +      ]) +    ;; +  esac + +  if test "x$lt_cv_dlopen" != xno; then +    enable_dlopen=yes +  else +    enable_dlopen=no +  fi + +  case $lt_cv_dlopen in +  dlopen) +    save_CPPFLAGS="$CPPFLAGS" +    AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl +    test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + +    save_LDFLAGS="$LDFLAGS" +    eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + +    save_LIBS="$LIBS" +    LIBS="$lt_cv_dlopen_libs $LIBS" + +    AC_CACHE_CHECK([whether a program can dlopen itself], +	  lt_cv_dlopen_self, [dnl +	  _LT_AC_TRY_DLOPEN_SELF( +	    lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, +	    lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) +    ]) + +    if test "x$lt_cv_dlopen_self" = xyes; then +      LDFLAGS="$LDFLAGS $link_static_flag" +      AC_CACHE_CHECK([whether a statically linked program can dlopen itself], +    	  lt_cv_dlopen_self_static, [dnl +	  _LT_AC_TRY_DLOPEN_SELF( +	    lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, +	    lt_cv_dlopen_self_static=no,  lt_cv_dlopen_self_static=cross) +      ]) +    fi + +    CPPFLAGS="$save_CPPFLAGS" +    LDFLAGS="$save_LDFLAGS" +    LIBS="$save_LIBS" +    ;; +  esac + +  case $lt_cv_dlopen_self in +  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; +  *) enable_dlopen_self=unknown ;; +  esac + +  case $lt_cv_dlopen_self_static in +  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; +  *) enable_dlopen_self_static=unknown ;; +  esac +fi +])# AC_LIBTOOL_DLOPEN_SELF + +AC_DEFUN([_LT_AC_LTCONFIG_HACK], +[AC_REQUIRE([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])dnl +# Sed substitution that helps us do robust quoting.  It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='sed -e s/^X//' +[sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'] + +# Same as above, but do not quote variable references. +[double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g'] + +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + +# Constants: +rm="rm -f" + +# Global variables: +default_ofile=libtool +can_build_shared=yes + +# All known linkers require a `.a' archive for static linking (except M$VC, +# which needs '.lib'). +libext=a +ltmain="$ac_aux_dir/ltmain.sh" +ofile="$default_ofile" +with_gnu_ld="$lt_cv_prog_gnu_ld" +need_locks="$enable_libtool_lock" + +old_CC="$CC" +old_CFLAGS="$CFLAGS" + +# Set sane defaults for various variables +test -z "$AR" && AR=ar +test -z "$AR_FLAGS" && AR_FLAGS=cru +test -z "$AS" && AS=as +test -z "$CC" && CC=cc +test -z "$DLLTOOL" && DLLTOOL=dlltool +test -z "$LD" && LD=ld +test -z "$LN_S" && LN_S="ln -s" +test -z "$MAGIC_CMD" && MAGIC_CMD=file +test -z "$NM" && NM=nm +test -z "$OBJDUMP" && OBJDUMP=objdump +test -z "$RANLIB" && RANLIB=: +test -z "$STRIP" && STRIP=: +test -z "$ac_objext" && ac_objext=o + +if test x"$host" != x"$build"; then +  ac_tool_prefix=${host_alias}- +else +  ac_tool_prefix= +fi + +# Transform linux* to *-*-linux-gnu*, to support old configure scripts. +case $host_os in +linux-gnu*) ;; +linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'` +esac + +case $host_os in +aix3*) +  # AIX sometimes has problems with the GCC collect2 program.  For some +  # reason, if we set the COLLECT_NAMES environment variable, the problems +  # vanish in a puff of smoke. +  if test "X${COLLECT_NAMES+set}" != Xset; then +    COLLECT_NAMES= +    export COLLECT_NAMES +  fi +  ;; +esac + +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then +  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" +  old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds" +fi + +# Allow CC to be a program name with arguments. +set dummy $CC +compiler="[$]2" + +AC_MSG_CHECKING([for objdir]) +rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then +  objdir=.libs +else +  # MS-DOS does not allow filenames that begin with a dot. +  objdir=_libs +fi +rmdir .libs 2>/dev/null +AC_MSG_RESULT($objdir) + + +AC_ARG_WITH(pic,  +[  --with-pic              try to use only PIC/non-PIC objects [default=use both]], +pic_mode="$withval", pic_mode=default) +test -z "$pic_mode" && pic_mode=default + +# We assume here that the value for lt_cv_prog_cc_pic will not be cached +# in isolation, and that seeing it set (from the cache) indicates that +# the associated values are set (in the cache) correctly too. +AC_MSG_CHECKING([for $compiler option to produce PIC]) +AC_CACHE_VAL(lt_cv_prog_cc_pic, +[ lt_cv_prog_cc_pic= +  lt_cv_prog_cc_shlib= +  lt_cv_prog_cc_wl= +  lt_cv_prog_cc_static= +  lt_cv_prog_cc_no_builtin= +  lt_cv_prog_cc_can_build_shared=$can_build_shared + +  if test "$GCC" = yes; then +    lt_cv_prog_cc_wl='-Wl,' +    lt_cv_prog_cc_static='-static' + +    case $host_os in +    aix*) +      # Below there is a dirty hack to force normal static linking with -ldl +      # The problem is because libdl dynamically linked with both libc and +      # libC (AIX C++ library), which obviously doesn't included in libraries +      # list by gcc. This cause undefined symbols with -static flags. +      # This hack allows C programs to be linked with "-static -ldl", but +      # we not sure about C++ programs. +      lt_cv_prog_cc_static="$lt_cv_prog_cc_static ${lt_cv_prog_cc_wl}-lC" +      ;; +    amigaos*) +      # FIXME: we need at least 68020 code to build shared libraries, but +      # adding the `-m68020' flag to GCC prevents building anything better, +      # like `-m68040'. +      lt_cv_prog_cc_pic='-m68020 -resident32 -malways-restore-a4' +      ;; +    beos* | irix5* | irix6* | osf3* | osf4* | osf5*) +      # PIC is the default for these OSes. +      ;; +    darwin* | rhapsody*) +      # PIC is the default on this platform +      # Common symbols not allowed in MH_DYLIB files +      lt_cv_prog_cc_pic='-fno-common' +      ;; +    cygwin* | mingw* | pw32* | os2*) +      # This hack is so that the source file can tell whether it is being +      # built for inclusion in a dll (and should export symbols for example). +      lt_cv_prog_cc_pic='-DDLL_EXPORT' +      ;; +    sysv4*MP*) +      if test -d /usr/nec; then +	 lt_cv_prog_cc_pic=-Kconform_pic +      fi +      ;; +    *) +      lt_cv_prog_cc_pic='-fPIC' +      ;; +    esac +  else +    # PORTME Check for PIC flags for the system compiler. +    case $host_os in +    aix3* | aix4* | aix5*) +      # All AIX code is PIC. +      if test "$host_cpu" = ia64; then +        # AIX 5 now supports IA64 processor +        lt_cv_prog_cc_static='-Bstatic' +        lt_cv_prog_cc_wl='-Wl,' +      else +        lt_cv_prog_cc_static='-bnso -bI:/lib/syscalls.exp' +      fi +      ;; + +    hpux9* | hpux10* | hpux11*) +      # Is there a better lt_cv_prog_cc_static that works with the bundled CC? +      lt_cv_prog_cc_wl='-Wl,' +      lt_cv_prog_cc_static="${lt_cv_prog_cc_wl}-a ${lt_cv_prog_cc_wl}archive" +      lt_cv_prog_cc_pic='+Z' +      ;; + +    irix5* | irix6*) +      lt_cv_prog_cc_wl='-Wl,' +      lt_cv_prog_cc_static='-non_shared' +      # PIC (with -KPIC) is the default. +      ;; + +    cygwin* | mingw* | pw32* | os2*) +      # This hack is so that the source file can tell whether it is being +      # built for inclusion in a dll (and should export symbols for example). +      lt_cv_prog_cc_pic='-DDLL_EXPORT' +      ;; + +    newsos6) +      lt_cv_prog_cc_pic='-KPIC' +      lt_cv_prog_cc_static='-Bstatic' +      ;; + +    osf3* | osf4* | osf5*) +      # All OSF/1 code is PIC. +      lt_cv_prog_cc_wl='-Wl,' +      lt_cv_prog_cc_static='-non_shared' +      ;; + +    sco3.2v5*) +      lt_cv_prog_cc_pic='-Kpic' +      lt_cv_prog_cc_static='-dn' +      lt_cv_prog_cc_shlib='-belf' +      ;; + +    solaris*) +      lt_cv_prog_cc_pic='-KPIC' +      lt_cv_prog_cc_static='-Bstatic' +      lt_cv_prog_cc_wl='-Wl,' +      ;; + +    sunos4*) +      lt_cv_prog_cc_pic='-PIC' +      lt_cv_prog_cc_static='-Bstatic' +      lt_cv_prog_cc_wl='-Qoption ld ' +      ;; + +    sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) +      lt_cv_prog_cc_pic='-KPIC' +      lt_cv_prog_cc_static='-Bstatic' +      if test "x$host_vendor" = xsni; then +        lt_cv_prog_cc_wl='-LD' +      else +        lt_cv_prog_cc_wl='-Wl,' +      fi +      ;; + +    uts4*) +      lt_cv_prog_cc_pic='-pic' +      lt_cv_prog_cc_static='-Bstatic' +      ;; + +    sysv4*MP*) +      if test -d /usr/nec ;then +	lt_cv_prog_cc_pic='-Kconform_pic' +	lt_cv_prog_cc_static='-Bstatic' +      fi +      ;; + +    *) +      lt_cv_prog_cc_can_build_shared=no +      ;; +    esac +  fi +]) +if test -z "$lt_cv_prog_cc_pic"; then +  AC_MSG_RESULT([none]) +else +  AC_MSG_RESULT([$lt_cv_prog_cc_pic]) + +  # Check to make sure the pic_flag actually works. +  AC_MSG_CHECKING([if $compiler PIC flag $lt_cv_prog_cc_pic works]) +  AC_CACHE_VAL(lt_cv_prog_cc_pic_works, [dnl +    save_CFLAGS="$CFLAGS" +    CFLAGS="$CFLAGS $lt_cv_prog_cc_pic -DPIC" +    AC_TRY_COMPILE([], [], [dnl +      case $host_os in +      hpux9* | hpux10* | hpux11*) +	# On HP-UX, both CC and GCC only warn that PIC is supported... then +	# they create non-PIC objects.  So, if there were any warnings, we +	# assume that PIC is not supported. +	if test -s conftest.err; then +	  lt_cv_prog_cc_pic_works=no +	else +	  lt_cv_prog_cc_pic_works=yes +	fi +	;; +      *) +	lt_cv_prog_cc_pic_works=yes +	;; +      esac +    ], [dnl +      lt_cv_prog_cc_pic_works=no +    ]) +    CFLAGS="$save_CFLAGS" +  ]) + +  if test "X$lt_cv_prog_cc_pic_works" = Xno; then +    lt_cv_prog_cc_pic= +    lt_cv_prog_cc_can_build_shared=no +  else +    lt_cv_prog_cc_pic=" $lt_cv_prog_cc_pic" +  fi + +  AC_MSG_RESULT([$lt_cv_prog_cc_pic_works]) +fi + +# Check for any special shared library compilation flags. +if test -n "$lt_cv_prog_cc_shlib"; then +  AC_MSG_WARN([\`$CC' requires \`$lt_cv_prog_cc_shlib' to build shared libraries]) +  if echo "$old_CC $old_CFLAGS " | [egrep -e "[ 	]$lt_cv_prog_cc_shlib[ 	]"] >/dev/null; then : +  else +   AC_MSG_WARN([add \`$lt_cv_prog_cc_shlib' to the CC or CFLAGS env variable and reconfigure]) +    lt_cv_prog_cc_can_build_shared=no +  fi +fi + +AC_MSG_CHECKING([if $compiler static flag $lt_cv_prog_cc_static works]) +AC_CACHE_VAL([lt_cv_prog_cc_static_works], [dnl +  lt_cv_prog_cc_static_works=no +  save_LDFLAGS="$LDFLAGS" +  LDFLAGS="$LDFLAGS $lt_cv_prog_cc_static" +  AC_TRY_LINK([], [], [lt_cv_prog_cc_static_works=yes]) +  LDFLAGS="$save_LDFLAGS" +]) + +# Belt *and* braces to stop my trousers falling down: +test "X$lt_cv_prog_cc_static_works" = Xno && lt_cv_prog_cc_static= +AC_MSG_RESULT([$lt_cv_prog_cc_static_works]) + +pic_flag="$lt_cv_prog_cc_pic" +special_shlib_compile_flags="$lt_cv_prog_cc_shlib" +wl="$lt_cv_prog_cc_wl" +link_static_flag="$lt_cv_prog_cc_static" +no_builtin_flag="$lt_cv_prog_cc_no_builtin" +can_build_shared="$lt_cv_prog_cc_can_build_shared" + + +# Check to see if options -o and -c are simultaneously supported by compiler +AC_MSG_CHECKING([if $compiler supports -c -o file.$ac_objext]) +AC_CACHE_VAL([lt_cv_compiler_c_o], [ +$rm -r conftest 2>/dev/null +mkdir conftest +cd conftest +echo "int some_variable = 0;" > conftest.$ac_ext +mkdir out +# According to Tom Tromey, Ian Lance Taylor reported there are C compilers +# that will create temporary files in the current directory regardless of +# the output directory.  Thus, making CWD read-only will cause this test +# to fail, enabling locking or at least warning the user not to do parallel +# builds. +chmod -w . +save_CFLAGS="$CFLAGS" +CFLAGS="$CFLAGS -o out/conftest2.$ac_objext" +compiler_c_o=no +if { (eval echo configure:__oline__: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>out/conftest.err; } && test -s out/conftest2.$ac_objext; then +  # The compiler can only warn and ignore the option if not recognized +  # So say no if there are warnings +  if test -s out/conftest.err; then +    lt_cv_compiler_c_o=no +  else +    lt_cv_compiler_c_o=yes +  fi +else +  # Append any errors to the config.log. +  cat out/conftest.err 1>&AC_FD_CC +  lt_cv_compiler_c_o=no +fi +CFLAGS="$save_CFLAGS" +chmod u+w . +$rm conftest* out/* +rmdir out +cd .. +rmdir conftest +$rm -r conftest 2>/dev/null +]) +compiler_c_o=$lt_cv_compiler_c_o +AC_MSG_RESULT([$compiler_c_o]) + +if test x"$compiler_c_o" = x"yes"; then +  # Check to see if we can write to a .lo +  AC_MSG_CHECKING([if $compiler supports -c -o file.lo]) +  AC_CACHE_VAL([lt_cv_compiler_o_lo], [ +  lt_cv_compiler_o_lo=no +  save_CFLAGS="$CFLAGS" +  CFLAGS="$CFLAGS -c -o conftest.lo" +  AC_TRY_COMPILE([], [int some_variable = 0;], [dnl +    # The compiler can only warn and ignore the option if not recognized +    # So say no if there are warnings +    if test -s conftest.err; then +      lt_cv_compiler_o_lo=no +    else +      lt_cv_compiler_o_lo=yes +    fi +  ]) +  CFLAGS="$save_CFLAGS" +  ]) +  compiler_o_lo=$lt_cv_compiler_o_lo +  AC_MSG_RESULT([$compiler_o_lo]) +else +  compiler_o_lo=no +fi + +# Check to see if we can do hard links to lock some files if needed +hard_links="nottested" +if test "$compiler_c_o" = no && test "$need_locks" != no; then +  # do not overwrite the value of need_locks provided by the user +  AC_MSG_CHECKING([if we can lock with hard links]) +  hard_links=yes +  $rm conftest* +  ln conftest.a conftest.b 2>/dev/null && hard_links=no +  touch conftest.a +  ln conftest.a conftest.b 2>&5 || hard_links=no +  ln conftest.a conftest.b 2>/dev/null && hard_links=no +  AC_MSG_RESULT([$hard_links]) +  if test "$hard_links" = no; then +    AC_MSG_WARN([\`$CC' does not support \`-c -o', so \`make -j' may be unsafe]) +    need_locks=warn +  fi +else +  need_locks=no +fi + +if test "$GCC" = yes; then +  # Check to see if options -fno-rtti -fno-exceptions are supported by compiler +  AC_MSG_CHECKING([if $compiler supports -fno-rtti -fno-exceptions]) +  echo "int some_variable = 0;" > conftest.$ac_ext +  save_CFLAGS="$CFLAGS" +  CFLAGS="$CFLAGS -fno-rtti -fno-exceptions -c conftest.$ac_ext" +  compiler_rtti_exceptions=no +  AC_TRY_COMPILE([], [int some_variable = 0;], [dnl +    # The compiler can only warn and ignore the option if not recognized +    # So say no if there are warnings +    if test -s conftest.err; then +      compiler_rtti_exceptions=no +    else +      compiler_rtti_exceptions=yes +    fi +  ]) +  CFLAGS="$save_CFLAGS" +  AC_MSG_RESULT([$compiler_rtti_exceptions]) + +  if test "$compiler_rtti_exceptions" = "yes"; then +    no_builtin_flag=' -fno-builtin -fno-rtti -fno-exceptions' +  else +    no_builtin_flag=' -fno-builtin' +  fi +fi + +# See if the linker supports building shared libraries. +AC_MSG_CHECKING([whether the linker ($LD) supports shared libraries]) + +allow_undefined_flag= +no_undefined_flag= +need_lib_prefix=unknown +need_version=unknown +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +archive_cmds= +archive_expsym_cmds= +old_archive_from_new_cmds= +old_archive_from_expsyms_cmds= +export_dynamic_flag_spec= +whole_archive_flag_spec= +thread_safe_flag_spec= +hardcode_into_libs=no +hardcode_libdir_flag_spec= +hardcode_libdir_separator= +hardcode_direct=no +hardcode_minus_L=no +hardcode_shlibpath_var=unsupported +runpath_var= +link_all_deplibs=unknown +always_export_symbols=no +export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | sed '\''s/.* //'\'' | sort | uniq > $export_symbols' +# include_expsyms should be a list of space-separated symbols to be *always* +# included in the symbol list +include_expsyms= +# exclude_expsyms can be an egrep regular expression of symbols to exclude +# it will be wrapped by ` (' and `)$', so one must not match beginning or +# end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', +# as well as any symbol that contains `d'. +exclude_expsyms="_GLOBAL_OFFSET_TABLE_" +# Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out +# platforms (ab)use it in PIC code, but their linkers get confused if +# the symbol is explicitly referenced.  Since portable code cannot +# rely on this symbol name, it's probably fine to never include it in +# preloaded symbol tables. +extract_expsyms_cmds= + +case $host_os in +cygwin* | mingw* | pw32* ) +  # FIXME: the MSVC++ port hasn't been tested in a loooong time +  # When not using gcc, we currently assume that we are using +  # Microsoft Visual C++. +  if test "$GCC" != yes; then +    with_gnu_ld=no +  fi +  ;; + +esac + +ld_shlibs=yes +if test "$with_gnu_ld" = yes; then +  # If archive_cmds runs LD, not CC, wlarc should be empty +  wlarc='${wl}' + +  # See if GNU ld supports shared libraries. +  case $host_os in +  aix3* | aix4* | aix5*) +    # On AIX, the GNU linker is very broken +    # Note:Check GNU linker on AIX 5-IA64 when/if it becomes available. +    ld_shlibs=no +    cat <<EOF 1>&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support.  If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF +    ;; + +  amigaos*) +    archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' +    hardcode_libdir_flag_spec='-L$libdir' +    hardcode_minus_L=yes + +    # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports +    # that the semantics of dynamic libraries on AmigaOS, at least up +    # to version 4, is to share data among multiple programs linked +    # with the same dynamic library.  Since this doesn't match the +    # behavior of shared libraries on other platforms, we can use +    # them. +    ld_shlibs=no +    ;; + +  beos*) +    if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then +      allow_undefined_flag=unsupported +      # Joseph Beckenbach <jrb3@best.com> says some releases of gcc +      # support --undefined.  This deserves some investigation.  FIXME +      archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' +    else +      ld_shlibs=no +    fi +    ;; + +  cygwin* | mingw* | pw32*) +    # hardcode_libdir_flag_spec is actually meaningless, as there is +    # no search path for DLLs. +    hardcode_libdir_flag_spec='-L$libdir' +    allow_undefined_flag=unsupported +    always_export_symbols=yes + +    extract_expsyms_cmds='test -f $output_objdir/impgen.c || \ +      sed -e "/^# \/\* impgen\.c starts here \*\//,/^# \/\* impgen.c ends here \*\// { s/^# //;s/^# *$//; p; }" -e d < $''0 > $output_objdir/impgen.c~ +      test -f $output_objdir/impgen.exe || (cd $output_objdir && \ +      if test "x$HOST_CC" != "x" ; then $HOST_CC -o impgen impgen.c ; \ +      else $CC -o impgen impgen.c ; fi)~ +      $output_objdir/impgen $dir/$soroot > $output_objdir/$soname-def' + +    old_archive_from_expsyms_cmds='$DLLTOOL --as=$AS --dllname $soname --def $output_objdir/$soname-def --output-lib $output_objdir/$newlib' + +    # cygwin and mingw dlls have different entry points and sets of symbols +    # to exclude. +    # FIXME: what about values for MSVC? +    dll_entry=__cygwin_dll_entry@12 +    dll_exclude_symbols=DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12~ +    case $host_os in +    mingw*) +      # mingw values +      dll_entry=_DllMainCRTStartup@12 +      dll_exclude_symbols=DllMain@12,DllMainCRTStartup@12,DllEntryPoint@12~ +      ;; +    esac + +    # mingw and cygwin differ, and it's simplest to just exclude the union +    # of the two symbol sets. +    dll_exclude_symbols=DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12,DllMainCRTStartup@12,DllEntryPoint@12 + +    # recent cygwin and mingw systems supply a stub DllMain which the user +    # can override, but on older systems we have to supply one (in ltdll.c) +    if test "x$lt_cv_need_dllmain" = "xyes"; then +      ltdll_obj='$output_objdir/$soname-ltdll.'"$ac_objext " +      ltdll_cmds='test -f $output_objdir/$soname-ltdll.c || sed -e "/^# \/\* ltdll\.c starts here \*\//,/^# \/\* ltdll.c ends here \*\// { s/^# //; p; }" -e d < [$]0 > $output_objdir/$soname-ltdll.c~ +	test -f $output_objdir/$soname-ltdll.$ac_objext || (cd $output_objdir && $CC -c $soname-ltdll.c)~' +    else +      ltdll_obj= +      ltdll_cmds= +    fi + +    # Extract the symbol export list from an `--export-all' def file, +    # then regenerate the def file from the symbol export list, so that +    # the compiled dll only exports the symbol export list. +    # Be careful not to strip the DATA tag left be newer dlltools. +    export_symbols_cmds="$ltdll_cmds"' +      $DLLTOOL --export-all --exclude-symbols '$dll_exclude_symbols' --output-def $output_objdir/$soname-def '$ltdll_obj'$libobjs $convenience~ +      [sed -e "1,/EXPORTS/d" -e "s/ @ [0-9]*//" -e "s/ *;.*$//"] < $output_objdir/$soname-def > $export_symbols' + +    # If the export-symbols file already is a .def file (1st line +    # is EXPORTS), use it as is. +    # If DATA tags from a recent dlltool are present, honour them! +    archive_expsym_cmds='if test "x`head -1 $export_symbols`" = xEXPORTS; then +        cp $export_symbols $output_objdir/$soname-def; +      else +        echo EXPORTS > $output_objdir/$soname-def; +        _lt_hint=1; +        cat $export_symbols | while read symbol; do +         set dummy \$symbol; +         case \[$]# in +           2) echo "   \[$]2 @ \$_lt_hint ; " >> $output_objdir/$soname-def;; +           *) echo "     \[$]2 @ \$_lt_hint \[$]3 ; " >> $output_objdir/$soname-def;; +         esac; +         _lt_hint=`expr 1 + \$_lt_hint`; +        done; +      fi~ +      '"$ltdll_cmds"' +      $CC -Wl,--base-file,$output_objdir/$soname-base '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags~ +      $DLLTOOL --as=$AS --dllname $soname --exclude-symbols '$dll_exclude_symbols' --def $output_objdir/$soname-def --base-file $output_objdir/$soname-base --output-exp $output_objdir/$soname-exp~ +      $CC -Wl,--base-file,$output_objdir/$soname-base $output_objdir/$soname-exp '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags~ +      $DLLTOOL --as=$AS --dllname $soname --exclude-symbols '$dll_exclude_symbols' --def $output_objdir/$soname-def --base-file $output_objdir/$soname-base --output-exp $output_objdir/$soname-exp --output-lib $output_objdir/$libname.dll.a~ +      $CC $output_objdir/$soname-exp '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags' +    ;; + +  netbsd*) +    if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then +      archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' +      wlarc= +    else +      archive_cmds='$CC -shared -nodefaultlibs $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' +      archive_expsym_cmds='$CC -shared -nodefaultlibs $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' +    fi +    ;; + +  solaris* | sysv5*) +    if $LD -v 2>&1 | egrep 'BFD 2\.8' > /dev/null; then +      ld_shlibs=no +      cat <<EOF 1>&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems.  Therefore, libtool +*** is disabling shared libraries support.  We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer.  Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF +    elif $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then +      archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' +      archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' +    else +      ld_shlibs=no +    fi +    ;; + +  sunos4*) +    archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' +    wlarc= +    hardcode_direct=yes +    hardcode_shlibpath_var=no +    ;; + +  *) +    if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then +      archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' +      archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' +    else +      ld_shlibs=no +    fi +    ;; +  esac + +  if test "$ld_shlibs" = yes; then +    runpath_var=LD_RUN_PATH +    hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir' +    export_dynamic_flag_spec='${wl}--export-dynamic' +    case $host_os in +    cygwin* | mingw* | pw32*) +      # dlltool doesn't understand --whole-archive et. al. +      whole_archive_flag_spec= +      ;; +    *) +      # ancient GNU ld didn't support --whole-archive et. al. +      if $LD --help 2>&1 | egrep 'no-whole-archive' > /dev/null; then +	whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' +      else +	whole_archive_flag_spec= +      fi +      ;; +    esac +  fi +else +  # PORTME fill in a description of your system's linker (not GNU ld) +  case $host_os in +  aix3*) +    allow_undefined_flag=unsupported +    always_export_symbols=yes +    archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' +    # Note: this linker hardcodes the directories in LIBPATH if there +    # are no directories specified by -L. +    hardcode_minus_L=yes +    if test "$GCC" = yes && test -z "$link_static_flag"; then +      # Neither direct hardcoding nor static linking is supported with a +      # broken collect2. +      hardcode_direct=unsupported +    fi +    ;; + +  aix4* | aix5*) +    # When large executables or shared objects are built, AIX ld can +    # have problems creating the table of contents.  If linking a library +    # or program results in "error TOC overflow" add -mminimal-toc to +    # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not +    # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + +    archive_cmds='' +    hardcode_libdir_separator=':' +    if test "$GCC" = yes; then +      collect2name=`${CC} -print-prog-name=collect2` +      if test -f "$collect2name" && \ +	 strings "$collect2name" | grep resolve_lib_name >/dev/null +      then +	# We have reworked collect2 +	hardcode_direct=yes +      else +        # We have old collect2 +        hardcode_direct=unsupported +        # It fails to find uninstalled libraries when the uninstalled +        # path is not listed in the libpath.  Setting hardcode_minus_L +        # to unsupported forces relinking +        hardcode_minus_L=yes +        hardcode_libdir_flag_spec='-L$libdir' +        hardcode_libdir_separator= +      fi +      shared_flag='-shared' +    else +      if test "$host_cpu" = ia64; then +        shared_flag='-G' +      else +        shared_flag='${wl}-bM:SRE' +      fi +      hardcode_direct=yes +    fi + +    if test "$host_cpu" = ia64; then +      # On IA64, the linker does run time linking by default, so we don't +      # have to do anything special. +      aix_use_runtimelinking=no +      exp_sym_flag='-Bexport' +      no_entry_flag="" +    else +      # Test if we are trying to use run time linking, or normal AIX style linking. +      # If -brtl is somewhere in LDFLAGS, we need to do run time linking. +      aix_use_runtimelinking=no +      for ld_flag in $LDFLAGS; do +        if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl" ); then +          aix_use_runtimelinking=yes +          break +        fi +      done +      exp_sym_flag='-bexport' +      no_entry_flag='-bnoentry' +    fi +    # It seems that -bexpall can do strange things, so it is better to +    # generate a list of symbols to export. +    always_export_symbols=yes +    if test "$aix_use_runtimelinking" = yes; then +      hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:/usr/lib:/lib' +      allow_undefined_flag=' -Wl,-G' +      archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols" +    else +      if test "$host_cpu" = ia64; then +        hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' +       allow_undefined_flag="-znodefs" +        archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname ${wl}-h$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols" +      else +        hardcode_libdir_flag_spec='${wl}-bnolibpath ${wl}-blibpath:$libdir:/usr/lib:/lib' +        # Warning - without using the other run time loading flags, -berok will +        #           link without error, but may produce a broken library. +        allow_undefined_flag='${wl}-berok' +        # This is a bit strange, but is similar to how AIX traditionally builds +        # it's shared libraries. +        archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"' ~$AR -crlo $objdir/$libname$release.a $objdir/$soname' +      fi +    fi +    ;; + +  amigaos*) +    archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' +    hardcode_libdir_flag_spec='-L$libdir' +    hardcode_minus_L=yes +    # see comment about different semantics on the GNU ld section +    ld_shlibs=no +    ;; + +  cygwin* | mingw* | pw32*) +    # When not using gcc, we currently assume that we are using +    # Microsoft Visual C++. +    # hardcode_libdir_flag_spec is actually meaningless, as there is +    # no search path for DLLs. +    hardcode_libdir_flag_spec=' ' +    allow_undefined_flag=unsupported +    # Tell ltmain to make .lib files, not .a files. +    libext=lib +    # FIXME: Setting linknames here is a bad hack. +    archive_cmds='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | sed -e '\''s/ -lc$//'\''` -link -dll~linknames=' +    # The linker will automatically build a .lib file if we build a DLL. +    old_archive_from_new_cmds='true' +    # FIXME: Should let the user specify the lib program. +    old_archive_cmds='lib /OUT:$oldlib$oldobjs$old_deplibs' +    fix_srcfile_path='`cygpath -w "$srcfile"`' +    ;; + +  darwin* | rhapsody*) +    allow_undefined_flag='-undefined suppress' +    # FIXME: Relying on posixy $() will cause problems for +    #        cross-compilation, but unfortunately the echo tests do not +    #        yet detect zsh echo's removal of \ escapes. +    archive_cmds='$CC $(test .$module = .yes && echo -bundle || echo -dynamiclib) $allow_undefined_flag -o $lib $libobjs $deplibs$linkopts -install_name $rpath/$soname $(test -n "$verstring" -a x$verstring != x0.0 && echo $verstring)' +    # We need to add '_' to the symbols in $export_symbols first +    #archive_expsym_cmds="$archive_cmds"' && strip -s $export_symbols' +    hardcode_direct=yes +    hardcode_shlibpath_var=no +    whole_archive_flag_spec='-all_load $convenience' +    ;; + +  freebsd1*) +    ld_shlibs=no +    ;; + +  # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor +  # support.  Future versions do this automatically, but an explicit c++rt0.o +  # does not break anything, and helps significantly (at the cost of a little +  # extra space). +  freebsd2.2*) +    archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' +    hardcode_libdir_flag_spec='-R$libdir' +    hardcode_direct=yes +    hardcode_shlibpath_var=no +    ;; + +  # Unfortunately, older versions of FreeBSD 2 do not have this feature. +  freebsd2*) +    archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' +    hardcode_direct=yes +    hardcode_minus_L=yes +    hardcode_shlibpath_var=no +    ;; + +  # FreeBSD 3 and greater uses gcc -shared to do shared libraries. +  freebsd*) +    archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' +    hardcode_libdir_flag_spec='-R$libdir' +    hardcode_direct=yes +    hardcode_shlibpath_var=no +    ;; + +  hpux9* | hpux10* | hpux11*) +    case $host_os in +    hpux9*) archive_cmds='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' ;; +    *) archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' ;; +    esac +    hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' +    hardcode_libdir_separator=: +    hardcode_direct=yes +    hardcode_minus_L=yes # Not in the search PATH, but as the default +			 # location of the library. +    export_dynamic_flag_spec='${wl}-E' +    ;; + +  irix5* | irix6*) +    if test "$GCC" = yes; then +      archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' +    else +      archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' +    fi +    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' +    hardcode_libdir_separator=: +    link_all_deplibs=yes +    ;; + +  netbsd*) +    if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then +      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out +    else +      archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF +    fi +    hardcode_libdir_flag_spec='-R$libdir' +    hardcode_direct=yes +    hardcode_shlibpath_var=no +    ;; + +  newsos6) +    archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts' +    hardcode_direct=yes +    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' +    hardcode_libdir_separator=: +    hardcode_shlibpath_var=no +    ;; + +  openbsd*) +    archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' +    hardcode_libdir_flag_spec='-R$libdir' +    hardcode_direct=yes +    hardcode_shlibpath_var=no +    ;; + +  os2*) +    hardcode_libdir_flag_spec='-L$libdir' +    hardcode_minus_L=yes +    allow_undefined_flag=unsupported +    archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' +    old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' +    ;; + +  osf3*) +    if test "$GCC" = yes; then +      allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' +      archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' +    else +      allow_undefined_flag=' -expect_unresolved \*' +      archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' +    fi +    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' +    hardcode_libdir_separator=: +    ;; + +  osf4* | osf5*)	# as osf3* with the addition of -msym flag +    if test "$GCC" = yes; then +      allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' +      archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' +      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' +    else +      allow_undefined_flag=' -expect_unresolved \*' +      archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' +      archive_expsym_cmds='for i in `cat $export_symbols`; do printf "-exported_symbol " >> $lib.exp; echo "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ +      $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib~$rm $lib.exp' + +      #Both c and cxx compiler support -rpath directly +      hardcode_libdir_flag_spec='-rpath $libdir' +    fi +    hardcode_libdir_separator=: +    ;; + +  sco3.2v5*) +    archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' +    hardcode_shlibpath_var=no +    runpath_var=LD_RUN_PATH +    hardcode_runpath_var=yes +    ;; + +  solaris*) +    no_undefined_flag=' -z defs' +    # $CC -shared without GNU ld will not create a library from C++ +    # object files and a static libstdc++, better avoid it by now +    archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' +    archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ +		$LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' +    hardcode_libdir_flag_spec='-R$libdir' +    hardcode_shlibpath_var=no +    case $host_os in +    [solaris2.[0-5] | solaris2.[0-5].*]) ;; +    *) # Supported since Solaris 2.6 (maybe 2.5.1?) +      whole_archive_flag_spec='-z allextract$convenience -z defaultextract' ;; +    esac +    link_all_deplibs=yes +    ;; + +  sunos4*) +    if test "x$host_vendor" = xsequent; then +      # Use $CC to link under sequent, because it throws in some extra .o +      # files that make .init and .fini sections work. +      archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' +    else +      archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' +    fi +    hardcode_libdir_flag_spec='-L$libdir' +    hardcode_direct=yes +    hardcode_minus_L=yes +    hardcode_shlibpath_var=no +    ;; + +  sysv4) +    if test "x$host_vendor" = xsno; then +      archive_cmds='$LD -G -Bsymbolic -h $soname -o $lib $libobjs $deplibs $linkopts' +      hardcode_direct=yes # is this really true??? +    else +      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' +      hardcode_direct=no #Motorola manual says yes, but my tests say they lie +    fi +    runpath_var='LD_RUN_PATH' +    hardcode_shlibpath_var=no +    ;; + +  sysv4.3*) +    archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' +    hardcode_shlibpath_var=no +    export_dynamic_flag_spec='-Bexport' +    ;; + +  sysv5*) +    no_undefined_flag=' -z text' +    # $CC -shared without GNU ld will not create a library from C++ +    # object files and a static libstdc++, better avoid it by now +    archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' +    archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ +		$LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' +    hardcode_libdir_flag_spec= +    hardcode_shlibpath_var=no +    runpath_var='LD_RUN_PATH' +    ;; + +  uts4*) +    archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' +    hardcode_libdir_flag_spec='-L$libdir' +    hardcode_shlibpath_var=no +    ;; + +  dgux*) +    archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' +    hardcode_libdir_flag_spec='-L$libdir' +    hardcode_shlibpath_var=no +    ;; + +  sysv4*MP*) +    if test -d /usr/nec; then +      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' +      hardcode_shlibpath_var=no +      runpath_var=LD_RUN_PATH +      hardcode_runpath_var=yes +      ld_shlibs=yes +    fi +    ;; + +  sysv4.2uw2*) +    archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' +    hardcode_direct=yes +    hardcode_minus_L=no +    hardcode_shlibpath_var=no +    hardcode_runpath_var=yes +    runpath_var=LD_RUN_PATH +    ;; + +  sysv5uw7* | unixware7*) +    no_undefined_flag='${wl}-z ${wl}text' +    if test "$GCC" = yes; then +      archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' +    else +      archive_cmds='$CC -G ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' +    fi +    runpath_var='LD_RUN_PATH' +    hardcode_shlibpath_var=no +    ;; + +  *) +    ld_shlibs=no +    ;; +  esac +fi +AC_MSG_RESULT([$ld_shlibs]) +test "$ld_shlibs" = no && can_build_shared=no + +# Check hardcoding attributes. +AC_MSG_CHECKING([how to hardcode library paths into programs]) +hardcode_action= +if test -n "$hardcode_libdir_flag_spec" || \ +   test -n "$runpath_var"; then + +  # We can hardcode non-existant directories. +  if test "$hardcode_direct" != no && +     # If the only mechanism to avoid hardcoding is shlibpath_var, we +     # have to relink, otherwise we might link with an installed library +     # when we should be linking with a yet-to-be-installed one +     ## test "$hardcode_shlibpath_var" != no && +     test "$hardcode_minus_L" != no; then +    # Linking always hardcodes the temporary library directory. +    hardcode_action=relink +  else +    # We can link without hardcoding, and we can hardcode nonexisting dirs. +    hardcode_action=immediate +  fi +else +  # We cannot hardcode anything, or else we can only hardcode existing +  # directories. +  hardcode_action=unsupported +fi +AC_MSG_RESULT([$hardcode_action]) + +striplib= +old_striplib= +AC_MSG_CHECKING([whether stripping libraries is possible]) +if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then +  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" +  test -z "$striplib" && striplib="$STRIP --strip-unneeded" +  AC_MSG_RESULT([yes]) +else +  AC_MSG_RESULT([no]) +fi + +reload_cmds='$LD$reload_flag -o $output$reload_objs' +test -z "$deplibs_check_method" && deplibs_check_method=unknown + +# PORTME Fill in your ld.so characteristics +AC_MSG_CHECKING([dynamic linker characteristics]) +library_names_spec= +libname_spec='lib$name' +soname_spec= +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" + +case $host_os in +aix3*) +  version_type=linux +  library_names_spec='${libname}${release}.so$versuffix $libname.a' +  shlibpath_var=LIBPATH + +  # AIX has no versioning support, so we append a major version to the name. +  soname_spec='${libname}${release}.so$major' +  ;; + +aix4* | aix5*) +  version_type=linux +  if test "$host_cpu" = ia64; then +    # AIX 5 supports IA64 +    library_names_spec='${libname}${release}.so$major ${libname}${release}.so$versuffix $libname.so' +    shlibpath_var=LD_LIBRARY_PATH +  else +    # With GCC up to 2.95.x, collect2 would create an import file +    # for dependence libraries.  The import file would start with +    # the line `#! .'.  This would cause the generated library to +    # depend on `.', always an invalid library.  This was fixed in +    # development snapshots of GCC prior to 3.0. +    case $host_os in +      [ aix4 | aix4.[01] | aix4.[01].*)] +      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' +           echo ' yes ' +           echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then +        : +      else +        can_build_shared=no +      fi +      ;; +    esac +    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct +    # soname into executable. Probably we can add versioning support to +    # collect2, so additional links can be useful in future. +    if test "$aix_use_runtimelinking" = yes; then +      # If using run time linking (on AIX 4.2 or later) use lib<name>.so instead of +      # lib<name>.a to let people know that these are not typical AIX shared libraries. +      library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' +    else +      # We preserve .a as extension for shared libraries through AIX4.2 +      # and later when we are not doing run time linking. +      library_names_spec='${libname}${release}.a $libname.a' +      soname_spec='${libname}${release}.so$major' +    fi +    shlibpath_var=LIBPATH +    deplibs_check_method=pass_all +  fi +  ;; + +amigaos*) +  library_names_spec='$libname.ixlibrary $libname.a' +  # Create ${libname}_ixlibrary.a entries in /sys/libs. +  finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | [$Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\'']`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "(cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a)"; (cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a) || exit 1; done' +  ;; + +beos*) +  library_names_spec='${libname}.so' +  dynamic_linker="$host_os ld.so" +  shlibpath_var=LIBRARY_PATH +  ;; + +bsdi4*) +  version_type=linux +  need_version=no +  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' +  soname_spec='${libname}${release}.so$major' +  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' +  shlibpath_var=LD_LIBRARY_PATH +  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" +  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" +  export_dynamic_flag_spec=-rdynamic +  # the default ld.so.conf also contains /usr/contrib/lib and +  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow +  # libtool to hard-code these into programs +  ;; + +cygwin* | mingw* | pw32*) +  version_type=windows +  need_version=no +  need_lib_prefix=no +  case $GCC,$host_os in +  yes,cygwin*) +    library_names_spec='$libname.dll.a' +    soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | [sed -e 's/[.]/-/g']`${versuffix}.dll' +    postinstall_cmds='dlpath=`bash 2>&1 -c '\''. $dir/${file}i;echo \$dlname'\''`~ +      dldir=$destdir/`dirname \$dlpath`~ +      test -d \$dldir || mkdir -p \$dldir~ +      $install_prog .libs/$dlname \$dldir/$dlname' +    postuninstall_cmds='dldll=`bash 2>&1 -c '\''. $file; echo \$dlname'\''`~ +      dlpath=$dir/\$dldll~ +       $rm \$dlpath' +    ;; +  yes,mingw*) +    library_names_spec='${libname}`echo ${release} | [sed -e 's/[.]/-/g']`${versuffix}.dll' +    sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | sed -e "s/^libraries://" -e "s/;/ /g"` +    ;; +  yes,pw32*) +    library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll' +    ;; +  *) +    library_names_spec='${libname}`echo ${release} | [sed -e 's/[.]/-/g']`${versuffix}.dll $libname.lib' +    ;; +  esac +  dynamic_linker='Win32 ld.exe' +  # FIXME: first we should search . and the directory the executable is in +  shlibpath_var=PATH +  ;; + +darwin* | rhapsody*) +  dynamic_linker="$host_os dyld" +  version_type=darwin +  need_lib_prefix=no +  need_version=no +  # FIXME: Relying on posixy $() will cause problems for +  #        cross-compilation, but unfortunately the echo tests do not +  #        yet detect zsh echo's removal of \ escapes. +  library_names_spec='${libname}${release}${versuffix}.$(test .$module = .yes && echo so || echo dylib) ${libname}${release}${major}.$(test .$module = .yes && echo so || echo dylib) ${libname}.$(test .$module = .yes && echo so || echo dylib)' +  soname_spec='${libname}${release}${major}.$(test .$module = .yes && echo so || echo dylib)' +  shlibpath_overrides_runpath=yes +  shlibpath_var=DYLD_LIBRARY_PATH +  ;; + +freebsd1*) +  dynamic_linker=no +  ;; + +freebsd*) +  objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` +  version_type=freebsd-$objformat +  case $version_type in +    freebsd-elf*) +      library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so' +      need_version=no +      need_lib_prefix=no +      ;; +    freebsd-*) +      library_names_spec='${libname}${release}.so$versuffix $libname.so$versuffix' +      need_version=yes +      ;; +  esac +  shlibpath_var=LD_LIBRARY_PATH +  case $host_os in +  freebsd2*) +    shlibpath_overrides_runpath=yes +    ;; +  *) +    shlibpath_overrides_runpath=no +    hardcode_into_libs=yes +    ;; +  esac +  ;; + +gnu*) +  version_type=linux +  need_lib_prefix=no +  need_version=no +  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so${major} ${libname}.so' +  soname_spec='${libname}${release}.so$major' +  shlibpath_var=LD_LIBRARY_PATH +  hardcode_into_libs=yes +  ;; + +hpux9* | hpux10* | hpux11*) +  # Give a soname corresponding to the major version so that dld.sl refuses to +  # link against other versions. +  dynamic_linker="$host_os dld.sl" +  version_type=sunos +  need_lib_prefix=no +  need_version=no +  shlibpath_var=SHLIB_PATH +  shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH +  library_names_spec='${libname}${release}.sl$versuffix ${libname}${release}.sl$major $libname.sl' +  soname_spec='${libname}${release}.sl$major' +  # HP-UX runs *really* slowly unless shared libraries are mode 555. +  postinstall_cmds='chmod 555 $lib' +  ;; + +irix5* | irix6*) +  version_type=irix +  need_lib_prefix=no +  need_version=no +  soname_spec='${libname}${release}.so$major' +  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}${release}.so $libname.so' +  case $host_os in +  irix5*) +    libsuff= shlibsuff= +    ;; +  *) +    case $LD in # libtool.m4 will add one of these switches to LD +    *-32|*"-32 ") libsuff= shlibsuff= libmagic=32-bit;; +    *-n32|*"-n32 ") libsuff=32 shlibsuff=N32 libmagic=N32;; +    *-64|*"-64 ") libsuff=64 shlibsuff=64 libmagic=64-bit;; +    *) libsuff= shlibsuff= libmagic=never-match;; +    esac +    ;; +  esac +  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH +  shlibpath_overrides_runpath=no +  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" +  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" +  ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux-gnuoldld* | linux-gnuaout* | linux-gnucoff*) +  dynamic_linker=no +  ;; + +# This must be Linux ELF. +linux-gnu*) +  version_type=linux +  need_lib_prefix=no +  need_version=no +  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' +  soname_spec='${libname}${release}.so$major' +  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' +  shlibpath_var=LD_LIBRARY_PATH +  shlibpath_overrides_runpath=no +  # This implies no fast_install, which is unacceptable. +  # Some rework will be needed to allow for fast_install +  # before this can be enabled. +  hardcode_into_libs=yes + +  # We used to test for /lib/ld.so.1 and disable shared libraries on +  # powerpc, because MkLinux only supported shared libraries with the +  # GNU dynamic linker.  Since this was broken with cross compilers, +  # most powerpc-linux boxes support dynamic linking these days and +  # people can always --disable-shared, the test was removed, and we +  # assume the GNU/Linux dynamic linker is in use. +  dynamic_linker='GNU/Linux ld.so' +  ;; + +netbsd*) +  version_type=sunos +  need_lib_prefix=no +  need_version=no +  if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then +    library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix' +    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' +    dynamic_linker='NetBSD (a.out) ld.so' +  else +    library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}${release}.so ${libname}.so' +    soname_spec='${libname}${release}.so$major' +    dynamic_linker='NetBSD ld.elf_so' +  fi +  shlibpath_var=LD_LIBRARY_PATH +  shlibpath_overrides_runpath=yes +  hardcode_into_libs=yes +  ;; + +newsos6) +  version_type=linux +  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' +  shlibpath_var=LD_LIBRARY_PATH +  shlibpath_overrides_runpath=yes +  ;; + +openbsd*) +  version_type=sunos +  if test "$with_gnu_ld" = yes; then +    need_lib_prefix=no +    need_version=no +  fi +  library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix' +  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' +  shlibpath_var=LD_LIBRARY_PATH +  ;; + +os2*) +  libname_spec='$name' +  need_lib_prefix=no +  library_names_spec='$libname.dll $libname.a' +  dynamic_linker='OS/2 ld.exe' +  shlibpath_var=LIBPATH +  ;; + +osf3* | osf4* | osf5*) +  version_type=osf +  need_version=no +  soname_spec='${libname}${release}.so' +  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so' +  shlibpath_var=LD_LIBRARY_PATH +  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" +  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" +  ;; + +sco3.2v5*) +  version_type=osf +  soname_spec='${libname}${release}.so$major' +  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' +  shlibpath_var=LD_LIBRARY_PATH +  ;; + +solaris*) +  version_type=linux +  need_lib_prefix=no +  need_version=no +  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' +  soname_spec='${libname}${release}.so$major' +  shlibpath_var=LD_LIBRARY_PATH +  shlibpath_overrides_runpath=yes +  hardcode_into_libs=yes +  # ldd complains unless libraries are executable +  postinstall_cmds='chmod +x $lib' +  ;; + +sunos4*) +  version_type=sunos +  library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix' +  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' +  shlibpath_var=LD_LIBRARY_PATH +  shlibpath_overrides_runpath=yes +  if test "$with_gnu_ld" = yes; then +    need_lib_prefix=no +  fi +  need_version=yes +  ;; + +sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) +  version_type=linux +  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' +  soname_spec='${libname}${release}.so$major' +  shlibpath_var=LD_LIBRARY_PATH +  case $host_vendor in +    sni) +      shlibpath_overrides_runpath=no +      ;; +    motorola) +      need_lib_prefix=no +      need_version=no +      shlibpath_overrides_runpath=no +      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' +      ;; +  esac +  ;; + +uts4*) +  version_type=linux +  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' +  soname_spec='${libname}${release}.so$major' +  shlibpath_var=LD_LIBRARY_PATH +  ;; + +dgux*) +  version_type=linux +  need_lib_prefix=no +  need_version=no +  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' +  soname_spec='${libname}${release}.so$major' +  shlibpath_var=LD_LIBRARY_PATH +  ;; + +sysv4*MP*) +  if test -d /usr/nec ;then +    version_type=linux +    library_names_spec='$libname.so.$versuffix $libname.so.$major $libname.so' +    soname_spec='$libname.so.$major' +    shlibpath_var=LD_LIBRARY_PATH +  fi +  ;; + +*) +  dynamic_linker=no +  ;; +esac +AC_MSG_RESULT([$dynamic_linker]) +test "$dynamic_linker" = no && can_build_shared=no + +# Report the final consequences. +AC_MSG_CHECKING([if libtool supports shared libraries]) +AC_MSG_RESULT([$can_build_shared]) + +if test "$hardcode_action" = relink; then +  # Fast installation is not supported +  enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || +     test "$enable_shared" = no; then +  # Fast installation is not necessary +  enable_fast_install=needless +fi + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then +  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +AC_LIBTOOL_DLOPEN_SELF + +if test "$enable_shared" = yes && test "$GCC" = yes; then +  case $archive_cmds in +  *'~'*) +    # FIXME: we may have to deal with multi-command sequences. +    ;; +  '$CC '*) +    # Test whether the compiler implicitly links with -lc since on some +    # systems, -lgcc has to come before -lc. If gcc already passes -lc +    # to ld, don't add -lc before -lgcc. +    AC_MSG_CHECKING([whether -lc should be explicitly linked in]) +    AC_CACHE_VAL([lt_cv_archive_cmds_need_lc], +    [$rm conftest* +    echo 'static int dummy;' > conftest.$ac_ext + +    if AC_TRY_EVAL(ac_compile); then +      soname=conftest +      lib=conftest +      libobjs=conftest.$ac_objext +      deplibs= +      wl=$lt_cv_prog_cc_wl +      compiler_flags=-v +      linker_flags=-v +      verstring= +      output_objdir=. +      libname=conftest +      save_allow_undefined_flag=$allow_undefined_flag +      allow_undefined_flag= +      if AC_TRY_EVAL(archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) +      then +	lt_cv_archive_cmds_need_lc=no +      else +	lt_cv_archive_cmds_need_lc=yes +      fi +      allow_undefined_flag=$save_allow_undefined_flag +    else +      cat conftest.err 1>&5 +    fi]) +    AC_MSG_RESULT([$lt_cv_archive_cmds_need_lc]) +    ;; +  esac +fi +need_lc=${lt_cv_archive_cmds_need_lc-yes} + +# The second clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then +  : +else +  # If there is no Makefile yet, we rely on a make rule to execute +  # `config.status --recheck' to rerun these tests and create the +  # libtool script then. +  test -f Makefile && make "$ltmain" +fi + +if test -f "$ltmain"; then +  trap "$rm \"${ofile}T\"; exit 1" 1 2 15 +  $rm -f "${ofile}T" + +  echo creating $ofile + +  # Now quote all the things that may contain metacharacters while being +  # careful not to overquote the AC_SUBSTed values.  We take copies of the +  # variables and quote the copies for generation of the libtool script. +  for var in echo old_CC old_CFLAGS \ +    AR AR_FLAGS CC LD LN_S NM SHELL \ +    reload_flag reload_cmds wl \ +    pic_flag link_static_flag no_builtin_flag export_dynamic_flag_spec \ +    thread_safe_flag_spec whole_archive_flag_spec libname_spec \ +    library_names_spec soname_spec \ +    RANLIB old_archive_cmds old_archive_from_new_cmds old_postinstall_cmds \ +    old_postuninstall_cmds archive_cmds archive_expsym_cmds postinstall_cmds \ +    postuninstall_cmds extract_expsyms_cmds old_archive_from_expsyms_cmds \ +    old_striplib striplib file_magic_cmd export_symbols_cmds \ +    deplibs_check_method allow_undefined_flag no_undefined_flag \ +    finish_cmds finish_eval global_symbol_pipe global_symbol_to_cdecl \ +    hardcode_libdir_flag_spec hardcode_libdir_separator  \ +    sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ +    compiler_c_o compiler_o_lo need_locks exclude_expsyms include_expsyms; do + +    case $var in +    reload_cmds | old_archive_cmds | old_archive_from_new_cmds | \ +    old_postinstall_cmds | old_postuninstall_cmds | \ +    export_symbols_cmds | archive_cmds | archive_expsym_cmds | \ +    extract_expsyms_cmds | old_archive_from_expsyms_cmds | \ +    postinstall_cmds | postuninstall_cmds | \ +    finish_cmds | sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) +      # Double-quote double-evaled strings. +      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" +      ;; +    *) +      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" +      ;; +    esac +  done + +  cat <<__EOF__ > "${ofile}T" +#! $SHELL + +# `$echo "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. +# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) +# NOTE: Changes made to this file will be lost: look at ltmain.sh. +# +# Copyright (C) 1996-2000 Free Software Foundation, Inc. +# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 +# +# 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 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 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. + +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="sed -e s/^X//" + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +if test "X\${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi + +# ### BEGIN LIBTOOL CONFIG + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$need_lc + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# The default C compiler. +CC=$lt_CC + +# Is the compiler the GNU C compiler? +with_gcc=$GCC + +# The linker used to build libraries. +LD=$lt_LD + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_wl + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_pic_flag +pic_mode=$pic_mode + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_compiler_c_o + +# Can we write directly to a .lo ? +compiler_o_lo=$lt_compiler_o_lo + +# Must we lock files when doing compilation ? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_link_static_flag + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_no_builtin_flag + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names.  First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds +archive_expsym_cmds=$lt_archive_expsym_cmds +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_global_symbol_to_cdecl + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator + +# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$fix_srcfile_path" + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms + +# ### END LIBTOOL CONFIG + +__EOF__ + +  case $host_os in +  aix3*) +    cat <<\EOF >> "${ofile}T" + +# AIX sometimes has problems with the GCC collect2 program.  For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test "X${COLLECT_NAMES+set}" != Xset; then +  COLLECT_NAMES= +  export COLLECT_NAMES +fi +EOF +    ;; +  esac + +  case $host_os in +  cygwin* | mingw* | pw32* | os2*) +    cat <<'EOF' >> "${ofile}T" +      # This is a source program that is used to create dlls on Windows +      # Don't remove nor modify the starting and closing comments +# /* ltdll.c starts here */ +# #define WIN32_LEAN_AND_MEAN +# #include <windows.h> +# #undef WIN32_LEAN_AND_MEAN +# #include <stdio.h> +# +# #ifndef __CYGWIN__ +# #  ifdef __CYGWIN32__ +# #    define __CYGWIN__ __CYGWIN32__ +# #  endif +# #endif +# +# #ifdef __cplusplus +# extern "C" { +# #endif +# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved); +# #ifdef __cplusplus +# } +# #endif +# +# #ifdef __CYGWIN__ +# #include <cygwin/cygwin_dll.h> +# DECLARE_CYGWIN_DLL( DllMain ); +# #endif +# HINSTANCE __hDllInstance_base; +# +# BOOL APIENTRY +# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved) +# { +#   __hDllInstance_base = hInst; +#   return TRUE; +# } +# /* ltdll.c ends here */ +        # This is a source program that is used to create import libraries +        # on Windows for dlls which lack them. Don't remove nor modify the +        # starting and closing comments +# /* impgen.c starts here */ +# /*   Copyright (C) 1999-2000 Free Software Foundation, Inc. +# +#  This file is part of GNU libtool. +# +#  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 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +#  */ +# +# #include <stdio.h>		/* for printf() */ +# #include <unistd.h>		/* for open(), lseek(), read() */ +# #include <fcntl.h>		/* for O_RDONLY, O_BINARY */ +# #include <string.h>		/* for strdup() */ +# +# /* O_BINARY isn't required (or even defined sometimes) under Unix */ +# #ifndef O_BINARY +# #define O_BINARY 0 +# #endif +# +# static unsigned int +# pe_get16 (fd, offset) +#      int fd; +#      int offset; +# { +#   unsigned char b[2]; +#   lseek (fd, offset, SEEK_SET); +#   read (fd, b, 2); +#   return b[0] + (b[1]<<8); +# } +# +# static unsigned int +# pe_get32 (fd, offset) +#     int fd; +#     int offset; +# { +#   unsigned char b[4]; +#   lseek (fd, offset, SEEK_SET); +#   read (fd, b, 4); +#   return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24); +# } +# +# static unsigned int +# pe_as32 (ptr) +#      void *ptr; +# { +#   unsigned char *b = ptr; +#   return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24); +# } +# +# int +# main (argc, argv) +#     int argc; +#     char *argv[]; +# { +#     int dll; +#     unsigned long pe_header_offset, opthdr_ofs, num_entries, i; +#     unsigned long export_rva, export_size, nsections, secptr, expptr; +#     unsigned long name_rvas, nexp; +#     unsigned char *expdata, *erva; +#     char *filename, *dll_name; +# +#     filename = argv[1]; +# +#     dll = open(filename, O_RDONLY|O_BINARY); +#     if (dll < 1) +# 	return 1; +# +#     dll_name = filename; +# +#     for (i=0; filename[i]; i++) +# 	if (filename[i] == '/' || filename[i] == '\\'  || filename[i] == ':') +# 	    dll_name = filename + i +1; +# +#     pe_header_offset = pe_get32 (dll, 0x3c); +#     opthdr_ofs = pe_header_offset + 4 + 20; +#     num_entries = pe_get32 (dll, opthdr_ofs + 92); +# +#     if (num_entries < 1) /* no exports */ +# 	return 1; +# +#     export_rva = pe_get32 (dll, opthdr_ofs + 96); +#     export_size = pe_get32 (dll, opthdr_ofs + 100); +#     nsections = pe_get16 (dll, pe_header_offset + 4 +2); +#     secptr = (pe_header_offset + 4 + 20 + +# 	      pe_get16 (dll, pe_header_offset + 4 + 16)); +# +#     expptr = 0; +#     for (i = 0; i < nsections; i++) +#     { +# 	char sname[8]; +# 	unsigned long secptr1 = secptr + 40 * i; +# 	unsigned long vaddr = pe_get32 (dll, secptr1 + 12); +# 	unsigned long vsize = pe_get32 (dll, secptr1 + 16); +# 	unsigned long fptr = pe_get32 (dll, secptr1 + 20); +# 	lseek(dll, secptr1, SEEK_SET); +# 	read(dll, sname, 8); +# 	if (vaddr <= export_rva && vaddr+vsize > export_rva) +# 	{ +# 	    expptr = fptr + (export_rva - vaddr); +# 	    if (export_rva + export_size > vaddr + vsize) +# 		export_size = vsize - (export_rva - vaddr); +# 	    break; +# 	} +#     } +# +#     expdata = (unsigned char*)malloc(export_size); +#     lseek (dll, expptr, SEEK_SET); +#     read (dll, expdata, export_size); +#     erva = expdata - export_rva; +# +#     nexp = pe_as32 (expdata+24); +#     name_rvas = pe_as32 (expdata+32); +# +#     printf ("EXPORTS\n"); +#     for (i = 0; i<nexp; i++) +#     { +# 	unsigned long name_rva = pe_as32 (erva+name_rvas+i*4); +# 	printf ("\t%s @ %ld ;\n", erva+name_rva, 1+ i); +#     } +# +#     return 0; +# } +# /* impgen.c ends here */ + +EOF +    ;; +  esac + +  # We use sed instead of cat because bash on DJGPP gets confused if +  # if finds mixed CR/LF and LF-only lines.  Since sed operates in +  # text mode, it properly converts lines to CR/LF.  This bash problem +  # is reportedly fixed, but why not run on old versions too? +  sed '$q' "$ltmain" >> "${ofile}T" || (rm -f "${ofile}T"; exit 1) + +  mv -f "${ofile}T" "$ofile" || \ +    (rm -f "$ofile" && cp "${ofile}T" "$ofile" && rm -f "${ofile}T") +  chmod +x "$ofile" +fi + +])# _LT_AC_LTCONFIG_HACK + +# AC_LIBTOOL_DLOPEN - enable checks for dlopen support +AC_DEFUN([AC_LIBTOOL_DLOPEN], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])]) + +# AC_LIBTOOL_WIN32_DLL - declare package support for building win32 dll's +AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [AC_BEFORE([$0], [AC_LIBTOOL_SETUP])]) + +# AC_ENABLE_SHARED - implement the --enable-shared flag +# Usage: AC_ENABLE_SHARED[(DEFAULT)] +#   Where DEFAULT is either `yes' or `no'.  If omitted, it defaults to +#   `yes'. +AC_DEFUN([AC_ENABLE_SHARED], +[define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE(shared, +changequote(<<, >>)dnl +<<  --enable-shared[=PKGS]  build shared libraries [default=>>AC_ENABLE_SHARED_DEFAULT], +changequote([, ])dnl +[p=${PACKAGE-default} +case $enableval in +yes) enable_shared=yes ;; +no) enable_shared=no ;; +*) +  enable_shared=no +  # Look at the argument we got.  We use all the common list separators. +  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}:," +  for pkg in $enableval; do +    if test "X$pkg" = "X$p"; then +      enable_shared=yes +    fi +  done +  IFS="$ac_save_ifs" +  ;; +esac], +enable_shared=AC_ENABLE_SHARED_DEFAULT)dnl +]) + +# AC_DISABLE_SHARED - set the default shared flag to --disable-shared +AC_DEFUN([AC_DISABLE_SHARED], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_SHARED(no)]) + +# AC_ENABLE_STATIC - implement the --enable-static flag +# Usage: AC_ENABLE_STATIC[(DEFAULT)] +#   Where DEFAULT is either `yes' or `no'.  If omitted, it defaults to +#   `yes'. +AC_DEFUN([AC_ENABLE_STATIC], +[define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE(static, +changequote(<<, >>)dnl +<<  --enable-static[=PKGS]  build static libraries [default=>>AC_ENABLE_STATIC_DEFAULT], +changequote([, ])dnl +[p=${PACKAGE-default} +case $enableval in +yes) enable_static=yes ;; +no) enable_static=no ;; +*) +  enable_static=no +  # Look at the argument we got.  We use all the common list separators. +  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}:," +  for pkg in $enableval; do +    if test "X$pkg" = "X$p"; then +      enable_static=yes +    fi +  done +  IFS="$ac_save_ifs" +  ;; +esac], +enable_static=AC_ENABLE_STATIC_DEFAULT)dnl +]) + +# AC_DISABLE_STATIC - set the default static flag to --disable-static +AC_DEFUN([AC_DISABLE_STATIC], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_STATIC(no)]) + + +# AC_ENABLE_FAST_INSTALL - implement the --enable-fast-install flag +# Usage: AC_ENABLE_FAST_INSTALL[(DEFAULT)] +#   Where DEFAULT is either `yes' or `no'.  If omitted, it defaults to +#   `yes'. +AC_DEFUN([AC_ENABLE_FAST_INSTALL], +[define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE(fast-install, +changequote(<<, >>)dnl +<<  --enable-fast-install[=PKGS]  optimize for fast installation [default=>>AC_ENABLE_FAST_INSTALL_DEFAULT], +changequote([, ])dnl +[p=${PACKAGE-default} +case $enableval in +yes) enable_fast_install=yes ;; +no) enable_fast_install=no ;; +*) +  enable_fast_install=no +  # Look at the argument we got.  We use all the common list separators. +  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}:," +  for pkg in $enableval; do +    if test "X$pkg" = "X$p"; then +      enable_fast_install=yes +    fi +  done +  IFS="$ac_save_ifs" +  ;; +esac], +enable_fast_install=AC_ENABLE_FAST_INSTALL_DEFAULT)dnl +]) + +# AC_DISABLE_FAST_INSTALL - set the default to --disable-fast-install +AC_DEFUN([AC_DISABLE_FAST_INSTALL], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_FAST_INSTALL(no)]) + +# AC_LIBTOOL_PICMODE - implement the --with-pic flag +# Usage: AC_LIBTOOL_PICMODE[(MODE)] +#   Where MODE is either `yes' or `no'.  If omitted, it defaults to +#   `both'. +AC_DEFUN([AC_LIBTOOL_PICMODE], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +pic_mode=ifelse($#,1,$1,default)]) + + +# AC_PATH_TOOL_PREFIX - find a file program which can recognise shared library +AC_DEFUN([AC_PATH_TOOL_PREFIX], +[AC_MSG_CHECKING([for $1]) +AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, +[case $MAGIC_CMD in +  /*) +  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. +  ;; +  ?:/*) +  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a dos path. +  ;; +  *) +  ac_save_MAGIC_CMD="$MAGIC_CMD" +  IFS="${IFS=   }"; ac_save_ifs="$IFS"; IFS=":" +dnl $ac_dummy forces splitting on constant user-supplied paths. +dnl POSIX.2 word splitting is done only on the output of word expansions, +dnl not every word.  This closes a longstanding sh security hole. +  ac_dummy="ifelse([$2], , $PATH, [$2])" +  for ac_dir in $ac_dummy; do +    test -z "$ac_dir" && ac_dir=. +    if test -f $ac_dir/$1; then +      lt_cv_path_MAGIC_CMD="$ac_dir/$1" +      if test -n "$file_magic_test_file"; then +	case $deplibs_check_method in +	"file_magic "*) +	  file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`" +	  MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +	  if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | +	    egrep "$file_magic_regex" > /dev/null; then +	    : +	  else +	    cat <<EOF 1>&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such.  This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem.  Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +EOF +	  fi ;; +	esac +      fi +      break +    fi +  done +  IFS="$ac_save_ifs" +  MAGIC_CMD="$ac_save_MAGIC_CMD" +  ;; +esac]) +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then +  AC_MSG_RESULT($MAGIC_CMD) +else +  AC_MSG_RESULT(no) +fi +]) + + +# AC_PATH_MAGIC - find a file program which can recognise a shared library +AC_DEFUN([AC_PATH_MAGIC], +[AC_REQUIRE([AC_CHECK_TOOL_PREFIX])dnl +AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin:$PATH) +if test -z "$lt_cv_path_MAGIC_CMD"; then +  if test -n "$ac_tool_prefix"; then +    AC_PATH_TOOL_PREFIX(file, /usr/bin:$PATH) +  else +    MAGIC_CMD=: +  fi +fi +]) + + +# AC_PROG_LD - find the path to the GNU or non-GNU linker +AC_DEFUN([AC_PROG_LD], +[AC_ARG_WITH(gnu-ld, +[  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]], +test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no) +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +ac_prog=ld +if test "$GCC" = yes; then +  # Check if gcc -print-prog-name=ld gives a path. +  AC_MSG_CHECKING([for ld used by GCC]) +  case $host in +  *-*-mingw*) +    # gcc leaves a trailing carriage return which upsets mingw +    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; +  *) +    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; +  esac +  case $ac_prog in +    # Accept absolute paths. +    [[\\/]* | [A-Za-z]:[\\/]*)] +      [re_direlt='/[^/][^/]*/\.\./'] +      # Canonicalize the path of ld +      ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` +      while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do +	ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` +      done +      test -z "$LD" && LD="$ac_prog" +      ;; +  "") +    # If it fails, then pretend we aren't using GCC. +    ac_prog=ld +    ;; +  *) +    # If it is relative, then search for the first ld in PATH. +    with_gnu_ld=unknown +    ;; +  esac +elif test "$with_gnu_ld" = yes; then +  AC_MSG_CHECKING([for GNU ld]) +else +  AC_MSG_CHECKING([for non-GNU ld]) +fi +AC_CACHE_VAL(lt_cv_path_LD, +[if test -z "$LD"; then +  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" +  for ac_dir in $PATH; do +    test -z "$ac_dir" && ac_dir=. +    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then +      lt_cv_path_LD="$ac_dir/$ac_prog" +      # Check to see if the program is GNU ld.  I'd rather use --version, +      # but apparently some GNU ld's only accept -v. +      # Break only if it was the GNU/non-GNU ld that we prefer. +      if "$lt_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then +	test "$with_gnu_ld" != no && break +      else +	test "$with_gnu_ld" != yes && break +      fi +    fi +  done +  IFS="$ac_save_ifs" +else +  lt_cv_path_LD="$LD" # Let the user override the test with a path. +fi]) +LD="$lt_cv_path_LD" +if test -n "$LD"; then +  AC_MSG_RESULT($LD) +else +  AC_MSG_RESULT(no) +fi +test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) +AC_PROG_LD_GNU +]) + +# AC_PROG_LD_GNU - +AC_DEFUN([AC_PROG_LD_GNU], +[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld, +[# I'd rather use --version here, but apparently some GNU ld's only accept -v. +if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then +  lt_cv_prog_gnu_ld=yes +else +  lt_cv_prog_gnu_ld=no +fi]) +with_gnu_ld=$lt_cv_prog_gnu_ld +]) + +# AC_PROG_LD_RELOAD_FLAG - find reload flag for linker +#   -- PORTME Some linkers may need a different reload flag. +AC_DEFUN([AC_PROG_LD_RELOAD_FLAG], +[AC_CACHE_CHECK([for $LD option to reload object files], lt_cv_ld_reload_flag, +[lt_cv_ld_reload_flag='-r']) +reload_flag=$lt_cv_ld_reload_flag +test -n "$reload_flag" && reload_flag=" $reload_flag" +]) + +# AC_DEPLIBS_CHECK_METHOD - how to check for library dependencies +#  -- PORTME fill in with the dynamic library characteristics +AC_DEFUN([AC_DEPLIBS_CHECK_METHOD], +[AC_CACHE_CHECK([how to recognise dependant libraries], +lt_cv_deplibs_check_method, +[lt_cv_file_magic_cmd='$MAGIC_CMD' +lt_cv_file_magic_test_file= +lt_cv_deplibs_check_method='unknown' +# Need to set the preceding variable on all platforms that support +# interlibrary dependencies. +# 'none' -- dependencies not supported. +# `unknown' -- same as none, but documents that we really don't know. +# 'pass_all' -- all dependencies passed with no checks. +# 'test_compile' -- check by making test program. +# ['file_magic [regex]'] -- check by looking for files in library path +# which responds to the $file_magic_cmd with a given egrep regex. +# If you have `file' or equivalent on your system and you're not sure +# whether `pass_all' will *always* work, you probably want this one. + +case $host_os in +aix4* | aix5*) +  lt_cv_deplibs_check_method=pass_all +  ;; + +beos*) +  lt_cv_deplibs_check_method=pass_all +  ;; + +bsdi4*) +  [lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'] +  lt_cv_file_magic_cmd='/usr/bin/file -L' +  lt_cv_file_magic_test_file=/shlib/libc.so +  ;; + +cygwin* | mingw* | pw32*) +  lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' +  lt_cv_file_magic_cmd='$OBJDUMP -f' +  ;; + +darwin* | rhapsody*) +  lt_cv_deplibs_check_method='file_magic Mach-O dynamically linked shared library' +  lt_cv_file_magic_cmd='/usr/bin/file -L' +  case "$host_os" in +  rhapsody* | darwin1.[012]) +    lt_cv_file_magic_test_file=`echo /System/Library/Frameworks/System.framework/Versions/*/System | head -1` +    ;; +  *) # Darwin 1.3 on +    lt_cv_file_magic_test_file='/usr/lib/libSystem.dylib' +    ;; +  esac +  ;; + +freebsd*) +  if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then +    case $host_cpu in +    i*86 ) +      # Not sure whether the presence of OpenBSD here was a mistake. +      # Let's accept both of them until this is cleared up. +      [lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD)/i[3-9]86 (compact )?demand paged shared library'] +      lt_cv_file_magic_cmd=/usr/bin/file +      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` +      ;; +    esac +  else +    lt_cv_deplibs_check_method=pass_all +  fi +  ;; + +gnu*) +  lt_cv_deplibs_check_method=pass_all +  ;; + +hpux10.20*|hpux11*) +  [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library'] +  lt_cv_file_magic_cmd=/usr/bin/file +  lt_cv_file_magic_test_file=/usr/lib/libc.sl +  ;; + +irix5* | irix6*) +  case $host_os in +  irix5*) +    # this will be overridden with pass_all, but let us keep it just in case +    lt_cv_deplibs_check_method="file_magic ELF 32-bit MSB dynamic lib MIPS - version 1" +    ;; +  *) +    case $LD in +    *-32|*"-32 ") libmagic=32-bit;; +    *-n32|*"-n32 ") libmagic=N32;; +    *-64|*"-64 ") libmagic=64-bit;; +    *) libmagic=never-match;; +    esac +    # this will be overridden with pass_all, but let us keep it just in case +    [lt_cv_deplibs_check_method="file_magic ELF ${libmagic} MSB mips-[1234] dynamic lib MIPS - version 1"] +    ;; +  esac +  lt_cv_file_magic_test_file=`echo /lib${libsuff}/libc.so*` +  lt_cv_deplibs_check_method=pass_all +  ;; + +# This must be Linux ELF. +linux-gnu*) +  case $host_cpu in +  alpha* | hppa* | i*86 | powerpc* | sparc* | ia64* | s390* ) +    lt_cv_deplibs_check_method=pass_all ;; +  *) +    # glibc up to 2.1.1 does not perform some relocations on ARM +    [lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' ;;] +  esac +  lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so` +  ;; + +netbsd*) +  if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then +    [lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'] +  else +    [lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so$'] +  fi +  ;; + +newos6*) +  [lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'] +  lt_cv_file_magic_cmd=/usr/bin/file +  lt_cv_file_magic_test_file=/usr/lib/libnls.so +  ;; + +osf3* | osf4* | osf5*) +  # this will be overridden with pass_all, but let us keep it just in case +  lt_cv_deplibs_check_method='file_magic COFF format alpha shared library' +  lt_cv_file_magic_test_file=/shlib/libc.so +  lt_cv_deplibs_check_method=pass_all +  ;; + +sco3.2v5*) +  lt_cv_deplibs_check_method=pass_all +  ;; + +solaris*) +  lt_cv_deplibs_check_method=pass_all +  lt_cv_file_magic_test_file=/lib/libc.so +  ;; + +[sysv5uw[78]* | sysv4*uw2*)] +  lt_cv_deplibs_check_method=pass_all +  ;; + +sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) +  case $host_vendor in +  motorola) +    [lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'] +    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` +    ;; +  ncr) +    lt_cv_deplibs_check_method=pass_all +    ;; +  sequent) +    lt_cv_file_magic_cmd='/bin/file' +    [lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'] +    ;; +  sni) +    lt_cv_file_magic_cmd='/bin/file' +    [lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"] +    lt_cv_file_magic_test_file=/lib/libc.so +    ;; +  esac +  ;; +esac +]) +file_magic_cmd=$lt_cv_file_magic_cmd +deplibs_check_method=$lt_cv_deplibs_check_method +]) + + +# AC_PROG_NM - find the path to a BSD-compatible name lister +AC_DEFUN([AC_PROG_NM], +[AC_MSG_CHECKING([for BSD-compatible nm]) +AC_CACHE_VAL(lt_cv_path_NM, +[if test -n "$NM"; then +  # Let the user override the test. +  lt_cv_path_NM="$NM" +else +  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" +  for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do +    test -z "$ac_dir" && ac_dir=. +    tmp_nm=$ac_dir/${ac_tool_prefix}nm +    if test -f $tmp_nm || test -f $tmp_nm$ac_exeext ; then +      # Check to see if the nm accepts a BSD-compat flag. +      # Adding the `sed 1q' prevents false positives on HP-UX, which says: +      #   nm: unknown option "B" ignored +      # Tru64's nm complains that /dev/null is an invalid object file +      if ($tmp_nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep '(/dev/null|Invalid file or object type)' >/dev/null; then +	lt_cv_path_NM="$tmp_nm -B" +	break +      elif ($tmp_nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then +	lt_cv_path_NM="$tmp_nm -p" +	break +      else +	lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but +	continue # so that we can try to find one that supports BSD flags +      fi +    fi +  done +  IFS="$ac_save_ifs" +  test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm +fi]) +NM="$lt_cv_path_NM" +AC_MSG_RESULT([$NM]) +]) + +# AC_CHECK_LIBM - check for math library +AC_DEFUN([AC_CHECK_LIBM], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +LIBM= +case $host in +*-*-beos* | *-*-cygwin* | *-*-pw32*) +  # These system don't have libm +  ;; +*-ncr-sysv4.3*) +  AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") +  AC_CHECK_LIB(m, main, LIBM="$LIBM -lm") +  ;; +*) +  AC_CHECK_LIB(m, main, LIBM="-lm") +  ;; +esac +]) + +# AC_LIBLTDL_CONVENIENCE[(dir)] - sets LIBLTDL to the link flags for +# the libltdl convenience library and INCLTDL to the include flags for +# the libltdl header and adds --enable-ltdl-convenience to the +# configure arguments.  Note that LIBLTDL and INCLTDL are not +# AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called.  If DIR is not +# provided, it is assumed to be `libltdl'.  LIBLTDL will be prefixed +# with '${top_builddir}/' and INCLTDL will be prefixed with +# '${top_srcdir}/' (note the single quotes!).  If your package is not +# flat and you're not using automake, define top_builddir and +# top_srcdir appropriately in the Makefiles. +AC_DEFUN([AC_LIBLTDL_CONVENIENCE], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +  case $enable_ltdl_convenience in +  no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;; +  "") enable_ltdl_convenience=yes +      ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;; +  esac +  LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la +  INCLTDL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) +]) + +# AC_LIBLTDL_INSTALLABLE[(dir)] - sets LIBLTDL to the link flags for +# the libltdl installable library and INCLTDL to the include flags for +# the libltdl header and adds --enable-ltdl-install to the configure +# arguments.  Note that LIBLTDL and INCLTDL are not AC_SUBSTed, nor is +# AC_CONFIG_SUBDIRS called.  If DIR is not provided and an installed +# libltdl is not found, it is assumed to be `libltdl'.  LIBLTDL will +# be prefixed with '${top_builddir}/' and INCLTDL will be prefixed +# with '${top_srcdir}/' (note the single quotes!).  If your package is +# not flat and you're not using automake, define top_builddir and +# top_srcdir appropriately in the Makefiles. +# In the future, this macro may have to be called after AC_PROG_LIBTOOL. +AC_DEFUN([AC_LIBLTDL_INSTALLABLE], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +  AC_CHECK_LIB(ltdl, main, +  [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no], +  [if test x"$enable_ltdl_install" = xno; then +     AC_MSG_WARN([libltdl not installed, but installation disabled]) +   else +     enable_ltdl_install=yes +   fi +  ]) +  if test x"$enable_ltdl_install" = x"yes"; then +    ac_configure_args="$ac_configure_args --enable-ltdl-install" +    LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la +    INCLTDL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) +  else +    ac_configure_args="$ac_configure_args --enable-ltdl-install=no" +    LIBLTDL="-lltdl" +    INCLTDL= +  fi +]) + +# old names +AC_DEFUN([AM_PROG_LIBTOOL],   [AC_PROG_LIBTOOL]) +AC_DEFUN([AM_ENABLE_SHARED],  [AC_ENABLE_SHARED($@)]) +AC_DEFUN([AM_ENABLE_STATIC],  [AC_ENABLE_STATIC($@)]) +AC_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) +AC_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) +AC_DEFUN([AM_PROG_LD],        [AC_PROG_LD]) +AC_DEFUN([AM_PROG_NM],        [AC_PROG_NM]) + +# This is just to silence aclocal about the macro not being used +ifelse([AC_DISABLE_FAST_INSTALL]) + diff --git a/config.guess b/config.guess new file mode 100755 index 00000000..2960d6e0 --- /dev/null +++ b/config.guess @@ -0,0 +1,951 @@ +#! /bin/sh +# Attempt to guess a canonical system name. +#   Copyright (C) 1992, 93, 94, 95, 96, 97, 1998 Free Software Foundation, Inc. +# +# 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 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. + +# Written by Per Bothner <bothner@cygnus.com>. +# The master version of this file is at the FSF in /home/gd/gnu/lib. +# +# This script attempts to guess a canonical system name similar to +# config.sub.  If it succeeds, it prints the system name on stdout, and +# exits with 0.  Otherwise, it exits with 1. +# +# The plan is that this can be called by configure scripts if you +# don't specify an explicit system type (host/target name). +# +# Only a few systems have been added to this list; please add others +# (but try to keep the structure clean). +# + +# This is needed to find uname on a Pyramid OSx when run in the BSD universe. +# (ghazi@noc.rutgers.edu 8/24/94.) +if (test -f /.attbin/uname) >/dev/null 2>&1 ; then +	PATH=$PATH:/.attbin ; export PATH +fi + +UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown +UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown +UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown +UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown + +trap 'rm -f dummy.c dummy.o dummy; exit 1' 1 2 15 + +# Note: order is significant - the case branches are not exclusive. + +case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in +    alpha:OSF1:*:*) +	if test $UNAME_RELEASE = "V4.0"; then +		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` +	fi +	# A Vn.n version is a released version. +	# A Tn.n version is a released field test version. +	# A Xn.n version is an unreleased experimental baselevel. +	# 1.2 uses "1.2" for uname -r. +	cat <<EOF >dummy.s +	.globl main +	.ent main +main: +	.frame \$30,0,\$26,0 +	.prologue 0 +	.long 0x47e03d80 # implver $0 +	lda \$2,259 +	.long 0x47e20c21 # amask $2,$1 +	srl \$1,8,\$2 +	sll \$2,2,\$2 +	sll \$0,3,\$0 +	addl \$1,\$0,\$0 +	addl \$2,\$0,\$0 +	ret \$31,(\$26),1 +	.end main +EOF +	${CC-cc} dummy.s -o dummy 2>/dev/null +	if test "$?" = 0 ; then +		./dummy +		case "$?" in +			7) +				UNAME_MACHINE="alpha" +				;; +			15) +				UNAME_MACHINE="alphaev5" +				;; +			14) +				UNAME_MACHINE="alphaev56" +				;; +			10) +				UNAME_MACHINE="alphapca56" +				;; +			16) +				UNAME_MACHINE="alphaev6" +				;; +		esac +	fi +	rm -f dummy.s dummy +	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr [[A-Z]] [[a-z]]` +	exit 0 ;; +    21064:Windows_NT:50:3) +	echo alpha-dec-winnt3.5 +	exit 0 ;; +    Amiga*:UNIX_System_V:4.0:*) +	echo m68k-cbm-sysv4 +	exit 0;; +    amiga:NetBSD:*:*) +      echo m68k-cbm-netbsd${UNAME_RELEASE} +      exit 0 ;; +    amiga:OpenBSD:*:*) +	echo m68k-unknown-openbsd${UNAME_RELEASE} +	exit 0 ;; +    *:[Aa]miga[Oo][Ss]:*:*) +	echo ${UNAME_MACHINE}-unknown-amigaos +	exit 0 ;; +    arc64:OpenBSD:*:*) +	echo mips64el-unknown-openbsd${UNAME_RELEASE} +	exit 0 ;; +    arc:OpenBSD:*:*) +	echo mipsel-unknown-openbsd${UNAME_RELEASE} +	exit 0 ;; +    hkmips:OpenBSD:*:*) +	echo mips-unknown-openbsd${UNAME_RELEASE} +	exit 0 ;; +    pmax:OpenBSD:*:*) +	echo mipsel-unknown-openbsd${UNAME_RELEASE} +	exit 0 ;; +    sgi:OpenBSD:*:*) +	echo mips-unknown-openbsd${UNAME_RELEASE} +	exit 0 ;; +    wgrisc:OpenBSD:*:*) +	echo mipsel-unknown-openbsd${UNAME_RELEASE} +	exit 0 ;; +    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) +	echo arm-acorn-riscix${UNAME_RELEASE} +	exit 0;; +    arm32:NetBSD:*:*) +	echo arm-unknown-netbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` +	exit 0 ;; +    SR2?01:HI-UX/MPP:*:*) +	echo hppa1.1-hitachi-hiuxmpp +	exit 0;; +    Pyramid*:OSx*:*:*|MIS*:OSx*:*:*|MIS*:SMP_DC-OSx*:*:*) +	# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. +	if test "`(/bin/universe) 2>/dev/null`" = att ; then +		echo pyramid-pyramid-sysv3 +	else +		echo pyramid-pyramid-bsd +	fi +	exit 0 ;; +    NILE:*:*:dcosx) +	echo pyramid-pyramid-svr4 +	exit 0 ;; +    sun4H:SunOS:5.*:*) +	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` +	exit 0 ;; +    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) +	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` +	exit 0 ;; +    i86pc:SunOS:5.*:*) +	echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` +	exit 0 ;; +    sun4*:SunOS:6*:*) +	# According to config.sub, this is the proper way to canonicalize +	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but +	# it's likely to be more like Solaris than SunOS4. +	echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` +	exit 0 ;; +    sun4*:SunOS:*:*) +	case "`/usr/bin/arch -k`" in +	    Series*|S4*) +		UNAME_RELEASE=`uname -v` +		;; +	esac +	# Japanese Language versions have a version number like `4.1.3-JL'. +	echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` +	exit 0 ;; +    sun3*:SunOS:*:*) +	echo m68k-sun-sunos${UNAME_RELEASE} +	exit 0 ;; +    sun*:*:4.2BSD:*) +	UNAME_RELEASE=`(head -1 /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` +	test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 +	case "`/bin/arch`" in +	    sun3) +		echo m68k-sun-sunos${UNAME_RELEASE} +		;; +	    sun4) +		echo sparc-sun-sunos${UNAME_RELEASE} +		;; +	esac +	exit 0 ;; +    aushp:SunOS:*:*) +	echo sparc-auspex-sunos${UNAME_RELEASE} +	exit 0 ;; +    atari*:NetBSD:*:*) +	echo m68k-atari-netbsd${UNAME_RELEASE} +	exit 0 ;; +    atari*:OpenBSD:*:*) +	echo m68k-unknown-openbsd${UNAME_RELEASE} +	exit 0 ;; +    sun3*:NetBSD:*:*) +	echo m68k-sun-netbsd${UNAME_RELEASE} +	exit 0 ;; +    sun3*:OpenBSD:*:*) +	echo m68k-unknown-openbsd${UNAME_RELEASE} +	exit 0 ;; +    mac68k:NetBSD:*:*) +	echo m68k-apple-netbsd${UNAME_RELEASE} +	exit 0 ;; +    mac68k:OpenBSD:*:*) +	echo m68k-unknown-openbsd${UNAME_RELEASE} +	exit 0 ;; +    mvme68k:OpenBSD:*:*) +	echo m68k-unknown-openbsd${UNAME_RELEASE} +	exit 0 ;; +    mvme88k:OpenBSD:*:*) +	echo m88k-unknown-openbsd${UNAME_RELEASE} +	exit 0 ;; +    powerpc:machten:*:*) +	echo powerpc-apple-machten${UNAME_RELEASE} +	exit 0 ;; +    macppc:NetBSD:*:*) +        echo powerpc-apple-netbsd${UNAME_RELEASE} +        exit 0 ;; +    RISC*:Mach:*:*) +	echo mips-dec-mach_bsd4.3 +	exit 0 ;; +    RISC*:ULTRIX:*:*) +	echo mips-dec-ultrix${UNAME_RELEASE} +	exit 0 ;; +    VAX*:ULTRIX*:*:*) +	echo vax-dec-ultrix${UNAME_RELEASE} +	exit 0 ;; +    2020:CLIX:*:*) +	echo clipper-intergraph-clix${UNAME_RELEASE} +	exit 0 ;; +    mips:*:*:UMIPS | mips:*:*:RISCos) +	sed 's/^	//' << EOF >dummy.c +	int main (argc, argv) int argc; char **argv; { +	#if defined (host_mips) && defined (MIPSEB) +	#if defined (SYSTYPE_SYSV) +	  printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); +	#endif +	#if defined (SYSTYPE_SVR4) +	  printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); +	#endif +	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) +	  printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); +	#endif +	#endif +	  exit (-1); +	} +EOF +	${CC-cc} dummy.c -o dummy \ +	  && ./dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \ +	  && rm dummy.c dummy && exit 0 +	rm -f dummy.c dummy +	echo mips-mips-riscos${UNAME_RELEASE} +	exit 0 ;; +    Night_Hawk:Power_UNIX:*:*) +	echo powerpc-harris-powerunix +	exit 0 ;; +    m88k:CX/UX:7*:*) +	echo m88k-harris-cxux7 +	exit 0 ;; +    m88k:*:4*:R4*) +	echo m88k-motorola-sysv4 +	exit 0 ;; +    m88k:*:3*:R3*) +	echo m88k-motorola-sysv3 +	exit 0 ;; +    AViiON:dgux:*:*) +        # DG/UX returns AViiON for all architectures +        UNAME_PROCESSOR=`/usr/bin/uname -p` +        if [ $UNAME_PROCESSOR = mc88100 -o $UNAME_PROCESSOR = mc88110 ] ; then +	if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx \ +	     -o ${TARGET_BINARY_INTERFACE}x = x ] ; then +		echo m88k-dg-dgux${UNAME_RELEASE} +	else +		echo m88k-dg-dguxbcs${UNAME_RELEASE} +	fi +        else echo i586-dg-dgux${UNAME_RELEASE} +        fi + 	exit 0 ;; +    M88*:DolphinOS:*:*)	# DolphinOS (SVR3) +	echo m88k-dolphin-sysv3 +	exit 0 ;; +    M88*:*:R3*:*) +	# Delta 88k system running SVR3 +	echo m88k-motorola-sysv3 +	exit 0 ;; +    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) +	echo m88k-tektronix-sysv3 +	exit 0 ;; +    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) +	echo m68k-tektronix-bsd +	exit 0 ;; +    *:IRIX*:*:*) +	echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` +	exit 0 ;; +    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. +	echo romp-ibm-aix      # uname -m gives an 8 hex-code CPU id +	exit 0 ;;              # Note that: echo "'`uname -s`'" gives 'AIX ' +    i?86:AIX:*:*) +	echo i386-ibm-aix +	exit 0 ;; +    *:AIX:2:3) +	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then +		sed 's/^		//' << EOF >dummy.c +		#include <sys/systemcfg.h> + +		main() +			{ +			if (!__power_pc()) +				exit(1); +			puts("powerpc-ibm-aix3.2.5"); +			exit(0); +			} +EOF +		${CC-cc} dummy.c -o dummy && ./dummy && rm dummy.c dummy && exit 0 +		rm -f dummy.c dummy +		echo rs6000-ibm-aix3.2.5 +	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then +		echo rs6000-ibm-aix3.2.4 +	else +		echo rs6000-ibm-aix3.2 +	fi +	exit 0 ;; +    *:AIX:*:4) +	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | head -1 | awk '{ print $1 }'` +	if /usr/sbin/lsattr -EHl ${IBM_CPU_ID} | grep POWER >/dev/null 2>&1; then +		IBM_ARCH=rs6000 +	else +		IBM_ARCH=powerpc +	fi +	if [ -x /usr/bin/oslevel ] ; then +		IBM_REV=`/usr/bin/oslevel` +	else +		IBM_REV=4.${UNAME_RELEASE} +	fi +	echo ${IBM_ARCH}-ibm-aix${IBM_REV} +	exit 0 ;; +    *:AIX:*:*) +	echo rs6000-ibm-aix +	exit 0 ;; +    ibmrt:4.4BSD:*|romp-ibm:BSD:*) +	echo romp-ibm-bsd4.4 +	exit 0 ;; +    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC NetBSD and +	echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to +	exit 0 ;;                           # report: romp-ibm BSD 4.3 +    *:BOSX:*:*) +	echo rs6000-bull-bosx +	exit 0 ;; +    DPX/2?00:B.O.S.:*:*) +	echo m68k-bull-sysv3 +	exit 0 ;; +    9000/[34]??:4.3bsd:1.*:*) +	echo m68k-hp-bsd +	exit 0 ;; +    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) +	echo m68k-hp-bsd4.4 +	exit 0 ;; +    9000/[34678]??:HP-UX:*:*) +	case "${UNAME_MACHINE}" in +	    9000/31? )            HP_ARCH=m68000 ;; +	    9000/[34]?? )         HP_ARCH=m68k ;; +	    9000/6?? | 9000/7?? | 9000/80[24] | 9000/8?[13679] | 9000/892 ) +              sed 's/^              //' << EOF >dummy.c +              #include <stdlib.h> +              #include <unistd.h> +               +              int main () +              { +              #if defined(_SC_KERNEL_BITS) +                  long bits = sysconf(_SC_KERNEL_BITS); +              #endif  +                  long cpu  = sysconf (_SC_CPU_VERSION); +               +                  switch (cpu)  +              	{ +              	case CPU_PA_RISC1_0: puts ("hppa1.0"); break; +              	case CPU_PA_RISC1_1: puts ("hppa1.1"); break; +              	case CPU_PA_RISC2_0:  +              #if defined(_SC_KERNEL_BITS) +              	    switch (bits)  +              		{ +              		case 64: puts ("hppa2.0w"); break; +              		case 32: puts ("hppa2.0n"); break; +              		default: puts ("hppa2.0"); break; +              		} break; +              #else  /* !defined(_SC_KERNEL_BITS) */ +              	    puts ("hppa2.0"); break; +              #endif  +              	default: puts ("hppa1.0"); break; +              	} +                  exit (0); +              } +EOF +	(${CC-cc} dummy.c -o dummy 2>/dev/null ) && HP_ARCH=`./dummy` +	rm -f dummy.c dummy +	esac +	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` +	echo ${HP_ARCH}-hp-hpux${HPUX_REV} +	exit 0 ;; +    3050*:HI-UX:*:*) +	sed 's/^	//' << EOF >dummy.c +	#include <unistd.h> +	int +	main () +	{ +	  long cpu = sysconf (_SC_CPU_VERSION); +	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns +	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct +	     results, however.  */ +	  if (CPU_IS_PA_RISC (cpu)) +	    { +	      switch (cpu) +		{ +		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; +		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; +		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; +		  default: puts ("hppa-hitachi-hiuxwe2"); break; +		} +	    } +	  else if (CPU_IS_HP_MC68K (cpu)) +	    puts ("m68k-hitachi-hiuxwe2"); +	  else puts ("unknown-hitachi-hiuxwe2"); +	  exit (0); +	} +EOF +	${CC-cc} dummy.c -o dummy && ./dummy && rm dummy.c dummy && exit 0 +	rm -f dummy.c dummy +	echo unknown-hitachi-hiuxwe2 +	exit 0 ;; +    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) +	echo hppa1.1-hp-bsd +	exit 0 ;; +    9000/8??:4.3bsd:*:*) +	echo hppa1.0-hp-bsd +	exit 0 ;; +    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) +	echo hppa1.1-hp-osf +	exit 0 ;; +    hp8??:OSF1:*:*) +	echo hppa1.0-hp-osf +	exit 0 ;; +    i?86:OSF1:*:*) +	if [ -x /usr/sbin/sysversion ] ; then +	    echo ${UNAME_MACHINE}-unknown-osf1mk +	else +	    echo ${UNAME_MACHINE}-unknown-osf1 +	fi +	exit 0 ;; +    parisc*:Lites*:*:*) +	echo hppa1.1-hp-lites +	exit 0 ;; +    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) +	echo c1-convex-bsd +        exit 0 ;; +    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) +	if getsysinfo -f scalar_acc +	then echo c32-convex-bsd +	else echo c2-convex-bsd +	fi +        exit 0 ;; +    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) +	echo c34-convex-bsd +        exit 0 ;; +    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) +	echo c38-convex-bsd +        exit 0 ;; +    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) +	echo c4-convex-bsd +        exit 0 ;; +    CRAY*X-MP:*:*:*) +	echo xmp-cray-unicos +        exit 0 ;; +    CRAY*Y-MP:*:*:*) +	echo ymp-cray-unicos${UNAME_RELEASE} +	exit 0 ;; +    CRAY*[A-Z]90:*:*:*) +	echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ +	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ +	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ +	exit 0 ;; +    CRAY*TS:*:*:*) +	echo t90-cray-unicos${UNAME_RELEASE} +	exit 0 ;; +    CRAY-2:*:*:*) +	echo cray2-cray-unicos +        exit 0 ;; +    F300:UNIX_System_V:*:*) +        FUJITSU_SYS=`uname -p | tr [A-Z] [a-z] | sed -e 's/\///'` +        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` +        echo "f300-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" +        exit 0 ;; +    F301:UNIX_System_V:*:*) +       echo f301-fujitsu-uxpv`echo $UNAME_RELEASE | sed 's/ .*//'` +       exit 0 ;; +    hp3[0-9][05]:NetBSD:*:*) +	echo m68k-hp-netbsd${UNAME_RELEASE} +	exit 0 ;; +    hp300:OpenBSD:*:*) +	echo m68k-unknown-openbsd${UNAME_RELEASE} +	exit 0 ;; +    sparc*:BSD/OS:*:*) +	echo sparc-unknown-bsdi${UNAME_RELEASE} +	exit 0 ;; +    i?86:BSD/386:*:* | *:BSD/OS:*:*) +	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} +	exit 0 ;; +    *:FreeBSD:*:*) +	echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` +	exit 0 ;; +    *:NetBSD:*:*) +	echo ${UNAME_MACHINE}-unknown-netbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` +	exit 0 ;; +    *:OpenBSD:*:*) +	echo ${UNAME_MACHINE}-unknown-openbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` +	exit 0 ;; +    i*:CYGWIN*:*) +	echo ${UNAME_MACHINE}-pc-cygwin +	exit 0 ;; +    i*:MINGW*:*) +	echo ${UNAME_MACHINE}-pc-mingw32 +	exit 0 ;; +    p*:CYGWIN*:*) +	echo powerpcle-unknown-cygwin +	exit 0 ;; +    prep*:SunOS:5.*:*) +	echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` +	exit 0 ;; +    *:GNU:*:*) +	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` +	exit 0 ;; +    *:Linux:*:*) +	# uname on the ARM produces all sorts of strangeness, and we need to +	# filter it out. +	case "$UNAME_MACHINE" in +	  arm* | sa110*)	      UNAME_MACHINE="arm" ;; +	esac + +	# The BFD linker knows what the default object file format is, so +	# first see if it will tell us. +	ld_help_string=`ld --help 2>&1` +	ld_supported_emulations=`echo $ld_help_string \ +			 | sed -ne '/supported emulations:/!d +				    s/[ 	][ 	]*/ /g +				    s/.*supported emulations: *// +				    s/ .*// +				    p'` +        case "$ld_supported_emulations" in +	  i?86linux)  echo "${UNAME_MACHINE}-pc-linux-gnuaout"      ; exit 0 ;; +	  i?86coff)   echo "${UNAME_MACHINE}-pc-linux-gnucoff"      ; exit 0 ;; +	  sparclinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;; +	  armlinux)   echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;; +	  m68klinux)  echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;; +	  elf32ppc)   echo "powerpc-unknown-linux-gnu"              ; exit 0 ;; +	esac + +	if test "${UNAME_MACHINE}" = "alpha" ; then +		sed 's/^	//'  <<EOF >dummy.s +		.globl main +		.ent main +	main: +		.frame \$30,0,\$26,0 +		.prologue 0 +		.long 0x47e03d80 # implver $0 +		lda \$2,259 +		.long 0x47e20c21 # amask $2,$1 +		srl \$1,8,\$2 +		sll \$2,2,\$2 +		sll \$0,3,\$0 +		addl \$1,\$0,\$0 +		addl \$2,\$0,\$0 +		ret \$31,(\$26),1 +		.end main +EOF +		LIBC="" +		${CC-cc} dummy.s -o dummy 2>/dev/null +		if test "$?" = 0 ; then +			./dummy +			case "$?" in +			7) +				UNAME_MACHINE="alpha" +				;; +			15) +				UNAME_MACHINE="alphaev5" +				;; +			14) +				UNAME_MACHINE="alphaev56" +				;; +			10) +				UNAME_MACHINE="alphapca56" +				;; +			16) +				UNAME_MACHINE="alphaev6" +				;; +			esac	 + +			objdump --private-headers dummy | \ +			  grep ld.so.1 > /dev/null +			if test "$?" = 0 ; then +				LIBC="libc1" +			fi +		fi	 +		rm -f dummy.s dummy +		echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} ; exit 0 +	elif test "${UNAME_MACHINE}" = "mips" ; then +	  cat >dummy.c <<EOF +main(argc, argv) +     int argc; +     char *argv[]; +{ +#ifdef __MIPSEB__ +  printf ("%s-unknown-linux-gnu\n", argv[1]); +#endif +#ifdef __MIPSEL__ +  printf ("%sel-unknown-linux-gnu\n", argv[1]); +#endif +  return 0; +} +EOF +	  ${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy "${UNAME_MACHINE}" && rm dummy.c dummy && exit 0 +	  rm -f dummy.c dummy +	else +	  # Either a pre-BFD a.out linker (linux-gnuoldld) +	  # or one that does not give us useful --help. +	  # GCC wants to distinguish between linux-gnuoldld and linux-gnuaout. +	  # If ld does not provide *any* "supported emulations:" +	  # that means it is gnuoldld. +	  echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations:" +	  test $? != 0 && echo "${UNAME_MACHINE}-pc-linux-gnuoldld" && exit 0 + +	  case "${UNAME_MACHINE}" in +	  i?86) +	    VENDOR=pc; +	    ;; +	  *) +	    VENDOR=unknown; +	    ;; +	  esac +	  # Determine whether the default compiler is a.out or elf +	  cat >dummy.c <<EOF +#include <features.h> +main(argc, argv) +     int argc; +     char *argv[]; +{ +#ifdef __ELF__ +# ifdef __GLIBC__ +#  if __GLIBC__ >= 2 +    printf ("%s-${VENDOR}-linux-gnu\n", argv[1]); +#  else +    printf ("%s-${VENDOR}-linux-gnulibc1\n", argv[1]); +#  endif +# else +   printf ("%s-${VENDOR}-linux-gnulibc1\n", argv[1]); +# endif +#else +  printf ("%s-${VENDOR}-linux-gnuaout\n", argv[1]); +#endif +  return 0; +} +EOF +	  ${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy "${UNAME_MACHINE}" && rm dummy.c dummy && exit 0 +	  rm -f dummy.c dummy +	fi ;; +# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.  earlier versions +# are messed up and put the nodename in both sysname and nodename. +    i?86:DYNIX/ptx:4*:*) +	echo i386-sequent-sysv4 +	exit 0 ;; +    i?86:UNIX_SV:4.2MP:2.*) +        # Unixware is an offshoot of SVR4, but it has its own version +        # number series starting with 2... +        # I am not positive that other SVR4 systems won't match this, +	# I just have to hope.  -- rms. +        # Use sysv4.2uw... so that sysv4* matches it. +	echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} +	exit 0 ;; +    i?86:*:4.*:* | i?86:SYSTEM_V:4.*:*) +	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then +		echo ${UNAME_MACHINE}-univel-sysv${UNAME_RELEASE} +	else +		echo ${UNAME_MACHINE}-pc-sysv${UNAME_RELEASE} +	fi +	exit 0 ;; +    i?86:*:3.2:*) +	if test -f /usr/options/cb.name; then +		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name` +		echo ${UNAME_MACHINE}-pc-isc$UNAME_REL +	elif /bin/uname -X 2>/dev/null >/dev/null ; then +		UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')` +		(/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486 +		(/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \ +			&& UNAME_MACHINE=i586 +		echo ${UNAME_MACHINE}-pc-sco$UNAME_REL +	else +		echo ${UNAME_MACHINE}-pc-sysv32 +	fi +	exit 0 ;; +    i?86:UnixWare:*:*) +	if /bin/uname -X 2>/dev/null >/dev/null ; then +	  (/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \ +	    && UNAME_MACHINE=i586 +	fi +	echo ${UNAME_MACHINE}-unixware-${UNAME_RELEASE}-${UNAME_VERSION} +	exit 0 ;; +    pc:*:*:*) +        # uname -m prints for DJGPP always 'pc', but it prints nothing about +        # the processor, so we play safe by assuming i386. +	echo i386-pc-msdosdjgpp +        exit 0 ;; +    Intel:Mach:3*:*) +	echo i386-pc-mach3 +	exit 0 ;; +    paragon:*:*:*) +	echo i860-intel-osf1 +	exit 0 ;; +    i860:*:4.*:*) # i860-SVR4 +	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then +	  echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 +	else # Add other i860-SVR4 vendors below as they are discovered. +	  echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4 +	fi +	exit 0 ;; +    mini*:CTIX:SYS*5:*) +	# "miniframe" +	echo m68010-convergent-sysv +	exit 0 ;; +    M68*:*:R3V[567]*:*) +	test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;; +    3[34]??:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 4850:*:4.0:3.0) +	OS_REL='' +	test -r /etc/.relid \ +	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` +	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \ +	  && echo i486-ncr-sysv4.3${OS_REL} && exit 0 +	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ +	  && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;; +    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) +        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ +          && echo i486-ncr-sysv4 && exit 0 ;; +    m68*:LynxOS:2.*:*) +	echo m68k-unknown-lynxos${UNAME_RELEASE} +	exit 0 ;; +    mc68030:UNIX_System_V:4.*:*) +	echo m68k-atari-sysv4 +	exit 0 ;; +    i?86:LynxOS:2.*:*) +	echo i386-unknown-lynxos${UNAME_RELEASE} +	exit 0 ;; +    TSUNAMI:LynxOS:2.*:*) +	echo sparc-unknown-lynxos${UNAME_RELEASE} +	exit 0 ;; +    rs6000:LynxOS:2.*:* | PowerPC:LynxOS:2.*:*) +	echo rs6000-unknown-lynxos${UNAME_RELEASE} +	exit 0 ;; +    SM[BE]S:UNIX_SV:*:*) +	echo mips-dde-sysv${UNAME_RELEASE} +	exit 0 ;; +    RM*:SINIX-*:*:*) +	echo mips-sni-sysv4 +	exit 0 ;; +    *:SINIX-*:*:*) +	if uname -p 2>/dev/null >/dev/null ; then +		UNAME_MACHINE=`(uname -p) 2>/dev/null` +		echo ${UNAME_MACHINE}-sni-sysv4 +	else +		echo ns32k-sni-sysv +	fi +	exit 0 ;; +    PENTIUM:CPunix:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort +                           # says <Richard.M.Bartel@ccMail.Census.GOV> +        echo i586-unisys-sysv4 +        exit 0 ;; +    *:UNIX_System_V:4*:FTX*) +	# From Gerald Hewes <hewes@openmarket.com>. +	# How about differentiating between stratus architectures? -djm +	echo hppa1.1-stratus-sysv4 +	exit 0 ;; +    *:*:*:FTX*) +	# From seanf@swdc.stratus.com. +	echo i860-stratus-sysv4 +	exit 0 ;; +    mc68*:A/UX:*:*) +	echo m68k-apple-aux${UNAME_RELEASE} +	exit 0 ;; +    news*:NEWS-OS:*:6*) +	echo mips-sony-newsos6 +	exit 0 ;; +    R3000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R4000:UNIX_SV:*:*) +	if [ -d /usr/nec ]; then +	        echo mips-nec-sysv${UNAME_RELEASE} +	else +	        echo mips-unknown-sysv${UNAME_RELEASE} +	fi +        exit 0 ;; +    BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only. +	echo powerpc-be-beos +	exit 0 ;; +    BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only. +	echo powerpc-apple-beos +	exit 0 ;; +    BePC:BeOS:*:*)	# BeOS running on Intel PC compatible. +	echo i586-pc-beos +	exit 0 ;; +esac + +#echo '(No uname command or uname output not recognized.)' 1>&2 +#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 + +cat >dummy.c <<EOF +#ifdef _SEQUENT_ +# include <sys/types.h> +# include <sys/utsname.h> +#endif +main () +{ +#if defined (sony) +#if defined (MIPSEB) +  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed, +     I don't know....  */ +  printf ("mips-sony-bsd\n"); exit (0); +#else +#include <sys/param.h> +  printf ("m68k-sony-newsos%s\n", +#ifdef NEWSOS4 +          "4" +#else +	  "" +#endif +         ); exit (0); +#endif +#endif + +#if defined (__arm) && defined (__acorn) && defined (__unix) +  printf ("arm-acorn-riscix"); exit (0); +#endif + +#if defined (hp300) && !defined (hpux) +  printf ("m68k-hp-bsd\n"); exit (0); +#endif + +#if defined (NeXT) +#if !defined (__ARCHITECTURE__) +#define __ARCHITECTURE__ "m68k" +#endif +  int version; +  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; +  printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); +  exit (0); +#endif + +#if defined (MULTIMAX) || defined (n16) +#if defined (UMAXV) +  printf ("ns32k-encore-sysv\n"); exit (0); +#else +#if defined (CMU) +  printf ("ns32k-encore-mach\n"); exit (0); +#else +  printf ("ns32k-encore-bsd\n"); exit (0); +#endif +#endif +#endif + +#if defined (__386BSD__) +  printf ("i386-pc-bsd\n"); exit (0); +#endif + +#if defined (sequent) +#if defined (i386) +  printf ("i386-sequent-dynix\n"); exit (0); +#endif +#if defined (ns32000) +  printf ("ns32k-sequent-dynix\n"); exit (0); +#endif +#endif + +#if defined (_SEQUENT_) +    struct utsname un; + +    uname(&un); + +    if (strncmp(un.version, "V2", 2) == 0) { +	printf ("i386-sequent-ptx2\n"); exit (0); +    } +    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ +	printf ("i386-sequent-ptx1\n"); exit (0); +    } +    printf ("i386-sequent-ptx\n"); exit (0); + +#endif + +#if defined (vax) +#if !defined (ultrix) +  printf ("vax-dec-bsd\n"); exit (0); +#else +  printf ("vax-dec-ultrix\n"); exit (0); +#endif +#endif + +#if defined (alliant) && defined (i860) +  printf ("i860-alliant-bsd\n"); exit (0); +#endif + +  exit (1); +} +EOF + +${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy && rm dummy.c dummy && exit 0 +rm -f dummy.c dummy + +# Apollos put the system type in the environment. + +test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; } + +# Convex versions that predate uname can use getsysinfo(1) + +if [ -x /usr/convex/getsysinfo ] +then +    case `getsysinfo -f cpu_type` in +    c1*) +	echo c1-convex-bsd +	exit 0 ;; +    c2*) +	if getsysinfo -f scalar_acc +	then echo c32-convex-bsd +	else echo c2-convex-bsd +	fi +	exit 0 ;; +    c34*) +	echo c34-convex-bsd +	exit 0 ;; +    c38*) +	echo c38-convex-bsd +	exit 0 ;; +    c4*) +	echo c4-convex-bsd +	exit 0 ;; +    esac +fi + +#echo '(Unable to guess system type)' 1>&2 + +exit 1 diff --git a/config.sub b/config.sub new file mode 100755 index 00000000..00bea6e6 --- /dev/null +++ b/config.sub @@ -0,0 +1,955 @@ +#! /bin/sh +# Configuration validation subroutine script, version 1.1. +#   Copyright (C) 1991, 92-97, 1998 Free Software Foundation, Inc. +# 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., 59 Temple Place - Suite 330, +# Boston, MA 02111-1307, 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. + +# 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. + +if [ x$1 = x ] +then +	echo Configuration name missing. 1>&2 +	echo "Usage: $0 CPU-MFR-OPSYS" 1>&2 +	echo "or     $0 ALIAS" 1>&2 +	echo where ALIAS is a recognized configuration type. 1>&2 +	exit 1 +fi + +# First pass through any local machine types. +case $1 in +	*local*) +		echo $1 +		exit 0 +		;; +	*) +	;; +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 +  linux-gnu*) +    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) +		os= +		basic_machine=$1 +		;; +	-hiux*) +		os=-hiuxwe2 +		;; +	-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/'` +		;; +	-sco*) +		os=-sco3.2v2 +		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 +		;; +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. +	tahoe | i860 | m32r | m68k | m68000 | m88k | ns32k | arc | arm \ +		| arme[lb] | pyramid | mn10200 | mn10300 | tron | a29k \ +		| 580 | i960 | h8300 | hppa | hppa1.0 | hppa1.1 | hppa2.0 \ +		| alpha | alphaev5 | alphaev56 | we32k | ns16k | clipper \ +		| i370 | sh | powerpc | powerpcle | 1750a | dsp16xx | pdp11 \ +		| mips64 | mipsel | mips64el | mips64orion | mips64orionel \ +		| mipstx39 | mipstx39el \ +		| sparc | sparclet | sparclite | sparc64 | v850) +		basic_machine=$basic_machine-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[34567]86) +	  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. +	vax-* | tahoe-* | i[34567]86-* | i860-* | m32r-* | m68k-* | m68000-* \ +	      | m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | arm-* | c[123]* \ +	      | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \ +	      | power-* | none-* | 580-* | cray2-* | h8300-* | i960-* \ +	      | xmp-* | ymp-* | hppa-* | hppa1.0-* | hppa1.1-* | hppa2.0-* \ +	      | alpha-* | alphaev5-* | alphaev56-* | we32k-* | cydra-* \ +	      | ns16k-* | pn-* | np1-* | xps100-* | clipper-* | orion-* \ +	      | sparclite-* | pdp11-* | sh-* | powerpc-* | powerpcle-* \ +	      | sparc64-* | mips64-* | mipsel-* \ +	      | mips64el-* | mips64orion-* | mips64orionel-*  \ +	      | mipstx39-* | mipstx39el-* \ +	      | f301-*) +		;; +	# Recognize the various machine names and aliases which stand +	# for a CPU type and a company and sometimes even an OS. +	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) +		basic_machine=m68000-att +		;; +	3b*) +		basic_machine=we32k-att +		;; +	alliant | fx80) +		basic_machine=fx80-alliant +		;; +	altos | altos3068) +		basic_machine=m68k-altos +		;; +	am29k) +		basic_machine=a29k-none +		os=-bsd +		;; +	amdahl) +		basic_machine=580-amdahl +		os=-sysv +		;; +	amiga | amiga-*) +		basic_machine=m68k-cbm +		;; +	amigaos | amigados) +		basic_machine=m68k-cbm +		os=-amigaos +		;; +	amigaunix | amix) +		basic_machine=m68k-cbm +		os=-sysv4 +		;; +	apollo68) +		basic_machine=m68k-apollo +		os=-sysv +		;; +	aux) +		basic_machine=m68k-apple +		os=-aux +		;; +	balance) +		basic_machine=ns32k-sequent +		os=-dynix +		;; +	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 | ymp) +		basic_machine=ymp-cray +		os=-unicos +		;; +	cray2) +		basic_machine=cray2-cray +		os=-unicos +		;; +	[ctj]90-cray) +		basic_machine=c90-cray +		os=-unicos +		;; +	crds | unos) +		basic_machine=m68k-crds +		;; +	da30 | da30-*) +		basic_machine=m68k-da30 +		;; +	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) +		basic_machine=mips-dec +		;; +	delta | 3300 | motorola-3300 | motorola-delta \ +	      | 3300-motorola | delta-motorola) +		basic_machine=m68k-motorola +		;; +	delta88) +		basic_machine=m88k-motorola +		os=-sysv3 +		;; +	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 +		;; +	fx2800) +		basic_machine=i860-alliant +		;; +	genix) +		basic_machine=ns32k-ns +		;; +	gmicro) +		basic_machine=tron-gmicro +		os=-sysv +		;; +	h3050r* | hiux*) +		basic_machine=hppa1.1-hitachi +		os=-hiuxwe2 +		;; +	h8300hms) +		basic_machine=h8300-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 +		;; +	hp9k2[0-9][0-9] | hp9k31[0-9]) +		basic_machine=m68000-hp +		;; +	hp9k3[2-9][0-9]) +		basic_machine=m68k-hp +		;; +	hp9k7[0-9][0-9] | hp7[0-9][0-9] | hp9k8[0-9]7 | hp8[0-9]7) +		basic_machine=hppa1.1-hp +		;; +	hp9k8[0-9][0-9] | hp8[0-9][0-9]) +		basic_machine=hppa1.0-hp +		;; +	hppa-next) +		os=-nextstep3 +		;; +	i370-ibm* | ibm*) +		basic_machine=i370-ibm +		os=-mvs +		;; +# I'm not sure what "Sysv32" means.  Should this be sysv3.2? +	i[34567]86v32) +		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` +		os=-sysv32 +		;; +	i[34567]86v4*) +		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` +		os=-sysv4 +		;; +	i[34567]86v) +		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` +		os=-sysv +		;; +	i[34567]86sol2) +		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` +		os=-solaris2 +		;; +	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 +		;; +	miniframe) +		basic_machine=m68000-convergent +		;; +	mipsel*-linux*) +		basic_machine=mipsel-unknown +		os=-linux-gnu +		;; +	mips*-linux*) +		basic_machine=mips-unknown +		os=-linux-gnu +		;; +	mips3*-*) +		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` +		;; +	mips3*) +		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown +		;; +	ncr3000) +		basic_machine=i486-ncr +		os=-sysv4 +		;; +	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 +		;; +	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 +		;; +	np1) +		basic_machine=np1-gould +		;; +	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 +		;; +	pentium | p5 | k5 | nexen) +		basic_machine=i586-pc +		;; +	pentiumpro | p6 | k6 | 6x86) +		basic_machine=i686-pc +		;; +	pentiumii | pentium2) +		basic_machine=i786-pc +		;; +	pentium-* | p5-* | k5-* | nexen-*) +		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` +		;; +	pentiumpro-* | p6-* | k6-* | 6x86-*) +		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` +		;; +	pentiumii-* | pentium2-*) +		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` +		;; +	pn) +		basic_machine=pn-gould +		;; +	power)	basic_machine=rs6000-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/^[^-]*-//'` +		;; +	ps2) +		basic_machine=i386-ibm +		;; +	rm[46]00) +		basic_machine=mips-siemens +		;; +	rtpc | rtpc-*) +		basic_machine=romp-ibm +		;; +	sequent) +		basic_machine=i386-sequent +		;; +	sh) +		basic_machine=sh-hitachi +		os=-hms +		;; +	sps7) +		basic_machine=m68k-bull +		os=-sysv2 +		;; +	spur) +		basic_machine=spur-unknown +		;; +	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 +		;; +	symmetry) +		basic_machine=i386-sequent +		os=-dynix +		;; +	tx39) +		basic_machine=mipstx39-unknown +		;; +	tx39el) +		basic_machine=mipstx39el-unknown +		;; +	tower | tower-32) +		basic_machine=m68k-ncr +		;; +	udi29k) +		basic_machine=a29k-amd +		os=-udi +		;; +	ultra3) +		basic_machine=a29k-nyu +		os=-sym1 +		;; +	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 +		;; +	xmp) +		basic_machine=xmp-cray +		os=-unicos +		;; +        xps | xps100) +		basic_machine=xps100-honeywell +		;; +	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. +	mips) +		if [ x$os = x-linux-gnu ]; then +			basic_machine=mips-unknown +		else +			basic_machine=mips-mips +		fi +		;; +	romp) +		basic_machine=romp-ibm +		;; +	rs6000) +		basic_machine=rs6000-ibm +		;; +	vax) +		basic_machine=vax-dec +		;; +	pdp11) +		basic_machine=pdp11-dec +		;; +	we32k) +		basic_machine=we32k-att +		;; +	sparc) +		basic_machine=sparc-sun +		;; +        cydra) +		basic_machine=cydra-cydrome +		;; +	orion) +		basic_machine=orion-highlevel +		;; +	orion105) +		basic_machine=clipper-highlevel +		;; +	*) +		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* | -netbsd* | -openbsd* | -freebsd* | -riscix* \ +	      | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* \ +	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ +	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ +	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ +	      | -mingw32* | -linux-gnu* | -uxpv* | -beos*) +	# Remember, each alternative MUST END IN *, to match a version number. +		;; +	-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|'` +		;; +	-osfrose*) +		os=-osfrose +		;; +	-osf*) +		os=-osf +		;; +	-utek*) +		os=-bsd +		;; +	-dynix*) +		os=-bsd +		;; +	-acis*) +		os=-aos +		;; +	-ctix* | -uts*) +		os=-sysv +		;; +	-ns2 ) +	        os=-nextstep2 +		;; +	# Preserve the version number of sinix5. +	-sinix5.*) +		os=`echo $os | sed -e 's|sinix|sysv|'` +		;; +	-sinix*) +		os=-sysv4 +		;; +	-triton*) +		os=-sysv3 +		;; +	-oss*) +		os=-sysv3 +		;; +	-svr4) +		os=-sysv4 +		;; +	-svr3) +		os=-sysv3 +		;; +	-sysvr4) +		os=-sysv4 +		;; +	# This must come after -sysvr4. +	-sysv*) +		;; +	-xenix) +		os=-xenix +		;; +	-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 +	*-acorn) +		os=-riscix1.2 +		;; +	arm*-semi) +		os=-aout +		;; +        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 +		;; +	*-tti)	# must be before sparc entry or we get the wrong os. +		os=-sysv3 +		;; +	sparc-* | *-sun) +		os=-sunos4.1.1 +		;; +	*-be) +		os=-beos +		;; +	*-ibm) +		os=-aix +		;; +	*-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 +		;; +	f301-fujitsu) +		os=-uxpv +		;; +	*) +		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 +				;; +			-hpux*) +				vendor=hp +				;; +			-hiux*) +				vendor=hitachi +				;; +			-unos*) +				vendor=crds +				;; +			-dgux*) +				vendor=dg +				;; +			-luna*) +				vendor=omron +				;; +			-genix*) +				vendor=ns +				;; +			-mvs*) +				vendor=ibm +				;; +			-ptx*) +				vendor=sequent +				;; +			-vxsim* | -vxworks*) +				vendor=wrs +				;; +			-aux*) +				vendor=apple +				;; +		esac +		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` +		;; +esac + +echo $basic_machine$os diff --git a/configure b/configure new file mode 100755 index 00000000..1306bc69 --- /dev/null +++ b/configure @@ -0,0 +1,5455 @@ +#! /bin/sh + +# Guess values for system-dependent variables and create Makefiles. +# Generated automatically using autoconf version 2.13  +# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc. +# +# This configure script is free software; the Free Software Foundation +# gives unlimited permission to copy, distribute and modify it. + +# Defaults: +ac_help= +ac_default_prefix=/usr/local +# Any additions from configure.in: +ac_default_prefix=/usr +ac_help="$ac_help +  --enable-shared[=PKGS]  build shared libraries [default=yes]" +ac_help="$ac_help +  --enable-static[=PKGS]  build static libraries [default=yes]" +ac_help="$ac_help +  --enable-fast-install[=PKGS]  optimize for fast installation [default=yes]" +ac_help="$ac_help +  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]" + +# Find the correct PATH separator.  Usually this is `:', but +# DJGPP uses `;' like DOS. +if test "X${PATH_SEPARATOR+set}" != Xset; then +  UNAME=${UNAME-`uname 2>/dev/null`} +  case X$UNAME in +    *-DOS) lt_cv_sys_path_separator=';' ;; +    *)     lt_cv_sys_path_separator=':' ;; +  esac +fi + + +# Check that we are running under the correct shell. +SHELL=${CONFIG_SHELL-/bin/sh} + +case X$ECHO in +X*--fallback-echo) +  # Remove one level of quotation (which was required for Make). +  ECHO=`echo "$ECHO" | sed 's,\\\\\$\\$0,'$0','` +  ;; +esac + +echo=${ECHO-echo} +if test "X$1" = X--no-reexec; then +  # Discard the --no-reexec flag, and continue. +  shift +elif test "X$1" = X--fallback-echo; then +  # Avoid inline document here, it may be left over +  : +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then +  # Yippee, $echo works! +  : +else +  # Restart under the correct shell. +  exec $SHELL "$0" --no-reexec ${1+"$@"} +fi + +if test "X$1" = X--fallback-echo; then +  # used as fallback echo +  shift +  cat <<EOF + +EOF +  exit 0 +fi + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +if test "X${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi + +if test -z "$ECHO"; then +if test "X${echo_test_string+set}" != Xset; then +# find a string as large as possible, as long as the shell can cope with it +  for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do +    # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... +    if (echo_test_string="`eval $cmd`") 2>/dev/null && +       echo_test_string="`eval $cmd`" && +       (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null +    then +      break +    fi +  done +fi + +if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && +   echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && +   test "X$echo_testing_string" = "X$echo_test_string"; then +  : +else +  # The Solaris, AIX, and Digital Unix default echo programs unquote +  # backslashes.  This makes it impossible to quote backslashes using +  #   echo "$something" | sed 's/\\/\\\\/g' +  # +  # So, first we look for a working echo in the user's PATH. + +  IFS="${IFS= 	}"; save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}" +  for dir in $PATH /usr/ucb; do +    if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && +       test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && +       echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && +       test "X$echo_testing_string" = "X$echo_test_string"; then +      echo="$dir/echo" +      break +    fi +  done +  IFS="$save_ifs" + +  if test "X$echo" = Xecho; then +    # We didn't find a better echo, so look for alternatives. +    if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && +       echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && +       test "X$echo_testing_string" = "X$echo_test_string"; then +      # This shell has a builtin print -r that does the trick. +      echo='print -r' +    elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && +	 test "X$CONFIG_SHELL" != X/bin/ksh; then +      # If we have ksh, try running configure again with it. +      ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} +      export ORIGINAL_CONFIG_SHELL +      CONFIG_SHELL=/bin/ksh +      export CONFIG_SHELL +      exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"} +    else +      # Try using printf. +      echo='printf %s\n' +      if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && +	 echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && +	 test "X$echo_testing_string" = "X$echo_test_string"; then +	# Cool, printf works +	: +      elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && +	   test "X$echo_testing_string" = 'X\t' && +	   echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && +	   test "X$echo_testing_string" = "X$echo_test_string"; then +	CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL +	export CONFIG_SHELL +	SHELL="$CONFIG_SHELL" +	export SHELL +	echo="$CONFIG_SHELL $0 --fallback-echo" +      elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && +	   test "X$echo_testing_string" = 'X\t' && +	   echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && +	   test "X$echo_testing_string" = "X$echo_test_string"; then +	echo="$CONFIG_SHELL $0 --fallback-echo" +      else +	# maybe with a smaller string... +	prev=: + +	for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do +	  if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null +	  then +	    break +	  fi +	  prev="$cmd" +	done + +	if test "$prev" != 'sed 50q "$0"'; then +	  echo_test_string=`eval $prev` +	  export echo_test_string +	  exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"} +	else +	  # Oops.  We lost completely, so just stick with echo. +	  echo=echo +	fi +      fi +    fi +  fi +fi +fi + +# Copy echo and quote the copy suitably for passing to libtool from +# the Makefile, instead of quoting the original, which is used later. +ECHO=$echo +if test "X$ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then +   ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo" +fi + + +ac_help="$ac_help +  --disable-libtool-lock  avoid locking (might break parallel builds)" +ac_help="$ac_help +  --with-pic              try to use only PIC/non-PIC objects [default=use both]" + +# Initialize some variables set by options. +# The variables have the same names as the options, with +# dashes changed to underlines. +build=NONE +cache_file=./config.cache +exec_prefix=NONE +host=NONE +no_create= +nonopt=NONE +no_recursion= +prefix=NONE +program_prefix=NONE +program_suffix=NONE +program_transform_name=s,x,x, +silent= +site= +srcdir= +target=NONE +verbose= +x_includes=NONE +x_libraries=NONE +bindir='${exec_prefix}/bin' +sbindir='${exec_prefix}/sbin' +libexecdir='${exec_prefix}/libexec' +datadir='${prefix}/share' +sysconfdir='${prefix}/etc' +sharedstatedir='${prefix}/com' +localstatedir='${prefix}/var' +libdir='${exec_prefix}/lib' +includedir='${prefix}/include' +oldincludedir='/usr/include' +infodir='${prefix}/info' +mandir='${prefix}/man' + +# Initialize some other variables. +subdirs= +MFLAGS= MAKEFLAGS= +SHELL=${CONFIG_SHELL-/bin/sh} +# Maximum number of lines to put in a shell here document. +ac_max_here_lines=12 + +ac_prev= +for ac_option +do + +  # If the previous option needs an argument, assign it. +  if test -n "$ac_prev"; then +    eval "$ac_prev=\$ac_option" +    ac_prev= +    continue +  fi + +  case "$ac_option" in +  -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;; +  *) ac_optarg= ;; +  esac + +  # Accept the important Cygnus configure options, so we can diagnose typos. + +  case "$ac_option" in + +  -bindir | --bindir | --bindi | --bind | --bin | --bi) +    ac_prev=bindir ;; +  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) +    bindir="$ac_optarg" ;; + +  -build | --build | --buil | --bui | --bu) +    ac_prev=build ;; +  -build=* | --build=* | --buil=* | --bui=* | --bu=*) +    build="$ac_optarg" ;; + +  -cache-file | --cache-file | --cache-fil | --cache-fi \ +  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) +    ac_prev=cache_file ;; +  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ +  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) +    cache_file="$ac_optarg" ;; + +  -datadir | --datadir | --datadi | --datad | --data | --dat | --da) +    ac_prev=datadir ;; +  -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ +  | --da=*) +    datadir="$ac_optarg" ;; + +  -disable-* | --disable-*) +    ac_feature=`echo $ac_option|sed -e 's/-*disable-//'` +    # Reject names that are not valid shell variable names. +    if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then +      { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } +    fi +    ac_feature=`echo $ac_feature| sed 's/-/_/g'` +    eval "enable_${ac_feature}=no" ;; + +  -enable-* | --enable-*) +    ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'` +    # Reject names that are not valid shell variable names. +    if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then +      { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } +    fi +    ac_feature=`echo $ac_feature| sed 's/-/_/g'` +    case "$ac_option" in +      *=*) ;; +      *) ac_optarg=yes ;; +    esac +    eval "enable_${ac_feature}='$ac_optarg'" ;; + +  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ +  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ +  | --exec | --exe | --ex) +    ac_prev=exec_prefix ;; +  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ +  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ +  | --exec=* | --exe=* | --ex=*) +    exec_prefix="$ac_optarg" ;; + +  -gas | --gas | --ga | --g) +    # Obsolete; use --with-gas. +    with_gas=yes ;; + +  -help | --help | --hel | --he) +    # Omit some internal or obsolete options to make the list less imposing. +    # This message is too long to be a string in the A/UX 3.1 sh. +    cat << EOF +Usage: configure [options] [host] +Options: [defaults in brackets after descriptions] +Configuration: +  --cache-file=FILE       cache test results in FILE +  --help                  print this message +  --no-create             do not create output files +  --quiet, --silent       do not print \`checking...' messages +  --version               print the version of autoconf that created configure +Directory and file names: +  --prefix=PREFIX         install architecture-independent files in PREFIX +                          [$ac_default_prefix] +  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX +                          [same as prefix] +  --bindir=DIR            user executables in DIR [EPREFIX/bin] +  --sbindir=DIR           system admin executables in DIR [EPREFIX/sbin] +  --libexecdir=DIR        program executables in DIR [EPREFIX/libexec] +  --datadir=DIR           read-only architecture-independent data in DIR +                          [PREFIX/share] +  --sysconfdir=DIR        read-only single-machine data in DIR [PREFIX/etc] +  --sharedstatedir=DIR    modifiable architecture-independent data in DIR +                          [PREFIX/com] +  --localstatedir=DIR     modifiable single-machine data in DIR [PREFIX/var] +  --libdir=DIR            object code libraries in DIR [EPREFIX/lib] +  --includedir=DIR        C header files in DIR [PREFIX/include] +  --oldincludedir=DIR     C header files for non-gcc in DIR [/usr/include] +  --infodir=DIR           info documentation in DIR [PREFIX/info] +  --mandir=DIR            man documentation in DIR [PREFIX/man] +  --srcdir=DIR            find the sources in DIR [configure dir or ..] +  --program-prefix=PREFIX prepend PREFIX to installed program names +  --program-suffix=SUFFIX append SUFFIX to installed program names +  --program-transform-name=PROGRAM +                          run sed PROGRAM on installed program names +EOF +    cat << EOF +Host type: +  --build=BUILD           configure for building on BUILD [BUILD=HOST] +  --host=HOST             configure for HOST [guessed] +  --target=TARGET         configure for TARGET [TARGET=HOST] +Features and packages: +  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no) +  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes] +  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes] +  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no) +  --x-includes=DIR        X include files are in DIR +  --x-libraries=DIR       X library files are in DIR +EOF +    if test -n "$ac_help"; then +      echo "--enable and --with options recognized:$ac_help" +    fi +    exit 0 ;; + +  -host | --host | --hos | --ho) +    ac_prev=host ;; +  -host=* | --host=* | --hos=* | --ho=*) +    host="$ac_optarg" ;; + +  -includedir | --includedir | --includedi | --included | --include \ +  | --includ | --inclu | --incl | --inc) +    ac_prev=includedir ;; +  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ +  | --includ=* | --inclu=* | --incl=* | --inc=*) +    includedir="$ac_optarg" ;; + +  -infodir | --infodir | --infodi | --infod | --info | --inf) +    ac_prev=infodir ;; +  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) +    infodir="$ac_optarg" ;; + +  -libdir | --libdir | --libdi | --libd) +    ac_prev=libdir ;; +  -libdir=* | --libdir=* | --libdi=* | --libd=*) +    libdir="$ac_optarg" ;; + +  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ +  | --libexe | --libex | --libe) +    ac_prev=libexecdir ;; +  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ +  | --libexe=* | --libex=* | --libe=*) +    libexecdir="$ac_optarg" ;; + +  -localstatedir | --localstatedir | --localstatedi | --localstated \ +  | --localstate | --localstat | --localsta | --localst \ +  | --locals | --local | --loca | --loc | --lo) +    ac_prev=localstatedir ;; +  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ +  | --localstate=* | --localstat=* | --localsta=* | --localst=* \ +  | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) +    localstatedir="$ac_optarg" ;; + +  -mandir | --mandir | --mandi | --mand | --man | --ma | --m) +    ac_prev=mandir ;; +  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) +    mandir="$ac_optarg" ;; + +  -nfp | --nfp | --nf) +    # Obsolete; use --without-fp. +    with_fp=no ;; + +  -no-create | --no-create | --no-creat | --no-crea | --no-cre \ +  | --no-cr | --no-c) +    no_create=yes ;; + +  -no-recursion | --no-recursion | --no-recursio | --no-recursi \ +  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) +    no_recursion=yes ;; + +  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ +  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ +  | --oldin | --oldi | --old | --ol | --o) +    ac_prev=oldincludedir ;; +  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ +  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ +  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) +    oldincludedir="$ac_optarg" ;; + +  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) +    ac_prev=prefix ;; +  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) +    prefix="$ac_optarg" ;; + +  -program-prefix | --program-prefix | --program-prefi | --program-pref \ +  | --program-pre | --program-pr | --program-p) +    ac_prev=program_prefix ;; +  -program-prefix=* | --program-prefix=* | --program-prefi=* \ +  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) +    program_prefix="$ac_optarg" ;; + +  -program-suffix | --program-suffix | --program-suffi | --program-suff \ +  | --program-suf | --program-su | --program-s) +    ac_prev=program_suffix ;; +  -program-suffix=* | --program-suffix=* | --program-suffi=* \ +  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) +    program_suffix="$ac_optarg" ;; + +  -program-transform-name | --program-transform-name \ +  | --program-transform-nam | --program-transform-na \ +  | --program-transform-n | --program-transform- \ +  | --program-transform | --program-transfor \ +  | --program-transfo | --program-transf \ +  | --program-trans | --program-tran \ +  | --progr-tra | --program-tr | --program-t) +    ac_prev=program_transform_name ;; +  -program-transform-name=* | --program-transform-name=* \ +  | --program-transform-nam=* | --program-transform-na=* \ +  | --program-transform-n=* | --program-transform-=* \ +  | --program-transform=* | --program-transfor=* \ +  | --program-transfo=* | --program-transf=* \ +  | --program-trans=* | --program-tran=* \ +  | --progr-tra=* | --program-tr=* | --program-t=*) +    program_transform_name="$ac_optarg" ;; + +  -q | -quiet | --quiet | --quie | --qui | --qu | --q \ +  | -silent | --silent | --silen | --sile | --sil) +    silent=yes ;; + +  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) +    ac_prev=sbindir ;; +  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ +  | --sbi=* | --sb=*) +    sbindir="$ac_optarg" ;; + +  -sharedstatedir | --sharedstatedir | --sharedstatedi \ +  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ +  | --sharedst | --shareds | --shared | --share | --shar \ +  | --sha | --sh) +    ac_prev=sharedstatedir ;; +  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ +  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ +  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ +  | --sha=* | --sh=*) +    sharedstatedir="$ac_optarg" ;; + +  -site | --site | --sit) +    ac_prev=site ;; +  -site=* | --site=* | --sit=*) +    site="$ac_optarg" ;; + +  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) +    ac_prev=srcdir ;; +  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) +    srcdir="$ac_optarg" ;; + +  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ +  | --syscon | --sysco | --sysc | --sys | --sy) +    ac_prev=sysconfdir ;; +  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ +  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) +    sysconfdir="$ac_optarg" ;; + +  -target | --target | --targe | --targ | --tar | --ta | --t) +    ac_prev=target ;; +  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) +    target="$ac_optarg" ;; + +  -v | -verbose | --verbose | --verbos | --verbo | --verb) +    verbose=yes ;; + +  -version | --version | --versio | --versi | --vers) +    echo "configure generated by autoconf version 2.13" +    exit 0 ;; + +  -with-* | --with-*) +    ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'` +    # Reject names that are not valid shell variable names. +    if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then +      { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } +    fi +    ac_package=`echo $ac_package| sed 's/-/_/g'` +    case "$ac_option" in +      *=*) ;; +      *) ac_optarg=yes ;; +    esac +    eval "with_${ac_package}='$ac_optarg'" ;; + +  -without-* | --without-*) +    ac_package=`echo $ac_option|sed -e 's/-*without-//'` +    # Reject names that are not valid shell variable names. +    if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then +      { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } +    fi +    ac_package=`echo $ac_package| sed 's/-/_/g'` +    eval "with_${ac_package}=no" ;; + +  --x) +    # Obsolete; use --with-x. +    with_x=yes ;; + +  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ +  | --x-incl | --x-inc | --x-in | --x-i) +    ac_prev=x_includes ;; +  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ +  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) +    x_includes="$ac_optarg" ;; + +  -x-libraries | --x-libraries | --x-librarie | --x-librari \ +  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) +    ac_prev=x_libraries ;; +  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ +  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) +    x_libraries="$ac_optarg" ;; + +  -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; } +    ;; + +  *) +    if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then +      echo "configure: warning: $ac_option: invalid host type" 1>&2 +    fi +    if test "x$nonopt" != xNONE; then +      { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } +    fi +    nonopt="$ac_option" +    ;; + +  esac +done + +if test -n "$ac_prev"; then +  { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; } +fi + +trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 + +# File descriptor usage: +# 0 standard input +# 1 file creation +# 2 errors and warnings +# 3 some systems may open it to /dev/tty +# 4 used on the Kubota Titan +# 6 checking for... messages and results +# 5 compiler messages saved in config.log +if test "$silent" = yes; then +  exec 6>/dev/null +else +  exec 6>&1 +fi +exec 5>./config.log + +echo "\ +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. +" 1>&5 + +# Strip out --no-create and --no-recursion so they do not pile up. +# Also quote any args containing shell metacharacters. +ac_configure_args= +for ac_arg +do +  case "$ac_arg" in +  -no-create | --no-create | --no-creat | --no-crea | --no-cre \ +  | --no-cr | --no-c) ;; +  -no-recursion | --no-recursion | --no-recursio | --no-recursi \ +  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;; +  *" "*|*"	"*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*) +  ac_configure_args="$ac_configure_args '$ac_arg'" ;; +  *) ac_configure_args="$ac_configure_args $ac_arg" ;; +  esac +done + +# NLS nuisances. +# Only set these to C if already set.  These must not be set unconditionally +# because not all systems understand e.g. LANG=C (notably SCO). +# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'! +# Non-C LC_CTYPE values break the ctype check. +if test "${LANG+set}"   = set; then LANG=C;   export LANG;   fi +if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi +if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi +if test "${LC_CTYPE+set}"    = set; then LC_CTYPE=C;    export LC_CTYPE;    fi + +# confdefs.h avoids OS command line length limits that DEFS can exceed. +rm -rf conftest* confdefs.h +# AIX cpp loses on an empty file, so make sure it contains at least a newline. +echo > confdefs.h + +# A filename unique to this package, relative to the directory that +# configure is in, which we can look for to find out if srcdir is correct. +ac_unique_file= + +# Find the source files, if location was not specified. +if test -z "$srcdir"; then +  ac_srcdir_defaulted=yes +  # Try the directory containing this script, then its parent. +  ac_prog=$0 +  ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'` +  test "x$ac_confdir" = "x$ac_prog" && ac_confdir=. +  srcdir=$ac_confdir +  if test ! -r $srcdir/$ac_unique_file; then +    srcdir=.. +  fi +else +  ac_srcdir_defaulted=no +fi +if test ! -r $srcdir/$ac_unique_file; then +  if test "$ac_srcdir_defaulted" = yes; then +    { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; } +  else +    { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; } +  fi +fi +srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'` + +# Prefer explicitly selected file to automatically selected ones. +if test -z "$CONFIG_SITE"; then +  if test "x$prefix" != xNONE; then +    CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" +  else +    CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" +  fi +fi +for ac_site_file in $CONFIG_SITE; do +  if test -r "$ac_site_file"; then +    echo "loading site script $ac_site_file" +    . "$ac_site_file" +  fi +done + +if test -r "$cache_file"; then +  echo "loading cache $cache_file" +  . $cache_file +else +  echo "creating cache $cache_file" +  > $cache_file +fi + +ac_ext=c +# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. +ac_cpp='$CPP $CPPFLAGS' +ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' +ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +cross_compiling=$ac_cv_prog_cc_cross + +ac_exeext= +ac_objext=o +if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then +  # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu. +  if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then +    ac_n= ac_c=' +' ac_t='	' +  else +    ac_n=-n ac_c= ac_t= +  fi +else +  ac_n= ac_c='\c' ac_t= +fi + + +ac_aux_dir= +for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do +  if test -f $ac_dir/install-sh; then +    ac_aux_dir=$ac_dir +    ac_install_sh="$ac_aux_dir/install-sh -c" +    break +  elif test -f $ac_dir/install.sh; then +    ac_aux_dir=$ac_dir +    ac_install_sh="$ac_aux_dir/install.sh -c" +    break +  fi +done +if test -z "$ac_aux_dir"; then +  { echo "configure: error: can not find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." 1>&2; exit 1; } +fi +ac_config_guess=$ac_aux_dir/config.guess +ac_config_sub=$ac_aux_dir/config.sub +ac_configure=$ac_aux_dir/configure # This should be Cygnus configure. + +# Find a good install program.  We prefer a C program (faster), +# so one script is as good as another.  But avoid the broken or +# incompatible versions: +# SysV /etc/install, /usr/sbin/install +# SunOS /usr/etc/install +# IRIX /sbin/install +# AIX /bin/install +# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag +# AFS /usr/afsws/bin/install, which mishandles nonexistent args +# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# ./install, which can be erroneously created by make from ./install.sh. +echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 +echo "configure:727: checking for a BSD compatible install" >&5 +if test -z "$INSTALL"; then +if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then +  echo $ac_n "(cached) $ac_c" 1>&6 +else +    IFS="${IFS= 	}"; ac_save_IFS="$IFS"; IFS=":" +  for ac_dir in $PATH; do +    # Account for people who put trailing slashes in PATH elements. +    case "$ac_dir/" in +    /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;; +    *) +      # OSF1 and SCO ODT 3.0 have their own names for install. +      # Don't use installbsd from OSF since it installs stuff as root +      # by default. +      for ac_prog in ginstall scoinst install; do +        if test -f $ac_dir/$ac_prog; then +	  if test $ac_prog = install && +            grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then +	    # AIX install.  It has an incompatible calling convention. +	    : +	  else +	    ac_cv_path_install="$ac_dir/$ac_prog -c" +	    break 2 +	  fi +	fi +      done +      ;; +    esac +  done +  IFS="$ac_save_IFS" + +fi +  if test "${ac_cv_path_install+set}" = set; then +    INSTALL="$ac_cv_path_install" +  else +    # As a last resort, use the slow shell script.  We don't cache a +    # path for INSTALL within a source directory, because that will +    # break other packages using the cache if that directory is +    # removed, or if the path is relative. +    INSTALL="$ac_install_sh" +  fi +fi +echo "$ac_t""$INSTALL" 1>&6 + +# Use test -z because SunOS4 sh mishandles braces in ${var-val}. +# It thinks the first close brace ends the variable substitution. +test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' + +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}' + +test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + +echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6 +echo "configure:780: checking whether build environment is sane" >&5 +# Just in case +sleep 1 +echo timestamp > conftestfile +# Do `set' in a subshell so we don't clobber the current shell's +# arguments.  Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( +   set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null` +   if test "$*" = "X"; then +      # -L didn't work. +      set X `ls -t $srcdir/configure conftestfile` +   fi +   if test "$*" != "X $srcdir/configure conftestfile" \ +      && test "$*" != "X conftestfile $srcdir/configure"; then + +      # If neither matched, then we have a broken ls.  This can happen +      # if, for instance, CONFIG_SHELL is bash and it inherits a +      # broken ls alias from the environment.  This has actually +      # happened.  Such a system could not be considered "sane". +      { echo "configure: error: ls -t appears to fail.  Make sure there is not a broken +alias in your environment" 1>&2; exit 1; } +   fi + +   test "$2" = conftestfile +   ) +then +   # Ok. +   : +else +   { echo "configure: error: newly created file is older than distributed files! +Check your system clock" 1>&2; exit 1; } +fi +rm -f conftest* +echo "$ac_t""yes" 1>&6 +if test "$program_transform_name" = s,x,x,; then +  program_transform_name= +else +  # Double any \ or $.  echo might interpret backslashes. +  cat <<\EOF_SED > conftestsed +s,\\,\\\\,g; s,\$,$$,g +EOF_SED +  program_transform_name="`echo $program_transform_name|sed -f conftestsed`" +  rm -f conftestsed +fi +test "$program_prefix" != NONE && +  program_transform_name="s,^,${program_prefix},; $program_transform_name" +# Use a double $ so make ignores it. +test "$program_suffix" != NONE && +  program_transform_name="s,\$\$,${program_suffix},; $program_transform_name" + +# sed with no file args requires a program. +test "$program_transform_name" = "" && program_transform_name="s,x,x," + +echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6 +echo "configure:837: checking whether ${MAKE-make} sets \${MAKE}" >&5 +set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then +  echo $ac_n "(cached) $ac_c" 1>&6 +else +  cat > conftestmake <<\EOF +all: +	@echo 'ac_maketemp="${MAKE}"' +EOF +# GNU make sometimes prints "make[1]: Entering...", which would confuse us. +eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=` +if test -n "$ac_maketemp"; then +  eval ac_cv_prog_make_${ac_make}_set=yes +else +  eval ac_cv_prog_make_${ac_make}_set=no +fi +rm -f conftestmake +fi +if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then +  echo "$ac_t""yes" 1>&6 +  SET_MAKE= +else +  echo "$ac_t""no" 1>&6 +  SET_MAKE="MAKE=${MAKE-make}" +fi + + +PACKAGE=bluez-libs + +VERSION=2.0 + +if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then +  { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; } +fi +cat >> confdefs.h <<EOF +#define PACKAGE "$PACKAGE" +EOF + +cat >> confdefs.h <<EOF +#define VERSION "$VERSION" +EOF + + + +missing_dir=`cd $ac_aux_dir && pwd` +echo $ac_n "checking for working aclocal""... $ac_c" 1>&6 +echo "configure:883: checking for working aclocal" >&5 +# Run test in a subshell; some versions of sh will print an error if +# an executable is not found, even if stderr is redirected. +# Redirect stdin to placate older versions of autoconf.  Sigh. +if (aclocal --version) < /dev/null > /dev/null 2>&1; then +   ACLOCAL=aclocal +   echo "$ac_t""found" 1>&6 +else +   ACLOCAL="$missing_dir/missing aclocal" +   echo "$ac_t""missing" 1>&6 +fi + +echo $ac_n "checking for working autoconf""... $ac_c" 1>&6 +echo "configure:896: checking for working autoconf" >&5 +# Run test in a subshell; some versions of sh will print an error if +# an executable is not found, even if stderr is redirected. +# Redirect stdin to placate older versions of autoconf.  Sigh. +if (autoconf --version) < /dev/null > /dev/null 2>&1; then +   AUTOCONF=autoconf +   echo "$ac_t""found" 1>&6 +else +   AUTOCONF="$missing_dir/missing autoconf" +   echo "$ac_t""missing" 1>&6 +fi + +echo $ac_n "checking for working automake""... $ac_c" 1>&6 +echo "configure:909: checking for working automake" >&5 +# Run test in a subshell; some versions of sh will print an error if +# an executable is not found, even if stderr is redirected. +# Redirect stdin to placate older versions of autoconf.  Sigh. +if (automake --version) < /dev/null > /dev/null 2>&1; then +   AUTOMAKE=automake +   echo "$ac_t""found" 1>&6 +else +   AUTOMAKE="$missing_dir/missing automake" +   echo "$ac_t""missing" 1>&6 +fi + +echo $ac_n "checking for working autoheader""... $ac_c" 1>&6 +echo "configure:922: checking for working autoheader" >&5 +# Run test in a subshell; some versions of sh will print an error if +# an executable is not found, even if stderr is redirected. +# Redirect stdin to placate older versions of autoconf.  Sigh. +if (autoheader --version) < /dev/null > /dev/null 2>&1; then +   AUTOHEADER=autoheader +   echo "$ac_t""found" 1>&6 +else +   AUTOHEADER="$missing_dir/missing autoheader" +   echo "$ac_t""missing" 1>&6 +fi + +echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6 +echo "configure:935: checking for working makeinfo" >&5 +# Run test in a subshell; some versions of sh will print an error if +# an executable is not found, even if stderr is redirected. +# Redirect stdin to placate older versions of autoconf.  Sigh. +if (makeinfo --version) < /dev/null > /dev/null 2>&1; then +   MAKEINFO=makeinfo +   echo "$ac_t""found" 1>&6 +else +   MAKEINFO="$missing_dir/missing makeinfo" +   echo "$ac_t""missing" 1>&6 +fi + + + + + + + + +# Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:957: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then +  echo $ac_n "(cached) $ac_c" 1>&6 +else +  if test -n "$CC"; then +  ac_cv_prog_CC="$CC" # Let the user override the test. +else +  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":" +  ac_dummy="$PATH" +  for ac_dir in $ac_dummy; do +    test -z "$ac_dir" && ac_dir=. +    if test -f $ac_dir/$ac_word; then +      ac_cv_prog_CC="gcc" +      break +    fi +  done +  IFS="$ac_save_ifs" +fi +fi +CC="$ac_cv_prog_CC" +if test -n "$CC"; then +  echo "$ac_t""$CC" 1>&6 +else +  echo "$ac_t""no" 1>&6 +fi + +if test -z "$CC"; then +  # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:987: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then +  echo $ac_n "(cached) $ac_c" 1>&6 +else +  if test -n "$CC"; then +  ac_cv_prog_CC="$CC" # Let the user override the test. +else +  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":" +  ac_prog_rejected=no +  ac_dummy="$PATH" +  for ac_dir in $ac_dummy; do +    test -z "$ac_dir" && ac_dir=. +    if test -f $ac_dir/$ac_word; then +      if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then +        ac_prog_rejected=yes +	continue +      fi +      ac_cv_prog_CC="cc" +      break +    fi +  done +  IFS="$ac_save_ifs" +if test $ac_prog_rejected = yes; then +  # We found a bogon in the path, so make sure we never use it. +  set dummy $ac_cv_prog_CC +  shift +  if test $# -gt 0; then +    # We chose a different compiler from the bogus one. +    # However, it has the same basename, so the bogon will be chosen +    # first if we set CC to just the basename; use the full file name. +    shift +    set dummy "$ac_dir/$ac_word" "$@" +    shift +    ac_cv_prog_CC="$@" +  fi +fi +fi +fi +CC="$ac_cv_prog_CC" +if test -n "$CC"; then +  echo "$ac_t""$CC" 1>&6 +else +  echo "$ac_t""no" 1>&6 +fi + +  if test -z "$CC"; then +    case "`uname -s`" in +    *win32* | *WIN32*) +      # Extract the first word of "cl", so it can be a program name with args. +set dummy cl; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:1038: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then +  echo $ac_n "(cached) $ac_c" 1>&6 +else +  if test -n "$CC"; then +  ac_cv_prog_CC="$CC" # Let the user override the test. +else +  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":" +  ac_dummy="$PATH" +  for ac_dir in $ac_dummy; do +    test -z "$ac_dir" && ac_dir=. +    if test -f $ac_dir/$ac_word; then +      ac_cv_prog_CC="cl" +      break +    fi +  done +  IFS="$ac_save_ifs" +fi +fi +CC="$ac_cv_prog_CC" +if test -n "$CC"; then +  echo "$ac_t""$CC" 1>&6 +else +  echo "$ac_t""no" 1>&6 +fi + ;; +    esac +  fi +  test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; } +fi + +echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 +echo "configure:1070: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 + +ac_ext=c +# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. +ac_cpp='$CPP $CPPFLAGS' +ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' +ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +cross_compiling=$ac_cv_prog_cc_cross + +cat > conftest.$ac_ext << EOF + +#line 1081 "configure" +#include "confdefs.h" + +main(){return(0);} +EOF +if { (eval echo configure:1086: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +  ac_cv_prog_cc_works=yes +  # If we can't run a trivial program, we are probably using a cross compiler. +  if (./conftest; exit) 2>/dev/null; then +    ac_cv_prog_cc_cross=no +  else +    ac_cv_prog_cc_cross=yes +  fi +else +  echo "configure: failed program was:" >&5 +  cat conftest.$ac_ext >&5 +  ac_cv_prog_cc_works=no +fi +rm -fr conftest* +ac_ext=c +# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. +ac_cpp='$CPP $CPPFLAGS' +ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' +ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +cross_compiling=$ac_cv_prog_cc_cross + +echo "$ac_t""$ac_cv_prog_cc_works" 1>&6 +if test $ac_cv_prog_cc_works = no; then +  { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; } +fi +echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6 +echo "configure:1112: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6 +cross_compiling=$ac_cv_prog_cc_cross + +echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6 +echo "configure:1117: checking whether we are using GNU C" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then +  echo $ac_n "(cached) $ac_c" 1>&6 +else +  cat > conftest.c <<EOF +#ifdef __GNUC__ +  yes; +#endif +EOF +if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1126: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then +  ac_cv_prog_gcc=yes +else +  ac_cv_prog_gcc=no +fi +fi + +echo "$ac_t""$ac_cv_prog_gcc" 1>&6 + +if test $ac_cv_prog_gcc = yes; then +  GCC=yes +else +  GCC= +fi + +ac_test_CFLAGS="${CFLAGS+set}" +ac_save_CFLAGS="$CFLAGS" +CFLAGS= +echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 +echo "configure:1145: checking whether ${CC-cc} accepts -g" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then +  echo $ac_n "(cached) $ac_c" 1>&6 +else +  echo 'void f(){}' > conftest.c +if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then +  ac_cv_prog_cc_g=yes +else +  ac_cv_prog_cc_g=no +fi +rm -f conftest* + +fi + +echo "$ac_t""$ac_cv_prog_cc_g" 1>&6 +if test "$ac_test_CFLAGS" = set; then +  CFLAGS="$ac_save_CFLAGS" +elif test $ac_cv_prog_cc_g = yes; then +  if test "$GCC" = yes; then +    CFLAGS="-g -O2" +  else +    CFLAGS="-g" +  fi +else +  if test "$GCC" = yes; then +    CFLAGS="-O2" +  else +    CFLAGS= +  fi +fi + +# Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:1179: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then +  echo $ac_n "(cached) $ac_c" 1>&6 +else +  if test -n "$RANLIB"; then +  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":" +  ac_dummy="$PATH" +  for ac_dir in $ac_dummy; do +    test -z "$ac_dir" && ac_dir=. +    if test -f $ac_dir/$ac_word; then +      ac_cv_prog_RANLIB="ranlib" +      break +    fi +  done +  IFS="$ac_save_ifs" +  test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":" +fi +fi +RANLIB="$ac_cv_prog_RANLIB" +if test -n "$RANLIB"; then +  echo "$ac_t""$RANLIB" 1>&6 +else +  echo "$ac_t""no" 1>&6 +fi + +# Find a good install program.  We prefer a C program (faster), +# so one script is as good as another.  But avoid the broken or +# incompatible versions: +# SysV /etc/install, /usr/sbin/install +# SunOS /usr/etc/install +# IRIX /sbin/install +# AIX /bin/install +# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag +# AFS /usr/afsws/bin/install, which mishandles nonexistent args +# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# ./install, which can be erroneously created by make from ./install.sh. +echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 +echo "configure:1218: checking for a BSD compatible install" >&5 +if test -z "$INSTALL"; then +if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then +  echo $ac_n "(cached) $ac_c" 1>&6 +else +    IFS="${IFS= 	}"; ac_save_IFS="$IFS"; IFS=":" +  for ac_dir in $PATH; do +    # Account for people who put trailing slashes in PATH elements. +    case "$ac_dir/" in +    /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;; +    *) +      # OSF1 and SCO ODT 3.0 have their own names for install. +      # Don't use installbsd from OSF since it installs stuff as root +      # by default. +      for ac_prog in ginstall scoinst install; do +        if test -f $ac_dir/$ac_prog; then +	  if test $ac_prog = install && +            grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then +	    # AIX install.  It has an incompatible calling convention. +	    : +	  else +	    ac_cv_path_install="$ac_dir/$ac_prog -c" +	    break 2 +	  fi +	fi +      done +      ;; +    esac +  done +  IFS="$ac_save_IFS" + +fi +  if test "${ac_cv_path_install+set}" = set; then +    INSTALL="$ac_cv_path_install" +  else +    # As a last resort, use the slow shell script.  We don't cache a +    # path for INSTALL within a source directory, because that will +    # break other packages using the cache if that directory is +    # removed, or if the path is relative. +    INSTALL="$ac_install_sh" +  fi +fi +echo "$ac_t""$INSTALL" 1>&6 + +# Use test -z because SunOS4 sh mishandles braces in ${var-val}. +# It thinks the first close brace ends the variable substitution. +test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' + +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}' + +test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + +echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6 +echo "configure:1271: checking for Cygwin environment" >&5 +if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then +  echo $ac_n "(cached) $ac_c" 1>&6 +else +  cat > conftest.$ac_ext <<EOF +#line 1276 "configure" +#include "confdefs.h" + +int main() { + +#ifndef __CYGWIN__ +#define __CYGWIN__ __CYGWIN32__ +#endif +return __CYGWIN__; +; return 0; } +EOF +if { (eval echo configure:1287: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +  rm -rf conftest* +  ac_cv_cygwin=yes +else +  echo "configure: failed program was:" >&5 +  cat conftest.$ac_ext >&5 +  rm -rf conftest* +  ac_cv_cygwin=no +fi +rm -f conftest* +rm -f conftest* +fi + +echo "$ac_t""$ac_cv_cygwin" 1>&6 +CYGWIN= +test "$ac_cv_cygwin" = yes && CYGWIN=yes +echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6 +echo "configure:1304: checking for mingw32 environment" >&5 +if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then +  echo $ac_n "(cached) $ac_c" 1>&6 +else +  cat > conftest.$ac_ext <<EOF +#line 1309 "configure" +#include "confdefs.h" + +int main() { +return __MINGW32__; +; return 0; } +EOF +if { (eval echo configure:1316: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +  rm -rf conftest* +  ac_cv_mingw32=yes +else +  echo "configure: failed program was:" >&5 +  cat conftest.$ac_ext >&5 +  rm -rf conftest* +  ac_cv_mingw32=no +fi +rm -f conftest* +rm -f conftest* +fi + +echo "$ac_t""$ac_cv_mingw32" 1>&6 +MINGW32= +test "$ac_cv_mingw32" = yes && MINGW32=yes +echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 +echo "configure:1333: checking how to run the C preprocessor" >&5 +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then +  CPP= +fi +if test -z "$CPP"; then +if eval "test \"`echo '$''{'ac_cv_prog_CPP'+set}'`\" = set"; then +  echo $ac_n "(cached) $ac_c" 1>&6 +else +    # This must be in double quotes, not single quotes, because CPP may get +  # substituted into the Makefile and "${CC-cc}" will confuse make. +  CPP="${CC-cc} -E" +  # On the NeXT, cc -E runs the code through the compiler's parser, +  # not just through cpp. +  cat > conftest.$ac_ext <<EOF +#line 1348 "configure" +#include "confdefs.h" +#include <assert.h> +Syntax Error +EOF +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:1354: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then +  : +else +  echo "$ac_err" >&5 +  echo "configure: failed program was:" >&5 +  cat conftest.$ac_ext >&5 +  rm -rf conftest* +  CPP="${CC-cc} -E -traditional-cpp" +  cat > conftest.$ac_ext <<EOF +#line 1365 "configure" +#include "confdefs.h" +#include <assert.h> +Syntax Error +EOF +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:1371: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then +  : +else +  echo "$ac_err" >&5 +  echo "configure: failed program was:" >&5 +  cat conftest.$ac_ext >&5 +  rm -rf conftest* +  CPP="${CC-cc} -nologo -E" +  cat > conftest.$ac_ext <<EOF +#line 1382 "configure" +#include "confdefs.h" +#include <assert.h> +Syntax Error +EOF +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:1388: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then +  : +else +  echo "$ac_err" >&5 +  echo "configure: failed program was:" >&5 +  cat conftest.$ac_ext >&5 +  rm -rf conftest* +  CPP=/lib/cpp +fi +rm -f conftest* +fi +rm -f conftest* +fi +rm -f conftest* +  ac_cv_prog_CPP="$CPP" +fi +  CPP="$ac_cv_prog_CPP" +else +  ac_cv_prog_CPP="$CPP" +fi +echo "$ac_t""$CPP" 1>&6 + +# Check whether --enable-shared or --disable-shared was given. +if test "${enable_shared+set}" = set; then +  enableval="$enable_shared" +  p=${PACKAGE-default} +case $enableval in +yes) enable_shared=yes ;; +no) enable_shared=no ;; +*) +  enable_shared=no +  # Look at the argument we got.  We use all the common list separators. +  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}:," +  for pkg in $enableval; do +    if test "X$pkg" = "X$p"; then +      enable_shared=yes +    fi +  done +  IFS="$ac_save_ifs" +  ;; +esac +else +  enable_shared=yes +fi + +# Check whether --enable-static or --disable-static was given. +if test "${enable_static+set}" = set; then +  enableval="$enable_static" +  p=${PACKAGE-default} +case $enableval in +yes) enable_static=yes ;; +no) enable_static=no ;; +*) +  enable_static=no +  # Look at the argument we got.  We use all the common list separators. +  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}:," +  for pkg in $enableval; do +    if test "X$pkg" = "X$p"; then +      enable_static=yes +    fi +  done +  IFS="$ac_save_ifs" +  ;; +esac +else +  enable_static=yes +fi + +# Check whether --enable-fast-install or --disable-fast-install was given. +if test "${enable_fast_install+set}" = set; then +  enableval="$enable_fast_install" +  p=${PACKAGE-default} +case $enableval in +yes) enable_fast_install=yes ;; +no) enable_fast_install=no ;; +*) +  enable_fast_install=no +  # Look at the argument we got.  We use all the common list separators. +  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}:," +  for pkg in $enableval; do +    if test "X$pkg" = "X$p"; then +      enable_fast_install=yes +    fi +  done +  IFS="$ac_save_ifs" +  ;; +esac +else +  enable_fast_install=yes +fi + + +# Make sure we can run config.sub. +if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then : +else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; } +fi + +echo $ac_n "checking host system type""... $ac_c" 1>&6 +echo "configure:1488: checking host system type" >&5 + +host_alias=$host +case "$host_alias" in +NONE) +  case $nonopt in +  NONE) +    if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then : +    else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; } +    fi ;; +  *) host_alias=$nonopt ;; +  esac ;; +esac + +host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias` +host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` +host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` +host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` +echo "$ac_t""$host" 1>&6 + +echo $ac_n "checking build system type""... $ac_c" 1>&6 +echo "configure:1509: checking build system type" >&5 + +build_alias=$build +case "$build_alias" in +NONE) +  case $nonopt in +  NONE) build_alias=$host_alias ;; +  *) build_alias=$nonopt ;; +  esac ;; +esac + +build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias` +build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` +build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` +build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` +echo "$ac_t""$build" 1>&6 + +# Check whether --with-gnu-ld or --without-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then +  withval="$with_gnu_ld" +  test "$withval" = no || with_gnu_ld=yes +else +  with_gnu_ld=no +fi + +ac_prog=ld +if test "$GCC" = yes; then +  # Check if gcc -print-prog-name=ld gives a path. +  echo $ac_n "checking for ld used by GCC""... $ac_c" 1>&6 +echo "configure:1538: checking for ld used by GCC" >&5 +  case $host in +  *-*-mingw*) +    # gcc leaves a trailing carriage return which upsets mingw +    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; +  *) +    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; +  esac +  case $ac_prog in +    # Accept absolute paths. +    [\\/]* | [A-Za-z]:[\\/]*) +      re_direlt='/[^/][^/]*/\.\./' +      # Canonicalize the path of ld +      ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` +      while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do +	ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` +      done +      test -z "$LD" && LD="$ac_prog" +      ;; +  "") +    # If it fails, then pretend we aren't using GCC. +    ac_prog=ld +    ;; +  *) +    # If it is relative, then search for the first ld in PATH. +    with_gnu_ld=unknown +    ;; +  esac +elif test "$with_gnu_ld" = yes; then +  echo $ac_n "checking for GNU ld""... $ac_c" 1>&6 +echo "configure:1568: checking for GNU ld" >&5 +else +  echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6 +echo "configure:1571: checking for non-GNU ld" >&5 +fi +if eval "test \"`echo '$''{'lt_cv_path_LD'+set}'`\" = set"; then +  echo $ac_n "(cached) $ac_c" 1>&6 +else +  if test -z "$LD"; then +  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" +  for ac_dir in $PATH; do +    test -z "$ac_dir" && ac_dir=. +    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then +      lt_cv_path_LD="$ac_dir/$ac_prog" +      # Check to see if the program is GNU ld.  I'd rather use --version, +      # but apparently some GNU ld's only accept -v. +      # Break only if it was the GNU/non-GNU ld that we prefer. +      if "$lt_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then +	test "$with_gnu_ld" != no && break +      else +	test "$with_gnu_ld" != yes && break +      fi +    fi +  done +  IFS="$ac_save_ifs" +else +  lt_cv_path_LD="$LD" # Let the user override the test with a path. +fi +fi + +LD="$lt_cv_path_LD" +if test -n "$LD"; then +  echo "$ac_t""$LD" 1>&6 +else +  echo "$ac_t""no" 1>&6 +fi +test -z "$LD" && { echo "configure: error: no acceptable ld found in \$PATH" 1>&2; exit 1; } +echo $ac_n "checking if the linker ($LD) is GNU ld""... $ac_c" 1>&6 +echo "configure:1606: checking if the linker ($LD) is GNU ld" >&5 +if eval "test \"`echo '$''{'lt_cv_prog_gnu_ld'+set}'`\" = set"; then +  echo $ac_n "(cached) $ac_c" 1>&6 +else +  # I'd rather use --version here, but apparently some GNU ld's only accept -v. +if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then +  lt_cv_prog_gnu_ld=yes +else +  lt_cv_prog_gnu_ld=no +fi +fi + +echo "$ac_t""$lt_cv_prog_gnu_ld" 1>&6 +with_gnu_ld=$lt_cv_prog_gnu_ld + + +echo $ac_n "checking for $LD option to reload object files""... $ac_c" 1>&6 +echo "configure:1623: checking for $LD option to reload object files" >&5 +if eval "test \"`echo '$''{'lt_cv_ld_reload_flag'+set}'`\" = set"; then +  echo $ac_n "(cached) $ac_c" 1>&6 +else +  lt_cv_ld_reload_flag='-r' +fi + +echo "$ac_t""$lt_cv_ld_reload_flag" 1>&6 +reload_flag=$lt_cv_ld_reload_flag +test -n "$reload_flag" && reload_flag=" $reload_flag" + +echo $ac_n "checking for BSD-compatible nm""... $ac_c" 1>&6 +echo "configure:1635: checking for BSD-compatible nm" >&5 +if eval "test \"`echo '$''{'lt_cv_path_NM'+set}'`\" = set"; then +  echo $ac_n "(cached) $ac_c" 1>&6 +else +  if test -n "$NM"; then +  # Let the user override the test. +  lt_cv_path_NM="$NM" +else +  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" +  for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do +    test -z "$ac_dir" && ac_dir=. +    tmp_nm=$ac_dir/${ac_tool_prefix}nm +    if test -f $tmp_nm || test -f $tmp_nm$ac_exeext ; then +      # Check to see if the nm accepts a BSD-compat flag. +      # Adding the `sed 1q' prevents false positives on HP-UX, which says: +      #   nm: unknown option "B" ignored +      # Tru64's nm complains that /dev/null is an invalid object file +      if ($tmp_nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep '(/dev/null|Invalid file or object type)' >/dev/null; then +	lt_cv_path_NM="$tmp_nm -B" +	break +      elif ($tmp_nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then +	lt_cv_path_NM="$tmp_nm -p" +	break +      else +	lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but +	continue # so that we can try to find one that supports BSD flags +      fi +    fi +  done +  IFS="$ac_save_ifs" +  test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm +fi +fi + +NM="$lt_cv_path_NM" +echo "$ac_t""$NM" 1>&6 + +echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6 +echo "configure:1673: checking whether ln -s works" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then +  echo $ac_n "(cached) $ac_c" 1>&6 +else +  rm -f conftestdata +if ln -s X conftestdata 2>/dev/null +then +  rm -f conftestdata +  ac_cv_prog_LN_S="ln -s" +else +  ac_cv_prog_LN_S=ln +fi +fi +LN_S="$ac_cv_prog_LN_S" +if test "$ac_cv_prog_LN_S" = "ln -s"; then +  echo "$ac_t""yes" 1>&6 +else +  echo "$ac_t""no" 1>&6 +fi + +echo $ac_n "checking how to recognise dependant libraries""... $ac_c" 1>&6 +echo "configure:1694: checking how to recognise dependant libraries" >&5 +if eval "test \"`echo '$''{'lt_cv_deplibs_check_method'+set}'`\" = set"; then +  echo $ac_n "(cached) $ac_c" 1>&6 +else +  lt_cv_file_magic_cmd='$MAGIC_CMD' +lt_cv_file_magic_test_file= +lt_cv_deplibs_check_method='unknown' +# Need to set the preceding variable on all platforms that support +# interlibrary dependencies. +# 'none' -- dependencies not supported. +# `unknown' -- same as none, but documents that we really don't know. +# 'pass_all' -- all dependencies passed with no checks. +# 'test_compile' -- check by making test program. +# ['file_magic [regex]'] -- check by looking for files in library path +# which responds to the $file_magic_cmd with a given egrep regex. +# If you have `file' or equivalent on your system and you're not sure +# whether `pass_all' will *always* work, you probably want this one. + +case $host_os in +aix4* | aix5*) +  lt_cv_deplibs_check_method=pass_all +  ;; + +beos*) +  lt_cv_deplibs_check_method=pass_all +  ;; + +bsdi4*) +  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' +  lt_cv_file_magic_cmd='/usr/bin/file -L' +  lt_cv_file_magic_test_file=/shlib/libc.so +  ;; + +cygwin* | mingw* | pw32*) +  lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' +  lt_cv_file_magic_cmd='$OBJDUMP -f' +  ;; + +darwin* | rhapsody*) +  lt_cv_deplibs_check_method='file_magic Mach-O dynamically linked shared library' +  lt_cv_file_magic_cmd='/usr/bin/file -L' +  case "$host_os" in +  rhapsody* | darwin1.012) +    lt_cv_file_magic_test_file=`echo /System/Library/Frameworks/System.framework/Versions/*/System | head -1` +    ;; +  *) # Darwin 1.3 on +    lt_cv_file_magic_test_file='/usr/lib/libSystem.dylib' +    ;; +  esac +  ;; + +freebsd*) +  if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then +    case $host_cpu in +    i*86 ) +      # Not sure whether the presence of OpenBSD here was a mistake. +      # Let's accept both of them until this is cleared up. +      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD)/i[3-9]86 (compact )?demand paged shared library' +      lt_cv_file_magic_cmd=/usr/bin/file +      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` +      ;; +    esac +  else +    lt_cv_deplibs_check_method=pass_all +  fi +  ;; + +gnu*) +  lt_cv_deplibs_check_method=pass_all +  ;; + +hpux10.20*|hpux11*) +  lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library' +  lt_cv_file_magic_cmd=/usr/bin/file +  lt_cv_file_magic_test_file=/usr/lib/libc.sl +  ;; + +irix5* | irix6*) +  case $host_os in +  irix5*) +    # this will be overridden with pass_all, but let us keep it just in case +    lt_cv_deplibs_check_method="file_magic ELF 32-bit MSB dynamic lib MIPS - version 1" +    ;; +  *) +    case $LD in +    *-32|*"-32 ") libmagic=32-bit;; +    *-n32|*"-n32 ") libmagic=N32;; +    *-64|*"-64 ") libmagic=64-bit;; +    *) libmagic=never-match;; +    esac +    # this will be overridden with pass_all, but let us keep it just in case +    lt_cv_deplibs_check_method="file_magic ELF ${libmagic} MSB mips-[1234] dynamic lib MIPS - version 1" +    ;; +  esac +  lt_cv_file_magic_test_file=`echo /lib${libsuff}/libc.so*` +  lt_cv_deplibs_check_method=pass_all +  ;; + +# This must be Linux ELF. +linux-gnu*) +  case $host_cpu in +  alpha* | hppa* | i*86 | powerpc* | sparc* | ia64* | s390* ) +    lt_cv_deplibs_check_method=pass_all ;; +  *) +    # glibc up to 2.1.1 does not perform some relocations on ARM +    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' ;; +  esac +  lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so` +  ;; + +netbsd*) +  if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then +    lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$' +  else +    lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so$' +  fi +  ;; + +newos6*) +  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' +  lt_cv_file_magic_cmd=/usr/bin/file +  lt_cv_file_magic_test_file=/usr/lib/libnls.so +  ;; + +osf3* | osf4* | osf5*) +  # this will be overridden with pass_all, but let us keep it just in case +  lt_cv_deplibs_check_method='file_magic COFF format alpha shared library' +  lt_cv_file_magic_test_file=/shlib/libc.so +  lt_cv_deplibs_check_method=pass_all +  ;; + +sco3.2v5*) +  lt_cv_deplibs_check_method=pass_all +  ;; + +solaris*) +  lt_cv_deplibs_check_method=pass_all +  lt_cv_file_magic_test_file=/lib/libc.so +  ;; + +sysv5uw[78]* | sysv4*uw2*) +  lt_cv_deplibs_check_method=pass_all +  ;; + +sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) +  case $host_vendor in +  motorola) +    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' +    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` +    ;; +  ncr) +    lt_cv_deplibs_check_method=pass_all +    ;; +  sequent) +    lt_cv_file_magic_cmd='/bin/file' +    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' +    ;; +  sni) +    lt_cv_file_magic_cmd='/bin/file' +    lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" +    lt_cv_file_magic_test_file=/lib/libc.so +    ;; +  esac +  ;; +esac + +fi + +echo "$ac_t""$lt_cv_deplibs_check_method" 1>&6 +file_magic_cmd=$lt_cv_file_magic_cmd +deplibs_check_method=$lt_cv_deplibs_check_method + +echo $ac_n "checking for object suffix""... $ac_c" 1>&6 +echo "configure:1867: checking for object suffix" >&5 +if eval "test \"`echo '$''{'ac_cv_objext'+set}'`\" = set"; then +  echo $ac_n "(cached) $ac_c" 1>&6 +else +  rm -f conftest* +echo 'int i = 1;' > conftest.$ac_ext +if { (eval echo configure:1873: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +  for ac_file in conftest.*; do +    case $ac_file in +    *.c) ;; +    *) ac_cv_objext=`echo $ac_file | sed -e s/conftest.//` ;; +    esac +  done +else +  { echo "configure: error: installation or configuration problem; compiler does not work" 1>&2; exit 1; } +fi +rm -f conftest* +fi + +echo "$ac_t""$ac_cv_objext" 1>&6 +OBJEXT=$ac_cv_objext +ac_objext=$ac_cv_objext + + + +echo $ac_n "checking for executable suffix""... $ac_c" 1>&6 +echo "configure:1893: checking for executable suffix" >&5 +if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then +  echo $ac_n "(cached) $ac_c" 1>&6 +else +  if test "$CYGWIN" = yes || test "$MINGW32" = yes; then +  ac_cv_exeext=.exe +else +  rm -f conftest* +  echo 'int main () { return 0; }' > conftest.$ac_ext +  ac_cv_exeext= +  if { (eval echo configure:1903: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then +    for file in conftest.*; do +      case $file in +      *.c | *.o | *.obj) ;; +      *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;; +      esac +    done +  else +    { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&2; exit 1; } +  fi +  rm -f conftest* +  test x"${ac_cv_exeext}" = x && ac_cv_exeext=no +fi +fi + +EXEEXT="" +test x"${ac_cv_exeext}" != xno && EXEEXT=${ac_cv_exeext} +echo "$ac_t""${ac_cv_exeext}" 1>&6 +ac_exeext=$EXEEXT + +if test $host != $build; then +  ac_tool_prefix=${host_alias}- +else +  ac_tool_prefix= +fi + + + + +# Check for command to grab the raw symbol name followed by C symbol from nm. +echo $ac_n "checking command to parse $NM output""... $ac_c" 1>&6 +echo "configure:1934: checking command to parse $NM output" >&5 +if eval "test \"`echo '$''{'lt_cv_sys_global_symbol_pipe'+set}'`\" = set"; then +  echo $ac_n "(cached) $ac_c" 1>&6 +else +   +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix.  What could be older than Ultrix?!! ;)] + +# Character class describing NM global symbol codes. +symcode='[BCDEGRST]' + +# Regexp to match symbols that can be accessed directly from C. +sympat='\([_A-Za-z][_A-Za-z0-9]*\)' + +# Transform the above into a raw symbol and a C symbol. +symxfrm='\1 \2\3 \3' + +# Transform an extracted symbol line into a proper C declaration +lt_cv_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern char \1;/p'" + +# Define system-specific variables. +case $host_os in +aix*) +  symcode='[BCDT]' +  ;; +cygwin* | mingw* | pw32*) +  symcode='[ABCDGISTW]' +  ;; +hpux*) # Its linker distinguishes data from code symbols +  lt_cv_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern char \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" +  ;; +irix*) +  symcode='[BCDEGRST]' +  ;; +solaris* | sysv5*) +  symcode='[BDT]' +  ;; +sysv4) +  symcode='[DFNSTU]' +  ;; +esac + +# Handle CRLF in mingw tool chain +opt_cr= +case $host_os in +mingw*) +  opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp +  ;; +esac + +# If we're using GNU nm, then use its standard symbol codes. +if $NM -V 2>&1 | egrep '(GNU|with BFD)' > /dev/null; then +  symcode='[ABCDGISTW]' +fi + +# Try without a prefix undercore, then with it. +for ac_symprfx in "" "_"; do + +  # Write the raw and C identifiers. +lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ 	]\($symcode$symcode*\)[ 	][ 	]*\($ac_symprfx\)$sympat$opt_cr$/$symxfrm/p'" + +  # Check to see that the pipe works correctly. +  pipe_works=no +  rm -f conftest* +  cat > conftest.$ac_ext <<EOF +#ifdef __cplusplus +extern "C" { +#endif +char nm_test_var; +void nm_test_func(){} +#ifdef __cplusplus +} +#endif +int main(){nm_test_var='a';nm_test_func();return(0);} +EOF + +  if { (eval echo configure:2010: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +    # Now try to grab the symbols. +    nlist=conftest.nm +    if { (eval echo configure:2013: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\") 1>&5; (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5; } && test -s "$nlist"; then +      # Try sorting and uniquifying the output. +      if sort "$nlist" | uniq > "$nlist"T; then +	mv -f "$nlist"T "$nlist" +      else +	rm -f "$nlist"T +      fi + +      # Make sure that we snagged all the symbols we need. +      if egrep ' nm_test_var$' "$nlist" >/dev/null; then +	if egrep ' nm_test_func$' "$nlist" >/dev/null; then +	  cat <<EOF > conftest.$ac_ext +#ifdef __cplusplus +extern "C" { +#endif + +EOF +	  # Now generate the symbol file. +	  eval "$lt_cv_global_symbol_to_cdecl"' < "$nlist" >> conftest.$ac_ext' + +	  cat <<EOF >> conftest.$ac_ext +#if defined (__STDC__) && __STDC__ +# define lt_ptr_t void * +#else +# define lt_ptr_t char * +# define const +#endif + +/* The mapping between symbol names and symbols. */ +const struct { +  const char *name; +  lt_ptr_t address; +} +lt_preloaded_symbols[] = +{ +EOF +	  sed "s/^$symcode$symcode* \(.*\) \(.*\)$/  {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" >> conftest.$ac_ext +	  cat <<\EOF >> conftest.$ac_ext +  {0, (lt_ptr_t) 0} +}; + +#ifdef __cplusplus +} +#endif +EOF +	  # Now try linking the two files. +	  mv conftest.$ac_objext conftstm.$ac_objext +	  save_LIBS="$LIBS" +	  save_CFLAGS="$CFLAGS" +	  LIBS="conftstm.$ac_objext" +	  CFLAGS="$CFLAGS$no_builtin_flag" +	  if { (eval echo configure:2064: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +	    pipe_works=yes +	  fi +	  LIBS="$save_LIBS" +	  CFLAGS="$save_CFLAGS" +	else +	  echo "cannot find nm_test_func in $nlist" >&5 +	fi +      else +	echo "cannot find nm_test_var in $nlist" >&5 +      fi +    else +      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 +    fi +  else +    echo "$progname: failed program was:" >&5 +    cat conftest.$ac_ext >&5 +  fi +  rm -f conftest* conftst* + +  # Do not use the global_symbol_pipe unless it works. +  if test "$pipe_works" = yes; then +    break +  else +    lt_cv_sys_global_symbol_pipe= +  fi +done + +fi + +global_symbol_pipe="$lt_cv_sys_global_symbol_pipe" +if test -z "$lt_cv_sys_global_symbol_pipe"; then +  global_symbol_to_cdecl= +else +  global_symbol_to_cdecl="$lt_cv_global_symbol_to_cdecl" +fi +if test -z "$global_symbol_pipe$global_symbol_to_cdecl"; then +  echo "$ac_t""failed" 1>&6 +else +  echo "$ac_t""ok" 1>&6 +fi + +for ac_hdr in dlfcn.h +do +ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` +echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 +echo "configure:2110: checking for $ac_hdr" >&5 +if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then +  echo $ac_n "(cached) $ac_c" 1>&6 +else +  cat > conftest.$ac_ext <<EOF +#line 2115 "configure" +#include "confdefs.h" +#include <$ac_hdr> +EOF +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:2120: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then +  rm -rf conftest* +  eval "ac_cv_header_$ac_safe=yes" +else +  echo "$ac_err" >&5 +  echo "configure: failed program was:" >&5 +  cat conftest.$ac_ext >&5 +  rm -rf conftest* +  eval "ac_cv_header_$ac_safe=no" +fi +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then +  echo "$ac_t""yes" 1>&6 +    ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` +  cat >> confdefs.h <<EOF +#define $ac_tr_hdr 1 +EOF +  +else +  echo "$ac_t""no" 1>&6 +fi +done + + + + + +# Only perform the check for file, if the check method requires it +case $deplibs_check_method in +file_magic*) +  if test "$file_magic_cmd" = '$MAGIC_CMD'; then +    echo $ac_n "checking for ${ac_tool_prefix}file""... $ac_c" 1>&6 +echo "configure:2155: checking for ${ac_tool_prefix}file" >&5 +if eval "test \"`echo '$''{'lt_cv_path_MAGIC_CMD'+set}'`\" = set"; then +  echo $ac_n "(cached) $ac_c" 1>&6 +else +  case $MAGIC_CMD in +  /*) +  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. +  ;; +  ?:/*) +  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a dos path. +  ;; +  *) +  ac_save_MAGIC_CMD="$MAGIC_CMD" +  IFS="${IFS=   }"; ac_save_ifs="$IFS"; IFS=":" +  ac_dummy="/usr/bin:$PATH" +  for ac_dir in $ac_dummy; do +    test -z "$ac_dir" && ac_dir=. +    if test -f $ac_dir/${ac_tool_prefix}file; then +      lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" +      if test -n "$file_magic_test_file"; then +	case $deplibs_check_method in +	"file_magic "*) +	  file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`" +	  MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +	  if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | +	    egrep "$file_magic_regex" > /dev/null; then +	    : +	  else +	    cat <<EOF 1>&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such.  This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem.  Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +EOF +	  fi ;; +	esac +      fi +      break +    fi +  done +  IFS="$ac_save_ifs" +  MAGIC_CMD="$ac_save_MAGIC_CMD" +  ;; +esac +fi + +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then +  echo "$ac_t""$MAGIC_CMD" 1>&6 +else +  echo "$ac_t""no" 1>&6 +fi + +if test -z "$lt_cv_path_MAGIC_CMD"; then +  if test -n "$ac_tool_prefix"; then +    echo $ac_n "checking for file""... $ac_c" 1>&6 +echo "configure:2217: checking for file" >&5 +if eval "test \"`echo '$''{'lt_cv_path_MAGIC_CMD'+set}'`\" = set"; then +  echo $ac_n "(cached) $ac_c" 1>&6 +else +  case $MAGIC_CMD in +  /*) +  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. +  ;; +  ?:/*) +  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a dos path. +  ;; +  *) +  ac_save_MAGIC_CMD="$MAGIC_CMD" +  IFS="${IFS=   }"; ac_save_ifs="$IFS"; IFS=":" +  ac_dummy="/usr/bin:$PATH" +  for ac_dir in $ac_dummy; do +    test -z "$ac_dir" && ac_dir=. +    if test -f $ac_dir/file; then +      lt_cv_path_MAGIC_CMD="$ac_dir/file" +      if test -n "$file_magic_test_file"; then +	case $deplibs_check_method in +	"file_magic "*) +	  file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`" +	  MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +	  if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | +	    egrep "$file_magic_regex" > /dev/null; then +	    : +	  else +	    cat <<EOF 1>&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such.  This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem.  Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +EOF +	  fi ;; +	esac +      fi +      break +    fi +  done +  IFS="$ac_save_ifs" +  MAGIC_CMD="$ac_save_MAGIC_CMD" +  ;; +esac +fi + +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then +  echo "$ac_t""$MAGIC_CMD" 1>&6 +else +  echo "$ac_t""no" 1>&6 +fi + +  else +    MAGIC_CMD=: +  fi +fi + +  fi +  ;; +esac + +# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:2288: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then +  echo $ac_n "(cached) $ac_c" 1>&6 +else +  if test -n "$RANLIB"; then +  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":" +  ac_dummy="$PATH" +  for ac_dir in $ac_dummy; do +    test -z "$ac_dir" && ac_dir=. +    if test -f $ac_dir/$ac_word; then +      ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" +      break +    fi +  done +  IFS="$ac_save_ifs" +fi +fi +RANLIB="$ac_cv_prog_RANLIB" +if test -n "$RANLIB"; then +  echo "$ac_t""$RANLIB" 1>&6 +else +  echo "$ac_t""no" 1>&6 +fi + + +if test -z "$ac_cv_prog_RANLIB"; then +if test -n "$ac_tool_prefix"; then +  # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:2320: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then +  echo $ac_n "(cached) $ac_c" 1>&6 +else +  if test -n "$RANLIB"; then +  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":" +  ac_dummy="$PATH" +  for ac_dir in $ac_dummy; do +    test -z "$ac_dir" && ac_dir=. +    if test -f $ac_dir/$ac_word; then +      ac_cv_prog_RANLIB="ranlib" +      break +    fi +  done +  IFS="$ac_save_ifs" +  test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":" +fi +fi +RANLIB="$ac_cv_prog_RANLIB" +if test -n "$RANLIB"; then +  echo "$ac_t""$RANLIB" 1>&6 +else +  echo "$ac_t""no" 1>&6 +fi + +else +  RANLIB=":" +fi +fi + +# Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:2355: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_STRIP'+set}'`\" = set"; then +  echo $ac_n "(cached) $ac_c" 1>&6 +else +  if test -n "$STRIP"; then +  ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":" +  ac_dummy="$PATH" +  for ac_dir in $ac_dummy; do +    test -z "$ac_dir" && ac_dir=. +    if test -f $ac_dir/$ac_word; then +      ac_cv_prog_STRIP="${ac_tool_prefix}strip" +      break +    fi +  done +  IFS="$ac_save_ifs" +fi +fi +STRIP="$ac_cv_prog_STRIP" +if test -n "$STRIP"; then +  echo "$ac_t""$STRIP" 1>&6 +else +  echo "$ac_t""no" 1>&6 +fi + + +if test -z "$ac_cv_prog_STRIP"; then +if test -n "$ac_tool_prefix"; then +  # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:2387: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_STRIP'+set}'`\" = set"; then +  echo $ac_n "(cached) $ac_c" 1>&6 +else +  if test -n "$STRIP"; then +  ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":" +  ac_dummy="$PATH" +  for ac_dir in $ac_dummy; do +    test -z "$ac_dir" && ac_dir=. +    if test -f $ac_dir/$ac_word; then +      ac_cv_prog_STRIP="strip" +      break +    fi +  done +  IFS="$ac_save_ifs" +  test -z "$ac_cv_prog_STRIP" && ac_cv_prog_STRIP=":" +fi +fi +STRIP="$ac_cv_prog_STRIP" +if test -n "$STRIP"; then +  echo "$ac_t""$STRIP" 1>&6 +else +  echo "$ac_t""no" 1>&6 +fi + +else +  STRIP=":" +fi +fi + + +enable_dlopen=no +enable_win32_dll=no + +# Check whether --enable-libtool-lock or --disable-libtool-lock was given. +if test "${enable_libtool_lock+set}" = set; then +  enableval="$enable_libtool_lock" +  : +fi + +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +*-*-irix6*) +  # Find out which ABI we are using. +  echo '#line 2436 "configure"' > conftest.$ac_ext +  if { (eval echo configure:2437: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +    case `/usr/bin/file conftest.$ac_objext` in +    *32-bit*) +      LD="${LD-ld} -32" +      ;; +    *N32*) +      LD="${LD-ld} -n32" +      ;; +    *64-bit*) +      LD="${LD-ld} -64" +      ;; +    esac +  fi +  rm -rf conftest* +  ;; + +*-*-sco3.2v5*) +  # On SCO OpenServer 5, we need -belf to get full-featured binaries. +  SAVE_CFLAGS="$CFLAGS" +  CFLAGS="$CFLAGS -belf" +  echo $ac_n "checking whether the C compiler needs -belf""... $ac_c" 1>&6 +echo "configure:2458: checking whether the C compiler needs -belf" >&5 +if eval "test \"`echo '$''{'lt_cv_cc_needs_belf'+set}'`\" = set"; then +  echo $ac_n "(cached) $ac_c" 1>&6 +else +   +     ac_ext=c +# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. +ac_cpp='$CPP $CPPFLAGS' +ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' +ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +cross_compiling=$ac_cv_prog_cc_cross + +     cat > conftest.$ac_ext <<EOF +#line 2471 "configure" +#include "confdefs.h" + +int main() { + +; return 0; } +EOF +if { (eval echo configure:2478: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +  rm -rf conftest* +  lt_cv_cc_needs_belf=yes +else +  echo "configure: failed program was:" >&5 +  cat conftest.$ac_ext >&5 +  rm -rf conftest* +  lt_cv_cc_needs_belf=no +fi +rm -f conftest* +     ac_ext=c +# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. +ac_cpp='$CPP $CPPFLAGS' +ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' +ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +cross_compiling=$ac_cv_prog_cc_cross + +fi + +echo "$ac_t""$lt_cv_cc_needs_belf" 1>&6 +  if test x"$lt_cv_cc_needs_belf" != x"yes"; then +    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf +    CFLAGS="$SAVE_CFLAGS" +  fi +  ;; + + +esac + +# Sed substitution that helps us do robust quoting.  It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='sed -e s/^X//' +sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g' + +# Same as above, but do not quote variable references. +double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g' + +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + +# Constants: +rm="rm -f" + +# Global variables: +default_ofile=libtool +can_build_shared=yes + +# All known linkers require a `.a' archive for static linking (except M$VC, +# which needs '.lib'). +libext=a +ltmain="$ac_aux_dir/ltmain.sh" +ofile="$default_ofile" +with_gnu_ld="$lt_cv_prog_gnu_ld" +need_locks="$enable_libtool_lock" + +old_CC="$CC" +old_CFLAGS="$CFLAGS" + +# Set sane defaults for various variables +test -z "$AR" && AR=ar +test -z "$AR_FLAGS" && AR_FLAGS=cru +test -z "$AS" && AS=as +test -z "$CC" && CC=cc +test -z "$DLLTOOL" && DLLTOOL=dlltool +test -z "$LD" && LD=ld +test -z "$LN_S" && LN_S="ln -s" +test -z "$MAGIC_CMD" && MAGIC_CMD=file +test -z "$NM" && NM=nm +test -z "$OBJDUMP" && OBJDUMP=objdump +test -z "$RANLIB" && RANLIB=: +test -z "$STRIP" && STRIP=: +test -z "$ac_objext" && ac_objext=o + +if test x"$host" != x"$build"; then +  ac_tool_prefix=${host_alias}- +else +  ac_tool_prefix= +fi + +# Transform linux* to *-*-linux-gnu*, to support old configure scripts. +case $host_os in +linux-gnu*) ;; +linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'` +esac + +case $host_os in +aix3*) +  # AIX sometimes has problems with the GCC collect2 program.  For some +  # reason, if we set the COLLECT_NAMES environment variable, the problems +  # vanish in a puff of smoke. +  if test "X${COLLECT_NAMES+set}" != Xset; then +    COLLECT_NAMES= +    export COLLECT_NAMES +  fi +  ;; +esac + +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then +  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" +  old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds" +fi + +# Allow CC to be a program name with arguments. +set dummy $CC +compiler="$2" + +echo $ac_n "checking for objdir""... $ac_c" 1>&6 +echo "configure:2591: checking for objdir" >&5 +rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then +  objdir=.libs +else +  # MS-DOS does not allow filenames that begin with a dot. +  objdir=_libs +fi +rmdir .libs 2>/dev/null +echo "$ac_t""$objdir" 1>&6 + + +# Check whether --with-pic or --without-pic was given. +if test "${with_pic+set}" = set; then +  withval="$with_pic" +  pic_mode="$withval" +else +  pic_mode=default +fi + +test -z "$pic_mode" && pic_mode=default + +# We assume here that the value for lt_cv_prog_cc_pic will not be cached +# in isolation, and that seeing it set (from the cache) indicates that +# the associated values are set (in the cache) correctly too. +echo $ac_n "checking for $compiler option to produce PIC""... $ac_c" 1>&6 +echo "configure:2618: checking for $compiler option to produce PIC" >&5 +if eval "test \"`echo '$''{'lt_cv_prog_cc_pic'+set}'`\" = set"; then +  echo $ac_n "(cached) $ac_c" 1>&6 +else +   lt_cv_prog_cc_pic= +  lt_cv_prog_cc_shlib= +  lt_cv_prog_cc_wl= +  lt_cv_prog_cc_static= +  lt_cv_prog_cc_no_builtin= +  lt_cv_prog_cc_can_build_shared=$can_build_shared + +  if test "$GCC" = yes; then +    lt_cv_prog_cc_wl='-Wl,' +    lt_cv_prog_cc_static='-static' + +    case $host_os in +    aix*) +      # Below there is a dirty hack to force normal static linking with -ldl +      # The problem is because libdl dynamically linked with both libc and +      # libC (AIX C++ library), which obviously doesn't included in libraries +      # list by gcc. This cause undefined symbols with -static flags. +      # This hack allows C programs to be linked with "-static -ldl", but +      # we not sure about C++ programs. +      lt_cv_prog_cc_static="$lt_cv_prog_cc_static ${lt_cv_prog_cc_wl}-lC" +      ;; +    amigaos*) +      # FIXME: we need at least 68020 code to build shared libraries, but +      # adding the `-m68020' flag to GCC prevents building anything better, +      # like `-m68040'. +      lt_cv_prog_cc_pic='-m68020 -resident32 -malways-restore-a4' +      ;; +    beos* | irix5* | irix6* | osf3* | osf4* | osf5*) +      # PIC is the default for these OSes. +      ;; +    darwin* | rhapsody*) +      # PIC is the default on this platform +      # Common symbols not allowed in MH_DYLIB files +      lt_cv_prog_cc_pic='-fno-common' +      ;; +    cygwin* | mingw* | pw32* | os2*) +      # This hack is so that the source file can tell whether it is being +      # built for inclusion in a dll (and should export symbols for example). +      lt_cv_prog_cc_pic='-DDLL_EXPORT' +      ;; +    sysv4*MP*) +      if test -d /usr/nec; then +	 lt_cv_prog_cc_pic=-Kconform_pic +      fi +      ;; +    *) +      lt_cv_prog_cc_pic='-fPIC' +      ;; +    esac +  else +    # PORTME Check for PIC flags for the system compiler. +    case $host_os in +    aix3* | aix4* | aix5*) +      # All AIX code is PIC. +      if test "$host_cpu" = ia64; then +        # AIX 5 now supports IA64 processor +        lt_cv_prog_cc_static='-Bstatic' +        lt_cv_prog_cc_wl='-Wl,' +      else +        lt_cv_prog_cc_static='-bnso -bI:/lib/syscalls.exp' +      fi +      ;; + +    hpux9* | hpux10* | hpux11*) +      # Is there a better lt_cv_prog_cc_static that works with the bundled CC? +      lt_cv_prog_cc_wl='-Wl,' +      lt_cv_prog_cc_static="${lt_cv_prog_cc_wl}-a ${lt_cv_prog_cc_wl}archive" +      lt_cv_prog_cc_pic='+Z' +      ;; + +    irix5* | irix6*) +      lt_cv_prog_cc_wl='-Wl,' +      lt_cv_prog_cc_static='-non_shared' +      # PIC (with -KPIC) is the default. +      ;; + +    cygwin* | mingw* | pw32* | os2*) +      # This hack is so that the source file can tell whether it is being +      # built for inclusion in a dll (and should export symbols for example). +      lt_cv_prog_cc_pic='-DDLL_EXPORT' +      ;; + +    newsos6) +      lt_cv_prog_cc_pic='-KPIC' +      lt_cv_prog_cc_static='-Bstatic' +      ;; + +    osf3* | osf4* | osf5*) +      # All OSF/1 code is PIC. +      lt_cv_prog_cc_wl='-Wl,' +      lt_cv_prog_cc_static='-non_shared' +      ;; + +    sco3.2v5*) +      lt_cv_prog_cc_pic='-Kpic' +      lt_cv_prog_cc_static='-dn' +      lt_cv_prog_cc_shlib='-belf' +      ;; + +    solaris*) +      lt_cv_prog_cc_pic='-KPIC' +      lt_cv_prog_cc_static='-Bstatic' +      lt_cv_prog_cc_wl='-Wl,' +      ;; + +    sunos4*) +      lt_cv_prog_cc_pic='-PIC' +      lt_cv_prog_cc_static='-Bstatic' +      lt_cv_prog_cc_wl='-Qoption ld ' +      ;; + +    sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) +      lt_cv_prog_cc_pic='-KPIC' +      lt_cv_prog_cc_static='-Bstatic' +      if test "x$host_vendor" = xsni; then +        lt_cv_prog_cc_wl='-LD' +      else +        lt_cv_prog_cc_wl='-Wl,' +      fi +      ;; + +    uts4*) +      lt_cv_prog_cc_pic='-pic' +      lt_cv_prog_cc_static='-Bstatic' +      ;; + +    sysv4*MP*) +      if test -d /usr/nec ;then +	lt_cv_prog_cc_pic='-Kconform_pic' +	lt_cv_prog_cc_static='-Bstatic' +      fi +      ;; + +    *) +      lt_cv_prog_cc_can_build_shared=no +      ;; +    esac +  fi + +fi + +if test -z "$lt_cv_prog_cc_pic"; then +  echo "$ac_t""none" 1>&6 +else +  echo "$ac_t""$lt_cv_prog_cc_pic" 1>&6 + +  # Check to make sure the pic_flag actually works. +  echo $ac_n "checking if $compiler PIC flag $lt_cv_prog_cc_pic works""... $ac_c" 1>&6 +echo "configure:2770: checking if $compiler PIC flag $lt_cv_prog_cc_pic works" >&5 +  if eval "test \"`echo '$''{'lt_cv_prog_cc_pic_works'+set}'`\" = set"; then +  echo $ac_n "(cached) $ac_c" 1>&6 +else +      save_CFLAGS="$CFLAGS" +    CFLAGS="$CFLAGS $lt_cv_prog_cc_pic -DPIC" +    cat > conftest.$ac_ext <<EOF +#line 2777 "configure" +#include "confdefs.h" + +int main() { + +; return 0; } +EOF +if { (eval echo configure:2784: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +  rm -rf conftest* +        case $host_os in +      hpux9* | hpux10* | hpux11*) +	# On HP-UX, both CC and GCC only warn that PIC is supported... then +	# they create non-PIC objects.  So, if there were any warnings, we +	# assume that PIC is not supported. +	if test -s conftest.err; then +	  lt_cv_prog_cc_pic_works=no +	else +	  lt_cv_prog_cc_pic_works=yes +	fi +	;; +      *) +	lt_cv_prog_cc_pic_works=yes +	;; +      esac +     +else +  echo "configure: failed program was:" >&5 +  cat conftest.$ac_ext >&5 +  rm -rf conftest* +        lt_cv_prog_cc_pic_works=no +     +fi +rm -f conftest* +    CFLAGS="$save_CFLAGS" +   +fi + + +  if test "X$lt_cv_prog_cc_pic_works" = Xno; then +    lt_cv_prog_cc_pic= +    lt_cv_prog_cc_can_build_shared=no +  else +    lt_cv_prog_cc_pic=" $lt_cv_prog_cc_pic" +  fi + +  echo "$ac_t""$lt_cv_prog_cc_pic_works" 1>&6 +fi + +# Check for any special shared library compilation flags. +if test -n "$lt_cv_prog_cc_shlib"; then +  echo "configure: warning: \`$CC' requires \`$lt_cv_prog_cc_shlib' to build shared libraries" 1>&2 +  if echo "$old_CC $old_CFLAGS " | egrep -e "[ 	]$lt_cv_prog_cc_shlib[ 	]" >/dev/null; then : +  else +   echo "configure: warning: add \`$lt_cv_prog_cc_shlib' to the CC or CFLAGS env variable and reconfigure" 1>&2 +    lt_cv_prog_cc_can_build_shared=no +  fi +fi + +echo $ac_n "checking if $compiler static flag $lt_cv_prog_cc_static works""... $ac_c" 1>&6 +echo "configure:2836: checking if $compiler static flag $lt_cv_prog_cc_static works" >&5 +if eval "test \"`echo '$''{'lt_cv_prog_cc_static_works'+set}'`\" = set"; then +  echo $ac_n "(cached) $ac_c" 1>&6 +else +    lt_cv_prog_cc_static_works=no +  save_LDFLAGS="$LDFLAGS" +  LDFLAGS="$LDFLAGS $lt_cv_prog_cc_static" +  cat > conftest.$ac_ext <<EOF +#line 2844 "configure" +#include "confdefs.h" + +int main() { + +; return 0; } +EOF +if { (eval echo configure:2851: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +  rm -rf conftest* +  lt_cv_prog_cc_static_works=yes +else +  echo "configure: failed program was:" >&5 +  cat conftest.$ac_ext >&5 +fi +rm -f conftest* +  LDFLAGS="$save_LDFLAGS" + +fi + + +# Belt *and* braces to stop my trousers falling down: +test "X$lt_cv_prog_cc_static_works" = Xno && lt_cv_prog_cc_static= +echo "$ac_t""$lt_cv_prog_cc_static_works" 1>&6 + +pic_flag="$lt_cv_prog_cc_pic" +special_shlib_compile_flags="$lt_cv_prog_cc_shlib" +wl="$lt_cv_prog_cc_wl" +link_static_flag="$lt_cv_prog_cc_static" +no_builtin_flag="$lt_cv_prog_cc_no_builtin" +can_build_shared="$lt_cv_prog_cc_can_build_shared" + + +# Check to see if options -o and -c are simultaneously supported by compiler +echo $ac_n "checking if $compiler supports -c -o file.$ac_objext""... $ac_c" 1>&6 +echo "configure:2878: checking if $compiler supports -c -o file.$ac_objext" >&5 +if eval "test \"`echo '$''{'lt_cv_compiler_c_o'+set}'`\" = set"; then +  echo $ac_n "(cached) $ac_c" 1>&6 +else +   +$rm -r conftest 2>/dev/null +mkdir conftest +cd conftest +echo "int some_variable = 0;" > conftest.$ac_ext +mkdir out +# According to Tom Tromey, Ian Lance Taylor reported there are C compilers +# that will create temporary files in the current directory regardless of +# the output directory.  Thus, making CWD read-only will cause this test +# to fail, enabling locking or at least warning the user not to do parallel +# builds. +chmod -w . +save_CFLAGS="$CFLAGS" +CFLAGS="$CFLAGS -o out/conftest2.$ac_objext" +compiler_c_o=no +if { (eval echo configure:2897: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>out/conftest.err; } && test -s out/conftest2.$ac_objext; then +  # The compiler can only warn and ignore the option if not recognized +  # So say no if there are warnings +  if test -s out/conftest.err; then +    lt_cv_compiler_c_o=no +  else +    lt_cv_compiler_c_o=yes +  fi +else +  # Append any errors to the config.log. +  cat out/conftest.err 1>&5 +  lt_cv_compiler_c_o=no +fi +CFLAGS="$save_CFLAGS" +chmod u+w . +$rm conftest* out/* +rmdir out +cd .. +rmdir conftest +$rm -r conftest 2>/dev/null + +fi + +compiler_c_o=$lt_cv_compiler_c_o +echo "$ac_t""$compiler_c_o" 1>&6 + +if test x"$compiler_c_o" = x"yes"; then +  # Check to see if we can write to a .lo +  echo $ac_n "checking if $compiler supports -c -o file.lo""... $ac_c" 1>&6 +echo "configure:2926: checking if $compiler supports -c -o file.lo" >&5 +  if eval "test \"`echo '$''{'lt_cv_compiler_o_lo'+set}'`\" = set"; then +  echo $ac_n "(cached) $ac_c" 1>&6 +else +   +  lt_cv_compiler_o_lo=no +  save_CFLAGS="$CFLAGS" +  CFLAGS="$CFLAGS -c -o conftest.lo" +  cat > conftest.$ac_ext <<EOF +#line 2935 "configure" +#include "confdefs.h" + +int main() { +int some_variable = 0; +; return 0; } +EOF +if { (eval echo configure:2942: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +  rm -rf conftest* +      # The compiler can only warn and ignore the option if not recognized +    # So say no if there are warnings +    if test -s conftest.err; then +      lt_cv_compiler_o_lo=no +    else +      lt_cv_compiler_o_lo=yes +    fi +   +else +  echo "configure: failed program was:" >&5 +  cat conftest.$ac_ext >&5 +fi +rm -f conftest* +  CFLAGS="$save_CFLAGS" +   +fi + +  compiler_o_lo=$lt_cv_compiler_o_lo +  echo "$ac_t""$compiler_o_lo" 1>&6 +else +  compiler_o_lo=no +fi + +# Check to see if we can do hard links to lock some files if needed +hard_links="nottested" +if test "$compiler_c_o" = no && test "$need_locks" != no; then +  # do not overwrite the value of need_locks provided by the user +  echo $ac_n "checking if we can lock with hard links""... $ac_c" 1>&6 +echo "configure:2972: checking if we can lock with hard links" >&5 +  hard_links=yes +  $rm conftest* +  ln conftest.a conftest.b 2>/dev/null && hard_links=no +  touch conftest.a +  ln conftest.a conftest.b 2>&5 || hard_links=no +  ln conftest.a conftest.b 2>/dev/null && hard_links=no +  echo "$ac_t""$hard_links" 1>&6 +  if test "$hard_links" = no; then +    echo "configure: warning: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" 1>&2 +    need_locks=warn +  fi +else +  need_locks=no +fi + +if test "$GCC" = yes; then +  # Check to see if options -fno-rtti -fno-exceptions are supported by compiler +  echo $ac_n "checking if $compiler supports -fno-rtti -fno-exceptions""... $ac_c" 1>&6 +echo "configure:2991: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +  echo "int some_variable = 0;" > conftest.$ac_ext +  save_CFLAGS="$CFLAGS" +  CFLAGS="$CFLAGS -fno-rtti -fno-exceptions -c conftest.$ac_ext" +  compiler_rtti_exceptions=no +  cat > conftest.$ac_ext <<EOF +#line 2997 "configure" +#include "confdefs.h" + +int main() { +int some_variable = 0; +; return 0; } +EOF +if { (eval echo configure:3004: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +  rm -rf conftest* +      # The compiler can only warn and ignore the option if not recognized +    # So say no if there are warnings +    if test -s conftest.err; then +      compiler_rtti_exceptions=no +    else +      compiler_rtti_exceptions=yes +    fi +   +else +  echo "configure: failed program was:" >&5 +  cat conftest.$ac_ext >&5 +fi +rm -f conftest* +  CFLAGS="$save_CFLAGS" +  echo "$ac_t""$compiler_rtti_exceptions" 1>&6 + +  if test "$compiler_rtti_exceptions" = "yes"; then +    no_builtin_flag=' -fno-builtin -fno-rtti -fno-exceptions' +  else +    no_builtin_flag=' -fno-builtin' +  fi +fi + +# See if the linker supports building shared libraries. +echo $ac_n "checking whether the linker ($LD) supports shared libraries""... $ac_c" 1>&6 +echo "configure:3031: checking whether the linker ($LD) supports shared libraries" >&5 + +allow_undefined_flag= +no_undefined_flag= +need_lib_prefix=unknown +need_version=unknown +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +archive_cmds= +archive_expsym_cmds= +old_archive_from_new_cmds= +old_archive_from_expsyms_cmds= +export_dynamic_flag_spec= +whole_archive_flag_spec= +thread_safe_flag_spec= +hardcode_into_libs=no +hardcode_libdir_flag_spec= +hardcode_libdir_separator= +hardcode_direct=no +hardcode_minus_L=no +hardcode_shlibpath_var=unsupported +runpath_var= +link_all_deplibs=unknown +always_export_symbols=no +export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | sed '\''s/.* //'\'' | sort | uniq > $export_symbols' +# include_expsyms should be a list of space-separated symbols to be *always* +# included in the symbol list +include_expsyms= +# exclude_expsyms can be an egrep regular expression of symbols to exclude +# it will be wrapped by ` (' and `)$', so one must not match beginning or +# end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', +# as well as any symbol that contains `d'. +exclude_expsyms="_GLOBAL_OFFSET_TABLE_" +# Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out +# platforms (ab)use it in PIC code, but their linkers get confused if +# the symbol is explicitly referenced.  Since portable code cannot +# rely on this symbol name, it's probably fine to never include it in +# preloaded symbol tables. +extract_expsyms_cmds= + +case $host_os in +cygwin* | mingw* | pw32* ) +  # FIXME: the MSVC++ port hasn't been tested in a loooong time +  # When not using gcc, we currently assume that we are using +  # Microsoft Visual C++. +  if test "$GCC" != yes; then +    with_gnu_ld=no +  fi +  ;; + +esac + +ld_shlibs=yes +if test "$with_gnu_ld" = yes; then +  # If archive_cmds runs LD, not CC, wlarc should be empty +  wlarc='${wl}' + +  # See if GNU ld supports shared libraries. +  case $host_os in +  aix3* | aix4* | aix5*) +    # On AIX, the GNU linker is very broken +    # Note:Check GNU linker on AIX 5-IA64 when/if it becomes available. +    ld_shlibs=no +    cat <<EOF 1>&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support.  If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF +    ;; + +  amigaos*) +    archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' +    hardcode_libdir_flag_spec='-L$libdir' +    hardcode_minus_L=yes + +    # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports +    # that the semantics of dynamic libraries on AmigaOS, at least up +    # to version 4, is to share data among multiple programs linked +    # with the same dynamic library.  Since this doesn't match the +    # behavior of shared libraries on other platforms, we can use +    # them. +    ld_shlibs=no +    ;; + +  beos*) +    if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then +      allow_undefined_flag=unsupported +      # Joseph Beckenbach <jrb3@best.com> says some releases of gcc +      # support --undefined.  This deserves some investigation.  FIXME +      archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' +    else +      ld_shlibs=no +    fi +    ;; + +  cygwin* | mingw* | pw32*) +    # hardcode_libdir_flag_spec is actually meaningless, as there is +    # no search path for DLLs. +    hardcode_libdir_flag_spec='-L$libdir' +    allow_undefined_flag=unsupported +    always_export_symbols=yes + +    extract_expsyms_cmds='test -f $output_objdir/impgen.c || \ +      sed -e "/^# \/\* impgen\.c starts here \*\//,/^# \/\* impgen.c ends here \*\// { s/^# //;s/^# *$//; p; }" -e d < $''0 > $output_objdir/impgen.c~ +      test -f $output_objdir/impgen.exe || (cd $output_objdir && \ +      if test "x$HOST_CC" != "x" ; then $HOST_CC -o impgen impgen.c ; \ +      else $CC -o impgen impgen.c ; fi)~ +      $output_objdir/impgen $dir/$soroot > $output_objdir/$soname-def' + +    old_archive_from_expsyms_cmds='$DLLTOOL --as=$AS --dllname $soname --def $output_objdir/$soname-def --output-lib $output_objdir/$newlib' + +    # cygwin and mingw dlls have different entry points and sets of symbols +    # to exclude. +    # FIXME: what about values for MSVC? +    dll_entry=__cygwin_dll_entry@12 +    dll_exclude_symbols=DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12~ +    case $host_os in +    mingw*) +      # mingw values +      dll_entry=_DllMainCRTStartup@12 +      dll_exclude_symbols=DllMain@12,DllMainCRTStartup@12,DllEntryPoint@12~ +      ;; +    esac + +    # mingw and cygwin differ, and it's simplest to just exclude the union +    # of the two symbol sets. +    dll_exclude_symbols=DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12,DllMainCRTStartup@12,DllEntryPoint@12 + +    # recent cygwin and mingw systems supply a stub DllMain which the user +    # can override, but on older systems we have to supply one (in ltdll.c) +    if test "x$lt_cv_need_dllmain" = "xyes"; then +      ltdll_obj='$output_objdir/$soname-ltdll.'"$ac_objext " +      ltdll_cmds='test -f $output_objdir/$soname-ltdll.c || sed -e "/^# \/\* ltdll\.c starts here \*\//,/^# \/\* ltdll.c ends here \*\// { s/^# //; p; }" -e d < [$]0 > $output_objdir/$soname-ltdll.c~ +	test -f $output_objdir/$soname-ltdll.$ac_objext || (cd $output_objdir && $CC -c $soname-ltdll.c)~' +    else +      ltdll_obj= +      ltdll_cmds= +    fi + +    # Extract the symbol export list from an `--export-all' def file, +    # then regenerate the def file from the symbol export list, so that +    # the compiled dll only exports the symbol export list. +    # Be careful not to strip the DATA tag left be newer dlltools. +    export_symbols_cmds="$ltdll_cmds"' +      $DLLTOOL --export-all --exclude-symbols '$dll_exclude_symbols' --output-def $output_objdir/$soname-def '$ltdll_obj'$libobjs $convenience~ +      sed -e "1,/EXPORTS/d" -e "s/ @ [0-9]*//" -e "s/ *;.*$//" < $output_objdir/$soname-def > $export_symbols' + +    # If the export-symbols file already is a .def file (1st line +    # is EXPORTS), use it as is. +    # If DATA tags from a recent dlltool are present, honour them! +    archive_expsym_cmds='if test "x`head -1 $export_symbols`" = xEXPORTS; then +        cp $export_symbols $output_objdir/$soname-def; +      else +        echo EXPORTS > $output_objdir/$soname-def; +        _lt_hint=1; +        cat $export_symbols | while read symbol; do +         set dummy \$symbol; +         case \$# in +           2) echo "   \$2 @ \$_lt_hint ; " >> $output_objdir/$soname-def;; +           *) echo "     \$2 @ \$_lt_hint \$3 ; " >> $output_objdir/$soname-def;; +         esac; +         _lt_hint=`expr 1 + \$_lt_hint`; +        done; +      fi~ +      '"$ltdll_cmds"' +      $CC -Wl,--base-file,$output_objdir/$soname-base '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags~ +      $DLLTOOL --as=$AS --dllname $soname --exclude-symbols '$dll_exclude_symbols' --def $output_objdir/$soname-def --base-file $output_objdir/$soname-base --output-exp $output_objdir/$soname-exp~ +      $CC -Wl,--base-file,$output_objdir/$soname-base $output_objdir/$soname-exp '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags~ +      $DLLTOOL --as=$AS --dllname $soname --exclude-symbols '$dll_exclude_symbols' --def $output_objdir/$soname-def --base-file $output_objdir/$soname-base --output-exp $output_objdir/$soname-exp --output-lib $output_objdir/$libname.dll.a~ +      $CC $output_objdir/$soname-exp '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags' +    ;; + +  netbsd*) +    if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then +      archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' +      wlarc= +    else +      archive_cmds='$CC -shared -nodefaultlibs $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' +      archive_expsym_cmds='$CC -shared -nodefaultlibs $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' +    fi +    ;; + +  solaris* | sysv5*) +    if $LD -v 2>&1 | egrep 'BFD 2\.8' > /dev/null; then +      ld_shlibs=no +      cat <<EOF 1>&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems.  Therefore, libtool +*** is disabling shared libraries support.  We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer.  Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF +    elif $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then +      archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' +      archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' +    else +      ld_shlibs=no +    fi +    ;; + +  sunos4*) +    archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' +    wlarc= +    hardcode_direct=yes +    hardcode_shlibpath_var=no +    ;; + +  *) +    if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then +      archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' +      archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' +    else +      ld_shlibs=no +    fi +    ;; +  esac + +  if test "$ld_shlibs" = yes; then +    runpath_var=LD_RUN_PATH +    hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir' +    export_dynamic_flag_spec='${wl}--export-dynamic' +    case $host_os in +    cygwin* | mingw* | pw32*) +      # dlltool doesn't understand --whole-archive et. al. +      whole_archive_flag_spec= +      ;; +    *) +      # ancient GNU ld didn't support --whole-archive et. al. +      if $LD --help 2>&1 | egrep 'no-whole-archive' > /dev/null; then +	whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' +      else +	whole_archive_flag_spec= +      fi +      ;; +    esac +  fi +else +  # PORTME fill in a description of your system's linker (not GNU ld) +  case $host_os in +  aix3*) +    allow_undefined_flag=unsupported +    always_export_symbols=yes +    archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' +    # Note: this linker hardcodes the directories in LIBPATH if there +    # are no directories specified by -L. +    hardcode_minus_L=yes +    if test "$GCC" = yes && test -z "$link_static_flag"; then +      # Neither direct hardcoding nor static linking is supported with a +      # broken collect2. +      hardcode_direct=unsupported +    fi +    ;; + +  aix4* | aix5*) +    # When large executables or shared objects are built, AIX ld can +    # have problems creating the table of contents.  If linking a library +    # or program results in "error TOC overflow" add -mminimal-toc to +    # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not +    # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + +    archive_cmds='' +    hardcode_libdir_separator=':' +    if test "$GCC" = yes; then +      collect2name=`${CC} -print-prog-name=collect2` +      if test -f "$collect2name" && \ +	 strings "$collect2name" | grep resolve_lib_name >/dev/null +      then +	# We have reworked collect2 +	hardcode_direct=yes +      else +        # We have old collect2 +        hardcode_direct=unsupported +        # It fails to find uninstalled libraries when the uninstalled +        # path is not listed in the libpath.  Setting hardcode_minus_L +        # to unsupported forces relinking +        hardcode_minus_L=yes +        hardcode_libdir_flag_spec='-L$libdir' +        hardcode_libdir_separator= +      fi +      shared_flag='-shared' +    else +      if test "$host_cpu" = ia64; then +        shared_flag='-G' +      else +        shared_flag='${wl}-bM:SRE' +      fi +      hardcode_direct=yes +    fi + +    if test "$host_cpu" = ia64; then +      # On IA64, the linker does run time linking by default, so we don't +      # have to do anything special. +      aix_use_runtimelinking=no +      exp_sym_flag='-Bexport' +      no_entry_flag="" +    else +      # Test if we are trying to use run time linking, or normal AIX style linking. +      # If -brtl is somewhere in LDFLAGS, we need to do run time linking. +      aix_use_runtimelinking=no +      for ld_flag in $LDFLAGS; do +        if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl" ); then +          aix_use_runtimelinking=yes +          break +        fi +      done +      exp_sym_flag='-bexport' +      no_entry_flag='-bnoentry' +    fi +    # It seems that -bexpall can do strange things, so it is better to +    # generate a list of symbols to export. +    always_export_symbols=yes +    if test "$aix_use_runtimelinking" = yes; then +      hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:/usr/lib:/lib' +      allow_undefined_flag=' -Wl,-G' +      archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols" +    else +      if test "$host_cpu" = ia64; then +        hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' +       allow_undefined_flag="-znodefs" +        archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname ${wl}-h$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols" +      else +        hardcode_libdir_flag_spec='${wl}-bnolibpath ${wl}-blibpath:$libdir:/usr/lib:/lib' +        # Warning - without using the other run time loading flags, -berok will +        #           link without error, but may produce a broken library. +        allow_undefined_flag='${wl}-berok' +        # This is a bit strange, but is similar to how AIX traditionally builds +        # it's shared libraries. +        archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"' ~$AR -crlo $objdir/$libname$release.a $objdir/$soname' +      fi +    fi +    ;; + +  amigaos*) +    archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' +    hardcode_libdir_flag_spec='-L$libdir' +    hardcode_minus_L=yes +    # see comment about different semantics on the GNU ld section +    ld_shlibs=no +    ;; + +  cygwin* | mingw* | pw32*) +    # When not using gcc, we currently assume that we are using +    # Microsoft Visual C++. +    # hardcode_libdir_flag_spec is actually meaningless, as there is +    # no search path for DLLs. +    hardcode_libdir_flag_spec=' ' +    allow_undefined_flag=unsupported +    # Tell ltmain to make .lib files, not .a files. +    libext=lib +    # FIXME: Setting linknames here is a bad hack. +    archive_cmds='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | sed -e '\''s/ -lc$//'\''` -link -dll~linknames=' +    # The linker will automatically build a .lib file if we build a DLL. +    old_archive_from_new_cmds='true' +    # FIXME: Should let the user specify the lib program. +    old_archive_cmds='lib /OUT:$oldlib$oldobjs$old_deplibs' +    fix_srcfile_path='`cygpath -w "$srcfile"`' +    ;; + +  darwin* | rhapsody*) +    allow_undefined_flag='-undefined suppress' +    # FIXME: Relying on posixy $() will cause problems for +    #        cross-compilation, but unfortunately the echo tests do not +    #        yet detect zsh echo's removal of \ escapes. +    archive_cmds='$CC $(test .$module = .yes && echo -bundle || echo -dynamiclib) $allow_undefined_flag -o $lib $libobjs $deplibs$linkopts -install_name $rpath/$soname $(test -n "$verstring" -a x$verstring != x0.0 && echo $verstring)' +    # We need to add '_' to the symbols in $export_symbols first +    #archive_expsym_cmds="$archive_cmds"' && strip -s $export_symbols' +    hardcode_direct=yes +    hardcode_shlibpath_var=no +    whole_archive_flag_spec='-all_load $convenience' +    ;; + +  freebsd1*) +    ld_shlibs=no +    ;; + +  # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor +  # support.  Future versions do this automatically, but an explicit c++rt0.o +  # does not break anything, and helps significantly (at the cost of a little +  # extra space). +  freebsd2.2*) +    archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' +    hardcode_libdir_flag_spec='-R$libdir' +    hardcode_direct=yes +    hardcode_shlibpath_var=no +    ;; + +  # Unfortunately, older versions of FreeBSD 2 do not have this feature. +  freebsd2*) +    archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' +    hardcode_direct=yes +    hardcode_minus_L=yes +    hardcode_shlibpath_var=no +    ;; + +  # FreeBSD 3 and greater uses gcc -shared to do shared libraries. +  freebsd*) +    archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' +    hardcode_libdir_flag_spec='-R$libdir' +    hardcode_direct=yes +    hardcode_shlibpath_var=no +    ;; + +  hpux9* | hpux10* | hpux11*) +    case $host_os in +    hpux9*) archive_cmds='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' ;; +    *) archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' ;; +    esac +    hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' +    hardcode_libdir_separator=: +    hardcode_direct=yes +    hardcode_minus_L=yes # Not in the search PATH, but as the default +			 # location of the library. +    export_dynamic_flag_spec='${wl}-E' +    ;; + +  irix5* | irix6*) +    if test "$GCC" = yes; then +      archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' +    else +      archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' +    fi +    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' +    hardcode_libdir_separator=: +    link_all_deplibs=yes +    ;; + +  netbsd*) +    if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then +      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out +    else +      archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF +    fi +    hardcode_libdir_flag_spec='-R$libdir' +    hardcode_direct=yes +    hardcode_shlibpath_var=no +    ;; + +  newsos6) +    archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts' +    hardcode_direct=yes +    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' +    hardcode_libdir_separator=: +    hardcode_shlibpath_var=no +    ;; + +  openbsd*) +    archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' +    hardcode_libdir_flag_spec='-R$libdir' +    hardcode_direct=yes +    hardcode_shlibpath_var=no +    ;; + +  os2*) +    hardcode_libdir_flag_spec='-L$libdir' +    hardcode_minus_L=yes +    allow_undefined_flag=unsupported +    archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' +    old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' +    ;; + +  osf3*) +    if test "$GCC" = yes; then +      allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' +      archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' +    else +      allow_undefined_flag=' -expect_unresolved \*' +      archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' +    fi +    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' +    hardcode_libdir_separator=: +    ;; + +  osf4* | osf5*)	# as osf3* with the addition of -msym flag +    if test "$GCC" = yes; then +      allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' +      archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' +      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' +    else +      allow_undefined_flag=' -expect_unresolved \*' +      archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' +      archive_expsym_cmds='for i in `cat $export_symbols`; do printf "-exported_symbol " >> $lib.exp; echo "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ +      $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib~$rm $lib.exp' + +      #Both c and cxx compiler support -rpath directly +      hardcode_libdir_flag_spec='-rpath $libdir' +    fi +    hardcode_libdir_separator=: +    ;; + +  sco3.2v5*) +    archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' +    hardcode_shlibpath_var=no +    runpath_var=LD_RUN_PATH +    hardcode_runpath_var=yes +    ;; + +  solaris*) +    no_undefined_flag=' -z defs' +    # $CC -shared without GNU ld will not create a library from C++ +    # object files and a static libstdc++, better avoid it by now +    archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' +    archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ +		$LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' +    hardcode_libdir_flag_spec='-R$libdir' +    hardcode_shlibpath_var=no +    case $host_os in +    solaris2.[0-5] | solaris2.[0-5].*) ;; +    *) # Supported since Solaris 2.6 (maybe 2.5.1?) +      whole_archive_flag_spec='-z allextract$convenience -z defaultextract' ;; +    esac +    link_all_deplibs=yes +    ;; + +  sunos4*) +    if test "x$host_vendor" = xsequent; then +      # Use $CC to link under sequent, because it throws in some extra .o +      # files that make .init and .fini sections work. +      archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' +    else +      archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' +    fi +    hardcode_libdir_flag_spec='-L$libdir' +    hardcode_direct=yes +    hardcode_minus_L=yes +    hardcode_shlibpath_var=no +    ;; + +  sysv4) +    if test "x$host_vendor" = xsno; then +      archive_cmds='$LD -G -Bsymbolic -h $soname -o $lib $libobjs $deplibs $linkopts' +      hardcode_direct=yes # is this really true??? +    else +      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' +      hardcode_direct=no #Motorola manual says yes, but my tests say they lie +    fi +    runpath_var='LD_RUN_PATH' +    hardcode_shlibpath_var=no +    ;; + +  sysv4.3*) +    archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' +    hardcode_shlibpath_var=no +    export_dynamic_flag_spec='-Bexport' +    ;; + +  sysv5*) +    no_undefined_flag=' -z text' +    # $CC -shared without GNU ld will not create a library from C++ +    # object files and a static libstdc++, better avoid it by now +    archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' +    archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ +		$LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' +    hardcode_libdir_flag_spec= +    hardcode_shlibpath_var=no +    runpath_var='LD_RUN_PATH' +    ;; + +  uts4*) +    archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' +    hardcode_libdir_flag_spec='-L$libdir' +    hardcode_shlibpath_var=no +    ;; + +  dgux*) +    archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' +    hardcode_libdir_flag_spec='-L$libdir' +    hardcode_shlibpath_var=no +    ;; + +  sysv4*MP*) +    if test -d /usr/nec; then +      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' +      hardcode_shlibpath_var=no +      runpath_var=LD_RUN_PATH +      hardcode_runpath_var=yes +      ld_shlibs=yes +    fi +    ;; + +  sysv4.2uw2*) +    archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' +    hardcode_direct=yes +    hardcode_minus_L=no +    hardcode_shlibpath_var=no +    hardcode_runpath_var=yes +    runpath_var=LD_RUN_PATH +    ;; + +  sysv5uw7* | unixware7*) +    no_undefined_flag='${wl}-z ${wl}text' +    if test "$GCC" = yes; then +      archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' +    else +      archive_cmds='$CC -G ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' +    fi +    runpath_var='LD_RUN_PATH' +    hardcode_shlibpath_var=no +    ;; + +  *) +    ld_shlibs=no +    ;; +  esac +fi +echo "$ac_t""$ld_shlibs" 1>&6 +test "$ld_shlibs" = no && can_build_shared=no + +# Check hardcoding attributes. +echo $ac_n "checking how to hardcode library paths into programs""... $ac_c" 1>&6 +echo "configure:3647: checking how to hardcode library paths into programs" >&5 +hardcode_action= +if test -n "$hardcode_libdir_flag_spec" || \ +   test -n "$runpath_var"; then + +  # We can hardcode non-existant directories. +  if test "$hardcode_direct" != no && +     # If the only mechanism to avoid hardcoding is shlibpath_var, we +     # have to relink, otherwise we might link with an installed library +     # when we should be linking with a yet-to-be-installed one +     ## test "$hardcode_shlibpath_var" != no && +     test "$hardcode_minus_L" != no; then +    # Linking always hardcodes the temporary library directory. +    hardcode_action=relink +  else +    # We can link without hardcoding, and we can hardcode nonexisting dirs. +    hardcode_action=immediate +  fi +else +  # We cannot hardcode anything, or else we can only hardcode existing +  # directories. +  hardcode_action=unsupported +fi +echo "$ac_t""$hardcode_action" 1>&6 + +striplib= +old_striplib= +echo $ac_n "checking whether stripping libraries is possible""... $ac_c" 1>&6 +echo "configure:3675: checking whether stripping libraries is possible" >&5 +if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then +  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" +  test -z "$striplib" && striplib="$STRIP --strip-unneeded" +  echo "$ac_t""yes" 1>&6 +else +  echo "$ac_t""no" 1>&6 +fi + +reload_cmds='$LD$reload_flag -o $output$reload_objs' +test -z "$deplibs_check_method" && deplibs_check_method=unknown + +# PORTME Fill in your ld.so characteristics +echo $ac_n "checking dynamic linker characteristics""... $ac_c" 1>&6 +echo "configure:3689: checking dynamic linker characteristics" >&5 +library_names_spec= +libname_spec='lib$name' +soname_spec= +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" + +case $host_os in +aix3*) +  version_type=linux +  library_names_spec='${libname}${release}.so$versuffix $libname.a' +  shlibpath_var=LIBPATH + +  # AIX has no versioning support, so we append a major version to the name. +  soname_spec='${libname}${release}.so$major' +  ;; + +aix4* | aix5*) +  version_type=linux +  if test "$host_cpu" = ia64; then +    # AIX 5 supports IA64 +    library_names_spec='${libname}${release}.so$major ${libname}${release}.so$versuffix $libname.so' +    shlibpath_var=LD_LIBRARY_PATH +  else +    # With GCC up to 2.95.x, collect2 would create an import file +    # for dependence libraries.  The import file would start with +    # the line `#! .'.  This would cause the generated library to +    # depend on `.', always an invalid library.  This was fixed in +    # development snapshots of GCC prior to 3.0. +    case $host_os in +       aix4 | aix4.[01] | aix4.[01].*) +      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' +           echo ' yes ' +           echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then +        : +      else +        can_build_shared=no +      fi +      ;; +    esac +    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct +    # soname into executable. Probably we can add versioning support to +    # collect2, so additional links can be useful in future. +    if test "$aix_use_runtimelinking" = yes; then +      # If using run time linking (on AIX 4.2 or later) use lib<name>.so instead of +      # lib<name>.a to let people know that these are not typical AIX shared libraries. +      library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' +    else +      # We preserve .a as extension for shared libraries through AIX4.2 +      # and later when we are not doing run time linking. +      library_names_spec='${libname}${release}.a $libname.a' +      soname_spec='${libname}${release}.so$major' +    fi +    shlibpath_var=LIBPATH +    deplibs_check_method=pass_all +  fi +  ;; + +amigaos*) +  library_names_spec='$libname.ixlibrary $libname.a' +  # Create ${libname}_ixlibrary.a entries in /sys/libs. +  finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "(cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a)"; (cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a) || exit 1; done' +  ;; + +beos*) +  library_names_spec='${libname}.so' +  dynamic_linker="$host_os ld.so" +  shlibpath_var=LIBRARY_PATH +  ;; + +bsdi4*) +  version_type=linux +  need_version=no +  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' +  soname_spec='${libname}${release}.so$major' +  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' +  shlibpath_var=LD_LIBRARY_PATH +  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" +  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" +  export_dynamic_flag_spec=-rdynamic +  # the default ld.so.conf also contains /usr/contrib/lib and +  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow +  # libtool to hard-code these into programs +  ;; + +cygwin* | mingw* | pw32*) +  version_type=windows +  need_version=no +  need_lib_prefix=no +  case $GCC,$host_os in +  yes,cygwin*) +    library_names_spec='$libname.dll.a' +    soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll' +    postinstall_cmds='dlpath=`bash 2>&1 -c '\''. $dir/${file}i;echo \$dlname'\''`~ +      dldir=$destdir/`dirname \$dlpath`~ +      test -d \$dldir || mkdir -p \$dldir~ +      $install_prog .libs/$dlname \$dldir/$dlname' +    postuninstall_cmds='dldll=`bash 2>&1 -c '\''. $file; echo \$dlname'\''`~ +      dlpath=$dir/\$dldll~ +       $rm \$dlpath' +    ;; +  yes,mingw*) +    library_names_spec='${libname}`echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll' +    sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | sed -e "s/^libraries://" -e "s/;/ /g"` +    ;; +  yes,pw32*) +    library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | sed -e 's/./-/g'`${versuffix}.dll' +    ;; +  *) +    library_names_spec='${libname}`echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll $libname.lib' +    ;; +  esac +  dynamic_linker='Win32 ld.exe' +  # FIXME: first we should search . and the directory the executable is in +  shlibpath_var=PATH +  ;; + +darwin* | rhapsody*) +  dynamic_linker="$host_os dyld" +  version_type=darwin +  need_lib_prefix=no +  need_version=no +  # FIXME: Relying on posixy $() will cause problems for +  #        cross-compilation, but unfortunately the echo tests do not +  #        yet detect zsh echo's removal of \ escapes. +  library_names_spec='${libname}${release}${versuffix}.$(test .$module = .yes && echo so || echo dylib) ${libname}${release}${major}.$(test .$module = .yes && echo so || echo dylib) ${libname}.$(test .$module = .yes && echo so || echo dylib)' +  soname_spec='${libname}${release}${major}.$(test .$module = .yes && echo so || echo dylib)' +  shlibpath_overrides_runpath=yes +  shlibpath_var=DYLD_LIBRARY_PATH +  ;; + +freebsd1*) +  dynamic_linker=no +  ;; + +freebsd*) +  objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` +  version_type=freebsd-$objformat +  case $version_type in +    freebsd-elf*) +      library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so' +      need_version=no +      need_lib_prefix=no +      ;; +    freebsd-*) +      library_names_spec='${libname}${release}.so$versuffix $libname.so$versuffix' +      need_version=yes +      ;; +  esac +  shlibpath_var=LD_LIBRARY_PATH +  case $host_os in +  freebsd2*) +    shlibpath_overrides_runpath=yes +    ;; +  *) +    shlibpath_overrides_runpath=no +    hardcode_into_libs=yes +    ;; +  esac +  ;; + +gnu*) +  version_type=linux +  need_lib_prefix=no +  need_version=no +  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so${major} ${libname}.so' +  soname_spec='${libname}${release}.so$major' +  shlibpath_var=LD_LIBRARY_PATH +  hardcode_into_libs=yes +  ;; + +hpux9* | hpux10* | hpux11*) +  # Give a soname corresponding to the major version so that dld.sl refuses to +  # link against other versions. +  dynamic_linker="$host_os dld.sl" +  version_type=sunos +  need_lib_prefix=no +  need_version=no +  shlibpath_var=SHLIB_PATH +  shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH +  library_names_spec='${libname}${release}.sl$versuffix ${libname}${release}.sl$major $libname.sl' +  soname_spec='${libname}${release}.sl$major' +  # HP-UX runs *really* slowly unless shared libraries are mode 555. +  postinstall_cmds='chmod 555 $lib' +  ;; + +irix5* | irix6*) +  version_type=irix +  need_lib_prefix=no +  need_version=no +  soname_spec='${libname}${release}.so$major' +  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}${release}.so $libname.so' +  case $host_os in +  irix5*) +    libsuff= shlibsuff= +    ;; +  *) +    case $LD in # libtool.m4 will add one of these switches to LD +    *-32|*"-32 ") libsuff= shlibsuff= libmagic=32-bit;; +    *-n32|*"-n32 ") libsuff=32 shlibsuff=N32 libmagic=N32;; +    *-64|*"-64 ") libsuff=64 shlibsuff=64 libmagic=64-bit;; +    *) libsuff= shlibsuff= libmagic=never-match;; +    esac +    ;; +  esac +  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH +  shlibpath_overrides_runpath=no +  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" +  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" +  ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux-gnuoldld* | linux-gnuaout* | linux-gnucoff*) +  dynamic_linker=no +  ;; + +# This must be Linux ELF. +linux-gnu*) +  version_type=linux +  need_lib_prefix=no +  need_version=no +  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' +  soname_spec='${libname}${release}.so$major' +  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' +  shlibpath_var=LD_LIBRARY_PATH +  shlibpath_overrides_runpath=no +  # This implies no fast_install, which is unacceptable. +  # Some rework will be needed to allow for fast_install +  # before this can be enabled. +  hardcode_into_libs=yes + +  # We used to test for /lib/ld.so.1 and disable shared libraries on +  # powerpc, because MkLinux only supported shared libraries with the +  # GNU dynamic linker.  Since this was broken with cross compilers, +  # most powerpc-linux boxes support dynamic linking these days and +  # people can always --disable-shared, the test was removed, and we +  # assume the GNU/Linux dynamic linker is in use. +  dynamic_linker='GNU/Linux ld.so' +  ;; + +netbsd*) +  version_type=sunos +  need_lib_prefix=no +  need_version=no +  if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then +    library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix' +    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' +    dynamic_linker='NetBSD (a.out) ld.so' +  else +    library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}${release}.so ${libname}.so' +    soname_spec='${libname}${release}.so$major' +    dynamic_linker='NetBSD ld.elf_so' +  fi +  shlibpath_var=LD_LIBRARY_PATH +  shlibpath_overrides_runpath=yes +  hardcode_into_libs=yes +  ;; + +newsos6) +  version_type=linux +  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' +  shlibpath_var=LD_LIBRARY_PATH +  shlibpath_overrides_runpath=yes +  ;; + +openbsd*) +  version_type=sunos +  if test "$with_gnu_ld" = yes; then +    need_lib_prefix=no +    need_version=no +  fi +  library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix' +  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' +  shlibpath_var=LD_LIBRARY_PATH +  ;; + +os2*) +  libname_spec='$name' +  need_lib_prefix=no +  library_names_spec='$libname.dll $libname.a' +  dynamic_linker='OS/2 ld.exe' +  shlibpath_var=LIBPATH +  ;; + +osf3* | osf4* | osf5*) +  version_type=osf +  need_version=no +  soname_spec='${libname}${release}.so' +  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so' +  shlibpath_var=LD_LIBRARY_PATH +  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" +  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" +  ;; + +sco3.2v5*) +  version_type=osf +  soname_spec='${libname}${release}.so$major' +  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' +  shlibpath_var=LD_LIBRARY_PATH +  ;; + +solaris*) +  version_type=linux +  need_lib_prefix=no +  need_version=no +  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' +  soname_spec='${libname}${release}.so$major' +  shlibpath_var=LD_LIBRARY_PATH +  shlibpath_overrides_runpath=yes +  hardcode_into_libs=yes +  # ldd complains unless libraries are executable +  postinstall_cmds='chmod +x $lib' +  ;; + +sunos4*) +  version_type=sunos +  library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix' +  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' +  shlibpath_var=LD_LIBRARY_PATH +  shlibpath_overrides_runpath=yes +  if test "$with_gnu_ld" = yes; then +    need_lib_prefix=no +  fi +  need_version=yes +  ;; + +sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) +  version_type=linux +  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' +  soname_spec='${libname}${release}.so$major' +  shlibpath_var=LD_LIBRARY_PATH +  case $host_vendor in +    sni) +      shlibpath_overrides_runpath=no +      ;; +    motorola) +      need_lib_prefix=no +      need_version=no +      shlibpath_overrides_runpath=no +      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' +      ;; +  esac +  ;; + +uts4*) +  version_type=linux +  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' +  soname_spec='${libname}${release}.so$major' +  shlibpath_var=LD_LIBRARY_PATH +  ;; + +dgux*) +  version_type=linux +  need_lib_prefix=no +  need_version=no +  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' +  soname_spec='${libname}${release}.so$major' +  shlibpath_var=LD_LIBRARY_PATH +  ;; + +sysv4*MP*) +  if test -d /usr/nec ;then +    version_type=linux +    library_names_spec='$libname.so.$versuffix $libname.so.$major $libname.so' +    soname_spec='$libname.so.$major' +    shlibpath_var=LD_LIBRARY_PATH +  fi +  ;; + +*) +  dynamic_linker=no +  ;; +esac +echo "$ac_t""$dynamic_linker" 1>&6 +test "$dynamic_linker" = no && can_build_shared=no + +# Report the final consequences. +echo $ac_n "checking if libtool supports shared libraries""... $ac_c" 1>&6 +echo "configure:4075: checking if libtool supports shared libraries" >&5 +echo "$ac_t""$can_build_shared" 1>&6 + +if test "$hardcode_action" = relink; then +  # Fast installation is not supported +  enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || +     test "$enable_shared" = no; then +  # Fast installation is not necessary +  enable_fast_install=needless +fi + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then +  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +if test "x$enable_dlopen" != xyes; then +  enable_dlopen=unknown +  enable_dlopen_self=unknown +  enable_dlopen_self_static=unknown +else +  lt_cv_dlopen=no +  lt_cv_dlopen_libs= + +  case $host_os in +  beos*) +    lt_cv_dlopen="load_add_on" +    lt_cv_dlopen_libs= +    lt_cv_dlopen_self=yes +    ;; + +  cygwin* | mingw* | pw32*) +    lt_cv_dlopen="LoadLibrary" +    lt_cv_dlopen_libs= +   ;; + +  *) +    echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6 +echo "configure:4114: checking for dlopen in -ldl" >&5 +ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then +  echo $ac_n "(cached) $ac_c" 1>&6 +else +  ac_save_LIBS="$LIBS" +LIBS="-ldl  $LIBS" +cat > conftest.$ac_ext <<EOF +#line 4122 "configure" +#include "confdefs.h" +/* Override any gcc2 internal prototype to avoid an error.  */ +/* We use char because int might match the return type of a gcc2 +    builtin and then its argument prototype would still apply.  */ +char dlopen(); + +int main() { +dlopen() +; return 0; } +EOF +if { (eval echo configure:4133: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +  rm -rf conftest* +  eval "ac_cv_lib_$ac_lib_var=yes" +else +  echo "configure: failed program was:" >&5 +  cat conftest.$ac_ext >&5 +  rm -rf conftest* +  eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -f conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then +  echo "$ac_t""yes" 1>&6 +  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" +else +  echo "$ac_t""no" 1>&6 +echo $ac_n "checking for dlopen""... $ac_c" 1>&6 +echo "configure:4152: checking for dlopen" >&5 +if eval "test \"`echo '$''{'ac_cv_func_dlopen'+set}'`\" = set"; then +  echo $ac_n "(cached) $ac_c" 1>&6 +else +  cat > conftest.$ac_ext <<EOF +#line 4157 "configure" +#include "confdefs.h" +/* System header to define __stub macros and hopefully few prototypes, +    which can conflict with char dlopen(); below.  */ +#include <assert.h> +/* Override any gcc2 internal prototype to avoid an error.  */ +/* We use char because int might match the return type of a gcc2 +    builtin and then its argument prototype would still apply.  */ +char dlopen(); + +int main() { + +/* The GNU C library defines this for functions which it implements +    to always fail with ENOSYS.  Some functions are actually named +    something starting with __ and the normal name is an alias.  */ +#if defined (__stub_dlopen) || defined (__stub___dlopen) +choke me +#else +dlopen(); +#endif + +; return 0; } +EOF +if { (eval echo configure:4180: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +  rm -rf conftest* +  eval "ac_cv_func_dlopen=yes" +else +  echo "configure: failed program was:" >&5 +  cat conftest.$ac_ext >&5 +  rm -rf conftest* +  eval "ac_cv_func_dlopen=no" +fi +rm -f conftest* +fi + +if eval "test \"`echo '$ac_cv_func_'dlopen`\" = yes"; then +  echo "$ac_t""yes" 1>&6 +  lt_cv_dlopen="dlopen" +else +  echo "$ac_t""no" 1>&6 +echo $ac_n "checking for shl_load""... $ac_c" 1>&6 +echo "configure:4198: checking for shl_load" >&5 +if eval "test \"`echo '$''{'ac_cv_func_shl_load'+set}'`\" = set"; then +  echo $ac_n "(cached) $ac_c" 1>&6 +else +  cat > conftest.$ac_ext <<EOF +#line 4203 "configure" +#include "confdefs.h" +/* System header to define __stub macros and hopefully few prototypes, +    which can conflict with char shl_load(); below.  */ +#include <assert.h> +/* Override any gcc2 internal prototype to avoid an error.  */ +/* We use char because int might match the return type of a gcc2 +    builtin and then its argument prototype would still apply.  */ +char shl_load(); + +int main() { + +/* The GNU C library defines this for functions which it implements +    to always fail with ENOSYS.  Some functions are actually named +    something starting with __ and the normal name is an alias.  */ +#if defined (__stub_shl_load) || defined (__stub___shl_load) +choke me +#else +shl_load(); +#endif + +; return 0; } +EOF +if { (eval echo configure:4226: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +  rm -rf conftest* +  eval "ac_cv_func_shl_load=yes" +else +  echo "configure: failed program was:" >&5 +  cat conftest.$ac_ext >&5 +  rm -rf conftest* +  eval "ac_cv_func_shl_load=no" +fi +rm -f conftest* +fi + +if eval "test \"`echo '$ac_cv_func_'shl_load`\" = yes"; then +  echo "$ac_t""yes" 1>&6 +  lt_cv_dlopen="shl_load" +else +  echo "$ac_t""no" 1>&6 +echo $ac_n "checking for dlopen in -lsvld""... $ac_c" 1>&6 +echo "configure:4244: checking for dlopen in -lsvld" >&5 +ac_lib_var=`echo svld'_'dlopen | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then +  echo $ac_n "(cached) $ac_c" 1>&6 +else +  ac_save_LIBS="$LIBS" +LIBS="-lsvld  $LIBS" +cat > conftest.$ac_ext <<EOF +#line 4252 "configure" +#include "confdefs.h" +/* Override any gcc2 internal prototype to avoid an error.  */ +/* We use char because int might match the return type of a gcc2 +    builtin and then its argument prototype would still apply.  */ +char dlopen(); + +int main() { +dlopen() +; return 0; } +EOF +if { (eval echo configure:4263: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +  rm -rf conftest* +  eval "ac_cv_lib_$ac_lib_var=yes" +else +  echo "configure: failed program was:" >&5 +  cat conftest.$ac_ext >&5 +  rm -rf conftest* +  eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -f conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then +  echo "$ac_t""yes" 1>&6 +  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" +else +  echo "$ac_t""no" 1>&6 +echo $ac_n "checking for shl_load in -ldld""... $ac_c" 1>&6 +echo "configure:4282: checking for shl_load in -ldld" >&5 +ac_lib_var=`echo dld'_'shl_load | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then +  echo $ac_n "(cached) $ac_c" 1>&6 +else +  ac_save_LIBS="$LIBS" +LIBS="-ldld  $LIBS" +cat > conftest.$ac_ext <<EOF +#line 4290 "configure" +#include "confdefs.h" +/* Override any gcc2 internal prototype to avoid an error.  */ +/* We use char because int might match the return type of a gcc2 +    builtin and then its argument prototype would still apply.  */ +char shl_load(); + +int main() { +shl_load() +; return 0; } +EOF +if { (eval echo configure:4301: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +  rm -rf conftest* +  eval "ac_cv_lib_$ac_lib_var=yes" +else +  echo "configure: failed program was:" >&5 +  cat conftest.$ac_ext >&5 +  rm -rf conftest* +  eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -f conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then +  echo "$ac_t""yes" 1>&6 +  lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld" +else +  echo "$ac_t""no" 1>&6 +fi + +	     +fi + +           +fi + +         +fi + +       +fi + +    ;; +  esac + +  if test "x$lt_cv_dlopen" != xno; then +    enable_dlopen=yes +  else +    enable_dlopen=no +  fi + +  case $lt_cv_dlopen in +  dlopen) +    save_CPPFLAGS="$CPPFLAGS" +        test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + +    save_LDFLAGS="$LDFLAGS" +    eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + +    save_LIBS="$LIBS" +    LIBS="$lt_cv_dlopen_libs $LIBS" + +    echo $ac_n "checking whether a program can dlopen itself""... $ac_c" 1>&6 +echo "configure:4354: checking whether a program can dlopen itself" >&5 +if eval "test \"`echo '$''{'lt_cv_dlopen_self'+set}'`\" = set"; then +  echo $ac_n "(cached) $ac_c" 1>&6 +else +  	  if test "$cross_compiling" = yes; then : +  lt_cv_dlopen_self=cross +else +    lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 +  lt_status=$lt_dlunknown +  cat > conftest.$ac_ext <<EOF +#line 4364 "configure" +#include "confdefs.h" + +#if HAVE_DLFCN_H +#include <dlfcn.h> +#endif + +#include <stdio.h> + +#ifdef RTLD_GLOBAL +#  define LT_DLGLOBAL		RTLD_GLOBAL +#else +#  ifdef DL_GLOBAL +#    define LT_DLGLOBAL		DL_GLOBAL +#  else +#    define LT_DLGLOBAL		0 +#  endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we +   find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +#  ifdef RTLD_LAZY +#    define LT_DLLAZY_OR_NOW		RTLD_LAZY +#  else +#    ifdef DL_LAZY +#      define LT_DLLAZY_OR_NOW		DL_LAZY +#    else +#      ifdef RTLD_NOW +#        define LT_DLLAZY_OR_NOW	RTLD_NOW +#      else +#        ifdef DL_NOW +#          define LT_DLLAZY_OR_NOW	DL_NOW +#        else +#          define LT_DLLAZY_OR_NOW	0 +#        endif +#      endif +#    endif +#  endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ +  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); +  int status = $lt_dlunknown; + +  if (self) +    { +      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore; +      else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; +      /* dlclose (self); */ +    } + +    exit (status); +} +EOF +  if { (eval echo configure:4425: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} 2>/dev/null; then +    (./conftest; exit; ) 2>/dev/null +    lt_status=$? +    case x$lt_status in +      x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; +      x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; +      x$lt_unknown|x*) lt_cv_dlopen_self=no ;; +    esac +  else : +    # compilation failed +    lt_cv_dlopen_self=no +  fi +fi +rm -fr conftest* + +     +fi + +echo "$ac_t""$lt_cv_dlopen_self" 1>&6 + +    if test "x$lt_cv_dlopen_self" = xyes; then +      LDFLAGS="$LDFLAGS $link_static_flag" +      echo $ac_n "checking whether a statically linked program can dlopen itself""... $ac_c" 1>&6 +echo "configure:4448: checking whether a statically linked program can dlopen itself" >&5 +if eval "test \"`echo '$''{'lt_cv_dlopen_self_static'+set}'`\" = set"; then +  echo $ac_n "(cached) $ac_c" 1>&6 +else +  	  if test "$cross_compiling" = yes; then : +  lt_cv_dlopen_self_static=cross +else +    lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 +  lt_status=$lt_dlunknown +  cat > conftest.$ac_ext <<EOF +#line 4458 "configure" +#include "confdefs.h" + +#if HAVE_DLFCN_H +#include <dlfcn.h> +#endif + +#include <stdio.h> + +#ifdef RTLD_GLOBAL +#  define LT_DLGLOBAL		RTLD_GLOBAL +#else +#  ifdef DL_GLOBAL +#    define LT_DLGLOBAL		DL_GLOBAL +#  else +#    define LT_DLGLOBAL		0 +#  endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we +   find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +#  ifdef RTLD_LAZY +#    define LT_DLLAZY_OR_NOW		RTLD_LAZY +#  else +#    ifdef DL_LAZY +#      define LT_DLLAZY_OR_NOW		DL_LAZY +#    else +#      ifdef RTLD_NOW +#        define LT_DLLAZY_OR_NOW	RTLD_NOW +#      else +#        ifdef DL_NOW +#          define LT_DLLAZY_OR_NOW	DL_NOW +#        else +#          define LT_DLLAZY_OR_NOW	0 +#        endif +#      endif +#    endif +#  endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ +  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); +  int status = $lt_dlunknown; + +  if (self) +    { +      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore; +      else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; +      /* dlclose (self); */ +    } + +    exit (status); +} +EOF +  if { (eval echo configure:4519: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} 2>/dev/null; then +    (./conftest; exit; ) 2>/dev/null +    lt_status=$? +    case x$lt_status in +      x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; +      x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; +      x$lt_unknown|x*) lt_cv_dlopen_self_static=no ;; +    esac +  else : +    # compilation failed +    lt_cv_dlopen_self_static=no +  fi +fi +rm -fr conftest* + +       +fi + +echo "$ac_t""$lt_cv_dlopen_self_static" 1>&6 +    fi + +    CPPFLAGS="$save_CPPFLAGS" +    LDFLAGS="$save_LDFLAGS" +    LIBS="$save_LIBS" +    ;; +  esac + +  case $lt_cv_dlopen_self in +  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; +  *) enable_dlopen_self=unknown ;; +  esac + +  case $lt_cv_dlopen_self_static in +  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; +  *) enable_dlopen_self_static=unknown ;; +  esac +fi + + +if test "$enable_shared" = yes && test "$GCC" = yes; then +  case $archive_cmds in +  *'~'*) +    # FIXME: we may have to deal with multi-command sequences. +    ;; +  '$CC '*) +    # Test whether the compiler implicitly links with -lc since on some +    # systems, -lgcc has to come before -lc. If gcc already passes -lc +    # to ld, don't add -lc before -lgcc. +    echo $ac_n "checking whether -lc should be explicitly linked in""... $ac_c" 1>&6 +echo "configure:4568: checking whether -lc should be explicitly linked in" >&5 +    if eval "test \"`echo '$''{'lt_cv_archive_cmds_need_lc'+set}'`\" = set"; then +  echo $ac_n "(cached) $ac_c" 1>&6 +else +  $rm conftest* +    echo 'static int dummy;' > conftest.$ac_ext + +    if { (eval echo configure:4575: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +      soname=conftest +      lib=conftest +      libobjs=conftest.$ac_objext +      deplibs= +      wl=$lt_cv_prog_cc_wl +      compiler_flags=-v +      linker_flags=-v +      verstring= +      output_objdir=. +      libname=conftest +      save_allow_undefined_flag=$allow_undefined_flag +      allow_undefined_flag= +      if { (eval echo configure:4588: \"$archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\") 1>&5; (eval $archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5; } +      then +	lt_cv_archive_cmds_need_lc=no +      else +	lt_cv_archive_cmds_need_lc=yes +      fi +      allow_undefined_flag=$save_allow_undefined_flag +    else +      cat conftest.err 1>&5 +    fi +fi + +    echo "$ac_t""$lt_cv_archive_cmds_need_lc" 1>&6 +    ;; +  esac +fi +need_lc=${lt_cv_archive_cmds_need_lc-yes} + +# The second clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then +  : +else +  # If there is no Makefile yet, we rely on a make rule to execute +  # `config.status --recheck' to rerun these tests and create the +  # libtool script then. +  test -f Makefile && make "$ltmain" +fi + +if test -f "$ltmain"; then +  trap "$rm \"${ofile}T\"; exit 1" 1 2 15 +  $rm -f "${ofile}T" + +  echo creating $ofile + +  # Now quote all the things that may contain metacharacters while being +  # careful not to overquote the AC_SUBSTed values.  We take copies of the +  # variables and quote the copies for generation of the libtool script. +  for var in echo old_CC old_CFLAGS \ +    AR AR_FLAGS CC LD LN_S NM SHELL \ +    reload_flag reload_cmds wl \ +    pic_flag link_static_flag no_builtin_flag export_dynamic_flag_spec \ +    thread_safe_flag_spec whole_archive_flag_spec libname_spec \ +    library_names_spec soname_spec \ +    RANLIB old_archive_cmds old_archive_from_new_cmds old_postinstall_cmds \ +    old_postuninstall_cmds archive_cmds archive_expsym_cmds postinstall_cmds \ +    postuninstall_cmds extract_expsyms_cmds old_archive_from_expsyms_cmds \ +    old_striplib striplib file_magic_cmd export_symbols_cmds \ +    deplibs_check_method allow_undefined_flag no_undefined_flag \ +    finish_cmds finish_eval global_symbol_pipe global_symbol_to_cdecl \ +    hardcode_libdir_flag_spec hardcode_libdir_separator  \ +    sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ +    compiler_c_o compiler_o_lo need_locks exclude_expsyms include_expsyms; do + +    case $var in +    reload_cmds | old_archive_cmds | old_archive_from_new_cmds | \ +    old_postinstall_cmds | old_postuninstall_cmds | \ +    export_symbols_cmds | archive_cmds | archive_expsym_cmds | \ +    extract_expsyms_cmds | old_archive_from_expsyms_cmds | \ +    postinstall_cmds | postuninstall_cmds | \ +    finish_cmds | sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) +      # Double-quote double-evaled strings. +      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" +      ;; +    *) +      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" +      ;; +    esac +  done + +  cat <<__EOF__ > "${ofile}T" +#! $SHELL + +# `$echo "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. +# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) +# NOTE: Changes made to this file will be lost: look at ltmain.sh. +# +# Copyright (C) 1996-2000 Free Software Foundation, Inc. +# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 +# +# 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 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 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. + +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="sed -e s/^X//" + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +if test "X\${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi + +# ### BEGIN LIBTOOL CONFIG + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$need_lc + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# The default C compiler. +CC=$lt_CC + +# Is the compiler the GNU C compiler? +with_gcc=$GCC + +# The linker used to build libraries. +LD=$lt_LD + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_wl + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_pic_flag +pic_mode=$pic_mode + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_compiler_c_o + +# Can we write directly to a .lo ? +compiler_o_lo=$lt_compiler_o_lo + +# Must we lock files when doing compilation ? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_link_static_flag + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_no_builtin_flag + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names.  First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds +archive_expsym_cmds=$lt_archive_expsym_cmds +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_global_symbol_to_cdecl + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator + +# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$fix_srcfile_path" + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms + +# ### END LIBTOOL CONFIG + +__EOF__ + +  case $host_os in +  aix3*) +    cat <<\EOF >> "${ofile}T" + +# AIX sometimes has problems with the GCC collect2 program.  For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test "X${COLLECT_NAMES+set}" != Xset; then +  COLLECT_NAMES= +  export COLLECT_NAMES +fi +EOF +    ;; +  esac + +  case $host_os in +  cygwin* | mingw* | pw32* | os2*) +    cat <<'EOF' >> "${ofile}T" +      # This is a source program that is used to create dlls on Windows +      # Don't remove nor modify the starting and closing comments +# /* ltdll.c starts here */ +# #define WIN32_LEAN_AND_MEAN +# #include <windows.h> +# #undef WIN32_LEAN_AND_MEAN +# #include <stdio.h> +# +# #ifndef __CYGWIN__ +# #  ifdef __CYGWIN32__ +# #    define __CYGWIN__ __CYGWIN32__ +# #  endif +# #endif +# +# #ifdef __cplusplus +# extern "C" { +# #endif +# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved); +# #ifdef __cplusplus +# } +# #endif +# +# #ifdef __CYGWIN__ +# #include <cygwin/cygwin_dll.h> +# DECLARE_CYGWIN_DLL( DllMain ); +# #endif +# HINSTANCE __hDllInstance_base; +# +# BOOL APIENTRY +# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved) +# { +#   __hDllInstance_base = hInst; +#   return TRUE; +# } +# /* ltdll.c ends here */ +        # This is a source program that is used to create import libraries +        # on Windows for dlls which lack them. Don't remove nor modify the +        # starting and closing comments +# /* impgen.c starts here */ +# /*   Copyright (C) 1999-2000 Free Software Foundation, Inc. +# +#  This file is part of GNU libtool. +# +#  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 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +#  */ +# +# #include <stdio.h>		/* for printf() */ +# #include <unistd.h>		/* for open(), lseek(), read() */ +# #include <fcntl.h>		/* for O_RDONLY, O_BINARY */ +# #include <string.h>		/* for strdup() */ +# +# /* O_BINARY isn't required (or even defined sometimes) under Unix */ +# #ifndef O_BINARY +# #define O_BINARY 0 +# #endif +# +# static unsigned int +# pe_get16 (fd, offset) +#      int fd; +#      int offset; +# { +#   unsigned char b[2]; +#   lseek (fd, offset, SEEK_SET); +#   read (fd, b, 2); +#   return b[0] + (b[1]<<8); +# } +# +# static unsigned int +# pe_get32 (fd, offset) +#     int fd; +#     int offset; +# { +#   unsigned char b[4]; +#   lseek (fd, offset, SEEK_SET); +#   read (fd, b, 4); +#   return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24); +# } +# +# static unsigned int +# pe_as32 (ptr) +#      void *ptr; +# { +#   unsigned char *b = ptr; +#   return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24); +# } +# +# int +# main (argc, argv) +#     int argc; +#     char *argv[]; +# { +#     int dll; +#     unsigned long pe_header_offset, opthdr_ofs, num_entries, i; +#     unsigned long export_rva, export_size, nsections, secptr, expptr; +#     unsigned long name_rvas, nexp; +#     unsigned char *expdata, *erva; +#     char *filename, *dll_name; +# +#     filename = argv[1]; +# +#     dll = open(filename, O_RDONLY|O_BINARY); +#     if (dll < 1) +# 	return 1; +# +#     dll_name = filename; +# +#     for (i=0; filename[i]; i++) +# 	if (filename[i] == '/' || filename[i] == '\\'  || filename[i] == ':') +# 	    dll_name = filename + i +1; +# +#     pe_header_offset = pe_get32 (dll, 0x3c); +#     opthdr_ofs = pe_header_offset + 4 + 20; +#     num_entries = pe_get32 (dll, opthdr_ofs + 92); +# +#     if (num_entries < 1) /* no exports */ +# 	return 1; +# +#     export_rva = pe_get32 (dll, opthdr_ofs + 96); +#     export_size = pe_get32 (dll, opthdr_ofs + 100); +#     nsections = pe_get16 (dll, pe_header_offset + 4 +2); +#     secptr = (pe_header_offset + 4 + 20 + +# 	      pe_get16 (dll, pe_header_offset + 4 + 16)); +# +#     expptr = 0; +#     for (i = 0; i < nsections; i++) +#     { +# 	char sname[8]; +# 	unsigned long secptr1 = secptr + 40 * i; +# 	unsigned long vaddr = pe_get32 (dll, secptr1 + 12); +# 	unsigned long vsize = pe_get32 (dll, secptr1 + 16); +# 	unsigned long fptr = pe_get32 (dll, secptr1 + 20); +# 	lseek(dll, secptr1, SEEK_SET); +# 	read(dll, sname, 8); +# 	if (vaddr <= export_rva && vaddr+vsize > export_rva) +# 	{ +# 	    expptr = fptr + (export_rva - vaddr); +# 	    if (export_rva + export_size > vaddr + vsize) +# 		export_size = vsize - (export_rva - vaddr); +# 	    break; +# 	} +#     } +# +#     expdata = (unsigned char*)malloc(export_size); +#     lseek (dll, expptr, SEEK_SET); +#     read (dll, expdata, export_size); +#     erva = expdata - export_rva; +# +#     nexp = pe_as32 (expdata+24); +#     name_rvas = pe_as32 (expdata+32); +# +#     printf ("EXPORTS\n"); +#     for (i = 0; i<nexp; i++) +#     { +# 	unsigned long name_rva = pe_as32 (erva+name_rvas+i*4); +# 	printf ("\t%s @ %ld ;\n", erva+name_rva, 1+ i); +#     } +# +#     return 0; +# } +# /* impgen.c ends here */ + +EOF +    ;; +  esac + +  # We use sed instead of cat because bash on DJGPP gets confused if +  # if finds mixed CR/LF and LF-only lines.  Since sed operates in +  # text mode, it properly converts lines to CR/LF.  This bash problem +  # is reportedly fixed, but why not run on old versions too? +  sed '$q' "$ltmain" >> "${ofile}T" || (rm -f "${ofile}T"; exit 1) + +  mv -f "${ofile}T" "$ofile" || \ +    (rm -f "$ofile" && cp "${ofile}T" "$ofile" && rm -f "${ofile}T") +  chmod +x "$ofile" +fi + + + + + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' + +# Prevent multiple expansion + + +#AC_CHECK_TOOL(LD, ld, ld) +#AC_CHECK_TOOL(AR, ar, ar) + +trap '' 1 2 15 +cat > confcache <<\EOF +# This file is a shell script that caches the results of configure +# tests run on this system so they can be shared between configure +# scripts and configure runs.  It is not useful on other systems. +# If it contains results you don't want to keep, you may remove or edit it. +# +# By default, configure uses ./config.cache as the cache file, +# creating it if it does not exist already.  You can give configure +# the --cache-file=FILE option to use a different cache file; that is +# what configure does when it calls configure scripts in +# subdirectories, so they share the cache. +# Giving --cache-file=/dev/null disables caching, for debugging configure. +# config.status only pays attention to the cache file if you give it the +# --recheck option to rerun configure. +# +EOF +# The following way of writing the cache mishandles newlines in values, +# but we know of no workaround that is simple, portable, and efficient. +# So, don't put newlines in cache variables' values. +# Ultrix sh set writes to stderr and can't be redirected directly, +# and sets the high bit in the cache file unless we assign to the vars. +(set) 2>&1 | +  case `(ac_space=' '; set | grep ac_space) 2>&1` in +  *ac_space=\ *) +    # `set' does not quote correctly, so add quotes (double-quote substitution +    # turns \\\\ into \\, and sed turns \\ into \). +    sed -n \ +      -e "s/'/'\\\\''/g" \ +      -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p" +    ;; +  *) +    # `set' quotes correctly as required by POSIX, so do not add quotes. +    sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p' +    ;; +  esac >> confcache +if cmp -s $cache_file confcache; then +  : +else +  if test -w $cache_file; then +    echo "updating cache $cache_file" +    cat confcache > $cache_file +  else +    echo "not updating unwritable cache $cache_file" +  fi +fi +rm -f confcache + +trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 + +test "x$prefix" = xNONE && prefix=$ac_default_prefix +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +# Any assignment to VPATH causes Sun make to only execute +# the first set of double-colon rules, so remove it if not needed. +# If there is a colon in the path, we need to keep it. +if test "x$srcdir" = x.; then +  ac_vpsub='/^[ 	]*VPATH[ 	]*=[^:]*$/d' +fi + +trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15 + +# Transform confdefs.h into DEFS. +# Protect against shell expansion while executing Makefile rules. +# Protect against Makefile macro expansion. +cat > conftest.defs <<\EOF +s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g +s%[ 	`~#$^&*(){}\\|;'"<>?]%\\&%g +s%\[%\\&%g +s%\]%\\&%g +s%\$%$$%g +EOF +DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '` +rm -f conftest.defs + + +# Without the "./", some shells look in PATH for config.status. +: ${CONFIG_STATUS=./config.status} + +echo creating $CONFIG_STATUS +rm -f $CONFIG_STATUS +cat > $CONFIG_STATUS <<EOF +#! /bin/sh +# Generated automatically by configure. +# Run this file to recreate the current configuration. +# This directory was configured as follows, +# on host `(hostname || uname -n) 2>/dev/null | sed 1q`: +# +# $0 $ac_configure_args +# +# Compiler output produced by configure, useful for debugging +# configure, is in ./config.log if it exists. + +ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]" +for ac_option +do +  case "\$ac_option" in +  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) +    echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion" +    exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;; +  -version | --version | --versio | --versi | --vers | --ver | --ve | --v) +    echo "$CONFIG_STATUS generated by autoconf version 2.13" +    exit 0 ;; +  -help | --help | --hel | --he | --h) +    echo "\$ac_cs_usage"; exit 0 ;; +  *) echo "\$ac_cs_usage"; exit 1 ;; +  esac +done + +ac_given_srcdir=$srcdir +ac_given_INSTALL="$INSTALL" + +trap 'rm -fr `echo "Makefile include/Makefile src/Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15 +EOF +cat >> $CONFIG_STATUS <<EOF + +# Protect against being on the right side of a sed subst in config.status. +sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g; + s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF +$ac_vpsub +$extrasub +s%@SHELL@%$SHELL%g +s%@CFLAGS@%$CFLAGS%g +s%@CPPFLAGS@%$CPPFLAGS%g +s%@CXXFLAGS@%$CXXFLAGS%g +s%@FFLAGS@%$FFLAGS%g +s%@DEFS@%$DEFS%g +s%@LDFLAGS@%$LDFLAGS%g +s%@LIBS@%$LIBS%g +s%@exec_prefix@%$exec_prefix%g +s%@prefix@%$prefix%g +s%@program_transform_name@%$program_transform_name%g +s%@bindir@%$bindir%g +s%@sbindir@%$sbindir%g +s%@libexecdir@%$libexecdir%g +s%@datadir@%$datadir%g +s%@sysconfdir@%$sysconfdir%g +s%@sharedstatedir@%$sharedstatedir%g +s%@localstatedir@%$localstatedir%g +s%@libdir@%$libdir%g +s%@includedir@%$includedir%g +s%@oldincludedir@%$oldincludedir%g +s%@infodir@%$infodir%g +s%@mandir@%$mandir%g +s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g +s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g +s%@INSTALL_DATA@%$INSTALL_DATA%g +s%@PACKAGE@%$PACKAGE%g +s%@VERSION@%$VERSION%g +s%@ACLOCAL@%$ACLOCAL%g +s%@AUTOCONF@%$AUTOCONF%g +s%@AUTOMAKE@%$AUTOMAKE%g +s%@AUTOHEADER@%$AUTOHEADER%g +s%@MAKEINFO@%$MAKEINFO%g +s%@SET_MAKE@%$SET_MAKE%g +s%@LD@%$LD%g +s%@AR@%$AR%g +s%@CC@%$CC%g +s%@RANLIB@%$RANLIB%g +s%@host@%$host%g +s%@host_alias@%$host_alias%g +s%@host_cpu@%$host_cpu%g +s%@host_vendor@%$host_vendor%g +s%@host_os@%$host_os%g +s%@build@%$build%g +s%@build_alias@%$build_alias%g +s%@build_cpu@%$build_cpu%g +s%@build_vendor@%$build_vendor%g +s%@build_os@%$build_os%g +s%@LN_S@%$LN_S%g +s%@OBJEXT@%$OBJEXT%g +s%@EXEEXT@%$EXEEXT%g +s%@ECHO@%$ECHO%g +s%@STRIP@%$STRIP%g +s%@CPP@%$CPP%g +s%@LIBTOOL@%$LIBTOOL%g + +CEOF +EOF + +cat >> $CONFIG_STATUS <<\EOF + +# Split the substitutions into bite-sized pieces for seds with +# small command number limits, like on Digital OSF/1 and HP-UX. +ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script. +ac_file=1 # Number of current file. +ac_beg=1 # First line for current file. +ac_end=$ac_max_sed_cmds # Line after last line for current file. +ac_more_lines=: +ac_sed_cmds="" +while $ac_more_lines; do +  if test $ac_beg -gt 1; then +    sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file +  else +    sed "${ac_end}q" conftest.subs > conftest.s$ac_file +  fi +  if test ! -s conftest.s$ac_file; then +    ac_more_lines=false +    rm -f conftest.s$ac_file +  else +    if test -z "$ac_sed_cmds"; then +      ac_sed_cmds="sed -f conftest.s$ac_file" +    else +      ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file" +    fi +    ac_file=`expr $ac_file + 1` +    ac_beg=$ac_end +    ac_end=`expr $ac_end + $ac_max_sed_cmds` +  fi +done +if test -z "$ac_sed_cmds"; then +  ac_sed_cmds=cat +fi +EOF + +cat >> $CONFIG_STATUS <<EOF + +CONFIG_FILES=\${CONFIG_FILES-"Makefile include/Makefile src/Makefile"} +EOF +cat >> $CONFIG_STATUS <<\EOF +for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then +  # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". +  case "$ac_file" in +  *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'` +       ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; +  *) ac_file_in="${ac_file}.in" ;; +  esac + +  # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories. + +  # Remove last slash and all that follows it.  Not all systems have dirname. +  ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'` +  if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then +    # The file is in a subdirectory. +    test ! -d "$ac_dir" && mkdir "$ac_dir" +    ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`" +    # A "../" for each directory in $ac_dir_suffix. +    ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'` +  else +    ac_dir_suffix= ac_dots= +  fi + +  case "$ac_given_srcdir" in +  .)  srcdir=. +      if test -z "$ac_dots"; then top_srcdir=. +      else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;; +  /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;; +  *) # Relative path. +    srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix" +    top_srcdir="$ac_dots$ac_given_srcdir" ;; +  esac + +  case "$ac_given_INSTALL" in +  [/$]*) INSTALL="$ac_given_INSTALL" ;; +  *) INSTALL="$ac_dots$ac_given_INSTALL" ;; +  esac + +  echo creating "$ac_file" +  rm -f "$ac_file" +  configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure." +  case "$ac_file" in +  *Makefile*) ac_comsub="1i\\ +# $configure_input" ;; +  *) ac_comsub= ;; +  esac + +  ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"` +  sed -e "$ac_comsub +s%@configure_input@%$configure_input%g +s%@srcdir@%$srcdir%g +s%@top_srcdir@%$top_srcdir%g +s%@INSTALL@%$INSTALL%g +" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file +fi; done +rm -f conftest.s* + +EOF +cat >> $CONFIG_STATUS <<EOF + +EOF +cat >> $CONFIG_STATUS <<\EOF + +exit 0 +EOF +chmod +x $CONFIG_STATUS +rm -fr confdefs* $ac_clean_files +test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1 + diff --git a/configure.in b/configure.in new file mode 100644 index 00000000..442f19ff --- /dev/null +++ b/configure.in @@ -0,0 +1,21 @@ +dnl +dnl  $Id$ +dnl +dnl Process this file with autoconf to produce a configure script. +dnl +AC_INIT() +AM_INIT_AUTOMAKE(bluez-libs, 2.0) + +AC_PREFIX_DEFAULT(/usr) + +AC_SUBST(LD) +AC_SUBST(AR) + +AC_PROG_CC +AC_PROG_RANLIB +AC_PROG_INSTALL +AC_PROG_LIBTOOL +#AC_CHECK_TOOL(LD, ld, ld) +#AC_CHECK_TOOL(AR, ar, ar) + +AC_OUTPUT(Makefile include/Makefile src/Makefile) diff --git a/conftest b/conftest Binary files differnew file mode 100755 index 00000000..0a5bb3d5 --- /dev/null +++ b/conftest diff --git a/conftest.c b/conftest.c new file mode 100644 index 00000000..cb8c7a57 --- /dev/null +++ b/conftest.c @@ -0,0 +1 @@ +static int dummy; diff --git a/include/Makefile.am b/include/Makefile.am new file mode 100644 index 00000000..dceb3447 --- /dev/null +++ b/include/Makefile.am @@ -0,0 +1,9 @@ +#   +#  $Id$ +# + +hdrdir = $(prefix)/include/bluetooth + +install-data-local: +	$(mkinstalldirs) $(DESTDIR)$(hdrdir) +	$(INSTALL) -m 644 $(srcdir)/*.h $(DESTDIR)$(hdrdir) diff --git a/include/Makefile.in b/include/Makefile.in new file mode 100644 index 00000000..5a8de87a --- /dev/null +++ b/include/Makefile.in @@ -0,0 +1,194 @@ +# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am + +# Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +#   +#  $Id$ +# + + +SHELL = @SHELL@ + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +prefix = @prefix@ +exec_prefix = @exec_prefix@ + +bindir = @bindir@ +sbindir = @sbindir@ +libexecdir = @libexecdir@ +datadir = @datadir@ +sysconfdir = @sysconfdir@ +sharedstatedir = @sharedstatedir@ +localstatedir = @localstatedir@ +libdir = @libdir@ +infodir = @infodir@ +mandir = @mandir@ +includedir = @includedir@ +oldincludedir = /usr/include + +DESTDIR = + +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ + +top_builddir = .. + +ACLOCAL = @ACLOCAL@ +AUTOCONF = @AUTOCONF@ +AUTOMAKE = @AUTOMAKE@ +AUTOHEADER = @AUTOHEADER@ + +INSTALL = @INSTALL@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS) +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +transform = @program_transform_name@ + +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +host_alias = @host_alias@ +host_triplet = @host@ +AR = @AR@ +AS = @AS@ +CC = @CC@ +DLLTOOL = @DLLTOOL@ +ECHO = @ECHO@ +EXEEXT = @EXEEXT@ +LD = @LD@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +MAKEINFO = @MAKEINFO@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +RANLIB = @RANLIB@ +STRIP = @STRIP@ +VERSION = @VERSION@ + +hdrdir = $(prefix)/include/bluetooth +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_CLEAN_FILES =  +DIST_COMMON =  Makefile.am Makefile.in + + +DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) + +TAR = gtar +GZIP_ENV = --best +all: all-redirect +.SUFFIXES: +$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)  +	cd $(top_srcdir) && $(AUTOMAKE) --gnu include/Makefile + +Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status $(BUILT_SOURCES) +	cd $(top_builddir) \ +	  && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status + +tags: TAGS +TAGS: + + +distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) + +subdir = include + +distdir: $(DISTFILES) +	here=`cd $(top_builddir) && pwd`; \ +	top_distdir=`cd $(top_distdir) && pwd`; \ +	distdir=`cd $(distdir) && pwd`; \ +	cd $(top_srcdir) \ +	  && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu include/Makefile +	@for file in $(DISTFILES); do \ +	  d=$(srcdir); \ +	  if test -d $$d/$$file; then \ +	    cp -pr $$d/$$file $(distdir)/$$file; \ +	  else \ +	    test -f $(distdir)/$$file \ +	    || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ +	    || cp -p $$d/$$file $(distdir)/$$file || :; \ +	  fi; \ +	done +info-am: +info: info-am +dvi-am: +dvi: dvi-am +check-am: all-am +check: check-am +installcheck-am: +installcheck: installcheck-am +install-exec-am: +install-exec: install-exec-am + +install-data-am: install-data-local +install-data: install-data-am + +install-am: all-am +	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am +install: install-am +uninstall-am: +uninstall: uninstall-am +all-am: Makefile +all-redirect: all-am +install-strip: +	$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install +installdirs: + + +mostlyclean-generic: + +clean-generic: + +distclean-generic: +	-rm -f Makefile $(CONFIG_CLEAN_FILES) +	-rm -f config.cache config.log stamp-h stamp-h[0-9]* + +maintainer-clean-generic: +mostlyclean-am:  mostlyclean-generic + +mostlyclean: mostlyclean-am + +clean-am:  clean-generic mostlyclean-am + +clean: clean-am + +distclean-am:  distclean-generic clean-am +	-rm -f libtool + +distclean: distclean-am + +maintainer-clean-am:  maintainer-clean-generic distclean-am +	@echo "This command is intended for maintainers to use;" +	@echo "it deletes files that may require special tools to rebuild." + +maintainer-clean: maintainer-clean-am + +.PHONY: tags distdir info-am info dvi-am dvi check check-am \ +installcheck-am installcheck install-exec-am install-exec \ +install-data-local install-data-am install-data install-am install \ +uninstall-am uninstall all-redirect all-am all installdirs \ +mostlyclean-generic distclean-generic clean-generic \ +maintainer-clean-generic clean mostlyclean distclean maintainer-clean + + +install-data-local: +	$(mkinstalldirs) $(DESTDIR)$(hdrdir) +	$(INSTALL) -m 644 $(srcdir)/*.h $(DESTDIR)$(hdrdir) + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/include/bluetooth.h b/include/bluetooth.h new file mode 100644 index 00000000..441e1d3a --- /dev/null +++ b/include/bluetooth.h @@ -0,0 +1,111 @@ +/*  +   BlueZ - Bluetooth protocol stack for Linux +   Copyright (C) 2000-2001 Qualcomm Incorporated + +   Written 2000,2001 by Maxim Krasnyansky <maxk@qualcomm.com> + +   This program is free software; you can redistribute it and/or modify +   it under the terms of the GNU General Public License version 2 as +   published by the Free Software Foundation; + +   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +   OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +   FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. +   IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY +   CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES  +   WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN  +   ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF  +   OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +   ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,  +   COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS  +   SOFTWARE IS DISCLAIMED. +*/ + +/* + *  $Id$ + */ + +#ifndef __BLUETOOTH_H +#define __BLUETOOTH_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include <stdint.h> +#include <endian.h> +	 +#ifndef AF_BLUETOOTH +#define AF_BLUETOOTH	31 +#define PF_BLUETOOTH	AF_BLUETOOTH +#endif + +#define BTPROTO_L2CAP   0 +#define BTPROTO_HCI     1 +#define BTPROTO_SCO   	2 +#define BTPROTO_RFCOMM	3 + +#define SOL_HCI     0 +#define SOL_L2CAP   6 +#define SOL_SCO     17 +#define SOL_RFCOMM  18 + +/* Connection and socket states */ +enum { +	BT_CONNECTED = 1, /* Equal to TCP_ESTABLISHED to make net code happy */ +	BT_OPEN, +	BT_BOUND, +	BT_LISTEN, +	BT_CONNECT, +	BT_CONNECT2, +	BT_CONFIG, +	BT_DISCONN, +	BT_CLOSED +}; + +/* Byte order conversions */ +#if __BYTE_ORDER == __LITTLE_ENDIAN +#define htobs(d)  (d) +#define htobl(d)  (d) +#define btohs(d)  (d) +#define btohl(d)  (d) +#elif __BYTE_ORDER == __BIG_ENDIAN +#define htobs(d)  bswap_16(d) +#define htobl(d)  bswap_32(d) +#define btohs(d)  bswap_16(d) +#define btohl(d)  bswap_32(d) +#else +#error "Unknown byte order" +#endif + +/* BD Address */ +typedef struct { +	uint8_t b[6]; +} __attribute__((packed)) bdaddr_t; + +#define BDADDR_ANY ((bdaddr_t *)"\000\000\000\000\000") + +/* Copy, swap, convert BD Address */ +static inline int bacmp(bdaddr_t *ba1, bdaddr_t *ba2) +{ +	return memcmp(ba1, ba2, sizeof(bdaddr_t)); +} +static inline void bacpy(bdaddr_t *dst, bdaddr_t *src) +{ +	memcpy(dst, src, sizeof(bdaddr_t)); +} + +void baswap(bdaddr_t *dst, bdaddr_t *src); +bdaddr_t *strtoba(char *str); +char     *batostr(bdaddr_t *ba); +int  ba2str(bdaddr_t *ba, char *str); +int  str2ba(char *str, bdaddr_t *ba); + +int  bterr(uint16_t code); + +#ifdef __cplusplus +} +#endif + +#endif /* __BLUETOOTH_H */ diff --git a/include/hci.h b/include/hci.h new file mode 100644 index 00000000..3f98ab1d --- /dev/null +++ b/include/hci.h @@ -0,0 +1,768 @@ +/*  +   BlueZ - Bluetooth protocol stack for Linux +   Copyright (C) 2000-2001 Qualcomm Incorporated + +   Written 2000,2001 by Maxim Krasnyansky <maxk@qualcomm.com> + +   This program is free software; you can redistribute it and/or modify +   it under the terms of the GNU General Public License version 2 as +   published by the Free Software Foundation; + +   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +   OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +   FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. +   IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY +   CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES  +   WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN  +   ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF  +   OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +   ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,  +   COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS  +   SOFTWARE IS DISCLAIMED. +*/ + +/* + *  $Id$ + */ + +#ifndef __HCI_H +#define __HCI_H + +#ifdef __cplusplus +extern "C" { +#endif + +#define HCI_MAX_DEV 	4 + +#define HCI_MAX_ACL_SIZE	1024 +#define HCI_MAX_SCO_SIZE	255 +#define HCI_MAX_EVENT_SIZE	260 +#define HCI_MAX_FRAME_SIZE	(HCI_MAX_ACL_SIZE + 4) + +/* HCI dev events */ +#define HCI_DEV_REG	1 +#define HCI_DEV_UNREG   2 +#define HCI_DEV_UP	3 +#define HCI_DEV_DOWN	4 + +/* HCI device types */ +#define HCI_VHCI	0 +#define HCI_USB		1 +#define HCI_PCCARD	2 +#define HCI_UART 	3 +#define HCI_RS232 	4 + +/* HCI device flags */ +enum { +	HCI_UP, +	HCI_INIT, +	HCI_RUNNING, + +	HCI_PSCAN, +	HCI_ISCAN, +	HCI_AUTH, +	HCI_ENCRYPT, +	HCI_INQUIRY, + +	HCI_RAW +}; + +/* HCI ioctl defines */ +#define HCIDEVUP        _IOW('H', 201, int) +#define HCIDEVDOWN      _IOW('H', 202, int) +#define HCIDEVRESET     _IOW('H', 203, int) +#define HCIDEVRESTAT    _IOW('H', 204, int) + +#define HCIGETDEVLIST   _IOR('H', 210, int) +#define HCIGETDEVINFO   _IOR('H', 211, int) +#define HCIGETCONNLIST  _IOR('H', 212, int) +#define HCIGETCONNINFO  _IOR('H', 213, int) + +#define HCISETRAW       _IOW('H', 220, int) +#define HCISETSCAN      _IOW('H', 221, int) +#define HCISETAUTH      _IOW('H', 222, int) +#define HCISETENCRYPT   _IOW('H', 223, int) +#define HCISETPTYPE     _IOW('H', 224, int) +#define HCISETLINKPOL   _IOW('H', 225, int) +#define HCISETLINKMODE  _IOW('H', 226, int) + +#define HCIINQUIRY      _IOR('H', 240, int) + +/* HCI timeouts */ + +#define HCI_CONN_TIMEOUT 	(HZ * 40) +#define HCI_DISCONN_TIMEOUT 	(HZ * 2) +#define HCI_CONN_IDLE_TIMEOUT	(HZ * 60) + +#ifndef __NO_HCI_DEFS + +/* HCI Packet types */ +#define HCI_COMMAND_PKT		0x01 +#define HCI_ACLDATA_PKT 	0x02 +#define HCI_SCODATA_PKT 	0x03 +#define HCI_EVENT_PKT		0x04 +#define HCI_UNKNOWN_PKT		0xff + +/* HCI Packet types */ +#define HCI_DM1 	0x0008 +#define HCI_DM3 	0x0400 +#define HCI_DM5 	0x4000 +#define HCI_DH1 	0x0010 +#define HCI_DH3 	0x0800 +#define HCI_DH5 	0x8000 + +#define HCI_HV1		0x0020 +#define HCI_HV2		0x0040 +#define HCI_HV3		0x0080 + +#define SCO_PTYPE_MASK	(HCI_HV1 | HCI_HV2 | HCI_HV3) +#define ACL_PTYPE_MASK	(~SCO_PTYPE_MASK) + +/* ACL flags */ +#define ACL_CONT		0x0001 +#define ACL_START		0x0002 +#define ACL_ACTIVE_BCAST	0x0010 +#define ACL_PICO_BCAST		0x0020 + +/* Baseband links */ +#define SCO_LINK	0x00 +#define ACL_LINK	0x01 + +/* LMP features */ +#define LMP_3SLOT	0x01 +#define LMP_5SLOT	0x02 +#define LMP_ENCRYPT	0x04 +#define LMP_SOFFSET	0x08 +#define LMP_TACCURACY	0x10 +#define LMP_RSWITCH	0x20 +#define LMP_HOLD	0x40 +#define LMP_SNIF	0x80 + +#define LMP_PARK	0x01 +#define LMP_RSSI	0x02 +#define LMP_QUALITY	0x04 +#define LMP_SCO		0x08 +#define LMP_HV2		0x10 +#define LMP_HV3		0x20 +#define LMP_ULAW	0x40 +#define LMP_ALAW	0x80 + +#define LMP_CVSD	0x01 +#define LMP_PSCHEME	0x02 +#define LMP_PCONTROL	0x04 + +/* Link policies */ +#define HCI_LP_RSWITCH	0x0001 +#define HCI_LP_HOLD	0x0002 +#define HCI_LP_SNIFF	0x0004 +#define HCI_LP_PARK	0x0008 + +/* Link mode */ +#define HCI_LM_ACCEPT	0x8000 +#define HCI_LM_MASTER	0x0001 +#define HCI_LM_AUTH	0x0002 +#define HCI_LM_ENCRYPT	0x0004 +#define HCI_LM_TRUSTED	0x0008 + +/* -----  HCI Commands ----- */ +/* OGF & OCF values */ + +/* Informational Parameters */ +#define OGF_INFO_PARAM	0x04 + +#define OCF_READ_LOCAL_VERSION	0x0001 +typedef struct { +	uint8_t 	status; +	uint8_t 	hci_ver; +	uint16_t	hci_rev; +	uint8_t 	lmp_ver; +	uint16_t	manufacturer; +	uint16_t	lmp_subver; +} __attribute__ ((packed)) read_local_version_rp; +#define READ_LOCAL_VERSION_RP_SIZE 9 + +#define OCF_READ_LOCAL_FEATURES	0x0003 +typedef struct { +	uint8_t 	status; +	uint8_t 	features[8]; +} __attribute__ ((packed)) read_local_features_rp; + +#define OCF_READ_BUFFER_SIZE	0x0005 +typedef struct { +	uint8_t		status; +	uint16_t	acl_mtu; +	uint8_t 	sco_mtu; +	uint16_t 	acl_max_pkt; +	uint16_t	sco_max_pkt; +} __attribute__ ((packed)) read_buffer_size_rp; + +#define OCF_READ_BD_ADDR	0x0009 +typedef struct { +	uint8_t 	status; +	bdaddr_t	bdaddr; +} __attribute__ ((packed)) read_bd_addr_rp; + +/* Host Controller and Baseband */ +#define OGF_HOST_CTL	0x03 +#define OCF_RESET		0x0003 +#define OCF_READ_AUTH_ENABLE	0x001F +#define OCF_WRITE_AUTH_ENABLE	0x0020 +	#define AUTH_DISABLED		0x00 +	#define AUTH_ENABLED		0x01 + +#define OCF_READ_ENCRYPT_MODE	0x0021 +#define OCF_WRITE_ENCRYPT_MODE	0x0022 +	#define ENCRYPT_DISABLED	0x00 +	#define ENCRYPT_P2P		0x01 +	#define ENCRYPT_BOTH		0x02 + +#define OCF_WRITE_CA_TIMEOUT  	0x0016	 +#define OCF_WRITE_PG_TIMEOUT  	0x0018 + +#define OCF_WRITE_SCAN_ENABLE 	0x001A +	#define SCAN_DISABLED		0x00 +	#define SCAN_INQUIRY		0x01 +	#define SCAN_PAGE		0x02 + +#define OCF_SET_EVENT_FLT	0x0005 +typedef struct { +	uint8_t 	flt_type; +	uint8_t 	cond_type; +	uint8_t 	condition[0]; +} __attribute__ ((packed)) set_event_flt_cp; +#define SET_EVENT_FLT_CP_SIZE 2 + +/* Filter types */ +#define FLT_CLEAR_ALL	0x00 +#define FLT_INQ_RESULT	0x01 +#define FLT_CONN_SETUP	0x02 + +/* CONN_SETUP Condition types */ +#define CONN_SETUP_ALLOW_ALL	0x00 +#define CONN_SETUP_ALLOW_CLASS	0x01 +#define CONN_SETUP_ALLOW_BDADDR	0x02 + +/* CONN_SETUP Conditions */ +#define CONN_SETUP_AUTO_OFF	0x01 +#define CONN_SETUP_AUTO_ON	0x02 + +#define OCF_CHANGE_LOCAL_NAME	0x0013 +typedef struct { +	uint8_t 	name[248]; +} __attribute__ ((packed)) change_local_name_cp; +#define CHANGE_LOCAL_NAME_CP_SIZE 248  + +#define OCF_READ_LOCAL_NAME	0x0014 +typedef struct { +	uint8_t	status; +	uint8_t 	name[248]; +} __attribute__ ((packed)) read_local_name_rp; +#define READ_LOCAL_NAME_RP_SIZE 249  + +#define OCF_READ_CLASS_OF_DEV	0x0023 +typedef struct { +	uint8_t	status; +	uint8_t 	dev_class[3]; +} __attribute__ ((packed)) read_class_of_dev_rp; +#define READ_CLASS_OF_DEV_RP_SIZE 4  + +#define OCF_WRITE_CLASS_OF_DEV	0x0024 +typedef struct { +	uint8_t 	dev_class[3]; +} __attribute__ ((packed)) write_class_of_dev_cp; +#define WRITE_CLASS_OF_DEV_CP_SIZE 3 + +#define OCF_HOST_BUFFER_SIZE	0x0033 +typedef struct { +	uint16_t 	acl_mtu; +	uint8_t 	sco_mtu; +	uint16_t 	acl_max_pkt; +	uint16_t	sco_max_pkt; +} __attribute__ ((packed)) host_buffer_size_cp; +#define HOST_BUFFER_SIZE_CP_SIZE 7 + +/* Link Control */ +#define OGF_LINK_CTL	0x01  +#define OCF_CREATE_CONN		0x0005 +typedef struct { +	bdaddr_t	bdaddr; +	uint16_t 	pkt_type; +	uint8_t 	pscan_rep_mode; +	uint8_t 	pscan_mode; +	uint16_t 	clock_offset; +	uint8_t 	role_switch; +} __attribute__ ((packed)) create_conn_cp; +#define CREATE_CONN_CP_SIZE 13 + +#define OCF_ACCEPT_CONN_REQ	0x0009 +typedef struct { +	bdaddr_t	bdaddr; +	uint8_t 	role; +} __attribute__ ((packed)) accept_conn_req_cp; +#define ACCEPT_CONN_REQ_CP_SIZE	7 + +#define OCF_REJECT_CONN_REQ	0x000a +typedef struct { +	bdaddr_t	bdaddr; +	uint8_t 	reason; +} __attribute__ ((packed)) reject_conn_req_cp; +#define REJECT_CONN_REQ_CP_SIZE	7 + +#define OCF_DISCONNECT	0x0006 +typedef struct { +	uint16_t 	handle; +	uint8_t 	reason; +} __attribute__ ((packed)) disconnect_cp; +#define DISCONNECT_CP_SIZE 3 + +#define OCF_ADD_SCO	0x0007 +typedef struct { +	uint16_t 	handle; +	uint16_t 	pkt_type; +} __attribute__ ((packed)) add_sco_cp; +#define ADD_SCO_CP_SIZE 4 + +#define OCF_INQUIRY		0x0001 +typedef struct { +	uint8_t 	lap[3]; +	uint8_t 	lenght; +	uint8_t		num_rsp; +} __attribute__ ((packed)) inquiry_cp; +#define INQUIRY_CP_SIZE 5 + +typedef struct { +	uint8_t 	status; +	bdaddr_t	bdaddr; +} __attribute__ ((packed)) status_bdaddr_rp; +#define STATUS_BDADDR_RP_SIZE 7 + +#define OCF_LINK_KEY_REPLY	0x000B +#define OCF_LINK_KEY_NEG_REPLY	0x000C +typedef struct { +	bdaddr_t	bdaddr; +	uint8_t 	link_key[16]; +} __attribute__ ((packed)) link_key_reply_cp; +#define LINK_KEY_REPLY_CP_SIZE 22 + +#define OCF_PIN_CODE_REPLY	0x000D +#define OCF_PIN_CODE_NEG_REPLY	0x000E +typedef struct { +	bdaddr_t	bdaddr; +	uint8_t 	pin_len; +	uint8_t 	pin_code[16]; +} __attribute__ ((packed)) pin_code_reply_cp; +#define PIN_CODE_REPLY_CP_SIZE 23 + +#define OCF_SET_CONN_PTYPE	0x000F +typedef struct { +	uint16_t	 handle; +	uint16_t	 pkt_type; +} __attribute__ ((packed)) set_conn_ptype_cp; +#define SET_CONN_PKT_TYPE_CP_SIZE 4 + +#define OCF_AUTH_REQUESTED	0x0011 +typedef struct { +	uint16_t	 handle; +} __attribute__ ((packed)) auth_requested_cp; +#define AUTH_REQUESTED_CP_SIZE 2 + +#define OCF_SET_CONN_ENCRYPT	0x0013 +typedef struct { +	uint16_t	handle; +	uint8_t 	encrypt; +} __attribute__ ((packed)) set_conn_encrypt_cp; +#define SET_CONN_ENCRYPT_CP_SIZE 3 + +#define OCF_REMOTE_NAME_REQ	0x0019 +typedef struct { +	bdaddr_t	bdaddr; +	uint8_t 	pscan_rep_mode; +	uint8_t 	pscan_mode; +	uint16_t	clock_offset; +} __attribute__ ((packed)) remote_name_req_cp; +#define REMOTE_NAME_REQ_CP_SIZE 10 + +#define OCF_READ_REMOTE_FEATURES 0x001B +typedef struct { +	uint16_t	handle; +} __attribute__ ((packed)) read_remote_features_cp; +#define READ_REMOTE_FEATURES_CP_SIZE 2 + +#define OCF_READ_REMOTE_VERSION 0x001D +typedef struct { +	uint16_t	handle; +} __attribute__ ((packed)) read_remote_version_cp; +#define READ_REMOTE_VERSION_CP_SIZE 2 + +/* Link Policy */ +#define OGF_LINK_POLICY	 0x02    +#define OCF_ROLE_DISCOVERY	0x0009 +typedef struct { +	uint16_t	handle; +} __attribute__ ((packed)) role_discovery_cp; +#define ROLE_DISCOVERY_CP_SIZE 2 +typedef struct { +	uint8_t 	status; +	uint16_t	handle; +	uint8_t 	role; +} __attribute__ ((packed)) role_discovery_rp; +#define ROLE_DISCOVERY_RP_SIZE 4 + +#define OCF_READ_LINK_POLICY	0x000C +typedef struct { +	uint16_t	handle; +} __attribute__ ((packed)) read_link_policy_cp; +#define READ_LINK_POLICY_CP_SIZE 2 +typedef struct { +	uint8_t 	status; +	uint16_t	handle; +	uint16_t	policy; +} __attribute__ ((packed)) read_link_policy_rp; +#define READ_LINK_POLICY_RP_SIZE 5 + +#define OCF_SWITCH_ROLE	0x000B +typedef struct { +	bdaddr_t	bdaddr; +	uint8_t 	role; +} __attribute__ ((packed)) switch_role_cp; +#define SWITCH_ROLE_CP_SIZE 7 + +#define OCF_WRITE_LINK_POLICY	0x000D +typedef struct { +	uint16_t	handle; +	uint16_t	policy; +} __attribute__ ((packed)) write_link_policy_cp; +#define WRITE_LINK_POLICY_CP_SIZE 4 +typedef struct { +	uint8_t 	status; +	uint16_t	handle; +} __attribute__ ((packed)) write_link_policy_rp; +#define WRITE_LINK_POLICY_RP_SIZE 3 + +/* Status params */ +#define OGF_STATUS_PARAM 	0x05 + +/* ---- HCI Events ---- */ +#define EVT_INQUIRY_COMPLETE 	0x01 + +#define EVT_INQUIRY_RESULT 	0x02 +typedef struct { +	bdaddr_t	bdaddr; +	uint8_t 	pscan_rep_mode; +	uint8_t 	pscan_period_mode; +	uint8_t 	pscan_mode; +	uint8_t 	dev_class[3]; +	uint16_t	clock_offset; +} __attribute__ ((packed)) inquiry_info; +#define INQUIRY_INFO_SIZE 14 + +#define EVT_CONN_COMPLETE 	0x03 +typedef struct { +	uint8_t 	status; +	uint16_t	handle; +	bdaddr_t	bdaddr; +	uint8_t 	link_type; +	uint8_t 	encr_mode; +} __attribute__ ((packed)) evt_conn_complete; +#define EVT_CONN_COMPLETE_SIZE 13 + +#define EVT_CONN_REQUEST	0x04 +typedef struct { +	bdaddr_t	bdaddr; +	uint8_t 	dev_class[3]; +	uint8_t		link_type; +} __attribute__ ((packed)) evt_conn_request; +#define EVT_CONN_REQUEST_SIZE 10 + +#define EVT_DISCONN_COMPLETE	0x05 +typedef struct { +	uint8_t 	status; +	uint16_t	handle; +	uint8_t 	reason; +} __attribute__ ((packed)) evt_disconn_complete; +#define EVT_DISCONN_COMPLETE_SIZE 4 + +#define EVT_AUTH_COMPLETE	0x06 +typedef struct { +	uint8_t 	status; +	uint16_t	handle; +} __attribute__ ((packed)) evt_auth_complete; +#define EVT_AUTH_COMPLETE_SIZE 3 + +#define EVT_REMOTE_NAME_REQ_COMPLETE	0x07 +typedef struct { +	uint8_t 	status; +	bdaddr_t	bdaddr; +	uint8_t 	name[248]; +} __attribute__ ((packed)) evt_remote_name_req_complete; +#define EVT_REMOTE_NAME_REQ_COMPLETE_SIZE 255 + +#define EVT_ENCRYPT_CHANGE	0x08 +typedef struct { +	uint8_t 	status; +	uint16_t	handle; +	uint8_t 	encrypt; +} __attribute__ ((packed)) evt_encrypt_change; +#define EVT_ENCRYPT_CHANGE_SIZE 5 + +#define EVT_QOS_SETUP_COMPLETE 0x0D +typedef struct { +	uint8_t 	service_type; +	uint32_t	token_rate; +	uint32_t	peak_bandwidth; +	uint32_t	latency; +	uint32_t	delay_variation; +} __attribute__ ((packed)) hci_qos; +typedef struct { +	uint8_t 	status; +	uint16_t	handle; +	hci_qos 	qos; +} __attribute__ ((packed)) evt_qos_setup_complete; +#define EVT_QOS_SETUP_COMPLETE_SIZE 20 + +#define EVT_CMD_COMPLETE 	0x0e +typedef struct { +	uint8_t 	ncmd; +	uint16_t 	opcode; +} __attribute__ ((packed)) evt_cmd_complete; +#define EVT_CMD_COMPLETE_SIZE 3 + +#define EVT_CMD_STATUS 		0x0f +typedef struct { +	uint8_t 	status; +	uint8_t 	ncmd; +	uint16_t	opcode; +} __attribute__ ((packed)) evt_cmd_status; +#define EVT_CMD_STATUS_SIZE 4 + +#define EVT_NUM_COMP_PKTS	0x13 +typedef struct { +	uint8_t		num_hndl; +	/* variable lenght part */ +} __attribute__ ((packed)) evt_num_comp_pkts; +#define EVT_NUM_COMP_PKTS_SIZE 1 + +#define EVT_ROLE_CHANGE		0x12 +typedef struct { +	uint8_t 	status; +	bdaddr_t	bdaddr; +	uint8_t 	role; +} __attribute__ ((packed)) evt_role_change; +#define EVT_ROLE_CHANGE_SIZE 1 + +#define EVT_PIN_CODE_REQ        0x16 +typedef struct { +	bdaddr_t	bdaddr; +} __attribute__ ((packed)) evt_pin_code_req; +#define EVT_PIN_CODE_REQ_SIZE 6 + +#define EVT_LINK_KEY_REQ        0x17 +typedef struct { +	bdaddr_t	bdaddr; +} __attribute__ ((packed)) evt_link_key_req; +#define EVT_LINK_KEY_REQ_SIZE 6 + +#define EVT_LINK_KEY_NOTIFY	0x18 +typedef struct { +	bdaddr_t	bdaddr; +	uint8_t 	link_key[16]; +	uint8_t 	key_type; +} __attribute__ ((packed)) evt_link_key_notify; +#define EVT_LINK_KEY_NOTIFY_SIZE 23 + +#define EVT_READ_REMOTE_FEATURES_COMPLETE 0x0B +typedef struct { +	uint8_t 	status; +	uint16_t	handle; +	uint8_t 	features[8]; +} __attribute__ ((packed)) evt_read_remote_features_complete; +#define EVT_READ_REMOTE_FEATURES_COMPLETE_SIZE 11 + +#define EVT_READ_REMOTE_VERSION_COMPLETE 0x0C +typedef struct { +	uint8_t 	status; +	uint16_t	handle; +	uint8_t 	lmp_ver; +	uint16_t	manufacturer; +	uint16_t	lmp_subver; +} __attribute__ ((packed)) evt_read_remote_version_complete; +#define EVT_READ_REMOTE_VERSION_COMPLETE_SIZE 8 + +/* Internal events generated by BlueZ stack */ +#define EVT_STACK_INTERNAL	0xfd +typedef struct { +	uint16_t	type; +	uint8_t 	data[0]; +} __attribute__ ((packed)) evt_stack_internal; +#define EVT_STACK_INTERNAL_SIZE 2 + +#define EVT_SI_DEVICE  	0x01 +typedef struct { +	uint16_t	event; +	uint16_t	dev_id; +} __attribute__ ((packed)) evt_si_device; +#define EVT_SI_DEVICE_SIZE 4 + +#define EVT_SI_SECURITY	0x02 +typedef struct { +	uint16_t	event; +	uint16_t	proto; +	uint16_t	subproto; +	uint8_t 	incomming; +} __attribute__ ((packed)) evt_si_security; + +/* --------  HCI Packet structures  -------- */ +#define HCI_TYPE_LEN	1 + +typedef struct { +	uint16_t	opcode;		/* OCF & OGF */ +	uint8_t 	plen; +} __attribute__ ((packed))	hci_command_hdr; +#define HCI_COMMAND_HDR_SIZE 	3 + +typedef struct { +	uint8_t 	evt; +	uint8_t 	plen; +} __attribute__ ((packed))	hci_event_hdr; +#define HCI_EVENT_HDR_SIZE 	2 + +typedef struct { +	uint16_t	handle;		/* Handle & Flags(PB, BC) */ +	uint16_t	dlen; +} __attribute__ ((packed))	hci_acl_hdr; +#define HCI_ACL_HDR_SIZE 	4 + +typedef struct { +	uint16_t	handle; +	uint8_t 	dlen; +} __attribute__ ((packed))	hci_sco_hdr; +#define HCI_SCO_HDR_SIZE 	3 + +/* Command opcode pack/unpack */ +#define cmd_opcode_pack(ogf, ocf)	(uint16_t)((ocf & 0x03ff)|(ogf << 10)) +#define cmd_opcode_ogf(op)		(op >> 10) +#define cmd_opcode_ocf(op)		(op & 0x03ff) + +/* ACL handle and flags pack/unpack */ +#define acl_handle_pack(h, f)	(uint16_t)((h & 0x0fff)|(f << 12)) +#define acl_handle(h)		(h & 0x0fff) +#define acl_flags(h)		(h >> 12) + +#endif /* _NO_HCI_DEFS */ + +/* HCI Socket options */ +#define HCI_DATA_DIR	1 +#define HCI_FILTER	2 +#define HCI_TIME_STAMP	3 + +/* HCI CMSG flags */ +#define HCI_CMSG_DIR	0x0001 +#define HCI_CMSG_TSTAMP	0x0002 + +struct sockaddr_hci { +	sa_family_t    hci_family; +	unsigned short hci_dev; +}; +#define HCI_DEV_NONE	0xffff + +struct hci_filter { +	uint32_t type_mask; +	uint32_t event_mask[2]; +	uint16_t opcode; +}; + +#define HCI_FLT_TYPE_BITS	31 +#define HCI_FLT_EVENT_BITS	63 +#define HCI_FLT_OGF_BITS	63 +#define HCI_FLT_OCF_BITS	127 + +/* Ioctl requests structures */ +struct hci_dev_stats { +	uint32_t err_rx; +	uint32_t err_tx; +	uint32_t cmd_tx; +	uint32_t evt_rx; +	uint32_t acl_tx; +	uint32_t acl_rx; +	uint32_t sco_tx; +	uint32_t sco_rx; +	uint32_t byte_rx; +	uint32_t byte_tx; +}; + +struct hci_dev_info { +	uint16_t dev_id; +	char     name[8]; + +	bdaddr_t bdaddr; + +	uint32_t flags; +	uint8_t  type; + +	uint8_t  features[8]; + +	uint32_t pkt_type; +	uint32_t link_policy; +	uint32_t link_mode; + +	uint16_t acl_mtu; +	uint16_t acl_max; +	uint16_t sco_mtu; +	uint16_t sco_max; + +	struct hci_dev_stats stat; +}; + +struct hci_conn_info { +	uint16_t handle; +	bdaddr_t bdaddr; +	uint8_t  type; +	uint8_t	 out; +	uint16_t state; +	uint32_t link_mode; +}; + +struct hci_dev_req { +	uint16_t dev_id; +	uint32_t dev_opt; +}; + +struct hci_dev_list_req { +	uint16_t dev_num; +	struct hci_dev_req dev_req[0];	/* hci_dev_req structures */ +}; + +struct hci_conn_list_req { +	uint16_t dev_id; +	uint16_t conn_num; +	struct hci_conn_info conn_info[0]; +}; + +struct hci_conn_info_req { +	bdaddr_t bdaddr; +	uint8_t  type; +	struct hci_conn_info conn_info[0]; +}; + +struct hci_inquiry_req { +	uint16_t dev_id; +	uint16_t flags; +	uint8_t  lap[3]; +	uint8_t  length; +	uint8_t  num_rsp; +}; +#define IREQ_CACHE_FLUSH 0x0001 + +struct hci_remotename_req { +	uint16_t dev_id; +	uint16_t flags; +	bdaddr_t bdaddr; +	uint8_t  name[248]; +}; + +#ifdef __cplusplus +} +#endif + +#endif /* __HCI_H */ diff --git a/include/hci_lib.h b/include/hci_lib.h new file mode 100644 index 00000000..0776e1ba --- /dev/null +++ b/include/hci_lib.h @@ -0,0 +1,115 @@ +/*  +   BlueZ - Bluetooth protocol stack for Linux +   Copyright (C) 2000-2001 Qualcomm Incorporated + +   Written 2000,2001 by Maxim Krasnyansky <maxk@qualcomm.com> + +   This program is free software; you can redistribute it and/or modify +   it under the terms of the GNU General Public License version 2 as +   published by the Free Software Foundation; + +   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +   OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +   FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. +   IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY +   CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES  +   WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN  +   ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF  +   OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +   ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,  +   COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS  +   SOFTWARE IS DISCLAIMED. +*/ + +/* + * $Id$ + */ + +#ifndef __HCI_LIB_H +#define __HCI_LIB_H + +#ifdef __cplusplus +extern "C" { +#endif + +struct hci_request { +	uint16_t ogf; +	uint16_t ocf; +	int      event; +	void     *cparam; +	int      clen; +	void     *rparam; +	int      rlen; +}; + +struct hci_version { +	uint16_t manufacturer; +	uint8_t  hci_ver; +	uint16_t hci_rev; +	uint8_t  lmp_ver; +	uint16_t lmp_subver; +}; + +int hci_open_dev(int dev_id); +int hci_close_dev(int dd); +int hci_send_cmd(int dd, uint16_t ogf, uint16_t ocf, uint8_t plen, void *param); +int hci_send_req(int dd, struct hci_request *req, int timeout); + +int hci_create_connection(int dd, bdaddr_t *ba, int ptype, int rswitch, int to); +int hci_disconnect(int dd, int hndl, int res, int to); + +inquiry_info *hci_inquiry(int dev_id, int len, int *num_rsp, uint8_t *lap, long flags); +int hci_devinfo(int dev_id, struct hci_dev_info *di); + +int hci_remote_name(int dd, bdaddr_t *ba, int len, char *name, int to); +int hci_read_remote_features(int dd, int hndl, uint8_t *features, int to); +int hci_read_remote_version(int dd, int hndl, struct hci_version *ver, int to); +int hci_read_local_version(int dd, struct hci_version *ver, int to); + +char *hci_dtypetostr(int type); +char *hci_dflagstostr(uint32_t flags); +char *hci_ptypetostr(unsigned int ptype); +int   hci_strtoptype(char *str, unsigned int *val); +char *hci_lptostr(unsigned int ptype); +int   hci_strtolp(char *str, unsigned int *val); +char *hci_lmtostr(unsigned int ptype); +int   hci_strtolm(char *str, unsigned int *val); + +static inline void hci_set_bit(int nr, void *addr) +{ +        *((uint32_t *) addr + (nr >> 5)) |= (1 << (nr & 31)); +} + +static inline int hci_test_bit(int nr, void *addr) +{ +	return *((uint32_t *) addr + (nr >> 5)) & (1 << (nr & 31)); +} + +/* HCI filter tools */ +static inline void hci_filter_clear(struct hci_filter *f) +{ +	memset(f, 0, sizeof(*f)); +} +static inline void hci_filter_set_ptype(int t, struct hci_filter *f) +{ +	hci_set_bit((t & HCI_FLT_TYPE_BITS), &f->type_mask); +} +static inline void hci_filter_set_event(int e, struct hci_filter *f) +{ +	hci_set_bit((e & HCI_FLT_EVENT_BITS), &f->event_mask); +} +static inline void hci_filter_all_events(struct hci_filter *f) +{ +	memset((void *)f->event_mask, 0xff, sizeof(f->event_mask)); +} +static inline void hci_filter_set_opcode(int opcode, struct hci_filter *f) +{ +	f->opcode = opcode; +} + +#ifdef __cplusplus +} +#endif + +#endif /* __HCI_LIB_H */ diff --git a/include/hci_uart.h b/include/hci_uart.h new file mode 100644 index 00000000..e609ed47 --- /dev/null +++ b/include/hci_uart.h @@ -0,0 +1,45 @@ +/*  +   BlueZ - Bluetooth protocol stack for Linux +   Copyright (C) 2000-2001 Qualcomm Incorporated + +   Written 2000,2001 by Maxim Krasnyansky <maxk@qualcomm.com> + +   This program is free software; you can redistribute it and/or modify +   it under the terms of the GNU General Public License version 2 as +   published by the Free Software Foundation; + +   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +   OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +   FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. +   IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY +   CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES  +   WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN  +   ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF  +   OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +   ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,  +   COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS  +   SOFTWARE IS DISCLAIMED. +*/ + +/* + * $Id$ + */ + +#ifndef __HCI_UART_H +#define __HCI_UART_H + +#ifndef N_HCI +#define N_HCI	15 +#endif + +/* Ioctls */ +#define HCIUARTSETPROTO	_IOW('U', 200, int) +#define HCIUARTGETPROTO	_IOR('U', 201, int) + +/* UART protocols */ +#define HCI_UART_H4	0 +#define HCI_UART_BCSP	1 +#define HCI_UART_NCSP	2 + +#endif /* __HCI_UART_H */ diff --git a/include/hci_vhci.h b/include/hci_vhci.h new file mode 100644 index 00000000..4eee6656 --- /dev/null +++ b/include/hci_vhci.h @@ -0,0 +1,35 @@ +/*  +   BlueZ - Bluetooth protocol stack for Linux +   Copyright (C) 2000-2001 Qualcomm Incorporated + +   Written 2000,2001 by Maxim Krasnyansky <maxk@qualcomm.com> + +   This program is free software; you can redistribute it and/or modify +   it under the terms of the GNU General Public License version 2 as +   published by the Free Software Foundation; + +   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +   OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +   FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. +   IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY +   CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES  +   WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN  +   ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF  +   OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +   ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,  +   COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS  +   SOFTWARE IS DISCLAIMED. +*/ + +/* + * $Id$ + */ + +#ifndef __HCI_VHCI_H +#define __HCI_VHCI_H + +#define VHCI_DEV	"/dev/vhci" +#define VHCI_MINOR	250 + +#endif /* __HCI_VHCI_H */ diff --git a/include/l2cap.h b/include/l2cap.h new file mode 100644 index 00000000..25178401 --- /dev/null +++ b/include/l2cap.h @@ -0,0 +1,200 @@ +/*  +   BlueZ - Bluetooth protocol stack for Linux +   Copyright (C) 2000-2001 Qualcomm Incorporated + +   Written 2000,2001 by Maxim Krasnyansky <maxk@qualcomm.com> + +   This program is free software; you can redistribute it and/or modify +   it under the terms of the GNU General Public License version 2 as +   published by the Free Software Foundation; + +   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +   OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +   FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. +   IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY +   CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES  +   WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN  +   ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF  +   OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +   ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,  +   COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS  +   SOFTWARE IS DISCLAIMED. +*/ + +/* + *  $Id$ + */ + +#ifndef __L2CAP_H +#define __L2CAP_H + +#ifdef __cplusplus +extern "C" { +#endif + +/* L2CAP defaults */ +#define L2CAP_DEFAULT_MTU 	672 +#define L2CAP_DEFAULT_FLUSH_TO	0xFFFF + +#define L2CAP_CONN_TIMEOUT 	(HZ * 40) + +/* L2CAP socket address */ +struct sockaddr_l2 { +	sa_family_t	l2_family; +	unsigned short	l2_psm; +	bdaddr_t	l2_bdaddr; +}; + +/* Socket options */ +#define L2CAP_OPTIONS	0x01 +struct l2cap_options { +	uint16_t omtu; +	uint16_t imtu; +	uint16_t flush_to; +}; + +#define L2CAP_CONNINFO  0x02 +struct l2cap_conninfo { +	uint16_t hci_handle; +}; + +#define L2CAP_LM	0x03 +#define L2CAP_LM_MASTER		0x0001 +#define L2CAP_LM_AUTH		0x0002 +#define L2CAP_LM_ENCRYPT	0x0004 +#define L2CAP_LM_TRUSTED	0x0008 + +#define L2CAP_QOS	0x04 +struct l2cap_qos { +	uint16_t service_type; +	uint32_t token_rate; +	uint32_t token_bucket_size; +	uint32_t peak_bandwidth; +	uint32_t latency; +	uint32_t delay_variation; +}; + +#define L2CAP_SERV_NO_TRAFFIC	0x00 +#define L2CAP_SERV_BEST_EFFORT	0x01 +#define L2CAP_SERV_GUARANTEED	0x02 + +/* L2CAP command codes */ +#define L2CAP_COMMAND_REJ 0x01 +#define L2CAP_CONN_REQ    0x02 +#define L2CAP_CONN_RSP    0x03 +#define L2CAP_CONF_REQ    0x04 +#define L2CAP_CONF_RSP    0x05 +#define L2CAP_DISCONN_REQ 0x06 +#define L2CAP_DISCONN_RSP 0x07 +#define L2CAP_ECHO_REQ    0x08 +#define L2CAP_ECHO_RSP    0x09 +#define L2CAP_INFO_REQ    0x0a +#define L2CAP_INFO_RSP    0x0b + +/* L2CAP structures */ +typedef struct { +	uint16_t      len; +	uint16_t      cid; +} __attribute__ ((packed)) 	l2cap_hdr; +#define L2CAP_HDR_SIZE		4 + +typedef struct { +	uint8_t       code; +	uint8_t       ident; +	uint16_t      len; +} __attribute__ ((packed))	l2cap_cmd_hdr; +#define L2CAP_CMD_HDR_SIZE	4 + +typedef struct { +	uint16_t      reason; +} __attribute__ ((packed))	l2cap_cmd_rej; +#define L2CAP_CMD_REJ_SIZE	2 + +typedef struct { +	uint16_t      psm; +	uint16_t      scid; +} __attribute__ ((packed))	l2cap_conn_req; +#define L2CAP_CONN_REQ_SIZE	4 + +typedef struct { +	uint16_t      dcid; +	uint16_t      scid; +	uint16_t      result; +	uint16_t      status; +} __attribute__ ((packed))	l2cap_conn_rsp; +#define L2CAP_CONN_RSP_SIZE	8 + +/* connect result */ +#define L2CAP_CR_SUCCESS    0x0000 +#define L2CAP_CR_PEND       0x0001 +#define L2CAP_CR_BAD_PSM    0x0002 +#define L2CAP_CR_SEC_BLOCK  0x0003 +#define L2CAP_CR_NO_MEM     0x0004 + +/* connect status */ +#define L2CAP_CS_NO_INFO      0x0000 +#define L2CAP_CS_AUTHEN_PEND  0x0001 +#define L2CAP_CS_AUTHOR_PEND  0x0002 + +typedef struct { +	uint16_t      dcid; +	uint16_t      flags; +	uint8_t       data[0]; +} __attribute__ ((packed))	l2cap_conf_req; +#define L2CAP_CONF_REQ_SIZE	4 + +typedef struct { +	uint16_t      scid; +	uint16_t      flags; +	uint16_t      result; +	uint8_t       data[0]; +} __attribute__ ((packed))	l2cap_conf_rsp; +#define L2CAP_CONF_RSP_SIZE   	6 + +#define L2CAP_CONF_SUCCESS	0x00 +#define L2CAP_CONF_UNACCEPT	0x01 + +typedef struct { +	uint8_t       type; +	uint8_t       len; +	uint8_t       val[0]; +} __attribute__ ((packed))	l2cap_conf_opt; +#define L2CAP_CONF_OPT_SIZE	2 + +#define L2CAP_CONF_MTU		0x01 +#define L2CAP_CONF_FLUSH_TO	0x02 +#define L2CAP_CONF_QOS		0x03 + +#define L2CAP_CONF_MAX_SIZE	22 + +typedef struct { +	uint16_t      dcid; +	uint16_t      scid; +} __attribute__ ((packed)) 	l2cap_disconn_req; +#define L2CAP_DISCONN_REQ_SIZE	4 + +typedef struct { +	uint16_t      dcid; +	uint16_t      scid; +} __attribute__ ((packed)) 	l2cap_disconn_rsp; +#define L2CAP_DISCONN_RSP_SIZE	4 + +typedef struct { +	uint16_t       type; +	uint8_t        data[0]; +} __attribute__ ((packed))	l2cap_info_req; +#define L2CAP_INFO_REQ_SIZE	2 + +typedef struct { +	uint16_t       type; +	uint16_t       result; +	uint8_t        data[0]; +} __attribute__ ((packed))	l2cap_info_rsp; +#define L2CAP_INFO_RSP_SIZE	4 + +#ifdef __cplusplus +} +#endif + +#endif /* __L2CAP_H */ diff --git a/include/sco.h b/include/sco.h new file mode 100644 index 00000000..c02bd7ae --- /dev/null +++ b/include/sco.h @@ -0,0 +1,65 @@ +/*  +   BlueZ - Bluetooth protocol stack for Linux +   Copyright (C) 2000-2001 Qualcomm Incorporated + +   Written 2000,2001 by Maxim Krasnyansky <maxk@qualcomm.com> + +   This program is free software; you can redistribute it and/or modify +   it under the terms of the GNU General Public License version 2 as +   published by the Free Software Foundation; + +   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +   OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +   FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. +   IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY +   CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES  +   WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN  +   ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF  +   OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +   ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,  +   COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS  +   SOFTWARE IS DISCLAIMED. +*/ + +/* + *  $Id$ + */ + +#ifndef __SCO_H +#define __SCO_H + +#ifdef __cplusplus +extern "C" { +#endif + +/* SCO defaults */ +#define SCO_DEFAULT_MTU 	500 +#define SCO_DEFAULT_FLUSH_TO	0xFFFF + +#define SCO_CONN_TIMEOUT 	(HZ * 40) +#define SCO_DISCONN_TIMEOUT 	(HZ * 2) +#define SCO_CONN_IDLE_TIMEOUT	(HZ * 60) + +/* SCO socket address */ +struct sockaddr_sco { +	sa_family_t	sco_family; +	bdaddr_t	sco_bdaddr; +}; + +/* set/get sockopt defines */ +#define SCO_OPTIONS  0x01 +struct sco_options { +	uint16_t mtu; +}; + +#define SCO_CONNINFO  0x02 +struct sco_conninfo { +	uint16_t hci_handle; +}; + +#ifdef __cplusplus +} +#endif + +#endif /* __SCO_H */ diff --git a/install-sh b/install-sh new file mode 100755 index 00000000..e9de2384 --- /dev/null +++ b/install-sh @@ -0,0 +1,251 @@ +#!/bin/sh +# +# install - install a program, script, or datafile +# This comes from X11R5 (mit/util/scripts/install.sh). +# +# Copyright 1991 by the Massachusetts Institute of Technology +# +# Permission to use, copy, modify, distribute, and sell this software and its +# documentation for any purpose is hereby granted without fee, provided that +# the above copyright notice appear in all copies and that both that +# copyright notice and this permission notice appear in supporting +# documentation, and that the name of M.I.T. not be used in advertising or +# publicity pertaining to distribution of the software without specific, +# written prior permission.  M.I.T. makes no representations about the +# suitability of this software for any purpose.  It is provided "as is" +# without express or implied warranty. +# +# Calling this script install-sh is preferred over install.sh, to prevent +# `make' implicit rules from creating a file called install from it +# when there is no Makefile. +# +# This script is compatible with the BSD install script, but was written +# from scratch.  It can only install one file at a time, a restriction +# shared with many OS's install programs. + + +# set DOITPROG to echo to test this script + +# Don't use :- since 4.3BSD and earlier shells don't like it. +doit="${DOITPROG-}" + + +# put in absolute paths if you don't have them in your path; or use env. vars. + +mvprog="${MVPROG-mv}" +cpprog="${CPPROG-cp}" +chmodprog="${CHMODPROG-chmod}" +chownprog="${CHOWNPROG-chown}" +chgrpprog="${CHGRPPROG-chgrp}" +stripprog="${STRIPPROG-strip}" +rmprog="${RMPROG-rm}" +mkdirprog="${MKDIRPROG-mkdir}" + +transformbasename="" +transform_arg="" +instcmd="$mvprog" +chmodcmd="$chmodprog 0755" +chowncmd="" +chgrpcmd="" +stripcmd="" +rmcmd="$rmprog -f" +mvcmd="$mvprog" +src="" +dst="" +dir_arg="" + +while [ x"$1" != x ]; do +    case $1 in +	-c) instcmd="$cpprog" +	    shift +	    continue;; + +	-d) dir_arg=true +	    shift +	    continue;; + +	-m) chmodcmd="$chmodprog $2" +	    shift +	    shift +	    continue;; + +	-o) chowncmd="$chownprog $2" +	    shift +	    shift +	    continue;; + +	-g) chgrpcmd="$chgrpprog $2" +	    shift +	    shift +	    continue;; + +	-s) stripcmd="$stripprog" +	    shift +	    continue;; + +	-t=*) transformarg=`echo $1 | sed 's/-t=//'` +	    shift +	    continue;; + +	-b=*) transformbasename=`echo $1 | sed 's/-b=//'` +	    shift +	    continue;; + +	*)  if [ x"$src" = x ] +	    then +		src=$1 +	    else +		# this colon is to work around a 386BSD /bin/sh bug +		: +		dst=$1 +	    fi +	    shift +	    continue;; +    esac +done + +if [ x"$src" = x ] +then +	echo "install:	no input file specified" +	exit 1 +else +	true +fi + +if [ x"$dir_arg" != x ]; then +	dst=$src +	src="" +	 +	if [ -d $dst ]; then +		instcmd=: +		chmodcmd="" +	else +		instcmd=mkdir +	fi +else + +# Waiting for this to be detected by the "$instcmd $src $dsttmp" command +# might cause directories to be created, which would be especially bad  +# if $src (and thus $dsttmp) contains '*'. + +	if [ -f $src -o -d $src ] +	then +		true +	else +		echo "install:  $src does not exist" +		exit 1 +	fi +	 +	if [ x"$dst" = x ] +	then +		echo "install:	no destination specified" +		exit 1 +	else +		true +	fi + +# If destination is a directory, append the input filename; if your system +# does not like double slashes in filenames, you may need to add some logic + +	if [ -d $dst ] +	then +		dst="$dst"/`basename $src` +	else +		true +	fi +fi + +## this sed command emulates the dirname command +dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` + +# Make sure that the destination directory exists. +#  this part is taken from Noah Friedman's mkinstalldirs script + +# Skip lots of stat calls in the usual case. +if [ ! -d "$dstdir" ]; then +defaultIFS='	 +' +IFS="${IFS-${defaultIFS}}" + +oIFS="${IFS}" +# Some sh's can't handle IFS=/ for some reason. +IFS='%' +set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'` +IFS="${oIFS}" + +pathcomp='' + +while [ $# -ne 0 ] ; do +	pathcomp="${pathcomp}${1}" +	shift + +	if [ ! -d "${pathcomp}" ] ; +        then +		$mkdirprog "${pathcomp}" +	else +		true +	fi + +	pathcomp="${pathcomp}/" +done +fi + +if [ x"$dir_arg" != x ] +then +	$doit $instcmd $dst && + +	if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi && +	if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi && +	if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi && +	if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi +else + +# If we're going to rename the final executable, determine the name now. + +	if [ x"$transformarg" = x ]  +	then +		dstfile=`basename $dst` +	else +		dstfile=`basename $dst $transformbasename |  +			sed $transformarg`$transformbasename +	fi + +# don't allow the sed command to completely eliminate the filename + +	if [ x"$dstfile" = x ]  +	then +		dstfile=`basename $dst` +	else +		true +	fi + +# Make a temp file name in the proper directory. + +	dsttmp=$dstdir/#inst.$$# + +# Move or copy the file name to the temp name + +	$doit $instcmd $src $dsttmp && + +	trap "rm -f ${dsttmp}" 0 && + +# and set any options; do chmod last to preserve setuid bits + +# If any of these fail, we abort the whole thing.  If we want to +# ignore errors from any of these, just make sure not to ignore +# errors from the above "$doit $instcmd $src $dsttmp" command. + +	if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi && +	if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi && +	if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi && +	if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi && + +# Now rename the file to the real destination. + +	$doit $rmcmd -f $dstdir/$dstfile && +	$doit $mvcmd $dsttmp $dstdir/$dstfile  + +fi && + + +exit 0 diff --git a/ltmain.sh b/ltmain.sh new file mode 100644 index 00000000..2393e14d --- /dev/null +++ b/ltmain.sh @@ -0,0 +1,4946 @@ +# ltmain.sh - Provide generalized library-building support services. +# NOTE: Changing this file will not affect anything until you rerun configure. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001 +# Free Software Foundation, Inc. +# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 +# +# 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 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 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. + +# Check that we have a working $echo. +if test "X$1" = X--no-reexec; then +  # Discard the --no-reexec flag, and continue. +  shift +elif test "X$1" = X--fallback-echo; then +  # Avoid inline document here, it may be left over +  : +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then +  # Yippee, $echo works! +  : +else +  # Restart under the correct shell, and then maybe $echo will work. +  exec $SHELL "$0" --no-reexec ${1+"$@"} +fi + +if test "X$1" = X--fallback-echo; then +  # used as fallback echo +  shift +  cat <<EOF +$* +EOF +  exit 0 +fi + +# The name of this program. +progname=`$echo "$0" | sed 's%^.*/%%'` +modename="$progname" + +# Constants. +PROGRAM=ltmain.sh +PACKAGE=libtool +VERSION=1.4 +TIMESTAMP=" (1.920 2001/04/24 23:26:18)" + +default_mode= +help="Try \`$progname --help' for more information." +magic="%%%MAGIC variable%%%" +mkdir="mkdir" +mv="mv -f" +rm="rm -f" + +# Sed substitution that helps us do robust quoting.  It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='sed -e 1s/^X//' +sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g' +SP2NL='tr \040 \012' +NL2SP='tr \015\012 \040\040' + +# NLS nuisances. +# Only set LANG and LC_ALL to C if already set. +# These must not be set unconditionally because not all systems understand +# e.g. LANG=C (notably SCO). +# We save the old values to restore during execute mode. +if test "${LC_ALL+set}" = set; then +  save_LC_ALL="$LC_ALL"; LC_ALL=C; export LC_ALL +fi +if test "${LANG+set}" = set; then +  save_LANG="$LANG"; LANG=C; export LANG +fi + +if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then +  echo "$modename: not configured to build any kind of library" 1>&2 +  echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2 +  exit 1 +fi + +# Global variables. +mode=$default_mode +nonopt= +prev= +prevopt= +run= +show="$echo" +show_help= +execute_dlfiles= +lo2o="s/\\.lo\$/.${objext}/" +o2lo="s/\\.${objext}\$/.lo/" + +# Parse our command line options once, thoroughly. +while test $# -gt 0 +do +  arg="$1" +  shift + +  case $arg in +  -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;; +  *) optarg= ;; +  esac + +  # If the previous option needs an argument, assign it. +  if test -n "$prev"; then +    case $prev in +    execute_dlfiles) +      execute_dlfiles="$execute_dlfiles $arg" +      ;; +    *) +      eval "$prev=\$arg" +      ;; +    esac + +    prev= +    prevopt= +    continue +  fi + +  # Have we seen a non-optional argument yet? +  case $arg in +  --help) +    show_help=yes +    ;; + +  --version) +    echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP" +    exit 0 +    ;; + +  --config) +    sed -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $0 +    exit 0 +    ;; + +  --debug) +    echo "$progname: enabling shell trace mode" +    set -x +    ;; + +  --dry-run | -n) +    run=: +    ;; + +  --features) +    echo "host: $host" +    if test "$build_libtool_libs" = yes; then +      echo "enable shared libraries" +    else +      echo "disable shared libraries" +    fi +    if test "$build_old_libs" = yes; then +      echo "enable static libraries" +    else +      echo "disable static libraries" +    fi +    exit 0 +    ;; + +  --finish) mode="finish" ;; + +  --mode) prevopt="--mode" prev=mode ;; +  --mode=*) mode="$optarg" ;; + +  --quiet | --silent) +    show=: +    ;; + +  -dlopen) +    prevopt="-dlopen" +    prev=execute_dlfiles +    ;; + +  -*) +    $echo "$modename: unrecognized option \`$arg'" 1>&2 +    $echo "$help" 1>&2 +    exit 1 +    ;; + +  *) +    nonopt="$arg" +    break +    ;; +  esac +done + +if test -n "$prevopt"; then +  $echo "$modename: option \`$prevopt' requires an argument" 1>&2 +  $echo "$help" 1>&2 +  exit 1 +fi + +if test -z "$show_help"; then + +  # Infer the operation mode. +  if test -z "$mode"; then +    case $nonopt in +    *cc | *++ | gcc* | *-gcc*) +      mode=link +      for arg +      do +	case $arg in +	-c) +	   mode=compile +	   break +	   ;; +	esac +      done +      ;; +    *db | *dbx | *strace | *truss) +      mode=execute +      ;; +    *install*|cp|mv) +      mode=install +      ;; +    *rm) +      mode=uninstall +      ;; +    *) +      # If we have no mode, but dlfiles were specified, then do execute mode. +      test -n "$execute_dlfiles" && mode=execute + +      # Just use the default operation mode. +      if test -z "$mode"; then +	if test -n "$nonopt"; then +	  $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2 +	else +	  $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2 +	fi +      fi +      ;; +    esac +  fi + +  # Only execute mode is allowed to have -dlopen flags. +  if test -n "$execute_dlfiles" && test "$mode" != execute; then +    $echo "$modename: unrecognized option \`-dlopen'" 1>&2 +    $echo "$help" 1>&2 +    exit 1 +  fi + +  # Change the help message to a mode-specific one. +  generic_help="$help" +  help="Try \`$modename --help --mode=$mode' for more information." + +  # These modes are in order of execution frequency so that they run quickly. +  case $mode in +  # libtool compile mode +  compile) +    modename="$modename: compile" +    # Get the compilation command and the source file. +    base_compile= +    prev= +    lastarg= +    srcfile="$nonopt" +    suppress_output= + +    user_target=no +    for arg +    do +      case $prev in +      "") ;; +      xcompiler) +	# Aesthetically quote the previous argument. +	prev= +	lastarg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + +	case $arg in +	# Double-quote args containing other shell metacharacters. +	# Many Bourne shells cannot handle close brackets correctly +	# in scan sets, so we specify it separately. +	*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"") +	  arg="\"$arg\"" +	  ;; +	esac + +	# Add the previous argument to base_compile. +	if test -z "$base_compile"; then +	  base_compile="$lastarg" +	else +	  base_compile="$base_compile $lastarg" +	fi +	continue +	;; +      esac + +      # Accept any command-line options. +      case $arg in +      -o) +	if test "$user_target" != "no"; then +	  $echo "$modename: you cannot specify \`-o' more than once" 1>&2 +	  exit 1 +	fi +	user_target=next +	;; + +      -static) +	build_old_libs=yes +	continue +	;; + +      -prefer-pic) +	pic_mode=yes +	continue +	;; + +      -prefer-non-pic) +	pic_mode=no +	continue +	;; + +      -Xcompiler) +	prev=xcompiler +	continue +	;; + +      -Wc,*) +	args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"` +	lastarg= +	IFS="${IFS= 	}"; save_ifs="$IFS"; IFS=',' +	for arg in $args; do +	  IFS="$save_ifs" + +	  # Double-quote args containing other shell metacharacters. +	  # Many Bourne shells cannot handle close brackets correctly +	  # in scan sets, so we specify it separately. +	  case $arg in +	    *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"") +	    arg="\"$arg\"" +	    ;; +	  esac +	  lastarg="$lastarg $arg" +	done +	IFS="$save_ifs" +	lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"` + +	# Add the arguments to base_compile. +	if test -z "$base_compile"; then +	  base_compile="$lastarg" +	else +	  base_compile="$base_compile $lastarg" +	fi +	continue +	;; +      esac + +      case $user_target in +      next) +	# The next one is the -o target name +	user_target=yes +	continue +	;; +      yes) +	# We got the output file +	user_target=set +	libobj="$arg" +	continue +	;; +      esac + +      # Accept the current argument as the source file. +      lastarg="$srcfile" +      srcfile="$arg" + +      # Aesthetically quote the previous argument. + +      # Backslashify any backslashes, double quotes, and dollar signs. +      # These are the only characters that are still specially +      # interpreted inside of double-quoted scrings. +      lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"` + +      # Double-quote args containing other shell metacharacters. +      # Many Bourne shells cannot handle close brackets correctly +      # in scan sets, so we specify it separately. +      case $lastarg in +      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"") +	lastarg="\"$lastarg\"" +	;; +      esac + +      # Add the previous argument to base_compile. +      if test -z "$base_compile"; then +	base_compile="$lastarg" +      else +	base_compile="$base_compile $lastarg" +      fi +    done + +    case $user_target in +    set) +      ;; +    no) +      # Get the name of the library object. +      libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'` +      ;; +    *) +      $echo "$modename: you must specify a target with \`-o'" 1>&2 +      exit 1 +      ;; +    esac + +    # Recognize several different file suffixes. +    # If the user specifies -o file.o, it is replaced with file.lo +    xform='[cCFSfmso]' +    case $libobj in +    *.ada) xform=ada ;; +    *.adb) xform=adb ;; +    *.ads) xform=ads ;; +    *.asm) xform=asm ;; +    *.c++) xform=c++ ;; +    *.cc) xform=cc ;; +    *.cpp) xform=cpp ;; +    *.cxx) xform=cxx ;; +    *.f90) xform=f90 ;; +    *.for) xform=for ;; +    esac + +    libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"` + +    case $libobj in +    *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;; +    *) +      $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2 +      exit 1 +      ;; +    esac + +    if test -z "$base_compile"; then +      $echo "$modename: you must specify a compilation command" 1>&2 +      $echo "$help" 1>&2 +      exit 1 +    fi + +    # Delete any leftover library objects. +    if test "$build_old_libs" = yes; then +      removelist="$obj $libobj" +    else +      removelist="$libobj" +    fi + +    $run $rm $removelist +    trap "$run $rm $removelist; exit 1" 1 2 15 + +    # On Cygwin there's no "real" PIC flag so we must build both object types +    case $host_os in +    cygwin* | mingw* | pw32* | os2*) +      pic_mode=default +      ;; +    esac +    if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then +      # non-PIC code in shared libraries is not supported +      pic_mode=default +    fi + +    # Calculate the filename of the output object if compiler does +    # not support -o with -c +    if test "$compiler_c_o" = no; then +      output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext} +      lockfile="$output_obj.lock" +      removelist="$removelist $output_obj $lockfile" +      trap "$run $rm $removelist; exit 1" 1 2 15 +    else +      need_locks=no +      lockfile= +    fi + +    # Lock this critical section if it is needed +    # We use this script file to make the link, it avoids creating a new file +    if test "$need_locks" = yes; then +      until $run ln "$0" "$lockfile" 2>/dev/null; do +	$show "Waiting for $lockfile to be removed" +	sleep 2 +      done +    elif test "$need_locks" = warn; then +      if test -f "$lockfile"; then +	echo "\ +*** ERROR, $lockfile exists and contains: +`cat $lockfile 2>/dev/null` + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together.  If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + +	$run $rm $removelist +	exit 1 +      fi +      echo $srcfile > "$lockfile" +    fi + +    if test -n "$fix_srcfile_path"; then +      eval srcfile=\"$fix_srcfile_path\" +    fi + +    # Only build a PIC object if we are building libtool libraries. +    if test "$build_libtool_libs" = yes; then +      # Without this assignment, base_compile gets emptied. +      fbsd_hideous_sh_bug=$base_compile + +      if test "$pic_mode" != no; then +	# All platforms use -DPIC, to notify preprocessed assembler code. +	command="$base_compile $srcfile $pic_flag -DPIC" +      else +	# Don't build PIC code +	command="$base_compile $srcfile" +      fi +      if test "$build_old_libs" = yes; then +	lo_libobj="$libobj" +	dir=`$echo "X$libobj" | $Xsed -e 's%/[^/]*$%%'` +	if test "X$dir" = "X$libobj"; then +	  dir="$objdir" +	else +	  dir="$dir/$objdir" +	fi +	libobj="$dir/"`$echo "X$libobj" | $Xsed -e 's%^.*/%%'` + +	if test -d "$dir"; then +	  $show "$rm $libobj" +	  $run $rm $libobj +	else +	  $show "$mkdir $dir" +	  $run $mkdir $dir +	  status=$? +	  if test $status -ne 0 && test ! -d $dir; then +	    exit $status +	  fi +	fi +      fi +      if test "$compiler_o_lo" = yes; then +	output_obj="$libobj" +	command="$command -o $output_obj" +      elif test "$compiler_c_o" = yes; then +	output_obj="$obj" +	command="$command -o $output_obj" +      fi + +      $run $rm "$output_obj" +      $show "$command" +      if $run eval "$command"; then : +      else +	test -n "$output_obj" && $run $rm $removelist +	exit 1 +      fi + +      if test "$need_locks" = warn && +	 test x"`cat $lockfile 2>/dev/null`" != x"$srcfile"; then +	echo "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together.  If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + +	$run $rm $removelist +	exit 1 +      fi + +      # Just move the object if needed, then go on to compile the next one +      if test x"$output_obj" != x"$libobj"; then +	$show "$mv $output_obj $libobj" +	if $run $mv $output_obj $libobj; then : +	else +	  error=$? +	  $run $rm $removelist +	  exit $error +	fi +      fi + +      # If we have no pic_flag, then copy the object into place and finish. +      if (test -z "$pic_flag" || test "$pic_mode" != default) && +	 test "$build_old_libs" = yes; then +	# Rename the .lo from within objdir to obj +	if test -f $obj; then +	  $show $rm $obj +	  $run $rm $obj +	fi + +	$show "$mv $libobj $obj" +	if $run $mv $libobj $obj; then : +	else +	  error=$? +	  $run $rm $removelist +	  exit $error +	fi + +	xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'` +	if test "X$xdir" = "X$obj"; then +	  xdir="." +	else +	  xdir="$xdir" +	fi +	baseobj=`$echo "X$obj" | $Xsed -e "s%.*/%%"` +	libobj=`$echo "X$baseobj" | $Xsed -e "$o2lo"` +	# Now arrange that obj and lo_libobj become the same file +	$show "(cd $xdir && $LN_S $baseobj $libobj)" +	if $run eval '(cd $xdir && $LN_S $baseobj $libobj)'; then +	  exit 0 +	else +	  error=$? +	  $run $rm $removelist +	  exit $error +	fi +      fi + +      # Allow error messages only from the first compilation. +      suppress_output=' >/dev/null 2>&1' +    fi + +    # Only build a position-dependent object if we build old libraries. +    if test "$build_old_libs" = yes; then +      if test "$pic_mode" != yes; then +	# Don't build PIC code +	command="$base_compile $srcfile" +      else +	# All platforms use -DPIC, to notify preprocessed assembler code. +	command="$base_compile $srcfile $pic_flag -DPIC" +      fi +      if test "$compiler_c_o" = yes; then +	command="$command -o $obj" +	output_obj="$obj" +      fi + +      # Suppress compiler output if we already did a PIC compilation. +      command="$command$suppress_output" +      $run $rm "$output_obj" +      $show "$command" +      if $run eval "$command"; then : +      else +	$run $rm $removelist +	exit 1 +      fi + +      if test "$need_locks" = warn && +	 test x"`cat $lockfile 2>/dev/null`" != x"$srcfile"; then +	echo "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together.  If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + +	$run $rm $removelist +	exit 1 +      fi + +      # Just move the object if needed +      if test x"$output_obj" != x"$obj"; then +	$show "$mv $output_obj $obj" +	if $run $mv $output_obj $obj; then : +	else +	  error=$? +	  $run $rm $removelist +	  exit $error +	fi +      fi + +      # Create an invalid libtool object if no PIC, so that we do not +      # accidentally link it into a program. +      if test "$build_libtool_libs" != yes; then +	$show "echo timestamp > $libobj" +	$run eval "echo timestamp > \$libobj" || exit $? +      else +	# Move the .lo from within objdir +	$show "$mv $libobj $lo_libobj" +	if $run $mv $libobj $lo_libobj; then : +	else +	  error=$? +	  $run $rm $removelist +	  exit $error +	fi +      fi +    fi + +    # Unlock the critical section if it was locked +    if test "$need_locks" != no; then +      $run $rm "$lockfile" +    fi + +    exit 0 +    ;; + +  # libtool link mode +  link | relink) +    modename="$modename: link" +    case $host in +    *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) +      # It is impossible to link a dll without this setting, and +      # we shouldn't force the makefile maintainer to figure out +      # which system we are compiling for in order to pass an extra +      # flag for every libtool invokation. +      # allow_undefined=no + +      # FIXME: Unfortunately, there are problems with the above when trying +      # to make a dll which has undefined symbols, in which case not +      # even a static library is built.  For now, we need to specify +      # -no-undefined on the libtool link line when we can be certain +      # that all symbols are satisfied, otherwise we get a static library. +      allow_undefined=yes +      ;; +    *) +      allow_undefined=yes +      ;; +    esac +    libtool_args="$nonopt" +    compile_command="$nonopt" +    finalize_command="$nonopt" + +    compile_rpath= +    finalize_rpath= +    compile_shlibpath= +    finalize_shlibpath= +    convenience= +    old_convenience= +    deplibs= +    old_deplibs= +    compiler_flags= +    linker_flags= +    dllsearchpath= +    lib_search_path=`pwd` + +    avoid_version=no +    dlfiles= +    dlprefiles= +    dlself=no +    export_dynamic=no +    export_symbols= +    export_symbols_regex= +    generated= +    libobjs= +    ltlibs= +    module=no +    no_install=no +    objs= +    prefer_static_libs=no +    preload=no +    prev= +    prevarg= +    release= +    rpath= +    xrpath= +    perm_rpath= +    temp_rpath= +    thread_safe=no +    vinfo= + +    # We need to know -static, to get the right output filenames. +    for arg +    do +      case $arg in +      -all-static | -static) +	if test "X$arg" = "X-all-static"; then +	  if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then +	    $echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2 +	  fi +	  if test -n "$link_static_flag"; then +	    dlopen_self=$dlopen_self_static +	  fi +	else +	  if test -z "$pic_flag" && test -n "$link_static_flag"; then +	    dlopen_self=$dlopen_self_static +	  fi +	fi +	build_libtool_libs=no +	build_old_libs=yes +	prefer_static_libs=yes +	break +	;; +      esac +    done + +    # See if our shared archives depend on static archives. +    test -n "$old_archive_from_new_cmds" && build_old_libs=yes + +    # Go through the arguments, transforming them on the way. +    while test $# -gt 0; do +      arg="$1" +      shift +      case $arg in +      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"") +	qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test +	;; +      *) qarg=$arg ;; +      esac +      libtool_args="$libtool_args $qarg" + +      # If the previous option needs an argument, assign it. +      if test -n "$prev"; then +	case $prev in +	output) +	  compile_command="$compile_command @OUTPUT@" +	  finalize_command="$finalize_command @OUTPUT@" +	  ;; +	esac + +	case $prev in +	dlfiles|dlprefiles) +	  if test "$preload" = no; then +	    # Add the symbol object into the linking commands. +	    compile_command="$compile_command @SYMFILE@" +	    finalize_command="$finalize_command @SYMFILE@" +	    preload=yes +	  fi +	  case $arg in +	  *.la | *.lo) ;;  # We handle these cases below. +	  force) +	    if test "$dlself" = no; then +	      dlself=needless +	      export_dynamic=yes +	    fi +	    prev= +	    continue +	    ;; +	  self) +	    if test "$prev" = dlprefiles; then +	      dlself=yes +	    elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then +	      dlself=yes +	    else +	      dlself=needless +	      export_dynamic=yes +	    fi +	    prev= +	    continue +	    ;; +	  *) +	    if test "$prev" = dlfiles; then +	      dlfiles="$dlfiles $arg" +	    else +	      dlprefiles="$dlprefiles $arg" +	    fi +	    prev= +	    continue +	    ;; +	  esac +	  ;; +	expsyms) +	  export_symbols="$arg" +	  if test ! -f "$arg"; then +	    $echo "$modename: symbol file \`$arg' does not exist" +	    exit 1 +	  fi +	  prev= +	  continue +	  ;; +	expsyms_regex) +	  export_symbols_regex="$arg" +	  prev= +	  continue +	  ;; +	release) +	  release="-$arg" +	  prev= +	  continue +	  ;; +	rpath | xrpath) +	  # We need an absolute path. +	  case $arg in +	  [\\/]* | [A-Za-z]:[\\/]*) ;; +	  *) +	    $echo "$modename: only absolute run-paths are allowed" 1>&2 +	    exit 1 +	    ;; +	  esac +	  if test "$prev" = rpath; then +	    case "$rpath " in +	    *" $arg "*) ;; +	    *) rpath="$rpath $arg" ;; +	    esac +	  else +	    case "$xrpath " in +	    *" $arg "*) ;; +	    *) xrpath="$xrpath $arg" ;; +	    esac +	  fi +	  prev= +	  continue +	  ;; +	xcompiler) +	  compiler_flags="$compiler_flags $qarg" +	  prev= +	  compile_command="$compile_command $qarg" +	  finalize_command="$finalize_command $qarg" +	  continue +	  ;; +	xlinker) +	  linker_flags="$linker_flags $qarg" +	  compiler_flags="$compiler_flags $wl$qarg" +	  prev= +	  compile_command="$compile_command $wl$qarg" +	  finalize_command="$finalize_command $wl$qarg" +	  continue +	  ;; +	*) +	  eval "$prev=\"\$arg\"" +	  prev= +	  continue +	  ;; +	esac +      fi # test -n $prev + +      prevarg="$arg" + +      case $arg in +      -all-static) +	if test -n "$link_static_flag"; then +	  compile_command="$compile_command $link_static_flag" +	  finalize_command="$finalize_command $link_static_flag" +	fi +	continue +	;; + +      -allow-undefined) +	# FIXME: remove this flag sometime in the future. +	$echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2 +	continue +	;; + +      -avoid-version) +	avoid_version=yes +	continue +	;; + +      -dlopen) +	prev=dlfiles +	continue +	;; + +      -dlpreopen) +	prev=dlprefiles +	continue +	;; + +      -export-dynamic) +	export_dynamic=yes +	continue +	;; + +      -export-symbols | -export-symbols-regex) +	if test -n "$export_symbols" || test -n "$export_symbols_regex"; then +	  $echo "$modename: more than one -exported-symbols argument is not allowed" +	  exit 1 +	fi +	if test "X$arg" = "X-export-symbols"; then +	  prev=expsyms +	else +	  prev=expsyms_regex +	fi +	continue +	;; + +      # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* +      # so, if we see these flags be careful not to treat them like -L +      -L[A-Z][A-Z]*:*) +	case $with_gcc/$host in +	no/*-*-irix*) +	  compile_command="$compile_command $arg" +	  finalize_command="$finalize_command $arg" +	  ;; +	esac +	continue +	;; + +      -L*) +	dir=`$echo "X$arg" | $Xsed -e 's/^-L//'` +	# We need an absolute path. +	case $dir in +	[\\/]* | [A-Za-z]:[\\/]*) ;; +	*) +	  absdir=`cd "$dir" && pwd` +	  if test -z "$absdir"; then +	    $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2 +	    exit 1 +	  fi +	  dir="$absdir" +	  ;; +	esac +	case "$deplibs " in +	*" -L$dir "*) ;; +	*) +	  deplibs="$deplibs -L$dir" +	  lib_search_path="$lib_search_path $dir" +	  ;; +	esac +	case $host in +	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) +	  case :$dllsearchpath: in +	  *":$dir:"*) ;; +	  *) dllsearchpath="$dllsearchpath:$dir";; +	  esac +	  ;; +	esac +	continue +	;; + +      -l*) +	if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then +	  case $host in +	  *-*-cygwin* | *-*-pw32* | *-*-beos*) +	    # These systems don't actually have a C or math library (as such) +	    continue +	    ;; +	  *-*-mingw* | *-*-os2*) +	    # These systems don't actually have a C library (as such) +	    test "X$arg" = "X-lc" && continue +	    ;; +	  esac +	fi +	deplibs="$deplibs $arg" +	continue +	;; + +      -module) +	module=yes +	continue +	;; + +      -no-fast-install) +	fast_install=no +	continue +	;; + +      -no-install) +	case $host in +	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) +	  # The PATH hackery in wrapper scripts is required on Windows +	  # in order for the loader to find any dlls it needs. +	  $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2 +	  $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2 +	  fast_install=no +	  ;; +	*) no_install=yes ;; +	esac +	continue +	;; + +      -no-undefined) +	allow_undefined=no +	continue +	;; + +      -o) prev=output ;; + +      -release) +	prev=release +	continue +	;; + +      -rpath) +	prev=rpath +	continue +	;; + +      -R) +	prev=xrpath +	continue +	;; + +      -R*) +	dir=`$echo "X$arg" | $Xsed -e 's/^-R//'` +	# We need an absolute path. +	case $dir in +	[\\/]* | [A-Za-z]:[\\/]*) ;; +	*) +	  $echo "$modename: only absolute run-paths are allowed" 1>&2 +	  exit 1 +	  ;; +	esac +	case "$xrpath " in +	*" $dir "*) ;; +	*) xrpath="$xrpath $dir" ;; +	esac +	continue +	;; + +      -static) +	# The effects of -static are defined in a previous loop. +	# We used to do the same as -all-static on platforms that +	# didn't have a PIC flag, but the assumption that the effects +	# would be equivalent was wrong.  It would break on at least +	# Digital Unix and AIX. +	continue +	;; + +      -thread-safe) +	thread_safe=yes +	continue +	;; + +      -version-info) +	prev=vinfo +	continue +	;; + +      -Wc,*) +	args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'` +	arg= +	IFS="${IFS= 	}"; save_ifs="$IFS"; IFS=',' +	for flag in $args; do +	  IFS="$save_ifs" +	  case $flag in +	    *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"") +	    flag="\"$flag\"" +	    ;; +	  esac +	  arg="$arg $wl$flag" +	  compiler_flags="$compiler_flags $flag" +	done +	IFS="$save_ifs" +	arg=`$echo "X$arg" | $Xsed -e "s/^ //"` +	;; + +      -Wl,*) +	args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'` +	arg= +	IFS="${IFS= 	}"; save_ifs="$IFS"; IFS=',' +	for flag in $args; do +	  IFS="$save_ifs" +	  case $flag in +	    *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"") +	    flag="\"$flag\"" +	    ;; +	  esac +	  arg="$arg $wl$flag" +	  compiler_flags="$compiler_flags $wl$flag" +	  linker_flags="$linker_flags $flag" +	done +	IFS="$save_ifs" +	arg=`$echo "X$arg" | $Xsed -e "s/^ //"` +	;; + +      -Xcompiler) +	prev=xcompiler +	continue +	;; + +      -Xlinker) +	prev=xlinker +	continue +	;; + +      # Some other compiler flag. +      -* | +*) +	# Unknown arguments in both finalize_command and compile_command need +	# to be aesthetically quoted because they are evaled later. +	arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` +	case $arg in +	*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"") +	  arg="\"$arg\"" +	  ;; +	esac +	;; + +      *.lo | *.$objext) +	# A library or standard object. +	if test "$prev" = dlfiles; then +	  # This file was specified with -dlopen. +	  if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then +	    dlfiles="$dlfiles $arg" +	    prev= +	    continue +	  else +	    # If libtool objects are unsupported, then we need to preload. +	    prev=dlprefiles +	  fi +	fi + +	if test "$prev" = dlprefiles; then +	  # Preload the old-style object. +	  dlprefiles="$dlprefiles "`$echo "X$arg" | $Xsed -e "$lo2o"` +	  prev= +	else +	  case $arg in +	  *.lo) libobjs="$libobjs $arg" ;; +	  *) objs="$objs $arg" ;; +	  esac +	fi +	;; + +      *.$libext) +	# An archive. +	deplibs="$deplibs $arg" +	old_deplibs="$old_deplibs $arg" +	continue +	;; + +      *.la) +	# A libtool-controlled library. + +	if test "$prev" = dlfiles; then +	  # This library was specified with -dlopen. +	  dlfiles="$dlfiles $arg" +	  prev= +	elif test "$prev" = dlprefiles; then +	  # The library was specified with -dlpreopen. +	  dlprefiles="$dlprefiles $arg" +	  prev= +	else +	  deplibs="$deplibs $arg" +	fi +	continue +	;; + +      # Some other compiler argument. +      *) +	# Unknown arguments in both finalize_command and compile_command need +	# to be aesthetically quoted because they are evaled later. +	arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` +	case $arg in +	*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"") +	  arg="\"$arg\"" +	  ;; +	esac +	;; +      esac # arg + +      # Now actually substitute the argument into the commands. +      if test -n "$arg"; then +	compile_command="$compile_command $arg" +	finalize_command="$finalize_command $arg" +      fi +    done # argument parsing loop + +    if test -n "$prev"; then +      $echo "$modename: the \`$prevarg' option requires an argument" 1>&2 +      $echo "$help" 1>&2 +      exit 1 +    fi + +    if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then +      eval arg=\"$export_dynamic_flag_spec\" +      compile_command="$compile_command $arg" +      finalize_command="$finalize_command $arg" +    fi + +    # calculate the name of the file, without its directory +    outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'` +    libobjs_save="$libobjs" + +    if test -n "$shlibpath_var"; then +      # get the directories listed in $shlibpath_var +      eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\` +    else +      shlib_search_path= +    fi +    eval sys_lib_search_path=\"$sys_lib_search_path_spec\" +    eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" + +    output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'` +    if test "X$output_objdir" = "X$output"; then +      output_objdir="$objdir" +    else +      output_objdir="$output_objdir/$objdir" +    fi +    # Create the object directory. +    if test ! -d $output_objdir; then +      $show "$mkdir $output_objdir" +      $run $mkdir $output_objdir +      status=$? +      if test $status -ne 0 && test ! -d $output_objdir; then +	exit $status +      fi +    fi + +    # Determine the type of output +    case $output in +    "") +      $echo "$modename: you must specify an output file" 1>&2 +      $echo "$help" 1>&2 +      exit 1 +      ;; +    *.$libext) linkmode=oldlib ;; +    *.lo | *.$objext) linkmode=obj ;; +    *.la) linkmode=lib ;; +    *) linkmode=prog ;; # Anything else should be a program. +    esac + +    specialdeplibs= +    libs= +    # Find all interdependent deplibs by searching for libraries +    # that are linked more than once (e.g. -la -lb -la) +    for deplib in $deplibs; do +      case "$libs " in +      *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; +      esac +      libs="$libs $deplib" +    done +    deplibs= +    newdependency_libs= +    newlib_search_path= +    need_relink=no # whether we're linking any uninstalled libtool libraries +    notinst_deplibs= # not-installed libtool libraries +    notinst_path= # paths that contain not-installed libtool libraries +    case $linkmode in +    lib) +	passes="conv link" +	for file in $dlfiles $dlprefiles; do +	  case $file in +	  *.la) ;; +	  *) +	    $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2 +	    exit 1 +	    ;; +	  esac +	done +	;; +    prog) +	compile_deplibs= +	finalize_deplibs= +	alldeplibs=no +	newdlfiles= +	newdlprefiles= +	passes="conv scan dlopen dlpreopen link" +	;; +    *)  passes="conv" +	;; +    esac +    for pass in $passes; do +      if test "$linkmode" = prog; then +	# Determine which files to process +	case $pass in +	dlopen) +	  libs="$dlfiles" +	  save_deplibs="$deplibs" # Collect dlpreopened libraries +	  deplibs= +	  ;; +	dlpreopen) libs="$dlprefiles" ;; +	link) libs="$deplibs %DEPLIBS% $dependency_libs" ;; +	esac +      fi +      for deplib in $libs; do +	lib= +	found=no +	case $deplib in +	-l*) +	  if test "$linkmode" = oldlib && test "$linkmode" = obj; then +	    $echo "$modename: warning: \`-l' is ignored for archives/objects: $deplib" 1>&2 +	    continue +	  fi +	  if test "$pass" = conv; then +	    deplibs="$deplib $deplibs" +	    continue +	  fi +	  name=`$echo "X$deplib" | $Xsed -e 's/^-l//'` +	  for searchdir in $newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path; do +	    # Search the libtool library +	    lib="$searchdir/lib${name}.la" +	    if test -f "$lib"; then +	      found=yes +	      break +	    fi +	  done +	  if test "$found" != yes; then +	    # deplib doesn't seem to be a libtool library +	    if test "$linkmode,$pass" = "prog,link"; then +	      compile_deplibs="$deplib $compile_deplibs" +	      finalize_deplibs="$deplib $finalize_deplibs" +	    else +	      deplibs="$deplib $deplibs" +	      test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" +	    fi +	    continue +	  fi +	  ;; # -l +	-L*) +	  case $linkmode in +	  lib) +	    deplibs="$deplib $deplibs" +	    test "$pass" = conv && continue +	    newdependency_libs="$deplib $newdependency_libs" +	    newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` +	    ;; +	  prog) +	    if test "$pass" = conv; then +	      deplibs="$deplib $deplibs" +	      continue +	    fi +	    if test "$pass" = scan; then +	      deplibs="$deplib $deplibs" +	      newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` +	    else +	      compile_deplibs="$deplib $compile_deplibs" +	      finalize_deplibs="$deplib $finalize_deplibs" +	    fi +	    ;; +	  *) +	    $echo "$modename: warning: \`-L' is ignored for archives/objects: $deplib" 1>&2 +	    ;; +	  esac # linkmode +	  continue +	  ;; # -L +	-R*) +	  if test "$pass" = link; then +	    dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'` +	    # Make sure the xrpath contains only unique directories. +	    case "$xrpath " in +	    *" $dir "*) ;; +	    *) xrpath="$xrpath $dir" ;; +	    esac +	  fi +	  deplibs="$deplib $deplibs" +	  continue +	  ;; +	*.la) lib="$deplib" ;; +	*.$libext) +	  if test "$pass" = conv; then +	    deplibs="$deplib $deplibs" +	    continue +	  fi +	  case $linkmode in +	  lib) +	    if test "$deplibs_check_method" != pass_all; then +	      echo +	      echo "*** Warning: This library needs some functionality provided by $deplib." +	      echo "*** I have the capability to make that library automatically link in when" +	      echo "*** you link to this library.  But I can only do this if you have a" +	      echo "*** shared version of the library, which you do not appear to have." +	    else +	      echo +	      echo "*** Warning: Linking the shared library $output against the" +	      echo "*** static library $deplib is not portable!" +	      deplibs="$deplib $deplibs" +	    fi +	    continue +	    ;; +	  prog) +	    if test "$pass" != link; then +	      deplibs="$deplib $deplibs" +	    else +	      compile_deplibs="$deplib $compile_deplibs" +	      finalize_deplibs="$deplib $finalize_deplibs" +	    fi +	    continue +	    ;; +	  esac # linkmode +	  ;; # *.$libext +	*.lo | *.$objext) +	  if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then +	    # If there is no dlopen support or we're linking statically, +	    # we need to preload. +	    newdlprefiles="$newdlprefiles $deplib" +	    compile_deplibs="$deplib $compile_deplibs" +	    finalize_deplibs="$deplib $finalize_deplibs" +	  else +	    newdlfiles="$newdlfiles $deplib" +	  fi +	  continue +	  ;; +	%DEPLIBS%) +	  alldeplibs=yes +	  continue +	  ;; +	esac # case $deplib +	if test $found = yes || test -f "$lib"; then : +	else +	  $echo "$modename: cannot find the library \`$lib'" 1>&2 +	  exit 1 +	fi + +	# Check to see that this really is a libtool archive. +	if (sed -e '2q' $lib | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : +	else +	  $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 +	  exit 1 +	fi + +	ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` +	test "X$ladir" = "X$lib" && ladir="." + +	dlname= +	dlopen= +	dlpreopen= +	libdir= +	library_names= +	old_library= +	# If the library was installed with an old release of libtool, +	# it will not redefine variable installed. +	installed=yes + +	# Read the .la file +	case $lib in +	*/* | *\\*) . $lib ;; +	*) . ./$lib ;; +	esac + +	if test "$linkmode,$pass" = "lib,link" || +	   test "$linkmode,$pass" = "prog,scan" || +	   { test "$linkmode" = oldlib && test "$linkmode" = obj; }; then +	   # Add dl[pre]opened files of deplib +	  test -n "$dlopen" && dlfiles="$dlfiles $dlopen" +	  test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen" +	fi + +	if test "$pass" = conv; then +	  # Only check for convenience libraries +	  deplibs="$lib $deplibs" +	  if test -z "$libdir"; then +	    if test -z "$old_library"; then +	      $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 +	      exit 1 +	    fi +	    # It is a libtool convenience library, so add in its objects. +	    convenience="$convenience $ladir/$objdir/$old_library" +	    old_convenience="$old_convenience $ladir/$objdir/$old_library" +	    tmp_libs= +	    for deplib in $dependency_libs; do +	      deplibs="$deplib $deplibs" +	      case "$tmp_libs " in +	      *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; +	      esac +	      tmp_libs="$tmp_libs $deplib" +	    done +	  elif test "$linkmode" != prog && test "$linkmode" != lib; then +	    $echo "$modename: \`$lib' is not a convenience library" 1>&2 +	    exit 1 +	  fi +	  continue +	fi # $pass = conv + +	# Get the name of the library we link against. +	linklib= +	for l in $old_library $library_names; do +	  linklib="$l" +	done +	if test -z "$linklib"; then +	  $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 +	  exit 1 +	fi + +	# This library was specified with -dlopen. +	if test "$pass" = dlopen; then +	  if test -z "$libdir"; then +	    $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2 +	    exit 1 +	  fi +	  if test -z "$dlname" || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then +	    # If there is no dlname, no dlopen support or we're linking +	    # statically, we need to preload. +	    dlprefiles="$dlprefiles $lib" +	  else +	    newdlfiles="$newdlfiles $lib" +	  fi +	  continue +	fi # $pass = dlopen + +	# We need an absolute path. +	case $ladir in +	[\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;; +	*) +	  abs_ladir=`cd "$ladir" && pwd` +	  if test -z "$abs_ladir"; then +	    $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2 +	    $echo "$modename: passing it literally to the linker, although it might fail" 1>&2 +	    abs_ladir="$ladir" +	  fi +	  ;; +	esac +	laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` + +	# Find the relevant object directory and library name. +	if test "X$installed" = Xyes; then +	  if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then +	    $echo "$modename: warning: library \`$lib' was moved." 1>&2 +	    dir="$ladir" +	    absdir="$abs_ladir" +	    libdir="$abs_ladir" +	  else +	    dir="$libdir" +	    absdir="$libdir" +	  fi +	else +	  dir="$ladir/$objdir" +	  absdir="$abs_ladir/$objdir" +	  # Remove this search path later +	  notinst_path="$notinst_path $abs_ladir" +	fi # $installed = yes +	name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` + +	# This library was specified with -dlpreopen. +	if test "$pass" = dlpreopen; then +	  if test -z "$libdir"; then +	    $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2 +	    exit 1 +	  fi +	  # Prefer using a static library (so that no silly _DYNAMIC symbols +	  # are required to link). +	  if test -n "$old_library"; then +	    newdlprefiles="$newdlprefiles $dir/$old_library" +	  # Otherwise, use the dlname, so that lt_dlopen finds it. +	  elif test -n "$dlname"; then +	    newdlprefiles="$newdlprefiles $dir/$dlname" +	  else +	    newdlprefiles="$newdlprefiles $dir/$linklib" +	  fi +	fi # $pass = dlpreopen + +	if test -z "$libdir"; then +	  # Link the convenience library +	  if test "$linkmode" = lib; then +	    deplibs="$dir/$old_library $deplibs" +	  elif test "$linkmode,$pass" = "prog,link"; then +	    compile_deplibs="$dir/$old_library $compile_deplibs" +	    finalize_deplibs="$dir/$old_library $finalize_deplibs" +	  else +	    deplibs="$lib $deplibs" +	  fi +	  continue +	fi + +	if test "$linkmode" = prog && test "$pass" != link; then +	  newlib_search_path="$newlib_search_path $ladir" +	  deplibs="$lib $deplibs" + +	  linkalldeplibs=no +	  if test "$link_all_deplibs" != no || test -z "$library_names" || +	     test "$build_libtool_libs" = no; then +	    linkalldeplibs=yes +	  fi + +	  tmp_libs= +	  for deplib in $dependency_libs; do +	    case $deplib in +	    -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test +	    esac +	    # Need to link against all dependency_libs? +	    if test $linkalldeplibs = yes; then +	      deplibs="$deplib $deplibs" +	    else +	      # Need to hardcode shared library paths +	      # or/and link against static libraries +	      newdependency_libs="$deplib $newdependency_libs" +	    fi +	    case "$tmp_libs " in +	    *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; +	    esac +	    tmp_libs="$tmp_libs $deplib" +	  done # for deplib +	  continue +	fi # $linkmode = prog... + +	link_static=no # Whether the deplib will be linked statically +	if test -n "$library_names" && +	   { test "$prefer_static_libs" = no || test -z "$old_library"; }; then +	  # Link against this shared library + +	  if test "$linkmode,$pass" = "prog,link" || +	   { test "$linkmode" = lib && test "$hardcode_into_libs" = yes; }; then +	    # Hardcode the library path. +	    # Skip directories that are in the system default run-time +	    # search path. +	    case " $sys_lib_dlsearch_path " in +	    *" $absdir "*) ;; +	    *) +	      case "$compile_rpath " in +	      *" $absdir "*) ;; +	      *) compile_rpath="$compile_rpath $absdir" +	      esac +	      ;; +	    esac +	    case " $sys_lib_dlsearch_path " in +	    *" $libdir "*) ;; +	    *) +	      case "$finalize_rpath " in +	      *" $libdir "*) ;; +	      *) finalize_rpath="$finalize_rpath $libdir" +	      esac +	      ;; +	    esac +	    if test "$linkmode" = prog; then +	      # We need to hardcode the library path +	      if test -n "$shlibpath_var"; then +		# Make sure the rpath contains only unique directories. +		case "$temp_rpath " in +		*" $dir "*) ;; +		*" $absdir "*) ;; +		*) temp_rpath="$temp_rpath $dir" ;; +		esac +	      fi +	    fi +	  fi # $linkmode,$pass = prog,link... + +	  if test "$alldeplibs" = yes && +	     { test "$deplibs_check_method" = pass_all || +	       { test "$build_libtool_libs" = yes && +		 test -n "$library_names"; }; }; then +	    # We only need to search for static libraries +	    continue +	  fi + +	  if test "$installed" = no; then +	    notinst_deplibs="$notinst_deplibs $lib" +	    need_relink=yes +	  fi + +	  if test -n "$old_archive_from_expsyms_cmds"; then +	    # figure out the soname +	    set dummy $library_names +	    realname="$2" +	    shift; shift +	    libname=`eval \\$echo \"$libname_spec\"` +	    # use dlname if we got it. it's perfectly good, no? +	    if test -n "$dlname"; then +	      soname="$dlname" +	    elif test -n "$soname_spec"; then +	      # bleh windows +	      case $host in +	      *cygwin*) +		major=`expr $current - $age` +		versuffix="-$major" +		;; +	      esac +	      eval soname=\"$soname_spec\" +	    else +	      soname="$realname" +	    fi + +	    # Make a new name for the extract_expsyms_cmds to use +	    soroot="$soname" +	    soname=`echo $soroot | sed -e 's/^.*\///'` +	    newlib="libimp-`echo $soname | sed 's/^lib//;s/\.dll$//'`.a" + +	    # If the library has no export list, then create one now +	    if test -f "$output_objdir/$soname-def"; then : +	    else +	      $show "extracting exported symbol list from \`$soname'" +	      IFS="${IFS= 	}"; save_ifs="$IFS"; IFS='~' +	      eval cmds=\"$extract_expsyms_cmds\" +	      for cmd in $cmds; do +		IFS="$save_ifs" +		$show "$cmd" +		$run eval "$cmd" || exit $? +	      done +	      IFS="$save_ifs" +	    fi + +	    # Create $newlib +	    if test -f "$output_objdir/$newlib"; then :; else +	      $show "generating import library for \`$soname'" +	      IFS="${IFS= 	}"; save_ifs="$IFS"; IFS='~' +	      eval cmds=\"$old_archive_from_expsyms_cmds\" +	      for cmd in $cmds; do +		IFS="$save_ifs" +		$show "$cmd" +		$run eval "$cmd" || exit $? +	      done +	      IFS="$save_ifs" +	    fi +	    # make sure the library variables are pointing to the new library +	    dir=$output_objdir +	    linklib=$newlib +	  fi # test -n $old_archive_from_expsyms_cmds + +	  if test "$linkmode" = prog || test "$mode" != relink; then +	    add_shlibpath= +	    add_dir= +	    add= +	    lib_linked=yes +	    case $hardcode_action in +	    immediate | unsupported) +	      if test "$hardcode_direct" = no; then +		add="$dir/$linklib" +	      elif test "$hardcode_minus_L" = no; then +		case $host in +		*-*-sunos*) add_shlibpath="$dir" ;; +		esac +		add_dir="-L$dir" +		add="-l$name" +	      elif test "$hardcode_shlibpath_var" = no; then +		add_shlibpath="$dir" +		add="-l$name" +	      else +		lib_linked=no +	      fi +	      ;; +	    relink) +	      if test "$hardcode_direct" = yes; then +		add="$dir/$linklib" +	      elif test "$hardcode_minus_L" = yes; then +		add_dir="-L$dir" +		add="-l$name" +	      elif test "$hardcode_shlibpath_var" = yes; then +		add_shlibpath="$dir" +		add="-l$name" +	      else +		lib_linked=no +	      fi +	      ;; +	    *) lib_linked=no ;; +	    esac + +	    if test "$lib_linked" != yes; then +	      $echo "$modename: configuration error: unsupported hardcode properties" +	      exit 1 +	    fi + +	    if test -n "$add_shlibpath"; then +	      case :$compile_shlibpath: in +	      *":$add_shlibpath:"*) ;; +	      *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;; +	      esac +	    fi +	    if test "$linkmode" = prog; then +	      test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" +	      test -n "$add" && compile_deplibs="$add $compile_deplibs" +	    else +	      test -n "$add_dir" && deplibs="$add_dir $deplibs" +	      test -n "$add" && deplibs="$add $deplibs" +	      if test "$hardcode_direct" != yes && \ +		 test "$hardcode_minus_L" != yes && \ +		 test "$hardcode_shlibpath_var" = yes; then +		case :$finalize_shlibpath: in +		*":$libdir:"*) ;; +		*) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; +		esac +	      fi +	    fi +	  fi + +	  if test "$linkmode" = prog || test "$mode" = relink; then +	    add_shlibpath= +	    add_dir= +	    add= +	    # Finalize command for both is simple: just hardcode it. +	    if test "$hardcode_direct" = yes; then +	      add="$libdir/$linklib" +	    elif test "$hardcode_minus_L" = yes; then +	      add_dir="-L$libdir" +	      add="-l$name" +	    elif test "$hardcode_shlibpath_var" = yes; then +	      case :$finalize_shlibpath: in +	      *":$libdir:"*) ;; +	      *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; +	      esac +	      add="-l$name" +	    else +	      # We cannot seem to hardcode it, guess we'll fake it. +	      add_dir="-L$libdir" +	      add="-l$name" +	    fi + +	    if test "$linkmode" = prog; then +	      test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" +	      test -n "$add" && finalize_deplibs="$add $finalize_deplibs" +	    else +	      test -n "$add_dir" && deplibs="$add_dir $deplibs" +	      test -n "$add" && deplibs="$add $deplibs" +	    fi +	  fi +	elif test "$linkmode" = prog; then +	  if test "$alldeplibs" = yes && +	     { test "$deplibs_check_method" = pass_all || +	       { test "$build_libtool_libs" = yes && +		 test -n "$library_names"; }; }; then +	    # We only need to search for static libraries +	    continue +	  fi + +	  # Try to link the static library +	  # Here we assume that one of hardcode_direct or hardcode_minus_L +	  # is not unsupported.  This is valid on all known static and +	  # shared platforms. +	  if test "$hardcode_direct" != unsupported; then +	    test -n "$old_library" && linklib="$old_library" +	    compile_deplibs="$dir/$linklib $compile_deplibs" +	    finalize_deplibs="$dir/$linklib $finalize_deplibs" +	  else +	    compile_deplibs="-l$name -L$dir $compile_deplibs" +	    finalize_deplibs="-l$name -L$dir $finalize_deplibs" +	  fi +	elif test "$build_libtool_libs" = yes; then +	  # Not a shared library +	  if test "$deplibs_check_method" != pass_all; then +	    # We're trying link a shared library against a static one +	    # but the system doesn't support it. + +	    # Just print a warning and add the library to dependency_libs so +	    # that the program can be linked against the static library. +	    echo +	    echo "*** Warning: This library needs some functionality provided by $lib." +	    echo "*** I have the capability to make that library automatically link in when" +	    echo "*** you link to this library.  But I can only do this if you have a" +	    echo "*** shared version of the library, which you do not appear to have." +	    if test "$module" = yes; then +	      echo "*** Therefore, libtool will create a static module, that should work " +	      echo "*** as long as the dlopening application is linked with the -dlopen flag." +	      if test -z "$global_symbol_pipe"; then +	        echo +	        echo "*** However, this would only work if libtool was able to extract symbol" +	        echo "*** lists from a program, using \`nm' or equivalent, but libtool could" +	        echo "*** not find such a program.  So, this module is probably useless." +	        echo "*** \`nm' from GNU binutils and a full rebuild may help." +	      fi +	      if test "$build_old_libs" = no; then +	        build_libtool_libs=module +	        build_old_libs=yes +	      else +	        build_libtool_libs=no +	      fi +	    fi +	  else +	    convenience="$convenience $dir/$old_library" +	    old_convenience="$old_convenience $dir/$old_library" +	    deplibs="$dir/$old_library $deplibs" +	    link_static=yes +	  fi +	fi # link shared/static library? + +	if test "$linkmode" = lib; then +	  if test -n "$dependency_libs" && +	     { test "$hardcode_into_libs" != yes || test $build_old_libs = yes || +	       test $link_static = yes; }; then +	    # Extract -R from dependency_libs +	    temp_deplibs= +	    for libdir in $dependency_libs; do +	      case $libdir in +	      -R*) temp_xrpath=`$echo "X$libdir" | $Xsed -e 's/^-R//'` +		   case " $xrpath " in +		   *" $temp_xrpath "*) ;; +		   *) xrpath="$xrpath $temp_xrpath";; +		   esac;; +	      *) temp_deplibs="$temp_deplibs $libdir";; +	      esac +	    done +	    dependency_libs="$temp_deplibs" +	  fi + +	  newlib_search_path="$newlib_search_path $absdir" +	  # Link against this library +	  test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs" +	  # ... and its dependency_libs +	  tmp_libs= +	  for deplib in $dependency_libs; do +	    newdependency_libs="$deplib $newdependency_libs" +	    case "$tmp_libs " in +	    *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; +	    esac +	    tmp_libs="$tmp_libs $deplib" +	  done + +	  if test "$link_all_deplibs" != no; then +	    # Add the search paths of all dependency libraries +	    for deplib in $dependency_libs; do +	      case $deplib in +	      -L*) path="$deplib" ;; +	      *.la) +		dir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'` +		test "X$dir" = "X$deplib" && dir="." +		# We need an absolute path. +		case $dir in +		[\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;; +		*) +		  absdir=`cd "$dir" && pwd` +		  if test -z "$absdir"; then +		    $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2 +		    absdir="$dir" +		  fi +		  ;; +		esac +		if grep "^installed=no" $deplib > /dev/null; then +		  path="-L$absdir/$objdir" +		else +		  eval libdir=`sed -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` +		  if test -z "$libdir"; then +		    $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 +		    exit 1 +		  fi +		  if test "$absdir" != "$libdir"; then +		    $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2 +		  fi +		  path="-L$absdir" +		fi +		;; +	      *) continue ;; +	      esac +	      case " $deplibs " in +	      *" $path "*) ;; +	      *) deplibs="$deplibs $path" ;; +	      esac +	    done +	  fi # link_all_deplibs != no +	fi # linkmode = lib +      done # for deplib in $libs +      if test "$pass" = dlpreopen; then +	# Link the dlpreopened libraries before other libraries +	for deplib in $save_deplibs; do +	  deplibs="$deplib $deplibs" +	done +      fi +      if test "$pass" != dlopen; then +	test "$pass" != scan && dependency_libs="$newdependency_libs" +	if test "$pass" != conv; then +	  # Make sure lib_search_path contains only unique directories. +	  lib_search_path= +	  for dir in $newlib_search_path; do +	    case "$lib_search_path " in +	    *" $dir "*) ;; +	    *) lib_search_path="$lib_search_path $dir" ;; +	    esac +	  done +	  newlib_search_path= +	fi + +	if test "$linkmode,$pass" != "prog,link"; then +	  vars="deplibs" +	else +	  vars="compile_deplibs finalize_deplibs" +	fi +	for var in $vars dependency_libs; do +	  # Add libraries to $var in reverse order +	  eval tmp_libs=\"\$$var\" +	  new_libs= +	  for deplib in $tmp_libs; do +	    case $deplib in +	    -L*) new_libs="$deplib $new_libs" ;; +	    *) +	      case " $specialdeplibs " in +	      *" $deplib "*) new_libs="$deplib $new_libs" ;; +	      *) +		case " $new_libs " in +		*" $deplib "*) ;; +		*) new_libs="$deplib $new_libs" ;; +		esac +		;; +	      esac +	      ;; +	    esac +	  done +	  tmp_libs= +	  for deplib in $new_libs; do +	    case $deplib in +	    -L*) +	      case " $tmp_libs " in +	      *" $deplib "*) ;; +	      *) tmp_libs="$tmp_libs $deplib" ;; +	      esac +	      ;; +	    *) tmp_libs="$tmp_libs $deplib" ;; +	    esac +	  done +	  eval $var=\"$tmp_libs\" +	done # for var +      fi +      if test "$pass" = "conv" && +       { test "$linkmode" = "lib" || test "$linkmode" = "prog"; }; then +	libs="$deplibs" # reset libs +	deplibs= +      fi +    done # for pass +    if test "$linkmode" = prog; then +      dlfiles="$newdlfiles" +      dlprefiles="$newdlprefiles" +    fi + +    case $linkmode in +    oldlib) +      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then +	$echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2 +      fi + +      if test -n "$rpath"; then +	$echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2 +      fi + +      if test -n "$xrpath"; then +	$echo "$modename: warning: \`-R' is ignored for archives" 1>&2 +      fi + +      if test -n "$vinfo"; then +	$echo "$modename: warning: \`-version-info' is ignored for archives" 1>&2 +      fi + +      if test -n "$release"; then +	$echo "$modename: warning: \`-release' is ignored for archives" 1>&2 +      fi + +      if test -n "$export_symbols" || test -n "$export_symbols_regex"; then +	$echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2 +      fi + +      # Now set the variables for building old libraries. +      build_libtool_libs=no +      oldlibs="$output" +      objs="$objs$old_deplibs" +      ;; + +    lib) +      # Make sure we only generate libraries of the form `libNAME.la'. +      case $outputname in +      lib*) +	name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` +	eval libname=\"$libname_spec\" +	;; +      *) +	if test "$module" = no; then +	  $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2 +	  $echo "$help" 1>&2 +	  exit 1 +	fi +	if test "$need_lib_prefix" != no; then +	  # Add the "lib" prefix for modules if required +	  name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` +	  eval libname=\"$libname_spec\" +	else +	  libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` +	fi +	;; +      esac + +      if test -n "$objs"; then +	if test "$deplibs_check_method" != pass_all; then +	  $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1 +	  exit 1 +	else +	  echo +	  echo "*** Warning: Linking the shared library $output against the non-libtool" +	  echo "*** objects $objs is not portable!" +	  libobjs="$libobjs $objs" +	fi +      fi + +      if test "$dlself" != no; then +	$echo "$modename: warning: \`-dlopen self' is ignored for libtool libraries" 1>&2 +      fi + +      set dummy $rpath +      if test $# -gt 2; then +	$echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2 +      fi +      install_libdir="$2" + +      oldlibs= +      if test -z "$rpath"; then +	if test "$build_libtool_libs" = yes; then +	  # Building a libtool convenience library. +	  libext=al +	  oldlibs="$output_objdir/$libname.$libext $oldlibs" +	  build_libtool_libs=convenience +	  build_old_libs=yes +	fi + +	if test -n "$vinfo"; then +	  $echo "$modename: warning: \`-version-info' is ignored for convenience libraries" 1>&2 +	fi + +	if test -n "$release"; then +	  $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2 +	fi +      else + +	# Parse the version information argument. +	IFS="${IFS= 	}"; save_ifs="$IFS"; IFS=':' +	set dummy $vinfo 0 0 0 +	IFS="$save_ifs" + +	if test -n "$8"; then +	  $echo "$modename: too many parameters to \`-version-info'" 1>&2 +	  $echo "$help" 1>&2 +	  exit 1 +	fi + +	current="$2" +	revision="$3" +	age="$4" + +	# Check that each of the things are valid numbers. +	case $current in +	0 | [1-9] | [1-9][0-9] | [1-9][0-9][0-9]) ;; +	*) +	  $echo "$modename: CURRENT \`$current' is not a nonnegative integer" 1>&2 +	  $echo "$modename: \`$vinfo' is not valid version information" 1>&2 +	  exit 1 +	  ;; +	esac + +	case $revision in +	0 | [1-9] | [1-9][0-9] | [1-9][0-9][0-9]) ;; +	*) +	  $echo "$modename: REVISION \`$revision' is not a nonnegative integer" 1>&2 +	  $echo "$modename: \`$vinfo' is not valid version information" 1>&2 +	  exit 1 +	  ;; +	esac + +	case $age in +	0 | [1-9] | [1-9][0-9] | [1-9][0-9][0-9]) ;; +	*) +	  $echo "$modename: AGE \`$age' is not a nonnegative integer" 1>&2 +	  $echo "$modename: \`$vinfo' is not valid version information" 1>&2 +	  exit 1 +	  ;; +	esac + +	if test $age -gt $current; then +	  $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2 +	  $echo "$modename: \`$vinfo' is not valid version information" 1>&2 +	  exit 1 +	fi + +	# Calculate the version variables. +	major= +	versuffix= +	verstring= +	case $version_type in +	none) ;; + +	darwin) +	  # Like Linux, but with the current version available in +	  # verstring for coding it into the library header +	  major=.`expr $current - $age` +	  versuffix="$major.$age.$revision" +	  # Darwin ld doesn't like 0 for these options... +	  minor_current=`expr $current + 1` +	  verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" +	  ;; + +	freebsd-aout) +	  major=".$current" +	  versuffix=".$current.$revision"; +	  ;; + +	freebsd-elf) +	  major=".$current" +	  versuffix=".$current"; +	  ;; + +	irix) +	  major=`expr $current - $age + 1` +	  verstring="sgi$major.$revision" + +	  # Add in all the interfaces that we are compatible with. +	  loop=$revision +	  while test $loop != 0; do +	    iface=`expr $revision - $loop` +	    loop=`expr $loop - 1` +	    verstring="sgi$major.$iface:$verstring" +	  done + +	  # Before this point, $major must not contain `.'. +	  major=.$major +	  versuffix="$major.$revision" +	  ;; + +	linux) +	  major=.`expr $current - $age` +	  versuffix="$major.$age.$revision" +	  ;; + +	osf) +	  major=`expr $current - $age` +	  versuffix=".$current.$age.$revision" +	  verstring="$current.$age.$revision" + +	  # Add in all the interfaces that we are compatible with. +	  loop=$age +	  while test $loop != 0; do +	    iface=`expr $current - $loop` +	    loop=`expr $loop - 1` +	    verstring="$verstring:${iface}.0" +	  done + +	  # Make executables depend on our current version. +	  verstring="$verstring:${current}.0" +	  ;; + +	sunos) +	  major=".$current" +	  versuffix=".$current.$revision" +	  ;; + +	windows) +	  # Use '-' rather than '.', since we only want one +	  # extension on DOS 8.3 filesystems. +	  major=`expr $current - $age` +	  versuffix="-$major" +	  ;; + +	*) +	  $echo "$modename: unknown library version type \`$version_type'" 1>&2 +	  echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2 +	  exit 1 +	  ;; +	esac + +	# Clear the version info if we defaulted, and they specified a release. +	if test -z "$vinfo" && test -n "$release"; then +	  major= +	  verstring="0.0" +	  if test "$need_version" = no; then +	    versuffix= +	  else +	    versuffix=".0.0" +	  fi +	fi + +	# Remove version info from name if versioning should be avoided +	if test "$avoid_version" = yes && test "$need_version" = no; then +	  major= +	  versuffix= +	  verstring="" +	fi + +	# Check to see if the archive will have undefined symbols. +	if test "$allow_undefined" = yes; then +	  if test "$allow_undefined_flag" = unsupported; then +	    $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2 +	    build_libtool_libs=no +	    build_old_libs=yes +	  fi +	else +	  # Don't allow undefined symbols. +	  allow_undefined_flag="$no_undefined_flag" +	fi +      fi + +      if test "$mode" != relink; then +	# Remove our outputs. +	$show "${rm}r $output_objdir/$outputname $output_objdir/$libname.* $output_objdir/${libname}${release}.*" +	$run ${rm}r $output_objdir/$outputname $output_objdir/$libname.* $output_objdir/${libname}${release}.* +      fi + +      # Now set the variables for building old libraries. +      if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then +	oldlibs="$oldlibs $output_objdir/$libname.$libext" + +	# Transform .lo files to .o files. +	oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP` +      fi + +      # Eliminate all temporary directories. +      for path in $notinst_path; do +	lib_search_path=`echo "$lib_search_path " | sed -e 's% $path % %g'` +	deplibs=`echo "$deplibs " | sed -e 's% -L$path % %g'` +	dependency_libs=`echo "$dependency_libs " | sed -e 's% -L$path % %g'` +      done + +      if test -n "$xrpath"; then +	# If the user specified any rpath flags, then add them. +	temp_xrpath= +	for libdir in $xrpath; do +	  temp_xrpath="$temp_xrpath -R$libdir" +	  case "$finalize_rpath " in +	  *" $libdir "*) ;; +	  *) finalize_rpath="$finalize_rpath $libdir" ;; +	  esac +	done +	if test $hardcode_into_libs != yes || test $build_old_libs = yes; then +	  dependency_libs="$temp_xrpath $dependency_libs" +	fi +      fi + +      # Make sure dlfiles contains only unique files that won't be dlpreopened +      old_dlfiles="$dlfiles" +      dlfiles= +      for lib in $old_dlfiles; do +	case " $dlprefiles $dlfiles " in +	*" $lib "*) ;; +	*) dlfiles="$dlfiles $lib" ;; +	esac +      done + +      # Make sure dlprefiles contains only unique files +      old_dlprefiles="$dlprefiles" +      dlprefiles= +      for lib in $old_dlprefiles; do +	case "$dlprefiles " in +	*" $lib "*) ;; +	*) dlprefiles="$dlprefiles $lib" ;; +	esac +      done + +      if test "$build_libtool_libs" = yes; then +	if test -n "$rpath"; then +	  case $host in +	  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*) +	    # these systems don't actually have a c library (as such)! +	    ;; +	  *-*-rhapsody* | *-*-darwin1.[012]) +	    # Rhapsody C library is in the System framework +	    deplibs="$deplibs -framework System" +	    ;; +	  *-*-netbsd*) +	    # Don't link with libc until the a.out ld.so is fixed. +	    ;; +	  *) +	    # Add libc to deplibs on all other systems if necessary. +	    if test "$build_libtool_need_lc" = "yes"; then +	      deplibs="$deplibs -lc" +	    fi +	    ;; +	  esac +	fi + +	# Transform deplibs into only deplibs that can be linked in shared. +	name_save=$name +	libname_save=$libname +	release_save=$release +	versuffix_save=$versuffix +	major_save=$major +	# I'm not sure if I'm treating the release correctly.  I think +	# release should show up in the -l (ie -lgmp5) so we don't want to +	# add it in twice.  Is that correct? +	release="" +	versuffix="" +	major="" +	newdeplibs= +	droppeddeps=no +	case $deplibs_check_method in +	pass_all) +	  # Don't check for shared/static.  Everything works. +	  # This might be a little naive.  We might want to check +	  # whether the library exists or not.  But this is on +	  # osf3 & osf4 and I'm not really sure... Just +	  # implementing what was already the behaviour. +	  newdeplibs=$deplibs +	  ;; +	test_compile) +	  # This code stresses the "libraries are programs" paradigm to its +	  # limits. Maybe even breaks it.  We compile a program, linking it +	  # against the deplibs as a proxy for the library.  Then we can check +	  # whether they linked in statically or dynamically with ldd. +	  $rm conftest.c +	  cat > conftest.c <<EOF +	  int main() { return 0; } +EOF +	  $rm conftest +	  $CC -o conftest conftest.c $deplibs +	  if test $? -eq 0 ; then +	    ldd_output=`ldd conftest` +	    for i in $deplibs; do +	      name="`expr $i : '-l\(.*\)'`" +	      # If $name is empty we are operating on a -L argument. +	      if test -n "$name" && test "$name" != "0"; then +		libname=`eval \\$echo \"$libname_spec\"` +		deplib_matches=`eval \\$echo \"$library_names_spec\"` +		set dummy $deplib_matches +		deplib_match=$2 +		if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then +		  newdeplibs="$newdeplibs $i" +		else +		  droppeddeps=yes +		  echo +		  echo "*** Warning: This library needs some functionality provided by $i." +		  echo "*** I have the capability to make that library automatically link in when" +		  echo "*** you link to this library.  But I can only do this if you have a" +		  echo "*** shared version of the library, which you do not appear to have." +		fi +	      else +		newdeplibs="$newdeplibs $i" +	      fi +	    done +	  else +	    # Error occured in the first compile.  Let's try to salvage the situation: +	    # Compile a seperate program for each library. +	    for i in $deplibs; do +	      name="`expr $i : '-l\(.*\)'`" +	     # If $name is empty we are operating on a -L argument. +	      if test -n "$name" && test "$name" != "0"; then +		$rm conftest +		$CC -o conftest conftest.c $i +		# Did it work? +		if test $? -eq 0 ; then +		  ldd_output=`ldd conftest` +		  libname=`eval \\$echo \"$libname_spec\"` +		  deplib_matches=`eval \\$echo \"$library_names_spec\"` +		  set dummy $deplib_matches +		  deplib_match=$2 +		  if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then +		    newdeplibs="$newdeplibs $i" +		  else +		    droppeddeps=yes +		    echo +		    echo "*** Warning: This library needs some functionality provided by $i." +		    echo "*** I have the capability to make that library automatically link in when" +		    echo "*** you link to this library.  But I can only do this if you have a" +		    echo "*** shared version of the library, which you do not appear to have." +		  fi +		else +		  droppeddeps=yes +		  echo +		  echo "*** Warning!  Library $i is needed by this library but I was not able to" +		  echo "***  make it link in!  You will probably need to install it or some" +		  echo "*** library that it depends on before this library will be fully" +		  echo "*** functional.  Installing it before continuing would be even better." +		fi +	      else +		newdeplibs="$newdeplibs $i" +	      fi +	    done +	  fi +	  ;; +	file_magic*) +	  set dummy $deplibs_check_method +	  file_magic_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` +	  for a_deplib in $deplibs; do +	    name="`expr $a_deplib : '-l\(.*\)'`" +	    # If $name is empty we are operating on a -L argument. +	    if test -n "$name" && test "$name" != "0"; then +	      libname=`eval \\$echo \"$libname_spec\"` +	      for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do +		    potential_libs=`ls $i/$libname[.-]* 2>/dev/null` +		    for potent_lib in $potential_libs; do +		      # Follow soft links. +		      if ls -lLd "$potent_lib" 2>/dev/null \ +			 | grep " -> " >/dev/null; then +			continue +		      fi +		      # The statement above tries to avoid entering an +		      # endless loop below, in case of cyclic links. +		      # We might still enter an endless loop, since a link +		      # loop can be closed while we follow links, +		      # but so what? +		      potlib="$potent_lib" +		      while test -h "$potlib" 2>/dev/null; do +			potliblink=`ls -ld $potlib | sed 's/.* -> //'` +			case $potliblink in +			[\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; +			*) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";; +			esac +		      done +		      if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \ +			 | sed 10q \ +			 | egrep "$file_magic_regex" > /dev/null; then +			newdeplibs="$newdeplibs $a_deplib" +			a_deplib="" +			break 2 +		      fi +		    done +	      done +	      if test -n "$a_deplib" ; then +		droppeddeps=yes +		echo +		echo "*** Warning: This library needs some functionality provided by $a_deplib." +		echo "*** I have the capability to make that library automatically link in when" +		echo "*** you link to this library.  But I can only do this if you have a" +		echo "*** shared version of the library, which you do not appear to have." +	      fi +	    else +	      # Add a -L argument. +	      newdeplibs="$newdeplibs $a_deplib" +	    fi +	  done # Gone through all deplibs. +	  ;; +	match_pattern*) +	  set dummy $deplibs_check_method +	  match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` +	  for a_deplib in $deplibs; do +	    name="`expr $a_deplib : '-l\(.*\)'`" +	    # If $name is empty we are operating on a -L argument. +	    if test -n "$name" && test "$name" != "0"; then +	      libname=`eval \\$echo \"$libname_spec\"` +	      for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do +		potential_libs=`ls $i/$libname[.-]* 2>/dev/null` +		for potent_lib in $potential_libs; do +		  if eval echo \"$potent_lib\" 2>/dev/null \ +		      | sed 10q \ +		      | egrep "$match_pattern_regex" > /dev/null; then +		    newdeplibs="$newdeplibs $a_deplib" +		    a_deplib="" +		    break 2 +		  fi +		done +	      done +	      if test -n "$a_deplib" ; then +		droppeddeps=yes +		echo +		echo "*** Warning: This library needs some functionality provided by $a_deplib." +		echo "*** I have the capability to make that library automatically link in when" +		echo "*** you link to this library.  But I can only do this if you have a" +		echo "*** shared version of the library, which you do not appear to have." +	      fi +	    else +	      # Add a -L argument. +	      newdeplibs="$newdeplibs $a_deplib" +	    fi +	  done # Gone through all deplibs. +	  ;; +	none | unknown | *) +	  newdeplibs="" +	  if $echo "X $deplibs" | $Xsed -e 's/ -lc$//' \ +	       -e 's/ -[LR][^ ]*//g' -e 's/[ 	]//g' | +	     grep . >/dev/null; then +	    echo +	    if test "X$deplibs_check_method" = "Xnone"; then +	      echo "*** Warning: inter-library dependencies are not supported in this platform." +	    else +	      echo "*** Warning: inter-library dependencies are not known to be supported." +	    fi +	    echo "*** All declared inter-library dependencies are being dropped." +	    droppeddeps=yes +	  fi +	  ;; +	esac +	versuffix=$versuffix_save +	major=$major_save +	release=$release_save +	libname=$libname_save +	name=$name_save + +	case $host in +	*-*-rhapsody* | *-*-darwin1.[012]) +	  # On Rhapsody replace the C library is the System framework +	  newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / -framework System /'` +	  ;; +	esac + +	if test "$droppeddeps" = yes; then +	  if test "$module" = yes; then +	    echo +	    echo "*** Warning: libtool could not satisfy all declared inter-library" +	    echo "*** dependencies of module $libname.  Therefore, libtool will create" +	    echo "*** a static module, that should work as long as the dlopening" +	    echo "*** application is linked with the -dlopen flag." +	    if test -z "$global_symbol_pipe"; then +	      echo +	      echo "*** However, this would only work if libtool was able to extract symbol" +	      echo "*** lists from a program, using \`nm' or equivalent, but libtool could" +	      echo "*** not find such a program.  So, this module is probably useless." +	      echo "*** \`nm' from GNU binutils and a full rebuild may help." +	    fi +	    if test "$build_old_libs" = no; then +	      oldlibs="$output_objdir/$libname.$libext" +	      build_libtool_libs=module +	      build_old_libs=yes +	    else +	      build_libtool_libs=no +	    fi +	  else +	    echo "*** The inter-library dependencies that have been dropped here will be" +	    echo "*** automatically added whenever a program is linked with this library" +	    echo "*** or is declared to -dlopen it." + +	    if test $allow_undefined = no; then +	      echo +	      echo "*** Since this library must not contain undefined symbols," +	      echo "*** because either the platform does not support them or" +	      echo "*** it was explicitly requested with -no-undefined," +	      echo "*** libtool will only create a static version of it." +	      if test "$build_old_libs" = no; then +		oldlibs="$output_objdir/$libname.$libext" +		build_libtool_libs=module +		build_old_libs=yes +	      else +		build_libtool_libs=no +	      fi +	    fi +	  fi +	fi +	# Done checking deplibs! +	deplibs=$newdeplibs +      fi + +      # All the library-specific variables (install_libdir is set above). +      library_names= +      old_library= +      dlname= + +      # Test again, we may have decided not to build it any more +      if test "$build_libtool_libs" = yes; then +	if test "$hardcode_into_libs" = yes; then +	  # Hardcode the library paths +	  hardcode_libdirs= +	  dep_rpath= +	  rpath="$finalize_rpath" +	  test "$mode" != relink && rpath="$compile_rpath$rpath" +	  for libdir in $rpath; do +	    if test -n "$hardcode_libdir_flag_spec"; then +	      if test -n "$hardcode_libdir_separator"; then +		if test -z "$hardcode_libdirs"; then +		  hardcode_libdirs="$libdir" +		else +		  # Just accumulate the unique libdirs. +		  case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in +		  *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) +		    ;; +		  *) +		    hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" +		    ;; +		  esac +		fi +	      else +		eval flag=\"$hardcode_libdir_flag_spec\" +		dep_rpath="$dep_rpath $flag" +	      fi +	    elif test -n "$runpath_var"; then +	      case "$perm_rpath " in +	      *" $libdir "*) ;; +	      *) perm_rpath="$perm_rpath $libdir" ;; +	      esac +	    fi +	  done +	  # Substitute the hardcoded libdirs into the rpath. +	  if test -n "$hardcode_libdir_separator" && +	     test -n "$hardcode_libdirs"; then +	    libdir="$hardcode_libdirs" +	    eval dep_rpath=\"$hardcode_libdir_flag_spec\" +	  fi +	  if test -n "$runpath_var" && test -n "$perm_rpath"; then +	    # We should set the runpath_var. +	    rpath= +	    for dir in $perm_rpath; do +	      rpath="$rpath$dir:" +	    done +	    eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" +	  fi +	  test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" +	fi + +	shlibpath="$finalize_shlibpath" +	test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath" +	if test -n "$shlibpath"; then +	  eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" +	fi + +	# Get the real and link names of the library. +	eval library_names=\"$library_names_spec\" +	set dummy $library_names +	realname="$2" +	shift; shift + +	if test -n "$soname_spec"; then +	  eval soname=\"$soname_spec\" +	else +	  soname="$realname" +	fi +	test -z "$dlname" && dlname=$soname + +	lib="$output_objdir/$realname" +	for link +	do +	  linknames="$linknames $link" +	done + +	# Ensure that we have .o objects for linkers which dislike .lo +	# (e.g. aix) in case we are running --disable-static +	for obj in $libobjs; do +	  xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'` +	  if test "X$xdir" = "X$obj"; then +	    xdir="." +	  else +	    xdir="$xdir" +	  fi +	  baseobj=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` +	  oldobj=`$echo "X$baseobj" | $Xsed -e "$lo2o"` +	  if test ! -f $xdir/$oldobj; then +	    $show "(cd $xdir && ${LN_S} $baseobj $oldobj)" +	    $run eval '(cd $xdir && ${LN_S} $baseobj $oldobj)' || exit $? +	  fi +	done + +	# Use standard objects if they are pic +	test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + +	# Prepare the list of exported symbols +	if test -z "$export_symbols"; then +	  if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then +	    $show "generating symbol list for \`$libname.la'" +	    export_symbols="$output_objdir/$libname.exp" +	    $run $rm $export_symbols +	    eval cmds=\"$export_symbols_cmds\" +	    IFS="${IFS= 	}"; save_ifs="$IFS"; IFS='~' +	    for cmd in $cmds; do +	      IFS="$save_ifs" +	      $show "$cmd" +	      $run eval "$cmd" || exit $? +	    done +	    IFS="$save_ifs" +	    if test -n "$export_symbols_regex"; then +	      $show "egrep -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\"" +	      $run eval 'egrep -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' +	      $show "$mv \"${export_symbols}T\" \"$export_symbols\"" +	      $run eval '$mv "${export_symbols}T" "$export_symbols"' +	    fi +	  fi +	fi + +	if test -n "$export_symbols" && test -n "$include_expsyms"; then +	  $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"' +	fi + +	if test -n "$convenience"; then +	  if test -n "$whole_archive_flag_spec"; then +	    eval libobjs=\"\$libobjs $whole_archive_flag_spec\" +	  else +	    gentop="$output_objdir/${outputname}x" +	    $show "${rm}r $gentop" +	    $run ${rm}r "$gentop" +	    $show "mkdir $gentop" +	    $run mkdir "$gentop" +	    status=$? +	    if test $status -ne 0 && test ! -d "$gentop"; then +	      exit $status +	    fi +	    generated="$generated $gentop" + +	    for xlib in $convenience; do +	      # Extract the objects. +	      case $xlib in +	      [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;; +	      *) xabs=`pwd`"/$xlib" ;; +	      esac +	      xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'` +	      xdir="$gentop/$xlib" + +	      $show "${rm}r $xdir" +	      $run ${rm}r "$xdir" +	      $show "mkdir $xdir" +	      $run mkdir "$xdir" +	      status=$? +	      if test $status -ne 0 && test ! -d "$xdir"; then +		exit $status +	      fi +	      $show "(cd $xdir && $AR x $xabs)" +	      $run eval "(cd \$xdir && $AR x \$xabs)" || exit $? + +	      libobjs="$libobjs "`find $xdir -name \*.o -print -o -name \*.lo -print | $NL2SP` +	    done +	  fi +	fi + +	if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then +	  eval flag=\"$thread_safe_flag_spec\" +	  linker_flags="$linker_flags $flag" +	fi + +	# Make a backup of the uninstalled library when relinking +	if test "$mode" = relink; then +	  $run eval '(cd $output_objdir && $rm ${realname}U && $mv $realname ${realname}U)' || exit $? +	fi + +	# Do each of the archive commands. +	if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then +	  eval cmds=\"$archive_expsym_cmds\" +	else +	  eval cmds=\"$archive_cmds\" +	fi +	IFS="${IFS= 	}"; save_ifs="$IFS"; IFS='~' +	for cmd in $cmds; do +	  IFS="$save_ifs" +	  $show "$cmd" +	  $run eval "$cmd" || exit $? +	done +	IFS="$save_ifs" + +	# Restore the uninstalled library and exit +	if test "$mode" = relink; then +	  $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $? +	  exit 0 +	fi + +	# Create links to the real library. +	for linkname in $linknames; do +	  if test "$realname" != "$linkname"; then +	    $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)" +	    $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $? +	  fi +	done + +	# If -module or -export-dynamic was specified, set the dlname. +	if test "$module" = yes || test "$export_dynamic" = yes; then +	  # On all known operating systems, these are identical. +	  dlname="$soname" +	fi +      fi +      ;; + +    obj) +      if test -n "$deplibs"; then +	$echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2 +      fi + +      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then +	$echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2 +      fi + +      if test -n "$rpath"; then +	$echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2 +      fi + +      if test -n "$xrpath"; then +	$echo "$modename: warning: \`-R' is ignored for objects" 1>&2 +      fi + +      if test -n "$vinfo"; then +	$echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2 +      fi + +      if test -n "$release"; then +	$echo "$modename: warning: \`-release' is ignored for objects" 1>&2 +      fi + +      case $output in +      *.lo) +	if test -n "$objs$old_deplibs"; then +	  $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2 +	  exit 1 +	fi +	libobj="$output" +	obj=`$echo "X$output" | $Xsed -e "$lo2o"` +	;; +      *) +	libobj= +	obj="$output" +	;; +      esac + +      # Delete the old objects. +      $run $rm $obj $libobj + +      # Objects from convenience libraries.  This assumes +      # single-version convenience libraries.  Whenever we create +      # different ones for PIC/non-PIC, this we'll have to duplicate +      # the extraction. +      reload_conv_objs= +      gentop= +      # reload_cmds runs $LD directly, so let us get rid of +      # -Wl from whole_archive_flag_spec +      wl= + +      if test -n "$convenience"; then +	if test -n "$whole_archive_flag_spec"; then +	  eval reload_conv_objs=\"\$reload_objs $whole_archive_flag_spec\" +	else +	  gentop="$output_objdir/${obj}x" +	  $show "${rm}r $gentop" +	  $run ${rm}r "$gentop" +	  $show "mkdir $gentop" +	  $run mkdir "$gentop" +	  status=$? +	  if test $status -ne 0 && test ! -d "$gentop"; then +	    exit $status +	  fi +	  generated="$generated $gentop" + +	  for xlib in $convenience; do +	    # Extract the objects. +	    case $xlib in +	    [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;; +	    *) xabs=`pwd`"/$xlib" ;; +	    esac +	    xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'` +	    xdir="$gentop/$xlib" + +	    $show "${rm}r $xdir" +	    $run ${rm}r "$xdir" +	    $show "mkdir $xdir" +	    $run mkdir "$xdir" +	    status=$? +	    if test $status -ne 0 && test ! -d "$xdir"; then +	      exit $status +	    fi +	    $show "(cd $xdir && $AR x $xabs)" +	    $run eval "(cd \$xdir && $AR x \$xabs)" || exit $? + +	    reload_conv_objs="$reload_objs "`find $xdir -name \*.o -print -o -name \*.lo -print | $NL2SP` +	  done +	fi +      fi + +      # Create the old-style object. +      reload_objs="$objs$old_deplibs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test + +      output="$obj" +      eval cmds=\"$reload_cmds\" +      IFS="${IFS= 	}"; save_ifs="$IFS"; IFS='~' +      for cmd in $cmds; do +	IFS="$save_ifs" +	$show "$cmd" +	$run eval "$cmd" || exit $? +      done +      IFS="$save_ifs" + +      # Exit if we aren't doing a library object file. +      if test -z "$libobj"; then +	if test -n "$gentop"; then +	  $show "${rm}r $gentop" +	  $run ${rm}r $gentop +	fi + +	exit 0 +      fi + +      if test "$build_libtool_libs" != yes; then +	if test -n "$gentop"; then +	  $show "${rm}r $gentop" +	  $run ${rm}r $gentop +	fi + +	# Create an invalid libtool object if no PIC, so that we don't +	# accidentally link it into a program. +	$show "echo timestamp > $libobj" +	$run eval "echo timestamp > $libobj" || exit $? +	exit 0 +      fi + +      if test -n "$pic_flag" || test "$pic_mode" != default; then +	# Only do commands if we really have different PIC objects. +	reload_objs="$libobjs $reload_conv_objs" +	output="$libobj" +	eval cmds=\"$reload_cmds\" +	IFS="${IFS= 	}"; save_ifs="$IFS"; IFS='~' +	for cmd in $cmds; do +	  IFS="$save_ifs" +	  $show "$cmd" +	  $run eval "$cmd" || exit $? +	done +	IFS="$save_ifs" +      else +	# Just create a symlink. +	$show $rm $libobj +	$run $rm $libobj +	xdir=`$echo "X$libobj" | $Xsed -e 's%/[^/]*$%%'` +	if test "X$xdir" = "X$libobj"; then +	  xdir="." +	else +	  xdir="$xdir" +	fi +	baseobj=`$echo "X$libobj" | $Xsed -e 's%^.*/%%'` +	oldobj=`$echo "X$baseobj" | $Xsed -e "$lo2o"` +	$show "(cd $xdir && $LN_S $oldobj $baseobj)" +	$run eval '(cd $xdir && $LN_S $oldobj $baseobj)' || exit $? +      fi + +      if test -n "$gentop"; then +	$show "${rm}r $gentop" +	$run ${rm}r $gentop +      fi + +      exit 0 +      ;; + +    prog) +      case $host in +	*cygwin*) output=`echo $output | sed -e 's,.exe$,,;s,$,.exe,'` ;; +      esac +      if test -n "$vinfo"; then +	$echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2 +      fi + +      if test -n "$release"; then +	$echo "$modename: warning: \`-release' is ignored for programs" 1>&2 +      fi + +      if test "$preload" = yes; then +	if test "$dlopen_support" = unknown && test "$dlopen_self" = unknown && +	   test "$dlopen_self_static" = unknown; then +	  $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support." +	fi +      fi + +      case $host in +      *-*-rhapsody* | *-*-darwin1.[012]) +	# On Rhapsody replace the C library is the System framework +	compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'` +	finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'` +	;; +      esac + +      compile_command="$compile_command $compile_deplibs" +      finalize_command="$finalize_command $finalize_deplibs" + +      if test -n "$rpath$xrpath"; then +	# If the user specified any rpath flags, then add them. +	for libdir in $rpath $xrpath; do +	  # This is the magic to use -rpath. +	  case "$finalize_rpath " in +	  *" $libdir "*) ;; +	  *) finalize_rpath="$finalize_rpath $libdir" ;; +	  esac +	done +      fi + +      # Now hardcode the library paths +      rpath= +      hardcode_libdirs= +      for libdir in $compile_rpath $finalize_rpath; do +	if test -n "$hardcode_libdir_flag_spec"; then +	  if test -n "$hardcode_libdir_separator"; then +	    if test -z "$hardcode_libdirs"; then +	      hardcode_libdirs="$libdir" +	    else +	      # Just accumulate the unique libdirs. +	      case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in +	      *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) +		;; +	      *) +		hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" +		;; +	      esac +	    fi +	  else +	    eval flag=\"$hardcode_libdir_flag_spec\" +	    rpath="$rpath $flag" +	  fi +	elif test -n "$runpath_var"; then +	  case "$perm_rpath " in +	  *" $libdir "*) ;; +	  *) perm_rpath="$perm_rpath $libdir" ;; +	  esac +	fi +	case $host in +	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) +	  case :$dllsearchpath: in +	  *":$libdir:"*) ;; +	  *) dllsearchpath="$dllsearchpath:$libdir";; +	  esac +	  ;; +	esac +      done +      # Substitute the hardcoded libdirs into the rpath. +      if test -n "$hardcode_libdir_separator" && +	 test -n "$hardcode_libdirs"; then +	libdir="$hardcode_libdirs" +	eval rpath=\" $hardcode_libdir_flag_spec\" +      fi +      compile_rpath="$rpath" + +      rpath= +      hardcode_libdirs= +      for libdir in $finalize_rpath; do +	if test -n "$hardcode_libdir_flag_spec"; then +	  if test -n "$hardcode_libdir_separator"; then +	    if test -z "$hardcode_libdirs"; then +	      hardcode_libdirs="$libdir" +	    else +	      # Just accumulate the unique libdirs. +	      case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in +	      *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) +		;; +	      *) +		hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" +		;; +	      esac +	    fi +	  else +	    eval flag=\"$hardcode_libdir_flag_spec\" +	    rpath="$rpath $flag" +	  fi +	elif test -n "$runpath_var"; then +	  case "$finalize_perm_rpath " in +	  *" $libdir "*) ;; +	  *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;; +	  esac +	fi +      done +      # Substitute the hardcoded libdirs into the rpath. +      if test -n "$hardcode_libdir_separator" && +	 test -n "$hardcode_libdirs"; then +	libdir="$hardcode_libdirs" +	eval rpath=\" $hardcode_libdir_flag_spec\" +      fi +      finalize_rpath="$rpath" + +      if test -n "$libobjs" && test "$build_old_libs" = yes; then +	# Transform all the library objects into standard objects. +	compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` +	finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` +      fi + +      dlsyms= +      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then +	if test -n "$NM" && test -n "$global_symbol_pipe"; then +	  dlsyms="${outputname}S.c" +	else +	  $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2 +	fi +      fi + +      if test -n "$dlsyms"; then +	case $dlsyms in +	"") ;; +	*.c) +	  # Discover the nlist of each of the dlfiles. +	  nlist="$output_objdir/${outputname}.nm" + +	  $show "$rm $nlist ${nlist}S ${nlist}T" +	  $run $rm "$nlist" "${nlist}S" "${nlist}T" + +	  # Parse the name list into a source file. +	  $show "creating $output_objdir/$dlsyms" + +	  test -z "$run" && $echo > "$output_objdir/$dlsyms" "\ +/* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */ +/* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */ + +#ifdef __cplusplus +extern \"C\" { +#endif + +/* Prevent the only kind of declaration conflicts we can make. */ +#define lt_preloaded_symbols some_other_symbol + +/* External symbol declarations for the compiler. */\ +" + +	  if test "$dlself" = yes; then +	    $show "generating symbol list for \`$output'" + +	    test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist" + +	    # Add our own program objects to the symbol list. +	    progfiles=`$echo "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` +	    for arg in $progfiles; do +	      $show "extracting global C symbols from \`$arg'" +	      $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" +	    done + +	    if test -n "$exclude_expsyms"; then +	      $run eval 'egrep -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' +	      $run eval '$mv "$nlist"T "$nlist"' +	    fi + +	    if test -n "$export_symbols_regex"; then +	      $run eval 'egrep -e "$export_symbols_regex" "$nlist" > "$nlist"T' +	      $run eval '$mv "$nlist"T "$nlist"' +	    fi + +	    # Prepare the list of exported symbols +	    if test -z "$export_symbols"; then +	      export_symbols="$output_objdir/$output.exp" +	      $run $rm $export_symbols +	      $run eval "sed -n -e '/^: @PROGRAM@$/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' +	    else +	      $run eval "sed -e 's/\([][.*^$]\)/\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$output.exp"' +	      $run eval 'grep -f "$output_objdir/$output.exp" < "$nlist" > "$nlist"T' +	      $run eval 'mv "$nlist"T "$nlist"' +	    fi +	  fi + +	  for arg in $dlprefiles; do +	    $show "extracting global C symbols from \`$arg'" +	    name=`echo "$arg" | sed -e 's%^.*/%%'` +	    $run eval 'echo ": $name " >> "$nlist"' +	    $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" +	  done + +	  if test -z "$run"; then +	    # Make sure we have at least an empty file. +	    test -f "$nlist" || : > "$nlist" + +	    if test -n "$exclude_expsyms"; then +	      egrep -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T +	      $mv "$nlist"T "$nlist" +	    fi + +	    # Try sorting and uniquifying the output. +	    if grep -v "^: " < "$nlist" | sort +2 | uniq > "$nlist"S; then +	      : +	    else +	      grep -v "^: " < "$nlist" > "$nlist"S +	    fi + +	    if test -f "$nlist"S; then +	      eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"' +	    else +	      echo '/* NONE */' >> "$output_objdir/$dlsyms" +	    fi + +	    $echo >> "$output_objdir/$dlsyms" "\ + +#undef lt_preloaded_symbols + +#if defined (__STDC__) && __STDC__ +# define lt_ptr_t void * +#else +# define lt_ptr_t char * +# define const +#endif + +/* The mapping between symbol names and symbols. */ +const struct { +  const char *name; +  lt_ptr_t address; +} +lt_preloaded_symbols[] = +{\ +" + +	    sed -n -e 's/^: \([^ ]*\) $/  {\"\1\", (lt_ptr_t) 0},/p' \ +		-e 's/^. \([^ ]*\) \([^ ]*\)$/  {"\2", (lt_ptr_t) \&\2},/p' \ +		  < "$nlist" >> "$output_objdir/$dlsyms" + +	    $echo >> "$output_objdir/$dlsyms" "\ +  {0, (lt_ptr_t) 0} +}; + +/* This works around a problem in FreeBSD linker */ +#ifdef FREEBSD_WORKAROUND +static const void *lt_preloaded_setup() { +  return lt_preloaded_symbols; +} +#endif + +#ifdef __cplusplus +} +#endif\ +" +	  fi + +	  pic_flag_for_symtable= +	  case $host in +	  # compiling the symbol table file with pic_flag works around +	  # a FreeBSD bug that causes programs to crash when -lm is +	  # linked before any other PIC object.  But we must not use +	  # pic_flag when linking with -static.  The problem exists in +	  # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. +	  *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) +	    case "$compile_command " in +	    *" -static "*) ;; +	    *) pic_flag_for_symtable=" $pic_flag -DPIC -DFREEBSD_WORKAROUND";; +	    esac;; +	  *-*-hpux*) +	    case "$compile_command " in +	    *" -static "*) ;; +	    *) pic_flag_for_symtable=" $pic_flag -DPIC";; +	    esac +	  esac + +	  # Now compile the dynamic symbol file. +	  $show "(cd $output_objdir && $CC -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")" +	  $run eval '(cd $output_objdir && $CC -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $? + +	  # Clean up the generated files. +	  $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T" +	  $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T" + +	  # Transform the symbol file into the correct name. +	  compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` +	  finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` +	  ;; +	*) +	  $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2 +	  exit 1 +	  ;; +	esac +      else +	# We keep going just in case the user didn't refer to +	# lt_preloaded_symbols.  The linker will fail if global_symbol_pipe +	# really was required. + +	# Nullify the symbol file. +	compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"` +	finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"` +      fi + +      if test $need_relink = no || test "$build_libtool_libs" != yes; then +	# Replace the output file specification. +	compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` +	link_command="$compile_command$compile_rpath" + +	# We have no uninstalled library dependencies, so finalize right now. +	$show "$link_command" +	$run eval "$link_command" +	status=$? + +	# Delete the generated files. +	if test -n "$dlsyms"; then +	  $show "$rm $output_objdir/${outputname}S.${objext}" +	  $run $rm "$output_objdir/${outputname}S.${objext}" +	fi + +	exit $status +      fi + +      if test -n "$shlibpath_var"; then +	# We should set the shlibpath_var +	rpath= +	for dir in $temp_rpath; do +	  case $dir in +	  [\\/]* | [A-Za-z]:[\\/]*) +	    # Absolute path. +	    rpath="$rpath$dir:" +	    ;; +	  *) +	    # Relative path: add a thisdir entry. +	    rpath="$rpath\$thisdir/$dir:" +	    ;; +	  esac +	done +	temp_rpath="$rpath" +      fi + +      if test -n "$compile_shlibpath$finalize_shlibpath"; then +	compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" +      fi +      if test -n "$finalize_shlibpath"; then +	finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" +      fi + +      compile_var= +      finalize_var= +      if test -n "$runpath_var"; then +	if test -n "$perm_rpath"; then +	  # We should set the runpath_var. +	  rpath= +	  for dir in $perm_rpath; do +	    rpath="$rpath$dir:" +	  done +	  compile_var="$runpath_var=\"$rpath\$$runpath_var\" " +	fi +	if test -n "$finalize_perm_rpath"; then +	  # We should set the runpath_var. +	  rpath= +	  for dir in $finalize_perm_rpath; do +	    rpath="$rpath$dir:" +	  done +	  finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " +	fi +      fi + +      if test "$no_install" = yes; then +	# We don't need to create a wrapper script. +	link_command="$compile_var$compile_command$compile_rpath" +	# Replace the output file specification. +	link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` +	# Delete the old output file. +	$run $rm $output +	# Link the executable and exit +	$show "$link_command" +	$run eval "$link_command" || exit $? +	exit 0 +      fi + +      if test "$hardcode_action" = relink; then +	# Fast installation is not supported +	link_command="$compile_var$compile_command$compile_rpath" +	relink_command="$finalize_var$finalize_command$finalize_rpath" + +	$echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2 +	$echo "$modename: \`$output' will be relinked during installation" 1>&2 +      else +	if test "$fast_install" != no; then +	  link_command="$finalize_var$compile_command$finalize_rpath" +	  if test "$fast_install" = yes; then +	    relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'` +	  else +	    # fast_install is set to needless +	    relink_command= +	  fi +	else +	  link_command="$compile_var$compile_command$compile_rpath" +	  relink_command="$finalize_var$finalize_command$finalize_rpath" +	fi +      fi + +      # Replace the output file specification. +      link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` + +      # Delete the old output files. +      $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname + +      $show "$link_command" +      $run eval "$link_command" || exit $? + +      # Now create the wrapper script. +      $show "creating $output" + +      # Quote the relink command for shipping. +      if test -n "$relink_command"; then +	# Preserve any variables that may affect compiler behavior +	for var in $variables_saved_for_relink; do +	  if eval test -z \"\${$var+set}\"; then +	    relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" +	  elif eval var_value=\$$var; test -z "$var_value"; then +	    relink_command="$var=; export $var; $relink_command" +	  else +	    var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` +	    relink_command="$var=\"$var_value\"; export $var; $relink_command" +	  fi +	done +	relink_command="cd `pwd`; $relink_command" +	relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` +      fi + +      # Quote $echo for shipping. +      if test "X$echo" = "X$SHELL $0 --fallback-echo"; then +	case $0 in +	[\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $0 --fallback-echo";; +	*) qecho="$SHELL `pwd`/$0 --fallback-echo";; +	esac +	qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"` +      else +	qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"` +      fi + +      # Only actually do things if our run command is non-null. +      if test -z "$run"; then +	# win32 will think the script is a binary if it has +	# a .exe suffix, so we strip it off here. +	case $output in +	  *.exe) output=`echo $output|sed 's,.exe$,,'` ;; +	esac +	# test for cygwin because mv fails w/o .exe extensions +	case $host in +	  *cygwin*) exeext=.exe ;; +	  *) exeext= ;; +	esac +	$rm $output +	trap "$rm $output; exit 1" 1 2 15 + +	$echo > $output "\ +#! $SHELL + +# $output - temporary wrapper script for $objdir/$outputname +# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP +# +# The $output program cannot be directly executed until all the libtool +# libraries that it depends on are installed. +# +# This wrapper script should never be moved out of the build directory. +# If it is, it will not operate correctly. + +# Sed substitution that helps us do robust quoting.  It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='sed -e 1s/^X//' +sed_quote_subst='$sed_quote_subst' + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +if test \"\${CDPATH+set}\" = set; then CDPATH=:; export CDPATH; fi + +relink_command=\"$relink_command\" + +# This environment variable determines our operation mode. +if test \"\$libtool_install_magic\" = \"$magic\"; then +  # install mode needs the following variable: +  notinst_deplibs='$notinst_deplibs' +else +  # When we are sourced in execute mode, \$file and \$echo are already set. +  if test \"\$libtool_execute_magic\" != \"$magic\"; then +    echo=\"$qecho\" +    file=\"\$0\" +    # Make sure echo works. +    if test \"X\$1\" = X--no-reexec; then +      # Discard the --no-reexec flag, and continue. +      shift +    elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then +      # Yippee, \$echo works! +      : +    else +      # Restart under the correct shell, and then maybe \$echo will work. +      exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"} +    fi +  fi\ +" +	$echo >> $output "\ + +  # Find the directory that this script lives in. +  thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\` +  test \"x\$thisdir\" = \"x\$file\" && thisdir=. + +  # Follow symbolic links until we get to the real thisdir. +  file=\`ls -ld \"\$file\" | sed -n 's/.*-> //p'\` +  while test -n \"\$file\"; do +    destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\` + +    # If there was a directory component, then change thisdir. +    if test \"x\$destdir\" != \"x\$file\"; then +      case \"\$destdir\" in +      [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; +      *) thisdir=\"\$thisdir/\$destdir\" ;; +      esac +    fi + +    file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\` +    file=\`ls -ld \"\$thisdir/\$file\" | sed -n 's/.*-> //p'\` +  done + +  # Try to get the absolute directory name. +  absdir=\`cd \"\$thisdir\" && pwd\` +  test -n \"\$absdir\" && thisdir=\"\$absdir\" +" + +	if test "$fast_install" = yes; then +	  echo >> $output "\ +  program=lt-'$outputname'$exeext +  progdir=\"\$thisdir/$objdir\" + +  if test ! -f \"\$progdir/\$program\" || \\ +     { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | sed 1q\`; \\ +       test \"X\$file\" != \"X\$progdir/\$program\"; }; then + +    file=\"\$\$-\$program\" + +    if test ! -d \"\$progdir\"; then +      $mkdir \"\$progdir\" +    else +      $rm \"\$progdir/\$file\" +    fi" + +	  echo >> $output "\ + +    # relink executable if necessary +    if test -n \"\$relink_command\"; then +      if (eval \$relink_command); then : +      else +	$rm \"\$progdir/\$file\" +	exit 1 +      fi +    fi + +    $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || +    { $rm \"\$progdir/\$program\"; +      $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; } +    $rm \"\$progdir/\$file\" +  fi" +	else +	  echo >> $output "\ +  program='$outputname' +  progdir=\"\$thisdir/$objdir\" +" +	fi + +	echo >> $output "\ + +  if test -f \"\$progdir/\$program\"; then" + +	# Export our shlibpath_var if we have one. +	if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then +	  $echo >> $output "\ +    # Add our own library path to $shlibpath_var +    $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" + +    # Some systems cannot cope with colon-terminated $shlibpath_var +    # The second colon is a workaround for a bug in BeOS R4 sed +    $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\` + +    export $shlibpath_var +" +	fi + +	# fixup the dll searchpath if we need to. +	if test -n "$dllsearchpath"; then +	  $echo >> $output "\ +    # Add the dll search path components to the executable PATH +    PATH=$dllsearchpath:\$PATH +" +	fi + +	$echo >> $output "\ +    if test \"\$libtool_execute_magic\" != \"$magic\"; then +      # Run the actual program with our arguments. +" +	case $host in +	# win32 systems need to use the prog path for dll +	# lookup to work +	*-*-cygwin* | *-*-pw32*) +	  $echo >> $output "\ +      exec \$progdir/\$program \${1+\"\$@\"} +" +	  ;; + +	# Backslashes separate directories on plain windows +	*-*-mingw | *-*-os2*) +	  $echo >> $output "\ +      exec \$progdir\\\\\$program \${1+\"\$@\"} +" +	  ;; + +	*) +	  $echo >> $output "\ +      # Export the path to the program. +      PATH=\"\$progdir:\$PATH\" +      export PATH + +      exec \$program \${1+\"\$@\"} +" +	  ;; +	esac +	$echo >> $output "\ +      \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\" +      exit 1 +    fi +  else +    # The program doesn't exist. +    \$echo \"\$0: error: \$progdir/\$program does not exist\" 1>&2 +    \$echo \"This script is just a wrapper for \$program.\" 1>&2 +    echo \"See the $PACKAGE documentation for more information.\" 1>&2 +    exit 1 +  fi +fi\ +" +	chmod +x $output +      fi +      exit 0 +      ;; +    esac + +    # See if we need to build an old-fashioned archive. +    for oldlib in $oldlibs; do + +      if test "$build_libtool_libs" = convenience; then +	oldobjs="$libobjs_save" +	addlibs="$convenience" +	build_libtool_libs=no +      else +	if test "$build_libtool_libs" = module; then +	  oldobjs="$libobjs_save" +	  build_libtool_libs=no +	else +	  oldobjs="$objs$old_deplibs "`$echo "X$libobjs_save" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP` +	fi +	addlibs="$old_convenience" +      fi + +      if test -n "$addlibs"; then +	gentop="$output_objdir/${outputname}x" +	$show "${rm}r $gentop" +	$run ${rm}r "$gentop" +	$show "mkdir $gentop" +	$run mkdir "$gentop" +	status=$? +	if test $status -ne 0 && test ! -d "$gentop"; then +	  exit $status +	fi +	generated="$generated $gentop" + +	# Add in members from convenience archives. +	for xlib in $addlibs; do +	  # Extract the objects. +	  case $xlib in +	  [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;; +	  *) xabs=`pwd`"/$xlib" ;; +	  esac +	  xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'` +	  xdir="$gentop/$xlib" + +	  $show "${rm}r $xdir" +	  $run ${rm}r "$xdir" +	  $show "mkdir $xdir" +	  $run mkdir "$xdir" +	  status=$? +	  if test $status -ne 0 && test ! -d "$xdir"; then +	    exit $status +	  fi +	  $show "(cd $xdir && $AR x $xabs)" +	  $run eval "(cd \$xdir && $AR x \$xabs)" || exit $? + +	  oldobjs="$oldobjs "`find $xdir -name \*.${objext} -print -o -name \*.lo -print | $NL2SP` +	done +      fi + +      # Do each command in the archive commands. +      if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then +	eval cmds=\"$old_archive_from_new_cmds\" +      else +	# Ensure that we have .o objects in place in case we decided +	# not to build a shared library, and have fallen back to building +	# static libs even though --disable-static was passed! +	for oldobj in $oldobjs; do +	  if test ! -f $oldobj; then +	    xdir=`$echo "X$oldobj" | $Xsed -e 's%/[^/]*$%%'` +	    if test "X$xdir" = "X$oldobj"; then +	      xdir="." +	    else +	      xdir="$xdir" +	    fi +	    baseobj=`$echo "X$oldobj" | $Xsed -e 's%^.*/%%'` +	    obj=`$echo "X$baseobj" | $Xsed -e "$o2lo"` +	    $show "(cd $xdir && ${LN_S} $obj $baseobj)" +	    $run eval '(cd $xdir && ${LN_S} $obj $baseobj)' || exit $? +	  fi +	done + +	eval cmds=\"$old_archive_cmds\" +      fi +      IFS="${IFS= 	}"; save_ifs="$IFS"; IFS='~' +      for cmd in $cmds; do +	IFS="$save_ifs" +	$show "$cmd" +	$run eval "$cmd" || exit $? +      done +      IFS="$save_ifs" +    done + +    if test -n "$generated"; then +      $show "${rm}r$generated" +      $run ${rm}r$generated +    fi + +    # Now create the libtool archive. +    case $output in +    *.la) +      old_library= +      test "$build_old_libs" = yes && old_library="$libname.$libext" +      $show "creating $output" + +      # Preserve any variables that may affect compiler behavior +      for var in $variables_saved_for_relink; do +	if eval test -z \"\${$var+set}\"; then +	  relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" +	elif eval var_value=\$$var; test -z "$var_value"; then +	  relink_command="$var=; export $var; $relink_command" +	else +	  var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` +	  relink_command="$var=\"$var_value\"; export $var; $relink_command" +	fi +      done +      # Quote the link command for shipping. +      relink_command="cd `pwd`; $SHELL $0 --mode=relink $libtool_args" +      relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` + +      # Only create the output if not a dry run. +      if test -z "$run"; then +	for installed in no yes; do +	  if test "$installed" = yes; then +	    if test -z "$install_libdir"; then +	      break +	    fi +	    output="$output_objdir/$outputname"i +	    # Replace all uninstalled libtool libraries with the installed ones +	    newdependency_libs= +	    for deplib in $dependency_libs; do +	      case $deplib in +	      *.la) +		name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'` +		eval libdir=`sed -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` +		if test -z "$libdir"; then +		  $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 +		  exit 1 +		fi +		newdependency_libs="$newdependency_libs $libdir/$name" +		;; +	      *) newdependency_libs="$newdependency_libs $deplib" ;; +	      esac +	    done +	    dependency_libs="$newdependency_libs" +	    newdlfiles= +	    for lib in $dlfiles; do +	      name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` +	      eval libdir=`sed -n -e 's/^libdir=\(.*\)$/\1/p' $lib` +	      if test -z "$libdir"; then +		$echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 +		exit 1 +	      fi +	      newdlfiles="$newdlfiles $libdir/$name" +	    done +	    dlfiles="$newdlfiles" +	    newdlprefiles= +	    for lib in $dlprefiles; do +	      name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` +	      eval libdir=`sed -n -e 's/^libdir=\(.*\)$/\1/p' $lib` +	      if test -z "$libdir"; then +		$echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 +		exit 1 +	      fi +	      newdlprefiles="$newdlprefiles $libdir/$name" +	    done +	    dlprefiles="$newdlprefiles" +	  fi +	  $rm $output +	  # place dlname in correct position for cygwin +	  tdlname=$dlname +	  case $host,$output,$installed,$module,$dlname in +	    *cygwin*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;; +	  esac +	  $echo > $output "\ +# $outputname - a libtool library file +# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# The name that we can dlopen(3). +dlname='$tdlname' + +# Names of this library. +library_names='$library_names' + +# The name of the static archive. +old_library='$old_library' + +# Libraries that this one depends upon. +dependency_libs='$dependency_libs' + +# Version information for $libname. +current=$current +age=$age +revision=$revision + +# Is this an already installed library? +installed=$installed + +# Files to dlopen/dlpreopen +dlopen='$dlfiles' +dlpreopen='$dlprefiles' + +# Directory that this library needs to be installed in: +libdir='$install_libdir'" +	  if test "$installed" = no && test $need_relink = yes; then +	    $echo >> $output "\ +relink_command=\"$relink_command\"" +	  fi +	done +      fi + +      # Do a symbolic link so that the libtool archive can be found in +      # LD_LIBRARY_PATH before the program is installed. +      $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)" +      $run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $? +      ;; +    esac +    exit 0 +    ;; + +  # libtool install mode +  install) +    modename="$modename: install" + +    # There may be an optional sh(1) argument at the beginning of +    # install_prog (especially on Windows NT). +    if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || +       # Allow the use of GNU shtool's install command. +       $echo "X$nonopt" | $Xsed | grep shtool > /dev/null; then +      # Aesthetically quote it. +      arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"` +      case $arg in +      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*) +	arg="\"$arg\"" +	;; +      esac +      install_prog="$arg " +      arg="$1" +      shift +    else +      install_prog= +      arg="$nonopt" +    fi + +    # The real first argument should be the name of the installation program. +    # Aesthetically quote it. +    arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` +    case $arg in +    *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*) +      arg="\"$arg\"" +      ;; +    esac +    install_prog="$install_prog$arg" + +    # We need to accept at least all the BSD install flags. +    dest= +    files= +    opts= +    prev= +    install_type= +    isdir=no +    stripme= +    for arg +    do +      if test -n "$dest"; then +	files="$files $dest" +	dest="$arg" +	continue +      fi + +      case $arg in +      -d) isdir=yes ;; +      -f) prev="-f" ;; +      -g) prev="-g" ;; +      -m) prev="-m" ;; +      -o) prev="-o" ;; +      -s) +	stripme=" -s" +	continue +	;; +      -*) ;; + +      *) +	# If the previous option needed an argument, then skip it. +	if test -n "$prev"; then +	  prev= +	else +	  dest="$arg" +	  continue +	fi +	;; +      esac + +      # Aesthetically quote the argument. +      arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` +      case $arg in +      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*) +	arg="\"$arg\"" +	;; +      esac +      install_prog="$install_prog $arg" +    done + +    if test -z "$install_prog"; then +      $echo "$modename: you must specify an install program" 1>&2 +      $echo "$help" 1>&2 +      exit 1 +    fi + +    if test -n "$prev"; then +      $echo "$modename: the \`$prev' option requires an argument" 1>&2 +      $echo "$help" 1>&2 +      exit 1 +    fi + +    if test -z "$files"; then +      if test -z "$dest"; then +	$echo "$modename: no file or destination specified" 1>&2 +      else +	$echo "$modename: you must specify a destination" 1>&2 +      fi +      $echo "$help" 1>&2 +      exit 1 +    fi + +    # Strip any trailing slash from the destination. +    dest=`$echo "X$dest" | $Xsed -e 's%/$%%'` + +    # Check to see that the destination is a directory. +    test -d "$dest" && isdir=yes +    if test "$isdir" = yes; then +      destdir="$dest" +      destname= +    else +      destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'` +      test "X$destdir" = "X$dest" && destdir=. +      destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'` + +      # Not a directory, so check to see that there is only one file specified. +      set dummy $files +      if test $# -gt 2; then +	$echo "$modename: \`$dest' is not a directory" 1>&2 +	$echo "$help" 1>&2 +	exit 1 +      fi +    fi +    case $destdir in +    [\\/]* | [A-Za-z]:[\\/]*) ;; +    *) +      for file in $files; do +	case $file in +	*.lo) ;; +	*) +	  $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2 +	  $echo "$help" 1>&2 +	  exit 1 +	  ;; +	esac +      done +      ;; +    esac + +    # This variable tells wrapper scripts just to set variables rather +    # than running their programs. +    libtool_install_magic="$magic" + +    staticlibs= +    future_libdirs= +    current_libdirs= +    for file in $files; do + +      # Do each installation. +      case $file in +      *.$libext) +	# Do the static libraries later. +	staticlibs="$staticlibs $file" +	;; + +      *.la) +	# Check to see that this really is a libtool archive. +	if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : +	else +	  $echo "$modename: \`$file' is not a valid libtool archive" 1>&2 +	  $echo "$help" 1>&2 +	  exit 1 +	fi + +	library_names= +	old_library= +	relink_command= +	# If there is no directory component, then add one. +	case $file in +	*/* | *\\*) . $file ;; +	*) . ./$file ;; +	esac + +	# Add the libdir to current_libdirs if it is the destination. +	if test "X$destdir" = "X$libdir"; then +	  case "$current_libdirs " in +	  *" $libdir "*) ;; +	  *) current_libdirs="$current_libdirs $libdir" ;; +	  esac +	else +	  # Note the libdir as a future libdir. +	  case "$future_libdirs " in +	  *" $libdir "*) ;; +	  *) future_libdirs="$future_libdirs $libdir" ;; +	  esac +	fi + +	dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/ +	test "X$dir" = "X$file/" && dir= +	dir="$dir$objdir" + +	if test -n "$relink_command"; then +	  $echo "$modename: warning: relinking \`$file'" 1>&2 +	  $show "$relink_command" +	  if $run eval "$relink_command"; then : +	  else +	    $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 +	    continue +	  fi +	fi + +	# See the names of the shared library. +	set dummy $library_names +	if test -n "$2"; then +	  realname="$2" +	  shift +	  shift + +	  srcname="$realname" +	  test -n "$relink_command" && srcname="$realname"T + +	  # Install the shared library and build the symlinks. +	  $show "$install_prog $dir/$srcname $destdir/$realname" +	  $run eval "$install_prog $dir/$srcname $destdir/$realname" || exit $? +	  if test -n "$stripme" && test -n "$striplib"; then +	    $show "$striplib $destdir/$realname" +	    $run eval "$striplib $destdir/$realname" || exit $? +	  fi + +	  if test $# -gt 0; then +	    # Delete the old symlinks, and create new ones. +	    for linkname +	    do +	      if test "$linkname" != "$realname"; then +		$show "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)" +		$run eval "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)" +	      fi +	    done +	  fi + +	  # Do each command in the postinstall commands. +	  lib="$destdir/$realname" +	  eval cmds=\"$postinstall_cmds\" +	  IFS="${IFS= 	}"; save_ifs="$IFS"; IFS='~' +	  for cmd in $cmds; do +	    IFS="$save_ifs" +	    $show "$cmd" +	    $run eval "$cmd" || exit $? +	  done +	  IFS="$save_ifs" +	fi + +	# Install the pseudo-library for information purposes. +	name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` +	instname="$dir/$name"i +	$show "$install_prog $instname $destdir/$name" +	$run eval "$install_prog $instname $destdir/$name" || exit $? + +	# Maybe install the static library, too. +	test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library" +	;; + +      *.lo) +	# Install (i.e. copy) a libtool object. + +	# Figure out destination file name, if it wasn't already specified. +	if test -n "$destname"; then +	  destfile="$destdir/$destname" +	else +	  destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` +	  destfile="$destdir/$destfile" +	fi + +	# Deduce the name of the destination old-style object file. +	case $destfile in +	*.lo) +	  staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"` +	  ;; +	*.$objext) +	  staticdest="$destfile" +	  destfile= +	  ;; +	*) +	  $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2 +	  $echo "$help" 1>&2 +	  exit 1 +	  ;; +	esac + +	# Install the libtool object if requested. +	if test -n "$destfile"; then +	  $show "$install_prog $file $destfile" +	  $run eval "$install_prog $file $destfile" || exit $? +	fi + +	# Install the old object if enabled. +	if test "$build_old_libs" = yes; then +	  # Deduce the name of the old-style object file. +	  staticobj=`$echo "X$file" | $Xsed -e "$lo2o"` + +	  $show "$install_prog $staticobj $staticdest" +	  $run eval "$install_prog \$staticobj \$staticdest" || exit $? +	fi +	exit 0 +	;; + +      *) +	# Figure out destination file name, if it wasn't already specified. +	if test -n "$destname"; then +	  destfile="$destdir/$destname" +	else +	  destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` +	  destfile="$destdir/$destfile" +	fi + +	# Do a test to see if this is really a libtool program. +	if (sed -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then +	  notinst_deplibs= +	  relink_command= + +	  # If there is no directory component, then add one. +	  case $file in +	  */* | *\\*) . $file ;; +	  *) . ./$file ;; +	  esac + +	  # Check the variables that should have been set. +	  if test -z "$notinst_deplibs"; then +	    $echo "$modename: invalid libtool wrapper script \`$file'" 1>&2 +	    exit 1 +	  fi + +	  finalize=yes +	  for lib in $notinst_deplibs; do +	    # Check to see that each library is installed. +	    libdir= +	    if test -f "$lib"; then +	      # If there is no directory component, then add one. +	      case $lib in +	      */* | *\\*) . $lib ;; +	      *) . ./$lib ;; +	      esac +	    fi +	    libfile="$libdir/"`$echo "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test +	    if test -n "$libdir" && test ! -f "$libfile"; then +	      $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2 +	      finalize=no +	    fi +	  done + +	  relink_command= +	  # If there is no directory component, then add one. +	  case $file in +	  */* | *\\*) . $file ;; +	  *) . ./$file ;; +	  esac + +	  outputname= +	  if test "$fast_install" = no && test -n "$relink_command"; then +	    if test "$finalize" = yes && test -z "$run"; then +	      tmpdir="/tmp" +	      test -n "$TMPDIR" && tmpdir="$TMPDIR" +	      tmpdir="$tmpdir/libtool-$$" +	      if $mkdir -p "$tmpdir" && chmod 700 "$tmpdir"; then : +	      else +		$echo "$modename: error: cannot create temporary directory \`$tmpdir'" 1>&2 +		continue +	      fi +	      file=`$echo "X$file" | $Xsed -e 's%^.*/%%'` +	      outputname="$tmpdir/$file" +	      # Replace the output file specification. +	      relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'` + +	      $show "$relink_command" +	      if $run eval "$relink_command"; then : +	      else +		$echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 +		${rm}r "$tmpdir" +		continue +	      fi +	      file="$outputname" +	    else +	      $echo "$modename: warning: cannot relink \`$file'" 1>&2 +	    fi +	  else +	    # Install the binary that we compiled earlier. +	    file=`$echo "X$file" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"` +	  fi +	fi + +	# remove .exe since cygwin /usr/bin/install will append another +	# one anyways +	case $install_prog,$host in +	/usr/bin/install*,*cygwin*) +	  case $file:$destfile in +	  *.exe:*.exe) +	    # this is ok +	    ;; +	  *.exe:*) +	    destfile=$destfile.exe +	    ;; +	  *:*.exe) +	    destfile=`echo $destfile | sed -e 's,.exe$,,'` +	    ;; +	  esac +	  ;; +	esac +	$show "$install_prog$stripme $file $destfile" +	$run eval "$install_prog\$stripme \$file \$destfile" || exit $? +	test -n "$outputname" && ${rm}r "$tmpdir" +	;; +      esac +    done + +    for file in $staticlibs; do +      name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + +      # Set up the ranlib parameters. +      oldlib="$destdir/$name" + +      $show "$install_prog $file $oldlib" +      $run eval "$install_prog \$file \$oldlib" || exit $? + +      if test -n "$stripme" && test -n "$striplib"; then +	$show "$old_striplib $oldlib" +	$run eval "$old_striplib $oldlib" || exit $? +      fi + +      # Do each command in the postinstall commands. +      eval cmds=\"$old_postinstall_cmds\" +      IFS="${IFS= 	}"; save_ifs="$IFS"; IFS='~' +      for cmd in $cmds; do +	IFS="$save_ifs" +	$show "$cmd" +	$run eval "$cmd" || exit $? +      done +      IFS="$save_ifs" +    done + +    if test -n "$future_libdirs"; then +      $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2 +    fi + +    if test -n "$current_libdirs"; then +      # Maybe just do a dry run. +      test -n "$run" && current_libdirs=" -n$current_libdirs" +      exec $SHELL $0 --finish$current_libdirs +      exit 1 +    fi + +    exit 0 +    ;; + +  # libtool finish mode +  finish) +    modename="$modename: finish" +    libdirs="$nonopt" +    admincmds= + +    if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then +      for dir +      do +	libdirs="$libdirs $dir" +      done + +      for libdir in $libdirs; do +	if test -n "$finish_cmds"; then +	  # Do each command in the finish commands. +	  eval cmds=\"$finish_cmds\" +	  IFS="${IFS= 	}"; save_ifs="$IFS"; IFS='~' +	  for cmd in $cmds; do +	    IFS="$save_ifs" +	    $show "$cmd" +	    $run eval "$cmd" || admincmds="$admincmds +       $cmd" +	  done +	  IFS="$save_ifs" +	fi +	if test -n "$finish_eval"; then +	  # Do the single finish_eval. +	  eval cmds=\"$finish_eval\" +	  $run eval "$cmds" || admincmds="$admincmds +       $cmds" +	fi +      done +    fi + +    # Exit here if they wanted silent mode. +    test "$show" = ":" && exit 0 + +    echo "----------------------------------------------------------------------" +    echo "Libraries have been installed in:" +    for libdir in $libdirs; do +      echo "   $libdir" +    done +    echo +    echo "If you ever happen to want to link against installed libraries" +    echo "in a given directory, LIBDIR, you must either use libtool, and" +    echo "specify the full pathname of the library, or use the \`-LLIBDIR'" +    echo "flag during linking and do at least one of the following:" +    if test -n "$shlibpath_var"; then +      echo "   - add LIBDIR to the \`$shlibpath_var' environment variable" +      echo "     during execution" +    fi +    if test -n "$runpath_var"; then +      echo "   - add LIBDIR to the \`$runpath_var' environment variable" +      echo "     during linking" +    fi +    if test -n "$hardcode_libdir_flag_spec"; then +      libdir=LIBDIR +      eval flag=\"$hardcode_libdir_flag_spec\" + +      echo "   - use the \`$flag' linker flag" +    fi +    if test -n "$admincmds"; then +      echo "   - have your system administrator run these commands:$admincmds" +    fi +    if test -f /etc/ld.so.conf; then +      echo "   - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" +    fi +    echo +    echo "See any operating system documentation about shared libraries for" +    echo "more information, such as the ld(1) and ld.so(8) manual pages." +    echo "----------------------------------------------------------------------" +    exit 0 +    ;; + +  # libtool execute mode +  execute) +    modename="$modename: execute" + +    # The first argument is the command name. +    cmd="$nonopt" +    if test -z "$cmd"; then +      $echo "$modename: you must specify a COMMAND" 1>&2 +      $echo "$help" +      exit 1 +    fi + +    # Handle -dlopen flags immediately. +    for file in $execute_dlfiles; do +      if test ! -f "$file"; then +	$echo "$modename: \`$file' is not a file" 1>&2 +	$echo "$help" 1>&2 +	exit 1 +      fi + +      dir= +      case $file in +      *.la) +	# Check to see that this really is a libtool archive. +	if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : +	else +	  $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 +	  $echo "$help" 1>&2 +	  exit 1 +	fi + +	# Read the libtool library. +	dlname= +	library_names= + +	# If there is no directory component, then add one. +	case $file in +	*/* | *\\*) . $file ;; +	*) . ./$file ;; +	esac + +	# Skip this library if it cannot be dlopened. +	if test -z "$dlname"; then +	  # Warn if it was a shared library. +	  test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'" +	  continue +	fi + +	dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` +	test "X$dir" = "X$file" && dir=. + +	if test -f "$dir/$objdir/$dlname"; then +	  dir="$dir/$objdir" +	else +	  $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2 +	  exit 1 +	fi +	;; + +      *.lo) +	# Just add the directory containing the .lo file. +	dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` +	test "X$dir" = "X$file" && dir=. +	;; + +      *) +	$echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2 +	continue +	;; +      esac + +      # Get the absolute pathname. +      absdir=`cd "$dir" && pwd` +      test -n "$absdir" && dir="$absdir" + +      # Now add the directory to shlibpath_var. +      if eval "test -z \"\$$shlibpath_var\""; then +	eval "$shlibpath_var=\"\$dir\"" +      else +	eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" +      fi +    done + +    # This variable tells wrapper scripts just to set shlibpath_var +    # rather than running their programs. +    libtool_execute_magic="$magic" + +    # Check if any of the arguments is a wrapper script. +    args= +    for file +    do +      case $file in +      -*) ;; +      *) +	# Do a test to see if this is really a libtool program. +	if (sed -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then +	  # If there is no directory component, then add one. +	  case $file in +	  */* | *\\*) . $file ;; +	  *) . ./$file ;; +	  esac + +	  # Transform arg to wrapped name. +	  file="$progdir/$program" +	fi +	;; +      esac +      # Quote arguments (to preserve shell metacharacters). +      file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"` +      args="$args \"$file\"" +    done + +    if test -z "$run"; then +      if test -n "$shlibpath_var"; then +	# Export the shlibpath_var. +	eval "export $shlibpath_var" +      fi + +      # Restore saved enviroment variables +      if test "${save_LC_ALL+set}" = set; then +	LC_ALL="$save_LC_ALL"; export LC_ALL +      fi +      if test "${save_LANG+set}" = set; then +	LANG="$save_LANG"; export LANG +      fi + +      # Now actually exec the command. +      eval "exec \$cmd$args" + +      $echo "$modename: cannot exec \$cmd$args" +      exit 1 +    else +      # Display what would be done. +      if test -n "$shlibpath_var"; then +	eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\"" +	$echo "export $shlibpath_var" +      fi +      $echo "$cmd$args" +      exit 0 +    fi +    ;; + +  # libtool clean and uninstall mode +  clean | uninstall) +    modename="$modename: $mode" +    rm="$nonopt" +    files= +    rmforce= +    exit_status=0 + +    # This variable tells wrapper scripts just to set variables rather +    # than running their programs. +    libtool_install_magic="$magic" + +    for arg +    do +      case $arg in +      -f) rm="$rm $arg"; rmforce=yes ;; +      -*) rm="$rm $arg" ;; +      *) files="$files $arg" ;; +      esac +    done + +    if test -z "$rm"; then +      $echo "$modename: you must specify an RM program" 1>&2 +      $echo "$help" 1>&2 +      exit 1 +    fi + +    rmdirs= + +    for file in $files; do +      dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` +      if test "X$dir" = "X$file"; then +	dir=. +	objdir="$objdir" +      else +	objdir="$dir/$objdir" +      fi +      name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` +      test $mode = uninstall && objdir="$dir" + +      # Remember objdir for removal later, being careful to avoid duplicates +      if test $mode = clean; then +	case " $rmdirs " in +	  *" $objdir "*) ;; +	  *) rmdirs="$rmdirs $objdir" ;; +	esac +      fi + +      # Don't error if the file doesn't exist and rm -f was used. +      if (test -L "$file") >/dev/null 2>&1 \ +        || (test -h "$file") >/dev/null 2>&1 \ +	|| test -f "$file"; then +        : +      elif test -d "$file"; then +        exit_status=1 +	continue +      elif test "$rmforce" = yes; then +        continue +      fi + +      rmfiles="$file" + +      case $name in +      *.la) +	# Possibly a libtool archive, so verify it. +	if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then +	  . $dir/$name + +	  # Delete the libtool libraries and symlinks. +	  for n in $library_names; do +	    rmfiles="$rmfiles $objdir/$n" +	  done +	  test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library" +	  test $mode = clean && rmfiles="$rmfiles $objdir/$name $objdir/${name}i" + +	  if test $mode = uninstall; then +	    if test -n "$library_names"; then +	      # Do each command in the postuninstall commands. +	      eval cmds=\"$postuninstall_cmds\" +	      IFS="${IFS= 	}"; save_ifs="$IFS"; IFS='~' +	      for cmd in $cmds; do +		IFS="$save_ifs" +		$show "$cmd" +		$run eval "$cmd" +		if test $? != 0 && test "$rmforce" != yes; then +		  exit_status=1 +		fi +	      done +	      IFS="$save_ifs" +	    fi + +	    if test -n "$old_library"; then +	      # Do each command in the old_postuninstall commands. +	      eval cmds=\"$old_postuninstall_cmds\" +	      IFS="${IFS= 	}"; save_ifs="$IFS"; IFS='~' +	      for cmd in $cmds; do +		IFS="$save_ifs" +		$show "$cmd" +		$run eval "$cmd" +		if test $? != 0 && test "$rmforce" != yes; then +		  exit_status=1 +		fi +	      done +	      IFS="$save_ifs" +	    fi +	    # FIXME: should reinstall the best remaining shared library. +	  fi +	fi +	;; + +      *.lo) +	if test "$build_old_libs" = yes; then +	  oldobj=`$echo "X$name" | $Xsed -e "$lo2o"` +	  rmfiles="$rmfiles $dir/$oldobj" +	fi +	;; + +      *) +	# Do a test to see if this is a libtool program. +	if test $mode = clean && +	   (sed -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then +	  relink_command= +	  . $dir/$file + +	  rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}" +	  if test "$fast_install" = yes && test -n "$relink_command"; then +	    rmfiles="$rmfiles $objdir/lt-$name" +	  fi +	fi +	;; +      esac +      $show "$rm $rmfiles" +      $run $rm $rmfiles || exit_status=1 +    done + +    # Try to remove the ${objdir}s in the directories where we deleted files +    for dir in $rmdirs; do +      if test -d "$dir"; then +	$show "rmdir $dir" +	$run rmdir $dir >/dev/null 2>&1 +      fi +    done + +    exit $exit_status +    ;; + +  "") +    $echo "$modename: you must specify a MODE" 1>&2 +    $echo "$generic_help" 1>&2 +    exit 1 +    ;; +  esac + +  $echo "$modename: invalid operation mode \`$mode'" 1>&2 +  $echo "$generic_help" 1>&2 +  exit 1 +fi # test -z "$show_help" + +# We need to display help for each of the modes. +case $mode in +"") $echo \ +"Usage: $modename [OPTION]... [MODE-ARG]... + +Provide generalized library-building support services. + +    --config          show all configuration variables +    --debug           enable verbose shell tracing +-n, --dry-run         display commands without modifying any files +    --features        display basic configuration information and exit +    --finish          same as \`--mode=finish' +    --help            display this help message and exit +    --mode=MODE       use operation mode MODE [default=inferred from MODE-ARGS] +    --quiet           same as \`--silent' +    --silent          don't print informational messages +    --version         print version information + +MODE must be one of the following: + +      clean           remove files from the build directory +      compile         compile a source file into a libtool object +      execute         automatically set library path, then run a program +      finish          complete the installation of libtool libraries +      install         install libraries or executables +      link            create a library or an executable +      uninstall       remove libraries from an installed directory + +MODE-ARGS vary depending on the MODE.  Try \`$modename --help --mode=MODE' for +a more detailed description of MODE." +  exit 0 +  ;; + +clean) +  $echo \ +"Usage: $modename [OPTION]... --mode=clean RM [RM-OPTION]... FILE... + +Remove files from the build directory. + +RM is the name of the program to use to delete files associated with each FILE +(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed +to RM. + +If FILE is a libtool library, object or program, all the files associated +with it are deleted. Otherwise, only FILE itself is deleted using RM." +  ;; + +compile) +  $echo \ +"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE + +Compile a source file into a libtool library object. + +This mode accepts the following additional options: + +  -o OUTPUT-FILE    set the output file name to OUTPUT-FILE +  -prefer-pic       try to building PIC objects only +  -prefer-non-pic   try to building non-PIC objects only +  -static           always build a \`.o' file suitable for static linking + +COMPILE-COMMAND is a command to be used in creating a \`standard' object file +from the given SOURCEFILE. + +The output file name is determined by removing the directory component from +SOURCEFILE, then substituting the C source code suffix \`.c' with the +library object suffix, \`.lo'." +  ;; + +execute) +  $echo \ +"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]... + +Automatically set library path, then run a program. + +This mode accepts the following additional options: + +  -dlopen FILE      add the directory containing FILE to the library path + +This mode sets the library path environment variable according to \`-dlopen' +flags. + +If any of the ARGS are libtool executable wrappers, then they are translated +into their corresponding uninstalled binary, and any of their required library +directories are added to the library path. + +Then, COMMAND is executed, with ARGS as arguments." +  ;; + +finish) +  $echo \ +"Usage: $modename [OPTION]... --mode=finish [LIBDIR]... + +Complete the installation of libtool libraries. + +Each LIBDIR is a directory that contains libtool libraries. + +The commands that this mode executes may require superuser privileges.  Use +the \`--dry-run' option if you just want to see what would be executed." +  ;; + +install) +  $echo \ +"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND... + +Install executables or libraries. + +INSTALL-COMMAND is the installation command.  The first component should be +either the \`install' or \`cp' program. + +The rest of the components are interpreted as arguments to that command (only +BSD-compatible install options are recognized)." +  ;; + +link) +  $echo \ +"Usage: $modename [OPTION]... --mode=link LINK-COMMAND... + +Link object files or libraries together to form another library, or to +create an executable program. + +LINK-COMMAND is a command using the C compiler that you would use to create +a program from several object files. + +The following components of LINK-COMMAND are treated specially: + +  -all-static       do not do any dynamic linking at all +  -avoid-version    do not add a version suffix if possible +  -dlopen FILE      \`-dlpreopen' FILE if it cannot be dlopened at runtime +  -dlpreopen FILE   link in FILE and add its symbols to lt_preloaded_symbols +  -export-dynamic   allow symbols from OUTPUT-FILE to be resolved with dlsym(3) +  -export-symbols SYMFILE +		    try to export only the symbols listed in SYMFILE +  -export-symbols-regex REGEX +		    try to export only the symbols matching REGEX +  -LLIBDIR          search LIBDIR for required installed libraries +  -lNAME            OUTPUT-FILE requires the installed library libNAME +  -module           build a library that can dlopened +  -no-fast-install  disable the fast-install mode +  -no-install       link a not-installable executable +  -no-undefined     declare that a library does not refer to external symbols +  -o OUTPUT-FILE    create OUTPUT-FILE from the specified objects +  -release RELEASE  specify package release information +  -rpath LIBDIR     the created library will eventually be installed in LIBDIR +  -R[ ]LIBDIR       add LIBDIR to the runtime path of programs and libraries +  -static           do not do any dynamic linking of libtool libraries +  -version-info CURRENT[:REVISION[:AGE]] +		    specify library version info [each variable defaults to 0] + +All other options (arguments beginning with \`-') are ignored. + +Every other argument is treated as a filename.  Files ending in \`.la' are +treated as uninstalled libtool libraries, other files are standard or library +object files. + +If the OUTPUT-FILE ends in \`.la', then a libtool library is created, +only library objects (\`.lo' files) may be specified, and \`-rpath' is +required, except when creating a convenience library. + +If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created +using \`ar' and \`ranlib', or on Windows using \`lib'. + +If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file +is created, otherwise an executable program is created." +  ;; + +uninstall) +  $echo \ +"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... + +Remove libraries from an installation directory. + +RM is the name of the program to use to delete files associated with each FILE +(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed +to RM. + +If FILE is a libtool library, all the files associated with it are deleted. +Otherwise, only FILE itself is deleted using RM." +  ;; + +*) +  $echo "$modename: invalid operation mode \`$mode'" 1>&2 +  $echo "$help" 1>&2 +  exit 1 +  ;; +esac + +echo +$echo "Try \`$modename --help' for more information about other modes." + +exit 0 + +# Local Variables: +# mode:shell-script +# sh-indentation:2 +# End: diff --git a/missing b/missing new file mode 100755 index 00000000..d46f79f6 --- /dev/null +++ b/missing @@ -0,0 +1,198 @@ +#! /bin/sh +# Common stub for a few missing GNU programs while installing. +# Copyright (C) 1996, 1997, 2001 Free Software Foundation, Inc. +# Franc,ois Pinard <pinard@iro.umontreal.ca>, 1996. + +# 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-1307, USA. + +if test $# -eq 0; then +  echo 1>&2 "Try \`$0 --help' for more information" +  exit 1 +fi + +# In the cases where this matters, `missing' is being run in the +# srcdir already. +if test -f configure.in; then +  configure_ac=configure.ac +else +  configure_ac=configure.in +fi + +case "$1" in + +  -h|--h|--he|--hel|--help) +    echo "\ +$0 [OPTION]... PROGRAM [ARGUMENT]... + +Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an +error status if there is no known handling for PROGRAM. + +Options: +  -h, --help      display this help and exit +  -v, --version   output version information and exit + +Supported PROGRAM values: +  aclocal      touch file \`aclocal.m4' +  autoconf     touch file \`configure' +  autoheader   touch file \`config.h.in' +  automake     touch all \`Makefile.in' files +  bison        create \`y.tab.[ch]', if possible, from existing .[ch] +  flex         create \`lex.yy.c', if possible, from existing .c +  lex          create \`lex.yy.c', if possible, from existing .c +  makeinfo     touch the output file +  yacc         create \`y.tab.[ch]', if possible, from existing .[ch]" +    ;; + +  -v|--v|--ve|--ver|--vers|--versi|--versio|--version) +    echo "missing - GNU libit 0.0" +    ;; + +  -*) +    echo 1>&2 "$0: Unknown \`$1' option" +    echo 1>&2 "Try \`$0 --help' for more information" +    exit 1 +    ;; + +  aclocal) +    echo 1>&2 "\ +WARNING: \`$1' is missing on your system.  You should only need it if +         you modified \`acinclude.m4' or \`$configure_ac'.  You might want +         to install the \`Automake' and \`Perl' packages.  Grab them from +         any GNU archive site." +    touch aclocal.m4 +    ;; + +  autoconf) +    echo 1>&2 "\ +WARNING: \`$1' is missing on your system.  You should only need it if +         you modified \`$configure_ac'.  You might want to install the +         \`Autoconf' and \`GNU m4' packages.  Grab them from any GNU +         archive site." +    touch configure +    ;; + +  autoheader) +    echo 1>&2 "\ +WARNING: \`$1' is missing on your system.  You should only need it if +         you modified \`acconfig.h' or \`$configure_ac'.  You might want +         to install the \`Autoconf' and \`GNU m4' packages.  Grab them +         from any GNU archive site." +    files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' $configure_ac` +    test -z "$files" && files="config.h" +    touch_files= +    for f in $files; do +      case "$f" in +      *:*) touch_files="$touch_files "`echo "$f" | +				       sed -e 's/^[^:]*://' -e 's/:.*//'`;; +      *) touch_files="$touch_files $f.in";; +      esac +    done +    touch $touch_files +    ;; + +  automake) +    echo 1>&2 "\ +WARNING: \`$1' is missing on your system.  You should only need it if +         you modified \`Makefile.am', \`acinclude.m4' or \`$configure_ac'. +         You might want to install the \`Automake' and \`Perl' packages. +         Grab them from any GNU archive site." +    find . -type f -name Makefile.am -print | +	   sed 's/\.am$/.in/' | +	   while read f; do touch "$f"; done +    ;; + +  bison|yacc) +    echo 1>&2 "\ +WARNING: \`$1' is missing on your system.  You should only need it if +         you modified a \`.y' file.  You may need the \`Bison' package +         in order for those modifications to take effect.  You can get +         \`Bison' from any GNU archive site." +    rm -f y.tab.c y.tab.h +    if [ $# -ne 1 ]; then +        eval LASTARG="\${$#}" +	case "$LASTARG" in +	*.y) +	    SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` +	    if [ -f "$SRCFILE" ]; then +	         cp "$SRCFILE" y.tab.c +	    fi +	    SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` +	    if [ -f "$SRCFILE" ]; then +	         cp "$SRCFILE" y.tab.h +	    fi +	  ;; +	esac +    fi +    if [ ! -f y.tab.h ]; then +	echo >y.tab.h +    fi +    if [ ! -f y.tab.c ]; then +	echo 'main() { return 0; }' >y.tab.c +    fi +    ;; + +  lex|flex) +    echo 1>&2 "\ +WARNING: \`$1' is missing on your system.  You should only need it if +         you modified a \`.l' file.  You may need the \`Flex' package +         in order for those modifications to take effect.  You can get +         \`Flex' from any GNU archive site." +    rm -f lex.yy.c +    if [ $# -ne 1 ]; then +        eval LASTARG="\${$#}" +	case "$LASTARG" in +	*.l) +	    SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` +	    if [ -f "$SRCFILE" ]; then +	         cp "$SRCFILE" lex.yy.c +	    fi +	  ;; +	esac +    fi +    if [ ! -f lex.yy.c ]; then +	echo 'main() { return 0; }' >lex.yy.c +    fi +    ;; + +  makeinfo) +    echo 1>&2 "\ +WARNING: \`$1' is missing on your system.  You should only need it if +         you modified a \`.texi' or \`.texinfo' file, or any other file +         indirectly affecting the aspect of the manual.  The spurious +         call might also be the consequence of using a buggy \`make' (AIX, +         DU, IRIX).  You might want to install the \`Texinfo' package or +         the \`GNU make' package.  Grab either from any GNU archive site." +    file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` +    if test -z "$file"; then +      file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` +      file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file` +    fi +    touch $file +    ;; + +  *) +    echo 1>&2 "\ +WARNING: \`$1' is needed, and you do not seem to have it handy on your +         system.  You might have modified some files without having the +         proper tools for further handling them.  Check the \`README' file, +         it often tells you about the needed prerequirements for installing +         this package.  You may also peek at any GNU archive site, in case +         some other package would contain this missing \`$1' program." +    exit 1 +    ;; +esac + +exit 0 diff --git a/mkinstalldirs b/mkinstalldirs new file mode 100755 index 00000000..6b3b5fc5 --- /dev/null +++ b/mkinstalldirs @@ -0,0 +1,40 @@ +#! /bin/sh +# mkinstalldirs --- make directory hierarchy +# Author: Noah Friedman <friedman@prep.ai.mit.edu> +# Created: 1993-05-16 +# Public domain + +# $Id$ + +errstatus=0 + +for file +do +   set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'` +   shift + +   pathcomp= +   for d +   do +     pathcomp="$pathcomp$d" +     case "$pathcomp" in +       -* ) pathcomp=./$pathcomp ;; +     esac + +     if test ! -d "$pathcomp"; then +        echo "mkdir $pathcomp" + +        mkdir "$pathcomp" || lasterr=$? + +        if test ! -d "$pathcomp"; then +  	  errstatus=$lasterr +        fi +     fi + +     pathcomp="$pathcomp/" +   done +done + +exit $errstatus + +# mkinstalldirs ends here diff --git a/src/Makefile.am b/src/Makefile.am new file mode 100644 index 00000000..cc7b582b --- /dev/null +++ b/src/Makefile.am @@ -0,0 +1,10 @@ +#   +#  $Id$ +# + +lib_LTLIBRARIES = libbluetooth.la + +libbluetooth_la_SOURCES = bluetooth.c hci.c +libbluetooth_la_LDFLAGS = -version-info 1:0:0 + +CFLAGS += -I../include diff --git a/src/Makefile.in b/src/Makefile.in new file mode 100644 index 00000000..6da2db02 --- /dev/null +++ b/src/Makefile.in @@ -0,0 +1,353 @@ +# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am + +# Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +#   +#  $Id$ +# + + +SHELL = @SHELL@ + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +prefix = @prefix@ +exec_prefix = @exec_prefix@ + +bindir = @bindir@ +sbindir = @sbindir@ +libexecdir = @libexecdir@ +datadir = @datadir@ +sysconfdir = @sysconfdir@ +sharedstatedir = @sharedstatedir@ +localstatedir = @localstatedir@ +libdir = @libdir@ +infodir = @infodir@ +mandir = @mandir@ +includedir = @includedir@ +oldincludedir = /usr/include + +DESTDIR = + +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ + +top_builddir = .. + +ACLOCAL = @ACLOCAL@ +AUTOCONF = @AUTOCONF@ +AUTOMAKE = @AUTOMAKE@ +AUTOHEADER = @AUTOHEADER@ + +INSTALL = @INSTALL@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS) +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +transform = @program_transform_name@ + +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +host_alias = @host_alias@ +host_triplet = @host@ +AR = @AR@ +AS = @AS@ +CC = @CC@ +DLLTOOL = @DLLTOOL@ +ECHO = @ECHO@ +EXEEXT = @EXEEXT@ +LD = @LD@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +MAKEINFO = @MAKEINFO@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +RANLIB = @RANLIB@ +STRIP = @STRIP@ +VERSION = @VERSION@ + +lib_LTLIBRARIES = libbluetooth.la + +libbluetooth_la_SOURCES = bluetooth.c hci.c +libbluetooth_la_LDFLAGS = -version-info 1:0:0 + +CFLAGS =  -I../include +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_CLEAN_FILES =  +LTLIBRARIES =  $(lib_LTLIBRARIES) + + +DEFS = @DEFS@ -I. -I$(srcdir)  +CPPFLAGS = @CPPFLAGS@ +LDFLAGS = @LDFLAGS@ +LIBS = @LIBS@ +libbluetooth_la_LIBADD =  +libbluetooth_la_OBJECTS =  bluetooth.lo hci.lo +COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ +DIST_COMMON =  Makefile.am Makefile.in + + +DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) + +TAR = gtar +GZIP_ENV = --best +DEP_FILES =  .deps/bluetooth.P .deps/hci.P +SOURCES = $(libbluetooth_la_SOURCES) +OBJECTS = $(libbluetooth_la_OBJECTS) + +all: all-redirect +.SUFFIXES: +.SUFFIXES: .S .c .lo .o .obj .s +$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)  +	cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile + +Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status $(BUILT_SOURCES) +	cd $(top_builddir) \ +	  && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status + + +mostlyclean-libLTLIBRARIES: + +clean-libLTLIBRARIES: +	-test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) + +distclean-libLTLIBRARIES: + +maintainer-clean-libLTLIBRARIES: + +install-libLTLIBRARIES: $(lib_LTLIBRARIES) +	@$(NORMAL_INSTALL) +	$(mkinstalldirs) $(DESTDIR)$(libdir) +	@list='$(lib_LTLIBRARIES)'; for p in $$list; do \ +	  if test -f $$p; then \ +	    echo "$(LIBTOOL)  --mode=install $(INSTALL) $$p $(DESTDIR)$(libdir)/$$p"; \ +	    $(LIBTOOL)  --mode=install $(INSTALL) $$p $(DESTDIR)$(libdir)/$$p; \ +	  else :; fi; \ +	done + +uninstall-libLTLIBRARIES: +	@$(NORMAL_UNINSTALL) +	list='$(lib_LTLIBRARIES)'; for p in $$list; do \ +	  $(LIBTOOL)  --mode=uninstall rm -f $(DESTDIR)$(libdir)/$$p; \ +	done + +# FIXME: We should only use cygpath when building on Windows, +# and only if it is available. +.c.obj: +	$(COMPILE) -c `cygpath -w $<` + +.s.o: +	$(COMPILE) -c $< + +.S.o: +	$(COMPILE) -c $< + +mostlyclean-compile: +	-rm -f *.o core *.core +	-rm -f *.$(OBJEXT) + +clean-compile: + +distclean-compile: +	-rm -f *.tab.c + +maintainer-clean-compile: + +.s.lo: +	$(LIBTOOL) --mode=compile $(COMPILE) -c $< + +.S.lo: +	$(LIBTOOL) --mode=compile $(COMPILE) -c $< + +mostlyclean-libtool: +	-rm -f *.lo + +clean-libtool: +	-rm -rf .libs _libs + +distclean-libtool: + +maintainer-clean-libtool: + +libbluetooth.la: $(libbluetooth_la_OBJECTS) $(libbluetooth_la_DEPENDENCIES) +	$(LINK) -rpath $(libdir) $(libbluetooth_la_LDFLAGS) $(libbluetooth_la_OBJECTS) $(libbluetooth_la_LIBADD) $(LIBS) + +tags: TAGS + +ID: $(HEADERS) $(SOURCES) $(LISP) +	list='$(SOURCES) $(HEADERS)'; \ +	unique=`for i in $$list; do echo $$i; done | \ +	  awk '    { files[$$0] = 1; } \ +	       END { for (i in files) print i; }'`; \ +	here=`pwd` && cd $(srcdir) \ +	  && mkid -f$$here/ID $$unique $(LISP) + +TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) $(LISP) +	tags=; \ +	here=`pwd`; \ +	list='$(SOURCES) $(HEADERS)'; \ +	unique=`for i in $$list; do echo $$i; done | \ +	  awk '    { files[$$0] = 1; } \ +	       END { for (i in files) print i; }'`; \ +	test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ +	  || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags  $$unique $(LISP) -o $$here/TAGS) + +mostlyclean-tags: + +clean-tags: + +distclean-tags: +	-rm -f TAGS ID + +maintainer-clean-tags: + +distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) + +subdir = src + +distdir: $(DISTFILES) +	here=`cd $(top_builddir) && pwd`; \ +	top_distdir=`cd $(top_distdir) && pwd`; \ +	distdir=`cd $(distdir) && pwd`; \ +	cd $(top_srcdir) \ +	  && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu src/Makefile +	@for file in $(DISTFILES); do \ +	  d=$(srcdir); \ +	  if test -d $$d/$$file; then \ +	    cp -pr $$d/$$file $(distdir)/$$file; \ +	  else \ +	    test -f $(distdir)/$$file \ +	    || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ +	    || cp -p $$d/$$file $(distdir)/$$file || :; \ +	  fi; \ +	done + +DEPS_MAGIC := $(shell mkdir .deps > /dev/null 2>&1 || :) + +-include $(DEP_FILES) + +mostlyclean-depend: + +clean-depend: + +distclean-depend: +	-rm -rf .deps + +maintainer-clean-depend: + +%.o: %.c +	@echo '$(COMPILE) -c $<'; \ +	$(COMPILE) -Wp,-MD,.deps/$(*F).pp -c $< +	@-cp .deps/$(*F).pp .deps/$(*F).P; \ +	tr ' ' '\012' < .deps/$(*F).pp \ +	  | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \ +	    >> .deps/$(*F).P; \ +	rm .deps/$(*F).pp + +%.lo: %.c +	@echo '$(LTCOMPILE) -c $<'; \ +	$(LTCOMPILE) -Wp,-MD,.deps/$(*F).pp -c $< +	@-sed -e 's/^\([^:]*\)\.o[ 	]*:/\1.lo \1.o :/' \ +	  < .deps/$(*F).pp > .deps/$(*F).P; \ +	tr ' ' '\012' < .deps/$(*F).pp \ +	  | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \ +	    >> .deps/$(*F).P; \ +	rm -f .deps/$(*F).pp +info-am: +info: info-am +dvi-am: +dvi: dvi-am +check-am: all-am +check: check-am +installcheck-am: +installcheck: installcheck-am +install-exec-am: install-libLTLIBRARIES +install-exec: install-exec-am + +install-data-am: +install-data: install-data-am + +install-am: all-am +	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am +install: install-am +uninstall-am: uninstall-libLTLIBRARIES +uninstall: uninstall-am +all-am: Makefile $(LTLIBRARIES) +all-redirect: all-am +install-strip: +	$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install +installdirs: +	$(mkinstalldirs)  $(DESTDIR)$(libdir) + + +mostlyclean-generic: + +clean-generic: + +distclean-generic: +	-rm -f Makefile $(CONFIG_CLEAN_FILES) +	-rm -f config.cache config.log stamp-h stamp-h[0-9]* + +maintainer-clean-generic: +mostlyclean-am:  mostlyclean-libLTLIBRARIES mostlyclean-compile \ +		mostlyclean-libtool mostlyclean-tags mostlyclean-depend \ +		mostlyclean-generic + +mostlyclean: mostlyclean-am + +clean-am:  clean-libLTLIBRARIES clean-compile clean-libtool clean-tags \ +		clean-depend clean-generic mostlyclean-am + +clean: clean-am + +distclean-am:  distclean-libLTLIBRARIES distclean-compile \ +		distclean-libtool distclean-tags distclean-depend \ +		distclean-generic clean-am +	-rm -f libtool + +distclean: distclean-am + +maintainer-clean-am:  maintainer-clean-libLTLIBRARIES \ +		maintainer-clean-compile maintainer-clean-libtool \ +		maintainer-clean-tags maintainer-clean-depend \ +		maintainer-clean-generic distclean-am +	@echo "This command is intended for maintainers to use;" +	@echo "it deletes files that may require special tools to rebuild." + +maintainer-clean: maintainer-clean-am + +.PHONY: mostlyclean-libLTLIBRARIES distclean-libLTLIBRARIES \ +clean-libLTLIBRARIES maintainer-clean-libLTLIBRARIES \ +uninstall-libLTLIBRARIES install-libLTLIBRARIES mostlyclean-compile \ +distclean-compile clean-compile maintainer-clean-compile \ +mostlyclean-libtool distclean-libtool clean-libtool \ +maintainer-clean-libtool tags mostlyclean-tags distclean-tags \ +clean-tags maintainer-clean-tags distdir mostlyclean-depend \ +distclean-depend clean-depend maintainer-clean-depend info-am info \ +dvi-am dvi check check-am installcheck-am installcheck install-exec-am \ +install-exec install-data-am install-data install-am install \ +uninstall-am uninstall all-redirect all-am all installdirs \ +mostlyclean-generic distclean-generic clean-generic \ +maintainer-clean-generic clean mostlyclean distclean maintainer-clean + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/src/bluetooth.c b/src/bluetooth.c new file mode 100644 index 00000000..6dfccf44 --- /dev/null +++ b/src/bluetooth.c @@ -0,0 +1,164 @@ +/*  +   BlueZ - Bluetooth protocol stack for Linux +   Copyright (C) 2000-2001 Qualcomm Incorporated + +   Written 2000,2001 by Maxim Krasnyansky <maxk@qualcomm.com> + +   This program is free software; you can redistribute it and/or modify +   it under the terms of the GNU General Public License version 2 as +   published by the Free Software Foundation; + +   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +   OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +   FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. +   IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY +   CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES  +   WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN  +   ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF  +   OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +   ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,  +   COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS  +   SOFTWARE IS DISCLAIMED. +*/ + +/* + *  $Id$ + */ + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <errno.h> +#include <sys/socket.h> + +#include <bluetooth.h> +#include <hci.h> + +void baswap(bdaddr_t *dst, bdaddr_t *src) +{ +	register unsigned char * d = (unsigned char *)dst; +	register unsigned char * s = (unsigned char *)src; +	register int i; +	for(i=0; i<6; i++) +		d[i] = s[5-i]; +} + +char * batostr(bdaddr_t *ba) +{ +	static char str[2][18]; +	static int i = 1; + +	i ^= 1; +	sprintf(str[i], "%2.2X:%2.2X:%2.2X:%2.2X:%2.2X:%2.2X", +	        ba->b[0], ba->b[1], ba->b[2],  +		ba->b[3], ba->b[4], ba->b[5]); +	return str[i]; +} + +bdaddr_t * strtoba(char *str) +{ +	static unsigned char ba[2][sizeof(bdaddr_t)]; +	static int i = 1; +	register char *ptr = str; +	register int x; + +	i ^= 1; +	for(x=0; x<6; x++){ +		ba[i][x] = (uint8_t) strtol(ptr, NULL, 16); +		if( x!=5 && !(ptr=strchr(ptr,':')) ) +			ptr = ":00:00:00:00:00"; +		ptr++; +	} +	return (bdaddr_t *) ba[i]; +} + +int ba2str(bdaddr_t *ba, char *str) +{ +	return sprintf(str, "%2.2X:%2.2X:%2.2X:%2.2X:%2.2X:%2.2X", +	        ba->b[0], ba->b[1], ba->b[2],  +		ba->b[3], ba->b[4], ba->b[5]); +} + +int str2ba(char *str, bdaddr_t *ba) +{ +	unsigned char *b = (void *) ba; +	char *ptr = str; +	register int x; + +	for (x=0; x < 6; x++) { +		b[x] = (uint8_t) strtol(ptr, NULL, 16); +		if (x!=5 && !(ptr=strchr(ptr, ':'))) +			ptr = ":00:00:00:00:00"; +		ptr++; +	} +	return 0; +} + +/* Bluetooth error codes to Unix errno mapping */ +int bterr(uint16_t code) +{ +	switch(code) { +		case 0: +			return 0; +		case 0x01: +			return EBADRQC; +		case 0x02: +			return ENOTCONN; +		case 0x03: +			return EIO; +		case 0x04: +			return EHOSTDOWN; +		case 0x05: +			return EACCES; +		case 0x06: +			return EINVAL; +		case 0x07: +			return ENOMEM; +		case 0x08: +			return ETIMEDOUT; +		case 0x09: +			return EMLINK; +		case 0x0a: +			return EMLINK; +		case 0x0b: +			return EALREADY; +		case 0x0c: +			return EBUSY; +		case 0x0d: +		case 0x0e: +		case 0x0f: +			return ECONNREFUSED; +		case 0x10: +			return ETIMEDOUT; +		case 0x11: +		case 0x27: +		case 0x29: +		case 0x20: +			return EOPNOTSUPP; +		case 0x12: +			return EINVAL; +		case 0x13: +		case 0x14: +		case 0x15: +			return ECONNRESET; +		case 0x16: +			return ECONNABORTED; +		case 0x17: +			return ELOOP; +		case 0x18: +			return EACCES; +		case 0x1a: +			return EPROTONOSUPPORT; +		case 0x1b: +			return ECONNREFUSED; +		case 0x19: +		case 0x1e: +		case 0x23: +		case 0x24: +		case 0x25: +			return EPROTO; +		default: +			return ENOSYS; +	} +} diff --git a/src/hci.c b/src/hci.c new file mode 100644 index 00000000..e9693d3e --- /dev/null +++ b/src/hci.c @@ -0,0 +1,624 @@ +/*  +   BlueZ - Bluetooth protocol stack for Linux +   Copyright (C) 2000-2001 Qualcomm Incorporated + +   Written 2000,2001 by Maxim Krasnyansky <maxk@qualcomm.com> + +   This program is free software; you can redistribute it and/or modify +   it under the terms of the GNU General Public License version 2 as +   published by the Free Software Foundation; + +   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +   OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +   FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. +   IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY +   CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES  +   WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN  +   ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF  +   OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +   ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,  +   COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS  +   SOFTWARE IS DISCLAIMED. +*/ + +/* + * $Id$ + */ +#include <stdio.h> +#include <stdlib.h> +#include <unistd.h> +#include <string.h> +#include <signal.h> +#include <fcntl.h> +#include <syslog.h> +#include <errno.h> +#include <termios.h> +#include <fcntl.h> + +#include <sys/param.h> +#include <sys/uio.h> +#include <sys/poll.h> +#include <sys/ioctl.h> +#include <sys/socket.h> +#include <asm/types.h> + +#include <bluetooth.h> +#include <hci.h> +#include <hci_lib.h> + +typedef struct { +	char  *str; unsigned int val; +} hci_map; + +static char * hci_uint2str(hci_map *m, unsigned int val)  +{ +	static char str[50]; +	char *ptr = str; + +	*ptr = 0; +	while (m->str) { +		if ((unsigned int) m->val & val) +			ptr += sprintf(ptr, "%s ", m->str); +		m++; +	} 	 +	return str; +} + +int hci_str2uint(hci_map *map, char *str, unsigned int *val) +{ +	char *t, *ptr; +	hci_map *m; +	int set; + +	if (!str) +		return 0; + +	str = ptr = strdup(str); +	*val = set = 0; + +	while ((t=strsep(&ptr, ","))) { +		for (m=map; m->str; m++) { +			if (!strcasecmp(m->str,t)) { +				*val |= (unsigned int) m->val; +				set = 1; +			} +		} +	} 	 +	free(str); + +	return set; +} + +char *hci_dtypetostr(int type) +{ +	switch (type) { +	case HCI_VHCI: +		return "VHCI"; +	case HCI_USB: +		return "USB "; +	case HCI_PCCARD: +		return "PCCARD"; +	case HCI_UART: +		return "UART"; +	default: +		return "UKNW"; +	} +} + +/* HCI dev flags mapping */ +hci_map dev_flags_map[] = { +	{ "UP",      HCI_UP      }, +	{ "INIT",    HCI_INIT    }, +	{ "RUNNING", HCI_RUNNING }, +	{ "RAW",     HCI_RAW     }, +	{ "PSCAN",   HCI_PSCAN   }, +	{ "ISCAN",   HCI_ISCAN   }, +	{ "IQUIRY",  HCI_INQUIRY }, +	{ "AUTH",    HCI_AUTH    }, +	{ "ENCRYPT", HCI_ENCRYPT }, +	{ NULL } +}; +char *hci_dflagstostr(uint32_t flags) +{ +	static char str[50];  +	char *ptr = str; +	hci_map *m = dev_flags_map; + +	*ptr = 0; + +	if (!hci_test_bit(HCI_UP, &flags)) +		ptr += sprintf(ptr, "DOWN "); + +	while (m->str) { +		if (hci_test_bit(m->val, &flags)) +			ptr += sprintf(ptr, "%s ", m->str); +		m++; +	} 	 +	return str; +} + +/* HCI packet type mapping */ +hci_map pkt_type_map[] = { +	{ "DM1", HCI_DM1 }, +	{ "DM3", HCI_DM3 }, +	{ "DM5", HCI_DM5 }, +	{ "DH1", HCI_DH1 }, +	{ "DH3", HCI_DH3 }, +	{ "DH5", HCI_DH5 }, +	{ "HV1", HCI_HV1 }, +	{ "HV2", HCI_HV2 }, +	{ "HV3", HCI_HV3 }, +	{ NULL } +}; +char *hci_ptypetostr(unsigned int ptype) +{ +	return hci_uint2str(pkt_type_map, ptype); +} +int hci_strtoptype(char *str, unsigned int *val) +{ +	return hci_str2uint(pkt_type_map, str, val); +} + +/* Link policy mapping */ +hci_map link_policy_map[] = { +	{ "NONE",    0 }, +	{ "RSWITCH", HCI_LP_RSWITCH }, +	{ "HOLD",    HCI_LP_HOLD    }, +	{ "SNIFF",   HCI_LP_SNIFF   }, +	{ "PARK",    HCI_LP_PARK    }, +	{ NULL } +}; +char *hci_lptostr(unsigned int lp) +{ +	return hci_uint2str(link_policy_map, lp); +} +int hci_strtolp(char *str, unsigned int *val) +{ +	return hci_str2uint(link_policy_map, str, val); +} + +/* Link mode mapping */ +hci_map link_mode_map[] = { +	{ "NONE",    0 }, +	{ "ACCEPT",  HCI_LM_ACCEPT }, +	{ "MASTER",  HCI_LM_MASTER }, +	{ "AUTH",    HCI_LM_AUTH   }, +	{ "ENCRYPT", HCI_LM_ENCRYPT}, +	{ "TRUSTED", HCI_LM_TRUSTED}, +	{ NULL } +}; +char *hci_lmtostr(unsigned int lm) +{ +	static char str[50]; + +	str[0] = 0; +	if (!(lm & HCI_LM_MASTER)) +		strcpy(str, "SLAVE "); + +	strcat(str, hci_uint2str(link_mode_map, lm)); +	return str; +} +int hci_strtolm(char *str, unsigned int *val) +{ +	return hci_str2uint(link_mode_map, str, val); +} + +/* HCI functions that do not require open device */ + +int hci_devinfo(int dev_id, struct hci_dev_info *di) +{ +	int s, err; + +	s = socket(AF_BLUETOOTH, SOCK_RAW, BTPROTO_HCI); +	if (s < 0) +		return s; + +	di->dev_id = dev_id; +	err = ioctl(s, HCIGETDEVINFO, (void *) di); +	close(s); + +	return err; +} + +inquiry_info *hci_inquiry(int dev_id, int len, int *num_rsp, uint8_t *lap, long flags) +{ +	struct hci_inquiry_req *ir; +	char *buf, *ptr; +	int s, err, size; + +	if (!*num_rsp) +		*num_rsp = 200; // enough ? + +	size = sizeof(*ir) + (sizeof(inquiry_info) * (*num_rsp)); +	if (!(buf = malloc(size))) +		return NULL; + +	ir = (void *)buf; +	ir->dev_id  = dev_id; +	ir->num_rsp = *num_rsp; +	ir->length  = len; +	ir->flags   = flags; + +	if (lap) { +		memcpy(ir->lap, lap, 3); +	} else { +		ir->lap[0] = 0x33; +		ir->lap[1] = 0x8b; +		ir->lap[2] = 0x9e; +	} + +	if ((s = socket(AF_BLUETOOTH, SOCK_RAW, BTPROTO_HCI)) < 0) +		goto failed; +	if (ioctl(s, HCIINQUIRY, (unsigned long)buf) < 0) +		goto failed; + +	size = sizeof(inquiry_info) * ir->num_rsp; +	if (!(ptr = malloc(size))) +		goto failed; + +	memcpy(ptr, buf + sizeof(*ir), size); +	*num_rsp = ir->num_rsp; + +	free(buf); +	close(s); +	return (void *) ptr; + +failed: +	err = errno; +	free(buf); +	close(s); +	errno = err; +	return NULL; +} + +/* Open HCI device.  + * Returns device descriptor (dd). */ +int hci_open_dev(int dev_id) +{ +	struct sockaddr_hci a; +	int dd, err; + +	/* Create HCI socket */ +	dd = socket(AF_BLUETOOTH, SOCK_RAW, BTPROTO_HCI); +	if (dd < 0) +		return dd; +	 +	/* Bind socket to the HCI device */ +	a.hci_family = AF_BLUETOOTH; +	a.hci_dev = dev_id; +	if (bind(dd, (struct sockaddr *)&a, sizeof(a)) < 0) +		goto failed; + +	return dd; + +failed: +	err = errno; +	close(dd); +	errno = err; +	return -1; +} + +int hci_close_dev(int dd) +{ +	return close(dd); +} + +/* HCI functions that require open device + * dd - Device descriptor returned by hci_dev_open. */ + +int hci_send_cmd(int dd, uint16_t ogf, uint16_t ocf, uint8_t plen, void *param) +{ +	uint8_t type = HCI_COMMAND_PKT; +	hci_command_hdr hc; +	struct iovec iv[3]; +	int ivn; + +	hc.opcode = htobs(cmd_opcode_pack(ogf, ocf)); +	hc.plen= plen; + +	iv[0].iov_base = &type; +	iv[0].iov_len  = 1; +	iv[1].iov_base = &hc; +	iv[1].iov_len  = HCI_COMMAND_HDR_SIZE; +	ivn = 2; + +	if (plen) { +		iv[2].iov_base = param; +		iv[2].iov_len  = plen; +		ivn = 3; +	} + +	while (writev(dd, iv, ivn) < 0) { +		if (errno == EAGAIN || errno == EINTR) +			continue; +		return -1; +	} +	return 0; +} + +int hci_send_req(int dd, struct hci_request *r, int to) +{ +	unsigned char buf[HCI_MAX_EVENT_SIZE], *ptr; +	uint16_t opcode = htobs(cmd_opcode_pack(r->ogf, r->ocf)); +	struct hci_filter nf, of; +	hci_event_hdr *hdr; +	int err, len, try; + +	len = sizeof(of); +	if (getsockopt(dd, SOL_HCI, HCI_FILTER, &of, &len) < 0) +		return -1; + +	hci_filter_clear(&nf); +	hci_filter_set_ptype(HCI_EVENT_PKT,  &nf); +	hci_filter_set_event(EVT_CMD_STATUS, &nf); +	hci_filter_set_event(EVT_CMD_COMPLETE, &nf); +	hci_filter_set_event(r->event, &nf); +	hci_filter_set_opcode(opcode, &nf); +	if (setsockopt(dd, SOL_HCI, HCI_FILTER, &nf, sizeof(nf)) < 0) +		return -1; + +	if (hci_send_cmd(dd, r->ogf, r->ocf, r->clen, r->cparam) < 0) +		goto failed; + +	try = 10; +	while (try--) { +		evt_cmd_complete *cc; +		evt_cmd_status   *cs; +	 +		if (to) { +			struct pollfd p; +			int n; + +			p.fd = dd; p.events = POLLIN; +			while ((n = poll(&p, 1, to)) < 0) { +				if (errno == EAGAIN || errno == EINTR) +					continue; +				goto failed; +			} + +			if (!n) { +				errno = ETIMEDOUT; +				goto failed; +			} +			 +			to -= 10; +			if (to < 0) to = 0; + +		} + +		while ((len = read(dd, buf, sizeof(buf))) < 0) { +			if (errno == EAGAIN || errno == EINTR) +				continue; +			goto failed; +		} + +		hdr = (void *)(buf + 1); +		ptr = buf + (1 + HCI_EVENT_HDR_SIZE); +		len -= (1 + HCI_EVENT_HDR_SIZE); + +		switch (hdr->evt) { +		case EVT_CMD_STATUS: +			cs = (void *)ptr; +	 +			if (cs->opcode != opcode) +				continue; +			 +			if (cs->status) { +				errno = EIO; +				goto failed; +			} +			break; + +		case EVT_CMD_COMPLETE: +			cc = (void *)ptr; + +			if (cc->opcode != opcode) +				continue; +	 +			ptr += EVT_CMD_COMPLETE_SIZE; +			len -= EVT_CMD_COMPLETE_SIZE; + +			r->rlen = MIN(len, r->rlen); +			memcpy(r->rparam, ptr, r->rlen); +			goto done; + +		default: +			if (hdr->evt != r->event) +				break; +	 +			r->rlen = MIN(len, r->rlen); +			memcpy(r->rparam, ptr, r->rlen); +			goto done; +		} +	} +	errno = ETIMEDOUT; + +failed: +	err = errno; +	setsockopt(dd, SOL_HCI, HCI_FILTER, &of, sizeof(of)); +	errno = err; +	return -1; + +done: +	setsockopt(dd, SOL_HCI, HCI_FILTER, &of, sizeof(of)); +	return 0; +} + +int hci_create_connection(int dd, bdaddr_t *ba, int ptype, int rswitch, int to) +{ +        evt_conn_complete rp; +        create_conn_cp cp; +        struct hci_request rq; + +        memset(&cp, 0, sizeof(cp)); +        bacpy(&cp.bdaddr, ba); +        cp.pkt_type    = ptype; +	cp.role_switch = rswitch; + +        rq.ogf    = OGF_LINK_CTL; +        rq.ocf    = OCF_CREATE_CONN; +        rq.event  = EVT_CONN_COMPLETE; +        rq.cparam = &cp; +        rq.clen   = CREATE_CONN_CP_SIZE; +        rq.rparam = &rp; +        rq.rlen   = EVT_CONN_COMPLETE_SIZE; + +        if (hci_send_req(dd, &rq, to) < 0) +                return -1; + +        if (rp.status) { +                errno = EIO; +                return -1; +        } + +        return rp.handle; +} + +int hci_disconnect(int dd, int hndl, int res, int to) +{ +        evt_disconn_complete rp; +        disconnect_cp cp; +        struct hci_request rq; + +        memset(&cp, 0, sizeof(cp)); +        cp.handle = hndl; +        cp.reason = res; + +        rq.ogf    = OGF_LINK_CTL; +        rq.ocf    = OCF_DISCONNECT; +        rq.event  = EVT_DISCONN_COMPLETE; +        rq.cparam = &cp; +        rq.clen   = DISCONNECT_CP_SIZE; +        rq.rparam = &rp; +        rq.rlen   = EVT_DISCONN_COMPLETE_SIZE; + +        if (hci_send_req(dd, &rq, to) < 0) +                return -1; + +        if (rp.status) { +                errno = EIO; +                return -1; +        } +        return 0; +} + +int hci_remote_name(int dd, bdaddr_t *ba, int len, char *name, int to) +{ +	evt_remote_name_req_complete rn; +	remote_name_req_cp cp; +	struct hci_request rq; + +	memset(&cp, 0, sizeof(cp)); +	bacpy(&cp.bdaddr, ba); + +	rq.ogf = OGF_LINK_CTL; +	rq.ocf = OCF_REMOTE_NAME_REQ; +	rq.cparam = &cp; +	rq.clen   = REMOTE_NAME_REQ_CP_SIZE; +	rq.event  = EVT_REMOTE_NAME_REQ_COMPLETE; +	rq.rparam = &rn; +	rq.rlen   = EVT_REMOTE_NAME_REQ_COMPLETE_SIZE; + +	if (hci_send_req(dd, &rq, to) < 0) +		return -1; + +	if (rn.status) { +		errno = EIO; +		return -1; +	} + +	rn.name[247] = '\0'; +	strncpy(name, rn.name, len); +	return 0; +} + +int hci_read_remote_features(int dd, int hndl, uint8_t *features, int to) +{ +	evt_read_remote_features_complete rp; +	read_remote_features_cp cp; +	struct hci_request rq; +	 +	memset(&cp, 0, sizeof(cp)); +	cp.handle = hndl; +	 +	rq.ogf    = OGF_LINK_CTL; +	rq.ocf    = OCF_READ_REMOTE_FEATURES; +	rq.event  = EVT_READ_REMOTE_FEATURES_COMPLETE; +	rq.cparam = &cp; +	rq.clen   = READ_REMOTE_FEATURES_CP_SIZE; +	rq.rparam = &rp; +	rq.rlen   = EVT_READ_REMOTE_FEATURES_COMPLETE_SIZE; +	 +	if (hci_send_req(dd, &rq, to) < 0) +	        return -1; +	 +	if (rp.status) { +	        errno = EIO; +	        return -1; +	} +	 +	memcpy(features, rp.features, 8); +	return 0; +} + +int hci_read_remote_version(int dd, int hndl, struct hci_version *ver, int to) +{ +	evt_read_remote_version_complete rp; +	read_remote_version_cp cp; +	struct hci_request rq; +	 +	memset(&cp, 0, sizeof(cp)); +	cp.handle = hndl; +	 +	rq.ogf    = OGF_LINK_CTL; +	rq.ocf    = OCF_READ_REMOTE_VERSION; +	rq.event  = EVT_READ_REMOTE_VERSION_COMPLETE; +	rq.cparam = &cp; +	rq.clen   = READ_REMOTE_VERSION_CP_SIZE; +	rq.rparam = &rp; +	rq.rlen   = EVT_READ_REMOTE_VERSION_COMPLETE_SIZE; +	 +	if (hci_send_req(dd, &rq, to) < 0) +		return -1; +	 +	if (rp.status) { +		errno = EIO; +		return -1; +	} +	 +	ver->manufacturer = btohs(rp.manufacturer); +	ver->lmp_ver      = rp.lmp_ver; +	ver->lmp_subver   = btohs(rp.lmp_subver); +	return 0; +} + +int hci_read_local_version(int dd, struct hci_version *ver, int to) +{ +	read_local_version_rp rp; +	struct hci_request rq; + +	memset(&rq, 0, sizeof(rq)); +	rq.ogf = OGF_INFO_PARAM; +	rq.ocf = OCF_READ_LOCAL_VERSION; +	rq.cparam = NULL; +	rq.clen = 0; +	rq.rparam = &rp; +	rq.rlen = READ_LOCAL_VERSION_RP_SIZE; + +	if (hci_send_req(dd, &rq, 1000) < 0) +		return -1; + +	if (rp.status) { +		errno = EIO; +		return -1; +	} + +	ver->manufacturer = btohs(rp.manufacturer); +	ver->hci_ver    = rp.lmp_ver; +	ver->hci_rev    = btohs(rp.hci_rev); +	ver->lmp_ver    = rp.lmp_ver; +	ver->lmp_subver = btohs(rp.lmp_subver); + +	return 0; +}  | 
